diff --git "a/assets/ArtifactWorkspace-CnGoppEB.js" "b/assets/ArtifactWorkspace-CnGoppEB.js" new file mode 100644--- /dev/null +++ "b/assets/ArtifactWorkspace-CnGoppEB.js" @@ -0,0 +1,158 @@ +var XO=Object.defineProperty;var yk=n=>{throw TypeError(n)};var YO=(n,e,t)=>e in n?XO(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var he=(n,e,t)=>YO(n,typeof e!="symbol"?e+"":e,t),y0=(n,e,t)=>e.has(n)||yk("Cannot "+t);var f=(n,e,t)=>(y0(n,e,"read from private field"),t?t.call(n):e.get(n)),R=(n,e,t)=>e.has(n)?yk("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),C=(n,e,t,s)=>(y0(n,e,"write to private field"),s?s.call(n,t):e.set(n,t),t),T=(n,e,t)=>(y0(n,e,"access private method"),t);var ss=(n,e,t,s)=>({set _(i){C(n,e,i,t)},get _(){return f(n,e,s)}});import{e as ga,r as ne,j as k,z as se,U as o_,E as sn,_ as Tp,V as _y,L as vk,X as a_,h as JO,C as QO}from"./index-BsKEgRGu.js";import{u as UE,P as VE,b as WE,M as eN,R as tN,W as nN,d as l_,A as sN,l as iN,J as rN,K as oN,L as aN,N as GE,O as lN}from"./chatLaunch-BJO9Jc-U.js";import"./katex.min-BSBacQyE.js";import{H as Sy,a as ky,b as Ay}from"./hover-card-MB4HeC4M.js";import{u as Yo}from"./useQuery-Dee69h5L.js";import{f as cN,p as hN,T as uN}from"./github-tOe_hNbw.js";import{G as xy}from"./github-DBuvm6-w.js";import{r as dN,a as fN,P as KE}from"./PaperPreviewLink-BdDxhk-d.js";import{M as pN,r as mN,d as gN}from"./index-cjOiCMzE.js";import{c as bk}from"./chat-B90GfA3T.js";import{C as yN}from"./copy-BFrH9CkF.js";import{F as vN}from"./file-text-CzS1nIho.js";import{u as Pp}from"./useMutation-BMMDqdTW.js";import{E as ZE}from"./external-link-BHwDP9ak.js";/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const wk=ga("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const c_=ga("FileCode2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m5 12-3 3 3 3",key:"oke12k"}],["path",{d:"m9 18 3-3-3-3",key:"112psh"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const bN=ga("FilePlus2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M3 15h6",key:"4e2qda"}],["path",{d:"M6 12v6",key:"1u72j0"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const wN=ga("Image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const XE=ga("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const _N=ga("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const SN=ga("ThumbsDown",[["path",{d:"M17 14V2",key:"8ymqnk"}],["path",{d:"M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z",key:"m61m77"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const kN=ga("ThumbsUp",[["path",{d:"M7 10v12",key:"1qc93n"}],["path",{d:"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z",key:"emmmcr"}]]);function Ey({selection:n,editable:e=!1,onRemove:t}){const s=ne.useId(),i=ne.useRef(null),[r,o]=ne.useState(!1),[a,l]=ne.useState(!1),c=`Selection · Page ${n.page}`;return ne.useEffect(()=>{const h=i.current;!h||r||l(h.scrollHeight>h.clientHeight+1)},[r,n.text]),k.jsxs("div",{className:`chat-paper-selection${e?" is-editable":""}`,children:[k.jsxs("div",{className:"chat-paper-selection-header",children:[k.jsx("span",{className:"chat-paper-selection-label",children:c}),k.jsxs("div",{className:"chat-paper-selection-actions",children:[(a||r)&&k.jsx("button",{type:"button",className:"chat-paper-selection-toggle","aria-expanded":r,"aria-controls":s,onClick:()=>o(h=>!h),children:r?"Collapse":"Expand"}),e&&t&&k.jsx("button",{type:"button",className:"chat-paper-selection-remove","aria-label":"Remove selected paper passage",onClick:t,children:"Remove"})]})]}),k.jsx("blockquote",{id:s,ref:i,className:`chat-paper-selection-quote${r?" is-expanded":""}`,children:n.text})]})}const AN=iN(),sQ=({onSend:n,busy:e,placeholder:t,autoFocus:s,draft:i,onDraftChange:r,onStop:o,models:a=[],selectedModel:l,onModelChange:c,disabled:h=!1,describedBy:u,paperMentionsEnabled:d=!1,paperSelectionEnabled:p=!0,webSearchAvailable:m=!1,webSearchEnabled:g=!1,onWebSearchChange:v,reasoningEffort:y="low",onReasoningEffortChange:b,paperArtifactsEnabled:_=!1})=>{const[S,A]=ne.useState(AN),E=i??S,$=ne.useRef(null),[O,F]=ne.useState(0),q=Q=>{i||A(Q),r==null||r(Q)},N=UE({draft:E,onChange:q,enabled:d,textareaRef:$});ne.useEffect(()=>{const Q=$.current;Q&&(Q.style.height="auto",Q.style.height=`${Math.min(Q.scrollHeight,200)}px`)},[E.text]),ne.useEffect(()=>{var Q;s&&((Q=$.current)==null||Q.focus())},[s]);const z=()=>{const Q=E.text.length-E.text.trimStart().length,ee=E.text.trim(),ae=!!E.paperSelection&&!p;if(!ee||e||h||ae)return;const ye=Q+ee.length,B={text:ee,paperMentions:E.paperMentions.filter(P=>P.start>=Q&&P.end<=ye).map(P=>({...P,start:P.start-Q,end:P.end-Q})),...E.paperSelection?{paperSelection:E.paperSelection}:{}};n(B)},G=!!E.paperSelection&&!p,L=!!E.text.trim()&&!G,J=_&&E.text==="/";return k.jsxs("div",{className:"chat-composer ph-no-capture","data-ph-no-autocapture":"true","data-ph-no-capture":"true",children:[E.paperSelection&&k.jsx(Ey,{selection:E.paperSelection,editable:!0,onRemove:()=>{var Q;q({text:E.text,paperMentions:E.paperMentions}),(Q=$.current)==null||Q.focus()}}),G&&k.jsx("div",{className:"chat-paper-selection-disabled",role:"status",children:"Paper selection is currently disabled. Remove the selected passage or wait for the feature to recover."}),k.jsxs("div",{className:"chat-composer-textarea-wrap",children:[k.jsx(VE,{text:E.text,mentions:E.paperMentions,scrollTop:O}),k.jsx("textarea",{className:"ph-no-capture","data-ph-no-autocapture":"true","data-ph-no-capture":"true",ref:$,rows:1,value:E.text,placeholder:t||(E.paperSelection?"Ask about this selection…":"Ask anything about research…"),onChange:Q=>N.updateText(Q.target.value,Q.target.selectionStart),onSelect:Q=>N.refresh(Q.currentTarget.selectionStart),onClick:Q=>N.refresh(Q.currentTarget.selectionStart),onScroll:Q=>F(Q.currentTarget.scrollTop),onBlur:Q=>{var ee,ae;(ae=(ee=Q.relatedTarget)==null?void 0:ee.closest)!=null&&ae.call(ee,".chat-paper-picker, .chat-slash-command")||window.setTimeout(N.close,0)},onKeyDown:Q=>{N.keyDown(Q)||Q.key==="Enter"&&!Q.shiftKey&&!Q.nativeEvent.isComposing&&(Q.preventDefault(),z())},role:"combobox","aria-expanded":N.open||J,"aria-controls":N.open?N.pickerId:J?"chat-write-paper-command":void 0,"aria-activedescendant":N.open&&N.results.length?`${N.optionIdPrefix}-${N.activeIndex}`:J?"chat-write-paper-command":void 0,"aria-autocomplete":"list","aria-describedby":[u,N.message?"chat-paper-mention-message":null].filter(Boolean).join(" ")||void 0}),k.jsx(WE,{open:N.open,query:N.query,results:N.results,activeIndex:N.activeIndex,loading:N.loading,error:N.error,onSelect:N.select,id:N.pickerId,optionIdPrefix:N.optionIdPrefix}),J&&k.jsxs("button",{type:"button",id:"chat-write-paper-command",className:"chat-slash-command",role:"option",onMouseDown:Q=>{var ee;Q.preventDefault(),q({...E,text:"/write-paper "}),(ee=$.current)==null||ee.focus()},children:[k.jsx("code",{children:"/write-paper"}),k.jsx("span",{children:"Draft a paper from this research chat"})]})]}),N.message&&k.jsx("div",{id:"chat-paper-mention-message",className:"chat-paper-mention-message",role:"alert",children:N.message}),k.jsxs("div",{className:"chat-composer-row",children:[k.jsxs("div",{className:"chat-composer-tools",children:[a.length>0&&l&&c&&k.jsx(eN,{models:a,selectedModel:l,onModelChange:c,disabled:e}),b&&k.jsx(tN,{value:y,onChange:b,disabled:e}),m&&v&&k.jsx(nN,{enabled:g,onChange:v,disabled:e}),k.jsx("span",{className:"chat-composer-hint",children:"Enter to send · Shift+Enter for newline"})]}),k.jsx("button",{type:"button",className:`chat-send${e||L?" chat-send-on":""}`,onClick:e?o:z,disabled:h||(e?!o:!L),"aria-label":e?"Stop generating":"Send message",children:e?o?k.jsx("span",{"aria-hidden":"true",children:"■"}):k.jsx(l_,{light:!0}):k.jsx(sN,{})})]})]})};function xN(){const[n,e]=ne.useState(!1);return ne.useEffect(()=>{const t=window.setTimeout(()=>e(!0),15e3);return()=>window.clearTimeout(t)},[]),k.jsxs("div",{className:"chat-waiting chat-compaction-status",role:"status","aria-live":"polite",children:[k.jsx("span",{className:"chat-thinking",children:"Summarizing earlier context…"}),n&&k.jsx("span",{className:"chat-compaction-explanation",children:"This conversation is long. Preserving its details may take up to a minute."})]})}const v0=new Map,YE=n=>{if(!n)return Promise.resolve();const e=v0.get(n);if(e)return e;const t=new Promise(s=>{const i=new Image;i.onload=()=>{s()},i.onerror=()=>{v0.delete(n),s()},i.src=n});return v0.set(n,t),t},EN=new Set(["huggingface.co","www.huggingface.co"]),CN=new Set(["api","blog","chat","collections","docs","enterprise","join","login","models","new","organizations","papers","posts","pricing","search","settings","spaces","tasks"]);function $N(n){let e;try{e=new URL(n)}catch{return null}if(e.protocol!=="https:"||!EN.has(e.hostname))return null;const t=e.pathname.split("/").filter(Boolean),s=t[0]==="datasets"?"dataset":"model",i=s==="dataset"?t.slice(1):t;if(i.length!==2||s==="model"&&CN.has(i[0])||i.some(c=>!c||c==="."||c===".."))return null;const r=i.join("/"),o=i.map(encodeURIComponent).join("/"),a=s==="dataset"?`datasets/${o}`:o,l=s==="dataset"?"datasets":"models";return{type:s,repoId:r,url:`https://huggingface.co/${a}`,thumbnailUrl:`https://cdn-thumbnails.huggingface.co/social-thumbnails/${l}/${o}.png`}}const TN=()=>typeof window.matchMedia=="function"&&window.matchMedia("(hover: none), (pointer: coarse)").matches,PN=({repo:n})=>{const[e,t]=se.useState(!1);return k.jsxs("div",{className:"hf-preview-card",children:[e?k.jsx("div",{className:"hf-preview-fallback","aria-hidden":"true",children:"🤗"}):k.jsx("img",{className:"hf-preview-image","data-testid":"hf-preview-image",src:n.thumbnailUrl,alt:"",loading:"eager",decoding:"async",onError:()=>t(!0)}),k.jsxs("div",{className:"hf-preview-meta",children:[k.jsxs("span",{className:"hf-preview-kind",children:["Hugging Face ",n.type]}),k.jsx("strong",{children:n.repoId}),k.jsx("span",{children:"huggingface.co"})]})]})},RN=({repo:n,children:e})=>{const[t,s]=se.useState(!1),i=se.useRef(null),r=se.useCallback(()=>{YE(n.thumbnailUrl)},[n.thumbnailUrl]);return se.useEffect(()=>{const o=i.current;if(!o||typeof IntersectionObserver>"u")return;const a=new IntersectionObserver(([l])=>{l.isIntersecting&&(r(),a.disconnect())},{rootMargin:"200px"});return a.observe(o),()=>a.disconnect()},[r]),k.jsxs(Sy,{open:t,onOpenChange:o=>{(!o||!TN())&&s(o)},openDelay:150,closeDelay:100,children:[k.jsx(ky,{asChild:!0,children:k.jsx("a",{ref:i,className:"chat-paper-link chat-hf-link",href:n.url,target:"_blank",rel:"noopener noreferrer",onPointerEnter:r,onFocus:r,children:e})}),k.jsx(Ay,{className:"hf-preview-pop",side:"bottom",align:"start",collisionPadding:12,children:k.jsx(PN,{repo:n})})]})},MN=()=>typeof window.matchMedia=="function"&&window.matchMedia("(hover: none), (pointer: coarse)").matches,IN=({repo:n,preview:e,unavailable:t})=>{const[s,i]=se.useState(!1),r=!!(e!=null&&e.avatarUrl)&&!s;return k.jsxs("div",{className:"github-preview-card",children:[r?k.jsx("img",{className:"github-preview-image","data-testid":"github-preview-image",src:e==null?void 0:e.avatarUrl,alt:"",loading:"eager",decoding:"async",onError:()=>i(!0)}):k.jsx("div",{className:"github-preview-fallback","aria-hidden":"true",children:k.jsx(xy,{})}),k.jsxs("div",{className:"github-preview-meta",children:[k.jsx("span",{className:"github-preview-kind",children:"GitHub repository"}),k.jsx("strong",{children:n.repoId}),(e==null?void 0:e.description)&&k.jsx("span",{className:"github-preview-description",children:e.description}),e?k.jsxs("span",{className:"github-preview-stats",children:[e.language&&k.jsxs(k.Fragment,{children:[e.language," · "]}),"★ ",e.stars.toLocaleString()," · ⑂ ",e.forks.toLocaleString(),e.archived&&k.jsx(k.Fragment,{children:" · Archived"})]}):k.jsx("span",{children:t?"Preview unavailable":"Loading preview…"})]})]})},ON=({repo:n,children:e})=>{var c;const[t,s]=se.useState(!1),[i,r]=se.useState(!1),o=se.useRef(null),a=se.useCallback(()=>r(!0),[]),l=Yo({queryKey:["github-repository-preview",n.repoId.toLowerCase()],queryFn:({signal:h})=>cN(n,h),enabled:t||i,staleTime:30*60*1e3,gcTime:60*60*1e3,retry:!1});return se.useEffect(()=>{const h=o.current;if(!h||typeof IntersectionObserver>"u")return;const u=new IntersectionObserver(([d])=>{d.isIntersecting&&(a(),u.disconnect())},{rootMargin:"200px"});return u.observe(h),()=>u.disconnect()},[a]),se.useEffect(()=>{var h;(h=l.data)!=null&&h.avatarUrl&&YE(l.data.avatarUrl)},[(c=l.data)==null?void 0:c.avatarUrl]),k.jsxs(Sy,{open:t,onOpenChange:h=>{(!h||!MN())&&s(h)},openDelay:150,closeDelay:100,children:[k.jsx(ky,{asChild:!0,children:k.jsxs("a",{ref:o,className:"chat-github-link",href:n.url,target:"_blank",rel:"noopener noreferrer",onPointerEnter:a,onFocus:a,children:[k.jsx(xy,{"aria-hidden":"true"}),e]})}),k.jsx(Ay,{className:"github-preview-pop",side:"bottom",align:"start",collisionPadding:12,children:k.jsx(IN,{repo:n,preview:l.data,unavailable:l.isError})})]})},NN=()=>typeof window.matchMedia=="function"&&window.matchMedia("(hover: none), (pointer: coarse)").matches;function LN(n){try{return new URL(n).hostname.replace(/^www\./,"")}catch{return"Web source"}}const DN=({citation:n})=>{const[e,t]=se.useState(!1),[s,i]=se.useState(!1),r=n.thumbnail_url,o=n.favicon_url;return k.jsxs("div",{className:"web-preview-card",children:[r&&!e&&k.jsx("img",{className:"web-preview-image","data-testid":"web-preview-image",src:r,alt:"",loading:"eager",decoding:"async",referrerPolicy:"no-referrer",onError:()=>t(!0)}),k.jsxs("div",{className:"web-preview-meta",children:[k.jsxs("div",{className:"web-preview-source",children:[o&&!s&&k.jsx("img",{src:o,alt:"",loading:"eager",decoding:"async",referrerPolicy:"no-referrer",onError:()=>i(!0)}),k.jsx("span",{children:LN(n.url??"")}),n.published&&k.jsxs(k.Fragment,{children:[k.jsx("span",{"aria-hidden":"true",children:"·"}),k.jsx("time",{children:n.published.slice(0,10)})]})]}),k.jsx("strong",{children:n.title}),n.excerpt&&k.jsx("p",{children:n.excerpt.replace(/\s+/g," ").trim()})]})]})},FN=({citation:n,children:e})=>{const[t,s]=se.useState(!1),i=n.url??"";return k.jsxs(Sy,{open:t,onOpenChange:r=>{(!r||!NN())&&s(r)},openDelay:150,closeDelay:100,children:[k.jsx(ky,{asChild:!0,children:k.jsx("a",{href:i,className:"chat-web-citation",target:"_blank",rel:"noopener noreferrer",children:e})}),k.jsx(Ay,{className:"web-preview-pop",side:"bottom",align:"start",collisionPadding:12,children:k.jsx(DN,{citation:n})})]})},jN=()=>typeof window.matchMedia=="function"&&window.matchMedia("(hover: none), (pointer: coarse)").matches,zN=n=>n==="semantic_scholar"?"Semantic Scholar":"External paper",HN=({citation:n})=>{var e,t;return k.jsxs("div",{className:"external-paper-preview-card",children:[k.jsxs("div",{className:"external-paper-preview-source",children:[k.jsx("span",{children:zN(n.provider)}),n.published&&k.jsxs(k.Fragment,{children:[k.jsx("span",{"aria-hidden":"true",children:"·"}),k.jsx("time",{children:n.published.slice(0,10)})]})]}),k.jsx("strong",{children:n.title}),(((e=n.authors)==null?void 0:e.length)??0)>0&&k.jsx("p",{className:"external-paper-preview-authors",children:(t=n.authors)==null?void 0:t.join(", ")}),n.excerpt&&k.jsx("p",{children:n.excerpt.replace(/\s+/g," ").trim()}),n.citation_count!==null&&n.citation_count!==void 0&&k.jsxs("span",{className:"external-paper-preview-citations",children:[n.citation_count.toLocaleString()," citations"]})]})},BN=({citation:n,children:e})=>{const[t,s]=se.useState(!1);return k.jsxs(Sy,{open:t,onOpenChange:i=>{(!i||!jN())&&s(i)},openDelay:150,closeDelay:100,children:[k.jsx(ky,{asChild:!0,children:k.jsx("a",{href:n.url??"",className:"chat-external-paper-citation",target:"_blank",rel:"noopener noreferrer",children:e})}),k.jsx(Ay,{className:"external-paper-preview-pop",side:"bottom",align:"start",collisionPadding:12,children:k.jsx(HN,{citation:n})})]})};function qN(n){const e=[];let t=0,s=null;for(const i of n.match(/.*(?:\n|$)/g)??[]){if(!i)continue;const r=i.endsWith(` +`)?i.slice(0,-1):i;if(s){const l=r.match(/^ {0,3}(`+|~+)[ \t]*$/);l&&l[1][0]===s.marker&&l[1].length>=s.length&&(e.push({start:s.start,end:t+i.length}),s=null),t+=i.length;continue}const o=r.match(/^ {0,3}(`{3,}|~{3,})/);if(o){s={marker:o[1][0],length:o[1].length,start:t},t+=i.length;continue}let a=0;for(;ae>=t.start&&e=0&&n[s]==="\\";s-=1)t+=1;return t%2===0}function kk(n,e,t,s){const i=[];let r=0;for(;rs.name),published:e.metadata.published,conference:e.metadata.conference,citationCount:e.metadata.citation_count,tasks:e.metadata.tasks};if(t)return{routeId:n,title:t.title,arxivId:t.arxiv_id??null,source:t.arxiv_id?"arxiv":"external",sourceUrl:t.source_url,thumbnailUrl:t.thumbnail_url??null,authors:t.authors??[],published:t.published??null,conference:t.conference??null,citationCount:t.citation_count??null,tasks:[]}}const JE=({routeId:n,paper:e,citation:t,className:s="chat-paper-link",children:i})=>k.jsx(KE,{routeId:n,initialData:VN(n,e,t),className:s,target:"_blank",children:i});function WN(n){const e=n.lastIndexOf("[");if(e===-1)return n;const t=n.slice(e);return/^\[[^\]]*(\]\(?[^)\s]*)?$/.test(t)?n.slice(0,e):n}const GN=n=>n.startsWith("paper:")?n:gN(n);function KN(n){try{const e=new URL(n);return e.protocol==="https:"&&(e.hostname==="github.com"||e.hostname==="www.github.com")}catch{return!1}}const uv=({text:n,streaming:e,papers:t,citations:s,webCitations:i})=>{const r=UN(e?WN(n):n);return k.jsx(pN,{remarkPlugins:[mN,fN],rehypePlugins:[dN],urlTransform:GN,components:{a:({href:o,children:a})=>{if(o!=null&&o.startsWith("paper:")){const h=o.slice(6);return!t[h]&&!(s!=null&&s[h])?k.jsx("span",{className:"chat-invalid-citation",children:a}):k.jsx(JE,{routeId:h,paper:t[h],citation:s==null?void 0:s[h],children:a})}const l=o?$N(o):null;if(l)return k.jsx(RN,{repo:l,children:a});const c=o?hN(o):null;return c?k.jsx(ON,{repo:c,children:a}):o&&KN(o)?k.jsxs("a",{href:o,className:"chat-github-link",target:"_blank",rel:"noopener noreferrer",children:[k.jsx(xy,{"aria-hidden":"true"}),a]}):o!=null&&o.startsWith("https://")&&(i!=null&&i[o])?i[o].source_type==="paper"?k.jsx(BN,{citation:i[o],children:a}):k.jsx(FN,{citation:i[o],children:a}):o!=null&&o.startsWith("https://")?k.jsx("a",{href:o,className:"chat-external-link",target:"_blank",rel:"noopener noreferrer",children:a}):k.jsx("span",{children:a})}},children:r})},ZN=Object.freeze({status:"aborted"});function te(n,e,t){function s(a,l){var c;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(c=a._zod).traits??(c.traits=new Set),a._zod.traits.add(n),e(a,l);for(const h in o.prototype)h in a||Object.defineProperty(a,h,{value:o.prototype[h].bind(a)});a._zod.constr=o,a._zod.def=l}const i=(t==null?void 0:t.Parent)??Object;class r extends i{}Object.defineProperty(r,"name",{value:n});function o(a){var l;const c=t!=null&&t.Parent?new r:this;s(c,a),(l=c._zod).deferred??(l.deferred=[]);for(const h of c._zod.deferred)h();return c}return Object.defineProperty(o,"init",{value:s}),Object.defineProperty(o,Symbol.hasInstance,{value:a=>{var l,c;return t!=null&&t.Parent&&a instanceof t.Parent?!0:(c=(l=a==null?void 0:a._zod)==null?void 0:l.traits)==null?void 0:c.has(n)}}),Object.defineProperty(o,"name",{value:n}),o}class Ad extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const QE={};function oa(n){return QE}function XN(n){const e=Object.values(n).filter(s=>typeof s=="number");return Object.entries(n).filter(([s,i])=>e.indexOf(+s)===-1).map(([s,i])=>i)}function YN(n,e){return typeof e=="bigint"?e.toString():e}function h_(n){return{get value(){{const e=n();return Object.defineProperty(this,"value",{value:e}),e}}}}function u_(n){return n==null}function d_(n){const e=n.startsWith("^")?1:0,t=n.endsWith("$")?n.length-1:n.length;return n.slice(e,t)}function JN(n,e){const t=(n.toString().split(".")[1]||"").length,s=(e.toString().split(".")[1]||"").length,i=t>s?t:s,r=Number.parseInt(n.toFixed(i).replace(".","")),o=Number.parseInt(e.toFixed(i).replace(".",""));return r%o/10**i}function It(n,e,t){Object.defineProperty(n,e,{get(){{const s=t();return n[e]=s,s}},set(s){Object.defineProperty(n,e,{value:s})},configurable:!0})}function Cy(n,e,t){Object.defineProperty(n,e,{value:t,writable:!0,enumerable:!0,configurable:!0})}function Su(n){return JSON.stringify(n)}const eC=Error.captureStackTrace?Error.captureStackTrace:(...n)=>{};function fg(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}const QN=h_(()=>{var n;if(typeof navigator<"u"&&((n=navigator==null?void 0:navigator.userAgent)!=null&&n.includes("Cloudflare")))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function pg(n){if(fg(n)===!1)return!1;const e=n.constructor;if(e===void 0)return!0;const t=e.prototype;return!(fg(t)===!1||Object.prototype.hasOwnProperty.call(t,"isPrototypeOf")===!1)}const eL=new Set(["string","number","symbol"]);function sp(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function cc(n,e,t){const s=new n._zod.constr(e??n._zod.def);return(!e||t!=null&&t.parent)&&(s._zod.parent=n),s}function ke(n){const e=n;if(!e)return{};if(typeof e=="string")return{error:()=>e};if((e==null?void 0:e.message)!==void 0){if((e==null?void 0:e.error)!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function tL(n){return Object.keys(n).filter(e=>n[e]._zod.optin==="optional"&&n[e]._zod.optout==="optional")}const nL={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function sL(n,e){const t={},s=n._zod.def;for(const i in e){if(!(i in s.shape))throw new Error(`Unrecognized key: "${i}"`);e[i]&&(t[i]=s.shape[i])}return cc(n,{...n._zod.def,shape:t,checks:[]})}function iL(n,e){const t={...n._zod.def.shape},s=n._zod.def;for(const i in e){if(!(i in s.shape))throw new Error(`Unrecognized key: "${i}"`);e[i]&&delete t[i]}return cc(n,{...n._zod.def,shape:t,checks:[]})}function rL(n,e){if(!pg(e))throw new Error("Invalid input to extend: expected a plain object");const t={...n._zod.def,get shape(){const s={...n._zod.def.shape,...e};return Cy(this,"shape",s),s},checks:[]};return cc(n,t)}function oL(n,e){return cc(n,{...n._zod.def,get shape(){const t={...n._zod.def.shape,...e._zod.def.shape};return Cy(this,"shape",t),t},catchall:e._zod.def.catchall,checks:[]})}function aL(n,e,t){const s=e._zod.def.shape,i={...s};if(t)for(const r in t){if(!(r in s))throw new Error(`Unrecognized key: "${r}"`);t[r]&&(i[r]=n?new n({type:"optional",innerType:s[r]}):s[r])}else for(const r in s)i[r]=n?new n({type:"optional",innerType:s[r]}):s[r];return cc(e,{...e._zod.def,shape:i,checks:[]})}function lL(n,e,t){const s=e._zod.def.shape,i={...s};if(t)for(const r in t){if(!(r in i))throw new Error(`Unrecognized key: "${r}"`);t[r]&&(i[r]=new n({type:"nonoptional",innerType:s[r]}))}else for(const r in s)i[r]=new n({type:"nonoptional",innerType:s[r]});return cc(e,{...e._zod.def,shape:i,checks:[]})}function rd(n,e=0){var t;for(let s=e;s{var s;return(s=t).path??(s.path=[]),t.path.unshift(n),t})}function Rp(n){return typeof n=="string"?n:n==null?void 0:n.message}function aa(n,e,t){var i,r,o,a,l,c;const s={...n,path:n.path??[]};if(!n.message){const h=Rp((o=(r=(i=n.inst)==null?void 0:i._zod.def)==null?void 0:r.error)==null?void 0:o.call(r,n))??Rp((a=e==null?void 0:e.error)==null?void 0:a.call(e,n))??Rp((l=t.customError)==null?void 0:l.call(t,n))??Rp((c=t.localeError)==null?void 0:c.call(t,n))??"Invalid input";s.message=h}return delete s.inst,delete s.continue,e!=null&&e.reportInput||delete s.input,s}function f_(n){return Array.isArray(n)?"array":typeof n=="string"?"string":"unknown"}function xd(...n){const[e,t,s]=n;return typeof e=="string"?{message:e,code:"custom",input:t,inst:s}:{...e}}const tC=(n,e)=>{n.name="$ZodError",Object.defineProperty(n,"_zod",{value:n._zod,enumerable:!1}),Object.defineProperty(n,"issues",{value:e,enumerable:!1}),Object.defineProperty(n,"message",{get(){return JSON.stringify(e,YN,2)},enumerable:!0}),Object.defineProperty(n,"toString",{value:()=>n.message,enumerable:!1})},nC=te("$ZodError",tC),sC=te("$ZodError",tC,{Parent:Error});function cL(n,e=t=>t.message){const t={},s=[];for(const i of n.issues)i.path.length>0?(t[i.path[0]]=t[i.path[0]]||[],t[i.path[0]].push(e(i))):s.push(e(i));return{formErrors:s,fieldErrors:t}}function hL(n,e){const t=e||function(r){return r.message},s={_errors:[]},i=r=>{for(const o of r.issues)if(o.code==="invalid_union"&&o.errors.length)o.errors.map(a=>i({issues:a}));else if(o.code==="invalid_key")i({issues:o.issues});else if(o.code==="invalid_element")i({issues:o.issues});else if(o.path.length===0)s._errors.push(t(o));else{let a=s,l=0;for(;l(e,t,s,i)=>{const r=s?Object.assign(s,{async:!1}):{async:!1},o=e._zod.run({value:t,issues:[]},r);if(o instanceof Promise)throw new Ad;if(o.issues.length){const a=new((i==null?void 0:i.Err)??n)(o.issues.map(l=>aa(l,r,oa())));throw eC(a,i==null?void 0:i.callee),a}return o.value},dL=n=>async(e,t,s,i)=>{const r=s?Object.assign(s,{async:!0}):{async:!0};let o=e._zod.run({value:t,issues:[]},r);if(o instanceof Promise&&(o=await o),o.issues.length){const a=new((i==null?void 0:i.Err)??n)(o.issues.map(l=>aa(l,r,oa())));throw eC(a,i==null?void 0:i.callee),a}return o.value},iC=n=>(e,t,s)=>{const i=s?{...s,async:!1}:{async:!1},r=e._zod.run({value:t,issues:[]},i);if(r instanceof Promise)throw new Ad;return r.issues.length?{success:!1,error:new(n??nC)(r.issues.map(o=>aa(o,i,oa())))}:{success:!0,data:r.value}},rC=iC(sC),oC=n=>async(e,t,s)=>{const i=s?Object.assign(s,{async:!0}):{async:!0};let r=e._zod.run({value:t,issues:[]},i);return r instanceof Promise&&(r=await r),r.issues.length?{success:!1,error:new n(r.issues.map(o=>aa(o,i,oa())))}:{success:!0,data:r.value}},fL=oC(sC),pL=/^[cC][^\s-]{8,}$/,mL=/^[0-9a-z]+$/,gL=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,yL=/^[0-9a-vA-V]{20}$/,vL=/^[A-Za-z0-9]{27}$/,bL=/^[a-zA-Z0-9_-]{21}$/,wL=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,_L=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Ak=n=>n?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${n}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/,SL=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,kL="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function AL(){return new RegExp(kL,"u")}const xL=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,EL=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,CL=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,$L=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,TL=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,aC=/^[A-Za-z0-9_-]*$/,PL=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,RL=/^\+(?:[0-9]){6,14}[0-9]$/,lC="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",ML=new RegExp(`^${lC}$`);function cC(n){const e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof n.precision=="number"?n.precision===-1?`${e}`:n.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${n.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function IL(n){return new RegExp(`^${cC(n)}$`)}function OL(n){const e=cC({precision:n.precision}),t=["Z"];n.local&&t.push(""),n.offset&&t.push("([+-]\\d{2}:\\d{2})");const s=`${e}(?:${t.join("|")})`;return new RegExp(`^${lC}T(?:${s})$`)}const NL=n=>{const e=n?`[\\s\\S]{${(n==null?void 0:n.minimum)??0},${(n==null?void 0:n.maximum)??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},LL=/^\d+$/,DL=/^-?\d+(?:\.\d+)?/i,FL=/true|false/i,jL=/null/i,zL=/undefined/i,HL=/^[^A-Z]*$/,BL=/^[^a-z]*$/,$s=te("$ZodCheck",(n,e)=>{var t;n._zod??(n._zod={}),n._zod.def=e,(t=n._zod).onattach??(t.onattach=[])}),hC={number:"number",bigint:"bigint",object:"date"},uC=te("$ZodCheckLessThan",(n,e)=>{$s.init(n,e);const t=hC[typeof e.value];n._zod.onattach.push(s=>{const i=s._zod.bag,r=(e.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value{(e.inclusive?s.value<=e.value:s.value{$s.init(n,e);const t=hC[typeof e.value];n._zod.onattach.push(s=>{const i=s._zod.bag,r=(e.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>r&&(e.inclusive?i.minimum=e.value:i.exclusiveMinimum=e.value)}),n._zod.check=s=>{(e.inclusive?s.value>=e.value:s.value>e.value)||s.issues.push({origin:t,code:"too_small",minimum:e.value,input:s.value,inclusive:e.inclusive,inst:n,continue:!e.abort})}}),qL=te("$ZodCheckMultipleOf",(n,e)=>{$s.init(n,e),n._zod.onattach.push(t=>{var s;(s=t._zod.bag).multipleOf??(s.multipleOf=e.value)}),n._zod.check=t=>{if(typeof t.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof t.value=="bigint"?t.value%e.value===BigInt(0):JN(t.value,e.value)===0)||t.issues.push({origin:typeof t.value,code:"not_multiple_of",divisor:e.value,input:t.value,inst:n,continue:!e.abort})}}),UL=te("$ZodCheckNumberFormat",(n,e)=>{var o;$s.init(n,e),e.format=e.format||"float64";const t=(o=e.format)==null?void 0:o.includes("int"),s=t?"int":"number",[i,r]=nL[e.format];n._zod.onattach.push(a=>{const l=a._zod.bag;l.format=e.format,l.minimum=i,l.maximum=r,t&&(l.pattern=LL)}),n._zod.check=a=>{const l=a.value;if(t){if(!Number.isInteger(l)){a.issues.push({expected:s,format:e.format,code:"invalid_type",input:l,inst:n});return}if(!Number.isSafeInteger(l)){l>0?a.issues.push({input:l,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:n,origin:s,continue:!e.abort}):a.issues.push({input:l,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:n,origin:s,continue:!e.abort});return}}lr&&a.issues.push({origin:"number",input:l,code:"too_big",maximum:r,inst:n})}}),VL=te("$ZodCheckMaxLength",(n,e)=>{var t;$s.init(n,e),(t=n._zod.def).when??(t.when=s=>{const i=s.value;return!u_(i)&&i.length!==void 0}),n._zod.onattach.push(s=>{const i=s._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum{const i=s.value;if(i.length<=e.maximum)return;const o=f_(i);s.issues.push({origin:o,code:"too_big",maximum:e.maximum,inclusive:!0,input:i,inst:n,continue:!e.abort})}}),WL=te("$ZodCheckMinLength",(n,e)=>{var t;$s.init(n,e),(t=n._zod.def).when??(t.when=s=>{const i=s.value;return!u_(i)&&i.length!==void 0}),n._zod.onattach.push(s=>{const i=s._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>i&&(s._zod.bag.minimum=e.minimum)}),n._zod.check=s=>{const i=s.value;if(i.length>=e.minimum)return;const o=f_(i);s.issues.push({origin:o,code:"too_small",minimum:e.minimum,inclusive:!0,input:i,inst:n,continue:!e.abort})}}),GL=te("$ZodCheckLengthEquals",(n,e)=>{var t;$s.init(n,e),(t=n._zod.def).when??(t.when=s=>{const i=s.value;return!u_(i)&&i.length!==void 0}),n._zod.onattach.push(s=>{const i=s._zod.bag;i.minimum=e.length,i.maximum=e.length,i.length=e.length}),n._zod.check=s=>{const i=s.value,r=i.length;if(r===e.length)return;const o=f_(i),a=r>e.length;s.issues.push({origin:o,...a?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:s.value,inst:n,continue:!e.abort})}}),$y=te("$ZodCheckStringFormat",(n,e)=>{var t,s;$s.init(n,e),n._zod.onattach.push(i=>{const r=i._zod.bag;r.format=e.format,e.pattern&&(r.patterns??(r.patterns=new Set),r.patterns.add(e.pattern))}),e.pattern?(t=n._zod).check??(t.check=i=>{e.pattern.lastIndex=0,!e.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:e.format,input:i.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:n,continue:!e.abort})}):(s=n._zod).check??(s.check=()=>{})}),KL=te("$ZodCheckRegex",(n,e)=>{$y.init(n,e),n._zod.check=t=>{e.pattern.lastIndex=0,!e.pattern.test(t.value)&&t.issues.push({origin:"string",code:"invalid_format",format:"regex",input:t.value,pattern:e.pattern.toString(),inst:n,continue:!e.abort})}}),ZL=te("$ZodCheckLowerCase",(n,e)=>{e.pattern??(e.pattern=HL),$y.init(n,e)}),XL=te("$ZodCheckUpperCase",(n,e)=>{e.pattern??(e.pattern=BL),$y.init(n,e)}),YL=te("$ZodCheckIncludes",(n,e)=>{$s.init(n,e);const t=sp(e.includes),s=new RegExp(typeof e.position=="number"?`^.{${e.position}}${t}`:t);e.pattern=s,n._zod.onattach.push(i=>{const r=i._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(s)}),n._zod.check=i=>{i.value.includes(e.includes,e.position)||i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:i.value,inst:n,continue:!e.abort})}}),JL=te("$ZodCheckStartsWith",(n,e)=>{$s.init(n,e);const t=new RegExp(`^${sp(e.prefix)}.*`);e.pattern??(e.pattern=t),n._zod.onattach.push(s=>{const i=s._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(t)}),n._zod.check=s=>{s.value.startsWith(e.prefix)||s.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:s.value,inst:n,continue:!e.abort})}}),QL=te("$ZodCheckEndsWith",(n,e)=>{$s.init(n,e);const t=new RegExp(`.*${sp(e.suffix)}$`);e.pattern??(e.pattern=t),n._zod.onattach.push(s=>{const i=s._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(t)}),n._zod.check=s=>{s.value.endsWith(e.suffix)||s.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:s.value,inst:n,continue:!e.abort})}}),eD=te("$ZodCheckOverwrite",(n,e)=>{$s.init(n,e),n._zod.check=t=>{t.value=e.tx(t.value)}});class tD{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}const s=e.split(` +`).filter(o=>o),i=Math.min(...s.map(o=>o.length-o.trimStart().length)),r=s.map(o=>o.slice(i)).map(o=>" ".repeat(this.indent*2)+o);for(const o of r)this.content.push(o)}compile(){const e=Function,t=this==null?void 0:this.args,i=[...((this==null?void 0:this.content)??[""]).map(r=>` ${r}`)];return new e(...t,i.join(` +`))}}const nD={major:4,minor:0,patch:0},$t=te("$ZodType",(n,e)=>{var i;var t;n??(n={}),n._zod.def=e,n._zod.bag=n._zod.bag||{},n._zod.version=nD;const s=[...n._zod.def.checks??[]];n._zod.traits.has("$ZodCheck")&&s.unshift(n);for(const r of s)for(const o of r._zod.onattach)o(n);if(s.length===0)(t=n._zod).deferred??(t.deferred=[]),(i=n._zod.deferred)==null||i.push(()=>{n._zod.run=n._zod.parse});else{const r=(o,a,l)=>{let c=rd(o),h;for(const u of a){if(u._zod.def.when){if(!u._zod.def.when(o))continue}else if(c)continue;const d=o.issues.length,p=u._zod.check(o);if(p instanceof Promise&&(l==null?void 0:l.async)===!1)throw new Ad;if(h||p instanceof Promise)h=(h??Promise.resolve()).then(async()=>{await p,o.issues.length!==d&&(c||(c=rd(o,d)))});else{if(o.issues.length===d)continue;c||(c=rd(o,d))}}return h?h.then(()=>o):o};n._zod.run=(o,a)=>{const l=n._zod.parse(o,a);if(l instanceof Promise){if(a.async===!1)throw new Ad;return l.then(c=>r(c,s,a))}return r(l,s,a)}}n["~standard"]={validate:r=>{var o;try{const a=rC(n,r);return a.success?{value:a.data}:{issues:(o=a.error)==null?void 0:o.issues}}catch{return fL(n,r).then(l=>{var c;return l.success?{value:l.data}:{issues:(c=l.error)==null?void 0:c.issues}})}},vendor:"zod",version:1}}),p_=te("$ZodString",(n,e)=>{var t;$t.init(n,e),n._zod.pattern=[...((t=n==null?void 0:n._zod.bag)==null?void 0:t.patterns)??[]].pop()??NL(n._zod.bag),n._zod.parse=(s,i)=>{if(e.coerce)try{s.value=String(s.value)}catch{}return typeof s.value=="string"||s.issues.push({expected:"string",code:"invalid_type",input:s.value,inst:n}),s}}),Ft=te("$ZodStringFormat",(n,e)=>{$y.init(n,e),p_.init(n,e)}),sD=te("$ZodGUID",(n,e)=>{e.pattern??(e.pattern=_L),Ft.init(n,e)}),iD=te("$ZodUUID",(n,e)=>{if(e.version){const s={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(s===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=Ak(s))}else e.pattern??(e.pattern=Ak());Ft.init(n,e)}),rD=te("$ZodEmail",(n,e)=>{e.pattern??(e.pattern=SL),Ft.init(n,e)}),oD=te("$ZodURL",(n,e)=>{Ft.init(n,e),n._zod.check=t=>{try{const s=t.value,i=new URL(s),r=i.href;e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(i.hostname)||t.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:PL.source,input:t.value,inst:n,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol)||t.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:t.value,inst:n,continue:!e.abort})),!s.endsWith("/")&&r.endsWith("/")?t.value=r.slice(0,-1):t.value=r;return}catch{t.issues.push({code:"invalid_format",format:"url",input:t.value,inst:n,continue:!e.abort})}}}),aD=te("$ZodEmoji",(n,e)=>{e.pattern??(e.pattern=AL()),Ft.init(n,e)}),lD=te("$ZodNanoID",(n,e)=>{e.pattern??(e.pattern=bL),Ft.init(n,e)}),cD=te("$ZodCUID",(n,e)=>{e.pattern??(e.pattern=pL),Ft.init(n,e)}),hD=te("$ZodCUID2",(n,e)=>{e.pattern??(e.pattern=mL),Ft.init(n,e)}),uD=te("$ZodULID",(n,e)=>{e.pattern??(e.pattern=gL),Ft.init(n,e)}),dD=te("$ZodXID",(n,e)=>{e.pattern??(e.pattern=yL),Ft.init(n,e)}),fD=te("$ZodKSUID",(n,e)=>{e.pattern??(e.pattern=vL),Ft.init(n,e)}),pD=te("$ZodISODateTime",(n,e)=>{e.pattern??(e.pattern=OL(e)),Ft.init(n,e)}),mD=te("$ZodISODate",(n,e)=>{e.pattern??(e.pattern=ML),Ft.init(n,e)}),gD=te("$ZodISOTime",(n,e)=>{e.pattern??(e.pattern=IL(e)),Ft.init(n,e)}),yD=te("$ZodISODuration",(n,e)=>{e.pattern??(e.pattern=wL),Ft.init(n,e)}),vD=te("$ZodIPv4",(n,e)=>{e.pattern??(e.pattern=xL),Ft.init(n,e),n._zod.onattach.push(t=>{const s=t._zod.bag;s.format="ipv4"})}),bD=te("$ZodIPv6",(n,e)=>{e.pattern??(e.pattern=EL),Ft.init(n,e),n._zod.onattach.push(t=>{const s=t._zod.bag;s.format="ipv6"}),n._zod.check=t=>{try{new URL(`http://[${t.value}]`)}catch{t.issues.push({code:"invalid_format",format:"ipv6",input:t.value,inst:n,continue:!e.abort})}}}),wD=te("$ZodCIDRv4",(n,e)=>{e.pattern??(e.pattern=CL),Ft.init(n,e)}),_D=te("$ZodCIDRv6",(n,e)=>{e.pattern??(e.pattern=$L),Ft.init(n,e),n._zod.check=t=>{const[s,i]=t.value.split("/");try{if(!i)throw new Error;const r=Number(i);if(`${r}`!==i)throw new Error;if(r<0||r>128)throw new Error;new URL(`http://[${s}]`)}catch{t.issues.push({code:"invalid_format",format:"cidrv6",input:t.value,inst:n,continue:!e.abort})}}});function fC(n){if(n==="")return!0;if(n.length%4!==0)return!1;try{return atob(n),!0}catch{return!1}}const SD=te("$ZodBase64",(n,e)=>{e.pattern??(e.pattern=TL),Ft.init(n,e),n._zod.onattach.push(t=>{t._zod.bag.contentEncoding="base64"}),n._zod.check=t=>{fC(t.value)||t.issues.push({code:"invalid_format",format:"base64",input:t.value,inst:n,continue:!e.abort})}});function kD(n){if(!aC.test(n))return!1;const e=n.replace(/[-_]/g,s=>s==="-"?"+":"/"),t=e.padEnd(Math.ceil(e.length/4)*4,"=");return fC(t)}const AD=te("$ZodBase64URL",(n,e)=>{e.pattern??(e.pattern=aC),Ft.init(n,e),n._zod.onattach.push(t=>{t._zod.bag.contentEncoding="base64url"}),n._zod.check=t=>{kD(t.value)||t.issues.push({code:"invalid_format",format:"base64url",input:t.value,inst:n,continue:!e.abort})}}),xD=te("$ZodE164",(n,e)=>{e.pattern??(e.pattern=RL),Ft.init(n,e)});function ED(n,e=null){try{const t=n.split(".");if(t.length!==3)return!1;const[s]=t;if(!s)return!1;const i=JSON.parse(atob(s));return!("typ"in i&&(i==null?void 0:i.typ)!=="JWT"||!i.alg||e&&(!("alg"in i)||i.alg!==e))}catch{return!1}}const CD=te("$ZodJWT",(n,e)=>{Ft.init(n,e),n._zod.check=t=>{ED(t.value,e.alg)||t.issues.push({code:"invalid_format",format:"jwt",input:t.value,inst:n,continue:!e.abort})}}),pC=te("$ZodNumber",(n,e)=>{$t.init(n,e),n._zod.pattern=n._zod.bag.pattern??DL,n._zod.parse=(t,s)=>{if(e.coerce)try{t.value=Number(t.value)}catch{}const i=t.value;if(typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i))return t;const r=typeof i=="number"?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:"Infinity":void 0;return t.issues.push({expected:"number",code:"invalid_type",input:i,inst:n,...r?{received:r}:{}}),t}}),$D=te("$ZodNumber",(n,e)=>{UL.init(n,e),pC.init(n,e)}),TD=te("$ZodBoolean",(n,e)=>{$t.init(n,e),n._zod.pattern=FL,n._zod.parse=(t,s)=>{if(e.coerce)try{t.value=!!t.value}catch{}const i=t.value;return typeof i=="boolean"||t.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:n}),t}}),PD=te("$ZodUndefined",(n,e)=>{$t.init(n,e),n._zod.pattern=zL,n._zod.values=new Set([void 0]),n._zod.optin="optional",n._zod.optout="optional",n._zod.parse=(t,s)=>{const i=t.value;return typeof i>"u"||t.issues.push({expected:"undefined",code:"invalid_type",input:i,inst:n}),t}}),RD=te("$ZodNull",(n,e)=>{$t.init(n,e),n._zod.pattern=jL,n._zod.values=new Set([null]),n._zod.parse=(t,s)=>{const i=t.value;return i===null||t.issues.push({expected:"null",code:"invalid_type",input:i,inst:n}),t}}),MD=te("$ZodAny",(n,e)=>{$t.init(n,e),n._zod.parse=t=>t}),ID=te("$ZodUnknown",(n,e)=>{$t.init(n,e),n._zod.parse=t=>t}),OD=te("$ZodNever",(n,e)=>{$t.init(n,e),n._zod.parse=(t,s)=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:n}),t)});function xk(n,e,t){n.issues.length&&e.issues.push(...Va(t,n.issues)),e.value[t]=n.value}const ND=te("$ZodArray",(n,e)=>{$t.init(n,e),n._zod.parse=(t,s)=>{const i=t.value;if(!Array.isArray(i))return t.issues.push({expected:"array",code:"invalid_type",input:i,inst:n}),t;t.value=Array(i.length);const r=[];for(let o=0;oxk(c,t,o))):xk(l,t,o)}return r.length?Promise.all(r).then(()=>t):t}});function Mp(n,e,t){n.issues.length&&e.issues.push(...Va(t,n.issues)),e.value[t]=n.value}function Ek(n,e,t,s){n.issues.length?s[t]===void 0?t in s?e.value[t]=void 0:e.value[t]=n.value:e.issues.push(...Va(t,n.issues)):n.value===void 0?t in s&&(e.value[t]=void 0):e.value[t]=n.value}const LD=te("$ZodObject",(n,e)=>{$t.init(n,e);const t=h_(()=>{const u=Object.keys(e.shape);for(const p of u)if(!(e.shape[p]instanceof $t))throw new Error(`Invalid element at key "${p}": expected a Zod schema`);const d=tL(e.shape);return{shape:e.shape,keys:u,keySet:new Set(u),numKeys:u.length,optionalKeys:new Set(d)}});It(n._zod,"propValues",()=>{const u=e.shape,d={};for(const p in u){const m=u[p]._zod;if(m.values){d[p]??(d[p]=new Set);for(const g of m.values)d[p].add(g)}}return d});const s=u=>{const d=new tD(["shape","payload","ctx"]),p=t.value,m=b=>{const _=Su(b);return`shape[${_}]._zod.run({ value: input[${_}], issues: [] }, ctx)`};d.write("const input = payload.value;");const g=Object.create(null);let v=0;for(const b of p.keys)g[b]=`key_${v++}`;d.write("const newResult = {}");for(const b of p.keys)if(p.optionalKeys.has(b)){const _=g[b];d.write(`const ${_} = ${m(b)};`);const S=Su(b);d.write(` + if (${_}.issues.length) { + if (input[${S}] === undefined) { + if (${S} in input) { + newResult[${S}] = undefined; + } + } else { + payload.issues = payload.issues.concat( + ${_}.issues.map((iss) => ({ + ...iss, + path: iss.path ? [${S}, ...iss.path] : [${S}], + })) + ); + } + } else if (${_}.value === undefined) { + if (${S} in input) newResult[${S}] = undefined; + } else { + newResult[${S}] = ${_}.value; + } + `)}else{const _=g[b];d.write(`const ${_} = ${m(b)};`),d.write(` + if (${_}.issues.length) payload.issues = payload.issues.concat(${_}.issues.map(iss => ({ + ...iss, + path: iss.path ? [${Su(b)}, ...iss.path] : [${Su(b)}] + })));`),d.write(`newResult[${Su(b)}] = ${_}.value`)}d.write("payload.value = newResult;"),d.write("return payload;");const y=d.compile();return(b,_)=>y(u,b,_)};let i;const r=fg,o=!QE.jitless,l=o&&QN.value,c=e.catchall;let h;n._zod.parse=(u,d)=>{h??(h=t.value);const p=u.value;if(!r(p))return u.issues.push({expected:"object",code:"invalid_type",input:p,inst:n}),u;const m=[];if(o&&l&&(d==null?void 0:d.async)===!1&&d.jitless!==!0)i||(i=s(e.shape)),u=i(u,d);else{u.value={};const _=h.shape;for(const S of h.keys){const A=_[S],E=A._zod.run({value:p[S],issues:[]},d),$=A._zod.optin==="optional"&&A._zod.optout==="optional";E instanceof Promise?m.push(E.then(O=>$?Ek(O,u,S,p):Mp(O,u,S))):$?Ek(E,u,S,p):Mp(E,u,S)}}if(!c)return m.length?Promise.all(m).then(()=>u):u;const g=[],v=h.keySet,y=c._zod,b=y.def.type;for(const _ of Object.keys(p)){if(v.has(_))continue;if(b==="never"){g.push(_);continue}const S=y.run({value:p[_],issues:[]},d);S instanceof Promise?m.push(S.then(A=>Mp(A,u,_))):Mp(S,u,_)}return g.length&&u.issues.push({code:"unrecognized_keys",keys:g,input:p,inst:n}),m.length?Promise.all(m).then(()=>u):u}});function Ck(n,e,t,s){for(const i of n)if(i.issues.length===0)return e.value=i.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:t,errors:n.map(i=>i.issues.map(r=>aa(r,s,oa())))}),e}const mC=te("$ZodUnion",(n,e)=>{$t.init(n,e),It(n._zod,"optin",()=>e.options.some(t=>t._zod.optin==="optional")?"optional":void 0),It(n._zod,"optout",()=>e.options.some(t=>t._zod.optout==="optional")?"optional":void 0),It(n._zod,"values",()=>{if(e.options.every(t=>t._zod.values))return new Set(e.options.flatMap(t=>Array.from(t._zod.values)))}),It(n._zod,"pattern",()=>{if(e.options.every(t=>t._zod.pattern)){const t=e.options.map(s=>s._zod.pattern);return new RegExp(`^(${t.map(s=>d_(s.source)).join("|")})$`)}}),n._zod.parse=(t,s)=>{let i=!1;const r=[];for(const o of e.options){const a=o._zod.run({value:t.value,issues:[]},s);if(a instanceof Promise)r.push(a),i=!0;else{if(a.issues.length===0)return a;r.push(a)}}return i?Promise.all(r).then(o=>Ck(o,t,n,s)):Ck(r,t,n,s)}}),DD=te("$ZodDiscriminatedUnion",(n,e)=>{mC.init(n,e);const t=n._zod.parse;It(n._zod,"propValues",()=>{const i={};for(const r of e.options){const o=r._zod.propValues;if(!o||Object.keys(o).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(r)}"`);for(const[a,l]of Object.entries(o)){i[a]||(i[a]=new Set);for(const c of l)i[a].add(c)}}return i});const s=h_(()=>{const i=e.options,r=new Map;for(const o of i){const a=o._zod.propValues[e.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(o)}"`);for(const l of a){if(r.has(l))throw new Error(`Duplicate discriminator value "${String(l)}"`);r.set(l,o)}}return r});n._zod.parse=(i,r)=>{const o=i.value;if(!fg(o))return i.issues.push({code:"invalid_type",expected:"object",input:o,inst:n}),i;const a=s.value.get(o==null?void 0:o[e.discriminator]);return a?a._zod.run(i,r):e.unionFallback?t(i,r):(i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:o,path:[e.discriminator],inst:n}),i)}}),FD=te("$ZodIntersection",(n,e)=>{$t.init(n,e),n._zod.parse=(t,s)=>{const i=t.value,r=e.left._zod.run({value:i,issues:[]},s),o=e.right._zod.run({value:i,issues:[]},s);return r instanceof Promise||o instanceof Promise?Promise.all([r,o]).then(([l,c])=>$k(t,l,c)):$k(t,r,o)}});function dv(n,e){if(n===e)return{valid:!0,data:n};if(n instanceof Date&&e instanceof Date&&+n==+e)return{valid:!0,data:n};if(pg(n)&&pg(e)){const t=Object.keys(e),s=Object.keys(n).filter(r=>t.indexOf(r)!==-1),i={...n,...e};for(const r of s){const o=dv(n[r],e[r]);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};i[r]=o.data}return{valid:!0,data:i}}if(Array.isArray(n)&&Array.isArray(e)){if(n.length!==e.length)return{valid:!1,mergeErrorPath:[]};const t=[];for(let s=0;s{$t.init(n,e),n._zod.parse=(t,s)=>{const i=t.value;if(!pg(i))return t.issues.push({expected:"record",code:"invalid_type",input:i,inst:n}),t;const r=[];if(e.keyType._zod.values){const o=e.keyType._zod.values;t.value={};for(const l of o)if(typeof l=="string"||typeof l=="number"||typeof l=="symbol"){const c=e.valueType._zod.run({value:i[l],issues:[]},s);c instanceof Promise?r.push(c.then(h=>{h.issues.length&&t.issues.push(...Va(l,h.issues)),t.value[l]=h.value})):(c.issues.length&&t.issues.push(...Va(l,c.issues)),t.value[l]=c.value)}let a;for(const l in i)o.has(l)||(a=a??[],a.push(l));a&&a.length>0&&t.issues.push({code:"unrecognized_keys",input:i,inst:n,keys:a})}else{t.value={};for(const o of Reflect.ownKeys(i)){if(o==="__proto__")continue;const a=e.keyType._zod.run({value:o,issues:[]},s);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){t.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(c=>aa(c,s,oa())),input:o,path:[o],inst:n}),t.value[a.value]=a.value;continue}const l=e.valueType._zod.run({value:i[o],issues:[]},s);l instanceof Promise?r.push(l.then(c=>{c.issues.length&&t.issues.push(...Va(o,c.issues)),t.value[a.value]=c.value})):(l.issues.length&&t.issues.push(...Va(o,l.issues)),t.value[a.value]=l.value)}}return r.length?Promise.all(r).then(()=>t):t}}),zD=te("$ZodEnum",(n,e)=>{$t.init(n,e);const t=XN(e.entries);n._zod.values=new Set(t),n._zod.pattern=new RegExp(`^(${t.filter(s=>eL.has(typeof s)).map(s=>typeof s=="string"?sp(s):s.toString()).join("|")})$`),n._zod.parse=(s,i)=>{const r=s.value;return n._zod.values.has(r)||s.issues.push({code:"invalid_value",values:t,input:r,inst:n}),s}}),HD=te("$ZodLiteral",(n,e)=>{$t.init(n,e),n._zod.values=new Set(e.values),n._zod.pattern=new RegExp(`^(${e.values.map(t=>typeof t=="string"?sp(t):t?t.toString():String(t)).join("|")})$`),n._zod.parse=(t,s)=>{const i=t.value;return n._zod.values.has(i)||t.issues.push({code:"invalid_value",values:e.values,input:i,inst:n}),t}}),BD=te("$ZodTransform",(n,e)=>{$t.init(n,e),n._zod.parse=(t,s)=>{const i=e.transform(t.value,t);if(s.async)return(i instanceof Promise?i:Promise.resolve(i)).then(o=>(t.value=o,t));if(i instanceof Promise)throw new Ad;return t.value=i,t}}),qD=te("$ZodOptional",(n,e)=>{$t.init(n,e),n._zod.optin="optional",n._zod.optout="optional",It(n._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),It(n._zod,"pattern",()=>{const t=e.innerType._zod.pattern;return t?new RegExp(`^(${d_(t.source)})?$`):void 0}),n._zod.parse=(t,s)=>e.innerType._zod.optin==="optional"?e.innerType._zod.run(t,s):t.value===void 0?t:e.innerType._zod.run(t,s)}),UD=te("$ZodNullable",(n,e)=>{$t.init(n,e),It(n._zod,"optin",()=>e.innerType._zod.optin),It(n._zod,"optout",()=>e.innerType._zod.optout),It(n._zod,"pattern",()=>{const t=e.innerType._zod.pattern;return t?new RegExp(`^(${d_(t.source)}|null)$`):void 0}),It(n._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),n._zod.parse=(t,s)=>t.value===null?t:e.innerType._zod.run(t,s)}),VD=te("$ZodDefault",(n,e)=>{$t.init(n,e),n._zod.optin="optional",It(n._zod,"values",()=>e.innerType._zod.values),n._zod.parse=(t,s)=>{if(t.value===void 0)return t.value=e.defaultValue,t;const i=e.innerType._zod.run(t,s);return i instanceof Promise?i.then(r=>Tk(r,e)):Tk(i,e)}});function Tk(n,e){return n.value===void 0&&(n.value=e.defaultValue),n}const WD=te("$ZodPrefault",(n,e)=>{$t.init(n,e),n._zod.optin="optional",It(n._zod,"values",()=>e.innerType._zod.values),n._zod.parse=(t,s)=>(t.value===void 0&&(t.value=e.defaultValue),e.innerType._zod.run(t,s))}),GD=te("$ZodNonOptional",(n,e)=>{$t.init(n,e),It(n._zod,"values",()=>{const t=e.innerType._zod.values;return t?new Set([...t].filter(s=>s!==void 0)):void 0}),n._zod.parse=(t,s)=>{const i=e.innerType._zod.run(t,s);return i instanceof Promise?i.then(r=>Pk(r,n)):Pk(i,n)}});function Pk(n,e){return!n.issues.length&&n.value===void 0&&n.issues.push({code:"invalid_type",expected:"nonoptional",input:n.value,inst:e}),n}const KD=te("$ZodCatch",(n,e)=>{$t.init(n,e),n._zod.optin="optional",It(n._zod,"optout",()=>e.innerType._zod.optout),It(n._zod,"values",()=>e.innerType._zod.values),n._zod.parse=(t,s)=>{const i=e.innerType._zod.run(t,s);return i instanceof Promise?i.then(r=>(t.value=r.value,r.issues.length&&(t.value=e.catchValue({...t,error:{issues:r.issues.map(o=>aa(o,s,oa()))},input:t.value}),t.issues=[]),t)):(t.value=i.value,i.issues.length&&(t.value=e.catchValue({...t,error:{issues:i.issues.map(r=>aa(r,s,oa()))},input:t.value}),t.issues=[]),t)}}),ZD=te("$ZodPipe",(n,e)=>{$t.init(n,e),It(n._zod,"values",()=>e.in._zod.values),It(n._zod,"optin",()=>e.in._zod.optin),It(n._zod,"optout",()=>e.out._zod.optout),n._zod.parse=(t,s)=>{const i=e.in._zod.run(t,s);return i instanceof Promise?i.then(r=>Rk(r,e,s)):Rk(i,e,s)}});function Rk(n,e,t){return rd(n)?n:e.out._zod.run({value:n.value,issues:n.issues},t)}const XD=te("$ZodReadonly",(n,e)=>{$t.init(n,e),It(n._zod,"propValues",()=>e.innerType._zod.propValues),It(n._zod,"values",()=>e.innerType._zod.values),It(n._zod,"optin",()=>e.innerType._zod.optin),It(n._zod,"optout",()=>e.innerType._zod.optout),n._zod.parse=(t,s)=>{const i=e.innerType._zod.run(t,s);return i instanceof Promise?i.then(Mk):Mk(i)}});function Mk(n){return n.value=Object.freeze(n.value),n}const YD=te("$ZodCustom",(n,e)=>{$s.init(n,e),$t.init(n,e),n._zod.parse=(t,s)=>t,n._zod.check=t=>{const s=t.value,i=e.fn(s);if(i instanceof Promise)return i.then(r=>Ik(r,t,s,n));Ik(i,t,s,n)}});function Ik(n,e,t,s){if(!n){const i={code:"custom",input:t,inst:s,path:[...s._zod.def.path??[]],continue:!s._zod.def.abort};s._zod.def.params&&(i.params=s._zod.def.params),e.issues.push(xd(i))}}class JD{constructor(){this._map=new Map,this._idmap=new Map}add(e,...t){const s=t[0];if(this._map.set(e,s),s&&typeof s=="object"&&"id"in s){if(this._idmap.has(s.id))throw new Error(`ID ${s.id} already exists in the registry`);this._idmap.set(s.id,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){const t=this._map.get(e);return t&&typeof t=="object"&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){const t=e._zod.parent;if(t){const s={...this.get(t)??{}};return delete s.id,{...s,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}}function QD(){return new JD}const Ip=QD();function e2(n,e){return new n({type:"string",...ke(e)})}function t2(n,e){return new n({type:"string",format:"email",check:"string_format",abort:!1,...ke(e)})}function Ok(n,e){return new n({type:"string",format:"guid",check:"string_format",abort:!1,...ke(e)})}function n2(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,...ke(e)})}function s2(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...ke(e)})}function i2(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...ke(e)})}function r2(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...ke(e)})}function gC(n,e){return new n({type:"string",format:"url",check:"string_format",abort:!1,...ke(e)})}function o2(n,e){return new n({type:"string",format:"emoji",check:"string_format",abort:!1,...ke(e)})}function a2(n,e){return new n({type:"string",format:"nanoid",check:"string_format",abort:!1,...ke(e)})}function l2(n,e){return new n({type:"string",format:"cuid",check:"string_format",abort:!1,...ke(e)})}function c2(n,e){return new n({type:"string",format:"cuid2",check:"string_format",abort:!1,...ke(e)})}function h2(n,e){return new n({type:"string",format:"ulid",check:"string_format",abort:!1,...ke(e)})}function u2(n,e){return new n({type:"string",format:"xid",check:"string_format",abort:!1,...ke(e)})}function d2(n,e){return new n({type:"string",format:"ksuid",check:"string_format",abort:!1,...ke(e)})}function f2(n,e){return new n({type:"string",format:"ipv4",check:"string_format",abort:!1,...ke(e)})}function p2(n,e){return new n({type:"string",format:"ipv6",check:"string_format",abort:!1,...ke(e)})}function m2(n,e){return new n({type:"string",format:"cidrv4",check:"string_format",abort:!1,...ke(e)})}function g2(n,e){return new n({type:"string",format:"cidrv6",check:"string_format",abort:!1,...ke(e)})}function y2(n,e){return new n({type:"string",format:"base64",check:"string_format",abort:!1,...ke(e)})}function v2(n,e){return new n({type:"string",format:"base64url",check:"string_format",abort:!1,...ke(e)})}function b2(n,e){return new n({type:"string",format:"e164",check:"string_format",abort:!1,...ke(e)})}function w2(n,e){return new n({type:"string",format:"jwt",check:"string_format",abort:!1,...ke(e)})}function _2(n,e){return new n({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...ke(e)})}function S2(n,e){return new n({type:"string",format:"date",check:"string_format",...ke(e)})}function k2(n,e){return new n({type:"string",format:"time",check:"string_format",precision:null,...ke(e)})}function A2(n,e){return new n({type:"string",format:"duration",check:"string_format",...ke(e)})}function x2(n,e){return new n({type:"number",checks:[],...ke(e)})}function E2(n,e){return new n({type:"number",coerce:!0,checks:[],...ke(e)})}function C2(n,e){return new n({type:"number",check:"number_format",abort:!1,format:"safeint",...ke(e)})}function $2(n,e){return new n({type:"boolean",...ke(e)})}function T2(n,e){return new n({type:"undefined",...ke(e)})}function P2(n,e){return new n({type:"null",...ke(e)})}function R2(n){return new n({type:"any"})}function M2(n){return new n({type:"unknown"})}function I2(n,e){return new n({type:"never",...ke(e)})}function Nk(n,e){return new uC({check:"less_than",...ke(e),value:n,inclusive:!1})}function b0(n,e){return new uC({check:"less_than",...ke(e),value:n,inclusive:!0})}function Lk(n,e){return new dC({check:"greater_than",...ke(e),value:n,inclusive:!1})}function w0(n,e){return new dC({check:"greater_than",...ke(e),value:n,inclusive:!0})}function Dk(n,e){return new qL({check:"multiple_of",...ke(e),value:n})}function yC(n,e){return new VL({check:"max_length",...ke(e),maximum:n})}function mg(n,e){return new WL({check:"min_length",...ke(e),minimum:n})}function vC(n,e){return new GL({check:"length_equals",...ke(e),length:n})}function O2(n,e){return new KL({check:"string_format",format:"regex",...ke(e),pattern:n})}function N2(n){return new ZL({check:"string_format",format:"lowercase",...ke(n)})}function L2(n){return new XL({check:"string_format",format:"uppercase",...ke(n)})}function D2(n,e){return new YL({check:"string_format",format:"includes",...ke(e),includes:n})}function F2(n,e){return new JL({check:"string_format",format:"starts_with",...ke(e),prefix:n})}function j2(n,e){return new QL({check:"string_format",format:"ends_with",...ke(e),suffix:n})}function ip(n){return new eD({check:"overwrite",tx:n})}function z2(n){return ip(e=>e.normalize(n))}function H2(){return ip(n=>n.trim())}function B2(){return ip(n=>n.toLowerCase())}function q2(){return ip(n=>n.toUpperCase())}function U2(n,e,t){return new n({type:"array",element:e,...ke(t)})}function V2(n,e,t){const s=ke(t);return s.abort??(s.abort=!0),new n({type:"custom",check:"custom",fn:e,...s})}function W2(n,e,t){return new n({type:"custom",check:"custom",fn:e,...ke(t)})}const G2=te("ZodISODateTime",(n,e)=>{pD.init(n,e),Ut.init(n,e)});function bC(n){return _2(G2,n)}const K2=te("ZodISODate",(n,e)=>{mD.init(n,e),Ut.init(n,e)});function Z2(n){return S2(K2,n)}const X2=te("ZodISOTime",(n,e)=>{gD.init(n,e),Ut.init(n,e)});function Y2(n){return k2(X2,n)}const J2=te("ZodISODuration",(n,e)=>{yD.init(n,e),Ut.init(n,e)});function Q2(n){return A2(J2,n)}const eF=(n,e)=>{nC.init(n,e),n.name="ZodError",Object.defineProperties(n,{format:{value:t=>hL(n,t)},flatten:{value:t=>cL(n,t)},addIssue:{value:t=>n.issues.push(t)},addIssues:{value:t=>n.issues.push(...t)},isEmpty:{get(){return n.issues.length===0}}})},Ty=te("ZodError",eF,{Parent:Error}),tF=uL(Ty),nF=dL(Ty),sF=iC(Ty),iF=oC(Ty),Ot=te("ZodType",(n,e)=>($t.init(n,e),n.def=e,Object.defineProperty(n,"_def",{value:e}),n.check=(...t)=>n.clone({...e,checks:[...e.checks??[],...t.map(s=>typeof s=="function"?{_zod:{check:s,def:{check:"custom"},onattach:[]}}:s)]}),n.clone=(t,s)=>cc(n,t,s),n.brand=()=>n,n.register=(t,s)=>(t.add(n,s),n),n.parse=(t,s)=>tF(n,t,s,{callee:n.parse}),n.safeParse=(t,s)=>sF(n,t,s),n.parseAsync=async(t,s)=>nF(n,t,s,{callee:n.parseAsync}),n.safeParseAsync=async(t,s)=>iF(n,t,s),n.spa=n.safeParseAsync,n.refine=(t,s)=>n.check(XF(t,s)),n.superRefine=t=>n.check(YF(t)),n.overwrite=t=>n.check(ip(t)),n.optional=()=>qt(n),n.nullable=()=>zk(n),n.nullish=()=>qt(zk(n)),n.nonoptional=t=>BF(n,t),n.array=()=>le(n),n.or=t=>Je([n,t]),n.and=t=>y_(n,t),n.transform=t=>gv(n,xC(t)),n.default=t=>jF(n,t),n.prefault=t=>HF(n,t),n.catch=t=>UF(n,t),n.pipe=t=>gv(n,t),n.readonly=()=>GF(n),n.describe=t=>{const s=n.clone();return Ip.add(s,{description:t}),s},Object.defineProperty(n,"description",{get(){var t;return(t=Ip.get(n))==null?void 0:t.description},configurable:!0}),n.meta=(...t)=>{if(t.length===0)return Ip.get(n);const s=n.clone();return Ip.add(s,t[0]),s},n.isOptional=()=>n.safeParse(void 0).success,n.isNullable=()=>n.safeParse(null).success,n)),wC=te("_ZodString",(n,e)=>{p_.init(n,e),Ot.init(n,e);const t=n._zod.bag;n.format=t.format??null,n.minLength=t.minimum??null,n.maxLength=t.maximum??null,n.regex=(...s)=>n.check(O2(...s)),n.includes=(...s)=>n.check(D2(...s)),n.startsWith=(...s)=>n.check(F2(...s)),n.endsWith=(...s)=>n.check(j2(...s)),n.min=(...s)=>n.check(mg(...s)),n.max=(...s)=>n.check(yC(...s)),n.length=(...s)=>n.check(vC(...s)),n.nonempty=(...s)=>n.check(mg(1,...s)),n.lowercase=s=>n.check(N2(s)),n.uppercase=s=>n.check(L2(s)),n.trim=()=>n.check(H2()),n.normalize=(...s)=>n.check(z2(...s)),n.toLowerCase=()=>n.check(B2()),n.toUpperCase=()=>n.check(q2())}),rF=te("ZodString",(n,e)=>{p_.init(n,e),wC.init(n,e),n.email=t=>n.check(t2(oF,t)),n.url=t=>n.check(gC(_C,t)),n.jwt=t=>n.check(w2(SF,t)),n.emoji=t=>n.check(o2(lF,t)),n.guid=t=>n.check(Ok(Fk,t)),n.uuid=t=>n.check(n2(Op,t)),n.uuidv4=t=>n.check(s2(Op,t)),n.uuidv6=t=>n.check(i2(Op,t)),n.uuidv7=t=>n.check(r2(Op,t)),n.nanoid=t=>n.check(a2(cF,t)),n.guid=t=>n.check(Ok(Fk,t)),n.cuid=t=>n.check(l2(hF,t)),n.cuid2=t=>n.check(c2(uF,t)),n.ulid=t=>n.check(h2(dF,t)),n.base64=t=>n.check(y2(bF,t)),n.base64url=t=>n.check(v2(wF,t)),n.xid=t=>n.check(u2(fF,t)),n.ksuid=t=>n.check(d2(pF,t)),n.ipv4=t=>n.check(f2(mF,t)),n.ipv6=t=>n.check(p2(gF,t)),n.cidrv4=t=>n.check(m2(yF,t)),n.cidrv6=t=>n.check(g2(vF,t)),n.e164=t=>n.check(b2(_F,t)),n.datetime=t=>n.check(bC(t)),n.date=t=>n.check(Z2(t)),n.time=t=>n.check(Y2(t)),n.duration=t=>n.check(Q2(t))});function j(n){return e2(rF,n)}const Ut=te("ZodStringFormat",(n,e)=>{Ft.init(n,e),wC.init(n,e)}),oF=te("ZodEmail",(n,e)=>{rD.init(n,e),Ut.init(n,e)}),Fk=te("ZodGUID",(n,e)=>{sD.init(n,e),Ut.init(n,e)}),Op=te("ZodUUID",(n,e)=>{iD.init(n,e),Ut.init(n,e)}),_C=te("ZodURL",(n,e)=>{oD.init(n,e),Ut.init(n,e)});function aF(n){return gC(_C,n)}const lF=te("ZodEmoji",(n,e)=>{aD.init(n,e),Ut.init(n,e)}),cF=te("ZodNanoID",(n,e)=>{lD.init(n,e),Ut.init(n,e)}),hF=te("ZodCUID",(n,e)=>{cD.init(n,e),Ut.init(n,e)}),uF=te("ZodCUID2",(n,e)=>{hD.init(n,e),Ut.init(n,e)}),dF=te("ZodULID",(n,e)=>{uD.init(n,e),Ut.init(n,e)}),fF=te("ZodXID",(n,e)=>{dD.init(n,e),Ut.init(n,e)}),pF=te("ZodKSUID",(n,e)=>{fD.init(n,e),Ut.init(n,e)}),mF=te("ZodIPv4",(n,e)=>{vD.init(n,e),Ut.init(n,e)}),gF=te("ZodIPv6",(n,e)=>{bD.init(n,e),Ut.init(n,e)}),yF=te("ZodCIDRv4",(n,e)=>{wD.init(n,e),Ut.init(n,e)}),vF=te("ZodCIDRv6",(n,e)=>{_D.init(n,e),Ut.init(n,e)}),bF=te("ZodBase64",(n,e)=>{SD.init(n,e),Ut.init(n,e)}),wF=te("ZodBase64URL",(n,e)=>{AD.init(n,e),Ut.init(n,e)}),_F=te("ZodE164",(n,e)=>{xD.init(n,e),Ut.init(n,e)}),SF=te("ZodJWT",(n,e)=>{CD.init(n,e),Ut.init(n,e)}),m_=te("ZodNumber",(n,e)=>{pC.init(n,e),Ot.init(n,e),n.gt=(s,i)=>n.check(Lk(s,i)),n.gte=(s,i)=>n.check(w0(s,i)),n.min=(s,i)=>n.check(w0(s,i)),n.lt=(s,i)=>n.check(Nk(s,i)),n.lte=(s,i)=>n.check(b0(s,i)),n.max=(s,i)=>n.check(b0(s,i)),n.int=s=>n.check(jk(s)),n.safe=s=>n.check(jk(s)),n.positive=s=>n.check(Lk(0,s)),n.nonnegative=s=>n.check(w0(0,s)),n.negative=s=>n.check(Nk(0,s)),n.nonpositive=s=>n.check(b0(0,s)),n.multipleOf=(s,i)=>n.check(Dk(s,i)),n.step=(s,i)=>n.check(Dk(s,i)),n.finite=()=>n;const t=n._zod.bag;n.minValue=Math.max(t.minimum??Number.NEGATIVE_INFINITY,t.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,n.maxValue=Math.min(t.maximum??Number.POSITIVE_INFINITY,t.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,n.isInt=(t.format??"").includes("int")||Number.isSafeInteger(t.multipleOf??.5),n.isFinite=!0,n.format=t.format??null});function ze(n){return x2(m_,n)}const kF=te("ZodNumberFormat",(n,e)=>{$D.init(n,e),m_.init(n,e)});function jk(n){return C2(kF,n)}const AF=te("ZodBoolean",(n,e)=>{TD.init(n,e),Ot.init(n,e)});function tt(n){return $2(AF,n)}const xF=te("ZodUndefined",(n,e)=>{PD.init(n,e),Ot.init(n,e)});function fv(n){return T2(xF,n)}const EF=te("ZodNull",(n,e)=>{RD.init(n,e),Ot.init(n,e)});function CF(n){return P2(EF,n)}const $F=te("ZodAny",(n,e)=>{MD.init(n,e),Ot.init(n,e)});function g_(){return R2($F)}const TF=te("ZodUnknown",(n,e)=>{ID.init(n,e),Ot.init(n,e)});function Ct(){return M2(TF)}const PF=te("ZodNever",(n,e)=>{OD.init(n,e),Ot.init(n,e)});function pv(n){return I2(PF,n)}const RF=te("ZodArray",(n,e)=>{ND.init(n,e),Ot.init(n,e),n.element=e.element,n.min=(t,s)=>n.check(mg(t,s)),n.nonempty=t=>n.check(mg(1,t)),n.max=(t,s)=>n.check(yC(t,s)),n.length=(t,s)=>n.check(vC(t,s)),n.unwrap=()=>n.element});function le(n,e){return U2(RF,n,e)}const SC=te("ZodObject",(n,e)=>{LD.init(n,e),Ot.init(n,e),It(n,"shape",()=>e.shape),n.keyof=()=>Vs(Object.keys(n._zod.def.shape)),n.catchall=t=>n.clone({...n._zod.def,catchall:t}),n.passthrough=()=>n.clone({...n._zod.def,catchall:Ct()}),n.loose=()=>n.clone({...n._zod.def,catchall:Ct()}),n.strict=()=>n.clone({...n._zod.def,catchall:pv()}),n.strip=()=>n.clone({...n._zod.def,catchall:void 0}),n.extend=t=>rL(n,t),n.merge=t=>oL(n,t),n.pick=t=>sL(n,t),n.omit=t=>iL(n,t),n.partial=(...t)=>aL(EC,n,t[0]),n.required=(...t)=>lL(CC,n,t[0])});function Z(n,e){const t={type:"object",get shape(){return Cy(this,"shape",{...n}),this.shape},...ke(e)};return new SC(t)}function jn(n,e){return new SC({type:"object",get shape(){return Cy(this,"shape",{...n}),this.shape},catchall:Ct(),...ke(e)})}const kC=te("ZodUnion",(n,e)=>{mC.init(n,e),Ot.init(n,e),n.options=e.options});function Je(n,e){return new kC({type:"union",options:n,...ke(e)})}const MF=te("ZodDiscriminatedUnion",(n,e)=>{kC.init(n,e),DD.init(n,e)});function AC(n,e,t){return new MF({type:"union",options:e,discriminator:n,...ke(t)})}const IF=te("ZodIntersection",(n,e)=>{FD.init(n,e),Ot.init(n,e)});function y_(n,e){return new IF({type:"intersection",left:n,right:e})}const OF=te("ZodRecord",(n,e)=>{jD.init(n,e),Ot.init(n,e),n.keyType=e.keyType,n.valueType=e.valueType});function nt(n,e,t){return new OF({type:"record",keyType:n,valueType:e,...ke(t)})}const mv=te("ZodEnum",(n,e)=>{zD.init(n,e),Ot.init(n,e),n.enum=e.entries,n.options=Object.values(e.entries);const t=new Set(Object.keys(e.entries));n.extract=(s,i)=>{const r={};for(const o of s)if(t.has(o))r[o]=e.entries[o];else throw new Error(`Key ${o} not found in enum`);return new mv({...e,checks:[],...ke(i),entries:r})},n.exclude=(s,i)=>{const r={...e.entries};for(const o of s)if(t.has(o))delete r[o];else throw new Error(`Key ${o} not found in enum`);return new mv({...e,checks:[],...ke(i),entries:r})}});function Vs(n,e){const t=Array.isArray(n)?Object.fromEntries(n.map(s=>[s,s])):n;return new mv({type:"enum",entries:t,...ke(e)})}const NF=te("ZodLiteral",(n,e)=>{HD.init(n,e),Ot.init(n,e),n.values=new Set(e.values),Object.defineProperty(n,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function W(n,e){return new NF({type:"literal",values:Array.isArray(n)?n:[n],...ke(e)})}const LF=te("ZodTransform",(n,e)=>{BD.init(n,e),Ot.init(n,e),n._zod.parse=(t,s)=>{t.addIssue=r=>{if(typeof r=="string")t.issues.push(xd(r,t.value,e));else{const o=r;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=t.value),o.inst??(o.inst=n),o.continue??(o.continue=!0),t.issues.push(xd(o))}};const i=e.transform(t.value,t);return i instanceof Promise?i.then(r=>(t.value=r,t)):(t.value=i,t)}});function xC(n){return new LF({type:"transform",transform:n})}const EC=te("ZodOptional",(n,e)=>{qD.init(n,e),Ot.init(n,e),n.unwrap=()=>n._zod.def.innerType});function qt(n){return new EC({type:"optional",innerType:n})}const DF=te("ZodNullable",(n,e)=>{UD.init(n,e),Ot.init(n,e),n.unwrap=()=>n._zod.def.innerType});function zk(n){return new DF({type:"nullable",innerType:n})}const FF=te("ZodDefault",(n,e)=>{VD.init(n,e),Ot.init(n,e),n.unwrap=()=>n._zod.def.innerType,n.removeDefault=n.unwrap});function jF(n,e){return new FF({type:"default",innerType:n,get defaultValue(){return typeof e=="function"?e():e}})}const zF=te("ZodPrefault",(n,e)=>{WD.init(n,e),Ot.init(n,e),n.unwrap=()=>n._zod.def.innerType});function HF(n,e){return new zF({type:"prefault",innerType:n,get defaultValue(){return typeof e=="function"?e():e}})}const CC=te("ZodNonOptional",(n,e)=>{GD.init(n,e),Ot.init(n,e),n.unwrap=()=>n._zod.def.innerType});function BF(n,e){return new CC({type:"nonoptional",innerType:n,...ke(e)})}const qF=te("ZodCatch",(n,e)=>{KD.init(n,e),Ot.init(n,e),n.unwrap=()=>n._zod.def.innerType,n.removeCatch=n.unwrap});function UF(n,e){return new qF({type:"catch",innerType:n,catchValue:typeof e=="function"?e:()=>e})}const VF=te("ZodPipe",(n,e)=>{ZD.init(n,e),Ot.init(n,e),n.in=e.in,n.out=e.out});function gv(n,e){return new VF({type:"pipe",in:n,out:e})}const WF=te("ZodReadonly",(n,e)=>{XD.init(n,e),Ot.init(n,e)});function GF(n){return new WF({type:"readonly",innerType:n})}const $C=te("ZodCustom",(n,e)=>{YD.init(n,e),Ot.init(n,e)});function KF(n){const e=new $s({check:"custom"});return e._zod.check=n,e}function ZF(n,e){return V2($C,n??(()=>!0),e)}function XF(n,e={}){return W2($C,n,e)}function YF(n){const e=KF(t=>(t.addIssue=s=>{if(typeof s=="string")t.issues.push(xd(s,t.value,e._zod.def));else{const i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=t.value),i.inst??(i.inst=e),i.continue??(i.continue=!e._zod.def.abort),t.issues.push(xd(i))}},n(t.value,t)));return e}function TC(n,e){return gv(xC(n),e)}const JF={custom:"custom"};function QF(n){return E2(m_,n)}const Py="2025-11-25",ej=[Py,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Ra="io.modelcontextprotocol/related-task",Ry="2.0",mn=ZF(n=>n!==null&&(typeof n=="object"||typeof n=="function")),PC=Je([j(),ze().int()]),RC=j();jn({ttl:ze().optional(),pollInterval:ze().optional()});const tj=Z({ttl:ze().optional()}),nj=Z({taskId:j()}),v_=jn({progressToken:PC.optional(),[Ra]:nj.optional()}),Ws=Z({_meta:v_.optional()}),rp=Ws.extend({task:tj.optional()}),sj=n=>rp.safeParse(n).success,Bn=Z({method:j(),params:Ws.loose().optional()}),ci=Z({_meta:v_.optional()}),hi=Z({method:j(),params:ci.loose().optional()}),qn=jn({_meta:v_.optional()}),op=Je([j(),ze().int()]),MC=Z({jsonrpc:W(Ry),id:op,...Bn.shape}).strict(),yv=n=>MC.safeParse(n).success,IC=Z({jsonrpc:W(Ry),...hi.shape}).strict(),ij=n=>IC.safeParse(n).success,b_=Z({jsonrpc:W(Ry),id:op,result:qn}).strict(),Lu=n=>b_.safeParse(n).success;var Ie;(function(n){n[n.ConnectionClosed=-32e3]="ConnectionClosed",n[n.RequestTimeout=-32001]="RequestTimeout",n[n.ParseError=-32700]="ParseError",n[n.InvalidRequest=-32600]="InvalidRequest",n[n.MethodNotFound=-32601]="MethodNotFound",n[n.InvalidParams=-32602]="InvalidParams",n[n.InternalError=-32603]="InternalError",n[n.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(Ie||(Ie={}));const w_=Z({jsonrpc:W(Ry),id:op.optional(),error:Z({code:ze().int(),message:j(),data:Ct().optional()})}).strict(),rj=n=>w_.safeParse(n).success,bm=Je([MC,IC,b_,w_]);Je([b_,w_]);const Mc=qn.strict(),oj=ci.extend({requestId:op.optional(),reason:j().optional()}),__=hi.extend({method:W("notifications/cancelled"),params:oj}),aj=Z({src:j(),mimeType:j().optional(),sizes:le(j()).optional(),theme:Vs(["light","dark"]).optional()}),ap=Z({icons:le(aj).optional()}),Zh=Z({name:j(),title:j().optional()}),My=Zh.extend({...Zh.shape,...ap.shape,version:j(),websiteUrl:j().optional(),description:j().optional()}),lj=y_(Z({applyDefaults:tt().optional()}),nt(j(),Ct())),cj=TC(n=>n&&typeof n=="object"&&!Array.isArray(n)&&Object.keys(n).length===0?{form:{}}:n,y_(Z({form:lj.optional(),url:mn.optional()}),nt(j(),Ct()).optional())),hj=jn({list:mn.optional(),cancel:mn.optional(),requests:jn({sampling:jn({createMessage:mn.optional()}).optional(),elicitation:jn({create:mn.optional()}).optional()}).optional()}),uj=jn({list:mn.optional(),cancel:mn.optional(),requests:jn({tools:jn({call:mn.optional()}).optional()}).optional()}),dj=Z({experimental:nt(j(),mn).optional(),sampling:Z({context:mn.optional(),tools:mn.optional()}).optional(),elicitation:cj.optional(),roots:Z({listChanged:tt().optional()}).optional(),tasks:hj.optional(),extensions:nt(j(),mn).optional()}),fj=Ws.extend({protocolVersion:j(),capabilities:dj,clientInfo:My}),pj=Bn.extend({method:W("initialize"),params:fj}),mj=Z({experimental:nt(j(),mn).optional(),logging:mn.optional(),completions:mn.optional(),prompts:Z({listChanged:tt().optional()}).optional(),resources:Z({subscribe:tt().optional(),listChanged:tt().optional()}).optional(),tools:Z({listChanged:tt().optional()}).optional(),tasks:uj.optional(),extensions:nt(j(),mn).optional()}),OC=qn.extend({protocolVersion:j(),capabilities:mj,serverInfo:My,instructions:j().optional()}),NC=hi.extend({method:W("notifications/initialized"),params:ci.optional()}),gj=n=>NC.safeParse(n).success,Iy=Bn.extend({method:W("ping"),params:Ws.optional()}),yj=Z({progress:ze(),total:qt(ze()),message:qt(j())}),vj=Z({...ci.shape,...yj.shape,progressToken:PC}),S_=hi.extend({method:W("notifications/progress"),params:vj}),bj=Ws.extend({cursor:RC.optional()}),lp=Bn.extend({params:bj.optional()}),cp=qn.extend({nextCursor:RC.optional()}),wj=Vs(["working","input_required","completed","failed","cancelled"]),hp=Z({taskId:j(),status:wj,ttl:Je([ze(),CF()]),createdAt:j(),lastUpdatedAt:j(),pollInterval:qt(ze()),statusMessage:qt(j())}),Ed=qn.extend({task:hp}),_j=ci.merge(hp),gg=hi.extend({method:W("notifications/tasks/status"),params:_j}),k_=Bn.extend({method:W("tasks/get"),params:Ws.extend({taskId:j()})}),A_=qn.merge(hp),x_=Bn.extend({method:W("tasks/result"),params:Ws.extend({taskId:j()})});qn.loose();const E_=lp.extend({method:W("tasks/list")}),C_=cp.extend({tasks:le(hp)}),$_=Bn.extend({method:W("tasks/cancel"),params:Ws.extend({taskId:j()})}),Sj=qn.merge(hp),LC=Z({uri:j(),mimeType:qt(j()),_meta:nt(j(),Ct()).optional()}),DC=LC.extend({text:j()}),T_=j().refine(n=>{try{return atob(n),!0}catch{return!1}},{message:"Invalid Base64 string"}),FC=LC.extend({blob:T_}),up=Vs(["user","assistant"]),uu=Z({audience:le(up).optional(),priority:ze().min(0).max(1).optional(),lastModified:bC({offset:!0}).optional()}),jC=Z({...Zh.shape,...ap.shape,uri:j(),description:qt(j()),mimeType:qt(j()),size:qt(ze()),annotations:uu.optional(),_meta:qt(jn({}))}),kj=Z({...Zh.shape,...ap.shape,uriTemplate:j(),description:qt(j()),mimeType:qt(j()),annotations:uu.optional(),_meta:qt(jn({}))}),zC=lp.extend({method:W("resources/list")}),P_=cp.extend({resources:le(jC)}),HC=lp.extend({method:W("resources/templates/list")}),R_=cp.extend({resourceTemplates:le(kj)}),M_=Ws.extend({uri:j()}),Aj=M_,BC=Bn.extend({method:W("resources/read"),params:Aj}),I_=qn.extend({contents:le(Je([DC,FC]))}),O_=hi.extend({method:W("notifications/resources/list_changed"),params:ci.optional()}),xj=M_,Ej=Bn.extend({method:W("resources/subscribe"),params:xj}),Cj=M_,$j=Bn.extend({method:W("resources/unsubscribe"),params:Cj}),Tj=ci.extend({uri:j()}),Pj=hi.extend({method:W("notifications/resources/updated"),params:Tj}),Rj=Z({name:j(),description:qt(j()),required:qt(tt())}),Mj=Z({...Zh.shape,...ap.shape,description:qt(j()),arguments:qt(le(Rj)),_meta:qt(jn({}))}),qC=lp.extend({method:W("prompts/list")}),N_=cp.extend({prompts:le(Mj)}),Ij=Ws.extend({name:j(),arguments:nt(j(),j()).optional()}),Oj=Bn.extend({method:W("prompts/get"),params:Ij}),L_=Z({type:W("text"),text:j(),annotations:uu.optional(),_meta:nt(j(),Ct()).optional()}),D_=Z({type:W("image"),data:T_,mimeType:j(),annotations:uu.optional(),_meta:nt(j(),Ct()).optional()}),F_=Z({type:W("audio"),data:T_,mimeType:j(),annotations:uu.optional(),_meta:nt(j(),Ct()).optional()}),Nj=Z({type:W("tool_use"),name:j(),id:j(),input:nt(j(),Ct()),_meta:nt(j(),Ct()).optional()}),UC=Z({type:W("resource"),resource:Je([DC,FC]),annotations:uu.optional(),_meta:nt(j(),Ct()).optional()}),VC=jC.extend({type:W("resource_link")}),dp=Je([L_,D_,F_,VC,UC]),Lj=Z({role:up,content:dp}),WC=qn.extend({description:j().optional(),messages:le(Lj)}),j_=hi.extend({method:W("notifications/prompts/list_changed"),params:ci.optional()}),Dj=Z({title:j().optional(),readOnlyHint:tt().optional(),destructiveHint:tt().optional(),idempotentHint:tt().optional(),openWorldHint:tt().optional()}),Fj=Z({taskSupport:Vs(["required","optional","forbidden"]).optional()}),z_=Z({...Zh.shape,...ap.shape,description:j().optional(),inputSchema:Z({type:W("object"),properties:nt(j(),mn).optional(),required:le(j()).optional()}).catchall(Ct()),outputSchema:Z({type:W("object"),properties:nt(j(),mn).optional(),required:le(j()).optional()}).catchall(Ct()).optional(),annotations:Dj.optional(),execution:Fj.optional(),_meta:nt(j(),Ct()).optional()}),jj=lp.extend({method:W("tools/list")}),H_=cp.extend({tools:le(z_)}),Vl=qn.extend({content:le(dp).default([]),structuredContent:nt(j(),Ct()).optional(),isError:tt().optional()});Vl.or(qn.extend({toolResult:Ct()}));const zj=rp.extend({name:j(),arguments:nt(j(),Ct()).optional()}),GC=Bn.extend({method:W("tools/call"),params:zj}),B_=hi.extend({method:W("notifications/tools/list_changed"),params:ci.optional()}),Hj=Z({autoRefresh:tt().default(!0),debounceMs:ze().int().nonnegative().default(300)}),KC=Vs(["debug","info","notice","warning","error","critical","alert","emergency"]),Bj=Ws.extend({level:KC}),qj=Bn.extend({method:W("logging/setLevel"),params:Bj}),Uj=ci.extend({level:KC,logger:j().optional(),data:Ct()}),ZC=hi.extend({method:W("notifications/message"),params:Uj}),Vj=Z({name:j().optional()}),Wj=Z({hints:le(Vj).optional(),costPriority:ze().min(0).max(1).optional(),speedPriority:ze().min(0).max(1).optional(),intelligencePriority:ze().min(0).max(1).optional()}),Gj=Z({mode:Vs(["auto","required","none"]).optional()}),Kj=Z({type:W("tool_result"),toolUseId:j().describe("The unique identifier for the corresponding tool call."),content:le(dp).default([]),structuredContent:Z({}).loose().optional(),isError:tt().optional(),_meta:nt(j(),Ct()).optional()}),Zj=AC("type",[L_,D_,F_]),yg=AC("type",[L_,D_,F_,Nj,Kj]),Xj=Z({role:up,content:Je([yg,le(yg)]),_meta:nt(j(),Ct()).optional()}),Yj=rp.extend({messages:le(Xj),modelPreferences:Wj.optional(),systemPrompt:j().optional(),includeContext:Vs(["none","thisServer","allServers"]).optional(),temperature:ze().optional(),maxTokens:ze().int(),stopSequences:le(j()).optional(),metadata:mn.optional(),tools:le(z_).optional(),toolChoice:Gj.optional()}),q_=Bn.extend({method:W("sampling/createMessage"),params:Yj}),XC=qn.extend({model:j(),stopReason:qt(Vs(["endTurn","stopSequence","maxTokens"]).or(j())),role:up,content:Zj}),YC=qn.extend({model:j(),stopReason:qt(Vs(["endTurn","stopSequence","maxTokens","toolUse"]).or(j())),role:up,content:Je([yg,le(yg)])}),Jj=Z({type:W("boolean"),title:j().optional(),description:j().optional(),default:tt().optional()}),Qj=Z({type:W("string"),title:j().optional(),description:j().optional(),minLength:ze().optional(),maxLength:ze().optional(),format:Vs(["email","uri","date","date-time"]).optional(),default:j().optional()}),ez=Z({type:Vs(["number","integer"]),title:j().optional(),description:j().optional(),minimum:ze().optional(),maximum:ze().optional(),default:ze().optional()}),tz=Z({type:W("string"),title:j().optional(),description:j().optional(),enum:le(j()),default:j().optional()}),nz=Z({type:W("string"),title:j().optional(),description:j().optional(),oneOf:le(Z({const:j(),title:j()})),default:j().optional()}),sz=Z({type:W("string"),title:j().optional(),description:j().optional(),enum:le(j()),enumNames:le(j()).optional(),default:j().optional()}),iz=Je([tz,nz]),rz=Z({type:W("array"),title:j().optional(),description:j().optional(),minItems:ze().optional(),maxItems:ze().optional(),items:Z({type:W("string"),enum:le(j())}),default:le(j()).optional()}),oz=Z({type:W("array"),title:j().optional(),description:j().optional(),minItems:ze().optional(),maxItems:ze().optional(),items:Z({anyOf:le(Z({const:j(),title:j()}))}),default:le(j()).optional()}),az=Je([rz,oz]),lz=Je([sz,iz,az]),cz=Je([lz,Jj,Qj,ez]),hz=rp.extend({mode:W("form").optional(),message:j(),requestedSchema:Z({type:W("object"),properties:nt(j(),cz),required:le(j()).optional()})}),uz=rp.extend({mode:W("url"),message:j(),elicitationId:j(),url:j().url()}),dz=Je([hz,uz]),JC=Bn.extend({method:W("elicitation/create"),params:dz}),fz=ci.extend({elicitationId:j()}),pz=hi.extend({method:W("notifications/elicitation/complete"),params:fz}),QC=qn.extend({action:Vs(["accept","decline","cancel"]),content:TC(n=>n===null?void 0:n,nt(j(),Je([j(),ze(),tt(),le(j())])).optional())}),mz=Z({type:W("ref/resource"),uri:j()}),gz=Z({type:W("ref/prompt"),name:j()}),yz=Ws.extend({ref:Je([gz,mz]),argument:Z({name:j(),value:j()}),context:Z({arguments:nt(j(),j()).optional()}).optional()}),vz=Bn.extend({method:W("completion/complete"),params:yz}),e$=qn.extend({completion:jn({values:le(j()).max(100),total:qt(ze().int()),hasMore:qt(tt())})}),bz=Z({uri:j().startsWith("file://"),name:j().optional(),_meta:nt(j(),Ct()).optional()}),wz=Bn.extend({method:W("roots/list"),params:Ws.optional()}),_z=qn.extend({roots:le(bz)}),Sz=hi.extend({method:W("notifications/roots/list_changed"),params:ci.optional()});Je([Iy,pj,vz,qj,Oj,qC,zC,HC,BC,Ej,$j,GC,jj,k_,x_,E_,$_]);Je([__,S_,NC,Sz,gg]);Je([Mc,XC,YC,QC,_z,A_,C_,Ed]);Je([Iy,q_,JC,wz,k_,x_,E_,$_]);Je([__,S_,ZC,Pj,O_,B_,j_,gg,pz]);Je([Mc,OC,e$,WC,N_,P_,R_,I_,Vl,H_,A_,C_,Ed]);class Pe extends Error{constructor(e,t,s){super(`MCP error ${e}: ${t}`),this.code=e,this.data=s,this.name="McpError"}static fromError(e,t,s){if(e===Ie.UrlElicitationRequired&&s){const i=s;if(i.elicitations)return new kz(i.elicitations,t)}return new Pe(e,t,s)}}class kz extends Pe{constructor(e,t=`URL elicitation${e.length>1?"s":""} required`){super(Ie.UrlElicitationRequired,t,{elicitations:e})}get elicitations(){var e;return((e=this.data)==null?void 0:e.elicitations)??[]}}function U_(n){return!!n._zod}function vo(n,e){return U_(n)?rC(n,e):n.safeParse(e)}function t$(n){var t,s;if(!n)return;let e;if(U_(n)?e=(s=(t=n._zod)==null?void 0:t.def)==null?void 0:s.shape:e=n.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function n$(n){var i;if(U_(n)){const o=(i=n._zod)==null?void 0:i.def;if(o){if(o.value!==void 0)return o.value;if(Array.isArray(o.values)&&o.values.length>0)return o.values[0]}}const t=n._def;if(t){if(t.value!==void 0)return t.value;if(Array.isArray(t.values)&&t.values.length>0)return t.values[0]}const s=n.value;if(s!==void 0)return s}function ka(n){return n==="completed"||n==="failed"||n==="cancelled"}new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Hk(n){const e=t$(n),t=e==null?void 0:e.method;if(!t)throw new Error("Schema is missing a method literal");const s=n$(t);if(typeof s!="string")throw new Error("Schema method literal must be a string");return s}function Bk(n,e){const t=vo(n,e);if(!t.success)throw t.error;return t.data}const Az=6e4;class s${constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(__,t=>{this._oncancel(t)}),this.setNotificationHandler(S_,t=>{this._onprogress(t)}),this.setRequestHandler(Iy,t=>({})),this._taskStore=e==null?void 0:e.taskStore,this._taskMessageQueue=e==null?void 0:e.taskMessageQueue,this._taskStore&&(this.setRequestHandler(k_,async(t,s)=>{const i=await this._taskStore.getTask(t.params.taskId,s.sessionId);if(!i)throw new Pe(Ie.InvalidParams,"Failed to retrieve task: Task not found");return{...i}}),this.setRequestHandler(x_,async(t,s)=>{const i=async()=>{var a;const r=t.params.taskId;if(this._taskMessageQueue){let l;for(;l=await this._taskMessageQueue.dequeue(r,s.sessionId);){if(l.type==="response"||l.type==="error"){const c=l.message,h=c.id,u=this._requestResolvers.get(h);if(u)if(this._requestResolvers.delete(h),l.type==="response")u(c);else{const d=c,p=new Pe(d.error.code,d.error.message,d.error.data);u(p)}else{const d=l.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${h}`))}continue}await((a=this._transport)==null?void 0:a.send(l.message,{relatedRequestId:s.requestId}))}}const o=await this._taskStore.getTask(r,s.sessionId);if(!o)throw new Pe(Ie.InvalidParams,`Task not found: ${r}`);if(!ka(o.status))return await this._waitForTaskUpdate(r,s.signal),await i();if(ka(o.status)){const l=await this._taskStore.getTaskResult(r,s.sessionId);return this._clearTaskQueue(r),{...l,_meta:{...l._meta,[Ra]:{taskId:r}}}}return await i()};return await i()}),this.setRequestHandler(E_,async(t,s)=>{var i;try{const{tasks:r,nextCursor:o}=await this._taskStore.listTasks((i=t.params)==null?void 0:i.cursor,s.sessionId);return{tasks:r,nextCursor:o,_meta:{}}}catch(r){throw new Pe(Ie.InvalidParams,`Failed to list tasks: ${r instanceof Error?r.message:String(r)}`)}}),this.setRequestHandler($_,async(t,s)=>{try{const i=await this._taskStore.getTask(t.params.taskId,s.sessionId);if(!i)throw new Pe(Ie.InvalidParams,`Task not found: ${t.params.taskId}`);if(ka(i.status))throw new Pe(Ie.InvalidParams,`Cannot cancel task in terminal status: ${i.status}`);await this._taskStore.updateTaskStatus(t.params.taskId,"cancelled","Client cancelled task execution.",s.sessionId),this._clearTaskQueue(t.params.taskId);const r=await this._taskStore.getTask(t.params.taskId,s.sessionId);if(!r)throw new Pe(Ie.InvalidParams,`Task not found after cancellation: ${t.params.taskId}`);return{_meta:{},...r}}catch(i){throw i instanceof Pe?i:new Pe(Ie.InvalidRequest,`Failed to cancel task: ${i instanceof Error?i.message:String(i)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;const t=this._requestHandlerAbortControllers.get(e.params.requestId);t==null||t.abort(e.params.reason)}_setupTimeout(e,t,s,i,r=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(i,t),startTime:Date.now(),timeout:t,maxTotalTimeout:s,resetTimeoutOnProgress:r,onTimeout:i})}_resetTimeout(e){const t=this._timeoutInfo.get(e);if(!t)return!1;const s=Date.now()-t.startTime;if(t.maxTotalTimeout&&s>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),Pe.fromError(Ie.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:s});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){const t=this._timeoutInfo.get(e);t&&(clearTimeout(t.timeoutId),this._timeoutInfo.delete(e))}async connect(e){var r,o,a;if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=e;const t=(r=this.transport)==null?void 0:r.onclose;this._transport.onclose=()=>{t==null||t(),this._onclose()};const s=(o=this.transport)==null?void 0:o.onerror;this._transport.onerror=l=>{s==null||s(l),this._onerror(l)};const i=(a=this._transport)==null?void 0:a.onmessage;this._transport.onmessage=(l,c)=>{i==null||i(l,c),Lu(l)||rj(l)?this._onresponse(l):yv(l)?this._onrequest(l,c):ij(l)?this._onnotification(l):this._onerror(new Error(`Unknown message type: ${JSON.stringify(l)}`))},await this._transport.start()}_onclose(){var s;const e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(const i of this._timeoutInfo.values())clearTimeout(i.timeoutId);this._timeoutInfo.clear();for(const i of this._requestHandlerAbortControllers.values())i.abort();this._requestHandlerAbortControllers.clear();const t=Pe.fromError(Ie.ConnectionClosed,"Connection closed");this._transport=void 0,(s=this.onclose)==null||s.call(this);for(const i of e.values())i(t)}_onerror(e){var t;(t=this.onerror)==null||t.call(this,e)}_onnotification(e){const t=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;t!==void 0&&Promise.resolve().then(()=>t(e)).catch(s=>this._onerror(new Error(`Uncaught error in notification handler: ${s}`)))}_onrequest(e,t){var h,u,d,p;const s=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,i=this._transport,r=(d=(u=(h=e.params)==null?void 0:h._meta)==null?void 0:u[Ra])==null?void 0:d.taskId;if(s===void 0){const m={jsonrpc:"2.0",id:e.id,error:{code:Ie.MethodNotFound,message:"Method not found"}};r&&this._taskMessageQueue?this._enqueueTaskMessage(r,{type:"error",message:m,timestamp:Date.now()},i==null?void 0:i.sessionId).catch(g=>this._onerror(new Error(`Failed to enqueue error response: ${g}`))):i==null||i.send(m).catch(g=>this._onerror(new Error(`Failed to send an error response: ${g}`)));return}const o=new AbortController;this._requestHandlerAbortControllers.set(e.id,o);const a=sj(e.params)?e.params.task:void 0,l=this._taskStore?this.requestTaskStore(e,i==null?void 0:i.sessionId):void 0,c={signal:o.signal,sessionId:i==null?void 0:i.sessionId,_meta:(p=e.params)==null?void 0:p._meta,sendNotification:async m=>{if(o.signal.aborted)return;const g={relatedRequestId:e.id};r&&(g.relatedTask={taskId:r}),await this.notification(m,g)},sendRequest:async(m,g,v)=>{var _;if(o.signal.aborted)throw new Pe(Ie.ConnectionClosed,"Request was cancelled");const y={...v,relatedRequestId:e.id};r&&!y.relatedTask&&(y.relatedTask={taskId:r});const b=((_=y.relatedTask)==null?void 0:_.taskId)??r;return b&&l&&await l.updateTaskStatus(b,"input_required"),await this.request(m,g,y)},authInfo:t==null?void 0:t.authInfo,requestId:e.id,requestInfo:t==null?void 0:t.requestInfo,taskId:r,taskStore:l,taskRequestedTtl:a==null?void 0:a.ttl,closeSSEStream:t==null?void 0:t.closeSSEStream,closeStandaloneSSEStream:t==null?void 0:t.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(e.method)}).then(()=>s(e,c)).then(async m=>{if(o.signal.aborted)return;const g={result:m,jsonrpc:"2.0",id:e.id};r&&this._taskMessageQueue?await this._enqueueTaskMessage(r,{type:"response",message:g,timestamp:Date.now()},i==null?void 0:i.sessionId):await(i==null?void 0:i.send(g))},async m=>{if(o.signal.aborted)return;const g={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(m.code)?m.code:Ie.InternalError,message:m.message??"Internal error",...m.data!==void 0&&{data:m.data}}};r&&this._taskMessageQueue?await this._enqueueTaskMessage(r,{type:"error",message:g,timestamp:Date.now()},i==null?void 0:i.sessionId):await(i==null?void 0:i.send(g))}).catch(m=>this._onerror(new Error(`Failed to send response: ${m}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===o&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){const{progressToken:t,...s}=e.params,i=Number(t),r=this._progressHandlers.get(i);if(!r){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}const o=this._responseHandlers.get(i),a=this._timeoutInfo.get(i);if(a&&o&&a.resetTimeoutOnProgress)try{this._resetTimeout(i)}catch(l){this._responseHandlers.delete(i),this._progressHandlers.delete(i),this._cleanupTimeout(i),o(l);return}r(s)}_onresponse(e){const t=Number(e.id),s=this._requestResolvers.get(t);if(s){if(this._requestResolvers.delete(t),Lu(e))s(e);else{const o=new Pe(e.error.code,e.error.message,e.error.data);s(o)}return}const i=this._responseHandlers.get(t);if(i===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(t),this._cleanupTimeout(t);let r=!1;if(Lu(e)&&e.result&&typeof e.result=="object"){const o=e.result;if(o.task&&typeof o.task=="object"){const a=o.task;typeof a.taskId=="string"&&(r=!0,this._taskProgressTokens.set(a.taskId,t))}}if(r||this._progressHandlers.delete(t),Lu(e))i(e);else{const o=Pe.fromError(e.error.code,e.error.message,e.error.data);i(o)}}get transport(){return this._transport}async close(){var e;await((e=this._transport)==null?void 0:e.close())}async*requestStream(e,t,s){var o,a;const{task:i}=s??{};if(!i){try{yield{type:"result",result:await this.request(e,t,s)}}catch(l){yield{type:"error",error:l instanceof Pe?l:new Pe(Ie.InternalError,String(l))}}return}let r;try{const l=await this.request(e,Ed,s);if(l.task)r=l.task.taskId,yield{type:"taskCreated",task:l.task};else throw new Pe(Ie.InternalError,"Task creation did not return a task");for(;;){const c=await this.getTask({taskId:r},s);if(yield{type:"taskStatus",task:c},ka(c.status)){c.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:r},t,s)}:c.status==="failed"?yield{type:"error",error:new Pe(Ie.InternalError,`Task ${r} failed`)}:c.status==="cancelled"&&(yield{type:"error",error:new Pe(Ie.InternalError,`Task ${r} was cancelled`)});return}if(c.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:r},t,s)};return}const h=c.pollInterval??((o=this._options)==null?void 0:o.defaultTaskPollInterval)??1e3;await new Promise(u=>setTimeout(u,h)),(a=s==null?void 0:s.signal)==null||a.throwIfAborted()}}catch(l){yield{type:"error",error:l instanceof Pe?l:new Pe(Ie.InternalError,String(l))}}}request(e,t,s){const{relatedRequestId:i,resumptionToken:r,onresumptiontoken:o,task:a,relatedTask:l}=s??{};return new Promise((c,h)=>{var b,_,S,A,E;const u=$=>{h($)};if(!this._transport){u(new Error("Not connected"));return}if(((b=this._options)==null?void 0:b.enforceStrictCapabilities)===!0)try{this.assertCapabilityForMethod(e.method),a&&this.assertTaskCapability(e.method)}catch($){u($);return}(_=s==null?void 0:s.signal)==null||_.throwIfAborted();const d=this._requestMessageId++,p={...e,jsonrpc:"2.0",id:d};s!=null&&s.onprogress&&(this._progressHandlers.set(d,s.onprogress),p.params={...e.params,_meta:{...((S=e.params)==null?void 0:S._meta)||{},progressToken:d}}),a&&(p.params={...p.params,task:a}),l&&(p.params={...p.params,_meta:{...((A=p.params)==null?void 0:A._meta)||{},[Ra]:l}});const m=$=>{var F;this._responseHandlers.delete(d),this._progressHandlers.delete(d),this._cleanupTimeout(d),(F=this._transport)==null||F.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:d,reason:String($)}},{relatedRequestId:i,resumptionToken:r,onresumptiontoken:o}).catch(q=>this._onerror(new Error(`Failed to send cancellation: ${q}`)));const O=$ instanceof Pe?$:new Pe(Ie.RequestTimeout,String($));h(O)};this._responseHandlers.set(d,$=>{var O;if(!((O=s==null?void 0:s.signal)!=null&&O.aborted)){if($ instanceof Error)return h($);try{const F=vo(t,$.result);F.success?c(F.data):h(F.error)}catch(F){h(F)}}}),(E=s==null?void 0:s.signal)==null||E.addEventListener("abort",()=>{var $;m(($=s==null?void 0:s.signal)==null?void 0:$.reason)});const g=(s==null?void 0:s.timeout)??Az,v=()=>m(Pe.fromError(Ie.RequestTimeout,"Request timed out",{timeout:g}));this._setupTimeout(d,g,s==null?void 0:s.maxTotalTimeout,v,(s==null?void 0:s.resetTimeoutOnProgress)??!1);const y=l==null?void 0:l.taskId;if(y){const $=O=>{const F=this._responseHandlers.get(d);F?F(O):this._onerror(new Error(`Response handler missing for side-channeled request ${d}`))};this._requestResolvers.set(d,$),this._enqueueTaskMessage(y,{type:"request",message:p,timestamp:Date.now()}).catch(O=>{this._cleanupTimeout(d),h(O)})}else this._transport.send(p,{relatedRequestId:i,resumptionToken:r,onresumptiontoken:o}).catch($=>{this._cleanupTimeout(d),h($)})})}async getTask(e,t){return this.request({method:"tasks/get",params:e},A_,t)}async getTaskResult(e,t,s){return this.request({method:"tasks/result",params:e},t,s)}async listTasks(e,t){return this.request({method:"tasks/list",params:e},C_,t)}async cancelTask(e,t){return this.request({method:"tasks/cancel",params:e},Sj,t)}async notification(e,t){var a,l,c,h;if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);const s=(a=t==null?void 0:t.relatedTask)==null?void 0:a.taskId;if(s){const u={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...((l=e.params)==null?void 0:l._meta)||{},[Ra]:t.relatedTask}}};await this._enqueueTaskMessage(s,{type:"notification",message:u,timestamp:Date.now()});return}if((((c=this._options)==null?void 0:c.debouncedNotificationMethods)??[]).includes(e.method)&&!e.params&&!(t!=null&&t.relatedRequestId)&&!(t!=null&&t.relatedTask)){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{var d,p;if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let u={...e,jsonrpc:"2.0"};t!=null&&t.relatedTask&&(u={...u,params:{...u.params,_meta:{...((d=u.params)==null?void 0:d._meta)||{},[Ra]:t.relatedTask}}}),(p=this._transport)==null||p.send(u,t).catch(m=>this._onerror(m))});return}let o={...e,jsonrpc:"2.0"};t!=null&&t.relatedTask&&(o={...o,params:{...o.params,_meta:{...((h=o.params)==null?void 0:h._meta)||{},[Ra]:t.relatedTask}}}),await this._transport.send(o,t)}setRequestHandler(e,t){const s=Hk(e);this.assertRequestHandlerCapability(s),this._requestHandlers.set(s,(i,r)=>{const o=Bk(e,i);return Promise.resolve(t(o,r))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t){const s=Hk(e);this._notificationHandlers.set(s,i=>{const r=Bk(e,i);return Promise.resolve(t(r))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){const t=this._taskProgressTokens.get(e);t!==void 0&&(this._progressHandlers.delete(t),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,t,s){var r;if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");const i=(r=this._options)==null?void 0:r.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,t,s,i)}async _clearTaskQueue(e,t){if(this._taskMessageQueue){const s=await this._taskMessageQueue.dequeueAll(e,t);for(const i of s)if(i.type==="request"&&yv(i.message)){const r=i.message.id,o=this._requestResolvers.get(r);o?(o(new Pe(Ie.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(r)):this._onerror(new Error(`Resolver missing for request ${r} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,t){var i,r;let s=((i=this._options)==null?void 0:i.defaultTaskPollInterval)??1e3;try{const o=await((r=this._taskStore)==null?void 0:r.getTask(e));o!=null&&o.pollInterval&&(s=o.pollInterval)}catch{}return new Promise((o,a)=>{if(t.aborted){a(new Pe(Ie.InvalidRequest,"Request cancelled"));return}const l=setTimeout(o,s);t.addEventListener("abort",()=>{clearTimeout(l),a(new Pe(Ie.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,t){const s=this._taskStore;if(!s)throw new Error("No task store configured");return{createTask:async i=>{if(!e)throw new Error("No request provided");return await s.createTask(i,e.id,{method:e.method,params:e.params},t)},getTask:async i=>{const r=await s.getTask(i,t);if(!r)throw new Pe(Ie.InvalidParams,"Failed to retrieve task: Task not found");return r},storeTaskResult:async(i,r,o)=>{await s.storeTaskResult(i,r,o,t);const a=await s.getTask(i,t);if(a){const l=gg.parse({method:"notifications/tasks/status",params:a});await this.notification(l),ka(a.status)&&this._cleanupTaskProgressHandler(i)}},getTaskResult:i=>s.getTaskResult(i,t),updateTaskStatus:async(i,r,o)=>{const a=await s.getTask(i,t);if(!a)throw new Pe(Ie.InvalidParams,`Task "${i}" not found - it may have been cleaned up`);if(ka(a.status))throw new Pe(Ie.InvalidParams,`Cannot update task "${i}" from terminal status "${a.status}" to "${r}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await s.updateTaskStatus(i,r,o,t);const l=await s.getTask(i,t);if(l){const c=gg.parse({method:"notifications/tasks/status",params:l});await this.notification(c),ka(l.status)&&this._cleanupTaskProgressHandler(i)}},listTasks:i=>s.listTasks(i,t)}}}function qk(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function xz(n,e){const t={...n};for(const s in e){const i=s,r=e[i];if(r===void 0)continue;const o=t[i];qk(o)&&qk(r)?t[i]={...o,...r}:t[i]=r}return t}(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});class Ez extends s${constructor(){super(...arguments);he(this,"_registeredMethods",new Set);he(this,"_eventSlots",new Map);he(this,"setRequestHandler",(t,s)=>{this._assertMethodNotRegistered(t,"setRequestHandler"),super.setRequestHandler(t,s)});he(this,"setNotificationHandler",(t,s)=>{this._assertMethodNotRegistered(t,"setNotificationHandler"),super.setNotificationHandler(t,s)});he(this,"replaceRequestHandler",(t,s)=>{let i=t.shape.method.value;this._registeredMethods.add(i),super.setRequestHandler(t,s)})}onEventDispatch(t,s){}_ensureEventSlot(t){let s=this._eventSlots.get(t);if(!s){let i=this.eventSchemas[t];if(!i)throw Error(`Unknown event: ${String(t)}`);s={listeners:[]},this._eventSlots.set(t,s);let r=i.shape.method.value;this._registeredMethods.add(r);let o=s;super.setNotificationHandler(i,a=>{var c;let l=a.params;this.onEventDispatch(t,l),(c=o.onHandler)==null||c.call(o,l);for(let h of[...o.listeners])h(l)})}return s}setEventHandler(t,s){let i=this._ensureEventSlot(t);i.onHandler&&s&&console.warn(`[MCP Apps] on${String(t)} handler replaced. Use addEventListener("${String(t)}", …) to add multiple listeners without replacing.`),i.onHandler=s}getEventHandler(t){var s;return(s=this._eventSlots.get(t))==null?void 0:s.onHandler}addEventListener(t,s){this._ensureEventSlot(t).listeners.push(s)}removeEventListener(t,s){let i=this._eventSlots.get(t);if(!i)return;let r=i.listeners.indexOf(s);r!==-1&&i.listeners.splice(r,1)}warnIfRequestHandlerReplaced(t,s,i){s&&i&&console.warn(`[MCP Apps] ${t} handler replaced. Previous handler will no longer be called.`)}_assertMethodNotRegistered(t,s){let i=t.shape.method.value;if(this._registeredMethods.has(i))throw Error(`Handler for "${i}" already registered (via ${s}). Use addEventListener() to attach multiple listeners, or the on* setter for replace semantics.`);this._registeredMethods.add(i)}}var i$="2026-01-26",Cz="ui/notifications/tool-input-partial",$z=Je([W("light"),W("dark")]).describe("Color theme preference for the host environment."),Cd=Je([W("inline"),W("fullscreen"),W("pip")]).describe("Display mode for UI presentation."),Tz=Je([W("--color-background-primary"),W("--color-background-secondary"),W("--color-background-tertiary"),W("--color-background-inverse"),W("--color-background-ghost"),W("--color-background-info"),W("--color-background-danger"),W("--color-background-success"),W("--color-background-warning"),W("--color-background-disabled"),W("--color-text-primary"),W("--color-text-secondary"),W("--color-text-tertiary"),W("--color-text-inverse"),W("--color-text-ghost"),W("--color-text-info"),W("--color-text-danger"),W("--color-text-success"),W("--color-text-warning"),W("--color-text-disabled"),W("--color-border-primary"),W("--color-border-secondary"),W("--color-border-tertiary"),W("--color-border-inverse"),W("--color-border-ghost"),W("--color-border-info"),W("--color-border-danger"),W("--color-border-success"),W("--color-border-warning"),W("--color-border-disabled"),W("--color-ring-primary"),W("--color-ring-secondary"),W("--color-ring-inverse"),W("--color-ring-info"),W("--color-ring-danger"),W("--color-ring-success"),W("--color-ring-warning"),W("--font-sans"),W("--font-mono"),W("--font-weight-normal"),W("--font-weight-medium"),W("--font-weight-semibold"),W("--font-weight-bold"),W("--font-text-xs-size"),W("--font-text-sm-size"),W("--font-text-md-size"),W("--font-text-lg-size"),W("--font-heading-xs-size"),W("--font-heading-sm-size"),W("--font-heading-md-size"),W("--font-heading-lg-size"),W("--font-heading-xl-size"),W("--font-heading-2xl-size"),W("--font-heading-3xl-size"),W("--font-text-xs-line-height"),W("--font-text-sm-line-height"),W("--font-text-md-line-height"),W("--font-text-lg-line-height"),W("--font-heading-xs-line-height"),W("--font-heading-sm-line-height"),W("--font-heading-md-line-height"),W("--font-heading-lg-line-height"),W("--font-heading-xl-line-height"),W("--font-heading-2xl-line-height"),W("--font-heading-3xl-line-height"),W("--border-radius-xs"),W("--border-radius-sm"),W("--border-radius-md"),W("--border-radius-lg"),W("--border-radius-xl"),W("--border-radius-full"),W("--border-width-regular"),W("--shadow-hairline"),W("--shadow-sm"),W("--shadow-md"),W("--shadow-lg")]).describe("CSS variable keys available to MCP apps for theming."),Pz=nt(Tz.describe(`Style variables for theming MCP apps. + +Individual style keys are optional - hosts may provide any subset of these values. +Values are strings containing CSS values (colors, sizes, font stacks, etc.). + +Note: This type uses \`Record\` rather than \`Partial>\` +for compatibility with Zod schema generation. Both are functionally equivalent for validation.`),Je([j(),fv()]).describe(`Style variables for theming MCP apps. + +Individual style keys are optional - hosts may provide any subset of these values. +Values are strings containing CSS values (colors, sizes, font stacks, etc.). + +Note: This type uses \`Record\` rather than \`Partial>\` +for compatibility with Zod schema generation. Both are functionally equivalent for validation.`)).describe(`Style variables for theming MCP apps. + +Individual style keys are optional - hosts may provide any subset of these values. +Values are strings containing CSS values (colors, sizes, font stacks, etc.). + +Note: This type uses \`Record\` rather than \`Partial>\` +for compatibility with Zod schema generation. Both are functionally equivalent for validation.`),Rz=Z({method:W("ui/open-link"),params:Z({url:j().describe("URL to open in the host's browser")})});Z({isError:tt().optional().describe("True if the host failed to open the URL (e.g., due to security policy).")}).passthrough();Z({isError:tt().optional().describe("True if the download failed (e.g., user cancelled or host denied).")}).passthrough();Z({isError:tt().optional().describe("True if the host rejected or failed to deliver the message.")}).passthrough();var Mz=Z({method:W("ui/notifications/sandbox-proxy-ready"),params:Z({})}),V_=Z({connectDomains:le(j()).optional().describe(`Origins for network requests (fetch/XHR/WebSocket). + +- Maps to CSP \`connect-src\` directive +- Empty or omitted → no network connections (secure default)`),resourceDomains:le(j()).optional().describe("Origins for static resources (images, scripts, stylesheets, fonts, media).\n\n- Maps to CSP `img-src`, `script-src`, `style-src`, `font-src`, `media-src` directives\n- Wildcard subdomains supported: `https://*.example.com`\n- Empty or omitted → no network resources (secure default)"),frameDomains:le(j()).optional().describe("Origins for nested iframes.\n\n- Maps to CSP `frame-src` directive\n- Empty or omitted → no nested iframes allowed (`frame-src 'none'`)"),baseUriDomains:le(j()).optional().describe("Allowed base URIs for the document.\n\n- Maps to CSP `base-uri` directive\n- Empty or omitted → only same origin allowed (`base-uri 'self'`)")}),W_=Z({camera:Z({}).optional().describe("Request camera access.\n\nMaps to Permission Policy `camera` feature."),microphone:Z({}).optional().describe("Request microphone access.\n\nMaps to Permission Policy `microphone` feature."),geolocation:Z({}).optional().describe("Request geolocation access.\n\nMaps to Permission Policy `geolocation` feature."),clipboardWrite:Z({}).optional().describe("Request clipboard write access.\n\nMaps to Permission Policy `clipboard-write` feature.")}),Iz=Z({method:W("ui/notifications/size-changed"),params:Z({width:ze().optional().describe("New width in pixels."),height:ze().optional().describe("New height in pixels.")})});Z({method:W("ui/notifications/tool-input"),params:Z({arguments:nt(j(),Ct().describe("Complete tool call arguments as key-value pairs.")).optional().describe("Complete tool call arguments as key-value pairs.")})});Z({method:W("ui/notifications/tool-input-partial"),params:Z({arguments:nt(j(),Ct().describe("Partial tool call arguments (incomplete, may change).")).optional().describe("Partial tool call arguments (incomplete, may change).")})});Z({method:W("ui/notifications/tool-cancelled"),params:Z({reason:j().optional().describe('Optional reason for the cancellation (e.g., "user action", "timeout").')})});var Oz=Z({fonts:j().optional()}),Nz=Z({variables:Pz.optional().describe("CSS variables for theming the app."),css:Oz.optional().describe("CSS blocks that apps can inject.")});Z({method:W("ui/resource-teardown"),params:Z({})});var Lz=nt(j(),Ct()),Uk=Z({text:Z({}).optional().describe("Host supports text content blocks."),image:Z({}).optional().describe("Host supports image content blocks."),audio:Z({}).optional().describe("Host supports audio content blocks."),resource:Z({}).optional().describe("Host supports resource content blocks."),resourceLink:Z({}).optional().describe("Host supports resource link content blocks."),structuredContent:Z({}).optional().describe("Host supports structured content.")}),Dz=Z({method:W("ui/notifications/request-teardown"),params:Z({}).optional()}),Fz=Z({experimental:nt(j(),nt(j(),g_()).describe("Experimental features keyed by identifier.")).optional().describe("Experimental features keyed by identifier."),openLinks:Z({}).optional().describe("Host supports opening external URLs."),downloadFile:Z({}).optional().describe("Host supports file downloads via ui/download-file."),serverTools:Z({listChanged:tt().optional().describe("Host supports tools/list_changed notifications.")}).optional().describe("Host can proxy tool calls to the MCP server."),serverResources:Z({listChanged:tt().optional().describe("Host supports resources/list_changed notifications.")}).optional().describe("Host can proxy resource reads to the MCP server."),logging:Z({}).optional().describe("Host accepts log messages."),sandbox:Z({permissions:W_.optional().describe("Permissions granted by the host (camera, microphone, geolocation)."),csp:V_.optional().describe("CSP domains approved by the host.")}).optional().describe("Sandbox configuration applied by the host."),updateModelContext:Uk.optional().describe("Host accepts context updates (ui/update-model-context) to be included in the model's context for future turns."),message:Uk.optional().describe("Host supports receiving content messages (ui/message) from the view."),sampling:Z({tools:Z({}).optional().describe("Host supports tool use via `tools` and `toolChoice` parameters.")}).optional().describe("Host supports LLM sampling (sampling/createMessage) from the view.\nMirrors the MCP `ClientCapabilities.sampling` shape so hosts can pass it through.")}),jz=Z({experimental:nt(j(),nt(j(),g_()).describe("Experimental features keyed by identifier.")).optional().describe("Experimental features keyed by identifier."),tools:Z({listChanged:tt().optional().describe("App supports tools/list_changed notifications.")}).optional().describe("App exposes MCP-style tools that the host can call."),availableDisplayModes:le(Cd).optional().describe("Display modes the app supports.")}),zz=Z({method:W("ui/notifications/initialized"),params:Z({}).optional()});Z({csp:V_.optional().describe("Content Security Policy configuration for UI resources."),permissions:W_.optional().describe("Sandbox permissions requested by the UI resource."),domain:j().optional().describe(`Dedicated origin for view sandbox. + +Useful when views need stable, dedicated origins for OAuth callbacks, CORS policies, or API key allowlists. + +**Host-dependent:** The format and validation rules for this field are determined by each host. Servers MUST consult host-specific documentation for the expected domain format. Common patterns include: +- Hash-based subdomains (e.g., \`{hash}.claudemcpcontent.com\`) +- URL-derived subdomains (e.g., \`www-example-com.oaiusercontent.com\`) + +If omitted, host uses default sandbox origin (typically per-conversation).`),prefersBorder:tt().optional().describe(`Visual boundary preference - true if view prefers a visible border. + +Boolean requesting whether a visible border and background is provided by the host. Specifying an explicit value for this is recommended because hosts' defaults may vary. + +- \`true\`: request visible border + background +- \`false\`: request no visible border + background +- omitted: host decides border`)});var Vk=Z({method:W("ui/request-display-mode"),params:Z({mode:Cd.describe("The display mode being requested.")})});Z({mode:Cd.describe("The display mode that was actually set. May differ from requested if not supported.")}).passthrough();var Hz=Je([W("model"),W("app")]).describe("Tool visibility scope - who can access the tool.");Z({resourceUri:j().optional(),visibility:le(Hz).optional().describe(`Who can access this tool. Default: ["model", "app"] +- "model": Tool visible to and callable by the agent +- "app": Tool callable by the app from this server only`),csp:pv().optional(),permissions:pv().optional()});Z({mimeTypes:le(j()).optional().describe('Array of supported MIME types for UI resources.\nMust include `"text/html;profile=mcp-app"` for MCP Apps support.')});var Bz=Z({method:W("ui/download-file"),params:Z({contents:le(Je([UC,VC])).describe("Resource contents to download — embedded (inline data) or linked (host fetches). Uses standard MCP resource types.")})}),qz=Z({method:W("ui/message"),params:Z({role:W("user").describe('Message role, currently only "user" is supported.'),content:le(dp).describe("Message content blocks (text, image, etc.).")})});Z({method:W("ui/notifications/sandbox-resource-ready"),params:Z({html:j().describe("HTML content to load into the inner iframe."),sandbox:j().optional().describe("Optional override for the inner iframe's sandbox attribute."),csp:V_.optional().describe("CSP configuration from resource metadata."),permissions:W_.optional().describe("Sandbox permissions from resource metadata.")})});Z({method:W("ui/notifications/tool-result"),params:Vl.describe("Standard MCP tool execution result.")});var r$=Z({toolInfo:Z({id:op.optional().describe("JSON-RPC id of the tools/call request."),tool:z_.describe("Tool definition including name, inputSchema, etc.")}).optional().describe("Metadata of the tool call that instantiated this App."),theme:$z.optional().describe("Current color theme preference."),styles:Nz.optional().describe("Style configuration for theming the app."),displayMode:Cd.optional().describe("How the UI is currently displayed."),availableDisplayModes:le(Cd).optional().describe("Display modes the host supports."),containerDimensions:Je([Z({height:ze().describe("Fixed container height in pixels.")}),Z({maxHeight:Je([ze(),fv()]).optional().describe("Maximum container height in pixels.")})]).and(Je([Z({width:ze().describe("Fixed container width in pixels.")}),Z({maxWidth:Je([ze(),fv()]).optional().describe("Maximum container width in pixels.")})])).optional().describe(`Container dimensions. Represents the dimensions of the iframe or other +container holding the app. Specify either width or maxWidth, and either height or maxHeight.`),locale:j().optional().describe("User's language and region preference in BCP 47 format."),timeZone:j().optional().describe("User's timezone in IANA format."),userAgent:j().optional().describe("Host application identifier."),platform:Je([W("web"),W("desktop"),W("mobile")]).optional().describe("Platform type for responsive design decisions."),deviceCapabilities:Z({touch:tt().optional().describe("Whether the device supports touch input."),hover:tt().optional().describe("Whether the device supports hover interactions.")}).optional().describe("Device input capabilities."),safeAreaInsets:Z({top:ze().describe("Top safe area inset in pixels."),right:ze().describe("Right safe area inset in pixels."),bottom:ze().describe("Bottom safe area inset in pixels."),left:ze().describe("Left safe area inset in pixels.")}).optional().describe("Mobile safe area boundaries in pixels.")}).passthrough();Z({method:W("ui/notifications/host-context-changed"),params:r$.describe("Partial context update containing only changed fields.")});var Uz=Z({method:W("ui/update-model-context"),params:Z({content:le(dp).optional().describe("Context content blocks (text, image, etc.)."),structuredContent:nt(j(),Ct().describe("Structured content for machine-readable context data.")).optional().describe("Structured content for machine-readable context data.")})}),Vz=Z({method:W("ui/initialize"),params:Z({appInfo:My.describe("App identification (name and version)."),appCapabilities:jz.describe("Features and capabilities this app provides."),protocolVersion:j().describe("Protocol version this app supports.")})});Z({protocolVersion:j().describe('Negotiated protocol version string (e.g., "2025-11-21").'),hostInfo:My.describe("Host application identification and version."),hostCapabilities:Fz.describe("Features and capabilities provided by the host."),hostContext:r$.describe("Rich context about the host environment.")}).passthrough();class Wz{constructor(e=window.parent,t){he(this,"eventTarget");he(this,"eventSource");he(this,"messageListener");he(this,"onclose");he(this,"onerror");he(this,"onmessage");he(this,"sessionId");he(this,"setProtocolVersion");this.eventTarget=e,this.eventSource=t,this.messageListener=s=>{var r,o,a;if(t&&s.source!==this.eventSource){console.debug("Ignoring message from unknown source",s);return}let i=bm.safeParse(s.data);i.success?(console.debug("Parsed message",i.data),(r=this.onmessage)==null||r.call(this,i.data)):((o=s.data)==null?void 0:o.jsonrpc)!=="2.0"?console.debug("Ignoring non-JSON-RPC message",i.error.message,s):(console.error("Failed to parse message",i.error.message,s),(a=this.onerror)==null||a.call(this,Error("Invalid JSON-RPC message received: "+i.error.message)))}}async start(){window.addEventListener("message",this.messageListener)}async send(e,t){e.method!==Cz&&console.debug("Sending message",e),this.eventTarget.postMessage(e,"*")}async close(){var e;window.removeEventListener("message",this.messageListener),(e=this.onclose)==null||e.call(this)}}var Gz=[i$];class Kz extends Ez{constructor(t,s,i,r){super(r);he(this,"_client");he(this,"_hostInfo");he(this,"_capabilities");he(this,"_appCapabilities");he(this,"_hostContext",{});he(this,"_appInfo");he(this,"_initializedReceived",!1);he(this,"_baseReplaceRequestHandler",this.replaceRequestHandler);he(this,"replaceRequestHandler",(t,s)=>{this._baseReplaceRequestHandler(t,(i,r)=>(this._initializedReceived||console.warn(`[ext-apps] AppBridge received '${i.method}' before ui/notifications/initialized. The View is calling host methods before completing the handshake; it should await app.connect() first.`),s(i,r)))});he(this,"eventSchemas",{sizechange:Iz,sandboxready:Mz,initialized:zz,requestteardown:Dz,loggingmessage:ZC});he(this,"onping");he(this,"_onmessage");he(this,"_onopenlink");he(this,"_ondownloadfile");he(this,"_onrequestdisplaymode");he(this,"_onupdatemodelcontext");he(this,"_oncalltool");he(this,"_onlistresources");he(this,"_onlistresourcetemplates");he(this,"_onreadresource");he(this,"_onlistprompts");he(this,"sendResourceTeardown",this.teardownResource);this._client=t,this._hostInfo=s,this._capabilities=i,this.addEventListener("initialized",()=>{this._initializedReceived=!0}),this._hostContext=(r==null?void 0:r.hostContext)||{},this.setRequestHandler(Vz,o=>this._oninitialize(o)),this.setRequestHandler(Iy,(o,a)=>{var l;return(l=this.onping)==null||l.call(this,o.params,a),{}}),this.replaceRequestHandler(Vk,o=>({mode:this._hostContext.displayMode??"inline"}))}getAppCapabilities(){return this._appCapabilities}getAppVersion(){return this._appInfo}get onsizechange(){return this.getEventHandler("sizechange")}set onsizechange(t){this.setEventHandler("sizechange",t)}get onsandboxready(){return this.getEventHandler("sandboxready")}set onsandboxready(t){this.setEventHandler("sandboxready",t)}get oninitialized(){return this.getEventHandler("initialized")}set oninitialized(t){this.setEventHandler("initialized",t)}get onmessage(){return this._onmessage}set onmessage(t){this.warnIfRequestHandlerReplaced("onmessage",this._onmessage,t),this._onmessage=t,this.replaceRequestHandler(qz,async(s,i)=>{if(!this._onmessage)throw Error("No onmessage handler set");return this._onmessage(s.params,i)})}get onopenlink(){return this._onopenlink}set onopenlink(t){this.warnIfRequestHandlerReplaced("onopenlink",this._onopenlink,t),this._onopenlink=t,this.replaceRequestHandler(Rz,async(s,i)=>{if(!this._onopenlink)throw Error("No onopenlink handler set");return this._onopenlink(s.params,i)})}get ondownloadfile(){return this._ondownloadfile}set ondownloadfile(t){this.warnIfRequestHandlerReplaced("ondownloadfile",this._ondownloadfile,t),this._ondownloadfile=t,this.replaceRequestHandler(Bz,async(s,i)=>{if(!this._ondownloadfile)throw Error("No ondownloadfile handler set");return this._ondownloadfile(s.params,i)})}get onrequestteardown(){return this.getEventHandler("requestteardown")}set onrequestteardown(t){this.setEventHandler("requestteardown",t)}get onrequestdisplaymode(){return this._onrequestdisplaymode}set onrequestdisplaymode(t){this.warnIfRequestHandlerReplaced("onrequestdisplaymode",this._onrequestdisplaymode,t),this._onrequestdisplaymode=t,this.replaceRequestHandler(Vk,async(s,i)=>{if(!this._onrequestdisplaymode)throw Error("No onrequestdisplaymode handler set");return this._onrequestdisplaymode(s.params,i)})}get onloggingmessage(){return this.getEventHandler("loggingmessage")}set onloggingmessage(t){this.setEventHandler("loggingmessage",t)}get onupdatemodelcontext(){return this._onupdatemodelcontext}set onupdatemodelcontext(t){this.warnIfRequestHandlerReplaced("onupdatemodelcontext",this._onupdatemodelcontext,t),this._onupdatemodelcontext=t,this.replaceRequestHandler(Uz,async(s,i)=>{if(!this._onupdatemodelcontext)throw Error("No onupdatemodelcontext handler set");return this._onupdatemodelcontext(s.params,i)})}get oncalltool(){return this._oncalltool}set oncalltool(t){this.warnIfRequestHandlerReplaced("oncalltool",this._oncalltool,t),this._oncalltool=t,this.replaceRequestHandler(GC,async(s,i)=>{if(!this._oncalltool)throw Error("No oncalltool handler set");return this._oncalltool(s.params,i)})}set oncreatesamplingmessage(t){this.setRequestHandler(q_,async(s,i)=>t(s.params,i))}sendToolListChanged(t={}){return this.notification({method:"notifications/tools/list_changed",params:t})}get onlistresources(){return this._onlistresources}set onlistresources(t){this.warnIfRequestHandlerReplaced("onlistresources",this._onlistresources,t),this._onlistresources=t,this.replaceRequestHandler(zC,async(s,i)=>{if(!this._onlistresources)throw Error("No onlistresources handler set");return this._onlistresources(s.params,i)})}get onlistresourcetemplates(){return this._onlistresourcetemplates}set onlistresourcetemplates(t){this.warnIfRequestHandlerReplaced("onlistresourcetemplates",this._onlistresourcetemplates,t),this._onlistresourcetemplates=t,this.replaceRequestHandler(HC,async(s,i)=>{if(!this._onlistresourcetemplates)throw Error("No onlistresourcetemplates handler set");return this._onlistresourcetemplates(s.params,i)})}get onreadresource(){return this._onreadresource}set onreadresource(t){this.warnIfRequestHandlerReplaced("onreadresource",this._onreadresource,t),this._onreadresource=t,this.replaceRequestHandler(BC,async(s,i)=>{if(!this._onreadresource)throw Error("No onreadresource handler set");return this._onreadresource(s.params,i)})}sendResourceListChanged(t={}){return this.notification({method:"notifications/resources/list_changed",params:t})}get onlistprompts(){return this._onlistprompts}set onlistprompts(t){this.warnIfRequestHandlerReplaced("onlistprompts",this._onlistprompts,t),this._onlistprompts=t,this.replaceRequestHandler(qC,async(s,i)=>{if(!this._onlistprompts)throw Error("No onlistprompts handler set");return this._onlistprompts(s.params,i)})}sendPromptListChanged(t={}){return this.notification({method:"notifications/prompts/list_changed",params:t})}assertCapabilityForMethod(t){}assertRequestHandlerCapability(t){}assertNotificationCapability(t){}assertTaskCapability(t){throw Error("Tasks are not supported in MCP Apps")}assertTaskHandlerCapability(t){throw Error("Task handlers are not supported in MCP Apps")}getCapabilities(){return this._capabilities}async _oninitialize(t){let s=t.params.protocolVersion;return this._appInfo!==void 0&&console.warn("[ext-apps] AppBridge received a second ui/initialize. The View may be double-mounting (e.g. React StrictMode in dev) without closing the previous App instance. Responding normally; the latest appInfo/appCapabilities replace the previous values."),this._appCapabilities=t.params.appCapabilities,this._appInfo=t.params.appInfo,{protocolVersion:Gz.includes(s)?s:i$,hostCapabilities:this.getCapabilities(),hostInfo:this._hostInfo,hostContext:this._hostContext}}setHostContext(t){let s={},i=!1;for(let r of Object.keys(t)){let o=this._hostContext[r],a=t[r];Zz(o,a)||(s[r]=a,i=!0)}i&&(this._hostContext=t,this.sendHostContextChange(s))}sendHostContextChange(t){return this.notification({method:"ui/notifications/host-context-changed",params:t})}sendToolInput(t){return this.notification({method:"ui/notifications/tool-input",params:t})}sendToolInputPartial(t){return this.notification({method:"ui/notifications/tool-input-partial",params:t})}sendToolResult(t){return this.notification({method:"ui/notifications/tool-result",params:t})}sendToolCancelled(t){return this.notification({method:"ui/notifications/tool-cancelled",params:t})}sendSandboxResourceReady(t){return this.notification({method:"ui/notifications/sandbox-resource-ready",params:t})}teardownResource(t,s){return this.request({method:"ui/resource-teardown",params:t},Lz,s)}callTool(t,s){return this.request({method:"tools/call",params:t},Vl,s)}listTools(t,s){return this.request({method:"tools/list",params:t},H_,s)}async connect(t){if(this.transport)throw Error("AppBridge is already connected. Call close() before connecting again.");if(this._initializedReceived=!1,this._client){let s=this._client.getServerCapabilities();if(!s)throw Error("Client server capabilities not available");s.tools&&(this.oncalltool=async(i,r)=>this._client.request({method:"tools/call",params:i},Vl,{signal:r.signal}),s.tools.listChanged&&this._client.setNotificationHandler(B_,i=>this.sendToolListChanged(i.params))),s.resources&&(this.onlistresources=async(i,r)=>this._client.request({method:"resources/list",params:i},P_,{signal:r.signal}),this.onlistresourcetemplates=async(i,r)=>this._client.request({method:"resources/templates/list",params:i},R_,{signal:r.signal}),this.onreadresource=async(i,r)=>this._client.request({method:"resources/read",params:i},I_,{signal:r.signal}),s.resources.listChanged&&this._client.setNotificationHandler(O_,i=>this.sendResourceListChanged(i.params))),s.prompts&&(this.onlistprompts=async(i,r)=>this._client.request({method:"prompts/list",params:i},N_,{signal:r.signal}),s.prompts.listChanged&&this._client.setNotificationHandler(j_,i=>this.sendPromptListChanged(i.params)))}return super.connect(t)}}function Zz(n,e){return JSON.stringify(n)===JSON.stringify(e)}const Xz={x:0,y:0,width:1024,height:768},vv=28,Yz=12,Jz=.9;function Jo(n){return typeof n=="number"&&Number.isFinite(n)?n:void 0}function o$(n){if(!(!n||typeof n!="object"||Array.isArray(n)))return n}function bv(n){if(Array.isArray(n))return n.map(bv);const e=o$(n);return e?Object.fromEntries(Object.entries(e).map(([t,s])=>[t,(t==="text"||t==="originalText")&&typeof s=="string"?s.replace(/\\r\\n|\\n|\\r/gu,` +`):bv(s)])):n}function Qz(n){return n.type==="text"&&typeof(n.text??n.originalText)=="string"}function a$(n){const e=String(n.text??n.originalText??""),t=Jo(n.fontSize)??20,s=e.length*t*Jz,i=Jo(n.width);return Math.max(i&&i>0?i:0,s)}function eH(n){for(const e of n){if(e.type!=="cameraUpdate")continue;const t=Jo(e.width),s=Jo(e.height);if(!(!t||t<=0||!s||s<=0))return{x:Jo(e.x)??0,y:Jo(e.y)??0,width:t,height:s}}return Xz}function tH(n,e){const t=Jo(n.x);if(t===void 0)return!1;const s=a$(n),i=e.x+vv,r=e.x+e.width-vv;return tr+1}function nH(n,e){const t={...n},s=Jo(t.fontSize)??20;let i=a$(t);const r=Math.max(1,e.width-vv*2);if(i>r){const o=r/i;t.fontSize=Math.max(Yz,s*o),typeof t.height=="number"&&(t.height*=Number(t.fontSize)/s),i=Math.min(r,i*(Number(t.fontSize)/s))}return t.width=i,t.autoResize=!1,t.textAlign="left",t.x=e.x+(e.width-i)/2,t}function sH(n){const t=bv(n).map(o$);if(t.some(r=>r===void 0))return n;const s=t,i=eH(s);return s.map(r=>!Qz(r)||!tH(r,i)?r:nH(r,i))}var wv={exports:{}},l$={},kr={},Aa={},fp={},Ge={},$d={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.regexpCode=n.getEsmExportName=n.getProperty=n.safeStringify=n.stringify=n.strConcat=n.addCodeArg=n.str=n._=n.nil=n._Code=n.Name=n.IDENTIFIER=n._CodeOrName=void 0;class e{}n._CodeOrName=e,n.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class t extends e{constructor(b){if(super(),!n.IDENTIFIER.test(b))throw new Error("CodeGen: name must be a valid identifier");this.str=b}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}n.Name=t;class s extends e{constructor(b){super(),this._items=typeof b=="string"?[b]:b}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const b=this._items[0];return b===""||b==='""'}get str(){var b;return(b=this._str)!==null&&b!==void 0?b:this._str=this._items.reduce((_,S)=>`${_}${S}`,"")}get names(){var b;return(b=this._names)!==null&&b!==void 0?b:this._names=this._items.reduce((_,S)=>(S instanceof t&&(_[S.str]=(_[S.str]||0)+1),_),{})}}n._Code=s,n.nil=new s("");function i(y,...b){const _=[y[0]];let S=0;for(;S{if(u.scopePath===void 0)throw new Error(`CodeGen: name "${u}" has no value`);return(0,e._)`${c}${u.scopePath}`})}scopeCode(c=this._values,h,u){return this._reduceValues(c,d=>{if(d.value===void 0)throw new Error(`CodeGen: name "${d}" has no value`);return d.value.code},h,u)}_reduceValues(c,h,u={},d){let p=e.nil;for(const m in c){const g=c[m];if(!g)continue;const v=u[m]=u[m]||new Map;g.forEach(y=>{if(v.has(y))return;v.set(y,s.Started);let b=h(y);if(b){const _=this.opts.es5?n.varKinds.var:n.varKinds.const;p=(0,e._)`${p}${_} ${y} = ${b};${this.opts._n}`}else if(b=d==null?void 0:d(y))p=(0,e._)`${p}${b}${this.opts._n}`;else throw new t(y);v.set(y,s.Completed)})}return p}}n.ValueScope=a})(_v);(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.or=n.and=n.not=n.CodeGen=n.operators=n.varKinds=n.ValueScopeName=n.ValueScope=n.Scope=n.Name=n.regexpCode=n.stringify=n.getProperty=n.nil=n.strConcat=n.str=n._=void 0;const e=$d,t=_v;var s=$d;Object.defineProperty(n,"_",{enumerable:!0,get:function(){return s._}}),Object.defineProperty(n,"str",{enumerable:!0,get:function(){return s.str}}),Object.defineProperty(n,"strConcat",{enumerable:!0,get:function(){return s.strConcat}}),Object.defineProperty(n,"nil",{enumerable:!0,get:function(){return s.nil}}),Object.defineProperty(n,"getProperty",{enumerable:!0,get:function(){return s.getProperty}}),Object.defineProperty(n,"stringify",{enumerable:!0,get:function(){return s.stringify}}),Object.defineProperty(n,"regexpCode",{enumerable:!0,get:function(){return s.regexpCode}}),Object.defineProperty(n,"Name",{enumerable:!0,get:function(){return s.Name}});var i=_v;Object.defineProperty(n,"Scope",{enumerable:!0,get:function(){return i.Scope}}),Object.defineProperty(n,"ValueScope",{enumerable:!0,get:function(){return i.ValueScope}}),Object.defineProperty(n,"ValueScopeName",{enumerable:!0,get:function(){return i.ValueScopeName}}),Object.defineProperty(n,"varKinds",{enumerable:!0,get:function(){return i.varKinds}}),n.operators={GT:new e._Code(">"),GTE:new e._Code(">="),LT:new e._Code("<"),LTE:new e._Code("<="),EQ:new e._Code("==="),NEQ:new e._Code("!=="),NOT:new e._Code("!"),OR:new e._Code("||"),AND:new e._Code("&&"),ADD:new e._Code("+")};class r{optimizeNodes(){return this}optimizeNames(w,x){return this}}class o extends r{constructor(w,x,I){super(),this.varKind=w,this.name=x,this.rhs=I}render({es5:w,_n:x}){const I=w?t.varKinds.var:this.varKind,K=this.rhs===void 0?"":` = ${this.rhs}`;return`${I} ${this.name}${K};`+x}optimizeNames(w,x){if(w[this.name.str])return this.rhs&&(this.rhs=L(this.rhs,w,x)),this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class a extends r{constructor(w,x,I){super(),this.lhs=w,this.rhs=x,this.sideEffects=I}render({_n:w}){return`${this.lhs} = ${this.rhs};`+w}optimizeNames(w,x){if(!(this.lhs instanceof e.Name&&!w[this.lhs.str]&&!this.sideEffects))return this.rhs=L(this.rhs,w,x),this}get names(){const w=this.lhs instanceof e.Name?{}:{...this.lhs.names};return G(w,this.rhs)}}class l extends a{constructor(w,x,I,K){super(w,I,K),this.op=x}render({_n:w}){return`${this.lhs} ${this.op}= ${this.rhs};`+w}}class c extends r{constructor(w){super(),this.label=w,this.names={}}render({_n:w}){return`${this.label}:`+w}}class h extends r{constructor(w){super(),this.label=w,this.names={}}render({_n:w}){return`break${this.label?` ${this.label}`:""};`+w}}class u extends r{constructor(w){super(),this.error=w}render({_n:w}){return`throw ${this.error};`+w}get names(){return this.error.names}}class d extends r{constructor(w){super(),this.code=w}render({_n:w}){return`${this.code};`+w}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(w,x){return this.code=L(this.code,w,x),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class p extends r{constructor(w=[]){super(),this.nodes=w}render(w){return this.nodes.reduce((x,I)=>x+I.render(w),"")}optimizeNodes(){const{nodes:w}=this;let x=w.length;for(;x--;){const I=w[x].optimizeNodes();Array.isArray(I)?w.splice(x,1,...I):I?w[x]=I:w.splice(x,1)}return w.length>0?this:void 0}optimizeNames(w,x){const{nodes:I}=this;let K=I.length;for(;K--;){const X=I[K];X.optimizeNames(w,x)||(J(w,X.names),I.splice(K,1))}return I.length>0?this:void 0}get names(){return this.nodes.reduce((w,x)=>z(w,x.names),{})}}class m extends p{render(w){return"{"+w._n+super.render(w)+"}"+w._n}}class g extends p{}class v extends m{}v.kind="else";class y extends m{constructor(w,x){super(x),this.condition=w}render(w){let x=`if(${this.condition})`+super.render(w);return this.else&&(x+="else "+this.else.render(w)),x}optimizeNodes(){super.optimizeNodes();const w=this.condition;if(w===!0)return this.nodes;let x=this.else;if(x){const I=x.optimizeNodes();x=this.else=Array.isArray(I)?new v(I):I}if(x)return w===!1?x instanceof y?x:x.nodes:this.nodes.length?this:new y(Q(w),x instanceof y?[x]:x.nodes);if(!(w===!1||!this.nodes.length))return this}optimizeNames(w,x){var I;if(this.else=(I=this.else)===null||I===void 0?void 0:I.optimizeNames(w,x),!!(super.optimizeNames(w,x)||this.else))return this.condition=L(this.condition,w,x),this}get names(){const w=super.names;return G(w,this.condition),this.else&&z(w,this.else.names),w}}y.kind="if";class b extends m{}b.kind="for";class _ extends b{constructor(w){super(),this.iteration=w}render(w){return`for(${this.iteration})`+super.render(w)}optimizeNames(w,x){if(super.optimizeNames(w,x))return this.iteration=L(this.iteration,w,x),this}get names(){return z(super.names,this.iteration.names)}}class S extends b{constructor(w,x,I,K){super(),this.varKind=w,this.name=x,this.from=I,this.to=K}render(w){const x=w.es5?t.varKinds.var:this.varKind,{name:I,from:K,to:X}=this;return`for(${x} ${I}=${K}; ${I}<${X}; ${I}++)`+super.render(w)}get names(){const w=G(super.names,this.from);return G(w,this.to)}}class A extends b{constructor(w,x,I,K){super(),this.loop=w,this.varKind=x,this.name=I,this.iterable=K}render(w){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(w)}optimizeNames(w,x){if(super.optimizeNames(w,x))return this.iterable=L(this.iterable,w,x),this}get names(){return z(super.names,this.iterable.names)}}class E extends m{constructor(w,x,I){super(),this.name=w,this.args=x,this.async=I}render(w){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(w)}}E.kind="func";class $ extends p{render(w){return"return "+super.render(w)}}$.kind="return";class O extends m{render(w){let x="try"+super.render(w);return this.catch&&(x+=this.catch.render(w)),this.finally&&(x+=this.finally.render(w)),x}optimizeNodes(){var w,x;return super.optimizeNodes(),(w=this.catch)===null||w===void 0||w.optimizeNodes(),(x=this.finally)===null||x===void 0||x.optimizeNodes(),this}optimizeNames(w,x){var I,K;return super.optimizeNames(w,x),(I=this.catch)===null||I===void 0||I.optimizeNames(w,x),(K=this.finally)===null||K===void 0||K.optimizeNames(w,x),this}get names(){const w=super.names;return this.catch&&z(w,this.catch.names),this.finally&&z(w,this.finally.names),w}}class F extends m{constructor(w){super(),this.error=w}render(w){return`catch(${this.error})`+super.render(w)}}F.kind="catch";class q extends m{render(w){return"finally"+super.render(w)}}q.kind="finally";class N{constructor(w,x={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...x,_n:x.lines?` +`:""},this._extScope=w,this._scope=new t.Scope({parent:w}),this._nodes=[new g]}toString(){return this._root.render(this.opts)}name(w){return this._scope.name(w)}scopeName(w){return this._extScope.name(w)}scopeValue(w,x){const I=this._extScope.value(w,x);return(this._values[I.prefix]||(this._values[I.prefix]=new Set)).add(I),I}getScopeValue(w,x){return this._extScope.getValue(w,x)}scopeRefs(w){return this._extScope.scopeRefs(w,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(w,x,I,K){const X=this._scope.toName(x);return I!==void 0&&K&&(this._constants[X.str]=I),this._leafNode(new o(w,X,I)),X}const(w,x,I){return this._def(t.varKinds.const,w,x,I)}let(w,x,I){return this._def(t.varKinds.let,w,x,I)}var(w,x,I){return this._def(t.varKinds.var,w,x,I)}assign(w,x,I){return this._leafNode(new a(w,x,I))}add(w,x){return this._leafNode(new l(w,n.operators.ADD,x))}code(w){return typeof w=="function"?w():w!==e.nil&&this._leafNode(new d(w)),this}object(...w){const x=["{"];for(const[I,K]of w)x.length>1&&x.push(","),x.push(I),(I!==K||this.opts.es5)&&(x.push(":"),(0,e.addCodeArg)(x,K));return x.push("}"),new e._Code(x)}if(w,x,I){if(this._blockNode(new y(w)),x&&I)this.code(x).else().code(I).endIf();else if(x)this.code(x).endIf();else if(I)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(w){return this._elseNode(new y(w))}else(){return this._elseNode(new v)}endIf(){return this._endBlockNode(y,v)}_for(w,x){return this._blockNode(w),x&&this.code(x).endFor(),this}for(w,x){return this._for(new _(w),x)}forRange(w,x,I,K,X=this.opts.es5?t.varKinds.var:t.varKinds.let){const ue=this._scope.toName(w);return this._for(new S(X,ue,x,I),()=>K(ue))}forOf(w,x,I,K=t.varKinds.const){const X=this._scope.toName(w);if(this.opts.es5){const ue=x instanceof e.Name?x:this.var("_arr",x);return this.forRange("_i",0,(0,e._)`${ue}.length`,oe=>{this.var(X,(0,e._)`${ue}[${oe}]`),I(X)})}return this._for(new A("of",K,X,x),()=>I(X))}forIn(w,x,I,K=this.opts.es5?t.varKinds.var:t.varKinds.const){if(this.opts.ownProperties)return this.forOf(w,(0,e._)`Object.keys(${x})`,I);const X=this._scope.toName(w);return this._for(new A("in",K,X,x),()=>I(X))}endFor(){return this._endBlockNode(b)}label(w){return this._leafNode(new c(w))}break(w){return this._leafNode(new h(w))}return(w){const x=new $;if(this._blockNode(x),this.code(w),x.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode($)}try(w,x,I){if(!x&&!I)throw new Error('CodeGen: "try" without "catch" and "finally"');const K=new O;if(this._blockNode(K),this.code(w),x){const X=this.name("e");this._currNode=K.catch=new F(X),x(X)}return I&&(this._currNode=K.finally=new q,this.code(I)),this._endBlockNode(F,q)}throw(w){return this._leafNode(new u(w))}block(w,x){return this._blockStarts.push(this._nodes.length),w&&this.code(w).endBlock(x),this}endBlock(w){const x=this._blockStarts.pop();if(x===void 0)throw new Error("CodeGen: not in self-balancing block");const I=this._nodes.length-x;if(I<0||w!==void 0&&I!==w)throw new Error(`CodeGen: wrong number of nodes: ${I} vs ${w} expected`);return this._nodes.length=x,this}func(w,x=e.nil,I,K){return this._blockNode(new E(w,x,I)),K&&this.code(K).endFunc(),this}endFunc(){return this._endBlockNode(E)}optimize(w=1){for(;w-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(w){return this._currNode.nodes.push(w),this}_blockNode(w){this._currNode.nodes.push(w),this._nodes.push(w)}_endBlockNode(w,x){const I=this._currNode;if(I instanceof w||x&&I instanceof x)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${x?`${w.kind}/${x.kind}`:w.kind}"`)}_elseNode(w){const x=this._currNode;if(!(x instanceof y))throw new Error('CodeGen: "else" without "if"');return this._currNode=x.else=w,this}get _root(){return this._nodes[0]}get _currNode(){const w=this._nodes;return w[w.length-1]}set _currNode(w){const x=this._nodes;x[x.length-1]=w}}n.CodeGen=N;function z(M,w){for(const x in w)M[x]=(M[x]||0)+(w[x]||0);return M}function G(M,w){return w instanceof e._CodeOrName?z(M,w.names):M}function L(M,w,x){if(M instanceof e.Name)return I(M);if(!K(M))return M;return new e._Code(M._items.reduce((X,ue)=>(ue instanceof e.Name&&(ue=I(ue)),ue instanceof e._Code?X.push(...ue._items):X.push(ue),X),[]));function I(X){const ue=x[X.str];return ue===void 0||w[X.str]!==1?X:(delete w[X.str],ue)}function K(X){return X instanceof e._Code&&X._items.some(ue=>ue instanceof e.Name&&w[ue.str]===1&&x[ue.str]!==void 0)}}function J(M,w){for(const x in w)M[x]=(M[x]||0)-(w[x]||0)}function Q(M){return typeof M=="boolean"||typeof M=="number"||M===null?!M:(0,e._)`!${D(M)}`}n.not=Q;const ee=P(n.operators.AND);function ae(...M){return M.reduce(ee)}n.and=ae;const ye=P(n.operators.OR);function B(...M){return M.reduce(ye)}n.or=B;function P(M){return(w,x)=>w===e.nil?x:x===e.nil?w:(0,e._)`${D(w)} ${M} ${D(x)}`}function D(M){return M instanceof e.Name?M:(0,e._)`(${M})`}})(Ge);var ve={};Object.defineProperty(ve,"__esModule",{value:!0});ve.checkStrictMode=ve.getErrorPath=ve.Type=ve.useFunc=ve.setEvaluated=ve.evaluatedPropsToName=ve.mergeEvaluated=ve.eachItem=ve.unescapeJsonPointer=ve.escapeJsonPointer=ve.escapeFragment=ve.unescapeFragment=ve.schemaRefOrVal=ve.schemaHasRulesButRef=ve.schemaHasRules=ve.checkUnknownRules=ve.alwaysValidSchema=ve.toHash=void 0;const kt=Ge,iH=$d;function rH(n){const e={};for(const t of n)e[t]=!0;return e}ve.toHash=rH;function oH(n,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(c$(n,e),!h$(e,n.self.RULES.all))}ve.alwaysValidSchema=oH;function c$(n,e=n.schema){const{opts:t,self:s}=n;if(!t.strictSchema||typeof e=="boolean")return;const i=s.RULES.keywords;for(const r in e)i[r]||f$(n,`unknown keyword: "${r}"`)}ve.checkUnknownRules=c$;function h$(n,e){if(typeof n=="boolean")return!n;for(const t in n)if(e[t])return!0;return!1}ve.schemaHasRules=h$;function aH(n,e){if(typeof n=="boolean")return!n;for(const t in n)if(t!=="$ref"&&e.all[t])return!0;return!1}ve.schemaHasRulesButRef=aH;function lH({topSchemaRef:n,schemaPath:e},t,s,i){if(!i){if(typeof t=="number"||typeof t=="boolean")return t;if(typeof t=="string")return(0,kt._)`${t}`}return(0,kt._)`${n}${e}${(0,kt.getProperty)(s)}`}ve.schemaRefOrVal=lH;function cH(n){return u$(decodeURIComponent(n))}ve.unescapeFragment=cH;function hH(n){return encodeURIComponent(G_(n))}ve.escapeFragment=hH;function G_(n){return typeof n=="number"?`${n}`:n.replace(/~/g,"~0").replace(/\//g,"~1")}ve.escapeJsonPointer=G_;function u$(n){return n.replace(/~1/g,"/").replace(/~0/g,"~")}ve.unescapeJsonPointer=u$;function uH(n,e){if(Array.isArray(n))for(const t of n)e(t);else e(n)}ve.eachItem=uH;function Wk({mergeNames:n,mergeToName:e,mergeValues:t,resultToName:s}){return(i,r,o,a)=>{const l=o===void 0?r:o instanceof kt.Name?(r instanceof kt.Name?n(i,r,o):e(i,r,o),o):r instanceof kt.Name?(e(i,o,r),r):t(r,o);return a===kt.Name&&!(l instanceof kt.Name)?s(i,l):l}}ve.mergeEvaluated={props:Wk({mergeNames:(n,e,t)=>n.if((0,kt._)`${t} !== true && ${e} !== undefined`,()=>{n.if((0,kt._)`${e} === true`,()=>n.assign(t,!0),()=>n.assign(t,(0,kt._)`${t} || {}`).code((0,kt._)`Object.assign(${t}, ${e})`))}),mergeToName:(n,e,t)=>n.if((0,kt._)`${t} !== true`,()=>{e===!0?n.assign(t,!0):(n.assign(t,(0,kt._)`${t} || {}`),K_(n,t,e))}),mergeValues:(n,e)=>n===!0?!0:{...n,...e},resultToName:d$}),items:Wk({mergeNames:(n,e,t)=>n.if((0,kt._)`${t} !== true && ${e} !== undefined`,()=>n.assign(t,(0,kt._)`${e} === true ? true : ${t} > ${e} ? ${t} : ${e}`)),mergeToName:(n,e,t)=>n.if((0,kt._)`${t} !== true`,()=>n.assign(t,e===!0?!0:(0,kt._)`${t} > ${e} ? ${t} : ${e}`)),mergeValues:(n,e)=>n===!0?!0:Math.max(n,e),resultToName:(n,e)=>n.var("items",e)})};function d$(n,e){if(e===!0)return n.var("props",!0);const t=n.var("props",(0,kt._)`{}`);return e!==void 0&&K_(n,t,e),t}ve.evaluatedPropsToName=d$;function K_(n,e,t){Object.keys(t).forEach(s=>n.assign((0,kt._)`${e}${(0,kt.getProperty)(s)}`,!0))}ve.setEvaluated=K_;const Gk={};function dH(n,e){return n.scopeValue("func",{ref:e,code:Gk[e.code]||(Gk[e.code]=new iH._Code(e.code))})}ve.useFunc=dH;var Sv;(function(n){n[n.Num=0]="Num",n[n.Str=1]="Str"})(Sv||(ve.Type=Sv={}));function fH(n,e,t){if(n instanceof kt.Name){const s=e===Sv.Num;return t?s?(0,kt._)`"[" + ${n} + "]"`:(0,kt._)`"['" + ${n} + "']"`:s?(0,kt._)`"/" + ${n}`:(0,kt._)`"/" + ${n}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return t?(0,kt.getProperty)(n).toString():"/"+G_(n)}ve.getErrorPath=fH;function f$(n,e,t=n.opts.strictSchema){if(t){if(e=`strict mode: ${e}`,t===!0)throw new Error(e);n.self.logger.warn(e)}}ve.checkStrictMode=f$;var Np={},Kk;function ya(){if(Kk)return Np;Kk=1,Object.defineProperty(Np,"__esModule",{value:!0});const n=Ge,e={data:new n.Name("data"),valCxt:new n.Name("valCxt"),instancePath:new n.Name("instancePath"),parentData:new n.Name("parentData"),parentDataProperty:new n.Name("parentDataProperty"),rootData:new n.Name("rootData"),dynamicAnchors:new n.Name("dynamicAnchors"),vErrors:new n.Name("vErrors"),errors:new n.Name("errors"),this:new n.Name("this"),self:new n.Name("self"),scope:new n.Name("scope"),json:new n.Name("json"),jsonPos:new n.Name("jsonPos"),jsonLen:new n.Name("jsonLen"),jsonPart:new n.Name("jsonPart")};return Np.default=e,Np}(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.extendErrors=n.resetErrorsCount=n.reportExtraError=n.reportError=n.keyword$DataError=n.keywordError=void 0;const e=Ge,t=ve,s=ya();n.keywordError={message:({keyword:v})=>(0,e.str)`must pass "${v}" keyword validation`},n.keyword$DataError={message:({keyword:v,schemaType:y})=>y?(0,e.str)`"${v}" keyword must be ${y} ($data)`:(0,e.str)`"${v}" keyword is invalid ($data)`};function i(v,y=n.keywordError,b,_){const{it:S}=v,{gen:A,compositeRule:E,allErrors:$}=S,O=u(v,y,b);_??(E||$)?l(A,O):c(S,(0,e._)`[${O}]`)}n.reportError=i;function r(v,y=n.keywordError,b){const{it:_}=v,{gen:S,compositeRule:A,allErrors:E}=_,$=u(v,y,b);l(S,$),A||E||c(_,s.default.vErrors)}n.reportExtraError=r;function o(v,y){v.assign(s.default.errors,y),v.if((0,e._)`${s.default.vErrors} !== null`,()=>v.if(y,()=>v.assign((0,e._)`${s.default.vErrors}.length`,y),()=>v.assign(s.default.vErrors,null)))}n.resetErrorsCount=o;function a({gen:v,keyword:y,schemaValue:b,data:_,errsCount:S,it:A}){if(S===void 0)throw new Error("ajv implementation error");const E=v.name("err");v.forRange("i",S,s.default.errors,$=>{v.const(E,(0,e._)`${s.default.vErrors}[${$}]`),v.if((0,e._)`${E}.instancePath === undefined`,()=>v.assign((0,e._)`${E}.instancePath`,(0,e.strConcat)(s.default.instancePath,A.errorPath))),v.assign((0,e._)`${E}.schemaPath`,(0,e.str)`${A.errSchemaPath}/${y}`),A.opts.verbose&&(v.assign((0,e._)`${E}.schema`,b),v.assign((0,e._)`${E}.data`,_))})}n.extendErrors=a;function l(v,y){const b=v.const("err",y);v.if((0,e._)`${s.default.vErrors} === null`,()=>v.assign(s.default.vErrors,(0,e._)`[${b}]`),(0,e._)`${s.default.vErrors}.push(${b})`),v.code((0,e._)`${s.default.errors}++`)}function c(v,y){const{gen:b,validateName:_,schemaEnv:S}=v;S.$async?b.throw((0,e._)`new ${v.ValidationError}(${y})`):(b.assign((0,e._)`${_}.errors`,y),b.return(!1))}const h={keyword:new e.Name("keyword"),schemaPath:new e.Name("schemaPath"),params:new e.Name("params"),propertyName:new e.Name("propertyName"),message:new e.Name("message"),schema:new e.Name("schema"),parentSchema:new e.Name("parentSchema")};function u(v,y,b){const{createErrors:_}=v.it;return _===!1?(0,e._)`{}`:d(v,y,b)}function d(v,y,b={}){const{gen:_,it:S}=v,A=[p(S,b),m(v,b)];return g(v,y,A),_.object(...A)}function p({errorPath:v},{instancePath:y}){const b=y?(0,e.str)`${v}${(0,t.getErrorPath)(y,t.Type.Str)}`:v;return[s.default.instancePath,(0,e.strConcat)(s.default.instancePath,b)]}function m({keyword:v,it:{errSchemaPath:y}},{schemaPath:b,parentSchema:_}){let S=_?y:(0,e.str)`${y}/${v}`;return b&&(S=(0,e.str)`${S}${(0,t.getErrorPath)(b,t.Type.Str)}`),[h.schemaPath,S]}function g(v,{params:y,message:b},_){const{keyword:S,data:A,schemaValue:E,it:$}=v,{opts:O,propertyName:F,topSchemaRef:q,schemaPath:N}=$;_.push([h.keyword,S],[h.params,typeof y=="function"?y(v):y||(0,e._)`{}`]),O.messages&&_.push([h.message,typeof b=="function"?b(v):b]),O.verbose&&_.push([h.schema,E],[h.parentSchema,(0,e._)`${q}${N}`],[s.default.data,A]),F&&_.push([h.propertyName,F])}})(fp);var Zk;function pH(){if(Zk)return Aa;Zk=1,Object.defineProperty(Aa,"__esModule",{value:!0}),Aa.boolOrEmptySchema=Aa.topBoolOrEmptySchema=void 0;const n=fp,e=Ge,t=ya(),s={message:"boolean schema is false"};function i(a){const{gen:l,schema:c,validateName:h}=a;c===!1?o(a,!1):typeof c=="object"&&c.$async===!0?l.return(t.default.data):(l.assign((0,e._)`${h}.errors`,null),l.return(!0))}Aa.topBoolOrEmptySchema=i;function r(a,l){const{gen:c,schema:h}=a;h===!1?(c.var(l,!1),o(a)):c.var(l,!0)}Aa.boolOrEmptySchema=r;function o(a,l){const{gen:c,data:h}=a,u={gen:c,keyword:"false schema",data:h,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:a};(0,n.reportError)(u,s,void 0,l)}return Aa}var un={},Wl={};Object.defineProperty(Wl,"__esModule",{value:!0});Wl.getRules=Wl.isJSONType=void 0;const mH=["string","number","integer","boolean","null","object","array"],gH=new Set(mH);function yH(n){return typeof n=="string"&&gH.has(n)}Wl.isJSONType=yH;function vH(){const n={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...n,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},n.number,n.string,n.array,n.object],post:{rules:[]},all:{},keywords:{}}}Wl.getRules=vH;var no={};Object.defineProperty(no,"__esModule",{value:!0});no.shouldUseRule=no.shouldUseGroup=no.schemaHasRulesForType=void 0;function bH({schema:n,self:e},t){const s=e.RULES.types[t];return s&&s!==!0&&p$(n,s)}no.schemaHasRulesForType=bH;function p$(n,e){return e.rules.some(t=>m$(n,t))}no.shouldUseGroup=p$;function m$(n,e){var t;return n[e.keyword]!==void 0||((t=e.definition.implements)===null||t===void 0?void 0:t.some(s=>n[s]!==void 0))}no.shouldUseRule=m$;Object.defineProperty(un,"__esModule",{value:!0});un.reportTypeError=un.checkDataTypes=un.checkDataType=un.coerceAndCheckDataType=un.getJSONTypes=un.getSchemaTypes=un.DataType=void 0;const wH=Wl,_H=no,SH=fp,De=Ge,g$=ve;var Fc;(function(n){n[n.Correct=0]="Correct",n[n.Wrong=1]="Wrong"})(Fc||(un.DataType=Fc={}));function kH(n){const e=y$(n.type);if(e.includes("null")){if(n.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&n.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');n.nullable===!0&&e.push("null")}return e}un.getSchemaTypes=kH;function y$(n){const e=Array.isArray(n)?n:n?[n]:[];if(e.every(wH.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}un.getJSONTypes=y$;function AH(n,e){const{gen:t,data:s,opts:i}=n,r=xH(e,i.coerceTypes),o=e.length>0&&!(r.length===0&&e.length===1&&(0,_H.schemaHasRulesForType)(n,e[0]));if(o){const a=Z_(e,s,i.strictNumbers,Fc.Wrong);t.if(a,()=>{r.length?EH(n,e,r):X_(n)})}return o}un.coerceAndCheckDataType=AH;const v$=new Set(["string","number","integer","boolean","null"]);function xH(n,e){return e?n.filter(t=>v$.has(t)||e==="array"&&t==="array"):[]}function EH(n,e,t){const{gen:s,data:i,opts:r}=n,o=s.let("dataType",(0,De._)`typeof ${i}`),a=s.let("coerced",(0,De._)`undefined`);r.coerceTypes==="array"&&s.if((0,De._)`${o} == 'object' && Array.isArray(${i}) && ${i}.length == 1`,()=>s.assign(i,(0,De._)`${i}[0]`).assign(o,(0,De._)`typeof ${i}`).if(Z_(e,i,r.strictNumbers),()=>s.assign(a,i))),s.if((0,De._)`${a} !== undefined`);for(const c of t)(v$.has(c)||c==="array"&&r.coerceTypes==="array")&&l(c);s.else(),X_(n),s.endIf(),s.if((0,De._)`${a} !== undefined`,()=>{s.assign(i,a),CH(n,a)});function l(c){switch(c){case"string":s.elseIf((0,De._)`${o} == "number" || ${o} == "boolean"`).assign(a,(0,De._)`"" + ${i}`).elseIf((0,De._)`${i} === null`).assign(a,(0,De._)`""`);return;case"number":s.elseIf((0,De._)`${o} == "boolean" || ${i} === null + || (${o} == "string" && ${i} && ${i} == +${i})`).assign(a,(0,De._)`+${i}`);return;case"integer":s.elseIf((0,De._)`${o} === "boolean" || ${i} === null + || (${o} === "string" && ${i} && ${i} == +${i} && !(${i} % 1))`).assign(a,(0,De._)`+${i}`);return;case"boolean":s.elseIf((0,De._)`${i} === "false" || ${i} === 0 || ${i} === null`).assign(a,!1).elseIf((0,De._)`${i} === "true" || ${i} === 1`).assign(a,!0);return;case"null":s.elseIf((0,De._)`${i} === "" || ${i} === 0 || ${i} === false`),s.assign(a,null);return;case"array":s.elseIf((0,De._)`${o} === "string" || ${o} === "number" + || ${o} === "boolean" || ${i} === null`).assign(a,(0,De._)`[${i}]`)}}}function CH({gen:n,parentData:e,parentDataProperty:t},s){n.if((0,De._)`${e} !== undefined`,()=>n.assign((0,De._)`${e}[${t}]`,s))}function kv(n,e,t,s=Fc.Correct){const i=s===Fc.Correct?De.operators.EQ:De.operators.NEQ;let r;switch(n){case"null":return(0,De._)`${e} ${i} null`;case"array":r=(0,De._)`Array.isArray(${e})`;break;case"object":r=(0,De._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":r=o((0,De._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":r=o();break;default:return(0,De._)`typeof ${e} ${i} ${n}`}return s===Fc.Correct?r:(0,De.not)(r);function o(a=De.nil){return(0,De.and)((0,De._)`typeof ${e} == "number"`,a,t?(0,De._)`isFinite(${e})`:De.nil)}}un.checkDataType=kv;function Z_(n,e,t,s){if(n.length===1)return kv(n[0],e,t,s);let i;const r=(0,g$.toHash)(n);if(r.array&&r.object){const o=(0,De._)`typeof ${e} != "object"`;i=r.null?o:(0,De._)`!${e} || ${o}`,delete r.null,delete r.array,delete r.object}else i=De.nil;r.number&&delete r.integer;for(const o in r)i=(0,De.and)(i,kv(o,e,t,s));return i}un.checkDataTypes=Z_;const $H={message:({schema:n})=>`must be ${n}`,params:({schema:n,schemaValue:e})=>typeof n=="string"?(0,De._)`{type: ${n}}`:(0,De._)`{type: ${e}}`};function X_(n){const e=TH(n);(0,SH.reportError)(e,$H)}un.reportTypeError=X_;function TH(n){const{gen:e,data:t,schema:s}=n,i=(0,g$.schemaRefOrVal)(n,s,"type");return{gen:e,keyword:"type",data:t,schema:s.type,schemaCode:i,schemaValue:i,parentSchema:s,params:{},it:n}}var ku={},Xk;function PH(){if(Xk)return ku;Xk=1,Object.defineProperty(ku,"__esModule",{value:!0}),ku.assignDefaults=void 0;const n=Ge,e=ve;function t(i,r){const{properties:o,items:a}=i.schema;if(r==="object"&&o)for(const l in o)s(i,l,o[l].default);else r==="array"&&Array.isArray(a)&&a.forEach((l,c)=>s(i,c,l.default))}ku.assignDefaults=t;function s(i,r,o){const{gen:a,compositeRule:l,data:c,opts:h}=i;if(o===void 0)return;const u=(0,n._)`${c}${(0,n.getProperty)(r)}`;if(l){(0,e.checkStrictMode)(i,`default is ignored for: ${u}`);return}let d=(0,n._)`${u} === undefined`;h.useDefaults==="empty"&&(d=(0,n._)`${d} || ${u} === null || ${u} === ""`),a.if(d,(0,n._)`${u} = ${(0,n.stringify)(o)}`)}return ku}var di={},ut={},Yk;function ji(){if(Yk)return ut;Yk=1,Object.defineProperty(ut,"__esModule",{value:!0}),ut.validateUnion=ut.validateArray=ut.usePattern=ut.callValidateCode=ut.schemaProperties=ut.allSchemaProperties=ut.noPropertyInData=ut.propertyInData=ut.isOwnProperty=ut.hasPropFunc=ut.reportMissingProp=ut.checkMissingProp=ut.checkReportMissingProp=void 0;const n=Ge,e=ve,t=ya(),s=ve;function i(b,_){const{gen:S,data:A,it:E}=b;S.if(h(S,A,_,E.opts.ownProperties),()=>{b.setParams({missingProperty:(0,n._)`${_}`},!0),b.error()})}ut.checkReportMissingProp=i;function r({gen:b,data:_,it:{opts:S}},A,E){return(0,n.or)(...A.map($=>(0,n.and)(h(b,_,$,S.ownProperties),(0,n._)`${E} = ${$}`)))}ut.checkMissingProp=r;function o(b,_){b.setParams({missingProperty:_},!0),b.error()}ut.reportMissingProp=o;function a(b){return b.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,n._)`Object.prototype.hasOwnProperty`})}ut.hasPropFunc=a;function l(b,_,S){return(0,n._)`${a(b)}.call(${_}, ${S})`}ut.isOwnProperty=l;function c(b,_,S,A){const E=(0,n._)`${_}${(0,n.getProperty)(S)} !== undefined`;return A?(0,n._)`${E} && ${l(b,_,S)}`:E}ut.propertyInData=c;function h(b,_,S,A){const E=(0,n._)`${_}${(0,n.getProperty)(S)} === undefined`;return A?(0,n.or)(E,(0,n.not)(l(b,_,S))):E}ut.noPropertyInData=h;function u(b){return b?Object.keys(b).filter(_=>_!=="__proto__"):[]}ut.allSchemaProperties=u;function d(b,_){return u(_).filter(S=>!(0,e.alwaysValidSchema)(b,_[S]))}ut.schemaProperties=d;function p({schemaCode:b,data:_,it:{gen:S,topSchemaRef:A,schemaPath:E,errorPath:$},it:O},F,q,N){const z=N?(0,n._)`${b}, ${_}, ${A}${E}`:_,G=[[t.default.instancePath,(0,n.strConcat)(t.default.instancePath,$)],[t.default.parentData,O.parentData],[t.default.parentDataProperty,O.parentDataProperty],[t.default.rootData,t.default.rootData]];O.opts.dynamicRef&&G.push([t.default.dynamicAnchors,t.default.dynamicAnchors]);const L=(0,n._)`${z}, ${S.object(...G)}`;return q!==n.nil?(0,n._)`${F}.call(${q}, ${L})`:(0,n._)`${F}(${L})`}ut.callValidateCode=p;const m=(0,n._)`new RegExp`;function g({gen:b,it:{opts:_}},S){const A=_.unicodeRegExp?"u":"",{regExp:E}=_.code,$=E(S,A);return b.scopeValue("pattern",{key:$.toString(),ref:$,code:(0,n._)`${E.code==="new RegExp"?m:(0,s.useFunc)(b,E)}(${S}, ${A})`})}ut.usePattern=g;function v(b){const{gen:_,data:S,keyword:A,it:E}=b,$=_.name("valid");if(E.allErrors){const F=_.let("valid",!0);return O(()=>_.assign(F,!1)),F}return _.var($,!0),O(()=>_.break()),$;function O(F){const q=_.const("len",(0,n._)`${S}.length`);_.forRange("i",0,q,N=>{b.subschema({keyword:A,dataProp:N,dataPropType:e.Type.Num},$),_.if((0,n.not)($),F)})}}ut.validateArray=v;function y(b){const{gen:_,schema:S,keyword:A,it:E}=b;if(!Array.isArray(S))throw new Error("ajv implementation error");if(S.some(q=>(0,e.alwaysValidSchema)(E,q))&&!E.opts.unevaluated)return;const O=_.let("valid",!1),F=_.name("_valid");_.block(()=>S.forEach((q,N)=>{const z=b.subschema({keyword:A,schemaProp:N,compositeRule:!0},F);_.assign(O,(0,n._)`${O} || ${F}`),b.mergeValidEvaluated(z,F)||_.if((0,n.not)(O))})),b.result(O,()=>b.reset(),()=>b.error(!0))}return ut.validateUnion=y,ut}var Jk;function RH(){if(Jk)return di;Jk=1,Object.defineProperty(di,"__esModule",{value:!0}),di.validateKeywordUsage=di.validSchemaType=di.funcKeywordCode=di.macroKeywordCode=void 0;const n=Ge,e=ya(),t=ji(),s=fp;function i(d,p){const{gen:m,keyword:g,schema:v,parentSchema:y,it:b}=d,_=p.macro.call(b.self,v,y,b),S=c(m,g,_);b.opts.validateSchema!==!1&&b.self.validateSchema(_,!0);const A=m.name("valid");d.subschema({schema:_,schemaPath:n.nil,errSchemaPath:`${b.errSchemaPath}/${g}`,topSchemaRef:S,compositeRule:!0},A),d.pass(A,()=>d.error(!0))}di.macroKeywordCode=i;function r(d,p){var m;const{gen:g,keyword:v,schema:y,parentSchema:b,$data:_,it:S}=d;l(S,p);const A=!_&&p.compile?p.compile.call(S.self,y,b,S):p.validate,E=c(g,v,A),$=g.let("valid");d.block$data($,O),d.ok((m=p.valid)!==null&&m!==void 0?m:$);function O(){if(p.errors===!1)N(),p.modifying&&o(d),z(()=>d.error());else{const G=p.async?F():q();p.modifying&&o(d),z(()=>a(d,G))}}function F(){const G=g.let("ruleErrs",null);return g.try(()=>N((0,n._)`await `),L=>g.assign($,!1).if((0,n._)`${L} instanceof ${S.ValidationError}`,()=>g.assign(G,(0,n._)`${L}.errors`),()=>g.throw(L))),G}function q(){const G=(0,n._)`${E}.errors`;return g.assign(G,null),N(n.nil),G}function N(G=p.async?(0,n._)`await `:n.nil){const L=S.opts.passContext?e.default.this:e.default.self,J=!("compile"in p&&!_||p.schema===!1);g.assign($,(0,n._)`${G}${(0,t.callValidateCode)(d,E,L,J)}`,p.modifying)}function z(G){var L;g.if((0,n.not)((L=p.valid)!==null&&L!==void 0?L:$),G)}}di.funcKeywordCode=r;function o(d){const{gen:p,data:m,it:g}=d;p.if(g.parentData,()=>p.assign(m,(0,n._)`${g.parentData}[${g.parentDataProperty}]`))}function a(d,p){const{gen:m}=d;m.if((0,n._)`Array.isArray(${p})`,()=>{m.assign(e.default.vErrors,(0,n._)`${e.default.vErrors} === null ? ${p} : ${e.default.vErrors}.concat(${p})`).assign(e.default.errors,(0,n._)`${e.default.vErrors}.length`),(0,s.extendErrors)(d)},()=>d.error())}function l({schemaEnv:d},p){if(p.async&&!d.$async)throw new Error("async keyword in sync schema")}function c(d,p,m){if(m===void 0)throw new Error(`keyword "${p}" failed to compile`);return d.scopeValue("keyword",typeof m=="function"?{ref:m}:{ref:m,code:(0,n.stringify)(m)})}function h(d,p,m=!1){return!p.length||p.some(g=>g==="array"?Array.isArray(d):g==="object"?d&&typeof d=="object"&&!Array.isArray(d):typeof d==g||m&&typeof d>"u")}di.validSchemaType=h;function u({schema:d,opts:p,self:m,errSchemaPath:g},v,y){if(Array.isArray(v.keyword)?!v.keyword.includes(y):v.keyword!==y)throw new Error("ajv implementation error");const b=v.dependencies;if(b!=null&&b.some(_=>!Object.prototype.hasOwnProperty.call(d,_)))throw new Error(`parent schema must have dependencies of ${y}: ${b.join(",")}`);if(v.validateSchema&&!v.validateSchema(d[y])){const S=`keyword "${y}" value is invalid at path "${g}": `+m.errorsText(v.validateSchema.errors);if(p.validateSchema==="log")m.logger.error(S);else throw new Error(S)}}return di.validateKeywordUsage=u,di}var Ar={},Qk;function MH(){if(Qk)return Ar;Qk=1,Object.defineProperty(Ar,"__esModule",{value:!0}),Ar.extendSubschemaMode=Ar.extendSubschemaData=Ar.getSubschema=void 0;const n=Ge,e=ve;function t(r,{keyword:o,schemaProp:a,schema:l,schemaPath:c,errSchemaPath:h,topSchemaRef:u}){if(o!==void 0&&l!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(o!==void 0){const d=r.schema[o];return a===void 0?{schema:d,schemaPath:(0,n._)`${r.schemaPath}${(0,n.getProperty)(o)}`,errSchemaPath:`${r.errSchemaPath}/${o}`}:{schema:d[a],schemaPath:(0,n._)`${r.schemaPath}${(0,n.getProperty)(o)}${(0,n.getProperty)(a)}`,errSchemaPath:`${r.errSchemaPath}/${o}/${(0,e.escapeFragment)(a)}`}}if(l!==void 0){if(c===void 0||h===void 0||u===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:l,schemaPath:c,topSchemaRef:u,errSchemaPath:h}}throw new Error('either "keyword" or "schema" must be passed')}Ar.getSubschema=t;function s(r,o,{dataProp:a,dataPropType:l,data:c,dataTypes:h,propertyName:u}){if(c!==void 0&&a!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:d}=o;if(a!==void 0){const{errorPath:m,dataPathArr:g,opts:v}=o,y=d.let("data",(0,n._)`${o.data}${(0,n.getProperty)(a)}`,!0);p(y),r.errorPath=(0,n.str)`${m}${(0,e.getErrorPath)(a,l,v.jsPropertySyntax)}`,r.parentDataProperty=(0,n._)`${a}`,r.dataPathArr=[...g,r.parentDataProperty]}if(c!==void 0){const m=c instanceof n.Name?c:d.let("data",c,!0);p(m),u!==void 0&&(r.propertyName=u)}h&&(r.dataTypes=h);function p(m){r.data=m,r.dataLevel=o.dataLevel+1,r.dataTypes=[],o.definedProperties=new Set,r.parentData=o.data,r.dataNames=[...o.dataNames,m]}}Ar.extendSubschemaData=s;function i(r,{jtdDiscriminator:o,jtdMetadata:a,compositeRule:l,createErrors:c,allErrors:h}){l!==void 0&&(r.compositeRule=l),c!==void 0&&(r.createErrors=c),h!==void 0&&(r.allErrors=h),r.jtdDiscriminator=o,r.jtdMetadata=a}return Ar.extendSubschemaMode=i,Ar}var Ln={},Oy=function n(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var s,i,r;if(Array.isArray(e)){if(s=e.length,s!=t.length)return!1;for(i=s;i--!==0;)if(!n(e[i],t[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(r=Object.keys(e),s=r.length,s!==Object.keys(t).length)return!1;for(i=s;i--!==0;)if(!Object.prototype.hasOwnProperty.call(t,r[i]))return!1;for(i=s;i--!==0;){var o=r[i];if(!n(e[o],t[o]))return!1}return!0}return e!==e&&t!==t},b$={exports:{}},Qo=b$.exports=function(n,e,t){typeof e=="function"&&(t=e,e={}),t=e.cb||t;var s=typeof t=="function"?t:t.pre||function(){},i=t.post||function(){};wm(e,s,i,n,"",n)};Qo.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Qo.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Qo.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Qo.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function wm(n,e,t,s,i,r,o,a,l,c){if(s&&typeof s=="object"&&!Array.isArray(s)){e(s,i,r,o,a,l,c);for(var h in s){var u=s[h];if(Array.isArray(u)){if(h in Qo.arrayKeywords)for(var d=0;de+=w$(s)),e===1/0))return 1/0}return e}function _$(n,e="",t){t!==!1&&(e=jc(e));const s=n.parse(e);return S$(n,s)}Ln.getFullPath=_$;function S$(n,e){return n.serialize(e).split("#")[0]+"#"}Ln._getFullPath=S$;const HH=/#\/?$/;function jc(n){return n?n.replace(HH,""):""}Ln.normalizeId=jc;function BH(n,e,t){return t=jc(t),n.resolve(e,t)}Ln.resolveUrl=BH;const qH=/^[a-z_][-a-z0-9._]*$/i;function UH(n,e){if(typeof n=="boolean")return{};const{schemaId:t,uriResolver:s}=this.opts,i=jc(n[t]||e),r={"":i},o=_$(s,i,!1),a={},l=new Set;return DH(n,{allKeys:!0},(u,d,p,m)=>{if(m===void 0)return;const g=o+d;let v=r[m];typeof u[t]=="string"&&(v=y.call(this,u[t])),b.call(this,u.$anchor),b.call(this,u.$dynamicAnchor),r[d]=v;function y(_){const S=this.opts.uriResolver.resolve;if(_=jc(v?S(v,_):_),l.has(_))throw h(_);l.add(_);let A=this.refs[_];return typeof A=="string"&&(A=this.refs[A]),typeof A=="object"?c(u,A.schema,_):_!==jc(g)&&(_[0]==="#"?(c(u,a[_],_),a[_]=u):this.refs[_]=g),_}function b(_){if(typeof _=="string"){if(!qH.test(_))throw new Error(`invalid anchor "${_}"`);y.call(this,`#${_}`)}}}),a;function c(u,d,p){if(d!==void 0&&!LH(u,d))throw h(p)}function h(u){return new Error(`reference "${u}" resolves to more than one schema`)}}Ln.getSchemaRefs=UH;var eA;function Ny(){if(eA)return kr;eA=1,Object.defineProperty(kr,"__esModule",{value:!0}),kr.getData=kr.KeywordCxt=kr.validateFunctionCode=void 0;const n=pH(),e=un,t=no,s=un,i=PH(),r=RH(),o=MH(),a=Ge,l=ya(),c=Ln,h=ve,u=fp;function d(H){if(A(H)&&($(H),S(H))){v(H);return}p(H,()=>(0,n.topBoolOrEmptySchema)(H))}kr.validateFunctionCode=d;function p({gen:H,validateName:U,schema:Y,schemaEnv:ie,opts:ce},_e){ce.code.es5?H.func(U,(0,a._)`${l.default.data}, ${l.default.valCxt}`,ie.$async,()=>{H.code((0,a._)`"use strict"; ${b(Y,ce)}`),g(H,ce),H.code(_e)}):H.func(U,(0,a._)`${l.default.data}, ${m(ce)}`,ie.$async,()=>H.code(b(Y,ce)).code(_e))}function m(H){return(0,a._)`{${l.default.instancePath}="", ${l.default.parentData}, ${l.default.parentDataProperty}, ${l.default.rootData}=${l.default.data}${H.dynamicRef?(0,a._)`, ${l.default.dynamicAnchors}={}`:a.nil}}={}`}function g(H,U){H.if(l.default.valCxt,()=>{H.var(l.default.instancePath,(0,a._)`${l.default.valCxt}.${l.default.instancePath}`),H.var(l.default.parentData,(0,a._)`${l.default.valCxt}.${l.default.parentData}`),H.var(l.default.parentDataProperty,(0,a._)`${l.default.valCxt}.${l.default.parentDataProperty}`),H.var(l.default.rootData,(0,a._)`${l.default.valCxt}.${l.default.rootData}`),U.dynamicRef&&H.var(l.default.dynamicAnchors,(0,a._)`${l.default.valCxt}.${l.default.dynamicAnchors}`)},()=>{H.var(l.default.instancePath,(0,a._)`""`),H.var(l.default.parentData,(0,a._)`undefined`),H.var(l.default.parentDataProperty,(0,a._)`undefined`),H.var(l.default.rootData,l.default.data),U.dynamicRef&&H.var(l.default.dynamicAnchors,(0,a._)`{}`)})}function v(H){const{schema:U,opts:Y,gen:ie}=H;p(H,()=>{Y.$comment&&U.$comment&&G(H),q(H),ie.let(l.default.vErrors,null),ie.let(l.default.errors,0),Y.unevaluated&&y(H),O(H),L(H)})}function y(H){const{gen:U,validateName:Y}=H;H.evaluated=U.const("evaluated",(0,a._)`${Y}.evaluated`),U.if((0,a._)`${H.evaluated}.dynamicProps`,()=>U.assign((0,a._)`${H.evaluated}.props`,(0,a._)`undefined`)),U.if((0,a._)`${H.evaluated}.dynamicItems`,()=>U.assign((0,a._)`${H.evaluated}.items`,(0,a._)`undefined`))}function b(H,U){const Y=typeof H=="object"&&H[U.schemaId];return Y&&(U.code.source||U.code.process)?(0,a._)`/*# sourceURL=${Y} */`:a.nil}function _(H,U){if(A(H)&&($(H),S(H))){E(H,U);return}(0,n.boolOrEmptySchema)(H,U)}function S({schema:H,self:U}){if(typeof H=="boolean")return!H;for(const Y in H)if(U.RULES.all[Y])return!0;return!1}function A(H){return typeof H.schema!="boolean"}function E(H,U){const{schema:Y,gen:ie,opts:ce}=H;ce.$comment&&Y.$comment&&G(H),N(H),z(H);const _e=ie.const("_errs",l.default.errors);O(H,_e),ie.var(U,(0,a._)`${_e} === ${l.default.errors}`)}function $(H){(0,h.checkUnknownRules)(H),F(H)}function O(H,U){if(H.opts.jtd)return Q(H,[],!1,U);const Y=(0,e.getSchemaTypes)(H.schema),ie=(0,e.coerceAndCheckDataType)(H,Y);Q(H,Y,!ie,U)}function F(H){const{schema:U,errSchemaPath:Y,opts:ie,self:ce}=H;U.$ref&&ie.ignoreKeywordsWithRef&&(0,h.schemaHasRulesButRef)(U,ce.RULES)&&ce.logger.warn(`$ref: keywords ignored in schema at path "${Y}"`)}function q(H){const{schema:U,opts:Y}=H;U.default!==void 0&&Y.useDefaults&&Y.strictSchema&&(0,h.checkStrictMode)(H,"default is ignored in the schema root")}function N(H){const U=H.schema[H.opts.schemaId];U&&(H.baseId=(0,c.resolveUrl)(H.opts.uriResolver,H.baseId,U))}function z(H){if(H.schema.$async&&!H.schemaEnv.$async)throw new Error("async schema in sync schema")}function G({gen:H,schemaEnv:U,schema:Y,errSchemaPath:ie,opts:ce}){const _e=Y.$comment;if(ce.$comment===!0)H.code((0,a._)`${l.default.self}.logger.log(${_e})`);else if(typeof ce.$comment=="function"){const Ze=(0,a.str)`${ie}/$comment`,yt=H.scopeValue("root",{ref:U.root});H.code((0,a._)`${l.default.self}.opts.$comment(${_e}, ${Ze}, ${yt}.schema)`)}}function L(H){const{gen:U,schemaEnv:Y,validateName:ie,ValidationError:ce,opts:_e}=H;Y.$async?U.if((0,a._)`${l.default.errors} === 0`,()=>U.return(l.default.data),()=>U.throw((0,a._)`new ${ce}(${l.default.vErrors})`)):(U.assign((0,a._)`${ie}.errors`,l.default.vErrors),_e.unevaluated&&J(H),U.return((0,a._)`${l.default.errors} === 0`))}function J({gen:H,evaluated:U,props:Y,items:ie}){Y instanceof a.Name&&H.assign((0,a._)`${U}.props`,Y),ie instanceof a.Name&&H.assign((0,a._)`${U}.items`,ie)}function Q(H,U,Y,ie){const{gen:ce,schema:_e,data:Ze,allErrors:yt,opts:vt,self:bt}=H,{RULES:ct}=bt;if(_e.$ref&&(vt.ignoreKeywordsWithRef||!(0,h.schemaHasRulesButRef)(_e,ct))){ce.block(()=>K(H,"$ref",ct.all.$ref.definition));return}vt.jtd||ae(H,U),ce.block(()=>{for(const fe of ct.rules)Un(fe);Un(ct.post)});function Un(fe){(0,t.shouldUseGroup)(_e,fe)&&(fe.type?(ce.if((0,s.checkDataType)(fe.type,Ze,vt.strictNumbers)),ee(H,fe),U.length===1&&U[0]===fe.type&&Y&&(ce.else(),(0,s.reportTypeError)(H)),ce.endIf()):ee(H,fe),yt||ce.if((0,a._)`${l.default.errors} === ${ie||0}`))}}function ee(H,U){const{gen:Y,schema:ie,opts:{useDefaults:ce}}=H;ce&&(0,i.assignDefaults)(H,U.type),Y.block(()=>{for(const _e of U.rules)(0,t.shouldUseRule)(ie,_e)&&K(H,_e.keyword,_e.definition,U.type)})}function ae(H,U){H.schemaEnv.meta||!H.opts.strictTypes||(ye(H,U),H.opts.allowUnionTypes||B(H,U),P(H,H.dataTypes))}function ye(H,U){if(U.length){if(!H.dataTypes.length){H.dataTypes=U;return}U.forEach(Y=>{M(H.dataTypes,Y)||x(H,`type "${Y}" not allowed by context "${H.dataTypes.join(",")}"`)}),w(H,U)}}function B(H,U){U.length>1&&!(U.length===2&&U.includes("null"))&&x(H,"use allowUnionTypes to allow union type keyword")}function P(H,U){const Y=H.self.RULES.all;for(const ie in Y){const ce=Y[ie];if(typeof ce=="object"&&(0,t.shouldUseRule)(H.schema,ce)){const{type:_e}=ce.definition;_e.length&&!_e.some(Ze=>D(U,Ze))&&x(H,`missing type "${_e.join(",")}" for keyword "${ie}"`)}}}function D(H,U){return H.includes(U)||U==="number"&&H.includes("integer")}function M(H,U){return H.includes(U)||U==="integer"&&H.includes("number")}function w(H,U){const Y=[];for(const ie of H.dataTypes)M(U,ie)?Y.push(ie):U.includes("integer")&&ie==="number"&&Y.push("integer");H.dataTypes=Y}function x(H,U){const Y=H.schemaEnv.baseId+H.errSchemaPath;U+=` at "${Y}" (strictTypes)`,(0,h.checkStrictMode)(H,U,H.opts.strictTypes)}class I{constructor(U,Y,ie){if((0,r.validateKeywordUsage)(U,Y,ie),this.gen=U.gen,this.allErrors=U.allErrors,this.keyword=ie,this.data=U.data,this.schema=U.schema[ie],this.$data=Y.$data&&U.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,h.schemaRefOrVal)(U,this.schema,ie,this.$data),this.schemaType=Y.schemaType,this.parentSchema=U.schema,this.params={},this.it=U,this.def=Y,this.$data)this.schemaCode=U.gen.const("vSchema",oe(this.$data,U));else if(this.schemaCode=this.schemaValue,!(0,r.validSchemaType)(this.schema,Y.schemaType,Y.allowUndefined))throw new Error(`${ie} value must be ${JSON.stringify(Y.schemaType)}`);("code"in Y?Y.trackErrors:Y.errors!==!1)&&(this.errsCount=U.gen.const("_errs",l.default.errors))}result(U,Y,ie){this.failResult((0,a.not)(U),Y,ie)}failResult(U,Y,ie){this.gen.if(U),ie?ie():this.error(),Y?(this.gen.else(),Y(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(U,Y){this.failResult((0,a.not)(U),void 0,Y)}fail(U){if(U===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(U),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(U){if(!this.$data)return this.fail(U);const{schemaCode:Y}=this;this.fail((0,a._)`${Y} !== undefined && (${(0,a.or)(this.invalid$data(),U)})`)}error(U,Y,ie){if(Y){this.setParams(Y),this._error(U,ie),this.setParams({});return}this._error(U,ie)}_error(U,Y){(U?u.reportExtraError:u.reportError)(this,this.def.error,Y)}$dataError(){(0,u.reportError)(this,this.def.$dataError||u.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,u.resetErrorsCount)(this.gen,this.errsCount)}ok(U){this.allErrors||this.gen.if(U)}setParams(U,Y){Y?Object.assign(this.params,U):this.params=U}block$data(U,Y,ie=a.nil){this.gen.block(()=>{this.check$data(U,ie),Y()})}check$data(U=a.nil,Y=a.nil){if(!this.$data)return;const{gen:ie,schemaCode:ce,schemaType:_e,def:Ze}=this;ie.if((0,a.or)((0,a._)`${ce} === undefined`,Y)),U!==a.nil&&ie.assign(U,!0),(_e.length||Ze.validateSchema)&&(ie.elseIf(this.invalid$data()),this.$dataError(),U!==a.nil&&ie.assign(U,!1)),ie.else()}invalid$data(){const{gen:U,schemaCode:Y,schemaType:ie,def:ce,it:_e}=this;return(0,a.or)(Ze(),yt());function Ze(){if(ie.length){if(!(Y instanceof a.Name))throw new Error("ajv implementation error");const vt=Array.isArray(ie)?ie:[ie];return(0,a._)`${(0,s.checkDataTypes)(vt,Y,_e.opts.strictNumbers,s.DataType.Wrong)}`}return a.nil}function yt(){if(ce.validateSchema){const vt=U.scopeValue("validate$data",{ref:ce.validateSchema});return(0,a._)`!${vt}(${Y})`}return a.nil}}subschema(U,Y){const ie=(0,o.getSubschema)(this.it,U);(0,o.extendSubschemaData)(ie,this.it,U),(0,o.extendSubschemaMode)(ie,U);const ce={...this.it,...ie,items:void 0,props:void 0};return _(ce,Y),ce}mergeEvaluated(U,Y){const{it:ie,gen:ce}=this;ie.opts.unevaluated&&(ie.props!==!0&&U.props!==void 0&&(ie.props=h.mergeEvaluated.props(ce,U.props,ie.props,Y)),ie.items!==!0&&U.items!==void 0&&(ie.items=h.mergeEvaluated.items(ce,U.items,ie.items,Y)))}mergeValidEvaluated(U,Y){const{it:ie,gen:ce}=this;if(ie.opts.unevaluated&&(ie.props!==!0||ie.items!==!0))return ce.if(Y,()=>this.mergeEvaluated(U,a.Name)),!0}}kr.KeywordCxt=I;function K(H,U,Y,ie){const ce=new I(H,Y,U);"code"in Y?Y.code(ce,ie):ce.$data&&Y.validate?(0,r.funcKeywordCode)(ce,Y):"macro"in Y?(0,r.macroKeywordCode)(ce,Y):(Y.compile||Y.validate)&&(0,r.funcKeywordCode)(ce,Y)}const X=/^\/(?:[^~]|~0|~1)*$/,ue=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function oe(H,{dataLevel:U,dataNames:Y,dataPathArr:ie}){let ce,_e;if(H==="")return l.default.rootData;if(H[0]==="/"){if(!X.test(H))throw new Error(`Invalid JSON-pointer: ${H}`);ce=H,_e=l.default.rootData}else{const bt=ue.exec(H);if(!bt)throw new Error(`Invalid JSON-pointer: ${H}`);const ct=+bt[1];if(ce=bt[2],ce==="#"){if(ct>=U)throw new Error(vt("property/index",ct));return ie[U-ct]}if(ct>U)throw new Error(vt("data",ct));if(_e=Y[U-ct],!ce)return _e}let Ze=_e;const yt=ce.split("/");for(const bt of yt)bt&&(_e=(0,a._)`${_e}${(0,a.getProperty)((0,h.unescapeJsonPointer)(bt))}`,Ze=(0,a._)`${Ze} && ${_e}`);return Ze;function vt(bt,ct){return`Cannot access ${bt} ${ct} levels up, current level is ${U}`}}return kr.getData=oe,kr}var Lp={},tA;function Y_(){if(tA)return Lp;tA=1,Object.defineProperty(Lp,"__esModule",{value:!0});class n extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}}return Lp.default=n,Lp}var du={};Object.defineProperty(du,"__esModule",{value:!0});const _0=Ln;let VH=class extends Error{constructor(e,t,s,i){super(i||`can't resolve reference ${s} from id ${t}`),this.missingRef=(0,_0.resolveUrl)(e,t,s),this.missingSchema=(0,_0.normalizeId)((0,_0.getFullPath)(e,this.missingRef))}};du.default=VH;var Ss={};Object.defineProperty(Ss,"__esModule",{value:!0});Ss.resolveSchema=Ss.getCompilingSchema=Ss.resolveRef=Ss.compileSchema=Ss.SchemaEnv=void 0;const fi=Ge,WH=Y_(),xa=ya(),Mi=Ln,nA=ve,GH=Ny();let Ly=class{constructor(e){var t;this.refs={},this.dynamicAnchors={};let s;typeof e.schema=="object"&&(s=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(t=e.baseId)!==null&&t!==void 0?t:(0,Mi.normalizeId)(s==null?void 0:s[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=s==null?void 0:s.$async,this.refs={}}};Ss.SchemaEnv=Ly;function J_(n){const e=k$.call(this,n);if(e)return e;const t=(0,Mi.getFullPath)(this.opts.uriResolver,n.root.baseId),{es5:s,lines:i}=this.opts.code,{ownProperties:r}=this.opts,o=new fi.CodeGen(this.scope,{es5:s,lines:i,ownProperties:r});let a;n.$async&&(a=o.scopeValue("Error",{ref:WH.default,code:(0,fi._)`require("ajv/dist/runtime/validation_error").default`}));const l=o.scopeName("validate");n.validateName=l;const c={gen:o,allErrors:this.opts.allErrors,data:xa.default.data,parentData:xa.default.parentData,parentDataProperty:xa.default.parentDataProperty,dataNames:[xa.default.data],dataPathArr:[fi.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:n.schema,code:(0,fi.stringify)(n.schema)}:{ref:n.schema}),validateName:l,ValidationError:a,schema:n.schema,schemaEnv:n,rootId:t,baseId:n.baseId||t,schemaPath:fi.nil,errSchemaPath:n.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,fi._)`""`,opts:this.opts,self:this};let h;try{this._compilations.add(n),(0,GH.validateFunctionCode)(c),o.optimize(this.opts.code.optimize);const u=o.toString();h=`${o.scopeRefs(xa.default.scope)}return ${u}`,this.opts.code.process&&(h=this.opts.code.process(h,n));const p=new Function(`${xa.default.self}`,`${xa.default.scope}`,h)(this,this.scope.get());if(this.scope.value(l,{ref:p}),p.errors=null,p.schema=n.schema,p.schemaEnv=n,n.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:l,validateCode:u,scopeValues:o._values}),this.opts.unevaluated){const{props:m,items:g}=c;p.evaluated={props:m instanceof fi.Name?void 0:m,items:g instanceof fi.Name?void 0:g,dynamicProps:m instanceof fi.Name,dynamicItems:g instanceof fi.Name},p.source&&(p.source.evaluated=(0,fi.stringify)(p.evaluated))}return n.validate=p,n}catch(u){throw delete n.validate,delete n.validateName,h&&this.logger.error("Error compiling schema, function code:",h),u}finally{this._compilations.delete(n)}}Ss.compileSchema=J_;function KH(n,e,t){var s;t=(0,Mi.resolveUrl)(this.opts.uriResolver,e,t);const i=n.refs[t];if(i)return i;let r=YH.call(this,n,t);if(r===void 0){const o=(s=n.localRefs)===null||s===void 0?void 0:s[t],{schemaId:a}=this.opts;o&&(r=new Ly({schema:o,schemaId:a,root:n,baseId:e}))}if(r!==void 0)return n.refs[t]=ZH.call(this,r)}Ss.resolveRef=KH;function ZH(n){return(0,Mi.inlineRef)(n.schema,this.opts.inlineRefs)?n.schema:n.validate?n:J_.call(this,n)}function k$(n){for(const e of this._compilations)if(XH(e,n))return e}Ss.getCompilingSchema=k$;function XH(n,e){return n.schema===e.schema&&n.root===e.root&&n.baseId===e.baseId}function YH(n,e){let t;for(;typeof(t=this.refs[e])=="string";)e=t;return t||this.schemas[e]||Dy.call(this,n,e)}function Dy(n,e){const t=this.opts.uriResolver.parse(e),s=(0,Mi._getFullPath)(this.opts.uriResolver,t);let i=(0,Mi.getFullPath)(this.opts.uriResolver,n.baseId,void 0);if(Object.keys(n.schema).length>0&&s===i)return S0.call(this,t,n);const r=(0,Mi.normalizeId)(s),o=this.refs[r]||this.schemas[r];if(typeof o=="string"){const a=Dy.call(this,n,o);return typeof(a==null?void 0:a.schema)!="object"?void 0:S0.call(this,t,a)}if(typeof(o==null?void 0:o.schema)=="object"){if(o.validate||J_.call(this,o),r===(0,Mi.normalizeId)(e)){const{schema:a}=o,{schemaId:l}=this.opts,c=a[l];return c&&(i=(0,Mi.resolveUrl)(this.opts.uriResolver,i,c)),new Ly({schema:a,schemaId:l,root:n,baseId:i})}return S0.call(this,t,o)}}Ss.resolveSchema=Dy;const JH=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function S0(n,{baseId:e,schema:t,root:s}){var i;if(((i=n.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(const a of n.fragment.slice(1).split("/")){if(typeof t=="boolean")return;const l=t[(0,nA.unescapeFragment)(a)];if(l===void 0)return;t=l;const c=typeof t=="object"&&t[this.opts.schemaId];!JH.has(a)&&c&&(e=(0,Mi.resolveUrl)(this.opts.uriResolver,e,c))}let r;if(typeof t!="boolean"&&t.$ref&&!(0,nA.schemaHasRulesButRef)(t,this.RULES)){const a=(0,Mi.resolveUrl)(this.opts.uriResolver,e,t.$ref);r=Dy.call(this,s,a)}const{schemaId:o}=this.opts;if(r=r||new Ly({schema:t,schemaId:o,root:s,baseId:e}),r.schema!==r.root.schema)return r}const QH="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",eB="Meta-schema for $data reference (JSON AnySchema extension proposal)",tB="object",nB=["$data"],sB={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},iB=!1,rB={$id:QH,description:eB,type:tB,required:nB,properties:sB,additionalProperties:iB};var Q_={},Fy={exports:{}};const oB=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),A$=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u),eS=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),x$=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),aB=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function E$(n){let e="",t=0,s=0;for(s=0;s=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102))return"";e+=n[s];break}for(s+=1;s=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102))return"";e+=n[s]}return e}const lB=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function sA(n){return n.length=0,!0}function cB(n,e,t){if(n.length){const s=E$(n);if(s!=="")e.push(s);else return t.error=!0,!1;n.length=0}return!0}function hB(n){let e=0;const t={error:!1,address:"",zone:""},s=[],i=[];let r=!1,o=!1,a=cB;for(let l=0;l7){t.error=!0;break}l>0&&n[l-1]===":"&&(r=!0),s.push(":");continue}else if(c==="%"){if(!a(i,s,t))break;a=sA}else{i.push(c);continue}}return i.length&&(a===sA?t.zone=i.join(""):o?s.push(i.join("")):s.push(E$(i))),t.address=s.join(""),t}function C$(n){if(uB(n,":")<2)return{host:n,isIPV6:!1};const e=hB(n);if(e.error)return{host:n,isIPV6:!1};{let t=e.address,s=e.address;return e.zone&&(t+="%"+e.zone,s+="%25"+e.zone),{host:t,isIPV6:!0,escapedHost:s}}}function uB(n,e){let t=0;for(let s=0;sfB[s])}function gB(n,e=!1){if(n.indexOf("%")===-1)return n;let t="";for(let s=0;s65535))return"URI port is malformed."}function bg(n,e){const t=Object.assign({},e),s={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0};let i=!1,r=!1;t.reference==="suffix"&&(t.scheme?n=t.scheme+":"+n:n="//"+n);const o=n.match(WB);o!==null&&o[1].indexOf("\\")!==-1&&(s.error="URI authority must not contain a literal backslash.",i=!0);const a=n.match(GB);if(a!==null){const c=a[1],h=c.replace(/[\t\n\r]/g,"");h.length>=2&&(h.slice(0,2)!=="//"?(s.error=s.error||"URI authority must not contain a literal backslash.",i=!0):c.length!==h.length&&(s.error=s.error||"URI authority introducer must not contain whitespace.",i=!0))}const l=n.match(VB);if(l){s.scheme=l[1],s.userinfo=l[3],s.host=l[4],s.port=parseInt(l[5],10),s.path=l[6]||"",s.query=l[7],s.fragment=l[8],isNaN(s.port)&&(s.port=l[5]);const c=KB(s,l);if(c!==void 0&&(s.error=s.error||c,i=!0),s.host)if(jB(s.host)===!1){const d=IB(s.host);s.host=d.host.toLowerCase(),r=d.isIPV6}else r=!0;s.scheme===void 0&&s.userinfo===void 0&&s.host===void 0&&s.port===void 0&&s.query===void 0&&!s.path?s.reference="same-document":s.scheme===void 0?s.reference="relative":s.fragment===void 0?s.reference="absolute":s.reference="uri",t.reference&&t.reference!=="suffix"&&t.reference!==s.reference&&(s.error=s.error||"URI is not a "+t.reference+" reference.");const h=O$(t.scheme||s.scheme);if(!t.unicodeSupport&&(!h||!h.unicodeSupport)&&s.host&&(t.domainHost||h&&h.domainHost)&&r===!1&&zB(s.host))try{s.host=new URL("http://"+s.host).hostname}catch(u){s.error=s.error||"Host's domain name can not be converted to ASCII: "+u}if((!h||h&&!h.skipNormalize)&&(n.indexOf("%")!==-1&&(s.scheme!==void 0&&(s.scheme=unescape(s.scheme)),s.host!==void 0&&(s.host=FB(unescape(s.host),r))),s.path&&(s.path=LB(s.path)),s.fragment))try{s.fragment=encodeURI(decodeURIComponent(s.fragment))}catch{s.error=s.error||"URI malformed"}h&&h.parse&&h.parse(s,t)}else s.error=s.error||"URI can not be parsed.";return{parsed:s,malformedAuthorityOrPort:i}}function wg(n,e){return bg(n,e).parsed}function ZB(n,e){return L$(n,e).normalized}function L$(n,e){const{parsed:t,malformedAuthorityOrPort:s}=bg(n,e);return{normalized:s?n:Gl(t,e),malformedAuthorityOrPort:s}}function iA(n,e){if(typeof n=="string"){const{normalized:t,malformedAuthorityOrPort:s}=L$(n,e);return s?void 0:t}if(typeof n=="object")return Gl(n,e)}const nS={SCHEMES:HB,normalize:BB,resolve:qB,resolveComponent:N$,equal:UB,serialize:Gl,parse:wg};Fy.exports=nS;Fy.exports.default=nS;Fy.exports.fastUri=nS;var D$=Fy.exports;Object.defineProperty(Q_,"__esModule",{value:!0});const F$=D$;F$.code='require("ajv/dist/runtime/uri").default';Q_.default=F$;(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.CodeGen=n.Name=n.nil=n.stringify=n.str=n._=n.KeywordCxt=void 0;var e=Ny();Object.defineProperty(n,"KeywordCxt",{enumerable:!0,get:function(){return e.KeywordCxt}});var t=Ge;Object.defineProperty(n,"_",{enumerable:!0,get:function(){return t._}}),Object.defineProperty(n,"str",{enumerable:!0,get:function(){return t.str}}),Object.defineProperty(n,"stringify",{enumerable:!0,get:function(){return t.stringify}}),Object.defineProperty(n,"nil",{enumerable:!0,get:function(){return t.nil}}),Object.defineProperty(n,"Name",{enumerable:!0,get:function(){return t.Name}}),Object.defineProperty(n,"CodeGen",{enumerable:!0,get:function(){return t.CodeGen}});const s=Y_(),i=du,r=Wl,o=Ss,a=Ge,l=Ln,c=un,h=ve,u=rB,d=Q_,p=(B,P)=>new RegExp(B,P);p.code="new RegExp";const m=["removeAdditional","useDefaults","coerceTypes"],g=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),v={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},y={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},b=200;function _(B){var P,D,M,w,x,I,K,X,ue,oe,H,U,Y,ie,ce,_e,Ze,yt,vt,bt,ct,Un,fe,xe,Ke;const Qe=B.strict,it=(P=B.code)===null||P===void 0?void 0:P.optimize,wt=it===!0||it===void 0?1:it||0,Cn=(M=(D=B.code)===null||D===void 0?void 0:D.regExp)!==null&&M!==void 0?M:p,Vn=(w=B.uriResolver)!==null&&w!==void 0?w:d.default;return{strictSchema:(I=(x=B.strictSchema)!==null&&x!==void 0?x:Qe)!==null&&I!==void 0?I:!0,strictNumbers:(X=(K=B.strictNumbers)!==null&&K!==void 0?K:Qe)!==null&&X!==void 0?X:!0,strictTypes:(oe=(ue=B.strictTypes)!==null&&ue!==void 0?ue:Qe)!==null&&oe!==void 0?oe:"log",strictTuples:(U=(H=B.strictTuples)!==null&&H!==void 0?H:Qe)!==null&&U!==void 0?U:"log",strictRequired:(ie=(Y=B.strictRequired)!==null&&Y!==void 0?Y:Qe)!==null&&ie!==void 0?ie:!1,code:B.code?{...B.code,optimize:wt,regExp:Cn}:{optimize:wt,regExp:Cn},loopRequired:(ce=B.loopRequired)!==null&&ce!==void 0?ce:b,loopEnum:(_e=B.loopEnum)!==null&&_e!==void 0?_e:b,meta:(Ze=B.meta)!==null&&Ze!==void 0?Ze:!0,messages:(yt=B.messages)!==null&&yt!==void 0?yt:!0,inlineRefs:(vt=B.inlineRefs)!==null&&vt!==void 0?vt:!0,schemaId:(bt=B.schemaId)!==null&&bt!==void 0?bt:"$id",addUsedSchema:(ct=B.addUsedSchema)!==null&&ct!==void 0?ct:!0,validateSchema:(Un=B.validateSchema)!==null&&Un!==void 0?Un:!0,validateFormats:(fe=B.validateFormats)!==null&&fe!==void 0?fe:!0,unicodeRegExp:(xe=B.unicodeRegExp)!==null&&xe!==void 0?xe:!0,int32range:(Ke=B.int32range)!==null&&Ke!==void 0?Ke:!0,uriResolver:Vn}}class S{constructor(P={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,P=this.opts={...P,..._(P)};const{es5:D,lines:M}=this.opts.code;this.scope=new a.ValueScope({scope:{},prefixes:g,es5:D,lines:M}),this.logger=z(P.logger);const w=P.validateFormats;P.validateFormats=!1,this.RULES=(0,r.getRules)(),A.call(this,v,P,"NOT SUPPORTED"),A.call(this,y,P,"DEPRECATED","warn"),this._metaOpts=q.call(this),P.formats&&O.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),P.keywords&&F.call(this,P.keywords),typeof P.meta=="object"&&this.addMetaSchema(P.meta),$.call(this),P.validateFormats=w}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:P,meta:D,schemaId:M}=this.opts;let w=u;M==="id"&&(w={...u},w.id=w.$id,delete w.$id),D&&P&&this.addMetaSchema(w,w[M],!1)}defaultMeta(){const{meta:P,schemaId:D}=this.opts;return this.opts.defaultMeta=typeof P=="object"?P[D]||P:void 0}validate(P,D){let M;if(typeof P=="string"){if(M=this.getSchema(P),!M)throw new Error(`no schema with key or ref "${P}"`)}else M=this.compile(P);const w=M(D);return"$async"in M||(this.errors=M.errors),w}compile(P,D){const M=this._addSchema(P,D);return M.validate||this._compileSchemaEnv(M)}compileAsync(P,D){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");const{loadSchema:M}=this.opts;return w.call(this,P,D);async function w(oe,H){await x.call(this,oe.$schema);const U=this._addSchema(oe,H);return U.validate||I.call(this,U)}async function x(oe){oe&&!this.getSchema(oe)&&await w.call(this,{$ref:oe},!0)}async function I(oe){try{return this._compileSchemaEnv(oe)}catch(H){if(!(H instanceof i.default))throw H;return K.call(this,H),await X.call(this,H.missingSchema),I.call(this,oe)}}function K({missingSchema:oe,missingRef:H}){if(this.refs[oe])throw new Error(`AnySchema ${oe} is loaded but ${H} cannot be resolved`)}async function X(oe){const H=await ue.call(this,oe);this.refs[oe]||await x.call(this,H.$schema),this.refs[oe]||this.addSchema(H,oe,D)}async function ue(oe){const H=this._loading[oe];if(H)return H;try{return await(this._loading[oe]=M(oe))}finally{delete this._loading[oe]}}}addSchema(P,D,M,w=this.opts.validateSchema){if(Array.isArray(P)){for(const I of P)this.addSchema(I,void 0,M,w);return this}let x;if(typeof P=="object"){const{schemaId:I}=this.opts;if(x=P[I],x!==void 0&&typeof x!="string")throw new Error(`schema ${I} must be string`)}return D=(0,l.normalizeId)(D||x),this._checkUnique(D),this.schemas[D]=this._addSchema(P,M,D,w,!0),this}addMetaSchema(P,D,M=this.opts.validateSchema){return this.addSchema(P,D,!0,M),this}validateSchema(P,D){if(typeof P=="boolean")return!0;let M;if(M=P.$schema,M!==void 0&&typeof M!="string")throw new Error("$schema must be a string");if(M=M||this.opts.defaultMeta||this.defaultMeta(),!M)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const w=this.validate(M,P);if(!w&&D){const x="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(x);else throw new Error(x)}return w}getSchema(P){let D;for(;typeof(D=E.call(this,P))=="string";)P=D;if(D===void 0){const{schemaId:M}=this.opts,w=new o.SchemaEnv({schema:{},schemaId:M});if(D=o.resolveSchema.call(this,w,P),!D)return;this.refs[P]=D}return D.validate||this._compileSchemaEnv(D)}removeSchema(P){if(P instanceof RegExp)return this._removeAllSchemas(this.schemas,P),this._removeAllSchemas(this.refs,P),this;switch(typeof P){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const D=E.call(this,P);return typeof D=="object"&&this._cache.delete(D.schema),delete this.schemas[P],delete this.refs[P],this}case"object":{const D=P;this._cache.delete(D);let M=P[this.opts.schemaId];return M&&(M=(0,l.normalizeId)(M),delete this.schemas[M],delete this.refs[M]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(P){for(const D of P)this.addKeyword(D);return this}addKeyword(P,D){let M;if(typeof P=="string")M=P,typeof D=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),D.keyword=M);else if(typeof P=="object"&&D===void 0){if(D=P,M=D.keyword,Array.isArray(M)&&!M.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(L.call(this,M,D),!D)return(0,h.eachItem)(M,x=>J.call(this,x)),this;ee.call(this,D);const w={...D,type:(0,c.getJSONTypes)(D.type),schemaType:(0,c.getJSONTypes)(D.schemaType)};return(0,h.eachItem)(M,w.type.length===0?x=>J.call(this,x,w):x=>w.type.forEach(I=>J.call(this,x,w,I))),this}getKeyword(P){const D=this.RULES.all[P];return typeof D=="object"?D.definition:!!D}removeKeyword(P){const{RULES:D}=this;delete D.keywords[P],delete D.all[P];for(const M of D.rules){const w=M.rules.findIndex(x=>x.keyword===P);w>=0&&M.rules.splice(w,1)}return this}addFormat(P,D){return typeof D=="string"&&(D=new RegExp(D)),this.formats[P]=D,this}errorsText(P=this.errors,{separator:D=", ",dataVar:M="data"}={}){return!P||P.length===0?"No errors":P.map(w=>`${M}${w.instancePath} ${w.message}`).reduce((w,x)=>w+D+x)}$dataMetaSchema(P,D){const M=this.RULES.all;P=JSON.parse(JSON.stringify(P));for(const w of D){const x=w.split("/").slice(1);let I=P;for(const K of x)I=I[K];for(const K in M){const X=M[K];if(typeof X!="object")continue;const{$data:ue}=X.definition,oe=I[K];ue&&oe&&(I[K]=ye(oe))}}return P}_removeAllSchemas(P,D){for(const M in P){const w=P[M];(!D||D.test(M))&&(typeof w=="string"?delete P[M]:w&&!w.meta&&(this._cache.delete(w.schema),delete P[M]))}}_addSchema(P,D,M,w=this.opts.validateSchema,x=this.opts.addUsedSchema){let I;const{schemaId:K}=this.opts;if(typeof P=="object")I=P[K];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof P!="boolean")throw new Error("schema must be object or boolean")}let X=this._cache.get(P);if(X!==void 0)return X;M=(0,l.normalizeId)(I||M);const ue=l.getSchemaRefs.call(this,P,M);return X=new o.SchemaEnv({schema:P,schemaId:K,meta:D,baseId:M,localRefs:ue}),this._cache.set(X.schema,X),x&&!M.startsWith("#")&&(M&&this._checkUnique(M),this.refs[M]=X),w&&this.validateSchema(P,!0),X}_checkUnique(P){if(this.schemas[P]||this.refs[P])throw new Error(`schema with key or id "${P}" already exists`)}_compileSchemaEnv(P){if(P.meta?this._compileMetaSchema(P):o.compileSchema.call(this,P),!P.validate)throw new Error("ajv implementation error");return P.validate}_compileMetaSchema(P){const D=this.opts;this.opts=this._metaOpts;try{o.compileSchema.call(this,P)}finally{this.opts=D}}}S.ValidationError=s.default,S.MissingRefError=i.default,n.default=S;function A(B,P,D,M="error"){for(const w in B){const x=w;x in P&&this.logger[M](`${D}: option ${w}. ${B[x]}`)}}function E(B){return B=(0,l.normalizeId)(B),this.schemas[B]||this.refs[B]}function $(){const B=this.opts.schemas;if(B)if(Array.isArray(B))this.addSchema(B);else for(const P in B)this.addSchema(B[P],P)}function O(){for(const B in this.opts.formats){const P=this.opts.formats[B];P&&this.addFormat(B,P)}}function F(B){if(Array.isArray(B)){this.addVocabulary(B);return}this.logger.warn("keywords option as map is deprecated, pass array");for(const P in B){const D=B[P];D.keyword||(D.keyword=P),this.addKeyword(D)}}function q(){const B={...this.opts};for(const P of m)delete B[P];return B}const N={log(){},warn(){},error(){}};function z(B){if(B===!1)return N;if(B===void 0)return console;if(B.log&&B.warn&&B.error)return B;throw new Error("logger must implement log, warn and error methods")}const G=/^[a-z_$][a-z0-9_$:-]*$/i;function L(B,P){const{RULES:D}=this;if((0,h.eachItem)(B,M=>{if(D.keywords[M])throw new Error(`Keyword ${M} is already defined`);if(!G.test(M))throw new Error(`Keyword ${M} has invalid name`)}),!!P&&P.$data&&!("code"in P||"validate"in P))throw new Error('$data keyword must have "code" or "validate" function')}function J(B,P,D){var M;const w=P==null?void 0:P.post;if(D&&w)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:x}=this;let I=w?x.post:x.rules.find(({type:X})=>X===D);if(I||(I={type:D,rules:[]},x.rules.push(I)),x.keywords[B]=!0,!P)return;const K={keyword:B,definition:{...P,type:(0,c.getJSONTypes)(P.type),schemaType:(0,c.getJSONTypes)(P.schemaType)}};P.before?Q.call(this,I,K,P.before):I.rules.push(K),x.all[B]=K,(M=P.implements)===null||M===void 0||M.forEach(X=>this.addKeyword(X))}function Q(B,P,D){const M=B.rules.findIndex(w=>w.keyword===D);M>=0?B.rules.splice(M,0,P):(B.rules.push(P),this.logger.warn(`rule ${D} is not defined`))}function ee(B){let{metaSchema:P}=B;P!==void 0&&(B.$data&&this.opts.$data&&(P=ye(P)),B.validateSchema=this.compile(P,!0))}const ae={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function ye(B){return{anyOf:[B,ae]}}})(l$);var sS={},iS={},rS={};Object.defineProperty(rS,"__esModule",{value:!0});const XB={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};rS.default=XB;var Kl={};Object.defineProperty(Kl,"__esModule",{value:!0});Kl.callRef=Kl.getValidate=void 0;const YB=du,rA=ji(),bs=Ge,pc=ya(),oA=Ss,Dp=ve,JB={keyword:"$ref",schemaType:"string",code(n){const{gen:e,schema:t,it:s}=n,{baseId:i,schemaEnv:r,validateName:o,opts:a,self:l}=s,{root:c}=r;if((t==="#"||t==="#/")&&i===c.baseId)return u();const h=oA.resolveRef.call(l,c,i,t);if(h===void 0)throw new YB.default(s.opts.uriResolver,i,t);if(h instanceof oA.SchemaEnv)return d(h);return p(h);function u(){if(r===c)return Sm(n,o,r,r.$async);const m=e.scopeValue("root",{ref:c});return Sm(n,(0,bs._)`${m}.validate`,c,c.$async)}function d(m){const g=j$(n,m);Sm(n,g,m,m.$async)}function p(m){const g=e.scopeValue("schema",a.code.source===!0?{ref:m,code:(0,bs.stringify)(m)}:{ref:m}),v=e.name("valid"),y=n.subschema({schema:m,dataTypes:[],schemaPath:bs.nil,topSchemaRef:g,errSchemaPath:t},v);n.mergeEvaluated(y),n.ok(v)}}};function j$(n,e){const{gen:t}=n;return e.validate?t.scopeValue("validate",{ref:e.validate}):(0,bs._)`${t.scopeValue("wrapper",{ref:e})}.validate`}Kl.getValidate=j$;function Sm(n,e,t,s){const{gen:i,it:r}=n,{allErrors:o,schemaEnv:a,opts:l}=r,c=l.passContext?pc.default.this:bs.nil;s?h():u();function h(){if(!a.$async)throw new Error("async schema referenced by sync schema");const m=i.let("valid");i.try(()=>{i.code((0,bs._)`await ${(0,rA.callValidateCode)(n,e,c)}`),p(e),o||i.assign(m,!0)},g=>{i.if((0,bs._)`!(${g} instanceof ${r.ValidationError})`,()=>i.throw(g)),d(g),o||i.assign(m,!1)}),n.ok(m)}function u(){n.result((0,rA.callValidateCode)(n,e,c),()=>p(e),()=>d(e))}function d(m){const g=(0,bs._)`${m}.errors`;i.assign(pc.default.vErrors,(0,bs._)`${pc.default.vErrors} === null ? ${g} : ${pc.default.vErrors}.concat(${g})`),i.assign(pc.default.errors,(0,bs._)`${pc.default.vErrors}.length`)}function p(m){var g;if(!r.opts.unevaluated)return;const v=(g=t==null?void 0:t.validate)===null||g===void 0?void 0:g.evaluated;if(r.props!==!0)if(v&&!v.dynamicProps)v.props!==void 0&&(r.props=Dp.mergeEvaluated.props(i,v.props,r.props));else{const y=i.var("props",(0,bs._)`${m}.evaluated.props`);r.props=Dp.mergeEvaluated.props(i,y,r.props,bs.Name)}if(r.items!==!0)if(v&&!v.dynamicItems)v.items!==void 0&&(r.items=Dp.mergeEvaluated.items(i,v.items,r.items));else{const y=i.var("items",(0,bs._)`${m}.evaluated.items`);r.items=Dp.mergeEvaluated.items(i,y,r.items,bs.Name)}}}Kl.callRef=Sm;Kl.default=JB;Object.defineProperty(iS,"__esModule",{value:!0});const QB=rS,eq=Kl,tq=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",QB.default,eq.default];iS.default=tq;var oS={},aS={};Object.defineProperty(aS,"__esModule",{value:!0});const _g=Ge,fo=_g.operators,Sg={maximum:{okStr:"<=",ok:fo.LTE,fail:fo.GT},minimum:{okStr:">=",ok:fo.GTE,fail:fo.LT},exclusiveMaximum:{okStr:"<",ok:fo.LT,fail:fo.GTE},exclusiveMinimum:{okStr:">",ok:fo.GT,fail:fo.LTE}},nq={message:({keyword:n,schemaCode:e})=>(0,_g.str)`must be ${Sg[n].okStr} ${e}`,params:({keyword:n,schemaCode:e})=>(0,_g._)`{comparison: ${Sg[n].okStr}, limit: ${e}}`},sq={keyword:Object.keys(Sg),type:"number",schemaType:"number",$data:!0,error:nq,code(n){const{keyword:e,data:t,schemaCode:s}=n;n.fail$data((0,_g._)`${t} ${Sg[e].fail} ${s} || isNaN(${t})`)}};aS.default=sq;var lS={};Object.defineProperty(lS,"__esModule",{value:!0});const od=Ge,iq={message:({schemaCode:n})=>(0,od.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,od._)`{multipleOf: ${n}}`},rq={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:iq,code(n){const{gen:e,data:t,schemaCode:s,it:i}=n,r=i.opts.multipleOfPrecision,o=e.let("res"),a=r?(0,od._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${r}`:(0,od._)`${o} !== parseInt(${o})`;n.fail$data((0,od._)`(${s} === 0 || (${o} = ${t}/${s}, ${a}))`)}};lS.default=rq;var cS={},hS={};Object.defineProperty(hS,"__esModule",{value:!0});function z$(n){const e=n.length;let t=0,s=0,i;for(;s=55296&&i<=56319&&s(0,Da._)`{limit: ${n}}`},cq={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:lq,code(n){const{keyword:e,data:t,schemaCode:s,it:i}=n,r=e==="maxLength"?Da.operators.GT:Da.operators.LT,o=i.opts.unicode===!1?(0,Da._)`${t}.length`:(0,Da._)`${(0,oq.useFunc)(n.gen,aq.default)}(${t})`;n.fail$data((0,Da._)`${o} ${r} ${s}`)}};cS.default=cq;var uS={};Object.defineProperty(uS,"__esModule",{value:!0});const hq=ji(),uq=ve,Ic=Ge,dq={message:({schemaCode:n})=>(0,Ic.str)`must match pattern "${n}"`,params:({schemaCode:n})=>(0,Ic._)`{pattern: ${n}}`},fq={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:dq,code(n){const{gen:e,data:t,$data:s,schema:i,schemaCode:r,it:o}=n,a=o.opts.unicodeRegExp?"u":"";if(s){const{regExp:l}=o.opts.code,c=l.code==="new RegExp"?(0,Ic._)`new RegExp`:(0,uq.useFunc)(e,l),h=e.let("valid");e.try(()=>e.assign(h,(0,Ic._)`${c}(${r}, ${a}).test(${t})`),()=>e.assign(h,!1)),n.fail$data((0,Ic._)`!${h}`)}else{const l=(0,hq.usePattern)(n,i);n.fail$data((0,Ic._)`!${l}.test(${t})`)}}};uS.default=fq;var dS={};Object.defineProperty(dS,"__esModule",{value:!0});const ad=Ge,pq={message({keyword:n,schemaCode:e}){const t=n==="maxProperties"?"more":"fewer";return(0,ad.str)`must NOT have ${t} than ${e} properties`},params:({schemaCode:n})=>(0,ad._)`{limit: ${n}}`},mq={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:pq,code(n){const{keyword:e,data:t,schemaCode:s}=n,i=e==="maxProperties"?ad.operators.GT:ad.operators.LT;n.fail$data((0,ad._)`Object.keys(${t}).length ${i} ${s}`)}};dS.default=mq;var fS={};Object.defineProperty(fS,"__esModule",{value:!0});const Au=ji(),ld=Ge,gq=ve,yq={message:({params:{missingProperty:n}})=>(0,ld.str)`must have required property '${n}'`,params:({params:{missingProperty:n}})=>(0,ld._)`{missingProperty: ${n}}`},vq={keyword:"required",type:"object",schemaType:"array",$data:!0,error:yq,code(n){const{gen:e,schema:t,schemaCode:s,data:i,$data:r,it:o}=n,{opts:a}=o;if(!r&&t.length===0)return;const l=t.length>=a.loopRequired;if(o.allErrors?c():h(),a.strictRequired){const p=n.parentSchema.properties,{definedProperties:m}=n.it;for(const g of t)if((p==null?void 0:p[g])===void 0&&!m.has(g)){const v=o.schemaEnv.baseId+o.errSchemaPath,y=`required property "${g}" is not defined at "${v}" (strictRequired)`;(0,gq.checkStrictMode)(o,y,o.opts.strictRequired)}}function c(){if(l||r)n.block$data(ld.nil,u);else for(const p of t)(0,Au.checkReportMissingProp)(n,p)}function h(){const p=e.let("missing");if(l||r){const m=e.let("valid",!0);n.block$data(m,()=>d(p,m)),n.ok(m)}else e.if((0,Au.checkMissingProp)(n,t,p)),(0,Au.reportMissingProp)(n,p),e.else()}function u(){e.forOf("prop",s,p=>{n.setParams({missingProperty:p}),e.if((0,Au.noPropertyInData)(e,i,p,a.ownProperties),()=>n.error())})}function d(p,m){n.setParams({missingProperty:p}),e.forOf(p,s,()=>{e.assign(m,(0,Au.propertyInData)(e,i,p,a.ownProperties)),e.if((0,ld.not)(m),()=>{n.error(),e.break()})},ld.nil)}}};fS.default=vq;var pS={};Object.defineProperty(pS,"__esModule",{value:!0});const cd=Ge,bq={message({keyword:n,schemaCode:e}){const t=n==="maxItems"?"more":"fewer";return(0,cd.str)`must NOT have ${t} than ${e} items`},params:({schemaCode:n})=>(0,cd._)`{limit: ${n}}`},wq={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:bq,code(n){const{keyword:e,data:t,schemaCode:s}=n,i=e==="maxItems"?cd.operators.GT:cd.operators.LT;n.fail$data((0,cd._)`${t}.length ${i} ${s}`)}};pS.default=wq;var mS={},pp={};Object.defineProperty(pp,"__esModule",{value:!0});const H$=Oy;H$.code='require("ajv/dist/runtime/equal").default';pp.default=H$;Object.defineProperty(mS,"__esModule",{value:!0});const k0=un,$n=Ge,_q=ve,Sq=pp,kq={message:({params:{i:n,j:e}})=>(0,$n.str)`must NOT have duplicate items (items ## ${e} and ${n} are identical)`,params:({params:{i:n,j:e}})=>(0,$n._)`{i: ${n}, j: ${e}}`},Aq={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:kq,code(n){const{gen:e,data:t,$data:s,schema:i,parentSchema:r,schemaCode:o,it:a}=n;if(!s&&!i)return;const l=e.let("valid"),c=r.items?(0,k0.getSchemaTypes)(r.items):[];n.block$data(l,h,(0,$n._)`${o} === false`),n.ok(l);function h(){const m=e.let("i",(0,$n._)`${t}.length`),g=e.let("j");n.setParams({i:m,j:g}),e.assign(l,!0),e.if((0,$n._)`${m} > 1`,()=>(u()?d:p)(m,g))}function u(){return c.length>0&&!c.some(m=>m==="object"||m==="array")}function d(m,g){const v=e.name("item"),y=(0,k0.checkDataTypes)(c,v,a.opts.strictNumbers,k0.DataType.Wrong),b=e.const("indices",(0,$n._)`{}`);e.for((0,$n._)`;${m}--;`,()=>{e.let(v,(0,$n._)`${t}[${m}]`),e.if(y,(0,$n._)`continue`),c.length>1&&e.if((0,$n._)`typeof ${v} == "string"`,(0,$n._)`${v} += "_"`),e.if((0,$n._)`typeof ${b}[${v}] == "number"`,()=>{e.assign(g,(0,$n._)`${b}[${v}]`),n.error(),e.assign(l,!1).break()}).code((0,$n._)`${b}[${v}] = ${m}`)})}function p(m,g){const v=(0,_q.useFunc)(e,Sq.default),y=e.name("outer");e.label(y).for((0,$n._)`;${m}--;`,()=>e.for((0,$n._)`${g} = ${m}; ${g}--;`,()=>e.if((0,$n._)`${v}(${t}[${m}], ${t}[${g}])`,()=>{n.error(),e.assign(l,!1).break(y)})))}}};mS.default=Aq;var gS={};Object.defineProperty(gS,"__esModule",{value:!0});const xv=Ge,xq=ve,Eq=pp,Cq={message:"must be equal to constant",params:({schemaCode:n})=>(0,xv._)`{allowedValue: ${n}}`},$q={keyword:"const",$data:!0,error:Cq,code(n){const{gen:e,data:t,$data:s,schemaCode:i,schema:r}=n;s||r&&typeof r=="object"?n.fail$data((0,xv._)`!${(0,xq.useFunc)(e,Eq.default)}(${t}, ${i})`):n.fail((0,xv._)`${r} !== ${t}`)}};gS.default=$q;var yS={};Object.defineProperty(yS,"__esModule",{value:!0});const Fu=Ge,Tq=ve,Pq=pp,Rq={message:"must be equal to one of the allowed values",params:({schemaCode:n})=>(0,Fu._)`{allowedValues: ${n}}`},Mq={keyword:"enum",schemaType:"array",$data:!0,error:Rq,code(n){const{gen:e,data:t,$data:s,schema:i,schemaCode:r,it:o}=n;if(!s&&i.length===0)throw new Error("enum must have non-empty array");const a=i.length>=o.opts.loopEnum;let l;const c=()=>l??(l=(0,Tq.useFunc)(e,Pq.default));let h;if(a||s)h=e.let("valid"),n.block$data(h,u);else{if(!Array.isArray(i))throw new Error("ajv implementation error");const p=e.const("vSchema",r);h=(0,Fu.or)(...i.map((m,g)=>d(p,g)))}n.pass(h);function u(){e.assign(h,!1),e.forOf("v",r,p=>e.if((0,Fu._)`${c()}(${t}, ${p})`,()=>e.assign(h,!0).break()))}function d(p,m){const g=i[m];return typeof g=="object"&&g!==null?(0,Fu._)`${c()}(${t}, ${p}[${m}])`:(0,Fu._)`${t} === ${g}`}}};yS.default=Mq;Object.defineProperty(oS,"__esModule",{value:!0});const Iq=aS,Oq=lS,Nq=cS,Lq=uS,Dq=dS,Fq=fS,jq=pS,zq=mS,Hq=gS,Bq=yS,qq=[Iq.default,Oq.default,Nq.default,Lq.default,Dq.default,Fq.default,jq.default,zq.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Hq.default,Bq.default];oS.default=qq;var vS={},fu={};Object.defineProperty(fu,"__esModule",{value:!0});fu.validateAdditionalItems=void 0;const Fa=Ge,Ev=ve,Uq={message:({params:{len:n}})=>(0,Fa.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,Fa._)`{limit: ${n}}`},Vq={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Uq,code(n){const{parentSchema:e,it:t}=n,{items:s}=e;if(!Array.isArray(s)){(0,Ev.checkStrictMode)(t,'"additionalItems" is ignored when "items" is not an array of schemas');return}B$(n,s)}};function B$(n,e){const{gen:t,schema:s,data:i,keyword:r,it:o}=n;o.items=!0;const a=t.const("len",(0,Fa._)`${i}.length`);if(s===!1)n.setParams({len:e.length}),n.pass((0,Fa._)`${a} <= ${e.length}`);else if(typeof s=="object"&&!(0,Ev.alwaysValidSchema)(o,s)){const c=t.var("valid",(0,Fa._)`${a} <= ${e.length}`);t.if((0,Fa.not)(c),()=>l(c)),n.ok(c)}function l(c){t.forRange("i",e.length,a,h=>{n.subschema({keyword:r,dataProp:h,dataPropType:Ev.Type.Num},c),o.allErrors||t.if((0,Fa.not)(c),()=>t.break())})}}fu.validateAdditionalItems=B$;fu.default=Vq;var bS={},pu={};Object.defineProperty(pu,"__esModule",{value:!0});pu.validateTuple=void 0;const aA=Ge,km=ve,Wq=ji(),Gq={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(n){const{schema:e,it:t}=n;if(Array.isArray(e))return q$(n,"additionalItems",e);t.items=!0,!(0,km.alwaysValidSchema)(t,e)&&n.ok((0,Wq.validateArray)(n))}};function q$(n,e,t=n.schema){const{gen:s,parentSchema:i,data:r,keyword:o,it:a}=n;h(i),a.opts.unevaluated&&t.length&&a.items!==!0&&(a.items=km.mergeEvaluated.items(s,t.length,a.items));const l=s.name("valid"),c=s.const("len",(0,aA._)`${r}.length`);t.forEach((u,d)=>{(0,km.alwaysValidSchema)(a,u)||(s.if((0,aA._)`${c} > ${d}`,()=>n.subschema({keyword:o,schemaProp:d,dataProp:d},l)),n.ok(l))});function h(u){const{opts:d,errSchemaPath:p}=a,m=t.length,g=m===u.minItems&&(m===u.maxItems||u[e]===!1);if(d.strictTuples&&!g){const v=`"${o}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${p}"`;(0,km.checkStrictMode)(a,v,d.strictTuples)}}}pu.validateTuple=q$;pu.default=Gq;Object.defineProperty(bS,"__esModule",{value:!0});const Kq=pu,Zq={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,Kq.validateTuple)(n,"items")};bS.default=Zq;var wS={};Object.defineProperty(wS,"__esModule",{value:!0});const lA=Ge,Xq=ve,Yq=ji(),Jq=fu,Qq={message:({params:{len:n}})=>(0,lA.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,lA._)`{limit: ${n}}`},eU={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Qq,code(n){const{schema:e,parentSchema:t,it:s}=n,{prefixItems:i}=t;s.items=!0,!(0,Xq.alwaysValidSchema)(s,e)&&(i?(0,Jq.validateAdditionalItems)(n,i):n.ok((0,Yq.validateArray)(n)))}};wS.default=eU;var _S={};Object.defineProperty(_S,"__esModule",{value:!0});const Qs=Ge,Fp=ve,tU={message:({params:{min:n,max:e}})=>e===void 0?(0,Qs.str)`must contain at least ${n} valid item(s)`:(0,Qs.str)`must contain at least ${n} and no more than ${e} valid item(s)`,params:({params:{min:n,max:e}})=>e===void 0?(0,Qs._)`{minContains: ${n}}`:(0,Qs._)`{minContains: ${n}, maxContains: ${e}}`},nU={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:tU,code(n){const{gen:e,schema:t,parentSchema:s,data:i,it:r}=n;let o,a;const{minContains:l,maxContains:c}=s;r.opts.next?(o=l===void 0?1:l,a=c):o=1;const h=e.const("len",(0,Qs._)`${i}.length`);if(n.setParams({min:o,max:a}),a===void 0&&o===0){(0,Fp.checkStrictMode)(r,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&o>a){(0,Fp.checkStrictMode)(r,'"minContains" > "maxContains" is always invalid'),n.fail();return}if((0,Fp.alwaysValidSchema)(r,t)){let g=(0,Qs._)`${h} >= ${o}`;a!==void 0&&(g=(0,Qs._)`${g} && ${h} <= ${a}`),n.pass(g);return}r.items=!0;const u=e.name("valid");a===void 0&&o===1?p(u,()=>e.if(u,()=>e.break())):o===0?(e.let(u,!0),a!==void 0&&e.if((0,Qs._)`${i}.length > 0`,d)):(e.let(u,!1),d()),n.result(u,()=>n.reset());function d(){const g=e.name("_valid"),v=e.let("count",0);p(g,()=>e.if(g,()=>m(v)))}function p(g,v){e.forRange("i",0,h,y=>{n.subschema({keyword:"contains",dataProp:y,dataPropType:Fp.Type.Num,compositeRule:!0},g),v()})}function m(g){e.code((0,Qs._)`${g}++`),a===void 0?e.if((0,Qs._)`${g} >= ${o}`,()=>e.assign(u,!0).break()):(e.if((0,Qs._)`${g} > ${a}`,()=>e.assign(u,!1).break()),o===1?e.assign(u,!0):e.if((0,Qs._)`${g} >= ${o}`,()=>e.assign(u,!0)))}}};_S.default=nU;var U$={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.validateSchemaDeps=n.validatePropertyDeps=n.error=void 0;const e=Ge,t=ve,s=ji();n.error={message:({params:{property:l,depsCount:c,deps:h}})=>{const u=c===1?"property":"properties";return(0,e.str)`must have ${u} ${h} when property ${l} is present`},params:({params:{property:l,depsCount:c,deps:h,missingProperty:u}})=>(0,e._)`{property: ${l}, + missingProperty: ${u}, + depsCount: ${c}, + deps: ${h}}`};const i={keyword:"dependencies",type:"object",schemaType:"object",error:n.error,code(l){const[c,h]=r(l);o(l,c),a(l,h)}};function r({schema:l}){const c={},h={};for(const u in l){if(u==="__proto__")continue;const d=Array.isArray(l[u])?c:h;d[u]=l[u]}return[c,h]}function o(l,c=l.schema){const{gen:h,data:u,it:d}=l;if(Object.keys(c).length===0)return;const p=h.let("missing");for(const m in c){const g=c[m];if(g.length===0)continue;const v=(0,s.propertyInData)(h,u,m,d.opts.ownProperties);l.setParams({property:m,depsCount:g.length,deps:g.join(", ")}),d.allErrors?h.if(v,()=>{for(const y of g)(0,s.checkReportMissingProp)(l,y)}):(h.if((0,e._)`${v} && (${(0,s.checkMissingProp)(l,g,p)})`),(0,s.reportMissingProp)(l,p),h.else())}}n.validatePropertyDeps=o;function a(l,c=l.schema){const{gen:h,data:u,keyword:d,it:p}=l,m=h.name("valid");for(const g in c)(0,t.alwaysValidSchema)(p,c[g])||(h.if((0,s.propertyInData)(h,u,g,p.opts.ownProperties),()=>{const v=l.subschema({keyword:d,schemaProp:g},m);l.mergeValidEvaluated(v,m)},()=>h.var(m,!0)),l.ok(m))}n.validateSchemaDeps=a,n.default=i})(U$);var SS={};Object.defineProperty(SS,"__esModule",{value:!0});const V$=Ge,sU=ve,iU={message:"property name must be valid",params:({params:n})=>(0,V$._)`{propertyName: ${n.propertyName}}`},rU={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:iU,code(n){const{gen:e,schema:t,data:s,it:i}=n;if((0,sU.alwaysValidSchema)(i,t))return;const r=e.name("valid");e.forIn("key",s,o=>{n.setParams({propertyName:o}),n.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},r),e.if((0,V$.not)(r),()=>{n.error(!0),i.allErrors||e.break()})}),n.ok(r)}};SS.default=rU;var jy={};Object.defineProperty(jy,"__esModule",{value:!0});const jp=ji(),mi=Ge,oU=ya(),zp=ve,aU={message:"must NOT have additional properties",params:({params:n})=>(0,mi._)`{additionalProperty: ${n.additionalProperty}}`},lU={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:aU,code(n){const{gen:e,schema:t,parentSchema:s,data:i,errsCount:r,it:o}=n;if(!r)throw new Error("ajv implementation error");const{allErrors:a,opts:l}=o;if(o.props=!0,l.removeAdditional!=="all"&&(0,zp.alwaysValidSchema)(o,t))return;const c=(0,jp.allSchemaProperties)(s.properties),h=(0,jp.allSchemaProperties)(s.patternProperties);u(),n.ok((0,mi._)`${r} === ${oU.default.errors}`);function u(){e.forIn("key",i,v=>{!c.length&&!h.length?m(v):e.if(d(v),()=>m(v))})}function d(v){let y;if(c.length>8){const b=(0,zp.schemaRefOrVal)(o,s.properties,"properties");y=(0,jp.isOwnProperty)(e,b,v)}else c.length?y=(0,mi.or)(...c.map(b=>(0,mi._)`${v} === ${b}`)):y=mi.nil;return h.length&&(y=(0,mi.or)(y,...h.map(b=>(0,mi._)`${(0,jp.usePattern)(n,b)}.test(${v})`))),(0,mi.not)(y)}function p(v){e.code((0,mi._)`delete ${i}[${v}]`)}function m(v){if(l.removeAdditional==="all"||l.removeAdditional&&t===!1){p(v);return}if(t===!1){n.setParams({additionalProperty:v}),n.error(),a||e.break();return}if(typeof t=="object"&&!(0,zp.alwaysValidSchema)(o,t)){const y=e.name("valid");l.removeAdditional==="failing"?(g(v,y,!1),e.if((0,mi.not)(y),()=>{n.reset(),p(v)})):(g(v,y),a||e.if((0,mi.not)(y),()=>e.break()))}}function g(v,y,b){const _={keyword:"additionalProperties",dataProp:v,dataPropType:zp.Type.Str};b===!1&&Object.assign(_,{compositeRule:!0,createErrors:!1,allErrors:!1}),n.subschema(_,y)}}};jy.default=lU;var kS={};Object.defineProperty(kS,"__esModule",{value:!0});const cU=Ny(),cA=ji(),A0=ve,hA=jy,hU={keyword:"properties",type:"object",schemaType:"object",code(n){const{gen:e,schema:t,parentSchema:s,data:i,it:r}=n;r.opts.removeAdditional==="all"&&s.additionalProperties===void 0&&hA.default.code(new cU.KeywordCxt(r,hA.default,"additionalProperties"));const o=(0,cA.allSchemaProperties)(t);for(const u of o)r.definedProperties.add(u);r.opts.unevaluated&&o.length&&r.props!==!0&&(r.props=A0.mergeEvaluated.props(e,(0,A0.toHash)(o),r.props));const a=o.filter(u=>!(0,A0.alwaysValidSchema)(r,t[u]));if(a.length===0)return;const l=e.name("valid");for(const u of a)c(u)?h(u):(e.if((0,cA.propertyInData)(e,i,u,r.opts.ownProperties)),h(u),r.allErrors||e.else().var(l,!0),e.endIf()),n.it.definedProperties.add(u),n.ok(l);function c(u){return r.opts.useDefaults&&!r.compositeRule&&t[u].default!==void 0}function h(u){n.subschema({keyword:"properties",schemaProp:u,dataProp:u},l)}}};kS.default=hU;var AS={};Object.defineProperty(AS,"__esModule",{value:!0});const uA=ji(),Hp=Ge,dA=ve,fA=ve,uU={keyword:"patternProperties",type:"object",schemaType:"object",code(n){const{gen:e,schema:t,data:s,parentSchema:i,it:r}=n,{opts:o}=r,a=(0,uA.allSchemaProperties)(t),l=a.filter(g=>(0,dA.alwaysValidSchema)(r,t[g]));if(a.length===0||l.length===a.length&&(!r.opts.unevaluated||r.props===!0))return;const c=o.strictSchema&&!o.allowMatchingProperties&&i.properties,h=e.name("valid");r.props!==!0&&!(r.props instanceof Hp.Name)&&(r.props=(0,fA.evaluatedPropsToName)(e,r.props));const{props:u}=r;d();function d(){for(const g of a)c&&p(g),r.allErrors?m(g):(e.var(h,!0),m(g),e.if(h))}function p(g){for(const v in c)new RegExp(g).test(v)&&(0,dA.checkStrictMode)(r,`property ${v} matches pattern ${g} (use allowMatchingProperties)`)}function m(g){e.forIn("key",s,v=>{e.if((0,Hp._)`${(0,uA.usePattern)(n,g)}.test(${v})`,()=>{const y=l.includes(g);y||n.subschema({keyword:"patternProperties",schemaProp:g,dataProp:v,dataPropType:fA.Type.Str},h),r.opts.unevaluated&&u!==!0?e.assign((0,Hp._)`${u}[${v}]`,!0):!y&&!r.allErrors&&e.if((0,Hp.not)(h),()=>e.break())})})}}};AS.default=uU;var xS={};Object.defineProperty(xS,"__esModule",{value:!0});const dU=ve,fU={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){const{gen:e,schema:t,it:s}=n;if((0,dU.alwaysValidSchema)(s,t)){n.fail();return}const i=e.name("valid");n.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),n.failResult(i,()=>n.reset(),()=>n.error())},error:{message:"must NOT be valid"}};xS.default=fU;var ES={};Object.defineProperty(ES,"__esModule",{value:!0});const pU=ji(),mU={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:pU.validateUnion,error:{message:"must match a schema in anyOf"}};ES.default=mU;var CS={};Object.defineProperty(CS,"__esModule",{value:!0});const Am=Ge,gU=ve,yU={message:"must match exactly one schema in oneOf",params:({params:n})=>(0,Am._)`{passingSchemas: ${n.passing}}`},vU={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:yU,code(n){const{gen:e,schema:t,parentSchema:s,it:i}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");if(i.opts.discriminator&&s.discriminator)return;const r=t,o=e.let("valid",!1),a=e.let("passing",null),l=e.name("_valid");n.setParams({passing:a}),e.block(c),n.result(o,()=>n.reset(),()=>n.error(!0));function c(){r.forEach((h,u)=>{let d;(0,gU.alwaysValidSchema)(i,h)?e.var(l,!0):d=n.subschema({keyword:"oneOf",schemaProp:u,compositeRule:!0},l),u>0&&e.if((0,Am._)`${l} && ${o}`).assign(o,!1).assign(a,(0,Am._)`[${a}, ${u}]`).else(),e.if(l,()=>{e.assign(o,!0),e.assign(a,u),d&&n.mergeEvaluated(d,Am.Name)})})}}};CS.default=vU;var $S={};Object.defineProperty($S,"__esModule",{value:!0});const bU=ve,wU={keyword:"allOf",schemaType:"array",code(n){const{gen:e,schema:t,it:s}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");const i=e.name("valid");t.forEach((r,o)=>{if((0,bU.alwaysValidSchema)(s,r))return;const a=n.subschema({keyword:"allOf",schemaProp:o},i);n.ok(i),n.mergeEvaluated(a)})}};$S.default=wU;var TS={};Object.defineProperty(TS,"__esModule",{value:!0});const kg=Ge,W$=ve,_U={message:({params:n})=>(0,kg.str)`must match "${n.ifClause}" schema`,params:({params:n})=>(0,kg._)`{failingKeyword: ${n.ifClause}}`},SU={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:_U,code(n){const{gen:e,parentSchema:t,it:s}=n;t.then===void 0&&t.else===void 0&&(0,W$.checkStrictMode)(s,'"if" without "then" and "else" is ignored');const i=pA(s,"then"),r=pA(s,"else");if(!i&&!r)return;const o=e.let("valid",!0),a=e.name("_valid");if(l(),n.reset(),i&&r){const h=e.let("ifClause");n.setParams({ifClause:h}),e.if(a,c("then",h),c("else",h))}else i?e.if(a,c("then")):e.if((0,kg.not)(a),c("else"));n.pass(o,()=>n.error(!0));function l(){const h=n.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);n.mergeEvaluated(h)}function c(h,u){return()=>{const d=n.subschema({keyword:h},a);e.assign(o,a),n.mergeValidEvaluated(d,o),u?e.assign(u,(0,kg._)`${h}`):n.setParams({ifClause:h})}}}};function pA(n,e){const t=n.schema[e];return t!==void 0&&!(0,W$.alwaysValidSchema)(n,t)}TS.default=SU;var PS={};Object.defineProperty(PS,"__esModule",{value:!0});const kU=ve,AU={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:e,it:t}){e.if===void 0&&(0,kU.checkStrictMode)(t,`"${n}" without "if" is ignored`)}};PS.default=AU;Object.defineProperty(vS,"__esModule",{value:!0});const xU=fu,EU=bS,CU=pu,$U=wS,TU=_S,PU=U$,RU=SS,MU=jy,IU=kS,OU=AS,NU=xS,LU=ES,DU=CS,FU=$S,jU=TS,zU=PS;function HU(n=!1){const e=[NU.default,LU.default,DU.default,FU.default,jU.default,zU.default,RU.default,MU.default,PU.default,IU.default,OU.default];return n?e.push(EU.default,$U.default):e.push(xU.default,CU.default),e.push(TU.default),e}vS.default=HU;var RS={},MS={};Object.defineProperty(MS,"__esModule",{value:!0});const Kt=Ge,BU={message:({schemaCode:n})=>(0,Kt.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,Kt._)`{format: ${n}}`},qU={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:BU,code(n,e){const{gen:t,data:s,$data:i,schema:r,schemaCode:o,it:a}=n,{opts:l,errSchemaPath:c,schemaEnv:h,self:u}=a;if(!l.validateFormats)return;i?d():p();function d(){const m=t.scopeValue("formats",{ref:u.formats,code:l.code.formats}),g=t.const("fDef",(0,Kt._)`${m}[${o}]`),v=t.let("fType"),y=t.let("format");t.if((0,Kt._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>t.assign(v,(0,Kt._)`${g}.type || "string"`).assign(y,(0,Kt._)`${g}.validate`),()=>t.assign(v,(0,Kt._)`"string"`).assign(y,g)),n.fail$data((0,Kt.or)(b(),_()));function b(){return l.strictSchema===!1?Kt.nil:(0,Kt._)`${o} && !${y}`}function _(){const S=h.$async?(0,Kt._)`(${g}.async ? await ${y}(${s}) : ${y}(${s}))`:(0,Kt._)`${y}(${s})`,A=(0,Kt._)`(typeof ${y} == "function" ? ${S} : ${y}.test(${s}))`;return(0,Kt._)`${y} && ${y} !== true && ${v} === ${e} && !${A}`}}function p(){const m=u.formats[r];if(!m){b();return}if(m===!0)return;const[g,v,y]=_(m);g===e&&n.pass(S());function b(){if(l.strictSchema===!1){u.logger.warn(A());return}throw new Error(A());function A(){return`unknown format "${r}" ignored in schema at path "${c}"`}}function _(A){const E=A instanceof RegExp?(0,Kt.regexpCode)(A):l.code.formats?(0,Kt._)`${l.code.formats}${(0,Kt.getProperty)(r)}`:void 0,$=t.scopeValue("formats",{key:r,ref:A,code:E});return typeof A=="object"&&!(A instanceof RegExp)?[A.type||"string",A.validate,(0,Kt._)`${$}.validate`]:["string",A,$]}function S(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!h.$async)throw new Error("async format in sync schema");return(0,Kt._)`await ${y}(${s})`}return typeof v=="function"?(0,Kt._)`${y}(${s})`:(0,Kt._)`${y}.test(${s})`}}}};MS.default=qU;Object.defineProperty(RS,"__esModule",{value:!0});const UU=MS,VU=[UU.default];RS.default=VU;var Xh={};Object.defineProperty(Xh,"__esModule",{value:!0});Xh.contentVocabulary=Xh.metadataVocabulary=void 0;Xh.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Xh.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];Object.defineProperty(sS,"__esModule",{value:!0});const WU=iS,GU=oS,KU=vS,ZU=RS,mA=Xh,XU=[WU.default,GU.default,(0,KU.default)(),ZU.default,mA.metadataVocabulary,mA.contentVocabulary];sS.default=XU;var IS={},zy={};Object.defineProperty(zy,"__esModule",{value:!0});zy.DiscrError=void 0;var gA;(function(n){n.Tag="tag",n.Mapping="mapping"})(gA||(zy.DiscrError=gA={}));Object.defineProperty(IS,"__esModule",{value:!0});const bc=Ge,Cv=zy,yA=Ss,YU=du,JU=ve,QU={message:({params:{discrError:n,tagName:e}})=>n===Cv.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:n,tag:e,tagName:t}})=>(0,bc._)`{error: ${n}, tag: ${t}, tagValue: ${e}}`},eV={keyword:"discriminator",type:"object",schemaType:"object",error:QU,code(n){const{gen:e,data:t,schema:s,parentSchema:i,it:r}=n,{oneOf:o}=i;if(!r.opts.discriminator)throw new Error("discriminator: requires discriminator option");const a=s.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(s.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");const l=e.let("valid",!1),c=e.const("tag",(0,bc._)`${t}${(0,bc.getProperty)(a)}`);e.if((0,bc._)`typeof ${c} == "string"`,()=>h(),()=>n.error(!1,{discrError:Cv.DiscrError.Tag,tag:c,tagName:a})),n.ok(l);function h(){const p=d();e.if(!1);for(const m in p)e.elseIf((0,bc._)`${c} === ${m}`),e.assign(l,u(p[m]));e.else(),n.error(!1,{discrError:Cv.DiscrError.Mapping,tag:c,tagName:a}),e.endIf()}function u(p){const m=e.name("valid"),g=n.subschema({keyword:"oneOf",schemaProp:p},m);return n.mergeEvaluated(g,bc.Name),m}function d(){var p;const m={},g=y(i);let v=!0;for(let S=0;Sthis.addVocabulary(m)),this.opts.discriminator&&this.addKeyword(i.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const m=this.opts.$data?this.$dataMetaSchema(r,o):r;this.addMetaSchema(m,a,!1),this.refs["http://json-schema.org/schema"]=a}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(a)?a:void 0)}}e.Ajv=l,n.exports=e=l,n.exports.Ajv=l,Object.defineProperty(e,"__esModule",{value:!0}),e.default=l;var c=Ny();Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return c.KeywordCxt}});var h=Ge;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return h._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return h.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return h.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return h.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return h.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return h.CodeGen}});var u=Y_();Object.defineProperty(e,"ValidationError",{enumerable:!0,get:function(){return u.default}});var d=du;Object.defineProperty(e,"MissingRefError",{enumerable:!0,get:function(){return d.default}})})(wv,wv.exports);var lV=wv.exports;const cV=o_(lV);var $v={exports:{}},G$={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.formatNames=n.fastFormats=n.fullFormats=void 0;function e(N,z){return{validate:N,compare:z}}n.fullFormats={date:e(r,o),time:e(l(!0),c),"date-time":e(d(!0),p),"iso-time":e(l(),h),"iso-date-time":e(d(),m),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:y,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:q,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:_,int32:{type:"number",validate:E},int64:{type:"number",validate:$},float:{type:"number",validate:O},double:{type:"number",validate:O},password:!0,binary:!0},n.fastFormats={...n.fullFormats,date:e(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,o),time:e(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,c),"date-time":e(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,p),"iso-time":e(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,h),"iso-date-time":e(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,m),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i},n.formatNames=Object.keys(n.fullFormats);function t(N){return N%4===0&&(N%100!==0||N%400===0)}const s=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,28,31,30,31,30,31,31,30,31,30,31];function r(N){const z=s.exec(N);if(!z)return!1;const G=+z[1],L=+z[2],J=+z[3];return L>=1&&L<=12&&J>=1&&J<=(L===2&&t(G)?29:i[L])}function o(N,z){if(N&&z)return N>z?1:N23||P>59||N&&!ae)return!1;if(J<=23&&Q<=59&&ee<60)return!0;const D=Q-P*ye,M=J-B*ye-(D<0?1:0);return(M===23||M===-1)&&(D===59||D===-1)&&ee<61}}function c(N,z){if(!(N&&z))return;const G=new Date("2020-01-01T"+N).valueOf(),L=new Date("2020-01-01T"+z).valueOf();if(G&&L)return G-L}function h(N,z){if(!(N&&z))return;const G=a.exec(N),L=a.exec(z);if(G&&L)return N=G[1]+G[2]+G[3],z=L[1]+L[2]+L[3],N>z?1:N=S}function $(N){return Number.isInteger(N)}function O(){return!0}const F=/[^\\]\\Z/;function q(N){if(F.test(N))return!1;try{return new RegExp(N),!0}catch{return!1}}})(G$);var K$={},Tv={exports:{}},Z$={},Di={},Yh={},mp={},qe={},Td={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.regexpCode=n.getEsmExportName=n.getProperty=n.safeStringify=n.stringify=n.strConcat=n.addCodeArg=n.str=n._=n.nil=n._Code=n.Name=n.IDENTIFIER=n._CodeOrName=void 0;class e{}n._CodeOrName=e,n.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class t extends e{constructor(b){if(super(),!n.IDENTIFIER.test(b))throw new Error("CodeGen: name must be a valid identifier");this.str=b}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}n.Name=t;class s extends e{constructor(b){super(),this._items=typeof b=="string"?[b]:b}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const b=this._items[0];return b===""||b==='""'}get str(){var b;return(b=this._str)!==null&&b!==void 0?b:this._str=this._items.reduce((_,S)=>`${_}${S}`,"")}get names(){var b;return(b=this._names)!==null&&b!==void 0?b:this._names=this._items.reduce((_,S)=>(S instanceof t&&(_[S.str]=(_[S.str]||0)+1),_),{})}}n._Code=s,n.nil=new s("");function i(y,...b){const _=[y[0]];let S=0;for(;S{if(u.scopePath===void 0)throw new Error(`CodeGen: name "${u}" has no value`);return(0,e._)`${c}${u.scopePath}`})}scopeCode(c=this._values,h,u){return this._reduceValues(c,d=>{if(d.value===void 0)throw new Error(`CodeGen: name "${d}" has no value`);return d.value.code},h,u)}_reduceValues(c,h,u={},d){let p=e.nil;for(const m in c){const g=c[m];if(!g)continue;const v=u[m]=u[m]||new Map;g.forEach(y=>{if(v.has(y))return;v.set(y,s.Started);let b=h(y);if(b){const _=this.opts.es5?n.varKinds.var:n.varKinds.const;p=(0,e._)`${p}${_} ${y} = ${b};${this.opts._n}`}else if(b=d==null?void 0:d(y))p=(0,e._)`${p}${b}${this.opts._n}`;else throw new t(y);v.set(y,s.Completed)})}return p}}n.ValueScope=a})(Pv);(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.or=n.and=n.not=n.CodeGen=n.operators=n.varKinds=n.ValueScopeName=n.ValueScope=n.Scope=n.Name=n.regexpCode=n.stringify=n.getProperty=n.nil=n.strConcat=n.str=n._=void 0;const e=Td,t=Pv;var s=Td;Object.defineProperty(n,"_",{enumerable:!0,get:function(){return s._}}),Object.defineProperty(n,"str",{enumerable:!0,get:function(){return s.str}}),Object.defineProperty(n,"strConcat",{enumerable:!0,get:function(){return s.strConcat}}),Object.defineProperty(n,"nil",{enumerable:!0,get:function(){return s.nil}}),Object.defineProperty(n,"getProperty",{enumerable:!0,get:function(){return s.getProperty}}),Object.defineProperty(n,"stringify",{enumerable:!0,get:function(){return s.stringify}}),Object.defineProperty(n,"regexpCode",{enumerable:!0,get:function(){return s.regexpCode}}),Object.defineProperty(n,"Name",{enumerable:!0,get:function(){return s.Name}});var i=Pv;Object.defineProperty(n,"Scope",{enumerable:!0,get:function(){return i.Scope}}),Object.defineProperty(n,"ValueScope",{enumerable:!0,get:function(){return i.ValueScope}}),Object.defineProperty(n,"ValueScopeName",{enumerable:!0,get:function(){return i.ValueScopeName}}),Object.defineProperty(n,"varKinds",{enumerable:!0,get:function(){return i.varKinds}}),n.operators={GT:new e._Code(">"),GTE:new e._Code(">="),LT:new e._Code("<"),LTE:new e._Code("<="),EQ:new e._Code("==="),NEQ:new e._Code("!=="),NOT:new e._Code("!"),OR:new e._Code("||"),AND:new e._Code("&&"),ADD:new e._Code("+")};class r{optimizeNodes(){return this}optimizeNames(w,x){return this}}class o extends r{constructor(w,x,I){super(),this.varKind=w,this.name=x,this.rhs=I}render({es5:w,_n:x}){const I=w?t.varKinds.var:this.varKind,K=this.rhs===void 0?"":` = ${this.rhs}`;return`${I} ${this.name}${K};`+x}optimizeNames(w,x){if(w[this.name.str])return this.rhs&&(this.rhs=L(this.rhs,w,x)),this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class a extends r{constructor(w,x,I){super(),this.lhs=w,this.rhs=x,this.sideEffects=I}render({_n:w}){return`${this.lhs} = ${this.rhs};`+w}optimizeNames(w,x){if(!(this.lhs instanceof e.Name&&!w[this.lhs.str]&&!this.sideEffects))return this.rhs=L(this.rhs,w,x),this}get names(){const w=this.lhs instanceof e.Name?{}:{...this.lhs.names};return G(w,this.rhs)}}class l extends a{constructor(w,x,I,K){super(w,I,K),this.op=x}render({_n:w}){return`${this.lhs} ${this.op}= ${this.rhs};`+w}}class c extends r{constructor(w){super(),this.label=w,this.names={}}render({_n:w}){return`${this.label}:`+w}}class h extends r{constructor(w){super(),this.label=w,this.names={}}render({_n:w}){return`break${this.label?` ${this.label}`:""};`+w}}class u extends r{constructor(w){super(),this.error=w}render({_n:w}){return`throw ${this.error};`+w}get names(){return this.error.names}}class d extends r{constructor(w){super(),this.code=w}render({_n:w}){return`${this.code};`+w}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(w,x){return this.code=L(this.code,w,x),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class p extends r{constructor(w=[]){super(),this.nodes=w}render(w){return this.nodes.reduce((x,I)=>x+I.render(w),"")}optimizeNodes(){const{nodes:w}=this;let x=w.length;for(;x--;){const I=w[x].optimizeNodes();Array.isArray(I)?w.splice(x,1,...I):I?w[x]=I:w.splice(x,1)}return w.length>0?this:void 0}optimizeNames(w,x){const{nodes:I}=this;let K=I.length;for(;K--;){const X=I[K];X.optimizeNames(w,x)||(J(w,X.names),I.splice(K,1))}return I.length>0?this:void 0}get names(){return this.nodes.reduce((w,x)=>z(w,x.names),{})}}class m extends p{render(w){return"{"+w._n+super.render(w)+"}"+w._n}}class g extends p{}class v extends m{}v.kind="else";class y extends m{constructor(w,x){super(x),this.condition=w}render(w){let x=`if(${this.condition})`+super.render(w);return this.else&&(x+="else "+this.else.render(w)),x}optimizeNodes(){super.optimizeNodes();const w=this.condition;if(w===!0)return this.nodes;let x=this.else;if(x){const I=x.optimizeNodes();x=this.else=Array.isArray(I)?new v(I):I}if(x)return w===!1?x instanceof y?x:x.nodes:this.nodes.length?this:new y(Q(w),x instanceof y?[x]:x.nodes);if(!(w===!1||!this.nodes.length))return this}optimizeNames(w,x){var I;if(this.else=(I=this.else)===null||I===void 0?void 0:I.optimizeNames(w,x),!!(super.optimizeNames(w,x)||this.else))return this.condition=L(this.condition,w,x),this}get names(){const w=super.names;return G(w,this.condition),this.else&&z(w,this.else.names),w}}y.kind="if";class b extends m{}b.kind="for";class _ extends b{constructor(w){super(),this.iteration=w}render(w){return`for(${this.iteration})`+super.render(w)}optimizeNames(w,x){if(super.optimizeNames(w,x))return this.iteration=L(this.iteration,w,x),this}get names(){return z(super.names,this.iteration.names)}}class S extends b{constructor(w,x,I,K){super(),this.varKind=w,this.name=x,this.from=I,this.to=K}render(w){const x=w.es5?t.varKinds.var:this.varKind,{name:I,from:K,to:X}=this;return`for(${x} ${I}=${K}; ${I}<${X}; ${I}++)`+super.render(w)}get names(){const w=G(super.names,this.from);return G(w,this.to)}}class A extends b{constructor(w,x,I,K){super(),this.loop=w,this.varKind=x,this.name=I,this.iterable=K}render(w){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(w)}optimizeNames(w,x){if(super.optimizeNames(w,x))return this.iterable=L(this.iterable,w,x),this}get names(){return z(super.names,this.iterable.names)}}class E extends m{constructor(w,x,I){super(),this.name=w,this.args=x,this.async=I}render(w){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(w)}}E.kind="func";class $ extends p{render(w){return"return "+super.render(w)}}$.kind="return";class O extends m{render(w){let x="try"+super.render(w);return this.catch&&(x+=this.catch.render(w)),this.finally&&(x+=this.finally.render(w)),x}optimizeNodes(){var w,x;return super.optimizeNodes(),(w=this.catch)===null||w===void 0||w.optimizeNodes(),(x=this.finally)===null||x===void 0||x.optimizeNodes(),this}optimizeNames(w,x){var I,K;return super.optimizeNames(w,x),(I=this.catch)===null||I===void 0||I.optimizeNames(w,x),(K=this.finally)===null||K===void 0||K.optimizeNames(w,x),this}get names(){const w=super.names;return this.catch&&z(w,this.catch.names),this.finally&&z(w,this.finally.names),w}}class F extends m{constructor(w){super(),this.error=w}render(w){return`catch(${this.error})`+super.render(w)}}F.kind="catch";class q extends m{render(w){return"finally"+super.render(w)}}q.kind="finally";class N{constructor(w,x={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...x,_n:x.lines?` +`:""},this._extScope=w,this._scope=new t.Scope({parent:w}),this._nodes=[new g]}toString(){return this._root.render(this.opts)}name(w){return this._scope.name(w)}scopeName(w){return this._extScope.name(w)}scopeValue(w,x){const I=this._extScope.value(w,x);return(this._values[I.prefix]||(this._values[I.prefix]=new Set)).add(I),I}getScopeValue(w,x){return this._extScope.getValue(w,x)}scopeRefs(w){return this._extScope.scopeRefs(w,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(w,x,I,K){const X=this._scope.toName(x);return I!==void 0&&K&&(this._constants[X.str]=I),this._leafNode(new o(w,X,I)),X}const(w,x,I){return this._def(t.varKinds.const,w,x,I)}let(w,x,I){return this._def(t.varKinds.let,w,x,I)}var(w,x,I){return this._def(t.varKinds.var,w,x,I)}assign(w,x,I){return this._leafNode(new a(w,x,I))}add(w,x){return this._leafNode(new l(w,n.operators.ADD,x))}code(w){return typeof w=="function"?w():w!==e.nil&&this._leafNode(new d(w)),this}object(...w){const x=["{"];for(const[I,K]of w)x.length>1&&x.push(","),x.push(I),(I!==K||this.opts.es5)&&(x.push(":"),(0,e.addCodeArg)(x,K));return x.push("}"),new e._Code(x)}if(w,x,I){if(this._blockNode(new y(w)),x&&I)this.code(x).else().code(I).endIf();else if(x)this.code(x).endIf();else if(I)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(w){return this._elseNode(new y(w))}else(){return this._elseNode(new v)}endIf(){return this._endBlockNode(y,v)}_for(w,x){return this._blockNode(w),x&&this.code(x).endFor(),this}for(w,x){return this._for(new _(w),x)}forRange(w,x,I,K,X=this.opts.es5?t.varKinds.var:t.varKinds.let){const ue=this._scope.toName(w);return this._for(new S(X,ue,x,I),()=>K(ue))}forOf(w,x,I,K=t.varKinds.const){const X=this._scope.toName(w);if(this.opts.es5){const ue=x instanceof e.Name?x:this.var("_arr",x);return this.forRange("_i",0,(0,e._)`${ue}.length`,oe=>{this.var(X,(0,e._)`${ue}[${oe}]`),I(X)})}return this._for(new A("of",K,X,x),()=>I(X))}forIn(w,x,I,K=this.opts.es5?t.varKinds.var:t.varKinds.const){if(this.opts.ownProperties)return this.forOf(w,(0,e._)`Object.keys(${x})`,I);const X=this._scope.toName(w);return this._for(new A("in",K,X,x),()=>I(X))}endFor(){return this._endBlockNode(b)}label(w){return this._leafNode(new c(w))}break(w){return this._leafNode(new h(w))}return(w){const x=new $;if(this._blockNode(x),this.code(w),x.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode($)}try(w,x,I){if(!x&&!I)throw new Error('CodeGen: "try" without "catch" and "finally"');const K=new O;if(this._blockNode(K),this.code(w),x){const X=this.name("e");this._currNode=K.catch=new F(X),x(X)}return I&&(this._currNode=K.finally=new q,this.code(I)),this._endBlockNode(F,q)}throw(w){return this._leafNode(new u(w))}block(w,x){return this._blockStarts.push(this._nodes.length),w&&this.code(w).endBlock(x),this}endBlock(w){const x=this._blockStarts.pop();if(x===void 0)throw new Error("CodeGen: not in self-balancing block");const I=this._nodes.length-x;if(I<0||w!==void 0&&I!==w)throw new Error(`CodeGen: wrong number of nodes: ${I} vs ${w} expected`);return this._nodes.length=x,this}func(w,x=e.nil,I,K){return this._blockNode(new E(w,x,I)),K&&this.code(K).endFunc(),this}endFunc(){return this._endBlockNode(E)}optimize(w=1){for(;w-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(w){return this._currNode.nodes.push(w),this}_blockNode(w){this._currNode.nodes.push(w),this._nodes.push(w)}_endBlockNode(w,x){const I=this._currNode;if(I instanceof w||x&&I instanceof x)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${x?`${w.kind}/${x.kind}`:w.kind}"`)}_elseNode(w){const x=this._currNode;if(!(x instanceof y))throw new Error('CodeGen: "else" without "if"');return this._currNode=x.else=w,this}get _root(){return this._nodes[0]}get _currNode(){const w=this._nodes;return w[w.length-1]}set _currNode(w){const x=this._nodes;x[x.length-1]=w}}n.CodeGen=N;function z(M,w){for(const x in w)M[x]=(M[x]||0)+(w[x]||0);return M}function G(M,w){return w instanceof e._CodeOrName?z(M,w.names):M}function L(M,w,x){if(M instanceof e.Name)return I(M);if(!K(M))return M;return new e._Code(M._items.reduce((X,ue)=>(ue instanceof e.Name&&(ue=I(ue)),ue instanceof e._Code?X.push(...ue._items):X.push(ue),X),[]));function I(X){const ue=x[X.str];return ue===void 0||w[X.str]!==1?X:(delete w[X.str],ue)}function K(X){return X instanceof e._Code&&X._items.some(ue=>ue instanceof e.Name&&w[ue.str]===1&&x[ue.str]!==void 0)}}function J(M,w){for(const x in w)M[x]=(M[x]||0)-(w[x]||0)}function Q(M){return typeof M=="boolean"||typeof M=="number"||M===null?!M:(0,e._)`!${D(M)}`}n.not=Q;const ee=P(n.operators.AND);function ae(...M){return M.reduce(ee)}n.and=ae;const ye=P(n.operators.OR);function B(...M){return M.reduce(ye)}n.or=B;function P(M){return(w,x)=>w===e.nil?x:x===e.nil?w:(0,e._)`${D(w)} ${M} ${D(x)}`}function D(M){return M instanceof e.Name?M:(0,e._)`(${M})`}})(qe);var be={};Object.defineProperty(be,"__esModule",{value:!0});be.checkStrictMode=be.getErrorPath=be.Type=be.useFunc=be.setEvaluated=be.evaluatedPropsToName=be.mergeEvaluated=be.eachItem=be.unescapeJsonPointer=be.escapeJsonPointer=be.escapeFragment=be.unescapeFragment=be.schemaRefOrVal=be.schemaHasRulesButRef=be.schemaHasRules=be.checkUnknownRules=be.alwaysValidSchema=be.toHash=void 0;const At=qe,hV=Td;function uV(n){const e={};for(const t of n)e[t]=!0;return e}be.toHash=uV;function dV(n,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(X$(n,e),!Y$(e,n.self.RULES.all))}be.alwaysValidSchema=dV;function X$(n,e=n.schema){const{opts:t,self:s}=n;if(!t.strictSchema||typeof e=="boolean")return;const i=s.RULES.keywords;for(const r in e)i[r]||eT(n,`unknown keyword: "${r}"`)}be.checkUnknownRules=X$;function Y$(n,e){if(typeof n=="boolean")return!n;for(const t in n)if(e[t])return!0;return!1}be.schemaHasRules=Y$;function fV(n,e){if(typeof n=="boolean")return!n;for(const t in n)if(t!=="$ref"&&e.all[t])return!0;return!1}be.schemaHasRulesButRef=fV;function pV({topSchemaRef:n,schemaPath:e},t,s,i){if(!i){if(typeof t=="number"||typeof t=="boolean")return t;if(typeof t=="string")return(0,At._)`${t}`}return(0,At._)`${n}${e}${(0,At.getProperty)(s)}`}be.schemaRefOrVal=pV;function mV(n){return J$(decodeURIComponent(n))}be.unescapeFragment=mV;function gV(n){return encodeURIComponent(OS(n))}be.escapeFragment=gV;function OS(n){return typeof n=="number"?`${n}`:n.replace(/~/g,"~0").replace(/\//g,"~1")}be.escapeJsonPointer=OS;function J$(n){return n.replace(/~1/g,"/").replace(/~0/g,"~")}be.unescapeJsonPointer=J$;function yV(n,e){if(Array.isArray(n))for(const t of n)e(t);else e(n)}be.eachItem=yV;function vA({mergeNames:n,mergeToName:e,mergeValues:t,resultToName:s}){return(i,r,o,a)=>{const l=o===void 0?r:o instanceof At.Name?(r instanceof At.Name?n(i,r,o):e(i,r,o),o):r instanceof At.Name?(e(i,o,r),r):t(r,o);return a===At.Name&&!(l instanceof At.Name)?s(i,l):l}}be.mergeEvaluated={props:vA({mergeNames:(n,e,t)=>n.if((0,At._)`${t} !== true && ${e} !== undefined`,()=>{n.if((0,At._)`${e} === true`,()=>n.assign(t,!0),()=>n.assign(t,(0,At._)`${t} || {}`).code((0,At._)`Object.assign(${t}, ${e})`))}),mergeToName:(n,e,t)=>n.if((0,At._)`${t} !== true`,()=>{e===!0?n.assign(t,!0):(n.assign(t,(0,At._)`${t} || {}`),NS(n,t,e))}),mergeValues:(n,e)=>n===!0?!0:{...n,...e},resultToName:Q$}),items:vA({mergeNames:(n,e,t)=>n.if((0,At._)`${t} !== true && ${e} !== undefined`,()=>n.assign(t,(0,At._)`${e} === true ? true : ${t} > ${e} ? ${t} : ${e}`)),mergeToName:(n,e,t)=>n.if((0,At._)`${t} !== true`,()=>n.assign(t,e===!0?!0:(0,At._)`${t} > ${e} ? ${t} : ${e}`)),mergeValues:(n,e)=>n===!0?!0:Math.max(n,e),resultToName:(n,e)=>n.var("items",e)})};function Q$(n,e){if(e===!0)return n.var("props",!0);const t=n.var("props",(0,At._)`{}`);return e!==void 0&&NS(n,t,e),t}be.evaluatedPropsToName=Q$;function NS(n,e,t){Object.keys(t).forEach(s=>n.assign((0,At._)`${e}${(0,At.getProperty)(s)}`,!0))}be.setEvaluated=NS;const bA={};function vV(n,e){return n.scopeValue("func",{ref:e,code:bA[e.code]||(bA[e.code]=new hV._Code(e.code))})}be.useFunc=vV;var Rv;(function(n){n[n.Num=0]="Num",n[n.Str=1]="Str"})(Rv||(be.Type=Rv={}));function bV(n,e,t){if(n instanceof At.Name){const s=e===Rv.Num;return t?s?(0,At._)`"[" + ${n} + "]"`:(0,At._)`"['" + ${n} + "']"`:s?(0,At._)`"/" + ${n}`:(0,At._)`"/" + ${n}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return t?(0,At.getProperty)(n).toString():"/"+OS(n)}be.getErrorPath=bV;function eT(n,e,t=n.opts.strictSchema){if(t){if(e=`strict mode: ${e}`,t===!0)throw new Error(e);n.self.logger.warn(e)}}be.checkStrictMode=eT;var _r={};Object.defineProperty(_r,"__esModule",{value:!0});const Wn=qe,wV={data:new Wn.Name("data"),valCxt:new Wn.Name("valCxt"),instancePath:new Wn.Name("instancePath"),parentData:new Wn.Name("parentData"),parentDataProperty:new Wn.Name("parentDataProperty"),rootData:new Wn.Name("rootData"),dynamicAnchors:new Wn.Name("dynamicAnchors"),vErrors:new Wn.Name("vErrors"),errors:new Wn.Name("errors"),this:new Wn.Name("this"),self:new Wn.Name("self"),scope:new Wn.Name("scope"),json:new Wn.Name("json"),jsonPos:new Wn.Name("jsonPos"),jsonLen:new Wn.Name("jsonLen"),jsonPart:new Wn.Name("jsonPart")};_r.default=wV;(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.extendErrors=n.resetErrorsCount=n.reportExtraError=n.reportError=n.keyword$DataError=n.keywordError=void 0;const e=qe,t=be,s=_r;n.keywordError={message:({keyword:v})=>(0,e.str)`must pass "${v}" keyword validation`},n.keyword$DataError={message:({keyword:v,schemaType:y})=>y?(0,e.str)`"${v}" keyword must be ${y} ($data)`:(0,e.str)`"${v}" keyword is invalid ($data)`};function i(v,y=n.keywordError,b,_){const{it:S}=v,{gen:A,compositeRule:E,allErrors:$}=S,O=u(v,y,b);_??(E||$)?l(A,O):c(S,(0,e._)`[${O}]`)}n.reportError=i;function r(v,y=n.keywordError,b){const{it:_}=v,{gen:S,compositeRule:A,allErrors:E}=_,$=u(v,y,b);l(S,$),A||E||c(_,s.default.vErrors)}n.reportExtraError=r;function o(v,y){v.assign(s.default.errors,y),v.if((0,e._)`${s.default.vErrors} !== null`,()=>v.if(y,()=>v.assign((0,e._)`${s.default.vErrors}.length`,y),()=>v.assign(s.default.vErrors,null)))}n.resetErrorsCount=o;function a({gen:v,keyword:y,schemaValue:b,data:_,errsCount:S,it:A}){if(S===void 0)throw new Error("ajv implementation error");const E=v.name("err");v.forRange("i",S,s.default.errors,$=>{v.const(E,(0,e._)`${s.default.vErrors}[${$}]`),v.if((0,e._)`${E}.instancePath === undefined`,()=>v.assign((0,e._)`${E}.instancePath`,(0,e.strConcat)(s.default.instancePath,A.errorPath))),v.assign((0,e._)`${E}.schemaPath`,(0,e.str)`${A.errSchemaPath}/${y}`),A.opts.verbose&&(v.assign((0,e._)`${E}.schema`,b),v.assign((0,e._)`${E}.data`,_))})}n.extendErrors=a;function l(v,y){const b=v.const("err",y);v.if((0,e._)`${s.default.vErrors} === null`,()=>v.assign(s.default.vErrors,(0,e._)`[${b}]`),(0,e._)`${s.default.vErrors}.push(${b})`),v.code((0,e._)`${s.default.errors}++`)}function c(v,y){const{gen:b,validateName:_,schemaEnv:S}=v;S.$async?b.throw((0,e._)`new ${v.ValidationError}(${y})`):(b.assign((0,e._)`${_}.errors`,y),b.return(!1))}const h={keyword:new e.Name("keyword"),schemaPath:new e.Name("schemaPath"),params:new e.Name("params"),propertyName:new e.Name("propertyName"),message:new e.Name("message"),schema:new e.Name("schema"),parentSchema:new e.Name("parentSchema")};function u(v,y,b){const{createErrors:_}=v.it;return _===!1?(0,e._)`{}`:d(v,y,b)}function d(v,y,b={}){const{gen:_,it:S}=v,A=[p(S,b),m(v,b)];return g(v,y,A),_.object(...A)}function p({errorPath:v},{instancePath:y}){const b=y?(0,e.str)`${v}${(0,t.getErrorPath)(y,t.Type.Str)}`:v;return[s.default.instancePath,(0,e.strConcat)(s.default.instancePath,b)]}function m({keyword:v,it:{errSchemaPath:y}},{schemaPath:b,parentSchema:_}){let S=_?y:(0,e.str)`${y}/${v}`;return b&&(S=(0,e.str)`${S}${(0,t.getErrorPath)(b,t.Type.Str)}`),[h.schemaPath,S]}function g(v,{params:y,message:b},_){const{keyword:S,data:A,schemaValue:E,it:$}=v,{opts:O,propertyName:F,topSchemaRef:q,schemaPath:N}=$;_.push([h.keyword,S],[h.params,typeof y=="function"?y(v):y||(0,e._)`{}`]),O.messages&&_.push([h.message,typeof b=="function"?b(v):b]),O.verbose&&_.push([h.schema,E],[h.parentSchema,(0,e._)`${q}${N}`],[s.default.data,A]),F&&_.push([h.propertyName,F])}})(mp);Object.defineProperty(Yh,"__esModule",{value:!0});Yh.boolOrEmptySchema=Yh.topBoolOrEmptySchema=void 0;const _V=mp,SV=qe,kV=_r,AV={message:"boolean schema is false"};function xV(n){const{gen:e,schema:t,validateName:s}=n;t===!1?tT(n,!1):typeof t=="object"&&t.$async===!0?e.return(kV.default.data):(e.assign((0,SV._)`${s}.errors`,null),e.return(!0))}Yh.topBoolOrEmptySchema=xV;function EV(n,e){const{gen:t,schema:s}=n;s===!1?(t.var(e,!1),tT(n)):t.var(e,!0)}Yh.boolOrEmptySchema=EV;function tT(n,e){const{gen:t,data:s}=n,i={gen:t,keyword:"false schema",data:s,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:n};(0,_V.reportError)(i,AV,void 0,e)}var dn={},Zl={};Object.defineProperty(Zl,"__esModule",{value:!0});Zl.getRules=Zl.isJSONType=void 0;const CV=["string","number","integer","boolean","null","object","array"],$V=new Set(CV);function TV(n){return typeof n=="string"&&$V.has(n)}Zl.isJSONType=TV;function PV(){const n={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...n,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},n.number,n.string,n.array,n.object],post:{rules:[]},all:{},keywords:{}}}Zl.getRules=PV;var so={};Object.defineProperty(so,"__esModule",{value:!0});so.shouldUseRule=so.shouldUseGroup=so.schemaHasRulesForType=void 0;function RV({schema:n,self:e},t){const s=e.RULES.types[t];return s&&s!==!0&&nT(n,s)}so.schemaHasRulesForType=RV;function nT(n,e){return e.rules.some(t=>sT(n,t))}so.shouldUseGroup=nT;function sT(n,e){var t;return n[e.keyword]!==void 0||((t=e.definition.implements)===null||t===void 0?void 0:t.some(s=>n[s]!==void 0))}so.shouldUseRule=sT;Object.defineProperty(dn,"__esModule",{value:!0});dn.reportTypeError=dn.checkDataTypes=dn.checkDataType=dn.coerceAndCheckDataType=dn.getJSONTypes=dn.getSchemaTypes=dn.DataType=void 0;const MV=Zl,IV=so,OV=mp,Fe=qe,iT=be;var zc;(function(n){n[n.Correct=0]="Correct",n[n.Wrong=1]="Wrong"})(zc||(dn.DataType=zc={}));function NV(n){const e=rT(n.type);if(e.includes("null")){if(n.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&n.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');n.nullable===!0&&e.push("null")}return e}dn.getSchemaTypes=NV;function rT(n){const e=Array.isArray(n)?n:n?[n]:[];if(e.every(MV.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}dn.getJSONTypes=rT;function LV(n,e){const{gen:t,data:s,opts:i}=n,r=DV(e,i.coerceTypes),o=e.length>0&&!(r.length===0&&e.length===1&&(0,IV.schemaHasRulesForType)(n,e[0]));if(o){const a=LS(e,s,i.strictNumbers,zc.Wrong);t.if(a,()=>{r.length?FV(n,e,r):DS(n)})}return o}dn.coerceAndCheckDataType=LV;const oT=new Set(["string","number","integer","boolean","null"]);function DV(n,e){return e?n.filter(t=>oT.has(t)||e==="array"&&t==="array"):[]}function FV(n,e,t){const{gen:s,data:i,opts:r}=n,o=s.let("dataType",(0,Fe._)`typeof ${i}`),a=s.let("coerced",(0,Fe._)`undefined`);r.coerceTypes==="array"&&s.if((0,Fe._)`${o} == 'object' && Array.isArray(${i}) && ${i}.length == 1`,()=>s.assign(i,(0,Fe._)`${i}[0]`).assign(o,(0,Fe._)`typeof ${i}`).if(LS(e,i,r.strictNumbers),()=>s.assign(a,i))),s.if((0,Fe._)`${a} !== undefined`);for(const c of t)(oT.has(c)||c==="array"&&r.coerceTypes==="array")&&l(c);s.else(),DS(n),s.endIf(),s.if((0,Fe._)`${a} !== undefined`,()=>{s.assign(i,a),jV(n,a)});function l(c){switch(c){case"string":s.elseIf((0,Fe._)`${o} == "number" || ${o} == "boolean"`).assign(a,(0,Fe._)`"" + ${i}`).elseIf((0,Fe._)`${i} === null`).assign(a,(0,Fe._)`""`);return;case"number":s.elseIf((0,Fe._)`${o} == "boolean" || ${i} === null + || (${o} == "string" && ${i} && ${i} == +${i})`).assign(a,(0,Fe._)`+${i}`);return;case"integer":s.elseIf((0,Fe._)`${o} === "boolean" || ${i} === null + || (${o} === "string" && ${i} && ${i} == +${i} && !(${i} % 1))`).assign(a,(0,Fe._)`+${i}`);return;case"boolean":s.elseIf((0,Fe._)`${i} === "false" || ${i} === 0 || ${i} === null`).assign(a,!1).elseIf((0,Fe._)`${i} === "true" || ${i} === 1`).assign(a,!0);return;case"null":s.elseIf((0,Fe._)`${i} === "" || ${i} === 0 || ${i} === false`),s.assign(a,null);return;case"array":s.elseIf((0,Fe._)`${o} === "string" || ${o} === "number" + || ${o} === "boolean" || ${i} === null`).assign(a,(0,Fe._)`[${i}]`)}}}function jV({gen:n,parentData:e,parentDataProperty:t},s){n.if((0,Fe._)`${e} !== undefined`,()=>n.assign((0,Fe._)`${e}[${t}]`,s))}function Mv(n,e,t,s=zc.Correct){const i=s===zc.Correct?Fe.operators.EQ:Fe.operators.NEQ;let r;switch(n){case"null":return(0,Fe._)`${e} ${i} null`;case"array":r=(0,Fe._)`Array.isArray(${e})`;break;case"object":r=(0,Fe._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":r=o((0,Fe._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":r=o();break;default:return(0,Fe._)`typeof ${e} ${i} ${n}`}return s===zc.Correct?r:(0,Fe.not)(r);function o(a=Fe.nil){return(0,Fe.and)((0,Fe._)`typeof ${e} == "number"`,a,t?(0,Fe._)`isFinite(${e})`:Fe.nil)}}dn.checkDataType=Mv;function LS(n,e,t,s){if(n.length===1)return Mv(n[0],e,t,s);let i;const r=(0,iT.toHash)(n);if(r.array&&r.object){const o=(0,Fe._)`typeof ${e} != "object"`;i=r.null?o:(0,Fe._)`!${e} || ${o}`,delete r.null,delete r.array,delete r.object}else i=Fe.nil;r.number&&delete r.integer;for(const o in r)i=(0,Fe.and)(i,Mv(o,e,t,s));return i}dn.checkDataTypes=LS;const zV={message:({schema:n})=>`must be ${n}`,params:({schema:n,schemaValue:e})=>typeof n=="string"?(0,Fe._)`{type: ${n}}`:(0,Fe._)`{type: ${e}}`};function DS(n){const e=HV(n);(0,OV.reportError)(e,zV)}dn.reportTypeError=DS;function HV(n){const{gen:e,data:t,schema:s}=n,i=(0,iT.schemaRefOrVal)(n,s,"type");return{gen:e,keyword:"type",data:t,schema:s.type,schemaCode:i,schemaValue:i,parentSchema:s,params:{},it:n}}var Hy={};Object.defineProperty(Hy,"__esModule",{value:!0});Hy.assignDefaults=void 0;const mc=qe,BV=be;function qV(n,e){const{properties:t,items:s}=n.schema;if(e==="object"&&t)for(const i in t)wA(n,i,t[i].default);else e==="array"&&Array.isArray(s)&&s.forEach((i,r)=>wA(n,r,i.default))}Hy.assignDefaults=qV;function wA(n,e,t){const{gen:s,compositeRule:i,data:r,opts:o}=n;if(t===void 0)return;const a=(0,mc._)`${r}${(0,mc.getProperty)(e)}`;if(i){(0,BV.checkStrictMode)(n,`default is ignored for: ${a}`);return}let l=(0,mc._)`${a} === undefined`;o.useDefaults==="empty"&&(l=(0,mc._)`${l} || ${a} === null || ${a} === ""`),s.if(l,(0,mc._)`${a} = ${(0,mc.stringify)(t)}`)}var pr={},We={};Object.defineProperty(We,"__esModule",{value:!0});We.validateUnion=We.validateArray=We.usePattern=We.callValidateCode=We.schemaProperties=We.allSchemaProperties=We.noPropertyInData=We.propertyInData=We.isOwnProperty=We.hasPropFunc=We.reportMissingProp=We.checkMissingProp=We.checkReportMissingProp=void 0;const Rt=qe,FS=be,po=_r,UV=be;function VV(n,e){const{gen:t,data:s,it:i}=n;t.if(zS(t,s,e,i.opts.ownProperties),()=>{n.setParams({missingProperty:(0,Rt._)`${e}`},!0),n.error()})}We.checkReportMissingProp=VV;function WV({gen:n,data:e,it:{opts:t}},s,i){return(0,Rt.or)(...s.map(r=>(0,Rt.and)(zS(n,e,r,t.ownProperties),(0,Rt._)`${i} = ${r}`)))}We.checkMissingProp=WV;function GV(n,e){n.setParams({missingProperty:e},!0),n.error()}We.reportMissingProp=GV;function aT(n){return n.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Rt._)`Object.prototype.hasOwnProperty`})}We.hasPropFunc=aT;function jS(n,e,t){return(0,Rt._)`${aT(n)}.call(${e}, ${t})`}We.isOwnProperty=jS;function KV(n,e,t,s){const i=(0,Rt._)`${e}${(0,Rt.getProperty)(t)} !== undefined`;return s?(0,Rt._)`${i} && ${jS(n,e,t)}`:i}We.propertyInData=KV;function zS(n,e,t,s){const i=(0,Rt._)`${e}${(0,Rt.getProperty)(t)} === undefined`;return s?(0,Rt.or)(i,(0,Rt.not)(jS(n,e,t))):i}We.noPropertyInData=zS;function lT(n){return n?Object.keys(n).filter(e=>e!=="__proto__"):[]}We.allSchemaProperties=lT;function ZV(n,e){return lT(e).filter(t=>!(0,FS.alwaysValidSchema)(n,e[t]))}We.schemaProperties=ZV;function XV({schemaCode:n,data:e,it:{gen:t,topSchemaRef:s,schemaPath:i,errorPath:r},it:o},a,l,c){const h=c?(0,Rt._)`${n}, ${e}, ${s}${i}`:e,u=[[po.default.instancePath,(0,Rt.strConcat)(po.default.instancePath,r)],[po.default.parentData,o.parentData],[po.default.parentDataProperty,o.parentDataProperty],[po.default.rootData,po.default.rootData]];o.opts.dynamicRef&&u.push([po.default.dynamicAnchors,po.default.dynamicAnchors]);const d=(0,Rt._)`${h}, ${t.object(...u)}`;return l!==Rt.nil?(0,Rt._)`${a}.call(${l}, ${d})`:(0,Rt._)`${a}(${d})`}We.callValidateCode=XV;const YV=(0,Rt._)`new RegExp`;function JV({gen:n,it:{opts:e}},t){const s=e.unicodeRegExp?"u":"",{regExp:i}=e.code,r=i(t,s);return n.scopeValue("pattern",{key:r.toString(),ref:r,code:(0,Rt._)`${i.code==="new RegExp"?YV:(0,UV.useFunc)(n,i)}(${t}, ${s})`})}We.usePattern=JV;function QV(n){const{gen:e,data:t,keyword:s,it:i}=n,r=e.name("valid");if(i.allErrors){const a=e.let("valid",!0);return o(()=>e.assign(a,!1)),a}return e.var(r,!0),o(()=>e.break()),r;function o(a){const l=e.const("len",(0,Rt._)`${t}.length`);e.forRange("i",0,l,c=>{n.subschema({keyword:s,dataProp:c,dataPropType:FS.Type.Num},r),e.if((0,Rt.not)(r),a)})}}We.validateArray=QV;function e3(n){const{gen:e,schema:t,keyword:s,it:i}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");if(t.some(l=>(0,FS.alwaysValidSchema)(i,l))&&!i.opts.unevaluated)return;const o=e.let("valid",!1),a=e.name("_valid");e.block(()=>t.forEach((l,c)=>{const h=n.subschema({keyword:s,schemaProp:c,compositeRule:!0},a);e.assign(o,(0,Rt._)`${o} || ${a}`),n.mergeValidEvaluated(h,a)||e.if((0,Rt.not)(o))})),n.result(o,()=>n.reset(),()=>n.error(!0))}We.validateUnion=e3;Object.defineProperty(pr,"__esModule",{value:!0});pr.validateKeywordUsage=pr.validSchemaType=pr.funcKeywordCode=pr.macroKeywordCode=void 0;const os=qe,ja=_r,t3=We,n3=mp;function s3(n,e){const{gen:t,keyword:s,schema:i,parentSchema:r,it:o}=n,a=e.macro.call(o.self,i,r,o),l=cT(t,s,a);o.opts.validateSchema!==!1&&o.self.validateSchema(a,!0);const c=t.name("valid");n.subschema({schema:a,schemaPath:os.nil,errSchemaPath:`${o.errSchemaPath}/${s}`,topSchemaRef:l,compositeRule:!0},c),n.pass(c,()=>n.error(!0))}pr.macroKeywordCode=s3;function i3(n,e){var t;const{gen:s,keyword:i,schema:r,parentSchema:o,$data:a,it:l}=n;o3(l,e);const c=!a&&e.compile?e.compile.call(l.self,r,o,l):e.validate,h=cT(s,i,c),u=s.let("valid");n.block$data(u,d),n.ok((t=e.valid)!==null&&t!==void 0?t:u);function d(){if(e.errors===!1)g(),e.modifying&&_A(n),v(()=>n.error());else{const y=e.async?p():m();e.modifying&&_A(n),v(()=>r3(n,y))}}function p(){const y=s.let("ruleErrs",null);return s.try(()=>g((0,os._)`await `),b=>s.assign(u,!1).if((0,os._)`${b} instanceof ${l.ValidationError}`,()=>s.assign(y,(0,os._)`${b}.errors`),()=>s.throw(b))),y}function m(){const y=(0,os._)`${h}.errors`;return s.assign(y,null),g(os.nil),y}function g(y=e.async?(0,os._)`await `:os.nil){const b=l.opts.passContext?ja.default.this:ja.default.self,_=!("compile"in e&&!a||e.schema===!1);s.assign(u,(0,os._)`${y}${(0,t3.callValidateCode)(n,h,b,_)}`,e.modifying)}function v(y){var b;s.if((0,os.not)((b=e.valid)!==null&&b!==void 0?b:u),y)}}pr.funcKeywordCode=i3;function _A(n){const{gen:e,data:t,it:s}=n;e.if(s.parentData,()=>e.assign(t,(0,os._)`${s.parentData}[${s.parentDataProperty}]`))}function r3(n,e){const{gen:t}=n;t.if((0,os._)`Array.isArray(${e})`,()=>{t.assign(ja.default.vErrors,(0,os._)`${ja.default.vErrors} === null ? ${e} : ${ja.default.vErrors}.concat(${e})`).assign(ja.default.errors,(0,os._)`${ja.default.vErrors}.length`),(0,n3.extendErrors)(n)},()=>n.error())}function o3({schemaEnv:n},e){if(e.async&&!n.$async)throw new Error("async keyword in sync schema")}function cT(n,e,t){if(t===void 0)throw new Error(`keyword "${e}" failed to compile`);return n.scopeValue("keyword",typeof t=="function"?{ref:t}:{ref:t,code:(0,os.stringify)(t)})}function a3(n,e,t=!1){return!e.length||e.some(s=>s==="array"?Array.isArray(n):s==="object"?n&&typeof n=="object"&&!Array.isArray(n):typeof n==s||t&&typeof n>"u")}pr.validSchemaType=a3;function l3({schema:n,opts:e,self:t,errSchemaPath:s},i,r){if(Array.isArray(i.keyword)?!i.keyword.includes(r):i.keyword!==r)throw new Error("ajv implementation error");const o=i.dependencies;if(o!=null&&o.some(a=>!Object.prototype.hasOwnProperty.call(n,a)))throw new Error(`parent schema must have dependencies of ${r}: ${o.join(",")}`);if(i.validateSchema&&!i.validateSchema(n[r])){const l=`keyword "${r}" value is invalid at path "${s}": `+t.errorsText(i.validateSchema.errors);if(e.validateSchema==="log")t.logger.error(l);else throw new Error(l)}}pr.validateKeywordUsage=l3;var ia={};Object.defineProperty(ia,"__esModule",{value:!0});ia.extendSubschemaMode=ia.extendSubschemaData=ia.getSubschema=void 0;const ur=qe,hT=be;function c3(n,{keyword:e,schemaProp:t,schema:s,schemaPath:i,errSchemaPath:r,topSchemaRef:o}){if(e!==void 0&&s!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){const a=n.schema[e];return t===void 0?{schema:a,schemaPath:(0,ur._)`${n.schemaPath}${(0,ur.getProperty)(e)}`,errSchemaPath:`${n.errSchemaPath}/${e}`}:{schema:a[t],schemaPath:(0,ur._)`${n.schemaPath}${(0,ur.getProperty)(e)}${(0,ur.getProperty)(t)}`,errSchemaPath:`${n.errSchemaPath}/${e}/${(0,hT.escapeFragment)(t)}`}}if(s!==void 0){if(i===void 0||r===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:s,schemaPath:i,topSchemaRef:o,errSchemaPath:r}}throw new Error('either "keyword" or "schema" must be passed')}ia.getSubschema=c3;function h3(n,e,{dataProp:t,dataPropType:s,data:i,dataTypes:r,propertyName:o}){if(i!==void 0&&t!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:a}=e;if(t!==void 0){const{errorPath:c,dataPathArr:h,opts:u}=e,d=a.let("data",(0,ur._)`${e.data}${(0,ur.getProperty)(t)}`,!0);l(d),n.errorPath=(0,ur.str)`${c}${(0,hT.getErrorPath)(t,s,u.jsPropertySyntax)}`,n.parentDataProperty=(0,ur._)`${t}`,n.dataPathArr=[...h,n.parentDataProperty]}if(i!==void 0){const c=i instanceof ur.Name?i:a.let("data",i,!0);l(c),o!==void 0&&(n.propertyName=o)}r&&(n.dataTypes=r);function l(c){n.data=c,n.dataLevel=e.dataLevel+1,n.dataTypes=[],e.definedProperties=new Set,n.parentData=e.data,n.dataNames=[...e.dataNames,c]}}ia.extendSubschemaData=h3;function u3(n,{jtdDiscriminator:e,jtdMetadata:t,compositeRule:s,createErrors:i,allErrors:r}){s!==void 0&&(n.compositeRule=s),i!==void 0&&(n.createErrors=i),r!==void 0&&(n.allErrors=r),n.jtdDiscriminator=e,n.jtdMetadata=t}ia.extendSubschemaMode=u3;var Dn={},uT={exports:{}},ea=uT.exports=function(n,e,t){typeof e=="function"&&(t=e,e={}),t=e.cb||t;var s=typeof t=="function"?t:t.pre||function(){},i=t.post||function(){};xm(e,s,i,n,"",n)};ea.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};ea.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};ea.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};ea.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function xm(n,e,t,s,i,r,o,a,l,c){if(s&&typeof s=="object"&&!Array.isArray(s)){e(s,i,r,o,a,l,c);for(var h in s){var u=s[h];if(Array.isArray(u)){if(h in ea.arrayKeywords)for(var d=0;de+=dT(s)),e===1/0))return 1/0}return e}function fT(n,e="",t){t!==!1&&(e=Hc(e));const s=n.parse(e);return pT(n,s)}Dn.getFullPath=fT;function pT(n,e){return n.serialize(e).split("#")[0]+"#"}Dn._getFullPath=pT;const w3=/#\/?$/;function Hc(n){return n?n.replace(w3,""):""}Dn.normalizeId=Hc;function _3(n,e,t){return t=Hc(t),n.resolve(e,t)}Dn.resolveUrl=_3;const S3=/^[a-z_][-a-z0-9._]*$/i;function k3(n,e){if(typeof n=="boolean")return{};const{schemaId:t,uriResolver:s}=this.opts,i=Hc(n[t]||e),r={"":i},o=fT(s,i,!1),a={},l=new Set;return g3(n,{allKeys:!0},(u,d,p,m)=>{if(m===void 0)return;const g=o+d;let v=r[m];typeof u[t]=="string"&&(v=y.call(this,u[t])),b.call(this,u.$anchor),b.call(this,u.$dynamicAnchor),r[d]=v;function y(_){const S=this.opts.uriResolver.resolve;if(_=Hc(v?S(v,_):_),l.has(_))throw h(_);l.add(_);let A=this.refs[_];return typeof A=="string"&&(A=this.refs[A]),typeof A=="object"?c(u,A.schema,_):_!==Hc(g)&&(_[0]==="#"?(c(u,a[_],_),a[_]=u):this.refs[_]=g),_}function b(_){if(typeof _=="string"){if(!S3.test(_))throw new Error(`invalid anchor "${_}"`);y.call(this,`#${_}`)}}}),a;function c(u,d,p){if(d!==void 0&&!m3(u,d))throw h(p)}function h(u){return new Error(`reference "${u}" resolves to more than one schema`)}}Dn.getSchemaRefs=k3;Object.defineProperty(Di,"__esModule",{value:!0});Di.getData=Di.KeywordCxt=Di.validateFunctionCode=void 0;const mT=Yh,SA=dn,HS=so,Ag=dn,A3=Hy,hd=pr,x0=ia,Ee=qe,Re=_r,x3=Dn,io=be,xu=mp;function E3(n){if(vT(n)&&(bT(n),yT(n))){T3(n);return}gT(n,()=>(0,mT.topBoolOrEmptySchema)(n))}Di.validateFunctionCode=E3;function gT({gen:n,validateName:e,schema:t,schemaEnv:s,opts:i},r){i.code.es5?n.func(e,(0,Ee._)`${Re.default.data}, ${Re.default.valCxt}`,s.$async,()=>{n.code((0,Ee._)`"use strict"; ${kA(t,i)}`),$3(n,i),n.code(r)}):n.func(e,(0,Ee._)`${Re.default.data}, ${C3(i)}`,s.$async,()=>n.code(kA(t,i)).code(r))}function C3(n){return(0,Ee._)`{${Re.default.instancePath}="", ${Re.default.parentData}, ${Re.default.parentDataProperty}, ${Re.default.rootData}=${Re.default.data}${n.dynamicRef?(0,Ee._)`, ${Re.default.dynamicAnchors}={}`:Ee.nil}}={}`}function $3(n,e){n.if(Re.default.valCxt,()=>{n.var(Re.default.instancePath,(0,Ee._)`${Re.default.valCxt}.${Re.default.instancePath}`),n.var(Re.default.parentData,(0,Ee._)`${Re.default.valCxt}.${Re.default.parentData}`),n.var(Re.default.parentDataProperty,(0,Ee._)`${Re.default.valCxt}.${Re.default.parentDataProperty}`),n.var(Re.default.rootData,(0,Ee._)`${Re.default.valCxt}.${Re.default.rootData}`),e.dynamicRef&&n.var(Re.default.dynamicAnchors,(0,Ee._)`${Re.default.valCxt}.${Re.default.dynamicAnchors}`)},()=>{n.var(Re.default.instancePath,(0,Ee._)`""`),n.var(Re.default.parentData,(0,Ee._)`undefined`),n.var(Re.default.parentDataProperty,(0,Ee._)`undefined`),n.var(Re.default.rootData,Re.default.data),e.dynamicRef&&n.var(Re.default.dynamicAnchors,(0,Ee._)`{}`)})}function T3(n){const{schema:e,opts:t,gen:s}=n;gT(n,()=>{t.$comment&&e.$comment&&_T(n),O3(n),s.let(Re.default.vErrors,null),s.let(Re.default.errors,0),t.unevaluated&&P3(n),wT(n),D3(n)})}function P3(n){const{gen:e,validateName:t}=n;n.evaluated=e.const("evaluated",(0,Ee._)`${t}.evaluated`),e.if((0,Ee._)`${n.evaluated}.dynamicProps`,()=>e.assign((0,Ee._)`${n.evaluated}.props`,(0,Ee._)`undefined`)),e.if((0,Ee._)`${n.evaluated}.dynamicItems`,()=>e.assign((0,Ee._)`${n.evaluated}.items`,(0,Ee._)`undefined`))}function kA(n,e){const t=typeof n=="object"&&n[e.schemaId];return t&&(e.code.source||e.code.process)?(0,Ee._)`/*# sourceURL=${t} */`:Ee.nil}function R3(n,e){if(vT(n)&&(bT(n),yT(n))){M3(n,e);return}(0,mT.boolOrEmptySchema)(n,e)}function yT({schema:n,self:e}){if(typeof n=="boolean")return!n;for(const t in n)if(e.RULES.all[t])return!0;return!1}function vT(n){return typeof n.schema!="boolean"}function M3(n,e){const{schema:t,gen:s,opts:i}=n;i.$comment&&t.$comment&&_T(n),N3(n),L3(n);const r=s.const("_errs",Re.default.errors);wT(n,r),s.var(e,(0,Ee._)`${r} === ${Re.default.errors}`)}function bT(n){(0,io.checkUnknownRules)(n),I3(n)}function wT(n,e){if(n.opts.jtd)return AA(n,[],!1,e);const t=(0,SA.getSchemaTypes)(n.schema),s=(0,SA.coerceAndCheckDataType)(n,t);AA(n,t,!s,e)}function I3(n){const{schema:e,errSchemaPath:t,opts:s,self:i}=n;e.$ref&&s.ignoreKeywordsWithRef&&(0,io.schemaHasRulesButRef)(e,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${t}"`)}function O3(n){const{schema:e,opts:t}=n;e.default!==void 0&&t.useDefaults&&t.strictSchema&&(0,io.checkStrictMode)(n,"default is ignored in the schema root")}function N3(n){const e=n.schema[n.opts.schemaId];e&&(n.baseId=(0,x3.resolveUrl)(n.opts.uriResolver,n.baseId,e))}function L3(n){if(n.schema.$async&&!n.schemaEnv.$async)throw new Error("async schema in sync schema")}function _T({gen:n,schemaEnv:e,schema:t,errSchemaPath:s,opts:i}){const r=t.$comment;if(i.$comment===!0)n.code((0,Ee._)`${Re.default.self}.logger.log(${r})`);else if(typeof i.$comment=="function"){const o=(0,Ee.str)`${s}/$comment`,a=n.scopeValue("root",{ref:e.root});n.code((0,Ee._)`${Re.default.self}.opts.$comment(${r}, ${o}, ${a}.schema)`)}}function D3(n){const{gen:e,schemaEnv:t,validateName:s,ValidationError:i,opts:r}=n;t.$async?e.if((0,Ee._)`${Re.default.errors} === 0`,()=>e.return(Re.default.data),()=>e.throw((0,Ee._)`new ${i}(${Re.default.vErrors})`)):(e.assign((0,Ee._)`${s}.errors`,Re.default.vErrors),r.unevaluated&&F3(n),e.return((0,Ee._)`${Re.default.errors} === 0`))}function F3({gen:n,evaluated:e,props:t,items:s}){t instanceof Ee.Name&&n.assign((0,Ee._)`${e}.props`,t),s instanceof Ee.Name&&n.assign((0,Ee._)`${e}.items`,s)}function AA(n,e,t,s){const{gen:i,schema:r,data:o,allErrors:a,opts:l,self:c}=n,{RULES:h}=c;if(r.$ref&&(l.ignoreKeywordsWithRef||!(0,io.schemaHasRulesButRef)(r,h))){i.block(()=>AT(n,"$ref",h.all.$ref.definition));return}l.jtd||j3(n,e),i.block(()=>{for(const d of h.rules)u(d);u(h.post)});function u(d){(0,HS.shouldUseGroup)(r,d)&&(d.type?(i.if((0,Ag.checkDataType)(d.type,o,l.strictNumbers)),xA(n,d),e.length===1&&e[0]===d.type&&t&&(i.else(),(0,Ag.reportTypeError)(n)),i.endIf()):xA(n,d),a||i.if((0,Ee._)`${Re.default.errors} === ${s||0}`))}}function xA(n,e){const{gen:t,schema:s,opts:{useDefaults:i}}=n;i&&(0,A3.assignDefaults)(n,e.type),t.block(()=>{for(const r of e.rules)(0,HS.shouldUseRule)(s,r)&&AT(n,r.keyword,r.definition,e.type)})}function j3(n,e){n.schemaEnv.meta||!n.opts.strictTypes||(z3(n,e),n.opts.allowUnionTypes||H3(n,e),B3(n,n.dataTypes))}function z3(n,e){if(e.length){if(!n.dataTypes.length){n.dataTypes=e;return}e.forEach(t=>{ST(n.dataTypes,t)||BS(n,`type "${t}" not allowed by context "${n.dataTypes.join(",")}"`)}),U3(n,e)}}function H3(n,e){e.length>1&&!(e.length===2&&e.includes("null"))&&BS(n,"use allowUnionTypes to allow union type keyword")}function B3(n,e){const t=n.self.RULES.all;for(const s in t){const i=t[s];if(typeof i=="object"&&(0,HS.shouldUseRule)(n.schema,i)){const{type:r}=i.definition;r.length&&!r.some(o=>q3(e,o))&&BS(n,`missing type "${r.join(",")}" for keyword "${s}"`)}}}function q3(n,e){return n.includes(e)||e==="number"&&n.includes("integer")}function ST(n,e){return n.includes(e)||e==="integer"&&n.includes("number")}function U3(n,e){const t=[];for(const s of n.dataTypes)ST(e,s)?t.push(s):e.includes("integer")&&s==="number"&&t.push("integer");n.dataTypes=t}function BS(n,e){const t=n.schemaEnv.baseId+n.errSchemaPath;e+=` at "${t}" (strictTypes)`,(0,io.checkStrictMode)(n,e,n.opts.strictTypes)}class kT{constructor(e,t,s){if((0,hd.validateKeywordUsage)(e,t,s),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=s,this.data=e.data,this.schema=e.schema[s],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,io.schemaRefOrVal)(e,this.schema,s,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",xT(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,hd.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${s} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:t.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Re.default.errors))}result(e,t,s){this.failResult((0,Ee.not)(e),t,s)}failResult(e,t,s){this.gen.if(e),s?s():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,Ee.not)(e),void 0,t)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail((0,Ee._)`${t} !== undefined && (${(0,Ee.or)(this.invalid$data(),e)})`)}error(e,t,s){if(t){this.setParams(t),this._error(e,s),this.setParams({});return}this._error(e,s)}_error(e,t){(e?xu.reportExtraError:xu.reportError)(this,this.def.error,t)}$dataError(){(0,xu.reportError)(this,this.def.$dataError||xu.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,xu.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,s=Ee.nil){this.gen.block(()=>{this.check$data(e,s),t()})}check$data(e=Ee.nil,t=Ee.nil){if(!this.$data)return;const{gen:s,schemaCode:i,schemaType:r,def:o}=this;s.if((0,Ee.or)((0,Ee._)`${i} === undefined`,t)),e!==Ee.nil&&s.assign(e,!0),(r.length||o.validateSchema)&&(s.elseIf(this.invalid$data()),this.$dataError(),e!==Ee.nil&&s.assign(e,!1)),s.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:s,def:i,it:r}=this;return(0,Ee.or)(o(),a());function o(){if(s.length){if(!(t instanceof Ee.Name))throw new Error("ajv implementation error");const l=Array.isArray(s)?s:[s];return(0,Ee._)`${(0,Ag.checkDataTypes)(l,t,r.opts.strictNumbers,Ag.DataType.Wrong)}`}return Ee.nil}function a(){if(i.validateSchema){const l=e.scopeValue("validate$data",{ref:i.validateSchema});return(0,Ee._)`!${l}(${t})`}return Ee.nil}}subschema(e,t){const s=(0,x0.getSubschema)(this.it,e);(0,x0.extendSubschemaData)(s,this.it,e),(0,x0.extendSubschemaMode)(s,e);const i={...this.it,...s,items:void 0,props:void 0};return R3(i,t),i}mergeEvaluated(e,t){const{it:s,gen:i}=this;s.opts.unevaluated&&(s.props!==!0&&e.props!==void 0&&(s.props=io.mergeEvaluated.props(i,e.props,s.props,t)),s.items!==!0&&e.items!==void 0&&(s.items=io.mergeEvaluated.items(i,e.items,s.items,t)))}mergeValidEvaluated(e,t){const{it:s,gen:i}=this;if(s.opts.unevaluated&&(s.props!==!0||s.items!==!0))return i.if(t,()=>this.mergeEvaluated(e,Ee.Name)),!0}}Di.KeywordCxt=kT;function AT(n,e,t,s){const i=new kT(n,t,e);"code"in t?t.code(i,s):i.$data&&t.validate?(0,hd.funcKeywordCode)(i,t):"macro"in t?(0,hd.macroKeywordCode)(i,t):(t.compile||t.validate)&&(0,hd.funcKeywordCode)(i,t)}const V3=/^\/(?:[^~]|~0|~1)*$/,W3=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function xT(n,{dataLevel:e,dataNames:t,dataPathArr:s}){let i,r;if(n==="")return Re.default.rootData;if(n[0]==="/"){if(!V3.test(n))throw new Error(`Invalid JSON-pointer: ${n}`);i=n,r=Re.default.rootData}else{const c=W3.exec(n);if(!c)throw new Error(`Invalid JSON-pointer: ${n}`);const h=+c[1];if(i=c[2],i==="#"){if(h>=e)throw new Error(l("property/index",h));return s[e-h]}if(h>e)throw new Error(l("data",h));if(r=t[e-h],!i)return r}let o=r;const a=i.split("/");for(const c of a)c&&(r=(0,Ee._)`${r}${(0,Ee.getProperty)((0,io.unescapeJsonPointer)(c))}`,o=(0,Ee._)`${o} && ${r}`);return o;function l(c,h){return`Cannot access ${c} ${h} levels up, current level is ${e}`}}Di.getData=xT;var gp={};Object.defineProperty(gp,"__esModule",{value:!0});class G3 extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}}gp.default=G3;var mu={};Object.defineProperty(mu,"__esModule",{value:!0});const E0=Dn;class K3 extends Error{constructor(e,t,s,i){super(i||`can't resolve reference ${s} from id ${t}`),this.missingRef=(0,E0.resolveUrl)(e,t,s),this.missingSchema=(0,E0.normalizeId)((0,E0.getFullPath)(e,this.missingRef))}}mu.default=K3;var ks={};Object.defineProperty(ks,"__esModule",{value:!0});ks.resolveSchema=ks.getCompilingSchema=ks.resolveRef=ks.compileSchema=ks.SchemaEnv=void 0;const pi=qe,Z3=gp,Ea=_r,Ii=Dn,EA=be,X3=Di;class By{constructor(e){var t;this.refs={},this.dynamicAnchors={};let s;typeof e.schema=="object"&&(s=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(t=e.baseId)!==null&&t!==void 0?t:(0,Ii.normalizeId)(s==null?void 0:s[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=s==null?void 0:s.$async,this.refs={}}}ks.SchemaEnv=By;function qS(n){const e=ET.call(this,n);if(e)return e;const t=(0,Ii.getFullPath)(this.opts.uriResolver,n.root.baseId),{es5:s,lines:i}=this.opts.code,{ownProperties:r}=this.opts,o=new pi.CodeGen(this.scope,{es5:s,lines:i,ownProperties:r});let a;n.$async&&(a=o.scopeValue("Error",{ref:Z3.default,code:(0,pi._)`require("ajv/dist/runtime/validation_error").default`}));const l=o.scopeName("validate");n.validateName=l;const c={gen:o,allErrors:this.opts.allErrors,data:Ea.default.data,parentData:Ea.default.parentData,parentDataProperty:Ea.default.parentDataProperty,dataNames:[Ea.default.data],dataPathArr:[pi.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:n.schema,code:(0,pi.stringify)(n.schema)}:{ref:n.schema}),validateName:l,ValidationError:a,schema:n.schema,schemaEnv:n,rootId:t,baseId:n.baseId||t,schemaPath:pi.nil,errSchemaPath:n.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,pi._)`""`,opts:this.opts,self:this};let h;try{this._compilations.add(n),(0,X3.validateFunctionCode)(c),o.optimize(this.opts.code.optimize);const u=o.toString();h=`${o.scopeRefs(Ea.default.scope)}return ${u}`,this.opts.code.process&&(h=this.opts.code.process(h,n));const p=new Function(`${Ea.default.self}`,`${Ea.default.scope}`,h)(this,this.scope.get());if(this.scope.value(l,{ref:p}),p.errors=null,p.schema=n.schema,p.schemaEnv=n,n.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:l,validateCode:u,scopeValues:o._values}),this.opts.unevaluated){const{props:m,items:g}=c;p.evaluated={props:m instanceof pi.Name?void 0:m,items:g instanceof pi.Name?void 0:g,dynamicProps:m instanceof pi.Name,dynamicItems:g instanceof pi.Name},p.source&&(p.source.evaluated=(0,pi.stringify)(p.evaluated))}return n.validate=p,n}catch(u){throw delete n.validate,delete n.validateName,h&&this.logger.error("Error compiling schema, function code:",h),u}finally{this._compilations.delete(n)}}ks.compileSchema=qS;function Y3(n,e,t){var s;t=(0,Ii.resolveUrl)(this.opts.uriResolver,e,t);const i=n.refs[t];if(i)return i;let r=eW.call(this,n,t);if(r===void 0){const o=(s=n.localRefs)===null||s===void 0?void 0:s[t],{schemaId:a}=this.opts;o&&(r=new By({schema:o,schemaId:a,root:n,baseId:e}))}if(r!==void 0)return n.refs[t]=J3.call(this,r)}ks.resolveRef=Y3;function J3(n){return(0,Ii.inlineRef)(n.schema,this.opts.inlineRefs)?n.schema:n.validate?n:qS.call(this,n)}function ET(n){for(const e of this._compilations)if(Q3(e,n))return e}ks.getCompilingSchema=ET;function Q3(n,e){return n.schema===e.schema&&n.root===e.root&&n.baseId===e.baseId}function eW(n,e){let t;for(;typeof(t=this.refs[e])=="string";)e=t;return t||this.schemas[e]||qy.call(this,n,e)}function qy(n,e){const t=this.opts.uriResolver.parse(e),s=(0,Ii._getFullPath)(this.opts.uriResolver,t);let i=(0,Ii.getFullPath)(this.opts.uriResolver,n.baseId,void 0);if(Object.keys(n.schema).length>0&&s===i)return C0.call(this,t,n);const r=(0,Ii.normalizeId)(s),o=this.refs[r]||this.schemas[r];if(typeof o=="string"){const a=qy.call(this,n,o);return typeof(a==null?void 0:a.schema)!="object"?void 0:C0.call(this,t,a)}if(typeof(o==null?void 0:o.schema)=="object"){if(o.validate||qS.call(this,o),r===(0,Ii.normalizeId)(e)){const{schema:a}=o,{schemaId:l}=this.opts,c=a[l];return c&&(i=(0,Ii.resolveUrl)(this.opts.uriResolver,i,c)),new By({schema:a,schemaId:l,root:n,baseId:i})}return C0.call(this,t,o)}}ks.resolveSchema=qy;const tW=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function C0(n,{baseId:e,schema:t,root:s}){var i;if(((i=n.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(const a of n.fragment.slice(1).split("/")){if(typeof t=="boolean")return;const l=t[(0,EA.unescapeFragment)(a)];if(l===void 0)return;t=l;const c=typeof t=="object"&&t[this.opts.schemaId];!tW.has(a)&&c&&(e=(0,Ii.resolveUrl)(this.opts.uriResolver,e,c))}let r;if(typeof t!="boolean"&&t.$ref&&!(0,EA.schemaHasRulesButRef)(t,this.RULES)){const a=(0,Ii.resolveUrl)(this.opts.uriResolver,e,t.$ref);r=qy.call(this,s,a)}const{schemaId:o}=this.opts;if(r=r||new By({schema:t,schemaId:o,root:s,baseId:e}),r.schema!==r.root.schema)return r}const nW="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",sW="Meta-schema for $data reference (JSON AnySchema extension proposal)",iW="object",rW=["$data"],oW={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},aW=!1,lW={$id:nW,description:sW,type:iW,required:rW,properties:oW,additionalProperties:aW};var US={};Object.defineProperty(US,"__esModule",{value:!0});const CT=D$;CT.code='require("ajv/dist/runtime/uri").default';US.default=CT;(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.CodeGen=n.Name=n.nil=n.stringify=n.str=n._=n.KeywordCxt=void 0;var e=Di;Object.defineProperty(n,"KeywordCxt",{enumerable:!0,get:function(){return e.KeywordCxt}});var t=qe;Object.defineProperty(n,"_",{enumerable:!0,get:function(){return t._}}),Object.defineProperty(n,"str",{enumerable:!0,get:function(){return t.str}}),Object.defineProperty(n,"stringify",{enumerable:!0,get:function(){return t.stringify}}),Object.defineProperty(n,"nil",{enumerable:!0,get:function(){return t.nil}}),Object.defineProperty(n,"Name",{enumerable:!0,get:function(){return t.Name}}),Object.defineProperty(n,"CodeGen",{enumerable:!0,get:function(){return t.CodeGen}});const s=gp,i=mu,r=Zl,o=ks,a=qe,l=Dn,c=dn,h=be,u=lW,d=US,p=(B,P)=>new RegExp(B,P);p.code="new RegExp";const m=["removeAdditional","useDefaults","coerceTypes"],g=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),v={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},y={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},b=200;function _(B){var P,D,M,w,x,I,K,X,ue,oe,H,U,Y,ie,ce,_e,Ze,yt,vt,bt,ct,Un,fe,xe,Ke;const Qe=B.strict,it=(P=B.code)===null||P===void 0?void 0:P.optimize,wt=it===!0||it===void 0?1:it||0,Cn=(M=(D=B.code)===null||D===void 0?void 0:D.regExp)!==null&&M!==void 0?M:p,Vn=(w=B.uriResolver)!==null&&w!==void 0?w:d.default;return{strictSchema:(I=(x=B.strictSchema)!==null&&x!==void 0?x:Qe)!==null&&I!==void 0?I:!0,strictNumbers:(X=(K=B.strictNumbers)!==null&&K!==void 0?K:Qe)!==null&&X!==void 0?X:!0,strictTypes:(oe=(ue=B.strictTypes)!==null&&ue!==void 0?ue:Qe)!==null&&oe!==void 0?oe:"log",strictTuples:(U=(H=B.strictTuples)!==null&&H!==void 0?H:Qe)!==null&&U!==void 0?U:"log",strictRequired:(ie=(Y=B.strictRequired)!==null&&Y!==void 0?Y:Qe)!==null&&ie!==void 0?ie:!1,code:B.code?{...B.code,optimize:wt,regExp:Cn}:{optimize:wt,regExp:Cn},loopRequired:(ce=B.loopRequired)!==null&&ce!==void 0?ce:b,loopEnum:(_e=B.loopEnum)!==null&&_e!==void 0?_e:b,meta:(Ze=B.meta)!==null&&Ze!==void 0?Ze:!0,messages:(yt=B.messages)!==null&&yt!==void 0?yt:!0,inlineRefs:(vt=B.inlineRefs)!==null&&vt!==void 0?vt:!0,schemaId:(bt=B.schemaId)!==null&&bt!==void 0?bt:"$id",addUsedSchema:(ct=B.addUsedSchema)!==null&&ct!==void 0?ct:!0,validateSchema:(Un=B.validateSchema)!==null&&Un!==void 0?Un:!0,validateFormats:(fe=B.validateFormats)!==null&&fe!==void 0?fe:!0,unicodeRegExp:(xe=B.unicodeRegExp)!==null&&xe!==void 0?xe:!0,int32range:(Ke=B.int32range)!==null&&Ke!==void 0?Ke:!0,uriResolver:Vn}}class S{constructor(P={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,P=this.opts={...P,..._(P)};const{es5:D,lines:M}=this.opts.code;this.scope=new a.ValueScope({scope:{},prefixes:g,es5:D,lines:M}),this.logger=z(P.logger);const w=P.validateFormats;P.validateFormats=!1,this.RULES=(0,r.getRules)(),A.call(this,v,P,"NOT SUPPORTED"),A.call(this,y,P,"DEPRECATED","warn"),this._metaOpts=q.call(this),P.formats&&O.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),P.keywords&&F.call(this,P.keywords),typeof P.meta=="object"&&this.addMetaSchema(P.meta),$.call(this),P.validateFormats=w}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:P,meta:D,schemaId:M}=this.opts;let w=u;M==="id"&&(w={...u},w.id=w.$id,delete w.$id),D&&P&&this.addMetaSchema(w,w[M],!1)}defaultMeta(){const{meta:P,schemaId:D}=this.opts;return this.opts.defaultMeta=typeof P=="object"?P[D]||P:void 0}validate(P,D){let M;if(typeof P=="string"){if(M=this.getSchema(P),!M)throw new Error(`no schema with key or ref "${P}"`)}else M=this.compile(P);const w=M(D);return"$async"in M||(this.errors=M.errors),w}compile(P,D){const M=this._addSchema(P,D);return M.validate||this._compileSchemaEnv(M)}compileAsync(P,D){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");const{loadSchema:M}=this.opts;return w.call(this,P,D);async function w(oe,H){await x.call(this,oe.$schema);const U=this._addSchema(oe,H);return U.validate||I.call(this,U)}async function x(oe){oe&&!this.getSchema(oe)&&await w.call(this,{$ref:oe},!0)}async function I(oe){try{return this._compileSchemaEnv(oe)}catch(H){if(!(H instanceof i.default))throw H;return K.call(this,H),await X.call(this,H.missingSchema),I.call(this,oe)}}function K({missingSchema:oe,missingRef:H}){if(this.refs[oe])throw new Error(`AnySchema ${oe} is loaded but ${H} cannot be resolved`)}async function X(oe){const H=await ue.call(this,oe);this.refs[oe]||await x.call(this,H.$schema),this.refs[oe]||this.addSchema(H,oe,D)}async function ue(oe){const H=this._loading[oe];if(H)return H;try{return await(this._loading[oe]=M(oe))}finally{delete this._loading[oe]}}}addSchema(P,D,M,w=this.opts.validateSchema){if(Array.isArray(P)){for(const I of P)this.addSchema(I,void 0,M,w);return this}let x;if(typeof P=="object"){const{schemaId:I}=this.opts;if(x=P[I],x!==void 0&&typeof x!="string")throw new Error(`schema ${I} must be string`)}return D=(0,l.normalizeId)(D||x),this._checkUnique(D),this.schemas[D]=this._addSchema(P,M,D,w,!0),this}addMetaSchema(P,D,M=this.opts.validateSchema){return this.addSchema(P,D,!0,M),this}validateSchema(P,D){if(typeof P=="boolean")return!0;let M;if(M=P.$schema,M!==void 0&&typeof M!="string")throw new Error("$schema must be a string");if(M=M||this.opts.defaultMeta||this.defaultMeta(),!M)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const w=this.validate(M,P);if(!w&&D){const x="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(x);else throw new Error(x)}return w}getSchema(P){let D;for(;typeof(D=E.call(this,P))=="string";)P=D;if(D===void 0){const{schemaId:M}=this.opts,w=new o.SchemaEnv({schema:{},schemaId:M});if(D=o.resolveSchema.call(this,w,P),!D)return;this.refs[P]=D}return D.validate||this._compileSchemaEnv(D)}removeSchema(P){if(P instanceof RegExp)return this._removeAllSchemas(this.schemas,P),this._removeAllSchemas(this.refs,P),this;switch(typeof P){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const D=E.call(this,P);return typeof D=="object"&&this._cache.delete(D.schema),delete this.schemas[P],delete this.refs[P],this}case"object":{const D=P;this._cache.delete(D);let M=P[this.opts.schemaId];return M&&(M=(0,l.normalizeId)(M),delete this.schemas[M],delete this.refs[M]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(P){for(const D of P)this.addKeyword(D);return this}addKeyword(P,D){let M;if(typeof P=="string")M=P,typeof D=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),D.keyword=M);else if(typeof P=="object"&&D===void 0){if(D=P,M=D.keyword,Array.isArray(M)&&!M.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(L.call(this,M,D),!D)return(0,h.eachItem)(M,x=>J.call(this,x)),this;ee.call(this,D);const w={...D,type:(0,c.getJSONTypes)(D.type),schemaType:(0,c.getJSONTypes)(D.schemaType)};return(0,h.eachItem)(M,w.type.length===0?x=>J.call(this,x,w):x=>w.type.forEach(I=>J.call(this,x,w,I))),this}getKeyword(P){const D=this.RULES.all[P];return typeof D=="object"?D.definition:!!D}removeKeyword(P){const{RULES:D}=this;delete D.keywords[P],delete D.all[P];for(const M of D.rules){const w=M.rules.findIndex(x=>x.keyword===P);w>=0&&M.rules.splice(w,1)}return this}addFormat(P,D){return typeof D=="string"&&(D=new RegExp(D)),this.formats[P]=D,this}errorsText(P=this.errors,{separator:D=", ",dataVar:M="data"}={}){return!P||P.length===0?"No errors":P.map(w=>`${M}${w.instancePath} ${w.message}`).reduce((w,x)=>w+D+x)}$dataMetaSchema(P,D){const M=this.RULES.all;P=JSON.parse(JSON.stringify(P));for(const w of D){const x=w.split("/").slice(1);let I=P;for(const K of x)I=I[K];for(const K in M){const X=M[K];if(typeof X!="object")continue;const{$data:ue}=X.definition,oe=I[K];ue&&oe&&(I[K]=ye(oe))}}return P}_removeAllSchemas(P,D){for(const M in P){const w=P[M];(!D||D.test(M))&&(typeof w=="string"?delete P[M]:w&&!w.meta&&(this._cache.delete(w.schema),delete P[M]))}}_addSchema(P,D,M,w=this.opts.validateSchema,x=this.opts.addUsedSchema){let I;const{schemaId:K}=this.opts;if(typeof P=="object")I=P[K];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof P!="boolean")throw new Error("schema must be object or boolean")}let X=this._cache.get(P);if(X!==void 0)return X;M=(0,l.normalizeId)(I||M);const ue=l.getSchemaRefs.call(this,P,M);return X=new o.SchemaEnv({schema:P,schemaId:K,meta:D,baseId:M,localRefs:ue}),this._cache.set(X.schema,X),x&&!M.startsWith("#")&&(M&&this._checkUnique(M),this.refs[M]=X),w&&this.validateSchema(P,!0),X}_checkUnique(P){if(this.schemas[P]||this.refs[P])throw new Error(`schema with key or id "${P}" already exists`)}_compileSchemaEnv(P){if(P.meta?this._compileMetaSchema(P):o.compileSchema.call(this,P),!P.validate)throw new Error("ajv implementation error");return P.validate}_compileMetaSchema(P){const D=this.opts;this.opts=this._metaOpts;try{o.compileSchema.call(this,P)}finally{this.opts=D}}}S.ValidationError=s.default,S.MissingRefError=i.default,n.default=S;function A(B,P,D,M="error"){for(const w in B){const x=w;x in P&&this.logger[M](`${D}: option ${w}. ${B[x]}`)}}function E(B){return B=(0,l.normalizeId)(B),this.schemas[B]||this.refs[B]}function $(){const B=this.opts.schemas;if(B)if(Array.isArray(B))this.addSchema(B);else for(const P in B)this.addSchema(B[P],P)}function O(){for(const B in this.opts.formats){const P=this.opts.formats[B];P&&this.addFormat(B,P)}}function F(B){if(Array.isArray(B)){this.addVocabulary(B);return}this.logger.warn("keywords option as map is deprecated, pass array");for(const P in B){const D=B[P];D.keyword||(D.keyword=P),this.addKeyword(D)}}function q(){const B={...this.opts};for(const P of m)delete B[P];return B}const N={log(){},warn(){},error(){}};function z(B){if(B===!1)return N;if(B===void 0)return console;if(B.log&&B.warn&&B.error)return B;throw new Error("logger must implement log, warn and error methods")}const G=/^[a-z_$][a-z0-9_$:-]*$/i;function L(B,P){const{RULES:D}=this;if((0,h.eachItem)(B,M=>{if(D.keywords[M])throw new Error(`Keyword ${M} is already defined`);if(!G.test(M))throw new Error(`Keyword ${M} has invalid name`)}),!!P&&P.$data&&!("code"in P||"validate"in P))throw new Error('$data keyword must have "code" or "validate" function')}function J(B,P,D){var M;const w=P==null?void 0:P.post;if(D&&w)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:x}=this;let I=w?x.post:x.rules.find(({type:X})=>X===D);if(I||(I={type:D,rules:[]},x.rules.push(I)),x.keywords[B]=!0,!P)return;const K={keyword:B,definition:{...P,type:(0,c.getJSONTypes)(P.type),schemaType:(0,c.getJSONTypes)(P.schemaType)}};P.before?Q.call(this,I,K,P.before):I.rules.push(K),x.all[B]=K,(M=P.implements)===null||M===void 0||M.forEach(X=>this.addKeyword(X))}function Q(B,P,D){const M=B.rules.findIndex(w=>w.keyword===D);M>=0?B.rules.splice(M,0,P):(B.rules.push(P),this.logger.warn(`rule ${D} is not defined`))}function ee(B){let{metaSchema:P}=B;P!==void 0&&(B.$data&&this.opts.$data&&(P=ye(P)),B.validateSchema=this.compile(P,!0))}const ae={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function ye(B){return{anyOf:[B,ae]}}})(Z$);var VS={},WS={},GS={};Object.defineProperty(GS,"__esModule",{value:!0});const cW={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};GS.default=cW;var Xl={};Object.defineProperty(Xl,"__esModule",{value:!0});Xl.callRef=Xl.getValidate=void 0;const hW=mu,CA=We,ws=qe,gc=_r,$A=ks,Bp=be,uW={keyword:"$ref",schemaType:"string",code(n){const{gen:e,schema:t,it:s}=n,{baseId:i,schemaEnv:r,validateName:o,opts:a,self:l}=s,{root:c}=r;if((t==="#"||t==="#/")&&i===c.baseId)return u();const h=$A.resolveRef.call(l,c,i,t);if(h===void 0)throw new hW.default(s.opts.uriResolver,i,t);if(h instanceof $A.SchemaEnv)return d(h);return p(h);function u(){if(r===c)return Em(n,o,r,r.$async);const m=e.scopeValue("root",{ref:c});return Em(n,(0,ws._)`${m}.validate`,c,c.$async)}function d(m){const g=$T(n,m);Em(n,g,m,m.$async)}function p(m){const g=e.scopeValue("schema",a.code.source===!0?{ref:m,code:(0,ws.stringify)(m)}:{ref:m}),v=e.name("valid"),y=n.subschema({schema:m,dataTypes:[],schemaPath:ws.nil,topSchemaRef:g,errSchemaPath:t},v);n.mergeEvaluated(y),n.ok(v)}}};function $T(n,e){const{gen:t}=n;return e.validate?t.scopeValue("validate",{ref:e.validate}):(0,ws._)`${t.scopeValue("wrapper",{ref:e})}.validate`}Xl.getValidate=$T;function Em(n,e,t,s){const{gen:i,it:r}=n,{allErrors:o,schemaEnv:a,opts:l}=r,c=l.passContext?gc.default.this:ws.nil;s?h():u();function h(){if(!a.$async)throw new Error("async schema referenced by sync schema");const m=i.let("valid");i.try(()=>{i.code((0,ws._)`await ${(0,CA.callValidateCode)(n,e,c)}`),p(e),o||i.assign(m,!0)},g=>{i.if((0,ws._)`!(${g} instanceof ${r.ValidationError})`,()=>i.throw(g)),d(g),o||i.assign(m,!1)}),n.ok(m)}function u(){n.result((0,CA.callValidateCode)(n,e,c),()=>p(e),()=>d(e))}function d(m){const g=(0,ws._)`${m}.errors`;i.assign(gc.default.vErrors,(0,ws._)`${gc.default.vErrors} === null ? ${g} : ${gc.default.vErrors}.concat(${g})`),i.assign(gc.default.errors,(0,ws._)`${gc.default.vErrors}.length`)}function p(m){var g;if(!r.opts.unevaluated)return;const v=(g=t==null?void 0:t.validate)===null||g===void 0?void 0:g.evaluated;if(r.props!==!0)if(v&&!v.dynamicProps)v.props!==void 0&&(r.props=Bp.mergeEvaluated.props(i,v.props,r.props));else{const y=i.var("props",(0,ws._)`${m}.evaluated.props`);r.props=Bp.mergeEvaluated.props(i,y,r.props,ws.Name)}if(r.items!==!0)if(v&&!v.dynamicItems)v.items!==void 0&&(r.items=Bp.mergeEvaluated.items(i,v.items,r.items));else{const y=i.var("items",(0,ws._)`${m}.evaluated.items`);r.items=Bp.mergeEvaluated.items(i,y,r.items,ws.Name)}}}Xl.callRef=Em;Xl.default=uW;Object.defineProperty(WS,"__esModule",{value:!0});const dW=GS,fW=Xl,pW=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",dW.default,fW.default];WS.default=pW;var KS={},ZS={};Object.defineProperty(ZS,"__esModule",{value:!0});const xg=qe,mo=xg.operators,Eg={maximum:{okStr:"<=",ok:mo.LTE,fail:mo.GT},minimum:{okStr:">=",ok:mo.GTE,fail:mo.LT},exclusiveMaximum:{okStr:"<",ok:mo.LT,fail:mo.GTE},exclusiveMinimum:{okStr:">",ok:mo.GT,fail:mo.LTE}},mW={message:({keyword:n,schemaCode:e})=>(0,xg.str)`must be ${Eg[n].okStr} ${e}`,params:({keyword:n,schemaCode:e})=>(0,xg._)`{comparison: ${Eg[n].okStr}, limit: ${e}}`},gW={keyword:Object.keys(Eg),type:"number",schemaType:"number",$data:!0,error:mW,code(n){const{keyword:e,data:t,schemaCode:s}=n;n.fail$data((0,xg._)`${t} ${Eg[e].fail} ${s} || isNaN(${t})`)}};ZS.default=gW;var XS={};Object.defineProperty(XS,"__esModule",{value:!0});const ud=qe,yW={message:({schemaCode:n})=>(0,ud.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,ud._)`{multipleOf: ${n}}`},vW={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:yW,code(n){const{gen:e,data:t,schemaCode:s,it:i}=n,r=i.opts.multipleOfPrecision,o=e.let("res"),a=r?(0,ud._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${r}`:(0,ud._)`${o} !== parseInt(${o})`;n.fail$data((0,ud._)`(${s} === 0 || (${o} = ${t}/${s}, ${a}))`)}};XS.default=vW;var YS={},JS={};Object.defineProperty(JS,"__esModule",{value:!0});function TT(n){const e=n.length;let t=0,s=0,i;for(;s=55296&&i<=56319&&s(0,za._)`{limit: ${n}}`},SW={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:_W,code(n){const{keyword:e,data:t,schemaCode:s,it:i}=n,r=e==="maxLength"?za.operators.GT:za.operators.LT,o=i.opts.unicode===!1?(0,za._)`${t}.length`:(0,za._)`${(0,bW.useFunc)(n.gen,wW.default)}(${t})`;n.fail$data((0,za._)`${o} ${r} ${s}`)}};YS.default=SW;var QS={};Object.defineProperty(QS,"__esModule",{value:!0});const kW=We,AW=be,Oc=qe,xW={message:({schemaCode:n})=>(0,Oc.str)`must match pattern "${n}"`,params:({schemaCode:n})=>(0,Oc._)`{pattern: ${n}}`},EW={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:xW,code(n){const{gen:e,data:t,$data:s,schema:i,schemaCode:r,it:o}=n,a=o.opts.unicodeRegExp?"u":"";if(s){const{regExp:l}=o.opts.code,c=l.code==="new RegExp"?(0,Oc._)`new RegExp`:(0,AW.useFunc)(e,l),h=e.let("valid");e.try(()=>e.assign(h,(0,Oc._)`${c}(${r}, ${a}).test(${t})`),()=>e.assign(h,!1)),n.fail$data((0,Oc._)`!${h}`)}else{const l=(0,kW.usePattern)(n,i);n.fail$data((0,Oc._)`!${l}.test(${t})`)}}};QS.default=EW;var e1={};Object.defineProperty(e1,"__esModule",{value:!0});const dd=qe,CW={message({keyword:n,schemaCode:e}){const t=n==="maxProperties"?"more":"fewer";return(0,dd.str)`must NOT have ${t} than ${e} properties`},params:({schemaCode:n})=>(0,dd._)`{limit: ${n}}`},$W={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:CW,code(n){const{keyword:e,data:t,schemaCode:s}=n,i=e==="maxProperties"?dd.operators.GT:dd.operators.LT;n.fail$data((0,dd._)`Object.keys(${t}).length ${i} ${s}`)}};e1.default=$W;var t1={};Object.defineProperty(t1,"__esModule",{value:!0});const Eu=We,fd=qe,TW=be,PW={message:({params:{missingProperty:n}})=>(0,fd.str)`must have required property '${n}'`,params:({params:{missingProperty:n}})=>(0,fd._)`{missingProperty: ${n}}`},RW={keyword:"required",type:"object",schemaType:"array",$data:!0,error:PW,code(n){const{gen:e,schema:t,schemaCode:s,data:i,$data:r,it:o}=n,{opts:a}=o;if(!r&&t.length===0)return;const l=t.length>=a.loopRequired;if(o.allErrors?c():h(),a.strictRequired){const p=n.parentSchema.properties,{definedProperties:m}=n.it;for(const g of t)if((p==null?void 0:p[g])===void 0&&!m.has(g)){const v=o.schemaEnv.baseId+o.errSchemaPath,y=`required property "${g}" is not defined at "${v}" (strictRequired)`;(0,TW.checkStrictMode)(o,y,o.opts.strictRequired)}}function c(){if(l||r)n.block$data(fd.nil,u);else for(const p of t)(0,Eu.checkReportMissingProp)(n,p)}function h(){const p=e.let("missing");if(l||r){const m=e.let("valid",!0);n.block$data(m,()=>d(p,m)),n.ok(m)}else e.if((0,Eu.checkMissingProp)(n,t,p)),(0,Eu.reportMissingProp)(n,p),e.else()}function u(){e.forOf("prop",s,p=>{n.setParams({missingProperty:p}),e.if((0,Eu.noPropertyInData)(e,i,p,a.ownProperties),()=>n.error())})}function d(p,m){n.setParams({missingProperty:p}),e.forOf(p,s,()=>{e.assign(m,(0,Eu.propertyInData)(e,i,p,a.ownProperties)),e.if((0,fd.not)(m),()=>{n.error(),e.break()})},fd.nil)}}};t1.default=RW;var n1={};Object.defineProperty(n1,"__esModule",{value:!0});const pd=qe,MW={message({keyword:n,schemaCode:e}){const t=n==="maxItems"?"more":"fewer";return(0,pd.str)`must NOT have ${t} than ${e} items`},params:({schemaCode:n})=>(0,pd._)`{limit: ${n}}`},IW={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:MW,code(n){const{keyword:e,data:t,schemaCode:s}=n,i=e==="maxItems"?pd.operators.GT:pd.operators.LT;n.fail$data((0,pd._)`${t}.length ${i} ${s}`)}};n1.default=IW;var s1={},yp={};Object.defineProperty(yp,"__esModule",{value:!0});const PT=Oy;PT.code='require("ajv/dist/runtime/equal").default';yp.default=PT;Object.defineProperty(s1,"__esModule",{value:!0});const $0=dn,Tn=qe,OW=be,NW=yp,LW={message:({params:{i:n,j:e}})=>(0,Tn.str)`must NOT have duplicate items (items ## ${e} and ${n} are identical)`,params:({params:{i:n,j:e}})=>(0,Tn._)`{i: ${n}, j: ${e}}`},DW={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:LW,code(n){const{gen:e,data:t,$data:s,schema:i,parentSchema:r,schemaCode:o,it:a}=n;if(!s&&!i)return;const l=e.let("valid"),c=r.items?(0,$0.getSchemaTypes)(r.items):[];n.block$data(l,h,(0,Tn._)`${o} === false`),n.ok(l);function h(){const m=e.let("i",(0,Tn._)`${t}.length`),g=e.let("j");n.setParams({i:m,j:g}),e.assign(l,!0),e.if((0,Tn._)`${m} > 1`,()=>(u()?d:p)(m,g))}function u(){return c.length>0&&!c.some(m=>m==="object"||m==="array")}function d(m,g){const v=e.name("item"),y=(0,$0.checkDataTypes)(c,v,a.opts.strictNumbers,$0.DataType.Wrong),b=e.const("indices",(0,Tn._)`{}`);e.for((0,Tn._)`;${m}--;`,()=>{e.let(v,(0,Tn._)`${t}[${m}]`),e.if(y,(0,Tn._)`continue`),c.length>1&&e.if((0,Tn._)`typeof ${v} == "string"`,(0,Tn._)`${v} += "_"`),e.if((0,Tn._)`typeof ${b}[${v}] == "number"`,()=>{e.assign(g,(0,Tn._)`${b}[${v}]`),n.error(),e.assign(l,!1).break()}).code((0,Tn._)`${b}[${v}] = ${m}`)})}function p(m,g){const v=(0,OW.useFunc)(e,NW.default),y=e.name("outer");e.label(y).for((0,Tn._)`;${m}--;`,()=>e.for((0,Tn._)`${g} = ${m}; ${g}--;`,()=>e.if((0,Tn._)`${v}(${t}[${m}], ${t}[${g}])`,()=>{n.error(),e.assign(l,!1).break(y)})))}}};s1.default=DW;var i1={};Object.defineProperty(i1,"__esModule",{value:!0});const Ov=qe,FW=be,jW=yp,zW={message:"must be equal to constant",params:({schemaCode:n})=>(0,Ov._)`{allowedValue: ${n}}`},HW={keyword:"const",$data:!0,error:zW,code(n){const{gen:e,data:t,$data:s,schemaCode:i,schema:r}=n;s||r&&typeof r=="object"?n.fail$data((0,Ov._)`!${(0,FW.useFunc)(e,jW.default)}(${t}, ${i})`):n.fail((0,Ov._)`${r} !== ${t}`)}};i1.default=HW;var r1={};Object.defineProperty(r1,"__esModule",{value:!0});const ju=qe,BW=be,qW=yp,UW={message:"must be equal to one of the allowed values",params:({schemaCode:n})=>(0,ju._)`{allowedValues: ${n}}`},VW={keyword:"enum",schemaType:"array",$data:!0,error:UW,code(n){const{gen:e,data:t,$data:s,schema:i,schemaCode:r,it:o}=n;if(!s&&i.length===0)throw new Error("enum must have non-empty array");const a=i.length>=o.opts.loopEnum;let l;const c=()=>l??(l=(0,BW.useFunc)(e,qW.default));let h;if(a||s)h=e.let("valid"),n.block$data(h,u);else{if(!Array.isArray(i))throw new Error("ajv implementation error");const p=e.const("vSchema",r);h=(0,ju.or)(...i.map((m,g)=>d(p,g)))}n.pass(h);function u(){e.assign(h,!1),e.forOf("v",r,p=>e.if((0,ju._)`${c()}(${t}, ${p})`,()=>e.assign(h,!0).break()))}function d(p,m){const g=i[m];return typeof g=="object"&&g!==null?(0,ju._)`${c()}(${t}, ${p}[${m}])`:(0,ju._)`${t} === ${g}`}}};r1.default=VW;Object.defineProperty(KS,"__esModule",{value:!0});const WW=ZS,GW=XS,KW=YS,ZW=QS,XW=e1,YW=t1,JW=n1,QW=s1,e4=i1,t4=r1,n4=[WW.default,GW.default,KW.default,ZW.default,XW.default,YW.default,JW.default,QW.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},e4.default,t4.default];KS.default=n4;var o1={},gu={};Object.defineProperty(gu,"__esModule",{value:!0});gu.validateAdditionalItems=void 0;const Ha=qe,Nv=be,s4={message:({params:{len:n}})=>(0,Ha.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,Ha._)`{limit: ${n}}`},i4={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:s4,code(n){const{parentSchema:e,it:t}=n,{items:s}=e;if(!Array.isArray(s)){(0,Nv.checkStrictMode)(t,'"additionalItems" is ignored when "items" is not an array of schemas');return}RT(n,s)}};function RT(n,e){const{gen:t,schema:s,data:i,keyword:r,it:o}=n;o.items=!0;const a=t.const("len",(0,Ha._)`${i}.length`);if(s===!1)n.setParams({len:e.length}),n.pass((0,Ha._)`${a} <= ${e.length}`);else if(typeof s=="object"&&!(0,Nv.alwaysValidSchema)(o,s)){const c=t.var("valid",(0,Ha._)`${a} <= ${e.length}`);t.if((0,Ha.not)(c),()=>l(c)),n.ok(c)}function l(c){t.forRange("i",e.length,a,h=>{n.subschema({keyword:r,dataProp:h,dataPropType:Nv.Type.Num},c),o.allErrors||t.if((0,Ha.not)(c),()=>t.break())})}}gu.validateAdditionalItems=RT;gu.default=i4;var a1={},yu={};Object.defineProperty(yu,"__esModule",{value:!0});yu.validateTuple=void 0;const TA=qe,Cm=be,r4=We,o4={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(n){const{schema:e,it:t}=n;if(Array.isArray(e))return MT(n,"additionalItems",e);t.items=!0,!(0,Cm.alwaysValidSchema)(t,e)&&n.ok((0,r4.validateArray)(n))}};function MT(n,e,t=n.schema){const{gen:s,parentSchema:i,data:r,keyword:o,it:a}=n;h(i),a.opts.unevaluated&&t.length&&a.items!==!0&&(a.items=Cm.mergeEvaluated.items(s,t.length,a.items));const l=s.name("valid"),c=s.const("len",(0,TA._)`${r}.length`);t.forEach((u,d)=>{(0,Cm.alwaysValidSchema)(a,u)||(s.if((0,TA._)`${c} > ${d}`,()=>n.subschema({keyword:o,schemaProp:d,dataProp:d},l)),n.ok(l))});function h(u){const{opts:d,errSchemaPath:p}=a,m=t.length,g=m===u.minItems&&(m===u.maxItems||u[e]===!1);if(d.strictTuples&&!g){const v=`"${o}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${p}"`;(0,Cm.checkStrictMode)(a,v,d.strictTuples)}}}yu.validateTuple=MT;yu.default=o4;Object.defineProperty(a1,"__esModule",{value:!0});const a4=yu,l4={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,a4.validateTuple)(n,"items")};a1.default=l4;var l1={};Object.defineProperty(l1,"__esModule",{value:!0});const PA=qe,c4=be,h4=We,u4=gu,d4={message:({params:{len:n}})=>(0,PA.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,PA._)`{limit: ${n}}`},f4={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:d4,code(n){const{schema:e,parentSchema:t,it:s}=n,{prefixItems:i}=t;s.items=!0,!(0,c4.alwaysValidSchema)(s,e)&&(i?(0,u4.validateAdditionalItems)(n,i):n.ok((0,h4.validateArray)(n)))}};l1.default=f4;var c1={};Object.defineProperty(c1,"__esModule",{value:!0});const ei=qe,qp=be,p4={message:({params:{min:n,max:e}})=>e===void 0?(0,ei.str)`must contain at least ${n} valid item(s)`:(0,ei.str)`must contain at least ${n} and no more than ${e} valid item(s)`,params:({params:{min:n,max:e}})=>e===void 0?(0,ei._)`{minContains: ${n}}`:(0,ei._)`{minContains: ${n}, maxContains: ${e}}`},m4={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:p4,code(n){const{gen:e,schema:t,parentSchema:s,data:i,it:r}=n;let o,a;const{minContains:l,maxContains:c}=s;r.opts.next?(o=l===void 0?1:l,a=c):o=1;const h=e.const("len",(0,ei._)`${i}.length`);if(n.setParams({min:o,max:a}),a===void 0&&o===0){(0,qp.checkStrictMode)(r,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&o>a){(0,qp.checkStrictMode)(r,'"minContains" > "maxContains" is always invalid'),n.fail();return}if((0,qp.alwaysValidSchema)(r,t)){let g=(0,ei._)`${h} >= ${o}`;a!==void 0&&(g=(0,ei._)`${g} && ${h} <= ${a}`),n.pass(g);return}r.items=!0;const u=e.name("valid");a===void 0&&o===1?p(u,()=>e.if(u,()=>e.break())):o===0?(e.let(u,!0),a!==void 0&&e.if((0,ei._)`${i}.length > 0`,d)):(e.let(u,!1),d()),n.result(u,()=>n.reset());function d(){const g=e.name("_valid"),v=e.let("count",0);p(g,()=>e.if(g,()=>m(v)))}function p(g,v){e.forRange("i",0,h,y=>{n.subschema({keyword:"contains",dataProp:y,dataPropType:qp.Type.Num,compositeRule:!0},g),v()})}function m(g){e.code((0,ei._)`${g}++`),a===void 0?e.if((0,ei._)`${g} >= ${o}`,()=>e.assign(u,!0).break()):(e.if((0,ei._)`${g} > ${a}`,()=>e.assign(u,!1).break()),o===1?e.assign(u,!0):e.if((0,ei._)`${g} >= ${o}`,()=>e.assign(u,!0)))}}};c1.default=m4;var IT={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.validateSchemaDeps=n.validatePropertyDeps=n.error=void 0;const e=qe,t=be,s=We;n.error={message:({params:{property:l,depsCount:c,deps:h}})=>{const u=c===1?"property":"properties";return(0,e.str)`must have ${u} ${h} when property ${l} is present`},params:({params:{property:l,depsCount:c,deps:h,missingProperty:u}})=>(0,e._)`{property: ${l}, + missingProperty: ${u}, + depsCount: ${c}, + deps: ${h}}`};const i={keyword:"dependencies",type:"object",schemaType:"object",error:n.error,code(l){const[c,h]=r(l);o(l,c),a(l,h)}};function r({schema:l}){const c={},h={};for(const u in l){if(u==="__proto__")continue;const d=Array.isArray(l[u])?c:h;d[u]=l[u]}return[c,h]}function o(l,c=l.schema){const{gen:h,data:u,it:d}=l;if(Object.keys(c).length===0)return;const p=h.let("missing");for(const m in c){const g=c[m];if(g.length===0)continue;const v=(0,s.propertyInData)(h,u,m,d.opts.ownProperties);l.setParams({property:m,depsCount:g.length,deps:g.join(", ")}),d.allErrors?h.if(v,()=>{for(const y of g)(0,s.checkReportMissingProp)(l,y)}):(h.if((0,e._)`${v} && (${(0,s.checkMissingProp)(l,g,p)})`),(0,s.reportMissingProp)(l,p),h.else())}}n.validatePropertyDeps=o;function a(l,c=l.schema){const{gen:h,data:u,keyword:d,it:p}=l,m=h.name("valid");for(const g in c)(0,t.alwaysValidSchema)(p,c[g])||(h.if((0,s.propertyInData)(h,u,g,p.opts.ownProperties),()=>{const v=l.subschema({keyword:d,schemaProp:g},m);l.mergeValidEvaluated(v,m)},()=>h.var(m,!0)),l.ok(m))}n.validateSchemaDeps=a,n.default=i})(IT);var h1={};Object.defineProperty(h1,"__esModule",{value:!0});const OT=qe,g4=be,y4={message:"property name must be valid",params:({params:n})=>(0,OT._)`{propertyName: ${n.propertyName}}`},v4={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:y4,code(n){const{gen:e,schema:t,data:s,it:i}=n;if((0,g4.alwaysValidSchema)(i,t))return;const r=e.name("valid");e.forIn("key",s,o=>{n.setParams({propertyName:o}),n.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},r),e.if((0,OT.not)(r),()=>{n.error(!0),i.allErrors||e.break()})}),n.ok(r)}};h1.default=v4;var Uy={};Object.defineProperty(Uy,"__esModule",{value:!0});const Up=We,gi=qe,b4=_r,Vp=be,w4={message:"must NOT have additional properties",params:({params:n})=>(0,gi._)`{additionalProperty: ${n.additionalProperty}}`},_4={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:w4,code(n){const{gen:e,schema:t,parentSchema:s,data:i,errsCount:r,it:o}=n;if(!r)throw new Error("ajv implementation error");const{allErrors:a,opts:l}=o;if(o.props=!0,l.removeAdditional!=="all"&&(0,Vp.alwaysValidSchema)(o,t))return;const c=(0,Up.allSchemaProperties)(s.properties),h=(0,Up.allSchemaProperties)(s.patternProperties);u(),n.ok((0,gi._)`${r} === ${b4.default.errors}`);function u(){e.forIn("key",i,v=>{!c.length&&!h.length?m(v):e.if(d(v),()=>m(v))})}function d(v){let y;if(c.length>8){const b=(0,Vp.schemaRefOrVal)(o,s.properties,"properties");y=(0,Up.isOwnProperty)(e,b,v)}else c.length?y=(0,gi.or)(...c.map(b=>(0,gi._)`${v} === ${b}`)):y=gi.nil;return h.length&&(y=(0,gi.or)(y,...h.map(b=>(0,gi._)`${(0,Up.usePattern)(n,b)}.test(${v})`))),(0,gi.not)(y)}function p(v){e.code((0,gi._)`delete ${i}[${v}]`)}function m(v){if(l.removeAdditional==="all"||l.removeAdditional&&t===!1){p(v);return}if(t===!1){n.setParams({additionalProperty:v}),n.error(),a||e.break();return}if(typeof t=="object"&&!(0,Vp.alwaysValidSchema)(o,t)){const y=e.name("valid");l.removeAdditional==="failing"?(g(v,y,!1),e.if((0,gi.not)(y),()=>{n.reset(),p(v)})):(g(v,y),a||e.if((0,gi.not)(y),()=>e.break()))}}function g(v,y,b){const _={keyword:"additionalProperties",dataProp:v,dataPropType:Vp.Type.Str};b===!1&&Object.assign(_,{compositeRule:!0,createErrors:!1,allErrors:!1}),n.subschema(_,y)}}};Uy.default=_4;var u1={};Object.defineProperty(u1,"__esModule",{value:!0});const S4=Di,RA=We,T0=be,MA=Uy,k4={keyword:"properties",type:"object",schemaType:"object",code(n){const{gen:e,schema:t,parentSchema:s,data:i,it:r}=n;r.opts.removeAdditional==="all"&&s.additionalProperties===void 0&&MA.default.code(new S4.KeywordCxt(r,MA.default,"additionalProperties"));const o=(0,RA.allSchemaProperties)(t);for(const u of o)r.definedProperties.add(u);r.opts.unevaluated&&o.length&&r.props!==!0&&(r.props=T0.mergeEvaluated.props(e,(0,T0.toHash)(o),r.props));const a=o.filter(u=>!(0,T0.alwaysValidSchema)(r,t[u]));if(a.length===0)return;const l=e.name("valid");for(const u of a)c(u)?h(u):(e.if((0,RA.propertyInData)(e,i,u,r.opts.ownProperties)),h(u),r.allErrors||e.else().var(l,!0),e.endIf()),n.it.definedProperties.add(u),n.ok(l);function c(u){return r.opts.useDefaults&&!r.compositeRule&&t[u].default!==void 0}function h(u){n.subschema({keyword:"properties",schemaProp:u,dataProp:u},l)}}};u1.default=k4;var d1={};Object.defineProperty(d1,"__esModule",{value:!0});const IA=We,Wp=qe,OA=be,NA=be,A4={keyword:"patternProperties",type:"object",schemaType:"object",code(n){const{gen:e,schema:t,data:s,parentSchema:i,it:r}=n,{opts:o}=r,a=(0,IA.allSchemaProperties)(t),l=a.filter(g=>(0,OA.alwaysValidSchema)(r,t[g]));if(a.length===0||l.length===a.length&&(!r.opts.unevaluated||r.props===!0))return;const c=o.strictSchema&&!o.allowMatchingProperties&&i.properties,h=e.name("valid");r.props!==!0&&!(r.props instanceof Wp.Name)&&(r.props=(0,NA.evaluatedPropsToName)(e,r.props));const{props:u}=r;d();function d(){for(const g of a)c&&p(g),r.allErrors?m(g):(e.var(h,!0),m(g),e.if(h))}function p(g){for(const v in c)new RegExp(g).test(v)&&(0,OA.checkStrictMode)(r,`property ${v} matches pattern ${g} (use allowMatchingProperties)`)}function m(g){e.forIn("key",s,v=>{e.if((0,Wp._)`${(0,IA.usePattern)(n,g)}.test(${v})`,()=>{const y=l.includes(g);y||n.subschema({keyword:"patternProperties",schemaProp:g,dataProp:v,dataPropType:NA.Type.Str},h),r.opts.unevaluated&&u!==!0?e.assign((0,Wp._)`${u}[${v}]`,!0):!y&&!r.allErrors&&e.if((0,Wp.not)(h),()=>e.break())})})}}};d1.default=A4;var f1={};Object.defineProperty(f1,"__esModule",{value:!0});const x4=be,E4={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){const{gen:e,schema:t,it:s}=n;if((0,x4.alwaysValidSchema)(s,t)){n.fail();return}const i=e.name("valid");n.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),n.failResult(i,()=>n.reset(),()=>n.error())},error:{message:"must NOT be valid"}};f1.default=E4;var p1={};Object.defineProperty(p1,"__esModule",{value:!0});const C4=We,$4={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:C4.validateUnion,error:{message:"must match a schema in anyOf"}};p1.default=$4;var m1={};Object.defineProperty(m1,"__esModule",{value:!0});const $m=qe,T4=be,P4={message:"must match exactly one schema in oneOf",params:({params:n})=>(0,$m._)`{passingSchemas: ${n.passing}}`},R4={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:P4,code(n){const{gen:e,schema:t,parentSchema:s,it:i}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");if(i.opts.discriminator&&s.discriminator)return;const r=t,o=e.let("valid",!1),a=e.let("passing",null),l=e.name("_valid");n.setParams({passing:a}),e.block(c),n.result(o,()=>n.reset(),()=>n.error(!0));function c(){r.forEach((h,u)=>{let d;(0,T4.alwaysValidSchema)(i,h)?e.var(l,!0):d=n.subschema({keyword:"oneOf",schemaProp:u,compositeRule:!0},l),u>0&&e.if((0,$m._)`${l} && ${o}`).assign(o,!1).assign(a,(0,$m._)`[${a}, ${u}]`).else(),e.if(l,()=>{e.assign(o,!0),e.assign(a,u),d&&n.mergeEvaluated(d,$m.Name)})})}}};m1.default=R4;var g1={};Object.defineProperty(g1,"__esModule",{value:!0});const M4=be,I4={keyword:"allOf",schemaType:"array",code(n){const{gen:e,schema:t,it:s}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");const i=e.name("valid");t.forEach((r,o)=>{if((0,M4.alwaysValidSchema)(s,r))return;const a=n.subschema({keyword:"allOf",schemaProp:o},i);n.ok(i),n.mergeEvaluated(a)})}};g1.default=I4;var y1={};Object.defineProperty(y1,"__esModule",{value:!0});const Cg=qe,NT=be,O4={message:({params:n})=>(0,Cg.str)`must match "${n.ifClause}" schema`,params:({params:n})=>(0,Cg._)`{failingKeyword: ${n.ifClause}}`},N4={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:O4,code(n){const{gen:e,parentSchema:t,it:s}=n;t.then===void 0&&t.else===void 0&&(0,NT.checkStrictMode)(s,'"if" without "then" and "else" is ignored');const i=LA(s,"then"),r=LA(s,"else");if(!i&&!r)return;const o=e.let("valid",!0),a=e.name("_valid");if(l(),n.reset(),i&&r){const h=e.let("ifClause");n.setParams({ifClause:h}),e.if(a,c("then",h),c("else",h))}else i?e.if(a,c("then")):e.if((0,Cg.not)(a),c("else"));n.pass(o,()=>n.error(!0));function l(){const h=n.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);n.mergeEvaluated(h)}function c(h,u){return()=>{const d=n.subschema({keyword:h},a);e.assign(o,a),n.mergeValidEvaluated(d,o),u?e.assign(u,(0,Cg._)`${h}`):n.setParams({ifClause:h})}}}};function LA(n,e){const t=n.schema[e];return t!==void 0&&!(0,NT.alwaysValidSchema)(n,t)}y1.default=N4;var v1={};Object.defineProperty(v1,"__esModule",{value:!0});const L4=be,D4={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:e,it:t}){e.if===void 0&&(0,L4.checkStrictMode)(t,`"${n}" without "if" is ignored`)}};v1.default=D4;Object.defineProperty(o1,"__esModule",{value:!0});const F4=gu,j4=a1,z4=yu,H4=l1,B4=c1,q4=IT,U4=h1,V4=Uy,W4=u1,G4=d1,K4=f1,Z4=p1,X4=m1,Y4=g1,J4=y1,Q4=v1;function e5(n=!1){const e=[K4.default,Z4.default,X4.default,Y4.default,J4.default,Q4.default,U4.default,V4.default,q4.default,W4.default,G4.default];return n?e.push(j4.default,H4.default):e.push(F4.default,z4.default),e.push(B4.default),e}o1.default=e5;var b1={},w1={};Object.defineProperty(w1,"__esModule",{value:!0});const Zt=qe,t5={message:({schemaCode:n})=>(0,Zt.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,Zt._)`{format: ${n}}`},n5={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:t5,code(n,e){const{gen:t,data:s,$data:i,schema:r,schemaCode:o,it:a}=n,{opts:l,errSchemaPath:c,schemaEnv:h,self:u}=a;if(!l.validateFormats)return;i?d():p();function d(){const m=t.scopeValue("formats",{ref:u.formats,code:l.code.formats}),g=t.const("fDef",(0,Zt._)`${m}[${o}]`),v=t.let("fType"),y=t.let("format");t.if((0,Zt._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>t.assign(v,(0,Zt._)`${g}.type || "string"`).assign(y,(0,Zt._)`${g}.validate`),()=>t.assign(v,(0,Zt._)`"string"`).assign(y,g)),n.fail$data((0,Zt.or)(b(),_()));function b(){return l.strictSchema===!1?Zt.nil:(0,Zt._)`${o} && !${y}`}function _(){const S=h.$async?(0,Zt._)`(${g}.async ? await ${y}(${s}) : ${y}(${s}))`:(0,Zt._)`${y}(${s})`,A=(0,Zt._)`(typeof ${y} == "function" ? ${S} : ${y}.test(${s}))`;return(0,Zt._)`${y} && ${y} !== true && ${v} === ${e} && !${A}`}}function p(){const m=u.formats[r];if(!m){b();return}if(m===!0)return;const[g,v,y]=_(m);g===e&&n.pass(S());function b(){if(l.strictSchema===!1){u.logger.warn(A());return}throw new Error(A());function A(){return`unknown format "${r}" ignored in schema at path "${c}"`}}function _(A){const E=A instanceof RegExp?(0,Zt.regexpCode)(A):l.code.formats?(0,Zt._)`${l.code.formats}${(0,Zt.getProperty)(r)}`:void 0,$=t.scopeValue("formats",{key:r,ref:A,code:E});return typeof A=="object"&&!(A instanceof RegExp)?[A.type||"string",A.validate,(0,Zt._)`${$}.validate`]:["string",A,$]}function S(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!h.$async)throw new Error("async format in sync schema");return(0,Zt._)`await ${y}(${s})`}return typeof v=="function"?(0,Zt._)`${y}(${s})`:(0,Zt._)`${y}.test(${s})`}}}};w1.default=n5;Object.defineProperty(b1,"__esModule",{value:!0});const s5=w1,i5=[s5.default];b1.default=i5;var Jh={};Object.defineProperty(Jh,"__esModule",{value:!0});Jh.contentVocabulary=Jh.metadataVocabulary=void 0;Jh.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Jh.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];Object.defineProperty(VS,"__esModule",{value:!0});const r5=WS,o5=KS,a5=o1,l5=b1,DA=Jh,c5=[r5.default,o5.default,(0,a5.default)(),l5.default,DA.metadataVocabulary,DA.contentVocabulary];VS.default=c5;var _1={},Vy={};Object.defineProperty(Vy,"__esModule",{value:!0});Vy.DiscrError=void 0;var FA;(function(n){n.Tag="tag",n.Mapping="mapping"})(FA||(Vy.DiscrError=FA={}));Object.defineProperty(_1,"__esModule",{value:!0});const wc=qe,Lv=Vy,jA=ks,h5=mu,u5=be,d5={message:({params:{discrError:n,tagName:e}})=>n===Lv.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:n,tag:e,tagName:t}})=>(0,wc._)`{error: ${n}, tag: ${t}, tagValue: ${e}}`},f5={keyword:"discriminator",type:"object",schemaType:"object",error:d5,code(n){const{gen:e,data:t,schema:s,parentSchema:i,it:r}=n,{oneOf:o}=i;if(!r.opts.discriminator)throw new Error("discriminator: requires discriminator option");const a=s.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(s.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");const l=e.let("valid",!1),c=e.const("tag",(0,wc._)`${t}${(0,wc.getProperty)(a)}`);e.if((0,wc._)`typeof ${c} == "string"`,()=>h(),()=>n.error(!1,{discrError:Lv.DiscrError.Tag,tag:c,tagName:a})),n.ok(l);function h(){const p=d();e.if(!1);for(const m in p)e.elseIf((0,wc._)`${c} === ${m}`),e.assign(l,u(p[m]));e.else(),n.error(!1,{discrError:Lv.DiscrError.Mapping,tag:c,tagName:a}),e.endIf()}function u(p){const m=e.name("valid"),g=n.subschema({keyword:"oneOf",schemaProp:p},m);return n.mergeEvaluated(g,wc.Name),m}function d(){var p;const m={},g=y(i);let v=!0;for(let S=0;Sthis.addVocabulary(m)),this.opts.discriminator&&this.addKeyword(i.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const m=this.opts.$data?this.$dataMetaSchema(r,o):r;this.addMetaSchema(m,a,!1),this.refs["http://json-schema.org/schema"]=a}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(a)?a:void 0)}}e.Ajv=l,n.exports=e=l,n.exports.Ajv=l,Object.defineProperty(e,"__esModule",{value:!0}),e.default=l;var c=Di;Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return c.KeywordCxt}});var h=qe;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return h._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return h.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return h.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return h.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return h.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return h.CodeGen}});var u=gp;Object.defineProperty(e,"ValidationError",{enumerable:!0,get:function(){return u.default}});var d=mu;Object.defineProperty(e,"MissingRefError",{enumerable:!0,get:function(){return d.default}})})(Tv,Tv.exports);var _5=Tv.exports;(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.formatLimitDefinition=void 0;const e=_5,t=qe,s=t.operators,i={formatMaximum:{okStr:"<=",ok:s.LTE,fail:s.GT},formatMinimum:{okStr:">=",ok:s.GTE,fail:s.LT},formatExclusiveMaximum:{okStr:"<",ok:s.LT,fail:s.GTE},formatExclusiveMinimum:{okStr:">",ok:s.GT,fail:s.LTE}},r={message:({keyword:a,schemaCode:l})=>(0,t.str)`should be ${i[a].okStr} ${l}`,params:({keyword:a,schemaCode:l})=>(0,t._)`{comparison: ${i[a].okStr}, limit: ${l}}`};n.formatLimitDefinition={keyword:Object.keys(i),type:"string",schemaType:"string",$data:!0,error:r,code(a){const{gen:l,data:c,schemaCode:h,keyword:u,it:d}=a,{opts:p,self:m}=d;if(!p.validateFormats)return;const g=new e.KeywordCxt(d,m.RULES.all.format.definition,"format");g.$data?v():y();function v(){const _=l.scopeValue("formats",{ref:m.formats,code:p.code.formats}),S=l.const("fmt",(0,t._)`${_}[${g.schemaCode}]`);a.fail$data((0,t.or)((0,t._)`typeof ${S} != "object"`,(0,t._)`${S} instanceof RegExp`,(0,t._)`typeof ${S}.compare != "function"`,b(S)))}function y(){const _=g.schema,S=m.formats[_];if(!S||S===!0)return;if(typeof S!="object"||S instanceof RegExp||typeof S.compare!="function")throw new Error(`"${u}": format "${_}" does not define "compare" function`);const A=l.scopeValue("formats",{key:_,ref:S,code:p.code.formats?(0,t._)`${p.code.formats}${(0,t.getProperty)(_)}`:void 0});a.fail$data(b(A))}function b(_){return(0,t._)`${_}.compare(${c}, ${h}) ${i[u].fail} 0`}},dependencies:["format"]};const o=a=>(a.addKeyword(n.formatLimitDefinition),a);n.default=o})(K$);(function(n,e){Object.defineProperty(e,"__esModule",{value:!0});const t=G$,s=K$,i=qe,r=new i.Name("fullFormats"),o=new i.Name("fastFormats"),a=(c,h={keywords:!0})=>{if(Array.isArray(h))return l(c,h,t.fullFormats,r),c;const[u,d]=h.mode==="fast"?[t.fastFormats,o]:[t.fullFormats,r],p=h.formats||t.formatNames;return l(c,p,u,d),h.keywords&&(0,s.default)(c),c};a.get=(c,h="full")=>{const d=(h==="fast"?t.fastFormats:t.fullFormats)[c];if(!d)throw new Error(`Unknown format "${c}"`);return d};function l(c,h,u,d){var p,m;(p=(m=c.opts.code).formats)!==null&&p!==void 0||(m.formats=(0,i._)`require("ajv-formats/dist/formats").${d}`);for(const g of h)c.addFormat(g,u[g])}n.exports=e=a,Object.defineProperty(e,"__esModule",{value:!0}),e.default=a})($v,$v.exports);var S5=$v.exports;const k5=o_(S5);function A5(){const n=new cV({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return k5(n),n}class x5{constructor(e){this._ajv=e??A5()}getValidator(e){const t="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return s=>t(s)?{valid:!0,data:s,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(t.errors)}}}class E5{constructor(e){this._client=e}async*callToolStream(e,t=Vl,s){const i=this._client,r={...s,task:(s==null?void 0:s.task)??(i.isToolTask(e.name)?{}:void 0)},o=i.requestStream({method:"tools/call",params:e},t,r),a=i.getToolOutputValidator(e.name);for await(const l of o){if(l.type==="result"&&a){const c=l.result;if(!c.structuredContent&&!c.isError){yield{type:"error",error:new Pe(Ie.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`)};return}if(c.structuredContent)try{const h=a(c.structuredContent);if(!h.valid){yield{type:"error",error:new Pe(Ie.InvalidParams,`Structured content does not match the tool's output schema: ${h.errorMessage}`)};return}}catch(h){if(h instanceof Pe){yield{type:"error",error:h};return}yield{type:"error",error:new Pe(Ie.InvalidParams,`Failed to validate structured content: ${h instanceof Error?h.message:String(h)}`)};return}}yield l}}async getTask(e,t){return this._client.getTask({taskId:e},t)}async getTaskResult(e,t,s){return this._client.getTaskResult({taskId:e},t,s)}async listTasks(e,t){return this._client.listTasks(e?{cursor:e}:void 0,t)}async cancelTask(e,t){return this._client.cancelTask({taskId:e},t)}requestStream(e,t,s){return this._client.requestStream(e,t,s)}}function C5(n,e,t){var s;if(!n)throw new Error(`${t} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!((s=n.tools)!=null&&s.call))throw new Error(`${t} does not support task creation for tools/call (required for ${e})`);break}}function $5(n,e,t){var s,i;if(!n)throw new Error(`${t} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!((s=n.sampling)!=null&&s.createMessage))throw new Error(`${t} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!((i=n.elicitation)!=null&&i.create))throw new Error(`${t} does not support task creation for elicitation/create (required for ${e})`);break}}function Tm(n,e){if(!(!n||e===null||typeof e!="object")){if(n.type==="object"&&n.properties&&typeof n.properties=="object"){const t=e,s=n.properties;for(const i of Object.keys(s)){const r=s[i];t[i]===void 0&&Object.prototype.hasOwnProperty.call(r,"default")&&(t[i]=r.default),t[i]!==void 0&&Tm(r,t[i])}}if(Array.isArray(n.anyOf))for(const t of n.anyOf)typeof t!="boolean"&&Tm(t,e);if(Array.isArray(n.oneOf))for(const t of n.oneOf)typeof t!="boolean"&&Tm(t,e)}}function T5(n){if(!n)return{supportsFormMode:!1,supportsUrlMode:!1};const e=n.form!==void 0,t=n.url!==void 0;return{supportsFormMode:e||!e&&!t,supportsUrlMode:t}}class P5 extends s${constructor(e,t){super(t),this._clientInfo=e,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=(t==null?void 0:t.capabilities)??{},this._jsonSchemaValidator=(t==null?void 0:t.jsonSchemaValidator)??new x5,t!=null&&t.listChanged&&(this._pendingListChangedConfig=t.listChanged)}_setupListChangedHandlers(e){var t,s,i,r,o,a;e.tools&&((s=(t=this._serverCapabilities)==null?void 0:t.tools)!=null&&s.listChanged)&&this._setupListChangedHandler("tools",B_,e.tools,async()=>(await this.listTools()).tools),e.prompts&&((r=(i=this._serverCapabilities)==null?void 0:i.prompts)!=null&&r.listChanged)&&this._setupListChangedHandler("prompts",j_,e.prompts,async()=>(await this.listPrompts()).prompts),e.resources&&((a=(o=this._serverCapabilities)==null?void 0:o.resources)!=null&&a.listChanged)&&this._setupListChangedHandler("resources",O_,e.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||(this._experimental={tasks:new E5(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=xz(this._capabilities,e)}setRequestHandler(e,t){const s=t$(e),i=s==null?void 0:s.method;if(!i)throw new Error("Schema is missing a method literal");const r=n$(i);if(typeof r!="string")throw new Error("Schema method literal must be a string");const o=r;if(o==="elicitation/create"){const a=async(l,c)=>{var b,_;const h=vo(JC,l);if(!h.success){const S=h.error instanceof Error?h.error.message:String(h.error);throw new Pe(Ie.InvalidParams,`Invalid elicitation request: ${S}`)}const{params:u}=h.data;u.mode=u.mode??"form";const{supportsFormMode:d,supportsUrlMode:p}=T5(this._capabilities.elicitation);if(u.mode==="form"&&!d)throw new Pe(Ie.InvalidParams,"Client does not support form-mode elicitation requests");if(u.mode==="url"&&!p)throw new Pe(Ie.InvalidParams,"Client does not support URL-mode elicitation requests");const m=await Promise.resolve(t(l,c));if(u.task){const S=vo(Ed,m);if(!S.success){const A=S.error instanceof Error?S.error.message:String(S.error);throw new Pe(Ie.InvalidParams,`Invalid task creation result: ${A}`)}return S.data}const g=vo(QC,m);if(!g.success){const S=g.error instanceof Error?g.error.message:String(g.error);throw new Pe(Ie.InvalidParams,`Invalid elicitation result: ${S}`)}const v=g.data,y=u.mode==="form"?u.requestedSchema:void 0;if(u.mode==="form"&&v.action==="accept"&&v.content&&y&&(_=(b=this._capabilities.elicitation)==null?void 0:b.form)!=null&&_.applyDefaults)try{Tm(y,v.content)}catch{}return v};return super.setRequestHandler(e,a)}if(o==="sampling/createMessage"){const a=async(l,c)=>{const h=vo(q_,l);if(!h.success){const v=h.error instanceof Error?h.error.message:String(h.error);throw new Pe(Ie.InvalidParams,`Invalid sampling request: ${v}`)}const{params:u}=h.data,d=await Promise.resolve(t(l,c));if(u.task){const v=vo(Ed,d);if(!v.success){const y=v.error instanceof Error?v.error.message:String(v.error);throw new Pe(Ie.InvalidParams,`Invalid task creation result: ${y}`)}return v.data}const m=u.tools||u.toolChoice?YC:XC,g=vo(m,d);if(!g.success){const v=g.error instanceof Error?g.error.message:String(g.error);throw new Pe(Ie.InvalidParams,`Invalid sampling result: ${v}`)}return g.data};return super.setRequestHandler(e,a)}return super.setRequestHandler(e,t)}assertCapability(e,t){var s;if(!((s=this._serverCapabilities)!=null&&s[e]))throw new Error(`Server does not support ${e} (required for ${t})`)}async connect(e,t){if(await super.connect(e),e.sessionId===void 0)try{const s=await this.request({method:"initialize",params:{protocolVersion:Py,capabilities:this._capabilities,clientInfo:this._clientInfo}},OC,t);if(s===void 0)throw new Error(`Server sent invalid initialize result: ${s}`);if(!ej.includes(s.protocolVersion))throw new Error(`Server's protocol version is not supported: ${s.protocolVersion}`);this._serverCapabilities=s.capabilities,this._serverVersion=s.serverInfo,e.setProtocolVersion&&e.setProtocolVersion(s.protocolVersion),this._instructions=s.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig&&(this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0)}catch(s){throw this.close(),s}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(e){var t,s,i,r,o;switch(e){case"logging/setLevel":if(!((t=this._serverCapabilities)!=null&&t.logging))throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!((s=this._serverCapabilities)!=null&&s.prompts))throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!((i=this._serverCapabilities)!=null&&i.resources))throw new Error(`Server does not support resources (required for ${e})`);if(e==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw new Error(`Server does not support resource subscriptions (required for ${e})`);break;case"tools/call":case"tools/list":if(!((r=this._serverCapabilities)!=null&&r.tools))throw new Error(`Server does not support tools (required for ${e})`);break;case"completion/complete":if(!((o=this._serverCapabilities)!=null&&o.completions))throw new Error(`Server does not support completions (required for ${e})`);break}}assertNotificationCapability(e){var t;switch(e){case"notifications/roots/list_changed":if(!((t=this._capabilities.roots)!=null&&t.listChanged))throw new Error(`Client does not support roots list changed notifications (required for ${e})`);break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Client does not support sampling capability (required for ${e})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw new Error(`Client does not support elicitation capability (required for ${e})`);break;case"roots/list":if(!this._capabilities.roots)throw new Error(`Client does not support roots capability (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Client does not support tasks capability (required for ${e})`);break}}assertTaskCapability(e){var t,s;C5((s=(t=this._serverCapabilities)==null?void 0:t.tasks)==null?void 0:s.requests,e,"Server")}assertTaskHandlerCapability(e){var t;this._capabilities&&$5((t=this._capabilities.tasks)==null?void 0:t.requests,e,"Client")}async ping(e){return this.request({method:"ping"},Mc,e)}async complete(e,t){return this.request({method:"completion/complete",params:e},e$,t)}async setLoggingLevel(e,t){return this.request({method:"logging/setLevel",params:{level:e}},Mc,t)}async getPrompt(e,t){return this.request({method:"prompts/get",params:e},WC,t)}async listPrompts(e,t){return this.request({method:"prompts/list",params:e},N_,t)}async listResources(e,t){return this.request({method:"resources/list",params:e},P_,t)}async listResourceTemplates(e,t){return this.request({method:"resources/templates/list",params:e},R_,t)}async readResource(e,t){return this.request({method:"resources/read",params:e},I_,t)}async subscribeResource(e,t){return this.request({method:"resources/subscribe",params:e},Mc,t)}async unsubscribeResource(e,t){return this.request({method:"resources/unsubscribe",params:e},Mc,t)}async callTool(e,t=Vl,s){if(this.isToolTaskRequired(e.name))throw new Pe(Ie.InvalidRequest,`Tool "${e.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);const i=await this.request({method:"tools/call",params:e},t,s),r=this.getToolOutputValidator(e.name);if(r){if(!i.structuredContent&&!i.isError)throw new Pe(Ie.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`);if(i.structuredContent)try{const o=r(i.structuredContent);if(!o.valid)throw new Pe(Ie.InvalidParams,`Structured content does not match the tool's output schema: ${o.errorMessage}`)}catch(o){throw o instanceof Pe?o:new Pe(Ie.InvalidParams,`Failed to validate structured content: ${o instanceof Error?o.message:String(o)}`)}}return i}isToolTask(e){var t,s,i,r;return(r=(i=(s=(t=this._serverCapabilities)==null?void 0:t.tasks)==null?void 0:s.requests)==null?void 0:i.tools)!=null&&r.call?this._cachedKnownTaskTools.has(e):!1}isToolTaskRequired(e){return this._cachedRequiredTaskTools.has(e)}cacheToolMetadata(e){var t;this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(const s of e){if(s.outputSchema){const r=this._jsonSchemaValidator.getValidator(s.outputSchema);this._cachedToolOutputValidators.set(s.name,r)}const i=(t=s.execution)==null?void 0:t.taskSupport;(i==="required"||i==="optional")&&this._cachedKnownTaskTools.add(s.name),i==="required"&&this._cachedRequiredTaskTools.add(s.name)}}getToolOutputValidator(e){return this._cachedToolOutputValidators.get(e)}async listTools(e,t){const s=await this.request({method:"tools/list",params:e},H_,t);return this.cacheToolMetadata(s.tools),s}_setupListChangedHandler(e,t,s,i){const r=Hj.safeParse(s);if(!r.success)throw new Error(`Invalid ${e} listChanged options: ${r.error.message}`);if(typeof s.onChanged!="function")throw new Error(`Invalid ${e} listChanged options: onChanged must be a function`);const{autoRefresh:o,debounceMs:a}=r.data,{onChanged:l}=s,c=async()=>{if(!o){l(null,null);return}try{const u=await i();l(null,u)}catch(u){const d=u instanceof Error?u:new Error(String(u));l(d,null)}},h=()=>{if(a){const u=this._listChangedDebounceTimers.get(e);u&&clearTimeout(u);const d=setTimeout(c,a);this._listChangedDebounceTimers.set(e,d)}else c()};this.setNotificationHandler(t,h)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}}var S1={};/*! + * content-type + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */var zA=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,R5=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,LT=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,M5=/\\([\u000b\u0020-\u00ff])/g,I5=/([\\"])/g,DT=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;S1.format=O5;S1.parse=N5;function O5(n){if(!n||typeof n!="object")throw new TypeError("argument obj is required");var e=n.parameters,t=n.type;if(!t||!DT.test(t))throw new TypeError("invalid type");var s=t;if(e&&typeof e=="object")for(var i,r=Object.keys(e).sort(),o=0;o0&&!R5.test(e))throw new TypeError("invalid parameter value");return'"'+e.replace(I5,"\\$1")+'"'}function F5(n){this.parameters=Object.create(null),this.type=n}function j5(n){if(n)try{return S1.parse(n).type}catch{const e=(n.split(";",1)[0]??"").trim().toLowerCase();return e===""||n.slice(e.length).includes(",")?void 0:e}}function Dv(n){return n?n instanceof Headers?Object.fromEntries(n.entries()):Array.isArray(n)?Object.fromEntries(n):{...n}:{}}function z5(n=fetch,e){return e?async(t,s)=>{const i={...e,...s,headers:s!=null&&s.headers?{...Dv(e.headers),...Dv(s.headers)}:e.headers};return n(t,i)}:n}let k1;k1=globalThis.crypto;async function H5(n){return(await k1).getRandomValues(new Uint8Array(n))}async function B5(n){const e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~",t=Math.pow(2,8)-Math.pow(2,8)%e.length;let s="";for(;s.length128)throw`Expected a length between 43 and 128. Received ${n}.`;const e=await q5(n),t=await U5(e);return{code_verifier:e,code_challenge:t}}const Nn=aF().superRefine((n,e)=>{if(!URL.canParse(n))return e.addIssue({code:JF.custom,message:"URL must be parseable",fatal:!0}),ZN}).refine(n=>{const e=new URL(n);return e.protocol!=="javascript:"&&e.protocol!=="data:"&&e.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),W5=jn({resource:j().url(),authorization_servers:le(Nn).optional(),jwks_uri:j().url().optional(),scopes_supported:le(j()).optional(),bearer_methods_supported:le(j()).optional(),resource_signing_alg_values_supported:le(j()).optional(),resource_name:j().optional(),resource_documentation:j().optional(),resource_policy_uri:j().url().optional(),resource_tos_uri:j().url().optional(),tls_client_certificate_bound_access_tokens:tt().optional(),authorization_details_types_supported:le(j()).optional(),dpop_signing_alg_values_supported:le(j()).optional(),dpop_bound_access_tokens_required:tt().optional()}),FT=jn({issuer:j(),authorization_endpoint:Nn,token_endpoint:Nn,registration_endpoint:Nn.optional(),scopes_supported:le(j()).optional(),response_types_supported:le(j()),response_modes_supported:le(j()).optional(),grant_types_supported:le(j()).optional(),token_endpoint_auth_methods_supported:le(j()).optional(),token_endpoint_auth_signing_alg_values_supported:le(j()).optional(),service_documentation:Nn.optional(),revocation_endpoint:Nn.optional(),revocation_endpoint_auth_methods_supported:le(j()).optional(),revocation_endpoint_auth_signing_alg_values_supported:le(j()).optional(),introspection_endpoint:j().optional(),introspection_endpoint_auth_methods_supported:le(j()).optional(),introspection_endpoint_auth_signing_alg_values_supported:le(j()).optional(),code_challenge_methods_supported:le(j()).optional(),client_id_metadata_document_supported:tt().optional()}),G5=jn({issuer:j(),authorization_endpoint:Nn,token_endpoint:Nn,userinfo_endpoint:Nn.optional(),jwks_uri:Nn,registration_endpoint:Nn.optional(),scopes_supported:le(j()).optional(),response_types_supported:le(j()),response_modes_supported:le(j()).optional(),grant_types_supported:le(j()).optional(),acr_values_supported:le(j()).optional(),subject_types_supported:le(j()),id_token_signing_alg_values_supported:le(j()),id_token_encryption_alg_values_supported:le(j()).optional(),id_token_encryption_enc_values_supported:le(j()).optional(),userinfo_signing_alg_values_supported:le(j()).optional(),userinfo_encryption_alg_values_supported:le(j()).optional(),userinfo_encryption_enc_values_supported:le(j()).optional(),request_object_signing_alg_values_supported:le(j()).optional(),request_object_encryption_alg_values_supported:le(j()).optional(),request_object_encryption_enc_values_supported:le(j()).optional(),token_endpoint_auth_methods_supported:le(j()).optional(),token_endpoint_auth_signing_alg_values_supported:le(j()).optional(),display_values_supported:le(j()).optional(),claim_types_supported:le(j()).optional(),claims_supported:le(j()).optional(),service_documentation:j().optional(),claims_locales_supported:le(j()).optional(),ui_locales_supported:le(j()).optional(),claims_parameter_supported:tt().optional(),request_parameter_supported:tt().optional(),request_uri_parameter_supported:tt().optional(),require_request_uri_registration:tt().optional(),op_policy_uri:Nn.optional(),op_tos_uri:Nn.optional(),client_id_metadata_document_supported:tt().optional()}),K5=Z({...G5.shape,...FT.pick({code_challenge_methods_supported:!0}).shape}),Z5=Z({access_token:j(),id_token:j().optional(),token_type:j(),expires_in:QF().optional(),scope:j().optional(),refresh_token:j().optional()}).strip(),X5=Z({error:j(),error_description:j().optional(),error_uri:j().optional()}),HA=Nn.optional().or(W("").transform(()=>{})),Y5=Z({redirect_uris:le(Nn),token_endpoint_auth_method:j().optional(),grant_types:le(j()).optional(),response_types:le(j()).optional(),client_name:j().optional(),client_uri:Nn.optional(),logo_uri:HA,scope:j().optional(),contacts:le(j()).optional(),tos_uri:HA,policy_uri:j().optional(),jwks_uri:Nn.optional(),jwks:g_().optional(),software_id:j().optional(),software_version:j().optional(),software_statement:j().optional()}).strip(),J5=Z({client_id:j(),client_secret:j().optional(),client_id_issued_at:ze().optional(),client_secret_expires_at:ze().optional()}).strip(),Q5=Y5.merge(J5);Z({error:j(),error_description:j().optional()}).strip();Z({token:j(),token_type_hint:j().optional()}).strip();function eG(n){const e=typeof n=="string"?new URL(n):new URL(n.href);return e.hash="",e}function tG({requestedResource:n,configuredResource:e}){const t=typeof n=="string"?new URL(n):new URL(n.href),s=typeof e=="string"?new URL(e):new URL(e.href);if(t.origin!==s.origin||t.pathname.length=400&&n.status<500&&e!=="/"}async function fG(n,e,t,s){const i=new URL(n),r=(s==null?void 0:s.protocolVersion)??Py;let o;if(s!=null&&s.metadataUrl)o=new URL(s.metadataUrl);else{const l=uG(e,i.pathname);o=new URL(l,(s==null?void 0:s.metadataServerUrl)??i),o.search=i.search}let a=await qA(o,r,t);if(!(s!=null&&s.metadataUrl)&&dG(a,i.pathname)){const l=new URL(`/.well-known/${e}`,i);a=await qA(l,r,t)}return a}function pG(n){const e=typeof n=="string"?new URL(n):n,t=e.pathname!=="/",s=[];if(!t)return s.push({url:new URL("/.well-known/oauth-authorization-server",e.origin),type:"oauth"}),s.push({url:new URL("/.well-known/openid-configuration",e.origin),type:"oidc"}),s;let i=e.pathname;return i.endsWith("/")&&(i=i.slice(0,-1)),s.push({url:new URL(`/.well-known/oauth-authorization-server${i}`,e.origin),type:"oauth"}),s.push({url:new URL(`/.well-known/openid-configuration${i}`,e.origin),type:"oidc"}),s.push({url:new URL(`${i}/.well-known/openid-configuration`,e.origin),type:"oidc"}),s}async function HT(n,{fetchFn:e=fetch,protocolVersion:t=Py}={}){var r;const s={"MCP-Protocol-Version":t,Accept:"application/json"},i=pG(n);for(const{url:o,type:a}of i){const l=await A1(o,s,e);if(l){if(!l.ok){if(await((r=l.body)==null?void 0:r.cancel()),l.status>=400&&l.status<500)continue;throw new Error(`HTTP ${l.status} trying to load ${a==="oauth"?"OAuth":"OpenID provider"} metadata from ${o}`)}return a==="oauth"?FT.parse(await l.json()):K5.parse(await l.json())}}}async function mG(n,e){let t,s;try{t=await zT(n,{resourceMetadataUrl:e==null?void 0:e.resourceMetadataUrl},e==null?void 0:e.fetchFn),t.authorization_servers&&t.authorization_servers.length>0&&(s=t.authorization_servers[0])}catch{}s||(s=String(new URL("/",n)));const i=await HT(s,{fetchFn:e==null?void 0:e.fetchFn});return{authorizationServerUrl:s,authorizationServerMetadata:i,resourceMetadata:t}}async function gG(n,{metadata:e,clientInformation:t,redirectUrl:s,scope:i,state:r,resource:o}){let a;if(e){if(a=new URL(e.authorization_endpoint),!e.response_types_supported.includes(P0))throw new Error(`Incompatible auth server: does not support response type ${P0}`);if(e.code_challenge_methods_supported&&!e.code_challenge_methods_supported.includes(R0))throw new Error(`Incompatible auth server: does not support code challenge method ${R0}`)}else a=new URL("/authorize",n);const l=await V5(),c=l.code_verifier,h=l.code_challenge;return a.searchParams.set("response_type",P0),a.searchParams.set("client_id",t.client_id),a.searchParams.set("code_challenge",h),a.searchParams.set("code_challenge_method",R0),a.searchParams.set("redirect_uri",String(s)),r&&a.searchParams.set("state",r),i&&a.searchParams.set("scope",i),i!=null&&i.includes("offline_access")&&a.searchParams.append("prompt","consent"),o&&a.searchParams.set("resource",o.href),{authorizationUrl:a,codeVerifier:c}}function yG(n,e,t){return new URLSearchParams({grant_type:"authorization_code",code:n,code_verifier:e,redirect_uri:String(t)})}async function BT(n,{metadata:e,tokenRequestParams:t,clientInformation:s,addClientAuthentication:i,resource:r,fetchFn:o}){const a=e!=null&&e.token_endpoint?new URL(e.token_endpoint):new URL("/token",n),l=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(r&&t.set("resource",r.href),i)await i(l,t,a,e);else if(s){const h=(e==null?void 0:e.token_endpoint_auth_methods_supported)??[],u=iG(s,h);rG(u,s,l,t)}const c=await(o??fetch)(a,{method:"POST",headers:l,body:t});if(!c.ok)throw await jT(c);return Z5.parse(await c.json())}async function vG(n,{metadata:e,clientInformation:t,refreshToken:s,resource:i,addClientAuthentication:r,fetchFn:o}){const a=new URLSearchParams({grant_type:"refresh_token",refresh_token:s}),l=await BT(n,{metadata:e,tokenRequestParams:a,clientInformation:t,addClientAuthentication:r,resource:i,fetchFn:o});return{refresh_token:s,...l}}async function bG(n,e,{metadata:t,resource:s,authorizationCode:i,fetchFn:r}={}){const o=n.clientMetadata.scope;let a;if(n.prepareTokenRequest&&(a=await n.prepareTokenRequest(o)),!a){if(!i)throw new Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!n.redirectUrl)throw new Error("redirectUrl is required for authorization_code flow");const c=await n.codeVerifier();a=yG(i,c,n.redirectUrl)}const l=await n.clientInformation();return BT(e,{metadata:t,tokenRequestParams:a,clientInformation:l??void 0,addClientAuthentication:n.addClientAuthentication,resource:s,fetchFn:r})}async function wG(n,{metadata:e,clientMetadata:t,scope:s,fetchFn:i}){let r;if(e){if(!e.registration_endpoint)throw new Error("Incompatible auth server: does not support dynamic client registration");r=new URL(e.registration_endpoint)}else r=new URL("/register",n);const o=await(i??fetch)(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...t,...s!==void 0?{scope:s}:{}})});if(!o.ok)throw await jT(o);return Q5.parse(await o.json())}class O0 extends Error{constructor(e,t){super(e),this.name="ParseError",this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}}const UA=10,_G=13,Ca=32;function N0(n){}function SG(n){if(typeof n=="function")throw new TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");const{onEvent:e=N0,onError:t=N0,onRetry:s=N0,onComment:i,maxBufferSize:r}=n,o=[];let a=0,l=!0,c,h="",u=0,d,p=!1;function m(A){if(p)throw new Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(l&&(l=!1,A.charCodeAt(0)===239&&A.charCodeAt(1)===187&&A.charCodeAt(2)===191&&(A=A.slice(3))),o.length===0){const O=v(A);O!==""&&(o.push(O),a=O.length),g();return}if(A.indexOf(` +`)===-1&&A.indexOf("\r")===-1){o.push(A),a+=A.length,g();return}o.push(A);const E=o.join("");o.length=0,a=0;const $=v(E);$!==""&&(o.push($),a=$.length),g()}function g(){r!==void 0&&(a+h.length<=r||(p=!0,o.length=0,a=0,c=void 0,h="",u=0,d=void 0,t(new O0(`Buffered data exceeded max buffer size of ${r} characters`,{type:"max-buffer-size-exceeded"}))))}function v(A){let E=0;if(A.indexOf("\r")===-1){let $=A.indexOf(` +`,E);for(;$!==-1;){if(E===$){u>0&&e({id:c,event:d,data:h}),c=void 0,h="",u=0,d=void 0,E=$+1,$=A.indexOf(` +`,E);continue}const O=A.charCodeAt(E);if(VA(A,E,O)){const F=A.charCodeAt(E+5)===Ca?E+6:E+5,q=A.slice(F,$);if(u===0&&A.charCodeAt($+1)===UA){e({id:c,event:d,data:q}),c=void 0,h="",d=void 0,E=$+2,$=A.indexOf(` +`,E);continue}h=u===0?q:`${h} +${q}`,u++}else WA(A,E,O)?d=A.slice(A.charCodeAt(E+6)===Ca?E+7:E+6,$)||void 0:y(A,E,$);E=$+1,$=A.indexOf(` +`,E)}return A.slice(E)}for(;E20?`${A.slice(0,20)}…`:A}"`,{type:"unknown-field",field:A,value:E,line:$}));break}}function _(){u>0&&e({id:c,event:d,data:h}),c=void 0,h="",u=0,d=void 0}function S(A={}){if(A.consume&&o.length>0){const E=o.join("");y(E,0,E.length)}l=!0,c=void 0,h="",u=0,d=void 0,o.length=0,a=0,p=!1}return{feed:m,reset:S}}function VA(n,e,t){return t===100&&n.charCodeAt(e+1)===97&&n.charCodeAt(e+2)===116&&n.charCodeAt(e+3)===97&&n.charCodeAt(e+4)===58}function WA(n,e,t){return t===101&&n.charCodeAt(e+1)===118&&n.charCodeAt(e+2)===101&&n.charCodeAt(e+3)===110&&n.charCodeAt(e+4)===116&&n.charCodeAt(e+5)===58}class kG extends TransformStream{constructor({onError:e,onRetry:t,onComment:s,maxBufferSize:i}={}){let r;super({start(o){r=SG({onEvent:a=>{o.enqueue(a)},onError(a){typeof e=="function"&&e(a),(e==="terminate"||a.type==="max-buffer-size-exceeded")&&o.error(a)},onRetry:t,onComment:s,maxBufferSize:i})},transform(o){r.feed(o)}})}}const AG={initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:2};class vc extends Error{constructor(e,t){super(`Streamable HTTP error: ${t}`),this.code=e}}class xG{constructor(e,t){this._hasCompletedAuthFlow=!1,this._url=e,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=t==null?void 0:t.requestInit,this._authProvider=t==null?void 0:t.authProvider,this._fetch=t==null?void 0:t.fetch,this._fetchWithInit=z5(t==null?void 0:t.fetch,t==null?void 0:t.requestInit),this._sessionId=t==null?void 0:t.sessionId,this._reconnectionOptions=(t==null?void 0:t.reconnectionOptions)??AG}async _authThenStart(){var t;if(!this._authProvider)throw new yc("No auth provider");let e;try{e=await Gp(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(s){throw(t=this.onerror)==null||t.call(this,s),s}if(e!=="AUTHORIZED")throw new yc;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){var s;const e={};if(this._authProvider){const i=await this._authProvider.tokens();i&&(e.Authorization=`Bearer ${i.access_token}`)}this._sessionId&&(e["mcp-session-id"]=this._sessionId),this._protocolVersion&&(e["mcp-protocol-version"]=this._protocolVersion);const t=Dv((s=this._requestInit)==null?void 0:s.headers);return new Headers({...e,...t})}async _startOrAuthSse(e){var s,i,r;const{resumptionToken:t}=e;try{const o=await this._commonHeaders();o.set("Accept","text/event-stream"),t&&o.set("last-event-id",t);const a=await(this._fetch??fetch)(this._url,{method:"GET",headers:o,signal:(s=this._abortController)==null?void 0:s.signal});if(!a.ok){if(await((i=a.body)==null?void 0:i.cancel()),a.status===401&&this._authProvider)return await this._authThenStart();if(a.status===405)return;throw new vc(a.status,`Failed to open SSE stream: ${a.statusText}`)}this._handleSseStream(a.body,e,!0)}catch(o){throw(r=this.onerror)==null||r.call(this,o),o}}_getNextReconnectionDelay(e){if(this._serverRetryMs!==void 0)return this._serverRetryMs;const t=this._reconnectionOptions.initialReconnectionDelay,s=this._reconnectionOptions.reconnectionDelayGrowFactor,i=this._reconnectionOptions.maxReconnectionDelay;return Math.min(t*Math.pow(s,e),i)}_scheduleReconnection(e,t=0){var r;const s=this._reconnectionOptions.maxRetries;if(t>=s){(r=this.onerror)==null||r.call(this,new Error(`Maximum reconnection attempts (${s}) exceeded.`));return}const i=this._getNextReconnectionDelay(t);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(e).catch(o=>{var a;(a=this.onerror)==null||a.call(this,new Error(`Failed to reconnect SSE stream: ${o instanceof Error?o.message:String(o)}`)),this._scheduleReconnection(e,t+1)})},i)}_handleSseStream(e,t,s){if(!e)return;const{onresumptiontoken:i,replayMessageId:r}=t;let o,a=!1,l=!1;(async()=>{var h,u,d,p;try{const m=e.pipeThrough(new TextDecoderStream).pipeThrough(new kG({onRetry:y=>{this._serverRetryMs=y}})).getReader();for(;;){const{value:y,done:b}=await m.read();if(b)break;if(y.id&&(o=y.id,a=!0,i==null||i(y.id)),!!y.data&&(!y.event||y.event==="message"))try{const _=bm.parse(JSON.parse(y.data));Lu(_)&&(l=!0,r!==void 0&&(_.id=r)),(h=this.onmessage)==null||h.call(this,_)}catch(_){(u=this.onerror)==null||u.call(this,_)}}(s||a)&&!l&&this._abortController&&!this._abortController.signal.aborted&&this._scheduleReconnection({resumptionToken:o,onresumptiontoken:i,replayMessageId:r},0)}catch(m){if((d=this.onerror)==null||d.call(this,new Error(`SSE stream disconnected: ${m}`)),(s||a)&&!l&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:o,onresumptiontoken:i,replayMessageId:r},0)}catch(y){(p=this.onerror)==null||p.call(this,new Error(`Failed to reconnect: ${y instanceof Error?y.message:String(y)}`))}}})()}async start(){if(this._abortController)throw new Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(e){if(!this._authProvider)throw new yc("No auth provider");if(await Gp(this._authProvider,{serverUrl:this._url,authorizationCode:e,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new yc("Failed to authorize")}async close(){var e,t;this._reconnectionTimeout&&(clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0),(e=this._abortController)==null||e.abort(),(t=this.onclose)==null||t.call(this)}async send(e,t){var s,i,r,o,a,l;try{const{resumptionToken:c,onresumptiontoken:h}=t||{};if(c){this._startOrAuthSse({resumptionToken:c,replayMessageId:yv(e)?e.id:void 0}).catch(_=>{var S;return(S=this.onerror)==null?void 0:S.call(this,_)});return}const u=await this._commonHeaders();u.set("content-type","application/json"),u.set("accept","application/json, text/event-stream");const d={...this._requestInit,method:"POST",headers:u,body:JSON.stringify(e),signal:(s=this._abortController)==null?void 0:s.signal},p=await(this._fetch??fetch)(this._url,d),m=p.headers.get("mcp-session-id");if(m&&(this._sessionId=m),!p.ok){const _=await p.text().catch(()=>null);if(p.status===401&&this._authProvider){if(this._hasCompletedAuthFlow)throw new vc(401,"Server returned 401 after successful authentication");const{resourceMetadataUrl:S,scope:A}=BA(p);if(this._resourceMetadataUrl=S,this._scope=A,await Gp(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new yc;return this._hasCompletedAuthFlow=!0,this.send(e)}if(p.status===403&&this._authProvider){const{resourceMetadataUrl:S,scope:A,error:E}=BA(p);if(E==="insufficient_scope"){const $=p.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===$)throw new vc(403,"Server returned 403 after trying upscoping");if(A&&(this._scope=A),S&&(this._resourceMetadataUrl=S),this._lastUpscopingHeader=$??void 0,await Gp(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch})!=="AUTHORIZED")throw new yc;return this.send(e)}}throw new vc(p.status,`Error POSTing to endpoint: ${_}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,p.status===202){await((i=p.body)==null?void 0:i.cancel()),gj(e)&&this._startOrAuthSse({resumptionToken:void 0}).catch(_=>{var S;return(S=this.onerror)==null?void 0:S.call(this,_)});return}const v=(Array.isArray(e)?e:[e]).filter(_=>"method"in _&&"id"in _&&_.id!==void 0).length>0,y=p.headers.get("content-type"),b=j5(y);if(v)if(b==="text/event-stream")this._handleSseStream(p.body,{onresumptiontoken:h},!1);else if(b==="application/json"){const _=await p.json(),S=Array.isArray(_)?_.map(A=>bm.parse(A)):[bm.parse(_)];for(const A of S)(r=this.onmessage)==null||r.call(this,A)}else throw await((o=p.body)==null?void 0:o.cancel()),new vc(-1,`Unexpected content type: ${y}`);else await((a=p.body)==null?void 0:a.cancel())}catch(c){throw(l=this.onerror)==null||l.call(this,c),c}}get sessionId(){return this._sessionId}async terminateSession(){var e,t,s;if(this._sessionId)try{const i=await this._commonHeaders(),r={...this._requestInit,method:"DELETE",headers:i,signal:(e=this._abortController)==null?void 0:e.signal},o=await(this._fetch??fetch)(this._url,r);if(await((t=o.body)==null?void 0:t.cancel()),!o.ok&&o.status!==405)throw new vc(o.status,`Failed to terminate session: ${o.statusText}`);this._sessionId=void 0}catch(i){throw(s=this.onerror)==null||s.call(this,i),i}}setProtocolVersion(e){this._protocolVersion=e}get protocolVersion(){return this._protocolVersion}async resumeStream(e,t){await this._startOrAuthSse({resumptionToken:e,onresumptiontoken:t==null?void 0:t.onresumptiontoken})}}const EG="https://mcp.excalidraw.com/mcp",CG="mcp.excalidraw.com",$G="/api/v1/chat/mcp-apps/excalidraw",qT="ui://excalidraw/mcp-app.html",TG=["read_me","create_view"],UT=new Set(["export_to_excalidraw","save_checkpoint","read_checkpoint"]),PG=256*1024,RG=1024*1024,MG=1024*1024,IG=240,OG=720,NG=525;function LG(n){return!Number.isFinite(n)||n<=0?NG:Math.max(IG,Math.min(OG,Math.round(n*3/4)))}const DG={excalidraw:{id:"excalidraw",endpoint:EG,hostname:CG,resourceUri:qT,modelTools:TG,appTools:UT}};function FG(n){return DG[n]}function jG(){return new URL(sn($G),window.location.origin)}class zG{constructor(){he(this,"client",new P5({name:"pwc-chat-mcp-app-host",version:"1"}));he(this,"transport",new xG(jG(),{requestInit:{credentials:"include"}}));he(this,"connected");he(this,"bytes",0);he(this,"closed",!1)}connect(){return this.closed?Promise.reject(new Error("App host client is closed")):(this.connected||(this.connected=this.client.connect(this.transport).then(()=>{},e=>{throw this.connected=void 0,this.retire(),e})),this.connected)}async readResource(e){if(e!==qT)throw new Error("Unapproved App resource");await this.connect();const s=(await this.client.readResource({uri:e})).contents[0];if(!s||!("text"in s)||typeof s.text!="string"||s.mimeType!=="text/html;profile=mcp-app")throw new Error("Incompatible App resource");this.consume(s.text,MG);const i=await UG(s.text);return{text:s.text,digest:i}}async callTool(e,t){if(!UT.has(e))throw new Error("Unapproved App tool");const s=JSON.stringify(t);this.consume(s);try{await this.connect();const i=await this.client.callTool({name:e,arguments:t});return this.consume(JSON.stringify(i)),i}catch(i){throw this.retire(),i}}close(){this.closed=!0,this.connected=void 0,this.transport.close()}retire(){this.close(),ta===this&&(ta=void 0)}consume(e,t=PG){const s=new TextEncoder().encode(e).byteLength;if(s>t||this.bytes+s>RG)throw new Error("App request exceeds host limit");this.bytes+=s}}let ta;function HG(){return ta??(ta=new zG),ta}function BG(){ta==null||ta.close(),ta=void 0}function qG(n){BG()}async function UG(n){const e=new TextEncoder().encode(n),t=await crypto.subtle.digest("SHA-256",e);return[...new Uint8Array(t)].map(s=>s.toString(16).padStart(2,"0")).join("")}function VG(n,e){let t=!1,s=0;const i=()=>{t||!n.contentWindow||(t=!0,e())};n.addEventListener("load",i);const r=window.requestAnimationFrame(()=>{s=window.requestAnimationFrame(i)});return()=>{t=!0,n.removeEventListener("load",i),window.cancelAnimationFrame(r),window.cancelAnimationFrame(s)}}const WG=({block:n})=>{const e=se.useRef(null),t=se.useRef(null),s=se.useRef(!1),i=se.useRef(n),r=se.useRef(!1);i.current=n;const[o,a]=se.useState(),[l,c]=se.useState("loading"),[h,u]=se.useState(n.height),[d,p]=se.useState(!1),[m,g]=se.useState(0),v=se.useRef(null),y=n.input.elements,b=!!n.permissions.clipboardWrite;r.current=d;const _=se.useCallback(()=>{p(!1),document.fullscreenElement&&document.exitFullscreen()},[]),S=se.useCallback(()=>{var $,O;if(d){_();return}p(!0),(O=($=v.current)==null?void 0:$.requestFullscreen)==null||O.call($).catch(()=>{})},[_,d]),A=se.useCallback(()=>{qG(),a(void 0),c("loading"),g($=>$+1)},[]);se.useEffect(()=>{const $=v.current;if(!$)return;const O=()=>{r.current||u(LG($.clientWidth))};O();const F=new ResizeObserver(O);return F.observe($),()=>F.disconnect()},[]),se.useEffect(()=>{if(!d)return;const $=v.current,O=q=>{q.key==="Escape"&&(document.fullscreenElement||_())},F=()=>{document.fullscreenElement||p(!1)};return window.addEventListener("keydown",O),document.addEventListener("fullscreenchange",F),()=>{window.removeEventListener("keydown",O),document.removeEventListener("fullscreenchange",F),document.fullscreenElement===$&&document.exitFullscreen()}},[_,d]),se.useEffect(()=>{FG(n.provider);{c("unavailable");return}},[m,n.provider,n.resource_uri]),se.useEffect(()=>{if(!o||l!=="ready")return;const $=e.current;if(!$)return;let O=null;const F=[],q=VG($,()=>{$.contentWindow&&(O=new Kz(null,{name:"Papers with Code",version:"1"},{serverTools:{},openLinks:{},logging:{},...b?{clipboard:{write:{}}}:{}},{hostContext:{theme:document.documentElement.dataset.theme==="dark"?"dark":"light",displayMode:d?"fullscreen":"inline"}}),O.oncalltool=async({name:N,arguments:z})=>{if(i.current.public_fork&&N!=="export_to_excalidraw")throw new Error("Shared diagrams cannot mutate owner state");return HG().callTool(N,z??{})},O.onopenlink=async({url:N})=>{const z=new URL(N);if(z.protocol!=="https:"||z.hostname!=="excalidraw.com")throw new Error("External navigation denied");if(!window.confirm("This export opens Excalidraw and uploads the diagram to its service. Continue?"))throw new Error("Export cancelled");return window.open(z.href,"_blank","noopener,noreferrer"),{}},O.onsizechange=()=>{},O.oninitialized=()=>{const N=O;if(!N){c("error");return}s.current=!0;try{const z=JSON.parse(y),G={arguments:{elements:Array.isArray(z)?sH(z):z}};for(const L of[0,50,200,750])F.push(window.setTimeout(()=>{t.current===N&&N.sendToolInput(G)},L));N.sendToolResult(i.current.result)}catch{c("error")}},t.current=O,O.connect(new Wz($.contentWindow??void 0,$.contentWindow)).catch(()=>c("error")))});return()=>{q(),F.forEach(N=>window.clearTimeout(N)),s.current=!1,O==null||O.teardownResource({}).catch(()=>{}),t.current===O&&(t.current=null)}},[o,l,d,y,b,m]),se.useEffect(()=>{var $;l!=="ready"||!s.current||($=t.current)==null||$.sendToolResult(n.result).catch(()=>{})},[n.result,l]);const E=l==="unavailable"||l==="incompatible"||l==="error";return k.jsxs("section",{ref:v,className:`chat-mcp-app${d?" chat-mcp-app-fullscreen":""}`,"aria-label":"Interactive Excalidraw diagram",children:[k.jsx("header",{children:k.jsx("button",{type:"button",onClick:S,children:d?"Exit fullscreen":"Fullscreen"})}),l==="loading"&&k.jsx("div",{className:"chat-mcp-loading",role:"status",children:"Loading interactive diagram…"}),E&&k.jsxs("div",{className:"chat-mcp-error",children:["Interactive diagram unavailable. The cited text answer is still available.",k.jsx("button",{type:"button",onClick:A,children:"Retry diagram"})]}),o&&l==="ready"&&k.jsx("iframe",{ref:e,title:"Interactive Excalidraw diagram",sandbox:"allow-scripts",allow:b?"clipboard-write":void 0,srcDoc:o,style:{height:h}},m)]})};var md={};md.d=(n,e)=>{for(var t in e)md.o(e,t)&&!md.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:e[t]})};md.o=(n,e)=>Object.prototype.hasOwnProperty.call(n,e);var Oe=globalThis.pdfjsLib={};md.d(Oe,{AbortException:()=>uc,AnnotationEditorLayer:()=>aw,AnnotationEditorParamsType:()=>Me,AnnotationEditorType:()=>je,AnnotationEditorUIManager:()=>Jl,AnnotationLayer:()=>U9,AnnotationMode:()=>_o,ColorPicker:()=>Ng,DOMSVGFactory:()=>L1,DrawLayer:()=>uw,FeatureTest:()=>cs,GlobalWorkerOptions:()=>eo,ImageKind:()=>Pm,InvalidPDFException:()=>WT,MissingPDFException:()=>hc,OPS:()=>vi,OutputScale:()=>eb,PDFDataRangeTransport:()=>BP,PDFDateString:()=>T1,PDFWorker:()=>qc,PasswordResponses:()=>XG,PermissionFlag:()=>ZG,PixelsPerInch:()=>la,RenderingCancelledException:()=>C1,TextLayer:()=>$b,UnexpectedResponseException:()=>Zy,Util:()=>Ce,VerbosityLevel:()=>Wy,XfaLayer:()=>UP,build:()=>A9,createValidAbsoluteUrl:()=>eK,fetchData:()=>Yy,getDocument:()=>m9,getFilenameFromUrl:()=>cK,getPdfFilenameFromUrl:()=>hK,getXfaPageViewport:()=>uK,isDataScheme:()=>Jy,isPdfFile:()=>$1,noContextMenu:()=>li,normalizeUnicode:()=>oK,setLayerDimensions:()=>Yl,shadow:()=>Ye,version:()=>k9});const ts=typeof process=="object"&&process+""=="[object process]"&&!process.versions.nw&&!(process.versions.electron&&process.type&&process.type!=="browser"),VT=[1,0,0,1,0,0],Xv=[.001,0,0,.001,0,0],GG=1e7,L0=1.35,js={ANY:1,DISPLAY:2,PRINT:4,ANNOTATIONS_FORMS:16,ANNOTATIONS_STORAGE:32,ANNOTATIONS_DISABLE:64,IS_EDITING:128,OPLIST:256},_o={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3},KG="pdfjs_internal_editor_",je={DISABLE:-1,NONE:0,FREETEXT:3,HIGHLIGHT:9,STAMP:13,INK:15},Me={RESIZE:1,CREATE:2,FREETEXT_SIZE:11,FREETEXT_COLOR:12,FREETEXT_OPACITY:13,INK_COLOR:21,INK_THICKNESS:22,INK_OPACITY:23,HIGHLIGHT_COLOR:31,HIGHLIGHT_DEFAULT_COLOR:32,HIGHLIGHT_THICKNESS:33,HIGHLIGHT_FREE:34,HIGHLIGHT_SHOW_ALL:35},ZG={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},Gn={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},Pm={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},an={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,WIDGET:20},Cu={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5},Wy={ERRORS:0,WARNINGS:1,INFOS:5},vi={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotation:80,endAnnotation:81,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91,setStrokeTransparent:92,setFillTransparent:93},XG={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};let Gy=Wy.WARNINGS;function YG(n){Number.isInteger(n)&&(Gy=n)}function JG(){return Gy}function Ky(n){Gy>=Wy.INFOS&&console.log(`Info: ${n}`)}function Ue(n){Gy>=Wy.WARNINGS&&console.log(`Warning: ${n}`)}function Mt(n){throw new Error(n)}function pn(n,e){n||Mt(e)}function QG(n){switch(n==null?void 0:n.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}function eK(n,e=null,t=null){if(!n)return null;try{if(t&&typeof n=="string"){if(t.addDefaultProtocol&&n.startsWith("www.")){const i=n.match(/\./g);(i==null?void 0:i.length)>=2&&(n=`http://${n}`)}if(t.tryConvertEncoding)try{n=rK(n)}catch{}}const s=e?new URL(n,e):new URL(n);if(QG(s))return s}catch{}return null}function Ye(n,e,t,s=!1){return Object.defineProperty(n,e,{value:t,enumerable:!s,configurable:!0,writable:!1}),t}const va=function(){function e(t,s){this.message=t,this.name=s}return e.prototype=new Error,e.constructor=e,e}();class Yv extends va{constructor(e,t){super(e,"PasswordException"),this.code=t}}class Jv extends va{constructor(e,t){super(e,"UnknownErrorException"),this.details=t}}class WT extends va{constructor(e){super(e,"InvalidPDFException")}}class hc extends va{constructor(e){super(e,"MissingPDFException")}}class Zy extends va{constructor(e,t){super(e,"UnexpectedResponseException"),this.status=t}}class tK extends va{constructor(e){super(e,"FormatError")}}class uc extends va{constructor(e){super(e,"AbortException")}}function GT(n){(typeof n!="object"||(n==null?void 0:n.length)===void 0)&&Mt("Invalid argument for bytesToString");const e=n.length,t=8192;if(e>24&255,n>>16&255,n>>8&255,n&255)}function x1(n){const e=Object.create(null);for(const[t,s]of n)e[t]=s;return e}function sK(){const n=new Uint8Array(4);return n[0]=1,new Uint32Array(n.buffer,0,1)[0]===1}function iK(){try{return new Function(""),!0}catch{return!1}}class cs{static get isLittleEndian(){return Ye(this,"isLittleEndian",sK())}static get isEvalSupported(){return Ye(this,"isEvalSupported",iK())}static get isOffscreenCanvasSupported(){return Ye(this,"isOffscreenCanvasSupported",typeof OffscreenCanvas<"u")}static get platform(){return typeof navigator<"u"&&typeof(navigator==null?void 0:navigator.platform)=="string"?Ye(this,"platform",{isMac:navigator.platform.includes("Mac"),isWindows:navigator.platform.includes("Win"),isFirefox:typeof(navigator==null?void 0:navigator.userAgent)=="string"&&navigator.userAgent.includes("Firefox")}):Ye(this,"platform",{isMac:!1,isWindows:!1,isFirefox:!1})}static get isCSSRoundSupported(){var e,t;return Ye(this,"isCSSRoundSupported",(t=(e=globalThis.CSS)==null?void 0:e.supports)==null?void 0:t.call(e,"width: round(1.5px, 1px)"))}}const D0=Array.from(Array(256).keys(),n=>n.toString(16).padStart(2,"0"));var ao,Rm,Qv;class Ce{static makeHexColor(e,t,s){return`#${D0[e]}${D0[t]}${D0[s]}`}static scaleMinMax(e,t){let s;e[0]?(e[0]<0&&(s=t[0],t[0]=t[2],t[2]=s),t[0]*=e[0],t[2]*=e[0],e[3]<0&&(s=t[1],t[1]=t[3],t[3]=s),t[1]*=e[3],t[3]*=e[3]):(s=t[0],t[0]=t[1],t[1]=s,s=t[2],t[2]=t[3],t[3]=s,e[1]<0&&(s=t[1],t[1]=t[3],t[3]=s),t[1]*=e[1],t[3]*=e[1],e[2]<0&&(s=t[0],t[0]=t[2],t[2]=s),t[0]*=e[2],t[2]*=e[2]),t[0]+=e[4],t[1]+=e[5],t[2]+=e[4],t[3]+=e[5]}static transform(e,t){return[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],e[0]*t[4]+e[2]*t[5]+e[4],e[1]*t[4]+e[3]*t[5]+e[5]]}static applyTransform(e,t){const s=e[0]*t[0]+e[1]*t[2]+t[4],i=e[0]*t[1]+e[1]*t[3]+t[5];return[s,i]}static applyInverseTransform(e,t){const s=t[0]*t[3]-t[1]*t[2],i=(e[0]*t[3]-e[1]*t[2]+t[2]*t[5]-t[4]*t[3])/s,r=(-e[0]*t[1]+e[1]*t[0]+t[4]*t[1]-t[5]*t[0])/s;return[i,r]}static getAxialAlignedBoundingBox(e,t){const s=this.applyTransform(e,t),i=this.applyTransform(e.slice(2,4),t),r=this.applyTransform([e[0],e[3]],t),o=this.applyTransform([e[2],e[1]],t);return[Math.min(s[0],i[0],r[0],o[0]),Math.min(s[1],i[1],r[1],o[1]),Math.max(s[0],i[0],r[0],o[0]),Math.max(s[1],i[1],r[1],o[1])]}static inverseTransform(e){const t=e[0]*e[3]-e[1]*e[2];return[e[3]/t,-e[1]/t,-e[2]/t,e[0]/t,(e[2]*e[5]-e[4]*e[3])/t,(e[4]*e[1]-e[5]*e[0])/t]}static singularValueDecompose2dScale(e){const t=[e[0],e[2],e[1],e[3]],s=e[0]*t[0]+e[1]*t[2],i=e[0]*t[1]+e[1]*t[3],r=e[2]*t[0]+e[3]*t[2],o=e[2]*t[1]+e[3]*t[3],a=(s+o)/2,l=Math.sqrt((s+o)**2-4*(s*o-r*i))/2,c=a+l||1,h=a-l||1;return[Math.sqrt(c),Math.sqrt(h)]}static normalizeRect(e){const t=e.slice(0);return e[0]>e[2]&&(t[0]=e[2],t[2]=e[0]),e[1]>e[3]&&(t[1]=e[3],t[3]=e[1]),t}static intersect(e,t){const s=Math.max(Math.min(e[0],e[2]),Math.min(t[0],t[2])),i=Math.min(Math.max(e[0],e[2]),Math.max(t[0],t[2]));if(s>i)return null;const r=Math.max(Math.min(e[1],e[3]),Math.min(t[1],t[3])),o=Math.min(Math.max(e[1],e[3]),Math.max(t[1],t[3]));return r>o?null:[s,r,i,o]}static bezierBoundingBox(e,t,s,i,r,o,a,l,c){return c?(c[0]=Math.min(c[0],e,a),c[1]=Math.min(c[1],t,l),c[2]=Math.max(c[2],e,a),c[3]=Math.max(c[3],t,l)):c=[Math.min(e,a),Math.min(t,l),Math.max(e,a),Math.max(t,l)],T(this,ao,Qv).call(this,e,s,r,a,t,i,o,l,3*(-e+3*(s-r)+a),6*(e-2*s+r),3*(s-e),c),T(this,ao,Qv).call(this,e,s,r,a,t,i,o,l,3*(-t+3*(i-o)+l),6*(t-2*i+o),3*(i-t),c),c}}ao=new WeakSet,Rm=function(e,t,s,i,r,o,a,l,c,h){if(c<=0||c>=1)return;const u=1-c,d=c*c,p=d*c,m=u*(u*(u*e+3*c*t)+3*d*s)+p*i,g=u*(u*(u*r+3*c*o)+3*d*a)+p*l;h[0]=Math.min(h[0],m),h[1]=Math.min(h[1],g),h[2]=Math.max(h[2],m),h[3]=Math.max(h[3],g)},Qv=function(e,t,s,i,r,o,a,l,c,h,u,d){if(Math.abs(c)<1e-12){Math.abs(h)>=1e-12&&T(this,ao,Rm).call(this,e,t,s,i,r,o,a,l,-u/h,d);return}const p=h**2-4*u*c;if(p<0)return;const m=Math.sqrt(p),g=2*c;T(this,ao,Rm).call(this,e,t,s,i,r,o,a,l,(-h+m)/g,d),T(this,ao,Rm).call(this,e,t,s,i,r,o,a,l,(-h-m)/g,d)},R(Ce,ao);function rK(n){return decodeURIComponent(escape(n))}let F0=null,GA=null;function oK(n){return F0||(F0=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu,GA=new Map([["ſt","ſt"]])),n.replaceAll(F0,(e,t,s)=>t?t.normalize("NFKC"):GA.get(s))}function aK(){if(typeof crypto<"u"&&typeof(crypto==null?void 0:crypto.randomUUID)=="function")return crypto.randomUUID();const n=new Uint8Array(32);if(typeof crypto<"u"&&typeof(crypto==null?void 0:crypto.getRandomValues)=="function")crypto.getRandomValues(n);else for(let e=0;e<32;e++)n[e]=Math.floor(Math.random()*255);return GT(n)}const E1="pdfjs_internal_id_",xr={BEZIER_CURVE_TO:0,MOVE_TO:1,LINE_TO:2,QUADRATIC_CURVE_TO:3,RESTORE:4,SAVE:5,SCALE:6,TRANSFORM:7,TRANSLATE:8};function lK(n){return Uint8Array.prototype.toBase64?n.toBase64():btoa(GT(n))}const Cr="http://www.w3.org/2000/svg",qa=class qa{};he(qa,"CSS",96),he(qa,"PDF",72),he(qa,"PDF_TO_CSS_UNITS",qa.CSS/qa.PDF);let la=qa;async function Yy(n,e="text"){if(zu(n,document.baseURI)){const t=await fetch(n);if(!t.ok)throw new Error(t.statusText);switch(e){case"arraybuffer":return t.arrayBuffer();case"blob":return t.blob();case"json":return t.json()}return t.text()}return new Promise((t,s)=>{const i=new XMLHttpRequest;i.open("GET",n,!0),i.responseType=e,i.onreadystatechange=()=>{if(i.readyState===XMLHttpRequest.DONE){if(i.status===200||i.status===0){switch(e){case"arraybuffer":case"blob":case"json":t(i.response);return}t(i.responseText);return}s(new Error(i.statusText))}},i.send(null)})}class vp{constructor({viewBox:e,scale:t,rotation:s,offsetX:i=0,offsetY:r=0,dontFlip:o=!1}){this.viewBox=e,this.scale=t,this.rotation=s,this.offsetX=i,this.offsetY=r;const a=(e[2]+e[0])/2,l=(e[3]+e[1])/2;let c,h,u,d;switch(s%=360,s<0&&(s+=360),s){case 180:c=-1,h=0,u=0,d=1;break;case 90:c=0,h=1,u=1,d=0;break;case 270:c=0,h=-1,u=-1,d=0;break;case 0:c=1,h=0,u=0,d=-1;break;default:throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}o&&(u=-u,d=-d);let p,m,g,v;c===0?(p=Math.abs(l-e[1])*t+i,m=Math.abs(a-e[0])*t+r,g=(e[3]-e[1])*t,v=(e[2]-e[0])*t):(p=Math.abs(a-e[0])*t+i,m=Math.abs(l-e[1])*t+r,g=(e[2]-e[0])*t,v=(e[3]-e[1])*t),this.transform=[c*t,h*t,u*t,d*t,p-c*t*a-u*t*l,m-h*t*a-d*t*l],this.width=g,this.height=v}get rawDims(){const{viewBox:e}=this;return Ye(this,"rawDims",{pageWidth:e[2]-e[0],pageHeight:e[3]-e[1],pageX:e[0],pageY:e[1]})}clone({scale:e=this.scale,rotation:t=this.rotation,offsetX:s=this.offsetX,offsetY:i=this.offsetY,dontFlip:r=!1}={}){return new vp({viewBox:this.viewBox.slice(),scale:e,rotation:t,offsetX:s,offsetY:i,dontFlip:r})}convertToViewportPoint(e,t){return Ce.applyTransform([e,t],this.transform)}convertToViewportRectangle(e){const t=Ce.applyTransform([e[0],e[1]],this.transform),s=Ce.applyTransform([e[2],e[3]],this.transform);return[t[0],t[1],s[0],s[1]]}convertToPdfPoint(e,t){return Ce.applyInverseTransform([e,t],this.transform)}}class C1 extends va{constructor(e,t=0){super(e,"RenderingCancelledException"),this.extraDelay=t}}function Jy(n){const e=n.length;let t=0;for(;t=1&&i<=12?i-1:0;let r=parseInt(t[3],10);r=r>=1&&r<=31?r:1;let o=parseInt(t[4],10);o=o>=0&&o<=23?o:0;let a=parseInt(t[5],10);a=a>=0&&a<=59?a:0;let l=parseInt(t[6],10);l=l>=0&&l<=59?l:0;const c=t[7]||"Z";let h=parseInt(t[8],10);h=h>=0&&h<=23?h:0;let u=parseInt(t[9],10)||0;return u=u>=0&&u<=59?u:0,c==="-"?(o+=h,a+=u):c==="+"&&(o-=h,a-=u),new Date(Date.UTC(s,i,r,o,a,l))}}Hd=new WeakMap,R(T1,Hd);function uK(n,{scale:e=1,rotation:t=0}){const{width:s,height:i}=n.attributes.style,r=[0,0,parseInt(s),parseInt(i)];return new vp({viewBox:r,scale:e,rotation:t})}function P1(n){if(n.startsWith("#")){const e=parseInt(n.slice(1),16);return[(e&16711680)>>16,(e&65280)>>8,e&255]}return n.startsWith("rgb(")?n.slice(4,-1).split(",").map(e=>parseInt(e)):n.startsWith("rgba(")?n.slice(5,-1).split(",").map(e=>parseInt(e)).slice(0,3):(Ue(`Not a valid color format: "${n}"`),[0,0,0])}function dK(n){const e=document.createElement("span");e.style.visibility="hidden",document.body.append(e);for(const t of n.keys()){e.style.color=t;const s=window.getComputedStyle(e).color;n.set(t,P1(s))}e.remove()}function Bt(n){const{a:e,b:t,c:s,d:i,e:r,f:o}=n.getTransform();return[e,t,s,i,r,o]}function Er(n){const{a:e,b:t,c:s,d:i,e:r,f:o}=n.getTransform().invertSelf();return[e,t,s,i,r,o]}function Yl(n,e,t=!1,s=!0){if(e instanceof vp){const{pageWidth:i,pageHeight:r}=e.rawDims,{style:o}=n,a=cs.isCSSRoundSupported,l=`var(--scale-factor) * ${i}px`,c=`var(--scale-factor) * ${r}px`,h=a?`round(down, ${l}, var(--scale-round-x, 1px))`:`calc(${l})`,u=a?`round(down, ${c}, var(--scale-round-y, 1px))`:`calc(${c})`;!t||e.rotation%180===0?(o.width=h,o.height=u):(o.width=u,o.height=h)}s&&n.setAttribute("data-main-rotation",e.rotation)}class eb{constructor(){const e=window.devicePixelRatio||1;this.sx=e,this.sy=e}get scaled(){return this.sx!==1||this.sy!==1}get symmetric(){return this.sx===this.sy}}var Ao,Ga,bi,Ka,Bd,qd,iy,KT,us,ZT,XT,Mm,YT,nb;const $r=class $r{constructor(e){R(this,us);R(this,Ao,null);R(this,Ga,null);R(this,bi);R(this,Ka,null);R(this,Bd,null);C(this,bi,e),f($r,qd)||C($r,qd,Object.freeze({freetext:"pdfjs-editor-remove-freetext-button",highlight:"pdfjs-editor-remove-highlight-button",ink:"pdfjs-editor-remove-ink-button",stamp:"pdfjs-editor-remove-stamp-button"}))}render(){const e=C(this,Ao,document.createElement("div"));e.classList.add("editToolbar","hidden"),e.setAttribute("role","toolbar");const t=f(this,bi)._uiManager._signal;e.addEventListener("contextmenu",li,{signal:t}),e.addEventListener("pointerdown",T($r,iy,KT),{signal:t});const s=C(this,Ka,document.createElement("div"));s.className="buttons",e.append(s);const i=f(this,bi).toolbarPosition;if(i){const{style:r}=e,o=f(this,bi)._uiManager.direction==="ltr"?1-i[0]:i[0];r.insetInlineEnd=`${100*o}%`,r.top=`calc(${100*i[1]}% + var(--editor-toolbar-vert-offset))`}return T(this,us,YT).call(this),e}get div(){return f(this,Ao)}hide(){var e;f(this,Ao).classList.add("hidden"),(e=f(this,Ga))==null||e.hideDropdown()}show(){var e;f(this,Ao).classList.remove("hidden"),(e=f(this,Bd))==null||e.shown()}async addAltText(e){const t=await e.render();T(this,us,Mm).call(this,t),f(this,Ka).prepend(t,f(this,us,nb)),C(this,Bd,e)}addColorPicker(e){C(this,Ga,e);const t=e.renderButton();T(this,us,Mm).call(this,t),f(this,Ka).prepend(t,f(this,us,nb))}remove(){var e;f(this,Ao).remove(),(e=f(this,Ga))==null||e.destroy(),C(this,Ga,null)}};Ao=new WeakMap,Ga=new WeakMap,bi=new WeakMap,Ka=new WeakMap,Bd=new WeakMap,qd=new WeakMap,iy=new WeakSet,KT=function(e){e.stopPropagation()},us=new WeakSet,ZT=function(e){f(this,bi)._focusEventsAllowed=!1,e.preventDefault(),e.stopPropagation()},XT=function(e){f(this,bi)._focusEventsAllowed=!0,e.preventDefault(),e.stopPropagation()},Mm=function(e){const t=f(this,bi)._uiManager._signal;e.addEventListener("focusin",T(this,us,ZT).bind(this),{capture:!0,signal:t}),e.addEventListener("focusout",T(this,us,XT).bind(this),{capture:!0,signal:t}),e.addEventListener("contextmenu",li,{signal:t})},YT=function(){const{editorType:e,_uiManager:t}=f(this,bi),s=document.createElement("button");s.className="delete",s.tabIndex=0,s.setAttribute("data-l10n-id",f($r,qd)[e]),T(this,us,Mm).call(this,s),s.addEventListener("click",i=>{t.delete()},{signal:t._signal}),f(this,Ka).append(s)},nb=function(){const e=document.createElement("div");return e.className="divider",e},R($r,iy),R($r,qd,null);let tb=$r;var Ud,Za,Xa,pa,JT,QT,eP;class fK{constructor(e){R(this,pa);R(this,Ud,null);R(this,Za,null);R(this,Xa);C(this,Xa,e)}show(e,t,s){const[i,r]=T(this,pa,QT).call(this,t,s),{style:o}=f(this,Za)||C(this,Za,T(this,pa,JT).call(this));e.append(f(this,Za)),o.insetInlineEnd=`${100*i}%`,o.top=`calc(${100*r}% + var(--editor-toolbar-vert-offset))`}hide(){f(this,Za).remove()}}Ud=new WeakMap,Za=new WeakMap,Xa=new WeakMap,pa=new WeakSet,JT=function(){const e=C(this,Za,document.createElement("div"));e.className="editToolbar",e.setAttribute("role","toolbar"),e.addEventListener("contextmenu",li,{signal:f(this,Xa)._signal});const t=C(this,Ud,document.createElement("div"));return t.className="buttons",e.append(t),T(this,pa,eP).call(this),e},QT=function(e,t){let s=0,i=0;for(const r of e){const o=r.y+r.height;if(os){i=a,s=o;continue}t?a>i&&(i=a):a{f(this,Xa).highlightSelection("floating_button")},{signal:s}),f(this,Ud).append(e)};function Mg(n,e,t){for(const s of t)e.addEventListener(s,n[s].bind(n))}function pK(n){return Math.round(Math.min(255,Math.max(1,255*n))).toString(16).padStart(2,"0")}var ry;class mK{constructor(){R(this,ry,0)}get id(){return`${KG}${ss(this,ry)._++}`}}ry=new WeakMap;var Yc,Vd,Zn,Jc,Im;const pk=class pk{constructor(){R(this,Jc);R(this,Yc,aK());R(this,Vd,0);R(this,Zn,null)}static get _isSVGFittingCanvas(){const e='data:image/svg+xml;charset=UTF-8,',s=new OffscreenCanvas(1,3).getContext("2d",{willReadFrequently:!0}),i=new Image;i.src=e;const r=i.decode().then(()=>(s.drawImage(i,0,0,1,1,0,0,1,3),new Uint32Array(s.getImageData(0,0,1,1).data.buffer)[0]===0));return Ye(this,"_isSVGFittingCanvas",r)}async getFromFile(e){const{lastModified:t,name:s,size:i,type:r}=e;return T(this,Jc,Im).call(this,`${t}_${s}_${i}_${r}`,e)}async getFromUrl(e){return T(this,Jc,Im).call(this,e,e)}async getFromBlob(e,t){const s=await t;return T(this,Jc,Im).call(this,e,s)}async getFromId(e){f(this,Zn)||C(this,Zn,new Map);const t=f(this,Zn).get(e);if(!t)return null;if(t.bitmap)return t.refCounter+=1,t;if(t.file)return this.getFromFile(t.file);if(t.blobPromise){const{blobPromise:s}=t;return delete t.blobPromise,this.getFromBlob(t.id,s)}return this.getFromUrl(t.url)}getFromCanvas(e,t){f(this,Zn)||C(this,Zn,new Map);let s=f(this,Zn).get(e);if(s!=null&&s.bitmap)return s.refCounter+=1,s;const i=new OffscreenCanvas(t.width,t.height);return i.getContext("2d").drawImage(t,0,0),s={bitmap:i.transferToImageBitmap(),id:`image_${f(this,Yc)}_${ss(this,Vd)._++}`,refCounter:1,isSvg:!1},f(this,Zn).set(e,s),f(this,Zn).set(s.id,s),s}getSvgUrl(e){const t=f(this,Zn).get(e);return t!=null&&t.isSvg?t.svgUrl:null}deleteId(e){var i;f(this,Zn)||C(this,Zn,new Map);const t=f(this,Zn).get(e);if(!t||(t.refCounter-=1,t.refCounter!==0))return;const{bitmap:s}=t;if(!t.url&&!t.file){const r=new OffscreenCanvas(s.width,s.height);r.getContext("bitmaprenderer").transferFromImageBitmap(s),t.blobPromise=r.convertToBlob()}(i=s.close)==null||i.call(s),t.bitmap=null}isValidId(e){return e.startsWith(`image_${f(this,Yc)}_`)}};Yc=new WeakMap,Vd=new WeakMap,Zn=new WeakMap,Jc=new WeakSet,Im=async function(e,t){f(this,Zn)||C(this,Zn,new Map);let s=f(this,Zn).get(e);if(s===null)return null;if(s!=null&&s.bitmap)return s.refCounter+=1,s;try{s||(s={bitmap:null,id:`image_${f(this,Yc)}_${ss(this,Vd)._++}`,refCounter:0,isSvg:!1});let i;if(typeof t=="string"?(s.url=t,i=await Yy(t,"blob")):t instanceof File?i=s.file=t:t instanceof Blob&&(i=t),i.type==="image/svg+xml"){const r=pk._isSVGFittingCanvas,o=new FileReader,a=new Image,l=new Promise((c,h)=>{a.onload=()=>{s.bitmap=a,s.isSvg=!0,c()},o.onload=async()=>{const u=s.svgUrl=o.result;a.src=await r?`${u}#svgView(preserveAspectRatio(none))`:u},a.onerror=o.onerror=h});o.readAsDataURL(i),await l}else s.bitmap=await createImageBitmap(i);s.refCounter=1}catch(i){console.error(i),s=null}return f(this,Zn).set(e,s),s&&f(this,Zn).set(s.id,s),s};let sb=pk;var bn,xo,Wd,wn;class gK{constructor(e=128){R(this,bn,[]);R(this,xo,!1);R(this,Wd);R(this,wn,-1);C(this,Wd,e)}add({cmd:e,undo:t,post:s,mustExec:i,type:r=NaN,overwriteIfSameType:o=!1,keepUndo:a=!1}){if(i&&e(),f(this,xo))return;const l={cmd:e,undo:t,post:s,type:r};if(f(this,wn)===-1){f(this,bn).length>0&&(f(this,bn).length=0),C(this,wn,0),f(this,bn).push(l);return}if(o&&f(this,bn)[f(this,wn)].type===r){a&&(l.undo=f(this,bn)[f(this,wn)].undo),f(this,bn)[f(this,wn)]=l;return}const c=f(this,wn)+1;c===f(this,Wd)?f(this,bn).splice(0,1):(C(this,wn,c),cr===t[o]))return ay._colorsMapping.get(s);return t}getHexCode(e){const t=this._colors.get(e);return t?Ce.makeHexColor(...t):e}};he(ay,"_colorsMapping",new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]));let ib=ay;var Qc,Rs,ln,Rn,eh,Pr,th,wi,Eo,nh,Ya,Gi,_i,Ja,Gd,Kd,sh,Zd,Ki,Co,ih,$o,Zi,ly,To,Xd,Po,Qa,Yd,Jd,_n,dt,Rr,el,Qd,ef,Ro,Xi,Mr,tf,Ks,me,Om,rb,nP,sP,Nm,iP,rP,oP,ob,aP,ab,lb,lP,is,go,cP,hP,cb,uP,Hu,hb;const Dc=class Dc{constructor(e,t,s,i,r,o,a,l,c,h,u){R(this,me);R(this,Qc,new AbortController);R(this,Rs,null);R(this,ln,new Map);R(this,Rn,new Map);R(this,eh,null);R(this,Pr,null);R(this,th,null);R(this,wi,new gK);R(this,Eo,null);R(this,nh,0);R(this,Ya,new Set);R(this,Gi,null);R(this,_i,null);R(this,Ja,new Set);R(this,Gd,!1);R(this,Kd,!1);R(this,sh,!1);R(this,Zd,null);R(this,Ki,null);R(this,Co,null);R(this,ih,null);R(this,$o,!1);R(this,Zi,null);R(this,ly,new mK);R(this,To,!1);R(this,Xd,!1);R(this,Po,null);R(this,Qa,null);R(this,Yd,null);R(this,Jd,null);R(this,_n,je.NONE);R(this,dt,new Set);R(this,Rr,null);R(this,el,null);R(this,Qd,null);R(this,ef,{isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1});R(this,Ro,[0,0]);R(this,Xi,null);R(this,Mr,null);R(this,tf,null);R(this,Ks,null);const d=this._signal=f(this,Qc).signal;C(this,Mr,e),C(this,tf,t),C(this,eh,s),this._eventBus=i,i._on("editingaction",this.onEditingAction.bind(this),{signal:d}),i._on("pagechanging",this.onPageChanging.bind(this),{signal:d}),i._on("scalechanging",this.onScaleChanging.bind(this),{signal:d}),i._on("rotationchanging",this.onRotationChanging.bind(this),{signal:d}),i._on("setpreference",this.onSetPreference.bind(this),{signal:d}),i._on("switchannotationeditorparams",p=>this.updateParams(p.type,p.value),{signal:d}),T(this,me,iP).call(this),T(this,me,lP).call(this),T(this,me,ob).call(this),C(this,Pr,r.annotationStorage),C(this,Zd,r.filterFactory),C(this,el,o),C(this,ih,a||null),C(this,Gd,l),C(this,Kd,c),C(this,sh,h),C(this,Jd,u||null),this.viewParameters={realScale:la.PDF_TO_CSS_UNITS,rotation:0},this.isShiftKeyDown=!1}static get _keyboardManager(){const e=Dc.prototype,t=o=>f(o,Mr).contains(document.activeElement)&&document.activeElement.tagName!=="BUTTON"&&o.hasSomethingToControl(),s=(o,{target:a})=>{if(a instanceof HTMLInputElement){const{type:l}=a;return l!=="text"&&l!=="number"}return!0},i=this.TRANSLATE_SMALL,r=this.TRANSLATE_BIG;return Ye(this,"_keyboardManager",new bp([[["ctrl+a","mac+meta+a"],e.selectAll,{checker:s}],[["ctrl+z","mac+meta+z"],e.undo,{checker:s}],[["ctrl+y","ctrl+shift+z","mac+meta+shift+z","ctrl+shift+Z","mac+meta+shift+Z"],e.redo,{checker:s}],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete","mac+Delete"],e.delete,{checker:s}],[["Enter","mac+Enter"],e.addNewEditorFromKeyboard,{checker:(o,{target:a})=>!(a instanceof HTMLButtonElement)&&f(o,Mr).contains(a)&&!o.isEnterHandled}],[[" ","mac+ "],e.addNewEditorFromKeyboard,{checker:(o,{target:a})=>!(a instanceof HTMLButtonElement)&&f(o,Mr).contains(document.activeElement)}],[["Escape","mac+Escape"],e.unselectAll],[["ArrowLeft","mac+ArrowLeft"],e.translateSelectedEditors,{args:[-i,0],checker:t}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e.translateSelectedEditors,{args:[-r,0],checker:t}],[["ArrowRight","mac+ArrowRight"],e.translateSelectedEditors,{args:[i,0],checker:t}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e.translateSelectedEditors,{args:[r,0],checker:t}],[["ArrowUp","mac+ArrowUp"],e.translateSelectedEditors,{args:[0,-i],checker:t}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e.translateSelectedEditors,{args:[0,-r],checker:t}],[["ArrowDown","mac+ArrowDown"],e.translateSelectedEditors,{args:[0,i],checker:t}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e.translateSelectedEditors,{args:[0,r],checker:t}]]))}destroy(){var e,t,s,i;(e=f(this,Ks))==null||e.resolve(),C(this,Ks,null),(t=f(this,Qc))==null||t.abort(),C(this,Qc,null),this._signal=null;for(const r of f(this,Rn).values())r.destroy();f(this,Rn).clear(),f(this,ln).clear(),f(this,Ja).clear(),C(this,Rs,null),f(this,dt).clear(),f(this,wi).destroy(),(s=f(this,eh))==null||s.destroy(),(i=f(this,Zi))==null||i.hide(),C(this,Zi,null),f(this,Ki)&&(clearTimeout(f(this,Ki)),C(this,Ki,null)),f(this,Xi)&&(clearTimeout(f(this,Xi)),C(this,Xi,null))}combinedSignal(e){return AbortSignal.any([this._signal,e.signal])}get mlManager(){return f(this,Jd)}get useNewAltTextFlow(){return f(this,Kd)}get useNewAltTextWhenAddingImage(){return f(this,sh)}get hcmFilter(){return Ye(this,"hcmFilter",f(this,el)?f(this,Zd).addHCMFilter(f(this,el).foreground,f(this,el).background):"none")}get direction(){return Ye(this,"direction",getComputedStyle(f(this,Mr)).direction)}get highlightColors(){return Ye(this,"highlightColors",f(this,ih)?new Map(f(this,ih).split(",").map(e=>e.split("=").map(t=>t.trim()))):null)}get highlightColorNames(){return Ye(this,"highlightColorNames",this.highlightColors?new Map(Array.from(this.highlightColors,e=>e.reverse())):null)}setMainHighlightColorPicker(e){C(this,Yd,e)}editAltText(e,t=!1){var s;(s=f(this,eh))==null||s.editAltText(this,e,t)}switchToMode(e,t){this._eventBus.on("annotationeditormodechanged",t,{once:!0,signal:this._signal}),this._eventBus.dispatch("showannotationeditorui",{source:this,mode:e})}setPreference(e,t){this._eventBus.dispatch("setpreference",{source:this,name:e,value:t})}onSetPreference({name:e,value:t}){switch(e){case"enableNewAltTextWhenAddingImage":C(this,sh,t);break}}onPageChanging({pageNumber:e}){C(this,nh,e-1)}focusMainContainer(){f(this,Mr).focus()}findParent(e,t){for(const s of f(this,Rn).values()){const{x:i,y:r,width:o,height:a}=s.div.getBoundingClientRect();if(e>=i&&e<=i+o&&t>=r&&t<=r+a)return s}return null}disableUserSelect(e=!1){f(this,tf).classList.toggle("noUserSelect",e)}addShouldRescale(e){f(this,Ja).add(e)}removeShouldRescale(e){f(this,Ja).delete(e)}onScaleChanging({scale:e}){this.commitOrRemove(),this.viewParameters.realScale=e*la.PDF_TO_CSS_UNITS;for(const t of f(this,Ja))t.onScaleChanging()}onRotationChanging({pagesRotation:e}){this.commitOrRemove(),this.viewParameters.rotation=e}highlightSelection(e=""){const t=document.getSelection();if(!t||t.isCollapsed)return;const{anchorNode:s,anchorOffset:i,focusNode:r,focusOffset:o}=t,a=t.toString(),c=T(this,me,Om).call(this,t).closest(".textLayer"),h=this.getSelectionBoxes(c);if(!h)return;t.empty();const u=T(this,me,rb).call(this,c),d=f(this,_n)===je.NONE,p=()=>{u==null||u.createAndAddNewEditor({x:0,y:0},!1,{methodOfCreation:e,boxes:h,anchorNode:s,anchorOffset:i,focusNode:r,focusOffset:o,text:a}),d&&this.showAllEditors("highlight",!0,!0)};if(d){this.switchToMode(je.HIGHLIGHT,p);return}p()}addToAnnotationStorage(e){!e.isEmpty()&&f(this,Pr)&&!f(this,Pr).has(e.id)&&f(this,Pr).setValue(e.id,e)}blur(){if(this.isShiftKeyDown=!1,f(this,$o)&&(C(this,$o,!1),T(this,me,Nm).call(this,"main_toolbar")),!this.hasSelection)return;const{activeElement:e}=document;for(const t of f(this,dt))if(t.div.contains(e)){C(this,Qa,[t,e]),t._focusEventsAllowed=!1;break}}focus(){if(!f(this,Qa))return;const[e,t]=f(this,Qa);C(this,Qa,null),t.addEventListener("focusin",()=>{e._focusEventsAllowed=!0},{once:!0,signal:this._signal}),t.focus()}addEditListeners(){T(this,me,ob).call(this),T(this,me,ab).call(this)}removeEditListeners(){T(this,me,aP).call(this),T(this,me,lb).call(this)}dragOver(e){for(const{type:t}of e.dataTransfer.items)for(const s of f(this,_i))if(s.isHandlingMimeForPasting(t)){e.dataTransfer.dropEffect="copy",e.preventDefault();return}}drop(e){for(const t of e.dataTransfer.items)for(const s of f(this,_i))if(s.isHandlingMimeForPasting(t.type)){s.paste(t,this.currentLayer),e.preventDefault();return}}copy(e){var s;if(e.preventDefault(),(s=f(this,Rs))==null||s.commitOrRemove(),!this.hasSelection)return;const t=[];for(const i of f(this,dt)){const r=i.serialize(!0);r&&t.push(r)}t.length!==0&&e.clipboardData.setData("application/pdfjs",JSON.stringify(t))}cut(e){this.copy(e),this.delete()}async paste(e){e.preventDefault();const{clipboardData:t}=e;for(const r of t.items)for(const o of f(this,_i))if(o.isHandlingMimeForPasting(r.type)){o.paste(r,this.currentLayer);return}let s=t.getData("application/pdfjs");if(!s)return;try{s=JSON.parse(s)}catch(r){Ue(`paste: "${r.message}".`);return}if(!Array.isArray(s))return;this.unselectAll();const i=this.currentLayer;try{const r=[];for(const l of s){const c=await i.deserialize(l);if(!c)return;r.push(c)}const o=()=>{for(const l of r)T(this,me,cb).call(this,l);T(this,me,hb).call(this,r)},a=()=>{for(const l of r)l.remove()};this.addCommands({cmd:o,undo:a,mustExec:!0})}catch(r){Ue(`paste: "${r.message}".`)}}keydown(e){!this.isShiftKeyDown&&e.key==="Shift"&&(this.isShiftKeyDown=!0),f(this,_n)!==je.NONE&&!this.isEditorHandlingKeyboard&&Dc._keyboardManager.exec(this,e)}keyup(e){this.isShiftKeyDown&&e.key==="Shift"&&(this.isShiftKeyDown=!1,f(this,$o)&&(C(this,$o,!1),T(this,me,Nm).call(this,"main_toolbar")))}onEditingAction({name:e}){switch(e){case"undo":case"redo":case"delete":case"selectAll":this[e]();break;case"highlightSelection":this.highlightSelection("context_menu");break}}setEditingState(e){e?(T(this,me,rP).call(this),T(this,me,ab).call(this),T(this,me,is).call(this,{isEditing:f(this,_n)!==je.NONE,isEmpty:T(this,me,Hu).call(this),hasSomethingToUndo:f(this,wi).hasSomethingToUndo(),hasSomethingToRedo:f(this,wi).hasSomethingToRedo(),hasSelectedEditor:!1})):(T(this,me,oP).call(this),T(this,me,lb).call(this),T(this,me,is).call(this,{isEditing:!1}),this.disableUserSelect(!1))}registerEditorTypes(e){if(!f(this,_i)){C(this,_i,e);for(const t of f(this,_i))T(this,me,go).call(this,t.defaultPropertiesToUpdate)}}getId(){return f(this,ly).id}get currentLayer(){return f(this,Rn).get(f(this,nh))}getLayer(e){return f(this,Rn).get(e)}get currentPageIndex(){return f(this,nh)}addLayer(e){f(this,Rn).set(e.pageIndex,e),f(this,To)?e.enable():e.disable()}removeLayer(e){f(this,Rn).delete(e.pageIndex)}async updateMode(e,t=null,s=!1){if(f(this,_n)!==e&&!(f(this,Ks)&&(await f(this,Ks).promise,!f(this,Ks)))){if(C(this,Ks,Promise.withResolvers()),C(this,_n,e),e===je.NONE){this.setEditingState(!1),T(this,me,hP).call(this),f(this,Ks).resolve();return}this.setEditingState(!0),await T(this,me,cP).call(this),this.unselectAll();for(const i of f(this,Rn).values())i.updateMode(e);if(!t){s&&this.addNewEditorFromKeyboard(),f(this,Ks).resolve();return}for(const i of f(this,ln).values())i.annotationElementId===t?(this.setSelected(i),i.enterInEditMode()):i.unselect();f(this,Ks).resolve()}}addNewEditorFromKeyboard(){this.currentLayer.canCreateNewEmptyEditor()&&this.currentLayer.addNewEditor()}updateToolbar(e){e!==f(this,_n)&&this._eventBus.dispatch("switchannotationeditormode",{source:this,mode:e})}updateParams(e,t){var s;if(f(this,_i)){switch(e){case Me.CREATE:this.currentLayer.addNewEditor();return;case Me.HIGHLIGHT_DEFAULT_COLOR:(s=f(this,Yd))==null||s.updateColor(t);break;case Me.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:{type:"highlight",action:"toggle_visibility"}}}),(f(this,Qd)||C(this,Qd,new Map)).set(e,t),this.showAllEditors("highlight",t);break}for(const i of f(this,dt))i.updateParams(e,t);for(const i of f(this,_i))i.updateDefaultParams(e,t)}}showAllEditors(e,t,s=!1){var r;for(const o of f(this,ln).values())o.editorType===e&&o.show(t);(((r=f(this,Qd))==null?void 0:r.get(Me.HIGHLIGHT_SHOW_ALL))??!0)!==t&&T(this,me,go).call(this,[[Me.HIGHLIGHT_SHOW_ALL,t]])}enableWaiting(e=!1){if(f(this,Xd)!==e){C(this,Xd,e);for(const t of f(this,Rn).values())e?t.disableClick():t.enableClick(),t.div.classList.toggle("waiting",e)}}getEditors(e){const t=[];for(const s of f(this,ln).values())s.pageIndex===e&&t.push(s);return t}getEditor(e){return f(this,ln).get(e)}addEditor(e){f(this,ln).set(e.id,e)}removeEditor(e){var t;e.div.contains(document.activeElement)&&(f(this,Ki)&&clearTimeout(f(this,Ki)),C(this,Ki,setTimeout(()=>{this.focusMainContainer(),C(this,Ki,null)},0))),f(this,ln).delete(e.id),this.unselect(e),(!e.annotationElementId||!f(this,Ya).has(e.annotationElementId))&&((t=f(this,Pr))==null||t.remove(e.id))}addDeletedAnnotationElement(e){f(this,Ya).add(e.annotationElementId),this.addChangedExistingAnnotation(e),e.deleted=!0}isDeletedAnnotationElement(e){return f(this,Ya).has(e)}removeDeletedAnnotationElement(e){f(this,Ya).delete(e.annotationElementId),this.removeChangedExistingAnnotation(e),e.deleted=!1}setActiveEditor(e){f(this,Rs)!==e&&(C(this,Rs,e),e&&T(this,me,go).call(this,e.propertiesToUpdate))}updateUI(e){f(this,me,uP)===e&&T(this,me,go).call(this,e.propertiesToUpdate)}toggleSelected(e){if(f(this,dt).has(e)){f(this,dt).delete(e),e.unselect(),T(this,me,is).call(this,{hasSelectedEditor:this.hasSelection});return}f(this,dt).add(e),e.select(),T(this,me,go).call(this,e.propertiesToUpdate),T(this,me,is).call(this,{hasSelectedEditor:!0})}setSelected(e){for(const t of f(this,dt))t!==e&&t.unselect();f(this,dt).clear(),f(this,dt).add(e),e.select(),T(this,me,go).call(this,e.propertiesToUpdate),T(this,me,is).call(this,{hasSelectedEditor:!0})}isSelected(e){return f(this,dt).has(e)}get firstSelectedEditor(){return f(this,dt).values().next().value}unselect(e){e.unselect(),f(this,dt).delete(e),T(this,me,is).call(this,{hasSelectedEditor:this.hasSelection})}get hasSelection(){return f(this,dt).size!==0}get isEnterHandled(){return f(this,dt).size===1&&this.firstSelectedEditor.isEnterHandled}undo(){f(this,wi).undo(),T(this,me,is).call(this,{hasSomethingToUndo:f(this,wi).hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:T(this,me,Hu).call(this)})}redo(){f(this,wi).redo(),T(this,me,is).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:f(this,wi).hasSomethingToRedo(),isEmpty:T(this,me,Hu).call(this)})}addCommands(e){f(this,wi).add(e),T(this,me,is).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:T(this,me,Hu).call(this)})}delete(){if(this.commitOrRemove(),!this.hasSelection)return;const e=[...f(this,dt)],t=()=>{for(const i of e)i.remove()},s=()=>{for(const i of e)T(this,me,cb).call(this,i)};this.addCommands({cmd:t,undo:s,mustExec:!0})}commitOrRemove(){var e;(e=f(this,Rs))==null||e.commitOrRemove()}hasSomethingToControl(){return f(this,Rs)||this.hasSelection}selectAll(){for(const e of f(this,dt))e.commit();T(this,me,hb).call(this,f(this,ln).values())}unselectAll(){if(!(f(this,Rs)&&(f(this,Rs).commitOrRemove(),f(this,_n)!==je.NONE))&&this.hasSelection){for(const e of f(this,dt))e.unselect();f(this,dt).clear(),T(this,me,is).call(this,{hasSelectedEditor:!1})}}translateSelectedEditors(e,t,s=!1){if(s||this.commitOrRemove(),!this.hasSelection)return;f(this,Ro)[0]+=e,f(this,Ro)[1]+=t;const[i,r]=f(this,Ro),o=[...f(this,dt)],a=1e3;f(this,Xi)&&clearTimeout(f(this,Xi)),C(this,Xi,setTimeout(()=>{C(this,Xi,null),f(this,Ro)[0]=f(this,Ro)[1]=0,this.addCommands({cmd:()=>{for(const l of o)f(this,ln).has(l.id)&&l.translateInPage(i,r)},undo:()=>{for(const l of o)f(this,ln).has(l.id)&&l.translateInPage(-i,-r)},mustExec:!1})},a));for(const l of o)l.translateInPage(e,t)}setUpDragSession(){if(this.hasSelection){this.disableUserSelect(!0),C(this,Gi,new Map);for(const e of f(this,dt))f(this,Gi).set(e,{savedX:e.x,savedY:e.y,savedPageIndex:e.pageIndex,newX:0,newY:0,newPageIndex:-1})}}endDragSession(){if(!f(this,Gi))return!1;this.disableUserSelect(!1);const e=f(this,Gi);C(this,Gi,null);let t=!1;for(const[{x:i,y:r,pageIndex:o},a]of e)a.newX=i,a.newY=r,a.newPageIndex=o,t||(t=i!==a.savedX||r!==a.savedY||o!==a.savedPageIndex);if(!t)return!1;const s=(i,r,o,a)=>{if(f(this,ln).has(i.id)){const l=f(this,Rn).get(a);l?i._setParentAndPosition(l,r,o):(i.pageIndex=a,i.x=r,i.y=o)}};return this.addCommands({cmd:()=>{for(const[i,{newX:r,newY:o,newPageIndex:a}]of e)s(i,r,o,a)},undo:()=>{for(const[i,{savedX:r,savedY:o,savedPageIndex:a}]of e)s(i,r,o,a)},mustExec:!0}),!0}dragSelectedEditors(e,t){if(f(this,Gi))for(const s of f(this,Gi).keys())s.drag(e,t)}rebuild(e){if(e.parent===null){const t=this.getLayer(e.pageIndex);t?(t.changeParent(e),t.addOrRebuild(e)):(this.addEditor(e),this.addToAnnotationStorage(e),e.rebuild())}else e.parent.addOrRebuild(e)}get isEditorHandlingKeyboard(){var e;return((e=this.getActive())==null?void 0:e.shouldGetKeyboardEvents())||f(this,dt).size===1&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(e){return f(this,Rs)===e}getActive(){return f(this,Rs)}getMode(){return f(this,_n)}get imageManager(){return Ye(this,"imageManager",new sb)}getSelectionBoxes(e){if(!e)return null;const t=document.getSelection();for(let c=0,h=t.rangeCount;c({x:(h-i)/o,y:1-(c+u-s)/r,width:d/o,height:u/r});break;case"180":a=(c,h,u,d)=>({x:1-(c+u-s)/r,y:1-(h+d-i)/o,width:u/r,height:d/o});break;case"270":a=(c,h,u,d)=>({x:1-(h+d-i)/o,y:(c-s)/r,width:d/o,height:u/r});break;default:a=(c,h,u,d)=>({x:(c-s)/r,y:(h-i)/o,width:u/r,height:d/o});break}const l=[];for(let c=0,h=t.rangeCount;c{d.type==="pointerup"&&d.button!==0||(c.abort(),l==null||l.toggleDrawing(!0),d.type==="pointerup"&&T(this,me,Nm).call(this,"main_toolbar"))};window.addEventListener("pointerup",u,{signal:h}),window.addEventListener("blur",u,{signal:h})}},Nm=function(e=""){f(this,_n)===je.HIGHLIGHT?this.highlightSelection(e):f(this,Gd)&&T(this,me,nP).call(this)},iP=function(){document.addEventListener("selectionchange",T(this,me,sP).bind(this),{signal:this._signal})},rP=function(){if(f(this,Co))return;C(this,Co,new AbortController);const e=this.combinedSignal(f(this,Co));window.addEventListener("focus",this.focus.bind(this),{signal:e}),window.addEventListener("blur",this.blur.bind(this),{signal:e})},oP=function(){var e;(e=f(this,Co))==null||e.abort(),C(this,Co,null)},ob=function(){if(f(this,Po))return;C(this,Po,new AbortController);const e=this.combinedSignal(f(this,Po));window.addEventListener("keydown",this.keydown.bind(this),{signal:e}),window.addEventListener("keyup",this.keyup.bind(this),{signal:e})},aP=function(){var e;(e=f(this,Po))==null||e.abort(),C(this,Po,null)},ab=function(){if(f(this,Eo))return;C(this,Eo,new AbortController);const e=this.combinedSignal(f(this,Eo));document.addEventListener("copy",this.copy.bind(this),{signal:e}),document.addEventListener("cut",this.cut.bind(this),{signal:e}),document.addEventListener("paste",this.paste.bind(this),{signal:e})},lb=function(){var e;(e=f(this,Eo))==null||e.abort(),C(this,Eo,null)},lP=function(){const e=this._signal;document.addEventListener("dragover",this.dragOver.bind(this),{signal:e}),document.addEventListener("drop",this.drop.bind(this),{signal:e})},is=function(e){Object.entries(e).some(([s,i])=>f(this,ef)[s]!==i)&&(this._eventBus.dispatch("annotationeditorstateschanged",{source:this,details:Object.assign(f(this,ef),e)}),f(this,_n)===je.HIGHLIGHT&&e.hasSelectedEditor===!1&&T(this,me,go).call(this,[[Me.HIGHLIGHT_FREE,!0]]))},go=function(e){this._eventBus.dispatch("annotationeditorparamschanged",{source:this,details:e})},cP=async function(){if(!f(this,To)){C(this,To,!0);const e=[];for(const t of f(this,Rn).values())e.push(t.enable());await Promise.all(e);for(const t of f(this,ln).values())t.enable()}},hP=function(){if(this.unselectAll(),f(this,To)){C(this,To,!1);for(const e of f(this,Rn).values())e.disable();for(const e of f(this,ln).values())e.disable()}},cb=function(e){const t=f(this,Rn).get(e.pageIndex);t?t.addOrRebuild(e):(this.addEditor(e),this.addToAnnotationStorage(e))},uP=function(){let e=null;for(e of f(this,dt));return e},Hu=function(){if(f(this,ln).size===0)return!0;if(f(this,ln).size===1)for(const e of f(this,ln).values())return e.isEmpty();return!1},hb=function(e){for(const t of f(this,dt))t.unselect();f(this,dt).clear();for(const t of e)t.isEmpty()||(f(this,dt).add(t),t.select());T(this,me,is).call(this,{hasSelectedEditor:this.hasSelection})},he(Dc,"TRANSLATE_SMALL",1),he(Dc,"TRANSLATE_BIG",10);let Jl=Dc;var Sn,Yi,Si,rh,Ji,Ms,oh,Qi,gs,Ir,tl,er,Mo,Li,Bu,Lm;const rs=class rs{constructor(e){R(this,Li);R(this,Sn,null);R(this,Yi,!1);R(this,Si,null);R(this,rh,null);R(this,Ji,null);R(this,Ms,null);R(this,oh,!1);R(this,Qi,null);R(this,gs,null);R(this,Ir,null);R(this,tl,null);R(this,er,!1);C(this,gs,e),C(this,er,e._uiManager.useNewAltTextFlow),f(rs,Mo)||C(rs,Mo,Object.freeze({added:"pdfjs-editor-new-alt-text-added-button","added-label":"pdfjs-editor-new-alt-text-added-button-label",missing:"pdfjs-editor-new-alt-text-missing-button","missing-label":"pdfjs-editor-new-alt-text-missing-button-label",review:"pdfjs-editor-new-alt-text-to-review-button","review-label":"pdfjs-editor-new-alt-text-to-review-button-label"}))}static initialize(e){rs._l10n??(rs._l10n=e)}async render(){const e=C(this,Si,document.createElement("button"));e.className="altText",e.tabIndex="0";const t=C(this,rh,document.createElement("span"));e.append(t),f(this,er)?(e.classList.add("new"),e.setAttribute("data-l10n-id",f(rs,Mo).missing),t.setAttribute("data-l10n-id",f(rs,Mo)["missing-label"])):(e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button"),t.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button-label"));const s=f(this,gs)._uiManager._signal;e.addEventListener("contextmenu",li,{signal:s}),e.addEventListener("pointerdown",r=>r.stopPropagation(),{signal:s});const i=r=>{r.preventDefault(),f(this,gs)._uiManager.editAltText(f(this,gs)),f(this,er)&&f(this,gs)._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_clicked",data:{label:f(this,Li,Bu)}})};return e.addEventListener("click",i,{capture:!0,signal:s}),e.addEventListener("keydown",r=>{r.target===e&&r.key==="Enter"&&(C(this,oh,!0),i(r))},{signal:s}),await T(this,Li,Lm).call(this),e}finish(){f(this,Si)&&(f(this,Si).focus({focusVisible:f(this,oh)}),C(this,oh,!1))}isEmpty(){return f(this,er)?f(this,Sn)===null:!f(this,Sn)&&!f(this,Yi)}hasData(){return f(this,er)?f(this,Sn)!==null||!!f(this,Ir):this.isEmpty()}get guessedText(){return f(this,Ir)}async setGuessedText(e){f(this,Sn)===null&&(C(this,Ir,e),C(this,tl,await rs._l10n.get("pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer",{generatedAltText:e})),T(this,Li,Lm).call(this))}toggleAltTextBadge(e=!1){var t;if(!f(this,er)||f(this,Sn)){(t=f(this,Qi))==null||t.remove(),C(this,Qi,null);return}if(!f(this,Qi)){const s=C(this,Qi,document.createElement("div"));s.className="noAltTextBadge",f(this,gs).div.append(s)}f(this,Qi).classList.toggle("hidden",!e)}serialize(e){let t=f(this,Sn);return!e&&f(this,Ir)===t&&(t=f(this,tl)),{altText:t,decorative:f(this,Yi),guessedText:f(this,Ir),textWithDisclaimer:f(this,tl)}}get data(){return{altText:f(this,Sn),decorative:f(this,Yi)}}set data({altText:e,decorative:t,guessedText:s,textWithDisclaimer:i,cancel:r=!1}){s&&(C(this,Ir,s),C(this,tl,i)),!(f(this,Sn)===e&&f(this,Yi)===t)&&(r||(C(this,Sn,e),C(this,Yi,t)),T(this,Li,Lm).call(this))}toggle(e=!1){f(this,Si)&&(!e&&f(this,Ms)&&(clearTimeout(f(this,Ms)),C(this,Ms,null)),f(this,Si).disabled=!e)}shown(){f(this,gs)._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_displayed",data:{label:f(this,Li,Bu)}})}destroy(){var e,t;(e=f(this,Si))==null||e.remove(),C(this,Si,null),C(this,rh,null),C(this,Ji,null),(t=f(this,Qi))==null||t.remove(),C(this,Qi,null)}};Sn=new WeakMap,Yi=new WeakMap,Si=new WeakMap,rh=new WeakMap,Ji=new WeakMap,Ms=new WeakMap,oh=new WeakMap,Qi=new WeakMap,gs=new WeakMap,Ir=new WeakMap,tl=new WeakMap,er=new WeakMap,Mo=new WeakMap,Li=new WeakSet,Bu=function(){return f(this,Sn)&&"added"||f(this,Sn)===null&&this.guessedText&&"review"||"missing"},Lm=async function(){var i,r,o;const e=f(this,Si);if(!e)return;if(f(this,er)){if(e.classList.toggle("done",!!f(this,Sn)),e.setAttribute("data-l10n-id",f(rs,Mo)[f(this,Li,Bu)]),(i=f(this,rh))==null||i.setAttribute("data-l10n-id",f(rs,Mo)[`${f(this,Li,Bu)}-label`]),!f(this,Sn)){(r=f(this,Ji))==null||r.remove();return}}else{if(!f(this,Sn)&&!f(this,Yi)){e.classList.remove("done"),(o=f(this,Ji))==null||o.remove();return}e.classList.add("done"),e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-edit-button")}let t=f(this,Ji);if(!t){C(this,Ji,t=document.createElement("span")),t.className="tooltip",t.setAttribute("role","tooltip"),t.id=`alt-text-tooltip-${f(this,gs).id}`;const a=100,l=f(this,gs)._uiManager._signal;l.addEventListener("abort",()=>{clearTimeout(f(this,Ms)),C(this,Ms,null)},{once:!0}),e.addEventListener("mouseenter",()=>{C(this,Ms,setTimeout(()=>{C(this,Ms,null),f(this,Ji).classList.add("show"),f(this,gs)._reportTelemetry({action:"alt_text_tooltip"})},a))},{signal:l}),e.addEventListener("mouseleave",()=>{var c;f(this,Ms)&&(clearTimeout(f(this,Ms)),C(this,Ms,null)),(c=f(this,Ji))==null||c.classList.remove("show")},{signal:l})}f(this,Yi)?t.setAttribute("data-l10n-id","pdfjs-editor-alt-text-decorative-tooltip"):(t.removeAttribute("data-l10n-id"),t.textContent=f(this,Sn)),t.parentNode||e.append(t);const s=f(this,gs).getImageForAltText();s==null||s.setAttribute("aria-describedby",t.id)},R(rs,Mo,null),he(rs,"_l10n",null);let Ig=rs;var nl,ki,zt,ah,sl,Mn,il,Io,nf,rl,Oo,sf,ol,Or,tr,lh,ch,Zs,rf,cy,Be,ub,of,db,fb,dP,fP,pb,mb,gb,pP,yb,mP,gP,yP,vb,qu;const ht=class ht{constructor(e){R(this,Be);R(this,nl,null);R(this,ki,null);R(this,zt,null);R(this,ah,!1);R(this,sl,!1);R(this,Mn,null);R(this,il,null);R(this,Io,null);R(this,nf,"");R(this,rl,!1);R(this,Oo,null);R(this,sf,!1);R(this,ol,!1);R(this,Or,!1);R(this,tr,null);R(this,lh,0);R(this,ch,0);R(this,Zs,null);he(this,"_editToolbar",null);he(this,"_initialOptions",Object.create(null));he(this,"_initialData",null);he(this,"_isVisible",!0);he(this,"_uiManager",null);he(this,"_focusEventsAllowed",!0);R(this,rf,!1);R(this,cy,ht._zIndex++);this.parent=e.parent,this.id=e.id,this.width=this.height=null,this.pageIndex=e.parent.pageIndex,this.name=e.name,this.div=null,this._uiManager=e.uiManager,this.annotationElementId=null,this._willKeepAspectRatio=!1,this._initialOptions.isCentered=e.isCentered,this._structTreeParentId=null;const{rotation:t,rawDims:{pageWidth:s,pageHeight:i,pageX:r,pageY:o}}=this.parent.viewport;this.rotation=t,this.pageRotation=(360+t-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[s,i],this.pageTranslation=[r,o];const[a,l]=this.parentDimensions;this.x=e.x/a,this.y=e.y/l,this.isAttachedToDOM=!1,this.deleted=!1}static get _resizerKeyboardManager(){const e=ht.prototype._resizeWithKeyboard,t=Jl.TRANSLATE_SMALL,s=Jl.TRANSLATE_BIG;return Ye(this,"_resizerKeyboardManager",new bp([[["ArrowLeft","mac+ArrowLeft"],e,{args:[-t,0]}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e,{args:[-s,0]}],[["ArrowRight","mac+ArrowRight"],e,{args:[t,0]}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e,{args:[s,0]}],[["ArrowUp","mac+ArrowUp"],e,{args:[0,-t]}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e,{args:[0,-s]}],[["ArrowDown","mac+ArrowDown"],e,{args:[0,t]}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e,{args:[0,s]}],[["Escape","mac+Escape"],ht.prototype._stopResizingWithKeyboard]]))}get editorType(){return Object.getPrototypeOf(this).constructor._type}static get _defaultLineColor(){return Ye(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(e){const t=new yK({id:e.parent.getNextId(),parent:e.parent,uiManager:e._uiManager});t.annotationElementId=e.annotationElementId,t.deleted=!0,t._uiManager.addToAnnotationStorage(t)}static initialize(e,t){if(ht._l10n??(ht._l10n=e),ht._l10nResizer||(ht._l10nResizer=Object.freeze({topLeft:"pdfjs-editor-resizer-top-left",topMiddle:"pdfjs-editor-resizer-top-middle",topRight:"pdfjs-editor-resizer-top-right",middleRight:"pdfjs-editor-resizer-middle-right",bottomRight:"pdfjs-editor-resizer-bottom-right",bottomMiddle:"pdfjs-editor-resizer-bottom-middle",bottomLeft:"pdfjs-editor-resizer-bottom-left",middleLeft:"pdfjs-editor-resizer-middle-left"})),ht._borderLineWidth!==-1)return;const s=getComputedStyle(document.documentElement);ht._borderLineWidth=parseFloat(s.getPropertyValue("--outline-width"))||0}static updateDefaultParams(e,t){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(e){return!1}static paste(e,t){Mt("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return f(this,rf)}set _isDraggable(e){var t;C(this,rf,e),(t=this.div)==null||t.classList.toggle("draggable",e)}get isEnterHandled(){return!0}center(){const[e,t]=this.pageDimensions;switch(this.parentRotation){case 90:this.x-=this.height*t/(e*2),this.y+=this.width*e/(t*2);break;case 180:this.x+=this.width/2,this.y+=this.height/2;break;case 270:this.x+=this.height*t/(e*2),this.y-=this.width*e/(t*2);break;default:this.x-=this.width/2,this.y-=this.height/2;break}this.fixAndSetPosition()}addCommands(e){this._uiManager.addCommands(e)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=f(this,cy)}setParent(e){e!==null?(this.pageIndex=e.pageIndex,this.pageDimensions=e.pageDimensions):T(this,Be,qu).call(this),this.parent=e}focusin(e){this._focusEventsAllowed&&(f(this,rl)?C(this,rl,!1):this.parent.setSelected(this))}focusout(e){var s;if(!this._focusEventsAllowed||!this.isAttachedToDOM)return;const t=e.relatedTarget;t!=null&&t.closest(`#${this.id}`)||(e.preventDefault(),(s=this.parent)!=null&&s.isMultipleSelection||this.commitOrRemove())}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}setAt(e,t,s,i){const[r,o]=this.parentDimensions;[s,i]=this.screenToPageTranslation(s,i),this.x=(e+s)/r,this.y=(t+i)/o,this.fixAndSetPosition()}translate(e,t){T(this,Be,ub).call(this,this.parentDimensions,e,t)}translateInPage(e,t){f(this,Oo)||C(this,Oo,[this.x,this.y]),T(this,Be,ub).call(this,this.pageDimensions,e,t),this.div.scrollIntoView({block:"nearest"})}drag(e,t){f(this,Oo)||C(this,Oo,[this.x,this.y]);const[s,i]=this.parentDimensions;if(this.x+=e/s,this.y+=t/i,this.parent&&(this.x<0||this.x>1||this.y<0||this.y>1)){const{x:c,y:h}=this.div.getBoundingClientRect();this.parent.findNewParent(this,c,h)&&(this.x-=Math.floor(this.x),this.y-=Math.floor(this.y))}let{x:r,y:o}=this;const[a,l]=this.getBaseTranslation();r+=a,o+=l,this.div.style.left=`${(100*r).toFixed(2)}%`,this.div.style.top=`${(100*o).toFixed(2)}%`,this.div.scrollIntoView({block:"nearest"})}get _hasBeenMoved(){return!!f(this,Oo)&&(f(this,Oo)[0]!==this.x||f(this,Oo)[1]!==this.y)}getBaseTranslation(){const[e,t]=this.parentDimensions,{_borderLineWidth:s}=ht,i=s/e,r=s/t;switch(this.rotation){case 90:return[-i,r];case 180:return[i,r];case 270:return[i,-r];default:return[-i,-r]}}get _mustFixPosition(){return!0}fixAndSetPosition(e=this.rotation){const[t,s]=this.pageDimensions;let{x:i,y:r,width:o,height:a}=this;if(o*=t,a*=s,i*=t,r*=s,this._mustFixPosition)switch(e){case 0:i=Math.max(0,Math.min(t-o,i)),r=Math.max(0,Math.min(s-a,r));break;case 90:i=Math.max(0,Math.min(t-a,i)),r=Math.min(s,Math.max(o,r));break;case 180:i=Math.min(t,Math.max(o,i)),r=Math.min(s,Math.max(a,r));break;case 270:i=Math.min(t,Math.max(a,i)),r=Math.max(0,Math.min(s-o,r));break}this.x=i/=t,this.y=r/=s;const[l,c]=this.getBaseTranslation();i+=l,r+=c;const{style:h}=this.div;h.left=`${(100*i).toFixed(2)}%`,h.top=`${(100*r).toFixed(2)}%`,this.moveInDOM()}screenToPageTranslation(e,t){var s;return T(s=ht,of,db).call(s,e,t,this.parentRotation)}pageTranslationToScreen(e,t){var s;return T(s=ht,of,db).call(s,e,t,360-this.parentRotation)}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){const{parentScale:e,pageDimensions:[t,s]}=this;return[t*e,s*e]}setDims(e,t){const[s,i]=this.parentDimensions;this.div.style.width=`${(100*e/s).toFixed(2)}%`,f(this,sl)||(this.div.style.height=`${(100*t/i).toFixed(2)}%`)}fixDims(){const{style:e}=this.div,{height:t,width:s}=e,i=s.endsWith("%"),r=!f(this,sl)&&t.endsWith("%");if(i&&r)return;const[o,a]=this.parentDimensions;i||(e.width=`${(100*parseFloat(s)/o).toFixed(2)}%`),!f(this,sl)&&!r&&(e.height=`${(100*parseFloat(t)/a).toFixed(2)}%`)}getInitialTranslation(){return[0,0]}altTextFinish(){var e;(e=f(this,zt))==null||e.finish()}async addEditToolbar(){return this._editToolbar||f(this,ol)?this._editToolbar:(this._editToolbar=new tb(this),this.div.append(this._editToolbar.render()),f(this,zt)&&await this._editToolbar.addAltText(f(this,zt)),this._editToolbar)}removeEditToolbar(){var e;this._editToolbar&&(this._editToolbar.remove(),this._editToolbar=null,(e=f(this,zt))==null||e.destroy())}addContainer(e){var s;const t=(s=this._editToolbar)==null?void 0:s.div;t?t.before(e):this.div.append(e)}getClientDimensions(){return this.div.getBoundingClientRect()}async addAltTextButton(){f(this,zt)||(Ig.initialize(ht._l10n),C(this,zt,new Ig(this)),f(this,nl)&&(f(this,zt).data=f(this,nl),C(this,nl,null)),await this.addEditToolbar())}get altTextData(){var e;return(e=f(this,zt))==null?void 0:e.data}set altTextData(e){f(this,zt)&&(f(this,zt).data=e)}get guessedAltText(){var e;return(e=f(this,zt))==null?void 0:e.guessedText}async setGuessedAltText(e){var t;await((t=f(this,zt))==null?void 0:t.setGuessedText(e))}serializeAltText(e){var t;return(t=f(this,zt))==null?void 0:t.serialize(e)}hasAltText(){return!!f(this,zt)&&!f(this,zt).isEmpty()}hasAltTextData(){var e;return((e=f(this,zt))==null?void 0:e.hasData())??!1}render(){this.div=document.createElement("div"),this.div.setAttribute("data-editor-rotation",(360-this.rotation)%360),this.div.className=this.name,this.div.setAttribute("id",this.id),this.div.tabIndex=f(this,ah)?-1:0,this._isVisible||this.div.classList.add("hidden"),this.setInForeground(),T(this,Be,yb).call(this);const[e,t]=this.parentDimensions;this.parentRotation%180!==0&&(this.div.style.maxWidth=`${(100*t/e).toFixed(2)}%`,this.div.style.maxHeight=`${(100*e/t).toFixed(2)}%`);const[s,i]=this.getInitialTranslation();return this.translate(s,i),Mg(this,this.div,["pointerdown"]),this.div}pointerdown(e){const{isMac:t}=cs.platform;if(e.button!==0||e.ctrlKey&&t){e.preventDefault();return}if(C(this,rl,!0),this._isDraggable){T(this,Be,pP).call(this,e);return}T(this,Be,gb).call(this,e)}get isSelected(){return this._uiManager.isSelected(this)}moveInDOM(){f(this,tr)&&clearTimeout(f(this,tr)),C(this,tr,setTimeout(()=>{var e;C(this,tr,null),(e=this.parent)==null||e.moveEditorInDOM(this)},0))}_setParentAndPosition(e,t,s){e.changeParent(this),this.x=t,this.y=s,this.fixAndSetPosition()}getRect(e,t,s=this.rotation){const i=this.parentScale,[r,o]=this.pageDimensions,[a,l]=this.pageTranslation,c=e/i,h=t/i,u=this.x*r,d=this.y*o,p=this.width*r,m=this.height*o;switch(s){case 0:return[u+c+a,o-d-h-m+l,u+c+p+a,o-d-h+l];case 90:return[u+h+a,o-d+c+l,u+h+m+a,o-d+c+p+l];case 180:return[u-c-p+a,o-d+h+l,u-c+a,o-d+h+m+l];case 270:return[u-h-m+a,o-d-c-p+l,u-h+a,o-d-c+l];default:throw new Error("Invalid rotation")}}getRectInCurrentCoords(e,t){const[s,i,r,o]=e,a=r-s,l=o-i;switch(this.rotation){case 0:return[s,t-o,a,l];case 90:return[s,t-i,l,a];case 180:return[r,t-i,a,l];case 270:return[r,t-o,l,a];default:throw new Error("Invalid rotation")}}onceAdded(){}isEmpty(){return!1}enableEditMode(){C(this,ol,!0)}disableEditMode(){C(this,ol,!1)}isInEditMode(){return f(this,ol)}shouldGetKeyboardEvents(){return f(this,Or)}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}rebuild(){T(this,Be,yb).call(this)}rotate(e){}serializeDeleted(){var e;return{id:this.annotationElementId,deleted:!0,pageIndex:this.pageIndex,popupRef:((e=this._initialData)==null?void 0:e.popupRef)||""}}serialize(e=!1,t=null){Mt("An editor must be serializable")}static async deserialize(e,t,s){const i=new this.prototype.constructor({parent:t,id:t.getNextId(),uiManager:s});i.rotation=e.rotation,C(i,nl,e.accessibilityData);const[r,o]=i.pageDimensions,[a,l,c,h]=i.getRectInCurrentCoords(e.rect,o);return i.x=a/r,i.y=l/o,i.width=c/r,i.height=h/o,i}get hasBeenModified(){return!!this.annotationElementId&&(this.deleted||this.serialize()!==null)}remove(){var e;if((e=f(this,Io))==null||e.abort(),C(this,Io,null),this.isEmpty()||this.commit(),this.parent?this.parent.remove(this):this._uiManager.removeEditor(this),f(this,tr)&&(clearTimeout(f(this,tr)),C(this,tr,null)),T(this,Be,qu).call(this),this.removeEditToolbar(),f(this,Zs)){for(const t of f(this,Zs).values())clearTimeout(t);C(this,Zs,null)}this.parent=null}get isResizable(){return!1}makeResizable(){this.isResizable&&(T(this,Be,dP).call(this),f(this,Mn).classList.remove("hidden"),Mg(this,this.div,["keydown"]))}get toolbarPosition(){return null}keydown(e){if(!this.isResizable||e.target!==this.div||e.key!=="Enter")return;this._uiManager.setSelected(this),C(this,il,{savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height});const t=f(this,Mn).children;if(!f(this,ki)){C(this,ki,Array.from(t));const o=T(this,Be,mP).bind(this),a=T(this,Be,gP).bind(this),l=this._uiManager._signal;for(const c of f(this,ki)){const h=c.getAttribute("data-resizer-name");c.setAttribute("role","spinbutton"),c.addEventListener("keydown",o,{signal:l}),c.addEventListener("blur",a,{signal:l}),c.addEventListener("focus",T(this,Be,yP).bind(this,h),{signal:l}),c.setAttribute("data-l10n-id",ht._l10nResizer[h])}}const s=f(this,ki)[0];let i=0;for(const o of t){if(o===s)break;i++}const r=(360-this.rotation+this.parentRotation)%360/90*(f(this,ki).length/4);if(r!==i){if(ri)for(let a=0;a{var i,r;(i=this.div)!=null&&i.classList.contains("selectedEditor")&&((r=this._editToolbar)==null||r.show())});return}(t=this._editToolbar)==null||t.show(),(s=f(this,zt))==null||s.toggleAltTextBadge(!1)}unselect(){var e,t,s,i,r;(e=f(this,Mn))==null||e.classList.add("hidden"),(t=this.div)==null||t.classList.remove("selectedEditor"),(s=this.div)!=null&&s.contains(document.activeElement)&&this._uiManager.currentLayer.div.focus({preventScroll:!0}),(i=this._editToolbar)==null||i.hide(),(r=f(this,zt))==null||r.toggleAltTextBadge(!0)}updateParams(e,t){}disableEditing(){}enableEditing(){}enterInEditMode(){}getImageForAltText(){return null}get contentDiv(){return this.div}get isEditing(){return f(this,sf)}set isEditing(e){C(this,sf,e),this.parent&&(e?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null))}setAspectRatio(e,t){C(this,sl,!0);const s=e/t,{style:i}=this.div;i.aspectRatio=s,i.height="auto"}static get MIN_SIZE(){return 16}static canCreateNewEmptyEditor(){return!0}get telemetryInitialData(){return{action:"added"}}get telemetryFinalData(){return null}_reportTelemetry(e,t=!1){if(t){f(this,Zs)||C(this,Zs,new Map);const{action:s}=e;let i=f(this,Zs).get(s);i&&clearTimeout(i),i=setTimeout(()=>{this._reportTelemetry(e),f(this,Zs).delete(s),f(this,Zs).size===0&&C(this,Zs,null)},ht._telemetryTimeout),f(this,Zs).set(s,i);return}e.type||(e.type=this.editorType),this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:e}})}show(e=this._isVisible){this.div.classList.toggle("hidden",!e),this._isVisible=e}enable(){this.div&&(this.div.tabIndex=0),C(this,ah,!1)}disable(){this.div&&(this.div.tabIndex=-1),C(this,ah,!0)}renderAnnotationElement(e){let t=e.container.querySelector(".annotationContent");if(!t)t=document.createElement("div"),t.classList.add("annotationContent",this.editorType),e.container.prepend(t);else if(t.nodeName==="CANVAS"){const s=t;t=document.createElement("div"),t.classList.add("annotationContent",this.editorType),s.before(t)}return t}resetAnnotationElement(e){const{firstChild:t}=e.container;(t==null?void 0:t.nodeName)==="DIV"&&t.classList.contains("annotationContent")&&t.remove()}};nl=new WeakMap,ki=new WeakMap,zt=new WeakMap,ah=new WeakMap,sl=new WeakMap,Mn=new WeakMap,il=new WeakMap,Io=new WeakMap,nf=new WeakMap,rl=new WeakMap,Oo=new WeakMap,sf=new WeakMap,ol=new WeakMap,Or=new WeakMap,tr=new WeakMap,lh=new WeakMap,ch=new WeakMap,Zs=new WeakMap,rf=new WeakMap,cy=new WeakMap,Be=new WeakSet,ub=function([e,t],s,i){[s,i]=this.screenToPageTranslation(s,i),this.x+=s/e,this.y+=i/t,this.fixAndSetPosition()},of=new WeakSet,db=function(e,t,s){switch(s){case 90:return[t,-e];case 180:return[-e,-t];case 270:return[-t,e];default:return[e,t]}},fb=function(e){switch(e){case 90:{const[t,s]=this.pageDimensions;return[0,-t/s,s/t,0]}case 180:return[-1,0,0,-1];case 270:{const[t,s]=this.pageDimensions;return[0,t/s,-s/t,0]}default:return[1,0,0,1]}},dP=function(){if(f(this,Mn))return;C(this,Mn,document.createElement("div")),f(this,Mn).classList.add("resizers");const e=this._willKeepAspectRatio?["topLeft","topRight","bottomRight","bottomLeft"]:["topLeft","topMiddle","topRight","middleRight","bottomRight","bottomMiddle","bottomLeft","middleLeft"],t=this._uiManager._signal;for(const s of e){const i=document.createElement("div");f(this,Mn).append(i),i.classList.add("resizer",s),i.setAttribute("data-resizer-name",s),i.addEventListener("pointerdown",T(this,Be,fP).bind(this,s),{signal:t}),i.addEventListener("contextmenu",li,{signal:t}),i.tabIndex=-1}this.div.prepend(f(this,Mn))},fP=function(e,t){var m;t.preventDefault();const{isMac:s}=cs.platform;if(t.button!==0||t.ctrlKey&&s)return;(m=f(this,zt))==null||m.toggle(!1);const i=this._isDraggable;this._isDraggable=!1;const r=new AbortController,o=this._uiManager.combinedSignal(r);this.parent.togglePointerEvents(!1),window.addEventListener("pointermove",T(this,Be,mb).bind(this,e),{passive:!0,capture:!0,signal:o}),window.addEventListener("contextmenu",li,{signal:o});const a=this.x,l=this.y,c=this.width,h=this.height,u=this.parent.div.style.cursor,d=this.div.style.cursor;this.div.style.cursor=this.parent.div.style.cursor=window.getComputedStyle(t.target).cursor;const p=()=>{var g;r.abort(),this.parent.togglePointerEvents(!0),(g=f(this,zt))==null||g.toggle(!0),this._isDraggable=i,this.parent.div.style.cursor=u,this.div.style.cursor=d,T(this,Be,pb).call(this,a,l,c,h)};window.addEventListener("pointerup",p,{signal:o}),window.addEventListener("blur",p,{signal:o})},pb=function(e,t,s,i){const r=this.x,o=this.y,a=this.width,l=this.height;r===e&&o===t&&a===s&&l===i||this.addCommands({cmd:()=>{this.width=a,this.height=l,this.x=r,this.y=o;const[c,h]=this.parentDimensions;this.setDims(c*a,h*l),this.fixAndSetPosition()},undo:()=>{this.width=s,this.height=i,this.x=e,this.y=t;const[c,h]=this.parentDimensions;this.setDims(c*s,h*i),this.fixAndSetPosition()},mustExec:!0})},mb=function(e,t){const[s,i]=this.parentDimensions,r=this.x,o=this.y,a=this.width,l=this.height,c=ht.MIN_SIZE/s,h=ht.MIN_SIZE/i,u=ee=>Math.round(ee*1e4)/1e4,d=T(this,Be,fb).call(this,this.rotation),p=(ee,ae)=>[d[0]*ee+d[2]*ae,d[1]*ee+d[3]*ae],m=T(this,Be,fb).call(this,360-this.rotation),g=(ee,ae)=>[m[0]*ee+m[2]*ae,m[1]*ee+m[3]*ae];let v,y,b=!1,_=!1;switch(e){case"topLeft":b=!0,v=(ee,ae)=>[0,0],y=(ee,ae)=>[ee,ae];break;case"topMiddle":v=(ee,ae)=>[ee/2,0],y=(ee,ae)=>[ee/2,ae];break;case"topRight":b=!0,v=(ee,ae)=>[ee,0],y=(ee,ae)=>[0,ae];break;case"middleRight":_=!0,v=(ee,ae)=>[ee,ae/2],y=(ee,ae)=>[0,ae/2];break;case"bottomRight":b=!0,v=(ee,ae)=>[ee,ae],y=(ee,ae)=>[0,0];break;case"bottomMiddle":v=(ee,ae)=>[ee/2,ae],y=(ee,ae)=>[ee/2,0];break;case"bottomLeft":b=!0,v=(ee,ae)=>[0,ae],y=(ee,ae)=>[ee,0];break;case"middleLeft":_=!0,v=(ee,ae)=>[0,ae/2],y=(ee,ae)=>[ee,ae/2];break}const S=v(a,l),A=y(a,l);let E=p(...A);const $=u(r+E[0]),O=u(o+E[1]);let F=1,q=1,[N,z]=this.screenToPageTranslation(t.movementX,t.movementY);if([N,z]=g(N/s,z/i),b){const ee=Math.hypot(a,l);F=q=Math.max(Math.min(Math.hypot(A[0]-S[0]-N,A[1]-S[1]-z)/ee,1/a,1/l),c/a,h/l)}else _?F=Math.max(c,Math.min(1,Math.abs(A[0]-S[0]-N)))/a:q=Math.max(h,Math.min(1,Math.abs(A[1]-S[1]-z)))/l;const G=u(a*F),L=u(l*q);E=p(...y(G,L));const J=$-E[0],Q=O-E[1];this.width=G,this.height=L,this.x=J,this.y=Q,this.setDims(s*G,i*L),this.fixAndSetPosition()},gb=function(e){const{isMac:t}=cs.platform;e.ctrlKey&&!t||e.shiftKey||e.metaKey&&t?this.parent.toggleSelected(this):this.parent.setSelected(this)},pP=function(e){const{isSelected:t}=this;this._uiManager.setUpDragSession();const s=new AbortController,i=this._uiManager.combinedSignal(s);if(t){this.div.classList.add("moving"),C(this,lh,e.clientX),C(this,ch,e.clientY);const o=a=>{const{clientX:l,clientY:c}=a,[h,u]=this.screenToPageTranslation(l-f(this,lh),c-f(this,ch));C(this,lh,l),C(this,ch,c),this._uiManager.dragSelectedEditors(h,u)};window.addEventListener("pointermove",o,{passive:!0,capture:!0,signal:i})}const r=()=>{s.abort(),t&&this.div.classList.remove("moving"),C(this,rl,!1),this._uiManager.endDragSession()||T(this,Be,gb).call(this,e)};window.addEventListener("pointerup",r,{signal:i}),window.addEventListener("blur",r,{signal:i})},yb=function(){if(f(this,Io)||!this.div)return;C(this,Io,new AbortController);const e=this._uiManager.combinedSignal(f(this,Io));this.div.addEventListener("focusin",this.focusin.bind(this),{signal:e}),this.div.addEventListener("focusout",this.focusout.bind(this),{signal:e})},mP=function(e){ht._resizerKeyboardManager.exec(this,e)},gP=function(e){var t;f(this,Or)&&((t=e.relatedTarget)==null?void 0:t.parentNode)!==f(this,Mn)&&T(this,Be,qu).call(this)},yP=function(e){C(this,nf,f(this,Or)?e:"")},vb=function(e){if(f(this,ki))for(const t of f(this,ki))t.tabIndex=e},qu=function(){if(C(this,Or,!1),T(this,Be,vb).call(this,-1),f(this,il)){const{savedX:e,savedY:t,savedWidth:s,savedHeight:i}=f(this,il);T(this,Be,pb).call(this,e,t,s,i),C(this,il,null)}},R(ht,of),he(ht,"_l10n",null),he(ht,"_l10nResizer",null),he(ht,"_borderLineWidth",-1),he(ht,"_colorManager",new ib),he(ht,"_zIndex",1),he(ht,"_telemetryTimeout",1e3);let pt=ht;class yK extends pt{constructor(e){super(e),this.annotationElementId=e.annotationElementId,this.deleted=!0}serialize(){return this.serializeDeleted()}}const XA=3285377520,Gs=4294901760,Bi=65535;class vP{constructor(e){this.h1=e?e&4294967295:XA,this.h2=e?e&4294967295:XA}update(e){let t,s;if(typeof e=="string"){t=new Uint8Array(e.length*2),s=0;for(let g=0,v=e.length;g>>8,t[s++]=y&255)}}else if(ArrayBuffer.isView(e))t=e.slice(),s=t.byteLength;else throw new Error("Invalid data format, must be a string or TypedArray.");const i=s>>2,r=s-i*4,o=new Uint32Array(t.buffer,0,i);let a=0,l=0,c=this.h1,h=this.h2;const u=3432918353,d=461845907,p=u&Bi,m=d&Bi;for(let g=0;g>>17,a=a*d&Gs|a*m&Bi,c^=a,c=c<<13|c>>>19,c=c*5+3864292196):(l=o[g],l=l*u&Gs|l*p&Bi,l=l<<15|l>>>17,l=l*d&Gs|l*m&Bi,h^=l,h=h<<13|h>>>19,h=h*5+3864292196);switch(a=0,r){case 3:a^=t[i*4+2]<<16;case 2:a^=t[i*4+1]<<8;case 1:a^=t[i*4],a=a*u&Gs|a*p&Bi,a=a<<15|a>>>17,a=a*d&Gs|a*m&Bi,i&1?c^=a:h^=a}this.h1=c,this.h2=h}hexdigest(){let e=this.h1,t=this.h2;return e^=t>>>1,e=e*3981806797&Gs|e*36045&Bi,t=t*4283543511&Gs|((t<<16|e>>>16)*2950163797&Gs)>>>16,e^=t>>>1,e=e*444984403&Gs|e*60499&Bi,t=t*3301882366&Gs|((t<<16|e>>>16)*3120437893&Gs)>>>16,e^=t>>>1,(e>>>0).toString(16).padStart(8,"0")+(t>>>0).toString(16).padStart(8,"0")}}const bb=Object.freeze({map:null,hash:"",transfer:void 0});var al,ll,kn,hy,bP;class R1{constructor(){R(this,hy);R(this,al,!1);R(this,ll,null);R(this,kn,new Map);this.onSetModified=null,this.onResetModified=null,this.onAnnotationEditor=null}getValue(e,t){const s=f(this,kn).get(e);return s===void 0?t:Object.assign(t,s)}getRawValue(e){return f(this,kn).get(e)}remove(e){if(f(this,kn).delete(e),f(this,kn).size===0&&this.resetModified(),typeof this.onAnnotationEditor=="function"){for(const t of f(this,kn).values())if(t instanceof pt)return;this.onAnnotationEditor(null)}}setValue(e,t){const s=f(this,kn).get(e);let i=!1;if(s!==void 0)for(const[r,o]of Object.entries(t))s[r]!==o&&(i=!0,s[r]=o);else i=!0,f(this,kn).set(e,t);i&&T(this,hy,bP).call(this),t instanceof pt&&typeof this.onAnnotationEditor=="function"&&this.onAnnotationEditor(t.constructor._type)}has(e){return f(this,kn).has(e)}getAll(){return f(this,kn).size>0?x1(f(this,kn)):null}setAll(e){for(const[t,s]of Object.entries(e))this.setValue(t,s)}get size(){return f(this,kn).size}resetModified(){f(this,al)&&(C(this,al,!1),typeof this.onResetModified=="function"&&this.onResetModified())}get print(){return new wP(this)}get serializable(){if(f(this,kn).size===0)return bb;const e=new Map,t=new vP,s=[],i=Object.create(null);let r=!1;for(const[o,a]of f(this,kn)){const l=a instanceof pt?a.serialize(!1,i):a;l&&(e.set(o,l),t.update(`${o}:${JSON.stringify(l)}`),r||(r=!!l.bitmap))}if(r)for(const o of e.values())o.bitmap&&s.push(o.bitmap);return e.size>0?{map:e,hash:t.hexdigest(),transfer:s}:bb}get editorStats(){let e=null;const t=new Map;for(const s of f(this,kn).values()){if(!(s instanceof pt))continue;const i=s.telemetryFinalData;if(!i)continue;const{type:r}=i;t.has(r)||t.set(r,Object.getPrototypeOf(s).constructor),e||(e=Object.create(null));const o=e[r]||(e[r]=new Map);for(const[a,l]of Object.entries(i)){if(a==="type")continue;let c=o.get(a);c||(c=new Map,o.set(a,c));const h=c.get(l)??0;c.set(l,h+1)}}for(const[s,i]of t)e[s]=i.computeTelemetryFinalData(e[s]);return e}resetModifiedIds(){C(this,ll,null)}get modifiedIds(){if(f(this,ll))return f(this,ll);const e=[];for(const t of f(this,kn).values())!(t instanceof pt)||!t.annotationElementId||!t.serialize()||e.push(t.annotationElementId);return C(this,ll,{ids:new Set(e),hash:e.join(",")})}}al=new WeakMap,ll=new WeakMap,kn=new WeakMap,hy=new WeakSet,bP=function(){f(this,al)||(C(this,al,!0),typeof this.onSetModified=="function"&&this.onSetModified())};var af;class wP extends R1{constructor(t){super();R(this,af);const{map:s,hash:i,transfer:r}=t.serializable,o=structuredClone(s,r?{transfer:r}:null);C(this,af,{map:o,hash:i,transfer:r})}get print(){Mt("Should not call PrintAnnotationStorage.print")}get serializable(){return f(this,af)}get modifiedIds(){return Ye(this,"modifiedIds",{ids:new Set,hash:""})}}af=new WeakMap;var hh;class vK{constructor({ownerDocument:e=globalThis.document,styleElement:t=null}){R(this,hh,new Set);this._document=e,this.nativeFontFaces=new Set,this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(e){this.nativeFontFaces.add(e),this._document.fonts.add(e)}removeNativeFontFace(e){this.nativeFontFaces.delete(e),this._document.fonts.delete(e)}insertRule(e){this.styleElement||(this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement));const t=this.styleElement.sheet;t.insertRule(e,t.cssRules.length)}clear(){for(const e of this.nativeFontFaces)this._document.fonts.delete(e);this.nativeFontFaces.clear(),f(this,hh).clear(),this.styleElement&&(this.styleElement.remove(),this.styleElement=null)}async loadSystemFont({systemFontInfo:e,_inspectFont:t}){if(!(!e||f(this,hh).has(e.loadedName))){if(pn(!this.disableFontFace,"loadSystemFont shouldn't be called when `disableFontFace` is set."),this.isFontLoadingAPISupported){const{loadedName:s,src:i,style:r}=e,o=new FontFace(s,i,r);this.addNativeFontFace(o);try{await o.load(),f(this,hh).add(s),t==null||t(e)}catch{Ue(`Cannot load system font: ${e.baseFontName}, installing it could help to improve PDF rendering.`),this.removeNativeFontFace(o)}return}Mt("Not implemented: loadSystemFont without the Font Loading API.")}}async bind(e){if(e.attached||e.missingFile&&!e.systemFontInfo)return;if(e.attached=!0,e.systemFontInfo){await this.loadSystemFont(e);return}if(this.isFontLoadingAPISupported){const s=e.createNativeFontFace();if(s){this.addNativeFontFace(s);try{await s.loaded}catch(i){throw Ue(`Failed to load font '${s.family}': '${i}'.`),e.disableFontFace=!0,i}}return}const t=e.createFontFaceRule();if(t){if(this.insertRule(t),this.isSyncFontLoadingSupported)return;await new Promise(s=>{const i=this._queueLoadingCallback(s);this._prepareFontLoadEvent(e,i)})}}get isFontLoadingAPISupported(){var t;const e=!!((t=this._document)!=null&&t.fonts);return Ye(this,"isFontLoadingAPISupported",e)}get isSyncFontLoadingSupported(){let e=!1;return(ts||typeof navigator<"u"&&typeof(navigator==null?void 0:navigator.userAgent)=="string"&&/Mozilla\/5.0.*?rv:\d+.*? Gecko/.test(navigator.userAgent))&&(e=!0),Ye(this,"isSyncFontLoadingSupported",e)}_queueLoadingCallback(e){function t(){for(pn(!i.done,"completeRequest() cannot be called twice."),i.done=!0;s.length>0&&s[0].done;){const r=s.shift();setTimeout(r.callback,0)}}const{loadingRequests:s}=this,i={done:!1,complete:t,callback:e};return s.push(i),i}get _loadTestFont(){const e=atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");return Ye(this,"_loadTestFont",e)}_prepareFontLoadEvent(e,t){function s(S,A){return S.charCodeAt(A)<<24|S.charCodeAt(A+1)<<16|S.charCodeAt(A+2)<<8|S.charCodeAt(A+3)&255}function i(S,A,E,$){const O=S.substring(0,A),F=S.substring(A+E);return O+$+F}let r,o;const a=this._document.createElement("canvas");a.width=1,a.height=1;const l=a.getContext("2d");let c=0;function h(S,A){if(++c>30){Ue("Load test font never loaded."),A();return}if(l.font="30px "+S,l.fillText(".",0,20),l.getImageData(0,0,1,1).data[3]>0){A();return}setTimeout(h.bind(null,S,A))}const u=`lt${Date.now()}${this.loadTestFontId++}`;let d=this._loadTestFont;d=i(d,976,u.length,u);const m=16,g=1482184792;let v=s(d,m);for(r=0,o=u.length-3;r{_.remove(),t.complete()})}}hh=new WeakMap;class bK{constructor(e,{disableFontFace:t=!1,inspectFont:s=null}){this.compiledGlyphs=Object.create(null);for(const i in e)this[i]=e[i];this.disableFontFace=t===!0,this._inspectFont=s}createNativeFontFace(){var t;if(!this.data||this.disableFontFace)return null;let e;if(!this.cssFontInfo)e=new FontFace(this.loadedName,this.data,{});else{const s={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(s.style=`oblique ${this.cssFontInfo.italicAngle}deg`),e=new FontFace(this.cssFontInfo.fontFamily,this.data,s)}return(t=this._inspectFont)==null||t.call(this,this),e}createFontFaceRule(){var s;if(!this.data||this.disableFontFace)return null;const e=`url(data:${this.mimetype};base64,${lK(this.data)});`;let t;if(!this.cssFontInfo)t=`@font-face {font-family:"${this.loadedName}";src:${e}}`;else{let i=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(i+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`),t=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${i}src:${e}}`}return(s=this._inspectFont)==null||s.call(this,this,e),t}getPathGenerator(e,t){if(this.compiledGlyphs[t]!==void 0)return this.compiledGlyphs[t];let s;try{s=e.get(this.loadedName+"_path_"+t)}catch(r){Ue(`getPathGenerator - ignoring character: "${r}".`)}if(!Array.isArray(s)||s.length===0)return this.compiledGlyphs[t]=function(r,o){};const i=[];for(let r=0,o=s.length;rp.bezierCurveTo(a,l,c,h,u,d)),r+=6}break;case xr.MOVE_TO:{const[a,l]=s.slice(r,r+2);i.push(c=>c.moveTo(a,l)),r+=2}break;case xr.LINE_TO:{const[a,l]=s.slice(r,r+2);i.push(c=>c.lineTo(a,l)),r+=2}break;case xr.QUADRATIC_CURVE_TO:{const[a,l,c,h]=s.slice(r,r+4);i.push(u=>u.quadraticCurveTo(a,l,c,h)),r+=4}break;case xr.RESTORE:i.push(a=>a.restore());break;case xr.SAVE:i.push(a=>a.save());break;case xr.SCALE:pn(i.length===2,"Scale command is only valid at the third position.");break;case xr.TRANSFORM:{const[a,l,c,h,u,d]=s.slice(r,r+6);i.push(p=>p.transform(a,l,c,h,u,d)),r+=6}break;case xr.TRANSLATE:{const[a,l]=s.slice(r,r+2);i.push(c=>c.translate(a,l)),r+=2}break}return this.compiledGlyphs[t]=function(o,a){i[0](o),i[1](o),o.scale(a,-a);for(let l=2,c=i.length;l({cMapData:s,isCompressed:this.isCompressed})).catch(s=>{throw new Error(`Unable to load ${this.isCompressed?"binary ":""}CMap at: ${t}`)})}async _fetch(e){Mt("Abstract method `_fetch` called.")}}class kP extends SP{async _fetch(e){const t=await Yy(e,this.isCompressed?"arraybuffer":"text");return t instanceof ArrayBuffer?new Uint8Array(t):Xy(t)}}class AP{addFilter(e){return"none"}addHCMFilter(e,t){return"none"}addAlphaFilter(e){return"none"}addLuminosityFilter(e){return"none"}addHighlightHCMFilter(e,t,s,i,r){return"none"}destroy(e=!1){}}var cl,hl,nr,Nr,Xn,uy,ul,we,Kn,_c,Sc,Dm,kc,xP,wb,Ac,Uu,Vu,_b,Wu;class _K extends AP{constructor({docId:t,ownerDocument:s=globalThis.document}){super();R(this,we);R(this,cl);R(this,hl);R(this,nr);R(this,Nr);R(this,Xn);R(this,uy);R(this,ul,0);C(this,Nr,t),C(this,Xn,s)}addFilter(t){if(!t)return"none";let s=f(this,we,Kn).get(t);if(s)return s;const[i,r,o]=T(this,we,Dm).call(this,t),a=t.length===1?i:`${i}${r}${o}`;if(s=f(this,we,Kn).get(a),s)return f(this,we,Kn).set(t,s),s;const l=`g_${f(this,Nr)}_transfer_map_${ss(this,ul)._++}`,c=T(this,we,kc).call(this,l);f(this,we,Kn).set(t,c),f(this,we,Kn).set(a,c);const h=T(this,we,Ac).call(this,l);return T(this,we,Vu).call(this,i,r,o,h),c}addHCMFilter(t,s){var m;const i=`${t}-${s}`,r="base";let o=f(this,we,_c).get(r);if((o==null?void 0:o.key)===i||(o?((m=o.filter)==null||m.remove(),o.key=i,o.url="none",o.filter=null):(o={key:i,url:"none",filter:null},f(this,we,_c).set(r,o)),!t||!s))return o.url;const a=T(this,we,Wu).call(this,t);t=Ce.makeHexColor(...a);const l=T(this,we,Wu).call(this,s);if(s=Ce.makeHexColor(...l),f(this,we,Sc).style.color="",t==="#000000"&&s==="#ffffff"||t===s)return o.url;const c=new Array(256);for(let g=0;g<=255;g++){const v=g/255;c[g]=v<=.03928?v/12.92:((v+.055)/1.055)**2.4}const h=c.join(","),u=`g_${f(this,Nr)}_hcm_filter`,d=o.filter=T(this,we,Ac).call(this,u);T(this,we,Vu).call(this,h,h,h,d),T(this,we,wb).call(this,d);const p=(g,v)=>{const y=a[g]/255,b=l[g]/255,_=new Array(v+1);for(let S=0;S<=v;S++)_[S]=y+S/v*(b-y);return _.join(",")};return T(this,we,Vu).call(this,p(0,5),p(1,5),p(2,5),d),o.url=T(this,we,kc).call(this,u),o.url}addAlphaFilter(t){let s=f(this,we,Kn).get(t);if(s)return s;const[i]=T(this,we,Dm).call(this,[t]),r=`alpha_${i}`;if(s=f(this,we,Kn).get(r),s)return f(this,we,Kn).set(t,s),s;const o=`g_${f(this,Nr)}_alpha_map_${ss(this,ul)._++}`,a=T(this,we,kc).call(this,o);f(this,we,Kn).set(t,a),f(this,we,Kn).set(r,a);const l=T(this,we,Ac).call(this,o);return T(this,we,_b).call(this,i,l),a}addLuminosityFilter(t){let s=f(this,we,Kn).get(t||"luminosity");if(s)return s;let i,r;if(t?([i]=T(this,we,Dm).call(this,[t]),r=`luminosity_${i}`):r="luminosity",s=f(this,we,Kn).get(r),s)return f(this,we,Kn).set(t,s),s;const o=`g_${f(this,Nr)}_luminosity_map_${ss(this,ul)._++}`,a=T(this,we,kc).call(this,o);f(this,we,Kn).set(t,a),f(this,we,Kn).set(r,a);const l=T(this,we,Ac).call(this,o);return T(this,we,xP).call(this,l),t&&T(this,we,_b).call(this,i,l),a}addHighlightHCMFilter(t,s,i,r,o){var b;const a=`${s}-${i}-${r}-${o}`;let l=f(this,we,_c).get(t);if((l==null?void 0:l.key)===a||(l?((b=l.filter)==null||b.remove(),l.key=a,l.url="none",l.filter=null):(l={key:a,url:"none",filter:null},f(this,we,_c).set(t,l)),!s||!i))return l.url;const[c,h]=[s,i].map(T(this,we,Wu).bind(this));let u=Math.round(.2126*c[0]+.7152*c[1]+.0722*c[2]),d=Math.round(.2126*h[0]+.7152*h[1]+.0722*h[2]),[p,m]=[r,o].map(T(this,we,Wu).bind(this));d{const E=new Array(256),$=(d-u)/A,O=_/255,F=(S-_)/(255*A);let q=0;for(let N=0;N<=A;N++){const z=Math.round(u+N*$),G=O+N*F;for(let L=q;L<=z;L++)E[L]=G;q=z+1}for(let N=q;N<256;N++)E[N]=E[q-1];return E.join(",")},v=`g_${f(this,Nr)}_hcm_${t}_filter`,y=l.filter=T(this,we,Ac).call(this,v);return T(this,we,wb).call(this,y),T(this,we,Vu).call(this,g(p[0],m[0],5),g(p[1],m[1],5),g(p[2],m[2],5),y),l.url=T(this,we,kc).call(this,v),l.url}destroy(t=!1){t&&f(this,we,_c).size!==0||(f(this,nr)&&(f(this,nr).parentNode.parentNode.remove(),C(this,nr,null)),f(this,hl)&&(f(this,hl).clear(),C(this,hl,null)),C(this,ul,0))}}cl=new WeakMap,hl=new WeakMap,nr=new WeakMap,Nr=new WeakMap,Xn=new WeakMap,uy=new WeakMap,ul=new WeakMap,we=new WeakSet,Kn=function(){return f(this,hl)||C(this,hl,new Map)},_c=function(){return f(this,uy)||C(this,uy,new Map)},Sc=function(){if(!f(this,nr)){const t=f(this,Xn).createElement("div"),{style:s}=t;s.visibility="hidden",s.contain="strict",s.width=s.height=0,s.position="absolute",s.top=s.left=0,s.zIndex=-1;const i=f(this,Xn).createElementNS(Cr,"svg");i.setAttribute("width",0),i.setAttribute("height",0),C(this,nr,f(this,Xn).createElementNS(Cr,"defs")),t.append(i),i.append(f(this,nr)),f(this,Xn).body.append(t)}return f(this,nr)},Dm=function(t){if(t.length===1){const c=t[0],h=new Array(256);for(let d=0;d<256;d++)h[d]=c[d]/255;const u=h.join(",");return[u,u,u]}const[s,i,r]=t,o=new Array(256),a=new Array(256),l=new Array(256);for(let c=0;c<256;c++)o[c]=s[c]/255,a[c]=i[c]/255,l[c]=r[c]/255;return[o.join(","),a.join(","),l.join(",")]},kc=function(t){if(f(this,cl)===void 0){C(this,cl,"");const s=f(this,Xn).URL;s!==f(this,Xn).baseURI&&(Jy(s)?Ue('#createUrl: ignore "data:"-URL for performance reasons.'):C(this,cl,s.split("#",1)[0]))}return`url(${f(this,cl)}#${t})`},xP=function(t){const s=f(this,Xn).createElementNS(Cr,"feColorMatrix");s.setAttribute("type","matrix"),s.setAttribute("values","0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0"),t.append(s)},wb=function(t){const s=f(this,Xn).createElementNS(Cr,"feColorMatrix");s.setAttribute("type","matrix"),s.setAttribute("values","0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"),t.append(s)},Ac=function(t){const s=f(this,Xn).createElementNS(Cr,"filter");return s.setAttribute("color-interpolation-filters","sRGB"),s.setAttribute("id",t),f(this,we,Sc).append(s),s},Uu=function(t,s,i){const r=f(this,Xn).createElementNS(Cr,s);r.setAttribute("type","discrete"),r.setAttribute("tableValues",i),t.append(r)},Vu=function(t,s,i,r){const o=f(this,Xn).createElementNS(Cr,"feComponentTransfer");r.append(o),T(this,we,Uu).call(this,o,"feFuncR",t),T(this,we,Uu).call(this,o,"feFuncG",s),T(this,we,Uu).call(this,o,"feFuncB",i)},_b=function(t,s){const i=f(this,Xn).createElementNS(Cr,"feComponentTransfer");s.append(i),T(this,we,Uu).call(this,i,"feFuncA",t)},Wu=function(t){return f(this,we,Sc).style.color=t,P1(getComputedStyle(f(this,we,Sc)).getPropertyValue("color"))};class EP{constructor({baseUrl:e=null}){this.baseUrl=e}async fetch({filename:e}){if(!this.baseUrl)throw new Error("Ensure that the `standardFontDataUrl` API parameter is provided.");if(!e)throw new Error("Font filename must be specified.");const t=`${this.baseUrl}${e}`;return this._fetch(t).catch(s=>{throw new Error(`Unable to load font data at: ${t}`)})}async _fetch(e){Mt("Abstract method `_fetch` called.")}}class CP extends EP{async _fetch(e){const t=await Yy(e,"arraybuffer");return new Uint8Array(t)}}if(ts){var Sb=Promise.withResolvers(),gd=null;(async()=>{const e=await Tp(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]),t=await Tp(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]),s=await Tp(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]),i=await Tp(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]);let r,o;return new Map(Object.entries({fs:e,http:t,https:s,url:i,canvas:r,path2d:o}))})().then(e=>{gd=e,Sb.resolve()},e=>{Ue(`loadPackages: ${e}`),gd=new Map,Sb.resolve()})}class ca{static get promise(){return Sb.promise}static get(e){return gd==null?void 0:gd.get(e)}}async function $P(n){const t=await ca.get("fs").promises.readFile(n);return new Uint8Array(t)}class SK extends AP{}class kK extends _P{_createCanvas(e,t){return ca.get("canvas").createCanvas(e,t)}}class AK extends SP{async _fetch(e){return $P(e)}}class xK extends EP{async _fetch(e){return $P(e)}}const ls={FILL:"Fill",STROKE:"Stroke",SHADING:"Shading"};function kb(n,e){if(!e)return;const t=e[2]-e[0],s=e[3]-e[1],i=new Path2D;i.rect(e[0],e[1],t,s),n.clip(i)}class M1{getPattern(){Mt("Abstract method `getPattern` called.")}}class EK extends M1{constructor(e){super(),this._type=e[1],this._bbox=e[2],this._colorStops=e[3],this._p0=e[4],this._p1=e[5],this._r0=e[6],this._r1=e[7],this.matrix=null}_createGradient(e){let t;this._type==="axial"?t=e.createLinearGradient(this._p0[0],this._p0[1],this._p1[0],this._p1[1]):this._type==="radial"&&(t=e.createRadialGradient(this._p0[0],this._p0[1],this._r0,this._p1[0],this._p1[1],this._r1));for(const s of this._colorStops)t.addColorStop(s[0],s[1]);return t}getPattern(e,t,s,i){let r;if(i===ls.STROKE||i===ls.FILL){const o=t.current.getClippedPathBoundingBox(i,Bt(e))||[0,0,0,0],a=Math.ceil(o[2]-o[0])||1,l=Math.ceil(o[3]-o[1])||1,c=t.cachedCanvases.getCanvas("pattern",a,l),h=c.context;h.clearRect(0,0,h.canvas.width,h.canvas.height),h.beginPath(),h.rect(0,0,h.canvas.width,h.canvas.height),h.translate(-o[0],-o[1]),s=Ce.transform(s,[1,0,0,1,o[0],o[1]]),h.transform(...t.baseTransform),this.matrix&&h.transform(...this.matrix),kb(h,this._bbox),h.fillStyle=this._createGradient(h),h.fill(),r=e.createPattern(c.canvas,"no-repeat");const u=new DOMMatrix(s);r.setTransform(u)}else kb(e,this._bbox),r=this._createGradient(e);return r}}function j0(n,e,t,s,i,r,o,a){const l=e.coords,c=e.colors,h=n.data,u=n.width*4;let d;l[t+1]>l[s+1]&&(d=t,t=s,s=d,d=r,r=o,o=d),l[s+1]>l[i+1]&&(d=s,s=i,i=d,d=o,o=a,a=d),l[t+1]>l[s+1]&&(d=t,t=s,s=d,d=r,r=o,o=d);const p=(l[t]+e.offsetX)*e.scaleX,m=(l[t+1]+e.offsetY)*e.scaleY,g=(l[s]+e.offsetX)*e.scaleX,v=(l[s+1]+e.offsetY)*e.scaleY,y=(l[i]+e.offsetX)*e.scaleX,b=(l[i+1]+e.offsetY)*e.scaleY;if(m>=b)return;const _=c[r],S=c[r+1],A=c[r+2],E=c[o],$=c[o+1],O=c[o+2],F=c[a],q=c[a+1],N=c[a+2],z=Math.round(m),G=Math.round(b);let L,J,Q,ee,ae,ye,B,P;for(let D=z;D<=G;D++){if(Db?K=1:v===b?K=0:K=(v-D)/(v-b),L=g-(g-y)*K,J=E-(E-F)*K,Q=$-($-q)*K,ee=O-(O-N)*K}let M;Db?M=1:M=(m-D)/(m-b),ae=p-(p-y)*M,ye=_-(_-F)*M,B=S-(S-q)*M,P=A-(A-N)*M;const w=Math.round(Math.min(L,ae)),x=Math.round(Math.max(L,ae));let I=u*D+w*4;for(let K=w;K<=x;K++)M=(L-K)/(L-ae),M<0?M=0:M>1&&(M=1),h[I++]=J-(J-ye)*M|0,h[I++]=Q-(Q-B)*M|0,h[I++]=ee-(ee-P)*M|0,h[I++]=255}}function CK(n,e,t){const s=e.coords,i=e.colors;let r,o;switch(e.type){case"lattice":const a=e.verticesPerRow,l=Math.floor(s.length/a)-1,c=a-1;for(r=0;r=q?S=l:E=!0,F>=N?A=c:$=!0;const z=this.getSizeAndScale(S,this.ctx.canvas.width,b),G=this.getSizeAndScale(A,this.ctx.canvas.height,_),L=e.cachedCanvases.getCanvas("pattern",z.size,G.size),J=L.context,Q=a.createCanvasGraphics(J);if(Q.groupLevel=e.groupLevel,this.setFillAndStrokeStyleToContext(Q,i,o),J.translate(-z.scale*h,-G.scale*u),Q.transform(z.scale,0,0,G.scale,0,0),J.save(),this.clipBbox(Q,h,u,d,p),Q.baseTransform=Bt(Q.ctx),Q.executeOperatorList(s),Q.endDrawing(),J.restore(),E||$){const ee=L.canvas;E&&(S=l),$&&(A=c);const ae=this.getSizeAndScale(S,this.ctx.canvas.width,b),ye=this.getSizeAndScale(A,this.ctx.canvas.height,_),B=ae.size,P=ye.size,D=e.cachedCanvases.getCanvas("pattern-workaround",B,P),M=D.context,w=E?Math.floor(m/l):0,x=$?Math.floor(g/c):0;for(let I=0;I<=w;I++)for(let K=0;K<=x;K++)M.drawImage(ee,B*I,P*K,B,P,0,0,B,P);return{canvas:D.canvas,scaleX:ae.scale,scaleY:ye.scale,offsetX:h,offsetY:u}}return{canvas:L.canvas,scaleX:z.scale,scaleY:G.scale,offsetX:h,offsetY:u}}getSizeAndScale(e,t,s){const i=Math.max(dy.MAX_PATTERN_SIZE,t);let r=Math.ceil(e*s);return r>=i?r=i:s=r/e,{scale:s,size:r}}clipBbox(e,t,s,i,r){const o=i-t,a=r-s;e.ctx.rect(t,s,o,a),e.current.updateRectMinMax(Bt(e.ctx),[t,s,i,r]),e.clip(),e.endPath()}setFillAndStrokeStyleToContext(e,t,s){const i=e.ctx,r=e.current;switch(t){case YA.COLORED:const o=this.ctx;i.fillStyle=o.fillStyle,i.strokeStyle=o.strokeStyle,r.fillColor=o.fillStyle,r.strokeColor=o.strokeStyle;break;case YA.UNCOLORED:const a=Ce.makeHexColor(s[0],s[1],s[2]);i.fillStyle=a,i.strokeStyle=a,r.fillColor=a,r.strokeColor=a;break;default:throw new tK(`Unsupported paint type: ${t}`)}}getPattern(e,t,s,i){let r=s;i!==ls.SHADING&&(r=Ce.transform(r,t.baseTransform),this.matrix&&(r=Ce.transform(r,this.matrix)));const o=this.createPatternCanvas(t);let a=new DOMMatrix(r);a=a.translate(o.offsetX,o.offsetY),a=a.scale(1/o.scaleX,1/o.scaleY);const l=e.createPattern(o.canvas,"repeat");return l.setTransform(a),l}};he(dy,"MAX_PATTERN_SIZE",3e3);let Ab=dy;function RK({src:n,srcPos:e=0,dest:t,width:s,height:i,nonBlackColor:r=4294967295,inverseDecode:o=!1}){const a=cs.isLittleEndian?4278190080:255,[l,c]=o?[r,a]:[a,r],h=s>>3,u=s&7,d=n.length;t=new Uint32Array(t.buffer);let p=0;for(let m=0;m{n.save=n.__originalSave,n.restore=n.__originalRestore,n.rotate=n.__originalRotate,n.scale=n.__originalScale,n.translate=n.__originalTranslate,n.transform=n.__originalTransform,n.setTransform=n.__originalSetTransform,n.resetTransform=n.__originalResetTransform,n.clip=n.__originalClip,n.moveTo=n.__originalMoveTo,n.lineTo=n.__originalLineTo,n.bezierCurveTo=n.__originalBezierCurveTo,n.rect=n.__originalRect,n.closePath=n.__originalClosePath,n.beginPath=n.__originalBeginPath,delete n._removeMirroring},n.save=function(){e.save(),this.__originalSave()},n.restore=function(){e.restore(),this.__originalRestore()},n.translate=function(s,i){e.translate(s,i),this.__originalTranslate(s,i)},n.scale=function(s,i){e.scale(s,i),this.__originalScale(s,i)},n.transform=function(s,i,r,o,a,l){e.transform(s,i,r,o,a,l),this.__originalTransform(s,i,r,o,a,l)},n.setTransform=function(s,i,r,o,a,l){e.setTransform(s,i,r,o,a,l),this.__originalSetTransform(s,i,r,o,a,l)},n.resetTransform=function(){e.resetTransform(),this.__originalResetTransform()},n.rotate=function(s){e.rotate(s),this.__originalRotate(s)},n.clip=function(s){e.clip(s),this.__originalClip(s)},n.moveTo=function(t,s){e.moveTo(t,s),this.__originalMoveTo(t,s)},n.lineTo=function(t,s){e.lineTo(t,s),this.__originalLineTo(t,s)},n.bezierCurveTo=function(t,s,i,r,o,a){e.bezierCurveTo(t,s,i,r,o,a),this.__originalBezierCurveTo(t,s,i,r,o,a)},n.rect=function(t,s,i,r){e.rect(t,s,i,r),this.__originalRect(t,s,i,r)},n.closePath=function(){e.closePath(),this.__originalClosePath()},n.beginPath=function(){e.beginPath(),this.__originalBeginPath()}}class OK{constructor(e){this.canvasFactory=e,this.cache=Object.create(null)}getCanvas(e,t,s){let i;return this.cache[e]!==void 0?(i=this.cache[e],this.canvasFactory.reset(i,t,s)):(i=this.canvasFactory.create(t,s),this.cache[e]=i),i}delete(e){delete this.cache[e]}clear(){for(const e in this.cache){const t=this.cache[e];this.canvasFactory.destroy(t),delete this.cache[e]}}}function Kp(n,e,t,s,i,r,o,a,l,c){const[h,u,d,p,m,g]=Bt(n);if(u===0&&d===0){const b=o*h+m,_=Math.round(b),S=a*p+g,A=Math.round(S),E=(o+l)*h+m,$=Math.abs(Math.round(E)-_)||1,O=(a+c)*p+g,F=Math.abs(Math.round(O)-A)||1;return n.setTransform(Math.sign(h),0,0,Math.sign(p),_,A),n.drawImage(e,t,s,i,r,0,0,$,F),n.setTransform(h,u,d,p,m,g),[$,F]}if(h===0&&p===0){const b=a*d+m,_=Math.round(b),S=o*u+g,A=Math.round(S),E=(a+c)*d+m,$=Math.abs(Math.round(E)-_)||1,O=(o+l)*u+g,F=Math.abs(Math.round(O)-A)||1;return n.setTransform(0,Math.sign(u),Math.sign(d),0,_,A),n.drawImage(e,t,s,i,r,0,0,F,$),n.setTransform(h,u,d,p,m,g),[F,$]}n.drawImage(e,t,s,i,r,o,a,l,c);const v=Math.hypot(h,u),y=Math.hypot(d,p);return[v*l,y*c]}function NK(n){const{width:e,height:t}=n;if(e>tx||t>tx)return null;const s=1e3,i=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]),r=e+1;let o=new Uint8Array(r*(t+1)),a,l,c;const h=e+7&-8;let u=new Uint8Array(h*t),d=0;for(const y of n.data){let b=128;for(;b>0;)u[d++]=y&b?0:255,b>>=1}let p=0;for(d=0,u[d]!==0&&(o[0]=1,++p),l=1;l>2)+(u[d+1]?4:0)+(u[d-h+1]?8:0),i[y]&&(o[c+l]=i[y],++p),d++;if(u[d-h]!==u[d]&&(o[c+l]=u[d]?2:4,++p),p>s)return null}for(d=h*(t-1),c=a*r,u[d]!==0&&(o[c]=8,++p),l=1;ls)return null;const m=new Int32Array([0,r,-1,0,-r,0,0,0,1]),g=new Path2D;for(a=0;p&&a<=t;a++){let y=a*r;const b=y+e;for(;y>4,o[y]&=S>>2|S<<2),g.lineTo(y%r,y/r|0),o[y]||--p}while(_!==y);--a}return u=null,o=null,function(y){y.save(),y.scale(1/e,-1/t),y.translate(0,-t),y.fill(g),y.beginPath(),y.restore()}}class nx{constructor(e,t){this.alphaIsShape=!1,this.fontSize=0,this.fontSizeScale=1,this.textMatrix=VT,this.textMatrixScale=1,this.fontMatrix=Xv,this.leading=0,this.x=0,this.y=0,this.lineX=0,this.lineY=0,this.charSpacing=0,this.wordSpacing=0,this.textHScale=1,this.textRenderingMode=Gn.FILL,this.textRise=0,this.fillColor="#000000",this.strokeColor="#000000",this.patternFill=!1,this.fillAlpha=1,this.strokeAlpha=1,this.lineWidth=1,this.activeSMask=null,this.transferMaps="none",this.startNewPathAndClipBox([0,0,e,t])}clone(){const e=Object.create(this);return e.clipBox=this.clipBox.slice(),e}setCurrentPoint(e,t){this.x=e,this.y=t}updatePathMinMax(e,t,s){[t,s]=Ce.applyTransform([t,s],e),this.minX=Math.min(this.minX,t),this.minY=Math.min(this.minY,s),this.maxX=Math.max(this.maxX,t),this.maxY=Math.max(this.maxY,s)}updateRectMinMax(e,t){const s=Ce.applyTransform(t,e),i=Ce.applyTransform(t.slice(2),e),r=Ce.applyTransform([t[0],t[3]],e),o=Ce.applyTransform([t[2],t[1]],e);this.minX=Math.min(this.minX,s[0],i[0],r[0],o[0]),this.minY=Math.min(this.minY,s[1],i[1],r[1],o[1]),this.maxX=Math.max(this.maxX,s[0],i[0],r[0],o[0]),this.maxY=Math.max(this.maxY,s[1],i[1],r[1],o[1])}updateScalingPathMinMax(e,t){Ce.scaleMinMax(e,t),this.minX=Math.min(this.minX,t[0]),this.minY=Math.min(this.minY,t[1]),this.maxX=Math.max(this.maxX,t[2]),this.maxY=Math.max(this.maxY,t[3])}updateCurvePathMinMax(e,t,s,i,r,o,a,l,c,h){const u=Ce.bezierBoundingBox(t,s,i,r,o,a,l,c,h);h||this.updateRectMinMax(e,u)}getPathBoundingBox(e=ls.FILL,t=null){const s=[this.minX,this.minY,this.maxX,this.maxY];if(e===ls.STROKE){t||Mt("Stroke bounding box must include transform.");const i=Ce.singularValueDecompose2dScale(t),r=i[0]*this.lineWidth/2,o=i[1]*this.lineWidth/2;s[0]-=r,s[1]-=o,s[2]+=r,s[3]+=o}return s}updateClipFromPath(){const e=Ce.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(e||[0,0,0,0])}isEmptyClip(){return this.minX===1/0}startNewPathAndClipBox(e){this.clipBox=e,this.minX=1/0,this.minY=1/0,this.maxX=0,this.maxY=0}getClippedPathBoundingBox(e=ls.FILL,t=null){return Ce.intersect(this.clipBox,this.getPathBoundingBox(e,t))}}function sx(n,e){if(typeof ImageData<"u"&&e instanceof ImageData){n.putImageData(e,0,0);return}const t=e.height,s=e.width,i=t%_s,r=(t-i)/_s,o=i===0?r:r+1,a=n.createImageData(s,_s);let l=0,c;const h=e.data,u=a.data;let d,p,m,g;if(e.kind===Pm.GRAYSCALE_1BPP){const v=h.byteLength,y=new Uint32Array(u.buffer,0,u.byteLength>>2),b=y.length,_=s+7>>3,S=4294967295,A=cs.isLittleEndian?4278190080:255;for(d=0;d_?s:E*8-7,F=O&-8;let q=0,N=0;for(;$>=1}for(;c=r&&(m=i,g=s*m),c=0,p=g;p--;)u[c++]=h[l++],u[c++]=h[l++],u[c++]=h[l++],u[c++]=255;n.putImageData(a,0,d*_s)}else throw new Error(`bad image kind: ${e.kind}`)}function ix(n,e){if(e.bitmap){n.drawImage(e.bitmap,0,0);return}const t=e.height,s=e.width,i=t%_s,r=(t-i)/_s,o=i===0?r:r+1,a=n.createImageData(s,_s);let l=0;const c=e.data,h=a.data;for(let u=0;uex&&typeof s=="function",h=c?Date.now()+MK:0;let u=0;const d=this.commonObjs,p=this.objs;let m;for(;;){if(i!==void 0&&a===i.nextBreakPoint)return i.breakIt(a,s),a;if(m=o[a],m!==vi.dependency)this[m].apply(this,r[a]);else for(const g of r[a]){const v=g.startsWith("g_")?d:p;if(!v.has(g))return v.get(g,s),a}if(a++,a===l)return a;if(c&&++u>ex){if(Date.now()>h)return s(),a;u=0}}}endDrawing(){T(this,ma,xb).call(this),this.cachedCanvases.clear(),this.cachedPatterns.clear();for(const e of this._cachedBitmapsMap.values()){for(const t of e.values())typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement&&(t.width=t.height=0);e.clear()}this._cachedBitmapsMap.clear(),T(this,ma,Eb).call(this)}_scaleImage(e,t){const s=e.width??e.displayWidth,i=e.height??e.displayHeight;let r=Math.max(Math.hypot(t[0],t[1]),1),o=Math.max(Math.hypot(t[2],t[3]),1),a=s,l=i,c="prescale1",h,u;for(;r>2&&a>1||o>2&&l>1;){let d=a,p=l;r>2&&a>1&&(d=a>=16384?Math.floor(a/2)-1||1:Math.ceil(a/2),r/=a/d),o>2&&l>1&&(p=l>=16384?Math.floor(l/2)-1||1:Math.ceil(l)/2,o/=l/p),h=this.cachedCanvases.getCanvas(c,d,p),u=h.context,u.clearRect(0,0,d,p),u.drawImage(e,0,0,a,l,0,0,d,p),e=h.canvas,a=d,l=p,c=c==="prescale1"?"prescale2":"prescale1"}return{img:e,paintWidth:a,paintHeight:l}}_createMaskCanvas(e){const t=this.ctx,{width:s,height:i}=e,r=this.current.fillColor,o=this.current.patternFill,a=Bt(t);let l,c,h,u;if((e.bitmap||e.data)&&e.count>1){const O=e.bitmap||e.data.buffer;c=JSON.stringify(o?a:[a.slice(0,4),r]),l=this._cachedBitmapsMap.get(O),l||(l=new Map,this._cachedBitmapsMap.set(O,l));const F=l.get(c);if(F&&!o){const q=Math.round(Math.min(a[0],a[2])+a[4]),N=Math.round(Math.min(a[1],a[3])+a[5]);return{canvas:F,offsetX:q,offsetY:N}}h=F}h||(u=this.cachedCanvases.getCanvas("maskCanvas",s,i),ix(u.context,e));let d=Ce.transform(a,[1/s,0,0,-1/i,0,0]);d=Ce.transform(d,[1,0,0,1,0,-i]);const[p,m,g,v]=Ce.getAxialAlignedBoundingBox([0,0,s,i],d),y=Math.round(g-p)||1,b=Math.round(v-m)||1,_=this.cachedCanvases.getCanvas("fillCanvas",y,b),S=_.context,A=p,E=m;S.translate(-A,-E),S.transform(...d),h||(h=this._scaleImage(u.canvas,Er(S)),h=h.img,l&&o&&l.set(c,h)),S.imageSmoothingEnabled=rx(Bt(S),e.interpolate),Kp(S,h,0,0,h.width,h.height,0,0,s,i),S.globalCompositeOperation="source-in";const $=Ce.transform(Er(S),[1,0,0,1,-A,-E]);return S.fillStyle=o?r.getPattern(t,this,$,ls.FILL):r,S.fillRect(0,0,s,i),l&&!o&&(this.cachedCanvases.delete("fillCanvas"),l.set(c,_.canvas)),{canvas:_.canvas,offsetX:Math.round(A),offsetY:Math.round(E)}}setLineWidth(e){e!==this.current.lineWidth&&(this._cachedScaleForStroking[0]=-1),this.current.lineWidth=e,this.ctx.lineWidth=e}setLineCap(e){this.ctx.lineCap=LK[e]}setLineJoin(e){this.ctx.lineJoin=DK[e]}setMiterLimit(e){this.ctx.miterLimit=e}setDash(e,t){const s=this.ctx;s.setLineDash!==void 0&&(s.setLineDash(e),s.lineDashOffset=t)}setRenderingIntent(e){}setFlatness(e){}setGState(e){for(const[t,s]of e)switch(t){case"LW":this.setLineWidth(s);break;case"LC":this.setLineCap(s);break;case"LJ":this.setLineJoin(s);break;case"ML":this.setMiterLimit(s);break;case"D":this.setDash(s[0],s[1]);break;case"RI":this.setRenderingIntent(s);break;case"FL":this.setFlatness(s);break;case"Font":this.setFont(s[0],s[1]);break;case"CA":this.current.strokeAlpha=s;break;case"ca":this.current.fillAlpha=s,this.ctx.globalAlpha=s;break;case"BM":this.ctx.globalCompositeOperation=s;break;case"SMask":this.current.activeSMask=s?this.tempSMask:null,this.tempSMask=null,this.checkSMaskState();break;case"TR":this.ctx.filter=this.current.transferMaps=this.filterFactory.addFilter(s);break}}get inSMaskMode(){return!!this.suspendedCtx}checkSMaskState(){const e=this.inSMaskMode;this.current.activeSMask&&!e?this.beginSMaskMode():!this.current.activeSMask&&e&&this.endSMaskMode()}beginSMaskMode(){if(this.inSMaskMode)throw new Error("beginSMaskMode called while already in smask mode");const e=this.ctx.canvas.width,t=this.ctx.canvas.height,s="smaskGroupAt"+this.groupLevel,i=this.cachedCanvases.getCanvas(s,e,t);this.suspendedCtx=this.ctx,this.ctx=i.context;const r=this.ctx;r.setTransform(...Bt(this.suspendedCtx)),$u(this.suspendedCtx,r),IK(r,this.suspendedCtx),this.setGState([["BM","source-over"],["ca",1],["CA",1]])}endSMaskMode(){if(!this.inSMaskMode)throw new Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring(),$u(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null}compose(e){if(!this.current.activeSMask)return;e?(e[0]=Math.floor(e[0]),e[1]=Math.floor(e[1]),e[2]=Math.ceil(e[2]),e[3]=Math.ceil(e[3])):e=[0,0,this.ctx.canvas.width,this.ctx.canvas.height];const t=this.current.activeSMask,s=this.suspendedCtx;this.composeSMask(s,t,this.ctx,e),this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore()}composeSMask(e,t,s,i){const r=i[0],o=i[1],a=i[2]-r,l=i[3]-o;a===0||l===0||(this.genericComposeSMask(t.context,s,a,l,t.subtype,t.backdrop,t.transferMap,r,o,t.offsetX,t.offsetY),e.save(),e.globalAlpha=1,e.globalCompositeOperation="source-over",e.setTransform(1,0,0,1,0,0),e.drawImage(s.canvas,0,0),e.restore())}genericComposeSMask(e,t,s,i,r,o,a,l,c,h,u){let d=e.canvas,p=l-h,m=c-u;if(o){const v=Ce.makeHexColor(...o);if(p<0||m<0||p+s>d.width||m+i>d.height){const y=this.cachedCanvases.getCanvas("maskExtension",s,i),b=y.context;b.drawImage(d,-p,-m),b.globalCompositeOperation="destination-atop",b.fillStyle=v,b.fillRect(0,0,s,i),b.globalCompositeOperation="source-over",d=y.canvas,p=m=0}else{e.save(),e.globalAlpha=1,e.setTransform(1,0,0,1,0,0);const y=new Path2D;y.rect(p,m,s,i),e.clip(y),e.globalCompositeOperation="destination-atop",e.fillStyle=v,e.fillRect(p,m,s,i),e.restore()}}t.save(),t.globalAlpha=1,t.setTransform(1,0,0,1,0,0),r==="Alpha"&&a?t.filter=this.filterFactory.addAlphaFilter(a):r==="Luminosity"&&(t.filter=this.filterFactory.addLuminosityFilter(a));const g=new Path2D;g.rect(l,c,s,i),t.clip(g),t.globalCompositeOperation="destination-in",t.drawImage(d,p,m,s,i,l,c,s,i),t.restore()}save(){this.inSMaskMode?($u(this.ctx,this.suspendedCtx),this.suspendedCtx.save()):this.ctx.save();const e=this.current;this.stateStack.push(e),this.current=e.clone()}restore(){this.stateStack.length===0&&this.inSMaskMode&&this.endSMaskMode(),this.stateStack.length!==0&&(this.current=this.stateStack.pop(),this.inSMaskMode?(this.suspendedCtx.restore(),$u(this.suspendedCtx,this.ctx)):this.ctx.restore(),this.checkSMaskState(),this.pendingClip=null,this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null)}transform(e,t,s,i,r,o){this.ctx.transform(e,t,s,i,r,o),this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}constructPath(e,t,s){const i=this.ctx,r=this.current;let o=r.x,a=r.y,l,c;const h=Bt(i),u=h[0]===0&&h[3]===0||h[1]===0&&h[2]===0,d=u?s.slice(0):null;for(let p=0,m=0,g=e.length;pQA&&(c=QA),this.current.fontSizeScale=t/c,this.ctx.font=`${l} ${a} ${c}px ${o}`}setTextRenderingMode(e){this.current.textRenderingMode=e}setTextRise(e){this.current.textRise=e}moveText(e,t){this.current.x=this.current.lineX+=e,this.current.y=this.current.lineY+=t}setLeadingMoveText(e,t){this.setLeading(-t),this.moveText(e,t)}setTextMatrix(e,t,s,i,r,o){this.current.textMatrix=[e,t,s,i,r,o],this.current.textMatrixScale=Math.hypot(e,t),this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0}nextLine(){this.moveText(0,this.current.leading)}paintChar(e,t,s,i){const r=this.ctx,o=this.current,a=o.font,l=o.textRenderingMode,c=o.fontSize/o.fontSizeScale,h=l&Gn.FILL_STROKE_MASK,u=!!(l&Gn.ADD_TO_PATH_FLAG),d=o.patternFill&&!a.missingFile;let p;(a.disableFontFace||u||d)&&(p=a.getPathGenerator(this.commonObjs,e)),a.disableFontFace||d?(r.save(),r.translate(t,s),r.beginPath(),p(r,c),i&&r.setTransform(...i),(h===Gn.FILL||h===Gn.FILL_STROKE)&&r.fill(),(h===Gn.STROKE||h===Gn.FILL_STROKE)&&r.stroke(),r.restore()):((h===Gn.FILL||h===Gn.FILL_STROKE)&&r.fillText(e,t,s),(h===Gn.STROKE||h===Gn.FILL_STROKE)&&r.strokeText(e,t,s)),u&&(this.pendingTextPaths||(this.pendingTextPaths=[])).push({transform:Bt(r),x:t,y:s,fontSize:c,addToPath:p})}get isFontSubpixelAAEnabled(){const{context:e}=this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled",10,10);e.scale(1.5,1),e.fillText("I",0,10);const t=e.getImageData(0,0,10,10).data;let s=!1;for(let i=3;i0&&t[i]<255){s=!0;break}return Ye(this,"isFontSubpixelAAEnabled",s)}showText(e){const t=this.current,s=t.font;if(s.isType3Font)return this.showType3Text(e);const i=t.fontSize;if(i===0)return;const r=this.ctx,o=t.fontSizeScale,a=t.charSpacing,l=t.wordSpacing,c=t.fontDirection,h=t.textHScale*c,u=e.length,d=s.vertical,p=d?1:-1,m=s.defaultVMetrics,g=i*t.fontMatrix[0],v=t.textRenderingMode===Gn.FILL&&!s.disableFontFace&&!t.patternFill;r.save(),r.transform(...t.textMatrix),r.translate(t.x,t.y+t.textRise),c>0?r.scale(h,-1):r.scale(h,1);let y;if(t.patternFill){r.save();const E=t.fillColor.getPattern(r,this,Er(r),ls.FILL);y=Bt(r),r.restore(),r.fillStyle=E}let b=t.lineWidth;const _=t.textMatrixScale;if(_===0||b===0){const E=t.textRenderingMode&Gn.FILL_STROKE_MASK;(E===Gn.STROKE||E===Gn.FILL_STROKE)&&(b=this.getSinglePixelWidth())}else b/=_;if(o!==1&&(r.scale(o,o),b/=o),r.lineWidth=b,s.isInvalidPDFjsFont){const E=[];let $=0;for(const O of e)E.push(O.unicode),$+=O.width;r.fillText(E.join(""),0,0),t.x+=$*g*h,r.restore(),this.compose();return}let S=0,A;for(A=0;A0){const J=r.measureText(F).width*1e3/i*o;if(Gnew mk(o,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack})};t=new Ab(e,s,this.ctx,r,i)}else t=this._getPattern(e[1],e[2]);return t}setStrokeColorN(){this.current.strokeColor=this.getColorN_Pattern(arguments)}setFillColorN(){this.current.fillColor=this.getColorN_Pattern(arguments),this.current.patternFill=!0}setStrokeRGBColor(e,t,s){this.ctx.strokeStyle=this.current.strokeColor=Ce.makeHexColor(e,t,s)}setStrokeTransparent(){this.ctx.strokeStyle=this.current.strokeColor="transparent"}setFillRGBColor(e,t,s){this.ctx.fillStyle=this.current.fillColor=Ce.makeHexColor(e,t,s),this.current.patternFill=!1}setFillTransparent(){this.ctx.fillStyle=this.current.fillColor="transparent",this.current.patternFill=!1}_getPattern(e,t=null){let s;return this.cachedPatterns.has(e)?s=this.cachedPatterns.get(e):(s=PK(this.getObject(e)),this.cachedPatterns.set(e,s)),t&&(s.matrix=t),s}shadingFill(e){if(!this.contentVisible)return;const t=this.ctx;this.save();const s=this._getPattern(e);t.fillStyle=s.getPattern(t,this,Er(t),ls.SHADING);const i=Er(t);if(i){const{width:r,height:o}=t.canvas,[a,l,c,h]=Ce.getAxialAlignedBoundingBox([0,0,r,o],i);this.ctx.fillRect(a,l,c-a,h-l)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);this.compose(this.current.getClippedPathBoundingBox()),this.restore()}beginInlineImage(){Mt("Should not call beginInlineImage")}beginImageData(){Mt("Should not call beginImageData")}paintFormXObjectBegin(e,t){if(this.contentVisible&&(this.save(),this.baseTransformStack.push(this.baseTransform),e&&this.transform(...e),this.baseTransform=Bt(this.ctx),t)){const s=t[2]-t[0],i=t[3]-t[1];this.ctx.rect(t[0],t[1],s,i),this.current.updateRectMinMax(Bt(this.ctx),t),this.clip(),this.endPath()}}paintFormXObjectEnd(){this.contentVisible&&(this.restore(),this.baseTransform=this.baseTransformStack.pop())}beginGroup(e){if(!this.contentVisible)return;this.save(),this.inSMaskMode&&(this.endSMaskMode(),this.current.activeSMask=null);const t=this.ctx;e.isolated||Ky("TODO: Support non-isolated groups."),e.knockout&&Ue("Knockout groups not supported.");const s=Bt(t);if(e.matrix&&t.transform(...e.matrix),!e.bbox)throw new Error("Bounding box is required.");let i=Ce.getAxialAlignedBoundingBox(e.bbox,Bt(t));const r=[0,0,t.canvas.width,t.canvas.height];i=Ce.intersect(i,r)||[0,0,0,0];const o=Math.floor(i[0]),a=Math.floor(i[1]),l=Math.max(Math.ceil(i[2])-o,1),c=Math.max(Math.ceil(i[3])-a,1);this.current.startNewPathAndClipBox([0,0,l,c]);let h="groupAt"+this.groupLevel;e.smask&&(h+="_smask_"+this.smaskCounter++%2);const u=this.cachedCanvases.getCanvas(h,l,c),d=u.context;d.translate(-o,-a),d.transform(...s),e.smask?this.smaskStack.push({canvas:u.canvas,context:d,offsetX:o,offsetY:a,subtype:e.smask.subtype,backdrop:e.smask.backdrop,transferMap:e.smask.transferMap||null,startTransformInverse:null}):(t.setTransform(1,0,0,1,0,0),t.translate(o,a),t.save()),$u(t,d),this.ctx=d,this.setGState([["BM","source-over"],["ca",1],["CA",1]]),this.groupStack.push(t),this.groupLevel++}endGroup(e){if(!this.contentVisible)return;this.groupLevel--;const t=this.ctx,s=this.groupStack.pop();if(this.ctx=s,this.ctx.imageSmoothingEnabled=!1,e.smask)this.tempSMask=this.smaskStack.pop(),this.restore();else{this.ctx.restore();const i=Bt(this.ctx);this.restore(),this.ctx.save(),this.ctx.setTransform(...i);const r=Ce.getAxialAlignedBoundingBox([0,0,t.canvas.width,t.canvas.height],i);this.ctx.drawImage(t.canvas,0,0),this.ctx.restore(),this.compose(r)}}beginAnnotation(e,t,s,i,r){if(T(this,ma,xb).call(this),Zp(this.ctx),this.ctx.save(),this.save(),this.baseTransform&&this.ctx.setTransform(...this.baseTransform),t){const o=t[2]-t[0],a=t[3]-t[1];if(r&&this.annotationCanvasMap){s=s.slice(),s[4]-=t[0],s[5]-=t[1],t=t.slice(),t[0]=t[1]=0,t[2]=o,t[3]=a;const[l,c]=Ce.singularValueDecompose2dScale(Bt(this.ctx)),{viewportScale:h}=this,u=Math.ceil(o*this.outputScaleX*h),d=Math.ceil(a*this.outputScaleY*h);this.annotationCanvas=this.canvasFactory.create(u,d);const{canvas:p,context:m}=this.annotationCanvas;this.annotationCanvasMap.set(e,p),this.annotationCanvas.savedCtx=this.ctx,this.ctx=m,this.ctx.save(),this.ctx.setTransform(l,0,0,-c,0,a*c),Zp(this.ctx)}else Zp(this.ctx),this.endPath(),this.ctx.rect(t[0],t[1],o,a),this.ctx.clip(),this.ctx.beginPath()}this.current=new nx(this.ctx.canvas.width,this.ctx.canvas.height),this.transform(...s),this.transform(...i)}endAnnotation(){this.annotationCanvas&&(this.ctx.restore(),T(this,ma,Eb).call(this),this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas)}paintImageMaskXObject(e){if(!this.contentVisible)return;const t=e.count;e=this.getObject(e.data,e),e.count=t;const s=this.ctx,i=this.processingType3;if(i&&(i.compiled===void 0&&(i.compiled=NK(e)),i.compiled)){i.compiled(s);return}const r=this._createMaskCanvas(e),o=r.canvas;s.save(),s.setTransform(1,0,0,1,0,0),s.drawImage(o,r.offsetX,r.offsetY),s.restore(),this.compose()}paintImageMaskXObjectRepeat(e,t,s=0,i=0,r,o){if(!this.contentVisible)return;e=this.getObject(e.data,e);const a=this.ctx;a.save();const l=Bt(a);a.transform(t,s,i,r,0,0);const c=this._createMaskCanvas(e);a.setTransform(1,0,0,1,c.offsetX-l[4],c.offsetY-l[5]);for(let h=0,u=o.length;hu?h/u:1,a=c>u?c/u:1}}this._cachedScaleForStroking[0]=o,this._cachedScaleForStroking[1]=a}return this._cachedScaleForStroking}rescaleAndStroke(e){const{ctx:t}=this,{lineWidth:s}=this.current,[i,r]=this.getScaleForStroking();if(t.lineWidth=s||1,i===1&&r===1){t.stroke();return}const o=t.getLineDash();if(e&&t.save(),t.scale(i,r),o.length>0){const a=Math.max(i,r);t.setLineDash(o.map(l=>l/a)),t.lineDashOffset/=a}t.stroke(),e&&t.restore()}isContentVisible(){for(let e=this.markedContentStack.length-1;e>=0;e--)if(!this.markedContentStack[e].visible)return!1;return!0}};ma=new WeakSet,xb=function(){for(;this.stateStack.length||this.inSMaskMode;)this.restore();this.current.activeSMask=null,this.ctx.restore(),this.transparentCanvas&&(this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.transparentCanvas=null)},Eb=function(){if(this.pageColors){const e=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if(e!=="none"){const t=this.ctx.filter;this.ctx.filter=e,this.ctx.drawImage(this.ctx.canvas,0,0),this.ctx.filter=t}}};let Bc=mk;for(const n in vi)Bc.prototype[n]!==void 0&&(Bc.prototype[vi[n]]=Bc.prototype[n]);var cf,hf;class eo{static get workerPort(){return f(this,cf)}static set workerPort(e){if(!(typeof Worker<"u"&&e instanceof Worker)&&e!==null)throw new Error("Invalid `workerPort` type.");C(this,cf,e)}static get workerSrc(){return f(this,hf)}static set workerSrc(e){if(typeof e!="string")throw new Error("Invalid `workerSrc` type.");C(this,hf,e)}}cf=new WeakMap,hf=new WeakMap,R(eo,cf,null),R(eo,hf,"");const Xp={DATA:1,ERROR:2},tn={CANCEL:1,CANCEL_COMPLETE:2,CLOSE:3,ENQUEUE:4,ERROR:5,PULL:6,PULL_COMPLETE:7,START_COMPLETE:8};function Ts(n){switch(n instanceof Error||typeof n=="object"&&n!==null||Mt('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),n.name){case"AbortException":return new uc(n.message);case"MissingPDFException":return new hc(n.message);case"PasswordException":return new Yv(n.message,n.code);case"UnexpectedResponseException":return new Zy(n.message,n.status);case"UnknownErrorException":return new Jv(n.message,n.details);default:return new Jv(n.message,n.toString())}}var uh,ai,TP,PP,RP,Fm;class Gu{constructor(e,t,s){R(this,ai);R(this,uh,new AbortController);this.sourceName=e,this.targetName=t,this.comObj=s,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),s.addEventListener("message",T(this,ai,TP).bind(this),{signal:f(this,uh).signal})}on(e,t){const s=this.actionHandler;if(s[e])throw new Error(`There is already an actionName called "${e}"`);s[e]=t}send(e,t,s){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,data:t},s)}sendWithPromise(e,t,s){const i=this.callbackId++,r=Promise.withResolvers();this.callbackCapabilities[i]=r;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,callbackId:i,data:t},s)}catch(o){r.reject(o)}return r.promise}sendWithStream(e,t,s,i){const r=this.streamId++,o=this.sourceName,a=this.targetName,l=this.comObj;return new ReadableStream({start:c=>{const h=Promise.withResolvers();return this.streamControllers[r]={controller:c,startCall:h,pullCall:null,cancelCall:null,isClosed:!1},l.postMessage({sourceName:o,targetName:a,action:e,streamId:r,data:t,desiredSize:c.desiredSize},i),h.promise},pull:c=>{const h=Promise.withResolvers();return this.streamControllers[r].pullCall=h,l.postMessage({sourceName:o,targetName:a,stream:tn.PULL,streamId:r,desiredSize:c.desiredSize}),h.promise},cancel:c=>{pn(c instanceof Error,"cancel must have a valid reason");const h=Promise.withResolvers();return this.streamControllers[r].cancelCall=h,this.streamControllers[r].isClosed=!0,l.postMessage({sourceName:o,targetName:a,stream:tn.CANCEL,streamId:r,reason:Ts(c)}),h.promise}},s)}destroy(){var e;(e=f(this,uh))==null||e.abort(),C(this,uh,null)}}uh=new WeakMap,ai=new WeakSet,TP=function({data:e}){if(e.targetName!==this.sourceName)return;if(e.stream){T(this,ai,RP).call(this,e);return}if(e.callback){const s=e.callbackId,i=this.callbackCapabilities[s];if(!i)throw new Error(`Cannot resolve callback ${s}`);if(delete this.callbackCapabilities[s],e.callback===Xp.DATA)i.resolve(e.data);else if(e.callback===Xp.ERROR)i.reject(Ts(e.reason));else throw new Error("Unexpected callback case");return}const t=this.actionHandler[e.action];if(!t)throw new Error(`Unknown action from worker: ${e.action}`);if(e.callbackId){const s=this.sourceName,i=e.sourceName,r=this.comObj;new Promise(function(o){o(t(e.data))}).then(function(o){r.postMessage({sourceName:s,targetName:i,callback:Xp.DATA,callbackId:e.callbackId,data:o})},function(o){r.postMessage({sourceName:s,targetName:i,callback:Xp.ERROR,callbackId:e.callbackId,reason:Ts(o)})});return}if(e.streamId){T(this,ai,PP).call(this,e);return}t(e.data)},PP=function(e){const t=e.streamId,s=this.sourceName,i=e.sourceName,r=this.comObj,o=this,a=this.actionHandler[e.action],l={enqueue(c,h=1,u){if(this.isCancelled)return;const d=this.desiredSize;this.desiredSize-=h,d>0&&this.desiredSize<=0&&(this.sinkCapability=Promise.withResolvers(),this.ready=this.sinkCapability.promise),r.postMessage({sourceName:s,targetName:i,stream:tn.ENQUEUE,streamId:t,chunk:c},u)},close(){this.isCancelled||(this.isCancelled=!0,r.postMessage({sourceName:s,targetName:i,stream:tn.CLOSE,streamId:t}),delete o.streamSinks[t])},error(c){pn(c instanceof Error,"error must have a valid reason"),!this.isCancelled&&(this.isCancelled=!0,r.postMessage({sourceName:s,targetName:i,stream:tn.ERROR,streamId:t,reason:Ts(c)}))},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:e.desiredSize,ready:null};l.sinkCapability.resolve(),l.ready=l.sinkCapability.promise,this.streamSinks[t]=l,new Promise(function(c){c(a(e.data,l))}).then(function(){r.postMessage({sourceName:s,targetName:i,stream:tn.START_COMPLETE,streamId:t,success:!0})},function(c){r.postMessage({sourceName:s,targetName:i,stream:tn.START_COMPLETE,streamId:t,reason:Ts(c)})})},RP=function(e){const t=e.streamId,s=this.sourceName,i=e.sourceName,r=this.comObj,o=this.streamControllers[t],a=this.streamSinks[t];switch(e.stream){case tn.START_COMPLETE:e.success?o.startCall.resolve():o.startCall.reject(Ts(e.reason));break;case tn.PULL_COMPLETE:e.success?o.pullCall.resolve():o.pullCall.reject(Ts(e.reason));break;case tn.PULL:if(!a){r.postMessage({sourceName:s,targetName:i,stream:tn.PULL_COMPLETE,streamId:t,success:!0});break}a.desiredSize<=0&&e.desiredSize>0&&a.sinkCapability.resolve(),a.desiredSize=e.desiredSize,new Promise(function(l){var c;l((c=a.onPull)==null?void 0:c.call(a))}).then(function(){r.postMessage({sourceName:s,targetName:i,stream:tn.PULL_COMPLETE,streamId:t,success:!0})},function(l){r.postMessage({sourceName:s,targetName:i,stream:tn.PULL_COMPLETE,streamId:t,reason:Ts(l)})});break;case tn.ENQUEUE:if(pn(o,"enqueue should have stream controller"),o.isClosed)break;o.controller.enqueue(e.chunk);break;case tn.CLOSE:if(pn(o,"close should have stream controller"),o.isClosed)break;o.isClosed=!0,o.controller.close(),T(this,ai,Fm).call(this,o,t);break;case tn.ERROR:pn(o,"error should have stream controller"),o.controller.error(Ts(e.reason)),T(this,ai,Fm).call(this,o,t);break;case tn.CANCEL_COMPLETE:e.success?o.cancelCall.resolve():o.cancelCall.reject(Ts(e.reason)),T(this,ai,Fm).call(this,o,t);break;case tn.CANCEL:if(!a)break;new Promise(function(l){var c;l((c=a.onCancel)==null?void 0:c.call(a,Ts(e.reason)))}).then(function(){r.postMessage({sourceName:s,targetName:i,stream:tn.CANCEL_COMPLETE,streamId:t,success:!0})},function(l){r.postMessage({sourceName:s,targetName:i,stream:tn.CANCEL_COMPLETE,streamId:t,reason:Ts(l)})}),a.sinkCapability.reject(Ts(e.reason)),a.isCancelled=!0,delete this.streamSinks[t];break;default:throw new Error("Unexpected stream case")}},Fm=async function(e,t){var s,i,r;await Promise.allSettled([(s=e.startCall)==null?void 0:s.promise,(i=e.pullCall)==null?void 0:i.promise,(r=e.cancelCall)==null?void 0:r.promise]),delete this.streamControllers[t]};var dl,uf;class jK{constructor({parsedData:e,rawData:t}){R(this,dl);R(this,uf);C(this,dl,e),C(this,uf,t)}getRaw(){return f(this,uf)}get(e){return f(this,dl).get(e)??null}getAll(){return x1(f(this,dl))}has(e){return f(this,dl).has(e)}}dl=new WeakMap,uf=new WeakMap;const xc=Symbol("INTERNAL");var df,ff,pf,dh;class zK{constructor(e,{name:t,intent:s,usage:i,rbGroups:r}){R(this,df,!1);R(this,ff,!1);R(this,pf,!1);R(this,dh,!0);C(this,df,!!(e&js.DISPLAY)),C(this,ff,!!(e&js.PRINT)),this.name=t,this.intent=s,this.usage=i,this.rbGroups=r}get visible(){if(f(this,pf))return f(this,dh);if(!f(this,dh))return!1;const{print:e,view:t}=this.usage;return f(this,df)?(t==null?void 0:t.viewState)!=="OFF":f(this,ff)?(e==null?void 0:e.printState)!=="OFF":!0}_setVisible(e,t,s=!1){e!==xc&&Mt("Internal method `_setVisible` called."),C(this,pf,s),C(this,dh,t)}}df=new WeakMap,ff=new WeakMap,pf=new WeakMap,dh=new WeakMap;var No,ft,fh,ph,mf,Cb;class HK{constructor(e,t=js.DISPLAY){R(this,mf);R(this,No,null);R(this,ft,new Map);R(this,fh,null);R(this,ph,null);if(this.renderingIntent=t,this.name=null,this.creator=null,e!==null){this.name=e.name,this.creator=e.creator,C(this,ph,e.order);for(const s of e.groups)f(this,ft).set(s.id,new zK(t,s));if(e.baseState==="OFF")for(const s of f(this,ft).values())s._setVisible(xc,!1);for(const s of e.on)f(this,ft).get(s)._setVisible(xc,!0);for(const s of e.off)f(this,ft).get(s)._setVisible(xc,!1);C(this,fh,this.getHash())}}isVisible(e){if(f(this,ft).size===0)return!0;if(!e)return Ky("Optional content group not defined."),!0;if(e.type==="OCG")return f(this,ft).has(e.id)?f(this,ft).get(e.id).visible:(Ue(`Optional content group not found: ${e.id}`),!0);if(e.type==="OCMD"){if(e.expression)return T(this,mf,Cb).call(this,e.expression);if(!e.policy||e.policy==="AnyOn"){for(const t of e.ids){if(!f(this,ft).has(t))return Ue(`Optional content group not found: ${t}`),!0;if(f(this,ft).get(t).visible)return!0}return!1}else if(e.policy==="AllOn"){for(const t of e.ids){if(!f(this,ft).has(t))return Ue(`Optional content group not found: ${t}`),!0;if(!f(this,ft).get(t).visible)return!1}return!0}else if(e.policy==="AnyOff"){for(const t of e.ids){if(!f(this,ft).has(t))return Ue(`Optional content group not found: ${t}`),!0;if(!f(this,ft).get(t).visible)return!0}return!1}else if(e.policy==="AllOff"){for(const t of e.ids){if(!f(this,ft).has(t))return Ue(`Optional content group not found: ${t}`),!0;if(f(this,ft).get(t).visible)return!1}return!0}return Ue(`Unknown optional content policy ${e.policy}.`),!0}return Ue(`Unknown group type ${e.type}.`),!0}setVisibility(e,t=!0,s=!0){var r;const i=f(this,ft).get(e);if(!i){Ue(`Optional content group not found: ${e}`);return}if(s&&t&&i.rbGroups.length)for(const o of i.rbGroups)for(const a of o)a!==e&&((r=f(this,ft).get(a))==null||r._setVisible(xc,!1,!0));i._setVisible(xc,!!t,!0),C(this,No,null)}setOCGState({state:e,preserveRB:t}){let s;for(const i of e){switch(i){case"ON":case"OFF":case"Toggle":s=i;continue}const r=f(this,ft).get(i);if(r)switch(s){case"ON":this.setVisibility(i,!0,t);break;case"OFF":this.setVisibility(i,!1,t);break;case"Toggle":this.setVisibility(i,!r.visible,t);break}}C(this,No,null)}get hasInitialVisibility(){return f(this,fh)===null||this.getHash()===f(this,fh)}getOrder(){return f(this,ft).size?f(this,ph)?f(this,ph).slice():[...f(this,ft).keys()]:null}getGroups(){return f(this,ft).size>0?x1(f(this,ft)):null}getGroup(e){return f(this,ft).get(e)||null}getHash(){if(f(this,No)!==null)return f(this,No);const e=new vP;for(const[t,s]of f(this,ft))e.update(`${t}:${s.visible}`);return C(this,No,e.hexdigest())}}No=new WeakMap,ft=new WeakMap,fh=new WeakMap,ph=new WeakMap,mf=new WeakSet,Cb=function(e){const t=e.length;if(t<2)return!0;const s=e[0];for(let i=1;i0){const l=r instanceof Uint8Array&&r.byteLength===r.buffer.byteLength?r.buffer:new Uint8Array(r).buffer;this._queuedChunks.push(l)}this._pdfDataRangeTransport=e,this._isStreamingSupported=!s,this._isRangeSupported=!t,this._contentLength=i,this._fullRequestReader=null,this._rangeReaders=[],e.addRangeListener((l,c)=>{this._onReceiveData({begin:l,chunk:c})}),e.addProgressListener((l,c)=>{this._onProgress({loaded:l,total:c})}),e.addProgressiveReadListener(l=>{this._onReceiveData({chunk:l})}),e.addProgressiveDoneListener(()=>{this._onProgressiveDone()}),e.transportReady()}_onReceiveData({begin:e,chunk:t}){const s=t instanceof Uint8Array&&t.byteLength===t.buffer.byteLength?t.buffer:new Uint8Array(t).buffer;if(e===void 0)this._fullRequestReader?this._fullRequestReader._enqueue(s):this._queuedChunks.push(s);else{const i=this._rangeReaders.some(function(r){return r._begin!==e?!1:(r._enqueue(s),!0)});pn(i,"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.")}}get _progressiveDataLength(){var e;return((e=this._fullRequestReader)==null?void 0:e._loaded)??0}_onProgress(e){var t,s,i,r;e.total===void 0?(s=(t=this._rangeReaders[0])==null?void 0:t.onProgress)==null||s.call(t,{loaded:e.loaded}):(r=(i=this._fullRequestReader)==null?void 0:i.onProgress)==null||r.call(i,{loaded:e.loaded,total:e.total})}_onProgressiveDone(){var e;(e=this._fullRequestReader)==null||e.progressiveDone(),this._progressiveDone=!0}_removeRangeReader(e){const t=this._rangeReaders.indexOf(e);t>=0&&this._rangeReaders.splice(t,1)}getFullReader(){pn(!this._fullRequestReader,"PDFDataTransportStream.getFullReader can only be called once.");const e=this._queuedChunks;return this._queuedChunks=null,new qK(this,e,this._progressiveDone,this._contentDispositionFilename)}getRangeReader(e,t){if(t<=this._progressiveDataLength)return null;const s=new UK(this,e,t);return this._pdfDataRangeTransport.requestDataRange(e,t),this._rangeReaders.push(s),s}cancelAllRequests(e){var t;(t=this._fullRequestReader)==null||t.cancel(e);for(const s of this._rangeReaders.slice(0))s.cancel(e);this._pdfDataRangeTransport.abort()}}class qK{constructor(e,t,s=!1,i=null){this._stream=e,this._done=s||!1,this._filename=$1(i)?i:null,this._queuedChunks=t||[],this._loaded=0;for(const r of this._queuedChunks)this._loaded+=r.byteLength;this._requests=[],this._headersReady=Promise.resolve(),e._fullRequestReader=this,this.onProgress=null}_enqueue(e){this._done||(this._requests.length>0?this._requests.shift().resolve({value:e,done:!1}):this._queuedChunks.push(e),this._loaded+=e.byteLength)}get headersReady(){return this._headersReady}get filename(){return this._filename}get isRangeSupported(){return this._stream._isRangeSupported}get isStreamingSupported(){return this._stream._isStreamingSupported}get contentLength(){return this._stream._contentLength}async read(){if(this._queuedChunks.length>0)return{value:this._queuedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0;for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0}progressiveDone(){this._done||(this._done=!0)}}class UK{constructor(e,t,s){this._stream=e,this._begin=t,this._end=s,this._queuedChunk=null,this._requests=[],this._done=!1,this.onProgress=null}_enqueue(e){if(!this._done){if(this._requests.length===0)this._queuedChunk=e;else{this._requests.shift().resolve({value:e,done:!1});for(const s of this._requests)s.resolve({value:void 0,done:!0});this._requests.length=0}this._done=!0,this._stream._removeRangeReader(this)}}get isStreamingSupported(){return!1}async read(){if(this._queuedChunk){const t=this._queuedChunk;return this._queuedChunk=null,{value:t,done:!1}}if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0;for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0,this._stream._removeRangeReader(this)}}function VK(n){let e=!0,t=s("filename\\*","i").exec(n);if(t){t=t[1];let h=a(t);return h=unescape(h),h=l(h),h=c(h),r(h)}if(t=o(n),t){const h=c(t);return r(h)}if(t=s("filename","i").exec(n),t){t=t[1];let h=a(t);return h=c(h),r(h)}function s(h,u){return new RegExp("(?:^|;)\\s*"+h+'\\s*=\\s*([^";\\s][^;\\s]*|"(?:[^"\\\\]|\\\\"?)+"?)',u)}function i(h,u){if(h){if(!/^[\x00-\xFF]+$/.test(u))return u;try{const d=new TextDecoder(h,{fatal:!0}),p=Xy(u);u=d.decode(p),e=!1}catch{}}return u}function r(h){return e&&/[\x80-\xff]/.test(h)&&(h=i("utf-8",h),e&&(h=i("iso-8859-1",h))),h}function o(h){const u=[];let d;const p=s("filename\\*((?!0\\d)\\d+)(\\*?)","ig");for(;(d=p.exec(h))!==null;){let[,g,v,y]=d;if(g=parseInt(g,10),g in u){if(g===0)break;continue}u[g]=[v,y]}const m=[];for(let g=0;g{if(!MP(r.status))throw Qy(r.status,i);this._reader=r.body.getReader(),this._headersCapability.resolve();const o=r.headers,{allowRangeRequests:a,suggestedLength:l}=O1({responseHeaders:o,isHttp:e.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=a,this._contentLength=l||this._contentLength,this._filename=N1(o),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new uc("Streaming is disabled."))}).catch(this._headersCapability.reject),this.onProgress=null}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){var s;await this._headersCapability.promise;const{value:e,done:t}=await this._reader.read();return t?{value:e,done:t}:(this._loaded+=e.byteLength,(s=this.onProgress)==null||s.call(this,{loaded:this._loaded,total:this._contentLength}),{value:OP(e),done:!1})}cancel(e){var t;(t=this._reader)==null||t.cancel(e),this._abortController.abort()}}class GK{constructor(e,t,s){this._stream=e,this._reader=null,this._loaded=0;const i=e.source;this._withCredentials=i.withCredentials||!1,this._readCapability=Promise.withResolvers(),this._isStreamingSupported=!i.disableStream,this._abortController=new AbortController;const r=new Headers(e.headers);r.append("Range",`bytes=${t}-${s-1}`);const o=i.url;fetch(o,IP(r,this._withCredentials,this._abortController)).then(a=>{if(!MP(a.status))throw Qy(a.status,o);this._readCapability.resolve(),this._reader=a.body.getReader()}).catch(this._readCapability.reject),this.onProgress=null}get isStreamingSupported(){return this._isStreamingSupported}async read(){var s;await this._readCapability.promise;const{value:e,done:t}=await this._reader.read();return t?{value:e,done:t}:(this._loaded+=e.byteLength,(s=this.onProgress)==null||s.call(this,{loaded:this._loaded}),{value:OP(e),done:!1})}cancel(e){var t;(t=this._reader)==null||t.cancel(e),this._abortController.abort()}}const z0=200,H0=206;function KK(n){const e=n.response;return typeof e!="string"?e:Xy(e).buffer}class ZK{constructor({url:e,httpHeaders:t,withCredentials:s}){this.url=e,this.isHttp=/^https?:/i.test(e),this.headers=I1(this.isHttp,t),this.withCredentials=s||!1,this.currXhrId=0,this.pendingRequests=Object.create(null)}requestRange(e,t,s){const i={begin:e,end:t};for(const r in s)i[r]=s[r];return this.request(i)}requestFull(e){return this.request(e)}request(e){const t=new XMLHttpRequest,s=this.currXhrId++,i=this.pendingRequests[s]={xhr:t};t.open("GET",this.url),t.withCredentials=this.withCredentials;for(const[r,o]of this.headers)t.setRequestHeader(r,o);return this.isHttp&&"begin"in e&&"end"in e?(t.setRequestHeader("Range",`bytes=${e.begin}-${e.end-1}`),i.expectedStatus=H0):i.expectedStatus=z0,t.responseType="arraybuffer",e.onError&&(t.onerror=function(r){e.onError(t.status)}),t.onreadystatechange=this.onStateChange.bind(this,s),t.onprogress=this.onProgress.bind(this,s),i.onHeadersReceived=e.onHeadersReceived,i.onDone=e.onDone,i.onError=e.onError,i.onProgress=e.onProgress,t.send(null),s}onProgress(e,t){var i;const s=this.pendingRequests[e];s&&((i=s.onProgress)==null||i.call(s,t))}onStateChange(e,t){var l,c,h;const s=this.pendingRequests[e];if(!s)return;const i=s.xhr;if(i.readyState>=2&&s.onHeadersReceived&&(s.onHeadersReceived(),delete s.onHeadersReceived),i.readyState!==4||!(e in this.pendingRequests))return;if(delete this.pendingRequests[e],i.status===0&&this.isHttp){(l=s.onError)==null||l.call(s,i.status);return}const r=i.status||z0;if(!(r===z0&&s.expectedStatus===H0)&&r!==s.expectedStatus){(c=s.onError)==null||c.call(s,i.status);return}const a=KK(i);if(r===H0){const u=i.getResponseHeader("Content-Range"),d=/bytes (\d+)-(\d+)\/(\d+)/.exec(u);s.onDone({begin:parseInt(d[1],10),chunk:a})}else a?s.onDone({begin:0,chunk:a}):(h=s.onError)==null||h.call(s,i.status)}getRequestXhr(e){return this.pendingRequests[e].xhr}isPendingRequest(e){return e in this.pendingRequests}abortRequest(e){const t=this.pendingRequests[e].xhr;delete this.pendingRequests[e],t.abort()}}class XK{constructor(e){this._source=e,this._manager=new ZK(e),this._rangeChunkSize=e.rangeChunkSize,this._fullRequestReader=null,this._rangeRequestReaders=[]}_onRangeRequestReaderClosed(e){const t=this._rangeRequestReaders.indexOf(e);t>=0&&this._rangeRequestReaders.splice(t,1)}getFullReader(){return pn(!this._fullRequestReader,"PDFNetworkStream.getFullReader can only be called once."),this._fullRequestReader=new YK(this._manager,this._source),this._fullRequestReader}getRangeReader(e,t){const s=new JK(this._manager,e,t);return s.onClosed=this._onRangeRequestReaderClosed.bind(this),this._rangeRequestReaders.push(s),s}cancelAllRequests(e){var t;(t=this._fullRequestReader)==null||t.cancel(e);for(const s of this._rangeRequestReaders.slice(0))s.cancel(e)}}class YK{constructor(e,t){this._manager=e;const s={onHeadersReceived:this._onHeadersReceived.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=t.url,this._fullRequestId=e.requestFull(s),this._headersCapability=Promise.withResolvers(),this._disableRange=t.disableRange||!1,this._contentLength=t.length,this._rangeChunkSize=t.rangeChunkSize,!this._rangeChunkSize&&!this._disableRange&&(this._disableRange=!0),this._isStreamingSupported=!1,this._isRangeSupported=!1,this._cachedChunks=[],this._requests=[],this._done=!1,this._storedError=void 0,this._filename=null,this.onProgress=null}_onHeadersReceived(){const e=this._fullRequestId,t=this._manager.getRequestXhr(e),s=new Headers(t.getAllResponseHeaders().trim().split(/[\r\n]+/).map(o=>{const[a,...l]=o.split(": ");return[a,l.join(": ")]})),{allowRangeRequests:i,suggestedLength:r}=O1({responseHeaders:s,isHttp:this._manager.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});i&&(this._isRangeSupported=!0),this._contentLength=r||this._contentLength,this._filename=N1(s),this._isRangeSupported&&this._manager.abortRequest(e),this._headersCapability.resolve()}_onDone(e){if(e&&(this._requests.length>0?this._requests.shift().resolve({value:e.chunk,done:!1}):this._cachedChunks.push(e.chunk)),this._done=!0,!(this._cachedChunks.length>0)){for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0}}_onError(e){this._storedError=Qy(e,this._url),this._headersCapability.reject(this._storedError);for(const t of this._requests)t.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0}_onProgress(e){var t;(t=this.onProgress)==null||t.call(this,{loaded:e.loaded,total:e.lengthComputable?e.total:this._contentLength})}get filename(){return this._filename}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}get contentLength(){return this._contentLength}get headersReady(){return this._headersCapability.promise}async read(){if(this._storedError)throw this._storedError;if(this._cachedChunks.length>0)return{value:this._cachedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this._headersCapability.reject(e);for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._fullRequestId)&&this._manager.abortRequest(this._fullRequestId),this._fullRequestReader=null}}class JK{constructor(e,t,s){this._manager=e;const i={onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=e.url,this._requestId=e.requestRange(t,s,i),this._requests=[],this._queuedChunk=null,this._done=!1,this._storedError=void 0,this.onProgress=null,this.onClosed=null}_close(){var e;(e=this.onClosed)==null||e.call(this,this)}_onDone(e){const t=e.chunk;this._requests.length>0?this._requests.shift().resolve({value:t,done:!1}):this._queuedChunk=t,this._done=!0;for(const s of this._requests)s.resolve({value:void 0,done:!0});this._requests.length=0,this._close()}_onError(e){this._storedError=Qy(e,this._url);for(const t of this._requests)t.reject(this._storedError);this._requests.length=0,this._queuedChunk=null}_onProgress(e){var t;this.isStreamingSupported||(t=this.onProgress)==null||t.call(this,{loaded:e.loaded})}get isStreamingSupported(){return!1}async read(){if(this._storedError)throw this._storedError;if(this._queuedChunk!==null){const t=this._queuedChunk;return this._queuedChunk=null,{value:t,done:!1}}if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0;for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._requestId)&&this._manager.abortRequest(this._requestId),this._close()}}const QK=/^[a-z][a-z0-9\-+.]+:/i;function e9(n){if(QK.test(n))return new URL(n);const e=ca.get("url");return new URL(e.pathToFileURL(n))}function NP(n,e,t){return n.protocol==="http:"?ca.get("http").request(n,{headers:e},t):ca.get("https").request(n,{headers:e},t)}class t9{constructor(e){this.source=e,this.url=e9(e.url),this.isHttp=this.url.protocol==="http:"||this.url.protocol==="https:",this.isFsUrl=this.url.protocol==="file:",this.headers=I1(this.isHttp,e.httpHeaders),this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){var e;return((e=this._fullRequestReader)==null?void 0:e._loaded)??0}getFullReader(){return pn(!this._fullRequestReader,"PDFNodeStream.getFullReader can only be called once."),this._fullRequestReader=this.isFsUrl?new i9(this):new n9(this),this._fullRequestReader}getRangeReader(e,t){if(t<=this._progressiveDataLength)return null;const s=this.isFsUrl?new r9(this,e,t):new s9(this,e,t);return this._rangeRequestReaders.push(s),s}cancelAllRequests(e){var t;(t=this._fullRequestReader)==null||t.cancel(e);for(const s of this._rangeRequestReaders.slice(0))s.cancel(e)}}class LP{constructor(e){this._url=e.url,this._done=!1,this._storedError=null,this.onProgress=null;const t=e.source;this._contentLength=t.length,this._loaded=0,this._filename=null,this._disableRange=t.disableRange||!1,this._rangeChunkSize=t.rangeChunkSize,!this._rangeChunkSize&&!this._disableRange&&(this._disableRange=!0),this._isStreamingSupported=!t.disableStream,this._isRangeSupported=!t.disableRange,this._readableStream=null,this._readCapability=Promise.withResolvers(),this._headersCapability=Promise.withResolvers()}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){var s;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const e=this._readableStream.read();return e===null?(this._readCapability=Promise.withResolvers(),this.read()):(this._loaded+=e.length,(s=this.onProgress)==null||s.call(this,{loaded:this._loaded,total:this._contentLength}),{value:new Uint8Array(e).buffer,done:!1})}cancel(e){if(!this._readableStream){this._error(e);return}this._readableStream.destroy(e)}_error(e){this._storedError=e,this._readCapability.resolve()}_setReadableStream(e){this._readableStream=e,e.on("readable",()=>{this._readCapability.resolve()}),e.on("end",()=>{e.destroy(),this._done=!0,this._readCapability.resolve()}),e.on("error",t=>{this._error(t)}),!this._isStreamingSupported&&this._isRangeSupported&&this._error(new uc("streaming is disabled")),this._storedError&&this._readableStream.destroy(this._storedError)}}class DP{constructor(e){this._url=e.url,this._done=!1,this._storedError=null,this.onProgress=null,this._loaded=0,this._readableStream=null,this._readCapability=Promise.withResolvers();const t=e.source;this._isStreamingSupported=!t.disableStream}get isStreamingSupported(){return this._isStreamingSupported}async read(){var s;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const e=this._readableStream.read();return e===null?(this._readCapability=Promise.withResolvers(),this.read()):(this._loaded+=e.length,(s=this.onProgress)==null||s.call(this,{loaded:this._loaded}),{value:new Uint8Array(e).buffer,done:!1})}cancel(e){if(!this._readableStream){this._error(e);return}this._readableStream.destroy(e)}_error(e){this._storedError=e,this._readCapability.resolve()}_setReadableStream(e){this._readableStream=e,e.on("readable",()=>{this._readCapability.resolve()}),e.on("end",()=>{e.destroy(),this._done=!0,this._readCapability.resolve()}),e.on("error",t=>{this._error(t)}),this._storedError&&this._readableStream.destroy(this._storedError)}}class n9 extends LP{constructor(e){super(e);const t=Object.fromEntries(e.headers),s=i=>{if(i.statusCode===404){const l=new hc(`Missing PDF "${this._url}".`);this._storedError=l,this._headersCapability.reject(l);return}this._headersCapability.resolve(),this._setReadableStream(i);const r=new Headers(this._readableStream.headers),{allowRangeRequests:o,suggestedLength:a}=O1({responseHeaders:r,isHttp:e.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=o,this._contentLength=a||this._contentLength,this._filename=N1(r)};this._request=NP(this._url,t,s),this._request.on("error",i=>{this._storedError=i,this._headersCapability.reject(i)}),this._request.end()}}class s9 extends DP{constructor(e,t,s){super(e);const i=Object.fromEntries(e.headers);i.Range=`bytes=${t}-${s-1}`;const r=o=>{if(o.statusCode===404){const a=new hc(`Missing PDF "${this._url}".`);this._storedError=a;return}this._setReadableStream(o)};this._request=NP(this._url,i,r),this._request.on("error",o=>{this._storedError=o}),this._request.end()}}class i9 extends LP{constructor(e){super(e);const t=ca.get("fs");t.promises.lstat(this._url).then(s=>{this._contentLength=s.size,this._setReadableStream(t.createReadStream(this._url)),this._headersCapability.resolve()},s=>{s.code==="ENOENT"&&(s=new hc(`Missing PDF "${this._url}".`)),this._storedError=s,this._headersCapability.reject(s)})}}class r9 extends DP{constructor(e,t,s){super(e);const i=ca.get("fs");this._setReadableStream(i.createReadStream(this._url,{start:t,end:s-1}))}}const o9=1e5,ps=30,a9=.8;var BE,Lo,ys,gf,yf,fl,Lr,vf,bf,pl,mh,gh,Do,yh,wf,vh,ml,_f,Sf,Wt,gl,yl,kf,Fo,bh,ho,FP,jP,Tb,qs,jm,Pb,zP,HP;let $b=(Wt=class{constructor({textContentSource:e,container:t,viewport:s}){R(this,ho);R(this,Lo,Promise.withResolvers());R(this,ys,null);R(this,gf,!1);R(this,yf,!!((BE=globalThis.FontInspector)!=null&&BE.enabled));R(this,fl,null);R(this,Lr,null);R(this,vf,0);R(this,bf,0);R(this,pl,null);R(this,mh,null);R(this,gh,0);R(this,Do,0);R(this,yh,Object.create(null));R(this,wf,[]);R(this,vh,null);R(this,ml,[]);R(this,_f,new WeakMap);R(this,Sf,null);var l;if(e instanceof ReadableStream)C(this,vh,e);else if(typeof e=="object")C(this,vh,new ReadableStream({start(c){c.enqueue(e),c.close()}}));else throw new Error('No "textContentSource" parameter specified.');C(this,ys,C(this,mh,t)),C(this,Do,s.scale*(globalThis.devicePixelRatio||1)),C(this,gh,s.rotation),C(this,Lr,{div:null,properties:null,ctx:null});const{pageWidth:i,pageHeight:r,pageX:o,pageY:a}=s.rawDims;C(this,Sf,[1,0,0,-1,-o,a+r]),C(this,bf,i),C(this,vf,r),T(l=Wt,qs,zP).call(l),Yl(t,s),f(this,Lo).promise.finally(()=>{f(Wt,bh).delete(this),C(this,Lr,null),C(this,yh,null)}).catch(()=>{})}static get fontFamilyMap(){const{isWindows:e,isFirefox:t}=cs.platform;return Ye(this,"fontFamilyMap",new Map([["sans-serif",`${e&&t?"Calibri, ":""}sans-serif`],["monospace",`${e&&t?"Lucida Console, ":""}monospace`]]))}render(){const e=()=>{f(this,pl).read().then(({value:t,done:s})=>{if(s){f(this,Lo).resolve();return}f(this,fl)??C(this,fl,t.lang),Object.assign(f(this,yh),t.styles),T(this,ho,FP).call(this,t.items),e()},f(this,Lo).reject)};return C(this,pl,f(this,vh).getReader()),f(Wt,bh).add(this),e(),f(this,Lo).promise}update({viewport:e,onBefore:t=null}){var r;const s=e.scale*(globalThis.devicePixelRatio||1),i=e.rotation;if(i!==f(this,gh)&&(t==null||t(),C(this,gh,i),Yl(f(this,mh),{rotation:i})),s!==f(this,Do)){t==null||t(),C(this,Do,s);const o={div:null,properties:null,ctx:T(r=Wt,qs,jm).call(r,f(this,fl))};for(const a of f(this,ml))o.properties=f(this,_f).get(a),o.div=a,T(this,ho,Tb).call(this,o)}}cancel(){var t;const e=new uc("TextLayer task cancelled.");(t=f(this,pl))==null||t.cancel(e).catch(()=>{}),C(this,pl,null),f(this,Lo).reject(e)}get textDivs(){return f(this,ml)}get textContentItemsStr(){return f(this,wf)}static cleanup(){if(!(f(this,bh).size>0)){f(this,gl).clear();for(const{canvas:e}of f(this,yl).values())e.remove();f(this,yl).clear()}}},Lo=new WeakMap,ys=new WeakMap,gf=new WeakMap,yf=new WeakMap,fl=new WeakMap,Lr=new WeakMap,vf=new WeakMap,bf=new WeakMap,pl=new WeakMap,mh=new WeakMap,gh=new WeakMap,Do=new WeakMap,yh=new WeakMap,wf=new WeakMap,vh=new WeakMap,ml=new WeakMap,_f=new WeakMap,Sf=new WeakMap,gl=new WeakMap,yl=new WeakMap,kf=new WeakMap,Fo=new WeakMap,bh=new WeakMap,ho=new WeakSet,FP=function(e){var i,r;if(f(this,gf))return;(r=f(this,Lr)).ctx??(r.ctx=T(i=Wt,qs,jm).call(i,f(this,fl)));const t=f(this,ml),s=f(this,wf);for(const o of e){if(t.length>o9){Ue("Ignoring additional textDivs for performance reasons."),C(this,gf,!0);return}if(o.str===void 0){if(o.type==="beginMarkedContentProps"||o.type==="beginMarkedContent"){const a=f(this,ys);C(this,ys,document.createElement("span")),f(this,ys).classList.add("markedContent"),o.id!==null&&f(this,ys).setAttribute("id",`${o.id}`),a.append(f(this,ys))}else o.type==="endMarkedContent"&&C(this,ys,f(this,ys).parentNode);continue}s.push(o.str),T(this,ho,jP).call(this,o)}},jP=function(e){var g;const t=document.createElement("span"),s={angle:0,canvasWidth:0,hasText:e.str!=="",hasEOL:e.hasEOL,fontSize:0};f(this,ml).push(t);const i=Ce.transform(f(this,Sf),e.transform);let r=Math.atan2(i[1],i[0]);const o=f(this,yh)[e.fontName];o.vertical&&(r+=Math.PI/2);let a=f(this,yf)&&o.fontSubstitution||o.fontFamily;a=Wt.fontFamilyMap.get(a)||a;const l=Math.hypot(i[2],i[3]),c=l*T(g=Wt,qs,HP).call(g,a,f(this,fl));let h,u;r===0?(h=i[4],u=i[5]-c):(h=i[4]+c*Math.sin(r),u=i[5]-c*Math.cos(r));const d="calc(var(--scale-factor)*",p=t.style;f(this,ys)===f(this,mh)?(p.left=`${(100*h/f(this,bf)).toFixed(2)}%`,p.top=`${(100*u/f(this,vf)).toFixed(2)}%`):(p.left=`${d}${h.toFixed(2)}px)`,p.top=`${d}${u.toFixed(2)}px)`),p.fontSize=`${d}${(f(Wt,Fo)*l).toFixed(2)}px)`,p.fontFamily=a,s.fontSize=l,t.setAttribute("role","presentation"),t.textContent=e.str,t.dir=e.dir,f(this,yf)&&(t.dataset.fontName=o.fontSubstitutionLoadedName||e.fontName),r!==0&&(s.angle=r*(180/Math.PI));let m=!1;if(e.str.length>1)m=!0;else if(e.str!==" "&&e.transform[0]!==e.transform[3]){const v=Math.abs(e.transform[0]),y=Math.abs(e.transform[3]);v!==y&&Math.max(v,y)/Math.min(v,y)>1.5&&(m=!0)}if(m&&(s.canvasWidth=o.vertical?e.height:e.width),f(this,_f).set(t,s),f(this,Lr).div=t,f(this,Lr).properties=s,T(this,ho,Tb).call(this,f(this,Lr)),s.hasText&&f(this,ys).append(t),s.hasEOL){const v=document.createElement("br");v.setAttribute("role","presentation"),f(this,ys).append(v)}},Tb=function(e){var a;const{div:t,properties:s,ctx:i}=e,{style:r}=t;let o="";if(f(Wt,Fo)>1&&(o=`scale(${1/f(Wt,Fo)})`),s.canvasWidth!==0&&s.hasText){const{fontFamily:l}=r,{canvasWidth:c,fontSize:h}=s;T(a=Wt,qs,Pb).call(a,i,h*f(this,Do),l);const{width:u}=i.measureText(t.textContent);u>0&&(o=`scaleX(${c*f(this,Do)/u}) ${o}`)}s.angle!==0&&(o=`rotate(${s.angle}deg) ${o}`),o.length>0&&(r.transform=o)},qs=new WeakSet,jm=function(e=null){let t=f(this,yl).get(e||(e=""));if(!t){const s=document.createElement("canvas");s.className="hiddenCanvasElement",s.lang=e,document.body.append(s),t=s.getContext("2d",{alpha:!1,willReadFrequently:!0}),f(this,yl).set(e,t),f(this,kf).set(t,{size:0,family:""})}return t},Pb=function(e,t,s){const i=f(this,kf).get(e);t===i.size&&s===i.family||(e.font=`${t}px ${s}`,i.size=t,i.family=s)},zP=function(){if(f(this,Fo)!==null)return;const e=document.createElement("div");e.style.opacity=0,e.style.lineHeight=1,e.style.fontSize="1px",e.style.position="absolute",e.textContent="X",document.body.append(e),C(this,Fo,e.getBoundingClientRect().height),e.remove()},HP=function(e,t){const s=f(this,gl).get(e);if(s)return s;const i=T(this,qs,jm).call(this,t);i.canvas.width=i.canvas.height=ps,T(this,qs,Pb).call(this,i,ps,e);const r=i.measureText("");let o=r.fontBoundingBoxAscent,a=Math.abs(r.fontBoundingBoxDescent);if(o){const h=o/(o+a);return f(this,gl).set(e,h),i.canvas.width=i.canvas.height=0,h}i.strokeStyle="red",i.clearRect(0,0,ps,ps),i.strokeText("g",0,0);let l=i.getImageData(0,0,ps,ps).data;a=0;for(let h=l.length-1-3;h>=0;h-=4)if(l[h]>0){a=Math.ceil(h/4/ps);break}i.clearRect(0,0,ps,ps),i.strokeText("A",0,ps),l=i.getImageData(0,0,ps,ps).data,o=0;for(let h=0,u=l.length;h0){o=ps-Math.floor(h/4/ps);break}i.canvas.width=i.canvas.height=0;const c=o?o/(o+a):a9;return f(this,gl).set(e,c),c},R(Wt,qs),R(Wt,gl,new Map),R(Wt,yl,new Map),R(Wt,kf,new WeakMap),R(Wt,Fo,null),R(Wt,bh,new Set),Wt);class Pd{static textContent(e){const t=[],s={items:t,styles:Object.create(null)};function i(r){var l;if(!r)return;let o=null;const a=r.name;if(a==="#text")o=r.value;else if(Pd.shouldBuildText(a))(l=r==null?void 0:r.attributes)!=null&&l.textContent?o=r.attributes.textContent:r.value&&(o=r.value);else return;if(o!==null&&t.push({str:o}),!!r.children)for(const c of r.children)i(c)}return i(e),s}static shouldBuildText(e){return!(e==="textarea"||e==="input"||e==="option"||e==="select")}}const l9=65536,c9=100,h9=5e3,u9=ts?kK:wK,d9=ts?AK:kP,f9=ts?SK:_K,p9=ts?xK:CP;function m9(n={}){typeof n=="string"||n instanceof URL?n={url:n}:(n instanceof ArrayBuffer||ArrayBuffer.isView(n))&&(n={data:n});const e=new Rb,{docId:t}=e,s=n.url?g9(n.url):null,i=n.data?y9(n.data):null,r=n.httpHeaders||null,o=n.withCredentials===!0,a=n.password??null,l=n.range instanceof BP?n.range:null,c=Number.isInteger(n.rangeChunkSize)&&n.rangeChunkSize>0?n.rangeChunkSize:l9;let h=n.worker instanceof qc?n.worker:null;const u=n.verbosity,d=typeof n.docBaseUrl=="string"&&!Jy(n.docBaseUrl)?n.docBaseUrl:null,p=typeof n.cMapUrl=="string"?n.cMapUrl:null,m=n.cMapPacked!==!1,g=n.CMapReaderFactory||d9,v=typeof n.standardFontDataUrl=="string"?n.standardFontDataUrl:null,y=n.StandardFontDataFactory||p9,b=n.stopAtErrors!==!0,_=Number.isInteger(n.maxImageSize)&&n.maxImageSize>-1?n.maxImageSize:-1,S=n.isEvalSupported!==!1,A=typeof n.isOffscreenCanvasSupported=="boolean"?n.isOffscreenCanvasSupported:!ts,E=typeof n.isChrome=="boolean"?n.isChrome:!cs.platform.isFirefox&&typeof window<"u"&&!!(window!=null&&window.chrome),$=Number.isInteger(n.canvasMaxAreaInBytes)?n.canvasMaxAreaInBytes:-1,O=typeof n.disableFontFace=="boolean"?n.disableFontFace:ts,F=n.fontExtraProperties===!0,q=n.enableXfa===!0,N=n.ownerDocument||globalThis.document,z=n.disableRange===!0,G=n.disableStream===!0,L=n.disableAutoFetch===!0,J=n.pdfBug===!0,Q=n.CanvasFactory||u9,ee=n.FilterFactory||f9,ae=n.enableHWA===!0,ye=l?l.length:n.length??NaN,B=typeof n.useSystemFonts=="boolean"?n.useSystemFonts:!ts&&!O,P=typeof n.useWorkerFetch=="boolean"?n.useWorkerFetch:g===kP&&y===CP&&p&&v&&zu(p,document.baseURI)&&zu(v,document.baseURI);n.canvasFactory&&ZA("`canvasFactory`-instance option, please use `CanvasFactory` instead."),n.filterFactory&&ZA("`filterFactory`-instance option, please use `FilterFactory` instead.");const D=null;YG(u);const M={canvasFactory:new Q({ownerDocument:N,enableHWA:ae}),filterFactory:new ee({docId:t,ownerDocument:N}),cMapReaderFactory:P?null:new g({baseUrl:p,isCompressed:m}),standardFontDataFactory:P?null:new y({baseUrl:v})};if(!h){const I={verbosity:u,port:eo.workerPort};h=I.port?qc.fromPort(I):new qc(I),e._worker=h}const w={docId:t,apiVersion:"4.8.69",data:i,password:a,disableAutoFetch:L,rangeChunkSize:c,length:ye,docBaseUrl:d,enableXfa:q,evaluatorOptions:{maxImageSize:_,disableFontFace:O,ignoreErrors:b,isEvalSupported:S,isOffscreenCanvasSupported:A,isChrome:E,canvasMaxAreaInBytes:$,fontExtraProperties:F,useSystemFonts:B,cMapUrl:P?p:null,standardFontDataUrl:P?v:null}},x={disableFontFace:O,fontExtraProperties:F,ownerDocument:N,pdfBug:J,styleElement:D,loadingParams:{disableAutoFetch:L,enableXfa:q}};return h.promise.then(function(){if(e.destroyed)throw new Error("Loading aborted");if(h.destroyed)throw new Error("Worker was destroyed");const I=h.messageHandler.sendWithPromise("GetDocRequest",w,i?[i.buffer]:null);let K;if(l)K=new BK(l,{disableRange:z,disableStream:G});else if(!i){if(!s)throw new Error("getDocument - no `url` parameter provided.");let X;ts?X=typeof fetch<"u"&&typeof Response<"u"&&"body"in Response.prototype&&zu(s)?ax:t9:X=zu(s)?ax:XK,K=new X({url:s,length:ye,httpHeaders:r,withCredentials:o,rangeChunkSize:c,disableRange:z,disableStream:G})}return I.then(X=>{if(e.destroyed)throw new Error("Loading aborted");if(h.destroyed)throw new Error("Worker was destroyed");const ue=new Gu(t,X,h.port),oe=new _9(ue,e,K,x,M);e._transport=oe,ue.send("Ready",null)})}).catch(e._capability.reject),e}function g9(n){if(n instanceof URL)return n.href;try{return new URL(n,window.location).href}catch{if(ts&&typeof n=="string")return n}throw new Error("Invalid PDF url data: either string or URL-object is expected in the url property.")}function y9(n){if(ts&&typeof Buffer<"u"&&n instanceof Buffer)throw new Error("Please provide binary data as `Uint8Array`, rather than `Buffer`.");if(n instanceof Uint8Array&&n.byteLength===n.buffer.byteLength)return n;if(typeof n=="string")return Xy(n);if(n instanceof ArrayBuffer||ArrayBuffer.isView(n)||typeof n=="object"&&!isNaN(n==null?void 0:n.length))return new Uint8Array(n);throw new Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.")}function lx(n){return typeof n=="object"&&Number.isInteger(n==null?void 0:n.num)&&n.num>=0&&Number.isInteger(n==null?void 0:n.gen)&&n.gen>=0}var fy;const py=class py{constructor(){this._capability=Promise.withResolvers(),this._transport=null,this._worker=null,this.docId=`d${ss(py,fy)._++}`,this.destroyed=!1,this.onPassword=null,this.onProgress=null}get promise(){return this._capability.promise}async destroy(){var e,t,s;this.destroyed=!0;try{(e=this._worker)!=null&&e.port&&(this._worker._pendingDestroy=!0),await((t=this._transport)==null?void 0:t.destroy())}catch(i){throw(s=this._worker)!=null&&s.port&&delete this._worker._pendingDestroy,i}this._transport=null,this._worker&&(this._worker.destroy(),this._worker=null)}};fy=new WeakMap,R(py,fy,0);let Rb=py,BP=class{constructor(e,t,s=!1,i=null){this.length=e,this.initialData=t,this.progressiveDone=s,this.contentDispositionFilename=i,this._rangeListeners=[],this._progressListeners=[],this._progressiveReadListeners=[],this._progressiveDoneListeners=[],this._readyCapability=Promise.withResolvers()}addRangeListener(e){this._rangeListeners.push(e)}addProgressListener(e){this._progressListeners.push(e)}addProgressiveReadListener(e){this._progressiveReadListeners.push(e)}addProgressiveDoneListener(e){this._progressiveDoneListeners.push(e)}onDataRange(e,t){for(const s of this._rangeListeners)s(e,t)}onDataProgress(e,t){this._readyCapability.promise.then(()=>{for(const s of this._progressListeners)s(e,t)})}onDataProgressiveRead(e){this._readyCapability.promise.then(()=>{for(const t of this._progressiveReadListeners)t(e)})}onDataProgressiveDone(){this._readyCapability.promise.then(()=>{for(const e of this._progressiveDoneListeners)e()})}transportReady(){this._readyCapability.resolve()}requestDataRange(e,t){Mt("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}};class v9{constructor(e,t){this._pdfInfo=e,this._transport=t}get annotationStorage(){return this._transport.annotationStorage}get canvasFactory(){return this._transport.canvasFactory}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return Ye(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(e){return this._transport.getPage(e)}getPageIndex(e){return this._transport.getPageIndex(e)}getDestinations(){return this._transport.getDestinations()}getDestination(e){return this._transport.getDestination(e)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig({intent:e="display"}={}){const{renderingIntent:t}=this._transport.getRenderingIntent(e);return this._transport.getOptionalContentConfig(t)}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(e=!1){return this._transport.startCleanup(e||this.isPureXfa)}destroy(){return this.loadingTask.destroy()}cachedPageNumber(e){return this._transport.cachedPageNumber(e)}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}var jo,Dr,ni,Ec,zm;class b9{constructor(e,t,s,i=!1){R(this,ni);R(this,jo,null);R(this,Dr,!1);this._pageIndex=e,this._pageInfo=t,this._transport=s,this._stats=i?new KA:null,this._pdfBug=i,this.commonObjs=s.commonObjs,this.objs=new qP,this._maybeCleanupAfterRender=!1,this._intentStates=new Map,this.destroyed=!1}get pageNumber(){return this._pageIndex+1}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport({scale:e,rotation:t=this.rotate,offsetX:s=0,offsetY:i=0,dontFlip:r=!1}={}){return new vp({viewBox:this.view,scale:e,rotation:t,offsetX:s,offsetY:i,dontFlip:r})}getAnnotations({intent:e="display"}={}){const{renderingIntent:t}=this._transport.getRenderingIntent(e);return this._transport.getAnnotations(this._pageIndex,t)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return Ye(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){var e;return((e=this._transport._htmlForXfa)==null?void 0:e.children[this._pageIndex])||null}render({canvasContext:e,viewport:t,intent:s="display",annotationMode:i=_o.ENABLE,transform:r=null,background:o=null,optionalContentConfigPromise:a=null,annotationCanvasMap:l=null,pageColors:c=null,printAnnotationStorage:h=null,isEditing:u=!1}){var S,A;(S=this._stats)==null||S.time("Overall");const d=this._transport.getRenderingIntent(s,i,h,u),{renderingIntent:p,cacheKey:m}=d;C(this,Dr,!1),T(this,ni,zm).call(this),a||(a=this._transport.getOptionalContentConfig(p));let g=this._intentStates.get(m);g||(g=Object.create(null),this._intentStates.set(m,g)),g.streamReaderCancelTimeout&&(clearTimeout(g.streamReaderCancelTimeout),g.streamReaderCancelTimeout=null);const v=!!(p&js.PRINT);g.displayReadyCapability||(g.displayReadyCapability=Promise.withResolvers(),g.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},(A=this._stats)==null||A.time("Page Request"),this._pumpOperatorList(d));const y=E=>{var $;g.renderTasks.delete(b),(this._maybeCleanupAfterRender||v)&&C(this,Dr,!0),T(this,ni,Ec).call(this,!v),E?(b.capability.reject(E),this._abortOperatorList({intentState:g,reason:E instanceof Error?E:new Error(E)})):b.capability.resolve(),this._stats&&(this._stats.timeEnd("Rendering"),this._stats.timeEnd("Overall"),($=globalThis.Stats)!=null&&$.enabled&&globalThis.Stats.add(this.pageNumber,this._stats))},b=new Ib({callback:y,params:{canvasContext:e,viewport:t,transform:r,background:o},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:l,operatorList:g.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!v,pdfBug:this._pdfBug,pageColors:c});(g.renderTasks||(g.renderTasks=new Set)).add(b);const _=b.task;return Promise.all([g.displayReadyCapability.promise,a]).then(([E,$])=>{var O;if(this.destroyed){y();return}if((O=this._stats)==null||O.time("Rendering"),!($.renderingIntent&p))throw new Error("Must use the same `intent`-argument when calling the `PDFPageProxy.render` and `PDFDocumentProxy.getOptionalContentConfig` methods.");b.initializeGraphics({transparency:E,optionalContentConfig:$}),b.operatorListChanged()}).catch(y),_}getOperatorList({intent:e="display",annotationMode:t=_o.ENABLE,printAnnotationStorage:s=null,isEditing:i=!1}={}){var c;function r(){a.operatorList.lastChunk&&(a.opListReadCapability.resolve(a.operatorList),a.renderTasks.delete(l))}const o=this._transport.getRenderingIntent(e,t,s,i,!0);let a=this._intentStates.get(o.cacheKey);a||(a=Object.create(null),this._intentStates.set(o.cacheKey,a));let l;return a.opListReadCapability||(l=Object.create(null),l.operatorListChanged=r,a.opListReadCapability=Promise.withResolvers(),(a.renderTasks||(a.renderTasks=new Set)).add(l),a.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},(c=this._stats)==null||c.time("Page Request"),this._pumpOperatorList(o)),a.opListReadCapability.promise}streamTextContent({includeMarkedContent:e=!1,disableNormalization:t=!1}={}){return this._transport.messageHandler.sendWithStream("GetTextContent",{pageIndex:this._pageIndex,includeMarkedContent:e===!0,disableNormalization:t===!0},{highWaterMark:100,size(i){return i.items.length}})}getTextContent(e={}){if(this._transport._htmlForXfa)return this.getXfa().then(s=>Pd.textContent(s));const t=this.streamTextContent(e);return new Promise(function(s,i){function r(){o.read().then(function({value:l,done:c}){if(c){s(a);return}a.lang??(a.lang=l.lang),Object.assign(a.styles,l.styles),a.items.push(...l.items),r()},i)}const o=t.getReader(),a={items:[],styles:Object.create(null),lang:null};r()})}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;const e=[];for(const t of this._intentStates.values())if(this._abortOperatorList({intentState:t,reason:new Error("Page was destroyed."),force:!0}),!t.opListReadCapability)for(const s of t.renderTasks)e.push(s.completed),s.cancel();return this.objs.clear(),C(this,Dr,!1),T(this,ni,zm).call(this),Promise.all(e)}cleanup(e=!1){C(this,Dr,!0);const t=T(this,ni,Ec).call(this,!1);return e&&t&&this._stats&&(this._stats=new KA),t}_startRenderPage(e,t){var i,r;const s=this._intentStates.get(t);s&&((i=this._stats)==null||i.timeEnd("Page Request"),(r=s.displayReadyCapability)==null||r.resolve(e))}_renderPageChunk(e,t){for(let s=0,i=e.length;s{l.read().then(({value:u,done:d})=>{if(d){c.streamReader=null;return}this._transport.destroyed||(this._renderPageChunk(u,c),h())},u=>{if(c.streamReader=null,!this._transport.destroyed){if(c.operatorList){c.operatorList.lastChunk=!0;for(const d of c.renderTasks)d.operatorListChanged();T(this,ni,Ec).call(this,!0)}if(c.displayReadyCapability)c.displayReadyCapability.reject(u);else if(c.opListReadCapability)c.opListReadCapability.reject(u);else throw u}})};h()}_abortOperatorList({intentState:e,reason:t,force:s=!1}){if(e.streamReader){if(e.streamReaderCancelTimeout&&(clearTimeout(e.streamReaderCancelTimeout),e.streamReaderCancelTimeout=null),!s){if(e.renderTasks.size>0)return;if(t instanceof C1){let i=c9;t.extraDelay>0&&t.extraDelay<1e3&&(i+=t.extraDelay),e.streamReaderCancelTimeout=setTimeout(()=>{e.streamReaderCancelTimeout=null,this._abortOperatorList({intentState:e,reason:t,force:!0})},i);return}}if(e.streamReader.cancel(new uc(t.message)).catch(()=>{}),e.streamReader=null,!this._transport.destroyed){for(const[i,r]of this._intentStates)if(r===e){this._intentStates.delete(i);break}this.cleanup()}}}get stats(){return this._stats}}jo=new WeakMap,Dr=new WeakMap,ni=new WeakSet,Ec=function(e=!1){if(T(this,ni,zm).call(this),!f(this,Dr)||this.destroyed)return!1;if(e)return C(this,jo,setTimeout(()=>{C(this,jo,null),T(this,ni,Ec).call(this,!1)},h9)),!1;for(const{renderTasks:t,operatorList:s}of this._intentStates.values())if(t.size>0||!s.lastChunk)return!1;return this._intentStates.clear(),this.objs.clear(),C(this,Dr,!1),!0},zm=function(){f(this,jo)&&(clearTimeout(f(this,jo)),C(this,jo,null))};var Fr,my;class w9{constructor(){R(this,Fr,new Map);R(this,my,Promise.resolve())}postMessage(e,t){const s={data:structuredClone(e,t?{transfer:t}:null)};f(this,my).then(()=>{for(const[i]of f(this,Fr))i.call(this,s)})}addEventListener(e,t,s=null){let i=null;if((s==null?void 0:s.signal)instanceof AbortSignal){const{signal:r}=s;if(r.aborted){Ue("LoopbackPort - cannot use an `aborted` signal.");return}const o=()=>this.removeEventListener(e,t);i=()=>r.removeEventListener("abort",o),r.addEventListener("abort",o)}f(this,Fr).set(t,i)}removeEventListener(e,t){const s=f(this,Fr).get(t);s==null||s(),f(this,Fr).delete(t)}terminate(){for(const[,e]of f(this,Fr))e==null||e();f(this,Fr).clear()}}Fr=new WeakMap,my=new WeakMap;var gy,vl,bl,wh,Hm,_h,Bm;const Nt=class Nt{constructor({name:e=null,port:t=null,verbosity:s=JG()}={}){R(this,wh);var i;if(this.name=e,this.destroyed=!1,this.verbosity=s,this._readyCapability=Promise.withResolvers(),this._port=null,this._webWorker=null,this._messageHandler=null,t){if((i=f(Nt,bl))!=null&&i.has(t))throw new Error("Cannot use more than one PDFWorker per port.");(f(Nt,bl)||C(Nt,bl,new WeakMap)).set(t,this),this._initializeFromPort(t);return}this._initialize()}get promise(){return ts?Promise.all([ca.promise,this._readyCapability.promise]):this._readyCapability.promise}get port(){return this._port}get messageHandler(){return this._messageHandler}_initializeFromPort(e){this._port=e,this._messageHandler=new Gu("main","worker",e),this._messageHandler.on("ready",function(){}),T(this,wh,Hm).call(this)}_initialize(){if(f(Nt,vl)||f(Nt,_h,Bm)){this._setupFakeWorker();return}let{workerSrc:e}=Nt;try{Nt._isSameOrigin(window.location.href,e)||(e=Nt._createCDNWrapper(new URL(e,window.location).href));const t=new Worker(e,{type:"module"}),s=new Gu("main","worker",t),i=()=>{r.abort(),s.destroy(),t.terminate(),this.destroyed?this._readyCapability.reject(new Error("Worker was destroyed")):this._setupFakeWorker()},r=new AbortController;t.addEventListener("error",()=>{this._webWorker||i()},{signal:r.signal}),s.on("test",a=>{if(r.abort(),this.destroyed||!a){i();return}this._messageHandler=s,this._port=t,this._webWorker=t,T(this,wh,Hm).call(this)}),s.on("ready",a=>{if(r.abort(),this.destroyed){i();return}try{o()}catch{this._setupFakeWorker()}});const o=()=>{const a=new Uint8Array;s.send("test",a,[a.buffer])};o();return}catch{Ky("The worker has been disabled.")}this._setupFakeWorker()}_setupFakeWorker(){f(Nt,vl)||(Ue("Setting up fake worker."),C(Nt,vl,!0)),Nt._setupFakeWorkerGlobal.then(e=>{if(this.destroyed){this._readyCapability.reject(new Error("Worker was destroyed"));return}const t=new w9;this._port=t;const s=`fake${ss(Nt,gy)._++}`,i=new Gu(s+"_worker",s,t);e.setup(i,t),this._messageHandler=new Gu(s,s+"_worker",t),T(this,wh,Hm).call(this)}).catch(e=>{this._readyCapability.reject(new Error(`Setting up fake worker failed: "${e.message}".`))})}destroy(){var e;this.destroyed=!0,this._webWorker&&(this._webWorker.terminate(),this._webWorker=null),(e=f(Nt,bl))==null||e.delete(this._port),this._port=null,this._messageHandler&&(this._messageHandler.destroy(),this._messageHandler=null)}static fromPort(e){var s;if(!(e!=null&&e.port))throw new Error("PDFWorker.fromPort - invalid method signature.");const t=(s=f(this,bl))==null?void 0:s.get(e.port);if(t){if(t._pendingDestroy)throw new Error("PDFWorker.fromPort - the worker is being destroyed.\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls.");return t}return new Nt(e)}static get workerSrc(){if(eo.workerSrc)return eo.workerSrc;throw new Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get _setupFakeWorkerGlobal(){return Ye(this,"_setupFakeWorkerGlobal",(async()=>f(this,_h,Bm)?f(this,_h,Bm):(await import(this.workerSrc)).WorkerMessageHandler)())}};gy=new WeakMap,vl=new WeakMap,bl=new WeakMap,wh=new WeakSet,Hm=function(){this._readyCapability.resolve(),this._messageHandler.send("configure",{verbosity:this.verbosity})},_h=new WeakSet,Bm=function(){var e;try{return((e=globalThis.pdfjsWorker)==null?void 0:e.WorkerMessageHandler)||null}catch{return null}},R(Nt,_h),R(Nt,gy,0),R(Nt,vl,!1),R(Nt,bl),ts&&(C(Nt,vl,!0),eo.workerSrc||(eo.workerSrc="./pdf.worker.mjs")),Nt._isSameOrigin=(e,t)=>{let s;try{if(s=new URL(e),!s.origin||s.origin==="null")return!1}catch{return!1}const i=new URL(t,s);return s.origin===i.origin},Nt._createCDNWrapper=e=>{const t=`await import("${e}");`;return URL.createObjectURL(new Blob([t],{type:"text/javascript"}))};let qc=Nt;var jr,sr,Sh,kh,ir,wl,Ku;class _9{constructor(e,t,s,i,r){R(this,wl);R(this,jr,new Map);R(this,sr,new Map);R(this,Sh,new Map);R(this,kh,new Map);R(this,ir,null);this.messageHandler=e,this.loadingTask=t,this.commonObjs=new qP,this.fontLoader=new vK({ownerDocument:i.ownerDocument,styleElement:i.styleElement}),this.loadingParams=i.loadingParams,this._params=i,this.canvasFactory=r.canvasFactory,this.filterFactory=r.filterFactory,this.cMapReaderFactory=r.cMapReaderFactory,this.standardFontDataFactory=r.standardFontDataFactory,this.destroyed=!1,this.destroyCapability=null,this._networkStream=s,this._fullReader=null,this._lastProgress=null,this.downloadInfoCapability=Promise.withResolvers(),this.setupMessageHandler()}get annotationStorage(){return Ye(this,"annotationStorage",new R1)}getRenderingIntent(e,t=_o.ENABLE,s=null,i=!1,r=!1){let o=js.DISPLAY,a=bb;switch(e){case"any":o=js.ANY;break;case"display":break;case"print":o=js.PRINT;break;default:Ue(`getRenderingIntent - invalid intent: ${e}`)}const l=o&js.PRINT&&s instanceof wP?s:this.annotationStorage;switch(t){case _o.DISABLE:o+=js.ANNOTATIONS_DISABLE;break;case _o.ENABLE:break;case _o.ENABLE_FORMS:o+=js.ANNOTATIONS_FORMS;break;case _o.ENABLE_STORAGE:o+=js.ANNOTATIONS_STORAGE,a=l.serializable;break;default:Ue(`getRenderingIntent - invalid annotationMode: ${t}`)}i&&(o+=js.IS_EDITING),r&&(o+=js.OPLIST);const{ids:c,hash:h}=l.modifiedIds,u=[o,a.hash,h];return{renderingIntent:o,cacheKey:u.join("_"),annotationStorageSerializable:a,modifiedIds:c}}destroy(){var s;if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=Promise.withResolvers(),(s=f(this,ir))==null||s.reject(new Error("Worker was destroyed during onPassword callback"));const e=[];for(const i of f(this,sr).values())e.push(i._destroy());f(this,sr).clear(),f(this,Sh).clear(),f(this,kh).clear(),this.hasOwnProperty("annotationStorage")&&this.annotationStorage.resetModified();const t=this.messageHandler.sendWithPromise("Terminate",null);return e.push(t),Promise.all(e).then(()=>{var i;this.commonObjs.clear(),this.fontLoader.clear(),f(this,jr).clear(),this.filterFactory.destroy(),$b.cleanup(),(i=this._networkStream)==null||i.cancelAllRequests(new uc("Worker was terminated.")),this.messageHandler&&(this.messageHandler.destroy(),this.messageHandler=null),this.destroyCapability.resolve()},this.destroyCapability.reject),this.destroyCapability.promise}setupMessageHandler(){const{messageHandler:e,loadingTask:t}=this;e.on("GetReader",(s,i)=>{pn(this._networkStream,"GetReader - no `IPDFStream` instance available."),this._fullReader=this._networkStream.getFullReader(),this._fullReader.onProgress=r=>{this._lastProgress={loaded:r.loaded,total:r.total}},i.onPull=()=>{this._fullReader.read().then(function({value:r,done:o}){if(o){i.close();return}pn(r instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer."),i.enqueue(new Uint8Array(r),1,[r])}).catch(r=>{i.error(r)})},i.onCancel=r=>{this._fullReader.cancel(r),i.ready.catch(o=>{if(!this.destroyed)throw o})}}),e.on("ReaderHeadersReady",async s=>{var a;await this._fullReader.headersReady;const{isStreamingSupported:i,isRangeSupported:r,contentLength:o}=this._fullReader;return(!i||!r)&&(this._lastProgress&&((a=t.onProgress)==null||a.call(t,this._lastProgress)),this._fullReader.onProgress=l=>{var c;(c=t.onProgress)==null||c.call(t,{loaded:l.loaded,total:l.total})}),{isStreamingSupported:i,isRangeSupported:r,contentLength:o}}),e.on("GetRangeReader",(s,i)=>{pn(this._networkStream,"GetRangeReader - no `IPDFStream` instance available.");const r=this._networkStream.getRangeReader(s.begin,s.end);if(!r){i.close();return}i.onPull=()=>{r.read().then(function({value:o,done:a}){if(a){i.close();return}pn(o instanceof ArrayBuffer,"GetRangeReader - expected an ArrayBuffer."),i.enqueue(new Uint8Array(o),1,[o])}).catch(o=>{i.error(o)})},i.onCancel=o=>{r.cancel(o),i.ready.catch(a=>{if(!this.destroyed)throw a})}}),e.on("GetDoc",({pdfInfo:s})=>{this._numPages=s.numPages,this._htmlForXfa=s.htmlForXfa,delete s.htmlForXfa,t._capability.resolve(new v9(s,this))}),e.on("DocException",function(s){let i;switch(s.name){case"PasswordException":i=new Yv(s.message,s.code);break;case"InvalidPDFException":i=new WT(s.message);break;case"MissingPDFException":i=new hc(s.message);break;case"UnexpectedResponseException":i=new Zy(s.message,s.status);break;case"UnknownErrorException":i=new Jv(s.message,s.details);break;default:Mt("DocException - expected a valid Error.")}t._capability.reject(i)}),e.on("PasswordRequest",s=>{if(C(this,ir,Promise.withResolvers()),t.onPassword){const i=r=>{r instanceof Error?f(this,ir).reject(r):f(this,ir).resolve({password:r})};try{t.onPassword(i,s.code)}catch(r){f(this,ir).reject(r)}}else f(this,ir).reject(new Yv(s.message,s.code));return f(this,ir).promise}),e.on("DataLoaded",s=>{var i;(i=t.onProgress)==null||i.call(t,{loaded:s.length,total:s.length}),this.downloadInfoCapability.resolve(s)}),e.on("StartRenderPage",s=>{if(this.destroyed)return;f(this,sr).get(s.pageIndex)._startRenderPage(s.transparency,s.cacheKey)}),e.on("commonobj",([s,i,r])=>{var o;if(this.destroyed||this.commonObjs.has(s))return null;switch(i){case"Font":const{disableFontFace:a,fontExtraProperties:l,pdfBug:c}=this._params;if("error"in r){const p=r.error;Ue(`Error during font loading: ${p}`),this.commonObjs.resolve(s,p);break}const h=c&&((o=globalThis.FontInspector)!=null&&o.enabled)?(p,m)=>globalThis.FontInspector.fontAdded(p,m):null,u=new bK(r,{disableFontFace:a,inspectFont:h});this.fontLoader.bind(u).catch(()=>e.sendWithPromise("FontFallback",{id:s})).finally(()=>{!l&&u.data&&(u.data=null),this.commonObjs.resolve(s,u)});break;case"CopyLocalImage":const{imageRef:d}=r;pn(d,"The imageRef must be defined.");for(const p of f(this,sr).values())for(const[,m]of p.objs)if((m==null?void 0:m.ref)===d)return m.dataLen?(this.commonObjs.resolve(s,structuredClone(m)),m.dataLen):null;break;case"FontPath":case"Image":case"Pattern":this.commonObjs.resolve(s,r);break;default:throw new Error(`Got unknown common object type ${i}`)}return null}),e.on("obj",([s,i,r,o])=>{var l;if(this.destroyed)return;const a=f(this,sr).get(i);if(!a.objs.has(s)){if(a._intentStates.size===0){(l=o==null?void 0:o.bitmap)==null||l.close();return}switch(r){case"Image":a.objs.resolve(s,o),(o==null?void 0:o.dataLen)>GG&&(a._maybeCleanupAfterRender=!0);break;case"Pattern":a.objs.resolve(s,o);break;default:throw new Error(`Got unknown object type ${r}`)}}}),e.on("DocProgress",s=>{var i;this.destroyed||(i=t.onProgress)==null||i.call(t,{loaded:s.loaded,total:s.total})}),e.on("FetchBuiltInCMap",async s=>{if(this.destroyed)throw new Error("Worker was destroyed.");if(!this.cMapReaderFactory)throw new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.");return this.cMapReaderFactory.fetch(s)}),e.on("FetchStandardFontData",async s=>{if(this.destroyed)throw new Error("Worker was destroyed.");if(!this.standardFontDataFactory)throw new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.");return this.standardFontDataFactory.fetch(s)})}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){var s;this.annotationStorage.size<=0&&Ue("saveDocument called while `annotationStorage` is empty, please use the getData-method instead.");const{map:e,transfer:t}=this.annotationStorage.serializable;return this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:e,filename:((s=this._fullReader)==null?void 0:s.filename)??null},t).finally(()=>{this.annotationStorage.resetModified()})}getPage(e){if(!Number.isInteger(e)||e<=0||e>this._numPages)return Promise.reject(new Error("Invalid page request."));const t=e-1,s=f(this,Sh).get(t);if(s)return s;const i=this.messageHandler.sendWithPromise("GetPage",{pageIndex:t}).then(r=>{if(this.destroyed)throw new Error("Transport destroyed");r.refStr&&f(this,kh).set(r.refStr,e);const o=new b9(t,r,this,this._params.pdfBug);return f(this,sr).set(t,o),o});return f(this,Sh).set(t,i),i}getPageIndex(e){return lx(e)?this.messageHandler.sendWithPromise("GetPageIndex",{num:e.num,gen:e.gen}):Promise.reject(new Error("Invalid pageIndex request."))}getAnnotations(e,t){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:e,intent:t})}getFieldObjects(){return T(this,wl,Ku).call(this,"GetFieldObjects")}hasJSActions(){return T(this,wl,Ku).call(this,"HasJSActions")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(e){return typeof e!="string"?Promise.reject(new Error("Invalid destination request.")):this.messageHandler.sendWithPromise("GetDestination",{id:e})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getDocJSActions(){return T(this,wl,Ku).call(this,"GetDocJSActions")}getPageJSActions(e){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:e})}getStructTree(e){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:e})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(e){return T(this,wl,Ku).call(this,"GetOptionalContentConfig").then(t=>new HK(t,e))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){const e="GetMetadata",t=f(this,jr).get(e);if(t)return t;const s=this.messageHandler.sendWithPromise(e,null).then(i=>{var r,o;return{info:i[0],metadata:i[1]?new jK(i[1]):null,contentDispositionFilename:((r=this._fullReader)==null?void 0:r.filename)??null,contentLength:((o=this._fullReader)==null?void 0:o.contentLength)??null}});return f(this,jr).set(e,s),s}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}async startCleanup(e=!1){if(!this.destroyed){await this.messageHandler.sendWithPromise("Cleanup",null);for(const t of f(this,sr).values())if(!t.cleanup())throw new Error(`startCleanup: Page ${t.pageNumber} is currently rendering.`);this.commonObjs.clear(),e||this.fontLoader.clear(),f(this,jr).clear(),this.filterFactory.destroy(!0),$b.cleanup()}}cachedPageNumber(e){if(!lx(e))return null;const t=e.gen===0?`${e.num}R`:`${e.num}R${e.gen}`;return f(this,kh).get(t)??null}}jr=new WeakMap,sr=new WeakMap,Sh=new WeakMap,kh=new WeakMap,ir=new WeakMap,wl=new WeakSet,Ku=function(e,t=null){const s=f(this,jr).get(e);if(s)return s;const i=this.messageHandler.sendWithPromise(e,t);return f(this,jr).set(e,i),i};const Yp=Symbol("INITIAL_DATA");var Ai,Af,Mb;class qP{constructor(){R(this,Af);R(this,Ai,Object.create(null))}get(e,t=null){if(t){const i=T(this,Af,Mb).call(this,e);return i.promise.then(()=>t(i.data)),null}const s=f(this,Ai)[e];if(!s||s.data===Yp)throw new Error(`Requesting object that isn't resolved yet ${e}.`);return s.data}has(e){const t=f(this,Ai)[e];return!!t&&t.data!==Yp}resolve(e,t=null){const s=T(this,Af,Mb).call(this,e);s.data=t,s.resolve()}clear(){var e;for(const t in f(this,Ai)){const{data:s}=f(this,Ai)[t];(e=s==null?void 0:s.bitmap)==null||e.close()}C(this,Ai,Object.create(null))}*[Symbol.iterator](){for(const e in f(this,Ai)){const{data:t}=f(this,Ai)[e];t!==Yp&&(yield[e,t])}}}Ai=new WeakMap,Af=new WeakSet,Mb=function(e){var t;return(t=f(this,Ai))[e]||(t[e]={...Promise.withResolvers(),data:Yp})};var zo;class S9{constructor(e){R(this,zo,null);C(this,zo,e),this.onContinue=null}get promise(){return f(this,zo).capability.promise}cancel(e=0){f(this,zo).cancel(null,e)}get separateAnnots(){const{separateAnnots:e}=f(this,zo).operatorList;if(!e)return!1;const{annotationCanvasMap:t}=f(this,zo);return e.form||e.canvas&&(t==null?void 0:t.size)>0}}zo=new WeakMap;var Ho,_l;const Ua=class Ua{constructor({callback:e,params:t,objs:s,commonObjs:i,annotationCanvasMap:r,operatorList:o,pageIndex:a,canvasFactory:l,filterFactory:c,useRequestAnimationFrame:h=!1,pdfBug:u=!1,pageColors:d=null}){R(this,Ho,null);this.callback=e,this.params=t,this.objs=s,this.commonObjs=i,this.annotationCanvasMap=r,this.operatorListIdx=null,this.operatorList=o,this._pageIndex=a,this.canvasFactory=l,this.filterFactory=c,this._pdfBug=u,this.pageColors=d,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=h===!0&&typeof window<"u",this.cancelled=!1,this.capability=Promise.withResolvers(),this.task=new S9(this),this._cancelBound=this.cancel.bind(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this),this._canvas=t.canvasContext.canvas}get completed(){return this.capability.promise.catch(function(){})}initializeGraphics({transparency:e=!1,optionalContentConfig:t}){var a,l;if(this.cancelled)return;if(this._canvas){if(f(Ua,_l).has(this._canvas))throw new Error("Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.");f(Ua,_l).add(this._canvas)}this._pdfBug&&((a=globalThis.StepperManager)!=null&&a.enabled)&&(this.stepper=globalThis.StepperManager.create(this._pageIndex),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint());const{canvasContext:s,viewport:i,transform:r,background:o}=this.params;this.gfx=new Bc(s,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:t},this.annotationCanvasMap,this.pageColors),this.gfx.beginDrawing({transform:r,viewport:i,transparency:e,background:o}),this.operatorListIdx=0,this.graphicsReady=!0,(l=this.graphicsReadyCallback)==null||l.call(this)}cancel(e=null,t=0){var s;this.running=!1,this.cancelled=!0,(s=this.gfx)==null||s.endDrawing(),f(this,Ho)&&(window.cancelAnimationFrame(f(this,Ho)),C(this,Ho,null)),f(Ua,_l).delete(this._canvas),this.callback(e||new C1(`Rendering cancelled, page ${this._pageIndex+1}`,t))}operatorListChanged(){var e;if(!this.graphicsReady){this.graphicsReadyCallback||(this.graphicsReadyCallback=this._continueBound);return}(e=this.stepper)==null||e.updateOperatorList(this.operatorList),!this.running&&this._continue()}_continue(){this.running=!0,!this.cancelled&&(this.task.onContinue?this.task.onContinue(this._scheduleNextBound):this._scheduleNext())}_scheduleNext(){this._useRequestAnimationFrame?C(this,Ho,window.requestAnimationFrame(()=>{C(this,Ho,null),this._nextBound().catch(this._cancelBound)})):Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){this.cancelled||(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper),this.operatorListIdx===this.operatorList.argsArray.length&&(this.running=!1,this.operatorList.lastChunk&&(this.gfx.endDrawing(),f(Ua,_l).delete(this._canvas),this.callback())))}};Ho=new WeakMap,_l=new WeakMap,R(Ua,_l,new WeakSet);let Ib=Ua;const k9="4.8.69",A9="3634dab10";function cx(n){return Math.floor(Math.max(0,Math.min(1,n))*255).toString(16).padStart(2,"0")}function Tu(n){return Math.max(0,Math.min(255,255*n))}class hx{static CMYK_G([e,t,s,i]){return["G",1-Math.min(1,.3*e+.59*s+.11*t+i)]}static G_CMYK([e]){return["CMYK",0,0,0,1-e]}static G_RGB([e]){return["RGB",e,e,e]}static G_rgb([e]){return e=Tu(e),[e,e,e]}static G_HTML([e]){const t=cx(e);return`#${t}${t}${t}`}static RGB_G([e,t,s]){return["G",.3*e+.59*t+.11*s]}static RGB_rgb(e){return e.map(Tu)}static RGB_HTML(e){return`#${e.map(cx).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([e,t,s,i]){return["RGB",1-Math.min(1,e+i),1-Math.min(1,s+i),1-Math.min(1,t+i)]}static CMYK_rgb([e,t,s,i]){return[Tu(1-Math.min(1,e+i)),Tu(1-Math.min(1,s+i)),Tu(1-Math.min(1,t+i))]}static CMYK_HTML(e){const t=this.CMYK_RGB(e).slice(1);return this.RGB_HTML(t)}static RGB_CMYK([e,t,s]){const i=1-e,r=1-t,o=1-s,a=Math.min(i,r,o);return["CMYK",i,r,o,a]}}class x9{create(e,t,s=!1){if(e<=0||t<=0)throw new Error("Invalid SVG dimensions");const i=this._createSVG("svg:svg");return i.setAttribute("version","1.1"),s||(i.setAttribute("width",`${e}px`),i.setAttribute("height",`${t}px`)),i.setAttribute("preserveAspectRatio","none"),i.setAttribute("viewBox",`0 0 ${e} ${t}`),i}createElement(e){if(typeof e!="string")throw new Error("Invalid SVG element type");return this._createSVG(e)}_createSVG(e){Mt("Abstract method `_createSVG` called.")}}class L1 extends x9{_createSVG(e){return document.createElementNS(Cr,e)}}class UP{static setupStorage(e,t,s,i,r){const o=i.getValue(t,{value:null});switch(s.name){case"textarea":if(o.value!==null&&(e.textContent=o.value),r==="print")break;e.addEventListener("input",a=>{i.setValue(t,{value:a.target.value})});break;case"input":if(s.attributes.type==="radio"||s.attributes.type==="checkbox"){if(o.value===s.attributes.xfaOn?e.setAttribute("checked",!0):o.value===s.attributes.xfaOff&&e.removeAttribute("checked"),r==="print")break;e.addEventListener("change",a=>{i.setValue(t,{value:a.target.checked?a.target.getAttribute("xfaOn"):a.target.getAttribute("xfaOff")})})}else{if(o.value!==null&&e.setAttribute("value",o.value),r==="print")break;e.addEventListener("input",a=>{i.setValue(t,{value:a.target.value})})}break;case"select":if(o.value!==null){e.setAttribute("value",o.value);for(const a of s.children)a.attributes.value===o.value?a.attributes.selected=!0:a.attributes.hasOwnProperty("selected")&&delete a.attributes.selected}e.addEventListener("input",a=>{const l=a.target.options,c=l.selectedIndex===-1?"":l[l.selectedIndex].value;i.setValue(t,{value:c})});break}}static setAttributes({html:e,element:t,storage:s=null,intent:i,linkService:r}){const{attributes:o}=t,a=e instanceof HTMLAnchorElement;o.type==="radio"&&(o.name=`${o.name}-${i}`);for(const[l,c]of Object.entries(o))if(c!=null)switch(l){case"class":c.length&&e.setAttribute(l,c.join(" "));break;case"dataId":break;case"id":e.setAttribute("data-element-id",c);break;case"style":Object.assign(e.style,c);break;case"textContent":e.textContent=c;break;default:(!a||l!=="href"&&l!=="newWindow")&&e.setAttribute(l,c)}a&&r.addLinkAttributes(e,o.href,o.newWindow),s&&o.dataId&&this.setupStorage(e,o.dataId,t,s)}static render(e){var u,d;const t=e.annotationStorage,s=e.linkService,i=e.xfaHtml,r=e.intent||"display",o=document.createElement(i.name);i.attributes&&this.setAttributes({html:o,element:i,intent:r,linkService:s});const a=r!=="richText",l=e.div;if(l.append(o),e.viewport){const p=`matrix(${e.viewport.transform.join(",")})`;l.style.transform=p}a&&l.setAttribute("class","xfaLayer xfaFont");const c=[];if(i.children.length===0){if(i.value){const p=document.createTextNode(i.value);o.append(p),a&&Pd.shouldBuildText(i.name)&&c.push(p)}return{textDivs:c}}const h=[[i,-1,o]];for(;h.length>0;){const[p,m,g]=h.at(-1);if(m+1===p.children.length){h.pop();continue}const v=p.children[++h.at(-1)[1]];if(v===null)continue;const{name:y}=v;if(y==="#text"){const _=document.createTextNode(v.value);c.push(_),g.append(_);continue}const b=(u=v==null?void 0:v.attributes)!=null&&u.xmlns?document.createElementNS(v.attributes.xmlns,y):document.createElement(y);if(g.append(b),v.attributes&&this.setAttributes({html:b,element:v,storage:t,intent:r,linkService:s}),((d=v.children)==null?void 0:d.length)>0)h.push([v,-1,b]);else if(v.value){const _=document.createTextNode(v.value);a&&Pd.shouldBuildText(y)&&c.push(_),b.append(_)}}for(const p of l.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))p.setAttribute("readOnly",!0);return{textDivs:c}}static update(e){const t=`matrix(${e.viewport.transform.join(",")})`;e.div.style.transform=t,e.div.hidden=!1}}const wp=1e3,E9=9,Ql=new WeakSet;function ro(n){return{width:n[2]-n[0],height:n[3]-n[1]}}class C9{static create(e){switch(e.data.annotationType){case an.LINK:return new VP(e);case an.TEXT:return new $9(e);case an.WIDGET:switch(e.data.fieldType){case"Tx":return new T9(e);case"Btn":return e.data.radioButton?new KP(e):e.data.checkBox?new R9(e):new M9(e);case"Ch":return new I9(e);case"Sig":return new P9(e)}return new dc(e);case an.POPUP:return new Nb(e);case an.FREETEXT:return new QP(e);case an.LINE:return new N9(e);case an.SQUARE:return new L9(e);case an.CIRCLE:return new D9(e);case an.POLYLINE:return new eR(e);case an.CARET:return new j9(e);case an.INK:return new D1(e);case an.POLYGON:return new F9(e);case an.HIGHLIGHT:return new tR(e);case an.UNDERLINE:return new z9(e);case an.SQUIGGLY:return new H9(e);case an.STRIKEOUT:return new B9(e);case an.STAMP:return new nR(e);case an.FILEATTACHMENT:return new q9(e);default:return new en(e)}}}var Sl,Ah,xh,xf,Ob;const gk=class gk{constructor(e,{isRenderable:t=!1,ignoreBorder:s=!1,createQuadrilaterals:i=!1}={}){R(this,xf);R(this,Sl,null);R(this,Ah,!1);R(this,xh,null);this.isRenderable=t,this.data=e.data,this.layer=e.layer,this.linkService=e.linkService,this.downloadManager=e.downloadManager,this.imageResourcesPath=e.imageResourcesPath,this.renderForms=e.renderForms,this.svgFactory=e.svgFactory,this.annotationStorage=e.annotationStorage,this.enableScripting=e.enableScripting,this.hasJSActions=e.hasJSActions,this._fieldObjects=e.fieldObjects,this.parent=e.parent,t&&(this.container=this._createContainer(s)),i&&this._createQuadrilaterals()}static _hasPopupData({titleObj:e,contentsObj:t,richText:s}){return!!(e!=null&&e.str||t!=null&&t.str||s!=null&&s.str)}get _isEditable(){return this.data.isEditable}get hasPopupData(){return gk._hasPopupData(this.data)}updateEdited(e){var s;if(!this.container)return;f(this,Sl)||C(this,Sl,{rect:this.data.rect.slice(0)});const{rect:t}=e;t&&T(this,xf,Ob).call(this,t),(s=f(this,xh))==null||s.popup.updateEdited(e)}resetEdited(){var e;f(this,Sl)&&(T(this,xf,Ob).call(this,f(this,Sl).rect),(e=f(this,xh))==null||e.popup.resetEdited(),C(this,Sl,null))}_createContainer(e){const{data:t,parent:{page:s,viewport:i}}=this,r=document.createElement("section");r.setAttribute("data-annotation-id",t.id),this instanceof dc||(r.tabIndex=wp);const{style:o}=r;if(o.zIndex=this.parent.zIndex++,t.alternativeText&&(r.title=t.alternativeText),t.noRotate&&r.classList.add("norotate"),!t.rect||this instanceof Nb){const{rotation:g}=t;return!t.hasOwnCanvas&&g!==0&&this.setRotation(g,r),r}const{width:a,height:l}=ro(t.rect);if(!e&&t.borderStyle.width>0){o.borderWidth=`${t.borderStyle.width}px`;const g=t.borderStyle.horizontalCornerRadius,v=t.borderStyle.verticalCornerRadius;if(g>0||v>0){const b=`calc(${g}px * var(--scale-factor)) / calc(${v}px * var(--scale-factor))`;o.borderRadius=b}else if(this instanceof KP){const b=`calc(${a}px * var(--scale-factor)) / calc(${l}px * var(--scale-factor))`;o.borderRadius=b}switch(t.borderStyle.style){case Cu.SOLID:o.borderStyle="solid";break;case Cu.DASHED:o.borderStyle="dashed";break;case Cu.BEVELED:Ue("Unimplemented border style: beveled");break;case Cu.INSET:Ue("Unimplemented border style: inset");break;case Cu.UNDERLINE:o.borderBottomStyle="solid";break}const y=t.borderColor||null;y?(C(this,Ah,!0),o.borderColor=Ce.makeHexColor(y[0]|0,y[1]|0,y[2]|0)):o.borderWidth=0}const c=Ce.normalizeRect([t.rect[0],s.view[3]-t.rect[1]+s.view[1],t.rect[2],s.view[3]-t.rect[3]+s.view[1]]),{pageWidth:h,pageHeight:u,pageX:d,pageY:p}=i.rawDims;o.left=`${100*(c[0]-d)/h}%`,o.top=`${100*(c[1]-p)/u}%`;const{rotation:m}=t;return t.hasOwnCanvas||m===0?(o.width=`${100*a/h}%`,o.height=`${100*l/u}%`):this.setRotation(m,r),r}setRotation(e,t=this.container){if(!this.data.rect)return;const{pageWidth:s,pageHeight:i}=this.parent.viewport.rawDims,{width:r,height:o}=ro(this.data.rect);let a,l;e%180===0?(a=100*r/s,l=100*o/i):(a=100*o/s,l=100*r/i),t.style.width=`${a}%`,t.style.height=`${l}%`,t.setAttribute("data-main-rotation",(360-e)%360)}get _commonActions(){const e=(t,s,i)=>{const r=i.detail[t],o=r[0],a=r.slice(1);i.target.style[s]=hx[`${o}_HTML`](a),this.annotationStorage.setValue(this.data.id,{[s]:hx[`${o}_rgb`](a)})};return Ye(this,"_commonActions",{display:t=>{const{display:s}=t.detail,i=s%2===1;this.container.style.visibility=i?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noView:i,noPrint:s===1||s===2})},print:t=>{this.annotationStorage.setValue(this.data.id,{noPrint:!t.detail.print})},hidden:t=>{const{hidden:s}=t.detail;this.container.style.visibility=s?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noPrint:s,noView:s})},focus:t=>{setTimeout(()=>t.target.focus({preventScroll:!1}),0)},userName:t=>{t.target.title=t.detail.userName},readonly:t=>{t.target.disabled=t.detail.readonly},required:t=>{this._setRequired(t.target,t.detail.required)},bgColor:t=>{e("bgColor","backgroundColor",t)},fillColor:t=>{e("fillColor","backgroundColor",t)},fgColor:t=>{e("fgColor","color",t)},textColor:t=>{e("textColor","color",t)},borderColor:t=>{e("borderColor","borderColor",t)},strokeColor:t=>{e("strokeColor","borderColor",t)},rotation:t=>{const s=t.detail.rotation;this.setRotation(s),this.annotationStorage.setValue(this.data.id,{rotation:s})}})}_dispatchEventFromSandbox(e,t){const s=this._commonActions;for(const i of Object.keys(t.detail)){const r=e[i]||s[i];r==null||r(t)}}_setDefaultPropertiesFromJS(e){if(!this.enableScripting)return;const t=this.annotationStorage.getRawValue(this.data.id);if(!t)return;const s=this._commonActions;for(const[i,r]of Object.entries(t)){const o=s[i];if(o){const a={detail:{[i]:r},target:e};o(a),delete t[i]}}}_createQuadrilaterals(){if(!this.container)return;const{quadPoints:e}=this.data;if(!e)return;const[t,s,i,r]=this.data.rect.map(g=>Math.fround(g));if(e.length===8){const[g,v,y,b]=e.subarray(2,6);if(i===g&&r===v&&t===y&&s===b)return}const{style:o}=this.container;let a;if(f(this,Ah)){const{borderColor:g,borderWidth:v}=o;o.borderWidth=0,a=["url('data:image/svg+xml;utf8,",'',``],this.container.classList.add("hasBorder")}const l=i-t,c=r-s,{svgFactory:h}=this,u=h.createElement("svg");u.classList.add("quadrilateralsContainer"),u.setAttribute("width",0),u.setAttribute("height",0);const d=h.createElement("defs");u.append(d);const p=h.createElement("clipPath"),m=`clippath_${this.data.id}`;p.setAttribute("id",m),p.setAttribute("clipPathUnits","objectBoundingBox"),d.append(p);for(let g=2,v=e.length;g`)}f(this,Ah)&&(a.push("')"),o.backgroundImage=a.join("")),this.container.append(u),this.container.style.clipPath=`url(#${m})`}_createPopup(){const{data:e}=this,t=C(this,xh,new Nb({data:{color:e.color,titleObj:e.titleObj,modificationDate:e.modificationDate,contentsObj:e.contentsObj,richText:e.richText,parentRect:e.rect,borderStyle:0,id:`popup_${e.id}`,rotation:e.rotation},parent:this.parent,elements:[this]}));this.parent.div.append(t.render())}render(){Mt("Abstract method `AnnotationElement.render` called")}_getElementsByName(e,t=null){const s=[];if(this._fieldObjects){const i=this._fieldObjects[e];if(i)for(const{page:r,id:o,exportValues:a}of i){if(r===-1||o===t)continue;const l=typeof a=="string"?a:null,c=document.querySelector(`[data-element-id="${o}"]`);if(c&&!Ql.has(c)){Ue(`_getElementsByName - element not allowed: ${o}`);continue}s.push({id:o,exportValue:l,domElement:c})}return s}for(const i of document.getElementsByName(e)){const{exportValue:r}=i,o=i.getAttribute("data-element-id");o!==t&&Ql.has(i)&&s.push({id:o,exportValue:r,domElement:i})}return s}show(){var e;this.container&&(this.container.hidden=!1),(e=this.popup)==null||e.maybeShow()}hide(){var e;this.container&&(this.container.hidden=!0),(e=this.popup)==null||e.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){const e=this.getElementsToTriggerPopup();if(Array.isArray(e))for(const t of e)t.classList.add("highlightArea");else e.classList.add("highlightArea")}_editOnDoubleClick(){if(!this._isEditable)return;const{annotationEditorType:e,data:{id:t}}=this;this.container.addEventListener("dblclick",()=>{var s;(s=this.linkService.eventBus)==null||s.dispatch("switchannotationeditormode",{source:this,mode:e,editId:t})})}};Sl=new WeakMap,Ah=new WeakMap,xh=new WeakMap,xf=new WeakSet,Ob=function(e){const{container:{style:t},data:{rect:s,rotation:i},parent:{viewport:{rawDims:{pageWidth:r,pageHeight:o,pageX:a,pageY:l}}}}=this;s==null||s.splice(0,4,...e);const{width:c,height:h}=ro(e);t.left=`${100*(e[0]-a)/r}%`,t.top=`${100*(o-e[3]+l)/o}%`,i===0?(t.width=`${100*c/r}%`,t.height=`${100*h/o}%`):this.setRotation(i)};let en=gk;var Hs,Ma,WP,GP;class VP extends en{constructor(t,s=null){super(t,{isRenderable:!0,ignoreBorder:!!(s!=null&&s.ignoreBorder),createQuadrilaterals:!0});R(this,Hs);this.isTooltipOnly=t.data.isTooltipOnly}render(){const{data:t,linkService:s}=this,i=document.createElement("a");i.setAttribute("data-element-id",t.id);let r=!1;return t.url?(s.addLinkAttributes(i,t.url,t.newWindow),r=!0):t.action?(this._bindNamedAction(i,t.action),r=!0):t.attachment?(T(this,Hs,WP).call(this,i,t.attachment,t.attachmentDest),r=!0):t.setOCGState?(T(this,Hs,GP).call(this,i,t.setOCGState),r=!0):t.dest?(this._bindLink(i,t.dest),r=!0):(t.actions&&(t.actions.Action||t.actions["Mouse Up"]||t.actions["Mouse Down"])&&this.enableScripting&&this.hasJSActions&&(this._bindJSAction(i,t),r=!0),t.resetForm?(this._bindResetFormAction(i,t.resetForm),r=!0):this.isTooltipOnly&&!r&&(this._bindLink(i,""),r=!0)),this.container.classList.add("linkAnnotation"),r&&this.container.append(i),this.container}_bindLink(t,s){t.href=this.linkService.getDestinationHash(s),t.onclick=()=>(s&&this.linkService.goToDestination(s),!1),(s||s==="")&&T(this,Hs,Ma).call(this)}_bindNamedAction(t,s){t.href=this.linkService.getAnchorUrl(""),t.onclick=()=>(this.linkService.executeNamedAction(s),!1),T(this,Hs,Ma).call(this)}_bindJSAction(t,s){t.href=this.linkService.getAnchorUrl("");const i=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(const r of Object.keys(s.actions)){const o=i.get(r);o&&(t[o]=()=>{var a;return(a=this.linkService.eventBus)==null||a.dispatch("dispatcheventinsandbox",{source:this,detail:{id:s.id,name:r}}),!1})}t.onclick||(t.onclick=()=>!1),T(this,Hs,Ma).call(this)}_bindResetFormAction(t,s){const i=t.onclick;if(i||(t.href=this.linkService.getAnchorUrl("")),T(this,Hs,Ma).call(this),!this._fieldObjects){Ue('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),i||(t.onclick=()=>!1);return}t.onclick=()=>{var u;i==null||i();const{fields:r,refs:o,include:a}=s,l=[];if(r.length!==0||o.length!==0){const d=new Set(o);for(const p of r){const m=this._fieldObjects[p]||[];for(const{id:g}of m)d.add(g)}for(const p of Object.values(this._fieldObjects))for(const m of p)d.has(m.id)===a&&l.push(m)}else for(const d of Object.values(this._fieldObjects))l.push(...d);const c=this.annotationStorage,h=[];for(const d of l){const{id:p}=d;switch(h.push(p),d.type){case"text":{const g=d.defaultValue||"";c.setValue(p,{value:g});break}case"checkbox":case"radiobutton":{const g=d.defaultValue===d.exportValues;c.setValue(p,{value:g});break}case"combobox":case"listbox":{const g=d.defaultValue||"";c.setValue(p,{value:g});break}default:continue}const m=document.querySelector(`[data-element-id="${p}"]`);if(m){if(!Ql.has(m)){Ue(`_bindResetFormAction - element not allowed: ${p}`);continue}}else continue;m.dispatchEvent(new Event("resetform"))}return this.enableScripting&&((u=this.linkService.eventBus)==null||u.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:h,name:"ResetForm"}})),!1}}}Hs=new WeakSet,Ma=function(){this.container.setAttribute("data-internal-link","")},WP=function(t,s,i=null){t.href=this.linkService.getAnchorUrl(""),s.description&&(t.title=s.description),t.onclick=()=>{var r;return(r=this.downloadManager)==null||r.openOrDownloadData(s.content,s.filename,i),!1},T(this,Hs,Ma).call(this)},GP=function(t,s){t.href=this.linkService.getAnchorUrl(""),t.onclick=()=>(this.linkService.executeSetOCGState(s),!1),T(this,Hs,Ma).call(this)};class $9 extends en{constructor(e){super(e,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");const e=document.createElement("img");return e.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",e.setAttribute("data-l10n-id","pdfjs-text-annotation-type"),e.setAttribute("data-l10n-args",JSON.stringify({type:this.data.name})),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.append(e),this.container}}class dc extends en{render(){return this.container}showElementAndHideCanvas(e){var t;this.data.hasOwnCanvas&&(((t=e.previousSibling)==null?void 0:t.nodeName)==="CANVAS"&&(e.previousSibling.hidden=!0),e.hidden=!1)}_getKeyModifier(e){return cs.platform.isMac?e.metaKey:e.ctrlKey}_setEventListener(e,t,s,i,r){s.includes("mouse")?e.addEventListener(s,o=>{var a;(a=this.linkService.eventBus)==null||a.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:i,value:r(o),shift:o.shiftKey,modifier:this._getKeyModifier(o)}})}):e.addEventListener(s,o=>{var a;if(s==="blur"){if(!t.focused||!o.relatedTarget)return;t.focused=!1}else if(s==="focus"){if(t.focused)return;t.focused=!0}r&&((a=this.linkService.eventBus)==null||a.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:i,value:r(o)}}))})}_setEventListeners(e,t,s,i){var r,o,a;for(const[l,c]of s)(c==="Action"||(r=this.data.actions)!=null&&r[c])&&((c==="Focus"||c==="Blur")&&(t||(t={focused:!1})),this._setEventListener(e,t,l,c,i),c==="Focus"&&!((o=this.data.actions)!=null&&o.Blur)?this._setEventListener(e,t,"blur","Blur",null):c==="Blur"&&!((a=this.data.actions)!=null&&a.Focus)&&this._setEventListener(e,t,"focus","Focus",null))}_setBackgroundColor(e){const t=this.data.backgroundColor||null;e.style.backgroundColor=t===null?"transparent":Ce.makeHexColor(t[0],t[1],t[2])}_setTextStyle(e){const t=["left","center","right"],{fontColor:s}=this.data.defaultAppearanceData,i=this.data.defaultAppearanceData.fontSize||E9,r=e.style;let o;const a=2,l=c=>Math.round(10*c)/10;if(this.data.multiLine){const c=Math.abs(this.data.rect[3]-this.data.rect[1]-a),h=Math.round(c/(L0*i))||1,u=c/h;o=Math.min(i,l(u/L0))}else{const c=Math.abs(this.data.rect[3]-this.data.rect[1]-a);o=Math.min(i,l(c/L0))}r.fontSize=`calc(${o}px * var(--scale-factor))`,r.color=Ce.makeHexColor(s[0],s[1],s[2]),this.data.textAlignment!==null&&(r.textAlign=t[this.data.textAlignment])}_setRequired(e,t){t?e.setAttribute("required",!0):e.removeAttribute("required"),e.setAttribute("aria-required",t)}}class T9 extends dc{constructor(e){const t=e.renderForms||e.data.hasOwnCanvas||!e.data.hasAppearance&&!!e.data.fieldValue;super(e,{isRenderable:t})}setPropertyOnSiblings(e,t,s,i){const r=this.annotationStorage;for(const o of this._getElementsByName(e.name,e.id))o.domElement&&(o.domElement[t]=s),r.setValue(o.id,{[i]:s})}render(){var i,r;const e=this.annotationStorage,t=this.data.id;this.container.classList.add("textWidgetAnnotation");let s=null;if(this.renderForms){const o=e.getValue(t,{value:this.data.fieldValue});let a=o.value||"";const l=e.getValue(t,{charLimit:this.data.maxLen}).charLimit;l&&a.length>l&&(a=a.slice(0,l));let c=o.formattedValue||((i=this.data.textContent)==null?void 0:i.join(` +`))||null;c&&this.data.comb&&(c=c.replaceAll(/\s+/g,""));const h={userValue:a,formattedValue:c,lastCommittedValue:null,commitKey:1,focused:!1};this.data.multiLine?(s=document.createElement("textarea"),s.textContent=c??a,this.data.doNotScroll&&(s.style.overflowY="hidden")):(s=document.createElement("input"),s.type="text",s.setAttribute("value",c??a),this.data.doNotScroll&&(s.style.overflowX="hidden")),this.data.hasOwnCanvas&&(s.hidden=!0),Ql.add(s),s.setAttribute("data-element-id",t),s.disabled=this.data.readOnly,s.name=this.data.fieldName,s.tabIndex=wp,this._setRequired(s,this.data.required),l&&(s.maxLength=l),s.addEventListener("input",d=>{e.setValue(t,{value:d.target.value}),this.setPropertyOnSiblings(s,"value",d.target.value,"value"),h.formattedValue=null}),s.addEventListener("resetform",d=>{const p=this.data.defaultFieldValue??"";s.value=h.userValue=p,h.formattedValue=null});let u=d=>{const{formattedValue:p}=h;p!=null&&(d.target.value=p),d.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){s.addEventListener("focus",p=>{var g;if(h.focused)return;const{target:m}=p;h.userValue&&(m.value=h.userValue),h.lastCommittedValue=m.value,h.commitKey=1,(g=this.data.actions)!=null&&g.Focus||(h.focused=!0)}),s.addEventListener("updatefromsandbox",p=>{this.showElementAndHideCanvas(p.target);const m={value(g){h.userValue=g.detail.value??"",e.setValue(t,{value:h.userValue.toString()}),g.target.value=h.userValue},formattedValue(g){const{formattedValue:v}=g.detail;h.formattedValue=v,v!=null&&g.target!==document.activeElement&&(g.target.value=v),e.setValue(t,{formattedValue:v})},selRange(g){g.target.setSelectionRange(...g.detail.selRange)},charLimit:g=>{var _;const{charLimit:v}=g.detail,{target:y}=g;if(v===0){y.removeAttribute("maxLength");return}y.setAttribute("maxLength",v);let b=h.userValue;!b||b.length<=v||(b=b.slice(0,v),y.value=h.userValue=b,e.setValue(t,{value:b}),(_=this.linkService.eventBus)==null||_.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:b,willCommit:!0,commitKey:1,selStart:y.selectionStart,selEnd:y.selectionEnd}}))}};this._dispatchEventFromSandbox(m,p)}),s.addEventListener("keydown",p=>{var v;h.commitKey=1;let m=-1;if(p.key==="Escape"?m=0:p.key==="Enter"&&!this.data.multiLine?m=2:p.key==="Tab"&&(h.commitKey=3),m===-1)return;const{value:g}=p.target;h.lastCommittedValue!==g&&(h.lastCommittedValue=g,h.userValue=g,(v=this.linkService.eventBus)==null||v.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:g,willCommit:!0,commitKey:m,selStart:p.target.selectionStart,selEnd:p.target.selectionEnd}}))});const d=u;u=null,s.addEventListener("blur",p=>{var g,v;if(!h.focused||!p.relatedTarget)return;(g=this.data.actions)!=null&&g.Blur||(h.focused=!1);const{value:m}=p.target;h.userValue=m,h.lastCommittedValue!==m&&((v=this.linkService.eventBus)==null||v.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:m,willCommit:!0,commitKey:h.commitKey,selStart:p.target.selectionStart,selEnd:p.target.selectionEnd}})),d(p)}),(r=this.data.actions)!=null&&r.Keystroke&&s.addEventListener("beforeinput",p=>{var A;h.lastCommittedValue=null;const{data:m,target:g}=p,{value:v,selectionStart:y,selectionEnd:b}=g;let _=y,S=b;switch(p.inputType){case"deleteWordBackward":{const E=v.substring(0,y).match(/\w*[^\w]*$/);E&&(_-=E[0].length);break}case"deleteWordForward":{const E=v.substring(y).match(/^[^\w]*\w*/);E&&(S+=E[0].length);break}case"deleteContentBackward":y===b&&(_-=1);break;case"deleteContentForward":y===b&&(S+=1);break}p.preventDefault(),(A=this.linkService.eventBus)==null||A.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:v,change:m||"",willCommit:!1,selStart:_,selEnd:S}})}),this._setEventListeners(s,h,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],p=>p.target.value)}if(u&&s.addEventListener("blur",u),this.data.comb){const p=(this.data.rect[2]-this.data.rect[0])/l;s.classList.add("comb"),s.style.letterSpacing=`calc(${p}px * var(--scale-factor) - 1ch)`}}else s=document.createElement("div"),s.textContent=this.data.fieldValue,s.style.verticalAlign="middle",s.style.display="table-cell",this.data.hasOwnCanvas&&(s.hidden=!0);return this._setTextStyle(s),this._setBackgroundColor(s),this._setDefaultPropertiesFromJS(s),this.container.append(s),this.container}}class P9 extends dc{constructor(e){super(e,{isRenderable:!!e.data.hasOwnCanvas})}}class R9 extends dc{constructor(e){super(e,{isRenderable:e.renderForms})}render(){const e=this.annotationStorage,t=this.data,s=t.id;let i=e.getValue(s,{value:t.exportValue===t.fieldValue}).value;typeof i=="string"&&(i=i!=="Off",e.setValue(s,{value:i})),this.container.classList.add("buttonWidgetAnnotation","checkBox");const r=document.createElement("input");return Ql.add(r),r.setAttribute("data-element-id",s),r.disabled=t.readOnly,this._setRequired(r,this.data.required),r.type="checkbox",r.name=t.fieldName,i&&r.setAttribute("checked",!0),r.setAttribute("exportValue",t.exportValue),r.tabIndex=wp,r.addEventListener("change",o=>{const{name:a,checked:l}=o.target;for(const c of this._getElementsByName(a,s)){const h=l&&c.exportValue===t.exportValue;c.domElement&&(c.domElement.checked=h),e.setValue(c.id,{value:h})}e.setValue(s,{value:l})}),r.addEventListener("resetform",o=>{const a=t.defaultFieldValue||"Off";o.target.checked=a===t.exportValue}),this.enableScripting&&this.hasJSActions&&(r.addEventListener("updatefromsandbox",o=>{const a={value(l){l.target.checked=l.detail.value!=="Off",e.setValue(s,{value:l.target.checked})}};this._dispatchEventFromSandbox(a,o)}),this._setEventListeners(r,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],o=>o.target.checked)),this._setBackgroundColor(r),this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}}class KP extends dc{constructor(e){super(e,{isRenderable:e.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");const e=this.annotationStorage,t=this.data,s=t.id;let i=e.getValue(s,{value:t.fieldValue===t.buttonValue}).value;if(typeof i=="string"&&(i=i!==t.buttonValue,e.setValue(s,{value:i})),i)for(const o of this._getElementsByName(t.fieldName,s))e.setValue(o.id,{value:!1});const r=document.createElement("input");if(Ql.add(r),r.setAttribute("data-element-id",s),r.disabled=t.readOnly,this._setRequired(r,this.data.required),r.type="radio",r.name=t.fieldName,i&&r.setAttribute("checked",!0),r.tabIndex=wp,r.addEventListener("change",o=>{const{name:a,checked:l}=o.target;for(const c of this._getElementsByName(a,s))e.setValue(c.id,{value:!1});e.setValue(s,{value:l})}),r.addEventListener("resetform",o=>{const a=t.defaultFieldValue;o.target.checked=a!=null&&a===t.buttonValue}),this.enableScripting&&this.hasJSActions){const o=t.buttonValue;r.addEventListener("updatefromsandbox",a=>{const l={value:c=>{const h=o===c.detail.value;for(const u of this._getElementsByName(c.target.name)){const d=h&&u.id===s;u.domElement&&(u.domElement.checked=d),e.setValue(u.id,{value:d})}}};this._dispatchEventFromSandbox(l,a)}),this._setEventListeners(r,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],a=>a.target.checked)}return this._setBackgroundColor(r),this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}}class M9 extends VP{constructor(e){super(e,{ignoreBorder:e.data.hasAppearance})}render(){const e=super.render();e.classList.add("buttonWidgetAnnotation","pushButton");const t=e.lastChild;return this.enableScripting&&this.hasJSActions&&t&&(this._setDefaultPropertiesFromJS(t),t.addEventListener("updatefromsandbox",s=>{this._dispatchEventFromSandbox({},s)})),e}}class I9 extends dc{constructor(e){super(e,{isRenderable:e.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");const e=this.annotationStorage,t=this.data.id,s=e.getValue(t,{value:this.data.fieldValue}),i=document.createElement("select");Ql.add(i),i.setAttribute("data-element-id",t),i.disabled=this.data.readOnly,this._setRequired(i,this.data.required),i.name=this.data.fieldName,i.tabIndex=wp;let r=this.data.combo&&this.data.options.length>0;this.data.combo||(i.size=this.data.options.length,this.data.multiSelect&&(i.multiple=!0)),i.addEventListener("resetform",h=>{const u=this.data.defaultFieldValue;for(const d of i.options)d.selected=d.value===u});for(const h of this.data.options){const u=document.createElement("option");u.textContent=h.displayValue,u.value=h.exportValue,s.value.includes(h.exportValue)&&(u.setAttribute("selected",!0),r=!1),i.append(u)}let o=null;if(r){const h=document.createElement("option");h.value=" ",h.setAttribute("hidden",!0),h.setAttribute("selected",!0),i.prepend(h),o=()=>{h.remove(),i.removeEventListener("input",o),o=null},i.addEventListener("input",o)}const a=h=>{const u=h?"value":"textContent",{options:d,multiple:p}=i;return p?Array.prototype.filter.call(d,m=>m.selected).map(m=>m[u]):d.selectedIndex===-1?null:d[d.selectedIndex][u]};let l=a(!1);const c=h=>{const u=h.target.options;return Array.prototype.map.call(u,d=>({displayValue:d.textContent,exportValue:d.value}))};return this.enableScripting&&this.hasJSActions?(i.addEventListener("updatefromsandbox",h=>{const u={value(d){o==null||o();const p=d.detail.value,m=new Set(Array.isArray(p)?p:[p]);for(const g of i.options)g.selected=m.has(g.value);e.setValue(t,{value:a(!0)}),l=a(!1)},multipleSelection(d){i.multiple=!0},remove(d){const p=i.options,m=d.detail.remove;p[m].selected=!1,i.remove(m),p.length>0&&Array.prototype.findIndex.call(p,v=>v.selected)===-1&&(p[0].selected=!0),e.setValue(t,{value:a(!0),items:c(d)}),l=a(!1)},clear(d){for(;i.length!==0;)i.remove(0);e.setValue(t,{value:null,items:[]}),l=a(!1)},insert(d){const{index:p,displayValue:m,exportValue:g}=d.detail.insert,v=i.children[p],y=document.createElement("option");y.textContent=m,y.value=g,v?v.before(y):i.append(y),e.setValue(t,{value:a(!0),items:c(d)}),l=a(!1)},items(d){const{items:p}=d.detail;for(;i.length!==0;)i.remove(0);for(const m of p){const{displayValue:g,exportValue:v}=m,y=document.createElement("option");y.textContent=g,y.value=v,i.append(y)}i.options.length>0&&(i.options[0].selected=!0),e.setValue(t,{value:a(!0),items:c(d)}),l=a(!1)},indices(d){const p=new Set(d.detail.indices);for(const m of d.target.options)m.selected=p.has(m.index);e.setValue(t,{value:a(!0)}),l=a(!1)},editable(d){d.target.disabled=!d.detail.editable}};this._dispatchEventFromSandbox(u,h)}),i.addEventListener("input",h=>{var p;const u=a(!0),d=a(!1);e.setValue(t,{value:u}),h.preventDefault(),(p=this.linkService.eventBus)==null||p.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:l,change:d,changeEx:u,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(i,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],h=>h.target.value)):i.addEventListener("input",function(h){e.setValue(t,{value:a(!0)})}),this.data.combo&&this._setTextStyle(i),this._setBackgroundColor(i),this._setDefaultPropertiesFromJS(i),this.container.append(i),this.container}}class Nb extends en{constructor(e){const{data:t,elements:s}=e;super(e,{isRenderable:en._hasPopupData(t)}),this.elements=s,this.popup=null}render(){this.container.classList.add("popupAnnotation");const e=this.popup=new O9({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate,contentsObj:this.data.contentsObj,richText:this.data.richText,rect:this.data.rect,parentRect:this.data.parentRect||null,parent:this.parent,elements:this.elements,open:this.data.open}),t=[];for(const s of this.elements)s.popup=e,s.container.ariaHasPopup="dialog",t.push(s.data.id),s.addHighlightArea();return this.container.setAttribute("aria-controls",t.map(s=>`${E1}${s}`).join(",")),this.container}}var Eh,yy,vy,Ch,kl,Vt,zr,$h,Ef,Cf,Th,Hr,xi,Br,$f,qr,Tf,Al,xl,gt,qm,Lb,ZP,XP,YP,JP,Um,Vm,Db;class O9{constructor({container:e,color:t,elements:s,titleObj:i,modificationDate:r,contentsObj:o,richText:a,parent:l,rect:c,parentRect:h,open:u}){R(this,gt);R(this,Eh,T(this,gt,YP).bind(this));R(this,yy,T(this,gt,Db).bind(this));R(this,vy,T(this,gt,Vm).bind(this));R(this,Ch,T(this,gt,Um).bind(this));R(this,kl,null);R(this,Vt,null);R(this,zr,null);R(this,$h,null);R(this,Ef,null);R(this,Cf,null);R(this,Th,null);R(this,Hr,!1);R(this,xi,null);R(this,Br,null);R(this,$f,null);R(this,qr,null);R(this,Tf,null);R(this,Al,null);R(this,xl,!1);var d;C(this,Vt,e),C(this,Tf,i),C(this,zr,o),C(this,qr,a),C(this,Cf,l),C(this,kl,t),C(this,$f,c),C(this,Th,h),C(this,Ef,s),C(this,$h,T1.toDateObject(r)),this.trigger=s.flatMap(p=>p.getElementsToTriggerPopup());for(const p of this.trigger)p.addEventListener("click",f(this,Ch)),p.addEventListener("mouseenter",f(this,vy)),p.addEventListener("mouseleave",f(this,yy)),p.classList.add("popupTriggerArea");for(const p of s)(d=p.container)==null||d.addEventListener("keydown",f(this,Eh));f(this,Vt).hidden=!0,u&&T(this,gt,Um).call(this)}render(){if(f(this,xi))return;const e=C(this,xi,document.createElement("div"));if(e.className="popup",f(this,kl)){const r=e.style.outlineColor=Ce.makeHexColor(...f(this,kl));CSS.supports("background-color","color-mix(in srgb, red 30%, white)")?e.style.backgroundColor=`color-mix(in srgb, ${r} 30%, white)`:e.style.backgroundColor=Ce.makeHexColor(...f(this,kl).map(a=>Math.floor(.7*(255-a)+a)))}const t=document.createElement("span");t.className="header";const s=document.createElement("h1");if(t.append(s),{dir:s.dir,str:s.textContent}=f(this,Tf),e.append(t),f(this,$h)){const r=document.createElement("span");r.classList.add("popupDate"),r.setAttribute("data-l10n-id","pdfjs-annotation-date-time-string"),r.setAttribute("data-l10n-args",JSON.stringify({dateObj:f(this,$h).valueOf()})),t.append(r)}const i=f(this,gt,qm);if(i)UP.render({xfaHtml:i,intent:"richText",div:e}),e.lastChild.classList.add("richText","popupContent");else{const r=this._formatContents(f(this,zr));e.append(r)}f(this,Vt).append(e)}_formatContents({str:e,dir:t}){const s=document.createElement("p");s.classList.add("popupContent"),s.dir=t;const i=e.split(/(?:\r\n?|\n)/);for(let r=0,o=i.length;r{o.key==="Enter"&&(r?o.metaKey:o.ctrlKey)&&T(this,Lf,Fb).call(this)}),!s.popupRef&&this.hasPopupData?this._createPopup():i.classList.add("popupTriggerArea"),t.append(i),t}getElementsToTriggerPopup(){return f(this,Nf)}addHighlightArea(){this.container.classList.add("highlightArea")}}Nf=new WeakMap,Lf=new WeakSet,Fb=function(){var t;(t=this.downloadManager)==null||t.openOrDownloadData(this.content,this.filename)};var Df,El,Cl,Ff,ac,sR,jb,qE;let U9=(qE=class{constructor({div:e,accessibilityManager:t,annotationCanvasMap:s,annotationEditorUIManager:i,page:r,viewport:o,structTreeLayer:a}){R(this,ac);R(this,Df,null);R(this,El,null);R(this,Cl,new Map);R(this,Ff,null);this.div=e,C(this,Df,t),C(this,El,s),C(this,Ff,a||null),this.page=r,this.viewport=o,this.zIndex=0,this._annotationEditorUIManager=i}hasEditableAnnotations(){return f(this,Cl).size>0}async render(e){var o;const{annotations:t}=e,s=this.div;Yl(s,this.viewport);const i=new Map,r={data:null,layer:s,linkService:e.linkService,downloadManager:e.downloadManager,imageResourcesPath:e.imageResourcesPath||"",renderForms:e.renderForms!==!1,svgFactory:new L1,annotationStorage:e.annotationStorage||new R1,enableScripting:e.enableScripting===!0,hasJSActions:e.hasJSActions,fieldObjects:e.fieldObjects,parent:this,elements:null};for(const a of t){if(a.noHTML)continue;const l=a.annotationType===an.POPUP;if(l){const u=i.get(a.id);if(!u)continue;r.elements=u}else{const{width:u,height:d}=ro(a.rect);if(u<=0||d<=0)continue}r.data=a;const c=C9.create(r);if(!c.isRenderable)continue;if(!l&&a.popupRef){const u=i.get(a.popupRef);u?u.push(c):i.set(a.popupRef,[c])}const h=c.render();a.hidden&&(h.style.visibility="hidden"),await T(this,ac,sR).call(this,h,a.id),c._isEditable&&(f(this,Cl).set(c.data.id,c),(o=this._annotationEditorUIManager)==null||o.renderAnnotationElement(c))}T(this,ac,jb).call(this)}update({viewport:e}){const t=this.div;this.viewport=e,Yl(t,{rotation:e.rotation}),T(this,ac,jb).call(this),t.hidden=!1}getEditableAnnotations(){return Array.from(f(this,Cl).values())}getEditableAnnotation(e){return f(this,Cl).get(e)}},Df=new WeakMap,El=new WeakMap,Cl=new WeakMap,Ff=new WeakMap,ac=new WeakSet,sR=async function(e,t){var o,a;const s=e.firstChild||e,i=s.id=`${E1}${t}`,r=await((o=f(this,Ff))==null?void 0:o.getAriaAttributes(i));if(r)for(const[l,c]of r)s.setAttribute(l,c);this.div.append(e),(a=f(this,Df))==null||a.moveElementInDOM(this.div,e,s,!1)},jb=function(){if(!f(this,El))return;const e=this.div;for(const[t,s]of f(this,El)){const i=e.querySelector(`[data-annotation-id="${t}"]`);if(!i)continue;s.className="annotationContent";const{firstChild:r}=i;r?r.nodeName==="CANVAS"?r.replaceWith(s):r.classList.contains("annotationContent")?r.after(s):r.before(s):i.append(s)}f(this,El).clear()},qE);const Jp=/\r\n?|\n/g;var Ei,Is,jf,$l,Os,rn,iR,rR,oR,Wm,lo,Gm,Km,aR,Hb,lR;const Tt=class Tt extends pt{constructor(t){super({...t,name:"freeTextEditor"});R(this,rn);R(this,Ei);R(this,Is,"");R(this,jf,`${this.id}-editor`);R(this,$l,null);R(this,Os);C(this,Ei,t.color||Tt._defaultColor||pt._defaultLineColor),C(this,Os,t.fontSize||Tt._defaultFontSize)}static get _keyboardManager(){const t=Tt.prototype,s=o=>o.isEmpty(),i=Jl.TRANSLATE_SMALL,r=Jl.TRANSLATE_BIG;return Ye(this,"_keyboardManager",new bp([[["ctrl+s","mac+meta+s","ctrl+p","mac+meta+p"],t.commitOrRemove,{bubbles:!0}],[["ctrl+Enter","mac+meta+Enter","Escape","mac+Escape"],t.commitOrRemove],[["ArrowLeft","mac+ArrowLeft"],t._translateEmpty,{args:[-i,0],checker:s}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],t._translateEmpty,{args:[-r,0],checker:s}],[["ArrowRight","mac+ArrowRight"],t._translateEmpty,{args:[i,0],checker:s}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],t._translateEmpty,{args:[r,0],checker:s}],[["ArrowUp","mac+ArrowUp"],t._translateEmpty,{args:[0,-i],checker:s}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],t._translateEmpty,{args:[0,-r],checker:s}],[["ArrowDown","mac+ArrowDown"],t._translateEmpty,{args:[0,i],checker:s}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],t._translateEmpty,{args:[0,r],checker:s}]]))}static initialize(t,s){pt.initialize(t,s);const i=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(i.getPropertyValue("--freetext-padding"))}static updateDefaultParams(t,s){switch(t){case Me.FREETEXT_SIZE:Tt._defaultFontSize=s;break;case Me.FREETEXT_COLOR:Tt._defaultColor=s;break}}updateParams(t,s){switch(t){case Me.FREETEXT_SIZE:T(this,rn,iR).call(this,s);break;case Me.FREETEXT_COLOR:T(this,rn,rR).call(this,s);break}}static get defaultPropertiesToUpdate(){return[[Me.FREETEXT_SIZE,Tt._defaultFontSize],[Me.FREETEXT_COLOR,Tt._defaultColor||pt._defaultLineColor]]}get propertiesToUpdate(){return[[Me.FREETEXT_SIZE,f(this,Os)],[Me.FREETEXT_COLOR,f(this,Ei)]]}_translateEmpty(t,s){this._uiManager.translateSelectedEditors(t,s,!0)}getInitialTranslation(){const t=this.parentScale;return[-Tt._internalPadding*t,-(Tt._internalPadding+f(this,Os))*t]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.isAttachedToDOM||this.parent.add(this)))}enableEditMode(){if(this.isInEditMode())return;this.parent.setEditingState(!1),this.parent.updateToolbar(je.FREETEXT),super.enableEditMode(),this.overlayDiv.classList.remove("enabled"),this.editorDiv.contentEditable=!0,this._isDraggable=!1,this.div.removeAttribute("aria-activedescendant"),C(this,$l,new AbortController);const t=this._uiManager.combinedSignal(f(this,$l));this.editorDiv.addEventListener("keydown",this.editorDivKeydown.bind(this),{signal:t}),this.editorDiv.addEventListener("focus",this.editorDivFocus.bind(this),{signal:t}),this.editorDiv.addEventListener("blur",this.editorDivBlur.bind(this),{signal:t}),this.editorDiv.addEventListener("input",this.editorDivInput.bind(this),{signal:t}),this.editorDiv.addEventListener("paste",this.editorDivPaste.bind(this),{signal:t})}disableEditMode(){var t;this.isInEditMode()&&(this.parent.setEditingState(!0),super.disableEditMode(),this.overlayDiv.classList.add("enabled"),this.editorDiv.contentEditable=!1,this.div.setAttribute("aria-activedescendant",f(this,jf)),this._isDraggable=!0,(t=f(this,$l))==null||t.abort(),C(this,$l,null),this.div.focus({preventScroll:!0}),this.isEditing=!1,this.parent.div.classList.add("freetextEditing"))}focusin(t){this._focusEventsAllowed&&(super.focusin(t),t.target!==this.editorDiv&&this.editorDiv.focus())}onceAdded(){var t;this.width||(this.enableEditMode(),this.editorDiv.focus(),(t=this._initialOptions)!=null&&t.isCentered&&this.center(),this._initialOptions=null)}isEmpty(){return!this.editorDiv||this.editorDiv.innerText.trim()===""}remove(){this.isEditing=!1,this.parent&&(this.parent.setEditingState(!0),this.parent.div.classList.add("freetextEditing")),super.remove()}commit(){if(!this.isInEditMode())return;super.commit(),this.disableEditMode();const t=f(this,Is),s=C(this,Is,T(this,rn,oR).call(this).trimEnd());if(t===s)return;const i=r=>{if(C(this,Is,r),!r){this.remove();return}T(this,rn,Km).call(this),this._uiManager.rebuild(this),T(this,rn,Wm).call(this)};this.addCommands({cmd:()=>{i(s)},undo:()=>{i(t)},mustExec:!1}),T(this,rn,Wm).call(this)}shouldGetKeyboardEvents(){return this.isInEditMode()}enterInEditMode(){this.enableEditMode(),this.editorDiv.focus()}dblclick(t){this.enterInEditMode()}keydown(t){t.target===this.div&&t.key==="Enter"&&(this.enterInEditMode(),t.preventDefault())}editorDivKeydown(t){Tt._keyboardManager.exec(this,t)}editorDivFocus(t){this.isEditing=!0}editorDivBlur(t){this.isEditing=!1}editorDivInput(t){this.parent.div.classList.toggle("freetextEditing",this.isEmpty())}disableEditing(){this.editorDiv.setAttribute("role","comment"),this.editorDiv.removeAttribute("aria-multiline")}enableEditing(){this.editorDiv.setAttribute("role","textbox"),this.editorDiv.setAttribute("aria-multiline",!0)}render(){if(this.div)return this.div;let t,s;this.width&&(t=this.x,s=this.y),super.render(),this.editorDiv=document.createElement("div"),this.editorDiv.className="internal",this.editorDiv.setAttribute("id",f(this,jf)),this.editorDiv.setAttribute("data-l10n-id","pdfjs-free-text2"),this.editorDiv.setAttribute("data-l10n-attrs","default-content"),this.enableEditing(),this.editorDiv.contentEditable=!0;const{style:i}=this.editorDiv;if(i.fontSize=`calc(${f(this,Os)}px * var(--scale-factor))`,i.color=f(this,Ei),this.div.append(this.editorDiv),this.overlayDiv=document.createElement("div"),this.overlayDiv.classList.add("overlay","enabled"),this.div.append(this.overlayDiv),Mg(this,this.div,["dblclick","keydown"]),this.width){const[r,o]=this.parentDimensions;if(this.annotationElementId){const{position:a}=this._initialData;let[l,c]=this.getInitialTranslation();[l,c]=this.pageTranslationToScreen(l,c);const[h,u]=this.pageDimensions,[d,p]=this.pageTranslation;let m,g;switch(this.rotation){case 0:m=t+(a[0]-d)/h,g=s+this.height-(a[1]-p)/u;break;case 90:m=t+(a[0]-d)/h,g=s-(a[1]-p)/u,[l,c]=[c,-l];break;case 180:m=t-this.width+(a[0]-d)/h,g=s-(a[1]-p)/u,[l,c]=[-l,-c];break;case 270:m=t+(a[0]-d-this.height*u)/h,g=s+(a[1]-p-this.width*h)/u,[l,c]=[-c,l];break}this.setAt(m*r,g*o,l,c)}else this.setAt(t*r,s*o,this.width*r,this.height*o);T(this,rn,Km).call(this),this._isDraggable=!0,this.editorDiv.contentEditable=!1}else this._isDraggable=!1,this.editorDiv.contentEditable=!0;return this.div}editorDivPaste(t){var m,g,v;const s=t.clipboardData||window.clipboardData,{types:i}=s;if(i.length===1&&i[0]==="text/plain")return;t.preventDefault();const r=T(m=Tt,lo,Hb).call(m,s.getData("text")||"").replaceAll(Jp,` +`);if(!r)return;const o=window.getSelection();if(!o.rangeCount)return;this.editorDiv.normalize(),o.deleteFromDocument();const a=o.getRangeAt(0);if(!r.includes(` +`)){a.insertNode(document.createTextNode(r)),this.editorDiv.normalize(),o.collapseToStart();return}const{startContainer:l,startOffset:c}=a,h=[],u=[];if(l.nodeType===Node.TEXT_NODE){const y=l.parentElement;if(u.push(l.nodeValue.slice(c).replaceAll(Jp,"")),y!==this.editorDiv){let b=h;for(const _ of this.editorDiv.childNodes){if(_===y){b=u;continue}b.push(T(g=Tt,lo,Gm).call(g,_))}}h.push(l.nodeValue.slice(0,c).replaceAll(Jp,""))}else if(l===this.editorDiv){let y=h,b=0;for(const _ of this.editorDiv.childNodes)b++===c&&(y=u),y.push(T(v=Tt,lo,Gm).call(v,_))}C(this,Is,`${h.join(` +`)}${r}${u.join(` +`)}`),T(this,rn,Km).call(this);const d=new Range;let p=h.reduce((y,b)=>y+b.length,0);for(const{firstChild:y}of this.editorDiv.childNodes)if(y.nodeType===Node.TEXT_NODE){const b=y.nodeValue.length;if(p<=b){d.setStart(y,p),d.setEnd(y,p);break}p-=b}o.removeAllRanges(),o.addRange(d)}get contentDiv(){return this.editorDiv}static async deserialize(t,s,i){var a;let r=null;if(t instanceof QP){const{data:{defaultAppearanceData:{fontSize:l,fontColor:c},rect:h,rotation:u,id:d,popupRef:p},textContent:m,textPosition:g,parent:{page:{pageNumber:v}}}=t;if(!m||m.length===0)return null;r=t={annotationType:je.FREETEXT,color:Array.from(c),fontSize:l,value:m.join(` +`),position:g,pageIndex:v-1,rect:h.slice(0),rotation:u,id:d,deleted:!1,popupRef:p}}const o=await super.deserialize(t,s,i);return C(o,Os,t.fontSize),C(o,Ei,Ce.makeHexColor(...t.color)),C(o,Is,T(a=Tt,lo,Hb).call(a,t.value)),o.annotationElementId=t.id||null,o._initialData=r,o}serialize(t=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();const s=Tt._internalPadding*this.parentScale,i=this.getRect(s,s),r=pt._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:f(this,Ei)),o={annotationType:je.FREETEXT,color:r,fontSize:f(this,Os),value:T(this,rn,aR).call(this),pageIndex:this.pageIndex,rect:i,rotation:this.rotation,structTreeParentId:this._structTreeParentId};return t?o:this.annotationElementId&&!T(this,rn,lR).call(this,o)?null:(o.id=this.annotationElementId,o)}renderAnnotationElement(t){const s=super.renderAnnotationElement(t);if(this.deleted)return s;const{style:i}=s;i.fontSize=`calc(${f(this,Os)}px * var(--scale-factor))`,i.color=f(this,Ei),s.replaceChildren();for(const o of f(this,Is).split(` +`)){const a=document.createElement("div");a.append(o?document.createTextNode(o):document.createElement("br")),s.append(a)}const r=Tt._internalPadding*this.parentScale;return t.updateEdited({rect:this.getRect(r,r),popupContent:f(this,Is)}),s}resetAnnotationElement(t){super.resetAnnotationElement(t),t.resetEdited()}};Ei=new WeakMap,Is=new WeakMap,jf=new WeakMap,$l=new WeakMap,Os=new WeakMap,rn=new WeakSet,iR=function(t){const s=r=>{this.editorDiv.style.fontSize=`calc(${r}px * var(--scale-factor))`,this.translate(0,-(r-f(this,Os))*this.parentScale),C(this,Os,r),T(this,rn,Wm).call(this)},i=f(this,Os);this.addCommands({cmd:s.bind(this,t),undo:s.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Me.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})},rR=function(t){const s=r=>{C(this,Ei,this.editorDiv.style.color=r)},i=f(this,Ei);this.addCommands({cmd:s.bind(this,t),undo:s.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Me.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})},oR=function(){var i;const t=[];this.editorDiv.normalize();let s=null;for(const r of this.editorDiv.childNodes)(s==null?void 0:s.nodeType)===Node.TEXT_NODE&&r.nodeName==="BR"||(t.push(T(i=Tt,lo,Gm).call(i,r)),s=r);return t.join(` +`)},Wm=function(){const[t,s]=this.parentDimensions;let i;if(this.isAttachedToDOM)i=this.div.getBoundingClientRect();else{const{currentLayer:r,div:o}=this,a=o.style.display,l=o.classList.contains("hidden");o.classList.remove("hidden"),o.style.display="hidden",r.div.append(this.div),i=o.getBoundingClientRect(),o.remove(),o.style.display=a,o.classList.toggle("hidden",l)}this.rotation%180===this.parentRotation%180?(this.width=i.width/t,this.height=i.height/s):(this.width=i.height/t,this.height=i.width/s),this.fixAndSetPosition()},lo=new WeakSet,Gm=function(t){return(t.nodeType===Node.TEXT_NODE?t.nodeValue:t.innerText).replaceAll(Jp,"")},Km=function(){if(this.editorDiv.replaceChildren(),!!f(this,Is))for(const t of f(this,Is).split(` +`)){const s=document.createElement("div");s.append(t?document.createTextNode(t):document.createElement("br")),this.editorDiv.append(s)}},aR=function(){return f(this,Is).replaceAll(" "," ")},Hb=function(t){return t.replaceAll(" "," ")},lR=function(t){const{value:s,fontSize:i,color:r,pageIndex:o}=this._initialData;return this._hasBeenMoved||t.value!==s||t.fontSize!==i||t.color.some((a,l)=>a!==r[l])||t.pageIndex!==o},R(Tt,lo),he(Tt,"_freeTextDefaultContent",""),he(Tt,"_internalPadding",0),he(Tt,"_defaultColor",null),he(Tt,"_defaultFontSize",10),he(Tt,"_type","freetext"),he(Tt,"_editorType",je.FREETEXT);let zb=Tt;class cR{toSVGPath(){Mt("Abstract method `toSVGPath` must be implemented.")}get box(){Mt("Abstract getter `box` must be implemented.")}serialize(e,t){Mt("Abstract method `serialize` must be implemented.")}get classNamesForDrawing(){Mt("Abstract getter `classNamesForDrawing` must be implemented.")}get classNamesForOutlining(){Mt("Abstract getter `classNamesForOutlining` must be implemented.")}get mustRemoveSelfIntersections(){return!1}}var Ns,Ci,Ph,Rh,rr,Ve,Tl,Pl,zf,Hf,Mh,Ih,Bo,Bf,by,wy,yn,Zu,hR,uR,dR,fR,pR,mR;const Tr=class Tr{constructor({x:e,y:t},s,i,r,o,a=0){R(this,yn);R(this,Ns);R(this,Ci,[]);R(this,Ph);R(this,Rh);R(this,rr,[]);R(this,Ve,new Float64Array(18));R(this,Tl);R(this,Pl);R(this,zf);R(this,Hf);R(this,Mh);R(this,Ih);R(this,Bo,[]);C(this,Ns,s),C(this,Ih,r*i),C(this,Rh,o),f(this,Ve).set([NaN,NaN,NaN,NaN,e,t],6),C(this,Ph,a),C(this,Hf,f(Tr,Bf)*i),C(this,zf,f(Tr,wy)*i),C(this,Mh,i),f(this,Bo).push(e,t)}isEmpty(){return isNaN(f(this,Ve)[8])}add({x:e,y:t}){var F;C(this,Tl,e),C(this,Pl,t);const[s,i,r,o]=f(this,Ns);let[a,l,c,h]=f(this,Ve).subarray(8,12);const u=e-c,d=t-h,p=Math.hypot(u,d);if(p=6;i-=6)isNaN(t[i])?s.push(`L${t[i+4]} ${t[i+5]}`):s.push(`C${t[i]} ${t[i+1]} ${t[i+2]} ${t[i+3]} ${t[i+4]} ${t[i+5]}`);return T(this,yn,uR).call(this,s),s.join(" ")}newFreeDrawOutline(e,t,s,i,r,o){return new gR(e,t,s,i,r,o)}getOutlines(){var u;const e=f(this,rr),t=f(this,Ci),s=f(this,Ve),[i,r,o,a]=f(this,Ns),l=new Float64Array((((u=f(this,Bo))==null?void 0:u.length)??0)+2);for(let d=0,p=l.length-2;d=6;d-=6)for(let p=0;p<6;p+=2){if(isNaN(t[d+p])){c[h]=c[h+1]=NaN,h+=2;continue}c[h]=t[d+p],c[h+1]=t[d+p+1],h+=2}return T(this,yn,pR).call(this,c,h),this.newFreeDrawOutline(c,l,f(this,Ns),f(this,Mh),f(this,Ph),f(this,Rh))}};Ns=new WeakMap,Ci=new WeakMap,Ph=new WeakMap,Rh=new WeakMap,rr=new WeakMap,Ve=new WeakMap,Tl=new WeakMap,Pl=new WeakMap,zf=new WeakMap,Hf=new WeakMap,Mh=new WeakMap,Ih=new WeakMap,Bo=new WeakMap,Bf=new WeakMap,by=new WeakMap,wy=new WeakMap,yn=new WeakSet,Zu=function(){const e=f(this,Ve).subarray(4,6),t=f(this,Ve).subarray(16,18),[s,i,r,o]=f(this,Ns);return[(f(this,Tl)+(e[0]-t[0])/2-s)/r,(f(this,Pl)+(e[1]-t[1])/2-i)/o,(f(this,Tl)+(t[0]-e[0])/2-s)/r,(f(this,Pl)+(t[1]-e[1])/2-i)/o]},hR=function(){const[e,t,s,i]=f(this,Ns),[r,o,a,l]=T(this,yn,Zu).call(this);return`M${(f(this,Ve)[2]-e)/s} ${(f(this,Ve)[3]-t)/i} L${(f(this,Ve)[4]-e)/s} ${(f(this,Ve)[5]-t)/i} L${r} ${o} L${a} ${l} L${(f(this,Ve)[16]-e)/s} ${(f(this,Ve)[17]-t)/i} L${(f(this,Ve)[14]-e)/s} ${(f(this,Ve)[15]-t)/i} Z`},uR=function(e){const t=f(this,Ci);e.push(`L${t[4]} ${t[5]} Z`)},dR=function(e){const[t,s,i,r]=f(this,Ns),o=f(this,Ve).subarray(4,6),a=f(this,Ve).subarray(16,18),[l,c,h,u]=T(this,yn,Zu).call(this);e.push(`L${(o[0]-t)/i} ${(o[1]-s)/r} L${l} ${c} L${h} ${u} L${(a[0]-t)/i} ${(a[1]-s)/r}`)},fR=function(e){const t=f(this,Ve),[s,i,r,o]=f(this,Ns),[a,l,c,h]=T(this,yn,Zu).call(this),u=new Float64Array(36);return u.set([NaN,NaN,NaN,NaN,(t[2]-s)/r,(t[3]-i)/o,NaN,NaN,NaN,NaN,(t[4]-s)/r,(t[5]-i)/o,NaN,NaN,NaN,NaN,a,l,NaN,NaN,NaN,NaN,c,h,NaN,NaN,NaN,NaN,(t[16]-s)/r,(t[17]-i)/o,NaN,NaN,NaN,NaN,(t[14]-s)/r,(t[15]-i)/o],0),this.newFreeDrawOutline(u,e,f(this,Ns),f(this,Mh),f(this,Ph),f(this,Rh))},pR=function(e,t){const s=f(this,Ci);return e.set([NaN,NaN,NaN,NaN,s[4],s[5]],t),t+=6},mR=function(e,t){const s=f(this,Ve).subarray(4,6),i=f(this,Ve).subarray(16,18),[r,o,a,l]=f(this,Ns),[c,h,u,d]=T(this,yn,Zu).call(this);return e.set([NaN,NaN,NaN,NaN,(s[0]-r)/a,(s[1]-o)/l,NaN,NaN,NaN,NaN,c,h,NaN,NaN,NaN,NaN,u,d,NaN,NaN,NaN,NaN,(i[0]-r)/a,(i[1]-o)/l],t),t+=24},R(Tr,Bf,8),R(Tr,by,2),R(Tr,wy,f(Tr,Bf)+f(Tr,by));let Og=Tr;var Oh,Rl,Ur,qf,Ls,Uf,Xt,Es,Xu,Yu,yR;class gR extends cR{constructor(t,s,i,r,o,a){super();R(this,Es);R(this,Oh);R(this,Rl,null);R(this,Ur);R(this,qf);R(this,Ls);R(this,Uf);R(this,Xt);C(this,Xt,t),C(this,Ls,s),C(this,Oh,i),C(this,Uf,r),C(this,Ur,o),C(this,qf,a),T(this,Es,yR).call(this,a);const{x:l,y:c,width:h,height:u}=f(this,Rl);for(let d=0,p=t.length;dt[0]-s[0]||t[1]-s[1]||t[2]-s[2]);const e=[];for(const t of f(this,qo))t[3]?(e.push(...T(this,ds,Bb).call(this,t)),T(this,ds,bR).call(this,t)):(T(this,ds,wR).call(this,t),e.push(...T(this,ds,Bb).call(this,t)));return T(this,ds,vR).call(this,e)}}Vf=new WeakMap,qo=new WeakMap,$i=new WeakMap,ds=new WeakSet,vR=function(e){const t=[],s=new Set;for(const o of e){const[a,l,c]=o;t.push([a,l,o],[a,c,o])}t.sort((o,a)=>o[1]-a[1]||o[0]-a[0]);for(let o=0,a=t.length;o0;){const o=s.values().next().value;let[a,l,c,h,u]=o;s.delete(o);let d=a,p=l;for(r=[a,c],i.push(r);;){let m;if(s.has(h))m=h;else if(s.has(u))m=u;else break;s.delete(m),[a,l,c,h,u]=m,d!==a&&(r.push(d,p,a,p===l?l:c),d=a),p=p===l?c:l}r.push(d,p)}return new V9(i,f(this,Vf))},Zm=function(e){const t=f(this,$i);let s=0,i=t.length-1;for(;s<=i;){const r=s+i>>1,o=t[r][0];if(o===e)return r;o=0;i--){const[r,o]=f(this,$i)[i];if(r!==e)break;if(r===e&&o===t){f(this,$i).splice(i,1);return}}},Bb=function(e){const[t,s,i]=e,r=[[t,s,i]],o=T(this,ds,Zm).call(this,i);for(let a=0;a=l){if(p>c)r[h][1]=c;else{if(u===1)return[];r.splice(h,1),h--,u--}continue}r[h][2]=l,p>c&&r.push([t,c,p])}}}return r};var Wf,Nh;class V9 extends cR{constructor(t,s){super();R(this,Wf);R(this,Nh);C(this,Nh,t),C(this,Wf,s)}toSVGPath(){const t=[];for(const s of f(this,Nh)){let[i,r]=s;t.push(`M${i} ${r}`);for(let o=2;o-1?(C(this,vs,!0),T(this,Le,Xm).call(this,t),T(this,Le,Oa).call(this)):f(this,Vr)&&(C(this,jh,t.anchorNode),C(this,Yf,t.anchorOffset),C(this,Jf,t.focusNode),C(this,Qf,t.focusOffset),T(this,Le,Gb).call(this),T(this,Le,Oa).call(this),this.rotate(this.rotation))}static get _keyboardManager(){const t=ot.prototype;return Ye(this,"_keyboardManager",new bp([[["ArrowLeft","mac+ArrowLeft"],t._moveCaret,{args:[0]}],[["ArrowRight","mac+ArrowRight"],t._moveCaret,{args:[1]}],[["ArrowUp","mac+ArrowUp"],t._moveCaret,{args:[2]}],[["ArrowDown","mac+ArrowDown"],t._moveCaret,{args:[3]}]]))}get telemetryInitialData(){return{action:"added",type:f(this,vs)?"free_highlight":"highlight",color:this._uiManager.highlightColorNames.get(this.color),thickness:f(this,Ys),methodOfCreation:f(this,ep)}}get telemetryFinalData(){return{type:"highlight",color:this._uiManager.highlightColorNames.get(this.color)}}static computeTelemetryFinalData(t){return{numberOfColors:t.get("color").size}}static initialize(t,s){var i;pt.initialize(t,s),ot._defaultColor||(ot._defaultColor=((i=s.highlightColors)==null?void 0:i.values().next().value)||"#fff066")}static updateDefaultParams(t,s){switch(t){case Me.HIGHLIGHT_DEFAULT_COLOR:ot._defaultColor=s;break;case Me.HIGHLIGHT_THICKNESS:ot._defaultThickness=s;break}}translateInPage(t,s){}get toolbarPosition(){return f(this,Hh)}updateParams(t,s){switch(t){case Me.HIGHLIGHT_COLOR:T(this,Le,SR).call(this,s);break;case Me.HIGHLIGHT_THICKNESS:T(this,Le,kR).call(this,s);break}}static get defaultPropertiesToUpdate(){return[[Me.HIGHLIGHT_DEFAULT_COLOR,ot._defaultColor],[Me.HIGHLIGHT_THICKNESS,ot._defaultThickness]]}get propertiesToUpdate(){return[[Me.HIGHLIGHT_COLOR,this.color||ot._defaultColor],[Me.HIGHLIGHT_THICKNESS,f(this,Ys)||ot._defaultThickness],[Me.HIGHLIGHT_FREE,f(this,vs)]]}async addEditToolbar(){const t=await super.addEditToolbar();return t?(this._uiManager.highlightColors&&(C(this,zh,new Ng({editor:this})),t.addColorPicker(f(this,zh))),t):null}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}fixAndSetPosition(){return super.fixAndSetPosition(T(this,Le,Ju).call(this))}getBaseTranslation(){return[0,0]}getRect(t,s){return super.getRect(t,s,T(this,Le,Ju).call(this))}onceAdded(){this.annotationElementId||this.parent.addUndoableEditor(this),this.div.focus()}remove(){T(this,Le,Kb).call(this),this._reportTelemetry({action:"deleted"}),super.remove()}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(T(this,Le,Oa).call(this),this.isAttachedToDOM||this.parent.add(this)))}setParent(t){var i;let s=!1;this.parent&&!t?T(this,Le,Kb).call(this):t&&(T(this,Le,Oa).call(this,t),s=!this.parent&&((i=this.div)==null?void 0:i.classList.contains("selectedEditor"))),super.setParent(t),this.show(this._isVisible),s&&this.select()}rotate(t){var r,o,a;const{drawLayer:s}=this.parent;let i;f(this,vs)?(t=(t-this.rotation+360)%360,i=T(r=ot,si,Cc).call(r,f(this,Ri).box,t)):i=T(o=ot,si,Cc).call(o,this,t),s.rotate(f(this,Yn),t),s.rotate(f(this,hn),t),s.updateBox(f(this,Yn),i),s.updateBox(f(this,hn),T(a=ot,si,Cc).call(a,f(this,Xs).box,t))}render(){if(this.div)return this.div;const t=super.render();f(this,Bh)&&(t.setAttribute("aria-label",f(this,Bh)),t.setAttribute("role","mark")),f(this,vs)?t.classList.add("free"):this.div.addEventListener("keydown",T(this,Le,xR).bind(this),{signal:this._uiManager._signal});const s=C(this,Ol,document.createElement("div"));t.append(s),s.setAttribute("aria-hidden","true"),s.className="internal",s.style.clipPath=f(this,Il);const[i,r]=this.parentDimensions;return this.setDims(this.width*i,this.height*r),Mg(this,f(this,Ol),["pointerover","pointerleave"]),this.enableEditing(),t}pointerover(){this.isSelected||this.parent.drawLayer.addClass(f(this,hn),"hovered")}pointerleave(){this.isSelected||this.parent.drawLayer.removeClass(f(this,hn),"hovered")}_moveCaret(t){switch(this.parent.unselect(this),t){case 0:case 2:T(this,Le,Ym).call(this,!0);break;case 1:case 3:T(this,Le,Ym).call(this,!1);break}}select(){var t,s;super.select(),f(this,hn)&&((t=this.parent)==null||t.drawLayer.removeClass(f(this,hn),"hovered"),(s=this.parent)==null||s.drawLayer.addClass(f(this,hn),"selected"))}unselect(){var t;super.unselect(),f(this,hn)&&((t=this.parent)==null||t.drawLayer.removeClass(f(this,hn),"selected"),f(this,vs)||T(this,Le,Ym).call(this,!1))}get _mustFixPosition(){return!f(this,vs)}show(t=this._isVisible){super.show(t),this.parent&&(this.parent.drawLayer.show(f(this,Yn),t),this.parent.drawLayer.show(f(this,hn),t))}static startHighlighting(t,s,{target:i,x:r,y:o}){const{x:a,y:l,width:c,height:h}=i.getBoundingClientRect(),u=new AbortController,d=t.combinedSignal(u),p=g=>{g.preventDefault(),g.stopPropagation()},m=g=>{u.abort(),T(this,si,TR).call(this,t,g)};window.addEventListener("blur",m,{signal:d}),window.addEventListener("pointerup",m,{signal:d}),window.addEventListener("pointerdown",p,{capture:!0,passive:!1,signal:d}),window.addEventListener("contextmenu",li,{signal:d}),i.addEventListener("pointermove",T(this,si,$R).bind(this,t),{signal:d}),this._freeHighlight=new qb({x:r,y:o},[a,l,c,h],t.scale,this._defaultThickness/2,s,.001),{id:this._freeHighlightId,clipPathId:this._freeHighlightClipId}=t.drawLayer.draw(this._freeHighlight,this._defaultColor,this._defaultOpacity,!0)}static async deserialize(t,s,i){var g,v,y,b;let r=null;if(t instanceof tR){const{data:{quadPoints:_,rect:S,rotation:A,id:E,color:$,opacity:O,popupRef:F},parent:{page:{pageNumber:q}}}=t;r=t={annotationType:je.HIGHLIGHT,color:Array.from($),opacity:O,quadPoints:_,boxes:null,pageIndex:q-1,rect:S.slice(0),rotation:A,id:E,deleted:!1,popupRef:F}}else if(t instanceof D1){const{data:{inkLists:_,rect:S,rotation:A,id:E,color:$,borderStyle:{rawWidth:O},popupRef:F},parent:{page:{pageNumber:q}}}=t;r=t={annotationType:je.HIGHLIGHT,color:Array.from($),thickness:O,inkLists:_,boxes:null,pageIndex:q-1,rect:S.slice(0),rotation:A,id:E,deleted:!1,popupRef:F}}const{color:o,quadPoints:a,inkLists:l,opacity:c}=t,h=await super.deserialize(t,s,i);h.color=Ce.makeHexColor(...o),C(h,Wr,c||1),l&&C(h,Ys,t.thickness),h.annotationElementId=t.id||null,h._initialData=r;const[u,d]=h.pageDimensions,[p,m]=h.pageTranslation;if(a){const _=C(h,Vr,[]);for(let S=0;S=0)C(this,Yn,s),C(this,Il,i),this.parent.drawLayer.finalizeLine(s,t),C(this,hn,this.parent.drawLayer.drawOutline(f(this,Xs)));else if(this.parent){const p=this.parent.viewport.rotation;this.parent.drawLayer.updateLine(f(this,Yn),t),this.parent.drawLayer.updateBox(f(this,Yn),T(u=ot,si,Cc).call(u,f(this,Ri).box,(p-this.rotation+360)%360)),this.parent.drawLayer.updateLine(f(this,hn),f(this,Xs)),this.parent.drawLayer.updateBox(f(this,hn),T(d=ot,si,Cc).call(d,f(this,Xs).box,p))}const{x:o,y:a,width:l,height:c}=t.box;switch(this.rotation){case 0:this.x=o,this.y=a,this.width=l,this.height=c;break;case 90:{const[p,m]=this.parentDimensions;this.x=a,this.y=1-o,this.width=l*m/p,this.height=c*p/m;break}case 180:this.x=1-o,this.y=1-a,this.width=l,this.height=c;break;case 270:{const[p,m]=this.parentDimensions;this.x=1-a,this.y=o,this.width=l*m/p,this.height=c*p/m;break}}const{lastPoint:h}=f(this,Xs).box;C(this,Hh,[(h[0]-o)/l,(h[1]-a)/c])},SR=function(t){const s=(o,a)=>{var l,c,h;this.color=o,(l=this.parent)==null||l.drawLayer.changeColor(f(this,Yn),o),(c=f(this,zh))==null||c.updateColor(o),C(this,Wr,a),(h=this.parent)==null||h.drawLayer.changeOpacity(f(this,Yn),a)},i=this.color,r=f(this,Wr);this.addCommands({cmd:s.bind(this,t,ot._defaultOpacity),undo:s.bind(this,i,r),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Me.HIGHLIGHT_COLOR,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"color_changed",color:this._uiManager.highlightColorNames.get(t)},!0)},kR=function(t){const s=f(this,Ys),i=r=>{C(this,Ys,r),T(this,Le,AR).call(this,r)};this.addCommands({cmd:i.bind(this,t),undo:i.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Me.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"thickness_changed",thickness:t},!0)},AR=function(t){if(!f(this,vs))return;T(this,Le,Xm).call(this,{highlightOutlines:f(this,Ri).getNewOutline(t/2)}),this.fixAndSetPosition();const[s,i]=this.parentDimensions;this.setDims(this.width*s,this.height*i)},Kb=function(){f(this,Yn)===null||!this.parent||(this.parent.drawLayer.remove(f(this,Yn)),C(this,Yn,null),this.parent.drawLayer.remove(f(this,hn)),C(this,hn,null))},Oa=function(t=this.parent){f(this,Yn)===null&&({id:ss(this,Yn)._,clipPathId:ss(this,Il)._}=t.drawLayer.draw(f(this,Ri),this.color,f(this,Wr)),C(this,hn,t.drawLayer.drawOutline(f(this,Xs))),f(this,Ol)&&(f(this,Ol).style.clipPath=f(this,Il)))},si=new WeakSet,Cc=function({x:t,y:s,width:i,height:r},o){switch(o){case 90:return{x:1-s-r,y:t,width:r,height:i};case 180:return{x:1-t-i,y:1-s-r,width:i,height:r};case 270:return{x:s,y:1-t-i,width:r,height:i}}return{x:t,y:s,width:i,height:r}},xR=function(t){ot._keyboardManager.exec(this,t)},Ym=function(t){if(!f(this,jh))return;const s=window.getSelection();t?s.setPosition(f(this,jh),f(this,Yf)):s.setPosition(f(this,Jf),f(this,Qf))},Ju=function(){return f(this,vs)?this.rotation:0},ER=function(){if(f(this,vs))return null;const[t,s]=this.pageDimensions,[i,r]=this.pageTranslation,o=f(this,Vr),a=new Float32Array(o.length*8);let l=0;for(const{x:c,y:h,width:u,height:d}of o){const p=c*t+i,m=(1-h-d)*s+r;a[l]=a[l+4]=p,a[l+1]=a[l+3]=m,a[l+2]=a[l+6]=p+u*t,a[l+5]=a[l+7]=m+d*s,l+=8}return a},CR=function(t){return f(this,Ri).serialize(t,T(this,Le,Ju).call(this))},$R=function(t,s){this._freeHighlight.add(s)&&t.drawLayer.updatePath(this._freeHighlightId,this._freeHighlight)},TR=function(t,s){this._freeHighlight.isEmpty()?t.drawLayer.remove(this._freeHighlightId):t.createAndAddNewEditor(s,!1,{highlightId:this._freeHighlightId,highlightOutlines:this._freeHighlight.getOutlines(),clipPathId:this._freeHighlightClipId,methodOfCreation:"main_toolbar"}),this._freeHighlightId=-1,this._freeHighlight=null,this._freeHighlightClipId=""},PR=function(t){const{color:s}=this._initialData;return t.color.some((i,r)=>i!==s[r])},R(ot,si),he(ot,"_defaultColor",null),he(ot,"_defaultOpacity",1),he(ot,"_defaultThickness",12),he(ot,"_type","highlight"),he(ot,"_editorType",je.HIGHLIGHT),he(ot,"_freeHighlightId",-1),he(ot,"_freeHighlight",null),he(ot,"_freeHighlightClipId","");let Lg=ot;var Nl,Ll,or,Gr,Js,Dl,Fl,jl,Kr,qh,zl,Hl,Vo,de,RR,MR,IR,OR,Xb,NR,Yb,LR,DR,FR,jR,zR,Na,Jb,Qb,ew,Jm,Qm,$c,tw,eg,uo,HR,nw,BR,qR,sw,tg,Qu;const jt=class jt extends pt{constructor(t){super({...t,name:"inkEditor"});R(this,de);R(this,Nl,0);R(this,Ll,0);R(this,or,null);R(this,Gr,new Path2D);R(this,Js,!1);R(this,Dl,null);R(this,Fl,!1);R(this,jl,!1);R(this,Kr,null);R(this,qh,null);R(this,zl,0);R(this,Hl,0);R(this,Vo,null);this.color=t.color||null,this.thickness=t.thickness||null,this.opacity=t.opacity||null,this.paths=[],this.bezierPath2D=[],this.allRawPaths=[],this.currentPath=[],this.scaleFactor=1,this.translationX=this.translationY=0,this.x=0,this.y=0,this._willKeepAspectRatio=!0}static initialize(t,s){pt.initialize(t,s)}static updateDefaultParams(t,s){switch(t){case Me.INK_THICKNESS:jt._defaultThickness=s;break;case Me.INK_COLOR:jt._defaultColor=s;break;case Me.INK_OPACITY:jt._defaultOpacity=s/100;break}}updateParams(t,s){switch(t){case Me.INK_THICKNESS:T(this,de,RR).call(this,s);break;case Me.INK_COLOR:T(this,de,MR).call(this,s);break;case Me.INK_OPACITY:T(this,de,IR).call(this,s);break}}static get defaultPropertiesToUpdate(){return[[Me.INK_THICKNESS,jt._defaultThickness],[Me.INK_COLOR,jt._defaultColor||pt._defaultLineColor],[Me.INK_OPACITY,Math.round(jt._defaultOpacity*100)]]}get propertiesToUpdate(){return[[Me.INK_THICKNESS,this.thickness||jt._defaultThickness],[Me.INK_COLOR,this.color||jt._defaultColor||pt._defaultLineColor],[Me.INK_OPACITY,Math.round(100*(this.opacity??jt._defaultOpacity))]]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.canvas||(T(this,de,Jm).call(this),T(this,de,Qm).call(this)),this.isAttachedToDOM||(this.parent.add(this),T(this,de,$c).call(this)),T(this,de,Qu).call(this)))}remove(){var t;this.canvas!==null&&(this.isEmpty()||this.commit(),this.canvas.width=this.canvas.height=0,this.canvas.remove(),this.canvas=null,f(this,or)&&(clearTimeout(f(this,or)),C(this,or,null)),(t=f(this,Kr))==null||t.disconnect(),C(this,Kr,null),super.remove())}setParent(t){!this.parent&&t?this._uiManager.removeShouldRescale(this):this.parent&&t===null&&this._uiManager.addShouldRescale(this),super.setParent(t)}onScaleChanging(){const[t,s]=this.parentDimensions,i=this.width*t,r=this.height*s;this.setDimensions(i,r)}enableEditMode(){f(this,Js)||this.canvas===null||(super.enableEditMode(),this._isDraggable=!1,T(this,de,Jb).call(this))}disableEditMode(){!this.isInEditMode()||this.canvas===null||(super.disableEditMode(),this._isDraggable=!this.isEmpty(),this.div.classList.remove("editing"),T(this,de,Qb).call(this))}onceAdded(){this._isDraggable=!this.isEmpty()}isEmpty(){return this.paths.length===0||this.paths.length===1&&this.paths[0].length===0}commit(){f(this,Js)||(super.commit(),this.isEditing=!1,this.disableEditMode(),this.setInForeground(),C(this,Js,!0),this.div.classList.add("disabled"),T(this,de,Qu).call(this,!0),this.select(),this.parent.addInkEditorIfNeeded(!0),this.moveInDOM(),this.div.focus({preventScroll:!0}))}focusin(t){this._focusEventsAllowed&&(super.focusin(t),this.enableEditMode())}canvasPointerdown(t){t.button!==0||!this.isInEditMode()||f(this,Js)||(this.setInForeground(),t.preventDefault(),this.div.contains(document.activeElement)||this.div.focus({preventScroll:!0}),T(this,de,NR).call(this,t.offsetX,t.offsetY))}canvasPointermove(t){t.preventDefault(),T(this,de,Yb).call(this,t.offsetX,t.offsetY)}canvasPointerup(t){t.preventDefault(),T(this,de,ew).call(this,t)}canvasPointerleave(t){T(this,de,ew).call(this,t)}get isResizable(){return!this.isEmpty()&&f(this,Js)}render(){if(this.div)return this.div;let t,s;this.width&&(t=this.x,s=this.y),super.render(),this.div.setAttribute("data-l10n-id","pdfjs-ink");const[i,r,o,a]=T(this,de,OR).call(this);if(this.setAt(i,r,0,0),this.setDims(o,a),T(this,de,Jm).call(this),this.width){const[l,c]=this.parentDimensions;this.setAspectRatio(this.width*l,this.height*c),this.setAt(t*l,s*c,this.width*l,this.height*c),C(this,jl,!0),T(this,de,$c).call(this),this.setDims(this.width*l,this.height*c),T(this,de,Na).call(this),this.div.classList.add("disabled")}else this.div.classList.add("editing"),this.enableEditMode();return T(this,de,Qm).call(this),this.div}setDimensions(t,s){const i=Math.round(t),r=Math.round(s);if(f(this,zl)===i&&f(this,Hl)===r)return;C(this,zl,i),C(this,Hl,r),this.canvas.style.visibility="hidden";const[o,a]=this.parentDimensions;this.width=t/o,this.height=s/a,this.fixAndSetPosition(),f(this,Js)&&T(this,de,tw).call(this,t,s),T(this,de,$c).call(this),T(this,de,Na).call(this),this.canvas.style.visibility="visible",this.fixDims()}static async deserialize(t,s,i){var v,y,b;if(t instanceof D1)return null;const r=await super.deserialize(t,s,i);r.thickness=t.thickness,r.color=Ce.makeHexColor(...t.color),r.opacity=t.opacity;const[o,a]=r.pageDimensions,l=r.width*o,c=r.height*a,h=r.parentScale,u=t.thickness/2;C(r,Js,!0),C(r,zl,Math.round(l)),C(r,Hl,Math.round(c));const{paths:d,rect:p,rotation:m}=t;for(let{bezier:_}of d){_=T(v=jt,uo,BR).call(v,_,p,m);const S=[];r.paths.push(S);let A=h*(_[0]-u),E=h*(_[1]-u);for(let O=2,F=_.length;O{this.thickness=r,T(this,de,Qu).call(this)},i=this.thickness;this.addCommands({cmd:s.bind(this,t),undo:s.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Me.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0})},MR=function(t){const s=r=>{this.color=r,T(this,de,Na).call(this)},i=this.color;this.addCommands({cmd:s.bind(this,t),undo:s.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Me.INK_COLOR,overwriteIfSameType:!0,keepUndo:!0})},IR=function(t){const s=r=>{this.opacity=r,T(this,de,Na).call(this)};t/=100;const i=this.opacity;this.addCommands({cmd:s.bind(this,t),undo:s.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Me.INK_OPACITY,overwriteIfSameType:!0,keepUndo:!0})},OR=function(){const{parentRotation:t,parentDimensions:[s,i]}=this;switch(t){case 90:return[0,i,i,s];case 180:return[s,i,s,i];case 270:return[s,0,i,s];default:return[0,0,s,i]}},Xb=function(){const{ctx:t,color:s,opacity:i,thickness:r,parentScale:o,scaleFactor:a}=this;t.lineWidth=r*o/a,t.lineCap="round",t.lineJoin="round",t.miterLimit=10,t.strokeStyle=`${s}${pK(i)}`},NR=function(t,s){this.canvas.addEventListener("contextmenu",li,{signal:this._uiManager._signal}),T(this,de,Qb).call(this),C(this,Dl,new AbortController);const i=this._uiManager.combinedSignal(f(this,Dl));this.canvas.addEventListener("pointerleave",this.canvasPointerleave.bind(this),{signal:i}),this.canvas.addEventListener("pointermove",this.canvasPointermove.bind(this),{signal:i}),this.canvas.addEventListener("pointerup",this.canvasPointerup.bind(this),{signal:i}),this.isEditing=!0,f(this,jl)||(C(this,jl,!0),T(this,de,$c).call(this),this.thickness||(this.thickness=jt._defaultThickness),this.color||(this.color=jt._defaultColor||pt._defaultLineColor),this.opacity??(this.opacity=jt._defaultOpacity)),this.currentPath.push([t,s]),C(this,Fl,!1),T(this,de,Xb).call(this),C(this,Vo,()=>{T(this,de,FR).call(this),f(this,Vo)&&window.requestAnimationFrame(f(this,Vo))}),window.requestAnimationFrame(f(this,Vo))},Yb=function(t,s){const[i,r]=this.currentPath.at(-1);if(this.currentPath.length>1&&t===i&&s===r)return;const o=this.currentPath;let a=f(this,Gr);if(o.push([t,s]),C(this,Fl,!0),o.length<=2){a.moveTo(...o[0]),a.lineTo(t,s);return}o.length===3&&(C(this,Gr,a=new Path2D),a.moveTo(...o[0])),T(this,de,jR).call(this,a,...o.at(-3),...o.at(-2),t,s)},LR=function(){if(this.currentPath.length===0)return;const t=this.currentPath.at(-1);f(this,Gr).lineTo(...t)},DR=function(t,s){C(this,Vo,null),t=Math.min(Math.max(t,0),this.canvas.width),s=Math.min(Math.max(s,0),this.canvas.height),T(this,de,Yb).call(this,t,s),T(this,de,LR).call(this);let i;if(this.currentPath.length!==1)i=T(this,de,zR).call(this);else{const c=[t,s];i=[[c,c.slice(),c.slice(),c]]}const r=f(this,Gr),o=this.currentPath;this.currentPath=[],C(this,Gr,new Path2D);const a=()=>{this.allRawPaths.push(o),this.paths.push(i),this.bezierPath2D.push(r),this._uiManager.rebuild(this)},l=()=>{this.allRawPaths.pop(),this.paths.pop(),this.bezierPath2D.pop(),this.paths.length===0?this.remove():(this.canvas||(T(this,de,Jm).call(this),T(this,de,Qm).call(this)),T(this,de,Qu).call(this))};this.addCommands({cmd:a,undo:l,mustExec:!0})},FR=function(){if(!f(this,Fl))return;C(this,Fl,!1);const t=Math.ceil(this.thickness*this.parentScale),s=this.currentPath.slice(-3),i=s.map(a=>a[0]),r=s.map(a=>a[1]);Math.min(...i)-t,Math.max(...i)+t,Math.min(...r)-t,Math.max(...r)+t;const{ctx:o}=this;o.save(),o.clearRect(0,0,this.canvas.width,this.canvas.height);for(const a of this.bezierPath2D)o.stroke(a);o.stroke(f(this,Gr)),o.restore()},jR=function(t,s,i,r,o,a,l){const c=(s+r)/2,h=(i+o)/2,u=(r+a)/2,d=(o+l)/2;t.bezierCurveTo(c+2*(r-c)/3,h+2*(o-h)/3,u+2*(r-u)/3,d+2*(o-d)/3,u,d)},zR=function(){const t=this.currentPath;if(t.length<=2)return[[t[0],t[0],t.at(-1),t.at(-1)]];const s=[];let i,[r,o]=t[0];for(i=1;i{C(this,or,null),this.canvas.removeEventListener("contextmenu",li)},10)),T(this,de,DR).call(this,t.offsetX,t.offsetY),this.addToAnnotationStorage(),this.setInBackground()},Jm=function(){this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=0,this.canvas.className="inkEditorCanvas",this.canvas.setAttribute("data-l10n-id","pdfjs-ink-canvas"),this.div.append(this.canvas),this.ctx=this.canvas.getContext("2d")},Qm=function(){C(this,Kr,new ResizeObserver(t=>{const s=t[0].contentRect;s.width&&s.height&&this.setDimensions(s.width,s.height)})),f(this,Kr).observe(this.div),this._uiManager._signal.addEventListener("abort",()=>{var t;(t=f(this,Kr))==null||t.disconnect(),C(this,Kr,null)},{once:!0})},$c=function(){if(!f(this,jl))return;const[t,s]=this.parentDimensions;this.canvas.width=Math.ceil(this.width*t),this.canvas.height=Math.ceil(this.height*s),T(this,de,eg).call(this)},tw=function(t,s){const i=T(this,de,tg).call(this),r=(t-i)/f(this,Ll),o=(s-i)/f(this,Nl);this.scaleFactor=Math.min(r,o)},eg=function(){const t=T(this,de,tg).call(this)/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+t,this.translationY*this.scaleFactor+t)},uo=new WeakSet,HR=function(t){const s=new Path2D;for(let i=0,r=t.length;i`image/${s}`))}static get supportedTypesStr(){return Ye(this,"supportedTypesStr",this.supportedTypes.join(","))}static isHandlingMimeForPasting(t){return this.supportedTypes.includes(t)}static paste(t,s){s.pasteEditor(je.STAMP,{bitmapFile:t.getAsFile()})}altTextFinish(){this._uiManager.useNewAltTextFlow&&(this.div.hidden=!1),super.altTextFinish()}get telemetryFinalData(){var t;return{type:"stamp",hasAltText:!!((t=this.altTextData)!=null&&t.altText)}}static computeTelemetryFinalData(t){const s=t.get("hasAltText");return{hasAltText:s.get(!0)??0,hasNoAltText:s.get(!1)??0}}async mlGuessAltText(t=null,s=!0){if(this.hasAltTextData())return null;const{mlManager:i}=this._uiManager;if(!i)throw new Error("No ML.");if(!await i.isEnabledFor("altText"))throw new Error("ML isn't enabled for alt text.");const{data:r,width:o,height:a}=t||this.copyCanvas(null,null,!0).imageData,l=await i.guess({name:"altText",request:{data:r,width:o,height:a,channels:r.length/(o*a)}});if(!l)throw new Error("No response from the AI service.");if(l.error)throw new Error("Error from the AI service.");if(l.cancel)return null;if(!l.output)throw new Error("No valid response from the AI service.");const c=l.output;return await this.setGuessedAltText(c),s&&!this.hasAltTextData()&&(this.altTextData={alt:c,decorative:!1}),c}remove(){var t,s;f(this,In)&&(C(this,Ht,null),this._uiManager.imageManager.deleteId(f(this,In)),(t=f(this,ar))==null||t.remove(),C(this,ar,null),(s=f(this,Xr))==null||s.disconnect(),C(this,Xr,null),f(this,lr)&&(clearTimeout(f(this,lr)),C(this,lr,null))),super.remove()}rebuild(){if(!this.parent){f(this,In)&&T(this,Xe,ng).call(this);return}super.rebuild(),this.div!==null&&(f(this,In)&&f(this,ar)===null&&T(this,Xe,ng).call(this),this.isAttachedToDOM||this.parent.add(this))}onceAdded(){this._isDraggable=!0,this.div.focus()}isEmpty(){return!(f(this,Wo)||f(this,Ht)||f(this,Zr)||f(this,Go)||f(this,In))}get isResizable(){return!0}render(){if(this.div)return this.div;let t,s;if(this.width&&(t=this.x,s=this.y),super.render(),this.div.hidden=!0,this.div.setAttribute("role","figure"),this.addAltTextButton(),f(this,Ht)?T(this,Xe,rw).call(this):T(this,Xe,ng).call(this),this.width&&!this.annotationElementId){const[i,r]=this.parentDimensions;this.setAt(t*i,s*r,this.width*i,this.height*r)}return this.div}copyCanvas(t,s,i=!1){var p;t||(t=224);const{width:r,height:o}=f(this,Ht),a=new eb;let l=f(this,Ht),c=r,h=o,u=null;if(s){if(r>s||o>s){const O=Math.min(s/r,s/o);c=Math.floor(r*O),h=Math.floor(o*O)}u=document.createElement("canvas");const m=u.width=Math.ceil(c*a.sx),g=u.height=Math.ceil(h*a.sy);f(this,Ds)||(l=T(this,Xe,sg).call(this,m,g));const v=u.getContext("2d");v.filter=this._uiManager.hcmFilter;let y="white",b="#cfcfd8";this._uiManager.hcmFilter!=="none"?b="black":(p=window.matchMedia)!=null&&p.call(window,"(prefers-color-scheme: dark)").matches&&(y="#8f8f9d",b="#42414d");const _=15,S=_*a.sx,A=_*a.sy,E=new OffscreenCanvas(S*2,A*2),$=E.getContext("2d");$.fillStyle=y,$.fillRect(0,0,S*2,A*2),$.fillStyle=b,$.fillRect(0,0,S,A),$.fillRect(S,A,S,A),v.fillStyle=v.createPattern(E,"repeat"),v.fillRect(0,0,m,g),v.drawImage(l,0,0,l.width,l.height,0,0,m,g)}let d=null;if(i){let m,g;if(a.symmetric&&l.widtht||o>t){const b=Math.min(t/r,t/o);m=Math.floor(r*b),g=Math.floor(o*b),f(this,Ds)||(l=T(this,Xe,sg).call(this,m,g))}const y=new OffscreenCanvas(m,g).getContext("2d",{willReadFrequently:!0});y.drawImage(l,0,0,l.width,l.height,0,0,m,g),d={width:m,height:g,data:y.getImageData(0,0,m,g).data}}return{canvas:u,width:c,height:h,imageData:d}}getImageForAltText(){return f(this,ar)}static async deserialize(t,s,i){var g;let r=null;if(t instanceof nR){const{data:{rect:v,rotation:y,id:b,structParent:_,popupRef:S},container:A,parent:{page:{pageNumber:E}}}=t,$=A.querySelector("canvas"),O=i.imageManager.getFromCanvas(A.id,$);$.remove();const F=((g=await s._structTree.getAriaAttributes(`${E1}${b}`))==null?void 0:g.get("aria-label"))||"";r=t={annotationType:je.STAMP,bitmapId:O.id,bitmap:O.bitmap,pageIndex:E-1,rect:v.slice(0),rotation:y,id:b,deleted:!1,accessibilityData:{decorative:!1,altText:F},isSvg:!1,structParent:_,popupRef:S}}const o=await super.deserialize(t,s,i),{rect:a,bitmap:l,bitmapUrl:c,bitmapId:h,isSvg:u,accessibilityData:d}=t;h&&i.imageManager.isValidId(h)?(C(o,In,h),l&&C(o,Ht,l)):C(o,Zr,c),C(o,Ds,u);const[p,m]=o.pageDimensions;return o.width=(a[2]-a[0])/p,o.height=(a[3]-a[1])/m,o.annotationElementId=t.id||null,d&&(o.altTextData=d),o._initialData=r,C(o,Vh,!!r),o}serialize(t=!1,s=null){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();const i={annotationType:je.STAMP,bitmapId:f(this,In),pageIndex:this.pageIndex,rect:this.getRect(0,0),rotation:this.rotation,isSvg:f(this,Ds),structTreeParentId:this._structTreeParentId};if(t)return i.bitmapUrl=T(this,Xe,ig).call(this,!0),i.accessibilityData=this.serializeAltText(!0),i;const{decorative:r,altText:o}=this.serializeAltText(!1);if(!r&&o&&(i.accessibilityData={type:"Figure",alt:o}),this.annotationElementId){const l=T(this,Xe,WR).call(this,i);if(l.isSame)return null;l.isSameAltText?delete i.accessibilityData:i.accessibilityData.structParent=this._initialData.structParent??-1}if(i.id=this.annotationElementId,s===null)return i;s.stamps||(s.stamps=new Map);const a=f(this,Ds)?(i.rect[2]-i.rect[0])*(i.rect[3]-i.rect[1]):null;if(!s.stamps.has(f(this,In)))s.stamps.set(f(this,In),{area:a,serialized:i}),i.bitmap=T(this,Xe,ig).call(this,!1);else if(f(this,Ds)){const l=s.stamps.get(f(this,In));a>l.area&&(l.area=a,l.serialized.bitmap.close(),l.serialized.bitmap=T(this,Xe,ig).call(this,!1))}return i}renderAnnotationElement(t){return t.updateEdited({rect:this.getRect(0,0)}),null}};Ht=new WeakMap,In=new WeakMap,Wo=new WeakMap,Zr=new WeakMap,Go=new WeakMap,Uh=new WeakMap,ar=new WeakMap,Xr=new WeakMap,lr=new WeakMap,Ds=new WeakMap,Vh=new WeakMap,Xe=new WeakSet,ed=function(t,s=!1){if(!t){this.remove();return}C(this,Ht,t.bitmap),s||(C(this,In,t.id),C(this,Ds,t.isSvg)),t.file&&C(this,Uh,t.file.name),T(this,Xe,rw).call(this)},td=function(){if(C(this,Wo,null),this._uiManager.enableWaiting(!1),!!f(this,ar)){if(this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&f(this,Ht)){this._editToolbar.hide(),this._uiManager.editAltText(this,!0);return}if(!this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&f(this,Ht)){this._reportTelemetry({action:"pdfjs.image.image_added",data:{alt_text_modal:!1,alt_text_type:"empty"}});try{this.mlGuessAltText()}catch{}}this.div.focus()}},ng=function(){if(f(this,In)){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(f(this,In)).then(i=>T(this,Xe,ed).call(this,i,!0)).finally(()=>T(this,Xe,td).call(this));return}if(f(this,Zr)){const i=f(this,Zr);C(this,Zr,null),this._uiManager.enableWaiting(!0),C(this,Wo,this._uiManager.imageManager.getFromUrl(i).then(r=>T(this,Xe,ed).call(this,r)).finally(()=>T(this,Xe,td).call(this)));return}if(f(this,Go)){const i=f(this,Go);C(this,Go,null),this._uiManager.enableWaiting(!0),C(this,Wo,this._uiManager.imageManager.getFromFile(i).then(r=>T(this,Xe,ed).call(this,r)).finally(()=>T(this,Xe,td).call(this)));return}const t=document.createElement("input");t.type="file",t.accept=kd.supportedTypesStr;const s=this._uiManager._signal;C(this,Wo,new Promise(i=>{t.addEventListener("change",async()=>{if(!t.files||t.files.length===0)this.remove();else{this._uiManager.enableWaiting(!0);const r=await this._uiManager.imageManager.getFromFile(t.files[0]);this._reportTelemetry({action:"pdfjs.image.image_selected",data:{alt_text_modal:this._uiManager.useNewAltTextFlow}}),T(this,Xe,ed).call(this,r)}i()},{signal:s}),t.addEventListener("cancel",()=>{this.remove(),i()},{signal:s})}).finally(()=>T(this,Xe,td).call(this))),t.click()},rw=function(){const{div:t}=this;let{width:s,height:i}=f(this,Ht);const[r,o]=this.pageDimensions,a=.75;if(this.width)s=this.width*r,i=this.height*o;else if(s>a*r||i>a*o){const u=Math.min(a*r/s,a*o/i);s*=u,i*=u}const[l,c]=this.parentDimensions;this.setDims(s*l/r,i*c/o),this._uiManager.enableWaiting(!1);const h=C(this,ar,document.createElement("canvas"));h.setAttribute("role","img"),this.addContainer(h),(!this._uiManager.useNewAltTextWhenAddingImage||!this._uiManager.useNewAltTextFlow||this.annotationElementId)&&(t.hidden=!1),T(this,Xe,ow).call(this,s,i),T(this,Xe,VR).call(this),f(this,Vh)||(this.parent.addUndoableEditor(this),C(this,Vh,!0)),this._reportTelemetry({action:"inserted_image"}),f(this,Uh)&&h.setAttribute("aria-label",f(this,Uh))},UR=function(t,s){var a;const[i,r]=this.parentDimensions;this.width=t/i,this.height=s/r,(a=this._initialOptions)!=null&&a.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,f(this,lr)!==null&&clearTimeout(f(this,lr)),C(this,lr,setTimeout(()=>{C(this,lr,null),T(this,Xe,ow).call(this,t,s)},200))},sg=function(t,s){const{width:i,height:r}=f(this,Ht);let o=i,a=r,l=f(this,Ht);for(;o>2*t||a>2*s;){const c=o,h=a;o>2*t&&(o=o>=16384?Math.floor(o/2)-1:Math.ceil(o/2)),a>2*s&&(a=a>=16384?Math.floor(a/2)-1:Math.ceil(a/2));const u=new OffscreenCanvas(o,a);u.getContext("2d").drawImage(l,0,0,c,h,0,0,o,a),l=u.transferToImageBitmap()}return l},ow=function(t,s){const i=new eb,r=Math.ceil(t*i.sx),o=Math.ceil(s*i.sy),a=f(this,ar);if(!a||a.width===r&&a.height===o)return;a.width=r,a.height=o;const l=f(this,Ds)?f(this,Ht):T(this,Xe,sg).call(this,r,o),c=a.getContext("2d");c.filter=this._uiManager.hcmFilter,c.drawImage(l,0,0,l.width,l.height,0,0,r,o)},ig=function(t){if(t){if(f(this,Ds)){const r=this._uiManager.imageManager.getSvgUrl(f(this,In));if(r)return r}const s=document.createElement("canvas");return{width:s.width,height:s.height}=f(this,Ht),s.getContext("2d").drawImage(f(this,Ht),0,0),s.toDataURL()}if(f(this,Ds)){const[s,i]=this.pageDimensions,r=Math.round(this.width*s*la.PDF_TO_CSS_UNITS),o=Math.round(this.height*i*la.PDF_TO_CSS_UNITS),a=new OffscreenCanvas(r,o);return a.getContext("2d").drawImage(f(this,Ht),0,0,f(this,Ht).width,f(this,Ht).height,0,0,r,o),a.transferToImageBitmap()}return structuredClone(f(this,Ht))},VR=function(){this._uiManager._signal&&(C(this,Xr,new ResizeObserver(t=>{const s=t[0].contentRect;s.width&&s.height&&T(this,Xe,UR).call(this,s.width,s.height)})),f(this,Xr).observe(this.div),this._uiManager._signal.addEventListener("abort",()=>{var t;(t=f(this,Xr))==null||t.disconnect(),C(this,Xr,null)},{once:!0}))},WR=function(t){var c;const{rect:s,pageIndex:i,accessibilityData:{altText:r}}=this._initialData,o=t.rect.every((h,u)=>Math.abs(h-s[u])<1),a=t.pageIndex===i,l=(((c=t.accessibilityData)==null?void 0:c.alt)||"")===r;return{isSame:o&&a&&l,isSameAltText:l}},he(kd,"_type","stamp"),he(kd,"_editorType",je.STAMP);let iw=kd;var Bl,Wh,cr,Ko,Yr,Fs,Zo,Gh,Kh,Jn,Jr,Te,Xo,Hn,GR,lw,cw,hw,rg;const yi=class yi{constructor({uiManager:e,pageIndex:t,div:s,structTreeLayer:i,accessibilityManager:r,annotationLayer:o,drawLayer:a,textLayer:l,viewport:c,l10n:h}){R(this,Hn);R(this,Bl);R(this,Wh,!1);R(this,cr,null);R(this,Ko,null);R(this,Yr,null);R(this,Fs,new Map);R(this,Zo,!1);R(this,Gh,!1);R(this,Kh,!1);R(this,Jn,null);R(this,Jr,null);R(this,Te);const u=[...f(yi,Xo).values()];if(!yi._initialized){yi._initialized=!0;for(const d of u)d.initialize(h,e)}e.registerEditorTypes(u),C(this,Te,e),this.pageIndex=t,this.div=s,C(this,Bl,r),C(this,cr,o),this.viewport=c,C(this,Jn,l),this.drawLayer=a,this._structTree=i,f(this,Te).addLayer(this)}get isEmpty(){return f(this,Fs).size===0}get isInvisible(){return this.isEmpty&&f(this,Te).getMode()===je.NONE}updateToolbar(e){f(this,Te).updateToolbar(e)}updateMode(e=f(this,Te).getMode()){switch(T(this,Hn,rg).call(this),e){case je.NONE:this.disableTextSelection(),this.togglePointerEvents(!1),this.toggleAnnotationLayerPointerEvents(!0),this.disableClick();return;case je.INK:this.addInkEditorIfNeeded(!1),this.disableTextSelection(),this.togglePointerEvents(!0),this.disableClick();break;case je.HIGHLIGHT:this.enableTextSelection(),this.togglePointerEvents(!1),this.disableClick();break;default:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick()}this.toggleAnnotationLayerPointerEvents(!1);const{classList:t}=this.div;for(const s of f(yi,Xo).values())t.toggle(`${s._type}Editing`,e===s._editorType);this.div.hidden=!1}hasTextLayer(e){var t;return e===((t=f(this,Jn))==null?void 0:t.div)}addInkEditorIfNeeded(e){if(f(this,Te).getMode()!==je.INK)return;if(!e){for(const s of f(this,Fs).values())if(s.isEmpty()){s.setInBackground();return}}this.createAndAddNewEditor({offsetX:0,offsetY:0},!1).setInBackground()}setEditingState(e){f(this,Te).setEditingState(e)}addCommands(e){f(this,Te).addCommands(e)}toggleDrawing(e=!1){this.div.classList.toggle("drawing",!e)}togglePointerEvents(e=!1){this.div.classList.toggle("disabled",!e)}toggleAnnotationLayerPointerEvents(e=!1){var t;(t=f(this,cr))==null||t.div.classList.toggle("disabled",!e)}async enable(){this.div.tabIndex=0,this.togglePointerEvents(!0);const e=new Set;for(const s of f(this,Fs).values())s.enableEditing(),s.show(!0),s.annotationElementId&&(f(this,Te).removeChangedExistingAnnotation(s),e.add(s.annotationElementId));if(!f(this,cr))return;const t=f(this,cr).getEditableAnnotations();for(const s of t){if(s.hide(),f(this,Te).isDeletedAnnotationElement(s.data.id)||e.has(s.data.id))continue;const i=await this.deserialize(s);i&&(this.addOrRebuild(i),i.enableEditing())}}disable(){var i;C(this,Kh,!0),this.div.tabIndex=-1,this.togglePointerEvents(!1);const e=new Map,t=new Map;for(const r of f(this,Fs).values())if(r.disableEditing(),!!r.annotationElementId){if(r.serialize()!==null){e.set(r.annotationElementId,r);continue}else t.set(r.annotationElementId,r);(i=this.getEditableAnnotation(r.annotationElementId))==null||i.show(),r.remove()}if(f(this,cr)){const r=f(this,cr).getEditableAnnotations();for(const o of r){const{id:a}=o.data;if(f(this,Te).isDeletedAnnotationElement(a))continue;let l=t.get(a);if(l){l.resetAnnotationElement(o),l.show(!1),o.show();continue}l=e.get(a),l&&(f(this,Te).addChangedExistingAnnotation(l),l.renderAnnotationElement(o)&&l.show(!1)),o.show()}}T(this,Hn,rg).call(this),this.isEmpty&&(this.div.hidden=!0);const{classList:s}=this.div;for(const r of f(yi,Xo).values())s.remove(`${r._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),C(this,Kh,!1)}getEditableAnnotation(e){var t;return((t=f(this,cr))==null?void 0:t.getEditableAnnotation(e))||null}setActiveEditor(e){f(this,Te).getActive()!==e&&f(this,Te).setActiveEditor(e)}enableTextSelection(){var e;if(this.div.tabIndex=-1,(e=f(this,Jn))!=null&&e.div&&!f(this,Jr)){C(this,Jr,new AbortController);const t=f(this,Te).combinedSignal(f(this,Jr));f(this,Jn).div.addEventListener("pointerdown",T(this,Hn,GR).bind(this),{signal:t}),f(this,Jn).div.classList.add("highlighting")}}disableTextSelection(){var e;this.div.tabIndex=0,(e=f(this,Jn))!=null&&e.div&&f(this,Jr)&&(f(this,Jr).abort(),C(this,Jr,null),f(this,Jn).div.classList.remove("highlighting"))}enableClick(){if(f(this,Ko))return;C(this,Ko,new AbortController);const e=f(this,Te).combinedSignal(f(this,Ko));this.div.addEventListener("pointerdown",this.pointerdown.bind(this),{signal:e}),this.div.addEventListener("pointerup",this.pointerup.bind(this),{signal:e})}disableClick(){var e;(e=f(this,Ko))==null||e.abort(),C(this,Ko,null)}attach(e){f(this,Fs).set(e.id,e);const{annotationElementId:t}=e;t&&f(this,Te).isDeletedAnnotationElement(t)&&f(this,Te).removeDeletedAnnotationElement(e)}detach(e){var t;f(this,Fs).delete(e.id),(t=f(this,Bl))==null||t.removePointerInTextLayer(e.contentDiv),!f(this,Kh)&&e.annotationElementId&&f(this,Te).addDeletedAnnotationElement(e)}remove(e){this.detach(e),f(this,Te).removeEditor(e),e.div.remove(),e.isAttachedToDOM=!1,f(this,Gh)||this.addInkEditorIfNeeded(!1)}changeParent(e){var t;e.parent!==this&&(e.parent&&e.annotationElementId&&(f(this,Te).addDeletedAnnotationElement(e.annotationElementId),pt.deleteAnnotationElement(e),e.annotationElementId=null),this.attach(e),(t=e.parent)==null||t.detach(e),e.setParent(this),e.div&&e.isAttachedToDOM&&(e.div.remove(),this.div.append(e.div)))}add(e){if(!(e.parent===this&&e.isAttachedToDOM)){if(this.changeParent(e),f(this,Te).addEditor(e),this.attach(e),!e.isAttachedToDOM){const t=e.render();this.div.append(t),e.isAttachedToDOM=!0}e.fixAndSetPosition(),e.onceAdded(),f(this,Te).addToAnnotationStorage(e),e._reportTelemetry(e.telemetryInitialData)}}moveEditorInDOM(e){var s;if(!e.isAttachedToDOM)return;const{activeElement:t}=document;e.div.contains(t)&&!f(this,Yr)&&(e._focusEventsAllowed=!1,C(this,Yr,setTimeout(()=>{C(this,Yr,null),e.div.contains(document.activeElement)?e._focusEventsAllowed=!0:(e.div.addEventListener("focusin",()=>{e._focusEventsAllowed=!0},{once:!0,signal:f(this,Te)._signal}),t.focus())},0))),e._structTreeParentId=(s=f(this,Bl))==null?void 0:s.moveElementInDOM(this.div,e.div,e.contentDiv,!0)}addOrRebuild(e){e.needsToBeRebuilt()?(e.parent||(e.parent=this),e.rebuild(),e.show()):this.add(e)}addUndoableEditor(e){const t=()=>e._uiManager.rebuild(e),s=()=>{e.remove()};this.addCommands({cmd:t,undo:s,mustExec:!1})}getNextId(){return f(this,Te).getId()}combinedSignal(e){return f(this,Te).combinedSignal(e)}canCreateNewEmptyEditor(){var e;return(e=f(this,Hn,lw))==null?void 0:e.canCreateNewEmptyEditor()}pasteEditor(e,t){f(this,Te).updateToolbar(e),f(this,Te).updateMode(e);const{offsetX:s,offsetY:i}=T(this,Hn,hw).call(this),r=this.getNextId(),o=T(this,Hn,cw).call(this,{parent:this,id:r,x:s,y:i,uiManager:f(this,Te),isCentered:!0,...t});o&&this.add(o)}async deserialize(e){var t;return await((t=f(yi,Xo).get(e.annotationType??e.annotationEditorType))==null?void 0:t.deserialize(e,this,f(this,Te)))||null}createAndAddNewEditor(e,t,s={}){const i=this.getNextId(),r=T(this,Hn,cw).call(this,{parent:this,id:i,x:e.offsetX,y:e.offsetY,uiManager:f(this,Te),isCentered:t,...s});return r&&this.add(r),r}addNewEditor(){this.createAndAddNewEditor(T(this,Hn,hw).call(this),!0)}setSelected(e){f(this,Te).setSelected(e)}toggleSelected(e){f(this,Te).toggleSelected(e)}unselect(e){f(this,Te).unselect(e)}pointerup(e){const{isMac:t}=cs.platform;if(!(e.button!==0||e.ctrlKey&&t)&&e.target===this.div&&f(this,Zo)){if(C(this,Zo,!1),!f(this,Wh)){C(this,Wh,!0);return}if(f(this,Te).getMode()===je.STAMP){f(this,Te).unselectAll();return}this.createAndAddNewEditor(e,!1)}}pointerdown(e){if(f(this,Te).getMode()===je.HIGHLIGHT&&this.enableTextSelection(),f(this,Zo)){C(this,Zo,!1);return}const{isMac:t}=cs.platform;if(e.button!==0||e.ctrlKey&&t||e.target!==this.div)return;C(this,Zo,!0);const s=f(this,Te).getActive();C(this,Wh,!s||s.isEmpty())}findNewParent(e,t,s){const i=f(this,Te).findParent(t,s);return i===null||i===this?!1:(i.changeParent(e),!0)}destroy(){var e,t;((e=f(this,Te).getActive())==null?void 0:e.parent)===this&&(f(this,Te).commitOrRemove(),f(this,Te).setActiveEditor(null)),f(this,Yr)&&(clearTimeout(f(this,Yr)),C(this,Yr,null));for(const s of f(this,Fs).values())(t=f(this,Bl))==null||t.removePointerInTextLayer(s.contentDiv),s.setParent(null),s.isAttachedToDOM=!1,s.div.remove();this.div=null,f(this,Fs).clear(),f(this,Te).removeLayer(this)}render({viewport:e}){this.viewport=e,Yl(this.div,e);for(const t of f(this,Te).getEditors(this.pageIndex))this.add(t),t.rebuild();this.updateMode()}update({viewport:e}){f(this,Te).commitOrRemove(),T(this,Hn,rg).call(this);const t=this.viewport.rotation,s=e.rotation;if(this.viewport=e,Yl(this.div,{rotation:s}),t!==s)for(const i of f(this,Fs).values())i.rotate(s);this.addInkEditorIfNeeded(!1)}get pageDimensions(){const{pageWidth:e,pageHeight:t}=this.viewport.rawDims;return[e,t]}get scale(){return f(this,Te).viewParameters.realScale}};Bl=new WeakMap,Wh=new WeakMap,cr=new WeakMap,Ko=new WeakMap,Yr=new WeakMap,Fs=new WeakMap,Zo=new WeakMap,Gh=new WeakMap,Kh=new WeakMap,Jn=new WeakMap,Jr=new WeakMap,Te=new WeakMap,Xo=new WeakMap,Hn=new WeakSet,GR=function(e){f(this,Te).unselectAll();const{target:t}=e;if(t===f(this,Jn).div||(t.getAttribute("role")==="img"||t.classList.contains("endOfContent"))&&f(this,Jn).div.contains(t)){const{isMac:s}=cs.platform;if(e.button!==0||e.ctrlKey&&s)return;f(this,Te).showAllEditors("highlight",!0,!0),f(this,Jn).div.classList.add("free"),this.toggleDrawing(),Lg.startHighlighting(this,f(this,Te).direction==="ltr",{target:f(this,Jn).div,x:e.x,y:e.y}),f(this,Jn).div.addEventListener("pointerup",()=>{f(this,Jn).div.classList.remove("free"),this.toggleDrawing(!0)},{once:!0,signal:f(this,Te)._signal}),e.preventDefault()}},lw=function(){return f(yi,Xo).get(f(this,Te).getMode())},cw=function(e){const t=f(this,Hn,lw);return t?new t.prototype.constructor(e):null},hw=function(){const{x:e,y:t,width:s,height:i}=this.div.getBoundingClientRect(),r=Math.max(0,e),o=Math.max(0,t),a=Math.min(window.innerWidth,e+s),l=Math.min(window.innerHeight,t+i),c=(r+a)/2-e,h=(o+l)/2-t,[u,d]=this.viewport.rotation%180===0?[c,h]:[h,c];return{offsetX:u,offsetY:d}},rg=function(){C(this,Gh,!0);for(const e of f(this,Fs).values())e.isEmpty()&&e.remove();C(this,Gh,!1)},he(yi,"_initialized",!1),R(yi,Xo,new Map([zb,Zb,iw,Lg].map(e=>[e._editorType,e])));let aw=yi;var hr,tp,nn,Qr,np,dw,lc,fw,KR;const Pn=class Pn{constructor({pageIndex:e}){R(this,lc);R(this,hr,null);R(this,tp,0);R(this,nn,new Map);R(this,Qr,new Map);this.pageIndex=e}setParent(e){if(!f(this,hr)){C(this,hr,e);return}if(f(this,hr)!==e){if(f(this,nn).size>0)for(const t of f(this,nn).values())t.remove(),e.append(t);C(this,hr,e)}}static get _svgFactory(){return Ye(this,"_svgFactory",new L1)}draw(e,t,s,i=!1){const r=ss(this,tp)._++,o=T(this,lc,fw).call(this,e.box);o.classList.add(...e.classNamesForDrawing);const a=Pn._svgFactory.createElement("defs");o.append(a);const l=Pn._svgFactory.createElement("path");a.append(l);const c=`path_p${this.pageIndex}_${r}`;l.setAttribute("id",c),l.setAttribute("d",e.toSVGPath()),i&&f(this,Qr).set(r,l);const h=T(this,lc,KR).call(this,a,c),u=Pn._svgFactory.createElement("use");return o.append(u),o.setAttribute("fill",t),o.setAttribute("fill-opacity",s),u.setAttribute("href",`#${c}`),f(this,nn).set(r,o),{id:r,clipPathId:`url(#${h})`}}drawOutline(e){const t=ss(this,tp)._++,s=T(this,lc,fw).call(this,e.box);s.classList.add(...e.classNamesForOutlining);const i=Pn._svgFactory.createElement("defs");s.append(i);const r=Pn._svgFactory.createElement("path");i.append(r);const o=`path_p${this.pageIndex}_${t}`;r.setAttribute("id",o),r.setAttribute("d",e.toSVGPath()),r.setAttribute("vector-effect","non-scaling-stroke");let a;if(e.mustRemoveSelfIntersections){const h=Pn._svgFactory.createElement("mask");i.append(h),a=`mask_p${this.pageIndex}_${t}`,h.setAttribute("id",a),h.setAttribute("maskUnits","objectBoundingBox");const u=Pn._svgFactory.createElement("rect");h.append(u),u.setAttribute("width","1"),u.setAttribute("height","1"),u.setAttribute("fill","white");const d=Pn._svgFactory.createElement("use");h.append(d),d.setAttribute("href",`#${o}`),d.setAttribute("stroke","none"),d.setAttribute("fill","black"),d.setAttribute("fill-rule","nonzero"),d.classList.add("mask")}const l=Pn._svgFactory.createElement("use");s.append(l),l.setAttribute("href",`#${o}`),a&&l.setAttribute("mask",`url(#${a})`);const c=l.cloneNode();return s.append(c),l.classList.add("mainOutline"),c.classList.add("secondaryOutline"),f(this,nn).set(t,s),t}finalizeLine(e,t){const s=f(this,Qr).get(e);f(this,Qr).delete(e),this.updateBox(e,t.box),s.setAttribute("d",t.toSVGPath())}updateLine(e,t){f(this,nn).get(e).firstChild.firstChild.setAttribute("d",t.toSVGPath())}updatePath(e,t){f(this,Qr).get(e).setAttribute("d",t.toSVGPath())}updateBox(e,t){var s;T(s=Pn,np,dw).call(s,f(this,nn).get(e),t)}show(e,t){f(this,nn).get(e).classList.toggle("hidden",!t)}rotate(e,t){f(this,nn).get(e).setAttribute("data-main-rotation",t)}changeColor(e,t){f(this,nn).get(e).setAttribute("fill",t)}changeOpacity(e,t){f(this,nn).get(e).setAttribute("fill-opacity",t)}addClass(e,t){f(this,nn).get(e).classList.add(t)}removeClass(e,t){f(this,nn).get(e).classList.remove(t)}getSVGRoot(e){return f(this,nn).get(e)}remove(e){f(this,Qr).delete(e),f(this,hr)!==null&&(f(this,nn).get(e).remove(),f(this,nn).delete(e))}destroy(){C(this,hr,null);for(const e of f(this,nn).values())e.remove();f(this,nn).clear(),f(this,Qr).clear()}};hr=new WeakMap,tp=new WeakMap,nn=new WeakMap,Qr=new WeakMap,np=new WeakSet,dw=function(e,{x:t=0,y:s=0,width:i=1,height:r=1}={}){const{style:o}=e;o.top=`${100*s}%`,o.left=`${100*t}%`,o.width=`${100*i}%`,o.height=`${100*r}%`},lc=new WeakSet,fw=function(e){var s;const t=Pn._svgFactory.create(1,1,!0);return f(this,hr).append(t),t.setAttribute("aria-hidden",!0),T(s=Pn,np,dw).call(s,t,e),t},KR=function(e,t){const s=Pn._svgFactory.createElement("clipPath");e.append(s);const i=`clip_${t}`;s.setAttribute("id",i),s.setAttribute("clipPathUnits","objectBoundingBox");const r=Pn._svgFactory.createElement("use");return s.append(r),r.setAttribute("href",`#${t}`),r.classList.add("clip"),i},R(Pn,np);let uw=Pn;Oe.AbortException;Oe.AnnotationEditorLayer;Oe.AnnotationEditorParamsType;Oe.AnnotationEditorType;Oe.AnnotationEditorUIManager;var ZR=Oe.AnnotationLayer,XR=Oe.AnnotationMode;Oe.ColorPicker;Oe.DOMSVGFactory;Oe.DrawLayer;Oe.FeatureTest;var e0=Oe.GlobalWorkerOptions;Oe.ImageKind;Oe.InvalidPDFException;Oe.MissingPDFException;Oe.OPS;Oe.OutputScale;var G9=Oe.PDFDataRangeTransport;Oe.PDFDateString;Oe.PDFWorker;Oe.PasswordResponses;Oe.PermissionFlag;Oe.PixelsPerInch;Oe.RenderingCancelledException;var YR=Oe.TextLayer;Oe.UnexpectedResponseException;Oe.Util;Oe.VerbosityLevel;Oe.XfaLayer;Oe.build;Oe.createValidAbsoluteUrl;Oe.fetchData;var JR=Oe.getDocument;Oe.getFilenameFromUrl;Oe.getPdfFilenameFromUrl;Oe.getXfaPageViewport;Oe.isDataScheme;Oe.isPdfFile;Oe.noContextMenu;Oe.normalizeUnicode;Oe.setLayerDimensions;Oe.shadow;var pw=Oe.version;const K9=Object.freeze(Object.defineProperty({__proto__:null,AnnotationLayer:ZR,AnnotationMode:XR,GlobalWorkerOptions:e0,PDFDataRangeTransport:G9,TextLayer:YR,getDocument:JR,version:pw},Symbol.toStringTag,{value:"Module"}));var vn=function(n,e,t){if(t||arguments.length===2)for(var s=0,i=e.length,r;s{St(this.pdfDocument),St(e),typeof e=="string"?this.pdfDocument.getDestination(e).then(t):Array.isArray(e)?t(e):e.then(t)}).then(t=>{St(Array.isArray(t));const s=t[0];new Promise(i=>{St(this.pdfDocument),s instanceof Object?this.pdfDocument.getPageIndex(s).then(r=>{i(r)}).catch(()=>{St(!1)}):typeof s=="number"?i(s):St(!1)}).then(i=>{const r=i+1;St(this.pdfViewer),St(r>=1&&r<=this.pagesCount),this.pdfViewer.scrollPageIntoView({dest:t,pageIndex:i,pageNumber:r})})})}navigateTo(e){this.goToDestination(e)}goToPage(e){const t=e-1;St(this.pdfViewer),St(e>=1&&e<=this.pagesCount),this.pdfViewer.scrollPageIntoView({pageIndex:t,pageNumber:e})}addLinkAttributes(e,t,s){e.href=t,e.rel=this.externalLinkRel||y8,e.target=s?"_blank":this.externalLinkTarget||""}getDestinationHash(){return"#"}getAnchorUrl(){return"#"}setHash(){}executeNamedAction(){}cachePageRef(){}isPageVisible(){return!0}isPageCached(){return!0}executeSetOCGState(){}}const px={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},t0=typeof window<"u",tM=t0&&window.location.protocol==="file:";function b8(n){return typeof n<"u"}function $a(n){return b8(n)&&n!==null}function w8(n){return typeof n=="string"}function _8(n){return n instanceof ArrayBuffer}function S8(n){return St(t0),n instanceof Blob}function mw(n){return w8(n)&&/^data:/.test(n)}function mx(n){St(mw(n));const[e="",t=""]=n.split(",");return e.split(";").indexOf("base64")!==-1?atob(t):unescape(t)}function k8(){return t0&&window.devicePixelRatio||1}const nM="On Chromium based browsers, you can use --allow-file-access-from-files flag for debugging purposes.";function gx(){es(!tM,`Loading PDF as base64 strings/URLs may not work on protocols other than HTTP/HTTPS. ${nM}`)}function A8(){es(!tM,`Loading PDF.js worker may not work on protocols other than HTTP/HTTPS. ${nM}`)}function ec(n){n!=null&&n.cancel&&n.cancel()}function gw(n,e){return Object.defineProperty(n,"width",{get(){return this.view[2]*e},configurable:!0}),Object.defineProperty(n,"height",{get(){return this.view[3]*e},configurable:!0}),Object.defineProperty(n,"originalWidth",{get(){return this.view[2]},configurable:!0}),Object.defineProperty(n,"originalHeight",{get(){return this.view[3]},configurable:!0}),n}function x8(n){return n.name==="RenderingCancelledException"}function E8(n){return new Promise((e,t)=>{const s=new FileReader;s.onload=()=>{if(!s.result)return t(new Error("Error while reading a file."));e(s.result)},s.onerror=i=>{if(!i.target)return t(new Error("Error while reading a file."));const{error:r}=i.target;if(!r)return t(new Error("Error while reading a file."));switch(r.code){case r.NOT_FOUND_ERR:return t(new Error("Error while reading a file: File not found."));case r.SECURITY_ERR:return t(new Error("Error while reading a file: Security error."));case r.ABORT_ERR:return t(new Error("Error while reading a file: Aborted."));default:return t(new Error("Error while reading a file."))}},s.readAsArrayBuffer(n)})}function C8(n,e){switch(e.type){case"RESOLVE":return{value:e.value,error:void 0};case"REJECT":return{value:!1,error:e.error};case"RESET":return{value:void 0,error:void 0};default:return n}}function eu(){return ne.useReducer(C8,{value:void 0,error:void 0})}var $8=function(n,e,t,s){function i(r){return r instanceof t?r:new t(function(o){o(r)})}return new(t||(t=Promise))(function(r,o){function a(h){try{c(s.next(h))}catch(u){o(u)}}function l(h){try{c(s.throw(h))}catch(u){o(u)}}function c(h){h.done?r(h.value):i(h.value).then(a,l)}c((s=s.apply(n,e||[])).next())})},yx=function(n,e){var t={};for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&e.indexOf(s)<0&&(t[s]=n[s]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,s=Object.getOwnPropertySymbols(n);i{switch(e){case px.NEED_PASSWORD:{const t=prompt("Enter the password to open this PDF file.");n(t);break}case px.INCORRECT_PASSWORD:{const t=prompt("Invalid password. Please try again.");n(t);break}}};function vx(n){return typeof n=="object"&&n!==null&&("data"in n||"range"in n||"url"in n)}const R8=ne.forwardRef(function(e,t){var{children:s,className:i,error:r="Failed to load PDF file.",externalLinkRel:o,externalLinkTarget:a,file:l,inputRef:c,imageResourcesPath:h,loading:u="Loading PDF…",noData:d="No PDF file specified.",onItemClick:p,onLoadError:m,onLoadProgress:g,onLoadSuccess:v,onPassword:y=P8,onSourceError:b,onSourceSuccess:_,options:S,renderMode:A,rotate:E}=e,$=yx(e,["children","className","error","externalLinkRel","externalLinkTarget","file","inputRef","imageResourcesPath","loading","noData","onItemClick","onLoadError","onLoadProgress","onLoadSuccess","onPassword","onSourceError","onSourceSuccess","options","renderMode","rotate"]);const[O,F]=eu(),{value:q,error:N}=O,[z,G]=eu(),{value:L,error:J}=z,Q=ne.useRef(new v8),ee=ne.useRef([]),ae=ne.useRef(void 0),ye=ne.useRef(void 0);l&&l!==ae.current&&vx(l)&&(es(!Uc(l,ae.current),`File prop passed to changed, but it's equal to previous one. This might result in unnecessary reloads. Consider memoizing the value passed to "file" prop.`),ae.current=l),S&&S!==ye.current&&(es(!Uc(S,ye.current),`Options prop passed to changed, but it's equal to previous one. This might result in unnecessary reloads. Consider memoizing the value passed to "options" prop.`),ye.current=S);const B=ne.useRef({scrollPageIntoView:Y=>{const{dest:ie,pageNumber:ce,pageIndex:_e=ce-1}=Y;if(p){p({dest:ie,pageIndex:_e,pageNumber:ce});return}const Ze=ee.current[_e];if(Ze){Ze.scrollIntoView();return}es(!1,`An internal link leading to page ${ce} was clicked, but neither was provided with onItemClick nor it was able to find the page within itself. Either provide onItemClick to and handle navigating by yourself or ensure that all pages are rendered within .`)}});ne.useImperativeHandle(t,()=>({linkService:Q,pages:ee,viewer:B}),[]);function P(){_&&_()}function D(){N&&(es(!1,N.toString()),b&&b(N))}function M(){F({type:"RESET"})}ne.useEffect(M,[l,F]);const w=ne.useCallback(()=>$8(this,void 0,void 0,function*(){if(!l)return null;if(typeof l=="string")return mw(l)?{data:mx(l)}:(gx(),{url:l});if(l instanceof T8)return{range:l};if(_8(l))return{data:l};if(t0&&S8(l))return{data:yield E8(l)};if(St(typeof l=="object"),St(vx(l)),"url"in l&&typeof l.url=="string"){if(mw(l.url)){const{url:Y}=l,ie=yx(l,["url"]),ce=mx(Y);return Object.assign({data:ce},ie)}gx()}return l}),[l]);ne.useEffect(()=>{const Y=_p(w());return Y.promise.then(ie=>{F({type:"RESOLVE",value:ie})}).catch(ie=>{F({type:"REJECT",error:ie})}),()=>{ec(Y)}},[w,F]),ne.useEffect(()=>{if(!(typeof q>"u")){if(q===!1){D();return}P()}},[q]);function x(){L&&(v&&v(L),ee.current=new Array(L.numPages),Q.current.setDocument(L))}function I(){J&&(es(!1,J.toString()),m&&m(J))}ne.useEffect(function(){G({type:"RESET"})},[G,q]),ne.useEffect(function(){if(!q)return;const ie=S?Object.assign(Object.assign({},q),S):q,ce=JR(ie);g&&(ce.onProgress=g),y&&(ce.onPassword=y);const _e=ce,Ze=_e.promise.then(yt=>{G({type:"RESOLVE",value:yt})}).catch(yt=>{_e.destroyed||G({type:"REJECT",error:yt})});return()=>{Ze.finally(()=>_e.destroy())}},[S,G,q]),ne.useEffect(()=>{if(!(typeof L>"u")){if(L===!1){I();return}x()}},[L]),ne.useEffect(function(){Q.current.setViewer(B.current),Q.current.setExternalLinkRel(o),Q.current.setExternalLinkTarget(a)},[o,a]);const K=ne.useCallback((Y,ie)=>{ee.current[Y]=ie},[]),X=ne.useCallback(Y=>{delete ee.current[Y]},[]),ue=ne.useMemo(()=>({imageResourcesPath:h,linkService:Q.current,onItemClick:p,pdf:L,registerPage:K,renderMode:A,rotate:E,unregisterPage:X}),[h,p,L,K,A,E,X]),oe=ne.useMemo(()=>QR($,()=>L),[$,L]);function H(){return k.jsx(eM.Provider,{value:ue,children:s})}function U(){return l?L==null?k.jsx(Vc,{type:"loading",children:typeof u=="function"?u():u}):L===!1?k.jsx(Vc,{type:"error",children:typeof r=="function"?r():r}):H():k.jsx(Vc,{type:"no-data",children:typeof d=="function"?d():d})}return k.jsx("div",Object.assign({className:_y("react-pdf__Document",i),ref:c,style:{"--scale-factor":"1"}},oe,{children:U()}))});function sM(){return ne.useContext(eM)}function iM(){for(var n=[],e=0;eN8(e),[e]),s=ne.useMemo(()=>!n0(e)||aM(e)?null:e.children.map((i,r)=>k.jsx(cM,{node:i},r)),[e]);return k.jsx("span",Object.assign({className:n},t,{children:s}))}function s0(){return ne.useContext(rM)}function L8(){const n=s0();St(n);const{onGetStructTreeError:e,onGetStructTreeSuccess:t}=n,[s,i]=eu(),{value:r,error:o}=s,{customTextRenderer:a,page:l}=n;function c(){r&&t&&t(r)}function h(){o&&(es(!1,o.toString()),e&&e(o))}return ne.useEffect(function(){i({type:"RESET"})},[i,l]),ne.useEffect(function(){if(a||!l)return;const d=_p(l.getStructTree()),p=d;return d.promise.then(m=>{i({type:"RESOLVE",value:m})}).catch(m=>{i({type:"REJECT",error:m})}),()=>ec(p)},[a,l,i]),ne.useEffect(()=>{if(r!==void 0){if(r===!1){h();return}c()}},[r]),r?k.jsx(cM,{className:"react-pdf__Page__structTree structTree",node:r}):null}const bx=XR;function D8(n){const e=s0();St(e);const t=Object.assign(Object.assign({},e),n),{_className:s,canvasBackground:i,devicePixelRatio:r=k8(),onRenderError:o,onRenderSuccess:a,page:l,renderForms:c,renderTextLayer:h,rotate:u,scale:d}=t,{canvasRef:p}=n;St(l);const m=ne.useRef(null);function g(){l&&a&&a(gw(l,d))}function v(S){x8(S)||(es(!1,S.toString()),o&&o(S))}const y=ne.useMemo(()=>l.getViewport({scale:d*r,rotation:u}),[r,l,u,d]),b=ne.useMemo(()=>l.getViewport({scale:d,rotation:u}),[l,u,d]);ne.useEffect(function(){if(!l)return;l.cleanup();const{current:A}=m;if(!A)return;A.width=y.width,A.height=y.height,A.style.width=`${Math.floor(b.width)}px`,A.style.height=`${Math.floor(b.height)}px`,A.style.visibility="hidden";const E={annotationMode:c?bx.ENABLE_FORMS:bx.ENABLE,canvasContext:A.getContext("2d",{alpha:!1}),viewport:y};i&&(E.background=i);const $=l.render(E),O=$;return $.promise.then(()=>{A.style.visibility="",g()}).catch(v),()=>ec(O)},[i,l,c,y,b]);const _=ne.useCallback(()=>{const{current:S}=m;S&&(S.width=0,S.height=0)},[]);return ne.useEffect(()=>_,[_]),k.jsx("canvas",{className:`${s}__canvas`,dir:"ltr",ref:iM(p,m),style:{display:"block",userSelect:"none"},children:h?k.jsx(L8,{}):null})}function F8(n){return"str"in n}function j8(){const n=s0();St(n);const{customTextRenderer:e,onGetTextError:t,onGetTextSuccess:s,onRenderTextLayerError:i,onRenderTextLayerSuccess:r,page:o,pageIndex:a,pageNumber:l,rotate:c,scale:h}=n;St(o);const[u,d]=eu(),{value:p,error:m}=u,g=ne.useRef(null);es(Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--react-pdf-text-layer"),10)===1,"TextLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-text-layer");function v(){p&&s&&s(p)}function y(){m&&(es(!1,m.toString()),t&&t(m))}ne.useEffect(function(){d({type:"RESET"})},[o,d]),ne.useEffect(function(){if(!o)return;const O=_p(o.getTextContent()),F=O;return O.promise.then(q=>{d({type:"RESOLVE",value:q})}).catch(q=>{d({type:"REJECT",error:q})}),()=>ec(F)},[o,d]),ne.useEffect(()=>{if(p!==void 0){if(p===!1){y();return}v()}},[p]);const b=ne.useCallback(()=>{r&&r()},[r]),_=ne.useCallback($=>{es(!1,$.toString()),i&&i($)},[i]);function S(){const $=g.current;$&&$.classList.add("selecting")}function A(){const $=g.current;$&&$.classList.remove("selecting")}const E=ne.useMemo(()=>o.getViewport({scale:h,rotation:c}),[o,c,h]);return ne.useLayoutEffect(function(){if(!o||!p)return;const{current:O}=g;if(!O)return;O.innerHTML="";const F=o.streamTextContent({includeMarkedContent:!0}),q={container:O,textContentSource:F,viewport:E},N=new YR(q),z=N;return N.render().then(()=>{const G=document.createElement("div");G.className="endOfContent",O.append(G);const L=O.querySelectorAll('[role="presentation"]');if(e){let J=0;p.items.forEach((Q,ee)=>{if(!F8(Q))return;const ae=L[J];if(!ae)return;const ye=e(Object.assign({pageIndex:a,pageNumber:l,itemIndex:ee},Q));ae.innerHTML=ye,J+=Q.str&&Q.hasEOL?2:1})}b()}).catch(_),()=>ec(z)},[e,_,b,o,a,l,p,E]),k.jsx("div",{className:_y("react-pdf__Page__textContent","textLayer"),onMouseUp:A,onMouseDown:S,ref:g})}function z8(){const n=sM(),e=s0();St(e);const t=Object.assign(Object.assign({},n),e),{imageResourcesPath:s,linkService:i,onGetAnnotationsError:r,onGetAnnotationsSuccess:o,onRenderAnnotationLayerError:a,onRenderAnnotationLayerSuccess:l,page:c,pdf:h,renderForms:u,rotate:d,scale:p=1}=t;St(h),St(c),St(i);const[m,g]=eu(),{value:v,error:y}=m,b=ne.useRef(null);es(Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--react-pdf-annotation-layer"),10)===1,"AnnotationLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-annotations");function _(){v&&o&&o(v)}function S(){y&&(es(!1,y.toString()),r&&r(y))}ne.useEffect(function(){g({type:"RESET"})},[g,c]),ne.useEffect(function(){if(!c)return;const F=_p(c.getAnnotations()),q=F;return F.promise.then(N=>{g({type:"RESOLVE",value:N})}).catch(N=>{g({type:"REJECT",error:N})}),()=>{ec(q)}},[g,c]),ne.useEffect(()=>{if(v!==void 0){if(v===!1){S();return}_()}},[v]);function A(){l&&l()}function E(O){es(!1,`${O}`),a&&a(O)}const $=ne.useMemo(()=>c.getViewport({scale:p,rotation:d}),[c,d,p]);return ne.useEffect(function(){if(!h||!c||!i||!v)return;const{current:F}=b;if(!F)return;const q=$.clone({dontFlip:!0}),N={accessibilityManager:null,annotationCanvasMap:null,annotationEditorUIManager:null,div:F,l10n:null,page:c,structTreeLayer:null,viewport:q},z={annotations:v,annotationStorage:h.annotationStorage,div:F,imageResourcesPath:s,linkService:i,page:c,renderForms:u,viewport:q};F.innerHTML="";try{new ZR(N).render(z),A()}catch(G){E(G)}return()=>{}},[v,s,i,c,h,u,$]),k.jsx("div",{className:_y("react-pdf__Page__annotations","annotationLayer"),ref:b})}var H8=function(n,e){var t={};for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&e.indexOf(s)<0&&(t[s]=n[s]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,s=Object.getOwnPropertySymbols(n);i{if(!oe)return null;let it=1;const wt=w??wx;if(I||p){const Cn=oe.getViewport({scale:1,rotation:ce});I?it=I/Cn.width:p&&(it=p/Cn.height)}return wt*it},[p,oe,ce,w,I]);ne.useEffect(function(){return()=>{$a(Y)&&i&&x&&x(Y)}},[i,ee,Y,x]);function Ze(){if(O){if(!oe||!_e)return;O(gw(oe,_e))}if(i&&ae){if(!$a(Y)||!U.current)return;ae(Y,U.current)}}function yt(){H&&(es(!1,H.toString()),$&&$(H))}ne.useEffect(function(){ue({type:"RESET"})},[ue,ee,Y]),ne.useEffect(function(){if(!ee||!ie)return;const wt=_p(ee.getPage(ie)),Cn=wt;return wt.promise.then(Vn=>{ue({type:"RESOLVE",value:Vn})}).catch(Vn=>{ue({type:"REJECT",error:Vn})}),()=>ec(Cn)},[ue,ee,ie]),ne.useEffect(()=>{if(oe!==void 0){if(oe===!1){yt();return}Ze()}},[oe,_e]);const vt=ne.useMemo(()=>oe&&$a(Y)&&ie&&$a(ce)&&$a(_e)?{_className:s,canvasBackground:r,customTextRenderer:h,devicePixelRatio:u,onGetAnnotationsError:y,onGetAnnotationsSuccess:b,onGetStructTreeError:_,onGetStructTreeSuccess:S,onGetTextError:A,onGetTextSuccess:E,onRenderAnnotationLayerError:F,onRenderAnnotationLayerSuccess:q,onRenderError:N,onRenderSuccess:z,onRenderTextLayerError:G,onRenderTextLayerSuccess:L,page:oe,pageIndex:Y,pageNumber:ie,renderForms:B,renderTextLayer:D,rotate:ce,scale:_e}:null,[s,r,h,u,y,b,_,S,A,E,F,q,N,z,G,L,oe,Y,ie,B,D,ce,_e]),bt=ne.useMemo(()=>QR(K,()=>oe&&(_e?gw(oe,_e):void 0)),[K,oe,_e]),ct=`${Y}@${_e}/${ce}`;function Un(){switch(P){case"custom":return St(c),k.jsx(c,{},`${ct}_custom`);case"none":return null;case"canvas":default:return k.jsx(D8,{canvasRef:o},`${ct}_canvas`)}}function fe(){return D?k.jsx(j8,{},`${ct}_text`):null}function xe(){return ye?k.jsx(z8,{},`${ct}_annotations`):null}function Ke(){return k.jsxs(rM.Provider,{value:vt,children:[Un(),fe(),xe(),a]})}function Qe(){return ie?ee===null||oe===void 0||oe===null?k.jsx(Vc,{type:"loading",children:typeof g=="function"?g():g}):ee===!1||oe===!1?k.jsx(Vc,{type:"error",children:typeof d=="function"?d():d}):Ke():k.jsx(Vc,{type:"no-data",children:typeof v=="function"?v():v})}return k.jsx("div",Object.assign({className:_y(s,l),"data-page-number":ie,ref:iM(m,U),style:{"--scale-factor":`${_e}`,backgroundColor:r||"white",position:"relative",minWidth:"min-content",minHeight:"min-content"}},bt,{children:Qe()}))}A8();e0.workerSrc="pdf.worker.mjs";const q8="/assets/pdf.worker.min-GB3t0DcA.js";e0.workerSrc=q8;function U8(){if(!e0.workerSrc)throw new Error("The bundled PDF worker is not configured.");if(pw!=="4.8.69")throw new Error(`PDF runtime version mismatch (${pw}).`)}const V8=280,W8=new Set(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown","A"]);function G8({enabled:n,pagesRoot:e,routeId:t,paperVersion:s,numPages:i,resetKey:r,onSelect:o,onError:a}){const l=ne.useRef(!1),c=ne.useRef(!1),h=ne.useRef(""),u=ne.useRef(0),d=ne.useRef(0),p=ne.useRef(""),m=ne.useRef(o),g=ne.useRef(a);m.current=o,g.current=a,ne.useEffect(()=>{l.current=!1,c.current=!1,h.current="",p.current="",window.clearTimeout(u.current),cancelAnimationFrame(d.current),d.current=0},[t,s,r]),ne.useEffect(()=>{if(!n){l.current=!1,c.current=!1,window.clearTimeout(u.current),cancelAnimationFrame(d.current),d.current=0;return}const v=()=>{var F,q;const $=rN({selection:window.getSelection(),pagesRoot:e.current,routeId:t,paperVersion:s,numPages:i});if(!$.ok){$.error&&((F=g.current)==null||F.call(g,$.error));return}const O=oN($.selection);O!==h.current&&(h.current=O,(q=m.current)==null||q.call(m,$.selection))},y=()=>{window.clearTimeout(u.current),cancelAnimationFrame(d.current),d.current=requestAnimationFrame(()=>{d.current=0,v()})},b=$=>{const O=e.current;!O||!$.isPrimary||$.pointerType==="mouse"&&$.button!==0||!($.target instanceof Node)||!O.contains($.target)||(l.current=!0,c.current=!1,h.current="",window.clearTimeout(u.current),cancelAnimationFrame(d.current),d.current=0)},_=$=>{!l.current||!$.isPrimary||(l.current=!1,y())},S=$=>{!l.current||!$.isPrimary||(l.current=!1,c.current=!0,p.current="",window.clearTimeout(u.current),cancelAnimationFrame(d.current),d.current=0)},A=$=>{var N,z;const O=e.current;if(!O||l.current||!($.target instanceof Node&&!!((z=(N=$.target instanceof Element?$.target:$.target.parentElement)==null?void 0:N.closest)!=null&&z.call(N,".textLayer")&&O.contains($.target))))return;const q=($.key==="a"||$.key==="A")&&($.metaKey||$.ctrlKey);($.shiftKey||W8.has($.key)||q)&&(c.current=!1,h.current="",y())},E=()=>{if(l.current||c.current)return;const $=window.getSelection(),O=$&&$.rangeCount===1?`${$.toString()}\0${$.anchorNode?1:0}\0${$.focusNode?1:0}`:"";p.current=O,window.clearTimeout(u.current),u.current=window.setTimeout(()=>{p.current===O&&v()},V8)};return document.addEventListener("pointerdown",b,!0),document.addEventListener("pointerup",_,!0),document.addEventListener("pointercancel",S,!0),document.addEventListener("keyup",A,!0),document.addEventListener("selectionchange",E),()=>{document.removeEventListener("pointerdown",b,!0),document.removeEventListener("pointerup",_,!0),document.removeEventListener("pointercancel",S,!0),document.removeEventListener("keyup",A,!0),document.removeEventListener("selectionchange",E),window.clearTimeout(u.current),cancelAnimationFrame(d.current)}},[n,i,e,s,t])}function K8({paperTitle:n,paperHref:e,resources:t,page:s,pages:i,zoomPercent:r,searchOpen:o,searchQuery:a,searchMatch:l,searchCount:c,searching:h,onPage:u,onZoomIn:d,onZoomOut:p,onToggleSearch:m,onCloseSearch:g,onSearchQuery:v,onSearch:y}){const b=ne.useRef(null);ne.useLayoutEffect(()=>{const S=b.current,A=document.querySelector(".app-header .brand-mark");if(!S||!A)return;const E=()=>{const O=A.getBoundingClientRect().left-S.getBoundingClientRect().left;S.style.setProperty("--reader-title-inset",`${Math.max(10,O)}px`)};E();const $=new ResizeObserver(E);return $.observe(S),$.observe(A),()=>$.disconnect()},[]);const _=S=>{S.preventDefault();const A=Number(new FormData(S.currentTarget).get("page"));Number.isInteger(A)&&u(A)};return k.jsxs("div",{ref:b,className:"pdf-toolbar","aria-label":"PDF controls",children:[k.jsxs("div",{className:"pdf-toolbar-paper",children:[k.jsx(vk,{className:"pdf-toolbar-back",to:e,"aria-label":"Back",children:"← Back"}),k.jsx(vk,{className:"pdf-toolbar-title",to:e,title:n,"aria-label":`${n} — open paper page`,children:n}),(t==null?void 0:t.repository)&&k.jsxs("a",{className:"pdf-toolbar-resource",href:t.repository.href,target:"_blank",rel:"noopener noreferrer",title:"Official GitHub repository","aria-label":"Open official GitHub repository",children:[k.jsx(xy,{size:15,strokeWidth:1.8,"aria-hidden":"true"}),k.jsxs("span",{"aria-label":`${t.repository.stars} GitHub stars`,children:["★ ",t.repository.stars.toLocaleString()]})]}),(t==null?void 0:t.projectPage)&&k.jsxs("a",{className:"pdf-toolbar-resource",href:t.projectPage.href,target:"_blank",rel:"noopener noreferrer",title:t.projectPage.href,"aria-label":`Open project page at ${t.projectPage.label}`,children:[k.jsx(ZE,{size:14,strokeWidth:1.8,"aria-hidden":"true"}),k.jsx("span",{children:t.projectPage.label})]}),(t==null?void 0:t.huggingFace)&&k.jsxs("a",{className:"pdf-toolbar-resource",href:t.huggingFace.href,target:"_blank",rel:"noopener noreferrer","aria-label":`Open ${t.huggingFace.count} Hugging Face ${t.huggingFace.count===1?"artifact":"artifacts"}`,children:[k.jsx("span",{"aria-hidden":"true",children:"🤗"}),k.jsxs("span",{children:[t.huggingFace.count," HF ",t.huggingFace.count===1?"artifact":"artifacts"]})]})]}),k.jsxs("div",{className:"pdf-toolbar-controls",children:[k.jsxs("div",{className:"pdf-toolbar-group",children:[k.jsx("button",{type:"button",onClick:()=>u(s-1),disabled:s<=1,"aria-label":"Previous page",children:"←"}),k.jsxs("form",{onSubmit:_,className:"pdf-page-form",children:[k.jsx("label",{className:"sr-only",htmlFor:"pdf-current-page",children:"Current page"}),k.jsx("input",{id:"pdf-current-page",name:"page",type:"number",min:1,max:i||1,defaultValue:s,"aria-label":`Page ${s} of ${i||"unknown"}`},s),k.jsxs("span",{"aria-hidden":"true",children:["/ ",i||"—"]})]}),k.jsx("button",{type:"button",onClick:()=>u(s+1),disabled:!i||s>=i,"aria-label":"Next page",children:"→"})]}),k.jsxs("div",{className:"pdf-toolbar-group",children:[k.jsx("button",{type:"button",onClick:p,"aria-label":"Zoom out",children:"−"}),k.jsxs("span",{className:"pdf-zoom-value","aria-live":"polite",children:[r,"%"]}),k.jsx("button",{type:"button",onClick:d,"aria-label":"Zoom in",children:"+"}),k.jsx("button",{type:"button",onClick:m,"aria-expanded":o,"aria-controls":"pdf-search-controls",children:"Search"})]})]}),o&&k.jsxs("div",{id:"pdf-search-controls",className:"pdf-search-controls",children:[k.jsx("label",{className:"sr-only",htmlFor:"pdf-search-input",children:"Search document"}),k.jsx("input",{id:"pdf-search-input",autoFocus:!0,value:a,onChange:S=>v(S.target.value),placeholder:"Search document"}),k.jsx("span",{role:"status",children:h?"Searching…":a?`${c?l+1:0} of ${c}`:""}),k.jsx("button",{type:"button",onClick:()=>y(-1),disabled:!c,"aria-label":"Previous match",children:"↑"}),k.jsx("button",{type:"button",onClick:()=>y(1),disabled:!c,"aria-label":"Next match",children:"↓"}),k.jsx("button",{type:"button",onClick:g,"aria-label":"Close search",title:"Close search",children:k.jsx(a_,{size:16,"aria-hidden":"true"})})]})]})}function Z8(n){const e=n.message.toLowerCase();return e.includes("password")?"This PDF is encrypted and cannot be opened in the reader.":e.includes("worker")?"The PDF renderer could not start.":e.includes("invalid")||e.includes("format")?"The source returned an invalid or unsupported PDF.":e.includes("cors")||e.includes("fetch")||e.includes("network")?"The PDF source could not be loaded in this browser.":"The PDF could not be loaded from its source."}function Pu(n){return n.replace(/[&<>"']/g,e=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[e]??e)}function X8(n,e,t){const s=e.trim().toLocaleLowerCase();if(!s)return Pu(n);const i=n.toLocaleLowerCase(),r=`pdf-search-highlight${t?" is-active":""}`;let o=0,a=i.indexOf(s);if(a<0)return Pu(n);let l="";for(;a>=0;)l+=Pu(n.slice(o,a)),l+=`${Pu(n.slice(a,a+s.length))}`,o=a+s.length,a=i.indexOf(s,o);return l+Pu(n.slice(o))}function Y8({page:n,width:e,searchQuery:t,activeSearchPage:s}){const i=ne.useRef(null),[r,o]=ne.useState(n<=2);return ne.useEffect(()=>{const a=i.current;if(!a)return;const l=new IntersectionObserver(([c])=>o(c.isIntersecting),{rootMargin:"120% 0px"});return l.observe(a),()=>l.disconnect()},[]),k.jsx("div",{ref:i,className:"pdf-page","data-page":n,style:{minHeight:Math.round(e*1.35)},children:r&&k.jsx(B8,{pageNumber:n,width:e,devicePixelRatio:Math.min(window.devicePixelRatio||1,2),renderTextLayer:!0,renderAnnotationLayer:!0,loading:null,customTextRenderer:t?({str:a})=>X8(a,t,n===s):void 0})})}function J8({downloadUrl:n,page:e,pages:t,zoomPercent:s,onPage:i,onZoomIn:r,onZoomOut:o,onFitWidth:a}){const l=c=>{c.preventDefault();const h=Number(new FormData(c.currentTarget).get("page"));Number.isInteger(h)&&i(h)};return k.jsxs("div",{className:"paper-pdf-toolbar","aria-label":"Paper preview controls",children:[k.jsxs("div",{className:"paper-pdf-toolbar-group",children:[k.jsx("button",{type:"button",onClick:()=>i(e-1),disabled:e<=1,"aria-label":"Previous page",children:"Previous"}),k.jsxs("form",{onSubmit:l,children:[k.jsx("label",{className:"sr-only",htmlFor:"paper-pdf-current-page",children:"Current page"}),k.jsx("input",{id:"paper-pdf-current-page",name:"page",type:"number",min:1,max:t||1,defaultValue:e,"aria-label":`Page ${e} of ${t||"unknown"}`},e)]}),k.jsxs("span",{role:"status","aria-live":"polite",children:["Page ",e," of ",t||"—"]}),k.jsx("button",{type:"button",onClick:()=>i(e+1),disabled:!t||e>=t,"aria-label":"Next page",children:"Next"})]}),k.jsxs("div",{className:"paper-pdf-toolbar-group",children:[k.jsx("button",{type:"button",onClick:o,"aria-label":"Zoom out",children:"−"}),k.jsxs("output",{"aria-live":"polite",children:[s,"%"]}),k.jsx("button",{type:"button",onClick:r,"aria-label":"Zoom in",children:"+"}),k.jsx("button",{type:"button",onClick:a,children:"Fit to width"}),k.jsx("a",{href:n,download:!0,children:"Download PDF"})]})]})}function Q8({url:n,downloadUrl:e=n,paperKey:t,paperTitle:s,paperHref:i,resources:r,initialPage:o=1,resizeActive:a=!1,selectionEnabled:l=!1,paperVersion:c="",onPaperSelection:h,onPaperSelectionError:u,onPageChange:d,onClose:p,loadErrorMessage:m,chrome:g="reader"}){const v=ne.useRef(null),y=ne.useRef(null),b=ne.useRef(null),_=ne.useRef(null),S=ne.useRef(0),A=ne.useRef(!1),E=ne.useRef(0),$=ne.useRef(0),O=ne.useRef(0),F=ne.useRef(1),q=ne.useRef(1),N=ne.useRef(1),z=ne.useRef(!1),[G,L]=ne.useState(0),[J,Q]=ne.useState(0),[ee,ae]=ne.useState(o),[ye,B]=ne.useState(700),[P,D]=ne.useState(1),[M,w]=ne.useState(""),[x,I]=ne.useState(!1),[K,X]=ne.useState(""),[ue,oe]=ne.useState(!1),[H,U]=ne.useState([]),[Y,ie]=ne.useState(0),ce=Math.max(240,Math.round(ye*P)),_e=ne.useMemo(()=>g==="canvas"?{withCredentials:!0}:void 0,[g]);G8({enabled:l&&!!c,pagesRoot:b,routeId:t,paperVersion:c,numPages:J||void 0,resetKey:`${t}-${G}`,onSelect:h,onError:u}),ne.useEffect(()=>{U8()},[]),ne.useEffect(()=>{var fe;cancelAnimationFrame($.current),window.clearTimeout(O.current),$.current=0,O.current=0,E.current=0,Q(0),ae(o),D(1),F.current=1,q.current=1,N.current=1,z.current=!1,(fe=b.current)==null||fe.style.setProperty("--pdf-live-scale","1"),w(""),X(""),U([])},[o,t,G]),ne.useEffect(()=>{const fe=y.current;if(!fe)return;const xe=()=>{var wt;const Qe=Math.max(240,fe.clientWidth-10);a&&(z.current=!0);const it=a||z.current;N.current=it?Qe/ye:1,(wt=b.current)==null||wt.style.setProperty("--pdf-live-scale",String(N.current)),it||B(Qe)};xe();const Ke=new ResizeObserver(xe);return Ke.observe(fe),()=>Ke.disconnect()},[ye,a]),ne.useLayoutEffect(()=>{var xe;if(F.current=P,(xe=b.current)==null||xe.style.setProperty("--pdf-live-scale",String(z.current?N.current:1)),!A.current)return;const fe=y.current;fe&&(fe.scrollLeft=Math.max(0,(fe.scrollWidth-fe.clientWidth)/2)),A.current=!1},[ce,a,P]);const Ze=ne.useCallback(fe=>{window.clearTimeout(O.current);const xe=q.current,Ke=fe(xe);q.current=Ke,A.current=Ke!==F.current,D(Ke)},[]);ne.useEffect(()=>{const fe=y.current;if(!fe)return;const xe=Ke=>{Ke.ctrlKey&&(Ke.preventDefault(),E.current+=Ke.deltaY,!$.current&&($.current=requestAnimationFrame(()=>{var wt;const Qe=E.current;E.current=0,$.current=0;const it=Math.max(.5,Math.min(3,q.current*Math.exp(-Qe*.002)));q.current=it,(wt=b.current)==null||wt.style.setProperty("--pdf-live-scale",String(N.current*it/F.current)),window.clearTimeout(O.current),O.current=window.setTimeout(()=>{A.current=it!==F.current,D(q.current)},180)})))};return fe.addEventListener("wheel",xe,{passive:!1}),()=>{fe.removeEventListener("wheel",xe),cancelAnimationFrame($.current),window.clearTimeout(O.current),$.current=0,O.current=0,E.current=0}},[]);const yt=ne.useCallback(fe=>{const xe=Math.max(1,Math.min(J||1,fe));ae(xe),d==null||d(xe)},[d,J]),vt=ne.useCallback(()=>{S.current+=1,I(!1),X(""),U([]),ie(0),oe(!1)},[]);ne.useEffect(()=>{const fe=y.current;if(!fe||!J)return;let xe=0;const Ke=()=>{cancelAnimationFrame(xe),xe=requestAnimationFrame(()=>{const Qe=fe.getBoundingClientRect().top+fe.clientHeight/2;let it=ee,wt=Number.POSITIVE_INFINITY;fe.querySelectorAll("[data-page]").forEach(Cn=>{const Vn=Cn.getBoundingClientRect(),_a=Qe>=Vn.top&&Qe<=Vn.bottom?0:Math.min(Math.abs(Qe-Vn.top),Math.abs(Qe-Vn.bottom));_a{fe.removeEventListener("scroll",Ke),cancelAnimationFrame(xe)}},[ee,ce,J,yt]),ne.useEffect(()=>{const fe=xe=>{xe.defaultPrevented||((xe.ctrlKey||xe.metaKey)&&xe.key.toLowerCase()==="f"?(xe.preventDefault(),I(!0)):xe.key==="Escape"&&x?(xe.preventDefault(),vt()):xe.key==="Escape"&&!xe.repeat&&p&&(xe.preventDefault(),p()))};return window.addEventListener("keydown",fe),()=>window.removeEventListener("keydown",fe)},[vt,p,x]),ne.useEffect(()=>{const fe=_.current,xe=K.trim().toLocaleLowerCase(),Ke=++S.current;if(!fe||!xe){U([]),ie(0),oe(!1);return}oe(!0);const Qe=window.setTimeout(()=>void(async()=>{const it=[];for(let wt=1;wt<=fe.numPages;wt+=1){if(S.current!==Ke)return;const _a=(await(await fe.getPage(wt)).getTextContent()).items.map(V=>"str"in V?V.str:"").join(" ").toLocaleLowerCase();let fc=0;for(;(fc=_a.indexOf(xe,fc))>=0;)it.push(wt),fc+=Math.max(1,xe.length)}S.current===Ke&&(U(it),ie(0),oe(!1),it[0]&&bt(it[0]))})().catch(()=>{S.current===Ke&&oe(!1)}),180);return()=>window.clearTimeout(Qe)},[K,J]);const bt=fe=>{var Ke,Qe;const xe=Math.max(1,Math.min(J||1,fe));(Qe=(Ke=y.current)==null?void 0:Ke.querySelector(`[data-page="${xe}"]`))==null||Qe.scrollIntoView({block:"start"}),yt(xe)},ct=fe=>{if(!H.length)return;const xe=(Y+fe+H.length)%H.length;ie(xe),bt(H[xe])},Un=ne.useMemo(()=>Array.from({length:J},(fe,xe)=>xe+1),[J]);return k.jsxs("div",{ref:v,className:"pdf-viewer",children:[g==="canvas"?k.jsx(J8,{downloadUrl:e,page:ee,pages:J,zoomPercent:Math.round(P*100),onPage:bt,onZoomIn:()=>Ze(fe=>Math.min(3,fe+.15)),onZoomOut:()=>Ze(fe=>Math.max(.5,fe-.15)),onFitWidth:()=>Ze(()=>1)}):k.jsx(K8,{paperTitle:s,paperHref:i,resources:r,page:ee,pages:J,zoomPercent:Math.round(P*100),searchOpen:x,searchQuery:K,searchMatch:Y,searchCount:H.length,searching:ue,onPage:bt,onZoomIn:()=>Ze(fe=>Math.min(3,fe+.15)),onZoomOut:()=>Ze(fe=>Math.max(.5,fe-.15)),onToggleSearch:()=>x?vt():I(!0),onCloseSearch:vt,onSearchQuery:X,onSearch:ct}),k.jsx("div",{ref:y,className:"pdf-scroll",role:"region","aria-label":g==="canvas"?`${s} PDF preview`:"Paper PDF",children:M?k.jsxs("div",{className:"pdf-error",role:"alert",children:[k.jsx("p",{children:M}),k.jsxs("div",{children:[k.jsx("button",{type:"button",onClick:()=>L(fe=>fe+1),children:"Retry"})," ",k.jsx("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:"Open PDF"})]})]}):k.jsx(R8,{file:n,options:_e,loading:k.jsx("div",{className:"pdf-loading",role:"status",children:g==="canvas"?"Loading paper preview…":"Loading paper…"}),onLoadSuccess:fe=>{_.current=fe,Q(fe.numPages),w("");const xe=Math.max(1,Math.min(fe.numPages,o));xe>1&&requestAnimationFrame(()=>requestAnimationFrame(()=>{var Ke,Qe;(Qe=(Ke=y.current)==null?void 0:Ke.querySelector(`[data-page="${xe}"]`))==null||Qe.scrollIntoView({block:"start"}),ae(xe),d==null||d(xe)}))},onLoadError:fe=>w(m||Z8(fe)),externalLinkTarget:"_blank",children:k.jsx("div",{ref:b,className:"pdf-pages",style:{"--pdf-live-scale":N.current},children:Un.map(fe=>k.jsx(Y8,{page:fe,width:ce,searchQuery:K.trim(),activeSearchPage:H[Y]},fe))})},`${t}-${G}`)})]})}let yw=[],hM=[];(()=>{let n="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,1n,9,16,o,,x,1i,3,,i,,7,a,2,t,3,1k,,,7,2,2,2,3,9,,a,2,q,,2,3,1k,,,5,4,2,2,3,3,,u,2,3,,b,3,1k,,,8,,3,,3,k,2,m,6,,3,1k,,,7,2,2,2,3,7,3,a,2,u,,1n,5,3,3,,4,9,,14,5,1j,,,7,,3,,4,7,2,b,2,t,3,1k,,,7,,3,,4,7,2,b,2,f,,c,4,1j,2,,7,,3,,4,9,,a,2,t,3,1y,,4,6,,,,8,i,2,1p,,,8,c,8,2q,,,a,b,7,21,2,r,,,,,,4,2,1d,k,,2,5,b,,10,9,,2u,b,,6,n,4,4,3,g,4,d,,,3,6,,f,,jj,3,qa,4,s,3,t,2,u,2,1s,w,9,,19,3,,,39,2,y,,3a,c,4,c,63,5,1l,a,,,,,2,o,2,,1c,1a,2,c,k,5,1b,h,12,9,c,3,u,d,1k,e,1c,k,48,3,,l,4,,6,,2,3,5i,1s,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,n,5,4,,2b,2,1e,i,q,i,d,,12,8,p,d,18,4,1b,e,10,,1v,e,c,,8,2,1a,,1f,,,3,2,2,5,2,,,15,5,5,2,6k,8,,2,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,1t,5,8t,2,25,6,1y,b,1d,4,3e,3,1h,f,15,,2,2,a,4,19,b,7,,1p,3,10,e,g,2,18,,c,3,1c,e,8,4,,2,2k,c,6,,2,,4d,c,l,4,1j,2,,7,2,2,2,3,9,,a,2,2,7,3,5,1v,9,,,2,,,4,,5,,,e,2,2a,i,n,,29,k,6j,7,2,9,r,2,2a,h,2y,d,2t,3,2,a,74,f,6t,6,,2,2,4,,,,2,3x,7,2,7,3,,s,a,14,7,,4,8,,9,b,1a,g,5i,8,5j,8,,8,2a,m,,e,3e,6,3,,,2,,7,,,1u,5,,2,,5,9n,4,9,2,,,1c,7,3,5,n,,44l,,6,f,8ug,i,1xc,5,1n,7,t4,,,1j,7,4,29,,b,2,f57,2,3mp,1a,2,n,f2,5,3,6,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,2s,,4g,7,af,,1p,4,e4,4,72,2,6r,,2,,7,2,5,,d6,7,31,7,240,5".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(n=hM[s])e=s+1;else return!0;if(e==t)return!1}}function _x(n){return n>=127462&&n<=127487}const Sx=8205;function t6(n,e,t=!0,s=!0){return(t?uM:n6)(n,e,s)}function uM(n,e,t){if(e==n.length)return e;e&&dM(n.charCodeAt(e))&&fM(n.charCodeAt(e-1))&&e--;let s=B0(n,e);for(e+=kx(s);e=0&&_x(B0(n,o));)r++,o-=2;if(r%2==0)break;e+=2}else break}return e}function n6(n,e,t){for(;e>1;){let s=uM(n,e-2,t);if(s=56320&&n<57344}function fM(n){return n>=55296&&n<56320}function kx(n){return n<65536?1:2}let lt=class pM{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,s){[e,t]=tu(this,e,t);let i=[];return this.decompose(0,e,i,2),s.length&&s.decompose(0,s.length,i,3),this.decompose(t,this.length,i,1),dr.from(i,this.length-(t-e)+s.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=tu(this,e,t);let s=[];return this.decompose(e,t,s,0),dr.from(s,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),s=this.length-this.scanIdentical(e,-1),i=new yd(this),r=new yd(e);for(let o=t,a=t;;){if(i.next(o),r.next(o),o=0,i.lineBreak!=r.lineBreak||i.done!=r.done||i.value!=r.value)return!1;if(a+=i.value.length,i.done||a>=s)return!0}}iter(e=1){return new yd(this,e)}iterRange(e,t=this.length){return new mM(this,e,t)}iterLines(e,t){let s;if(e==null)s=this.iter();else{t==null&&(t=this.lines+1);let i=this.line(e).from;s=this.iterRange(i,Math.max(i,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new gM(s)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?pM.empty:e.length<=32?new Yt(e):dr.from(Yt.split(e,[]))}};class Yt extends lt{constructor(e,t=s6(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,s,i){for(let r=0;;r++){let o=this.text[r],a=i+o.length;if((t?s:a)>=e)return new i6(i,a,s,o);i=a+1,s++}}decompose(e,t,s,i){let r=e<=0&&t>=this.length?this:new Yt(Ax(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(i&1){let o=s.pop(),a=og(r.text,o.text.slice(),0,r.length);if(a.length<=32)s.push(new Yt(a,o.length+r.length));else{let l=a.length>>1;s.push(new Yt(a.slice(0,l)),new Yt(a.slice(l)))}}else s.push(r)}replace(e,t,s){if(!(s instanceof Yt))return super.replace(e,t,s);[e,t]=tu(this,e,t);let i=og(this.text,og(s.text,Ax(this.text,0,e)),t),r=this.length+s.length-(t-e);return i.length<=32?new Yt(i,r):dr.from(Yt.split(i,[]),r)}sliceString(e,t=this.length,s=` +`){[e,t]=tu(this,e,t);let i="";for(let r=0,o=0;r<=t&&oe&&o&&(i+=s),er&&(i+=a.slice(Math.max(0,e-r),t-r)),r=l+1}return i}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let s=[],i=-1;for(let r of e)s.push(r),i+=r.length+1,s.length==32&&(t.push(new Yt(s,i)),s=[],i=-1);return i>-1&&t.push(new Yt(s,i)),t}}class dr extends lt{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let s of e)this.lines+=s.lines}lineInner(e,t,s,i){for(let r=0;;r++){let o=this.children[r],a=i+o.length,l=s+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,s,i);i=a+1,s=l+1}}decompose(e,t,s,i){for(let r=0,o=0;o<=t&&r=o){let c=i&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?s.push(a):a.decompose(e-o,t-o,s,c)}o=l+1}}replace(e,t,s){if([e,t]=tu(this,e,t),s.lines=r&&t<=a){let l=o.replace(e-r,t-r,s),c=this.lines-o.lines+l.lines;if(l.lines>4&&l.lines>c>>6){let h=this.children.slice();return h[i]=l,new dr(h,this.length-(t-e)+s.length)}return super.replace(r,a,l)}r=a+1}return super.replace(e,t,s)}sliceString(e,t=this.length,s=` +`){[e,t]=tu(this,e,t);let i="";for(let r=0,o=0;re&&r&&(i+=s),eo&&(i+=a.sliceString(e-o,t-o,s)),o=l+1}return i}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof dr))return 0;let s=0,[i,r,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;i+=t,r+=t){if(i==o||r==a)return s;let l=this.children[i],c=e.children[r];if(l!=c)return s+l.scanIdentical(c,t);s+=l.length+1}}static from(e,t=e.reduce((s,i)=>s+i.length+1,-1)){let s=0;for(let p of e)s+=p.lines;if(s<32){let p=[];for(let m of e)m.flatten(p);return new Yt(p,t)}let i=Math.max(32,s>>5),r=i<<1,o=i>>1,a=[],l=0,c=-1,h=[];function u(p){let m;if(p.lines>r&&p instanceof dr)for(let g of p.children)u(g);else p.lines>o&&(l>o||!l)?(d(),a.push(p)):p instanceof Yt&&l&&(m=h[h.length-1])instanceof Yt&&p.lines+m.lines<=32?(l+=p.lines,c+=p.length+1,h[h.length-1]=new Yt(m.text.concat(p.text),m.length+1+p.length)):(l+p.lines>i&&d(),l+=p.lines,c+=p.length+1,h.push(p))}function d(){l!=0&&(a.push(h.length==1?h[0]:dr.from(h,c)),c=-1,l=h.length=0)}for(let p of e)u(p);return d(),a.length==1?a[0]:new dr(a,t)}}lt.empty=new Yt([""],0);function s6(n){let e=-1;for(let t of n)e+=t.length+1;return e}function og(n,e,t=0,s=1e9){for(let i=0,r=0,o=!0;r=t&&(l>s&&(a=a.slice(0,s-i)),i0?1:(e instanceof Yt?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let s=this.nodes.length-1,i=this.nodes[s],r=this.offsets[s],o=r>>1,a=i instanceof Yt?i.text.length:i.children.length;if(o==(t>0?a:0)){if(s==0)return this.done=!0,this.value="",this;t>0&&this.offsets[s-1]++,this.nodes.pop(),this.offsets.pop()}else if((r&1)==(t>0?0:1)){if(this.offsets[s]+=t,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(i instanceof Yt){let l=i.text[o+(t<0?-1:0)];if(this.offsets[s]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=i.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[s]+=t):(t<0&&this.offsets[s]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Yt?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class mM{constructor(e,t,s){this.value="",this.done=!1,this.cursor=new yd(e,t>s?-1:1),this.pos=t>s?e.length:0,this.from=Math.min(t,s),this.to=Math.max(t,s)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let s=t<0?this.pos-this.from:this.to-this.pos;e>s&&(e=s),s-=e;let{value:i}=this.cursor.next(e);return this.pos+=(i.length+e)*t,this.value=i.length<=s?i:t<0?i.slice(i.length-s):i.slice(0,s),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class gM{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:s,value:i}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):s?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(lt.prototype[Symbol.iterator]=function(){return this.iter()},yd.prototype[Symbol.iterator]=mM.prototype[Symbol.iterator]=gM.prototype[Symbol.iterator]=function(){return this});class i6{constructor(e,t,s,i){this.from=e,this.to=t,this.number=s,this.text=i}get length(){return this.to-this.from}}function tu(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function xn(n,e,t=!0,s=!0){return t6(n,e,t,s)}function r6(n){return n>=56320&&n<57344}function o6(n){return n>=55296&&n<56320}function yM(n,e){let t=n.charCodeAt(e);if(!o6(t)||e+1==n.length)return t;let s=n.charCodeAt(e+1);return r6(s)?(t-55296<<10)+(s-56320)+65536:t}function a6(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function vM(n){return n<65536?1:2}const vw=/\r\n?|\n/;var Bs=function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n}(Bs||(Bs={}));class wr{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return r+(e-i);r+=a}else{if(s!=Bs.Simple&&c>=e&&(s==Bs.TrackDel&&ie||s==Bs.TrackBefore&&ie))return null;if(c>e||c==e&&t<0&&!a)return e==i||t<0?r:r+l;r+=l}i=c}if(e>i)throw new RangeError(`Position ${e} is out of range for changeset of length ${i}`);return r}touchesRange(e,t=e){for(let s=0,i=0;s=0&&i<=t&&a>=e)return it?"cover":!0;i=a}return!1}toString(){let e="";for(let t=0;t=0?":"+i:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new wr(e)}static create(e){return new wr(e)}}class fn extends wr{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return bw(this,(t,s,i,r,o)=>e=e.replace(i,i+(s-t),o),!1),e}mapDesc(e,t=!1){return ww(this,e,t,!0)}invert(e){let t=this.sections.slice(),s=[];for(let i=0,r=0;i=0){t[i]=a,t[i+1]=o;let l=i>>1;for(;s.length0&&na(s,t,r.text),r.forward(h),a+=h}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,s){let i=[],r=[],o=0,a=null;function l(h=!1){if(!h&&!i.length)return;od||u<0||d>t)throw new RangeError(`Invalid change range ${u} to ${d} (in doc of length ${t})`);let m=p?typeof p=="string"?lt.of(p.split(s||vw)):p:lt.empty,g=m.length;if(u==d&&g==0)return;uo&&Qn(i,u-o,-1),Qn(i,d-u,g),na(r,i,m),o=d}}return c(e),l(!a),a}static empty(e){return new fn(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],s=[];for(let i=0;ia&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(r.length==1)t.push(r[0],0);else{for(;s.length=0&&t<=0&&t==n[i+1]?n[i]+=e:i>=0&&e==0&&n[i]==0?n[i+1]+=t:s?(n[i]+=e,n[i+1]+=t):n.push(e,t)}function na(n,e,t){if(t.length==0)return;let s=e.length-2>>1;if(s>1])),!(t||o==n.sections.length||n.sections[o+1]<0);)a=n.sections[o++],l=n.sections[o++];e(i,c,r,h,u),i=c,r=h}}}function ww(n,e,t,s=!1){let i=[],r=s?[]:null,o=new Rd(n),a=new Rd(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);Qn(i,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let u=Math.min(h,a.len);c+=u,h-=u,a.forward(u)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||s.length>c),r.forward2(l),o.forward(l)}}}}class Rd{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?lt.empty:e[t]}textBit(e){let{inserted:t}=this.set,s=this.i-2>>1;return s>=t.length&&!e?lt.empty:t[s].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class So{constructor(e,t,s,i){this.from=e,this.to=t,this.flags=s,this.goalColumn=i}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let s,i;return this.empty?s=i=e.mapPos(this.from,t):(s=e.mapPos(this.from,1),i=e.mapPos(this.to,-1)),s==this.from&&i==this.to?this:new So(s,i,this.flags,this.goalColumn)}extend(e,t=e,s=0){if(e<=this.anchor&&t>=this.anchor)return re.range(e,t,void 0,void 0,s);let i=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return re.range(this.anchor,i,void 0,void 0,s)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return re.range(e.anchor,e.head)}static create(e,t,s,i){return new So(e,t,s,i)}}class re{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:re.create(this.ranges.map(s=>s.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let s=0;se.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new re(e.ranges.map(t=>So.fromJSON(t)),e.main)}static single(e,t=e){return new re([re.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let s=0,i=0;ii.from-r.from),t=e.indexOf(s);for(let i=1;ir.head?re.range(l,a):re.range(a,l))}}return new re(e,t)}}function wM(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let F1=0;class Ae{constructor(e,t,s,i,r){this.combine=e,this.compareInput=t,this.compare=s,this.isStatic=i,this.id=F1++,this.default=e([]),this.extensions=typeof r=="function"?r(this):r}get reader(){return this}static define(e={}){return new Ae(e.combine||(t=>t),e.compareInput||((t,s)=>t===s),e.compare||(e.combine?(t,s)=>t===s:j1),!!e.static,e.enables)}of(e){return new ag([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new ag(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new ag(e,this,2,t)}from(e,t){return t||(t=s=>s),this.compute([e],s=>t(s.field(e)))}}function j1(n,e){return n==e||n.length==e.length&&n.every((t,s)=>t===e[s])}class ag{constructor(e,t,s,i){this.dependencies=e,this.facet=t,this.type=s,this.value=i,this.id=F1++}dynamicSlot(e){var t;let s=this.value,i=this.facet.compareInput,r=this.id,o=e[r]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let u of this.dependencies)u=="doc"?l=!0:u=="selection"?c=!0:((t=e[u.id])!==null&&t!==void 0?t:1)&1||h.push(e[u.id]);return{create(u){return u.values[o]=s(u),1},update(u,d){if(l&&d.docChanged||c&&(d.docChanged||d.selection)||_w(u,h)){let p=s(u);if(a?!xx(p,u.values[o],i):!i(p,u.values[o]))return u.values[o]=p,1}return 0},reconfigure:(u,d)=>{let p,m=d.config.address[r];if(m!=null){let g=Fg(d,m);if(this.dependencies.every(v=>v instanceof Ae?d.facet(v)===u.facet(v):v instanceof Sr?d.field(v,!1)==u.field(v,!1):!0)||(a?xx(p=s(u),g,i):i(p=s(u),g)))return u.values[o]=g,0}else p=s(u);return u.values[o]=p,1}}}get extension(){return this}}function xx(n,e,t){if(n.length!=e.length)return!1;for(let s=0;sn[l.id]),i=t.map(l=>l.type),r=s.filter(l=>!(l&1)),o=n[e.id]>>1;function a(l){let c=[];for(let h=0;hs===i),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Qp).find(s=>s.field==this);return((t==null?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:s=>(s.values[t]=this.create(s),1),update:(s,i)=>{let r=s.values[t],o=this.updateF(r,i);return this.compareF(r,o)?0:(s.values[t]=o,1)},reconfigure:(s,i)=>{let r=s.facet(Qp),o=i.facet(Qp),a;return(a=r.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(s.values[t]=a.create(s),1):i.config.address[this.id]!=null?(s.values[t]=i.field(this),0):(s.values[t]=this.create(s),1)}}}init(e){return[this,Qp.of({field:this,create:e})]}get extension(){return this}}const Ba={lowest:4,low:3,default:2,high:1,highest:0};function Ru(n){return e=>new _M(e,n)}const i0={highest:Ru(Ba.highest),high:Ru(Ba.high),default:Ru(Ba.default),low:Ru(Ba.low),lowest:Ru(Ba.lowest)};class _M{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}}class Sp{of(e){return new Sw(this,e)}reconfigure(e){return Sp.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class Sw{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}}class Dg{constructor(e,t,s,i,r,o){for(this.base=e,this.compartments=t,this.dynamicSlots=s,this.address=i,this.staticValues=r,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,s){let i=[],r=Object.create(null),o=new Map;for(let d of c6(e,t,o))d instanceof Sr?i.push(d):(r[d.facet.id]||(r[d.facet.id]=[])).push(d);let a=Object.create(null),l=[],c=[];for(let d of i)a[d.id]=c.length<<1,c.push(p=>d.slot(p));let h=s==null?void 0:s.config.facets;for(let d in r){let p=r[d],m=p[0].facet,g=h&&h[d]||[];if(p.every(v=>v.type==0))if(a[m.id]=l.length<<1|1,j1(g,p))l.push(s.facet(m));else{let v=m.combine(p.map(y=>y.value));l.push(s&&m.compare(v,s.facet(m))?s.facet(m):v)}else{for(let v of p)v.type==0?(a[v.id]=l.length<<1|1,l.push(v.value)):(a[v.id]=c.length<<1,c.push(y=>v.dynamicSlot(y)));a[m.id]=c.length<<1,c.push(v=>l6(v,m,p))}}let u=c.map(d=>d(a));return new Dg(e,o,u,a,l,r)}}function c6(n,e,t){let s=[[],[],[],[],[]],i=new Map;function r(o,a){let l=i.get(o);if(l!=null){if(l<=a)return;let c=s[l].indexOf(o);c>-1&&s[l].splice(c,1),o instanceof Sw&&t.delete(o.compartment)}if(i.set(o,a),Array.isArray(o))for(let c of o)r(c,a);else if(o instanceof Sw){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),r(c,a)}else if(o instanceof _M)r(o.inner,o.prec);else if(o instanceof Sr)s[a].push(o),o.provides&&r(o.provides,a);else if(o instanceof ag)s[a].push(o),o.facet.extensions&&r(o.facet.extensions,Ba.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);r(c,a)}}return r(n,Ba.default),s.reduce((o,a)=>o.concat(a))}function vd(n,e){if(e&1)return 2;let t=e>>1,s=n.status[t];if(s==4)throw new Error("Cyclic dependency between fields and/or facets");if(s&2)return s;n.status[t]=4;let i=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|i}function Fg(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const SM=Ae.define(),kw=Ae.define({combine:n=>n.some(e=>e),static:!0}),kM=Ae.define({combine:n=>n.length?n[0]:void 0,static:!0}),AM=Ae.define(),xM=Ae.define(),EM=Ae.define(),CM=Ae.define({combine:n=>n.length?n[0]:!1});class ba{constructor(e,t){this.type=e,this.value=t}static define(){return new h6}}class h6{of(e){return new ba(this,e)}}class u6{constructor(e){this.map=e}of(e){return new Et(this,e)}}class Et{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new Et(this.type,t)}is(e){return this.type==e}static define(e={}){return new u6(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let s=[];for(let i of e){let r=i.map(t);r&&s.push(r)}return s}}Et.reconfigure=Et.define();Et.appendConfig=Et.define();class gn{constructor(e,t,s,i,r,o){this.startState=e,this.changes=t,this.selection=s,this.effects=i,this.annotations=r,this.scrollIntoView=o,this._doc=null,this._state=null,s&&wM(s,t.newLength),r.some(a=>a.type==gn.time)||(this.annotations=r.concat(gn.time.of(Date.now())))}static create(e,t,s,i,r,o){return new gn(e,t,s,i,r,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(gn.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}gn.time=ba.define();gn.userEvent=ba.define();gn.addToHistory=ba.define();gn.remote=ba.define();function d6(n,e){let t=[];for(let s=0,i=0;;){let r,o;if(s=n[s]))r=n[s++],o=n[s++];else if(i=0;i--){let r=s[i](n);r instanceof gn?n=r:Array.isArray(r)&&r.length==1&&r[0]instanceof gn?n=r[0]:n=TM(e,Wc(r),!1)}return n}function p6(n){let e=n.startState,t=e.facet(EM),s=n;for(let i=t.length-1;i>=0;i--){let r=t[i](n);r&&Object.keys(r).length&&(s=$M(s,Aw(e,r,n.changes.newLength),!0))}return s==n?n:gn.create(e,n.changes,n.selection,s.effects,s.annotations,s.scrollIntoView)}const m6=[];function Wc(n){return n==null?m6:Array.isArray(n)?n:[n]}var Qt=function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n}(Qt||(Qt={}));const g6=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let xw;try{xw=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function y6(n){if(xw)return xw.test(n);for(let e=0;e"€"&&(t.toUpperCase()!=t.toLowerCase()||g6.test(t)))return!0}return!1}function v6(n){return e=>{if(!/\S/.test(e))return Qt.Space;if(y6(e))return Qt.Word;for(let t=0;t-1)return Qt.Word;return Qt.Other}}class at{constructor(e,t,s,i,r,o){this.config=e,this.doc=t,this.selection=s,this.values=i,this.status=e.statusTemplate.slice(),this.computeSlot=r,o&&(o._state=this);for(let a=0;ai.set(c,l)),t=null),i.set(a.value.compartment,a.value.extension)):a.is(Et.reconfigure)?(t=null,s=a.value):a.is(Et.appendConfig)&&(t=null,s=Wc(s).concat(a.value));let r;t?r=e.startState.values.slice():(t=Dg.resolve(s,i,this),r=new at(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(kw)?e.newSelection:e.newSelection.asSingle();new at(t,e.newDoc,o,r,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:re.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,s=e(t.ranges[0]),i=this.changes(s.changes),r=[s.range],o=Wc(s.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return at.create({doc:e.doc,selection:re.fromJSON(e.selection),extensions:t.extensions?i.concat([t.extensions]):i})}static create(e={}){let t=Dg.resolve(e.extensions||[],new Map),s=e.doc instanceof lt?e.doc:lt.of((e.doc||"").split(t.staticFacet(at.lineSeparator)||vw)),i=e.selection?e.selection instanceof re?e.selection:re.single(e.selection.anchor,e.selection.head):re.single(0);return wM(i,s.length),t.staticFacet(kw)||(i=i.asSingle()),new at(t,s,i,t.dynamicSlots.map(()=>null),(r,o)=>o.create(r),null)}get tabSize(){return this.facet(at.tabSize)}get lineBreak(){return this.facet(at.lineSeparator)||` +`}get readOnly(){return this.facet(CM)}phrase(e,...t){for(let s of this.facet(at.phrases))if(Object.prototype.hasOwnProperty.call(s,e)){e=s[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(s,i)=>{if(i=="$")return"$";let r=+(i||1);return!r||r>t.length?s:t[r-1]})),e}languageDataAt(e,t,s=-1){let i=[];for(let r of this.facet(SM))for(let o of r(this,t,s))Object.prototype.hasOwnProperty.call(o,e)&&i.push(o[e]);return i}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return v6(t.length?t[0]:"")}wordAt(e){let{text:t,from:s,length:i}=this.doc.lineAt(e),r=this.charCategorizer(e),o=e-s,a=e-s;for(;o>0;){let l=xn(t,o,!1);if(r(t.slice(l,o))!=Qt.Word)break;o=l}for(;an.length?n[0]:4});at.lineSeparator=kM;at.readOnly=CM;at.phrases=Ae.define({compare(n,e){let t=Object.keys(n),s=Object.keys(e);return t.length==s.length&&t.every(i=>n[i]==e[i])}});at.languageData=SM;at.changeFilter=AM;at.transactionFilter=xM;at.transactionExtender=EM;Sp.reconfigure=Et.define();function vu(n,e,t={}){let s={};for(let i of n)for(let r of Object.keys(i)){let o=i[r],a=s[r];if(a===void 0)s[r]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,r))s[r]=t[r](a,o);else throw new Error("Config merge conflict for field "+r)}for(let i in e)s[i]===void 0&&(s[i]=e[i]);return s}class tc{eq(e){return this==e}range(e,t=e){return Ew.create(e,t,this)}}tc.prototype.startSide=tc.prototype.endSide=0;tc.prototype.point=!1;tc.prototype.mapMode=Bs.TrackDel;function z1(n,e){return n==e||n.constructor==e.constructor&&n.eq(e)}let Ew=class PM{constructor(e,t,s){this.from=e,this.to=t,this.value=s}static create(e,t,s){return new PM(e,t,s)}};function Cw(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class H1{constructor(e,t,s,i){this.from=e,this.to=t,this.value=s,this.maxPoint=i}get length(){return this.to[this.to.length-1]}findIndex(e,t,s,i=0){let r=s?this.to:this.from;for(let o=i,a=r.length;;){if(o==a)return o;let l=o+a>>1,c=r[l]-e||(s?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,s,i){for(let r=this.findIndex(t,-1e9,!0),o=this.findIndex(s,1e9,!1,r);rp||d==p&&c.startSide>0&&c.endSide<=0)continue;(p-d||c.endSide-c.startSide)<0||(o<0&&(o=d),c.point&&(a=Math.max(a,p-d)),s.push(c),i.push(d-o),r.push(p-o))}return{mapped:s.length?new H1(i,r,s,a):null,pos:o}}}class rt{constructor(e,t,s,i){this.chunkPos=e,this.chunk=t,this.nextLayer=s,this.maxPoint=i}static create(e,t,s,i){return new rt(e,t,s,i)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:s=!1,filterFrom:i=0,filterTo:r=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(s&&(t=t.slice().sort(Cw)),this.isEmpty)return t.length?rt.of(t):this;let a=new RM(this,null,-1).goto(0),l=0,c=[],h=new Md;for(;a.value||l=0){let u=t[l++];h.addInner(u.from,u.to,u.value)||c.push(u)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||ra.to||r=r&&e<=r+o.length&&o.between(r,e-r,t-r,s)===!1)return}this.nextLayer.between(e,t,s)}}iter(e=0){return Id.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Id.from(e).goto(t)}static compare(e,t,s,i,r=-1){let o=e.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=r),a=t.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=r),l=Ex(o,a,s),c=new Mu(o,l,r),h=new Mu(a,l,r);s.iterGaps((u,d,p)=>Cx(c,u,h,d,p,i)),s.empty&&s.length==0&&Cx(c,0,h,0,0,i)}static eq(e,t,s=0,i){i==null&&(i=999999999);let r=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(r.length!=o.length)return!1;if(!r.length)return!0;let a=Ex(r,o),l=new Mu(r,a,0).goto(s),c=new Mu(o,a,0).goto(s);for(;;){if(l.to!=c.to||!$w(l.active,c.active)||l.point&&(!c.point||!z1(l.point,c.point)))return!1;if(l.to>i)return!0;l.next(),c.next()}}static spans(e,t,s,i,r=-1){let o=new Mu(e,null,r).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,s);if(o.point){let h=o.activeForPoint(o.to),u=o.pointFroma&&(i.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>s)return l+(o.point&&o.to>s?1:0);a=o.to,o.next()}}static of(e,t=!1){let s=new Md;for(let i of e instanceof Ew?[e]:t?b6(e):e)s.add(i.from,i.to,i.value);return s.finish()}static join(e){if(!e.length)return rt.empty;let t=e[e.length-1];for(let s=e.length-2;s>=0;s--)for(let i=e[s];i!=rt.empty;i=i.nextLayer)t=new rt(i.chunkPos,i.chunk,t,Math.max(i.maxPoint,t.maxPoint));return t}}rt.empty=new rt([],[],null,-1);function b6(n){if(n.length>1)for(let e=n[0],t=1;t0)return n.slice().sort(Cw);e=s}return n}rt.empty.nextLayer=rt.empty;class Md{finishChunk(e){this.chunks.push(new H1(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,s){this.addInner(e,t,s)||(this.nextLayer||(this.nextLayer=new Md)).add(e,t,s)}addInner(e,t,s){let i=e-this.lastTo||s.startSide-this.last.endSide;if(i<=0&&(e-this.lastFrom||s.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return i<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=s,this.lastFrom=e,this.lastTo=t,this.value.push(s),s.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let s=t.value.length-1;return this.last=t.value[s],this.lastFrom=t.from[s]+e,this.lastTo=t.to[s]+e,!0}finish(){return this.finishInner(rt.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=rt.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function Ex(n,e,t){let s=new Map;for(let r of n)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=s&&i.push(new RM(o,t,s,r));return i.length==1?i[0]:new Id(i)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let s of this.heap)s.goto(e,t);for(let s=this.heap.length>>1;s>=0;s--)q0(this.heap,s);return this.next(),this}forward(e,t){for(let s of this.heap)s.forward(e,t);for(let s=this.heap.length>>1;s>=0;s--)q0(this.heap,s);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),q0(this.heap,0)}}}function q0(n,e){for(let t=n[e];;){let s=(e<<1)+1;if(s>=n.length)break;let i=n[s];if(s+1=0&&(i=n[s+1],s++),t.compare(i)<0)break;n[s]=t,n[e]=i,e=s}}class Mu{constructor(e,t,s){this.minPoint=s,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Id.from(e,t,s)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){em(this.active,e),em(this.activeTo,e),em(this.activeRank,e),this.minActive=$x(this.active,this.activeTo)}addActive(e){let t=0,{value:s,to:i,rank:r}=this.cursor;for(;t0;)t++;tm(this.active,t,s),tm(this.activeTo,t,i),tm(this.activeRank,t,r),e&&tm(e,t,this.cursor.from),this.minActive=$x(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let s=this.openStart<0?[]:null;for(;;){let i=this.minActive;if(i>-1&&(this.activeTo[i]-this.cursor.from||this.active[i].endSide-this.cursor.startSide)<0){if(this.activeTo[i]>e){this.to=this.activeTo[i],this.endSide=this.active[i].endSide;break}this.removeActive(i),s&&em(s,i)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let r=this.cursor.value;if(!r.point)this.addActive(s),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&s[i]=0&&!(this.activeRank[s]e||this.activeTo[s]==e&&this.active[s].endSide>=this.point.endSide)&&t.push(this.active[s]);return t.reverse()}openEnd(e){let t=0;for(let s=this.activeTo.length-1;s>=0&&this.activeTo[s]>e;s--)t++;return t}}function Cx(n,e,t,s,i,r){n.goto(e),t.goto(s);let o=s+i,a=s,l=s-e,c=!!r.boundChange;for(let h=!1;;){let u=n.to+l-t.to,d=u||n.endSide-t.endSide,p=d<0?n.to+l:t.to,m=Math.min(p,o);if(n.point||t.point?(n.point&&t.point&&z1(n.point,t.point)&&$w(n.activeForPoint(n.to),t.activeForPoint(t.to))||r.comparePoint(a,m,n.point,t.point),h=!1):(h&&r.boundChange(a),m>a&&!$w(n.active,t.active)&&r.compareRange(a,m,n.active,t.active),c&&mo)break;a=p,d<=0&&n.next(),d>=0&&t.next()}}function $w(n,e){if(n.length!=e.length)return!1;for(let t=0;t=e;s--)n[s+1]=n[s];n[e]=t}function $x(n,e){let t=-1,s=1e9;for(let i=0;i=e)return i;if(i==n.length)break;r+=n.charCodeAt(i)==9?t-r%t:1,i=xn(n,i)}return n.length}const Tw="ͼ",Tx=typeof Symbol>"u"?"__"+Tw:Symbol.for(Tw),Pw=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Px=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class nu{constructor(e,t){this.rules=[];let{finish:s}=t||{};function i(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function r(o,a,l,c){let h=[],u=/^@(\w+)\b/.exec(o[0]),d=u&&u[1]=="keyframes";if(u&&a==null)return l.push(o[0]+";");for(let p in a){let m=a[p];if(/&/.test(p))r(p.split(/,\s*/).map(g=>o.map(v=>g.replace(/&/,v))).reduce((g,v)=>g.concat(v)),m,l);else if(m&&typeof m=="object"){if(!u)throw new RangeError("The value of a property ("+p+") should be a primitive value.");r(i(p),m,h,d)}else m!=null&&h.push(p.replace(/_.*/,"").replace(/[A-Z]/g,g=>"-"+g.toLowerCase())+": "+m+";")}(h.length||d)&&l.push((s&&!u&&!c?o.map(s):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)r(i(o),e[o],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=Px[Tx]||1;return Px[Tx]=e+1,Tw+e.toString(36)}static mount(e,t,s){let i=e[Pw],r=s&&s.nonce;i?r&&i.setNonce(r):i=new _6(e,r),i.mount(Array.isArray(t)?t:[t],e)}}let Rx=new Map;class _6{constructor(e,t){let s=e.ownerDocument||e,i=s.defaultView;if(!e.head&&e.adoptedStyleSheets&&i.CSSStyleSheet){let r=Rx.get(s);if(r)return e[Pw]=r;this.sheet=new i.CSSStyleSheet,Rx.set(s,this)}else this.styleTag=s.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Pw]=this}mount(e,t){let s=this.sheet,i=0,r=0;for(let o=0;o-1&&(this.modules.splice(l,1),r--,l=-1),l==-1){if(this.modules.splice(r++,0,a),s)for(let c=0;c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},S6=typeof navigator<"u"&&/Mac/.test(navigator.platform),k6=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var Fn=0;Fn<10;Fn++)ha[48+Fn]=ha[96+Fn]=String(Fn);for(var Fn=1;Fn<=24;Fn++)ha[Fn+111]="F"+Fn;for(var Fn=65;Fn<=90;Fn++)ha[Fn]=String.fromCharCode(Fn+32),Od[Fn]=String.fromCharCode(Fn);for(var U0 in ha)Od.hasOwnProperty(U0)||(Od[U0]=ha[U0]);function A6(n){var e=S6&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||k6&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?Od:ha)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function An(){var n=arguments[0];typeof n=="string"&&(n=document.createElement(n));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var s in t)if(Object.prototype.hasOwnProperty.call(t,s)){var i=t[s];typeof i=="string"?n.setAttribute(s,i):i!=null&&(n[s]=i)}e++}for(;e2);var ge={mac:Ox||/Mac/.test(as.platform),windows:/Win/.test(as.platform),linux:/Linux|X11/.test(as.platform),ie:o0,ie_version:IM?Rw.documentMode||6:Iw?+Iw[1]:Mw?+Mw[1]:0,gecko:Mx,gecko_version:Mx?+(/Firefox\/(\d+)/.exec(as.userAgent)||[0,0])[1]:0,chrome:!!V0,chrome_version:V0?+V0[1]:0,ios:Ox,android:/Android\b/.test(as.userAgent),webkit:Ix,webkit_version:Ix?+(/\bAppleWebKit\/(\d+)/.exec(as.userAgent)||[0,0])[1]:0,safari:Ow,safari_version:Ow?+(/\bVersion\/(\d+(\.\d+)?)/.exec(as.userAgent)||[0,0])[1]:0,tabSize:Rw.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function B1(n,e){for(let t in n)t=="class"&&e.class?e.class+=" "+n.class:t=="style"&&e.style?e.style+=";"+n.style:e[t]=n[t];return e}const jg=Object.create(null);function q1(n,e,t){if(n==e)return!0;n||(n=jg),e||(e=jg);let s=Object.keys(n),i=Object.keys(e);if(s.length-0!=i.length-0)return!1;for(let r of s)if(r!=t&&(i.indexOf(r)==-1||n[r]!==e[r]))return!1;return!0}function x6(n,e){for(let t=n.attributes.length-1;t>=0;t--){let s=n.attributes[t].name;e[s]==null&&n.removeAttribute(s)}for(let t in e){let s=e[t];t=="style"?n.style.cssText=s:n.getAttribute(t)!=s&&n.setAttribute(t,s)}}function Nx(n,e,t){let s=!1;if(e)for(let i in e)t&&i in t||(s=!0,i=="style"?n.style.cssText="":n.removeAttribute(i));if(t)for(let i in t)e&&e[i]==t[i]||(s=!0,i=="style"?n.style.cssText=t[i]:n.setAttribute(i,t[i]));return s}function E6(n){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new nc(e,t,t,s,e.widget||null,!1)}static replace(e){let t=!!e.block,s,i;if(e.isBlockGap)s=-5e8,i=4e8;else{let{start:r,end:o}=OM(e,t);s=(r?t?-3e8:-1:5e8)-1,i=(o?t?2e8:1:-6e8)+1}return new nc(e,s,i,t,e.widget||null,!0)}static line(e){return new Ap(e)}static set(e,t=!1){return rt.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}et.none=rt.empty;class kp extends et{constructor(e){let{start:t,end:s}=OM(e);super(t?-1:5e8,s?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?B1(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||jg}eq(e){return this==e||e instanceof kp&&this.tagName==e.tagName&&q1(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}kp.prototype.point=!1;class Ap extends et{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Ap&&this.spec.class==e.spec.class&&q1(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}Ap.prototype.mapMode=Bs.TrackBefore;Ap.prototype.point=!0;class nc extends et{constructor(e,t,s,i,r,o){super(t,s,r,e),this.block=i,this.isReplace=o,this.mapMode=i?t<=0?Bs.TrackBefore:Bs.TrackAfter:Bs.TrackDel}get type(){return this.startSide!=this.endSide?zn.WidgetRange:this.startSide<=0?zn.WidgetBefore:zn.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof nc&&C6(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}nc.prototype.point=!0;function OM(n,e=!1){let{inclusiveStart:t,inclusiveEnd:s}=n;return t==null&&(t=n.inclusive),s==null&&(s=n.inclusive),{start:t??e,end:s??e}}function C6(n,e){return n==e||!!(n&&e&&n.compare(e))}function Gc(n,e,t,s=0){let i=t.length-1;i>=0&&t[i]+s>=n?t[i]=Math.max(t[i],e):t.push(n,e)}class Nd extends tc{constructor(e,t,s){super(),this.tagName=e,this.attributes=t,this.rank=s}eq(e){return e==this||e instanceof Nd&&this.tagName==e.tagName&&q1(this.attributes,e.attributes)}static create(e){return new Nd(e.tagName,e.attributes||jg,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return rt.of(e,t)}}Nd.prototype.startSide=Nd.prototype.endSide=-1;function Ld(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function Nw(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function bd(n,e){if(!e.anchorNode)return!1;try{return Nw(n,e.anchorNode)}catch{return!1}}function lg(n){return n.nodeType==3?Dd(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function wd(n,e,t,s){return t?Lx(n,e,t,s,-1)||Lx(n,e,t,s,1):!1}function ua(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function zg(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function Lx(n,e,t,s,i){for(;;){if(n==t&&e==s)return!0;if(e==(i<0?0:co(n))){if(n.nodeName=="DIV")return!1;let r=n.parentNode;if(!r||r.nodeType!=1)return!1;e=ua(n)+(i<0?0:1),n=r}else if(n.nodeType==1){if(n=n.childNodes[e+(i<0?-1:0)],n.nodeType==1&&n.contentEditable=="false")return!1;e=i<0?co(n):0}else return!1}}function co(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function Hg(n,e){let{left:t,right:s}=n;if(t==s)return n;let i=e?t:s;return{left:i,right:i,top:n.top,bottom:n.bottom}}function $6(n){let e=n.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:n.innerWidth,top:0,bottom:n.innerHeight}}function NM(n,e){let t=e.width/n.offsetWidth,s=e.height/n.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-n.offsetWidth)<1)&&(t=1),(s>.995&&s<1.005||!isFinite(s)||Math.abs(e.height-n.offsetHeight)<1)&&(s=1),{scaleX:t,scaleY:s}}function T6(n,e,t,s,i,r,o,a){let l=n.ownerDocument,c=l.defaultView||window;for(let h=n,u=!1;h&&!u;)if(h.nodeType==1){let d,p=h==l.body,m=1,g=1;if(p)d=$6(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(u=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let b=h.getBoundingClientRect();({scaleX:m,scaleY:g}=NM(h,b)),d={left:b.left,right:b.left+h.clientWidth*m,top:b.top,bottom:b.top+h.clientHeight*g}}let v=0,y=0;if(i=="nearest")e.top0&&e.bottom>d.bottom+y&&(y=e.bottom-d.bottom+o)):e.bottom>d.bottom-o&&(y=e.bottom-d.bottom+o,t<0&&e.top-y0&&e.right>d.right+v&&(v=e.right-d.right+r)):e.right>d.right-r&&(v=e.right-d.right+r,t<0&&e.leftd.bottom||e.leftd.right)&&(e={left:Math.max(e.left,d.left),right:Math.min(e.right,d.right),top:Math.max(e.top,d.top),bottom:Math.min(e.bottom,d.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function LM(n,e=!0){let t=n.ownerDocument,s=null,i=null;for(let r=n.parentNode;r&&!(r==t.body||(!e||s)&&i);)if(r.nodeType==1)!i&&r.scrollHeight>r.clientHeight&&(i=r),e&&!s&&r.scrollWidth>r.clientWidth&&(s=r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;return{x:s,y:i}}class P6{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:s}=e;this.set(t,Math.min(e.anchorOffset,t?co(t):0),s,Math.min(e.focusOffset,s?co(s):0))}set(e,t,s,i){this.anchorNode=e,this.anchorOffset=t,this.focusNode=s,this.focusOffset=i}}function DM(n){let e=[];for(let t=n;t;t=t.nodeType==11?t.host:t.parentNode)t.nodeType==1&&e.push({node:t,left:t.scrollLeft,top:t.scrollTop});return e}function FM(n,e=!0){for(let{node:t,left:s,top:i}of n)e&&t.scrollTop!=i&&(t.scrollTop=i),t.scrollLeft!=s&&(t.scrollLeft=s)}let La=null;ge.safari&&ge.safari_version>=26&&(La=!1);function jM(n){if(n.setActive)return n.setActive();if(La)return n.focus(La);let e=DM(n);n.focus(La==null?{get preventScroll(){return La={preventScroll:!0},!0}}:void 0),La||(La=!1,FM(e))}let Dx;function Dd(n,e,t=e){let s=Dx||(Dx=document.createRange());return s.setEnd(n,t),s.setStart(n,e),s}function Kc(n,e,t,s){let i={key:e,code:e,keyCode:t,which:t,cancelable:!0};s&&({altKey:i.altKey,ctrlKey:i.ctrlKey,shiftKey:i.shiftKey,metaKey:i.metaKey}=s);let r=new KeyboardEvent("keydown",i);r.synthetic=!0,n.dispatchEvent(r);let o=new KeyboardEvent("keyup",i);return o.synthetic=!0,n.dispatchEvent(o),r.defaultPrevented||o.defaultPrevented}function R6(n){for(;n;){if(n&&(n.nodeType==9||n.nodeType==11&&n.host))return n;n=n.assignedSlot||n.parentNode}return null}function M6(n,e){let t=e.focusNode,s=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=s)return!1;for(s=Math.min(s,co(t));;)if(s){if(t.nodeType!=1)return!1;let i=t.childNodes[s-1];i.contentEditable=="false"?s--:(t=i,s=co(t))}else{if(t==n)return!0;s=ua(t),t=t.parentNode}}function zM(n){return n instanceof Window?n.pageYOffset>Math.max(0,n.document.documentElement.scrollHeight-n.innerHeight-4):n.scrollTop>Math.max(1,n.scrollHeight-n.clientHeight-4)}function HM(n,e){for(let t=n,s=e;;){if(t.nodeType==3&&s>0)return{node:t,offset:s};if(t.nodeType==1&&s>0){if(t.contentEditable=="false")return null;t=t.childNodes[s-1],s=co(t)}else if(t.parentNode&&!zg(t))s=ua(t),t=t.parentNode;else return null}}function BM(n,e){for(let t=n,s=e;;){if(t.nodeType==3&&s=t){if(a.level==s)return o;(r<0||(i!=0?i<0?a.fromt:e[r].level>a.level))&&(r=o)}}if(r<0)throw new RangeError("Index out of range");return r}}function VM(n,e){if(n.length!=e.length)return!1;for(let t=0;t=0;g-=3)if(qi[g+1]==-p){let v=qi[g+2],y=v&2?i:v&4?v&1?r:i:0;y&&(xt[u]=xt[qi[g]]=y),a=g;break}}else{if(qi.length==189)break;qi[a++]=u,qi[a++]=d,qi[a++]=l}else if((m=xt[u])==2||m==1){let g=m==i;l=g?0:1;for(let v=a-3;v>=0;v-=3){let y=qi[v+2];if(y&2)break;if(g)qi[v+2]|=2;else{if(y&4)break;qi[v+2]|=4}}}}}function F6(n,e,t,s){for(let i=0,r=s;i<=t.length;i++){let o=i?t[i-1].to:n,a=il;)m==v&&(m=t[--g].from,v=g?t[g-1].to:n),xt[--m]=p;l=h}else r=c,l++}}}function Dw(n,e,t,s,i,r,o){let a=s%2?2:1;if(s%2==i%2)for(let l=e,c=0;ll&&o.push(new mr(l,g.from,p));let v=g.direction==sc!=!(p%2);Fw(n,v?s+1:s,i,g.inner,g.from,g.to,o),l=g.to}m=g.to}else{if(m==t||(h?xt[m]!=a:xt[m]==a))break;m++}d?Dw(n,l,m,s+1,i,d,o):le;){let h=!0,u=!1;if(!c||l>r[c-1].to){let g=xt[l-1];g!=a&&(h=!1,u=g==16)}let d=!h&&a==1?[]:null,p=h?s:s+1,m=l;e:for(;;)if(c&&m==r[c-1].to){if(u)break e;let g=r[--c];if(!h)for(let v=g.from,y=c;;){if(v==e)break e;if(y&&r[y-1].to==v)v=r[--y].from;else{if(xt[v-1]==a)break e;break}}if(d)d.push(g);else{g.toxt.length;)xt[xt.length]=256;let s=[],i=e==sc?0:1;return Fw(n,i,i,t,0,n.length,s),s}function WM(n){return[new mr(0,n,0)]}let GM="";function z6(n,e,t,s,i){var r;let o=s.head-n.from,a=mr.find(e,o,(r=s.bidiLevel)!==null&&r!==void 0?r:-1,s.assoc),l=e[a],c=l.side(i,t);if(o==c){let d=a+=i?1:-1;if(d<0||d>=e.length)return null;l=e[a=d],o=l.side(!i,t),c=l.side(i,t)}let h=xn(n.text,o,l.forward(i,t));(hl.to)&&(h=c),GM=n.text.slice(Math.min(o,h),Math.max(o,h));let u=a==(i?e.length-1:0)?null:e[a+(i?1:-1)];return u&&h==c&&u.level+(i?0:1)n.some(e=>e)}),tI=Ae.define({combine:n=>n.some(e=>e)}),nI=Ae.define();class Zc{constructor(e,t,s,i,r,o=!1){this.range=e,this.y=t,this.x=s,this.yMargin=i,this.xMargin=r,this.isSnapshot=o}map(e){return e.empty?this:new Zc(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new Zc(re.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const nm=Et.define({map:(n,e)=>n.map(e)}),sI=Et.define();function gr(n,e,t){let s=n.facet(YM);s.length?s[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}const to=Ae.define({combine:n=>n.length?n[0]:!0});let B6=0;const Nc=Ae.define({combine(n){return n.filter((e,t)=>{for(let s=0;s{let l=[];return o&&l.push(l0.of(c=>{let h=c.plugin(a);return h?o(h):et.none})),r&&l.push(r(a)),l})}static fromClass(e,t){return Us.define((s,i)=>new e(s,i),t)}}class W0{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(s){if(gr(t.state,s,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){gr(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(s){gr(e.state,s,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const iI=Ae.define(),G1=Ae.define(),l0=Ae.define(),rI=Ae.define(),K1=Ae.define(),xp=Ae.define(),oI=Ae.define();function Fx(n,e){let t=n.state.facet(oI);if(!t.length)return t;let s=t.map(r=>r instanceof Function?r(n):r),i=[];return rt.spans(s,e.from,e.to,{point(){},span(r,o,a,l){let c=r-e.from,h=o-e.from,u=i;for(let d=a.length-1;d>=0;d--,l--){let p=a[d].spec.bidiIsolate,m;if(p==null&&(p=H6(e.text,c,h)),l>0&&u.length&&(m=u[u.length-1]).to==c&&m.direction==p)m.to=h,u=m.inner;else{let g={from:c,to:h,direction:p,inner:[]};u.push(g),u=g.inner}}}}),i}const aI=Ae.define();function lI(n){let e=0,t=0,s=0,i=0;for(let r of n.state.facet(aI)){let o=r(n);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(s=Math.max(s,o.top)),o.bottom!=null&&(i=Math.max(i,o.bottom)))}return{left:e,right:t,top:s,bottom:i}}const nd=Ae.define();class ii{constructor(e,t,s,i){this.fromA=e,this.toA=t,this.fromB=s,this.toB=i}join(e){return new ii(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,s=this;for(;t>0;t--){let i=e[t-1];if(!(i.fromA>s.toA)){if(i.toAi.push(new ii(r,o,a,l))),this.changedRanges=i}static create(e,t,s){return new Bg(e,t,s)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}const q6=[];class Gt{constructor(e,t,s=0){this.dom=e,this.length=t,this.flags=s,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return q6}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&x6(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let s=t;for(let i of this.children){if(i==e)return s;s+=i.length+i.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,s){return null}domPosFor(e,t){let s=ua(this.dom),i=this.length?e>0:t>0;return new Ni(this.parent.dom,s+(i?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof h0)return e;return null}static get(e){return e.cmTile}}class c0 extends Gt{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,s=null,i,r=(e==null?void 0:e.node)==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,i=s?s.nextSibling:t.firstChild,r&&i!=a.dom&&(r.written=!0),a.dom.parentNode==t)for(;i&&i!=a.dom;)i=jx(i);else t.insertBefore(a.dom,i);s=a.dom}for(i=s?s.nextSibling:t.firstChild,r&&i&&(r.written=!0);i;)i=jx(i);this.length=o}}function jx(n){let e=n.nextSibling;return n.parentNode.removeChild(n),e}class h0 extends c0{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=Gt.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],s=this,i=0,r=0;;)if(i==s.children.length){if(!t.length)return;s=s.parent,s.breakAfter&&r++,i=t.pop()}else{let o=s.children[i++];if(o instanceof oo)t.push(i),s=o,i=0;else{let a=r+o.length,l=e(o,r);if(l!==void 0)return l;r=a+o.breakAfter}}}resolveBlock(e,t){let s,i=-1,r,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(s=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!r||!a.isWidget()&&r.isWidget())&&(r=a,o=e-l)}}),!s&&!r)throw new Error("No tile at position "+e);return s&&t<0||!r?{tile:s,offset:i}:{tile:r,offset:o}}}class oo extends c0{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let s=new oo(t||document.createElement(e.tagName),e);return t||(s.flags|=4),s}}class su extends c0{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,s){let i=new su(t||document.createElement("div"),e);return(!t||!s)&&(i.flags|=4),i}get domAttrs(){return this.attrs}resolveInline(e,t,s){let i=null,r=-1,o=null,a=-1;function l(h,u){for(let d=0,p=0;d=u&&(m.isComposite()?l(m,u-p):(!o||o.isHidden&&(t>0&&!(o.flags&32)||s&&V6(o,m)))&&(g>u||m.flags&32&&t<=1)?(o=m,a=u-p):(p=-1)&&(i=m,r=u-p)),p=g}}l(this,e);let c=(t<0?i:o)||i||o;return c?{tile:c,offset:c==i?r:a}:null}coordsIn(e,t,s){let i=this.resolveInline(e,t,!0);return i?i.tile.coordsIn(Math.max(0,i.offset),t,s):U6(this)}domIn(e,t){let s=this.resolveInline(e,t);if(s){let{tile:i,offset:r}=s;if(this.dom.contains(i.dom))return i.isText()?new Ni(i.dom,Math.min(i.dom.nodeValue.length,r)):i.domPosFor(r,i.flags&16?1:i.flags&32?-1:t);let o=s.tile.parent,a=!1;for(let l of o.children){if(a)return new Ni(l.dom,0);l==s.tile&&(a=!0)}}return new Ni(this.dom,0)}}function U6(n){let e=n.dom.lastChild;if(!e)return n.dom.getBoundingClientRect();let t=lg(e);return t[t.length-1]||null}function V6(n,e){let t=n.coordsIn(0,1),s=e.coordsIn(0,1);return t&&s&&s.topi&&(e=i);let r=e,o=e,a=0;e==0&&t<0||e==i&&t>=0?ge.chrome||ge.gecko||(e?(r--,a=1):o=0)?0:l.length-1];return ge.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),s==null?c:Hg(c,(a?a>0:t<0)==s)}static of(e,t){let s=new Wa(t||document.createTextNode(e),e);return t||(s.flags|=2),s}}class ic extends Gt{constructor(e,t,s,i){super(e,t,i),this.widget=s}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,s){let i=this.widget.coordsAt(this.dom,e,t);if(i)return i;if(s)return Hg(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let r=this.dom.getClientRects(),o=null;if(!r.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?r.length-1:0;o=r[l],!(e>0?l==0:l==r.length-1||o.top0==s)}}class W6{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,s){let{tile:i,index:r,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(i.isComposite())if(o){if(!e)break;s&&s.break(),e--,o=!1}else if(r==i.children.length){if(!e&&!a.length)break;s&&s.leave(i),o=!!i.breakAfter,{tile:i,index:r}=a.pop(),r++}else{let l=i.children[r],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=i.lastChild;if(c instanceof As&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(G0(l.dom)),i=c;else{if(this.cache.reused.get(l)){let u=Gt.get(l.dom);u&&u.setDOM(G0(l.dom))}let h=As.of(l.mark,l.dom);i.append(h),i=h}this.cache.reused.set(l,2)}let r=Gt.get(e.text);r&&this.cache.reused.set(r,2);let o=new Wa(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,i.append(o)}addInlineWidget(e,t,s){let i=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);i||this.flushBuffer();let r=this.ensureMarks(t,s);!i&&!(e.flags&16)&&r.append(this.getBuffer(1)),r.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,s){this.flushBuffer(),this.ensureMarks(t,s).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var s;e||(e=cI);let i=su.start(e,t||((s=this.cache.find(su))===null||s===void 0?void 0:s.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=i)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var s;let i=this.curLine;for(let r=e.length-1;r>=0;r--){let o=e[r],a;if(t>0&&(a=i.lastChild)&&a instanceof As&&a.mark.eq(o))i=a,t--;else{let l=As.of(o,(s=this.cache.find(As,c=>c.mark.eq(o)))===null||s===void 0?void 0:s.dom);i.append(l),i=l,t=0}}return i}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!zx(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(ge.ios&&zx(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(K0,0,32)||new ic(K0.toDOM(),0,K0,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,s=new G6(e.from,e.to,e.value,t),i=this.wrappers.length;for(;i>0&&(this.wrappers[i-1].rank-s.rank||this.wrappers[i-1].to-s.to)<0;)i--;this.wrappers.splice(i,0,s)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let s of this.wrappers){let i=t.lastChild;if(s.fromo.wrapper.eq(s.wrapper)))===null||e===void 0?void 0:e.dom);t.append(r),t=r}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),s=this.cache.find(qg,void 0,1);return s&&(s.flags=t),s||new qg(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class Z6{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:i,lineBreak:r,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=i;let a=this.textOff=Math.min(e,i.length);return r?null:i.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),s=this.text.slice(this.textOff,t);return this.textOff=t,s}}const Ug=[ic,su,Wa,As,qg,oo,h0];for(let n=0;n[]),this.index=Ug.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,s=this.buckets[t];s.length<6?s.push(e):s[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,s=2){let i=e.bucket,r=this.buckets[i],o=this.index[i];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let s=t&&this.getCompositionContext(t.text);for(let i=0,r=0,o=0;;){let a=oi){let c=l-i;this.preserve(c,!o,!a),i=l,r+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof As&&i.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?i.length&&(i.length=r=0):o instanceof As&&(i.shift(),r=Math.min(r,i.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let s=null,i=this.builder,r=-1,o=rt.spans(this.decorations,e,t,{point:(a,l,c,h,u,d)=>{if(c instanceof nc){if(this.disallowBlockEffectsFor[d]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(r=h.length,u>h.length)i.continueWidget(l-a);else{let p=c.widget||(c.block?iu.block:iu.inline),m=J6(c),g=this.cache.findWidget(p,l-a,m)||ic.of(p,this.view,l-a,m);c.block?(c.startSide>0&&i.addLineStartIfNotCovered(s),i.addBlockWidget(g)):(i.ensureLine(s),i.addInlineWidget(g,h,u))}s=null}else s=Q6(s,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let u=a;u-1&&(this.openWidget=o>r),this.openWidget||i.addLineStartIfNotCovered(s),this.openMarks=o}forward(e,t,s=1){t-e<=10?this.old.advance(t-e,s,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,s,this.reuseWalker))}getCompositionContext(e){let t=[],s=null;for(let i=e.parentNode;;i=i.parentNode){let r=Gt.get(i);if(i==this.view.contentDOM)break;r instanceof As?t.push(r):r!=null&&r.isLine()?s=r:r instanceof oo||(i.nodeName=="DIV"&&!s&&i!=this.view.contentDOM?s=new su(i,cI):s||t.push(As.of(new kp({tagName:i.nodeName.toLowerCase(),attributes:E6(i)}),i)))}return{line:s,marks:t}}}function zx(n,e){let t=s=>{for(let i of s.children)if((e?i.isText():i.length)||t(i))return!0;return!1};return t(n)}function J6(n){let e=n.isReplace?(n.startSide<0?64:0)|(n.endSide>0?128:0):n.startSide>0?32:16;return n.block&&(e|=256),e}const cI={class:"cm-line"};function Q6(n,e){let t=e.spec.attributes,s=e.spec.class;return!t&&!s||(n||(n={class:"cm-line"}),t&&B1(t,n),s&&(n.class+=" "+s)),n}function eZ(n){let e=[];for(let t=n.parents.length;t>1;t--){let s=t==n.parents.length?n.tile:n.parents[t].tile;s instanceof As&&e.push(s.mark)}return e}function G0(n){let e=Gt.get(n);return e&&e.setDOM(n.cloneNode()),n}class iu extends a0{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}iu.inline=new iu("span");iu.block=new iu("div");const K0=new class extends a0{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class Hx{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=et.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new h0(e,e.contentDOM),this.updateInner([new ii(0,0,0,e.state.doc.length)],null)}update(e){var t;let s=e.changedRanges;this.minWidth>0&&s.length&&(s.every(({fromA:h,toA:u})=>uthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let i=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?i=this.domChanged.newSel.head:!cZ(e.changes,this.hasComposition)&&!e.selectionSet&&(i=e.state.selection.main.head));let r=i>-1?nZ(this.view,e.changes,i):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:u}=this.hasComposition;s=new ii(h,u,e.changes.mapPos(h,-1),e.changes.mapPos(u,1)).addToSet(s.slice())}this.hasComposition=r?{from:r.range.fromB,to:r.range.toB}:null,(ge.ie||ge.chrome)&&!r&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=rZ(o,this.decorations,e.changes);l.length&&(s=ii.extendWithRanges(s,l));let c=aZ(a,this.blockWrappers,e.changes);return c.length&&(s=ii.extendWithRanges(s,c)),r&&!s.some(h=>h.fromA<=r.range.fromA&&h.toA>=r.range.toA)&&(s=r.range.addToSet(s.slice())),this.tile.flags&2&&s.length==0?!1:(this.updateInner(s,r),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:s}=this.view;s.ignore(()=>{if(t||e.length){let o=this.tile,a=new Y6(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&Gt.get(t.text)&&a.cache.reused.set(Gt.get(t.text),2),this.tile=a.run(e,t),zw(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let r=ge.chrome||ge.ios?{node:s.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(r),r&&(r.written||s.selectionRange.focusNode!=r.node||!this.tile.dom.contains(r.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let i=[];if(this.view.viewport.from||this.view.viewport.to-1)&&bd(s,this.view.observer.selectionRange)&&!(i&&s.contains(i));if(!(r||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),ge.gecko&&l.empty&&!this.hasComposition&&tZ(c)){let d=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(d,c.node.childNodes[c.offset]||null)),c=h=new Ni(d,0),a=!0}let u=this.view.observer.selectionRange;(a||!u.focusNode||(!wd(c.node,c.offset,u.anchorNode,u.anchorOffset)||!wd(h.node,h.offset,u.focusNode,u.focusOffset))&&!this.suppressWidgetCursorChange(u,l))&&(this.view.observer.ignore(()=>{ge.android&&ge.chrome&&s.contains(u.focusNode)&&lZ(u.focusNode,s)&&(s.blur(),s.focus({preventScroll:!0}));let d=Ld(this.view.root);if(d)if(l.empty){if(ge.gecko){let p=sZ(c.node,c.offset);if(p&&p!=3){let m=(p==1?HM:BM)(c.node,c.offset);m&&(c=new Ni(m.node,m.offset))}}d.collapse(c.node,c.offset),l.bidiLevel!=null&&d.caretBidiLevel!==void 0&&(d.caretBidiLevel=l.bidiLevel)}else if(d.extend){d.collapse(c.node,c.offset);try{d.extend(h.node,h.offset)}catch{}}else{let p=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),p.setEnd(h.node,h.offset),p.setStart(c.node,c.offset),d.removeAllRanges(),d.addRange(p)}o&&this.view.root.activeElement==s&&(s.blur(),i&&i.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Ni(u.anchorNode,u.anchorOffset),this.impreciseHead=h.precise?null:new Ni(u.focusNode,u.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&wd(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,s=Ld(e.root),{anchorNode:i,anchorOffset:r}=e.observer.selectionRange;if(!s||!t.empty||!t.assoc||!s.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);s.collapse(h.node,h.offset),s.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let u=e.observer.selectionRange;e.docView.posFromDOM(u.anchorNode,u.anchorOffset)!=t.from&&s.collapse(i,r)}posFromDOM(e,t){let s=this.tile.nearest(e);if(!s)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let i=s.posAtStart;if(s.isComposite()){let r;if(e==s.dom)r=s.dom.childNodes[t];else{let o=co(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==s.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?r=e:r=e.nextSibling}if(r==s.dom.firstChild)return i;for(;r&&!Gt.get(r);)r=r.nextSibling;if(!r)return i+s.length;for(let o=0,a=i;;o++){let l=s.children[o];if(l.dom==r)return a;a+=l.length+l.breakAfter}}else return s.isText()?e==s.dom?i+t:i+(t?s.length:0):i}domAtPos(e,t){let{tile:s,offset:i}=this.tile.resolveBlock(e,t);return s.isWidget()?s.domPosFor(i,t):s.domIn(i,t)}inlineDOMNearPos(e,t){let s,i=-1,r=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(r=!0)}else{let u=h+c.length;if(h<=e&&(s=c,i=e-h,r=u=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!s&&!o?this.domAtPos(e,t):(r&&o?s=null:l&&s&&(o=null),s&&t<0||!o?s.domIn(i,t):o.domIn(a,t))}coordsAt(e,t,s){let{tile:i,offset:r}=this.tile.resolveBlock(e,t);return i.isWidget()?i.widget instanceof Z0?null:i.coordsInWidget(r,t,!0):i.coordsIn(r,t,s)}lineAt(e,t){let{tile:s}=this.tile.resolveBlock(e,t);return s.isLine()?s:null}coordsForChar(e){let{tile:t,offset:s}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function i(r,o){if(r.isComposite())for(let a of r.children){if(a.length>=o){let l=i(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(r.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==Lt.LTR,c=0,h=(u,d,p)=>{for(let m=0;mi);m++){let g=u.children[m],v=d+g.length,y=g.dom.getBoundingClientRect(),{height:b}=y;if(p&&!m&&(c+=y.top-p.top),g instanceof oo)v>s&&h(g,d,y);else if(d>=s&&(c>0&&t.push(-c),t.push(b+c),c=0,o)){let _=g.dom.lastChild,S=_?lg(_):[];if(S.length){let A=S[S.length-1],E=l?A.right-y.left:y.right-A.left;E>a&&(a=E,this.minWidth=r,this.minWidthFrom=d,this.minWidthTo=v)}}p&&m==u.children.length-1&&(c+=p.bottom-y.bottom),d=v+g.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?Lt.RTL:Lt.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=lg(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),s,i,r;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=lg(t.firstChild)[0];s=t.getBoundingClientRect().height,i=o&&o.width?o.width/27:7,r=o&&o.height?o.height:s,t.remove()}),{lineHeight:s,charWidth:i,textHeight:r}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let s=0,i=0;;i++){let r=i==t.viewports.length?null:t.viewports[i],o=r?r.from-1:this.view.state.doc.length;if(o>s){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(s).top)/this.view.scaleY;e.push(et.replace({widget:new Z0(a),block:!0,inclusive:!0,isBlockGap:!0}).range(s,o))}if(!r)break;s=r.to+1}return et.set(e)}updateDeco(){let e=1,t=this.view.state.facet(l0).map(r=>(this.dynamicDecorationMap[e++]=typeof r=="function")?r(this.view):r),s=!1,i=this.view.state.facet(K1).map((r,o)=>{let a=typeof r=="function";return a&&(s=!0),a?r(this.view):r});for(i.length&&(this.dynamicDecorationMap[e++]=s,t.push(rt.join(i))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof r=="function"?r(this.view):r)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(nI))try{if(c(this.view,e.range,e))return!0}catch(h){gr(this.view.state,h,"scroll handler")}let{range:t}=e,s=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),i;if(!s)return;!t.empty&&(i=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(s={left:Math.min(s.left,i.left),top:Math.min(s.top,i.top),right:Math.max(s.right,i.right),bottom:Math.max(s.bottom,i.bottom)});let r=lI(this.view),o={left:s.left-r.left,top:s.top-r.top,right:s.right+r.right,bottom:s.bottom+r.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if(T6(this.view.scrollDOM,o,t.head1&&(s.top>window.visualViewport.offsetTop+window.visualViewport.height||s.bottoms.isWidget()||s.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){zw(this.tile)}}function zw(n,e){let t=e==null?void 0:e.get(n);if(t!=1){t==null&&n.destroy();for(let s of n.children)zw(s,e)}}function tZ(n){return n.node.nodeType==1&&n.node.firstChild&&(n.offset==0||n.node.childNodes[n.offset-1].contentEditable=="false")&&(n.offset==n.node.childNodes.length||n.node.childNodes[n.offset].contentEditable=="false")}function hI(n,e){let t=n.observer.selectionRange;if(!t.focusNode)return null;let s=HM(t.focusNode,t.focusOffset),i=BM(t.focusNode,t.focusOffset),r=s||i;if(i&&s&&i.node!=s.node){let a=Gt.get(i.node);if(!a||a.isText()&&a.text!=i.node.nodeValue)r=i;else if(n.docView.lastCompositionAfterCursor){let l=Gt.get(s.node);!l||l.isText()&&l.text!=s.node.nodeValue||(r=i)}}if(n.docView.lastCompositionAfterCursor=r!=s,!r)return null;let o=e-r.offset;return{from:o,to:o+r.node.nodeValue.length,node:r.node}}function nZ(n,e,t){let s=hI(n,t);if(!s)return null;let{node:i,from:r,to:o}=s,a=i.nodeValue;if(/[\n\r]/.test(a)||n.state.doc.sliceString(s.from,s.to)!=a)return null;let l=e.invertedDesc;return{range:new ii(l.mapPos(r),l.mapPos(o),r,o),text:i}}function sZ(n,e){return n.nodeType!=1?0:(e&&n.childNodes[e-1].contentEditable=="false"?1:0)|(e{se.from&&(t=!0)}),t}class Z0 extends a0{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function hZ(n,e,t=1){let s=n.charCategorizer(e),i=n.doc.lineAt(e),r=e-i.from;if(i.length==0)return re.cursor(e);r==0?t=1:r==i.length&&(t=-1);let o=r,a=r;t<0?o=xn(i.text,r,!1):a=xn(i.text,r);let l=s(i.text.slice(o,a));for(;o>0;){let c=xn(i.text,o,!1);if(s(i.text.slice(c,o))!=l)break;o=c}for(;an.defaultLineHeight*1.5){let a=n.viewState.heightOracle.textHeight,l=Math.floor((i-t.top-(n.defaultLineHeight-a)*.5)/a);r+=l*n.viewState.heightOracle.lineLength}let o=n.state.sliceDoc(t.from,t.to);return t.from+w6(o,r,n.state.tabSize)}function Hw(n,e,t){let s=n.lineBlockAt(e);if(Array.isArray(s.type)){let i;for(let r of s.type){if(r.from>e)break;if(!(r.toe)return r;(!i||r.type==zn.Text&&(i.type!=r.type||(t<0?r.frome)))&&(i=r)}}return i||s}return s}function dZ(n,e,t,s){let i=Hw(n,e.head,e.assoc||-1),r=!s||i.type!=zn.Text||!(n.lineWrapping||i.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>i.from?e.head-1:e.head);if(r){let o=n.dom.getBoundingClientRect(),a=n.textDirectionAt(i.from),l=n.posAtCoords({x:t==(a==Lt.LTR)?o.right-1:o.left+1,y:(r.top+r.bottom)/2});if(l!=null)return re.cursor(l,t?-1:1)}return re.cursor(t?i.to:i.from,t?-1:1)}function Bx(n,e,t,s){let i=n.state.doc.lineAt(e.head),r=n.bidiSpans(i),o=n.textDirectionAt(i.from);for(let a=e,l=null;;){let c=z6(i,r,o,a,t),h=GM;if(!c){if(i.number==(t?n.state.doc.lines:1))return a;h=` +`,i=n.state.doc.line(i.number+(t?1:-1)),r=n.bidiSpans(i),c=n.visualLineSide(i,!t)}if(l){if(!l(h))return a}else{if(!s)return c;l=s(h)}a=c}}function fZ(n,e,t){let s=n.state.charCategorizer(e),i=s(t);return r=>{let o=s(r);return i==Qt.Space&&(i=o),i==o}}function pZ(n,e,t,s){let i=e.head,r=t?1:-1;if(i==(t?n.state.doc.length:0))return re.cursor(i,e.assoc);let o=e.goalColumn,a,l=n.contentDOM.getBoundingClientRect(),c=n.coordsAtPos(i,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=n.documentTop;if(c)o==null&&(o=c.left-l.left),a=r<0?c.top:c.bottom;else{let m=n.viewState.lineBlockAt(i);o==null&&(o=Math.min(l.right-l.left,n.defaultCharacterWidth*(i-m.from))),a=(r<0?m.top:m.bottom)+h}let u=l.left+o,d=n.viewState.heightOracle.textHeight>>1,p=s??d;for(let m=0;;m+=d){let g=a+(p+m)*r,v=Bw(n,{x:u,y:g},!1,r);if(t?g>l.bottom:ga:b{if(e>r&&ei(n)),t.from,e.head>t.from?-1:1);return s==t.from?t:re.cursor(s,sn.viewState.docHeight)return new fr(n.state.doc.length,-1);if(c=n.elementAtHeight(l),s==null)break;if(c.type==zn.Text){if(s<0?c.ton.viewport.to)break;let d=n.docView.coordsAt(s<0?c.from:c.to,s>0?-1:1);if(d&&(s<0?d.top<=l+r:d.bottom>=l+r))break}let u=n.viewState.heightOracle.textHeight/2;l=s>0?c.bottom+u:c.top-u}if(n.viewport.from>=c.to||n.viewport.to<=c.from){if(t)return null;if(c.type==zn.Text){let u=uZ(n,i,c,o,a);return new fr(u,u==c.from?1:-1)}}if(c.type!=zn.Text)return l<(c.top+c.bottom)/2?new fr(c.from,1):new fr(c.to,-1);let h=n.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=n.docView.lineAt(c.from,-2)),new mZ(n,o,a,n.textDirectionAt(c.from)).scanTile(h,c.from)}class mZ{constructor(e,t,s,i){this.view=e,this.x=t,this.y=s,this.baseDir=i,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||s.length&&(s[0].level!=this.baseDir||s[0].to+i.from>1;t:if(o.has(g)){for(let b=1;b=r&&(_-=m),!o.has(_)){g=_;break t}}break e}o.add(g);let v=t(g),y=0;if(v)for(let b=0;b1))if(_.bottomthis.y)(!c||c.top>_.top)&&(c=_),y=-1;else{let S=_.left>this.x?this.x-_.left:_.right(m+m+g)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(m+g+g)/3)return this.y=c.top+1,this.scan(e,t,!0)}let p=(a?this.dirAt(e[h],1):this.baseDir)==Lt.LTR;return{i:h,after:this.x>(d.left+d.right)/2==p}}scanText(e,t){let s=[];for(let r=0;r{let o=s[r]-t,a=s[r+1]-t;return Dd(e.dom,o,a).getClientRects()});return i.after?new fr(s[i.i+1],-1):new fr(s[i.i],1)}scanTile(e,t){if(!e.length)return new fr(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let s=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:Dd(l.dom,0,l.length)).getClientRects()}),r=e.children[i.i],o=s[i.i];return r.isText()?this.scanText(r,o):r.isComposite()?this.scanTile(r,o):i.after?new fr(s[i.i+1],-1):new fr(o,1)}}const Tc="￿";class gZ{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(at.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=Tc}readRange(e,t){if(!e)return this;let s=e.parentNode;for(let i=e;;){this.findPointBefore(s,i);let r=this.text.length;this.readNode(i);let o=Gt.get(i),a=i.nextSibling;if(a==t){o!=null&&o.breakAfter&&!a&&s!=this.view.contentDOM&&this.lineBreak();break}let l=Gt.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:zg(i))||zg(a)&&(i.nodeName!="BR"||o!=null&&o.isWidget())&&this.text.length>r)&&!vZ(a,t)&&this.lineBreak(),i=a}return this.findPointBefore(s,t),this}readTextNode(e){let t=e.nodeValue;for(let s of this.points)s.node==e&&(s.pos=this.text.length+Math.min(s.offset,t.length));for(let s=0,i=this.lineSeparator?null:/\r\n?|\n/g;;){let r=-1,o=1,a;if(this.lineSeparator?(r=t.indexOf(this.lineSeparator,s),o=this.lineSeparator.length):(a=i.exec(t))&&(r=a.index,o=a[0].length),this.append(t.slice(s,r<0?t.length:r)),r<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);s=r+o}}readNode(e){let t=Gt.get(e),s=t&&t.overrideDOMText;if(s!=null){this.findPointInside(e,s.length);for(let i=s.iter();!i.next().done;)i.lineBreak?this.lineBreak():this.append(i.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let s of this.points)s.node==e&&e.childNodes[s.offset]==t&&(s.pos=this.text.length)}findPointInside(e,t){for(let s of this.points)(e.nodeType==3?s.node==e:e.contains(s.node))&&(s.pos=this.text.length+(yZ(e,s.node,s.offset)?t:0))}}function yZ(n,e,t){for(;;){if(!e||t-1;let{impreciseHead:r,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=dI(e.docView.tile,t,s,0))){let l=r||o?[]:_Z(e),c=new gZ(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=SZ(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=r&&r.node==l.focusNode&&r.offset==l.focusOffset||!Nw(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!Nw(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),u=e.viewport;if((ge.ios||ge.chrome)&&c!=h&&Math.min(c,h)<=a.main.from&&Math.max(c,h)>=a.main.to&&(u.from>0||u.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(re.range(h,c));else if(e.lineWrapping&&h==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let d=e.coordsAtPos(c,-1),p=0;d&&(p=e.inputState.lastTouchY<=d.bottom?-1:1),this.newSel=re.create([re.cursor(c,p)])}else this.newSel=re.single(h,c)}}}function dI(n,e,t,s){if(n.isComposite()){let i=-1,r=-1,o=-1,a=-1;for(let l=0,c=s,h=s;lt)return dI(u,e,t,c);if(d>=e&&i==-1&&(i=l,r=c),c>t&&u.dom.parentNode==n.dom){o=l,a=h;break}h=d,c=d+u.breakAfter}return{from:r,to:a<0?s+n.length:a,startDOM:(i?n.children[i-1].dom.nextSibling:null)||n.dom.firstChild,endDOM:o=0?n.children[o].dom:null}}else return n.isText()?{from:s,to:s+n.length,startDOM:n.dom,endDOM:n.dom.nextSibling}:null}function fI(n,e){let t,{newSel:s}=e,{state:i}=n,r=i.selection.main,o=n.inputState.lastKeyTime>Date.now()-100?n.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=r.from,h=null;(o===8||ge.android&&e.text.length=a&&r.to<=l&&(e.typeOver||u!=e.text)&&u.slice(0,r.from-a)==e.text.slice(0,r.from-a)&&u.slice(r.to-a)==e.text.slice(d=e.text.length-(u.length-(r.to-a)))?t={from:r.from,to:r.to,insert:lt.of(e.text.slice(r.from-a,d).split(Tc))}:(p=pI(u,e.text,c-a,h))&&(ge.chrome&&o==13&&p.toB==p.from+2&&e.text.slice(p.from,p.toB)==Tc+Tc&&p.toB--,t={from:a+p.from,to:a+p.toA,insert:lt.of(e.text.slice(p.from,p.toB).split(Tc))})}else s&&(!n.hasFocus&&i.facet(to)||Vg(s,r))&&(s=null);if(!t&&!s)return!1;if((ge.mac||ge.android)&&t&&t.from==t.to&&t.from==r.head-1&&/^\. ?$/.test(t.insert.toString())&&n.contentDOM.getAttribute("autocorrect")=="off"?(s&&t.insert.length==2&&(s=re.single(s.main.anchor-1,s.main.head-1)),t={from:t.from,to:t.to,insert:lt.of([t.insert.toString().replace("."," ")])}):i.doc.lineAt(r.from).toDate.now()-50?t={from:r.from,to:r.to,insert:i.toText(n.inputState.insertingText)}:ge.chrome&&t&&t.from==t.to&&t.from==r.head&&t.insert.toString()==` + `&&n.lineWrapping&&(s&&(s=re.single(s.main.anchor-1,s.main.head-1)),t={from:r.from,to:r.to,insert:lt.of([" "])}),t)return Z1(n,t,s,o);if(s&&!Vg(s,r)){let a=!1,l="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(a=!0),l=n.inputState.lastSelectionOrigin,l=="select.pointer"&&(s=uI(i.facet(xp).map(c=>c(n)),s))),n.dispatch({selection:s,scrollIntoView:a,userEvent:l}),!0}else return!1}function Z1(n,e,t,s=-1){if(ge.ios&&n.inputState.flushIOSKey(e))return!0;let i=n.state.selection.main;if(ge.android&&(e.to==i.to&&(e.from==i.from||e.from==i.from-1&&n.state.sliceDoc(e.from,i.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Kc(n.contentDOM,"Enter",13)||(e.from==i.from-1&&e.to==i.to&&e.insert.length==0||s==8&&e.insert.lengthi.head)&&Kc(n.contentDOM,"Backspace",8)||e.from==i.from&&e.to==i.to+1&&e.insert.length==0&&Kc(n.contentDOM,"Delete",46)))return!0;let r=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let o,a=()=>o||(o=wZ(n,e,t));return n.state.facet(JM).some(l=>l(n,e.from,e.to,r,a))||n.dispatch(a()),!0}function wZ(n,e,t){let s,i=n.state,r=i.selection.main,o=-1;if(e.from==e.to&&e.fromr.to){let l=e.fromu(n)),c,l);e.from==h&&(o=h)}if(o>-1)s={changes:e,selection:re.cursor(e.from+e.insert.length,-1)};else if(e.from>=r.from&&e.to<=r.to&&e.to-e.from>=(r.to-r.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&n.inputState.composing<0){let l=r.frome.to?i.sliceDoc(e.to,r.to):"";s=i.replaceSelection(n.state.toText(l+e.insert.sliceString(0,void 0,n.state.lineBreak)+c))}else{let l=i.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(i.selection.ranges.length>1&&(n.inputState.composing>=0||n.inputState.compositionPendingChange)&&e.to<=r.to+10&&e.to>=r.to-10){let h=n.state.sliceDoc(e.from,e.to),u,d=t&&hI(n,t.main.head);if(d){let m=e.insert.length-(e.to-e.from);u={from:d.from,to:d.to-m}}else u=n.state.doc.lineAt(r.head);let p=r.to-e.to;s=i.changeByRange(m=>{if(m.from==r.from&&m.to==r.to)return{changes:l,range:c||m.map(l)};let g=m.to-p,v=g-h.length;if(n.state.sliceDoc(v,g)!=h||g>=u.from&&v<=u.to)return{range:m};let y=i.changes({from:v,to:g,insert:e.insert}),b=m.to-r.to;return{changes:y,range:c?re.range(Math.max(0,c.anchor+b),Math.max(0,c.head+b)):m.map(y)}})}else s={changes:l,selection:c&&i.selection.replaceRange(c)}}let a="input.type";return(n.composing||n.inputState.compositionPendingChange&&n.inputState.compositionEndedAt>Date.now()-50)&&(n.inputState.compositionPendingChange=!1,a+=".compose",n.inputState.compositionFirstChange&&(a+=".start",n.inputState.compositionFirstChange=!1)),i.update(s,{userEvent:a,scrollIntoView:!0})}function pI(n,e,t,s){let i=Math.min(n.length,e.length),r=0;for(;r0&&a>0&&n.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(s=="end"){let l=Math.max(0,r-Math.min(o,a));t-=o+l-r}if(o=o?r-t:0;r-=l,a=r+(a-o),o=r}else if(a=a?r-t:0;r-=l,o=r+(o-a),a=r}return{from:r,toA:o,toB:a}}function _Z(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:s,focusNode:i,focusOffset:r}=n.observer.selectionRange;return t&&(e.push(new qx(t,s)),(i!=t||r!=s)&&e.push(new qx(i,r))),e}function SZ(n,e){if(n.length==0)return null;let t=n[0].pos,s=n.length==2?n[1].pos:t;return t>-1&&s>-1?re.single(t+e,s+e):null}function Vg(n,e){return e.head==n.main.head&&e.anchor==n.main.anchor}class kZ{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,ge.safari&&e.contentDOM.addEventListener("input",()=>null),ge.gecko&&jZ(e.contentDOM.ownerDocument)}handleEvent(e){!MZ(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let s=this.handlers[e];if(s){for(let i of s.observers)i(this.view,t);for(let i of s.handlers){if(t.defaultPrevented)break;if(i(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=xZ(e),s=this.handlers,i=this.view.contentDOM;for(let r in t)if(r!="scroll"){let o=!t[r].handlers.length,a=s[r];a&&o!=!a.handlers.length&&(i.removeEventListener(r,this.handleEvent),a=null),a||i.addEventListener(r,this.handleEvent,{passive:o})}for(let r in s)r!="scroll"&&!t[r]&&i.removeEventListener(r,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&gI.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),ge.android&&ge.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(ge.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(mI.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||EZ.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&ge.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&AZ(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:ge.safari&&!ge.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function AZ(n){return n.visualViewport?n.visualViewport.height*n.visualViewport.scale/n.document.documentElement.clientHeight<.85:!1}function Ux(n,e){return(t,s)=>{try{return e.call(n,s,t)}catch(i){gr(t.state,i)}}}function xZ(n){let e=Object.create(null);function t(s){return e[s]||(e[s]={observers:[],handlers:[]})}for(let s of n){let i=s.spec,r=i&&i.plugin.domEventHandlers,o=i&&i.plugin.domEventObservers;if(r)for(let a in r){let l=r[a];l&&t(a).handlers.push(Ux(s.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Ux(s.value,l))}}for(let s in Fi)t(s).handlers.push(Fi[s]);for(let s in fs)t(s).observers.push(fs[s]);return e}const mI=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],EZ="dthko",gI=[16,17,18,20,91,92,224,225],sm=6;function im(n){return Math.max(0,n)*.7+8}function CZ(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}class $Z{constructor(e,t,s,i){this.view=e,this.startEvent=t,this.style=s,this.mustSelect=i,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=LM(e.contentDOM),this.atoms=e.state.facet(xp).map(o=>o(e));let r=e.contentDOM.ownerDocument;r.addEventListener("mousemove",this.move=this.move.bind(this)),r.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(at.allowMultipleSelections)&&TZ(e,t),this.dragging=RZ(e,t)&&bI(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&CZ(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,s=0,i=0,r=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:i,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:r,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=lI(this.view);e.clientX-l.left<=i+sm?t=-im(i-e.clientX):e.clientX+l.right>=o-sm&&(t=im(e.clientX-o)),e.clientY-l.top<=r+sm?s=-im(r-e.clientY):e.clientY+l.bottom>=a-sm&&(s=im(e.clientY-a)),this.setScrollSpeed(t,s)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,s=uI(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!s.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:s,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function TZ(n,e){let t=n.state.facet(KM);return t.length?t[0](e):ge.mac?e.metaKey:e.ctrlKey}function PZ(n,e){let t=n.state.facet(ZM);return t.length?t[0](e):ge.mac?!e.altKey:!e.ctrlKey}function RZ(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let s=Ld(n.root);if(!s||s.rangeCount==0)return!0;let i=s.getRangeAt(0).getClientRects();for(let r=0;r=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function MZ(n,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,s;t!=n.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(s=Gt.get(t))&&s.isWidget()&&!s.isHidden&&s.widget.ignoreEvent(e))return!1;return!0}const Fi=Object.create(null),fs=Object.create(null),yI=ge.ie&&ge.ie_version<15||ge.ios&&ge.webkit_version<604;function IZ(n){let e=n.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{n.focus(),t.remove(),vI(n,t.value)},50)}function u0(n,e,t){for(let s of n.facet(e))t=s(t,n);return t}function vI(n,e){e=u0(n.state,V1,e);let{state:t}=n,s,i=1,r=t.toText(e),o=r.lines==t.selection.ranges.length;if(qw!=null&&t.selection.ranges.every(l=>l.empty)&&qw==r.toString()){let l=-1;s=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let u=t.toText((o?r.line(i++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:u},range:re.cursor(c.from+u.length)}})}else o?s=t.changeByRange(l=>{let c=r.line(i++);return{changes:{from:l.from,to:l.to,insert:c.text},range:re.cursor(l.from+c.length)}}):s=t.replaceSelection(r);n.dispatch(s,{userEvent:"input.paste",scrollIntoView:!0})}fs.scroll=n=>{let e=n.inputState;e.lastScrollTop=n.scrollDOM.scrollTop,e.lastScrollLeft=n.scrollDOM.scrollLeft,ge.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};fs.wheel=fs.mousewheel=n=>{n.inputState.lastWheelEvent=Date.now()};Fi.keydown=(n,e)=>(n.inputState.setSelectionOrigin("select"),e.keyCode==27&&n.inputState.tabFocusMode!=0&&(n.inputState.tabFocusMode=Date.now()+2e3),!1);fs.touchstart=(n,e)=>{let t=n.inputState,s=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),s&&(t.lastTouchX=s.clientX,t.lastTouchY=s.clientY),t.setSelectionOrigin("select.pointer")};fs.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};fs.touchend=(n,e)=>{n.inputState.touchActive=!1};Fi.mousedown=(n,e)=>{if(n.observer.flush(),n.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let s of n.state.facet(XM))if(t=s(n,e),t)break;if(!t&&e.button==0&&(t=NZ(n,e)),t){let s=!n.hasFocus;n.inputState.startMouseSelection(new $Z(n,e,t,s)),s&&n.observer.ignore(()=>{jM(n.contentDOM);let r=n.root.activeElement;r&&!r.contains(n.contentDOM)&&r.blur()});let i=n.inputState.mouseSelection;if(i)return i.start(e),i.dragging===!1}else n.inputState.setSelectionOrigin("select.pointer");return!1};function Vx(n,e,t,s){if(s==1)return re.cursor(e,t);if(s==2)return hZ(n.state,e,t);{let i=n.docView.lineAt(e,t),r=n.state.doc.lineAt(i?i.posAtEnd:e),o=i?i.posAtStart:r.from,a=i?i.posAtEnd:r.to;return aDate.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(Gx+1)%3:1}function NZ(n,e){let t=n.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),s=bI(e),i=n.state.selection;return{update(r){r.docChanged&&(t.pos=r.changes.mapPos(t.pos),i=i.map(r.changes))},get(r,o,a){let l=n.posAndSideAtCoords({x:r.clientX,y:r.clientY},!1),c,h=Vx(n,l.pos,l.assoc,s);if(t.pos!=l.pos&&!o){let u=Vx(n,t.pos,t.assoc,s),d=Math.min(u.from,h.from),p=Math.max(u.to,h.to);h=d1&&(c=LZ(i,l.pos))?c:a?i.addRange(h):re.create([h])}}}function LZ(n,e){for(let t=0;t=e)return re.create(n.ranges.slice(0,t).concat(n.ranges.slice(t+1)),n.mainIndex==t?0:n.mainIndex-(n.mainIndex>t?1:0))}return null}Fi.dragstart=(n,e)=>{let{selection:{main:t}}=n.state;if(e.target.draggable){let i=n.docView.tile.nearest(e.target);if(i&&i.isWidget()){let r=i.posAtStart,o=r+i.length;(r>=t.to||o<=t.from)&&(t=re.undirectionalRange(r,o))}}let{inputState:s}=n;return s.mouseSelection&&(s.mouseSelection.dragging=!0),s.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",u0(n.state,W1,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Fi.dragend=n=>(n.inputState.draggedContent=null,!1);function Zx(n,e,t,s){if(t=u0(n.state,V1,t),!t)return;let i=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:r}=n.inputState,o=s&&r&&PZ(n,e)?{from:r.from,to:r.to}:null,a={from:i,insert:t},l=n.state.changes(o?[o,a]:a);n.focus(),n.dispatch({changes:l,selection:{anchor:l.mapPos(i,-1),head:l.mapPos(i,1)},userEvent:o?"move.drop":"input.drop"}),n.inputState.draggedContent=null}Fi.drop=(n,e)=>{if(!e.dataTransfer)return!1;if(n.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let s=Array(t.length),i=0,r=()=>{++i==t.length&&Zx(n,e,s.filter(o=>o!=null).join(n.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(s[o]=a.result),r()},a.readAsText(t[o])}return!0}else{let s=e.dataTransfer.getData("Text");if(s)return Zx(n,e,s,!0),!0}return!1};Fi.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=yI?null:e.clipboardData;return t?(vI(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(IZ(n),!1)};function DZ(n,e){let t=n.dom.parentNode;if(!t)return;let s=t.appendChild(document.createElement("textarea"));s.style.cssText="position: fixed; left: -10000px; top: 10px",s.value=e,s.focus(),s.selectionEnd=e.length,s.selectionStart=0,setTimeout(()=>{s.remove(),n.focus()},50)}function FZ(n){let e=[],t=[],s=!1;for(let i of n.selection.ranges)i.empty||(e.push(n.sliceDoc(i.from,i.to)),t.push(i));if(!e.length){let i=-1;for(let{from:r}of n.selection.ranges){let o=n.doc.lineAt(r);o.number>i&&(e.push(o.text),t.push({from:o.from,to:Math.min(n.doc.length,o.to+1)})),i=o.number}s=!0}return{text:u0(n,W1,e.join(n.lineBreak)),ranges:t,linewise:s}}let qw=null;Fi.copy=Fi.cut=(n,e)=>{if(!bd(n.contentDOM,n.observer.selectionRange))return!1;let{text:t,ranges:s,linewise:i}=FZ(n.state);if(!t&&!i)return!1;qw=i?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:s,scrollIntoView:!0,userEvent:"delete.cut"});let r=yI?null:e.clipboardData;return r?(r.clearData(),r.setData("text/plain",t),!0):(DZ(n,t),!1)};const wI=ba.define();function _I(n,e){let t=[];for(let s of n.facet(QM)){let i=s(n,e);i&&t.push(i)}return t.length?n.update({effects:t,annotations:wI.of(!0)}):null}function SI(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=_I(n.state,e);t?n.dispatch(t):n.update([])}},10)}fs.focus=n=>{n.inputState.lastFocusTime=Date.now(),!n.scrollDOM.scrollTop&&(n.inputState.lastScrollTop||n.inputState.lastScrollLeft)&&(n.scrollDOM.scrollTop=n.inputState.lastScrollTop,n.scrollDOM.scrollLeft=n.inputState.lastScrollLeft),SI(n)};fs.blur=n=>{n.observer.clearSelectionRange(),SI(n)};fs.compositionstart=fs.compositionupdate=n=>{n.observer.editContext||(n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0&&(n.inputState.composing=0))};fs.compositionend=n=>{n.observer.editContext||(n.inputState.composing=-1,n.inputState.compositionEndedAt=Date.now(),n.inputState.compositionPendingKey=!0,n.inputState.compositionPendingChange=n.observer.pendingRecords().length>0,n.inputState.compositionFirstChange=null,ge.chrome&&ge.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50))};fs.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};Fi.beforeinput=(n,e)=>{var t,s;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(n.inputState.insertingText=e.data,n.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&n.observer.editContext){let r=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(r&&o.length){let a=o[0],l=n.posAtDOM(a.startContainer,a.startOffset),c=n.posAtDOM(a.endContainer,a.endOffset);return Z1(n,{from:l,to:c,insert:n.state.toText(r)},null),!0}}let i;if(ge.chrome&&ge.android&&(i=mI.find(r=>r.inputType==e.inputType))&&(n.observer.delayAndroidKey(i.key,i.keyCode),i.key=="Backspace"||i.key=="Delete")){let r=((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>r+10&&n.hasFocus&&(n.contentDOM.blur(),n.focus())},100)}return ge.ios&&e.inputType=="deleteContentForward"&&n.observer.flushSoon(),ge.safari&&e.inputType=="insertText"&&n.inputState.composing>=0&&setTimeout(()=>fs.compositionend(n,e),20),!1};const Xx=new Set;function jZ(n){Xx.has(n)||(Xx.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}const Yx=["pre-wrap","normal","pre-line","break-spaces"];let ru=!1;function Jx(){ru=!1}class zZ{constructor(e){this.lineWrapping=e,this.doc=lt.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let s=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(s+=Math.max(0,Math.ceil((t-e-s*this.lineLength*.5)/this.lineLength))),this.lineHeight*s}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Yx.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let s=0;s-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=s,this.textHeight=i,this.lineLength=r,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>cg&&(ru=!0),this.height=e)}replace(e,t,s){return hs.of(s)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,s,i){let r=this,o=s.doc;for(let a=i.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:u}=i[a],d=r.lineAt(l,Pt.ByPosNoHeight,s.setDoc(t),0,0),p=d.to>=c?d:r.lineAt(c,Pt.ByPosNoHeight,s,0,0);for(u+=p.to-c,c=p.to;a>0&&d.from<=i[a-1].toA;)l=i[a-1].fromA,h=i[a-1].fromB,a--,lr*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),s+=1+a.break,i-=a.size}else if(r>i*2){let a=e[s];a.break?e.splice(s,1,a.left,null,a.right):e.splice(s,1,a.left,a.right),s+=2+a.break,r-=a.size}else break;else if(i=r&&o(this.lineAt(0,Pt.ByPos,s,i,r))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,s=!1,i){return i&&i.from<=t&&i.more&&this.setMeasuredHeight(i),this.outdated=!1,this}toString(){return`block(${this.length})`}}class zs extends kI{constructor(e,t,s){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=s}mainBlock(e,t){return new Oi(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,s){let i=s[0];return s.length==1&&(i instanceof zs||i instanceof On&&i.flags&4)&&Math.abs(this.length-i.length)<10?(i instanceof On?i=new zs(i.length,this.height,this.spaceAbove):i.height=this.height,this.outdated||(i.outdated=!1),i):hs.of(s)}updateHeight(e,t=0,s=!1,i){return i&&i.from<=t&&i.more?this.setMeasuredHeight(i):(s||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class On extends hs{constructor(e){super(e,0)}heightMetrics(e,t){let s=e.doc.lineAt(t).number,i=e.doc.lineAt(t+this.length).number,r=i-s+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*r);o=l/r,this.length>r+1&&(a=(this.height-l)/(this.length-r-1))}else o=this.height/r;return{firstLine:s,lastLine:i,perLine:o,perChar:a}}blockAt(e,t,s,i){let{firstLine:r,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,i);if(t.lineWrapping){let c=i+(e0){let r=s[s.length-1];r instanceof On?s[s.length-1]=new On(r.length+i):s.push(null,new On(i-1))}if(e>0){let r=s[0];r instanceof On?s[0]=new On(e+r.length):s.unshift(new On(e-1),null)}return hs.of(s)}decomposeLeft(e,t){t.push(new On(e-1),null)}decomposeRight(e,t){t.push(null,new On(this.length-e-1))}updateHeight(e,t=0,s=!1,i){let r=t+this.length;if(i&&i.from<=t+this.length&&i.more){let o=[],a=Math.max(t,i.from),l=-1;for(i.from>t&&o.push(new On(i.from-t-1).updateHeight(e,t));a<=r&&i.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let u=i.heights[i.index++],d=0;u<0&&(d=-u,u=i.heights[i.index++]),l==-1?l=u:Math.abs(u-l)>=cg&&(l=-2);let p=new zs(h,u,d);p.outdated=!1,o.push(p),a+=h+1}a<=r&&o.push(null,new On(r-a).updateHeight(e,a));let c=hs.of(o);return(l<0||Math.abs(c.height-this.height)>=cg||Math.abs(l-this.heightMetrics(e,t).perLine)>=cg)&&(ru=!0),Wg(this,c)}else(s||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class qZ extends hs{constructor(e,t,s){super(e.length+t+s.length,e.height+s.height,t|(e.outdated||s.outdated?2:0)),this.left=e,this.right=s,this.size=e.size+s.size}get break(){return this.flags&1}blockAt(e,t,s,i){let r=s+this.left.height;return ea))return c;let h=t==Pt.ByPosNoHeight?Pt.ByPosNoHeight:Pt.ByPos;return l?c.join(this.right.lineAt(a,h,s,o,a)):this.left.lineAt(a,h,s,i,r).join(c)}forEachLine(e,t,s,i,r,o){let a=i+this.left.height,l=r+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,s,a,l,o);else{let c=this.lineAt(l,Pt.ByPos,s,i,r);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,s,a,l,o)}}replace(e,t,s){let i=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-i,t-i,s));let r=[];e>0&&this.decomposeLeft(e,r);let o=r.length;for(let a of s)r.push(a);if(e>0&&Qx(r,o-1),t=s&&t.push(null)),e>s&&this.right.decomposeLeft(e-s,t)}decomposeRight(e,t){let s=this.left.length,i=s+this.break;if(e>=i)return this.right.decomposeRight(e-i,t);e2*t.size||t.size>2*e.size?hs.of(this.break?[e,null,t]:[e,t]):(this.left=Wg(this.left,e),this.right=Wg(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,s=!1,i){let{left:r,right:o}=this,a=t+r.length+this.break,l=null;return i&&i.from<=t+r.length&&i.more?l=r=r.updateHeight(e,t,s,i):r.updateHeight(e,t,s),i&&i.from<=a+o.length&&i.more?l=o=o.updateHeight(e,a,s,i):o.updateHeight(e,a,s),l?this.balanced(r,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function Qx(n,e){let t,s;n[e]==null&&(t=n[e-1])instanceof On&&(s=n[e+1])instanceof On&&n.splice(e-1,3,new On(t.length+1+s.length))}const UZ=5;class X1{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let s=Math.min(t,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof zs?i.length+=s-this.pos:(s>this.pos||!this.isCovered)&&this.nodes.push(new zs(s-this.pos,-1,0)),this.writtenTo=s,t>s&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,s){if(e=UZ)&&this.addLineDeco(i,r,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new zs(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let s=new On(t-e);return this.oracle.doc.lineAt(e).to==t&&(s.flags|=4),s}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof zs)return e;let t=new zs(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,s){let i=this.ensureLine();i.length+=s,i.collapsed+=s,i.widgetHeight=Math.max(i.widgetHeight,e),i.breaks+=t,this.writtenTo=this.pos=this.pos+s}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof zs)&&!this.isCovered?this.nodes.push(new zs(0,-1,0)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&u.overflow!="visible"){let d=h.getBoundingClientRect();r=Math.max(r,d.left),o=Math.min(o,d.right),a=Math.max(a,d.top),l=Math.min(c==n.parentNode?i.innerHeight:l,d.bottom)}c=u.position=="absolute"||u.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:r-t.left,right:Math.max(r,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function KZ(n){let e=n.getBoundingClientRect(),t=n.ownerDocument.defaultView||window;return e.left0&&e.top0}function ZZ(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class Y0{constructor(e,t,s,i){this.from=e,this.to=t,this.size=s,this.displaySize=i}static same(e,t){if(e.length!=t.length)return!1;for(let s=0;stypeof i!="function"&&i.class=="cm-lineWrapping");this.heightOracle=new zZ(s),this.stateDeco=nE(t),this.heightMap=hs.empty().applyChanges(this.stateDeco,lt.empty,this.heightOracle.setDoc(t.doc),[new ii(0,0,0,t.doc.length)]);for(let i=0;i<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());i++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=et.set(this.lineGaps.map(i=>i.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let s=0;s<=1;s++){let i=s?t.head:t.anchor;if(!e.some(({from:r,to:o})=>i>=r&&i<=o)){let{from:r,to:o}=this.lineBlockAt(i);e.push(new rm(r,o))}}return this.viewports=e.sort((s,i)=>s.from-i.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?tE:new Y1(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(sd(e,this.scaler))})}update(e,t=null){this.state=e.state;let s=this.stateDeco;this.stateDeco=nE(this.state);let i=e.changedRanges,r=ii.extendWithRanges(i,VZ(s,this.stateDeco,e?e.changes:fn.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Jx(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),r),(this.heightMap.height!=o||ru)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=r.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(tI)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,s=window.getComputedStyle(t),i=this.heightOracle,r=s.whiteSpace;this.defaultTextDirection=s.direction=="rtl"?Lt.RTL:Lt.LTR;let o=this.heightOracle.mustRefreshForWrapping(r)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:A,scaleY:E}=NM(t,a);(A>.005&&Math.abs(this.scaleX-A)>.005||E>.005&&Math.abs(this.scaleY-E)>.005)&&(this.scaleX=A,this.scaleY=E,c|=16,o=l=!0)}let u=(parseInt(s.paddingTop)||0)*this.scaleY,d=(parseInt(s.paddingBottom)||0)*this.scaleY;(this.paddingTop!=u||this.paddingBottom!=d)&&(this.paddingTop=u,this.paddingBottom=d,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(i.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let p=LM(this.view.contentDOM,!1).y;p!=this.scrollParent&&(this.scrollParent=p,this.scrollAnchorHeight=-1,this.scrollOffset=0);let m=this.getScrollOffset();this.scrollOffset!=m&&(this.scrollAnchorHeight=-1,this.scrollOffset=m),this.scrolledToBottom=zM(this.scrollParent||e.win);let g=(this.printing?ZZ:GZ)(t,this.paddingTop),v=g.top-this.pixelViewport.top,y=g.bottom-this.pixelViewport.bottom;this.pixelViewport=g;let b=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(b!=this.inView&&(this.inView=b,b&&(l=!0)),!this.inView&&!this.scrollTarget&&!KZ(e.dom))return 0;let _=a.width;if((this.contentDOMWidth!=_||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let A=e.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(A)&&(o=!0),o||i.lineWrapping&&Math.abs(_-this.contentDOMWidth)>i.charWidth){let{lineHeight:E,charWidth:$,textHeight:O}=e.docView.measureTextSize();o=E>0&&i.refresh(r,E,$,O,Math.max(5,_/$),A),o&&(e.docView.minWidth=0,c|=16)}v>0&&y>0?h=Math.max(v,y):v<0&&y<0&&(h=Math.min(v,y)),Jx();for(let E of this.viewports){let $=E.from==this.viewport.from?A:e.docView.measureVisibleLineHeights(E);this.heightMap=(o?hs.empty().applyChanges(this.stateDeco,lt.empty,this.heightOracle,[new ii(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(i,0,o,new HZ(E.from,$))}ru&&(c|=2)}let S=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return S&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||S)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let s=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),i=this.heightMap,r=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new rm(i.lineAt(o-s*1e3,Pt.ByHeight,r,0,0).from,i.lineAt(a+(1-s)*1e3,Pt.ByHeight,r,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),u=i.lineAt(c,Pt.ByPos,r,0,0),d;t.y=="center"?d=(u.top+u.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(s,250)))&&i>o-2*1e3&&r>1,o=i<<1;if(this.defaultTextDirection!=Lt.LTR&&!s)return[];let a=[],l=(h,u,d,p)=>{if(u-hh&&yy.from>=d.from&&y.to<=d.to&&Math.abs(y.from-h)y.fromb));if(!v){if(u_.from<=u&&_.to>=u)){let _=t.moveToLineBoundary(re.cursor(u),!1,!0).head;_>h&&(u=_)}let y=this.gapSize(d,h,u,p),b=s||y<2e6?y:2e6;v=new Y0(h,u,y,b)}a.push(v)},c=h=>{if(h.length2e6)for(let E of e)E.from>=h.from&&E.fromh.from&&l(h.from,p,h,u),mt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let s=[];rt.spans(t,this.viewport.from,this.viewport.to,{span(r,o){s.push({from:r,to:o})},point(){}},20);let i=0;if(s.length!=this.visibleRanges.length)i=12;else for(let r=0;r=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||sd(this.heightMap.lineAt(e,Pt.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||sd(this.heightMap.lineAt(this.scaler.fromDOM(e),Pt.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return sd(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class rm{constructor(e,t){this.from=e,this.to=t}}function YZ(n,e,t){let s=[],i=n,r=0;return rt.spans(t,n,e,{span(){},point(o,a){o>i&&(s.push({from:i,to:o}),r+=o-i),i=a}},20),i=1)return e[e.length-1].to;let s=Math.floor(n*t);for(let i=0;;i++){let{from:r,to:o}=e[i],a=o-r;if(s<=a)return r+s;s-=a}}function am(n,e){let t=0;for(let{from:s,to:i}of n.ranges){if(e<=i){t+=e-s;break}t+=i-s}return t/n.total}function JZ(n,e){for(let t of n)if(e(t))return t}const tE={toDOM(n){return n},fromDOM(n){return n},scale:1,eq(n){return n==this}};function nE(n){let e=n.facet(l0).filter(s=>typeof s!="function"),t=n.facet(K1).filter(s=>typeof s!="function");return t.length&&e.push(rt.join(t)),e}class Y1{constructor(e,t,s){let i=0,r=0,o=0;this.viewports=s.map(({from:a,to:l})=>{let c=t.lineAt(a,Pt.ByPos,e,0,0).top,h=t.lineAt(l,Pt.ByPos,e,0,0).bottom;return i+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-i)/(t.height-i);for(let a of this.viewports)a.domTop=o+(a.top-r)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),r=a.bottom}toDOM(e){for(let t=0,s=0,i=0;;t++){let r=tt.from==e.viewports[s].from&&t.to==e.viewports[s].to):!1}}function sd(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),s=e.toDOM(n.bottom);return new Oi(n.from,n.length,t,s-t,Array.isArray(n._content)?n._content.map(i=>sd(i,e)):n._content)}const lm=Ae.define({combine:n=>n.join(" ")}),Uw=Ae.define({combine:n=>n.indexOf(!0)>-1}),Vw=nu.newName(),AI=nu.newName(),xI=nu.newName(),EI={"&light":"."+AI,"&dark":"."+xI};function Ww(n,e,t){return new nu(e,{finish(s){return/&/.test(s)?s.replace(/&\w*/,i=>{if(i=="&")return n;if(!t||!t[i])throw new RangeError(`Unsupported selector: ${i}`);return t[i]}):n+" "+s}})}const QZ=Ww("."+Vw,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},".cm-panels-top":{top:"0"},".cm-panels-bottom":{bottom:"0"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},EI),eX={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},J0=ge.ie&&ge.ie_version<=11;class tX{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new P6,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let s of t)this.queue.push(s);(ge.ie&&ge.ie_version<=11||ge.ios&&e.composing)&&t.some(s=>s.type=="childList"&&s.removedNodes.length||s.type=="characterData"&&s.oldValue.length>s.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&ge.android&&e.constructor.EDIT_CONTEXT!==!1&&!(ge.chrome&&ge.chrome_version<126)&&(this.editContext=new sX(e),e.state.facet(to)&&(e.contentDOM.editContext=this.editContext.editContext)),J0&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,s)=>t!=e[s]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:s}=this,i=this.selectionRange;if(s.state.facet(to)?s.root.activeElement!=this.dom:!bd(this.dom,i))return;let r=i.anchorNode&&s.docView.tile.nearest(i.anchorNode);if(r&&r.isWidget()&&r.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(ge.ie&&ge.ie_version<=11||ge.android&&ge.chrome)&&!s.state.selection.main.empty&&i.focusNode&&wd(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Ld(e.root);if(!t)return!1;let s=ge.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&nX(this.view,t)||t;if(!s||this.selectionRange.eq(s))return!1;let i=bd(this.dom,s);return i&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let r=this.delayedAndroidKey;r&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=r.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&r.force&&Kc(this.dom,r.key,r.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(i)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,s=-1,i=!1;for(let r of e){let o=this.readMutation(r);o&&(o.typeOver&&(i=!0),t==-1?{from:t,to:s}=o:(t=Math.min(o.from,t),s=Math.max(o.to,s)))}return{from:t,to:s,typeOver:i}}readChange(){let{from:e,to:t,typeOver:s}=this.processRecords(),i=this.selectionChanged&&bd(this.dom,this.selectionRange);if(e<0&&!i)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let r=new bZ(this.view,e,t,s);return this.view.docView.domChanged={newSel:r.newSel?r.newSel.main:null},r}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let s=this.view.state,i=fI(this.view,t);return this.view.state==s&&(t.domChanged||t.newSel&&!Vg(this.view.state.selection,t.newSel.main))&&this.view.update([]),i}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let s=sE(t,e.previousSibling||e.target.previousSibling,-1),i=sE(t,e.nextSibling||e.target.nextSibling,1);return{from:s?t.posAfter(s):t.posAtStart,to:i?t.posBefore(i):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(to)!=e.state.facet(to)&&(e.view.contentDOM.editContext=e.state.facet(to)?this.editContext.editContext:null))}destroy(){var e,t,s;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(s=this.resizeScroll)===null||s===void 0||s.disconnect();for(let i of this.scrollTargets)i.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function sE(n,e,t){for(;e;){let s=Gt.get(e);if(s&&s.parent==n)return s;let i=e.parentNode;e=i!=n.dom?i:t>0?e.nextSibling:e.previousSibling}return null}function iE(n,e){let t=e.startContainer,s=e.startOffset,i=e.endContainer,r=e.endOffset,o=n.docView.domAtPos(n.state.selection.main.anchor,1);return wd(o.node,o.offset,i,r)&&([t,s,i,r]=[i,r,t,s]),{anchorNode:t,anchorOffset:s,focusNode:i,focusOffset:r}}function nX(n,e){if(e.getComposedRanges){let i=e.getComposedRanges(n.root)[0];if(i)return iE(n,i)}let t=null;function s(i){i.preventDefault(),i.stopImmediatePropagation(),t=i.getTargetRanges()[0]}return n.contentDOM.addEventListener("beforeinput",s,!0),n.dom.ownerDocument.execCommand("indent"),n.contentDOM.removeEventListener("beforeinput",s,!0),t?iE(n,t):null}class sX{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=s=>{let i=e.state.selection.main,{anchor:r,head:o}=i,a=this.toEditorPos(s.updateRangeStart),l=this.toEditorPos(s.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:s.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>s.text.length;a==this.from&&rthis.to&&(l=r);let h=pI(e.state.sliceDoc(a,l),s.text,(c?i.from:i.to)-a,c?"end":null);if(!h){let d=re.single(this.toEditorPos(s.selectionStart),this.toEditorPos(s.selectionEnd));Vg(d,i)||e.dispatch({selection:d,userEvent:"select"});return}let u={from:h.from+a,to:h.toA+a,insert:lt.of(s.text.slice(h.from,h.toB).split(` +`))};if((ge.mac||ge.android)&&u.from==o-1&&/^\. ?$/.test(s.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(u={from:a,to:l,insert:lt.of([s.text.replace("."," ")])}),this.pendingContextChange=u,!e.state.readOnly){let d=this.to-this.from+(u.to-u.from+u.insert.length);Z1(e,u,re.single(this.toEditorPos(s.selectionStart,d),this.toEditorPos(s.selectionEnd,d)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),u.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,s.updateRangeStart-1),Math.min(t.text.length,s.updateRangeStart+1)))&&this.handlers.compositionend(s)},this.handlers.characterboundsupdate=s=>{let i=[],r=null;for(let o=this.toEditorPos(s.rangeStart),a=this.toEditorPos(s.rangeEnd);o{let i=[];for(let r of s.getTextFormats()){let o=r.underlineStyle,a=r.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(r.rangeStart),c=this.toEditorPos(r.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:s}=this.composing;this.composing=null,s&&this.reset(e.state)}};for(let s in this.handlers)t.addEventListener(s,this.handlers[s]);this.measureReq={read:s=>{let i=Ld(s.root);i&&i.rangeCount&&this.editContext.updateSelectionBounds(i.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,s=!1,i=this.pendingContextChange;return e.changes.iterChanges((r,o,a,l,c)=>{if(s)return;let h=c.length-(o-r);if(i&&o>=i.to)if(i.from==r&&i.to==o&&i.insert.eq(c)){i=this.pendingContextChange=null,t+=h,this.to+=h;return}else i=null,this.revertPending(e.state);if(r+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(rthis.to||this.to-this.from+c.length>3e4){s=!0;return}this.editContext.updateText(this.toContextPos(r),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),i&&!s&&this.revertPending(e.state),!s}update(e){let t=this.pendingContextChange,s=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(s.from,s.to)&&e.transactions.some(i=>!i.isUserEvent("input.type")&&i.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,s=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),i=this.toContextPos(t.head);(this.editContext.selectionStart!=s||this.editContext.selectionEnd!=i)&&this.editContext.updateSelection(s,i)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let s=this.composing;return s&&s.drifted?s.editorBase+(e-s.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class $e{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:s}=e;this.dispatchTransactions=e.dispatchTransactions||s&&(i=>i.forEach(r=>s(r,this)))||(i=>this.update(i)),this.dispatch=this.dispatch.bind(this),this._root=e.root||R6(e.parent)||document,this.viewState=new eE(this,e.state||at.create(e)),e.scrollTo&&e.scrollTo.is(nm)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Nc).map(i=>new W0(i));for(let i of this.plugins)i.update(this);this.observer=new tX(this),this.inputState=new kZ(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Hx(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof gn?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,s=!1,i,r=this.state;for(let d of e){if(d.startState!=r)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");r=d.state}if(this.destroyed){this.viewState.state=r;return}let o=this.hasFocus,a=0,l=null;e.some(d=>d.annotation(wI))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=_I(r,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(r.doc)||!this.state.selection.eq(r.selection))&&(h=null)):this.observer.clear(),r.facet(at.phrases)!=this.state.facet(at.phrases))return this.setState(r);i=Bg.create(this,r,e),i.flags|=a;let u=this.viewState.scrollTarget;try{this.updateState=2;for(let d of e){if(u&&(u=u.map(d.changes)),d.scrollIntoView){let{main:p}=d.state.selection,{x:m,y:g}=this.state.facet($e.cursorScrollMargin);u=new Zc(p.empty?p:re.cursor(p.head,p.head>p.anchor?-1:1),"nearest","nearest",g,m)}for(let p of d.effects)p.is(nm)&&(u=p.value.clip(this.state))}this.viewState.update(i,u),this.bidiCache=Gg.update(this.bidiCache,i.changes),i.empty||(this.updatePlugins(i),this.inputState.update(i)),t=this.docView.update(i),this.state.facet(nd)!=this.styleModules&&this.mountStyles(),s=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(d=>d.isUserEvent("select.pointer")))}finally{this.updateState=0}if(i.startState.facet(lm)!=i.state.facet(lm)&&(this.viewState.mustMeasureContent=!0),(t||s||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!i.empty)for(let d of this.state.facet(jw))try{d(i)}catch(p){gr(this.state,p,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!fI(this,h)&&c.force&&Kc(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let s of this.plugins)s.destroy(this);this.viewState=new eE(this,e),this.plugins=e.facet(Nc).map(s=>new W0(s)),this.pluginMap.clear();for(let s of this.plugins)s.update(this);this.docView.destroy(),this.docView=new Hx(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(Nc),s=e.state.facet(Nc);if(t!=s){let i=[];for(let r of s){let o=t.indexOf(r);if(o<0)i.push(new W0(r));else{let a=this.plugins[o];a.mustUpdate=e,i.push(a)}}for(let r of this.plugins)r.mustUpdate!=e&&r.destroy(this);this.plugins=i,this.pluginMap.clear()}else for(let i of this.plugins)i.mustUpdate=e;for(let i=0;i-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,s=this.viewState.scrollParent,i=this.viewState.getScrollOffset(),{scrollAnchorPos:r,scrollAnchorHeight:o}=this.viewState;Math.abs(i-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(zM(s||this.win))r=-1,o=this.viewState.heightMap.height;else{let p=this.viewState.scrollAnchorAt(i);r=p.from,o=p.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(p=>{try{return p.read(this)}catch(m){return gr(this.state,m),rE}}),u=Bg.create(this,this.state,[]),d=!1;u.flags|=l,t?t.flags|=l:t=u,this.updateState=2,u.empty||(this.updatePlugins(u),this.inputState.update(u),this.updateAttrs(),d=this.docView.update(u),d&&this.docViewUpdate());for(let p=0;p1||m<-1)&&!(ge.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(s==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){i=i+m,s?r<0?s.scrollTop=s.scrollHeight:s.scrollTop+=m:this.win.scrollBy(0,m),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(jw))a(t)}get themeClasses(){return Vw+" "+(this.state.facet(Uw)?xI:AI)+" "+this.state.facet(lm)}updateAttrs(){let e=oE(this,iI,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(to)?"true":"false",class:"cm-content",style:`${ge.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),oE(this,G1,t);let s=this.observer.ignore(()=>{let i=Nx(this.contentDOM,this.contentAttrs,t),r=Nx(this.dom,this.editorAttrs,e);return i||r});return this.editorAttrs=e,this.contentAttrs=t,s}showAnnouncements(e){let t=!0;for(let s of e)for(let i of s.effects)if(i.is($e.announce)){t&&(this.announceDOM.textContent=""),t=!1;let r=this.announceDOM.appendChild(document.createElement("div"));r.textContent=i.value}}mountStyles(){this.styleModules=this.state.facet(nd);let e=this.state.facet($e.cspNonce);nu.mount(this.root,this.styleModules.concat(QZ).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;ts.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,s){return X0(this,e,Bx(this,e,t,s))}moveByGroup(e,t){return X0(this,e,Bx(this,e,t,s=>fZ(this,e.head,s)))}visualLineSide(e,t){let s=this.bidiSpans(e),i=this.textDirectionAt(e.from),r=s[t?s.length-1:0];return re.cursor(r.side(t,i)+e.from,r.forward(!t,i)?1:-1)}moveToLineBoundary(e,t,s=!0){return dZ(this,e,t,s)}moveVertically(e,t,s){return X0(this,e,pZ(this,e,t,s))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let s=Bw(this,e,t);return s&&s.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),Bw(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let s=this.state.doc.lineAt(e),i=this.bidiSpans(s),r=i[mr.find(i,e-s.from,-1,t)];return this.docView.coordsAt(e,t,r.dir==Lt.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(eI)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>iX)return WM(e.length);let t=this.textDirectionAt(e.from),s;for(let r of this.bidiCache)if(r.from==e.from&&r.dir==t&&(r.fresh||VM(r.isolates,s=Fx(this,e))))return r.order;s||(s=Fx(this,e));let i=j6(e.text,t,s);return this.bidiCache.push(new Gg(e.from,e.to,t,s,!0,i)),i}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||ge.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{jM(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var s,i,r,o;return nm.of(new Zc(typeof e=="number"?re.cursor(e):e,(s=t.y)!==null&&s!==void 0?s:"nearest",(i=t.x)!==null&&i!==void 0?i:"nearest",(r=t.yMargin)!==null&&r!==void 0?r:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,s=this.viewState.scrollAnchorAt(e);return nm.of(new Zc(re.cursor(s.from),"start","start",s.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Us.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Us.define(()=>({}),{eventObservers:e})}static theme(e,t){let s=nu.newName(),i=[lm.of(s),nd.of(Ww(`.${s}`,e))];return t&&t.dark&&i.push(Uw.of(!0)),i}static baseTheme(e){return i0.lowest(nd.of(Ww("."+Vw,e,EI)))}static findFromDOM(e){var t;let s=e.querySelector(".cm-content"),i=s&&Gt.get(s)||Gt.get(e);return((t=i==null?void 0:i.root)===null||t===void 0?void 0:t.view)||null}}$e.styleModule=nd;$e.inputHandler=JM;$e.clipboardInputFilter=V1;$e.clipboardOutputFilter=W1;$e.scrollHandler=nI;$e.focusChangeEffect=QM;$e.perLineTextDirection=eI;$e.exceptionSink=YM;$e.updateListener=jw;$e.editable=to;$e.mouseSelectionStyle=XM;$e.dragMovesSelection=ZM;$e.clickAddsSelectionRange=KM;$e.decorations=l0;$e.blockWrappers=rI;$e.outerDecorations=K1;$e.atomicRanges=xp;$e.bidiIsolatedRanges=oI;$e.cursorScrollMargin=Ae.define({combine:n=>{let e=5,t=5;for(let s of n)typeof s=="number"?e=t=s:{x:e,y:t}=s;return{x:e,y:t}}});$e.scrollMargins=aI;$e.darkTheme=Uw;$e.cspNonce=Ae.define({combine:n=>n.length?n[0]:""});$e.contentAttributes=G1;$e.editorAttributes=iI;$e.lineWrapping=$e.contentAttributes.of({class:"cm-lineWrapping"});$e.announce=Et.define();const iX=4096,rE={};class Gg{constructor(e,t,s,i,r,o){this.from=e,this.to=t,this.dir=s,this.isolates=i,this.fresh=r,this.order=o}static update(e,t){if(t.empty&&!e.some(r=>r.fresh))return e;let s=[],i=e.length?e[e.length-1].dir:Lt.LTR;for(let r=Math.max(0,e.length-10);r=0;i--){let r=s[i],o=typeof r=="function"?r(n):r;o&&B1(o,t)}return t}const rX=ge.mac?"mac":ge.windows?"win":ge.linux?"linux":"key";function oX(n,e){const t=n.split(/-(?!$)/);let s=t[t.length-1];s=="Space"&&(s=" ");let i,r,o,a;for(let l=0;ls.concat(i),[]))),t}function lX(n,e,t){return TI($I(n.state),e,n,t)}let ko=null;const cX=4e3;function hX(n,e=rX){let t=Object.create(null),s=Object.create(null),i=(o,a)=>{let l=s[o];if(l==null)s[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},r=(o,a,l,c,h)=>{var u,d;let p=t[o]||(t[o]=Object.create(null)),m=a.split(/ (?!$)/).map(y=>oX(y,e));for(let y=1;y{let S=ko={view:_,prefix:b,scope:o};return setTimeout(()=>{ko==S&&(ko=null)},cX),!0}]})}let g=m.join(" ");i(g,!1);let v=p[g]||(p[g]={preventDefault:!1,stopPropagation:!1,run:((d=(u=p._any)===null||u===void 0?void 0:u.run)===null||d===void 0?void 0:d.slice())||[]});l&&v.run.push(l),c&&(v.preventDefault=!0),h&&(v.stopPropagation=!0)};for(let o of n){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:u}=o;for(let d in h)h[d].run.push(p=>u(p,Gw))}let l=o[e]||o.key;if(l)for(let c of a)r(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&r(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}let Gw=null;function TI(n,e,t,s){Gw=e;let i=A6(e),r=yM(i,0),o=vM(r)==i.length&&i!=" ",a="",l=!1,c=!1,h=!1;ko&&ko.view==t&&ko.scope==s&&(a=ko.prefix+" ",gI.indexOf(e.keyCode)<0&&(c=!0,ko=null));let u=new Set,d=v=>{if(v){for(let y of v.run)if(!u.has(y)&&(u.add(y),y(t)))return v.stopPropagation&&(h=!0),!0;v.preventDefault&&(v.stopPropagation&&(h=!0),c=!0)}return!1},p=n[s],m,g;return p&&(d(p[a+cm(i,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(ge.windows&&e.ctrlKey&&e.altKey)&&!(ge.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(m=ha[e.keyCode])&&m!=i?(d(p[a+cm(m,e,!0)])||e.shiftKey&&(g=Od[e.keyCode])!=i&&g!=m&&d(p[a+cm(g,e,!1)]))&&(l=!0):o&&e.shiftKey&&d(p[a+cm(i,e,!0)])&&(l=!0),!l&&d(p._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Gw=null,l}class ql{constructor(e,t,s,i,r){this.className=e,this.left=t,this.top=s,this.width=i,this.height=r}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,s){if(s.empty){let i=e.coordsAtPos(s.head,s.assoc||1);if(!i)return[];let r=PI(e);return[new ql(t,i.left-r.left,i.top-r.top,null,i.bottom-i.top)]}else return uX(e,t,s)}}function PI(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==Lt.LTR?e.left:e.right-n.scrollDOM.clientWidth*n.scaleX)-n.scrollDOM.scrollLeft*n.scaleX,top:e.top-n.scrollDOM.scrollTop*n.scaleY}}function lE(n,e,t,s){let i=n.coordsAtPos(e,t*2);if(!i)return s;let r=n.dom.getBoundingClientRect(),o=(i.top+i.bottom)/2,a=n.posAtCoords({x:r.left+1,y:o}),l=n.posAtCoords({x:r.right-1,y:o});return a==null||l==null?s:{from:Math.max(s.from,Math.min(a,l)),to:Math.min(s.to,Math.max(a,l))}}function uX(n,e,t){if(t.to<=n.viewport.from||t.from>=n.viewport.to)return[];let s=Math.max(t.from,n.viewport.from),i=Math.min(t.to,n.viewport.to),r=n.textDirection==Lt.LTR,o=n.contentDOM,a=o.getBoundingClientRect(),l=PI(n),c=o.querySelector(".cm-line"),h=c&&window.getComputedStyle(c),u=a.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),d=a.right-(h?parseInt(h.paddingRight):0),p=Hw(n,s,1),m=Hw(n,i,-1),g=p.type==zn.Text?p:null,v=m.type==zn.Text?m:null;if(g&&(n.lineWrapping||p.widgetLineBreaks)&&(g=lE(n,s,1,g)),v&&(n.lineWrapping||m.widgetLineBreaks)&&(v=lE(n,i,-1,v)),g&&v&&g.from==v.from&&g.to==v.to)return b(_(t.from,t.to,g));{let A=g?_(t.from,null,g):S(p,!1),E=v?_(null,t.to,v):S(m,!0),$=[];return(g||p).to<(v||m).from-(g&&v?1:0)||p.widgetLineBreaks>1&&A.bottom+n.defaultLineHeight/2z&&L.from=Q)break;B>J&&N(Math.max(ye,J),A==null&&ye<=z,Math.min(B,Q),E==null&&B>=G,ae.dir)}if(J=ee.to+1,J>=Q)break}return q.length==0&&N(z,A==null,G,E==null,n.textDirection),{top:O,bottom:F,horizontal:q}}function S(A,E){let $=a.top+(E?A.top:A.bottom);return{top:$,bottom:$,horizontal:[]}}}function dX(n,e){return n.constructor==e.constructor&&n.eq(e)}class fX{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(hg)!=e.state.facet(hg)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,s=e.facet(hg);for(;t!dX(t,this.drawn[s]))){let t=this.dom.firstChild,s=0;for(let i of e)i.update&&t&&i.constructor&&this.drawn[s].constructor&&i.update(t,this.drawn[s])?(t=t.nextSibling,s++):this.dom.insertBefore(i.draw(),t);for(;t;){let i=t.nextSibling;t.remove(),t=i}this.drawn=e,ge.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const hg=Ae.define();function RI(n){return[Us.define(e=>new fX(e,n)),hg.of(n)]}const ou=Ae.define({combine(n){return vu(n,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function pX(n={}){return[ou.of(n),mX,gX,vX,tI.of(!0)]}function MI(n){return n.startState.facet(ou)!=n.state.facet(ou)}const mX=RI({above:!0,markers(n){let{state:e}=n,t=e.facet(ou),s=[];for(let i of e.selection.ranges){let r=i==e.selection.main;if(i.empty||t.drawRangeCursor&&!(r&&ge.ios&&t.iosSelectionHandles)){let o=r?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=i.empty?i:re.cursor(i.head,i.assoc);for(let l of ql.forRange(n,o,a))s.push(l)}}return s},update(n,e){n.transactions.some(s=>s.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=MI(n);return t&&cE(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){cE(e.state,n)},class:"cm-cursorLayer"});function cE(n,e){e.style.animationDuration=n.facet(ou).cursorBlinkRate+"ms"}const gX=RI({above:!1,markers(n){let e=[],{main:t,ranges:s}=n.state.selection;for(let i of s)if(!i.empty)for(let r of ql.forRange(n,"cm-selectionBackground",i))e.push(r);if(ge.ios&&!t.empty&&n.state.facet(ou).iosSelectionHandles){for(let i of ql.forRange(n,"cm-selectionHandle cm-selectionHandle-start",re.cursor(t.from,1)))e.push(i);for(let i of ql.forRange(n,"cm-selectionHandle cm-selectionHandle-end",re.cursor(t.to,1)))e.push(i)}return e},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||MI(n)},class:"cm-selectionLayer"}),yX=ge.gecko&&ge.gecko_version==153?"#ffffff01":"transparent",vX=i0.highest($e.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:`${yX} !important`},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}}));function bX(){return _X}const wX=et.line({class:"cm-activeLine"}),_X=Us.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.docChanged||n.selectionSet)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=-1,t=[];for(let s of n.state.selection.ranges){let i=n.lineBlockAt(s.head);i.from>e&&(t.push(wX.range(i.from)),e=i.from)}return et.set(t)}},{decorations:n=>n.decorations}),hE=Ae.define({combine(n){let e,t;for(let s of n)e=e||s.topContainer,t=t||s.bottomContainer;return{topContainer:e,bottomContainer:t}}});function II(n,e){let t=n.plugin(OI),s=t?t.specs.indexOf(e):-1;return s>-1?t.panels[s]:null}const OI=Us.fromClass(class{constructor(n){this.input=n.state.facet(Kg),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(n));let e=n.state.facet(hE);this.top=new hm(n,!0,e.topContainer),this.bottom=new hm(n,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(n){let e=n.state.facet(hE);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new hm(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new hm(n.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=n.state.facet(Kg);if(t!=this.input){let s=t.filter(l=>l),i=[],r=[],o=[],a=[];for(let l of s){let c=this.specs.indexOf(l),h;c<0?(h=l(n.view),a.push(h)):(h=this.panels[c],h.update&&h.update(n)),i.push(h),(h.top?r:o).push(h)}this.specs=s,this.panels=i,this.top.sync(r),this.bottom.sync(o);for(let l of a)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let s of this.panels)s.update&&s.update(n)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:n=>$e.scrollMargins.of(e=>{let t=e.plugin(n);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})});class hm{constructor(e,t,s){this.view=e,this.top=t,this.container=s,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=uE(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=uE(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function uE(n){let e=n.nextSibling;return n.remove(),e}const Kg=Ae.define({enables:OI});function SX(n,e){let t,s=new Promise(o=>t=o),i=o=>kX(o,e,t);n.state.field(Q0,!1)?n.dispatch({effects:NI.of(i)}):n.dispatch({effects:Et.appendConfig.of(Q0.init(()=>[i]))});let r=LI.of(i);return{close:r,result:s.then(o=>((n.win.queueMicrotask||(l=>n.win.setTimeout(l,10)))(()=>{n.state.field(Q0).indexOf(i)>-1&&n.dispatch({effects:r})}),o))}}const Q0=Sr.define({create(){return[]},update(n,e){for(let t of e.effects)t.is(NI)?n=[t.value].concat(n):t.is(LI)&&(n=n.filter(s=>s!=t.value));return n},provide:n=>Kg.computeN([n],e=>e.field(n))}),NI=Et.define(),LI=Et.define();function kX(n,e,t){let s=e.content?e.content(n,()=>o(null)):null;if(!s){if(s=An("form"),e.input){let a=An("input",e.input);/^(text|password|number|email|tel|url)$/.test(a.type)&&a.classList.add("cm-textfield"),a.name||(a.name="input"),s.appendChild(An("label",(e.label||"")+": ",a))}else s.appendChild(document.createTextNode(e.label||""));s.appendChild(document.createTextNode(" ")),s.appendChild(An("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let i=s.nodeName=="FORM"?[s]:s.querySelectorAll("form");for(let a=0;a{c.keyCode==27?(c.preventDefault(),o(null)):c.keyCode==13&&(c.preventDefault(),o(l))}),l.addEventListener("submit",c=>{c.preventDefault(),o(l)})}let r=An("div",s,An("button",{onclick:()=>o(null),"aria-label":n.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));e.class&&(r.className=e.class),r.classList.add("cm-dialog");function o(a){r.contains(r.ownerDocument.activeElement)&&n.focus(),t(a)}return{dom:r,top:e.top,mount:()=>{if(e.focus){let a;typeof e.focus=="string"?a=s.querySelector(e.focus):a=s.querySelector("input")||s.querySelector("button"),a&&"select"in a?a.select():a&&"focus"in a&&a.focus()}}}}class rc extends tc{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}rc.prototype.elementClass="";rc.prototype.toDOM=void 0;rc.prototype.mapMode=Bs.TrackBefore;rc.prototype.startSide=rc.prototype.endSide=-1;rc.prototype.point=!0;const ev=Ae.define(),AX=Ae.define(),ug=Ae.define(),dE=Ae.define({combine:n=>n.some(e=>e)});function xX(n){return[EX]}const EX=Us.fromClass(class{constructor(n){this.view=n,this.domAfter=null,this.prevViewport=n.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=n.state.facet(ug).map(e=>new pE(n,e)),this.fixed=!n.state.facet(dE);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),n.scrollDOM.insertBefore(this.dom,n.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(n){if(this.updateGutters(n)){let e=this.prevViewport,t=n.view.viewport,s=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(s<(t.to-t.from)*.8)}if(n.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(dE)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=n.view.viewport}syncGutters(n){let e=this.dom.nextSibling;n&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=rt.iter(this.view.state.facet(ev),this.view.viewport.from),s=[],i=this.gutters.map(r=>new CX(r,this.view.viewport,-this.view.documentPadding.top));for(let r of this.view.viewportLineBlocks)if(s.length&&(s=[]),Array.isArray(r.type)){let o=!0;for(let a of r.type)if(a.type==zn.Text&&o){Kw(t,s,a.from);for(let l of i)l.line(this.view,a,s);o=!1}else if(a.widget)for(let l of i)l.widget(this.view,a)}else if(r.type==zn.Text){Kw(t,s,r.from);for(let o of i)o.line(this.view,r,s)}else if(r.widget)for(let o of i)o.widget(this.view,r);for(let r of i)r.finish();n&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(n){let e=n.startState.facet(ug),t=n.state.facet(ug),s=n.docChanged||n.heightChanged||n.viewportChanged||!rt.eq(n.startState.facet(ev),n.state.facet(ev),n.view.viewport.from,n.view.viewport.to);if(e==t)for(let i of this.gutters)i.update(n)&&(s=!0);else{s=!0;let i=[];for(let r of t){let o=e.indexOf(r);o<0?i.push(new pE(this.view,r)):(this.gutters[o].update(n),i.push(this.gutters[o]))}for(let r of this.gutters)r.dom.remove(),i.indexOf(r)<0&&r.destroy();for(let r of i)r.config.side=="after"?this.getDOMAfter().appendChild(r.dom):this.dom.appendChild(r.dom);this.gutters=i}return s}destroy(){for(let n of this.gutters)n.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:n=>$e.scrollMargins.of(e=>{let t=e.plugin(n);if(!t||t.gutters.length==0||!t.fixed)return null;let s=t.dom.offsetWidth*e.scaleX,i=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==Lt.LTR?{left:s,right:i}:{right:s,left:i}})});function fE(n){return Array.isArray(n)?n:[n]}function Kw(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}class CX{constructor(e,t,s){this.gutter=e,this.height=s,this.i=0,this.cursor=rt.iter(e.markers,t.from)}addElement(e,t,s){let{gutter:i}=this,r=(t.top-this.height)/e.scaleY,o=t.height/e.scaleY;if(this.i==i.elements.length){let a=new DI(e,o,r,s);i.elements.push(a),i.dom.appendChild(a.dom)}else i.elements[this.i].update(e,o,r,s);this.height=t.bottom,this.i++}line(e,t,s){let i=[];Kw(this.cursor,i,t.from),s.length&&(i=i.concat(s));let r=this.gutter.config.lineMarker(e,t,i);r&&i.unshift(r);let o=this.gutter;i.length==0&&!o.config.renderEmptyElements||this.addElement(e,t,i)}widget(e,t){let s=this.gutter.config.widgetMarker(e,t.widget,t),i=s?[s]:null;for(let r of e.state.facet(AX)){let o=r(e,t.widget,t);o&&(i||(i=[])).push(o)}i&&this.addElement(e,t,i)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class pE{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let s in t.domEventHandlers)this.dom.addEventListener(s,i=>{let r=i.target,o;if(r!=this.dom&&this.dom.contains(r)){for(;r.parentNode!=this.dom;)r=r.parentNode;let l=r.getBoundingClientRect();o=(l.top+l.bottom)/2}else o=i.clientY;let a=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[s](e,a,i)&&i.preventDefault()});this.markers=fE(t.markers(e)),t.initialSpacer&&(this.spacer=new DI(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=fE(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let i=this.config.updateSpacer(this.spacer.markers[0],e);i!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[i])}let s=e.view.viewport;return!rt.eq(this.markers,t,s.from,s.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class DI{constructor(e,t,s,i){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,s,i)}update(e,t,s,i){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=s&&(this.dom.style.marginTop=(this.above=s)?s+"px":""),$X(this.markers,i)||this.setMarkers(e,i)}setMarkers(e,t){let s="cm-gutterElement",i=this.dom.firstChild;for(let r=0,o=0;;){let a=o,l=rr(a,l,c)||o(a,l,c):o}return s}})}});class tv extends rc{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function nv(n,e){return n.state.facet(Lc).formatNumber(e,n.state)}const RX=ug.compute([Lc],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(TX)},lineMarker(e,t,s){return s.some(i=>i.toDOM)?null:new tv(nv(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,s)=>{for(let i of e.state.facet(PX)){let r=i(e,t,s);if(r)return r}return null},lineMarkerChange:e=>e.startState.facet(Lc)!=e.state.facet(Lc),initialSpacer(e){return new tv(nv(e,mE(e.state.doc.lines)))},updateSpacer(e,t){let s=nv(t.view,mE(t.view.state.doc.lines));return s==e.number?e:new tv(s)},domEventHandlers:n.facet(Lc).domEventHandlers,side:"before"}));function MX(n={}){return[Lc.of(n),xX(),RX]}function mE(n){let e=9;for(;e{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Cs.match(e)),t=>{let s=e(t);return s===void 0?null:[this,s]}}}st.closedBy=new st({deserialize:n=>n.split(" ")});st.openedBy=new st({deserialize:n=>n.split(" ")});st.group=new st({deserialize:n=>n.split(" ")});st.isolate=new st({deserialize:n=>{if(n&&n!="rtl"&&n!="ltr"&&n!="auto")throw new RangeError("Invalid value for isolate: "+n);return n||"auto"}});st.contextHash=new st({perNode:!0});st.lookAhead=new st({perNode:!0});st.mounted=new st({perNode:!0});class Sd{constructor(e,t,s,i=!1){this.tree=e,this.overlay=t,this.parser=s,this.bracketed=i}static get(e){return e&&e.props&&e.props[st.mounted.id]}}const NX=Object.create(null);class Cs{constructor(e,t,s,i=0){this.name=e,this.props=t,this.id=s,this.flags=i}static define(e){let t=e.props&&e.props.length?Object.create(null):NX,s=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),i=new Cs(e.name||"",t,e.id,s);if(e.props){for(let r of e.props)if(Array.isArray(r)||(r=r(i)),r){if(r[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[r[0].id]=r[1]}}return i}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(st.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let s in e)for(let i of s.split(" "))t[i]=e[s];return s=>{for(let i=s.prop(st.group),r=-1;r<(i?i.length:0);r++){let o=t[r<0?s.name:i[r]];if(o)return o}}}}Cs.none=new Cs("",Object.create(null),0,8);class J1{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|Jt.IncludeAnonymous);;){let c=!1;if(l.from<=r&&l.to>=i&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&s&&(a||!l.type.isAnonymous)&&s(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:tk(Cs.none,this.children,this.positions,0,this.children.length,0,this.length,(t,s,i)=>new Dt(this.type,t,s,i,this.propValues),e.makeTree||((t,s,i)=>new Dt(Cs.none,t,s,i)))}static build(e){return jX(e)}}Dt.empty=new Dt(Cs.none,[],[],0);class Q1{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new Q1(this.buffer,this.index)}}class da{constructor(e,t,s){this.buffer=e,this.length=t,this.set=s}get type(){return Cs.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,s){let i=this.buffer,r=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&s>e;case 2:return s>e;case 4:return!0}}function Fd(n,e,t,s){for(var i;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to0?a.length:-1;e!=c;e+=t){let h=a[e],u=l[e]+o.from,d;if(!(!(r&Jt.EnterBracketed&&h instanceof Dt&&(d=Sd.get(h))&&!d.overlay&&d.bracketed&&s>=u&&s<=u+h.length)&&!FI(i,s,u,u+h.length))){if(h instanceof da){if(r&Jt.ExcludeBuffers)continue;let p=h.findChild(0,h.buffer.length,t,s-u,i);if(p>-1)return new sa(new LX(o,h,e,u),null,p)}else if(r&Jt.IncludeAnonymous||!h.type.isAnonymous||ek(h)){let p;if(!(r&Jt.IgnoreMounts)&&(p=Sd.get(h))&&!p.overlay)return new oi(p.tree,u,e,o);let m=new oi(h,u,e,o);return r&Jt.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(t<0?h.children.length-1:0,t,s,i,r)}}}if(r&Jt.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,s=0){let i;if(!(s&Jt.IgnoreOverlays)&&(i=Sd.get(this._tree))&&i.overlay){let r=e-this.from,o=s&Jt.EnterBracketed&&i.bracketed;for(let{from:a,to:l}of i.overlay)if((t>0||o?a<=r:a=r:l>r))return new oi(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,s)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function yE(n,e,t,s){let i=n.cursor(),r=[];if(!i.firstChild())return r;if(t!=null){for(let o=!1;!o;)if(o=i.type.is(t),!i.nextSibling())return r}for(;;){if(s!=null&&i.type.is(s))return r;if(i.type.is(e)&&r.push(i.node),!i.nextSibling())return s==null?r:[]}}function Zw(n,e,t=e.length-1){for(let s=n;t>=0;s=s.parent){if(!s)return!1;if(!s.type.isAnonymous){if(e[t]&&e[t]!=s.name)return!1;t--}}return!0}class LX{constructor(e,t,s,i){this.parent=e,this.buffer=t,this.index=s,this.start=i}}class sa extends jI{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,s){super(),this.context=e,this._parent=t,this.index=s,this.type=e.buffer.set.types[e.buffer.buffer[s]]}child(e,t,s){let{buffer:i}=this.context,r=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.context.start,s);return r<0?null:new sa(this.context,this,r)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,s=0){if(s&Jt.ExcludeBuffers)return null;let{buffer:i}=this.context,r=i.findChild(this.index+4,i.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return r<0?null:new sa(this.context,this,r)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new sa(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new sa(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:s}=this.context,i=this.index+4,r=s.buffer[this.index+3];if(r>i){let o=s.buffer[this.index+1];e.push(s.slice(i,r,o)),t.push(0)}return new Dt(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function zI(n){if(!n.length)return null;let e=0,t=n[0];for(let r=1;rt.from||o.to=e){let a=new oi(o.tree,o.overlay[0].from+r.from,-1,r);(i||(i=[s])).push(Fd(a,e,t,!1))}}return i?zI(i):s}class Xw{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~Jt.EnterBracketed,e instanceof oi)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let s=e._parent;s;s=s._parent)this.stack.unshift(s.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:s,buffer:i}=this.buffer;return this.type=t||i.set.types[i.buffer[e]],this.from=s+i.buffer[e+1],this.to=s+i.buffer[e+2],!0}yield(e){return e?e instanceof oi?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,s){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,s,this.mode));let{buffer:i}=this.buffer,r=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.buffer.start,s);return r<0?!1:(this.stack.push(this.index),this.yieldBuf(r))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,s=this.mode){return this.buffer?s&Jt.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,s))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Jt.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Jt.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,s=this.stack.length-1;if(e<0){let i=s<0?0:this.stack[s]+4;if(this.index!=i)return this.yieldBuf(t.findChild(i,this.index,-1,0,4))}else{let i=t.buffer[this.index+3];if(i<(s<0?t.buffer.length:t.buffer[this.stack[s]+3]))return this.yieldBuf(i)}return s<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,s,{buffer:i}=this;if(i){if(e>0){if(this.index-1)for(let r=t+e,o=e<0?-1:s._tree.children.length;r!=o;r+=e){let a=s._tree.children[r];if(this.mode&Jt.IncludeAnonymous||a instanceof da||!a.type.isAnonymous||ek(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==i){if(i==this.index)return o;t=o,s=r+1;break e}i=this.stack[--r]}for(let i=s;i=0;r--){if(r<0)return Zw(this._tree,e,i);let o=s[t.buffer[this.stack[r]]];if(!o.isAnonymous){if(e[i]&&e[i]!=o.name)return!1;i--}}return!0}}function ek(n){return n.children.some(e=>e instanceof da||!e.type.isAnonymous||ek(e))}function jX(n){var e;let{buffer:t,nodeSet:s,maxBufferLength:i=IX,reused:r=[],minRepeatType:o=s.types.length}=n,a=Array.isArray(t)?new Q1(t,t.length):t,l=s.types,c=0,h=0;function u(A,E,$,O,F,q){let{id:N,start:z,end:G,size:L}=a,J=h,Q=c;if(L<0)if(a.next(),L==-1){let P=r[N];$.push(P),O.push(z-A);return}else if(L==-3){c=N;return}else if(L==-4){h=N;return}else throw new RangeError(`Unrecognized record size: ${L}`);let ee=l[N],ae,ye,B=z-A;if(G-z<=i&&(ye=v(a.pos-E,F))){let P=new Uint16Array(ye.size-ye.skip),D=a.pos-ye.size,M=P.length;for(;a.pos>D;)M=y(ye.start,P,M);ae=new da(P,G-ye.start,s),B=ye.start-A}else{let P=a.pos-L;a.next();let D=[],M=[],w=N>=o?N:-1,x=0,I=G;for(;a.pos>P;)w>=0&&a.id==w&&a.size>=0?(a.end<=I-i&&(m(D,M,z,x,a.end,I,w,J,Q),x=D.length,I=a.end),a.next()):q>2500?d(z,P,D,M):u(z,P,D,M,w,q+1);if(w>=0&&x>0&&x-1&&x>0){let K=p(ee,Q);ae=tk(ee,D,M,0,D.length,0,G-z,K,K)}else ae=g(ee,D,M,G-z,J-G,Q)}$.push(ae),O.push(B)}function d(A,E,$,O){let F=[],q=0,N=-1;for(;a.pos>E;){let{id:z,start:G,end:L,size:J}=a;if(J>4)a.next();else{if(N>-1&&G=0;L-=3)z[J++]=F[L],z[J++]=F[L+1]-G,z[J++]=F[L+2]-G,z[J++]=J;$.push(new da(z,F[2]-G,s)),O.push(G-A)}}function p(A,E){return($,O,F)=>{let q=0,N=$.length-1,z,G;if(N>=0&&(z=$[N])instanceof Dt){if(!N&&z.type==A&&z.length==F)return z;(G=z.prop(st.lookAhead))&&(q=O[N]+z.length+G)}return g(A,$,O,F,q,E)}}function m(A,E,$,O,F,q,N,z,G){let L=[],J=[];for(;A.length>O;)L.push(A.pop()),J.push(E.pop()+$-F);A.push(g(s.types[N],L,J,q-F,z-q,G)),E.push(F-$)}function g(A,E,$,O,F,q,N){if(q){let z=[st.contextHash,q];N=N?[z].concat(N):[z]}if(F>25){let z=[st.lookAhead,F];N=N?[z].concat(N):[z]}return new Dt(A,E,$,O,N)}function v(A,E){let $=a.fork(),O=0,F=0,q=0,N=$.end-i,z={size:0,start:0,skip:0};e:for(let G=$.pos-A;$.pos>G;){let L=$.size;if($.id==E&&L>=0){z.size=O,z.start=F,z.skip=q,q+=4,O+=4,$.next();continue}let J=$.pos-L;if(L<0||J=o?4:0,ee=$.start;for($.next();$.pos>J;){if($.size<0)if($.size==-3||$.size==-4)Q+=4;else break e;else $.id>=o&&(Q+=4);$.next()}F=ee,O+=L,q+=Q}return(E<0||O==A)&&(z.size=O,z.start=F,z.skip=q),z.size>4?z:void 0}function y(A,E,$){let{id:O,start:F,end:q,size:N}=a;if(a.next(),N>=0&&O4){let G=a.pos-(N-4);for(;a.pos>G;)$=y(A,E,$)}E[--$]=z,E[--$]=q-A,E[--$]=F-A,E[--$]=O}else N==-3?c=O:N==-4&&(h=O);return $}let b=[],_=[];for(;a.pos>0;)u(n.start||0,n.bufferStart||0,b,_,-1,0);let S=(e=n.length)!==null&&e!==void 0?e:b.length?_[0]+b[0].length:0;return new Dt(l[n.topID],b.reverse(),_.reverse(),S)}const vE=new WeakMap;function dg(n,e){if(!n.isAnonymous||e instanceof da||e.type!=n)return 1;let t=vE.get(e);if(t==null){t=1;for(let s of e.children){if(s.type!=n||!(s instanceof Dt)){t=1;break}t+=dg(n,s)}vE.set(e,t)}return t}function tk(n,e,t,s,i,r,o,a,l){let c=0;for(let m=s;m=h)break;E+=$}if(_==S+1){if(E>h){let $=m[S];p($.children,$.positions,0,$.children.length,g[S]+b);continue}u.push(m[S])}else{let $=g[_-1]+m[_-1].length-A;u.push(tk(n,m,g,S,_,A,$,null,l))}d.push(A+b-r)}}return p(e,t,s,i,0),(a||l)(u,d,o)}class Ul{constructor(e,t,s,i,r=!1,o=!1){this.from=e,this.to=t,this.tree=s,this.offset=i,this.open=(r?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],s=!1){let i=[new Ul(0,e.length,e,0,!1,s)];for(let r of t)r.to>e.length&&i.push(r);return i}static applyChanges(e,t,s=128){if(!t.length)return e;let i=[],r=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a=s)for(;o&&o.from=d.from||u<=d.to||c){let p=Math.max(d.from,l)-c,m=Math.min(d.to,u)-c;d=p>=m?null:new Ul(p,m,d.tree,d.offset+c,a>0,!!h)}if(d&&i.push(d),o.to>u)break;o=rnew sv(i.from,i.to)):[new sv(0,0)]:[new sv(0,e.length)],this.createParse(e,t||[],s)}parse(e,t,s){let i=this.startParse(e,t,s);for(;;){let r=i.advance();if(r)return r}}}class zX{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}new st({perNode:!0});let HX=0;class ti{constructor(e,t,s,i){this.name=e,this.set=t,this.base=s,this.modified=i,this.id=HX++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let s=typeof e=="string"?e:"?";if(e instanceof ti&&(t=e),t!=null&&t.base)throw new Error("Can not derive from a modified tag");let i=new ti(s,[],null,[]);if(i.set.push(i),t)for(let r of t.set)i.set.push(r);return i}static defineModifier(e){let t=new Zg(e);return s=>s.modified.indexOf(t)>-1?s:Zg.get(s.base||s,s.modified.concat(t).sort((i,r)=>i.id-r.id))}}let BX=0;class Zg{constructor(e){this.name=e,this.instances=[],this.id=BX++}static get(e,t){if(!t.length)return e;let s=t[0].instances.find(a=>a.base==e&&qX(t,a.modified));if(s)return s;let i=[],r=new ti(e.name,i,e,t);for(let a of t)a.instances.push(r);let o=UX(t);for(let a of e.set)if(!a.modified.length)for(let l of o)i.push(Zg.get(a,l));return r}}function qX(n,e){return n.length==e.length&&n.every((t,s)=>t==e[s])}function UX(n){let e=[[]];for(let t=0;ts.length-t.length)}function VX(n){let e=Object.create(null);for(let t in n){let s=n[t];Array.isArray(s)||(s=[s]);for(let i of t.split(" "))if(i){let r=[],o=2,a=i;for(let u=0;;){if(a=="..."&&u>0&&u+3==i.length){o=1;break}let d=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!d)throw new RangeError("Invalid path: "+i);if(r.push(d[0]=="*"?"":d[0][0]=='"'?JSON.parse(d[0]):d[0]),u+=d[0].length,u==i.length)break;let p=i[u++];if(u==i.length&&p=="!"){o=0;break}if(p!="/")throw new RangeError("Invalid path: "+i);a=i.slice(u)}let l=r.length-1,c=r[l];if(!c)throw new RangeError("Invalid path: "+i);let h=new Xg(s,o,l>0?r.slice(0,l):null);e[c]=h.sort(e[c])}}return WX.add(e)}const WX=new st({combine(n,e){let t,s,i;for(;n||e;){if(!n||e&&n.depth>=e.depth?(i=e,e=e.next):(i=n,n=n.next),t&&t.mode==i.mode&&!i.context&&!t.context)continue;let r=new Xg(i.tags,i.mode,i.context);t?t.next=r:s=r,t=r}return s}});class Xg{constructor(e,t,s,i){this.tags=e,this.mode=t,this.context=s,this.next=i}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=i;for(let a of r)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:s}}const pe=ti.define,dm=pe(),bo=pe(),bE=pe(bo),wE=pe(bo),wo=pe(),fm=pe(wo),iv=pe(wo),Wi=pe(),Ta=pe(Wi),Ui=pe(),Vi=pe(),Yw=pe(),Iu=pe(Yw),pm=pe(),He={comment:dm,lineComment:pe(dm),blockComment:pe(dm),docComment:pe(dm),name:bo,variableName:pe(bo),typeName:bE,tagName:pe(bE),propertyName:wE,attributeName:pe(wE),className:pe(bo),labelName:pe(bo),namespace:pe(bo),macroName:pe(bo),literal:wo,string:fm,docString:pe(fm),character:pe(fm),attributeValue:pe(fm),number:iv,integer:pe(iv),float:pe(iv),bool:pe(wo),regexp:pe(wo),escape:pe(wo),color:pe(wo),url:pe(wo),keyword:Ui,self:pe(Ui),null:pe(Ui),atom:pe(Ui),unit:pe(Ui),modifier:pe(Ui),operatorKeyword:pe(Ui),controlKeyword:pe(Ui),definitionKeyword:pe(Ui),moduleKeyword:pe(Ui),operator:Vi,derefOperator:pe(Vi),arithmeticOperator:pe(Vi),logicOperator:pe(Vi),bitwiseOperator:pe(Vi),compareOperator:pe(Vi),updateOperator:pe(Vi),definitionOperator:pe(Vi),typeOperator:pe(Vi),controlOperator:pe(Vi),punctuation:Yw,separator:pe(Yw),bracket:Iu,angleBracket:pe(Iu),squareBracket:pe(Iu),paren:pe(Iu),brace:pe(Iu),content:Wi,heading:Ta,heading1:pe(Ta),heading2:pe(Ta),heading3:pe(Ta),heading4:pe(Ta),heading5:pe(Ta),heading6:pe(Ta),contentSeparator:pe(Wi),list:pe(Wi),quote:pe(Wi),emphasis:pe(Wi),strong:pe(Wi),link:pe(Wi),monospace:pe(Wi),strikethrough:pe(Wi),inserted:pe(),deleted:pe(),changed:pe(),invalid:pe(),meta:pm,documentMeta:pe(pm),annotation:pe(pm),processingInstruction:pe(pm),definition:ti.defineModifier("definition"),constant:ti.defineModifier("constant"),function:ti.defineModifier("function"),standard:ti.defineModifier("standard"),local:ti.defineModifier("local"),special:ti.defineModifier("special")};for(let n in He){let e=He[n];e instanceof ti&&(e.name=n)}GX([{tag:He.link,class:"tok-link"},{tag:He.heading,class:"tok-heading"},{tag:He.emphasis,class:"tok-emphasis"},{tag:He.strong,class:"tok-strong"},{tag:He.keyword,class:"tok-keyword"},{tag:He.atom,class:"tok-atom"},{tag:He.bool,class:"tok-bool"},{tag:He.url,class:"tok-url"},{tag:He.labelName,class:"tok-labelName"},{tag:He.inserted,class:"tok-inserted"},{tag:He.deleted,class:"tok-deleted"},{tag:He.literal,class:"tok-literal"},{tag:He.string,class:"tok-string"},{tag:He.number,class:"tok-number"},{tag:[He.regexp,He.escape,He.special(He.string)],class:"tok-string2"},{tag:He.variableName,class:"tok-variableName"},{tag:He.local(He.variableName),class:"tok-variableName tok-local"},{tag:He.definition(He.variableName),class:"tok-variableName tok-definition"},{tag:He.special(He.variableName),class:"tok-variableName2"},{tag:He.definition(He.propertyName),class:"tok-propertyName tok-definition"},{tag:He.typeName,class:"tok-typeName"},{tag:He.namespace,class:"tok-namespace"},{tag:He.className,class:"tok-className"},{tag:He.macroName,class:"tok-macroName"},{tag:He.propertyName,class:"tok-propertyName"},{tag:He.operator,class:"tok-operator"},{tag:He.comment,class:"tok-comment"},{tag:He.meta,class:"tok-meta"},{tag:He.invalid,class:"tok-invalid"},{tag:He.punctuation,class:"tok-punctuation"}]);var rv;const id=new st;function KX(n){return Ae.define({combine:n?e=>e.concat(n):void 0})}const ZX=new st;class yr{constructor(e,t,s=[],i=""){this.data=e,this.name=i,at.prototype.hasOwnProperty("tree")||Object.defineProperty(at.prototype,"tree",{get(){return fa(this)}}),this.parser=t,this.extension=[cu.of(this),at.languageData.of((r,o,a)=>{let l=_E(r,o,a),c=l.type.prop(id);if(!c)return[];let h=r.facet(c),u=l.type.prop(ZX);if(u){let d=l.resolve(o-l.from,a);for(let p of u)if(p.test(d,r)){let m=r.facet(p.facet);return p.type=="replace"?m:m.concat(h)}}return h})].concat(s)}isActiveAt(e,t,s=-1){return _E(e,t,s).type.prop(id)==this.data}findRegions(e){let t=e.facet(cu);if((t==null?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let s=[],i=(r,o)=>{if(r.prop(id)==this.data){s.push({from:o,to:o+r.length});return}let a=r.prop(st.mounted);if(a){if(a.tree.prop(id)==this.data){if(a.overlay)for(let l of a.overlay)s.push({from:l.from+o,to:l.to+o});else s.push({from:o,to:o+r.length});return}else if(a.overlay){let l=s.length;if(i(a.tree,a.overlay[0].from+o),s.length>l)return}}for(let l=0;l=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-s,t-s)}}let Ou=null;class au{constructor(e,t,s=[],i,r,o,a,l){this.parser=e,this.state=t,this.fragments=s,this.tree=i,this.treeLen=r,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,s){return new au(e,t,[],Dt.empty,0,s,[],null)}startParse(){return this.parser.startParse(new XX(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=Dt.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var s;if(typeof e=="number"){let i=Date.now()+e;e=()=>Date.now()>i}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Ul.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Ou;Ou=this;try{return e()}finally{Ou=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=SE(e,t.from,t.to);return e}changes(e,t){let{fragments:s,tree:i,treeLen:r,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,u,d)=>l.push({fromA:c,toA:h,fromB:u,toB:d})),s=Ul.applyChanges(s,l),i=Dt.empty,r=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),u=e.mapPos(c.to,-1);he.from&&(this.fragments=SE(this.fragments,i,r),this.skipped.splice(s--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends HI{createParse(t,s,i){let r=i[0].from,o=i[i.length-1].to;return{parsedPos:r,advance(){let l=Ou;if(l){for(let c of i)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new Dt(Cs.none,[],[],o-r)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return Ou}}function SE(n,e,t){return Ul.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}class lu{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),s=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,s)||t.takeTree(),new lu(t)}static init(e){let t=Math.min(3e3,e.doc.length),s=au.create(e.facet(cu).parser,e,{from:0,to:t});return s.work(20,t)||s.takeTree(),new lu(s)}}yr.state=Sr.define({create:lu.init,update(n,e){for(let t of e.effects)if(t.is(yr.setState))return t.value;return e.startState.facet(cu)!=e.state.facet(cu)?lu.init(e.state):n.apply(e)}});let BI=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(BI=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const ov=typeof navigator<"u"&&(!((rv=navigator.scheduling)===null||rv===void 0)&&rv.isInputPending)?()=>navigator.scheduling.isInputPending():null,YX=Us.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(yr.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(yr.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=BI(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndi+1e3,l=r.context.work(()=>ov&&ov()||Date.now()>o,i+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(r.context.takeTree(),this.view.dispatch({effects:yr.setState.of(new lu(r.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(r.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>gr(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),cu=Ae.define({combine(n){return n.length?n[0]:null},enables:n=>[yr.state,YX,$e.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]}),JX=Ae.define(),nk=Ae.define({combine:n=>{if(!n.length)return" ";let e=n[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(n[0]));return e}});function oc(n){let e=n.facet(nk);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function Yg(n,e){let t="",s=n.tabSize,i=n.facet(nk)[0];if(i==" "){for(;e>=s;)t+=" ",e-=s;i=" "}for(let r=0;r=e?QX(n,t,e):null}class d0{constructor(e,t={}){this.state=e,this.options=t,this.unit=oc(e)}lineAt(e,t=1){let s=this.state.doc.lineAt(e),{simulateBreak:i,simulateDoubleBreak:r}=this.options;return i!=null&&i>=s.from&&i<=s.to?r&&i==e?{text:"",from:e}:(t<0?i-1&&(r+=o-this.countColumn(s,s.search(/\S|$/))),r}countColumn(e,t=e.length){return r0(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:s,from:i}=this.lineAt(e,t),r=this.options.overrideIndentation;if(r){let o=r(i);if(o>-1)return o}return this.countColumn(s,s.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const UI=new st;function QX(n,e,t){let s=e.resolveStack(t),i=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(i!=s.node){let r=[];for(let o=i;o&&!(o.froms.node.to||o.from==s.node.from&&o.type==s.node.type);o=o.parent)r.push(o);for(let o=r.length-1;o>=0;o--)s={node:r[o],next:s}}return VI(s,n,t)}function VI(n,e,t){for(let s=n;s;s=s.next){let i=tY(s.node);if(i)return i(sk.create(e,t,s))}return 0}function eY(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function tY(n){let e=n.type.prop(UI);if(e)return e;let t=n.firstChild,s;if(t&&(s=t.type.prop(st.closedBy))){let i=n.lastChild,r=i&&s.indexOf(i.name)>-1;return o=>rY(o,!0,1,void 0,r&&!eY(o)?i.from:void 0)}return n.parent==null?nY:null}function nY(){return 0}class sk extends d0{constructor(e,t,s){super(e.state,e.options),this.base=e,this.pos=t,this.context=s}get node(){return this.context.node}static create(e,t,s){return new sk(e,t,s)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let s=e.resolve(t.from);for(;s.parent&&s.parent.from==s.from;)s=s.parent;if(sY(s,e))break;t=this.state.doc.lineAt(s.from)}return this.lineIndent(t.from)}continue(){return VI(this.context.next,this.base,this.pos)}}function sY(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function iY(n){let e=n.node,t=e.childAfter(e.from),s=e.lastChild;if(!t)return null;let i=n.options.simulateBreak,r=n.state.doc.lineAt(t.from),o=i==null||i<=r.from?r.to:Math.min(r.to,i);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==s)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(r.text.slice(t.to-r.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function rY(n,e,t,s,i){let r=n.textAfter,o=r.match(/^\s*/)[0].length,a=s&&r.slice(o,o+s.length)==s||i==n.pos+o,l=iY(n);return l?a?n.column(l.from):n.column(l.to):n.baseIndent+(a?0:n.unit*t)}const oY=$e.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),WI=1e4,GI="()[]{}",KI=Ae.define({combine(n){return vu(n,{afterCursor:!0,brackets:GI,maxScanDistance:WI,renderMatch:cY})}}),aY=et.mark({class:"cm-matchingBracket"}),lY=et.mark({class:"cm-nonmatchingBracket"});function cY(n){let e=[],t=n.matched?aY:lY;return e.push(t.range(n.start.from,n.start.to)),n.end&&e.push(t.range(n.end.from,n.end.to)),e}function kE(n){let e=[],t=n.facet(KI);for(let s of n.selection.ranges){if(!s.empty)continue;let i=vr(n,s.head,-1,t)||s.head>0&&vr(n,s.head-1,1,t)||t.afterCursor&&(vr(n,s.head,1,t)||s.headn.decorations}),uY=[hY,oY];function dY(n={}){return[KI.of(n),uY]}const fY=new st;function Jw(n,e,t){let s=n.prop(e<0?st.openedBy:st.closedBy);if(s)return s;if(n.name.length==1){let i=t.indexOf(n.name);if(i>-1&&i%2==(e<0?1:0))return[t[i+e]]}return null}function Qw(n){let e=n.type.prop(fY);return e?e(n.node):n}function vr(n,e,t,s={}){let i=s.maxScanDistance||WI,r=s.brackets||GI,o=fa(n),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=Jw(l.type,t,r);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return pY(n,e,t,l,h,c,r)}}return mY(n,e,t,o,a.type,i,r)}function pY(n,e,t,s,i,r,o){let a=s.parent,l={from:i.from,to:i.to},c=0,h=a==null?void 0:a.cursor();if(h&&(t<0?h.childBefore(s.from):h.childAfter(s.to)))do if(t<0?h.to<=s.from:h.from>=s.to){if(c==0&&r.indexOf(h.type.name)>-1&&h.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=n.doc.iterRange(e,t>0?n.doc.length:0),u=0;for(let d=0;!h.next().done&&d<=r;){let p=h.value;t<0&&(d+=p.length);let m=e+d*t;for(let g=t>0?0:p.length-1,v=t>0?p.length:-1;g!=v;g+=t){let y=o.indexOf(p[g]);if(!(y<0||s.resolveInner(m+g,1).type!=i))if(y%2==0==t>0)u++;else{if(u==1)return{start:c,end:{from:m+g,to:m+g+1},matched:y>>1==l>>1};u--}}t>0&&(d+=p.length)}return h.done?{start:c,matched:!1}:null}function AE(n,e,t,s=0,i=0){e==null&&(e=n.search(/[^\s\u00a0]/),e==-1&&(e=n.length));let r=i;for(let o=s;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPoss?o.toLowerCase():o,r=this.string.substr(this.pos,e.length);return i(r)==i(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let i=this.string.slice(this.pos).match(e);return i&&i.index>0?null:(i&&t!==!1&&(this.pos+=i[0].length),i)}}current(){return this.string.slice(this.start,this.pos)}}function gY(n){return{name:n.name||"",token:n.token,blankLine:n.blankLine||(()=>{}),startState:n.startState||(()=>!0),copyState:n.copyState||yY,indent:n.indent||(()=>null),languageData:n.languageData||{},tokenTable:n.tokenTable||ok,mergeTokens:n.mergeTokens!==!1}}function yY(n){if(typeof n!="object")return n;let e={};for(let t in n){let s=n[t];e[t]=s instanceof Array?s.slice():s}return e}const xE=new WeakMap;class ik extends yr{constructor(e){let t=KX(e.languageData),s=gY(e),i,r=new class extends HI{createParse(o,a,l){return new bY(i,o,a,l)}};super(t,r,[],e.name),this.topNode=SY(t,this),i=this,this.streamParser=s,this.stateAfter=new st({perNode:!0}),this.tokenTable=e.tokenTable?new QI(s.tokenTable):_Y}static define(e){return new ik(e)}getIndent(e){let t,{overrideIndentation:s}=e.options;s&&(t=xE.get(e.state),t!=null&&t1e4)return null;for(;r=s&&t+e.length<=i&&e.prop(n.stateAfter);if(r)return{state:n.streamParser.copyState(r),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof Dt&&l=e.length)return e;!i&&t==0&&e.type==n.topNode&&(i=!0);for(let r=e.children.length-1;r>=0;r--){let o=e.positions[r],a=e.children[r],l;if(ot&&rk(n,r.tree,0-r.offset,t,a),c;if(l&&l.pos<=s&&(c=XI(n,r.tree,t+r.offset,l.pos+r.offset,!1)))return{state:l.state,tree:c}}return{state:n.streamParser.startState(i?oc(i):4),tree:Dt.empty}}class bY{constructor(e,t,s,i){this.lang=e,this.input=t,this.fragments=s,this.ranges=i,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=i[i.length-1].to;let r=au.get(),o=i[0].from,{state:a,tree:l}=vY(e,s,o,this.to,r==null?void 0:r.state);this.state=a,this.parsedPos=this.chunkStart=o+l.length;for(let c=0;cc.from<=r.viewport.from&&c.to>=r.viewport.from)&&(this.state=this.lang.streamParser.startState(oc(r.state)),r.skipUntilInView(this.parsedPos,r.viewport.from),this.parsedPos=r.viewport.from),this.moveRangeIndex()}advance(){let e=au.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),s=Math.min(t,this.chunkStart+512);for(e&&(s=Math.min(s,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` +`&&(t="");else{let s=t.indexOf(` +`);s>-1&&(t=t.slice(0,s))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),s=e+t.length;for(let i=this.rangeIndex;;){let r=this.ranges[i].to;if(r>=s||(t=t.slice(0,r-(s-t.length)),i++,i==this.ranges.length))break;let o=this.ranges[i].from,a=this.lineAfter(o);t+=a,s=o+a.length}return{line:t,end:s}}skipGapsTo(e,t,s){for(;;){let i=this.ranges[this.rangeIndex].to,r=e+t;if(s>0?i>r:i>=r)break;let o=this.ranges[++this.rangeIndex].from;t+=o-i}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){i=this.skipGapsTo(t,i,1),t+=i;let a=this.chunk.length;i=this.skipGapsTo(s,i,-1),s+=i,r+=this.chunk.length-a}let o=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&r==4&&o>=0&&this.chunk[o]==e&&this.chunk[o+2]==t?this.chunk[o+2]=s:this.chunk.push(e,t,s,r),i}parseLine(e){let{line:t,end:s}=this.nextLine(),i=0,{streamParser:r}=this.lang,o=new ZI(t,e?e.state.tabSize:4,e?oc(e.state):2);if(o.eol())r.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let a=YI(r.token,o,this.state);if(a&&(i=this.emitToken(this.lang.tokenTable.resolve(a),this.parsedPos+o.start,this.parsedPos+o.pos,i)),o.start>1e4)break}this.parsedPos=s,this.moveRangeIndex(),this.parsedPose.start)return i}throw new Error("Stream parser failed to advance stream.")}const ok=Object.create(null),jd=[Cs.none],wY=new J1(jd),EE=[],CE=Object.create(null),JI=Object.create(null);for(let[n,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])JI[n]=eO(ok,e);class QI{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),JI)}resolve(e){return e?this.table[e]||(this.table[e]=eO(this.extra,e)):0}}const _Y=new QI(ok);function av(n,e){EE.indexOf(n)>-1||(EE.push(n),console.warn(e))}function eO(n,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let h=n[c]||He[c];h?typeof h=="function"?l.length?l=l.map(h):av(c,`Modifier ${c} used at start of tag`):l.length?av(c,`Tag ${c} used as modifier`):l=Array.isArray(h)?h:[h]:av(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let s=e.replace(/ /g,"_"),i=s+" "+t.map(a=>a.id),r=CE[i];if(r)return r.id;let o=CE[i]=Cs.define({id:jd.length,name:s,props:[VX({[s]:t})]});return jd.push(o),o.id}function SY(n,e){let t=Cs.define({id:jd.length,name:"Document",props:[id.add(()=>n),UI.add(()=>s=>e.getIndent(s))],top:!0});return jd.push(t),t}Lt.RTL,Lt.LTR;const kY=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),s=lk(n.state,t.from);return s.line?AY(n):s.block?EY(n):!1};function ak(n,e){return({state:t,dispatch:s})=>{if(t.readOnly)return!1;let i=n(e,t);return i?(s(t.update(i)),!0):!1}}const AY=ak(TY,0),xY=ak(tO,0),EY=ak((n,e)=>tO(n,e,$Y(e)),0);function lk(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}const Nu=50;function CY(n,{open:e,close:t},s,i){let r=n.sliceDoc(s-Nu,s),o=n.sliceDoc(i,i+Nu),a=/\s*$/.exec(r)[0].length,l=/^\s*/.exec(o)[0].length,c=r.length-a;if(r.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:s-a,margin:a&&1},close:{pos:i+l,margin:l&&1}};let h,u;i-s<=2*Nu?h=u=n.sliceDoc(s,i):(h=n.sliceDoc(s,s+Nu),u=n.sliceDoc(i-Nu,i));let d=/^\s*/.exec(h)[0].length,p=/\s*$/.exec(u)[0].length,m=u.length-p-t.length;return h.slice(d,d+e.length)==e&&u.slice(m,m+t.length)==t?{open:{pos:s+d+e.length,margin:/\s/.test(h.charAt(d+e.length))?1:0},close:{pos:i-p-t.length,margin:/\s/.test(u.charAt(m-1))?1:0}}:null}function $Y(n){let e=[];for(let t of n.selection.ranges){let s=n.doc.lineAt(t.from),i=t.to<=s.to?s:n.doc.lineAt(t.to);i.from>s.from&&i.from==t.to&&(i=t.to==s.to+1?s:n.doc.lineAt(t.to-1));let r=e.length-1;r>=0&&e[r].to>s.from?e[r].to=i.to:e.push({from:s.from+/^\s*/.exec(s.text)[0].length,to:i.to})}return e}function tO(n,e,t=e.selection.ranges){let s=t.map(r=>lk(e,r.from).block);if(!s.every(r=>r))return null;let i=t.map((r,o)=>CY(e,s[o],r.from,r.to));if(n!=2&&!i.every(r=>r))return{changes:e.changes(t.map((r,o)=>i[o]?[]:[{from:r.from,insert:s[o].open+" "},{from:r.to,insert:" "+s[o].close}]))};if(n!=1&&i.some(r=>r)){let r=[];for(let o=0,a;oi&&(r==o||o>u.from)){i=u.from;let d=/^\s*/.exec(u.text)[0].length,p=d==u.length,m=u.text.slice(d,d+c.length)==c?d:-1;dr.comment<0&&(!r.empty||r.single))){let r=[];for(let{line:a,token:l,indent:c,empty:h,single:u}of s)(u||!h)&&r.push({from:a.from+c,insert:l+" "});let o=e.changes(r);return{changes:o,selection:e.selection.map(o,1)}}else if(n!=1&&s.some(r=>r.comment>=0)){let r=[];for(let{line:o,comment:a,token:l}of s)if(a>=0){let c=o.from+a,h=c+l.length;o.text[h-o.from]==" "&&h++,r.push({from:c,to:h})}return{changes:r}}return null}const e_=ba.define(),PY=ba.define(),RY=Ae.define(),nO=Ae.define({combine(n){return vu(n,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(s,i)=>e(s,i)||t(s,i)})}}),sO=Sr.define({create(){return br.empty},update(n,e){let t=e.state.facet(nO),s=e.annotation(e_);if(s){let l=xs.fromTransaction(e,s.selection),c=s.side,h=c==0?n.undone:n.done;return l?h=Jg(h,h.length,t.minDepth,l):h=oO(h,e.startState.selection),new br(c==0?s.rest:h,c==0?h:s.rest)}let i=e.annotation(PY);if((i=="full"||i=="before")&&(n=n.isolate()),e.annotation(gn.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let r=xs.fromTransaction(e),o=e.annotation(gn.time),a=e.annotation(gn.userEvent);return r?n=n.addChanges(r,o,a,t,e):e.selection&&(n=n.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(i=="full"||i=="after")&&(n=n.isolate()),n},toJSON(n){return{done:n.done.map(e=>e.toJSON()),undone:n.undone.map(e=>e.toJSON())}},fromJSON(n){return new br(n.done.map(xs.fromJSON),n.undone.map(xs.fromJSON))}});function MY(n={}){return[sO,nO.of(n),$e.domEventHandlers({beforeinput(e,t){let s=e.inputType=="historyUndo"?iO:e.inputType=="historyRedo"?t_:null;return s?(e.preventDefault(),s(t)):!1}})]}function f0(n,e){return function({state:t,dispatch:s}){if(!e&&t.readOnly)return!1;let i=t.field(sO,!1);if(!i)return!1;let r=i.pop(n,t,e);return r?(s(r),!0):!1}}const iO=f0(0,!1),t_=f0(1,!1),IY=f0(0,!0),OY=f0(1,!0);class xs{constructor(e,t,s,i,r){this.changes=e,this.effects=t,this.mapped=s,this.startSelection=i,this.selectionsAfter=r}setSelAfter(e){return new xs(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,s;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(s=this.startSelection)===null||s===void 0?void 0:s.toJSON(),selectionsAfter:this.selectionsAfter.map(i=>i.toJSON())}}static fromJSON(e){return new xs(e.changes&&fn.fromJSON(e.changes),[],e.mapped&&wr.fromJSON(e.mapped),e.startSelection&&re.fromJSON(e.startSelection),e.selectionsAfter.map(re.fromJSON))}static fromTransaction(e,t){let s=ri;for(let i of e.startState.facet(RY)){let r=i(e);r.length&&(s=s.concat(r))}return!s.length&&e.changes.empty?null:new xs(e.changes.invert(e.startState.doc),s,void 0,t||e.startState.selection,ri)}static selection(e){return new xs(void 0,ri,void 0,void 0,e)}}function Jg(n,e,t,s){let i=e+1>t+20?e-t-1:0,r=n.slice(i,e);return r.push(s),r}function NY(n,e){let t=[],s=!1;return n.iterChangedRanges((i,r)=>t.push(i,r)),e.iterChangedRanges((i,r,o,a)=>{for(let l=0;l=c&&o<=h&&(s=!0)}}),s}function LY(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,s)=>t.empty!=e.ranges[s].empty).length===0}function rO(n,e){return n.length?e.length?n.concat(e):n:e}const ri=[],DY=200;function oO(n,e){if(n.length){let t=n[n.length-1],s=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-DY));return s.length&&s[s.length-1].eq(e)?n:(s.push(e),Jg(n,n.length-1,1e9,t.setSelAfter(s)))}else return[xs.selection([e])]}function FY(n){let e=n[n.length-1],t=n.slice();return t[n.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function lv(n,e){if(!n.length)return n;let t=n.length,s=ri;for(;t;){let i=jY(n[t-1],e,s);if(i.changes&&!i.changes.empty||i.effects.length){let r=n.slice(0,t);return r[t-1]=i,r}else e=i.mapped,t--,s=i.selectionsAfter}return s.length?[xs.selection(s)]:ri}function jY(n,e,t){let s=rO(n.selectionsAfter.length?n.selectionsAfter.map(a=>a.map(e)):ri,t);if(!n.changes)return xs.selection(s);let i=n.changes.map(e),r=e.mapDesc(n.changes,!0),o=n.mapped?n.mapped.composeDesc(r):r;return new xs(i,Et.mapEffects(n.effects,e),o,n.startSelection.map(r),s)}const zY=/^(input\.type|delete)($|\.)/;class br{constructor(e,t,s=0,i=void 0){this.done=e,this.undone=t,this.prevTime=s,this.prevUserEvent=i}isolate(){return this.prevTime?new br(this.done,this.undone):this}addChanges(e,t,s,i,r){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!s||zY.test(s))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?n.moveByChar(t,e):p0(t,e))}function ns(n){return n.textDirectionAt(n.state.selection.main.head)==Lt.LTR}const lO=n=>aO(n,!ns(n)),cO=n=>aO(n,ns(n));function hO(n,e){return Hi(n,t=>t.empty?n.moveByGroup(t,e):p0(t,e))}const BY=n=>hO(n,!ns(n)),qY=n=>hO(n,ns(n));function UY(n,e,t){if(e.type.prop(t))return!0;let s=e.to-e.from;return s&&(s>2||/[^\s,.;:]/.test(n.sliceDoc(e.from,e.to)))||e.firstChild}function m0(n,e,t){let s=fa(n).resolveInner(e.head),i=t?st.closedBy:st.openedBy;for(let l=e.head;;){let c=t?s.childAfter(l):s.childBefore(l);if(!c)break;UY(n,c,i)?s=c:l=t?c.to:c.from}let r=s.type.prop(i),o,a;return r&&(o=t?vr(n,s.from,1):vr(n,s.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?s.to:s.from,re.cursor(a,t?-1:1)}const VY=n=>Hi(n,e=>m0(n.state,e,!ns(n))),WY=n=>Hi(n,e=>m0(n.state,e,ns(n)));function uO(n,e){return Hi(n,t=>{if(!t.empty)return p0(t,e);let s=n.moveVertically(t,e);return s.head!=t.head?s:n.moveToLineBoundary(t,e)})}const dO=n=>uO(n,!1),fO=n=>uO(n,!0);function pO(n){let e=n.scrollDOM.clientHeighto.empty?n.moveVertically(o,e,t.height):p0(o,e));if(i.eq(s.selection))return!1;let r;if(t.selfScroll){let o=n.coordsAtPos(s.selection.main.head),a=n.scrollDOM.getBoundingClientRect(),l=a.top+t.marginTop,c=a.bottom-t.marginBottom;o&&o.top>l&&o.bottommO(n,!1),n_=n=>mO(n,!0);function wa(n,e,t){let s=n.lineBlockAt(e.head),i=n.moveToLineBoundary(e,t);if(i.head==e.head&&i.head!=(t?s.to:s.from)&&(i=n.moveToLineBoundary(e,t,!1)),!t&&i.head==s.from&&s.length){let r=/^\s*/.exec(n.state.sliceDoc(s.from,Math.min(s.from+100,s.to)))[0].length;r&&e.head!=s.from+r&&(i=re.cursor(s.from+r))}return i}const GY=n=>Hi(n,e=>wa(n,e,!0)),KY=n=>Hi(n,e=>wa(n,e,!1)),ZY=n=>Hi(n,e=>wa(n,e,!ns(n))),XY=n=>Hi(n,e=>wa(n,e,ns(n))),YY=n=>Hi(n,e=>re.cursor(n.lineBlockAt(e.head).from,1)),JY=n=>Hi(n,e=>re.cursor(n.lineBlockAt(e.head).to,-1));function QY(n,e,t){let s=!1,i=bu(n.selection,r=>{let o=vr(n,r.head,-1)||vr(n,r.head,1)||r.head>0&&vr(n,r.head-1,1)||r.headQY(n,e);function ui(n,e,t){let s=bu(n.state.selection,i=>{i.undirectional&&i.head>=i.anchor!=e&&(i=re.range(i.head,i.anchor));let r=t(i);return re.range(i.anchor,r.head,r.goalColumn,r.bidiLevel||void 0,r.assoc)});return s.eq(n.state.selection)?!1:(n.dispatch(zi(n.state,s)),!0)}function gO(n,e){return ui(n,e,t=>n.moveByChar(t,e))}const yO=n=>gO(n,!ns(n)),vO=n=>gO(n,ns(n));function bO(n,e){return ui(n,e,t=>n.moveByGroup(t,e))}const t7=n=>bO(n,!ns(n)),n7=n=>bO(n,ns(n)),s7=n=>{let e=!ns(n);return ui(n,e,t=>m0(n.state,t,e))},i7=n=>{let e=ns(n);return ui(n,e,t=>m0(n.state,t,e))};function wO(n,e){return ui(n,e,t=>n.moveVertically(t,e))}const _O=n=>wO(n,!1),SO=n=>wO(n,!0);function kO(n,e){return ui(n,e,t=>n.moveVertically(t,e,pO(n).height))}const TE=n=>kO(n,!1),PE=n=>kO(n,!0),r7=n=>ui(n,!0,e=>wa(n,e,!0)),o7=n=>ui(n,!1,e=>wa(n,e,!1)),a7=n=>{let e=!ns(n);return ui(n,e,t=>wa(n,t,e))},l7=n=>{let e=ns(n);return ui(n,e,t=>wa(n,t,e))},c7=n=>ui(n,!1,e=>re.cursor(n.lineBlockAt(e.head).from)),h7=n=>ui(n,!0,e=>re.cursor(n.lineBlockAt(e.head).to)),RE=({state:n,dispatch:e})=>(e(zi(n,{anchor:0})),!0),ME=({state:n,dispatch:e})=>(e(zi(n,{anchor:n.doc.length})),!0),IE=({state:n,dispatch:e})=>(e(zi(n,{anchor:n.selection.main.anchor,head:0})),!0),OE=({state:n,dispatch:e})=>(e(zi(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),u7=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),d7=({state:n,dispatch:e})=>{let t=g0(n).map(({from:s,to:i})=>re.undirectionalRange(s,Math.min(i+1,n.doc.length)));return e(n.update({selection:re.create(t),userEvent:"select"})),!0},f7=({state:n,dispatch:e})=>{let t=bu(n.selection,s=>{let i=fa(n),r=i.resolveStack(s.from,1);if(s.empty){let o=i.resolveStack(s.from,-1);o.node.from>=r.node.from&&o.node.to<=r.node.to&&(r=o)}for(let o=r;o;o=o.next){let{node:a}=o;if((a.from=s.to||a.to>s.to&&a.from<=s.from)&&o.next)return re.undirectionalRange(a.from,a.to)}return s});return t.eq(n.selection)?!1:(e(zi(n,t)),!0)};function AO(n,e){let{state:t}=n,s=t.selection,i=t.selection.ranges.slice();for(let r of t.selection.ranges){let o=t.doc.lineAt(r.head);if(e?o.to0)for(let a=r;;){let l=n.moveVertically(a,e);if(l.heado.to){i.some(c=>c.head==l.head)||i.push(l);break}else{if(l.head==a.head)break;a=l}}}return i.length==s.ranges.length?!1:(n.dispatch(zi(t,re.create(i,i.length-1))),!0)}const p7=n=>AO(n,!1),m7=n=>AO(n,!0),g7=({state:n,dispatch:e})=>{let t=n.selection,s=null;return t.ranges.length>1?s=re.create([t.main]):t.main.empty||(s=re.create([re.cursor(t.main.head)])),s?(e(zi(n,s)),!0):!1};function Ep(n,e){if(n.state.readOnly)return!1;let t="delete.selection",{state:s}=n,i=s.changeByRange(r=>{let{from:o,to:a}=r;if(o==a){let l=e(r);lo&&(t="delete.forward",l=mm(n,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=mm(n,o,!1),a=mm(n,a,!0);return o==a?{range:r}:{changes:{from:o,to:a},range:re.cursor(o,oi(n)))s.between(e,e,(i,r)=>{ie&&(e=t?r:i)});return e}const xO=(n,e,t)=>Ep(n,s=>{let i=s.from,{state:r}=n,o=r.doc.lineAt(i),a,l;if(t&&!e&&i>o.from&&ixO(n,!1,!0),EO=n=>xO(n,!0,!1),CO=(n,e)=>Ep(n,t=>{let s=t.head,{state:i}=n,r=i.doc.lineAt(s),o=i.charCategorizer(s);for(let a=null;;){if(s==(e?r.to:r.from)){s==t.head&&r.number!=(e?i.doc.lines:1)&&(s+=e?1:-1);break}let l=xn(r.text,s-r.from,e)+r.from,c=r.text.slice(Math.min(s,l)-r.from,Math.max(s,l)-r.from),h=o(c);if(a!=null&&h!=a)break;(c!=" "||s!=t.head)&&(a=h),s=l}return s}),$O=n=>CO(n,!1),y7=n=>CO(n,!0),v7=n=>Ep(n,e=>{let t=n.lineBlockAt(e.head).to;return e.headEp(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),w7=n=>Ep(n,e=>{let t=n.moveToLineBoundary(e,!0).head;return e.head{if(n.readOnly)return!1;let t=n.changeByRange(s=>({changes:{from:s.from,to:s.to,insert:lt.of(["",""])},range:re.cursor(s.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},S7=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(s=>{if(!s.empty||s.from==0||s.from==n.doc.length)return{range:s};let i=s.from,r=n.doc.lineAt(i),o=i==r.from?i-1:xn(r.text,i-r.from,!1)+r.from,a=i==r.to?i+1:xn(r.text,i-r.from,!0)+r.from;return{changes:{from:o,to:a,insert:n.doc.slice(i,a).append(n.doc.slice(o,i))},range:re.cursor(a)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function g0(n){let e=[],t=-1;for(let s of n.selection.ranges){let i=n.doc.lineAt(s.from),r=n.doc.lineAt(s.to);if(!s.empty&&s.to==r.from&&(r=n.doc.lineAt(s.to-1)),t>=i.number){let o=e[e.length-1];o.to=r.to,o.ranges.push(s)}else e.push({from:i.from,to:r.to,ranges:[s]});t=r.number+1}return e}function TO(n,e,t){if(n.readOnly)return!1;let s=[],i=[];for(let r of g0(n)){if(t?r.to==n.doc.length:r.from==0)continue;let o=n.doc.lineAt(t?r.to+1:r.from-1),a=o.length+1;if(t){s.push({from:r.to,to:o.to},{from:r.from,insert:o.text+n.lineBreak});for(let l of r.ranges)i.push(re.range(Math.min(n.doc.length,l.anchor+a),Math.min(n.doc.length,l.head+a)))}else{s.push({from:o.from,to:r.from},{from:r.to,insert:n.lineBreak+o.text});for(let l of r.ranges)i.push(re.range(l.anchor-a,l.head-a))}}return s.length?(e(n.update({changes:s,scrollIntoView:!0,selection:re.create(i,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}const k7=({state:n,dispatch:e})=>TO(n,e,!1),A7=({state:n,dispatch:e})=>TO(n,e,!0);function PO(n,e,t){if(n.readOnly)return!1;let s=[];for(let r of g0(n))t?s.push({from:r.from,insert:n.doc.slice(r.from,r.to)+n.lineBreak}):s.push({from:r.to,insert:n.lineBreak+n.doc.slice(r.from,r.to)});let i=n.changes(s);return e(n.update({changes:i,selection:n.selection.map(i,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const x7=({state:n,dispatch:e})=>PO(n,e,!1),E7=({state:n,dispatch:e})=>PO(n,e,!0),C7=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(g0(e).map(({from:i,to:r})=>(i>0?i--:r{let r;if(n.lineWrapping){let o=n.lineBlockAt(i.head),a=n.coordsAtPos(i.head,i.assoc||1);a&&(r=o.bottom+n.documentTop-a.bottom+n.defaultLineHeight/2)}return n.moveVertically(i,!0,r)}).map(t);return n.dispatch({changes:t,selection:s,scrollIntoView:!0,userEvent:"delete.line"}),!0};function $7(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=fa(n).resolveInner(e),s=t.childBefore(e),i=t.childAfter(e),r;return s&&i&&s.to<=e&&i.from>=e&&(r=s.type.prop(st.closedBy))&&r.indexOf(i.name)>-1&&n.doc.lineAt(s.to).from==n.doc.lineAt(i.from).from&&!/\S/.test(n.sliceDoc(s.to,i.from))?{from:s.to,to:i.from}:null}const NE=RO(!1),T7=RO(!0);function RO(n){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let s=e.changeByRange(i=>{let{from:r,to:o}=i,a=e.doc.lineAt(r),l=!n&&r==o&&$7(e,r);n&&(r=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new d0(e,{simulateBreak:r,simulateDoubleBreak:!!l}),h=qI(c,r);for(h==null&&(h=r0(/^\s*/.exec(e.doc.lineAt(r).text)[0],e.tabSize));oa.from&&r{let i=[];for(let o=s.from;o<=s.to;){let a=n.doc.lineAt(o);a.number>t&&(s.empty||s.to>a.from)&&(e(a,i,s),t=a.number),o=a.to+1}let r=n.changes(i);return{changes:i,range:re.range(r.mapPos(s.anchor,1),r.mapPos(s.head,1))}})}const P7=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),s=new d0(n,{overrideIndentation:r=>{let o=t[r];return o??-1}}),i=ck(n,(r,o,a)=>{let l=qI(s,r.from);if(l==null)return;/\S/.test(r.text)||(l=0);let c=/^\s*/.exec(r.text)[0],h=Yg(n,l);(c!=h||a.fromn.readOnly?!1:(e(n.update(ck(n,(t,s)=>{s.push({from:t.from,insert:n.facet(nk)})}),{userEvent:"input.indent"})),!0),IO=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(ck(n,(t,s)=>{let i=/^\s*/.exec(t.text)[0];if(!i)return;let r=r0(i,n.tabSize),o=0,a=Yg(n,Math.max(0,r-oc(n)));for(;o(n.setTabFocusMode(),!0),M7=[{key:"Ctrl-b",run:lO,shift:yO,preventDefault:!0},{key:"Ctrl-f",run:cO,shift:vO},{key:"Ctrl-p",run:dO,shift:_O},{key:"Ctrl-n",run:fO,shift:SO},{key:"Ctrl-a",run:YY,shift:c7},{key:"Ctrl-e",run:JY,shift:h7},{key:"Ctrl-d",run:EO},{key:"Ctrl-h",run:s_},{key:"Ctrl-k",run:v7},{key:"Ctrl-Alt-h",run:$O},{key:"Ctrl-o",run:_7},{key:"Ctrl-t",run:S7},{key:"Ctrl-v",run:n_}],I7=[{key:"ArrowLeft",run:lO,shift:yO,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:BY,shift:t7,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:ZY,shift:a7,preventDefault:!0},{key:"ArrowRight",run:cO,shift:vO,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:qY,shift:n7,preventDefault:!0},{mac:"Cmd-ArrowRight",run:XY,shift:l7,preventDefault:!0},{key:"ArrowUp",run:dO,shift:_O,preventDefault:!0},{mac:"Cmd-ArrowUp",run:RE,shift:IE},{mac:"Ctrl-ArrowUp",run:$E,shift:TE},{key:"ArrowDown",run:fO,shift:SO,preventDefault:!0},{mac:"Cmd-ArrowDown",run:ME,shift:OE},{mac:"Ctrl-ArrowDown",run:n_,shift:PE},{key:"PageUp",run:$E,shift:TE},{key:"PageDown",run:n_,shift:PE},{key:"Home",run:KY,shift:o7,preventDefault:!0},{key:"Mod-Home",run:RE,shift:IE},{key:"End",run:GY,shift:r7,preventDefault:!0},{key:"Mod-End",run:ME,shift:OE},{key:"Enter",run:NE,shift:NE},{key:"Mod-a",run:u7},{key:"Backspace",run:s_,shift:s_,preventDefault:!0},{key:"Delete",run:EO,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:$O,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:y7,preventDefault:!0},{mac:"Mod-Backspace",run:b7,preventDefault:!0},{mac:"Mod-Delete",run:w7,preventDefault:!0}].concat(M7.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),O7=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:VY,shift:s7},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:WY,shift:i7},{key:"Alt-ArrowUp",run:k7},{key:"Shift-Alt-ArrowUp",run:x7},{key:"Alt-ArrowDown",run:A7},{key:"Shift-Alt-ArrowDown",run:E7},{key:"Mod-Alt-ArrowUp",run:p7},{key:"Mod-Alt-ArrowDown",run:m7},{key:"Escape",run:g7},{key:"Mod-Enter",run:T7},{key:"Alt-l",mac:"Ctrl-l",run:d7},{key:"Mod-i",run:f7,preventDefault:!0},{key:"Mod-[",run:IO},{key:"Mod-]",run:MO},{key:"Mod-Alt-\\",run:P7},{key:"Shift-Mod-k",run:C7},{key:"Shift-Mod-\\",run:e7},{key:"Mod-/",run:kY},{key:"Alt-A",mac:"Ctrl-A",run:xY},{key:"Ctrl-m",mac:"Shift-Alt-m",run:R7}].concat(I7),N7={key:"Tab",run:MO,shift:IO};function OO(n){function e(u,d){u.cmdState.push(d)}function t(u){return u.cmdState.length>0?u.cmdState[u.cmdState.length-1]:null}function s(u){var d=u.cmdState.pop();d&&d.closeBracket()}function i(u){for(var d=u.cmdState,p=d.length-1;p>=0;p--){var m=d[p];if(m.name!="DEFAULT")return m}return{styleIdentifier:function(){return null}}}function r(u,d,p){return function(){this.name=u,this.bracketNo=0,this.style=d,this.styles=p,this.argument=null,this.styleIdentifier=function(){return this.styles[this.bracketNo-1]||null},this.openBracket=function(){return this.bracketNo++,"bracket"},this.closeBracket=function(){}}}var o={};o.importmodule=r("importmodule","tag",["string","builtin"]),o.documentclass=r("documentclass","tag",["","atom"]),o.usepackage=r("usepackage","tag",["atom"]),o.begin=r("begin","tag",["atom"]),o.end=r("end","tag",["atom"]),o.label=r("label","tag",["atom"]),o.ref=r("ref","tag",["atom"]),o.eqref=r("eqref","tag",["atom"]),o.cite=r("cite","tag",["atom"]),o.bibitem=r("bibitem","tag",["atom"]),o.Bibitem=r("Bibitem","tag",["atom"]),o.RBibitem=r("RBibitem","tag",["atom"]),o.DEFAULT=function(){this.name="DEFAULT",this.style="tag",this.styleIdentifier=this.openBracket=this.closeBracket=function(){}};function a(u,d){u.f=d}function l(u,d){var p;if(u.match(/^\\[a-zA-Z@\xc0-\u1fff\u2060-\uffff]+/)){var m=u.current().slice(1);return p=o.hasOwnProperty(m)?o[m]:o.DEFAULT,p=new p,e(d,p),a(d,h),p.style}if(u.match(/^\\[$&%#{}_]/)||u.match(/^\\[,;!\/\\]/))return"tag";if(u.match("\\["))return a(d,function(v,y){return c(v,y,"\\]")}),"keyword";if(u.match("\\("))return a(d,function(v,y){return c(v,y,"\\)")}),"keyword";if(u.match("$$"))return a(d,function(v,y){return c(v,y,"$$")}),"keyword";if(u.match("$"))return a(d,function(v,y){return c(v,y,"$")}),"keyword";var g=u.next();if(g=="%")return u.skipToEnd(),"comment";if(g=="}"||g=="]"){if(p=t(d),p)p.closeBracket(g),a(d,h);else return"error";return"bracket"}else return g=="{"||g=="["?(p=o.DEFAULT,p=new p,e(d,p),"bracket"):/\d/.test(g)?(u.eatWhile(/[\w.%]/),"atom"):(u.eatWhile(/[\w\-_]/),p=i(d),p.name=="begin"&&(p.argument=u.current()),p.styleIdentifier())}function c(u,d,p){if(u.eatSpace())return null;if(p&&u.match(p))return a(d,l),"keyword";if(u.match(/^\\[a-zA-Z@]+/))return"tag";if(u.match(/^[a-zA-Z]+/))return"variableName.special";if(u.match(/^\\[$&%#{}_]/)||u.match(/^\\[,;!\/]/)||u.match(/^[\^_&]/))return"tag";if(u.match(/^[+\-<>|=,\/@!*:;'"`~#?]/))return null;if(u.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";var m=u.next();return m=="{"||m=="}"||m=="["||m=="]"||m=="("||m==")"?"bracket":m=="%"?(u.skipToEnd(),"comment"):"error"}function h(u,d){var p=u.peek(),m;return p=="{"||p=="["?(m=t(d),m.openBracket(p),u.eat(p),a(d,l),"bracket"):/[ \t\r]/.test(p)?(u.eat(p),null):(a(d,l),s(d),l(u,d))}return{name:"stex",startState:function(){var u=n?function(d,p){return c(d,p)}:l;return{cmdState:[],f:u}},copyState:function(u){return{cmdState:u.cmdState.slice(),f:u.f}},token:function(u,d){return d.f(u,d)},blankLine:function(u){u.f=l,u.cmdState.length=0},languageData:{commentTokens:{line:"%"}}}}const L7=OO(!1);OO(!0);const LE=typeof String.prototype.normalize=="function"?n=>n.normalize("NFKD"):n=>n;class hu{constructor(e,t,s=0,i=e.length,r,o){this.test=o,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(s,i),this.bufferStart=s,this.normalize=r?a=>r(LE(a)):LE,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return yM(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=a6(e),s=this.bufferStart+this.bufferPos;this.bufferPos+=vM(e);let i=this.normalize(t);if(i.length)for(let r=0,o=s,a=!0;;r++){let l=i.charCodeAt(r),c=this.match(l,o,a,this.bufferPos+this.bufferStart,r==i.length-1);if(c)return this.value=c,this;if(r==i.length-1)break;a&&rthis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let s=this.curLineStart+t.index,i=s+t[0].length;if(this.matchPos=Qg(this.text,i+(s==i?1:0)),s==this.curLineStart+this.curLine.length&&this.nextLine(),(sthis.value.to)&&(!this.test||this.test(s,i,t)))return this.value={from:s,to:i,precise:!0,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=s||i.to<=t){let a=new Xc(t,e.sliceString(t,s));return cv.set(e,a),a}if(i.from==t&&i.to==s)return i;let{text:r,from:o}=i;return o>t&&(r=e.sliceString(t,o)+r,o=t),i.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let s=this.flat.from+t.index,i=s+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(s,i,t)))return this.value={from:s,to:i,precise:!0,match:t},this.matchPos=Qg(this.text,i+(s==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Xc.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(LO.prototype[Symbol.iterator]=DO.prototype[Symbol.iterator]=function(){return this});function D7(n){try{return new RegExp(n,hk),!0}catch{return!1}}function Qg(n,e){if(e>=n.length)return e;let t=n.lineAt(e),s;for(;e=56320&&s<57344;)e++;return e}const F7=n=>{let{state:e}=n,t=String(e.doc.lineAt(n.state.selection.main.head).number),{close:s,result:i}=SX(n,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:t},focus:!0,submitLabel:e.phrase("go")});return i.then(r=>{let o=r&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(r.elements.line.value);if(!o){n.dispatch({effects:s});return}let a=e.doc.lineAt(e.selection.main.head),[,l,c,h,u]=o,d=h?+h.slice(1):0,p=c?+c:a.number;if(c&&u){let v=p/100;l&&(v=v*(l=="-"?-1:1)+a.number/e.doc.lines),p=Math.round(e.doc.lines*v)}else c&&l&&(p=p*(l=="-"?-1:1)+a.number);let m=e.doc.line(Math.max(1,Math.min(e.doc.lines,p))),g=re.cursor(m.from+Math.max(0,Math.min(d,m.length)));n.dispatch({effects:[s,$e.scrollIntoView(g.from,{y:"center"})],selection:g})}),!0},j7={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},z7=Ae.define({combine(n){return vu(n,j7,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function H7(n){return[W7,V7]}const B7=et.mark({class:"cm-selectionMatch"}),q7=et.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function DE(n,e,t,s){return(t==0||n(e.sliceDoc(t-1,t))!=Qt.Word)&&(s==e.doc.length||n(e.sliceDoc(s,s+1))!=Qt.Word)}function U7(n,e,t,s){return n(e.sliceDoc(t,t+1))==Qt.Word&&n(e.sliceDoc(s-1,s))==Qt.Word}const V7=Us.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.selectionSet||n.docChanged||n.viewportChanged)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=n.state.facet(z7),{state:t}=n,s=t.selection;if(s.ranges.length>1)return et.none;let i=s.main,r,o=null;if(i.empty){if(!e.highlightWordAroundCursor)return et.none;let l=t.wordAt(i.head);if(!l)return et.none;o=t.charCategorizer(i.head),r=t.sliceDoc(l.from,l.to)}else{let l=i.to-i.from;if(l200)return et.none;if(e.wholeWords){if(r=t.sliceDoc(i.from,i.to),o=t.charCategorizer(i.head),!(DE(o,t,i.from,i.to)&&U7(o,t,i.from,i.to)))return et.none}else if(r=t.sliceDoc(i.from,i.to),!r)return et.none}let a=[];for(let l of n.visibleRanges){let c=new hu(t.doc,r,l.from,l.to);for(;!c.next().done;){let{from:h,to:u}=c.value;if((!o||DE(o,t,h,u))&&(i.empty&&h<=i.from&&u>=i.to?a.push(q7.range(h,u)):(h>=i.to||u<=i.from)&&a.push(B7.range(h,u)),a.length>e.maxMatches))return et.none}}return et.set(a)}},{decorations:n=>n.decorations}),W7=$e.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),G7=({state:n,dispatch:e})=>{let{selection:t}=n,s=re.create(t.ranges.map(i=>n.wordAt(i.head)||re.cursor(i.head)),t.mainIndex);return s.eq(t)?!1:(e(n.update({selection:s})),!0)};function K7(n,e){let{main:t,ranges:s}=n.selection,i=n.wordAt(t.head),r=i&&i.from==t.from&&i.to==t.to;for(let o=!1,a=new hu(n.doc,e,s[s.length-1].to);;)if(a.next(),a.done){if(o)return null;a=new hu(n.doc,e,0,Math.max(0,s[s.length-1].from-1)),o=!0}else{if(o&&s.some(l=>l.from==a.value.from))continue;if(r){let l=n.wordAt(a.value.from);if(!l||l.from!=a.value.from||l.to!=a.value.to)continue}return a.value}}const Z7=({state:n,dispatch:e})=>{let{ranges:t}=n.selection;if(t.some(r=>r.from===r.to))return G7({state:n,dispatch:e});let s=n.sliceDoc(t[0].from,t[0].to);if(n.selection.ranges.some(r=>n.sliceDoc(r.from,r.to)!=s))return!1;let i=K7(n,s);return i?(e(n.update({selection:n.selection.addRange(re.range(i.from,i.to),!1),effects:$e.scrollIntoView(i.to)})),!0):!1},wu=Ae.define({combine(n){return vu(n,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new cJ(e),scrollToMatch:e=>$e.scrollIntoView(e)})}});class FO{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||D7(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,s)=>s=="n"?` +`:s=="r"?"\r":s=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new tJ(this):new J7(this)}getCursor(e,t=0,s){let i=e.doc?e:at.create({doc:e});return s==null&&(s=i.doc.length),this.regexp?Rc(this,i,t,s):Pc(this,i,t,s)}}class jO{constructor(e){this.spec=e}}function X7(n,e,t){return(s,i,r,o)=>{if(t&&!t(s,i,r,o))return!1;let a=s>=o&&i<=o+r.length?r.slice(s-o,i-o):e.doc.sliceString(s,i);return n(a,e,s,i)}}function Pc(n,e,t,s){let i;return n.wholeWord&&(i=Y7(e.doc,e.charCategorizer(e.selection.main.head))),n.test&&(i=X7(n.test,e,i)),new hu(e.doc,n.unquoted,t,s,n.caseSensitive?void 0:r=>r.toLowerCase(),i)}function Y7(n,e){return(t,s,i,r)=>((r>t||r+i.length=t)return null;i.push(s.value)}return i}highlight(e,t,s,i){let r=Pc(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(s+this.spec.unquoted.length,e.doc.length));for(;!r.next().done;)i(r.value.from,r.value.to)}}function Q7(n,e,t){return(s,i,r)=>(!t||t(s,i,r))&&n(r[0],e,s,i)}function Rc(n,e,t,s){let i;return n.wholeWord&&(i=eJ(e.charCategorizer(e.selection.main.head))),n.test&&(i=Q7(n.test,e,i)),new LO(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:i},t,s)}function ey(n,e){return n.slice(xn(n,e,!1),e)}function ty(n,e){return n.slice(e,xn(n,e))}function eJ(n){return(e,t,s)=>!s[0].length||(n(ey(s.input,s.index))!=Qt.Word||n(ty(s.input,s.index))!=Qt.Word)&&(n(ty(s.input,s.index+s[0].length))!=Qt.Word||n(ey(s.input,s.index+s[0].length))!=Qt.Word)}class tJ extends jO{nextMatch(e,t,s){let i=Rc(this.spec,e,s,e.doc.length).next();return i.done&&(i=Rc(this.spec,e,0,t).next()),i.done?null:i.value}prevMatchInRange(e,t,s){for(let i=1;;i++){let r=Math.max(t,s-i*1e4),o=Rc(this.spec,e,r,s),a=null;for(;!o.next().done;)a=o.value;if(a&&(r==t||a.from>r+10))return a;if(r==t)return null}}prevMatch(e,t,s){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,s,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,s)=>{if(s=="&")return e.match[0];if(s=="$")return"$";for(let i=s.length;i>0;i--){let r=+s.slice(0,i);if(r>0&&r=t)return null;i.push(s.value)}return i}highlight(e,t,s,i){let r=Rc(this.spec,e,Math.max(0,t-250),Math.min(s+250,e.doc.length));for(;!r.next().done;)i(r.value.from,r.value.to)}}const zd=Et.define(),uk=Et.define(),ra=Sr.define({create(n){return new hv(i_(n).create(),null)},update(n,e){for(let t of e.effects)t.is(zd)?n=new hv(t.value.create(),n.panel):t.is(uk)&&(n=new hv(n.query,t.value?dk:null));return n},provide:n=>Kg.from(n,e=>e.panel)});class hv{constructor(e,t){this.query=e,this.panel=t}}const nJ=et.mark({class:"cm-searchMatch"}),sJ=et.mark({class:"cm-searchMatch cm-searchMatch-selected"}),iJ=Us.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(ra))}update(n){let e=n.state.field(ra);(e!=n.startState.field(ra)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return et.none;let{view:t}=this,s=new Md;for(let i=0,r=t.visibleRanges,o=r.length;ir[i+1].from-2*250;)l=r[++i].to;n.highlight(t.state,a,l,(c,h)=>{let u=t.state.selection.ranges.some(d=>d.from==c&&d.to==h);s.add(c,h,u?sJ:nJ)})}return s.finish()}},{decorations:n=>n.decorations});function Cp(n){return e=>{let t=e.state.field(ra,!1);return t&&t.query.spec.valid?n(e,t):BO(e)}}const ny=Cp((n,{query:e})=>{let{to:t}=n.state.selection.main,s=e.nextMatch(n.state,t,t);if(!s)return!1;let i=re.single(s.from,s.to),r=n.state.facet(wu);return n.dispatch({selection:i,effects:[fk(n,s),r.scrollToMatch(i.main,n)],userEvent:"select.search"}),HO(n),!0}),sy=Cp((n,{query:e})=>{let{state:t}=n,{from:s}=t.selection.main,i=e.prevMatch(t,s,s);if(!i)return!1;let r=re.single(i.from,i.to),o=n.state.facet(wu);return n.dispatch({selection:r,effects:[fk(n,i),o.scrollToMatch(r.main,n)],userEvent:"select.search"}),HO(n),!0}),rJ=Cp((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?!1:(n.dispatch({selection:re.create(t.map(s=>re.range(s.from,s.to))),userEvent:"select.search.matches"}),!0)}),oJ=({state:n,dispatch:e})=>{let t=n.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:s,to:i}=t.main,r=[],o=0;for(let a=new hu(n.doc,n.sliceDoc(s,i));!a.next().done;){if(r.length>1e3)return!1;a.value.from==s&&(o=r.length),r.push(re.range(a.value.from,a.value.to))}return e(n.update({selection:re.create(r,o),userEvent:"select.search.matches"})),!0},FE=Cp((n,{query:e})=>{let{state:t}=n,{from:s,to:i}=t.selection.main;if(t.readOnly)return!1;let r=e.nextMatch(t,s,s);if(!r)return!1;let o=r,a=[],l,c,h=[];o.precise?o.from==s&&o.to==i&&(c=t.toText(e.getReplacement(o)),a.push({from:o.from,to:o.to,insert:c}),o=e.nextMatch(t,o.from,o.to),h.push($e.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(s).number)+"."))):o=e.nextMatch(t,o.from,o.to);let u=n.state.changes(a);return o&&(l=re.single(o.from,o.to).map(u),h.push(fk(n,o)),h.push(t.facet(wu).scrollToMatch(l.main,n))),n.dispatch({changes:u,selection:l,effects:h,userEvent:"input.replace"}),!0}),aJ=Cp((n,{query:e})=>{if(n.state.readOnly)return!1;let t=[];for(let i of e.matchAll(n.state,1e9)){let{from:r,to:o,precise:a}=i;a&&t.push({from:r,to:o,insert:e.getReplacement(i)})}if(!t.length)return!1;let s=n.state.phrase("replaced $ matches",t.length)+".";return n.dispatch({changes:t,effects:$e.announce.of(s),userEvent:"input.replace.all"}),!0});function dk(n){return n.state.facet(wu).createPanel(n)}function i_(n,e){var t,s,i,r,o;let a=n.selection.main,l=a.empty||a.to>a.from+100?"":n.sliceDoc(a.from,a.to);if(e&&!l)return e;let c=n.facet(wu);return new FO({search:((t=e==null?void 0:e.literal)!==null&&t!==void 0?t:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(s=e==null?void 0:e.caseSensitive)!==null&&s!==void 0?s:c.caseSensitive,literal:(i=e==null?void 0:e.literal)!==null&&i!==void 0?i:c.literal,regexp:(r=e==null?void 0:e.regexp)!==null&&r!==void 0?r:c.regexp,wholeWord:(o=e==null?void 0:e.wholeWord)!==null&&o!==void 0?o:c.wholeWord})}function zO(n){let e=II(n,dk);return e&&e.dom.querySelector("[main-field]")}function HO(n){let e=zO(n);e&&e==n.root.activeElement&&e.select()}const BO=n=>{let e=n.state.field(ra,!1);if(e&&e.panel){let t=zO(n);if(t&&t!=n.root.activeElement){let s=i_(n.state,e.query.spec);s.valid&&n.dispatch({effects:zd.of(s)}),t.focus(),t.select()}}else n.dispatch({effects:[uk.of(!0),e?zd.of(i_(n.state,e.query.spec)):Et.appendConfig.of(uJ)]});return!0},qO=n=>{let e=n.state.field(ra,!1);if(!e||!e.panel)return!1;let t=II(n,dk);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:uk.of(!1)}),!0},lJ=[{key:"Mod-f",run:BO,scope:"editor search-panel"},{key:"F3",run:ny,shift:sy,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:ny,shift:sy,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:qO,scope:"editor search-panel"},{key:"Mod-Shift-l",run:oJ},{key:"Mod-Alt-g",run:F7},{key:"Mod-d",run:Z7,preventDefault:!0}];class cJ{constructor(e){this.view=e;let t=this.query=e.state.field(ra).query.spec;this.commit=this.commit.bind(this),this.searchField=An("input",{value:t.search,placeholder:Ps(e,"Find"),"aria-label":Ps(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=An("input",{value:t.replace,placeholder:Ps(e,"Replace"),"aria-label":Ps(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=An("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=An("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=An("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function s(i,r,o){return An("button",{class:"cm-button",name:i,onclick:r,type:"button"},o)}this.dom=An("div",{onkeydown:i=>this.keydown(i),class:"cm-search"},[this.searchField,s("next",()=>ny(e),[Ps(e,"next")]),s("prev",()=>sy(e),[Ps(e,"previous")]),s("select",()=>rJ(e),[Ps(e,"all")]),An("label",null,[this.caseField,Ps(e,"match case")]),An("label",null,[this.reField,Ps(e,"regexp")]),An("label",null,[this.wordField,Ps(e,"by word")]),...e.state.readOnly?[]:[An("br"),this.replaceField,s("replace",()=>FE(e),[Ps(e,"replace")]),s("replaceAll",()=>aJ(e),[Ps(e,"replace all")])],An("button",{name:"close",onclick:()=>qO(e),"aria-label":Ps(e,"close"),type:"button"},["×"])])}commit(){let e=new FO({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:zd.of(e)}))}keydown(e){lX(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?sy:ny)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),FE(this.view))}update(e){for(let t of e.transactions)for(let s of t.effects)s.is(zd)&&!s.value.eq(this.query)&&this.setQuery(s.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(wu).top}}function Ps(n,e){return n.state.phrase(e)}const gm=30,ym=/[\s\.,:;?!]/;function fk(n,{from:e,to:t}){let s=n.state.doc.lineAt(e),i=n.state.doc.lineAt(t).to,r=Math.max(s.from,e-gm),o=Math.min(i,t+gm),a=n.state.sliceDoc(r,o);if(r!=s.from){for(let l=0;la.length-gm;l--)if(!ym.test(a[l-1])&&ym.test(a[l])){a=a.slice(0,l);break}}return $e.announce.of(`${n.state.phrase("current match")}. ${a} ${n.state.phrase("on line")} ${s.number}.`)}const hJ=$e.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),uJ=[ra,i0.low(iJ),hJ],dJ=({path:n,value:e,readOnly:t,onChange:s})=>{const i=se.useRef(null),r=se.useRef(null),o=se.useRef(new Sp),a=se.useRef(s);return a.current=s,se.useEffect(()=>{if(!i.current)return;const l=at.create({doc:e,extensions:[MX(),pX(),bX(),MY(),H7(),dY(),ik.define(L7),CI.of([...O7,...HY,...lJ,N7]),$e.contentAttributes.of({"aria-label":`Editing ${n}`,class:"ph-no-capture","data-ph-no-autocapture":"true","data-ph-no-capture":"true"}),o.current.of($e.editable.of(!t)),$e.updateListener.of(c=>{c.docChanged&&a.current(c.state.doc.toString())})]});return r.current=new $e({state:l,parent:i.current}),()=>{var c;return(c=r.current)==null?void 0:c.destroy()}},[n]),se.useEffect(()=>{const l=r.current;!l||l.state.doc.toString()===e||l.dispatch({changes:{from:0,to:l.state.doc.length,insert:e}})},[e]),se.useEffect(()=>{var l;(l=r.current)==null||l.dispatch({effects:o.current.reconfigure($e.editable.of(!t))})},[t]),k.jsx("div",{className:"latex-source-editor ph-no-capture","data-ph-no-autocapture":"true","data-ph-no-capture":"true","data-testid":"latex-source-editor",ref:i})},fJ="pwc:artifact-navigation";function uQ(){return typeof window>"u"?!0:window.dispatchEvent(new Event(fJ,{cancelable:!0}))}const UO=()=>({open:!1,selectedKey:null,selected:null,selectedVersionId:null,tab:"preview",sourceFile:null,panelPercent:55,requestNonce:0,registry:{},autoOpened:{},manuallyClosed:{}});function pJ(n,e){if(e.type==="reset")return{...UO(),panelPercent:n.panelPercent};if(e.type==="register"){const t=n.registry[e.key];if(t&&JSON.stringify(t)===JSON.stringify(e.block))return n;const s={...n.registry,[e.key]:e.block},i=n.selectedKey===e.key?e.block:n.selected,r=(t==null?void 0:t.status)==="generating"&&e.block.status==="ready",o=e.autoOpenOnMount&&!t&&e.block.status==="ready"&&!Object.values(n.autoOpened).some(Boolean);return(r||o)&&!n.autoOpened[e.key]&&!n.manuallyClosed[e.key]?{...n,registry:s,open:!0,selectedKey:e.key,selected:e.block,selectedVersionId:e.block.version_id??null,tab:"preview",sourceFile:null,requestNonce:n.requestNonce+1,autoOpened:{...n.autoOpened,[e.key]:!0}}:{...n,registry:s,selected:i}}return e.type==="unregister"?n:e.type==="open"?{...n,open:!0,selectedKey:e.key,selected:e.block,selectedVersionId:e.block.version_id??null,tab:"preview",sourceFile:null,requestNonce:n.requestNonce+1,manuallyClosed:{...n.manuallyClosed,[e.key]:!1}}:e.type==="close"?{...n,open:!1,manuallyClosed:n.selectedKey?{...n.manuallyClosed,[n.selectedKey]:!0}:n.manuallyClosed}:e.type==="tab"?{...n,tab:e.tab}:e.type==="source"?{...n,sourceFile:e.path}:e.type==="version"?{...n,selectedVersionId:e.versionId,tab:"preview",sourceFile:null}:{...n,panelPercent:e.percent}}function r_(n){return n.publication_id||n.public_capability||n.version_id||`${n.scope}:${n.identifier}:${n.version??"pending"}`}const VO=se.createContext(null),dQ=({children:n,workspaceKey:e,autoOpenOnMount:t=!1,onAskAiFix:s})=>{const[i,r]=se.useReducer(pJ,void 0,UO),o=se.useRef(null),a=se.useRef(e);se.useEffect(()=>{a.current!==e&&(a.current=e,o.current=null,r({type:"reset"}))},[e]);const l=se.useCallback(()=>{r({type:"close"}),window.setTimeout(()=>{var _;(_=o.current)!=null&&_.isConnected&&o.current.focus()},0)},[]),c=se.useCallback(_=>r({type:"register",key:r_(_),block:_,autoOpenOnMount:t}),[t]),h=se.useCallback(_=>r({type:"unregister",key:_}),[]),u=se.useCallback((_,S)=>{const A=document.activeElement;o.current=S??(A instanceof HTMLElement&&A!==document.body?A:null),r({type:"open",key:r_(_),block:_})},[]),d=se.useCallback(_=>r({type:"tab",tab:_}),[]),p=se.useCallback(_=>r({type:"source",path:_}),[]),m=se.useCallback(_=>r({type:"version",versionId:_}),[]),g=se.useCallback(_=>r({type:"width",percent:_}),[]),v=se.useCallback(_=>s==null?void 0:s(_),[s]),y=se.useCallback(()=>r({type:"reset"}),[]),b=se.useMemo(()=>({state:i,autoOpenOnMount:t,register:c,unregister:h,open:u,close:l,setTab:d,setSourceFile:p,setVersion:m,setPanelPercent:g,askAiToFix:v,reset:y}),[v,t,l,u,c,y,g,p,d,m,i,h]);return k.jsx(VO.Provider,{value:b,children:n})};function $p(){const n=se.useContext(VO);if(!n)throw new Error("Poster artifacts require an ArtifactPanelProvider");return n}function mJ(n,e,t){return sn(`/api/v1/chat/artifacts/${encodeURIComponent(n)}/versions/${encodeURIComponent(e)}/source/${t.split("/").map(encodeURIComponent).join("/")}`)}function gJ(n,e,t){return sn(`/api/v1/chat/artifacts/${encodeURIComponent(n)}/versions/${encodeURIComponent(e)}/figures/${t.split("/").map(encodeURIComponent).join("/")}`)}function yJ(n){return sn(`/api/v1/chat/artifacts/${encodeURIComponent(n)}/export/pdf`)}function jE(n,e){return sn(`/api/v1/chat/artifacts/${encodeURIComponent(n)}/versions/${encodeURIComponent(e)}/export/source.zip`)}function vm(n){return`pwc:latex-paper-draft:${n}`}function vJ(n,e){const t=Object.keys(n).sort(),s=Object.keys(e).sort();return t.length===s.length&&t.every((i,r)=>i===s[r]&&n[i]===e[i])}function zE(n){return!n.includes("\\")&&/^(?!\/)(?!.*(?:^|\/)\.\.?\/)[^\0]{1,300}\.(?:tex|bib)$/iu.test(n)}function bJ(n){var s,i;const e=((s=n.provenance)==null?void 0:s.action)??(n.actor_type==="restore"?"restore":n.actor_type==="ai"?"ai_draft":"human_save"),t={human_save:"Human save",ai_draft:"AI draft",ai_repair:"AI repair",restore:"Restore"}[e];return(i=n.provenance)!=null&&i.model_identity?`${t} · ${n.provenance.model_identity}`:t}const wJ=({block:n,forceDialog:e=!1})=>{var xe,Ke,Qe,it,wt,Cn,Vn,_a,fc;const t=$p(),s=JO(),i=t.close,[r,o]=se.useState(()=>{var V;return typeof window<"u"&&((V=window.matchMedia)==null?void 0:V.call(window,"(max-width: 760px)").matches)}),[a,l]=se.useState({}),[c,h]=se.useState({}),[u,d]=se.useState(null),[p,m]=se.useState(!1),[g,v]=se.useState(!1),[y,b]=se.useState(null),[_,S]=se.useState(!1),[A,E]=se.useState(null),$=se.useRef(null),O=se.useRef(null),F=se.useRef(!1),q=e||r,N=u!==null&&!vJ(a,c);se.useEffect(()=>{var Ne,_t;const V=(Ne=window.matchMedia)==null?void 0:Ne.call(window,"(max-width: 760px)");if(!V)return;const Se=()=>o(V.matches);return Se(),(_t=V.addEventListener)==null||_t.call(V,"change",Se),()=>{var on;return(on=V.removeEventListener)==null?void 0:on.call(V,"change",Se)}},[]),se.useEffect(()=>{var Ne,_t;if(!q)return;(_t=(Ne=O.current)==null?void 0:Ne.querySelector("[data-artifact-close]"))==null||_t.focus(),window.history.pushState({...window.history.state,pwcArtifactPanel:!0},""),F.current=!0;const V=()=>{if(N&&!window.confirm("Leave this view? Unsaved paper edits remain in this browser.")){window.history.pushState({...window.history.state,pwcArtifactPanel:!0},""),F.current=!0;return}F.current=!1,i()},Se=on=>{on.key==="Escape"&&(on.preventDefault(),!(N&&!window.confirm("Leave this view? Unsaved paper edits remain in this browser."))&&(i(),F.current&&(F.current=!1,window.history.back())))};return window.addEventListener("popstate",V),document.addEventListener("keydown",Se),()=>{window.removeEventListener("popstate",V),document.removeEventListener("keydown",Se)}},[i,q,N]),se.useEffect(()=>{if(!q)return;const V=Se=>{if(Se.key!=="Tab"||!O.current)return;const Ne=[...O.current.querySelectorAll('button:not([disabled]), a[href], input:not([disabled]), select:not([disabled]), [contenteditable="true"], [tabindex]:not([tabindex="-1"])')];if(!Ne.length)return;const _t=Ne[0],on=Ne.at(-1);Se.shiftKey&&document.activeElement===_t?(Se.preventDefault(),on.focus()):!Se.shiftKey&&document.activeElement===on&&(Se.preventDefault(),_t.focus())};return document.addEventListener("keydown",V),()=>document.removeEventListener("keydown",V)},[q]),se.useEffect(()=>{const V=Se=>{N&&(Se.preventDefault(),Se.returnValue="")};return window.addEventListener("beforeunload",V),()=>window.removeEventListener("beforeunload",V)},[N]),se.useEffect(()=>{const V=Se=>{N&&!window.confirm("Leave this view? Unsaved paper edits remain in this browser.")&&Se.preventDefault()};return window.addEventListener("pwc:artifact-navigation",V),()=>window.removeEventListener("pwc:artifact-navigation",V)},[N]);const z=Yo({queryKey:["chat-latex-paper",n.artifact_id],queryFn:async()=>{const V=await fetch(sn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}`),{credentials:"include",cache:"no-store"});if(!V.ok)throw new Error("Could not load paper details");return V.json()},enabled:!!n.artifact_id,staleTime:5e3}),G=z.data,L=G==null?void 0:G.source_head,J=G==null?void 0:G.preview_head,Q=Yo({queryKey:["chat-latex-paper-history",n.artifact_id,A],queryFn:async()=>{const V=new URLSearchParams({limit:"20"});A&&V.set("cursor",A);const Se=await fetch(sn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/versions?${V}`),{credentials:"include",cache:"no-store"});if(!Se.ok)throw new Error("Could not load paper history");return Se.json()},enabled:_&&!!n.artifact_id,staleTime:Number.POSITIVE_INFINITY}),ee=Yo({queryKey:["chat-latex-paper-manifest",n.artifact_id,L==null?void 0:L.version_id],queryFn:async()=>{const V=await fetch(sn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/versions/${encodeURIComponent(L.version_id)}/manifest`),{credentials:"include",cache:"no-store"});if(!V.ok)throw new Error("Could not load paper files");return V.json()},enabled:t.state.tab==="files"&&!!(L!=null&&L.version_id),staleTime:Number.POSITIVE_INFINITY}),ae=((xe=ee.data)==null?void 0:xe.files.filter(V=>V.media_type==="text/x-tex"||V.media_type==="application/x-bibtex"))??[],ye=((Ke=ee.data)==null?void 0:Ke.files.filter(V=>V.media_type==="image/png"||V.media_type==="image/jpeg"||V.media_type==="application/pdf"))??[],B=Yo({queryKey:["chat-latex-paper-source-files",n.artifact_id,L==null?void 0:L.version_id],queryFn:async()=>Object.fromEntries(await Promise.all(ae.map(async V=>{const Se=await fetch(mJ(n.artifact_id,L.version_id,V.path),{credentials:"include",cache:"no-store"});if(!Se.ok)throw new Error("Could not load paper source");return[V.path,await Se.text()]}))),enabled:t.state.tab==="files"&&!!(L!=null&&L.version_id&&ae.length),staleTime:Number.POSITIVE_INFINITY});se.useEffect(()=>{m(!1)},[L==null?void 0:L.version_id]),se.useEffect(()=>{var on;if(!(L!=null&&L.version_id)||!B.data||$.current===L.version_id)return;const V=B.data;let Se=V,Ne=!1,_t=L.version_id;try{const _u=window.localStorage.getItem(vm(n.artifact_id)),Sa=_u?JSON.parse(_u):null;Sa!=null&&Sa.files&&typeof Sa.files=="object"&&(Se=Sa.files,Ne=Sa.parentVersionId!==L.version_id,_t=Sa.parentVersionId)}catch{}$.current=L.version_id,l(Se),h(V),d(_t),v(Ne),m(!0),Ne&&b("This local draft is based on an older paper version. Copy or discard it before saving the latest version."),(!t.state.sourceFile||!Se[t.state.sourceFile])&&t.setSourceFile(((on=ee.data)==null?void 0:on.root_document)??null)},[n.artifact_id,(Qe=ee.data)==null?void 0:Qe.root_document,t,L==null?void 0:L.version_id,B.data]),se.useEffect(()=>{if(!u||!n.artifact_id)return;const V=vm(n.artifact_id);if(!N){window.localStorage.removeItem(V);return}window.localStorage.setItem(V,JSON.stringify({parentVersionId:u,files:a}))},[n.artifact_id,N,u,a]);const P=Pp({mutationFn:async()=>{var Ne;if(!(L!=null&&L.version_id))throw new Error("Paper source is not ready to save");const V=await fetch(sn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/save-compile`),{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({expected_parent_version_id:L.version_id,files:Object.entries(a).map(([_t,on])=>({path:_t,content:on}))})}),Se=await V.json().catch(()=>null);if(!V.ok)throw new Error(((Ne=Se==null?void 0:Se.detail)==null?void 0:Ne.message)??"Could not save paper");return Se},onSuccess:V=>{var Se,Ne;s.setQueryData(["chat-latex-paper",n.artifact_id],V),s.invalidateQueries({queryKey:["chat-latex-paper-manifest",n.artifact_id]}),s.invalidateQueries({queryKey:["chat-latex-paper-source-files",n.artifact_id]}),$.current=((Se=V.source_head)==null?void 0:Se.version_id)??null,h(a),d(((Ne=V.source_head)==null?void 0:Ne.version_id)??null),window.localStorage.removeItem(vm(n.artifact_id)),b(null),v(!1),t.setTab("preview")},onError:V=>b(V instanceof Error?V.message:"Could not save paper")}),D=Pp({mutationFn:async V=>{var _t;if(!(L!=null&&L.version_id))throw new Error("Paper source is not ready to restore");const Se=await fetch(sn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/versions/restore`),{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({source_version_id:V,expected_parent_version_id:L.version_id})}),Ne=await Se.json().catch(()=>null);if(!Se.ok)throw new Error(((_t=Ne==null?void 0:Ne.detail)==null?void 0:_t.message)??"Could not restore paper version");return Ne},onSuccess:V=>{s.setQueryData(["chat-latex-paper",n.artifact_id],V),s.invalidateQueries({queryKey:["chat-latex-paper-history",n.artifact_id]}),s.invalidateQueries({queryKey:["chat-latex-paper-manifest",n.artifact_id]}),s.invalidateQueries({queryKey:["chat-latex-paper-source-files",n.artifact_id]}),$.current=null,m(!1),E(null),b(null),t.setTab("preview")},onError:V=>b(V instanceof Error?V.message:"Could not restore paper version")}),M=Pp({mutationFn:async V=>{var on;if(!(L!=null&&L.version_id))throw new Error("Paper source is not ready to upload a figure");if(N)throw new Error("Save or discard text edits before uploading a figure");const Se=new FormData;Se.set("expected_parent_version_id",L.version_id),Se.set("path",`figures/${V.name}`),Se.set("figure",V);const Ne=await fetch(sn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/figures`),{method:"POST",credentials:"include",body:Se}),_t=await Ne.json().catch(()=>null);if(!Ne.ok)throw new Error(((on=_t==null?void 0:_t.detail)==null?void 0:on.message)??"Could not upload figure");return _t},onSuccess:V=>{s.setQueryData(["chat-latex-paper",n.artifact_id],V),s.invalidateQueries({queryKey:["chat-latex-paper-manifest",n.artifact_id]}),s.invalidateQueries({queryKey:["chat-latex-paper-source-files",n.artifact_id]}),b(null)},onError:V=>b(V instanceof Error?V.message:"Could not upload figure")}),x=Pp({mutationFn:async()=>{const V=await fetch(sn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/refresh-compile`),{method:"POST",credentials:"include"});if(!V.ok)throw new Error("Could not refresh paper compilation");return V.json()},onSuccess:V=>s.setQueryData(["chat-latex-paper",n.artifact_id],V)}).mutate,I=L==null?void 0:L.version_id,K=L==null?void 0:L.compile_status;se.useEffect(()=>{if(!I||!n.artifact_id||!["queued","compiling"].includes(K??""))return;const V=window.setTimeout(()=>x(),2e3);return()=>window.clearTimeout(V)},[n.artifact_id,x,K,I]);const X=t.state.sourceFile??((it=ee.data)==null?void 0:it.root_document)??null,ue=(G==null?void 0:G.editing_enabled)===!0&&!!(L!=null&&L.version_id)&&p&&!g&&!P.isPending,oe=new Map(((wt=Q.data)==null?void 0:wt.items.map(V=>[V.version_id,V.version]))??[]),H=J?sn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/versions/${encodeURIComponent(J.version_id)}/preview`):null,U=!!(L&&J&&L.version_id!==J.version_id),Y=()=>!N||window.confirm("Leave this view? Unsaved paper edits remain in this browser."),ie=V=>V!==t.state.tab&&!Y()?!1:(t.setTab(V),!0),ce=V=>{var Ne,_t;if(!["ArrowLeft","ArrowRight","Home","End"].includes(V.key))return;V.preventDefault();const Se=V.key==="ArrowLeft"||V.key==="Home"?"preview":"files";ie(Se)&&((_t=(Ne=V.currentTarget.parentElement)==null?void 0:Ne.querySelector(`#paper-${Se}-tab`))==null||_t.focus())},_e=V=>{V!==X&&N&&!window.confirm("Switch files? Unsaved edits stay in this browser.")||t.setSourceFile(V)},Ze=()=>{const V=window.prompt("New TeX or BibTeX file name","section.tex");if(V){if(!zE(V)||a[V]){b("Choose a new safe .tex or .bib filename.");return}if(Object.keys(a).length>=100){b("A paper can contain at most 100 files.");return}l({...a,[V]:""}),b(null),t.setSourceFile(V)}},yt=()=>{var Ne;if(!X||X===((Ne=ee.data)==null?void 0:Ne.root_document))return;const V=window.prompt("Rename file",X);if(!V||V===X)return;if(!zE(V)||a[V]){b("Choose a new safe .tex or .bib filename.");return}const Se={...a,[V]:a[X]};delete Se[X],l(Se),t.setSourceFile(V)},vt=()=>{var Se,Ne;if(!X||X===((Se=ee.data)==null?void 0:Se.root_document)||!window.confirm(`Delete ${X}?`))return;const V={...a};delete V[X],l(V),t.setSourceFile(((Ne=ee.data)==null?void 0:Ne.root_document)??null)},bt=()=>{!g||!window.confirm("Discard this stale local draft?")||(window.localStorage.removeItem(vm(n.artifact_id)),l(c),d((L==null?void 0:L.version_id)??null),v(!1),b(null))},ct=()=>{Y()&&(i(),q&&F.current&&(F.current=!1,window.history.back()))},Un=()=>{if(!L||L.compile_status!=="failed"||L.repair_exhausted)return;const V=(L.compile_diagnostics??[]).slice(0,20).map(Se=>`${Se.file??"project"}${Se.line?`:${Se.line}`:""}: ${Se.message}`).join(` +`);t.askAiToFix(`Repair the failed paper source version ${L.version_id}. Use pwc-paper to inspect and repair it; make no more than three attempts. Compiler diagnostics: +${V||"No compiler diagnostic was available."}`)},fe=V=>{!V||!ie("files")||t.setSourceFile(V)};return k.jsxs("section",{ref:O,className:`chat-artifact-panel${q?" is-dialog":" is-docked"}`,role:q?"dialog":"complementary","aria-modal":q?!0:void 0,"aria-labelledby":"latex-paper-title","data-testid":"latex-paper-panel",children:[k.jsxs("header",{children:[k.jsxs("div",{children:[k.jsx("span",{children:"Private paper"}),k.jsx("h2",{id:"latex-paper-title",children:n.title}),k.jsxs("p",{className:"chat-paper-status",role:"status","aria-live":"polite",children:[L?`Source v${L.version} · ${L.compile_status}`:"Preparing paper source",U?" · Preview out of date":""]}),k.jsx("p",{className:"chat-paper-privacy-note",children:"This paper is private to this chat. Source, figures, and PDFs are stored privately; AI-authored text needs your review."})]}),k.jsxs("div",{className:"chat-artifact-header-actions",children:[k.jsx("button",{type:"button","aria-expanded":_,"aria-controls":"paper-version-history",onClick:()=>{E(null),S(!_)},children:"Version history"}),k.jsx("button",{type:"button","data-artifact-close":!0,"aria-label":q?"Back to conversation":"Close paper",onClick:ct,children:k.jsx(a_,{})})]})]}),k.jsxs("nav",{"aria-label":"Paper views",role:"tablist",children:[k.jsx("button",{type:"button",id:"paper-preview-tab",role:"tab","aria-selected":t.state.tab==="preview","aria-controls":"paper-preview-panel",tabIndex:t.state.tab==="preview"?0:-1,className:t.state.tab==="preview"?"active":"",onClick:()=>ie("preview"),onKeyDown:ce,children:"Preview"}),k.jsx("button",{type:"button",id:"paper-files-tab",role:"tab","aria-selected":t.state.tab==="files","aria-controls":"paper-files-panel",tabIndex:t.state.tab==="files"?0:-1,className:t.state.tab==="files"?"active":"",onClick:()=>ie("files"),onKeyDown:ce,children:"Files"})]}),k.jsxs("div",{id:t.state.tab==="preview"?"paper-preview-panel":"paper-files-panel",role:"tabpanel","aria-labelledby":t.state.tab==="preview"?"paper-preview-tab":"paper-files-tab",className:"chat-artifact-panel-body",children:[t.state.tab==="preview"?z.isError?k.jsxs("div",{role:"alert",children:["Could not load paper details. ",k.jsx("button",{type:"button",onClick:()=>void z.refetch(),children:"Retry paper details"})]}):H?k.jsx(Q8,{url:H,downloadUrl:yJ(n.artifact_id),paperKey:`${n.artifact_id}:${J==null?void 0:J.version_id}`,paperTitle:n.title,paperHref:"/chat",chrome:"canvas"},J==null?void 0:J.version_id):L?L.compile_status==="failed"?k.jsx("p",{role:"alert",children:"No compiled preview is available for this failed source version. Review the diagnostics or fix the paper in Files."}):["queued","compiling"].includes(L.compile_status)?k.jsx("p",{role:"status",children:"Preview is compiling. The stored source is available in Files."}):k.jsx("p",{role:"alert",children:"No compiled preview is available for this source version."}):k.jsx("p",{role:"status",children:"Paper source and compiled preview are not available yet."}):k.jsxs("div",{className:"chat-artifact-source-workspace",children:[k.jsxs("nav",{"aria-label":"Paper source files",children:[ae.map(V=>k.jsx("button",{type:"button","aria-pressed":X===V.path,onClick:()=>_e(V.path),children:V.path},V.path)),ue&&k.jsxs("button",{type:"button",className:"latex-file-action","aria-label":"Add TeX file",onClick:Ze,children:[k.jsx(bN,{})," Add file"]}),ue&&k.jsxs("label",{className:"latex-file-action",children:["Upload figure",k.jsx("input",{"aria-label":"Upload figure",type:"file",accept:"image/png,image/jpeg,application/pdf,.png,.jpg,.jpeg,.pdf",disabled:M.isPending,onChange:V=>{var Ne;const Se=(Ne=V.currentTarget.files)==null?void 0:Ne[0];V.currentTarget.value="",Se&&M.mutate(Se)}})]}),ye.map(V=>L&&k.jsx("a",{href:gJ(n.artifact_id,L.version_id,V.path),download:!0,children:V.path},V.path))]}),k.jsxs("div",{className:"latex-editor-column",children:[X&&a[X]!==void 0?k.jsx(dJ,{path:X,value:a[X],readOnly:!ue,onChange:V=>l({...a,[X]:V})}):k.jsx("p",{children:B.isError?"Source could not be loaded.":"Loading source…"}),ue&&X&&X!==((Cn=ee.data)==null?void 0:Cn.root_document)&&k.jsxs("div",{className:"latex-file-buttons",children:[k.jsxs("button",{type:"button",onClick:yt,children:[k.jsx(XE,{})," Rename"]}),k.jsxs("button",{type:"button",onClick:vt,children:[k.jsx(uN,{})," Delete"]})]})]})]}),_&&k.jsxs("section",{id:"paper-version-history",className:"chat-artifact-history","aria-label":"Paper version history",children:[k.jsx("h3",{children:"Version history"}),Q.isLoading&&k.jsx("p",{children:"Loading history…"}),Q.isError&&k.jsx("p",{role:"alert",children:"Paper history could not be loaded."}),(Vn=Q.data)==null?void 0:Vn.items.map(V=>{var Se,Ne,_t,on;return k.jsxs("article",{children:[k.jsxs("strong",{children:["v",V.version," · ",V.compile_status]}),k.jsx("span",{children:bJ(V)}),V.created_at&&k.jsx("time",{dateTime:V.created_at,children:V.created_at}),V.parent_version_id&&k.jsxs("span",{children:["Parent ",oe.has(V.parent_version_id)?`v${oe.get(V.parent_version_id)}`:V.parent_version_id]}),(Se=V.provenance)!=null&&Se.changed_files.length?k.jsxs("span",{children:["Changed: ",V.provenance.changed_files.join(", ")]}):null,((Ne=V.provenance)==null?void 0:Ne.restored_from_version_id)&&k.jsxs("span",{children:["Restored from ",V.provenance.restored_from_version_id]}),((_t=V.provenance)==null?void 0:_t.change_summary)&&k.jsx("p",{children:V.provenance.change_summary}),(on=V.provenance)==null?void 0:on.reference_changes.map(_u=>k.jsx("p",{children:_u},_u)),k.jsx("a",{href:jE(n.artifact_id,V.version_id),download:!0,children:"Source ZIP"}),(G==null?void 0:G.editing_enabled)&&(L==null?void 0:L.version_id)&&V.version_id!==L.version_id&&k.jsxs("button",{type:"button",disabled:D.isPending||N,onClick:()=>D.mutate(V.version_id),children:["Restore version ",V.version]})]},V.version_id)}),((_a=Q.data)==null?void 0:_a.next_cursor)&&k.jsx("button",{type:"button",onClick:()=>E(Q.data.next_cursor??null),children:"Load older versions"})]})]}),k.jsxs("footer",{children:[k.jsxs("div",{className:"chat-artifact-metadata","aria-live":"polite",children:[U&&k.jsx("strong",{children:"Out of date"}),(fc=L==null?void 0:L.compile_diagnostics)==null?void 0:fc.map((V,Se)=>k.jsxs("button",{type:"button",onClick:()=>fe(V.file),className:"latex-compile-diagnostic",children:[V.file?`${V.file}${V.line?`:${V.line}`:""}: `:"",V.message]},`${V.file??"global"}:${V.line??""}:${Se}`)),y&&k.jsx("span",{role:"alert",children:y}),g&&k.jsx("button",{type:"button",onClick:bt,children:"Discard stale local draft"})]}),k.jsxs("div",{className:"chat-artifact-actions",children:[(L==null?void 0:L.compile_status)==="failed"&&!L.repair_exhausted&&k.jsx("button",{type:"button",onClick:Un,children:"Ask AI to fix"}),(L==null?void 0:L.compile_status)==="failed"&&L.repair_exhausted&&k.jsx("span",{role:"status",children:"AI repair attempts exhausted"}),t.state.tab==="files"&&ue&&k.jsxs("button",{type:"button",disabled:!N,onClick:()=>P.mutate(),children:[k.jsx(_N,{}),P.isPending?"Saving…":"Save & Compile"]}),L&&k.jsxs("a",{href:jE(n.artifact_id,L.version_id),download:!0,children:[k.jsx(c_,{})," Source ZIP"]})]})]})]})},_J="https://github.com/Chenruishuo/posterly/tree/b9f42e5578a49a27525a68f85376bb3bb25af86f";function SJ(){if(typeof window>"u")return null;const n=window.location.pathname.match(/^\/share\/([^/]+)/u);return n?decodeURIComponent(n[1]):null}function WO(n){if(n.scope==="public"){const s=SJ();if(!s||!n.public_capability)return null;const i=`/api/v1/chat/shares/${encodeURIComponent(s)}/artifacts/${encodeURIComponent(n.public_capability)}`;return{preview:sn(`${i}/preview`),png:sn(`${i}/download/png`),pdf:sn(`${i}/download/pdf`),manifest:null,source:null,gate:null,download:null}}if(!n.artifact_id||!n.version_id)return null;const e=`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/versions/${encodeURIComponent(n.version_id)}`,t=(s,i)=>sn(`${e}/${s}/${i.split("/").map(encodeURIComponent).join("/")}`);return{preview:sn(`${e}/preview`),png:t("download","poster.png"),pdf:null,manifest:sn(`${e}/manifest`),source:s=>t("source",s),gate:s=>t("source",s),download:s=>t("download",s)}}const GO=n=>({passed:"Passed",warnings:"Passed with warnings",failed:"Draft—checks failed"})[n??"passed"];function kJ(){const[n,e]=se.useState(()=>{var t;return typeof window<"u"&&((t=window.matchMedia)==null?void 0:t.call(window,"(max-width: 760px)").matches)});return se.useEffect(()=>{var i,r;const t=(i=window.matchMedia)==null?void 0:i.call(window,"(max-width: 760px)");if(!t)return;const s=()=>e(t.matches);return s(),(r=t.addEventListener)==null||r.call(t,"change",s),()=>{var o;return(o=t.removeEventListener)==null?void 0:o.call(t,"change",s)}},[]),n}const AJ=({forceDialog:n=!1,readerFallback:e=!1})=>{var A,E,$,O;const t=$p(),s=t.close,{state:i}=t,r=i.selected,o=kJ(),a=n||o,l=se.useRef(null),c=se.useRef(!1),h=Yo({queryKey:["chat-artifact-versions",r==null?void 0:r.artifact_id],queryFn:async()=>{const F=await fetch(sn(`/api/v1/chat/artifacts/${encodeURIComponent(r.artifact_id)}`),{credentials:"include",cache:"no-store"});if(!F.ok)throw new Error("Could not load poster versions");return(await F.json()).versions},enabled:i.open&&(r==null?void 0:r.scope)==="owner"&&!!r.artifact_id,staleTime:Number.POSITIVE_INFINITY}),u=(A=h.data)==null?void 0:A.find(F=>F.version_id===i.selectedVersionId),d=r&&u?{...r,version_id:u.version_id,version:u.version,gate_status:u.gate_status,total_bytes:u.total_bytes}:r,p=d?WO(d):null,g=Yo({queryKey:["chat-artifact-manifest",d==null?void 0:d.version_id],queryFn:async()=>{const F=await fetch(p.manifest,{credentials:"include",cache:"no-store"});if(!F.ok)throw new Error("Could not load poster details");return F.json()},enabled:i.open&&(d==null?void 0:d.scope)==="owner"&&!!(p!=null&&p.manifest),staleTime:Number.POSITIVE_INFINITY}).data,v=i.sourceFile??(g==null?void 0:g.entrypoint)??null,y=Yo({queryKey:["chat-artifact-source",d==null?void 0:d.version_id,v],queryFn:async()=>{const F=await fetch(p.source(v),{credentials:"include",cache:"no-store"});if(!F.ok)throw new Error("Source could not be loaded");return F.text()},enabled:i.open&&i.tab==="source"&&(d==null?void 0:d.scope)==="owner"&&!!(v&&(p!=null&&p.source)),staleTime:Number.POSITIVE_INFINITY});if(se.useEffect(()=>{var q,N;if(!i.open||!a)return;(N=(q=l.current)==null?void 0:q.querySelector("[data-artifact-close]"))==null||N.focus(),window.history.pushState({...window.history.state,pwcArtifactPanel:!0},""),c.current=!0;const F=()=>{c.current=!1,s()};return window.addEventListener("popstate",F),()=>window.removeEventListener("popstate",F)},[s,a,i.open]),se.useEffect(()=>{if(!i.open||!a)return;const F=q=>{if(q.key==="Escape"){q.preventDefault(),s(),c.current&&(c.current=!1,window.history.back());return}if(q.key!=="Tab"||!l.current)return;const N=[...l.current.querySelectorAll('button:not([disabled]), a[href], select:not([disabled]), [tabindex]:not([tabindex="-1"])')];if(!N.length)return;const z=N[0],G=N.at(-1);q.shiftKey&&document.activeElement===z?(q.preventDefault(),G.focus()):!q.shiftKey&&document.activeElement===G&&(q.preventDefault(),z.focus())};return document.addEventListener("keydown",F),()=>document.removeEventListener("keydown",F)},[s,a,i.open]),!i.open||!d||!p)return null;const b=()=>{s(),a&&c.current&&(c.current=!1,window.history.back())},_=(E=g==null?void 0:g.downloads[0])==null?void 0:E.path,S=d.scope==="public"?p.pdf:_&&p.download?p.download(_):null;return k.jsxs("section",{ref:l,className:`chat-artifact-panel${a?" is-dialog":" is-docked"}${e?" is-reader-fallback":""}`,role:a?"dialog":"complementary","aria-modal":a?!0:void 0,"aria-label":d.title,"data-testid":"artifact-panel",children:[k.jsxs("header",{children:[k.jsxs("div",{children:[k.jsx("span",{children:"Posterly artifact"}),k.jsx("h2",{children:d.title})]}),((($=h.data)==null?void 0:$.length)??0)>1&&k.jsxs("label",{className:"chat-artifact-version",children:["Version",k.jsx("select",{"aria-label":"Poster version",value:d.version_id,onChange:F=>t.setVersion(F.target.value),children:[...h.data??[]].reverse().map(F=>k.jsxs("option",{value:F.version_id,children:["v",F.version]},F.version_id))})]}),k.jsx("button",{type:"button","data-artifact-close":!0,"aria-label":a?"Back to conversation":"Close poster",onClick:b,children:k.jsx(a_,{})})]}),k.jsxs("nav",{"aria-label":"Poster views",children:[k.jsx("button",{type:"button","aria-pressed":i.tab==="preview",className:i.tab==="preview"?"active":"",onClick:()=>t.setTab("preview"),children:"Preview"}),d.scope==="owner"&&k.jsx("button",{type:"button","aria-pressed":i.tab==="source",className:i.tab==="source"?"active":"",onClick:()=>t.setTab("source"),children:"Source"})]}),k.jsx("div",{className:"chat-artifact-panel-body",children:i.tab==="preview"?k.jsx("img",{src:p.preview,alt:`Full preview of ${d.title}`}):k.jsxs("div",{className:"chat-artifact-source-workspace",children:[(((O=g==null?void 0:g.source_files)==null?void 0:O.length)??0)>1&&k.jsx("nav",{"aria-label":"Poster source files",children:g.source_files.map(F=>k.jsx("button",{type:"button","aria-pressed":v===F,onClick:()=>t.setSourceFile(F),children:F},F))}),k.jsx("pre",{children:k.jsx("code",{children:y.isError?"Source could not be loaded.":y.data??"Loading source…"})})]})}),k.jsxs("footer",{children:[k.jsxs("div",{className:"chat-artifact-metadata",children:[k.jsx("strong",{children:GO(d.gate_status)}),g&&k.jsxs("span",{children:[g.canvas.width," × ",g.canvas.height," ",g.canvas.unit," · ",g.canvas.orientation," · ",g.direction]}),g==null?void 0:g.gate_summary.map(F=>k.jsx("span",{children:F},F))]}),k.jsxs("div",{className:"chat-artifact-actions",children:[k.jsxs("a",{href:p.png,download:!0,children:[k.jsx(wk,{})," PNG"]}),d.gate_status!=="failed"&&S&&k.jsxs("a",{href:S,download:!0,children:[k.jsx(wk,{})," PDF"]}),d.scope==="owner"&&g&&p.source&&k.jsxs("a",{href:p.source(g.entrypoint),download:!0,children:[k.jsx(c_,{})," HTML"]}),d.scope==="owner"&&g&&p.gate&&k.jsx("a",{href:p.gate(g.gate_report),download:!0,children:"Gate report"}),k.jsxs("a",{href:_J,target:"_blank",rel:"noreferrer",children:[k.jsx(ZE,{})," Posterly source · AGPL-3.0"]})]})]})]})},HE=n=>{var t;const{state:e}=$p();return((t=e.selected)==null?void 0:t.artifact_kind)==="latex_paper"?k.jsx(wJ,{block:e.selected,...n}):k.jsx(AJ,{...n})},xJ=({block:n})=>{const e=$p(),t=e.register,s=e.unregister,i=r_(n);if(se.useEffect(()=>{t(n)},[n,t]),se.useEffect(()=>()=>s(i),[i,s]),n.status==="generating")return k.jsxs("div",{className:"chat-artifact-card chat-artifact-generating",role:"status",children:[k.jsx("span",{className:"chat-artifact-pulse","aria-hidden":"true"}),k.jsxs("span",{children:[k.jsx("strong",{children:n.title}),k.jsx("small",{children:"Publishing Posterly preview…"})]})]});if(n.status==="error")return k.jsxs("div",{className:"chat-artifact-card chat-artifact-error",role:"alert",children:[k.jsx(c_,{"aria-hidden":"true"}),k.jsxs("span",{children:[k.jsx("strong",{children:n.title}),k.jsx("small",{children:n.error_message??"Poster publication failed."})]})]});const r=WO(n);if(!r)return null;const o=e.state.open&&e.state.selectedKey===i;return k.jsxs("button",{type:"button",className:`chat-artifact-card${o?" is-selected":""}`,"aria-pressed":o,onClick:a=>e.open(n,a.currentTarget),children:[k.jsx("img",{src:r.preview,alt:`Preview of ${n.title}`}),k.jsxs("span",{className:"chat-artifact-card-copy",children:[k.jsxs("span",{className:"chat-artifact-kicker",children:[k.jsx(wN,{"aria-hidden":"true"})," Posterly · v",n.version]}),k.jsx("strong",{children:n.title}),k.jsx("small",{className:`chat-artifact-gate chat-artifact-gate-${n.gate_status}`,children:GO(n.gate_status)})]})]})};function EJ(n){if(!n.authors.length)return"";const e=n.authors.slice(0,3).map(t=>t.name).join(", ");return n.authors.length>3?`${e}, et al.`:e}function CJ(n){var t;if(n.conference)return n.conference;const e=(t=n.published)==null?void 0:t.slice(0,4);if(n.arxiv_id)return e?`arXiv ${e}`:"arXiv";if(n.source_url)try{return new URL(n.source_url).hostname.replace(/^www\./,"")}catch{}return e??"external"}function $J(n,e=240){const t=n.content.trim();return t.length<=e?t:`${t.slice(0,e).trimEnd()}…`}const TJ="https://huggingface.co/pro",PJ="https://huggingface.co/docs/inference-providers/pricing",RJ="https://paperswithcode.co/chat",KO=()=>k.jsx("span",{className:"chat-caret"}),MJ=n=>{var t;if(!n.streaming)return!1;const e=(t=n.blocks)==null?void 0:t.at(-1);return e?e.kind==="reasoning"?!e.active:e.kind==="tool"?e.status!=="running":!1:!0},IJ=n=>{var p,m;const e=n.currentTarget,t=e.ownerDocument,s=(p=t.caretPositionFromPoint)==null?void 0:p.call(t,n.clientX,n.clientY),i=s?null:(m=t.caretRangeFromPoint)==null?void 0:m.call(t,n.clientX,n.clientY),r=(s==null?void 0:s.offsetNode)??(i==null?void 0:i.startContainer),o=(s==null?void 0:s.offset)??(i==null?void 0:i.startOffset);if(!(r instanceof Text)||o===void 0||!e.contains(r))return;const a=r.data,l=/[\p{L}\p{M}\p{N}_'-]/u;let c=Math.min(o,a.length),h=c;for(;c>0&&l.test(a[c-1]);)c-=1;for(;h{const t=[];let s=0;for(const i of[...e].sort((r,o)=>r.start-o.start)){const r=n.slice(i.start,i.end);i.startn.length||r!==i.title&&r!==`@${i.title}`||(t.push(n.slice(s,i.start)),t.push(k.jsxs("span",{className:"chat-inline-paper-mention",children:[k.jsx(vN,{size:13,"aria-hidden":"true"}),k.jsx(KE,{routeId:i.route_id,className:"chat-inline-paper-link",children:r.startsWith("@")?r.slice(1):r})]},i.key)),s=i.end)}return t.push(n.slice(s)),k.jsx(k.Fragment,{children:t})},NJ=({block:n,papers:e,citations:t,webCitations:s,onToggle:i})=>n.active?k.jsxs("div",{className:"chat-reason-live",children:[k.jsxs("div",{className:"chat-reason-live-head",children:[k.jsx(l_,{})," ",k.jsx("span",{children:"Thinking…"})]}),k.jsxs("div",{className:"chat-reason-live-body chat-answer chat-reason-markdown",children:[k.jsx(uv,{text:n.text,streaming:!0,papers:e,citations:t,webCitations:s}),k.jsx(KO,{})]})]}):k.jsxs("div",{className:"chat-reason-done",children:[k.jsxs("button",{type:"button",className:"chat-reason-done-head",onClick:i,"aria-expanded":n.open,children:[k.jsx(aN,{}),k.jsx("span",{children:"Thought for a few seconds"}),k.jsx(GE,{open:n.open})]}),n.open&&k.jsx("div",{className:"chat-reason-done-body chat-answer chat-reason-markdown",children:k.jsx(uv,{text:n.text,papers:e,citations:t,webCitations:s})})]}),LJ=({block:n,papers:e,onToggle:t})=>{var u,d,p,m;const s=n.status==="running",i=s&&n.argumentState==="streaming",r=n.schema_version===2||!!n.content,o=n.status==="error"||n.status==="denied",a=typeof n.args.query=="string"?n.args.query:"",l=typeof n.args.command=="string"?n.args.command:typeof n.args.file_path=="string"?n.args.file_path:a,c=((u=n.content)==null?void 0:u.map(g=>g.text).join(""))??"",h=i?"streaming arguments…":s?"running…":r?`${n.status} · ${n.took_ms??0} ms`:`${n.hits} results · ${n.took_ms} ms`;return k.jsxs("div",{className:`chat-tool${s?" chat-tool-running":""}${o?" chat-tool-failed":""}`,children:[k.jsxs("button",{type:"button",className:"chat-tool-head",onClick:t,"aria-expanded":n.open,children:[k.jsxs("span",{className:"chat-tool-head-left",children:[s?k.jsx(l_,{}):k.jsx(lN,{}),k.jsx("code",{className:"chat-tool-name",children:n.name}),k.jsx("span",{className:"chat-tool-query",children:r?l:`("${a}")`})]}),k.jsxs("span",{className:"chat-tool-head-right",children:[k.jsx("span",{className:"chat-tool-status",children:h}),k.jsx(GE,{open:n.open})]})]}),n.open&&k.jsxs("div",{className:"chat-tool-body",children:[k.jsxs("div",{className:"chat-tool-args",children:[k.jsxs("span",{className:"chat-tool-label",children:["arguments",n.arguments_redacted?" · redacted":""]}),k.jsx("pre",{children:n.argumentState==="streaming"&&!n.arguments_redacted&&n.argumentText||JSON.stringify(n.args,null,2)})]}),!s&&r?k.jsxs(k.Fragment,{children:[k.jsxs("div",{className:"chat-tool-output-head",children:[k.jsx("span",{className:"chat-tool-label",children:"result"}),k.jsx("button",{type:"button",className:"chat-tool-copy",onClick:()=>void navigator.clipboard.writeText(c),children:"Copy"})]}),k.jsx("pre",{className:"chat-tool-output",children:k.jsx("code",{children:c})}),((d=n.metadata)==null?void 0:d.output_truncated)&&k.jsx("div",{className:"chat-tool-truncated",children:"Output was truncated."})]}):s?null:k.jsxs(k.Fragment,{children:[k.jsxs("div",{className:"chat-tool-label chat-tool-results-label",children:["returned ",((p=n.results)==null?void 0:p.length)??0," papers"]}),k.jsx("ol",{className:"chat-tool-results",children:(m=n.results)==null?void 0:m.map(g=>k.jsxs("li",{className:"chat-hit",children:[k.jsx("div",{className:"chat-hit-top",children:k.jsx(JE,{routeId:g.route_id,paper:e[g.route_id],className:"chat-hit-title",children:g.title})}),k.jsx("div",{className:"chat-hit-meta",children:[EJ(g.metadata),CJ(g.metadata)].filter(Boolean).join(" · ")}),k.jsxs("div",{className:"chat-hit-snippet",children:[$J(g),g.content_truncated&&k.jsx("span",{className:"chat-hit-truncated",children:" (truncated)"})]})]},g.route_id))})]})]})]})},DJ=({block:n,papers:e,citations:t,webCitations:s,streaming:i})=>k.jsxs("div",{className:"chat-answer",children:[k.jsx(uv,{text:n.text,streaming:i,papers:e,citations:t,webCitations:s}),i&&!!n.text.trim()&&k.jsx(KO,{})]}),FJ=({block:n})=>k.jsx(WG,{block:n}),ZO=n=>{const e=se.useRef(null),t=se.useCallback(()=>{const s=e.current;if(!s)return;s.style.height="auto";const i=Math.max(120,window.innerHeight*.4);s.style.height=`${Math.min(s.scrollHeight,i)}px`,s.style.overflowY=s.scrollHeight>i?"auto":"hidden"},[]);return se.useLayoutEffect(()=>{var s,i;(s=e.current)==null||s.focus(),(i=e.current)==null||i.setSelectionRange(n.length,n.length),t()},[t,n.length]),{textareaRef:e,resize:t}},jJ=({id:n,text:e,paperSelection:t,editNotice:s,onCancel:i,onResend:r,onResendDraft:o})=>{const[a,l]=se.useState(e),[c,h]=se.useState(t),[u,d]=se.useState(!1),{textareaRef:p,resize:m}=ZO(e);se.useLayoutEffect(m,[m,a]);const g=!!a.trim()&&a.length<=8e3,v=()=>{if(!g||u)return;d(!0),((o==null?void 0:o({text:a,paperMentions:[],...c?{paperSelection:c}:{}}))??(r==null?void 0:r(a))??!1)||d(!1)};return k.jsx("div",{className:"chat-msg chat-msg-user chat-msg-user-editing","data-message-id":n,children:k.jsxs("div",{className:"chat-inline-editor",children:[c&&k.jsx(Ey,{selection:c,editable:!0,onRemove:()=>h(void 0)}),k.jsx("textarea",{ref:p,className:"chat-inline-editor-textarea","aria-label":"Edit message",value:a,maxLength:8e3,onChange:y=>l(y.target.value),onKeyDown:y=>{y.key==="Escape"?(y.preventDefault(),i==null||i()):y.key==="Enter"&&!y.shiftKey&&!y.nativeEvent.isComposing&&(y.preventDefault(),v())}}),s&&k.jsx("div",{className:"chat-inline-editor-notice",children:s}),k.jsxs("div",{className:"chat-inline-editor-actions",children:[k.jsx("button",{type:"button",onClick:i,children:"Cancel"}),k.jsx("button",{type:"button",className:"chat-inline-editor-send",disabled:!g||u,onClick:v,children:"Send"})]})]})})},zJ=({id:n,text:e,paperMentions:t,paperSelection:s,enabled:i,editNotice:r,onCancel:o,onResend:a,onResendDraft:l})=>{const[c,h]=se.useState({text:e,paperMentions:t,...s?{paperSelection:s}:{}}),[u,d]=se.useState(!1),[p,m]=se.useState(0),{textareaRef:g,resize:v}=ZO(e),y=UE({draft:c,onChange:h,enabled:i,textareaRef:g});se.useLayoutEffect(v,[v,c.text]);const b=!!c.text.trim()&&c.text.length<=8e3&&(i||c.paperMentions.length===0),_=()=>{if(!b||u)return;d(!0),((l==null?void 0:l(c))??(a==null?void 0:a(c.text))??!1)||d(!1)};return k.jsx("div",{className:"chat-msg chat-msg-user chat-msg-user-editing","data-message-id":n,children:k.jsxs("div",{className:"chat-inline-editor",children:[c.paperSelection&&k.jsx(Ey,{selection:c.paperSelection,editable:!0,onRemove:()=>h({text:c.text,paperMentions:c.paperMentions})}),k.jsxs("div",{className:"chat-inline-editor-textarea-wrap",children:[k.jsx(VE,{text:c.text,mentions:c.paperMentions,scrollTop:p,variant:"editor"}),k.jsx("textarea",{ref:g,className:"chat-inline-editor-textarea","aria-label":"Edit message",value:c.text,maxLength:8e3,role:"combobox","aria-autocomplete":"list","aria-expanded":y.open,"aria-controls":y.open?y.pickerId:void 0,"aria-activedescendant":y.open&&y.results.length?`${y.optionIdPrefix}-${y.activeIndex}`:void 0,onChange:S=>y.updateText(S.target.value,S.target.selectionStart),onSelect:S=>y.refresh(S.currentTarget.selectionStart),onScroll:S=>m(S.currentTarget.scrollTop),onKeyDown:S=>{y.keyDown(S)||(S.key==="Escape"?(S.preventDefault(),o==null||o()):S.key==="Enter"&&!S.shiftKey&&!S.nativeEvent.isComposing&&(S.preventDefault(),_()))}}),k.jsx(WE,{open:y.open,query:y.query,results:y.results,activeIndex:y.activeIndex,loading:y.loading,error:y.error,onSelect:y.select,id:y.pickerId,optionIdPrefix:y.optionIdPrefix})]}),!i&&c.paperMentions.length>0&&k.jsx("div",{className:"chat-inline-editor-notice",role:"status",children:"Paper mentions are currently disabled. Remove them before sending."}),r&&k.jsx("div",{className:"chat-inline-editor-notice",children:r}),k.jsxs("div",{className:"chat-inline-editor-actions",children:[k.jsx("button",{type:"button",onClick:o,children:"Cancel"}),k.jsx("button",{type:"button",className:"chat-inline-editor-send",disabled:!b||u,onClick:_,children:"Send"})]})]})})},fQ=({id:n,text:e,paperMentions:t=[],paperSelection:s,paperMentionsEnabled:i=!1,editingAllowed:r=!1,editing:o=!1,editNotice:a,onEdit:l,onCancel:c,onResend:h,onResendDraft:u})=>{const[d,p]=se.useState(!1),m=se.useRef(null);se.useEffect(()=>()=>{m.current!==null&&window.clearTimeout(m.current)},[]);const g=async()=>{var v;if((v=navigator.clipboard)!=null&&v.writeText)try{await navigator.clipboard.writeText(e),p(!0),m.current!==null&&window.clearTimeout(m.current),m.current=window.setTimeout(()=>p(!1),1500)}catch{}};return o?!i&&t.length===0?k.jsx(jJ,{id:n,text:e,paperSelection:s,editNotice:a,onCancel:c,onResend:h,onResendDraft:u}):k.jsx(zJ,{id:n,text:e,paperMentions:t,paperSelection:s,enabled:i,editNotice:a,onCancel:c,onResend:h,onResendDraft:u}):k.jsx("div",{className:"chat-msg chat-msg-user","data-message-id":n,children:k.jsxs("div",{className:"chat-user-message-wrap",children:[s&&k.jsx(Ey,{selection:s}),k.jsx("div",{className:"chat-bubble",onDoubleClick:IJ,children:k.jsx(OJ,{text:e,mentions:t})}),k.jsxs("div",{className:"chat-user-actions",children:[k.jsx("button",{type:"button",className:"chat-user-action","aria-label":d?"Message copied":"Copy message",title:d?"Copied":"Copy",onClick:()=>void g(),children:d?k.jsx(QO,{"aria-hidden":"true"}):k.jsx(yN,{"aria-hidden":"true"})}),r&&k.jsx("button",{type:"button",className:"chat-user-action","aria-label":"Edit message",title:"Edit",onClick:l,children:k.jsx(XE,{"aria-hidden":"true"})})]})]})})},pQ=({msg:n,papers:e,onToggleBlock:t,onRetryCompaction:s,onArchiveOldChats:i,onArchiveOldestChats:r,archivePending:o=null,hfBilling:a=null,openRouterFallbackEnabled:l=!1,feedbackEnabled:c=!1})=>{var O,F,q,N;const[h,u]=se.useState(null),[d,p]=se.useState(!1),[m,g]=se.useState(!1),[v,y]=se.useState(!1),[b,_]=se.useState(""),S=se.useRef(null),A=`chat-feedback-panel-${n.id}`,E=c&&!n.streaming&&!n.error&&!!((O=n.blocks)!=null&&O.some(z=>z.kind==="answer"&&z.text.trim()));se.useEffect(()=>{var z;v&&((z=S.current)==null||z.focus())},[v]);const $=async(z,G)=>{if(!d){p(!0),g(!1);try{G===void 0?await bk.reportFeedback(n.id,z):await bk.reportFeedback(n.id,z,G),u(z),y(!1),_("")}catch{g(!0)}finally{p(!1)}}};return k.jsx("div",{className:"chat-msg chat-msg-assistant",children:k.jsxs("div",{className:"chat-msg-blocks",children:[(F=n.blocks)==null?void 0:F.map((z,G)=>{var ae;const L=`${n.id}-${G}`,J="citations"in z&&z.citations!==void 0?z.citations:n.citations??[],Q=Object.fromEntries(J.filter(ye=>(ye.kind==="catalog_paper"||ye.kind==="paper"||!ye.kind&&ye.route_id)&&ye.route_id).map(ye=>[ye.route_id,ye])),ee=Object.fromEntries(J.filter(ye=>(ye.kind==="external_source"||ye.kind==="web")&&ye.url).map(ye=>[ye.url,ye]));return z.kind==="reasoning"?k.jsx(NJ,{block:z,papers:e,citations:Q,webCitations:ee,onToggle:()=>t(n.id,G)},L):z.kind==="tool"?k.jsx(LJ,{block:z,papers:e,onToggle:()=>t(n.id,G)},L):z.kind==="app"?k.jsx(FJ,{block:z},z.instance_id||L):z.kind==="artifact"?k.jsx(xJ,{block:z},z.publication_id||z.version_id||L):k.jsx(DJ,{block:z,papers:e,citations:Q,webCitations:ee,streaming:!!(n.streaming&&G===(((ae=n.blocks)==null?void 0:ae.length)??0)-1)},L)}),n.streaming&&n.compacting&&k.jsx(xN,{}),!n.compacting&&MJ(n)&&k.jsx("div",{className:"chat-waiting",role:"status","aria-live":"polite",children:k.jsx("span",{className:"chat-thinking",children:(((q=n.blocks)==null?void 0:q.length)??0)===0?n.status??"Thinking…":"Thinking…"})}),n.error&&k.jsxs("div",{className:"chat-error",children:[((N=n.blocks)==null?void 0:N.some(z=>z.kind==="answer"&&z.text.trim()))&&k.jsx("strong",{children:"Incomplete—response interrupted. "}),["context_too_large","provider_error","persistence_error"].includes(n.errorCode??"")&&s&&k.jsx("button",{type:"button",onClick:s,children:"Retry"}),k.jsx("span",{children:n.errorCode==="chat_disabled_interrupted"?"Chat was disabled while this response was running. The partial response is saved. Please try again later.":n.errorCode==="chat_session_quota_exceeded"?n.error:`The assistant hit an error: ${n.error}`}),["hf_inference_billing_required","hf_inference_credential_expired"].includes(n.errorCode??"")&&k.jsx("a",{href:"/settings",children:"Re-sign in with Hugging Face"}),n.errorCode==="hf_inference_billing_exhausted"&&k.jsxs(k.Fragment,{children:[(a==null?void 0:a.account_type)==="Free"&&!a.bill_to?k.jsx("a",{href:TJ,target:"_blank",rel:"noreferrer",children:"Upgrade to Hugging Face PRO — $9/month for 20× more included credits"}):k.jsx("a",{href:(a==null?void 0:a.usage_url)??"/settings",target:a?"_blank":void 0,rel:a?"noreferrer":void 0,children:"Review Hugging Face usage and billing"}),k.jsx("a",{href:PJ,target:"_blank",rel:"noreferrer",children:"Inference Providers pricing and billing details"})]}),n.errorCode==="openrouter_monthly_budget_exhausted"&&k.jsxs(k.Fragment,{children:[l?k.jsx("span",{children:"This response started on the shared allowance. Your connected OpenRouter key will be used when you explicitly retry."}):k.jsx("a",{href:"/settings#openrouter-byok",children:"Connect your own OpenRouter key"}),k.jsx("span",{children:"Or select a Hugging Face-backed model and explicitly retry."})]}),n.errorCode==="openrouter_staging_funding_disabled"&&k.jsx("a",{href:RJ,children:"Continue on paperswithcode.co"}),n.errorCode==="openrouter_unavailable"&&k.jsxs(k.Fragment,{children:[k.jsx("a",{href:"/settings#openrouter-byok",children:"Bring your own key in Settings"}),k.jsx("a",{href:"https://github.com/huggingface/paperswithcode-feedback",target:"_blank",rel:"noreferrer",children:"File an issue"})]}),n.errorCode==="openrouter_byok_billing_error"&&k.jsx("a",{href:"https://openrouter.ai/settings/credits",target:"_blank",rel:"noreferrer",children:"Review OpenRouter billing"}),["openrouter_byok_credential_invalid","openrouter_byok_rate_limit"].includes(n.errorCode??"")&&k.jsx("a",{href:"/settings#openrouter-byok",children:"Review OpenRouter settings"}),n.errorCode==="chat_session_quota_exceeded"&&(i||r)&&k.jsxs("span",{className:"chat-error-actions",children:[i&&k.jsx("button",{type:"button",disabled:o!==null,onClick:i,children:o==="old"?"Archiving…":"Archive chats older than 30 days"}),r&&k.jsx("button",{type:"button",disabled:o!==null,onClick:r,children:o==="oldest"?"Archiving…":"Archive oldest 50 chats"})]})]}),!n.streaming&&n.finishReason&&!["success","scope_blocked"].includes(n.finishReason)&&k.jsx("div",{className:"chat-finish-note",children:["tool_limit","max_turns"].includes(n.finishReason)?"The assistant stopped at the execution limit.":`The assistant stopped early (${n.finishReason.replace(/_/g," ")}).`}),E&&k.jsxs("div",{className:"chat-feedback","aria-label":"Rate this response",children:[k.jsx("span",{className:"chat-feedback-label",children:h===null?"Was this helpful?":"Thanks for your feedback"}),k.jsx("button",{type:"button",className:`chat-feedback-action${h===!0?" chat-feedback-action-selected":""}`,"aria-label":"Helpful response","aria-pressed":h===!0,disabled:d,onClick:()=>{y(!1),$(!0)},children:k.jsx(kN,{"aria-hidden":"true"})}),k.jsx("button",{type:"button",className:`chat-feedback-action${h===!1?" chat-feedback-action-selected":""}`,"aria-label":"Unhelpful response","aria-pressed":h===!1,"aria-expanded":v,"aria-controls":A,disabled:d,onClick:()=>{g(!1),y(!0)},children:k.jsx(SN,{"aria-hidden":"true"})}),m&&k.jsx("span",{className:"chat-feedback-error",role:"status",children:"Couldn’t send feedback."})]}),E&&v&&k.jsxs("div",{className:"chat-feedback-panel",id:A,role:"group","aria-labelledby":`${A}-title`,children:[k.jsx("div",{className:"chat-feedback-panel-title",id:`${A}-title`,children:"Additional feedback"}),k.jsx("label",{className:"chat-feedback-panel-label",htmlFor:`${A}-comment`,children:"Tell us what went wrong (optional)"}),k.jsx("textarea",{ref:S,id:`${A}-comment`,className:"chat-feedback-comment",value:b,maxLength:500,rows:4,disabled:d,onChange:z=>_(z.target.value),onKeyDown:z=>{z.key==="Escape"&&(z.preventDefault(),y(!1))}}),k.jsxs("div",{className:"chat-feedback-panel-actions",children:[k.jsx("button",{type:"button",className:"chat-feedback-skip",disabled:d,onClick:()=>void $(!1),children:"Skip"}),k.jsx("button",{type:"button",className:"chat-feedback-submit",disabled:d,onClick:()=>void $(!1,b.trim()||void 0),children:d?"Submitting…":"Submit"})]})]})]})})},HJ={chat:{breakpoint:760,left:360,right:360},shared:{breakpoint:760,left:360,right:360},reader:{breakpoint:1260,left:840,right:420}};function Pa(n,e,t,s){if(!n)return Math.max(25,Math.min(75,e));const i=Math.max(25,s/n*100),r=Math.min(75,(n-t)/n*100);return Math.max(i,Math.min(r,e))}const mQ=({children:n,variant:e})=>{var b;const t=$p(),s=HJ[e],i=se.useRef(null),r=se.useRef(null),o=se.useRef(null),a=se.useRef(null),[l,c]=se.useState(0),h=se.useRef(!1),u=se.useRef(t.state.panelPercent);se.useLayoutEffect(()=>{const _=i.current;if(!_)return;const S=()=>c(_.clientWidth||window.innerWidth);if(S(),typeof ResizeObserver>"u")return;const A=new ResizeObserver(S);return A.observe(_),()=>A.disconnect()},[]);const d=t.state.open&&l>=s.breakpoint,p=Pa(l,t.state.panelPercent,s.left,s.right),m=((b=t.state.selected)==null?void 0:b.artifact_kind)==="latex_paper"?"paper":"poster",g=_=>{var A;const S=Pa(l,_,s.left,s.right);u.current=S,r.current&&(r.current.style.width=`${100-S}%`),o.current&&(o.current.style.width=`${S}%`),(A=a.current)==null||A.setAttribute("aria-valuenow",String(Math.round(S)))},v=_=>{var A;const S=(A=i.current)==null?void 0:A.getBoundingClientRect();S!=null&&S.width&&g((S.right-_)/S.width*100)},y=()=>{h.current&&(h.current=!1,t.setPanelPercent(u.current))};return k.jsxs("div",{ref:i,className:`chat-artifact-workspace chat-artifact-workspace-${e}${d?" has-docked-artifact":""}`,"data-artifact-layout":d?"split":t.state.open?"dialog":"closed",children:[k.jsx("div",{ref:r,className:"chat-artifact-workspace-content",style:d?{width:`${100-p}%`}:void 0,children:n}),d&&k.jsxs(k.Fragment,{children:[k.jsx("div",{ref:a,className:"chat-artifact-resize-handle",role:"separator","aria-label":`Resize conversation and ${m} panels`,"aria-orientation":"vertical","aria-valuemin":Math.ceil(Pa(l,0,s.left,s.right)),"aria-valuemax":Math.floor(Pa(l,100,s.left,s.right)),"aria-valuenow":Math.round(p),tabIndex:0,onPointerDown:_=>{h.current=!0,_.currentTarget.setPointerCapture(_.pointerId),v(_.clientX)},onPointerMove:_=>{h.current&&v(_.clientX)},onPointerUp:y,onPointerCancel:y,onLostPointerCapture:y,onDoubleClick:()=>t.setPanelPercent(55),onKeyDown:_=>{(_.key==="ArrowLeft"||_.key==="ArrowRight")&&(_.preventDefault(),t.setPanelPercent(Pa(l,p+(_.key==="ArrowLeft"?2:-2),s.left,s.right))),_.key==="Home"&&t.setPanelPercent(Pa(l,25,s.left,s.right)),_.key==="End"&&t.setPanelPercent(Pa(l,75,s.left,s.right))}}),k.jsx("div",{ref:o,className:"chat-artifact-workspace-pane",style:{width:`${p}%`},children:k.jsx(HE,{})})]}),t.state.open&&!d&&k.jsx(HE,{forceDialog:!0,readerFallback:e==="reader"})]})};export{dQ as A,sQ as C,Q8 as P,fQ as U,mQ as a,pQ as b,uQ as c,r_ as d,$p as u};