From d0f86b19be300128e29035e714d0709db891e62e Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Sun, 25 Oct 2026 20:44:34 +0800 Subject: [PATCH 1/2] feat(Dom2Image): update SnapDOM to v3.4.0 # Conflicts: # src/components/BootstrapBlazor.Dom2Image/wwwroot/lib/snapdom.mjs --- .../wwwroot/lib/snapdom.mjs | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/components/BootstrapBlazor.Dom2Image/wwwroot/lib/snapdom.mjs b/src/components/BootstrapBlazor.Dom2Image/wwwroot/lib/snapdom.mjs index ab6dc680..c95c240f 100644 --- a/src/components/BootstrapBlazor.Dom2Image/wwwroot/lib/snapdom.mjs +++ b/src/components/BootstrapBlazor.Dom2Image/wwwroot/lib/snapdom.mjs @@ -1,19 +1,19 @@ /* * SnapDOM -* v3.3.7 +* v3.4.0 * License: MIT */ -var Ic=Object.defineProperty;var ct=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(o){throw n=[o],o}};var Se=(t,e)=>{for(var n in e)Ic(t,n,{get:e[n],enumerable:!0})};function li(t){return t===!1||typeof t=="string"&&t.toLowerCase().trim()==="disabled"?"disabled":"soft"}function fi(t="soft"){t==="disabled"&&(O.computedStyle=new WeakMap,O.measureHints=new WeakMap,O.baseStyle=new ft(50),O.defaultStyle=new ft(64),O.image=new ft(100),O.background=new ft(100),O.resource=new ft(150),O.compress=new ft(50))}var ft,O,wt=ct(()=>{"use strict";ft=class extends Map{constructor(e=100,...n){super(...n),this._maxSize=e}set(e,n){if(this.size>=this._maxSize&&!this.has(e)){let o=this.keys().next().value;o!==void 0&&this.delete(o)}return super.set(e,n)}},O={image:new ft(100),background:new ft(100),resource:new ft(150),defaultStyle:new ft(64),baseStyle:new ft(50),compress:new ft(50),computedStyle:new WeakMap,measureHints:new WeakMap,warnedReconcile:!1}});function se(t){let e=t.match(/url\((['"]?)(.*?)(\1)\)/);if(!e)return null;let n=e[2].trim();return n.startsWith("#")?null:n}function Dc(t){let e=[],n=0,o=0,i="";for(let r=0;rr.dppx-s.dppx),(o.find(r=>r.dppx>=e)||o[o.length-1]).url):null}function Po(t){if(!t||t==="none")return"";let e=t.replace(/translate[XY]?\([^)]*\)/g,"");return e=e.replace(/matrix\(([^)]+)\)/g,(n,o)=>{let i=o.split(",").map(r=>r.trim());return i.length!==6?`matrix(${o})`:(i[4]="0",i[5]="0",`matrix(${i.join(", ")})`)}),e=e.replace(/matrix3d\(([^)]+)\)/g,(n,o)=>{let i=o.split(",").map(r=>r.trim());return i.length!==16?`matrix3d(${o})`:(i[12]="0",i[13]="0",`matrix3d(${i.join(", ")})`)}),e.trim().replace(/\s{2,}/g," ")}function qt(t){if(/%[0-9A-Fa-f]{2}/.test(t))return t;try{return encodeURI(t)}catch{return t}}function $o(t,e){if(!t||/^(data|blob|about|#)/i.test(t.trim()))return t;try{let n=e||typeof document<"u"&&(document.baseURI||document.location?.href)||"http://localhost/";return new URL(t,n).href}catch{return t}}function Ze(t){return!!t&&t.tagName==="INPUT"&&(t.getAttribute("type")||"").toLowerCase()==="password"}function No(t){return"\u2022".repeat(String(t??"").length)}function it(t,e){return t?.nodeType===1&&t.localName===e}function Mt(t){return t?.nodeType===1&&t.namespaceURI===Wc}function Tt(t){return t?.nodeType===1&&t.namespaceURI===Bc}function Bt(t){return t?.nodeType===11&&!!t.host}function Pt(t){let e=t?.parentNode;return e?.nodeType===11?e.host:null}function Lo(t){return t?.nodeType===9}var To,Oc,Wc,Bc,At=ct(()=>{"use strict";To=/^image\/(jpeg|jpg|png|gif|webp|avif|apng|svg\+xml|bmp|x-icon|vnd\.microsoft\.icon)\s*(;|$)/i,Oc=To;Wc="http://www.w3.org/1999/xhtml",Bc="http://www.w3.org/2000/svg"});function Uc(t="[SnapDOM]",{ttlMs:e=5*6e4,maxEntries:n=12}={}){let o=new Map,i=0;function r(s,a,c){if(i>=n)return;let f=Date.now();(o.get(a)||0)>f||(o.set(a,f+e),i++,s==="warn"&&console&&console.warn?console.warn(`${t} ${c}`):console&&console.error&&console.error(`${t} ${c}`))}return{warnOnce(s,a){r("warn",s,a)},errorOnce(s,a){r("error",s,a)},reset(){o.clear(),i=0}}}function pi(t,e,n){if(Ut.size>=di){let o=Date.now();for(let[i,r]of Ut)r.until<=o&&Ut.delete(i);for(;Ut.size>=di;)Ut.delete(Ut.keys().next().value)}Ut.set(t,{until:Date.now()+n,result:e})}function zc(t){return/^data:|^blob:|^about:blank$/i.test(t)}function Hc(t,e){try{let n=typeof location<"u"&&location.href?location.href:"http://localhost/",o=e.split(/\{url(?:Raw)?\}/)[0],i=new URL(o||".",n);if(new URL(t,n).origin===i.origin)return!0}catch{}return!1}function jc(t,e){if(!e||zc(t)||Hc(t,e))return!1;try{let n=typeof location<"u"&&location.href?location.href:"http://localhost/",o=new URL(t,n);return typeof location<"u"?o.origin!==location.origin:!0}catch{return!!e}}function Vc(t,e){if(!e)return t;if(/\{url(?:Raw)?\}/.test(e))return e.replace("{urlRaw}",()=>qt(t)).replace("{url}",()=>encodeURIComponent(t));if(/[?&]url=?$/.test(e))return`${e}${encodeURIComponent(t)}`;if(e.endsWith("?"))return`${e}url=${encodeURIComponent(t)}`;if(e.endsWith("/"))return`${e}${qt(t)}`;let n=e.includes("?")?"&":"?";return`${e}${n}url=${encodeURIComponent(t)}`}function hi(t){return new Promise((e,n)=>{let o=new FileReader;o.onload=()=>e(String(o.result||"")),o.onerror=()=>n(new Error("read_failed")),o.readAsDataURL(t)})}function Gc(t,e){return new Headers(e.headers||{}).keys().next().done?JSON.stringify([e.as||"blob",e.timeout??3e3,e.useProxy||"",e.errorTTL??8e3,e.credentials||"",t]):null}function mi(t){try{return new URL(t,globalThis.location?.href||"http://localhost/").origin}catch{return"invalid-url"}}function Oo(t,e){try{t.onError?.(e)}catch{}}async function at(t,e={}){let n=e.as??"blob",o=e.timeout??3e3,i=e.useProxy||"",r=e.errorTTL??8e3,s=e.headers||{},a=!!e.silent;if(/^data:/i.test(t))try{if(n==="text")return{ok:!0,data:String(t),status:200,url:t,fromCache:!1};if(n==="dataURL")return{ok:!0,data:String(t),status:200,url:t,fromCache:!1,mime:String(t).slice(5).split(";")[0]||""};let[,g="",y=""]=String(t).match(/^data:([^,]*),(.*)$/)||[],w=/;base64/i.test(g)?atob(y):decodeURIComponent(y),S=new Uint8Array([...w].map(x=>x.charCodeAt(0))),C=new Blob([S],{type:(g||"").split(";")[0]||""});return{ok:!0,data:C,status:200,url:t,fromCache:!1,mime:C.type||""}}catch{return{ok:!1,data:null,status:0,url:t,fromCache:!1,reason:"special_url_error"}}if(/^blob:/i.test(t))try{let g=await fetch(t);if(!g.ok)return{ok:!1,data:null,status:g.status,url:t,fromCache:!1,reason:"http_error"};let y=await g.blob(),b=y.type||g.headers.get("content-type")||"";return n==="dataURL"?{ok:!0,data:await hi(y),blob:y,status:g.status,url:t,fromCache:!1,mime:b}:n==="text"?{ok:!0,data:await y.text(),status:g.status,url:t,fromCache:!1,mime:b}:{ok:!0,data:y,status:g.status,url:t,fromCache:!1,mime:b}}catch{return{ok:!1,data:null,status:0,url:t,fromCache:!1,reason:"network"}}if(/^about:blank$/i.test(t))return n==="dataURL"?{ok:!0,data:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==",status:200,url:t,fromCache:!1,mime:"image/png"}:{ok:!0,data:n==="text"?"":new Blob([]),status:200,url:t,fromCache:!1};let c;try{c=Gc(t,{as:n,timeout:o,useProxy:i,errorTTL:r,credentials:e.credentials,headers:s})}catch{let g={ok:!1,data:null,status:0,url:t,fromCache:!1,reason:"network"};return Oo(e,g),g}let f=Ut.get(c);if(f&&f.until>Date.now())return{...f.result,fromCache:!0};f&&Ut.delete(c);let l=Io.get(c);if(l)return l;let u=jc(t,i)?Vc(t,i):t,d=e.credentials;if(!d)try{let g=typeof location<"u"&&location.href?location.href:"http://localhost/",y=new URL(t,g);d=typeof location<"u"&&y.origin===location.origin?"include":"omit"}catch{d="omit"}let h=new AbortController,m=setTimeout(()=>h.abort("timeout"),o),p=(async()=>{try{let g=await fetch(u,{signal:h.signal,credentials:d,headers:s});if(!g.ok){let w={ok:!1,data:null,status:g.status,url:u,fromCache:!1,reason:"http_error"};if(c!==null&&r>0&&pi(c,w,r),!a){let S=`${g.status} ${g.statusText||""}`.trim();ui.warnOnce(`http:${g.status}:${n}:${mi(t)}`,`Couldn't load ${t} (HTTP ${S}).`)}return Oo(e,w),w}if(n==="text")return{ok:!0,data:await g.text(),status:g.status,url:u,fromCache:!1};let y=await g.blob(),b=y.type||g.headers.get("content-type")||"";return n==="dataURL"?{ok:!0,data:await hi(y),blob:y,status:g.status,url:u,fromCache:!1,mime:b}:{ok:!0,data:y,status:g.status,url:u,fromCache:!1,mime:b}}catch(g){let y=h.signal.aborted?h.signal.reason==="timeout"?"timeout":"abort":g&&typeof g=="object"&&g.name==="AbortError"?"abort":"network",b={ok:!1,data:null,status:0,url:u,fromCache:!1,reason:y};if(c!==null&&!/^blob:/i.test(t)&&r>0&&pi(c,b,r),!a){let w=`${y}:${n}:${mi(t)}`,S=y==="timeout"?`Timed out loading ${t} after ${o}ms. Raise the timeout option or set useProxy.`:y==="abort"?`Loading ${t} was cancelled.`:`Couldn't load ${t} (network or CORS). Try the useProxy option.`;ui.errorOnce(w,S)}return Oo(e,b),b}finally{clearTimeout(m),Io.delete(c)}})();return c!==null&&Io.set(c,p),p}var ui,Io,di,Ut,ae=ct(()=>{"use strict";At();ui=Uc("[SnapDOM]",{ttlMs:3*6e4,maxEntries:10}),Io=new Map,di=50,Ut=new Map});async function ve(t,e={}){if(/^\s*url\(\s*['"]?data:/i.test(t)||/^((repeating-)?(linear|radial|conic)-gradient)\(/i.test(t)||t.trim()==="none")return t;let o=Qe(t,typeof devicePixelRatio<"u"&&devicePixelRatio||1)??se(t);if(!o)return t;let i=$o(o),r=qt(i),s=(e.useProxy||"")+"|"+r;if(O.background.has(s)){let a=O.background.get(s);return a?`url("${a}")`:"none"}try{let a=await at(r,{as:"dataURL",useProxy:e.useProxy});return a.ok?(O.background.set(s,a.data),`url("${a.data}")`):(O.background.set(s,null),"none")}catch{return O.background.set(s,null),"none"}}var gi=ct(()=>{"use strict";wt();At();ae()});function wi(t,e){if(qc.has(e))t.add(e);else if(e.startsWith("transform-origin-"))t.add("transform-origin");else return!1;return!0}function vi(t){let e=t.replace(Zc,"").trim();return e?e.replace(/(^|,)(\s*)(?=,|$)/g,"$1$2*"):"*"}function Ci(t,e,n,o){for(let i=0;i5&&(d[0]==="m"||d[0]==="p")){let h=d.startsWith("margin")?"marginUnstable":d.startsWith("padding")?"paddingUnstable":null;h&&!o[h]&&Qc.test(s.getPropertyValue(d))&&(o[h]=!0)}}}let f=r.selectorText;if(f&&f.includes(":has(")&&(o.usesHas=!0),f&&/[+~]|:has\(|:nth-(?:last-)?child\([^)]*\bof\b/i.test(f)&&(o.leaksAcrossSubtrees=!0),s&&(s.counterReset||s.counterIncrement||s.counterSet||s.content&&s.content.includes("counter"))&&(o.leaksAcrossSubtrees=!0),f&&f.includes("&"))for(let l=r.parentRule;l&&f.includes("&");l=l.parentRule)l.selectorText&&(f=f.replace(/&/g,`:is(${l.selectorText})`));if(f&&(o.inContainer||bi.test(f)||f.includes("+")||f.includes("~")))for(let l of Cn(f,",")){let u=l.trim();u&&(o.inContainer||bi.test(u)||u.includes("+")||u.includes("~"))&&o.shareUnsafeSels.add(u)}if((a||c)&&Jc(r,f,a,o),f&&f.includes(":"))for(let l in yi)yi[l].test(f)&&n[l].push(vi(f));if(r.styleSheet){if(!vn(r.styleSheet,e,n,o))return!1}else if(r.cssRules&&r.cssRules.length){let l=r.constructor?.name==="CSSContainerRule",u=r.constructor?.name==="CSSScopeRule";l&&o.inContainer++,u&&(o.inScope=(o.inScope||0)+1);let d=Ci(r.cssRules,e,n,o);if(l&&o.inContainer--,u&&o.inScope--,!d)return!1}}return!0}function Jc(t,e,n,o){if(n&&t.constructor?.name==="CSSKeyframeRule"){o.svgKeyframes=!0;return}if(!e||o.inScope){n&&(o.svgGeometryAll=!0);return}let i=n?o.svgGeometrySels:o.svgAnimSels;for(let r of Cn(e,",")){let s=r.trim();s&&i.add(xi.test(s)?vi(s):s)}}function vn(t,e,n,o){let i;try{i=t.cssRules}catch{i=o.crossOriginRules?.(t)}return i?Ci(i,e,n,o):!1}function Wo(t,e){for(let n of t){let o=n.effect?.getKeyframes?.()||[];for(let i of o)for(let r of Object.keys(i))r==="offset"||r==="easing"||r==="composite"||r==="computedOffset"||e.add(r.replace(/[A-Z]/g,s=>"-"+s.toLowerCase()))}}function ki(t){let e=new Set;return vn(t,e,{before:[],after:[],firstLetter:[],marker:[],firstLine:[]},{budget:Si,usesHas:!1,leaksAcrossSubtrees:!1,shareUnsafeSels:new Set,inContainer:0,marginUnstable:!1,paddingUnstable:!1,importantProps:new Set,pseudoProps:new Set})?e:null}function Cn(t,e){if(!t.includes(e))return[t];let n=[],o=0,i=null,r=0;for(let s=0;s"||u==="+"||u==="~")&&(o=l+1)}let i="",r=0;for(let l of t.slice(o))l==="("||l==="["?r++:l===")"||l==="]"?r--:r===0&&(i+=l);let s=l=>!l||/\\[0-9a-fA-F]/.test(l)?null:l.replace(/\\(.)/g,"$1"),a=s((i.match(/\.((?:\\.|[\w-])+)/)||[])[1]);if(a)return"c"+a;let c=s((i.match(/#((?:\\.|[\w-])+)/)||[])[1]);if(c)return"i"+c;let f=(i.match(/^([a-zA-Z][\w-]*)/)||[])[1];return f?"t"+f.toLowerCase():null}function Mi(t,e){if(!e.length)return"";if(e.some(o=>o.includes("&")))return null;let n=e.join(",");try{return t.matches(n),n}catch{return null}}function el(t,e){let n=t.createElement("div"),o={};for(let i in e){let r=e[i];(i==="before"||i==="after")&&r.push("q"),o[i]=Mi(n,r)}return o}function Ai(t,e){let n={universe:null,pseudoUniverse:null,svgGeometry:null,svgGeometrySel:null,usesHas:!0,leaksAcrossSubtrees:!0,shareGate:null,marginUnstable:!0,paddingUnstable:!0,importantProps:null,pseudoGates:{before:null,after:null,firstLetter:null,marker:null,firstLine:null}};try{let o=new Set(Do),i={before:[],after:[],firstLetter:[],marker:[],firstLine:[]},r={budget:Si,usesHas:!1,leaksAcrossSubtrees:!1,shareUnsafeSels:new Set,inContainer:0,marginUnstable:!1,paddingUnstable:!1,importantProps:new Set,pseudoProps:new Set,svgGeometry:new Set,svgGeometrySels:new Set,svgAnimSels:new Set,svgKeyframes:!1,svgGeometryAll:!1,inScope:0,crossOriginRules:e};for(let u of t.styleSheets)if(!vn(u,o,i,r))return n;let s=t.adoptedStyleSheets;if(Array.isArray(s)){for(let u of s)if(!vn(u,o,i,r))return n}if(typeof t.getAnimations=="function"){let u=new Set;Wo(t.getAnimations(),u);for(let d of u)o.add(d),wi(r.svgGeometry,d)&&(r.svgGeometryAll=!0)}if(r.svgKeyframes)for(let u of r.svgAnimSels)r.svgGeometrySels.add(u);let a=r.svgGeometryAll?null:Array.from(r.svgGeometrySels).join(","),c=Array.from(r.shareUnsafeSels),f=Mi(t.createElement("div"),c)===null?null:c.map(u=>({sel:u,key:tl(u)})),l=new Set(Kc);for(let u of Yc)o.has(u)&&l.add(u);for(let u of r.pseudoProps)l.add(u);return(r.pseudoProps.has("transform")||r.pseudoProps.has("rotate")||r.pseudoProps.has("scale"))&&l.add("transform-origin"),r.pseudoProps.has("perspective")&&l.add("perspective-origin"),{universe:o,pseudoUniverse:l,svgGeometry:r.svgGeometry,svgGeometrySel:a,pseudoGates:el(t,i),usesHas:r.usesHas,leaksAcrossSubtrees:r.leaksAcrossSubtrees,shareGate:f,marginUnstable:r.marginUnstable,paddingUnstable:r.paddingUnstable,importantProps:r.importantProps}}catch{return n}}var qc,Xc,Do,Yc,Kc,xi,Si,Qc,yi,Zc,bi,kn=ct(()=>{"use strict";qc=new Set(["r","cx","cy","rx","ry","x","y","width","height","d","transform","translate","rotate","scale","transform-origin","transform-box","vector-effect"]);Xc=/^(?:animation|transition)/,Do=["display","position","top","right","bottom","left","float","clear","z-index","box-sizing","width","height","min-width","min-height","max-width","max-height","margin-top","margin-right","margin-bottom","margin-left","padding-top","padding-right","padding-bottom","padding-left","overflow-x","overflow-y","visibility","opacity","content-visibility","vertical-align","border-top-width","border-right-width","border-bottom-width","border-left-width","border-top-style","border-right-style","border-bottom-style","border-left-style","border-top-color","border-right-color","border-bottom-color","border-left-color","border-top-left-radius","border-top-right-radius","border-bottom-right-radius","border-bottom-left-radius","flex-direction","flex-wrap","flex-grow","flex-shrink","flex-basis","order","align-items","align-self","align-content","justify-content","justify-items","justify-self","row-gap","column-gap","grid-template-columns","grid-template-rows","grid-auto-flow","grid-auto-columns","grid-auto-rows","grid-column-start","grid-column-end","grid-row-start","grid-row-end","color","font-family","font-size","font-weight","font-style","font-stretch","line-height","letter-spacing","word-spacing","white-space","text-align","text-transform","text-indent","text-overflow","text-shadow","direction","unicode-bidi","writing-mode","text-orientation","word-break","overflow-wrap","tab-size","list-style-type","list-style-position","list-style-image","counter-reset","counter-increment","counter-set","background-color","background-image","background-size","background-position","background-repeat","background-clip","background-origin","background-attachment","box-shadow","outline-width","outline-style","outline-color","outline-offset","transform","transform-origin","rotate","scale","translate","filter","mix-blend-mode","clip-path","object-fit","object-position","border-collapse","border-spacing","table-layout","caption-side","empty-cells"],Yc=["color","font-family","font-size","font-weight","font-style","font-stretch","font-variant","font-kerning","font-feature-settings","font-variation-settings","line-height","letter-spacing","word-spacing","white-space","text-align","text-align-last","text-indent","text-transform","text-shadow","text-rendering","direction","unicode-bidi","word-break","overflow-wrap","writing-mode","text-orientation","hyphens","tab-size","visibility","list-style-type","list-style-position","list-style-image","border-collapse","border-spacing","caption-side","empty-cells","quotes","color-scheme","-webkit-text-fill-color","-webkit-font-smoothing","image-rendering"],Kc=["display","width","height","min-width","min-height"],xi=/::?(?:before|after|first-letter|first-line|marker)/,Si=2e4,Qc=/%|\bauto\b|calc\(|var\(/i,yi={before:/::?before\b/,after:/::?after\b/,firstLetter:/::?first-letter\b/,marker:/::marker\b/,firstLine:/::?first-line\b/},Zc=/::?(?:before|after|first-letter|first-line|marker)\b/g;bi=/:(nth-|first-child|last-child|only-|first-of-type|last-of-type|empty|hover|focus|active|target|checked|indeterminate|disabled|enabled|read-only|read-write|placeholder-shown|autofill|valid|invalid|user-valid|user-invalid|in-range|out-of-range|required|optional|default|link|any-link|scope|defined|modal|fullscreen|picture-in-picture|playing|paused|dir\(|lang\(|has\()/});function J(t){return _i.add(t),t.setAttribute("data-snapdom-internal",""),t}function Xt(t){return _i.has(t)}var _i,_t=ct(()=>{"use strict";_i=new WeakSet});function Uo(t){if(t=String(t).toLowerCase(),Je.has(t)){let r={};return O.defaultStyle.set(t,r),r}if(O.defaultStyle.has(t))return O.defaultStyle.get(t);let e=[...document.querySelectorAll("#snapdom-sandbox")].find(Xt);e||(e=document.createElement("div"),J(e),e.id="snapdom-sandbox",e.setAttribute("data-snapdom-sandbox","true"),e.setAttribute("aria-hidden","true"),e.style.position="absolute",e.style.left="-9999px",e.style.top="-9999px",e.style.width="0px",e.style.height="0px",e.style.overflow="hidden",document.body.appendChild(e));let n=document.createElement(t.includes("-")?"span":t);n.style.all="initial",e.appendChild(n);let o=getComputedStyle(n),i={};for(let r of o){if(Ce(r))continue;let s=o.getPropertyValue(r);i[r]=s}for(let r of Do)!(r in i)&&!Ce(r)&&(i[r]=o.getPropertyValue(r));return e.removeChild(n),O.defaultStyle.set(t,i),i}function Ce(t){let e=Ei.get(t);if(e===void 0){let n=String(t).toLowerCase();e=rl.has(n)||ol.test(n)||nl.test(n),Ei.set(t,e)}return e}function Fi(t,e){let n=ll.get(t);if(n===void 0||e[n]!==e[t])return!1;let o=e["writing-mode"];if(o&&o!=="horizontal-tb")return!1;let i=e.direction;return!(i&&i!=="ltr")}function Mn(t,e){return!sl.has(t)&&(e==="inline"||il.has(t)||Ri.has(t))}function zo(t,e,n){let o=(e.display||"").toLowerCase();if(o==="inline"||Ri.has(t))return!1;if(n)return!0;if((e.float||"none").toLowerCase()!=="none")return!1;let r=(e.position||"static").toLowerCase();return r==="absolute"||r==="fixed"?!1:!ul.has(o)}function ke(t,e,n=!0,o=!1){if(e=String(e||"").toLowerCase(),Je.has(e))return"";let i=[],r=Uo(e),s=(t.display||"").toLowerCase(),a=s==="inline",c=Mn(e,s),f=t["text-wrap-mode"]||t["white-space"]||"",l=f==="nowrap"||f==="pre",d=c&&n&&!(c&&n&&!a&&l),h=!1;for(let m in t){if(Ce(m)||Fi(m,t))continue;let p=t[m];if(d){if(al.has(m))continue;if(cl.has(m)){p&&p!==r[m]&&(i.push(`${m}:${p}`),p!=="auto"&&(h=!0));continue}}if(p&&p!==r[m]){if((m==="height"||m==="block-size"||!l&&(m==="width"||m==="inline-size"))&&p.endsWith("px")&&p.includes(".")){let y=parseFloat(p);if(Number.isFinite(y)){i.push(`${m}:${(y+fl).toFixed(3)}px`);continue}}i.push(`${m}:${p}`)}}if(d&&!a&&!o&&!h){let m=t.width;m&&m!=="auto"&&m!==r.width&&i.push(`min-width:${m}`)}return i.sort(),i.join(";")}function Ho(t){let e=new Set;return t.nodeType!==Node.ELEMENT_NODE&&t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE?[]:(t.tagName&&e.add(t.tagName.toLowerCase()),typeof t.querySelectorAll=="function"&&t.querySelectorAll("*").forEach(n=>e.add(n.tagName.toLowerCase())),Array.from(e))}function jo(t,e=null){let n=new Map;for(let s of t){let a=Uo(s);if(!a)continue;let l=(e?Object.entries(a).filter(([d])=>e.has(d)):Object.entries(a)).filter(([d])=>!Fi(d,a)).map(([d,h])=>`${d}:${h};`).sort(),u=l.join("");u&&(n.has(u)||n.set(u,{tagList:[],declarations:l}),n.get(u).tagList.push(s))}let o=[...n.values()],i=null;for(let{declarations:s}of o){let a=new Set(s);if(!i){i=a;continue}for(let c of i)a.has(c)||i.delete(c)}i??=new Set;let r="";if(i.size&&o.length>1){let s=o.flatMap(a=>a.tagList);r+=`${s.join(",")} { ${[...i].join("")} } -`}for(let{tagList:s,declarations:a}of o){let c=o.length>1?a.filter(l=>!i.has(l)):a;if(!c.length)continue;let f=c.join("");r+=`${s.join(",")} { ${f} } -`}return r}function tn(t){let e=Array.from(new Set(t.values())).filter(Boolean).sort(),n=new Map,o=1;for(let i of e)n.set(i,`c${o++}`);return n}function dl(t){try{let e=t?.ownerDocument;if(!e)return typeof window<"u"?window:null;let n=e.defaultView;if(n&&typeof n.getComputedStyle=="function")return n;if(typeof window<"u"&&window.frames)for(let o=0;o{let r={length:0,getPropertyValue:()=>"",item:()=>""};return r[Symbol.iterator]=function*(){},r};if(t?.nodeType!==1){let r=typeof window<"u"?window:null;if(r&&typeof r.getComputedStyle=="function")try{return r.getComputedStyle(t,e)||n()}catch{return n()}return n()}let o=O.computedStyle.get(t);o||(o=new Map,O.computedStyle.set(t,o));let i=o.get(e);if(!i){let r=dl(t),s=null;try{s=r&&typeof r.getComputedStyle=="function"?r.getComputedStyle(t,e):null}catch{}if(!s&&typeof window<"u"&&typeof window.getComputedStyle=="function")try{t.ownerDocument===document&&(s=window.getComputedStyle(t,e))}catch{}i=s||n(),o.set(e,i)}return i}function Me(t,e=null){let n={};for(let o of e||t){let i=t.getPropertyValue(o);i&&(n[o]=i)}for(let o of pl){let i=n[`border-${o}-style`],r=n[`border-${o}-width`];(i==="none"||i==="hidden"||r==="0px")&&(delete n[`border-${o}-style`],delete n[`border-${o}-width`],delete n[`border-${o}-color`])}return n}function Yt(t){let e=[],n=0,o=0;for(let i=0;i{"use strict";wt();kn();_t();Bo=new Set(["meta","script","noscript","title","link","template"]),Je=new Set(["meta","link","style","title","noscript","script","template","g","defs","use","marker","mask","clipPath","pattern","symbol","path","polygon","polyline","line","circle","ellipse","rect","filter","lineargradient","radialgradient","stop"]);nl=/(?:^|-)(animation|transition)(?:-|$)/i,ol=/^(--.+|view-timeline|scroll-timeline|animation-trigger|offset-|position-try|app-region|interactivity|overlay|view-transition|-webkit-locale|-webkit-user-(?:drag|modify)|-webkit-tap-highlight-color|-webkit-text-security)$/i,rl=new Set(["cursor","pointer-events","touch-action","user-select","print-color-adjust","speak","reading-flow","reading-order","anchor-name","anchor-scope","container-name","container-type","timeline-scope","zoom","stroke-color"]),Ei=new Map;il=new Set(["span","small","em","strong","b","i","u","s","code","cite","mark","sub","sup"]),Ri=new Set(["table","thead","tbody","tfoot","tr","td","th"]),sl=new Set(["img","video","canvas","svg","iframe","embed","object","input","textarea","select"]),al=new Set(["width","max-width","inline-size","max-inline-size"]),cl=new Set(["min-width","min-inline-size"]),ll=new Map(Object.entries({"block-size":"height","inline-size":"width","min-block-size":"min-height","min-inline-size":"min-width","max-block-size":"max-height","max-inline-size":"max-width","margin-block-start":"margin-top","margin-block-end":"margin-bottom","margin-inline-start":"margin-left","margin-inline-end":"margin-right","padding-block-start":"padding-top","padding-block-end":"padding-bottom","padding-inline-start":"padding-left","padding-inline-end":"padding-right","inset-block-start":"top","inset-block-end":"bottom","inset-inline-start":"left","inset-inline-end":"right","border-block-start-width":"border-top-width","border-block-start-style":"border-top-style","border-block-start-color":"border-top-color","border-block-end-width":"border-bottom-width","border-block-end-style":"border-bottom-style","border-block-end-color":"border-bottom-color","border-inline-start-width":"border-left-width","border-inline-start-style":"border-left-style","border-inline-start-color":"border-left-color","border-inline-end-width":"border-right-width","border-inline-end-style":"border-right-style","border-inline-end-color":"border-right-color","border-start-start-radius":"border-top-left-radius","border-start-end-radius":"border-top-right-radius","border-end-start-radius":"border-bottom-left-radius","border-end-end-radius":"border-bottom-right-radius","overflow-block":"overflow-y","overflow-inline":"overflow-x","overscroll-behavior-block":"overscroll-behavior-y","overscroll-behavior-inline":"overscroll-behavior-x","contain-intrinsic-block-size":"contain-intrinsic-height","contain-intrinsic-inline-size":"contain-intrinsic-width"}));fl=.001;ul=new Set(["inline-block","inline-flex","inline-grid","inline-table","inline-flow-root","table"]);pl=["top","right","bottom","left"]});function xt(t=1e3){return typeof requestAnimationFrame!="function"||typeof document<"u"&&document.visibilityState==="hidden"?Promise.resolve():new Promise(e=>{let n=!1,o=()=>{n||(n=!0,e())};try{requestAnimationFrame(o)}catch{o();return}setTimeout(o,t)})}function Pi(t){if(t!==!1&&t!=="auto")return null;let e=performance.now()+(t==="auto"?hl:Ti),n=null,o={yielded:!1,due:()=>performance.now()>=e,pause:()=>n||(n=new Promise(i=>{let r=()=>{n=null,o.yielded=!0,e=performance.now()+Ti,i()},s=new MessageChannel;s.port1.onmessage=r,s.port2.postMessage(0)}))};return o}function en(){if(typeof navigator>"u")return!1;if(navigator.userAgentData)return navigator.userAgentData.platform==="iOS";let t=navigator.userAgent||"",e=/iPhone|iPad|iPod/.test(t),n=navigator.maxTouchPoints>2&&/Macintosh/.test(t);return e||n}function X(){if(typeof navigator>"u")return!1;let t=navigator.userAgent||"",e=t.toLowerCase(),n=e.includes("safari")&&!e.includes("chrome")&&!e.includes("crios")&&!e.includes("fxios")&&!e.includes("android"),o=/applewebkit/i.test(t),i=/mobile/i.test(t),r=!/safari/i.test(t),s=o&&i&&r,a=/(micromessenger|wxwork|wecom|windowswechat|macwechat)/i.test(t),c=/(baiduboxapp|baidubrowser|baidusearch|baiduboxlite)/i.test(e),f=/ipad|iphone|ipod/.test(e)&&o;return n||s||a||c||f}function St(){return typeof navigator>"u"?!1:(navigator.userAgent||"").toLowerCase().includes("firefox")}var Ti,hl,mt=ct(()=>{"use strict";Ti=16,hl=40});function j(t,e,n){let o=t&&typeof t=="object"&&(t.options||t);o&&o.debug&&(n!==void 0?console.warn("[SnapDOM]",e,n):console.warn("[SnapDOM]",e))}function Et(t,e,n,o){let i=t&&t.warnings;i&&i.length{"use strict";ml=50});var vt=ct(()=>{"use strict";gi();Ae();mt();At();ce()});var kc={};Se(kc,{MAX_RASTER_AREA:()=>oe,MAX_RASTER_SIDE:()=>It,WEBP_MAX_SIDE:()=>Zr,__setDecodeFrameIdleMs:()=>Cp,cropSvgText:()=>vo,decodeSvgFromDataURL:()=>ye,encodeSvgToDataURL:()=>be,fixSafariShadows:()=>ko,peekSvgHeader:()=>Co,toCanvas:()=>Ht});function dp(t,e){try{let n=t.match(/]*>/i);if(!n)return t;let o=n[0],i=parseFloat((o.match(/\bwidth="([\d.]+)/i)||[])[1]),r=parseFloat((o.match(/\bheight="([\d.]+)/i)||[])[1]);if(!Number.isFinite(i)||!Number.isFinite(r)||i<=0||r<=0)return t;let s=Math.min(1,It/i,It/r,Math.sqrt(oe/(i*r)));if(s>=1)return t;let a=Math.max(1,Math.floor(i*s)),c=Math.max(1,Math.floor(r*s));return Et(e,"raster-clamp",`capture ${Math.round(i)}x${Math.round(r)}px exceeds decode limits; downscaled to ${a}x${c}px`),console.warn(`[SnapDOM] ${Math.round(i)}\xD7${Math.round(r)}px is too large for the browser to draw; scaled down to ${a}\xD7${c}px. For full size, export ${typeof CompressionStream=="function"?"a PNG blob, ":""}an SVG, or crop.`),t.replace(o,o.replace(/(\bwidth=")[\d.]+/i,`$1${a}`).replace(/(\bheight=")[\d.]+/i,`$1${c}`))}catch{return t}}function vo(t,e,{shiftContent:n=X()}={}){let o=["x","y","width","height"].map(M=>Number(e?.[M]));if(!o.every(Number.isFinite)||o[2]<=0||o[3]<=0)throw new RangeError("[SnapDOM] crop needs finite x/y and a positive width/height.");let i=t.match(/]*>/i);if(!i)throw new Error("[SnapDOM] Only SVG captures can be cropped.");let r=i[0],s=(r.match(/\bviewBox="([^"]+)"/i)||[])[1],a=String(s||"").trim().split(/[\s,]+/).map(Number);if(a.length!==4||!a.every(Number.isFinite)||a[2]<=0||a[3]<=0)throw new Error("[SnapDOM] Can't crop: the SVG has no valid viewBox.");let[c,f,l,u]=a,d=Math.max(c,o[0]),h=Math.max(f,o[1]),m=Math.min(c+l,o[0]+o[2]),p=Math.min(f+u,o[1]+o[3]);if(!(m>d)||!(p>h))throw new RangeError("[SnapDOM] The crop area does not intersect the capture.");let g=parseFloat((r.match(/\bwidth="([\d.]+)/i)||[])[1]),y=parseFloat((r.match(/\bheight="([\d.]+)/i)||[])[1]),b=Number.isFinite(g)&&g>0?g/l:1,w=Number.isFinite(y)&&y>0?y/u:1,S=Math.max(1,(m-d)*b),C=Math.max(1,(p-h)*w),x=r.replace(/(\bwidth=")[^"]*/i,`$1${S}`).replace(/(\bheight=")[^"]*/i,`$1${C}`),k=n?pp(t,r,d,h):null;if(k)return x.replace(/(\bviewBox=")[^"]*/i,(v,_)=>`${_}0 0 ${m-d} ${p-h}`)+k.slice(r.length);let A=x.replace(/(\bviewBox=")[^"]*/i,`$1${d} ${h} ${m-d} ${p-h}`);return t.replace(r,A)}function pp(t,e,n,o){if(!t.startsWith(e))return null;let i=/^\s*]*>/i.exec(t.slice(e.length,e.length+2048));if(!i)return null;let r=i[0],s=(f,l,u)=>{let d=new RegExp(`(\\s${l}=")([^"]*)`),h=f.match(d),m=h?parseFloat(h[2]):0;return Number.isFinite(m)?h?f.replace(d,(p,g)=>`${g}${m-u}`):f.replace(/^(\s*`${g} ${l}="${-u}"`):null},a=s(r,"x",n),c=a&&s(a,"y",o);return c?e+c+t.slice(e.length+r.length):null}function Xr(t){return typeof t=="string"&&/^data:image\/svg\+xml/i.test(t)}function ye(t){let e=t.indexOf(",");return e>=0?decodeURIComponent(t.slice(e+1)):""}function Co(t){let e=t.indexOf(",");if(e<0)return"";let n=t.slice(e+1,e+1201).replace(/%[0-9A-Fa-f]?$/,"");try{return decodeURIComponent(n)}catch{return""}}function be(t){return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(t)}`}function xc(t){let e=[],n="",o=0;for(let i=0;ii.trim()).filter(Boolean)}function hp(t){let e=[],n="",o=0;for(let r=0;r`${a}:${c}`).join(";")}function mp(t){return t.replace(/([^{}]+)\{([^}]*)\}/g,(e,n,o)=>`${n}{${Sc(o)}}`)}function gp(t){return t=t.replace(/]*>([\s\S]*?)<\/style>/gi,(e,n)=>e.replace(n,mp(n))),t=t.replace(/style=(['"])([\s\S]*?)\1/gi,(e,n,o)=>`style=${n}${Sc(o)}${n}`),t}function yp(){return bo||(bo=(async()=>{try{let t='
',e=new Image;e.decoding="sync",e.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(t)}`,await e.decode();let n=document.createElement("canvas");n.width=8,n.height=20;let o=n.getContext("2d",{willReadFrequently:!0});o.drawImage(e,0,0);let i=o.getImageData(2,18,1,1).data[3]>128,r=o.getImageData(2,2,1,1).data[3]>128;return{native:i||r,flippedY:r&&!i}}catch{return{native:!1,flippedY:!1}}})(),bo)}function bp(t){let e=[],n=0,o=0;for(let i=0;i{let r=0,s=0,a="",c=0;for(;cxc(o).map(i=>{let r=i.indexOf(":");if(r<0)return i;let s=i.slice(0,r).trim().toLowerCase();return s==="text-shadow"||e&&s==="box-shadow"?`${s}:${bp(i.slice(r+1))}`:i}).join(";");return t=t.replace(/]*>([\s\S]*?)<\/style>/gi,(o,i)=>o.replace(i,i.replace(/([^{}]+)\{([^}]*)\}/g,(r,s,a)=>`${s}{${n(a)}}`))),t=t.replace(/style=(['"])([\s\S]*?)\1/gi,(o,i,r)=>`style=${i}${n(r)}${i}`),t}async function ko(t){if(!/(?:box-shadow|text-shadow)\s*:[^;"}]*px/i.test(t))return{svg:t,naturalOnly:!1};let{native:n,flippedY:o}=await yp();try{let i=t;return n||(i=gp(i)),o&&(i=wp(i,n)),{svg:i,naturalOnly:!0}}catch{return{svg:t,naturalOnly:!0}}}function xp(){let t=document.createElement("canvas");t.width=16,t.height=16;let e=t.getContext("2d",{willReadFrequently:!0});return e?n=>{e.clearRect(0,0,16,16),e.drawImage(n,0,0,16,16);let o=e.getImageData(0,0,16,16).data;for(let i=3;i0)return!0;return!1}:null}async function Sp(t,e,n){J(t),t.style.cssText="position:fixed;left:-99999px;top:-99999px;pointer-events:none",document.body.appendChild(t);try{if(!n)return await wo(),await wo(),!1;let o=performance.now()+(e?600:150);for(;;){let i;try{i=n(t)}catch{return!1}if(i)return!0;if(performance.now()>o)return!1;await wo()}}finally{try{t.remove()}catch{}}}function So(){clearTimeout(Jr),ne?.remove(),ne=null,xo=0}function Cp(t){Cc=t??vc}function bc(t){if(typeof document>"u"||!document.body)return new Image;if(clearTimeout(Jr),ne&&!ne.contentDocument&&So(),ne&&xo>vp&&bn===0&&So(),!ne){let n=document.createElement("iframe");J(n),n.setAttribute("aria-hidden","true"),n.style.cssText="position:absolute;left:-9999px;top:0;width:0;height:0;border:0;visibility:hidden;pointer-events:none";try{document.body.appendChild(n)}catch{}if(n.contentDocument)ne=n,xo=0;else{try{n.remove()}catch{}return new Image}}xo+=t.length,bn+=1;let e=ne.contentDocument.createElement("img");return e.__snapdomDecodeFrame=!0,e}function Kr(t,e=!1){!t||!t.__snapdomDecodeFrame||(t.__snapdomDecodeFrame=!1,bn=Math.max(0,bn-1),e&&(Yr=!0),!(bn>0)&&(Yr?(Yr=!1,So()):Jr=setTimeout(So,Cc)))}function wc(t,e){return t.loading="eager",t.decoding="sync",t.crossOrigin="anonymous",t.src=e,t.decode()}function Ep(t){if(typeof t!="string")return!1;let e=t.indexOf(",")+1,n=Math.max(48,Math.floor((t.length-e)/200)),o=0,i=0;for(let r=e;r+48<=t.length;r+=n){let s=t.slice(r,r+48);o++,_p.some(a=>s.includes(a))||i++}return i*2>o}function Qr(t,e,n,o,i){if(!e.naturalWidth){t.drawImage(e,0,0,n,o);return}let r=n*o,s=r>kp&&!Ep(i)?Math.min(Ap,Math.ceil(r/Mp)):1;if(s===1){t.drawImage(e,0,0,n,o);return}let a=e.naturalWidth,c=e.naturalHeight/o;for(let f=0;f]*>/i)||[])[0]||"",p=parseFloat((m.match(/\bwidth="([\d.]+)/i)||[])[1]),g=parseFloat((m.match(/\bheight="([\d.]+)/i)||[])[1]),y=Number.isFinite(p)&&Number.isFinite(g)&&p>0&&g>0&&Math.min(1,It/p,It/g,Math.sqrt(oe/(p*g)))<1;if(c||y||X())try{let b=ye(t);if(c&&(b=vo(b,c)),X()){let w=await ko(b);b=w.svg,u=w.naturalOnly,d=/@font-face|data:image\//i.test(b)}(y||c)&&(b=dp(b,e.__session)),l=be(b)}catch(b){if(c)throw b;l=t}}let h=f||bc(l);try{f||await wc(h,l)}catch(m){if(!h.__snapdomDecodeFrame)throw m;let p=h;h=bc(l),Kr(p);try{await wc(h,l)}catch(g){throw Kr(h,e.__releaseDecodeFrame),g}}try{!f&&!X()&&!St()&&Xr(l)&&/(?:%40|@)font-face/i.test(l)&&await new Promise(F=>{let N=new MessageChannel;N.port1.onmessage=()=>{N.port1.close(),N.port2.close(),F()},N.port2.postMessage(0)});let m=X()&&!f?xp():null,p=!1;m&&(p=await Sp(h,d,m));let g=f?f.width:h.naturalWidth,y=f?f.height:h.naturalHeight,b=c?g:Number.isFinite(s.vbW)?s.vbW:Number.isFinite(s.w0)?s.w0:g,w=c?y:Number.isFinite(s.vbH)?s.vbH:Number.isFinite(s.h0)?s.h0:y,S,C,x=Number.isFinite(n),k=Number.isFinite(o);if(x&&k)S=Math.max(1,n),C=Math.max(1,o);else if(x){let F=n/Math.max(1,b);S=n,C=w*F}else if(k){let F=o/Math.max(1,w);C=o,S=b*F}else{let F=f&&Number.isFinite(s.vbW)&&Number.isFinite(s.vbH);S=F?s.vbW:g,C=F?s.vbH:y}!x&&!k&&(S=S*i,C=C*i);let A=S*r,M=C*r,v=Math.max(A/It,M/It,Math.sqrt(A*M/oe)),_=e.__encodeFormat==="webp"?Math.max(A,M)/Zr:0,E=Math.max(v,_);if(E>1){let F=v<=1;Et(e.__session,"canvas-clamp",`output ${Math.round(A)}x${Math.round(M)}px exceeds ${F?"WebP":"canvas"} limits; downscaled`),console.warn(F?`[SnapDOM] ${Math.round(A)}\xD7${Math.round(M)}px is larger than WebP can encode (${Zr}px per side); scaled down. For full size, export a PNG, an SVG, or crop.`:`[SnapDOM] ${Math.round(A)}\xD7${Math.round(M)}px is larger than a canvas allows; scaled down. For full size, export ${typeof CompressionStream=="function"?"a PNG blob, ":""}an SVG, or crop.`),S/=E,C/=E}let T=Mt(e.canvas)&&it(e.canvas,"canvas")?e.canvas:document.createElement("canvas");T.width=Math.max(1,S*r),T.height=Math.max(1,C*r),T.style.width=`${S}px`,T.style.height=`${C}px`;let P=T.getContext("2d");if(!P)throw new Error("[SnapDOM] The canvas you passed has no 2D context (is it already used for WebGL?).");let L=null,W=e.__layoutZoom||1;if(!f&&W>1&&St()){let F=W*b/(S*r),N=Math.round(S*r*F),$=Math.round(C*r*F);F>1.01&&N<=It&&$<=It&&N*$<=oe&&(L={w:N,h:$})}let R=()=>{if(P.save(),r!==1&&P.scale(r,r),a&&(P.save(),P.fillStyle=a,P.fillRect(0,0,S,C),P.restore()),u&&(Math.round(S*r)!==g||Math.round(C*r)!==y)){let F=document.createElement("canvas");F.width=g,F.height=y,Qr(F.getContext("2d"),h,g,y,l),P.drawImage(F,0,0,S,C)}else{if(P.save(),P.setTransform(1,0,0,1,0,0),L){let F=document.createElement("canvas");for(F.width=L.w,F.height=L.h,Qr(F.getContext("2d"),h,L.w,L.h,l);F.width>S*r*2;){let N=document.createElement("canvas");N.width=Math.ceil(F.width/2),N.height=Math.ceil(F.height/2),N.getContext("2d").drawImage(F,0,0,N.width,N.height),F=N}P.imageSmoothingQuality="high",P.drawImage(F,0,0,S*r,C*r)}else Qr(P,h,S*r,C*r,l);P.restore()}P.restore()};if(R(),m&&p&&d){let F=!0;try{F=m(h)}catch{}if(!F){let N=performance.now()+600;do{await wo();try{F=m(h)}catch{break}}while(!F&&performance.now(){"use strict";mt();ce();At();_t();It=X()?16384:32767,oe=16384*16384,Zr=16383;bo=null;wo=()=>new Promise(t=>{requestAnimationFrame(t),setTimeout(t,50)});vp=24*1024*1024,vc=5e3,ne=null,xo=0,bn=0,Yr=!1,Cc=vc,Jr=0;kp=4e6,Mp=2e6,Ap=8,_p=["%3C","%3E","%20","%7B","%7D","%3B"]});var wn={};Se(wn,{rasterize:()=>ti});async function ti(t,e){let n=await Ht(t,{...e,__encodeFormat:e.format}),r=n.width*n.height<=2e6?n.toDataURL(`image/${e.format}`,e.quality):await new Promise(a=>{let c=()=>a(n.toDataURL(`image/${e.format}`,e.quality));try{n.toBlob(f=>{if(!f)return c();let l=new FileReader;l.onload=()=>a(String(l.result||"")),l.onerror=c,l.readAsDataURL(f)},`image/${e.format}`,e.quality)}catch{c()}}),s=new Image;return s.src=r,X()?await s.decode():await new Promise((a,c)=>{if(s.complete&&s.naturalWidth)return a();s.onload=a,s.onerror=c}),s.style.width=`${n.width/e.dpr}px`,s.style.height=`${n.height/e.dpr}px`,s}var qe=ct(()=>{"use strict";we();mt()});var ei={};Se(ei,{toImg:()=>Rp,toSvg:()=>Rp});async function Rp(t,e){let{scale:n=1,width:o,height:i,meta:r={}}=e,s=Number.isFinite(o),a=Number.isFinite(i),c=Number.isFinite(n)&&n!==1||s||a;if(X()&&c)try{let{svg:d}=await ko(ye(t)),h=(d.match(/]*>/i)||[])[0]||"",m=parseFloat((h.match(/\bwidth="([\d.]+)/i)||[])[1]),p=parseFloat((h.match(/\bheight="([\d.]+)/i)||[])[1]);if(!Number.isFinite(m)||!Number.isFinite(p))throw new Error("The SVG has no size.");let g=Number.isFinite(r.vbW)?r.vbW:Number.isFinite(r.w0)?r.w0:m,y=Number.isFinite(r.vbH)?r.vbH:Number.isFinite(r.h0)?r.h0:p,b,w;s&&a?(b=o,w=i):s?(b=o,w=Math.max(1,Math.round(y*(o/Math.max(1,g))))):a?(w=i,b=Math.max(1,Math.round(g*(i/Math.max(1,y))))):(b=Math.max(1,Math.round(m*n)),w=Math.max(1,Math.round(p*n)));let S=d.replace(/width="[^"]*"/,`width="${b}"`).replace(/height="[^"]*"/,`height="${w}"`),C=new Image;return C.decoding="sync",C.loading="eager",C.src=be(S),await C.decode(),C.style.width=`${b}px`,C.style.height=`${w}px`,C}catch(d){return Et(e.__session,"safari-png-fallback","Safari vector toImg failed; using PNG",d),j(e,"Safari couldn't show the SVG; used a PNG.",d),ti(t,{...e,format:"png",quality:1,meta:r})}let f=t,l=!1;if(!s&&!a&&n!==1&&typeof t=="string"&&t.startsWith("data:image/svg+xml"))try{let d=ye(t),h=(d.match(/]*>/i)||[])[0]||"",m=Number((h.match(/\bwidth="([\d.]+)"/i)||[])[1]),p=Number((h.match(/\bheight="([\d.]+)"/i)||[])[1]);if(m>0&&p>0){let g=h.replace(/\bwidth="[^"]*"/i,`width="${Math.max(1,Math.round(m*n))}"`).replace(/\bheight="[^"]*"/i,`height="${Math.max(1,Math.round(p*n))}"`);f=be(d.replace(h,g)),l=!0}}catch{}let u=new Image;u.decoding="sync",u.loading="eager",u.src=f;try{await u.decode()}catch(d){if(!l)throw d;u.src=t,l=!1,await u.decode()}if(s&&a)u.style.width=`${o}px`,u.style.height=`${i}px`;else if(s){let d=Number.isFinite(r.vbW)?r.vbW:Number.isFinite(r.w0)?r.w0:u.naturalWidth,h=Number.isFinite(r.vbH)?r.vbH:Number.isFinite(r.h0)?r.h0:u.naturalHeight,m=o/Math.max(1,d);u.style.width=`${o}px`,u.style.height=`${Math.max(1,Math.round(h*m))}px`}else if(a){let d=Number.isFinite(r.vbW)?r.vbW:Number.isFinite(r.w0)?r.w0:u.naturalWidth,h=Number.isFinite(r.vbH)?r.vbH:Number.isFinite(r.h0)?r.h0:u.naturalHeight,m=i/Math.max(1,h);u.style.height=`${i}px`,u.style.width=`${Math.max(1,Math.round(d*m))}px`}else{let d=Math.max(1,Math.round(u.naturalWidth*(l?1:n))),h=Math.max(1,Math.round(u.naturalHeight*(l?1:n)));if(u.style.width=`${d}px`,u.style.height=`${h}px`,!l&&n!==1&&typeof t=="string"&&t.startsWith("data:image/svg+xml"))try{let p=decodeURIComponent(t.split(",")[1]).replace(/width="[^"]*"/,`width="${d}"`).replace(/height="[^"]*"/,`height="${h}"`);u.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(p)}`,await u.decode()}catch(m){j(e,"Couldn't size the SVG image.",m),u.src!==t&&(u.src=t,await u.decode().catch(()=>{}))}}return u}var ni=ct(()=>{"use strict";vt();ce();qe();we()});var Ac={};Se(Ac,{encodePng:()=>Fp});function Mo(t,e=new Uint8Array(0)){let n=new Uint8Array(e.length+12),o=new DataView(n.buffer);o.setUint32(0,e.length);for(let r=0;r<4;r++)n[r+4]=t.charCodeAt(r);n.set(e,8);let i=4294967295;for(let r=4;r>>8;return o.setUint32(n.length-4,(i^4294967295)>>>0),n}async function Fp(t,e,n){if(![t,e].every(p=>Number.isInteger(p)&&p>0&&p<=2147483647))throw new RangeError("[SnapDOM] PNG dimensions must be integers from 1 to 2147483647");let o=new Uint8Array(13),i=new DataView(o.buffer);i.setUint32(0,t),i.setUint32(4,e),o[8]=8,o[9]=6;let r=[new Uint8Array([137,80,78,71,13,10,26,10]),Mo("IHDR",o),Mo("sRGB",new Uint8Array([0]))],s=t*4,a=Math.max(1,Math.floor(65536/(s+1))),c=new Uint8Array(s),f=0,l=new CompressionStream("deflate"),u=l.writable.getWriter(),d=l.readable.getReader(),h,m=(async()=>{try{for(;;){let{done:p,value:g}=await d.read();if(p)return;r.push(Mo("IDAT",g))}}catch(p){h=p,await u.abort(p).catch(()=>{})}})();try{for await(let p of n){if(!(p instanceof Uint8Array||p instanceof Uint8ClampedArray)||!p.length||p.length%s)throw new RangeError("[SnapDOM] PNG input must contain complete RGBA rows");let g=p.length/s;if(f+g>e)throw new RangeError("[SnapDOM] PNG input exceeds the declared height");for(let y=0;y{"use strict";Mc=new Uint32Array(256);for(let t=0;t<256;t++){let e=t;for(let n=0;n<8;n++)e=e&1?3988292384^e>>>1:e>>>1;Mc[t]=e}});function Ao(t,e){if(typeof t!="string"||!t.startsWith("data:image/svg+xml"))return null;let n=Co(t).match(/]*>/i)?.[0];if(!n)return null;let o=e.crop?vo(n,e.crop):n,i=parseFloat(o.match(/\bwidth="([^"]+)/i)?.[1]),r=parseFloat(o.match(/\bheight="([^"]+)/i)?.[1]),s=(o.match(/\bviewBox="([^"]+)/i)?.[1]||"").trim().split(/[\s,]+/).map(Number);if(!(i>0&&r>0)||s.length!==4||!s.every(Number.isFinite)||!(s[2]>0&&s[3]>0))return null;let a=Number.isFinite(e.width),c=Number.isFinite(e.height),f=e.meta||{},l=Math.max(1,Math.floor(i)),u=Math.max(1,Math.floor(r)),d=e.crop?l:Number.isFinite(f.vbW)?f.vbW:Number.isFinite(f.w0)?f.w0:l,h=e.crop?u:Number.isFinite(f.vbH)?f.vbH:Number.isFinite(f.h0)?f.h0:u,m=e.dpr??1,p=e.scale??1,g=(a&&c?Math.max(1,e.width):a?e.width:c?e.height*d/Math.max(1,h):l*p)*m,y=(a&&c?Math.max(1,e.height):c?e.height:a?e.width*h/Math.max(1,d):u*p)*m;if(Math.max(i,r,g,y)<=It&&i*r<=oe&&g*y<=oe||typeof CompressionStream!="function")return null;return b();async function b(){let{encodePng:w}=await Promise.resolve().then(()=>(_c(),Ac)),S=Math.max(1,Math.floor(g)),C=Math.max(1,Math.floor(y)),x=ye(t),k=x.slice(x.indexOf(n)+n.length,x.lastIndexOf("")),A=o.match(/\bpreserveAspectRatio="([^"]*)"/i)?.[1]||"xMidYMid meet",M=i/s[2],v=r/s[3],_=0,E=0;/\bnone\b/.test(A)||(M=v=/\bslice\b/.test(A)?Math.max(M,v):Math.min(M,v),_=(i-s[2]*M)*(/xMin/.test(A)?0:/xMax/.test(A)?1:.5),E=(r-s[3]*v)*(/YMin/.test(A)?0:/YMax/.test(A)?1:.5)),_-=s[0]*M,E-=s[1]*v;let T=o.replace(/\s(?:width|height|preserveAspectRatio)="[^"]*"/gi,"").slice(0,-1),P=X()&&/(?:box-shadow|text-shadow)\s*:[^;"}]*px/i.test(x),L=i/g,W=r/y,R=Math.max(1,Math.min(8192,Math.floor(4*1024*1024/S),P?Math.floor(2046/W):8192)),F=Math.max(1,Math.min(8192,S,P?Math.floor(2046/L):8192));async function*N(){for(let $=0;$${k}`,q=await Ht(be(V),{width:pt,height:nt,dpr:1,backgroundColor:P?null:e.backgroundColor,__session:e.__session,__releaseDecodeFrame:!0}),H=q;try{if(P){H=document.createElement("canvas"),H.width=Y,H.height=z;let K=H.getContext("2d");e.backgroundColor&&(K.fillStyle=e.backgroundColor,K.fillRect(0,0,Y,z)),K.drawImage(q,U*L-B,$*W-dt,Y*L,z*W,0,0,Y,z)}let ht=H.getContext("2d").getImageData(0,0,Y,z).data;for(let K=0;K{"use strict";we();mt()});var Ec={};Se(Ec,{toBlob:()=>ri});async function ri(t,e){let n=e.format||e.type||"svg";if(n==="svg"){if(typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement)throw new Error("[SnapDOM] html-in-canvas makes a raster capture, not an SVG; ask for png, jpeg or webp.");let s=decodeURIComponent(t.split(",")[1]);return new Blob([s],{type:"image/svg+xml"})}let o=n==="png"&&Ao(t,e);if(o)return o;let i=n==="jpg"?"jpeg":n,r=await Ht(t,{...e,__encodeFormat:i});return new Promise(s=>r.toBlob(a=>s(a),`image/${i}`,e.quality))}var ii=ct(()=>{"use strict";we();oi()});var Fc={};Se(Fc,{download:()=>Tp});async function Rc(t,e){let n=new File([t],e,{type:t.type});if(!navigator.canShare?.({files:[n]}))return!1;try{await navigator.share({files:[n],title:e})}catch(o){if(o.name!=="AbortError")return!1}return!0}async function Tp(t,e){let n=new Set(["png","jpeg","jpg","webp","svg"]),o=(e?.type||"").toLowerCase(),i=n.has(o)?o:"",r=(e?.format||i||"").toLowerCase(),s=r==="jpg"?"jpeg":r||"png",a=e?.filename||"snapdom",c=/\.(png|jpe?g|webp|svg)$/i.test(a)?a:`${a}.${s}`,f={...e||{},format:s,type:s};f.dpr=1;let l=en(),u=s==="png"&&Ao(t,f);if(s==="svg"||u){let m=u?await u:await ri(t,{...f,type:"svg"});if(l&&await Rc(m,c))return;let p=URL.createObjectURL(m),g=document.createElement("a");g.href=p,g.download=c,document.body.appendChild(g),g.click(),setTimeout(()=>URL.revokeObjectURL(p),1e3),g.remove();return}let d=await Ht(t,{...f,__encodeFormat:s});if(l){let m=`image/${s}`,p=await new Promise(g=>d.toBlob(g,m,e?.quality));if(p&&await Rc(p,c))return}let h=document.createElement("a");h.href=d.toDataURL(`image/${s}`,e?.quality),h.download=c,document.body.appendChild(h),h.click(),h.remove()}var Tc=ct(()=>{"use strict";ii();we();oi();mt()});vt();vt();mt();wt();kn();_t();ae();var Zt=new WeakMap,$i=["margin-top","margin-right","margin-bottom","margin-left","margin-block-start","margin-block-end","margin-inline-start","margin-inline-end"],Vo=new Map,gl=2e3,Ee=0;function $t(){Ee++}function _n(t){let e=t&&(t.nodeType===1?t:t.parentElement);for(;e;){if(Xt(e))return!0;e.parentElement?e=e.parentElement:e=Pt(e)}return!1}function Rn(t){for(let e of t)if(fe(e))return!0;return!1}function fe(t){if(_n(t.target))return!1;if(t.type==="childList"){let e=!0;for(let n of t.addedNodes)if(!_n(n)){e=!1;break}if(e){for(let n of t.removedNodes)if(!_n(n)){e=!1;break}}if(e)return!1}return!0}var _e=new WeakMap;function Ui(t){for(let e of t){if(!fe(e))continue;let n=e.target.ownerDocument||document;_e.set(n,(_e.get(n)||0)+1);let o=e.target.nodeType===1?e.target:e.target.parentElement||e.target.host;for(;o;o=o.parentElement||Pt(o))_e.set(o,(_e.get(o)||0)+1)}}function sn(t){let e=t.ownerDocument||document;return Te(e),(_e.get(e)||0)-(_e.get(t)||0)}var Rt=0;function Re(t=document){return Te(t),Rt}function ue(){return Te(),Ee}function an(t){return t?(Te(t.ownerDocument||document),Fn(t,Zo(t))):0}function Fe(){$t(),Rt++}var le=new WeakMap,Kt=0,Qt=0;function yl(t){le.set(t,++Kt)}function Ko(t){if(!t||t.nodeType!==1)return;Kt++,le.set(t,Kt);let e=t.querySelectorAll("*");for(let n=0;nn?.nodeType===1&&(n.matches?.("style,link")||n.querySelector?.("style,link"));for(let n of t){let o=n.target,i=o&&(o.nodeType===1?o:o.parentElement);if(i&&(i.tagName==="STYLE"||i.tagName==="LINK"))return i.ownerDocument||document;for(let r of n.addedNodes)if(e(r))return r.ownerDocument||document;for(let r of n.removedNodes)if(e(r))return r.ownerDocument||o&&o.ownerDocument||document}return null}var qo=new WeakSet,nn=[];function zi(t){if(!Rn(t))return;Ui(t),$t();let e=new Set;for(let n of t){if(!fe(n))continue;let o=n.target.getRootNode&&n.target.getRootNode();if(!o||o.nodeType!==11||e.has(o))continue;e.add(o),o.host?Ko(o.host):Kt++;let i=o.querySelectorAll("*");for(let r=0;r{Rn(i)&&($t(),Rt++)},o=()=>{$t(),Rt++};try{let i=new MutationObserver(Hi);i.observe(t.documentElement,{subtree:!0,childList:!0,characterData:!0,attributes:!0}),rn.push({o:i,env:!1,doc:t})}catch{}try{let i=new MutationObserver(n);i.observe(t.head,{subtree:!0,childList:!0,characterData:!0,attributes:!0}),rn.push({o:i,env:!0,doc:t})}catch{}try{e?.addEventListener("resize",o,{passive:!0})}catch{}try{let i=r=>{$t();let s=r.composedPath?.()[0]||r.target;s&&s.nodeType===1&&!_n(s)&&Jo(s.ownerDocument||t)?Qo(s):Qt++};t.addEventListener("focusin",i,{capture:!0,passive:!0}),t.addEventListener("focusout",i,{capture:!0,passive:!0}),t.addEventListener("change",i,{capture:!0,passive:!0}),t.addEventListener("pointerdown",i,{capture:!0,passive:!0}),t.addEventListener("pointerup",i,{capture:!0,passive:!0}),t.addEventListener("pointercancel",i,{capture:!0,passive:!0}),t.addEventListener("keydown",i,{capture:!0,passive:!0}),t.addEventListener("keyup",i,{capture:!0,passive:!0}),t.addEventListener("beforetoggle",i,{capture:!0,passive:!0}),t.addEventListener("toggle",i,{capture:!0,passive:!0}),e?.addEventListener("hashchange",()=>{$t(),Qt++},{passive:!0})}catch{}try{let i=t.fonts;i&&(i.addEventListener?.("loadingdone",o),i.status==="loading"&&i.ready?.then(o).catch(()=>{}))}catch{}}var Ni=new WeakMap;function Li(t,e){if(!t?.querySelectorAll)return;let n;try{n=Array.from(t.querySelectorAll(":hover"))}catch{return}let o=Ni.get(t)||[];if(o.length===n.length&&o.every((r,s)=>r===n[s]))return;if(Ni.set(t,n),$t(),t.nodeType===11){t.host?Ko(t.host):Kt++;for(let r of t.querySelectorAll("*"))le.set(r,Kt);return}let i=o.filter(r=>!n.includes(r)).concat(n.filter(r=>!o.includes(r)));for(let r of i)if(r.isConnected)if(Jo(e))Qo(r);else{Qt++;return}}function Tn(t,e=null){if(!t)return;Li(t,t);let n=e||nn.filter(({root:o})=>o.host?.isConnected).map(({root:o})=>o);for(let o of n)Li(o,t)}function Nt(){Te();try{for(let t=rn.length-1;t>=0;t--){let{o:e,env:n,doc:o}=rn[t];if(o!==document&&!o.defaultView){try{e.disconnect()}catch{}Xo.delete(o),on===o&&(on=null),rn.splice(t,1);continue}let i=e.takeRecords();i.length&&(n?Rn(i)&&($t(),Rt++):Hi(i))}for(let t=nn.length-1;t>=0;t--){let{o:e,root:n}=nn[t];if(!n.host||!n.host.isConnected){try{e.disconnect()}catch{}qo.delete(n),nn.splice(t,1);continue}let o=e.takeRecords();o.length&&zi(o)}}catch{}}function de(t){if(!(!t||t.nodeType!==1)){Zt.delete(t);try{let e=(t.ownerDocument||document).createTreeWalker(t,NodeFilter.SHOW_ELEMENT);for(;e.nextNode();)Zt.delete(e.currentNode)}catch{}}}var wl=["mask","mask-image","-webkit-mask","-webkit-mask-image","mask-source","mask-box-image-source","mask-border-source","-webkit-mask-box-image-source","border-image","border-image-source"];function er(t){let e=Zt.get(t);if(e&&Pn(e,t)){let n=e.snapshot&&e.snapshot.__needsBgInline;if(n!==void 0)return n}return!0}function ji(t){let e=Zt.get(t);if(!e||!Pn(e,t))return null;let n=e.snapshot;return!n||n.__bgClipTextFix?null:n}var Ii=new WeakMap,An=new Map;function xl(t){let e=t.href;return!e||typeof CSSStyleSheet!="function"?null:An.has(e)?An.get(e):(An.set(e,null),at(e,{as:"text",silent:!0}).then(n=>{if(!n.ok||typeof n.data!="string"||/@import/i.test(n.data))return;let o=new CSSStyleSheet;o.replaceSync(n.data),An.set(e,o.cssRules),$t(),Rt++}).catch(()=>{}),null)}function Lt(t){let e=Ii.get(t);if(!e||e.epoch!==Ee){let n=e&&e.universe;e={epoch:Ee,...Ai(t,xl)};let o=e.universe;if(n&&o&&n.size===o.size){let i=!0;for(let r of o)if(!n.has(r)){i=!1;break}i&&(e.universe=n)}Ii.set(t,e)}return e}function Vi(t){return Lt(t).leaksAcrossSubtrees}function Gi(t){try{let e=Lt(t.ownerDocument||document).shareGate;if(e===null)return!1;if(!e.length)return!0;let n=new Set,o=s=>{n.add("t"+s.localName),s.id&&n.add("i"+s.id);let a=s.classList;for(let c=0;c{for(;Bt(a)&&!i.roots.has(a);a=a.host.getRootNode()){i.roots.add(a);for(let c of[...a.styleSheets,...a.adoptedStyleSheets||[]]){let f=Oi.get(c);if((!f||f.epoch!==Ee)&&Oi.set(c,f={epoch:Ee,props:ki(c)}),!f.props)return!1;for(let l of f.props)i.universe.add(l)}Wo(a.getAnimations(),i.universe)}return!0},s=r(e)&&(!t.shadowRoot||r(t.shadowRoot));for(let a=t.assignedSlot;s&&a;a=a.assignedSlot)s=r(a.getRootNode());return s?i.universe:o.__shadowUniverse=null}function En(t){let e=t.ownerDocument||document;return t.getRootNode&&t.getRootNode()!==e?null:Lt(e).pseudoUniverse}function qi(t){let e=t.ownerDocument||document;return t.getRootNode&&t.getRootNode()!==e?null:Lt(e).svgGeometry}function Xi(t){let e=Lt(t.ownerDocument||document).svgGeometrySel;if(e==null)return!0;if(!e)return!1;try{return t.matches(e)}catch{return!0}}var Cl={before:null,after:null,firstLetter:null,marker:null,firstLine:null};function Jt(t){let e=t.ownerDocument||document;return t.getRootNode&&t.getRootNode()!==e?Cl:Lt(e).pseudoGates}function kl(t,e={},n=null,o=null){let i={},r=e.excludeStyleProps,s=h=>{if(i[h]!==void 0||Ce(h)||r&&(r instanceof RegExp&&r.test(h)||typeof r=="function"&&r(h)))return;let m=t.getPropertyValue(h);m&&((h==="background-image"||h==="content")&&m.includes("url(")&&!m.includes("data:")&&(m="none"),i[h]=m)};if(o){for(let m of o)s(m);let h=n&&n.style;if(h&&h.length)for(let m=0;mr==="transparent"||r==="rgba(0, 0, 0, 0)",o=t["-webkit-text-fill-color"];if(!n(o!==void 0?o:t.color))return;let i=_l(t["background-image"],t["background-color"]);i&&(n(t.color)&&(t.color=i),o!==void 0&&(t["-webkit-text-fill-color"]=i),t["background-image"]="none",t["background-color"]="transparent",delete t["background-clip"],delete t["-webkit-background-clip"],Object.defineProperty(t,"__bgClipTextFix",{value:i,enumerable:!1}))}function Al(t,e,n){let o=n.textShadow;if(!o||o==="none"||!(parseFloat(n.webkitTextStrokeWidth)>0)||t.firstElementChild||n.backgroundImage!=="none"||n.boxShadow!=="none"||!/rgba\(.*,\s*0\)|transparent/.test(n.backgroundColor)||["Top","Right","Bottom","Left"].some(f=>parseFloat(n[`border${f}Width`])>0)||o.replace(/\([^)]*\)/g,"").includes(","))return;let i=(o.match(/(?:rgba?|hsla?|color|oklch|oklab|lab|lch)\([^)]*\)|#[\da-f]+|\b[a-z]+\b/i)||[])[0],[r=0,s=0,a=0]=(o.match(/-?[\d.]+px/g)||[]).map(parseFloat);if(!i)return;let c=n.filter&&n.filter!=="none"?`${n.filter} `:"";e.style.setProperty("text-shadow","none","important"),e.style.setProperty("filter",`${c}drop-shadow(${r}px ${s}px ${a/2}px ${i})`,"important")}function _l(t,e){let n=r=>{let s=[],a=/rgba?\(\s*(\d+)[,\s]+(\d+)[,\s]+(\d+)(?:[,\s/]+([\d.]+%?))?\s*\)/g,c;for(;c=a.exec(r||"");){let f=c[4];(f===void 0?1:parseFloat(f)/(f.endsWith("%")?100:1))>.05&&s.push([+c[1],+c[2],+c[3]])}return s},o=n(t);if(o.length||(o=n(e)),!o.length)return null;let i=[0,0,0];for(let[r,s,a]of o)i[0]+=r,i[1]+=s,i[2]+=a;return`rgb(${i.map(r=>Math.round(r/o.length)).join(", ")})`}function Yi(t){let e=t.getPropertyValue("background-image");if(e&&e!=="none")return!0;let n=t.getPropertyValue("background-color");if(n&&n!=="rgba(0, 0, 0, 0)"&&n!=="transparent")return!0;for(let i of wl){let r=t.getPropertyValue(i);if(r&&r!=="none")return!0}let o=t.getPropertyValue("background");return!!(o&&/url\s*\(/i.test(o))}function El(t){for(let e=t.firstChild;e;e=e.nextSibling){if(e.nodeType===3&&/\S/.test(e.nodeValue||""))return!0;if(e.nodeType===1){let n=I(e).position;if(n!=="absolute"&&n!=="fixed")return!0}}return!1}function Rl(t,e,n){try{if(typeof t.computedStyleMap=="function"){let i=t.computedStyleMap().get("width");if(i!=null)return!Di(String(i).trim().toLowerCase())}}catch{}let o=t.style&&(t.style.width||t.style.inlineSize);return o&&!Di(String(o).trim().toLowerCase())?!0:Tl(t,e)?n||Pl(t,e):!1}var Fl=new Set(["auto","min-content","max-content","stretch","fill-available","-webkit-fill-available"]);function Di(t){return Fl.has(t)||t.startsWith("fit-content")}function Tl(t,e){let n=t.getBoundingClientRect().width-(parseFloat(e.paddingLeft)||0)-(parseFloat(e.paddingRight)||0)-(parseFloat(e.borderLeftWidth)||0)-(parseFloat(e.borderRightWidth)||0);if(!(n>0))return!1;let o=1/0,i=-1/0,r=null;for(let s=t.firstChild;s;s=s.nextSibling){let a;if(s.nodeType===3){if(!/\S/.test(s.nodeValue||"")||(r=r||document.createRange(),r.selectNode(s),a=r.getBoundingClientRect(),!a.width&&!a.height))continue}else if(s.nodeType===1){let c=I(s);if(c.display==="none"||c.position==="absolute"||c.position==="fixed")continue;a=s.getBoundingClientRect()}else continue;a.lefti&&(i=a.right)}return i===-1/0?!1:i-o0?Math.abs(t.getBoundingClientRect().width-i)>.5:!1}var Yo=new WeakMap;function $l(t,e){let n=Yo.get(t);if(n)return n;let o=[e];for(let i in t)o.push(i,t[i]);return n=o.join(""),Yo.set(t,n),n}function Pn(t,e){return t.env===Rt&&t.stamp===Fn(e,t.hosts)}var Nl=/^(width|height|inline-size|block-size|top|right|bottom|left|transform-origin|perspective-origin)$|^inset-/,Ll=/(margin|padding)[a-z-]*\s*:[^;]*(%|\bauto\b|calc\(|var\()/i,Il=new Set(["INPUT","TEXTAREA","SELECT","OPTION","OPTGROUP","PROGRESS","METER","BUTTON","DATALIST"]);function Ol(t){let e=t.__styleShare;return e||(e=t.__styleShare={ids:new WeakMap,intern:new Map,snaps:new Map,rootSeen:!1}),e}function Dl(t,e){let n=e.ids.get(t);if(n!==void 0)return n;let o=t.parentElement,i;if(!o)i="R";else if(i=e.ids.get(o),i===void 0){if(e.rootSeen)return e.ids.set(t,-1),-1;i="R"}if(e.rootSeen=!0,i===-1)return e.ids.set(t,-1),-1;let r="",s=t.attributes;if(s&&s.length)if(s.length===1)r=s[0].name+"="+s[0].value;else{let c=[];for(let f=0;ff[p])),h&&l.push(""+h),Yo.set(f,u.sig+""+l.join("")+("height"in f?"":"")+("block-size"in f?"":"")));let m=Zo(t);return Zt.set(t,{env:Rt,stamp:Fn(t,m),hosts:m,snapshot:f,embedFonts:s,excludeStyleProps:a}),f}function Bl(t,e){if(t&&t.session&&t.persist)return t;if(t&&(t.styleMap||t.styleCache||t.nodeMap)){let n=t.__ctx;return(!n||t.__ctxOpts!==e)&&(n={session:t,persist:{snapshotKeyCache:Vo,defaultStyle:O.defaultStyle,baseStyle:O.baseStyle,image:O.image,resource:O.resource,background:O.background},options:e||{}},t.__ctx=n,t.__ctxOpts=e),n}return{session:{styleMap:new Map,styleCache:new WeakMap,nodeMap:new Map},persist:{snapshotKeyCache:Vo,defaultStyle:O.defaultStyle,baseStyle:O.baseStyle,image:O.image,resource:O.resource,background:O.background},options:t||e||{}}}var Ul=/%|[\d.](?:em|rem|ex|ch|cap|ic|lh|rlh|v[whib]|vmin|vmax|cq[whbi]|cqmin|cqmax)\b|\b(?:calc|var|min|max|clamp|env|attr)\(|\b(?:auto|inherit|initial|unset|revert|currentcolor|-webkit-fill-available|fit-content|min-content|max-content)\b/i,zl=t=>t.tagName==="INPUT"||t.tagName==="TEXTAREA";function Hl(t,e,n){if(!t.style||t.style.length===0)return;let o=Sl(t),i=o!=null&&!Ul.test(t.getAttribute("style")||""),r;for(let s=0;su.snapshot[d]===l)||n.borderWidth===l}if(i&&!o.has(a)&&(!c||r)&&!(a.startsWith("background")&&zl(t)))continue;let f=n.getPropertyValue(a);f&&(!c||f!==t.style.getPropertyValue(a))&&e.style.setProperty(a,f,t.style.getPropertyPriority(a))}}function ut(t,e,n,o){if(t.tagName==="STYLE")return;let i=Bl(n,o),r=i.options&&i.options.cache||"soft";r!=="disabled"&&Te(t.ownerDocument),r==="disabled"&&!i.session.__bumpedForDisabled&&($t(),Vo.clear(),i.session.__bumpedForDisabled=!0);let{session:s,persist:a}=i;if(!s.styleCache.has(t)){let y=null;try{y=getComputedStyle(t)}catch{}s.styleCache.set(t,y||getComputedStyle((t.ownerDocument||document).documentElement))}let c=s.styleCache.get(t);t.getAttribute?.("style")&&Hl(t,e,c);let f=c.getPropertyValue("animation-name");e&&e.style&&f&&f!=="none"&&e.style.setProperty("animation","none","important");let l=t.tagName?.toLowerCase()||"div";if(Je.has(l)){let y={};Object.defineProperty(y,"__needsBgInline",{value:Yi(c),enumerable:!1});let b=Zo(t);Zt.set(t,{env:Rt,stamp:Fn(t,b),hosts:b,snapshot:y,embedFonts:!!(i.options&&i.options.embedFonts),excludeStyleProps:i.options&&i.options.excludeStyleProps||null}),s.styleMap.set(e,"");return}let u=null;if(i.options&&i.options.__styleShare&&s.styleMap){let y=Ol(s),b=Dl(t,y),w=t.ownerDocument||document,S=w.activeElement;b!==-1&&!Il.has(t.tagName)&&!(S&&S!==w.body&&S!==w.documentElement&&S===t)&&(!t.getRootNode||t.getRootNode()===w)&&!t.shadowRoot&&!t.assignedSlot&&(u={st:y,id:b})}let d=Wl(t,c,i.options,u,s);if(t.getAttribute?.("style"))for(let y of["top","right","bottom","left"]){let b=`margin-${y}`;d[b]==="auto"&&e.style.setProperty(b,"auto","important")}d.__bgClipTextFix&&e&&e.style&&(e.style.setProperty("background-image","none","important"),e.style.setProperty("background-color","transparent","important"),e.style.setProperty("color",d.__bgClipTextFix,"important"),e.style.setProperty("-webkit-text-fill-color",d.__bgClipTextFix,"important"),(s.bgClipText||=[]).push([t,e])),X()&&Al(t,e,c),jl(t,c,d),e.style?.length&&d["box-sizing"]==="border-box"&&c.getPropertyValue("box-sizing")!=="border-box"&&Xl(t,e,d);let h=ns(t);if(Kl(t,e,d,h,s),h){let y=c.getPropertyValue("min-width");if(!y||y==="auto"||y==="0px"){d["min-width"]="0px";let b=c.getPropertyValue("overflow-x"),w=t.parentElement;if(y==="auto"&&(b==="visible"||b==="clip")&&w&&I(w).display.includes("flex")){let S=s.flexOverflow||(s.flexOverflow=new WeakMap),C=S.get(w);if(C===void 0){if(C=w.scrollWidth>w.clientWidth,!C){let x=I(w),k=T=>parseFloat(x.getPropertyValue(T))||0,A=k("width")-(x.boxSizing==="border-box"?k("padding-left")+k("padding-right")+k("border-left-width")+k("border-right-width"):0),v=x.flexDirection.startsWith("row")===(x.writingMode==="horizontal-tb")&&x.flexWrap==="nowrap",_=0,E=0;for(let T of w.children){s.styleCache.has(T)||s.styleCache.set(T,getComputedStyle(T));let P=s.styleCache.get(T);if(P.display==="none"||P.position==="absolute"||P.position==="fixed")continue;let L=R=>parseFloat(P.getPropertyValue(R))||0,W=L("width")+L("margin-left")+L("margin-right")+(P.boxSizing==="border-box"?0:L("padding-left")+L("padding-right")+L("border-left-width")+L("border-right-width"));_=v?_+W:Math.max(_,W),E++}C=_+(v?Math.max(0,E-1)*k("column-gap"):0)>A+E/60}S.set(w,C)}C&&(d["min-width"]=d.width)}}}let m=$l(d,l),p=!0;if(Mn(l,(d.display||"").toLowerCase())){p=El(t),p&&zo(l,d,h)&&Rl(t,c,h)&&(p=!1),m=`${m}${p?"|c":""}${h?"|f":""}`;let y=d["text-wrap-mode"]||d["white-space"]||"";p&&y!=="nowrap"&&y!=="pre"&&(s.reconcileRisk=(s.reconcileRisk||0)+1)}let g=a.snapshotKeyCache.get(m);g===void 0&&(g=ke(d,l,p,h),a.snapshotKeyCache.size>=gl&&a.snapshotKeyCache.delete(a.snapshotKeyCache.keys().next().value),a.snapshotKeyCache.set(m,g)),s.styleMap.set(e,g)}function jl(t,e,n){let o=e.getPropertyValue("overflow-x"),i=e.getPropertyValue("overflow-y");if((o==="visible"||!o)&&(i==="visible"||!i)||e.getPropertyValue("box-sizing")==="border-box"||typeof t.clientWidth!="number"||!t.offsetWidth)return;let r=f=>parseFloat(f)||0,s=t.offsetWidth-t.clientWidth-r(e.getPropertyValue("border-left-width"))-r(e.getPropertyValue("border-right-width")),a=t.offsetHeight-t.clientHeight-r(e.getPropertyValue("border-top-width"))-r(e.getPropertyValue("border-bottom-width")),c=(f,l)=>{let u=n[f];if(!u||!u.endsWith("px"))return;let d=parseFloat(u);Number.isFinite(d)&&(n[f]=`${Math.round((d+l)*1e3)/1e3}px`)};s>=2&&(c("width",s),c("inline-size",s)),a>=2&&(c("height",a),c("block-size",a))}var Zi=["border-top-width","border-right-width","border-bottom-width","border-left-width"],Ji=["width","inline-size","height","block-size"];function Vl(t,e,n){if(!Zi.some(c=>n[c]?.includes("."))||e.getPropertyValue("box-sizing")==="border-box"||n.display==="inline")return"";for(let c of["width","height"]){let f=n[`min-${c}`],l=n[`max-${c}`];if(f&&f!=="0px"&&f!=="auto"||l&&l!=="none")return""}let o=c=>parseFloat(n[c])||0,i=o("padding-left")+o("padding-right")+o("border-left-width")+o("border-right-width"),r=o("padding-top")+o("padding-bottom")+o("border-top-width")+o("border-bottom-width"),s=(n["writing-mode"]||"horizontal-tb")!=="horizontal-tb";for(let c of Ji){let f=n[c];if(!f||!f.endsWith("px"))continue;let u=c==="width"||c==="inline-size"&&!s||c==="block-size"&&s?i:r;n[c]=`${Math.round((parseFloat(f)+u)*1e3)/1e3}px`}n["box-sizing"]="border-box";let a="";if(e.getPropertyValue("overflow-x")==="auto"){let c=t.scrollWidth<=t.clientWidth;n["overflow-x"]=c?"hidden":"auto",c&&(a+="x")}if(e.getPropertyValue("overflow-y")==="auto"){let c=t.scrollHeight<=t.clientHeight;n["overflow-y"]=c?"hidden":"auto",c&&(a+="y")}return a}var Gl=["box-sizing",...Ji,"overflow-x","overflow-y"],ql=/(?:box-sizing|width|height|inline-size|block-size|overflow(?:-[xy])?)\s*:/i;function Xl(t,e,n){if(ql.test(t.getAttribute("style")))for(let o of Gl)e.style.getPropertyValue(o)&&n[o]&&e.style.setProperty(o,n[o],e.style.getPropertyPriority(o))}function Yl(t){return t.backgroundImage&&t.backgroundImage!=="none"||t.backgroundColor&&t.backgroundColor!=="rgba(0, 0, 0, 0)"&&t.backgroundColor!=="transparent"||(parseFloat(t.borderTopWidth)||0)>0||(parseFloat(t.borderBottomWidth)||0)>0||(parseFloat(t.paddingTop)||0)>0||(parseFloat(t.paddingBottom)||0)>0?!0:(t.overflowBlock||t.overflowY||"visible")!=="visible"}var Wi=typeof CSS<"u"&&CSS.supports?.("text-wrap-mode","nowrap")?"text-wrap-mode":"white-space";function Kl(t,e,n,o,i){let r=n.display||"";if(!o&&!r.startsWith("inline-")&&(n.float||"none")==="none"&&n.position!=="absolute"&&n.position!=="fixed")return;let s=n["text-wrap-mode"]||n["white-space"]||"";if(s==="nowrap"||s==="pre"||Wi==="white-space"&&s!=="normal"||(n["writing-mode"]||"horizontal-tb")!=="horizontal-tb"||!e.style)return;let a=i.__oneLine||=new WeakSet;for(let c=t.parentElement;c;c=c.parentElement)if(a.has(c))return;Ql(t,n,i)&&(a.add(t),e.style.setProperty(Wi,"nowrap"))}function Ql(t,e,n){let o=t.clientHeight-(parseFloat(e["padding-top"])||0)-(parseFloat(e["padding-bottom"])||0);if(o>3*(parseFloat(e["font-size"])||16)||e["word-break"]==="normal"&&e["overflow-wrap"]==="normal"&&/^[\w\u00C0-\u024F.,:;!?'"()%]*$/.test(t.textContent.trim()))return!1;let i=t.ownerDocument||document,r=i.createTreeWalker(t,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT),s=i.createRange(),a=null,c=0,f=0;for(let d=r.nextNode();d;d=r.nextNode()){if(d.nodeType===1){if(d.shadowRoot||d.localName==="br"||d.localName==="textarea")return!1;continue}if(/\S/.test(d.data)){if(++f>64)return!1;s.selectNodeContents(d);for(let h of s.getClientRects())if(h.height){if(a||=h,Math.min(a.bottom,h.bottom)-Math.max(a.top,h.top)2||(delete n.height,delete n["block-size"])}Ae();var nf=new Set(["symbol","defs"]),of=new Set(["mask","clipPath","linearGradient","radialGradient","pattern","marker","filter"]),nr=new WeakMap,os=-1;function $n(t){let e=ue();return e!==os&&(nr=new WeakMap,os=e),rs(t)}function rs(t){let e=nr.get(t);if(e!==void 0)return e;let n;if(t.namespaceURI==="http://www.w3.org/2000/svg"&&(of.has(t.localName)?n=!1:nf.has(t.localName)&&(n=!0)),n===void 0){let o=t.parentNode;n=!!(o&&o.nodeType===1)&&rs(o)}return nr.set(t,n),n}function is(t,e){if(t?.nodeType!==1||e?.nodeType!==1||$n(t))return;let n=t.getAttribute?.("style"),o=!!(n&&n.includes("var("));if(!o&&t.attributes?.length){let r=t.attributes;for(let s=0;sr.d-s.d);let i=window.devicePixelRatio||1;return(o.find(r=>r.d>=i)||o[o.length-1]).url}function ss(t,e){let n=t.currentSrc||"";if(n&&!Pe(n))return n;let o=e.querySelectorAll("source[srcset]"),i=null;for(let r of o){let s=r.getAttribute("srcset");if(!s||Pe(s))continue;let a=r.getAttribute("type");if(a&&!To.test(a.trim()))continue;let c=r.getAttribute("media");if(c)try{if(window.matchMedia(c).matches)return $e(s,t)}catch{}i||(i=$e(s,t))}return i}function as(t){let e=[t.getAttribute("data-src"),t.getAttribute("data-lazy-src"),t.getAttribute("data-original"),t.getAttribute("data-hi-res-src")];for(let o of e)if(o&&!Pe(o))return o;let n=t.getAttribute("data-srcset")||t.getAttribute("data-lazy-srcset");if(n){let o=n.split(",")[0].trim().split(/\s+/)[0];if(o&&!Pe(o))return o}return null}_t();mt();function rf(t,e){if(t=t.trim(),!t)return t;let n=e?`[data-sd-slotted~="${e}"]`:"[data-sd-slotted]";return t.endsWith(":not([data-sd-slotted])")||t.endsWith(`:not(${n})`)?t:`${t}:not(${n})`}var sf=/::[a-zA-Z-]+(?:\([^)]*\))?$|:(?:before|after|first-letter|first-line)$/,af=/^::?(?:before|after|first-letter)$/;function cf(t,e,n=!0,o){return Cn(t,",").map(i=>i.trim()).filter(Boolean).map(i=>{if(i.startsWith(":where(")&&i.includes("data-sd")||i.startsWith("@"))return i;let r=i.match(sf);if(r&&af.test(r[0]))return":not(*)";let s=r?i.slice(0,r.index).trim():i,a=n?rf(s,o):s;return`:where(${e} ${a})${r?r[0]:""}`}).join(", ")}function fs(t,e,n){return t?(t=t.replace(/:host-context\(([^)]+)\)/g,(o,i)=>`:where(:where(${i.trim()}) ${e})`),t=t.replace(/:host\(([^)]+)\)/g,(o,i)=>`:where(${e}:is(${i.trim()}))`),t=t.replace(/:host\b/g,`:where(${e})`),t=t.replace(/::slotted\(([^)]+)\)/g,(o,i)=>`:where(${e} ${i.trim()})`),t=t.replace(/(^|})(\s*)([^@}{]+){/g,(o,i,r,s)=>{let a=cf(s,e,!0,n);return`${i}${r}${a}{`}),t):""}function us(t){return t.shadowScopeSeq=(t.shadowScopeSeq||0)+1,`s${t.shadowScopeSeq}`}function pe(t){let e="";for(let n of t)if(n.media&&n.cssRules){let o=!1;try{o=window.matchMedia(n.conditionText||n.media.mediaText).matches}catch{}o&&(e+=pe(n.cssRules))}else if(n.constructor?.name==="CSSSupportsRule")e+=`@supports ${n.conditionText}{${pe(n.cssRules)}}`;else if(n.cssRules&&n.cssRules.length&&/@media/i.test(n.cssText)){let o=n.cssText.slice(0,n.cssText.indexOf("{")+1);e+=o+(n.style?n.style.cssText:"")+pe(n.cssRules)+"}"}else e+=n.cssText+` -`;return e}function ds(t){let e="";try{t.querySelectorAll("style").forEach(o=>{let i=null;try{i=o.sheet&&o.sheet.cssRules}catch{}e+=(i?pe(i):o.textContent||"")+` -`});let n=t.adoptedStyleSheets||[];for(let o of n)try{o&&o.cssRules&&(e+=pe(o.cssRules))}catch{}}catch{}return e}function ps(t,e,n){if(!e)return;let o=document.createElement("style");o.setAttribute("data-sd",n),o.textContent=e,t.insertBefore(o,t.firstChild||null)}function hs(t,e,n={}){try{let o=null,i=I(t).content;if(i&&i.includes("url(")){let f=i.match(/url\(["']?([^"')]+)["']?\)/);f&&(o=f[1])}let r=t.closest?.("picture"),s=t.getAttribute("src")||"",a=t.getAttribute("srcset")||"",c=o||(r?ss(t,r):!a.trim()&&s.startsWith("data:")?s:t.currentSrc)||$e(a,t)||t.src||"";if((!c||Pe(c))&&n.resolvePicturePlaceholders!==!1){let f=as(t);f&&(c=f)}if(!c)return;e.getAttribute("src")!==c&&e.setAttribute("src",c),e.removeAttribute("srcset"),e.removeAttribute("sizes"),e.loading="eager",e.decoding="sync"}catch{}}function ms(t){let e=new Set;if(!t)return e;let n=/var\(\s*(--[A-Za-z0-9_-]+)\b/g,o;for(;o=n.exec(t);)e.add(o[1]);return e}function lf(t,e){try{let o=getComputedStyle(t).getPropertyValue(e).trim();if(o)return o}catch{}try{let o=getComputedStyle(document.documentElement).getPropertyValue(e).trim();if(o)return o}catch{}return""}function gs(t,e,n){let o=[];for(let i of e){let r=lf(t,i);r&&o.push(`${i}: ${r};`)}return o.length?`${n}{${o.join("")}} -`:""}function ys(t,e){if(!t)return;let n=o=>{let i=o.getAttribute("data-sd-slotted")||"";e?` ${i} `.includes(` ${e} `)||o.setAttribute("data-sd-slotted",i?`${i} ${e}`:e):o.setAttribute("data-sd-slotted",i)};t.nodeType===Node.ELEMENT_NODE&&n(t),t.querySelectorAll?.("*").forEach(n)}async function ff(t,e=3){let n=()=>{try{return t.contentDocument||t.contentWindow?.document||null}catch{return null}},o=n(),i=0;for(;isetTimeout(r,0)),o=n(),i++;return o&&(o.body||o.documentElement)?o:null}function uf(t){let e=t.getBoundingClientRect(),n=0,o=0,i=0,r=0;try{let c=getComputedStyle(t);n=parseFloat(c.borderLeftWidth)||0,o=parseFloat(c.borderRightWidth)||0,i=parseFloat(c.borderTopWidth)||0,r=parseFloat(c.borderBottomWidth)||0}catch{}let s=Math.max(0,Math.round(e.width-(n+o))),a=Math.max(0,Math.round(e.height-(i+r)));return{contentWidth:s,contentHeight:a,rect:e}}function Ct(t){let e=0,n=0;if(t.offsetWidth>0&&(e=t.offsetWidth),t.offsetHeight>0&&(n=t.offsetHeight),e===0||n===0)try{let o=getComputedStyle(t);if(e===0){let i=parseFloat(o.width);!isNaN(i)&&i>0&&(e=i)}if(n===0){let i=parseFloat(o.height);!isNaN(i)&&i>0&&(n=i)}}catch{}if(e===0||n===0)try{if(e===0){let o=parseFloat(t.getAttribute("width"));!isNaN(o)&&o>0&&(e=o)}if(n===0){let o=parseFloat(t.getAttribute("height"));!isNaN(o)&&o>0&&(n=o)}}catch{}if((e===0||n===0)&&(t.naturalWidth||t.naturalHeight))try{e===0&&t.naturalWidth>0&&(e=t.naturalWidth),n===0&&t.naturalHeight>0&&(n=t.naturalHeight)}catch{}return{width:e,height:n}}function df(t,e,n){let o=t.defaultView,i=o?o.scrollX:0,r=o?o.scrollY:0,s=t.body?t.body.scrollLeft:0,a=t.body?t.body.scrollTop:0,c=t.documentElement?t.documentElement.scrollLeft:0,f=t.documentElement?t.documentElement.scrollTop:0,l=0,u=0,d=0,h=0;try{let p=o&&t.body?o.getComputedStyle(t.body):null;p&&(l=(parseFloat(p.marginTop)||0)+(parseFloat(p.paddingTop)||0),u=(parseFloat(p.marginRight)||0)+(parseFloat(p.paddingRight)||0),d=(parseFloat(p.marginBottom)||0)+(parseFloat(p.paddingBottom)||0),h=(parseFloat(p.marginLeft)||0)+(parseFloat(p.paddingLeft)||0))}catch{}let m=t.createElement("style");if(m.setAttribute("data-sd-iframe-pin",""),J(m),m.textContent=`html {margin: 0 !important;padding: 0 !important;width: ${e}px !important;height: ${n}px !important;min-width: ${e}px !important;min-height: ${n}px !important;box-sizing: border-box !important;overflow: hidden !important;background-clip: border-box !important;}body {margin: 0 !important;padding: ${l}px ${u}px ${d}px ${h}px !important;width: ${e}px !important;height: ${n}px !important;min-width: ${e}px !important;min-height: ${n}px !important;box-sizing: border-box !important;overflow: hidden !important;background-clip: border-box !important;}`,(t.head||t.documentElement).appendChild(m),de(t.documentElement),i||r)try{t.body&&(t.body.scrollLeft=i,t.body.scrollTop=r),t.documentElement&&(t.documentElement.scrollLeft||(t.documentElement.scrollLeft=i),t.documentElement.scrollTop||(t.documentElement.scrollTop=r))}catch{}return()=>{try{m.remove()}catch{}try{o&&typeof o.scrollTo=="function"&&o.scrollTo(i,r),t.body&&(t.body.scrollLeft=s,t.body.scrollTop=a),t.documentElement&&(t.documentElement.scrollLeft=c,t.documentElement.scrollTop=f)}catch{}de(t.documentElement)}}async function or(t,e,n){let o=await ff(t,3);if(!o)throw new Error("The iframe document isn't ready.");let{contentWidth:i,contentHeight:r,rect:s}=uf(t),a=n?.snap;if(!a||typeof a.toPng!="function")throw new Error("Iframes are only captured through snapdom(el).");let c={...n,scale:1,clip:null,__pinned:!0},f=df(o,i,r),l;try{l=await a.toPng(o.documentElement,c)}finally{f()}l.style.display="block",l.style.width=`${i}px`,l.style.height=`${r}px`;let u=document.createElement("div");return e.nodeMap.set(u,t),ut(t,u,e,n),u.style.overflow="hidden",u.style.display="block",u.style.width||(u.style.width=`${Math.round(s.width)}px`),u.style.height||(u.style.height=`${Math.round(s.height)}px`),u.appendChild(l),u}function bs(t){try{let e=t&&t.accentColor;if(e&&e!=="auto"&&e!=="none")return e;let n=t&&t.color;if(n)return n}catch{}return"#0a6ed1"}function ws(t){let{width:e,height:n}=Ct(t),o=t.getBoundingClientRect(),i;try{i=window.getComputedStyle(t)}catch{}let r=i?parseFloat(i.width):NaN,s=i?parseFloat(i.height):NaN,a=Number.isFinite(r)&&r>0?r:e||o.width||128,c=Number.isFinite(s)&&s>0?s:n||o.height||16,f=Number.parseFloat(t.min)||0,l=Number.isFinite(Number.parseFloat(t.max))?Number.parseFloat(t.max):100,u=Number.parseFloat(t.value),d=l-f,h=d>0&&Number.isFinite(u)?Math.min(1,Math.max(0,(u-f)/d)):.5,m="middle";try{i&&i.verticalAlign&&(m=i.verticalAlign)}catch{}let p=document.createElement("div");p.setAttribute("data-snapdom-input-replacement","range"),p.style.cssText=`display:inline-block;width:${a}px;height:${c}px;vertical-align:${m};flex-shrink:0;line-height:0;`;let g=document.createElementNS("http://www.w3.org/2000/svg","svg");g.setAttribute("width",String(a)),g.setAttribute("height",String(c)),g.setAttribute("viewBox",`0 0 ${a} ${c}`),g.style.cssText=`width:${a}px;height:${c}px;overflow:visible`,p.appendChild(g);function y(){let b=bs(i),w=!!t.disabled,S=Math.max(2,Math.min(4,c)),C=(c-S)/2,x=Math.max(10,Math.min(14,Math.max(c,10))),k=x/2,A=k+h*Math.max(0,a-x);g.innerHTML="";let M=(_,E,T,P)=>{let L=document.createElementNS("http://www.w3.org/2000/svg","rect");L.setAttribute("x",String(_)),L.setAttribute("y",String(C)),L.setAttribute("width",String(Math.max(0,E))),L.setAttribute("height",String(S)),L.setAttribute("rx",String(S/2)),L.setAttribute("fill",T),P&&L.setAttribute("fill-opacity",P),g.appendChild(L)};M(0,a,"#808080","0.4"),M(0,A,b);let v=document.createElementNS("http://www.w3.org/2000/svg","circle");v.setAttribute("cx",String(A)),v.setAttribute("cy",String(c/2)),v.setAttribute("r",String(k)),v.setAttribute("fill",b),g.appendChild(v),w&&g.setAttribute("opacity","0.5"),p.style.setProperty("width",`${a}px`,"important"),p.style.setProperty("height",`${c}px`,"important"),p.style.setProperty("min-width",`${a}px`,"important"),p.style.setProperty("min-height",`${c}px`,"important")}return y(),{el:p,applyVisual:y}}function xs(t){let{width:e,height:n}=Ct(t),o=t.getBoundingClientRect(),i;try{i=window.getComputedStyle(t)}catch{}let r=i?parseFloat(i.width):NaN,s=i?parseFloat(i.height):NaN,a=Math.round(e||o.width||0),c=Math.round(n||o.height||0),f=Number.isFinite(r)&&r>0?Math.round(r):Math.max(12,a||16),l=Number.isFinite(s)&&s>0?Math.round(s):Math.max(12,c||16),u=(t.type||"text").toLowerCase()==="checkbox",d=!!t.checked,h=!!t.indeterminate,p=Math.max(Math.min(f,l),12),g=Math.max(f,p),y=Math.max(l,p),b="middle";try{i&&i.verticalAlign&&(b=i.verticalAlign)}catch{}let w=document.createElement("div");w.setAttribute("data-snapdom-input-replacement",t.type||"checkbox"),w.style.cssText=`display:inline-block;width:${g}px;height:${y}px;vertical-align:${b};flex-shrink:0;line-height:0;`;let S=document.createElementNS("http://www.w3.org/2000/svg","svg");S.setAttribute("width",String(g)),S.setAttribute("height",String(y)),S.setAttribute("viewBox",`0 0 ${p} ${p}`),S.style.cssText=`width:${g}px;height:${y}px`,w.appendChild(S);function C(){let x=bs(i),k=2,A=k/2,M=p-k;if(S.innerHTML="",u){let v=document.createElementNS("http://www.w3.org/2000/svg","rect");if(v.setAttribute("x",String(A)),v.setAttribute("y",String(A)),v.setAttribute("width",String(M)),v.setAttribute("height",String(M)),v.setAttribute("rx","2"),v.setAttribute("ry","2"),v.setAttribute("fill",d?x:"none"),v.setAttribute("stroke",x),v.setAttribute("stroke-width",String(k)),S.appendChild(v),d){let _=document.createElementNS("http://www.w3.org/2000/svg","path");_.setAttribute("d",`M ${A+2} ${p/2} L ${p/2-1} ${p-A-2} L ${p-A-2} ${A+2}`),_.setAttribute("stroke","white"),_.setAttribute("stroke-width",String(Math.max(1.5,k))),_.setAttribute("fill","none"),_.setAttribute("stroke-linecap","round"),_.setAttribute("stroke-linejoin","round"),S.appendChild(_)}else if(h){let _=document.createElementNS("http://www.w3.org/2000/svg","rect"),E=Math.max(6,M-4);_.setAttribute("x",String((p-E)/2)),_.setAttribute("y",String((p-k)/2)),_.setAttribute("width",String(E)),_.setAttribute("height",String(k)),_.setAttribute("fill",x),_.setAttribute("rx","1"),S.appendChild(_)}}else{let v=document.createElementNS("http://www.w3.org/2000/svg","circle");if(v.setAttribute("cx",String(p/2)),v.setAttribute("cy",String(p/2)),v.setAttribute("r",String((p-k)/2)),v.setAttribute("fill",d?x:"none"),v.setAttribute("stroke",x),v.setAttribute("stroke-width",String(k)),S.appendChild(v),d){let _=document.createElementNS("http://www.w3.org/2000/svg","circle"),E=Math.max(2,(p-k*2)*.35);_.setAttribute("cx",String(p/2)),_.setAttribute("cy",String(p/2)),_.setAttribute("r",String(E)),_.setAttribute("fill","white"),S.appendChild(_)}}w.style.setProperty("width",`${g}px`,"important"),w.style.setProperty("height",`${y}px`,"important"),w.style.setProperty("min-width",`${g}px`,"important"),w.style.setProperty("min-height",`${y}px`,"important")}return C(),{el:w,applyVisual:C}}var ln=new ft(80);async function pf(t){if(O.resource?.has(t))return O.resource.get(t);if(ln.has(t))return ln.get(t);let e=(async()=>{let n=await at(t,{as:"dataURL",silent:!0});if(!n.ok||typeof n.data!="string")throw new Error(`Couldn't read ${t}`);return O.resource?.set(t,n.data),n.data})();ln.set(t,e);try{let n=await e;return ln.set(t,n),n}catch(n){throw ln.delete(t),n}}var cs=/\bblob:[^)"'\s]+/g;function Nn(t){return typeof t=="string"&&t.startsWith("blob:")}function hf(t){return(t||"").split(",").map(e=>e.trim()).filter(Boolean).map(e=>{let n=e.match(/^(\S+)(\s+.+)?$/);return n?{url:n[1],desc:n[2]||""}:null}).filter(Boolean)}function mf(t){return t.map(e=>e.desc?`${e.url} ${e.desc.trim()}`:e.url).join(", ")}function fn(t,e){let n=t.querySelectorAll?Array.from(t.querySelectorAll(e)):[];return t.matches?.(e)&&n.unshift(t),n}async function Ln(t,e=null){if(!t)return;let n=e,o=new Set,i=[],r=new Map,s=(p,g,y,b)=>{o.add(y),i.push(()=>{r.has(y)&&(p.setAttribute(g,r.get(y)),b?.())})},a=(p,g)=>{if(!p||!p.includes("blob:"))return;let y=p.match(cs)||[];if(y.length){for(let b of y)o.add(b);i.push(()=>{let b=p.replace(cs,w=>r.get(w)||w);b!==p&&g(b)})}},c=fn(t,"img");for(let p of c)try{let y=p.getAttribute("src")||p.currentSrc||"";Nn(y)&&s(p,"src",y);let b=p.getAttribute("srcset");if(b&&b.includes("blob:")){let w=hf(b);for(let S of w)Nn(S.url)&&o.add(S.url);i.push(()=>{let S=!1;for(let C of w)r.has(C.url)&&(C.url=r.get(C.url),S=!0);S&&p.setAttribute("srcset",mf(w))})}}catch(g){j(n,"Couldn't inline a blob: image.",g)}let f=fn(t,"image");for(let p of f)try{let g="http://www.w3.org/1999/xlink",y=p.getAttribute("href")||p.getAttributeNS?.(g,"href");Nn(y)&&s(p,"href",y,()=>p.removeAttributeNS?.(g,"href"))}catch(g){j(n,"Couldn't inline a blob: SVG image.",g)}let l=fn(t,"[style*='blob:']");for(let p of l)try{let g=p.getAttribute("style");a(g,y=>p.setAttribute("style",y))}catch(g){j(n,"Couldn't inline blob: URLs in a style attribute.",g)}let u=fn(t,"style");for(let p of u)try{let g=p.textContent||"";a(g,y=>{p.textContent=y})}catch(g){j(n,"Couldn't inline blob: URLs in a ");if(n===-1)return t;let o=/]*>[\s\S]*?<\/style>/g,i=[],r=n,s;for(o.lastIndex=n;s=o.exec(t);)i.push({text:t.slice(r,s.index),intern:!0}),i.push({text:s[0],intern:!1}),r=o.lastIndex;i.push({text:t.slice(r),intern:!0});let a=new Map,c=/ style="([^"]*)"/g,f;for(let y of i)if(y.intern)for(c.lastIndex=0;f=c.exec(y.text);)a.set(f[1],(a.get(f[1])||0)+1);let l=0;for(let[y,b]of a)b>1&&(l+=(b-1)*y.length);if(l<2048||t.includes(" data-sdi="))return t;let u=Bd(e,i.some(y=>!y.intern),t.includes("data-snapdom-asset"));if(u===null)return t;let d=new Map,h=0,m=[],p=(y,b)=>{if((a.get(b)||0)<2||u.has(b))return y;let w=d.get(b);return w===void 0&&(w="i"+(h++).toString(36),d.set(b,w),m.push(`[data-sdi="${w}"]{${b}}`)),` data-sdi="${w}"`},g="";for(let y of i)g+=y.intern?y.text.replace(c,p):y.text;return t.slice(0,n)+m.join("")+g}function Bd(t,e,n){let o=new Set;if(!e&&!n)return o;if(!t||t.querySelector("[data-sdi]"))return null;let i=c=>{let f=c.getAttribute("style");f&&o.add(f)};if(n&&t.querySelectorAll("[data-snapdom-asset][style]").forEach(i),e)try{let c=f=>{for(let l of f){if(l.type===CSSRule.IMPORT_RULE||l.type===CSSRule.NAMESPACE_RULE)throw new Error("External or namespaced CSS");if(l.selectorText){if(/\[\s*style\b|data-sdi|\[[^\]]*\\|&/i.test(l.selectorText))throw new Error("Attribute-dependent or nested CSS");t.querySelectorAll(l.selectorText).forEach(i)}l.cssRules&&c(l.cssRules)}};for(let f of[...t.querySelectorAll("style")].slice(1)){let l=f.textContent||"";if(/@import\b/i.test(l))return null;let u=new CSSStyleSheet;u.replaceSync(l),c(u.cssRules)}}catch{return null}let r=new Set,s=document.createElement("div"),a=new XMLSerializer;for(let c of o){s.setAttribute("style",c);let f=a.serializeToString(s).match(/ style="([^"]*)"/);f&&r.add(f[1])}return r}async function uo(t,e){let{clipWindow:n,outerTransforms:o,outerShadows:i,rootTransform2D:r,fontsCSS:s}=e,a=t.options;if(t!==a){let{options:Z,...et}=t;t=Object.assign(a,et),Object.defineProperty(t,"options",{value:t,configurable:!0})}let c,f;Ca(t,s),await zt("beforeRender",t);let l=I(t.element),u=t.element.getBoundingClientRect(),d=Math.max(1,D(t.element.offsetWidth||parseFloat(l.width)||u.width||1)),h=Math.max(1,D(t.element.offsetHeight||parseFloat(l.height)||u.height||1)),m=t.element.ownerDocument||document;if(!n&&(t.element===m.body||t.element===m.documentElement)&&!t.__pinned){let Z=Math.max(t.element.scrollHeight||0,m.documentElement?.scrollHeight||0,m.body?.scrollHeight||0),et=Math.max(t.element.scrollWidth||0,m.documentElement?.scrollWidth||0,m.body?.scrollWidth||0);Z>0&&(h=Math.max(h,D(Z))),et>0&&(d=Math.max(d,D(et)));try{let tt=(t.scrollbarCSS||"").length+(t.baseCSS||"").length+(t.fontsCSS||"").length+(t.classCSS||"").length,ot=O.measureHints.get(t.element);if(ot&&ot.cssLen===tt&&ot.w0===d&&ot.docH===Z&&ot.docW===et)ot.csh>0&&(h=Math.max(h,D(ot.csh))),ot.csw>0&&(d=Math.max(d,D(ot.csw)));else{let rt=m.createElement("div");J(rt),rt.style.cssText="position:absolute!important;left:-9999px!important;top:0!important;width:"+d+"px!important;overflow:visible!important;visibility:hidden!important;";let re=rt.attachShadow({mode:"open"}),ie=m.createElement("style");ie.textContent=(t.scrollbarCSS||"")+t.baseCSS+"svg{overflow:visible;} foreignObject{overflow:visible;}"+t.classCSS,re.appendChild(ie),re.appendChild(Ar(t.clone)),m.body.appendChild(rt);let Ke=rt.scrollHeight,Gt=rt.scrollWidth;m.body.removeChild(rt),O.measureHints.set(t.element,{cssLen:tt,w0:d,docH:Z,docW:et,csh:Ke,csw:Gt}),Ke>0&&(h=Math.max(h,D(Ke))),Gt>0&&(d=Math.max(d,D(Gt)))}}catch{}}if(t.options?.excludeMode==="remove"||typeof t.options?.filter=="function"&&t.options.filterMode==="remove"){let Z=Mr(t.element,t.options),et=1,tt=Mr(t.element,{}),ot=Math.max(2,h*.15);Number.isFinite(tt)&&tt>=h-ot&&Number.isFinite(Z)&&Z>0&&(h=Math.max(1,Math.min(h,D(Z+et))))}if(t.options?.reconcile)try{let Z=(t.scrollbarCSS||"")+t.baseCSS+"svg{overflow:visible;} foreignObject{overflow:visible;}"+t.classCSS;va(t.element,t.clone,Z,t.nodeMap,d,h)}catch(Z){console.warn("[SnapDOM] reconcile couldn't run; captured without it.",Z)}let g=(Z,et=NaN)=>{let tt=typeof Z=="string"?parseFloat(Z):Z;return Number.isFinite(tt)?tt:et},y=g(t.options.width),b=g(t.options.height),w=n?D(n.width):d,S=n?D(n.height):h,C=w,x=S,k=Number.isFinite(y),A=Number.isFinite(b),M=S>0?w/S:1;k&&A?(C=Math.max(1,D(y)),x=Math.max(1,D(b))):k?(C=Math.max(1,D(y)),x=Math.max(1,D(C/(M||1)))):A&&(x=Math.max(1,D(b)),C=Math.max(1,D(x*(M||1))));let v=0,_=0,E=d,T=h;if(n){let Z=0,et=0;if(Nr(t.element)){let tt=null;if(!o&&r&&Number.isFinite(r.a))tt={a:r.a,b:r.b||0,c:r.c||0,d:r.d||1,e:0,f:0};else{let ot=he(t.element),rt=kr(l.transform&&l.transform!=="none"?l.transform:"",ot);rt&&rt.is2D&&(tt={a:rt.a,b:rt.b,c:rt.c,d:rt.d,e:0,f:0})}if(tt&&!(tt.a===1&&tt.b===0&&tt.c===0&&tt.d===1)){let{ox:ot,oy:rt}=hn(l,d,h),re=De(d,h,tt,ot,rt);Z=re.minX,et=re.minY}}v=D(n.x+Z),_=D(n.y+et),E=D(v+n.width),T=D(_+n.height)}else if(!o&&r&&Number.isFinite(r.a)){let Z={a:r.a,b:r.b||0,c:r.c||0,d:r.d||1,e:0,f:0},et=De(d,h,Z,0,0);v=D(et.minX),_=D(et.minY),E=D(et.maxX),T=D(et.maxY)}else if(o&&Nr(t.element)){let et=l.transform&&l.transform!=="none"?l.transform:"",tt=he(t.element),ot=ee({baseTransform:et,rotate:tt.rotate||"0deg",scale:tt.scale,translate:tt.translate,width:d,height:h}),{ox:rt,oy:re}=hn(l,d,h),ie=ot.is2D?ot:new DOMMatrix(ot.toString()),Ke={a:ie.a,b:ie.b,c:ie.c,d:ie.d,e:0,f:0},Gt=De(d,h,Ke,rt,re);v=D(Gt.minX),_=D(Gt.minY),E=D(Gt.maxX),T=D(Gt.maxY)}let P=yr(l),L=br(l),W=wr(l),R=xr(l),F=Sr(l),N=u.width>0?(E-v)/u.width:1,$=u.height>0?(T-_)/u.height:1,z=i==="subtree"&&!n?fa(t.element,t.nodeMap,t.styleCache,N,$):{top:0,right:0,bottom:0,left:0},G=n?{top:0,right:0,bottom:0,left:0}:i?{top:D(Math.max(P.top,L.top,z.top)+W.top+R.top+F.bleed.top),right:D(Math.max(P.right,L.right,z.right)+W.right+R.right+F.bleed.right),bottom:D(Math.max(P.bottom,L.bottom,z.bottom)+W.bottom+R.bottom+F.bleed.bottom),left:D(Math.max(P.left,L.left,z.left)+W.left+R.left+F.bleed.left)}:{top:W.top,right:W.right,bottom:W.bottom,left:W.left};v=D(v-G.left),_=D(_-G.top),E=D(E+G.right),T=D(T+G.bottom);let U=Math.max(1,D(E-v)),Y=Math.max(1,D(T-_)),B="http://www.w3.org/2000/svg",dt=Nr(t.element)?2:0,nt=D(dt+(o?0:1)),st=Math.ceil(U+nt*2),yt=Math.ceil(Y+nt*2),bt=D(-(D(v)-nt)),lt=D(-(D(_)-nt)),Wt=Math.max(0,bt),V=Math.max(0,lt),q=D(st-Math.min(0,bt)),H=D(yt-Math.min(0,lt)),ht=m.defaultView||window,K=!X()&&CSS.supports("zoom","2")?Ud(ht):1;a.__layoutZoom=K;let kt=document.createElementNS(B,"foreignObject");kt.setAttribute("x",String(Math.min(0,bt)*K)),kt.setAttribute("y",String(Math.min(0,lt)*K)),kt.setAttribute("width",String(q*K)),kt.setAttribute("height",String(H*K)),kt.style.overflow="visible";let xe=document.createElement("style"),xn="svg{overflow:visible;} foreignObject{overflow:visible;} foreignObject>div{-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important;}";xe.textContent=(t.scrollbarCSS||"")+t.baseCSS+t.fontsCSS+xn+t.classCSS,kt.appendChild(xe);let Xe=document.createElement("div");Xe.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),Xe.style.cssText=`all:initial;box-sizing:border-box;display:block;overflow:visible;width:${q}px;height:${H}px`+(Wt!==0||V!==0?`;padding:${V}px 0 0 ${Wt}px !important`:"")+(K!==1?`;zoom:${K} !important`:""),Xe.appendChild(t.clone),kt.appendChild(Xe);let _o=new XMLSerializer().serializeToString(kt),jt=k||A,Eo=Object.freeze({w0:w,h0:S,vbW:st,vbH:yt,targetW:C,targetH:x,contentX:D(bt+(n?v:0)),contentY:D(lt+(n?_:0)),clip:n?Object.freeze({x:D(v),y:D(_),width:w,height:S}):null});Object.defineProperty(a,"meta",{value:Eo,enumerable:!0,writable:!1,configurable:!0});let Ro=!jt||X()?st:k?C:D(st*(x/yt)),Sn=!jt||X()?yt:A?x:D(yt*(C/st)),Vt=parseFloat(I(m.documentElement)?.fontSize)||16,ci=K!==1,Nc=`${ci?``:""}`,Lc=ci?"":"";f=Nc+Wd(_o,kt)+Lc,c=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(f)}`,t.svgString=f,t.dataURL=c,a.__artifacts={classCSS:t.classCSS||"",fontsCSS:t.fontsCSS||"",baseCSS:t.baseCSS||"",scrollbarCSS:t.scrollbarCSS||""},await zt("afterRender",t),t.clone=t.nodeMap=t.styleCache=t.svgString=null;let Fo=[...document.querySelectorAll("#snapdom-sandbox")].find(Xt);return Fo&&Fo.style.position==="absolute"&&Fo.remove(),t.dataURL}function Nr(t){return da(t)}function Ud(t){let e=t.devicePixelRatio||1;if(e===1)return 1;let n=t.document,o=e;try{let i=n.createElement("div");J(i),i.style.cssText="position:absolute!important;left:-9999px!important;top:0!important;width:0!important;height:0!important;visibility:hidden!important;pointer-events:none!important;border:0 solid transparent!important;border-top-width:0.5px!important",(n.body||n.documentElement).appendChild(i);let r=parseFloat(t.getComputedStyle(i).borderTopWidth);i.remove(),r>=1&&(o=1)}catch{}return o}function zd(t){let e=Array.isArray(t.plugins)?t.plugins:Tr(),n=[];for(let o of e){let i=He(o);i&&typeof i.resolveNode=="function"&&n.push(i.resolveNode.bind(i))}return n.length?n:null}async function Ga(t,e){if(!t)throw new Error("[SnapDOM] The element cannot be null or undefined.");e.__session=Rr(e.cache),delete e.__compressedAssets,delete e.__compressedSnapshot,delete e.__compressionDensity,e.__resolveNodeHooks=zd(e);let n=e;n.element=t,Object.defineProperty(n,"options",{value:n,configurable:!0});let o,i,r,s,a,c,f,l="",u=null,d=e.needs||gt,h=n.format,m=n.type;await zt("beforeSnap",n);let p=n.format!==h&&/^(?:png|jpe?g|webp|svg)$/i.test(n.format),g=n.type!==m&&/^(?:png|jpe?g|webp|svg)$/i.test(n.type);if(p||g){let E=String(p?n.format:n.type).toLowerCase();n.format=E==="jpg"?"jpeg":E,n.type=n.format,n.__explicitFormat=n.format,/^(?:jpeg|webp)$/.test(n.format)&&(n.backgroundColor==null||n.backgroundColor==="transparent")&&(n.backgroundColor="#ffffff")}await zt("beforeClone",n);let y=n.outerTransforms!==!1,b=n.outerShadows==="subtree"?"subtree":!!n.outerShadows,w=n.clip?Yn(n.element,n.clip):null;if(e.__styleShare===void 0)try{e.__styleShare=Gi(n.element)&&(typeof n.element.getAnimations!="function"||n.element.getAnimations({subtree:!0}).length===0)}catch{e.__styleShare=!1}let S=Pi(e.fast);for(;;){e.__slicer=S;let E=oo(n.element,w);try{({clone:o,classCSS:i,classPrefixCSS:r,styleCache:s,nodeMap:a,reconcileRisk:c,clipWindow:f}=await Ma(n.element,n.options)),c>0&&!e.reconcile&&(Et(e.__session,"reconcile-risk","text in inline/table-cell elements kept natural width and may re-wrap; pass { reconcile: true } for pixel-exact layout"),O.warnedReconcile||(O.warnedReconcile=!0,console.warn("[SnapDOM] Some text may wrap differently in the capture. Pass { reconcile: true } to fix it (about 2x slower)."))),!y&&o&&(u=ua(n.element,o)),!b&&o&&ba(n.element,o,n.options),o&&(xa(n.element,o,a),wa(n.element,o))}finally{E()}if(!S?.yielded||!e.__tornSinceStart?.())break;S=null,e.__session=Rr(e.cache)}if(e.__slicer=null,n.clone=o,n.classCSS=i,n.styleCache=s,n.nodeMap=a,await zt("afterClone",n),!Ue(d,"render"))return null;if(S?.due()&&await S.pause(),Kn(n.clone),n.options?.excludeMode==="remove"||typeof n.options?.filter=="function"&&n.options.filterMode==="remove")try{Sa(n.element,n.clone,n.styleCache,n.nodeMap)}catch(E){Et(e.__session,"shrink-failed","shrink pass failed",E),console.warn("[SnapDOM] Couldn't close the gaps left by removed elements.",E)}try{await Bn(n.clone,n.element,n.nodeMap)}catch{}let C=E=>Promise.resolve().then(E),x=(async()=>{await Promise.all([C(()=>Zn(n.clone,n.options)),C(()=>to(n.element,n.clone,n.styleCache,n.options,n.nodeMap))]);try{Ea(n.element,n.clone,n.nodeMap)}catch(E){Et(e.__session,"backdrop-filter-failed","backdrop-filter emulation failed",E),console.warn("[SnapDOM] Couldn't reproduce a backdrop-filter; captured without it.",E)}if(e.compress&&(e.__compressionClip=f,e.__compressionRootTransform=u,await C(()=>fo(n.clone,n.options,n.nodeMap))),e.captureSelection)try{As(n.nodeMap)}catch(E){Et(e.__session,"selection-compose-failed","field selection compose failed",E)}})(),k=Promise.resolve();(e.embedFonts==="auto"?((n.element.ownerDocument||document).fonts?.size||0)>0:e.embedFonts)&&(k=C(async()=>{let E=n.element.ownerDocument||document,T=w?W=>{try{let R=W.getBoundingClientRect();return R.right>=w.left-200&&R.left<=w.right+200&&R.bottom>=w.top-200&&R.top<=w.bottom+200}catch{return!0}}:null,{required:P,usedCodepoints:L}=!w&&e.__fontUsage||jn(n.element,T);if(e.embedFonts==="auto"){let W=new Set;try{for(let F of E.fonts)W.add(String(F.family).replace(/["']/g,"").toLowerCase())}catch{}if(!(W.size>0&&Array.from(P).some(F=>W.has(String(F).split("__")[0].toLowerCase()))))return}if(X()){let W=new Set(Array.from(P).map(R=>String(R).split("__")[0]).filter(Boolean));await Vn(W,1,E)}l=await Gs({required:P,usedCodepoints:L,exclude:n.options.excludeFonts,localFonts:n.options.localFonts,useProxy:n.options.useProxy,fontStylesheetDomains:n.options.fontStylesheetDomains,iconMatchers:n.options.__iconMatchers,doc:E})})),await Promise.all([x,k]);let M=(n.options.plugins||[]).some(E=>E&&(typeof E.beforeRender=="function"||typeof E.afterRender=="function"));n.options.engine,S?.due()&&await S.pause();let v=n.clone;lo(v,e.__compressedAssets);let _=await uo(n,{clipWindow:f,outerTransforms:y,outerShadows:b,rootTransform2D:u,fontsCSS:l});if(e.__compressedSnapshot=co(v,e.__compressedAssets),typeof e.__retain=="function")try{e.__retain({clone:o,nodeMap:a,styleCache:s,styleMap:e.__session.styleMap,classPrefixCSS:r,fontsCSS:l,clipWindow:f,outerTransforms:y,outerShadows:b,rootTransform2D:u,__compressedAssets:e.__compressedAssets,__compressionDensity:e.__compressionDensity})}catch{}return _}wt();At();var Hd=new Set(["png","jpeg","jpg","webp","svg"]);function qa(t={}){let e=typeof t.type=="string"&&Hd.has(t.type.toLowerCase())?t.type.toLowerCase():null,n=t.format??e??"png";n==="jpg"&&(n="jpeg");let o=t.format!=null?n:e==="jpg"?"jpeg":e,i=li(t.cache),r=t.exclude==null?[]:Array.isArray(t.exclude)?t.exclude:[t.exclude],s=[],a=[];for(let u of r)if(typeof u=="string")try{document.createDocumentFragment().querySelector(u),s.push(u)}catch{console.warn(`[SnapDOM] Invalid exclude selector "${u}"; ignored.`)}else typeof u=="function"?a.push(u):u!=null&&console.warn("[SnapDOM] Ignored an exclude entry: use a CSS selector or a function.",u);let c=t.excludeMode??"hide",f=u=>{if(!u||u.nodeType!==1)return!1;if(u.getAttribute("data-capture")==="exclude")return!0;for(let d of Array.isArray(l.exclude)?l.exclude:[])try{if(u.matches(d))return!0}catch{}for(let d of Array.isArray(l.excludePredicates)?l.excludePredicates:[])try{if(d(u))return!0}catch{}if(typeof l.filter=="function")try{if(!l.filter(u))return!0}catch{}return!1},l={debug:t.debug??!1,scale:t.scale??1,exclude:s,excludePredicates:a.length?a:null,excludeMode:c,filter:t.filter??null,filterMode:t.filterMode??"hide",shouldExclude:f,placeholders:t.placeholders!==!1,captureSelection:t.captureSelection??!1,canvas:it(t.canvas,"canvas")?t.canvas:null,embedFonts:t.embedFonts??"auto",iconFonts:Array.isArray(t.iconFonts)?t.iconFonts:t.iconFonts?[t.iconFonts]:[],__iconMatchers:Is(t.iconFonts),localFonts:Array.isArray(t.localFonts)?t.localFonts:[],excludeFonts:t.excludeFonts??void 0,fontStylesheetDomains:Array.isArray(t.fontStylesheetDomains)?t.fontStylesheetDomains:[],fallbackURL:t.fallbackURL??void 0,cache:i,__styleShare:t.__styleShare,useProxy:typeof t.useProxy=="string"?t.useProxy:"",width:t.width??null,height:t.height??null,format:n,__explicitFormat:o,type:n,quality:t.quality??.92,dpr:t.dpr??(window.devicePixelRatio||1),backgroundColor:t.backgroundColor??(["jpeg","webp"].includes(n)?"#ffffff":null),filename:t.filename??"snapDOM",outerTransforms:t.outerTransforms??!0,outerShadows:t.outerShadows??!1,reconcile:t.reconcile??!1,burst:t.burst,fast:t.fast===!1||t.fast==="auto"?t.fast:!0,engine:t.engine,invalidate:t.invalidate??!1,__pinned:t.__pinned===!0,clip:t.clip??null,compress:t.compress!==!1,excludeStyleProps:t.excludeStyleProps??null,resolvePicturePlaceholders:t.resolvePicturePlaceholders!==!1};return l}mt();ce();vt();var Xa="svg,iframe,canvas,video,audio,object,embed,slot,template,picture,style,pre";function jd(t){try{return t.matches?.("dialog,[popover]")||!!t.querySelector?.("dialog,[popover]")}catch{return!0}}var Vd=/(?:^|;)\s*(?:-webkit-)?backdrop-filter:\s*(?!none(?:\s*!important)?(?:;|$))[^;]+/i;function Gd(t){if(t.__usesBackdropFilter!==void 0)return t.__usesBackdropFilter;let e=!1;for(let n of t.styleMap.values())if(Vd.test(n)){e=!0;break}return t.__usesBackdropFilter=e,e}function qd(t,e){let n=e.has("backdrop-filter")||e.has("-webkit-backdrop-filter");if(!n&&(n=(r=>/(?:^|;)\s*(?:-webkit-)?backdrop-filter\s*:/i.test(r.getAttribute?.("style")||""))(t),!n))try{n=!!t.querySelector?.('[style*="backdrop-filter" i]')}catch{n=!0}if(!n)return!1;let o=[t];t.querySelectorAll&&o.push(...t.querySelectorAll("*"));for(let i of o){let r=getComputedStyle(i),s=r.getPropertyValue("backdrop-filter")||r.getPropertyValue("-webkit-backdrop-filter");if(s&&s!=="none")return!0}return!1}var Xd=1/16;function Yd(t,e){if(t===e)return!0;if(!t.endsWith("px")||!e.endsWith("px"))return!1;let n=parseFloat(t),o=parseFloat(e);return Number.isFinite(n)&&Number.isFinite(o)&&Math.abs(n-o)<=Xd}var po=new Map,Kd=["width","height","min-width","min-height"];function Qd(t){let e=po.get(t);if(e===void 0){e=null;for(let n of Kd){let o=t.match(new RegExp("(?:^|;)"+n+":([^;]+)"));o&&o[1].endsWith("px")&&((e||={})[n]=o[1])}po.size>5e3&&po.clear(),po.set(t,e)}return e}function Zd(t){if(!(!t.classList||!t.classList.length))for(let e of Array.from(t.classList))/^c\d+$/.test(e)&&t.classList.remove(e)}function Jd(t,e){let n=[t];for(;n.length;){let o=n.pop();if(o.nodeType===1){let i=e.nodeMap.get(o);i!==void 0&&(e.nodeMap.delete(o),e.srcToClone.get(i)===o&&e.srcToClone.delete(i)),e.styleMap.delete(o)}for(let i=o.firstChild;i;i=i.nextSibling)n.push(i)}}var Lr={attempts:0,served:0,reconciled:0};async function Ya(t,e,n){Lr.attempts++;try{let o=await tp(t,e,n);return o&&Lr.served++,o}catch{return null}}async function tp(t,e,n){let o=e.retained;if(!o||!o.clone||!o.styleMap||!o.srcToClone||n.reconcile||n.clip||n.captureSelection||o.clipWindow||t.scrollTop||t.scrollLeft||jd(t)||Gd(o)||o.fontsCSS||io(n))return null;for(let d of n.plugins||[])if(d&&(typeof d.beforeSnap=="function"||typeof d.beforeClone=="function"||typeof d.resolveNode=="function"||typeof d.afterClone=="function"))return null;if(o.classPrefixCSS&&(o.classPrefixCSS.includes("::marker")||o.classPrefixCSS.includes("::first-line"))||n.excludeMode==="remove")return null;let i=t.ownerDocument||document,r=cn(t);if(!r||Vi(i))return null;let s=[];t:for(let d of e.dirtyRoots){if(!d.isConnected||d===t||!t.contains(d))return null;for(let h of e.dirtyRoots)if(h!==d&&h!==t&&h.contains(d))continue t;s.push(d)}if(!s.length)return null;n.__compressedAssets=o.__compressedAssets,n.__compressionDensity=o.__compressionDensity,n.__compressionRootTransform=o.rootTransform2D;for(let d of s){if(d.parentElement===t||d.matches?.(Xa)||d.querySelector?.(Xa)||qd(d,r))return null;let h=o.srcToClone.get(d);if(!h||!h.parentNode)return null;let m=new Map,p={styleMap:o.styleMap,styleCache:o.styleCache,nodeMap:m,options:n},g=oo(d,null),y=Xn(d),b;try{b=await te(d,p,n)}finally{y(),g()}if(!b||b.nodeType!==1||b.querySelector?.("style[data-sd]")||(await Oe(d,b,p,n),p.__pseudoCSS)||p.__usesPlaceholder&&!o.classPrefixCSS?.includes("[data-sd-ph]"))return null;await Ln(b,p),Kn(b);try{await Bn(b,d,m)}catch{}if(await Promise.all([Zn(b,n),to(d,b,o.styleCache,n,m)]),n.compress)try{await fo(b,n,m)}catch{}for(let[w,S]of m.entries())Er(w,S,m,o.styleCache);h.replaceWith(b),Jd(h,o);for(let[w,S]of m.entries())o.nodeMap.set(w,S),o.srcToClone.set(S,w)}let a={styleMap:o.styleMap,styleCache:o.styleCache,nodeMap:o.nodeMap,options:n},c=new WeakSet;for(let[d,h]of o.nodeMap.entries()){if(!h||h.nodeType!==1||!h.isConnected)continue;let m=o.styleMap.get(d);if(!m)continue;let p=Qd(m);if(!p)continue;let g=null,y=!1;for(let b in p){g||=getComputedStyle(h);let w=g.getPropertyValue(b);if(b==="min-width"&&w==="auto"&&!c.has(h.parentElement)){let S=parseFloat(g.width);g.boxSizing!=="border-box"&&m.includes("box-sizing:border-box")&&(S+=["padding-left","padding-right","border-left-width","border-right-width"].reduce((C,x)=>C+(parseFloat(g.getPropertyValue(x))||0),0)),w=`${S}px`}if(!Yd(w,p[b])){y=!0;break}}if(y){if(n.__compressedAssets?.has(d))return null;c.add(h),Lr.reconciled++,await ut(h,d,a,n)}}let f=tn(o.styleMap);for(let[d,h]of o.styleMap.entries())Zd(d),_r(d,h,f);let l=(o.classPrefixCSS||"")+Array.from(f.entries()).map(([d,h])=>`.${h}{${d}}`).join("");lo(o.clone,n.__compressedAssets);let u=await uo({element:t,options:n,plugins:n.plugins,clone:o.clone,classCSS:l,styleCache:o.styleCache,nodeMap:o.nodeMap},{clipWindow:null,outerTransforms:o.outerTransforms,outerShadows:o.outerShadows,rootTransform2D:o.rootTransform2D,fontsCSS:o.fontsCSS||""});return n.__compressedSnapshot=co(o.clone,n.__compressedAssets),o.__compressedAssets=n.__compressedAssets,o.__compressionDensity=n.__compressionDensity,u}At();var Or=new WeakMap,mo=new WeakMap,sc=new WeakSet,Ir=new WeakMap,ep=64,gn=new Map,ac=["scroll","input","change","focusin","focusout","pointerdown","pointerup","pointercancel","keydown","keyup","beforetoggle","toggle"],np=["(prefers-color-scheme: dark)","(prefers-reduced-motion: reduce)","(prefers-contrast: more)","(forced-colors: active)","(inverted-colors: inverted)","(prefers-reduced-transparency: reduce)","(hover: hover)","(any-hover: hover)","(pointer: coarse)","(any-pointer: coarse)","(color-gamut: p3)","(dynamic-range: high)"];function op(t){let e=t?.defaultView;return typeof e?.matchMedia!="function"?"":np.map(n=>{try{return e.matchMedia(n).matches?"1":"0"}catch{return"?"}}).join("")}function Ka(t){let e=[];for(let n=t;n;){try{let o=n.getBoundingClientRect();e.push(o.x,o.y,o.width,o.height)}catch{e.push("?")}n.parentElement?n=n.parentElement:n=Pt(n)||null}return e.join("|")}function Qa(t,e){if(e.disposed||(gn.delete(t),gn.set(t,e),gn.size<=ep))return;let[n,o]=gn.entries().next().value;cc(n,o)}function cc(t,e){e.disposed=!0,gn.delete(t),Or.delete(t);for(let n of e.observers)try{n.disconnect()}catch{}for(let n of ac)t.removeEventListener(n,e.onMediaDirty,!0);for(let n of e.trackedShadowRoots.keys())for(let o of Wr)n.removeEventListener(o,e.onMediaDirty,!0);for(let[n,o]of e.trackedImages)n.removeEventListener("load",o),n.removeEventListener("error",o);e.trackedImages.clear(),e.trackedShadowRoots.clear(),e.images.length=0,e.controls.length=0,e.scrollNodes.length=0,e.observers.length=0,e.last=null,e.retained=null,e.retainedFrameDriven=!1}function lc(t){if(sc.has(t))return!1;mo.delete(t);let e=[t],n=[],o=[];for(let i=0;i=0&&e.observers.splice(s,1)}for(let i of o)if(!e.trackedShadowRoots.has(i))try{let r=new MutationObserver(e.markDirty);r.observe(i,{subtree:!0,childList:!0,attributes:!0,characterData:!0,attributeOldValue:!0,characterDataOldValue:!0}),r.__flush=e.markDirty,e.observers.push(r),e.trackedShadowRoots.set(i,r);for(let s of Wr)i.addEventListener(s,e.onMediaDirty,{capture:!0,passive:!0});e.retained&&e.dirtyAll()}catch{}return!!n}var Wr=["scroll","change","beforetoggle","toggle"];function go(t,e){return[t,...e.trackedShadowRoots.keys()]}function Br(t,e){let n=e.scannedImages;if(e.scannedImages=null,!n){n=[],t.tagName==="IMG"&&n.push(t);for(let o of go(t,e))o.querySelectorAll&&n.push(...o.querySelectorAll("img"))}if(e.images=n,e.trackedImages.size){let o=new Set(n);for(let[i,r]of e.trackedImages)o.has(i)||(i.removeEventListener("load",r),i.removeEventListener("error",r),e.trackedImages.delete(i))}for(let o of n){if(o.complete||e.trackedImages.has(o))continue;let i=()=>{e.capturing&&(e.torn=!0),e.dirty=!0,e.dirtyRoots=null,o.removeEventListener("load",i),o.removeEventListener("error",i),e.trackedImages.delete(o)};e.trackedImages.set(o,i),o.addEventListener("load",i),o.addEventListener("error",i)}}function Za(t){let e=new Map,n=new Map,o=new Map;for(let i of t)if(fe(i))if(i.type==="attributes"){let r=e.get(i.target);r||e.set(i.target,r=new Map),r.has(i.attributeName)||r.set(i.attributeName,i.oldValue)}else if(i.type==="characterData")n.has(i.target)||n.set(i.target,i.oldValue);else if(i.type==="childList"){let r=o.get(i.target);r||o.set(i.target,r=new Map);for(let s of i.addedNodes){if(s.nodeType!==3)return!0;r.set(s.data,(r.get(s.data)||0)+1)}for(let s of i.removedNodes){if(s.nodeType!==3)return!0;r.set(s.data,(r.get(s.data)||0)-1)}}else return!0;for(let[i,r]of e)for(let[s,a]of r)if(i.getAttribute(s)!==a)return!0;for(let[i,r]of n)if(i.data!==r)return!0;for(let i of o.values())for(let r of i.values())if(r!==0)return!0;return!1}var rp=/(?:^data:image\/(?:gif|apng)|\.(?:gif|apng)(?=[?#)'"\s;]|$))/i,Ve=t=>t&&(typeof t=="object"||typeof t=="function")?ho(t):"-";function ip(t,e=131072){if(t=String(t||"").trim(),!/^data:/i.test(t))return"";let n=t.indexOf(",");if(n<0)return"";let o=t.slice(0,n),i=t.slice(n+1);try{if(/;base64/i.test(o)){let r=Math.ceil(e/3)*4;return atob(i.slice(0,r-r%4))}return i.slice(0,e*3).replace(/%([0-9a-f]{2})/gi,(r,s)=>String.fromCharCode(parseInt(s,16))).slice(0,e)}catch{return""}}function sp(t){let e=(t.match(/^data:([^;,]+)/i)?.[1]||"").toLowerCase();if(e==="image/gif"||e==="image/apng")return!0;if(!/image\/(?:png|webp|avif|svg\+xml)/.test(e))return!1;let n=ip(t);return e==="image/png"?n.includes("acTL"):e==="image/webp"?n.includes("ANIM")||n.includes("ANMF")||n.includes("VP8X")&&!!(n.charCodeAt(n.indexOf("VP8X")+8)&2):e==="image/avif"?n.includes("avis"):/<(?:animate|animateTransform|animateMotion|set)\b|@keyframes\b|animation(?:-name)?\s*:/i.test(n)}function Ja(t){let e=String(t||"").trim();return e?rp.test(e)?!0:/^data:/i.test(e)?sp(e):!1:!1}function Ge(t){let e=String(t||"");if(Ja(e))return!0;for(let n of e.matchAll(/url\(\s*(?:"((?:\\.|[^"\\])*)"|'((?:\\.|[^'\\])*)'|([^)]*))\s*\)/gi))if(Ja(n[1]??n[2]??n[3]))return!0;return!1}function tc(t,e=null){let n=t&&t.clone;if(!n)return!1;let o=e?e.map(i=>t.srcToClone?.get(i)).filter(Boolean):[n];for(let i of o)for(let r of fc(i))if(Ge(r.getAttribute?.("src"))||Ge(r.getAttribute?.("href"))||Ge(r.getAttribute?.("style"))||Ge(t.styleMap?.get(r)))return!0;return!1}function fc(t){let e=[];t&&t.nodeType===1&&e.push(t);try{e.push(...t.querySelectorAll("*"))}catch{}return e}function Ur(t,e){let n=[],o=new Set,i=r=>{r&&!o.has(r)&&(o.add(r),n.push(r))};t.matches?.("input,textarea,select,option")&&i(t);for(let r of go(t,e))try{for(let s of r.querySelectorAll("input,textarea,select,option"))i(s)}catch{}e.controls=n}function zr(t,e){let n=[],o=new Set,i=(r,s=!1)=>{if(!(!r||o.has(r))){o.add(r);try{(s||r.scrollLeft||r.scrollTop||r.scrollWidth>r.clientWidth||r.scrollHeight>r.clientHeight)&&n.push(r)}catch{}}};for(let r=t;r;r=r.parentElement)i(r,!0);for(let r of go(t,e))for(let s of fc(r))i(s);e.scrollNodes=n}function ec(t,e){let n=t.ownerDocument||document,o=n.defaultView,i=[o?.location?.hash||"",op(n),o?.innerWidth||0,o?.innerHeight||0,o?.devicePixelRatio||1,o?.screen?.orientation?.type||""];try{i.push(...[...n.adoptedStyleSheets||[]].map(Ve))}catch{}for(let l of e.trackedShadowRoots.keys())try{i.push("#shadow",...[...l.adoptedStyleSheets||[]].map(Ve))}catch{}let r=n.activeElement,s=n.fullscreenElement;(r?.contains(t)||t.contains(r))&&i.push(Ve(r)),(s?.contains(t)||t.contains(s))&&i.push(Ve(s));let a=[o?.scrollX||0,o?.scrollY||0];for(let l of e.scrollNodes)a.push(l.scrollLeft||0,l.scrollTop||0);let c=[];for(let l of e.controls){let u=String(l.localName||"").toLowerCase();u==="input"?c.push(l.type,Ze(l)?l.value.length:l.value,l.checked?1:0,l.indeterminate?1:0):u==="textarea"?c.push(l.value):u==="select"?c.push(l.selectedIndex,l.value):c.push(l.selected?1:0)}let f=[];for(let l of e.images){let u="";try{u=l.currentSrc||l.src||""}catch{}f.push(u,l.complete?1:0,l.naturalWidth||0,l.naturalHeight||0)}return{style:i.join("|"),scroll:a.join("|"),controls:c,images:f,frameDriven:e.retainedFrameDriven}}function je(t,e,n){if(!t)return!1;let o=t[n],i=e[n];if(o===i)return!0;if(!Array.isArray(o)||o.length!==i.length)return!1;for(let r=0;r[Ve(e),e.playState,Math.round((Number(e.currentTime)||0)*10),e.playbackRate].join(":")).join("|")}function ap(t,e,n){if(!n||n.nodeType!==1)return null;if(n===t||t.contains(n))return t;for(let o of e.trackedShadowRoots.keys())if(o.contains(n))return o;return null}function cp(t){let e={dirty:!0,pending:[],torn:!1,dirtyRoots:new Set,retained:null,retainedFrameDriven:!1,disposed:!1,capturing:!1,last:null,inflight:Promise.resolve(),observers:[],trackedShadowRoots:new Map,trackedImages:new Map,images:[],scannedImages:null,scrollNodes:[],controls:[],envEpoch:Re(),styleEpoch:ue(),styleStamp:an(t),outsideMutations:sn(t),geometry:null,renderState:null},n=()=>{e.dirty=!0,e.dirtyRoots=null},o=a=>{if(!e.dirtyRoots)return;let c=a&&(a.nodeType===1?a:a.parentElement);if(!c||c===t||!t.contains(c)||e.dirtyRoots.size>=12){e.dirtyRoots=null;return}e.dirtyRoots.add(c)},i=a=>{if(e.capturing){for(let c of a)e.pending.push(c);return}for(let c of a)fe(c)&&(e.dirty=!0,o(c.target))},r=()=>{if(e.capturing){e.torn=!0;return}n()};e.dirtyAll=n;try{let a=new MutationObserver(i);a.observe(t,{subtree:!0,childList:!0,attributes:!0,characterData:!0,attributeOldValue:!0,characterDataOldValue:!0}),a.__flush=i,e.observers.push(a)}catch{}e.markDirty=i,e.onMediaDirty=r;try{for(let a of ac)t.addEventListener(a,r,{capture:!0,passive:!0})}catch{}return Dr(t,e)||Ur(t,e),zr(t,e),Br(t,e),e}var lp=0,rc=new WeakMap;function ho(t){let e=rc.get(t);return e||(e="@"+ ++lp,rc.set(t,e)),e}function Hr(t,e){let n=typeof t;if(n==="undefined")return null;if(t===null||n==="boolean"||n==="number"||n==="string")return JSON.stringify(t);if(n==="function"||n==="symbol")return n==="symbol"?null:JSON.stringify(ho(t));if(n!=="object")return null;if(typeof t.nodeType=="number")return JSON.stringify(ho(t));if(e.has(t))return null;e.add(t);try{if(Array.isArray(t)){let r=[];for(let s of t){let a=Hr(s,e);if(a===null)return null;r.push(a)}return"["+r.join(",")+"]"}let o=Object.getPrototypeOf(t);if(o!==Object.prototype&&o!==null)return JSON.stringify(ho(t));let i=[];for(let r of Object.keys(t).sort()){let s=t[r];if(s===void 0)continue;let a=Hr(s,e);if(a===null)return null;i.push(JSON.stringify(r)+":"+a)}return"{"+i.join(",")+"}"}finally{e.delete(t)}}function ic(t,e){let{burst:n,invalidate:o,...i}=t||{};try{let r=Hr(i,new Set);return r===null?null:`${(e||[]).map(Ve).join(",")}:${r}`}catch{return null}}function uc(t,e,n,o,i=null){let r=Or.get(t);r||(r=cp(t),r.baselineSignature=ic(e,n.plugins),Or.set(t,r));let s=ic(e,n.plugins),a=async()=>{if(r.disposed)return o();let f=s===null||s!==r.baselineSignature;f&&s!==null?r.pendingSig===s?(r.baselineSignature=s,r.last=null,r.dirty=!0,r.dirtyRoots=null,r.pendingSig=null,f=!1):r.pendingSig=s:r.pendingSig=null,Dr(t,r),Br(t,r);for(let k of r.observers)k.__flush(k.takeRecords());Nt();let l=sn(t);r.dirty&&r.outsideMutations!==l&&r.dirtyAll(),r.outsideMutations=l;let u=t.getRootNode?.(),d=[...r.trackedShadowRoots.keys()];u?.nodeType===11&&!d.includes(u)&&d.push(u),Tn(t.ownerDocument||document,d);let h=an(t);r.styleStamp!==h&&(r.styleStamp=h,r.dirty||r.dirtyAll());let m=ec(t,r),p=nc(t,r);m.animation=oc(p),r.renderState&&(!je(r.renderState,m,"style")&&(Fe(),r.dirtyAll()),je(r.renderState,m,"scroll")||r.dirtyAll(),je(r.renderState,m,"controls")||(de(t),r.dirtyAll()),!je(r.renderState,m,"images")&&!r.dirty&&r.dirtyAll());let g=Re();r.envEpoch!==g&&(r.dirtyAll(),r.envEpoch=g);let y=ue();if(r.styleEpoch!==y&&(r.styleEpoch=y,!r.dirty)){let k=Ka(t);r.geometry!==null&&k!==r.geometry&&(de(t),r.dirtyAll()),r.geometry=k}n.invalidate&&r.dirtyAll();let b=!1,w=!!r.renderState&&!je(r.renderState,m,"animation");try{let k=new Set;w&&p.length===0&&(k=null);for(let A of p){let M=A.playState==="running";if(!M&&!w)continue;M&&(b=!0),w=!0;let v=A.effect?.target;if(ap(t,r,v)===t)k.add(v);else{k=null;break}}if(w&&k&&k.size&&r.retained){r.dirty=!0;for(let A of k)r.dirtyRoots&&r.dirtyRoots.add(A),de(A)}else w&&!k&&r.dirtyAll()}catch{}let S=m.frameDriven,C=b||S;if(C&&(r.last=null),S&&r.dirtyAll(),!f&&!C&&!r.dirty&&r.last)return Qa(t,r),r.last;r.capturing=!0;let x=null;try{let k=null,A=!1,M=null;if(!f&&r.dirty&&r.retained&&r.dirtyRoots&&r.dirtyRoots.size&&i){M=[...r.dirtyRoots];let v=await Ya(t,r,n);v&&(k=await i(v),A=!0)}if(k||(f||(n.__retain=v=>{let _=new Map;for(let[E,T]of v.nodeMap.entries())_.set(T,E);x={...v,srcToClone:_}}),n.__tornSinceStart=()=>{for(let v of r.observers)for(let _ of v.takeRecords())r.pending.push(_);return Nt(),r.torn||Za(r.pending)||sn(t)!==l},k=await o()),!f&&!r.disposed){r.dirty=!1,r.dirtyRoots=new Set,x?(r.retained=x,r.retainedFrameDriven=tc(x),Ur(t,r),zr(t,r)):A&&(r.retainedFrameDriven||=tc(r.retained,M),Ur(t,r),zr(t,r));let v=ec(t,r);v.animation=oc(nc(t,r));let _=["style","scroll","controls","images"];b||_.push("animation");let E=_.every(T=>je(m,v,T));r.renderState=v,r.styleEpoch=ue(),r.styleStamp=an(t),r.geometry=Ka(t),r.renderState.frameDriven?(sc.add(t),cc(t,r)):E?!C&&!r.renderState.frameDriven&&(r.last=k,Qa(t,r)):(r.dirtyAll(),r.last=null)}return k}finally{n.__retain=void 0,n.__tornSinceStart=void 0;for(let A of r.observers)for(let M of A.takeRecords())r.pending.push(M);Nt();let k=sn(t);(r.torn||Za(r.pending)||k!==l)&&(r.dirtyAll(),r.last=null),r.outsideMutations=k,r.styleEpoch=ue(),r.styleStamp=an(t),r.pending.length=0,r.torn=!1,r.capturing=!1,r.disposed||(Dr(t,r),Br(t,r))}},c=r.inflight.then(a,a);return r.inflight=c.catch(()=>{}),c}var yo=null;function hc(t){yo=t}var fp='button, a[href], [role="button"], input, select, summary, label, [tabindex]',jr=!1,yn=null,Vr=new WeakMap,dc=!1;function mc(t,e){!jr||!yn||e&&e.burst===!1||Vr.set(yn.control,{element:t,options:e&&typeof e=="object"?{...e}:e})}function gc(t){let e={control:t};yn=e,setTimeout(()=>{yn===e&&(yn=null)},0)}function qr(t){let e=t.target,n=e&&(e.nodeType===1?e:e.parentElement);return n&&n.closest?n.closest(fp):null}function pc(t){if(t.type==="keydown"&&t.key!=="Enter"&&t.key!==" ")return;let e=qr(t);e&&(gc(e),Gr(t,!1))}function up(t){let e=qr(t);e&&gc(e)}function Gr(t,e=!0){if(!yo||document.visibilityState==="hidden")return;let n=qr(t);if(!n||t.type==="pointerenter"&&t.target!==n)return;let o=Vr.get(n);if(o){if(!o.element.isConnected){Vr.delete(n);return}yo(o.element,o.options).catch(()=>{});return}e&&!dc&&(dc=!0,yo(document.body,{clip:"viewport",burst:!1}).catch(()=>{}))}function yc(){if(jr||typeof document>"u"||typeof document.addEventListener!="function")return;jr=!0;let t={capture:!0,passive:!0};document.addEventListener("pointerdown",pc,t),document.addEventListener("keydown",pc,t),document.addEventListener("click",up,t),document.addEventListener("pointerenter",Gr,t),document.addEventListener("focusin",Gr,t)}_t();function Pp(...t){return Fr(...t),Q}async function $p(t,e){if(typeof t!="string"||!t.trim())throw new Error("[SnapDOM] fromString() needs an HTML string.");let n=document.createElement("div");J(n),n.style.cssText="position:fixed;left:-99999px;top:0;pointer-events:none;",n.innerHTML=t,document.body.appendChild(n);try{await xt();let o=Array.from(n.childNodes).some(r=>r.nodeType===3&&r.textContent.trim()),i=n.children.length===1&&!o?n.firstElementChild:n;return await ai(i,{...e||{},burst:!1})}finally{n.remove()}}var Np="3.3.7",Q=Object.assign(ai,{plugins:Pp,fromString:$p,version:Np,preCapture:yc});hc(ai);var si=Symbol("snapdom.internal"),Lp=Symbol("snapdom.internal.silent"),Pc=new Set(["png","jpeg","jpg","webp","svg"]);async function ai(t,e){if(!t)throw new Error("[SnapDOM] The element cannot be null or undefined.");let n=qa(e);n.element=t,n.invalidate&&Fe(),Ia(n,e&&e.plugins);let{stage:o,loweredBy:i}=Pa(n);n.needs=o,n.__needsLoweredBy=i;let r=Ue(o,"render"),s=n.burst===!0||!io(n),a=typeof n.filter=="function"||!!n.excludePredicates||typeof n.excludeStyleProps=="function"||typeof n.fallbackURL=="function",f=r&&!n.captureSelection&&n.burst!==!1&&s&&!a&&lc(t);return f&&mc(t,e),n.snap||(n.snap={toPng:(l,u)=>Q.toPng(l,u),toSvg:(l,u)=>Q.toSvg(l,u)}),f?uc(t,e,n,()=>Q.capture(t,n,si),l=>$c(l,n)):Q.capture(t,n,si)}Q.capture=async(t,e,n)=>{if(n!==si)throw new Error("[SnapDOM] snapdom.capture() is internal; use snapdom(el).");if(Ue(e.needs||gt,"render")&&X()){if(e.embedFonts)try{let r=t.ownerDocument||document,s=new Set;if(e.embedFonts==="auto"){try{for(let l of r.fonts)s.add(String(l.family).replace(/["']/g,"").toLowerCase())}catch{}if(s.size===0)throw null}let a=jn(t);e.clip||(e.__fontUsage=a);let c=a.required,f=new Set([...c].map(l=>String(l).split("__")[0]).filter(Boolean));if(e.embedFonts==="auto"&&(f=new Set([...f].filter(l=>s.has(l.toLowerCase()))),f.size===0))throw null;await Vn(f,1,r)}catch{}let i=Array.from(t.querySelectorAll("canvas"));t.tagName==="CANVAS"&&i.unshift(t);for(let r of i)try{if(dn(r))continue;let s=r.getContext("2d",{willReadFrequently:!0});s&&s.getImageData(0,0,1,1)}catch(s){j(e,"Couldn't prepare canvases for Safari.",s)}}let o=await Ga(t,e);return $c(o,e)};async function $c(t,e){let n=e.needs||gt,o=Ue(n,"render"),i=R=>Na(n,e.__needsLoweredBy||[],R),r=typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement?t:null,s=r?null:t,a=()=>s??=r.toDataURL(),c=r||t;r&&(t="");let f=e.__compressedSnapshot,l=e.__compressionDensity;delete e.__compressedSnapshot,delete e.__compressedAssets;let u,d=e.meta||{},m=(Number.isFinite(e.width)||Number.isFinite(e.height))&&!X(),p=m?Number.isFinite(e.width)?d.targetW/d.vbW:d.targetH/d.vbH:1,g=m?Number.isFinite(e.height)?d.targetH/d.vbH:d.targetW/d.vbW:1,y=R=>{if(r||!f?.size)return c;let F=d.vbW,N=d.vbH,$=R.crop;$&&(F=Math.max(1,Math.min(F,$.x+$.width)-Math.max(0,$.x)),N=Math.max(1,Math.min(N,$.y+$.height)-Math.max(0,$.y)));let z=Number.isFinite(R.width),G=Number.isFinite(R.height);return(z&&G?Math.max(R.width/F,R.height/N):z?R.width/F*($?Math.max(1,g/p):1):G?R.height/N*($?Math.max(1,p/g):1):(R.scale||1)*Math.max(p,g))*(R.dpr||1)<=l?c:u??=za(a(),f)},b=async(R,F)=>{let{rasterize:N}=await Promise.resolve().then(()=>(qe(),wn));return N(c,{...R,...F||{},format:"png"})},w=()=>{if(!o)throw i("svgString");if(r)throw new Error("[SnapDOM] html-in-canvas makes a raster capture; there is no SVG string.");let R=t.indexOf(",");return R>=0?decodeURIComponent(t.slice(R+1)):""},S=R=>Object.defineProperty({...R||{},svgString:w},"url",o?{get:a,enumerable:!0}:{get(){throw i("export.url")},enumerable:!1,configurable:!0}),C={img:async(R,F)=>{if(r)return b(R,F);let{toImg:N}=await Promise.resolve().then(()=>(ni(),ei)),$={...R,...F||{}};return N(y($),$)},svg:async(R,F)=>{if(r)return b(R,F);let{toSvg:N}=await Promise.resolve().then(()=>(ni(),ei)),$={...R,...F||{}};return N(y($),$)},canvas:async(R,F)=>{let{toCanvas:N}=await Promise.resolve().then(()=>(we(),kc)),$={...R,...F||{}};return N(y($),$)},blob:async(R,F)=>{let{toBlob:N}=await Promise.resolve().then(()=>(ii(),Ec)),$={...R,...F||{}};return N(y($),$)},png:async(R,F)=>{let{rasterize:N}=await Promise.resolve().then(()=>(qe(),wn)),$={...R,...F||{},format:"png"};return N(y($),$)},jpeg:async(R,F)=>{let{rasterize:N}=await Promise.resolve().then(()=>(qe(),wn)),$={...R,...F||{},format:"jpeg"};return N(y($),$)},webp:async(R,F)=>{let{rasterize:N}=await Promise.resolve().then(()=>(qe(),wn)),$={...R,...F||{},format:"webp"};return N(y($),$)},download:async(R,F)=>{let{download:N}=await Promise.resolve().then(()=>(Tc(),Fc)),$={...R,...F||{}};return N(y($),$)}};if(!o)for(let R of Object.keys(C)){let F=R==="download"?"download()":`to${R.charAt(0).toUpperCase()}${R.slice(1)}()`;C[R]=async()=>{throw i(F)}}let x={};for(let R of["img","svg","canvas","blob","png","jpeg","webp"])x[R]=async F=>C[R](e,{...E(R,F||{}),[Lp]:!0});x.jpg=x.jpeg;let k=R=>Object.defineProperty({...e,...R},"options",{value:e,configurable:!0}),A=k({artifacts:e.__artifacts||null,export:S(),exports:x}),M=await ro("defineExports",A),v=Object.assign({},...M.filter(R=>R&&typeof R=="object").reverse()),_={...C,...v};_.jpeg&&!_.jpg&&(_.jpg=(R,F)=>_.jpeg(R,F));function E(R,F){let N=F||{},$={...e,...N},z=typeof N.type=="string"?N.type.toLowerCase():"",G=typeof N.format=="string"?N.format.toLowerCase():Pc.has(z)?z:"";G&&($.format=G==="jpg"?"jpeg":G),$.__explicitFormat=G?$.format:e.__explicitFormat??null,R==="blob"&&!$.__explicitFormat&&($.format=r?"png":"svg"),$.type=$.format;let U=B=>B==="jpeg"||B==="jpg"||B==="webp";return[R,$.format,z].map(B=>typeof B=="string"?B.toLowerCase():"").find(U)&&($.backgroundColor==null||$.backgroundColor==="transparent")&&($.backgroundColor="#ffffff"),$.scale!==1&&(Number.isFinite($.width)||Number.isFinite($.height))&&j($,"scale ignored: width/height already set the size."),$}let T=!1,P=Promise.resolve();async function L(R,F){let N=Object.freeze(F&&typeof F=="object"?{...F}:{}),$=async()=>{let G=_[R];if(!G)throw new Error(`[SnapDOM] Unknown export type: ${R}`);let U=E(R,N),Y=k({artifacts:e.__artifacts||null,export:S({type:R,options:U,requestedOptions:N})}),B=U.format,dt=U.type;await ro("beforeExport",Y,{format:R,options:U});let pt=U.format!==B?U.format:U.type!==dt?U.type:"",nt=typeof pt=="string"?pt.toLowerCase():"";Pc.has(nt)&&(U.format=nt==="jpg"?"jpeg":nt,U.type=U.format,U.__explicitFormat=U.format,/^(?:jpeg|webp)$/.test(U.format)&&(U.backgroundColor==null||U.backgroundColor==="transparent")&&(U.backgroundColor="#ffffff"));let st=await G(Y,U);return await ro("afterExport",Y,{format:R,options:U,result:st}),T||(T=!0,await zt("afterSnap",e)),st},z=P.then($);return P=z.catch(()=>{}),z}let W={url:t,needs:n,warnings:e.__session&&e.__session.warnings||[],toRaw:()=>{if(!o)throw i("toRaw()");return a()},to:(R,F)=>L(R,F),toImg:R=>L("img",R),toSvg:R=>L("svg",R),toCanvas:R=>L("canvas",R),toBlob:R=>L("blob",R),toPng:R=>L("png",R),toJpg:R=>L("jpg",R),toWebp:R=>L("webp",R),download:R=>L("download",R)};o?r&&Object.defineProperty(W,"url",{get:a,enumerable:!0,configurable:!0}):Object.defineProperty(W,"url",{get(){throw i("url")},enumerable:!1,configurable:!0}),Object.defineProperty(W,"meta",o?{value:e.meta,enumerable:!0}:{get(){throw i("meta")},enumerable:!1,configurable:!0});for(let R of Object.keys(_)){let F="to"+R.charAt(0).toUpperCase()+R.slice(1);W[F]||(W[F]=N=>L(R,N))}return W}Q.toRaw=(t,e)=>Q(t,e).then(n=>n.toRaw());Q.toImg=(t,e)=>Q(t,e).then(n=>n.toImg());Q.toSvg=(t,e)=>Q(t,e).then(n=>n.toSvg());Q.toCanvas=(t,e)=>Q(t,e).then(n=>n.toCanvas());Q.toBlob=(t,e)=>Q(t,e).then(n=>n.toBlob());Q.toPng=(t,e)=>Q(t,{...e,format:"png"}).then(n=>n.toPng());Q.toJpg=(t,e)=>Q(t,{...e,format:"jpeg"}).then(n=>n.toJpg());Q.toWebp=(t,e)=>Q(t,{...e,format:"webp"}).then(n=>n.toWebp());Q.download=(t,e)=>Q(t,e).then(n=>n.download());export{gt as DEFAULT_STAGE,Be as STAGES,$a as assertNeeds,md as clearPlugins,Tr as getGlobalPlugins,He as normalizePlugin,Fr as registerPlugins,Q as snapdom}; +}`,yp=Math.max(1,Math.min(4,(typeof navigator<"u"&&navigator.hardwareConcurrency||2)-1)),jt=null,bp=0,wp=0,Ce=new Map;function pl(){for(let t of Ce.values())t(void 0);if(Ce.clear(),Array.isArray(jt))for(let t of jt)try{t?.terminate()}catch{}jt=!1}function xp(){let t,e=null;try{t=URL.createObjectURL(new Blob([gp],{type:"text/javascript"})),e=new Worker(t),e.onmessage=n=>{let o=Ce.get(n.data.id);o&&(Ce.delete(n.data.id),o(n.data.error?void 0:n.data.url??null))},e.onerror=pl}catch{e=null}return t&&URL.revokeObjectURL(t),e}function Sp(){if(jt===!1)return!1;if(jt===null){if(typeof Worker>"u"||typeof OffscreenCanvas>"u")return jt=!1;jt=[]}let t=bp++%yp;if(!jt[t]){let e=xp();if(!e)return pl(),!1;jt[t]=e}return jt[t]}var vp=5e3;function Cp(t,e,n,o,i){let r=Sp();return r?new Promise(s=>{let a=++wp,l=setTimeout(()=>{Ce.delete(a),s(void 0)},vp);Ce.set(a,u=>{clearTimeout(l),s(u)});try{r.postMessage({id:a,dataURL:i?"":t,blob:i,srcLength:t.length,targetW:e,targetH:n,resFactor:dl,quality:ul,mime:o})}catch{clearTimeout(l),Ce.delete(a),s(void 0)}}):Promise.resolve(void 0)}async function Xr(t,e,n,o){if(typeof t!="string"||!t.startsWith("data:image")||t.startsWith("data:image/svg"))return null;e=Math.ceil(e),n=Math.ceil(n);let i=t.length+":"+t.slice(0,64)+t.slice(-64)+":"+e+"x"+n,r=H.compress,s=r.get(i);if(s?.source===t)return s.result;let a=yo.get(i);if(a?.source===t&&a.cache===r)return a.promise;let l=(async()=>{let c=up(t),f=c==="image/jpeg"?"image/jpeg":c==="image/webp"?"image/webp":"image/png",d=mp(t);if(d&&d.w>0&&d.h>0&&!al(d.w,d.h,e,n))return null;if(t.length>=dp){let C=await Cp(t,e,n,f,o);if(C!==void 0)return C}let h;try{h=await fp(t)}catch{return null}let m=h.naturalWidth||h.width,p=h.naturalHeight||h.height;if(!m||!p)return null;let g=al(m,p,e,n);if(!g)return null;let y=g*dl,b=Math.max(1,Math.round(m*y)),w=Math.max(1,Math.round(p*y)),S=document.createElement("canvas");S.width=b,S.height=w;let k=S.getContext("2d");if(!k)return null;k.imageSmoothingEnabled=!0,k.imageSmoothingQuality="high",k.drawImage(h,0,0,b,w);try{let C=S.toDataURL(f,ul);if(typeof C=="string"&&C.startsWith("data:image")&&C.length{let f=c.getAttribute("src")||"";if(!f.startsWith("data:image")||f.startsWith("data:image/svg"))return;let d=parseFloat(c.dataset.snapdomWidth)||parseFloat(c.style.width)||c.width||0,h=parseFloat(c.dataset.snapdomHeight)||parseFloat(c.style.height)||c.height||0;if(!d||!h)return;let m=o.value||=qr(t,e),p=m.density*m.stretch(n.get(c)||c),g=await Xr(f,d*p,h*p,c.__snapdomBlob);g&&(r++,s+=f.length,a+=g.length,c.setAttribute("src",g),bo(c,"attribute","src",f,g,e))},u=6;for(let c=0;c{let c=n.get(u);if(!c||!c.isConnected)return;let f;try{f=getComputedStyle(c)}catch{return}if((f.backgroundRepeat||"repeat").toLowerCase().split(",").some(A=>A.trim()!=="no-repeat"))return;let h=(u.style.backgroundSize||f.backgroundSize||"auto").toLowerCase();if(h.split(",").some(A=>!Mp.test(A.trim())))return;let{w:m,h:p}=Ap(c);if(!m||!p)return;let g=Math.max(1,...(h.match(/\d+(?:\.\d+)?%/g)||[]).map(A=>parseFloat(A)/100)),y=o.value||=qr(t,e),b=y.density*y.stretch(c)*g,w=m*b,S=p*b,k=u.style.backgroundImage,C=[...k.matchAll(/url\((['"]?)(data:image\/[^)'"]+)\1\)/gi)],x=k;for(let A of C){let M=A[2];if(M.startsWith("data:image/svg"))continue;let v=await Xr(M,w,S);v&&(x=x.split(M).join(v),s++)}x!==k&&(u.style.setProperty("background-image",x,u.style.getPropertyPriority("background-image")),bo(u,"style","background-image",k,u.style.backgroundImage,e))},l=6;for(let u=0;u{let u=l.getAttribute("href")||(typeof l.getAttributeNS=="function"?l.getAttributeNS("http://www.w3.org/1999/xlink","href"):null);if(!u||!u.startsWith("data:image")||u.startsWith("data:image/svg"))return;let c=l.getAttribute("width")||"",f=l.getAttribute("height")||"";if(c.includes("%")||f.includes("%"))return;let d=n.get(l),h=d?D(d):l.style,m=(S,k)=>{if(/^\d+(?:\.\d+)?px$/.test(h?.[S]||""))return parseFloat(h[S]);if(/^\d+(?:\.\d+)?(?:px)?$/.test(k.trim()))return parseFloat(k);try{return d?.[S]?.baseVal?.value||0}catch{return 0}},p=m("width",c),g=m("height",f);if(!p||!g)return;let y=o.value||=qr(t,e),b=y.density*y.stretch(d||l),w=await Xr(u,p*b,g*b);w&&(l.setAttribute("href",w),bo(l,"attribute","href",u,w,e),l.hasAttribute("xlink:href")&&(l.setAttributeNS(ll,"xlink:href",w),bo(l,"attribute","xlink:href",u,w,e)),r++)},a=6;for(let l=0;le+.5?t-n:o-n}function Rp(t){let e=i=>i&&i!=="transparent"&&!/^rgba\(.*,\s*0\)$/.test(i),n=D(t.documentElement).backgroundColor,o=e(n)?n:D(t.body).backgroundColor;return e(o)?`;background-color:${o} !important`:""}var Fp=/(?:^|;)(?:box-shadow|text-shadow|outline-style|filter|-webkit-filter):/;function Tp(t,e){if(Y())return t;let n=t.indexOf("");if(n===-1)return t;let o=/]*>[\s\S]*?<\/style>/g,i=[],r=n,s;for(o.lastIndex=n;s=o.exec(t);)i.push({text:t.slice(r,s.index),intern:!0}),i.push({text:s[0],intern:!1}),r=o.lastIndex;i.push({text:t.slice(r),intern:!0});let a=new Map,l=/ style="([^"]*)"/g,u;for(let y of i)if(y.intern)for(l.lastIndex=0;u=l.exec(y.text);)a.set(u[1],(a.get(u[1])||0)+1);let c=0;for(let[y,b]of a)b>1&&(c+=(b-1)*y.length);if(c<2048||t.includes(" data-sdi="))return t;let f=$p(e,i.some(y=>!y.intern),t.includes("data-snapdom-asset"));if(f===null)return t;let d=new Map,h=0,m=[],p=(y,b)=>{if((a.get(b)||0)<2||f.has(b))return y;let w=d.get(b);return w===void 0&&(w="i"+(h++).toString(36),d.set(b,w),m.push(`[data-sdi="${w}"]{${b}}`)),` data-sdi="${w}"`},g="";for(let y of i)g+=y.intern?y.text.replace(l,p):y.text;return t.slice(0,n)+m.join("")+g}function $p(t,e,n){let o=new Set;if(!e&&!n)return o;if(!t||t.querySelector("[data-sdi]"))return null;let i=l=>{let u=l.getAttribute("style");u&&o.add(u)};if(n&&t.querySelectorAll("[data-snapdom-asset][style]").forEach(i),e)try{let l=u=>{for(let c of u){if(c.type===CSSRule.IMPORT_RULE||c.type===CSSRule.NAMESPACE_RULE)throw new Error("External or namespaced CSS");if(c.selectorText){if(/\[\s*style\b|data-sdi|\[[^\]]*\\|&/i.test(c.selectorText))throw new Error("Attribute-dependent or nested CSS");t.querySelectorAll(c.selectorText).forEach(i)}c.cssRules&&l(c.cssRules)}};for(let u of[...t.querySelectorAll("style")].slice(1)){let c=u.textContent||"";if(/@import\b/i.test(c))return null;let f=new CSSStyleSheet;f.replaceSync(c),l(f.cssRules)}}catch{return null}let r=new Set,s=document.createElement("div"),a=new XMLSerializer;for(let l of o){s.setAttribute("style",l);let u=a.serializeToString(s).match(/ style="([^"]*)"/);u&&r.add(u[1])}return r}async function vo(t,e){let{clipWindow:n,outerTransforms:o,outerShadows:i,rootTransform2D:r,fontsCSS:s}=e,a=t.options;if(t!==a){let{options:J,...et}=t;t=Object.assign(a,et),Object.defineProperty(t,"options",{value:t,configurable:!0})}let l,u;Ha(t,s),await Xt("beforeRender",t);let c=D(t.element),f=t.element.getBoundingClientRect(),d=Math.max(1,U(t.element.offsetWidth||parseFloat(c.width)||f.width||1)),h=Math.max(1,U(t.element.offsetHeight||parseFloat(c.height)||f.height||1)),m=t.element.ownerDocument||document,p=!n&&(t.element===m.body||t.element===m.documentElement)&&!t.__pinned,g=null,y=null,b=0;if(p){let J=Math.max(t.element.scrollHeight||0,m.documentElement?.scrollHeight||0,m.body?.scrollHeight||0),et=Math.max(t.element.scrollWidth||0,m.documentElement?.scrollWidth||0,m.body?.scrollWidth||0),ot=Math.max(d,U(et)),Ct=t.element===m.body,ht=Ct&&D(m.documentElement).direction==="rtl",Qt=Q=>{Q>0&&(ht?b=Math.max(b,U(Q-f.width)):d=Math.max(d,U(Q)))};if(Ct&&m.documentElement){let Q=m.documentElement.getBoundingClientRect(),rt={top:Math.max(0,f.top-Q.top),right:Math.max(0,Q.right-f.right),bottom:Math.max(0,Q.bottom-f.bottom),left:Math.max(0,f.left-Q.left)};if(g=rt,i!=="subtree"&&(rt.top||rt.right||rt.bottom||rt.left)){let mt=t.__session?.styleMap,an=new Map,Tn=new Map;for(let[Zt,Nt]of t.nodeMap){let Lt=mt?.get(Zt);if(Lt){let Bo=an.get(Lt);if(Bo===void 0&&an.set(Lt,Bo=Fp.test(Lt)),!Bo)continue}Tn.set(Zt,Nt)}let Ht=Pr(t.element,Tn,t.styleCache,f.width>0?d/f.width:1,f.height>0?h/f.height:1);y={top:Math.min(Ht.top,rt.top),right:Math.min(Ht.right,rt.right),bottom:Math.min(Ht.bottom,rt.bottom),left:Math.min(Ht.left,rt.left)}}J=Math.max(t.element.scrollHeight||0,tn(J,Q.height,f.top-Q.top,f.bottom-Q.top)),et=Math.max(t.element.scrollWidth||0,ht?tn(et,Q.width,Q.right-f.right,Q.right-f.left):tn(et,Q.width,f.left-Q.left,f.right-Q.left))}J>0&&(h=Math.max(h,U(J))),Qt(et);try{let Q=(t.scrollbarCSS||"").length+(t.baseCSS||"").length+(t.fontsCSS||"").length+(t.classCSS||"").length,rt=H.measureHints.get(t.element);if(rt&&rt.cssLen===Q&&rt.w0===ot&&rt.docH===J&&rt.docW===et)rt.csh>0&&(h=Math.max(h,U(rt.csh))),Qt(rt.csw);else{let mt=m.createElement("div");tt(mt),mt.style.cssText="position:absolute!important;left:-9999px!important;top:0!important;width:"+ot+"px!important;overflow:visible!important;visibility:hidden!important;";let an=mt.attachShadow({mode:"open"});Br(an,(t.scrollbarCSS||"")+t.baseCSS+"svg{overflow:visible;} foreignObject{overflow:visible;}"+t.classCSS);let Tn=an.appendChild(Dr(t.clone));m.body.appendChild(mt);let Ht=mt.scrollHeight,Zt=mt.scrollWidth;if(Ct){let Nt=mt.getBoundingClientRect(),Lt=Tn.getBoundingClientRect();Ht=tn(Ht,Nt.height,Lt.top-Nt.top,Lt.bottom-Nt.top),Zt=ht?tn(Zt,Nt.width,Nt.right-Lt.right,Nt.right-Lt.left):tn(Zt,Nt.width,Lt.left-Nt.left,Lt.right-Nt.left)}m.body.removeChild(mt),H.measureHints.set(t.element,{cssLen:Q,w0:ot,docH:J,docW:et,csh:Ht,csw:Zt}),Ht>0&&(h=Math.max(h,U(Ht))),Qt(Zt)}}catch{}}if(t.options?.excludeMode==="remove"||typeof t.options?.filter=="function"&&t.options.filterMode==="remove"){let J=Or(t.element,t.options),et=1,ot=Or(t.element,{}),Ct=Math.max(2,h*.15);Number.isFinite(ot)&&ot>=h-Ct&&Number.isFinite(J)&&J>0&&(h=Math.max(1,Math.min(h,U(J+et))))}if(t.options?.reconcile)try{let J=(t.scrollbarCSS||"")+t.baseCSS+"svg{overflow:visible;} foreignObject{overflow:visible;}"+t.classCSS;za(t.element,t.clone,J,t.nodeMap,d,h)}catch(J){nt(t.options.__session,"reconcile-failed","reconcile pass failed",J),W(t.options,"reconcile couldn't run; captured without it.",J)}let w=(J,et=NaN)=>{let ot=typeof J=="string"?parseFloat(J):J;return Number.isFinite(ot)?ot:et},S=w(t.options.width),k=w(t.options.height),C=n?U(n.width):d,x=n?U(n.height):h,A=C,M=x,v=Number.isFinite(S),_=Number.isFinite(k),E=x>0?C/x:1;v&&_?(A=Math.max(1,U(S)),M=Math.max(1,U(k))):v?(A=Math.max(1,U(S)),M=Math.max(1,U(A/(E||1)))):_&&(M=Math.max(1,U(k)),A=Math.max(1,U(M*(E||1))));let T=0,N=0,$=d,O=h;if(n){let J=0,et=0;if(Yr(t.element)){let ot=null;if(!o&&r&&Number.isFinite(r.a))ot={a:r.a,b:r.b||0,c:r.c||0,d:r.d||1,e:0,f:0};else{let Ct=ve(t.element),ht=Wr(c.transform&&c.transform!=="none"?c.transform:"",Ct);ht&&ht.is2D&&(ot={a:ht.a,b:ht.b,c:ht.c,d:ht.d,e:0,f:0})}if(ot&&!(ot.a===1&&ot.b===0&&ot.c===0&&ot.d===1)){let{ox:Ct,oy:ht}=kn(c,d,h),Qt=Xe(d,h,ot,Ct,ht);J=Qt.minX,et=Qt.minY}}T=U(n.x+J),N=U(n.y+et),$=U(T+n.width),O=U(N+n.height)}else if(!o&&r&&Number.isFinite(r.a)){let J={a:r.a,b:r.b||0,c:r.c||0,d:r.d||1,e:0,f:0},et=Xe(d,h,J,0,0);T=U(et.minX),N=U(et.minY),$=U(et.maxX),O=U(et.maxY)}else if(o&&Yr(t.element)){let et=c.transform&&c.transform!=="none"?c.transform:"",ot=ve(t.element),Ct=le({baseTransform:et,rotate:ot.rotate||"0deg",scale:ot.scale,translate:ot.translate,width:d,height:h}),{ox:ht,oy:Qt}=kn(c,d,h),Q=Ct.is2D?Ct:new DOMMatrix(Ct.toString()),rt={a:Q.a,b:Q.b,c:Q.c,d:Q.d,e:0,f:0},mt=Xe(d,h,rt,ht,Qt);T=U(mt.minX),N=U(mt.minY),$=U(mt.maxX),O=U(mt.maxY)}let R=Er(c),L=Rr(c),I=Fr(c),F=Tr(c),P=$r(c),z=f.width>0?($-T)/f.width:1,B=f.height>0?(O-N)/f.height:1,q=i==="subtree"&&!n?Pr(t.element,t.nodeMap,t.styleCache,z,B):{top:0,right:0,bottom:0,left:0};y&&(q={top:y.top,right:Math.max(0,y.right-(d-f.width)),bottom:Math.max(0,y.bottom-(h-f.height)),left:y.left}),b>0&&(q={...q,left:Math.max(q.left,b)});let j=n?{top:0,right:0,bottom:0,left:0}:i?{top:U(Math.max(R.top,L.top,q.top)+I.top+F.top+P.bleed.top),right:U(Math.max(R.right,L.right,q.right)+I.right+F.right+P.bleed.right),bottom:U(Math.max(R.bottom,L.bottom,q.bottom)+I.bottom+F.bottom+P.bleed.bottom),left:U(Math.max(R.left,L.left,q.left)+I.left+F.left+P.bleed.left)}:{top:U(I.top+q.top),right:U(I.right+q.right),bottom:U(I.bottom+q.bottom),left:U(I.left+q.left)};T=U(T-j.left),N=U(N-j.top),$=U($+j.right),O=U(O+j.bottom);let ft=Math.max(1,U($-T)),ut=Math.max(1,U(O-N)),dt="http://www.w3.org/2000/svg",vt=Yr(t.element)?2:0,it=U(vt+(o?0:1)),Vt=a.__subpixel?.x||0,Ee=a.__subpixel?.y||0,G=Math.ceil(ft+it*2+Vt),X=Math.ceil(ut+it*2+Ee),V=U(-(U(T)-it)),pt=U(-(U(N)-it)),K=Math.max(0,V)+Vt,de=Math.max(0,pt)+Ee,Re=U(G-Math.min(0,V)),sn=U(X-Math.min(0,pt)),Ci=m.defaultView||window,bt=!Y()&&CSS.supports("zoom","2")?Pp(Ci):1;a.__layoutZoom=bt;let Pt=document.createElementNS(dt,"foreignObject");Pt.setAttribute("x",String(Math.min(0,V)*bt)),Pt.setAttribute("y",String(Math.min(0,pt)*bt)),Pt.setAttribute("width",String(Re*bt)),Pt.setAttribute("height",String(sn*bt)),Pt.style.overflow="visible";let Kt=document.createElement("style"),Wo="svg{overflow:visible;} foreignObject{overflow:visible;} foreignObject>div{-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important;}";Kt.textContent=(t.scrollbarCSS||"")+t.baseCSS+t.fontsCSS+Wo+t.classCSS,Pt.appendChild(Kt);let Fe=document.createElement("div");Fe.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),Fe.style.cssText=`all:initial;box-sizing:border-box;display:block;overflow:visible;width:${a.__subpixel?U(K+f.width):Re}px;height:${sn}px`+(K!==0||de!==0?`;padding:${de}px 0 0 ${K}px !important`:"")+(bt!==1?`;zoom:${bt} !important`:"")+";direction:ltr !important"+(g?Rp(m):""),g&&(K!==g.left||de!==g.top)&&t.__session&&Ia(t.element,t.nodeMap,t.__session.styleMap,t.styleCache,K-g.left,de-g.top),Fe.appendChild(t.clone),Pt.appendChild(Fe);let Jt=new XMLSerializer().serializeToString(Pt),ki=v||_,uc=Object.freeze({w0:C,h0:x,vbW:G,vbH:X,targetW:A,targetH:M,contentX:U(V+(n?T:0)),contentY:U(pt+(n?N:0)),clip:n?Object.freeze({x:U(T),y:U(N),width:C,height:x}):null});Object.defineProperty(a,"meta",{value:uc,enumerable:!0,writable:!1,configurable:!0});let dc=!ki||Y()?G:v?A:U(G*(M/X)),pc=!ki||Y()?X:_?M:U(X*(A/G)),hc=parseFloat(D(m.documentElement)?.fontSize)||16,Mi=bt!==1,mc=`${Mi?``:""}`,gc=Mi?"":"";u=mc+Tp(Jt,Pt)+gc,l=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(u)}`,t.svgString=u,t.dataURL=l,a.__artifacts={classCSS:t.classCSS||"",fontsCSS:t.fontsCSS||"",baseCSS:t.baseCSS||"",scrollbarCSS:t.scrollbarCSS||""},await Xt("afterRender",t),t.clone=t.nodeMap=t.styleCache=t.svgString=null;let Do=[...document.querySelectorAll("#snapdom-sandbox")].find(ee);return Do&&Do.style.position==="absolute"&&Do.remove(),t.dataURL}function Yr(t){return $a(t)}function Pp(t){let e=t.devicePixelRatio||1;if(e===1)return 1;let n=t.document,o=e;try{let i=n.createElement("div");tt(i),i.style.cssText="position:absolute!important;left:-9999px!important;top:0!important;width:0!important;height:0!important;visibility:hidden!important;pointer-events:none!important;border:0 solid transparent!important;border-top-width:0.5px!important",(n.body||n.documentElement).appendChild(i);let r=parseFloat(t.getComputedStyle(i).borderTopWidth);i.remove(),r>=1&&(o=1)}catch{}return o}function Np(t){let e=Array.isArray(t.plugins)?t.plugins:Gr(),n=[];for(let o of e){let i=Ze(o);i&&typeof i.resolveNode=="function"&&n.push(i.resolveNode.bind(i))}return n.length?n:null}async function hl(t,e){if(!t)throw new Error("[SnapDOM] The element cannot be null or undefined.");e.__session=Hr(e.cache),delete e.__compressedAssets,delete e.__compressedSnapshot,delete e.__compressionDensity,e.__resolveNodeHooks=Np(e);let n=e;n.element=t,Object.defineProperty(n,"options",{value:n,configurable:!0});let o,i,r,s,a,l,u,c="",f=null,d=e.needs||St,h=n.format,m=n.type;await Xt("beforeSnap",n);let p=n.format!==h&&/^(?:png|jpe?g|webp|svg)$/i.test(n.format),g=n.type!==m&&/^(?:png|jpe?g|webp|svg)$/i.test(n.type);if(p||g){let E=String(p?n.format:n.type).toLowerCase();n.format=E==="jpg"?"jpeg":E,n.type=n.format,n.__explicitFormat=n.format,/^(?:jpeg|webp)$/.test(n.format)&&(n.backgroundColor==null||n.backgroundColor==="transparent")&&(n.backgroundColor="#ffffff")}await Xt("beforeClone",n);let y=n.outerTransforms!==!1,b=n.outerShadows==="subtree"?"subtree":!!n.outerShadows,w=n.clip?so(n.element,n.clip):null;if(e.__styleShare===void 0)try{e.__styleShare=fs(n.element)&&(typeof n.element.getAnimations!="function"||n.element.getAnimations({subtree:!0}).length===0)}catch{e.__styleShare=!1}let S=Ki(e.fast);for(;;){e.__slicer=S;let E=ho(n.element,w);try{({clone:o,classCSS:i,classPrefixCSS:r,styleCache:s,nodeMap:a,reconcileRisk:l,clipWindow:u}=await Va(n.element,n.options)),l>0&&!e.reconcile&&(nt(e.__session,"reconcile-risk","text in inline/table-cell elements kept natural width and may re-wrap; pass { reconcile: true } for pixel-exact layout"),e.debug&&!H.warnedReconcile&&(H.warnedReconcile=!0,W(e,"Some text may wrap differently in the capture. Pass { reconcile: true } to fix it (about 2x slower)."))),!y&&o&&(f=Ta(n.element,o)),!b&&o&&Oa(n.element,o,n.options),o&&(Ba(n.element,o,a),Da(n.element,o))}finally{E()}if(!S?.yielded||!e.__tornSinceStart?.())break;S=null,e.__session=Hr(e.cache)}if(e.__slicer=null,n.clone=o,n.classCSS=i,n.styleCache=s,n.nodeMap=a,await Xt("afterClone",n),!Je(d,"render"))return null;if(S?.due()&&await S.pause(),ao(n.clone),n.options?.excludeMode==="remove"||typeof n.options?.filter=="function"&&n.options.filterMode==="remove")try{Ua(n.element,n.clone,n.styleCache,n.nodeMap)}catch(E){nt(e.__session,"shrink-failed","shrink pass failed",E),W(e,"Couldn't close the gaps left by removed elements.",E)}try{await Kn(n.clone,n.element,n.nodeMap)}catch{}try{let E=e.__session?.styleMap;E&&Jn(E.keys(),E,n.nodeMap,n.options.__iconMatchers)}catch{}let k=E=>Promise.resolve().then(E),C=(async()=>{await Promise.all([k(()=>co(n.clone,n.options)),k(()=>uo(n.element,n.clone,n.styleCache,n.options,n.nodeMap))]);try{Xa(n.element,n.clone,n.nodeMap)}catch(E){nt(e.__session,"backdrop-filter-failed","backdrop-filter emulation failed",E),W(e,"Couldn't reproduce a backdrop-filter; captured without it.",E)}if(e.compress&&(e.__compressionClip=u,e.__compressionRootTransform=f,await k(()=>So(n.clone,n.options,n.nodeMap))),e.captureSelection)try{Gs(n.nodeMap)}catch(E){nt(e.__session,"selection-compose-failed","field selection compose failed",E)}})(),x=Promise.resolve();(e.embedFonts==="auto"?((n.element.ownerDocument||document).fonts?.size||0)>0:e.embedFonts)&&(x=k(async()=>{let E=n.element.ownerDocument||document,T=w?O=>{try{let R=O.getBoundingClientRect();return R.right>=w.left-200&&R.left<=w.right+200&&R.bottom>=w.top-200&&R.top<=w.bottom+200}catch{return!0}}:null,{required:N,usedCodepoints:$}=!w&&e.__fontUsage||eo(n.element,T);if(e.embedFonts==="auto"){let O=new Set;try{for(let L of E.fonts)O.add(String(L.family).replace(/["']/g,"").toLowerCase())}catch{}if(!(O.size>0&&Array.from(N).some(L=>O.has(Ve(L).toLowerCase()))))return}if(Y()){let O=new Set(Array.from(N).map(Ve).filter(Boolean));await no(O,1,E)}c=await pa({required:N,usedCodepoints:$,exclude:n.options.excludeFonts,localFonts:n.options.localFonts,useProxy:n.options.useProxy,fontStylesheetDomains:n.options.fontStylesheetDomains,iconMatchers:n.options.__iconMatchers,doc:E,debug:n.options.debug})})),await Promise.all([C,x]);let M=(n.options.plugins||[]).some(E=>E&&(typeof E.beforeRender=="function"||typeof E.afterRender=="function"));n.options.engine,S?.due()&&await S.pause();let v=n.clone;xo(v,e.__compressedAssets);let _=await vo(n,{clipWindow:u,outerTransforms:y,outerShadows:b,rootTransform2D:f,fontsCSS:c});if(e.__compressedSnapshot=wo(v,e.__compressedAssets),typeof e.__retain=="function")try{e.__retain({clone:o,nodeMap:a,styleCache:s,styleMap:e.__session.styleMap,classPrefixCSS:r,fontsCSS:c,clipWindow:u,outerTransforms:y,outerShadows:b,rootTransform2D:f,__compressedAssets:e.__compressedAssets,__compressionDensity:e.__compressionDensity})}catch{}return _}kt();Rt();xt();var Lp=new Set(["png","jpeg","jpg","webp","svg"]);function ml(t={}){let e=typeof t.type=="string"&&Lp.has(t.type.toLowerCase())?t.type.toLowerCase():null,n=t.format??e??"png";n==="jpg"&&(n="jpeg");let o=t.format!=null?n:e==="jpg"?"jpeg":e,i=Ai(t.cache),r=t.exclude==null?[]:Array.isArray(t.exclude)?t.exclude:[t.exclude],s=[],a=[];for(let f of r)if(typeof f=="string")try{document.createDocumentFragment().querySelector(f),s.push(f)}catch{W(t,`Invalid exclude selector "${f}"; ignored.`)}else typeof f=="function"?a.push(f):f!=null&&W(t,"Ignored an exclude entry: use a CSS selector or a function.",f);let l=t.excludeMode??"hide",u=f=>{if(!f||f.nodeType!==1)return!1;if(f.getAttribute("data-capture")==="exclude")return!0;for(let d of Array.isArray(c.exclude)?c.exclude:[])try{if(f.matches(d))return!0}catch{}for(let d of Array.isArray(c.excludePredicates)?c.excludePredicates:[])try{if(d(f))return!0}catch{}if(typeof c.filter=="function")try{if(!c.filter(f))return!0}catch{}return!1},c={debug:t.debug??!1,scale:t.scale??1,exclude:s,excludePredicates:a.length?a:null,excludeMode:l,filter:t.filter??null,filterMode:t.filterMode??"hide",shouldExclude:u,placeholders:t.placeholders!==!1,captureSelection:t.captureSelection??!1,canvas:st(t.canvas,"canvas")?t.canvas:null,embedFonts:t.embedFonts??"auto",iconFonts:Array.isArray(t.iconFonts)?t.iconFonts:t.iconFonts?[t.iconFonts]:[],__iconMatchers:oa(t.iconFonts,t),localFonts:Array.isArray(t.localFonts)?t.localFonts:[],excludeFonts:t.excludeFonts??void 0,fontStylesheetDomains:Array.isArray(t.fontStylesheetDomains)?t.fontStylesheetDomains:[],fallbackURL:t.fallbackURL??void 0,cache:i,__styleShare:t.__styleShare,useProxy:typeof t.useProxy=="string"?t.useProxy:"",width:t.width??null,height:t.height??null,format:n,__explicitFormat:o,type:n,quality:t.quality??.92,dpr:t.dpr??(window.devicePixelRatio||1),backgroundColor:t.backgroundColor??(["jpeg","webp"].includes(n)?"#ffffff":null),filename:t.filename??"snapDOM",outerTransforms:t.outerTransforms??!0,outerShadows:t.outerShadows??!1,reconcile:t.reconcile??!1,burst:t.burst,fast:t.fast===!1||t.fast==="auto"?t.fast:!0,engine:t.engine,invalidate:t.invalidate??!1,__pinned:t.__pinned===!0,__subpixel:t.__subpixel??null,clip:t.clip??null,compress:t.compress!==!1,excludeStyleProps:t.excludeStyleProps??null,resolvePicturePlaceholders:t.resolvePicturePlaceholders!==!1};return c}gt();xt();At();var gl="svg,iframe,canvas,video,audio,object,embed,slot,template,picture,style,pre";function Ip(t){try{return t.matches?.("dialog,[popover]")||!!t.querySelector?.("dialog,[popover]")}catch{return!0}}var Wp=/(?:^|;)\s*(?:-webkit-)?backdrop-filter:\s*(?!none(?:\s*!important)?(?:;|$))[^;]+/i;function Op(t){if(t.__usesBackdropFilter!==void 0)return t.__usesBackdropFilter;let e=!1;for(let n of t.styleMap.values())if(Wp.test(n)){e=!0;break}return t.__usesBackdropFilter=e,e}function Dp(t,e){let n=e.has("backdrop-filter")||e.has("-webkit-backdrop-filter");if(!n&&(n=(r=>/(?:^|;)\s*(?:-webkit-)?backdrop-filter\s*:/i.test(r.getAttribute?.("style")||""))(t),!n))try{n=!!t.querySelector?.('[style*="backdrop-filter" i]')}catch{n=!0}if(!n)return!1;let o=[t];t.querySelectorAll&&o.push(...t.querySelectorAll("*"));for(let i of o){let r=getComputedStyle(i),s=r.getPropertyValue("backdrop-filter")||r.getPropertyValue("-webkit-backdrop-filter");if(s&&s!=="none")return!0}return!1}var Bp=1/16;function Up(t,e){if(t===e)return!0;if(!t.endsWith("px")||!e.endsWith("px"))return!1;let n=parseFloat(t),o=parseFloat(e);return Number.isFinite(n)&&Number.isFinite(o)&&Math.abs(n-o)<=Bp}var Co=new Map,zp=["width","height","min-width","min-height"];function Hp(t){let e=Co.get(t);if(e===void 0){e=null;for(let n of zp){let o=t.match(new RegExp("(?:^|;)"+n+":([^;]+)"));o&&o[1].endsWith("px")&&((e||={})[n]=o[1])}Co.size>5e3&&Co.clear(),Co.set(t,e)}return e}function jp(t){if(!(!t.classList||!t.classList.length))for(let e of Array.from(t.classList))/^c\d+$/.test(e)&&t.classList.remove(e)}function Vp(t,e){let n=[t];for(;n.length;){let o=n.pop();if(o.nodeType===1){let i=e.nodeMap.get(o);i!==void 0&&(e.nodeMap.delete(o),e.srcToClone.get(i)===o&&e.srcToClone.delete(i)),e.styleMap.delete(o)}for(let i=o.firstChild;i;i=i.nextSibling)n.push(i)}}var Kr={attempts:0,served:0,reconciled:0};async function yl(t,e,n){Kr.attempts++;try{let o=await Gp(t,e,n);return o&&Kr.served++,o}catch{return null}}async function Gp(t,e,n){let o=e.retained;if(!o||!o.clone||!o.styleMap||!o.srcToClone||n.reconcile||n.clip||n.captureSelection||o.clipWindow||t.scrollTop||t.scrollLeft||Ip(t)||Op(o)||o.fontsCSS||go(n))return null;for(let d of n.plugins||[])if(d&&(typeof d.beforeSnap=="function"||typeof d.beforeClone=="function"||typeof d.resolveNode=="function"||typeof d.afterClone=="function"))return null;if(o.classPrefixCSS&&(o.classPrefixCSS.includes("::marker")||o.classPrefixCSS.includes("::first-line"))||n.excludeMode==="remove")return null;let i=t.ownerDocument||document,r=bn(t);if(!r||cs(i))return null;let s=[];t:for(let d of e.dirtyRoots){if(!d.isConnected||d===t||!t.contains(d))return null;for(let h of e.dirtyRoots)if(h!==d&&h!==t&&h.contains(d))continue t;s.push(d)}if(!s.length)return null;n.__compressedAssets=o.__compressedAssets,n.__compressionDensity=o.__compressionDensity,n.__compressionRootTransform=o.rootTransform2D;for(let d of s){if(d.parentElement===t||d.matches?.(gl)||d.querySelector?.(gl)||Dp(d,r))return null;let h=o.srcToClone.get(d);if(!h||!h.parentNode)return null;let m=new Map,p={styleMap:o.styleMap,styleCache:o.styleCache,nodeMap:m,options:n},g=ho(d,null),y=io(d),b;try{b=await ae(d,p,n)}finally{y(),g()}if(!b||b.nodeType!==1||b.querySelector?.("style[data-sd]")||(await qe(d,b,p,n),p.__pseudoCSS)||p.__usesPlaceholder&&!o.classPrefixCSS?.includes("[data-sd-ph]"))return null;await Vn(b,p),ao(b);try{await Kn(b,d,m)}catch{}try{Jn([b,...b.querySelectorAll("*")],o.styleMap,m,n.__iconMatchers)}catch{}if(await Promise.all([co(b,n),uo(d,b,o.styleCache,n,m)]),n.compress)try{await So(b,n,m)}catch{}for(let[w,S]of m.entries())zr(w,S,m,o.styleCache);h.replaceWith(b),Vp(h,o);for(let[w,S]of m.entries())o.nodeMap.set(w,S),o.srcToClone.set(S,w)}let a={styleMap:o.styleMap,styleCache:o.styleCache,nodeMap:o.nodeMap,options:n},l=new WeakSet;for(let[d,h]of o.nodeMap.entries()){if(!h||h.nodeType!==1||!h.isConnected)continue;let m=o.styleMap.get(d);if(!m)continue;let p=Hp(m);if(!p)continue;let g=null,y=!1;for(let b in p){g||=getComputedStyle(h);let w=g.getPropertyValue(b);if(b==="min-width"&&w==="auto"&&!l.has(h.parentElement)){let S=parseFloat(g.width);g.boxSizing!=="border-box"&&m.includes("box-sizing:border-box")&&(S+=["padding-left","padding-right","border-left-width","border-right-width"].reduce((k,C)=>k+(parseFloat(g.getPropertyValue(C))||0),0)),w=`${S}px`}if(!Up(w,p[b])){y=!0;break}}if(y){if(n.__compressedAssets?.has(d))return null;l.add(h),Kr.reconciled++,await yt(h,d,a,n)}}let u=un(o.styleMap);for(let[d,h]of o.styleMap.entries())jp(d),Ur(d,h,u);let c=(o.classPrefixCSS||"")+Array.from(u.entries()).map(([d,h])=>`.${h}{${d}}`).join("");xo(o.clone,n.__compressedAssets);let f=await vo({element:t,options:n,plugins:n.plugins,clone:o.clone,classCSS:c,styleCache:o.styleCache,nodeMap:o.nodeMap},{clipWindow:null,outerTransforms:o.outerTransforms,outerShadows:o.outerShadows,rootTransform2D:o.rootTransform2D,fontsCSS:o.fontsCSS||""});return n.__compressedSnapshot=wo(o.clone,n.__compressedAssets),o.__compressedAssets=n.__compressedAssets,o.__compressionDensity=n.__compressionDensity,f}Rt();var Qr=new WeakMap,Mo=new WeakMap,El=new WeakSet,Jr=new WeakMap,qp=64,_n=new Map,Rl=["scroll","input","change","focusin","focusout","pointerdown","pointerup","pointercancel","keydown","keyup","beforetoggle","toggle"],Xp=["(prefers-color-scheme: dark)","(prefers-reduced-motion: reduce)","(prefers-contrast: more)","(forced-colors: active)","(inverted-colors: inverted)","(prefers-reduced-transparency: reduce)","(hover: hover)","(any-hover: hover)","(pointer: coarse)","(any-pointer: coarse)","(color-gamut: p3)","(dynamic-range: high)"];function Yp(t){let e=t?.defaultView;return typeof e?.matchMedia!="function"?"":Xp.map(n=>{try{return e.matchMedia(n).matches?"1":"0"}catch{return"?"}}).join("")}function bl(t){let e=[];for(let n=t;n;){try{let o=n.getBoundingClientRect();e.push(o.x,o.y,o.width,o.height)}catch{e.push("?")}n.parentElement?n=n.parentElement:n=Wt(n)||null}return e.join("|")}function wl(t,e){if(e.disposed||(_n.delete(t),_n.set(t,e),_n.size<=qp))return;let[n,o]=_n.entries().next().value;Fl(n,o)}function Fl(t,e){e.disposed=!0,_n.delete(t),Qr.delete(t);for(let n of e.observers)try{n.disconnect()}catch{}for(let n of Rl)t.removeEventListener(n,e.onMediaDirty,!0);for(let n of e.trackedShadowRoots.keys())for(let o of ti)n.removeEventListener(o,e.onMediaDirty,!0);for(let[n,o]of e.trackedImages)n.removeEventListener("load",o),n.removeEventListener("error",o);e.trackedImages.clear(),e.trackedShadowRoots.clear(),e.images.length=0,e.controls.length=0,e.scrollNodes.length=0,e.observers.length=0,e.last=null,e.retained=null,e.retainedFrameDriven=!1}function Tl(t){if(El.has(t))return!1;Mo.delete(t);let e=[t],n=[],o=[];for(let i=0;i=0&&e.observers.splice(s,1)}for(let i of o)if(!e.trackedShadowRoots.has(i))try{let r=new MutationObserver(e.markDirty);r.observe(i,{subtree:!0,childList:!0,attributes:!0,characterData:!0,attributeOldValue:!0,characterDataOldValue:!0}),r.__flush=e.markDirty,e.observers.push(r),e.trackedShadowRoots.set(i,r);for(let s of ti)i.addEventListener(s,e.onMediaDirty,{capture:!0,passive:!0});e.retained&&e.dirtyAll()}catch{}return!!n}var ti=["scroll","change","beforetoggle","toggle"];function Ao(t,e){return[t,...e.trackedShadowRoots.keys()]}function ei(t,e){let n=e.scannedImages;if(e.scannedImages=null,!n){n=[],t.tagName==="IMG"&&n.push(t);for(let o of Ao(t,e))o.querySelectorAll&&n.push(...o.querySelectorAll("img"))}if(e.images=n,e.trackedImages.size){let o=new Set(n);for(let[i,r]of e.trackedImages)o.has(i)||(i.removeEventListener("load",r),i.removeEventListener("error",r),e.trackedImages.delete(i))}for(let o of n){if(o.complete||e.trackedImages.has(o))continue;let i=()=>{e.capturing&&(e.torn=!0),e.dirty=!0,e.dirtyRoots=null,o.removeEventListener("load",i),o.removeEventListener("error",i),e.trackedImages.delete(o)};e.trackedImages.set(o,i),o.addEventListener("load",i),o.addEventListener("error",i)}}function xl(t){let e=new Map,n=new Map,o=new Map;for(let i of t)if(be(i))if(i.type==="attributes"){let r=e.get(i.target);r||e.set(i.target,r=new Map),r.has(i.attributeName)||r.set(i.attributeName,i.oldValue)}else if(i.type==="characterData")n.has(i.target)||n.set(i.target,i.oldValue);else if(i.type==="childList"){let r=o.get(i.target);r||o.set(i.target,r=new Map);for(let s of i.addedNodes){if(s.nodeType!==3)return!0;r.set(s.data,(r.get(s.data)||0)+1)}for(let s of i.removedNodes){if(s.nodeType!==3)return!0;r.set(s.data,(r.get(s.data)||0)-1)}}else return!0;for(let[i,r]of e)for(let[s,a]of r)if(i.getAttribute(s)!==a)return!0;for(let[i,r]of n)if(i.data!==r)return!0;for(let i of o.values())for(let r of i.values())if(r!==0)return!0;return!1}var Kp=/(?:^data:image\/(?:gif|apng)|\.(?:gif|apng)(?=[?#)'"\s;]|$))/i,nn=t=>t&&(typeof t=="object"||typeof t=="function")?ko(t):"-";function Jp(t,e=131072){if(t=String(t||"").trim(),!/^data:/i.test(t))return"";let n=t.indexOf(",");if(n<0)return"";let o=t.slice(0,n),i=t.slice(n+1);try{if(/;base64/i.test(o)){let r=Math.ceil(e/3)*4;return atob(i.slice(0,r-r%4))}return i.slice(0,e*3).replace(/%([0-9a-f]{2})/gi,(r,s)=>String.fromCharCode(parseInt(s,16))).slice(0,e)}catch{return""}}function Qp(t){let e=(t.match(/^data:([^;,]+)/i)?.[1]||"").toLowerCase();if(e==="image/gif"||e==="image/apng")return!0;if(!/image\/(?:png|webp|avif|svg\+xml)/.test(e))return!1;let n=Jp(t);return e==="image/png"?n.includes("acTL"):e==="image/webp"?n.includes("ANIM")||n.includes("ANMF")||n.includes("VP8X")&&!!(n.charCodeAt(n.indexOf("VP8X")+8)&2):e==="image/avif"?n.includes("avis"):/<(?:animate|animateTransform|animateMotion|set)\b|@keyframes\b|animation(?:-name)?\s*:/i.test(n)}function Sl(t){let e=String(t||"").trim();return e?Kp.test(e)?!0:/^data:/i.test(e)?Qp(e):!1:!1}function on(t){let e=String(t||"");if(Sl(e))return!0;for(let n of e.matchAll(/url\(\s*(?:"((?:\\.|[^"\\])*)"|'((?:\\.|[^'\\])*)'|([^)]*))\s*\)/gi))if(Sl(n[1]??n[2]??n[3]))return!0;return!1}function vl(t,e=null){let n=t&&t.clone;if(!n)return!1;let o=e?e.map(i=>t.srcToClone?.get(i)).filter(Boolean):[n];for(let i of o)for(let r of $l(i))if(on(r.getAttribute?.("src"))||on(r.getAttribute?.("href"))||on(r.getAttribute?.("style"))||on(t.styleMap?.get(r)))return!0;return!1}function $l(t){let e=[];t&&t.nodeType===1&&e.push(t);try{e.push(...t.querySelectorAll("*"))}catch{}return e}function ni(t,e){let n=[],o=new Set,i=r=>{r&&!o.has(r)&&(o.add(r),n.push(r))};t.matches?.("input,textarea,select,option")&&i(t);for(let r of Ao(t,e))try{for(let s of r.querySelectorAll("input,textarea,select,option"))i(s)}catch{}e.controls=n}function oi(t,e){let n=[],o=new Set,i=(r,s=!1)=>{if(!(!r||o.has(r))){o.add(r);try{(s||r.scrollLeft||r.scrollTop||r.scrollWidth>r.clientWidth||r.scrollHeight>r.clientHeight)&&n.push(r)}catch{}}};for(let r=t;r;r=r.parentElement)i(r,!0);for(let r of Ao(t,e))for(let s of $l(r))i(s);e.scrollNodes=n}function Cl(t,e){let n=t.ownerDocument||document,o=n.defaultView,i=[o?.location?.hash||"",Yp(n),o?.innerWidth||0,o?.innerHeight||0,o?.devicePixelRatio||1,o?.screen?.orientation?.type||""];try{i.push(...[...n.adoptedStyleSheets||[]].map(nn))}catch{}for(let c of e.trackedShadowRoots.keys())try{i.push("#shadow",...[...c.adoptedStyleSheets||[]].map(nn))}catch{}let r=n.activeElement,s=n.fullscreenElement;(r?.contains(t)||t.contains(r))&&i.push(nn(r)),(s?.contains(t)||t.contains(s))&&i.push(nn(s));let a=[o?.scrollX||0,o?.scrollY||0];for(let c of e.scrollNodes)a.push(c.scrollLeft||0,c.scrollTop||0);let l=[];for(let c of e.controls){let f=String(c.localName||"").toLowerCase();f==="input"?l.push(c.type,cn(c)?c.value.length:c.value,c.checked?1:0,c.indeterminate?1:0):f==="textarea"?l.push(c.value):f==="select"?l.push(c.selectedIndex,c.value):l.push(c.selected?1:0)}let u=[];for(let c of e.images){let f="";try{f=c.currentSrc||c.src||""}catch{}u.push(f,c.complete?1:0,c.naturalWidth||0,c.naturalHeight||0)}return{style:i.join("|"),scroll:a.join("|"),controls:l,images:u,frameDriven:e.retainedFrameDriven}}function en(t,e,n){if(!t)return!1;let o=t[n],i=e[n];if(o===i)return!0;if(!Array.isArray(o)||o.length!==i.length)return!1;for(let r=0;r[nn(e),e.playState,Math.round((Number(e.currentTime)||0)*10),e.playbackRate].join(":")).join("|")}function Zp(t,e,n){if(!n||n.nodeType!==1)return null;if(n===t||t.contains(n))return t;for(let o of e.trackedShadowRoots.keys())if(o.contains(n))return o;return null}function th(t){let e={dirty:!0,pending:[],torn:!1,dirtyRoots:new Set,retained:null,retainedFrameDriven:!1,disposed:!1,capturing:!1,last:null,inflight:Promise.resolve(),observers:[],trackedShadowRoots:new Map,trackedImages:new Map,images:[],scannedImages:null,scrollNodes:[],controls:[],envEpoch:Oe(),styleEpoch:we(),styleStamp:yn(t),outsideMutations:gn(t),geometry:null,renderState:null},n=()=>{e.dirty=!0,e.dirtyRoots=null},o=a=>{if(!e.dirtyRoots)return;let l=a&&(a.nodeType===1?a:a.parentElement);if(!l||l===t||!t.contains(l)||e.dirtyRoots.size>=12){e.dirtyRoots=null;return}e.dirtyRoots.add(l)},i=a=>{if(e.capturing){for(let l of a)e.pending.push(l);return}for(let l of a)be(l)&&(e.dirty=!0,o(l.target))},r=()=>{if(e.capturing){e.torn=!0;return}n()};e.dirtyAll=n;try{let a=new MutationObserver(i);a.observe(t,{subtree:!0,childList:!0,attributes:!0,characterData:!0,attributeOldValue:!0,characterDataOldValue:!0}),a.__flush=i,e.observers.push(a)}catch{}e.markDirty=i,e.onMediaDirty=r;try{for(let a of Rl)t.addEventListener(a,r,{capture:!0,passive:!0})}catch{}return Zr(t,e)||ni(t,e),oi(t,e),ei(t,e),e}var eh=0,Al=new WeakMap;function ko(t){let e=Al.get(t);return e||(e="@"+ ++eh,Al.set(t,e)),e}function ri(t,e){let n=typeof t;if(n==="undefined")return null;if(t===null||n==="boolean"||n==="number"||n==="string")return JSON.stringify(t);if(n==="function"||n==="symbol")return n==="symbol"?null:JSON.stringify(ko(t));if(n!=="object")return null;if(typeof t.nodeType=="number")return JSON.stringify(ko(t));if(e.has(t))return null;e.add(t);try{if(Array.isArray(t)){let r=[];for(let s of t){let a=ri(s,e);if(a===null)return null;r.push(a)}return"["+r.join(",")+"]"}let o=Object.getPrototypeOf(t);if(o!==Object.prototype&&o!==null)return JSON.stringify(ko(t));let i=[];for(let r of Object.keys(t).sort()){let s=t[r];if(s===void 0)continue;let a=ri(s,e);if(a===null)return null;i.push(JSON.stringify(r)+":"+a)}return"{"+i.join(",")+"}"}finally{e.delete(t)}}function _l(t,e){let{burst:n,invalidate:o,...i}=t||{};try{let r=ri(i,new Set);return r===null?null:`${(e||[]).map(nn).join(",")}:${r}`}catch{return null}}function Pl(t,e,n,o,i=null){let r=Qr.get(t);r||(r=th(t),r.baselineSignature=_l(e,n.plugins),Qr.set(t,r));let s=_l(e,n.plugins),a=async()=>{if(r.disposed)return o();let u=s===null||s!==r.baselineSignature;u&&s!==null?r.pendingSig===s?(r.baselineSignature=s,r.last=null,r.dirty=!0,r.dirtyRoots=null,r.pendingSig=null,u=!1):r.pendingSig=s:r.pendingSig=null,Zr(t,r),ei(t,r);for(let x of r.observers)x.__flush(x.takeRecords());Dt();let c=gn(t);r.dirty&&r.outsideMutations!==c&&r.dirtyAll(),r.outsideMutations=c;let f=t.getRootNode?.(),d=[...r.trackedShadowRoots.keys()];f?.nodeType===11&&!d.includes(f)&&d.push(f),Un(t.ownerDocument||document,d);let h=yn(t);r.styleStamp!==h&&(r.styleStamp=h,r.dirty||r.dirtyAll());let m=Cl(t,r),p=kl(t,r);m.animation=Ml(p),r.renderState&&(!en(r.renderState,m,"style")&&(De(),r.dirtyAll()),en(r.renderState,m,"scroll")||r.dirtyAll(),en(r.renderState,m,"controls")||(xe(t),r.dirtyAll()),!en(r.renderState,m,"images")&&!r.dirty&&r.dirtyAll());let g=Oe();r.envEpoch!==g&&(r.dirtyAll(),r.envEpoch=g);let y=we();if(r.styleEpoch!==y&&(r.styleEpoch=y,!r.dirty)){let x=bl(t);r.geometry!==null&&x!==r.geometry&&(xe(t),r.dirtyAll()),r.geometry=x}n.invalidate&&r.dirtyAll();let b=!1,w=!!r.renderState&&!en(r.renderState,m,"animation");try{let x=new Set;w&&p.length===0&&(x=null);for(let A of p){let M=A.playState==="running";if(!M&&!w)continue;M&&(b=!0),w=!0;let v=A.effect?.target;if(Zp(t,r,v)===t)x.add(v);else{x=null;break}}if(w&&x&&x.size&&r.retained){r.dirty=!0;for(let A of x)r.dirtyRoots&&r.dirtyRoots.add(A),xe(A)}else w&&!x&&r.dirtyAll()}catch{}let S=m.frameDriven,k=b||S;if(k&&(r.last=null),S&&r.dirtyAll(),!u&&!k&&!r.dirty&&r.last)return wl(t,r),r.last;r.capturing=!0;let C=null;try{let x=null,A=!1,M=null;if(!u&&r.dirty&&r.retained&&r.dirtyRoots&&r.dirtyRoots.size&&i){M=[...r.dirtyRoots];let v=await yl(t,r,n);v&&(x=await i(v),A=!0)}if(x||(u||(n.__retain=v=>{let _=new Map;for(let[E,T]of v.nodeMap.entries())_.set(T,E);C={...v,srcToClone:_}}),n.__tornSinceStart=()=>{for(let v of r.observers)for(let _ of v.takeRecords())r.pending.push(_);return Dt(),r.torn||xl(r.pending)||gn(t)!==c},x=await o()),!u&&!r.disposed){r.dirty=!1,r.dirtyRoots=new Set,C?(r.retained=C,r.retainedFrameDriven=vl(C),ni(t,r),oi(t,r)):A&&(r.retainedFrameDriven||=vl(r.retained,M),ni(t,r),oi(t,r));let v=Cl(t,r);v.animation=Ml(kl(t,r));let _=["style","scroll","controls","images"];b||_.push("animation");let E=_.every(T=>en(m,v,T));r.renderState=v,r.styleEpoch=we(),r.styleStamp=yn(t),r.geometry=bl(t),r.renderState.frameDriven?(El.add(t),Fl(t,r)):E?!k&&!r.renderState.frameDriven&&(r.last=x,wl(t,r)):(r.dirtyAll(),r.last=null)}return x}finally{n.__retain=void 0,n.__tornSinceStart=void 0;for(let A of r.observers)for(let M of A.takeRecords())r.pending.push(M);Dt();let x=gn(t);(r.torn||xl(r.pending)||x!==c)&&(r.dirtyAll(),r.last=null),r.outsideMutations=x,r.styleEpoch=we(),r.styleStamp=yn(t),r.pending.length=0,r.torn=!1,r.capturing=!1,r.disposed||(Zr(t,r),ei(t,r))}},l=r.inflight.then(a,a);return r.inflight=l.catch(()=>{}),l}var _o=null;function Il(t){_o=t}var nh='button, a[href], [role="button"], input, select, summary, label, [tabindex]',ii=!1,En=null,si=new WeakMap,Nl=!1;function Wl(t,e){!ii||!En||e&&e.burst===!1||si.set(En.control,{element:t,options:e&&typeof e=="object"?{...e}:e})}function Ol(t){let e={control:t};En=e,setTimeout(()=>{En===e&&(En=null)},0)}function li(t){let e=t.target,n=e&&(e.nodeType===1?e:e.parentElement);return n&&n.closest?n.closest(nh):null}function Ll(t){if(t.type==="keydown"&&t.key!=="Enter"&&t.key!==" ")return;let e=li(t);e&&(Ol(e),ai(t,!1))}function oh(t){let e=li(t);e&&Ol(e)}function ai(t,e=!0){if(!_o||document.visibilityState==="hidden")return;let n=li(t);if(!n||t.type==="pointerenter"&&t.target!==n)return;let o=si.get(n);if(o){if(!o.element.isConnected){si.delete(n);return}_o(o.element,o.options).catch(()=>{});return}e&&!Nl&&(Nl=!0,_o(document.body,{clip:"viewport",burst:!1}).catch(()=>{}))}function Dl(){if(ii||typeof document>"u"||typeof document.addEventListener!="function")return;ii=!0;let t={capture:!0,passive:!0};document.addEventListener("pointerdown",Ll,t),document.addEventListener("keydown",Ll,t),document.addEventListener("click",oh,t),document.addEventListener("pointerenter",ai,t),document.addEventListener("focusin",ai,t)}Ft();function Eh(...t){return Vr(...t),Z}async function Rh(t,e){if(typeof t!="string"||!t.trim())throw new Error("[SnapDOM] fromString() needs an HTML string.");let n=document.createElement("div");tt(n),n.style.cssText="position:fixed;left:-99999px;top:0;pointer-events:none;",n.innerHTML=t,document.body.appendChild(n);try{await wt();let o=Array.from(n.childNodes).some(r=>r.nodeType===3&&r.textContent.trim()),i=n.children.length===1&&!o?n.firstElementChild:n;return await vi(i,{...e||{},burst:!1})}finally{n.remove()}}var Fh="3.4.0",Z=Object.assign(vi,{plugins:Eh,fromString:Rh,version:Fh,preCapture:Dl});Il(vi);var Si=Symbol("snapdom.internal"),Th=Symbol("snapdom.internal.silent"),cc=new Set(["png","jpeg","jpg","webp","svg"]);async function vi(t,e){if(!t)throw new Error("[SnapDOM] The element cannot be null or undefined.");let n=ml(e);n.element=t,n.invalidate&&De(),rl(n,e&&e.plugins);let{stage:o,loweredBy:i}=tl(n);n.needs=o,n.__needsLoweredBy=i;let r=Je(o,"render"),s=n.burst===!0||!go(n),a=typeof n.filter=="function"||!!n.excludePredicates||typeof n.excludeStyleProps=="function"||typeof n.fallbackURL=="function",u=r&&!n.captureSelection&&n.burst!==!1&&s&&!a&&Tl(t);return u&&Wl(t,e),n.snap||(n.snap={toPng:(c,f)=>Z.toPng(c,f),toSvg:(c,f)=>Z.toSvg(c,f)}),u?Pl(t,e,n,()=>Z.capture(t,n,Si),c=>fc(c,n)):Z.capture(t,n,Si)}Z.capture=async(t,e,n)=>{if(n!==Si)throw new Error("[SnapDOM] snapdom.capture() is internal; use snapdom(el).");if(Je(e.needs||St,"render")&&Y()){if(e.embedFonts)try{let r=t.ownerDocument||document,s=new Set;if(e.embedFonts==="auto"){try{for(let c of r.fonts)s.add(String(c.family).replace(/["']/g,"").toLowerCase())}catch{}if(s.size===0)throw null}let a=eo(t);e.clip||(e.__fontUsage=a);let l=a.required,u=new Set([...l].map(Ve).filter(Boolean));if(e.embedFonts==="auto"&&(u=new Set([...u].filter(c=>s.has(c.toLowerCase()))),u.size===0))throw null;await no(u,1,r)}catch{}let i=Array.from(t.querySelectorAll("canvas"));t.tagName==="CANVAS"&&i.unshift(t);for(let r of i)try{if(vn(r))continue;let s=r.getContext("2d",{willReadFrequently:!0});s&&s.getImageData(0,0,1,1)}catch(s){W(e,"Couldn't prepare canvases for Safari.",s)}}let o=await hl(t,e);return fc(o,e)};async function fc(t,e){let n=e.needs||St,o=Je(n,"render"),i=R=>nl(n,e.__needsLoweredBy||[],R),r=typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement?t:null,s=r?null:t,a=()=>s??=r.toDataURL(),l=r||t;r&&(t="");let u=e.__compressedSnapshot,c=e.__compressionDensity;delete e.__compressedSnapshot,delete e.__compressedAssets;let f,d=e.meta||{},m=(Number.isFinite(e.width)||Number.isFinite(e.height))&&!Y(),p=m?Number.isFinite(e.width)?d.targetW/d.vbW:d.targetH/d.vbH:1,g=m?Number.isFinite(e.height)?d.targetH/d.vbH:d.targetW/d.vbW:1,y=R=>{if(r||!u?.size)return l;let L=d.vbW,I=d.vbH,F=R.crop;F&&(L=Math.max(1,Math.min(L,F.x+F.width)-Math.max(0,F.x)),I=Math.max(1,Math.min(I,F.y+F.height)-Math.max(0,F.y)));let P=Number.isFinite(R.width),z=Number.isFinite(R.height);return(P&&z?Math.max(R.width/L,R.height/I):P?R.width/L*(F?Math.max(1,g/p):1):z?R.height/I*(F?Math.max(1,p/g):1):(R.scale||1)*Math.max(p,g))*(R.dpr||1)<=c?l:f??=fl(a(),u)},b=async(R,L)=>{let{rasterize:I}=await Promise.resolve().then(()=>(rn(),Fn));return I(l,{...R,...L||{},format:"png"})},w=()=>{if(!o)throw i("svgString");if(r)throw new Error("[SnapDOM] html-in-canvas makes a raster capture; there is no SVG string.");let R=t.indexOf(",");return R>=0?decodeURIComponent(t.slice(R+1)):""},S=R=>Object.defineProperty({...R||{},svgString:w},"url",o?{get:a,enumerable:!0}:{get(){throw i("export.url")},enumerable:!1,configurable:!0}),k={img:async(R,L)=>{if(r)return b(R,L);let{toImg:I}=await Promise.resolve().then(()=>(yi(),gi)),F={...R,...L||{}};return I(y(F),F)},svg:async(R,L)=>{if(r)return b(R,L);let{toSvg:I}=await Promise.resolve().then(()=>(yi(),gi)),F={...R,...L||{}};return I(y(F),F)},canvas:async(R,L)=>{let{toCanvas:I}=await Promise.resolve().then(()=>(_e(),Gl)),F={...R,...L||{}};return I(y(F),F)},blob:async(R,L)=>{let{toBlob:I}=await Promise.resolve().then(()=>(xi(),ic)),F={...R,...L||{}};return I(y(F),F)},png:async(R,L)=>{let{rasterize:I}=await Promise.resolve().then(()=>(rn(),Fn)),F={...R,...L||{},format:"png"};return I(y(F),F)},jpeg:async(R,L)=>{let{rasterize:I}=await Promise.resolve().then(()=>(rn(),Fn)),F={...R,...L||{},format:"jpeg"};return I(y(F),F)},webp:async(R,L)=>{let{rasterize:I}=await Promise.resolve().then(()=>(rn(),Fn)),F={...R,...L||{},format:"webp"};return I(y(F),F)},download:async(R,L)=>{let{download:I}=await Promise.resolve().then(()=>(lc(),ac)),F={...R,...L||{}};return I(y(F),F)}};if(!o)for(let R of Object.keys(k)){let L=R==="download"?"download()":`to${R.charAt(0).toUpperCase()}${R.slice(1)}()`;k[R]=async()=>{throw i(L)}}let C={};for(let R of["img","svg","canvas","blob","png","jpeg","webp"])C[R]=async L=>k[R](e,{...E(R,L||{}),[Th]:!0});C.jpg=C.jpeg;let x=R=>Object.defineProperty({...e,...R},"options",{value:e,configurable:!0}),A=x({artifacts:e.__artifacts||null,export:S(),exports:C}),M=await mo("defineExports",A),v=Object.assign({},...M.filter(R=>R&&typeof R=="object").reverse()),_={...k,...v};_.jpeg&&!_.jpg&&(_.jpg=(R,L)=>_.jpeg(R,L));function E(R,L){let I=L||{},F={...e,...I},P=typeof I.type=="string"?I.type.toLowerCase():"",z=typeof I.format=="string"?I.format.toLowerCase():cc.has(P)?P:"";z&&(F.format=z==="jpg"?"jpeg":z),F.__explicitFormat=z?F.format:e.__explicitFormat??null,R==="blob"&&!F.__explicitFormat&&(F.format=r?"png":"svg"),F.type=F.format;let B=j=>j==="jpeg"||j==="jpg"||j==="webp";return[R,F.format,P].map(j=>typeof j=="string"?j.toLowerCase():"").find(B)&&(F.backgroundColor==null||F.backgroundColor==="transparent")&&(F.backgroundColor="#ffffff"),F.scale!==1&&(Number.isFinite(F.width)||Number.isFinite(F.height))&&W(F,"scale ignored: width/height already set the size."),F}let T=!1,N=Promise.resolve();async function $(R,L){let I=Object.freeze(L&&typeof L=="object"?{...L}:{}),F=async()=>{let z=_[R];if(!z)throw new Error(`[SnapDOM] Unknown export type: ${R}`);let B=E(R,I),q=x({artifacts:e.__artifacts||null,export:S({type:R,options:B,requestedOptions:I})}),j=B.format,ft=B.type;await mo("beforeExport",q,{format:R,options:B});let ut=B.format!==j?B.format:B.type!==ft?B.type:"",dt=typeof ut=="string"?ut.toLowerCase():"";cc.has(dt)&&(B.format=dt==="jpg"?"jpeg":dt,B.type=B.format,B.__explicitFormat=B.format,/^(?:jpeg|webp)$/.test(B.format)&&(B.backgroundColor==null||B.backgroundColor==="transparent")&&(B.backgroundColor="#ffffff"));let vt=await z(q,B);return await mo("afterExport",q,{format:R,options:B,result:vt}),T||(T=!0,await Xt("afterSnap",e)),vt},P=N.then(F);return N=P.catch(()=>{}),P}let O={url:t,needs:n,warnings:e.__session&&e.__session.warnings||[],toRaw:()=>{if(!o)throw i("toRaw()");return a()},to:(R,L)=>$(R,L),toImg:R=>$("img",R),toSvg:R=>$("svg",R),toCanvas:R=>$("canvas",R),toBlob:R=>$("blob",R),toPng:R=>$("png",R),toJpg:R=>$("jpg",R),toWebp:R=>$("webp",R),download:R=>$("download",R)};o?r&&Object.defineProperty(O,"url",{get:a,enumerable:!0,configurable:!0}):Object.defineProperty(O,"url",{get(){throw i("url")},enumerable:!1,configurable:!0}),Object.defineProperty(O,"meta",o?{value:e.meta,enumerable:!0}:{get(){throw i("meta")},enumerable:!1,configurable:!0});for(let R of Object.keys(_)){let L="to"+R.charAt(0).toUpperCase()+R.slice(1);O[L]||(O[L]=I=>$(R,I))}return O}Z.toRaw=(t,e)=>Z(t,e).then(n=>n.toRaw());Z.toImg=(t,e)=>Z(t,e).then(n=>n.toImg());Z.toSvg=(t,e)=>Z(t,e).then(n=>n.toSvg());Z.toCanvas=(t,e)=>Z(t,e).then(n=>n.toCanvas());Z.toBlob=(t,e)=>Z(t,e).then(n=>n.toBlob());Z.toPng=(t,e)=>Z(t,{...e,format:"png"}).then(n=>n.toPng());Z.toJpg=(t,e)=>Z(t,{...e,format:"jpeg"}).then(n=>n.toJpg());Z.toWebp=(t,e)=>Z(t,{...e,format:"webp"}).then(n=>n.toWebp());Z.download=(t,e)=>Z(t,e).then(n=>n.download());export{St as DEFAULT_STAGE,Ke as STAGES,el as assertNeeds,ip as clearPlugins,Gr as getGlobalPlugins,Ze as normalizePlugin,Vr as registerPlugins,Z as snapdom}; From e3215191b9c884df40dfa1c0117fc2f749b62a9c Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Sun, 25 Oct 2026 20:48:18 +0800 Subject: [PATCH 2/2] chore: bump version 11.0.0-rc.2.2 --- .../BootstrapBlazor.Dom2Image/BootstrapBlazor.Dom2Image.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/BootstrapBlazor.Dom2Image/BootstrapBlazor.Dom2Image.csproj b/src/components/BootstrapBlazor.Dom2Image/BootstrapBlazor.Dom2Image.csproj index 476039f3..20fca81c 100644 --- a/src/components/BootstrapBlazor.Dom2Image/BootstrapBlazor.Dom2Image.csproj +++ b/src/components/BootstrapBlazor.Dom2Image/BootstrapBlazor.Dom2Image.csproj @@ -1,7 +1,7 @@ - 11.0.0-rc.2.1 + 11.0.0-rc.2.2