hoodini-viz 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- (function(yt,Et){typeof exports=="object"&&typeof module<"u"?Et(exports):typeof define=="function"&&define.amd?define(["exports"],Et):(yt=typeof globalThis<"u"?globalThis:yt||self,Et(yt.HoodiniViz={}))})(this,(function(exports){"use strict";function _mergeNamespaces(yt,Et){for(var xt=0;xt<Et.length;xt++){const vt=Et[xt];if(typeof vt!="string"&&!Array.isArray(vt)){for(const bt in vt)if(bt!=="default"&&!(bt in yt)){const At=Object.getOwnPropertyDescriptor(vt,bt);At&&Object.defineProperty(yt,bt,At.get?At:{enumerable:!0,get:()=>vt[bt]})}}}return Object.freeze(Object.defineProperty(yt,Symbol.toStringTag,{value:"Module"}))}var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs(yt){return yt&&yt.__esModule&&Object.prototype.hasOwnProperty.call(yt,"default")?yt.default:yt}var react={exports:{}},react_production={};var hasRequiredReact_production;function requireReact_production(){if(hasRequiredReact_production)return react_production;hasRequiredReact_production=1;var yt=Symbol.for("react.transitional.element"),Et=Symbol.for("react.portal"),xt=Symbol.for("react.fragment"),vt=Symbol.for("react.strict_mode"),bt=Symbol.for("react.profiler"),At=Symbol.for("react.consumer"),Ft=Symbol.for("react.context"),Ct=Symbol.for("react.forward_ref"),wt=Symbol.for("react.suspense"),St=Symbol.for("react.memo"),Tt=Symbol.for("react.lazy"),Rt=Symbol.for("react.activity"),Pt=Symbol.iterator;function Lt(Qt){return Qt===null||typeof Qt!="object"?null:(Qt=Pt&&Qt[Pt]||Qt["@@iterator"],typeof Qt=="function"?Qt:null)}var kt={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ot=Object.assign,Mt={};function It(Qt,fn,pn){this.props=Qt,this.context=fn,this.refs=Mt,this.updater=pn||kt}It.prototype.isReactComponent={},It.prototype.setState=function(Qt,fn){if(typeof Qt!="object"&&typeof Qt!="function"&&Qt!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,Qt,fn,"setState")},It.prototype.forceUpdate=function(Qt){this.updater.enqueueForceUpdate(this,Qt,"forceUpdate")};function Nt(){}Nt.prototype=It.prototype;function Ut(Qt,fn,pn){this.props=Qt,this.context=fn,this.refs=Mt,this.updater=pn||kt}var jt=Ut.prototype=new Nt;jt.constructor=Ut,Ot(jt,It.prototype),jt.isPureReactComponent=!0;var Vt=Array.isArray;function zt(){}var Ht={H:null,A:null,T:null,S:null},Wt=Object.prototype.hasOwnProperty;function Gt(Qt,fn,pn){var mn=pn.ref;return{$$typeof:yt,type:Qt,key:fn,ref:mn!==void 0?mn:null,props:pn}}function qt(Qt,fn){return Gt(Qt.type,fn,Qt.props)}function Xt(Qt){return typeof Qt=="object"&&Qt!==null&&Qt.$$typeof===yt}function Kt(Qt){var fn={"=":"=0",":":"=2"};return"$"+Qt.replace(/[=:]/g,function(pn){return fn[pn]})}var Jt=/\/+/g;function tn(Qt,fn){return typeof Qt=="object"&&Qt!==null&&Qt.key!=null?Kt(""+Qt.key):fn.toString(36)}function sn(Qt){switch(Qt.status){case"fulfilled":return Qt.value;case"rejected":throw Qt.reason;default:switch(typeof Qt.status=="string"?Qt.then(zt,zt):(Qt.status="pending",Qt.then(function(fn){Qt.status==="pending"&&(Qt.status="fulfilled",Qt.value=fn)},function(fn){Qt.status==="pending"&&(Qt.status="rejected",Qt.reason=fn)})),Qt.status){case"fulfilled":return Qt.value;case"rejected":throw Qt.reason}}throw Qt}function Zt(Qt,fn,pn,mn,vn){var yn=typeof Qt;(yn==="undefined"||yn==="boolean")&&(Qt=null);var xn=!1;if(Qt===null)xn=!0;else switch(yn){case"bigint":case"string":case"number":xn=!0;break;case"object":switch(Qt.$$typeof){case yt:case Et:xn=!0;break;case Tt:return xn=Qt._init,Zt(xn(Qt._payload),fn,pn,mn,vn)}}if(xn)return vn=vn(Qt),xn=mn===""?"."+tn(Qt,0):mn,Vt(vn)?(pn="",xn!=null&&(pn=xn.replace(Jt,"$&/")+"/"),Zt(vn,fn,pn,"",function(Rn){return Rn})):vn!=null&&(Xt(vn)&&(vn=qt(vn,pn+(vn.key==null||Qt&&Qt.key===vn.key?"":(""+vn.key).replace(Jt,"$&/")+"/")+xn)),fn.push(vn)),1;xn=0;var Mn=mn===""?".":mn+":";if(Vt(Qt))for(var $n=0;$n<Qt.length;$n++)mn=Qt[$n],yn=Mn+tn(mn,$n),xn+=Zt(mn,fn,pn,yn,vn);else if($n=Lt(Qt),typeof $n=="function")for(Qt=$n.call(Qt),$n=0;!(mn=Qt.next()).done;)mn=mn.value,yn=Mn+tn(mn,$n++),xn+=Zt(mn,fn,pn,yn,vn);else if(yn==="object"){if(typeof Qt.then=="function")return Zt(sn(Qt),fn,pn,mn,vn);throw fn=String(Qt),Error("Objects are not valid as a React child (found: "+(fn==="[object Object]"?"object with keys {"+Object.keys(Qt).join(", ")+"}":fn)+"). If you meant to render a collection of children, use an array instead.")}return xn}function nn(Qt,fn,pn){if(Qt==null)return Qt;var mn=[],vn=0;return Zt(Qt,mn,"","",function(yn){return fn.call(pn,yn,vn++)}),mn}function rn(Qt){if(Qt._status===-1){var fn=Qt._result;fn=fn(),fn.then(function(pn){(Qt._status===0||Qt._status===-1)&&(Qt._status=1,Qt._result=pn)},function(pn){(Qt._status===0||Qt._status===-1)&&(Qt._status=2,Qt._result=pn)}),Qt._status===-1&&(Qt._status=0,Qt._result=fn)}if(Qt._status===1)return Qt._result.default;throw Qt._result}var on=typeof reportError=="function"?reportError:function(Qt){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var fn=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof Qt=="object"&&Qt!==null&&typeof Qt.message=="string"?String(Qt.message):String(Qt),error:Qt});if(!window.dispatchEvent(fn))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",Qt);return}console.error(Qt)},ln={map:nn,forEach:function(Qt,fn,pn){nn(Qt,function(){fn.apply(this,arguments)},pn)},count:function(Qt){var fn=0;return nn(Qt,function(){fn++}),fn},toArray:function(Qt){return nn(Qt,function(fn){return fn})||[]},only:function(Qt){if(!Xt(Qt))throw Error("React.Children.only expected to receive a single React element child.");return Qt}};return react_production.Activity=Rt,react_production.Children=ln,react_production.Component=It,react_production.Fragment=xt,react_production.Profiler=bt,react_production.PureComponent=Ut,react_production.StrictMode=vt,react_production.Suspense=wt,react_production.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Ht,react_production.__COMPILER_RUNTIME={__proto__:null,c:function(Qt){return Ht.H.useMemoCache(Qt)}},react_production.cache=function(Qt){return function(){return Qt.apply(null,arguments)}},react_production.cacheSignal=function(){return null},react_production.cloneElement=function(Qt,fn,pn){if(Qt==null)throw Error("The argument must be a React element, but you passed "+Qt+".");var mn=Ot({},Qt.props),vn=Qt.key;if(fn!=null)for(yn in fn.key!==void 0&&(vn=""+fn.key),fn)!Wt.call(fn,yn)||yn==="key"||yn==="__self"||yn==="__source"||yn==="ref"&&fn.ref===void 0||(mn[yn]=fn[yn]);var yn=arguments.length-2;if(yn===1)mn.children=pn;else if(1<yn){for(var xn=Array(yn),Mn=0;Mn<yn;Mn++)xn[Mn]=arguments[Mn+2];mn.children=xn}return Gt(Qt.type,vn,mn)},react_production.createContext=function(Qt){return Qt={$$typeof:Ft,_currentValue:Qt,_currentValue2:Qt,_threadCount:0,Provider:null,Consumer:null},Qt.Provider=Qt,Qt.Consumer={$$typeof:At,_context:Qt},Qt},react_production.createElement=function(Qt,fn,pn){var mn,vn={},yn=null;if(fn!=null)for(mn in fn.key!==void 0&&(yn=""+fn.key),fn)Wt.call(fn,mn)&&mn!=="key"&&mn!=="__self"&&mn!=="__source"&&(vn[mn]=fn[mn]);var xn=arguments.length-2;if(xn===1)vn.children=pn;else if(1<xn){for(var Mn=Array(xn),$n=0;$n<xn;$n++)Mn[$n]=arguments[$n+2];vn.children=Mn}if(Qt&&Qt.defaultProps)for(mn in xn=Qt.defaultProps,xn)vn[mn]===void 0&&(vn[mn]=xn[mn]);return Gt(Qt,yn,vn)},react_production.createRef=function(){return{current:null}},react_production.forwardRef=function(Qt){return{$$typeof:Ct,render:Qt}},react_production.isValidElement=Xt,react_production.lazy=function(Qt){return{$$typeof:Tt,_payload:{_status:-1,_result:Qt},_init:rn}},react_production.memo=function(Qt,fn){return{$$typeof:St,type:Qt,compare:fn===void 0?null:fn}},react_production.startTransition=function(Qt){var fn=Ht.T,pn={};Ht.T=pn;try{var mn=Qt(),vn=Ht.S;vn!==null&&vn(pn,mn),typeof mn=="object"&&mn!==null&&typeof mn.then=="function"&&mn.then(zt,on)}catch(yn){on(yn)}finally{fn!==null&&pn.types!==null&&(fn.types=pn.types),Ht.T=fn}},react_production.unstable_useCacheRefresh=function(){return Ht.H.useCacheRefresh()},react_production.use=function(Qt){return Ht.H.use(Qt)},react_production.useActionState=function(Qt,fn,pn){return Ht.H.useActionState(Qt,fn,pn)},react_production.useCallback=function(Qt,fn){return Ht.H.useCallback(Qt,fn)},react_production.useContext=function(Qt){return Ht.H.useContext(Qt)},react_production.useDebugValue=function(){},react_production.useDeferredValue=function(Qt,fn){return Ht.H.useDeferredValue(Qt,fn)},react_production.useEffect=function(Qt,fn){return Ht.H.useEffect(Qt,fn)},react_production.useEffectEvent=function(Qt){return Ht.H.useEffectEvent(Qt)},react_production.useId=function(){return Ht.H.useId()},react_production.useImperativeHandle=function(Qt,fn,pn){return Ht.H.useImperativeHandle(Qt,fn,pn)},react_production.useInsertionEffect=function(Qt,fn){return Ht.H.useInsertionEffect(Qt,fn)},react_production.useLayoutEffect=function(Qt,fn){return Ht.H.useLayoutEffect(Qt,fn)},react_production.useMemo=function(Qt,fn){return Ht.H.useMemo(Qt,fn)},react_production.useOptimistic=function(Qt,fn){return Ht.H.useOptimistic(Qt,fn)},react_production.useReducer=function(Qt,fn,pn){return Ht.H.useReducer(Qt,fn,pn)},react_production.useRef=function(Qt){return Ht.H.useRef(Qt)},react_production.useState=function(Qt){return Ht.H.useState(Qt)},react_production.useSyncExternalStore=function(Qt,fn,pn){return Ht.H.useSyncExternalStore(Qt,fn,pn)},react_production.useTransition=function(){return Ht.H.useTransition()},react_production.version="19.2.4",react_production}var hasRequiredReact;function requireReact(){return hasRequiredReact||(hasRequiredReact=1,react.exports=requireReact_production()),react.exports}var reactExports=requireReact();const React=getDefaultExportFromCjs(reactExports),React$1=_mergeNamespaces({__proto__:null,default:React},[reactExports]);var client$1={exports:{}},reactDomClient_production={},scheduler={exports:{}},scheduler_production={};var hasRequiredScheduler_production;function requireScheduler_production(){return hasRequiredScheduler_production||(hasRequiredScheduler_production=1,(function(yt){function Et(Zt,nn){var rn=Zt.length;Zt.push(nn);e:for(;0<rn;){var on=rn-1>>>1,ln=Zt[on];if(0<bt(ln,nn))Zt[on]=nn,Zt[rn]=ln,rn=on;else break e}}function xt(Zt){return Zt.length===0?null:Zt[0]}function vt(Zt){if(Zt.length===0)return null;var nn=Zt[0],rn=Zt.pop();if(rn!==nn){Zt[0]=rn;e:for(var on=0,ln=Zt.length,Qt=ln>>>1;on<Qt;){var fn=2*(on+1)-1,pn=Zt[fn],mn=fn+1,vn=Zt[mn];if(0>bt(pn,rn))mn<ln&&0>bt(vn,pn)?(Zt[on]=vn,Zt[mn]=rn,on=mn):(Zt[on]=pn,Zt[fn]=rn,on=fn);else if(mn<ln&&0>bt(vn,rn))Zt[on]=vn,Zt[mn]=rn,on=mn;else break e}}return nn}function bt(Zt,nn){var rn=Zt.sortIndex-nn.sortIndex;return rn!==0?rn:Zt.id-nn.id}if(yt.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var At=performance;yt.unstable_now=function(){return At.now()}}else{var Ft=Date,Ct=Ft.now();yt.unstable_now=function(){return Ft.now()-Ct}}var wt=[],St=[],Tt=1,Rt=null,Pt=3,Lt=!1,kt=!1,Ot=!1,Mt=!1,It=typeof setTimeout=="function"?setTimeout:null,Nt=typeof clearTimeout=="function"?clearTimeout:null,Ut=typeof setImmediate<"u"?setImmediate:null;function jt(Zt){for(var nn=xt(St);nn!==null;){if(nn.callback===null)vt(St);else if(nn.startTime<=Zt)vt(St),nn.sortIndex=nn.expirationTime,Et(wt,nn);else break;nn=xt(St)}}function Vt(Zt){if(Ot=!1,jt(Zt),!kt)if(xt(wt)!==null)kt=!0,zt||(zt=!0,Kt());else{var nn=xt(St);nn!==null&&sn(Vt,nn.startTime-Zt)}}var zt=!1,Ht=-1,Wt=5,Gt=-1;function qt(){return Mt?!0:!(yt.unstable_now()-Gt<Wt)}function Xt(){if(Mt=!1,zt){var Zt=yt.unstable_now();Gt=Zt;var nn=!0;try{e:{kt=!1,Ot&&(Ot=!1,Nt(Ht),Ht=-1),Lt=!0;var rn=Pt;try{t:{for(jt(Zt),Rt=xt(wt);Rt!==null&&!(Rt.expirationTime>Zt&&qt());){var on=Rt.callback;if(typeof on=="function"){Rt.callback=null,Pt=Rt.priorityLevel;var ln=on(Rt.expirationTime<=Zt);if(Zt=yt.unstable_now(),typeof ln=="function"){Rt.callback=ln,jt(Zt),nn=!0;break t}Rt===xt(wt)&&vt(wt),jt(Zt)}else vt(wt);Rt=xt(wt)}if(Rt!==null)nn=!0;else{var Qt=xt(St);Qt!==null&&sn(Vt,Qt.startTime-Zt),nn=!1}}break e}finally{Rt=null,Pt=rn,Lt=!1}nn=void 0}}finally{nn?Kt():zt=!1}}}var Kt;if(typeof Ut=="function")Kt=function(){Ut(Xt)};else if(typeof MessageChannel<"u"){var Jt=new MessageChannel,tn=Jt.port2;Jt.port1.onmessage=Xt,Kt=function(){tn.postMessage(null)}}else Kt=function(){It(Xt,0)};function sn(Zt,nn){Ht=It(function(){Zt(yt.unstable_now())},nn)}yt.unstable_IdlePriority=5,yt.unstable_ImmediatePriority=1,yt.unstable_LowPriority=4,yt.unstable_NormalPriority=3,yt.unstable_Profiling=null,yt.unstable_UserBlockingPriority=2,yt.unstable_cancelCallback=function(Zt){Zt.callback=null},yt.unstable_forceFrameRate=function(Zt){0>Zt||125<Zt?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Wt=0<Zt?Math.floor(1e3/Zt):5},yt.unstable_getCurrentPriorityLevel=function(){return Pt},yt.unstable_next=function(Zt){switch(Pt){case 1:case 2:case 3:var nn=3;break;default:nn=Pt}var rn=Pt;Pt=nn;try{return Zt()}finally{Pt=rn}},yt.unstable_requestPaint=function(){Mt=!0},yt.unstable_runWithPriority=function(Zt,nn){switch(Zt){case 1:case 2:case 3:case 4:case 5:break;default:Zt=3}var rn=Pt;Pt=Zt;try{return nn()}finally{Pt=rn}},yt.unstable_scheduleCallback=function(Zt,nn,rn){var on=yt.unstable_now();switch(typeof rn=="object"&&rn!==null?(rn=rn.delay,rn=typeof rn=="number"&&0<rn?on+rn:on):rn=on,Zt){case 1:var ln=-1;break;case 2:ln=250;break;case 5:ln=1073741823;break;case 4:ln=1e4;break;default:ln=5e3}return ln=rn+ln,Zt={id:Tt++,callback:nn,priorityLevel:Zt,startTime:rn,expirationTime:ln,sortIndex:-1},rn>on?(Zt.sortIndex=rn,Et(St,Zt),xt(wt)===null&&Zt===xt(St)&&(Ot?(Nt(Ht),Ht=-1):Ot=!0,sn(Vt,rn-on))):(Zt.sortIndex=ln,Et(wt,Zt),kt||Lt||(kt=!0,zt||(zt=!0,Kt()))),Zt},yt.unstable_shouldYield=qt,yt.unstable_wrapCallback=function(Zt){var nn=Pt;return function(){var rn=Pt;Pt=nn;try{return Zt.apply(this,arguments)}finally{Pt=rn}}}})(scheduler_production)),scheduler_production}var hasRequiredScheduler;function requireScheduler(){return hasRequiredScheduler||(hasRequiredScheduler=1,scheduler.exports=requireScheduler_production()),scheduler.exports}var reactDom={exports:{}},reactDom_production={};var hasRequiredReactDom_production;function requireReactDom_production(){if(hasRequiredReactDom_production)return reactDom_production;hasRequiredReactDom_production=1;var yt=requireReact();function Et(wt){var St="https://react.dev/errors/"+wt;if(1<arguments.length){St+="?args[]="+encodeURIComponent(arguments[1]);for(var Tt=2;Tt<arguments.length;Tt++)St+="&args[]="+encodeURIComponent(arguments[Tt])}return"Minified React error #"+wt+"; visit "+St+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function xt(){}var vt={d:{f:xt,r:function(){throw Error(Et(522))},D:xt,C:xt,L:xt,m:xt,X:xt,S:xt,M:xt},p:0,findDOMNode:null},bt=Symbol.for("react.portal");function At(wt,St,Tt){var Rt=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:bt,key:Rt==null?null:""+Rt,children:wt,containerInfo:St,implementation:Tt}}var Ft=yt.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function Ct(wt,St){if(wt==="font")return"";if(typeof St=="string")return St==="use-credentials"?St:""}return reactDom_production.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=vt,reactDom_production.createPortal=function(wt,St){var Tt=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!St||St.nodeType!==1&&St.nodeType!==9&&St.nodeType!==11)throw Error(Et(299));return At(wt,St,null,Tt)},reactDom_production.flushSync=function(wt){var St=Ft.T,Tt=vt.p;try{if(Ft.T=null,vt.p=2,wt)return wt()}finally{Ft.T=St,vt.p=Tt,vt.d.f()}},reactDom_production.preconnect=function(wt,St){typeof wt=="string"&&(St?(St=St.crossOrigin,St=typeof St=="string"?St==="use-credentials"?St:"":void 0):St=null,vt.d.C(wt,St))},reactDom_production.prefetchDNS=function(wt){typeof wt=="string"&&vt.d.D(wt)},reactDom_production.preinit=function(wt,St){if(typeof wt=="string"&&St&&typeof St.as=="string"){var Tt=St.as,Rt=Ct(Tt,St.crossOrigin),Pt=typeof St.integrity=="string"?St.integrity:void 0,Lt=typeof St.fetchPriority=="string"?St.fetchPriority:void 0;Tt==="style"?vt.d.S(wt,typeof St.precedence=="string"?St.precedence:void 0,{crossOrigin:Rt,integrity:Pt,fetchPriority:Lt}):Tt==="script"&&vt.d.X(wt,{crossOrigin:Rt,integrity:Pt,fetchPriority:Lt,nonce:typeof St.nonce=="string"?St.nonce:void 0})}},reactDom_production.preinitModule=function(wt,St){if(typeof wt=="string")if(typeof St=="object"&&St!==null){if(St.as==null||St.as==="script"){var Tt=Ct(St.as,St.crossOrigin);vt.d.M(wt,{crossOrigin:Tt,integrity:typeof St.integrity=="string"?St.integrity:void 0,nonce:typeof St.nonce=="string"?St.nonce:void 0})}}else St==null&&vt.d.M(wt)},reactDom_production.preload=function(wt,St){if(typeof wt=="string"&&typeof St=="object"&&St!==null&&typeof St.as=="string"){var Tt=St.as,Rt=Ct(Tt,St.crossOrigin);vt.d.L(wt,Tt,{crossOrigin:Rt,integrity:typeof St.integrity=="string"?St.integrity:void 0,nonce:typeof St.nonce=="string"?St.nonce:void 0,type:typeof St.type=="string"?St.type:void 0,fetchPriority:typeof St.fetchPriority=="string"?St.fetchPriority:void 0,referrerPolicy:typeof St.referrerPolicy=="string"?St.referrerPolicy:void 0,imageSrcSet:typeof St.imageSrcSet=="string"?St.imageSrcSet:void 0,imageSizes:typeof St.imageSizes=="string"?St.imageSizes:void 0,media:typeof St.media=="string"?St.media:void 0})}},reactDom_production.preloadModule=function(wt,St){if(typeof wt=="string")if(St){var Tt=Ct(St.as,St.crossOrigin);vt.d.m(wt,{as:typeof St.as=="string"&&St.as!=="script"?St.as:void 0,crossOrigin:Tt,integrity:typeof St.integrity=="string"?St.integrity:void 0})}else vt.d.m(wt)},reactDom_production.requestFormReset=function(wt){vt.d.r(wt)},reactDom_production.unstable_batchedUpdates=function(wt,St){return wt(St)},reactDom_production.useFormState=function(wt,St,Tt){return Ft.H.useFormState(wt,St,Tt)},reactDom_production.useFormStatus=function(){return Ft.H.useHostTransitionStatus()},reactDom_production.version="19.2.4",reactDom_production}var hasRequiredReactDom;function requireReactDom(){if(hasRequiredReactDom)return reactDom.exports;hasRequiredReactDom=1;function yt(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(yt)}catch(Et){console.error(Et)}}return yt(),reactDom.exports=requireReactDom_production(),reactDom.exports}var hasRequiredReactDomClient_production;function requireReactDomClient_production(){if(hasRequiredReactDomClient_production)return reactDomClient_production;hasRequiredReactDomClient_production=1;var yt=requireScheduler(),Et=requireReact(),xt=requireReactDom();function vt(Dt){var Bt="https://react.dev/errors/"+Dt;if(1<arguments.length){Bt+="?args[]="+encodeURIComponent(arguments[1]);for(var $t=2;$t<arguments.length;$t++)Bt+="&args[]="+encodeURIComponent(arguments[$t])}return"Minified React error #"+Dt+"; visit "+Bt+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function bt(Dt){return!(!Dt||Dt.nodeType!==1&&Dt.nodeType!==9&&Dt.nodeType!==11)}function At(Dt){var Bt=Dt,$t=Dt;if(Dt.alternate)for(;Bt.return;)Bt=Bt.return;else{Dt=Bt;do Bt=Dt,(Bt.flags&4098)!==0&&($t=Bt.return),Dt=Bt.return;while(Dt)}return Bt.tag===3?$t:null}function Ft(Dt){if(Dt.tag===13){var Bt=Dt.memoizedState;if(Bt===null&&(Dt=Dt.alternate,Dt!==null&&(Bt=Dt.memoizedState)),Bt!==null)return Bt.dehydrated}return null}function Ct(Dt){if(Dt.tag===31){var Bt=Dt.memoizedState;if(Bt===null&&(Dt=Dt.alternate,Dt!==null&&(Bt=Dt.memoizedState)),Bt!==null)return Bt.dehydrated}return null}function wt(Dt){if(At(Dt)!==Dt)throw Error(vt(188))}function St(Dt){var Bt=Dt.alternate;if(!Bt){if(Bt=At(Dt),Bt===null)throw Error(vt(188));return Bt!==Dt?null:Dt}for(var $t=Dt,Yt=Bt;;){var an=$t.return;if(an===null)break;var un=an.alternate;if(un===null){if(Yt=an.return,Yt!==null){$t=Yt;continue}break}if(an.child===un.child){for(un=an.child;un;){if(un===$t)return wt(an),Dt;if(un===Yt)return wt(an),Bt;un=un.sibling}throw Error(vt(188))}if($t.return!==Yt.return)$t=an,Yt=un;else{for(var bn=!1,qn=an.child;qn;){if(qn===$t){bn=!0,$t=an,Yt=un;break}if(qn===Yt){bn=!0,Yt=an,$t=un;break}qn=qn.sibling}if(!bn){for(qn=un.child;qn;){if(qn===$t){bn=!0,$t=un,Yt=an;break}if(qn===Yt){bn=!0,Yt=un,$t=an;break}qn=qn.sibling}if(!bn)throw Error(vt(189))}}if($t.alternate!==Yt)throw Error(vt(190))}if($t.tag!==3)throw Error(vt(188));return $t.stateNode.current===$t?Dt:Bt}function Tt(Dt){var Bt=Dt.tag;if(Bt===5||Bt===26||Bt===27||Bt===6)return Dt;for(Dt=Dt.child;Dt!==null;){if(Bt=Tt(Dt),Bt!==null)return Bt;Dt=Dt.sibling}return null}var Rt=Object.assign,Pt=Symbol.for("react.element"),Lt=Symbol.for("react.transitional.element"),kt=Symbol.for("react.portal"),Ot=Symbol.for("react.fragment"),Mt=Symbol.for("react.strict_mode"),It=Symbol.for("react.profiler"),Nt=Symbol.for("react.consumer"),Ut=Symbol.for("react.context"),jt=Symbol.for("react.forward_ref"),Vt=Symbol.for("react.suspense"),zt=Symbol.for("react.suspense_list"),Ht=Symbol.for("react.memo"),Wt=Symbol.for("react.lazy"),Gt=Symbol.for("react.activity"),qt=Symbol.for("react.memo_cache_sentinel"),Xt=Symbol.iterator;function Kt(Dt){return Dt===null||typeof Dt!="object"?null:(Dt=Xt&&Dt[Xt]||Dt["@@iterator"],typeof Dt=="function"?Dt:null)}var Jt=Symbol.for("react.client.reference");function tn(Dt){if(Dt==null)return null;if(typeof Dt=="function")return Dt.$$typeof===Jt?null:Dt.displayName||Dt.name||null;if(typeof Dt=="string")return Dt;switch(Dt){case Ot:return"Fragment";case It:return"Profiler";case Mt:return"StrictMode";case Vt:return"Suspense";case zt:return"SuspenseList";case Gt:return"Activity"}if(typeof Dt=="object")switch(Dt.$$typeof){case kt:return"Portal";case Ut:return Dt.displayName||"Context";case Nt:return(Dt._context.displayName||"Context")+".Consumer";case jt:var Bt=Dt.render;return Dt=Dt.displayName,Dt||(Dt=Bt.displayName||Bt.name||"",Dt=Dt!==""?"ForwardRef("+Dt+")":"ForwardRef"),Dt;case Ht:return Bt=Dt.displayName||null,Bt!==null?Bt:tn(Dt.type)||"Memo";case Wt:Bt=Dt._payload,Dt=Dt._init;try{return tn(Dt(Bt))}catch{}}return null}var sn=Array.isArray,Zt=Et.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,nn=xt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,rn={pending:!1,data:null,method:null,action:null},on=[],ln=-1;function Qt(Dt){return{current:Dt}}function fn(Dt){0>ln||(Dt.current=on[ln],on[ln]=null,ln--)}function pn(Dt,Bt){ln++,on[ln]=Dt.current,Dt.current=Bt}var mn=Qt(null),vn=Qt(null),yn=Qt(null),xn=Qt(null);function Mn(Dt,Bt){switch(pn(yn,Bt),pn(vn,Dt),pn(mn,null),Bt.nodeType){case 9:case 11:Dt=(Dt=Bt.documentElement)&&(Dt=Dt.namespaceURI)?f0(Dt):0;break;default:if(Dt=Bt.tagName,Bt=Bt.namespaceURI)Bt=f0(Bt),Dt=h0(Bt,Dt);else switch(Dt){case"svg":Dt=1;break;case"math":Dt=2;break;default:Dt=0}}fn(mn),pn(mn,Dt)}function $n(){fn(mn),fn(vn),fn(yn)}function Rn(Dt){Dt.memoizedState!==null&&pn(xn,Dt);var Bt=mn.current,$t=h0(Bt,Dt.type);Bt!==$t&&(pn(vn,Dt),pn(mn,$t))}function Tn(Dt){vn.current===Dt&&(fn(mn),fn(vn)),xn.current===Dt&&(fn(xn),ju._currentValue=rn)}var ir,Jn;function jn(Dt){if(ir===void 0)try{throw Error()}catch($t){var Bt=$t.stack.trim().match(/\n( *(at )?)/);ir=Bt&&Bt[1]||"",Jn=-1<$t.stack.indexOf(`
1
+ (function(yt,Et){typeof exports=="object"&&typeof module<"u"?Et(exports):typeof define=="function"&&define.amd?define(["exports"],Et):(yt=typeof globalThis<"u"?globalThis:yt||self,Et(yt.HoodiniViz={}))})(this,(function(exports){"use strict";function _mergeNamespaces(yt,Et){for(var xt=0;xt<Et.length;xt++){const vt=Et[xt];if(typeof vt!="string"&&!Array.isArray(vt)){for(const bt in vt)if(bt!=="default"&&!(bt in yt)){const At=Object.getOwnPropertyDescriptor(vt,bt);At&&Object.defineProperty(yt,bt,At.get?At:{enumerable:!0,get:()=>vt[bt]})}}}return Object.freeze(Object.defineProperty(yt,Symbol.toStringTag,{value:"Module"}))}var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs(yt){return yt&&yt.__esModule&&Object.prototype.hasOwnProperty.call(yt,"default")?yt.default:yt}var react={exports:{}},react_production={};var hasRequiredReact_production;function requireReact_production(){if(hasRequiredReact_production)return react_production;hasRequiredReact_production=1;var yt=Symbol.for("react.transitional.element"),Et=Symbol.for("react.portal"),xt=Symbol.for("react.fragment"),vt=Symbol.for("react.strict_mode"),bt=Symbol.for("react.profiler"),At=Symbol.for("react.consumer"),Ft=Symbol.for("react.context"),Ct=Symbol.for("react.forward_ref"),wt=Symbol.for("react.suspense"),St=Symbol.for("react.memo"),Tt=Symbol.for("react.lazy"),Rt=Symbol.for("react.activity"),Pt=Symbol.iterator;function Lt(Qt){return Qt===null||typeof Qt!="object"?null:(Qt=Pt&&Qt[Pt]||Qt["@@iterator"],typeof Qt=="function"?Qt:null)}var kt={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ot=Object.assign,Mt={};function It(Qt,fn,pn){this.props=Qt,this.context=fn,this.refs=Mt,this.updater=pn||kt}It.prototype.isReactComponent={},It.prototype.setState=function(Qt,fn){if(typeof Qt!="object"&&typeof Qt!="function"&&Qt!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,Qt,fn,"setState")},It.prototype.forceUpdate=function(Qt){this.updater.enqueueForceUpdate(this,Qt,"forceUpdate")};function Nt(){}Nt.prototype=It.prototype;function Ut(Qt,fn,pn){this.props=Qt,this.context=fn,this.refs=Mt,this.updater=pn||kt}var jt=Ut.prototype=new Nt;jt.constructor=Ut,Ot(jt,It.prototype),jt.isPureReactComponent=!0;var Vt=Array.isArray;function zt(){}var Ht={H:null,A:null,T:null,S:null},Wt=Object.prototype.hasOwnProperty;function Gt(Qt,fn,pn){var mn=pn.ref;return{$$typeof:yt,type:Qt,key:fn,ref:mn!==void 0?mn:null,props:pn}}function qt(Qt,fn){return Gt(Qt.type,fn,Qt.props)}function Xt(Qt){return typeof Qt=="object"&&Qt!==null&&Qt.$$typeof===yt}function Kt(Qt){var fn={"=":"=0",":":"=2"};return"$"+Qt.replace(/[=:]/g,function(pn){return fn[pn]})}var Jt=/\/+/g;function tn(Qt,fn){return typeof Qt=="object"&&Qt!==null&&Qt.key!=null?Kt(""+Qt.key):fn.toString(36)}function sn(Qt){switch(Qt.status){case"fulfilled":return Qt.value;case"rejected":throw Qt.reason;default:switch(typeof Qt.status=="string"?Qt.then(zt,zt):(Qt.status="pending",Qt.then(function(fn){Qt.status==="pending"&&(Qt.status="fulfilled",Qt.value=fn)},function(fn){Qt.status==="pending"&&(Qt.status="rejected",Qt.reason=fn)})),Qt.status){case"fulfilled":return Qt.value;case"rejected":throw Qt.reason}}throw Qt}function Zt(Qt,fn,pn,mn,vn){var yn=typeof Qt;(yn==="undefined"||yn==="boolean")&&(Qt=null);var xn=!1;if(Qt===null)xn=!0;else switch(yn){case"bigint":case"string":case"number":xn=!0;break;case"object":switch(Qt.$$typeof){case yt:case Et:xn=!0;break;case Tt:return xn=Qt._init,Zt(xn(Qt._payload),fn,pn,mn,vn)}}if(xn)return vn=vn(Qt),xn=mn===""?"."+tn(Qt,0):mn,Vt(vn)?(pn="",xn!=null&&(pn=xn.replace(Jt,"$&/")+"/"),Zt(vn,fn,pn,"",function(Rn){return Rn})):vn!=null&&(Xt(vn)&&(vn=qt(vn,pn+(vn.key==null||Qt&&Qt.key===vn.key?"":(""+vn.key).replace(Jt,"$&/")+"/")+xn)),fn.push(vn)),1;xn=0;var Mn=mn===""?".":mn+":";if(Vt(Qt))for(var $n=0;$n<Qt.length;$n++)mn=Qt[$n],yn=Mn+tn(mn,$n),xn+=Zt(mn,fn,pn,yn,vn);else if($n=Lt(Qt),typeof $n=="function")for(Qt=$n.call(Qt),$n=0;!(mn=Qt.next()).done;)mn=mn.value,yn=Mn+tn(mn,$n++),xn+=Zt(mn,fn,pn,yn,vn);else if(yn==="object"){if(typeof Qt.then=="function")return Zt(sn(Qt),fn,pn,mn,vn);throw fn=String(Qt),Error("Objects are not valid as a React child (found: "+(fn==="[object Object]"?"object with keys {"+Object.keys(Qt).join(", ")+"}":fn)+"). If you meant to render a collection of children, use an array instead.")}return xn}function nn(Qt,fn,pn){if(Qt==null)return Qt;var mn=[],vn=0;return Zt(Qt,mn,"","",function(yn){return fn.call(pn,yn,vn++)}),mn}function rn(Qt){if(Qt._status===-1){var fn=Qt._result;fn=fn(),fn.then(function(pn){(Qt._status===0||Qt._status===-1)&&(Qt._status=1,Qt._result=pn)},function(pn){(Qt._status===0||Qt._status===-1)&&(Qt._status=2,Qt._result=pn)}),Qt._status===-1&&(Qt._status=0,Qt._result=fn)}if(Qt._status===1)return Qt._result.default;throw Qt._result}var on=typeof reportError=="function"?reportError:function(Qt){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var fn=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof Qt=="object"&&Qt!==null&&typeof Qt.message=="string"?String(Qt.message):String(Qt),error:Qt});if(!window.dispatchEvent(fn))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",Qt);return}console.error(Qt)},ln={map:nn,forEach:function(Qt,fn,pn){nn(Qt,function(){fn.apply(this,arguments)},pn)},count:function(Qt){var fn=0;return nn(Qt,function(){fn++}),fn},toArray:function(Qt){return nn(Qt,function(fn){return fn})||[]},only:function(Qt){if(!Xt(Qt))throw Error("React.Children.only expected to receive a single React element child.");return Qt}};return react_production.Activity=Rt,react_production.Children=ln,react_production.Component=It,react_production.Fragment=xt,react_production.Profiler=bt,react_production.PureComponent=Ut,react_production.StrictMode=vt,react_production.Suspense=wt,react_production.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Ht,react_production.__COMPILER_RUNTIME={__proto__:null,c:function(Qt){return Ht.H.useMemoCache(Qt)}},react_production.cache=function(Qt){return function(){return Qt.apply(null,arguments)}},react_production.cacheSignal=function(){return null},react_production.cloneElement=function(Qt,fn,pn){if(Qt==null)throw Error("The argument must be a React element, but you passed "+Qt+".");var mn=Ot({},Qt.props),vn=Qt.key;if(fn!=null)for(yn in fn.key!==void 0&&(vn=""+fn.key),fn)!Wt.call(fn,yn)||yn==="key"||yn==="__self"||yn==="__source"||yn==="ref"&&fn.ref===void 0||(mn[yn]=fn[yn]);var yn=arguments.length-2;if(yn===1)mn.children=pn;else if(1<yn){for(var xn=Array(yn),Mn=0;Mn<yn;Mn++)xn[Mn]=arguments[Mn+2];mn.children=xn}return Gt(Qt.type,vn,mn)},react_production.createContext=function(Qt){return Qt={$$typeof:Ft,_currentValue:Qt,_currentValue2:Qt,_threadCount:0,Provider:null,Consumer:null},Qt.Provider=Qt,Qt.Consumer={$$typeof:At,_context:Qt},Qt},react_production.createElement=function(Qt,fn,pn){var mn,vn={},yn=null;if(fn!=null)for(mn in fn.key!==void 0&&(yn=""+fn.key),fn)Wt.call(fn,mn)&&mn!=="key"&&mn!=="__self"&&mn!=="__source"&&(vn[mn]=fn[mn]);var xn=arguments.length-2;if(xn===1)vn.children=pn;else if(1<xn){for(var Mn=Array(xn),$n=0;$n<xn;$n++)Mn[$n]=arguments[$n+2];vn.children=Mn}if(Qt&&Qt.defaultProps)for(mn in xn=Qt.defaultProps,xn)vn[mn]===void 0&&(vn[mn]=xn[mn]);return Gt(Qt,yn,vn)},react_production.createRef=function(){return{current:null}},react_production.forwardRef=function(Qt){return{$$typeof:Ct,render:Qt}},react_production.isValidElement=Xt,react_production.lazy=function(Qt){return{$$typeof:Tt,_payload:{_status:-1,_result:Qt},_init:rn}},react_production.memo=function(Qt,fn){return{$$typeof:St,type:Qt,compare:fn===void 0?null:fn}},react_production.startTransition=function(Qt){var fn=Ht.T,pn={};Ht.T=pn;try{var mn=Qt(),vn=Ht.S;vn!==null&&vn(pn,mn),typeof mn=="object"&&mn!==null&&typeof mn.then=="function"&&mn.then(zt,on)}catch(yn){on(yn)}finally{fn!==null&&pn.types!==null&&(fn.types=pn.types),Ht.T=fn}},react_production.unstable_useCacheRefresh=function(){return Ht.H.useCacheRefresh()},react_production.use=function(Qt){return Ht.H.use(Qt)},react_production.useActionState=function(Qt,fn,pn){return Ht.H.useActionState(Qt,fn,pn)},react_production.useCallback=function(Qt,fn){return Ht.H.useCallback(Qt,fn)},react_production.useContext=function(Qt){return Ht.H.useContext(Qt)},react_production.useDebugValue=function(){},react_production.useDeferredValue=function(Qt,fn){return Ht.H.useDeferredValue(Qt,fn)},react_production.useEffect=function(Qt,fn){return Ht.H.useEffect(Qt,fn)},react_production.useEffectEvent=function(Qt){return Ht.H.useEffectEvent(Qt)},react_production.useId=function(){return Ht.H.useId()},react_production.useImperativeHandle=function(Qt,fn,pn){return Ht.H.useImperativeHandle(Qt,fn,pn)},react_production.useInsertionEffect=function(Qt,fn){return Ht.H.useInsertionEffect(Qt,fn)},react_production.useLayoutEffect=function(Qt,fn){return Ht.H.useLayoutEffect(Qt,fn)},react_production.useMemo=function(Qt,fn){return Ht.H.useMemo(Qt,fn)},react_production.useOptimistic=function(Qt,fn){return Ht.H.useOptimistic(Qt,fn)},react_production.useReducer=function(Qt,fn,pn){return Ht.H.useReducer(Qt,fn,pn)},react_production.useRef=function(Qt){return Ht.H.useRef(Qt)},react_production.useState=function(Qt){return Ht.H.useState(Qt)},react_production.useSyncExternalStore=function(Qt,fn,pn){return Ht.H.useSyncExternalStore(Qt,fn,pn)},react_production.useTransition=function(){return Ht.H.useTransition()},react_production.version="19.2.4",react_production}var hasRequiredReact;function requireReact(){return hasRequiredReact||(hasRequiredReact=1,react.exports=requireReact_production()),react.exports}var reactExports=requireReact();const React=getDefaultExportFromCjs(reactExports),React$1=_mergeNamespaces({__proto__:null,default:React},[reactExports]);var client={exports:{}},reactDomClient_production={},scheduler={exports:{}},scheduler_production={};var hasRequiredScheduler_production;function requireScheduler_production(){return hasRequiredScheduler_production||(hasRequiredScheduler_production=1,(function(yt){function Et(Zt,nn){var rn=Zt.length;Zt.push(nn);e:for(;0<rn;){var on=rn-1>>>1,ln=Zt[on];if(0<bt(ln,nn))Zt[on]=nn,Zt[rn]=ln,rn=on;else break e}}function xt(Zt){return Zt.length===0?null:Zt[0]}function vt(Zt){if(Zt.length===0)return null;var nn=Zt[0],rn=Zt.pop();if(rn!==nn){Zt[0]=rn;e:for(var on=0,ln=Zt.length,Qt=ln>>>1;on<Qt;){var fn=2*(on+1)-1,pn=Zt[fn],mn=fn+1,vn=Zt[mn];if(0>bt(pn,rn))mn<ln&&0>bt(vn,pn)?(Zt[on]=vn,Zt[mn]=rn,on=mn):(Zt[on]=pn,Zt[fn]=rn,on=fn);else if(mn<ln&&0>bt(vn,rn))Zt[on]=vn,Zt[mn]=rn,on=mn;else break e}}return nn}function bt(Zt,nn){var rn=Zt.sortIndex-nn.sortIndex;return rn!==0?rn:Zt.id-nn.id}if(yt.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var At=performance;yt.unstable_now=function(){return At.now()}}else{var Ft=Date,Ct=Ft.now();yt.unstable_now=function(){return Ft.now()-Ct}}var wt=[],St=[],Tt=1,Rt=null,Pt=3,Lt=!1,kt=!1,Ot=!1,Mt=!1,It=typeof setTimeout=="function"?setTimeout:null,Nt=typeof clearTimeout=="function"?clearTimeout:null,Ut=typeof setImmediate<"u"?setImmediate:null;function jt(Zt){for(var nn=xt(St);nn!==null;){if(nn.callback===null)vt(St);else if(nn.startTime<=Zt)vt(St),nn.sortIndex=nn.expirationTime,Et(wt,nn);else break;nn=xt(St)}}function Vt(Zt){if(Ot=!1,jt(Zt),!kt)if(xt(wt)!==null)kt=!0,zt||(zt=!0,Kt());else{var nn=xt(St);nn!==null&&sn(Vt,nn.startTime-Zt)}}var zt=!1,Ht=-1,Wt=5,Gt=-1;function qt(){return Mt?!0:!(yt.unstable_now()-Gt<Wt)}function Xt(){if(Mt=!1,zt){var Zt=yt.unstable_now();Gt=Zt;var nn=!0;try{e:{kt=!1,Ot&&(Ot=!1,Nt(Ht),Ht=-1),Lt=!0;var rn=Pt;try{t:{for(jt(Zt),Rt=xt(wt);Rt!==null&&!(Rt.expirationTime>Zt&&qt());){var on=Rt.callback;if(typeof on=="function"){Rt.callback=null,Pt=Rt.priorityLevel;var ln=on(Rt.expirationTime<=Zt);if(Zt=yt.unstable_now(),typeof ln=="function"){Rt.callback=ln,jt(Zt),nn=!0;break t}Rt===xt(wt)&&vt(wt),jt(Zt)}else vt(wt);Rt=xt(wt)}if(Rt!==null)nn=!0;else{var Qt=xt(St);Qt!==null&&sn(Vt,Qt.startTime-Zt),nn=!1}}break e}finally{Rt=null,Pt=rn,Lt=!1}nn=void 0}}finally{nn?Kt():zt=!1}}}var Kt;if(typeof Ut=="function")Kt=function(){Ut(Xt)};else if(typeof MessageChannel<"u"){var Jt=new MessageChannel,tn=Jt.port2;Jt.port1.onmessage=Xt,Kt=function(){tn.postMessage(null)}}else Kt=function(){It(Xt,0)};function sn(Zt,nn){Ht=It(function(){Zt(yt.unstable_now())},nn)}yt.unstable_IdlePriority=5,yt.unstable_ImmediatePriority=1,yt.unstable_LowPriority=4,yt.unstable_NormalPriority=3,yt.unstable_Profiling=null,yt.unstable_UserBlockingPriority=2,yt.unstable_cancelCallback=function(Zt){Zt.callback=null},yt.unstable_forceFrameRate=function(Zt){0>Zt||125<Zt?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Wt=0<Zt?Math.floor(1e3/Zt):5},yt.unstable_getCurrentPriorityLevel=function(){return Pt},yt.unstable_next=function(Zt){switch(Pt){case 1:case 2:case 3:var nn=3;break;default:nn=Pt}var rn=Pt;Pt=nn;try{return Zt()}finally{Pt=rn}},yt.unstable_requestPaint=function(){Mt=!0},yt.unstable_runWithPriority=function(Zt,nn){switch(Zt){case 1:case 2:case 3:case 4:case 5:break;default:Zt=3}var rn=Pt;Pt=Zt;try{return nn()}finally{Pt=rn}},yt.unstable_scheduleCallback=function(Zt,nn,rn){var on=yt.unstable_now();switch(typeof rn=="object"&&rn!==null?(rn=rn.delay,rn=typeof rn=="number"&&0<rn?on+rn:on):rn=on,Zt){case 1:var ln=-1;break;case 2:ln=250;break;case 5:ln=1073741823;break;case 4:ln=1e4;break;default:ln=5e3}return ln=rn+ln,Zt={id:Tt++,callback:nn,priorityLevel:Zt,startTime:rn,expirationTime:ln,sortIndex:-1},rn>on?(Zt.sortIndex=rn,Et(St,Zt),xt(wt)===null&&Zt===xt(St)&&(Ot?(Nt(Ht),Ht=-1):Ot=!0,sn(Vt,rn-on))):(Zt.sortIndex=ln,Et(wt,Zt),kt||Lt||(kt=!0,zt||(zt=!0,Kt()))),Zt},yt.unstable_shouldYield=qt,yt.unstable_wrapCallback=function(Zt){var nn=Pt;return function(){var rn=Pt;Pt=nn;try{return Zt.apply(this,arguments)}finally{Pt=rn}}}})(scheduler_production)),scheduler_production}var hasRequiredScheduler;function requireScheduler(){return hasRequiredScheduler||(hasRequiredScheduler=1,scheduler.exports=requireScheduler_production()),scheduler.exports}var reactDom={exports:{}},reactDom_production={};var hasRequiredReactDom_production;function requireReactDom_production(){if(hasRequiredReactDom_production)return reactDom_production;hasRequiredReactDom_production=1;var yt=requireReact();function Et(wt){var St="https://react.dev/errors/"+wt;if(1<arguments.length){St+="?args[]="+encodeURIComponent(arguments[1]);for(var Tt=2;Tt<arguments.length;Tt++)St+="&args[]="+encodeURIComponent(arguments[Tt])}return"Minified React error #"+wt+"; visit "+St+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function xt(){}var vt={d:{f:xt,r:function(){throw Error(Et(522))},D:xt,C:xt,L:xt,m:xt,X:xt,S:xt,M:xt},p:0,findDOMNode:null},bt=Symbol.for("react.portal");function At(wt,St,Tt){var Rt=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:bt,key:Rt==null?null:""+Rt,children:wt,containerInfo:St,implementation:Tt}}var Ft=yt.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function Ct(wt,St){if(wt==="font")return"";if(typeof St=="string")return St==="use-credentials"?St:""}return reactDom_production.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=vt,reactDom_production.createPortal=function(wt,St){var Tt=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!St||St.nodeType!==1&&St.nodeType!==9&&St.nodeType!==11)throw Error(Et(299));return At(wt,St,null,Tt)},reactDom_production.flushSync=function(wt){var St=Ft.T,Tt=vt.p;try{if(Ft.T=null,vt.p=2,wt)return wt()}finally{Ft.T=St,vt.p=Tt,vt.d.f()}},reactDom_production.preconnect=function(wt,St){typeof wt=="string"&&(St?(St=St.crossOrigin,St=typeof St=="string"?St==="use-credentials"?St:"":void 0):St=null,vt.d.C(wt,St))},reactDom_production.prefetchDNS=function(wt){typeof wt=="string"&&vt.d.D(wt)},reactDom_production.preinit=function(wt,St){if(typeof wt=="string"&&St&&typeof St.as=="string"){var Tt=St.as,Rt=Ct(Tt,St.crossOrigin),Pt=typeof St.integrity=="string"?St.integrity:void 0,Lt=typeof St.fetchPriority=="string"?St.fetchPriority:void 0;Tt==="style"?vt.d.S(wt,typeof St.precedence=="string"?St.precedence:void 0,{crossOrigin:Rt,integrity:Pt,fetchPriority:Lt}):Tt==="script"&&vt.d.X(wt,{crossOrigin:Rt,integrity:Pt,fetchPriority:Lt,nonce:typeof St.nonce=="string"?St.nonce:void 0})}},reactDom_production.preinitModule=function(wt,St){if(typeof wt=="string")if(typeof St=="object"&&St!==null){if(St.as==null||St.as==="script"){var Tt=Ct(St.as,St.crossOrigin);vt.d.M(wt,{crossOrigin:Tt,integrity:typeof St.integrity=="string"?St.integrity:void 0,nonce:typeof St.nonce=="string"?St.nonce:void 0})}}else St==null&&vt.d.M(wt)},reactDom_production.preload=function(wt,St){if(typeof wt=="string"&&typeof St=="object"&&St!==null&&typeof St.as=="string"){var Tt=St.as,Rt=Ct(Tt,St.crossOrigin);vt.d.L(wt,Tt,{crossOrigin:Rt,integrity:typeof St.integrity=="string"?St.integrity:void 0,nonce:typeof St.nonce=="string"?St.nonce:void 0,type:typeof St.type=="string"?St.type:void 0,fetchPriority:typeof St.fetchPriority=="string"?St.fetchPriority:void 0,referrerPolicy:typeof St.referrerPolicy=="string"?St.referrerPolicy:void 0,imageSrcSet:typeof St.imageSrcSet=="string"?St.imageSrcSet:void 0,imageSizes:typeof St.imageSizes=="string"?St.imageSizes:void 0,media:typeof St.media=="string"?St.media:void 0})}},reactDom_production.preloadModule=function(wt,St){if(typeof wt=="string")if(St){var Tt=Ct(St.as,St.crossOrigin);vt.d.m(wt,{as:typeof St.as=="string"&&St.as!=="script"?St.as:void 0,crossOrigin:Tt,integrity:typeof St.integrity=="string"?St.integrity:void 0})}else vt.d.m(wt)},reactDom_production.requestFormReset=function(wt){vt.d.r(wt)},reactDom_production.unstable_batchedUpdates=function(wt,St){return wt(St)},reactDom_production.useFormState=function(wt,St,Tt){return Ft.H.useFormState(wt,St,Tt)},reactDom_production.useFormStatus=function(){return Ft.H.useHostTransitionStatus()},reactDom_production.version="19.2.4",reactDom_production}var hasRequiredReactDom;function requireReactDom(){if(hasRequiredReactDom)return reactDom.exports;hasRequiredReactDom=1;function yt(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(yt)}catch(Et){console.error(Et)}}return yt(),reactDom.exports=requireReactDom_production(),reactDom.exports}var hasRequiredReactDomClient_production;function requireReactDomClient_production(){if(hasRequiredReactDomClient_production)return reactDomClient_production;hasRequiredReactDomClient_production=1;var yt=requireScheduler(),Et=requireReact(),xt=requireReactDom();function vt(Dt){var Bt="https://react.dev/errors/"+Dt;if(1<arguments.length){Bt+="?args[]="+encodeURIComponent(arguments[1]);for(var $t=2;$t<arguments.length;$t++)Bt+="&args[]="+encodeURIComponent(arguments[$t])}return"Minified React error #"+Dt+"; visit "+Bt+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function bt(Dt){return!(!Dt||Dt.nodeType!==1&&Dt.nodeType!==9&&Dt.nodeType!==11)}function At(Dt){var Bt=Dt,$t=Dt;if(Dt.alternate)for(;Bt.return;)Bt=Bt.return;else{Dt=Bt;do Bt=Dt,(Bt.flags&4098)!==0&&($t=Bt.return),Dt=Bt.return;while(Dt)}return Bt.tag===3?$t:null}function Ft(Dt){if(Dt.tag===13){var Bt=Dt.memoizedState;if(Bt===null&&(Dt=Dt.alternate,Dt!==null&&(Bt=Dt.memoizedState)),Bt!==null)return Bt.dehydrated}return null}function Ct(Dt){if(Dt.tag===31){var Bt=Dt.memoizedState;if(Bt===null&&(Dt=Dt.alternate,Dt!==null&&(Bt=Dt.memoizedState)),Bt!==null)return Bt.dehydrated}return null}function wt(Dt){if(At(Dt)!==Dt)throw Error(vt(188))}function St(Dt){var Bt=Dt.alternate;if(!Bt){if(Bt=At(Dt),Bt===null)throw Error(vt(188));return Bt!==Dt?null:Dt}for(var $t=Dt,Yt=Bt;;){var an=$t.return;if(an===null)break;var un=an.alternate;if(un===null){if(Yt=an.return,Yt!==null){$t=Yt;continue}break}if(an.child===un.child){for(un=an.child;un;){if(un===$t)return wt(an),Dt;if(un===Yt)return wt(an),Bt;un=un.sibling}throw Error(vt(188))}if($t.return!==Yt.return)$t=an,Yt=un;else{for(var bn=!1,qn=an.child;qn;){if(qn===$t){bn=!0,$t=an,Yt=un;break}if(qn===Yt){bn=!0,Yt=an,$t=un;break}qn=qn.sibling}if(!bn){for(qn=un.child;qn;){if(qn===$t){bn=!0,$t=un,Yt=an;break}if(qn===Yt){bn=!0,Yt=un,$t=an;break}qn=qn.sibling}if(!bn)throw Error(vt(189))}}if($t.alternate!==Yt)throw Error(vt(190))}if($t.tag!==3)throw Error(vt(188));return $t.stateNode.current===$t?Dt:Bt}function Tt(Dt){var Bt=Dt.tag;if(Bt===5||Bt===26||Bt===27||Bt===6)return Dt;for(Dt=Dt.child;Dt!==null;){if(Bt=Tt(Dt),Bt!==null)return Bt;Dt=Dt.sibling}return null}var Rt=Object.assign,Pt=Symbol.for("react.element"),Lt=Symbol.for("react.transitional.element"),kt=Symbol.for("react.portal"),Ot=Symbol.for("react.fragment"),Mt=Symbol.for("react.strict_mode"),It=Symbol.for("react.profiler"),Nt=Symbol.for("react.consumer"),Ut=Symbol.for("react.context"),jt=Symbol.for("react.forward_ref"),Vt=Symbol.for("react.suspense"),zt=Symbol.for("react.suspense_list"),Ht=Symbol.for("react.memo"),Wt=Symbol.for("react.lazy"),Gt=Symbol.for("react.activity"),qt=Symbol.for("react.memo_cache_sentinel"),Xt=Symbol.iterator;function Kt(Dt){return Dt===null||typeof Dt!="object"?null:(Dt=Xt&&Dt[Xt]||Dt["@@iterator"],typeof Dt=="function"?Dt:null)}var Jt=Symbol.for("react.client.reference");function tn(Dt){if(Dt==null)return null;if(typeof Dt=="function")return Dt.$$typeof===Jt?null:Dt.displayName||Dt.name||null;if(typeof Dt=="string")return Dt;switch(Dt){case Ot:return"Fragment";case It:return"Profiler";case Mt:return"StrictMode";case Vt:return"Suspense";case zt:return"SuspenseList";case Gt:return"Activity"}if(typeof Dt=="object")switch(Dt.$$typeof){case kt:return"Portal";case Ut:return Dt.displayName||"Context";case Nt:return(Dt._context.displayName||"Context")+".Consumer";case jt:var Bt=Dt.render;return Dt=Dt.displayName,Dt||(Dt=Bt.displayName||Bt.name||"",Dt=Dt!==""?"ForwardRef("+Dt+")":"ForwardRef"),Dt;case Ht:return Bt=Dt.displayName||null,Bt!==null?Bt:tn(Dt.type)||"Memo";case Wt:Bt=Dt._payload,Dt=Dt._init;try{return tn(Dt(Bt))}catch{}}return null}var sn=Array.isArray,Zt=Et.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,nn=xt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,rn={pending:!1,data:null,method:null,action:null},on=[],ln=-1;function Qt(Dt){return{current:Dt}}function fn(Dt){0>ln||(Dt.current=on[ln],on[ln]=null,ln--)}function pn(Dt,Bt){ln++,on[ln]=Dt.current,Dt.current=Bt}var mn=Qt(null),vn=Qt(null),yn=Qt(null),xn=Qt(null);function Mn(Dt,Bt){switch(pn(yn,Bt),pn(vn,Dt),pn(mn,null),Bt.nodeType){case 9:case 11:Dt=(Dt=Bt.documentElement)&&(Dt=Dt.namespaceURI)?f0(Dt):0;break;default:if(Dt=Bt.tagName,Bt=Bt.namespaceURI)Bt=f0(Bt),Dt=h0(Bt,Dt);else switch(Dt){case"svg":Dt=1;break;case"math":Dt=2;break;default:Dt=0}}fn(mn),pn(mn,Dt)}function $n(){fn(mn),fn(vn),fn(yn)}function Rn(Dt){Dt.memoizedState!==null&&pn(xn,Dt);var Bt=mn.current,$t=h0(Bt,Dt.type);Bt!==$t&&(pn(vn,Dt),pn(mn,$t))}function Tn(Dt){vn.current===Dt&&(fn(mn),fn(vn)),xn.current===Dt&&(fn(xn),ju._currentValue=rn)}var ir,Jn;function jn(Dt){if(ir===void 0)try{throw Error()}catch($t){var Bt=$t.stack.trim().match(/\n( *(at )?)/);ir=Bt&&Bt[1]||"",Jn=-1<$t.stack.indexOf(`
2
2
  at`)?" (<anonymous>)":-1<$t.stack.indexOf("@")?"@unknown:0:0":""}return`
3
3
  `+ir+Dt+Jn}var Wn=!1;function br(Dt,Bt){if(!Dt||Wn)return"";Wn=!0;var $t=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var Yt={DetermineComponentFrameRoot:function(){try{if(Bt){var gi=function(){throw Error()};if(Object.defineProperty(gi.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(gi,[])}catch(oi){var ni=oi}Reflect.construct(Dt,[],gi)}else{try{gi.call()}catch(oi){ni=oi}Dt.call(gi.prototype)}}else{try{throw Error()}catch(oi){ni=oi}(gi=Dt())&&typeof gi.catch=="function"&&gi.catch(function(){})}}catch(oi){if(oi&&ni&&typeof oi.stack=="string")return[oi.stack,ni.stack]}return[null,null]}};Yt.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var an=Object.getOwnPropertyDescriptor(Yt.DetermineComponentFrameRoot,"name");an&&an.configurable&&Object.defineProperty(Yt.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var un=Yt.DetermineComponentFrameRoot(),bn=un[0],qn=un[1];if(bn&&qn){var Sr=bn.split(`
4
4
  `),Jr=qn.split(`
@@ -6,7 +6,7 @@
6
6
  `+Sr[Yt].replace(" at new "," at ");return Dt.displayName&&ui.includes("<anonymous>")&&(ui=ui.replace("<anonymous>",Dt.displayName)),ui}while(1<=Yt&&0<=an);break}}}finally{Wn=!1,Error.prepareStackTrace=$t}return($t=Dt?Dt.displayName||Dt.name:"")?jn($t):""}function Fr(Dt,Bt){switch(Dt.tag){case 26:case 27:case 5:return jn(Dt.type);case 16:return jn("Lazy");case 13:return Dt.child!==Bt&&Bt!==null?jn("Suspense Fallback"):jn("Suspense");case 19:return jn("SuspenseList");case 0:case 15:return br(Dt.type,!1);case 11:return br(Dt.type.render,!1);case 1:return br(Dt.type,!0);case 31:return jn("Activity");default:return""}}function Cr(Dt){try{var Bt="",$t=null;do Bt+=Fr(Dt,$t),$t=Dt,Dt=Dt.return;while(Dt);return Bt}catch(Yt){return`
7
7
  Error generating stack: `+Yt.message+`
8
8
  `+Yt.stack}}var dr=Object.prototype.hasOwnProperty,_r=yt.unstable_scheduleCallback,pr=yt.unstable_cancelCallback,wr=yt.unstable_shouldYield,xr=yt.unstable_requestPaint,Dr=yt.unstable_now,ar=yt.unstable_getCurrentPriorityLevel,Qn=yt.unstable_ImmediatePriority,Cn=yt.unstable_UserBlockingPriority,Bn=yt.unstable_NormalPriority,In=yt.unstable_LowPriority,or=yt.unstable_IdlePriority,rr=yt.log,vr=yt.unstable_setDisableYieldValue,cr=null,gn=null;function wn(Dt){if(typeof rr=="function"&&vr(Dt),gn&&typeof gn.setStrictMode=="function")try{gn.setStrictMode(cr,Dt)}catch{}}var Xn=Math.clz32?Math.clz32:Kn,tr=Math.log,Hn=Math.LN2;function Kn(Dt){return Dt>>>=0,Dt===0?32:31-(tr(Dt)/Hn|0)|0}var _n=256,yr=262144,Or=4194304;function hn(Dt){var Bt=Dt&42;if(Bt!==0)return Bt;switch(Dt&-Dt){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return Dt&261888;case 262144:case 524288:case 1048576:case 2097152:return Dt&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return Dt&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return Dt}}function Ar(Dt,Bt,$t){var Yt=Dt.pendingLanes;if(Yt===0)return 0;var an=0,un=Dt.suspendedLanes,bn=Dt.pingedLanes;Dt=Dt.warmLanes;var qn=Yt&134217727;return qn!==0?(Yt=qn&~un,Yt!==0?an=hn(Yt):(bn&=qn,bn!==0?an=hn(bn):$t||($t=qn&~Dt,$t!==0&&(an=hn($t))))):(qn=Yt&~un,qn!==0?an=hn(qn):bn!==0?an=hn(bn):$t||($t=Yt&~Dt,$t!==0&&(an=hn($t)))),an===0?0:Bt!==0&&Bt!==an&&(Bt&un)===0&&(un=an&-an,$t=Bt&-Bt,un>=$t||un===32&&($t&4194048)!==0)?Bt:an}function hr(Dt,Bt){return(Dt.pendingLanes&~(Dt.suspendedLanes&~Dt.pingedLanes)&Bt)===0}function An(Dt,Bt){switch(Dt){case 1:case 2:case 4:case 8:case 64:return Bt+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return Bt+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function nr(){var Dt=Or;return Or<<=1,(Or&62914560)===0&&(Or=4194304),Dt}function gr(Dt){for(var Bt=[],$t=0;31>$t;$t++)Bt.push(Dt);return Bt}function ii(Dt,Bt){Dt.pendingLanes|=Bt,Bt!==268435456&&(Dt.suspendedLanes=0,Dt.pingedLanes=0,Dt.warmLanes=0)}function ti(Dt,Bt,$t,Yt,an,un){var bn=Dt.pendingLanes;Dt.pendingLanes=$t,Dt.suspendedLanes=0,Dt.pingedLanes=0,Dt.warmLanes=0,Dt.expiredLanes&=$t,Dt.entangledLanes&=$t,Dt.errorRecoveryDisabledLanes&=$t,Dt.shellSuspendCounter=0;var qn=Dt.entanglements,Sr=Dt.expirationTimes,Jr=Dt.hiddenUpdates;for($t=bn&~$t;0<$t;){var ui=31-Xn($t),gi=1<<ui;qn[ui]=0,Sr[ui]=-1;var ni=Jr[ui];if(ni!==null)for(Jr[ui]=null,ui=0;ui<ni.length;ui++){var oi=ni[ui];oi!==null&&(oi.lane&=-536870913)}$t&=~gi}Yt!==0&&di(Dt,Yt,0),un!==0&&an===0&&Dt.tag!==0&&(Dt.suspendedLanes|=un&~(bn&~Bt))}function di(Dt,Bt,$t){Dt.pendingLanes|=Bt,Dt.suspendedLanes&=~Bt;var Yt=31-Xn(Bt);Dt.entangledLanes|=Bt,Dt.entanglements[Yt]=Dt.entanglements[Yt]|1073741824|$t&261930}function Bi(Dt,Bt){var $t=Dt.entangledLanes|=Bt;for(Dt=Dt.entanglements;$t;){var Yt=31-Xn($t),an=1<<Yt;an&Bt|Dt[Yt]&Bt&&(Dt[Yt]|=Bt),$t&=~an}}function as(Dt,Bt){var $t=Bt&-Bt;return $t=($t&42)!==0?1:ki($t),($t&(Dt.suspendedLanes|Bt))!==0?0:$t}function ki(Dt){switch(Dt){case 2:Dt=1;break;case 8:Dt=4;break;case 32:Dt=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:Dt=128;break;case 268435456:Dt=134217728;break;default:Dt=0}return Dt}function Xi(Dt){return Dt&=-Dt,2<Dt?8<Dt?(Dt&134217727)!==0?32:268435456:8:2}function _i(){var Dt=nn.p;return Dt!==0?Dt:(Dt=window.event,Dt===void 0?32:L0(Dt.type))}function ci(Dt,Bt){var $t=nn.p;try{return nn.p=Dt,Bt()}finally{nn.p=$t}}var xi=Math.random().toString(36).slice(2),mi="__reactFiber$"+xi,wi="__reactProps$"+xi,vi="__reactContainer$"+xi,qi="__reactEvents$"+xi,ji="__reactListeners$"+xi,Ni="__reactHandles$"+xi,ls="__reactResources$"+xi,xs="__reactMarker$"+xi;function $s(Dt){delete Dt[mi],delete Dt[wi],delete Dt[qi],delete Dt[ji],delete Dt[Ni]}function Is(Dt){var Bt=Dt[mi];if(Bt)return Bt;for(var $t=Dt.parentNode;$t;){if(Bt=$t[vi]||$t[mi]){if($t=Bt.alternate,Bt.child!==null||$t!==null&&$t.child!==null)for(Dt=x0(Dt);Dt!==null;){if($t=Dt[mi])return $t;Dt=x0(Dt)}return Bt}Dt=$t,$t=Dt.parentNode}return null}function Hs(Dt){if(Dt=Dt[mi]||Dt[vi]){var Bt=Dt.tag;if(Bt===5||Bt===6||Bt===13||Bt===31||Bt===26||Bt===27||Bt===3)return Dt}return null}function ws(Dt){var Bt=Dt.tag;if(Bt===5||Bt===26||Bt===27||Bt===6)return Dt.stateNode;throw Error(vt(33))}function Es(Dt){var Bt=Dt[ls];return Bt||(Bt=Dt[ls]={hoistableStyles:new Map,hoistableScripts:new Map}),Bt}function Ds(Dt){Dt[xs]=!0}var Fa=new Set,Ja={};function oa(Dt,Bt){aa(Dt,Bt),aa(Dt+"Capture",Bt)}function aa(Dt,Bt){for(Ja[Dt]=Bt,Dt=0;Dt<Bt.length;Dt++)Fa.add(Bt[Dt])}var Mi=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Wa={},Wi={};function Mo(Dt){return dr.call(Wi,Dt)?!0:dr.call(Wa,Dt)?!1:Mi.test(Dt)?Wi[Dt]=!0:(Wa[Dt]=!0,!1)}function ys(Dt,Bt,$t){if(Mo(Bt))if($t===null)Dt.removeAttribute(Bt);else{switch(typeof $t){case"undefined":case"function":case"symbol":Dt.removeAttribute(Bt);return;case"boolean":var Yt=Bt.toLowerCase().slice(0,5);if(Yt!=="data-"&&Yt!=="aria-"){Dt.removeAttribute(Bt);return}}Dt.setAttribute(Bt,""+$t)}}function Va(Dt,Bt,$t){if($t===null)Dt.removeAttribute(Bt);else{switch(typeof $t){case"undefined":case"function":case"symbol":case"boolean":Dt.removeAttribute(Bt);return}Dt.setAttribute(Bt,""+$t)}}function io(Dt,Bt,$t,Yt){if(Yt===null)Dt.removeAttribute($t);else{switch(typeof Yt){case"undefined":case"function":case"symbol":case"boolean":Dt.removeAttribute($t);return}Dt.setAttributeNS(Bt,$t,""+Yt)}}function Fo(Dt){switch(typeof Dt){case"bigint":case"boolean":case"number":case"string":case"undefined":return Dt;case"object":return Dt;default:return""}}function _o(Dt){var Bt=Dt.type;return(Dt=Dt.nodeName)&&Dt.toLowerCase()==="input"&&(Bt==="checkbox"||Bt==="radio")}function lo(Dt,Bt,$t){var Yt=Object.getOwnPropertyDescriptor(Dt.constructor.prototype,Bt);if(!Dt.hasOwnProperty(Bt)&&typeof Yt<"u"&&typeof Yt.get=="function"&&typeof Yt.set=="function"){var an=Yt.get,un=Yt.set;return Object.defineProperty(Dt,Bt,{configurable:!0,get:function(){return an.call(this)},set:function(bn){$t=""+bn,un.call(this,bn)}}),Object.defineProperty(Dt,Bt,{enumerable:Yt.enumerable}),{getValue:function(){return $t},setValue:function(bn){$t=""+bn},stopTracking:function(){Dt._valueTracker=null,delete Dt[Bt]}}}}function Do(Dt){if(!Dt._valueTracker){var Bt=_o(Dt)?"checked":"value";Dt._valueTracker=lo(Dt,Bt,""+Dt[Bt])}}function Cl(Dt){if(!Dt)return!1;var Bt=Dt._valueTracker;if(!Bt)return!0;var $t=Bt.getValue(),Yt="";return Dt&&(Yt=_o(Dt)?Dt.checked?"true":"false":Dt.value),Dt=Yt,Dt!==$t?(Bt.setValue(Dt),!0):!1}function ea(Dt){if(Dt=Dt||(typeof document<"u"?document:void 0),typeof Dt>"u")return null;try{return Dt.activeElement||Dt.body}catch{return Dt.body}}var ma=/[\n"\\]/g;function cs(Dt){return Dt.replace(ma,function(Bt){return"\\"+Bt.charCodeAt(0).toString(16)+" "})}function wa(Dt,Bt,$t,Yt,an,un,bn,qn){Dt.name="",bn!=null&&typeof bn!="function"&&typeof bn!="symbol"&&typeof bn!="boolean"?Dt.type=bn:Dt.removeAttribute("type"),Bt!=null?bn==="number"?(Bt===0&&Dt.value===""||Dt.value!=Bt)&&(Dt.value=""+Fo(Bt)):Dt.value!==""+Fo(Bt)&&(Dt.value=""+Fo(Bt)):bn!=="submit"&&bn!=="reset"||Dt.removeAttribute("value"),Bt!=null?Sa(Dt,bn,Fo(Bt)):$t!=null?Sa(Dt,bn,Fo($t)):Yt!=null&&Dt.removeAttribute("value"),an==null&&un!=null&&(Dt.defaultChecked=!!un),an!=null&&(Dt.checked=an&&typeof an!="function"&&typeof an!="symbol"),qn!=null&&typeof qn!="function"&&typeof qn!="symbol"&&typeof qn!="boolean"?Dt.name=""+Fo(qn):Dt.removeAttribute("name")}function la(Dt,Bt,$t,Yt,an,un,bn,qn){if(un!=null&&typeof un!="function"&&typeof un!="symbol"&&typeof un!="boolean"&&(Dt.type=un),Bt!=null||$t!=null){if(!(un!=="submit"&&un!=="reset"||Bt!=null)){Do(Dt);return}$t=$t!=null?""+Fo($t):"",Bt=Bt!=null?""+Fo(Bt):$t,qn||Bt===Dt.value||(Dt.value=Bt),Dt.defaultValue=Bt}Yt=Yt??an,Yt=typeof Yt!="function"&&typeof Yt!="symbol"&&!!Yt,Dt.checked=qn?Dt.checked:!!Yt,Dt.defaultChecked=!!Yt,bn!=null&&typeof bn!="function"&&typeof bn!="symbol"&&typeof bn!="boolean"&&(Dt.name=bn),Do(Dt)}function Sa(Dt,Bt,$t){Bt==="number"&&ea(Dt.ownerDocument)===Dt||Dt.defaultValue===""+$t||(Dt.defaultValue=""+$t)}function Io(Dt,Bt,$t,Yt){if(Dt=Dt.options,Bt){Bt={};for(var an=0;an<$t.length;an++)Bt["$"+$t[an]]=!0;for($t=0;$t<Dt.length;$t++)an=Bt.hasOwnProperty("$"+Dt[$t].value),Dt[$t].selected!==an&&(Dt[$t].selected=an),an&&Yt&&(Dt[$t].defaultSelected=!0)}else{for($t=""+Fo($t),Bt=null,an=0;an<Dt.length;an++){if(Dt[an].value===$t){Dt[an].selected=!0,Yt&&(Dt[an].defaultSelected=!0);return}Bt!==null||Dt[an].disabled||(Bt=Dt[an])}Bt!==null&&(Bt.selected=!0)}}function xo(Dt,Bt,$t){if(Bt!=null&&(Bt=""+Fo(Bt),Bt!==Dt.value&&(Dt.value=Bt),$t==null)){Dt.defaultValue!==Bt&&(Dt.defaultValue=Bt);return}Dt.defaultValue=$t!=null?""+Fo($t):""}function Ga(Dt,Bt,$t,Yt){if(Bt==null){if(Yt!=null){if($t!=null)throw Error(vt(92));if(sn(Yt)){if(1<Yt.length)throw Error(vt(93));Yt=Yt[0]}$t=Yt}$t==null&&($t=""),Bt=$t}$t=Fo(Bt),Dt.defaultValue=$t,Yt=Dt.textContent,Yt===$t&&Yt!==""&&Yt!==null&&(Dt.value=Yt),Do(Dt)}function wo(Dt,Bt){if(Bt){var $t=Dt.firstChild;if($t&&$t===Dt.lastChild&&$t.nodeType===3){$t.nodeValue=Bt;return}}Dt.textContent=Bt}var Fl=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function ca(Dt,Bt,$t){var Yt=Bt.indexOf("--")===0;$t==null||typeof $t=="boolean"||$t===""?Yt?Dt.setProperty(Bt,""):Bt==="float"?Dt.cssFloat="":Dt[Bt]="":Yt?Dt.setProperty(Bt,$t):typeof $t!="number"||$t===0||Fl.has(Bt)?Bt==="float"?Dt.cssFloat=$t:Dt[Bt]=(""+$t).trim():Dt[Bt]=$t+"px"}function za(Dt,Bt,$t){if(Bt!=null&&typeof Bt!="object")throw Error(vt(62));if(Dt=Dt.style,$t!=null){for(var Yt in $t)!$t.hasOwnProperty(Yt)||Bt!=null&&Bt.hasOwnProperty(Yt)||(Yt.indexOf("--")===0?Dt.setProperty(Yt,""):Yt==="float"?Dt.cssFloat="":Dt[Yt]="");for(var an in Bt)Yt=Bt[an],Bt.hasOwnProperty(an)&&$t[an]!==Yt&&ca(Dt,an,Yt)}else for(var un in Bt)Bt.hasOwnProperty(un)&&ca(Dt,un,Bt[un])}function Uo(Dt){if(Dt.indexOf("-")===-1)return!1;switch(Dt){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Vi=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Os=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function bs(Dt){return Os.test(""+Dt)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":Dt}function $o(){}var al=null;function qo(Dt){return Dt=Dt.target||Dt.srcElement||window,Dt.correspondingUseElement&&(Dt=Dt.correspondingUseElement),Dt.nodeType===3?Dt.parentNode:Dt}var Da=null,qa=null;function Ta(Dt){var Bt=Hs(Dt);if(Bt&&(Dt=Bt.stateNode)){var $t=Dt[wi]||null;e:switch(Dt=Bt.stateNode,Bt.type){case"input":if(wa(Dt,$t.value,$t.defaultValue,$t.defaultValue,$t.checked,$t.defaultChecked,$t.type,$t.name),Bt=$t.name,$t.type==="radio"&&Bt!=null){for($t=Dt;$t.parentNode;)$t=$t.parentNode;for($t=$t.querySelectorAll('input[name="'+cs(""+Bt)+'"][type="radio"]'),Bt=0;Bt<$t.length;Bt++){var Yt=$t[Bt];if(Yt!==Dt&&Yt.form===Dt.form){var an=Yt[wi]||null;if(!an)throw Error(vt(90));wa(Yt,an.value,an.defaultValue,an.defaultValue,an.checked,an.defaultChecked,an.type,an.name)}}for(Bt=0;Bt<$t.length;Bt++)Yt=$t[Bt],Yt.form===Dt.form&&Cl(Yt)}break e;case"textarea":xo(Dt,$t.value,$t.defaultValue);break e;case"select":Bt=$t.value,Bt!=null&&Io(Dt,!!$t.multiple,Bt,!1)}}}var Zl=!1;function $l(Dt,Bt,$t){if(Zl)return Dt(Bt,$t);Zl=!0;try{var Yt=Dt(Bt);return Yt}finally{if(Zl=!1,(Da!==null||qa!==null)&&(gd(),Da&&(Bt=Da,Dt=qa,qa=Da=null,Ta(Bt),Dt)))for(Bt=0;Bt<Dt.length;Bt++)Ta(Dt[Bt])}}function Ts(Dt,Bt){var $t=Dt.stateNode;if($t===null)return null;var Yt=$t[wi]||null;if(Yt===null)return null;$t=Yt[Bt];e:switch(Bt){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(Yt=!Yt.disabled)||(Dt=Dt.type,Yt=!(Dt==="button"||Dt==="input"||Dt==="select"||Dt==="textarea")),Dt=!Yt;break e;default:Dt=!1}if(Dt)return null;if($t&&typeof $t!="function")throw Error(vt(231,Bt,typeof $t));return $t}var To=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ea=!1;if(To)try{var Kr={};Object.defineProperty(Kr,"passive",{get:function(){Ea=!0}}),window.addEventListener("test",Kr,Kr),window.removeEventListener("test",Kr,Kr)}catch{Ea=!1}var gs=null,Ra=null,po=null;function el(){if(po)return po;var Dt,Bt=Ra,$t=Bt.length,Yt,an="value"in gs?gs.value:gs.textContent,un=an.length;for(Dt=0;Dt<$t&&Bt[Dt]===an[Dt];Dt++);var bn=$t-Dt;for(Yt=1;Yt<=bn&&Bt[$t-Yt]===an[un-Yt];Yt++);return po=an.slice(Dt,1<Yt?1-Yt:void 0)}function tl(Dt){var Bt=Dt.keyCode;return"charCode"in Dt?(Dt=Dt.charCode,Dt===0&&Bt===13&&(Dt=13)):Dt=Bt,Dt===10&&(Dt=13),32<=Dt||Dt===13?Dt:0}function ll(){return!0}function us(){return!1}function si(Dt){function Bt($t,Yt,an,un,bn){this._reactName=$t,this._targetInst=an,this.type=Yt,this.nativeEvent=un,this.target=bn,this.currentTarget=null;for(var qn in Dt)Dt.hasOwnProperty(qn)&&($t=Dt[qn],this[qn]=$t?$t(un):un[qn]);return this.isDefaultPrevented=(un.defaultPrevented!=null?un.defaultPrevented:un.returnValue===!1)?ll:us,this.isPropagationStopped=us,this}return Rt(Bt.prototype,{preventDefault:function(){this.defaultPrevented=!0;var $t=this.nativeEvent;$t&&($t.preventDefault?$t.preventDefault():typeof $t.returnValue!="unknown"&&($t.returnValue=!1),this.isDefaultPrevented=ll)},stopPropagation:function(){var $t=this.nativeEvent;$t&&($t.stopPropagation?$t.stopPropagation():typeof $t.cancelBubble!="unknown"&&($t.cancelBubble=!0),this.isPropagationStopped=ll)},persist:function(){},isPersistent:ll}),Bt}var Un={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(Dt){return Dt.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},pi=si(Un),zi=Rt({},Un,{view:0,detail:0}),Zi=si(zi),bi,Fi,ts,Gi=Rt({},zi,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Yo,button:0,buttons:0,relatedTarget:function(Dt){return Dt.relatedTarget===void 0?Dt.fromElement===Dt.srcElement?Dt.toElement:Dt.fromElement:Dt.relatedTarget},movementX:function(Dt){return"movementX"in Dt?Dt.movementX:(Dt!==ts&&(ts&&Dt.type==="mousemove"?(bi=Dt.screenX-ts.screenX,Fi=Dt.screenY-ts.screenY):Fi=bi=0,ts=Dt),bi)},movementY:function(Dt){return"movementY"in Dt?Dt.movementY:Fi}}),hs=si(Gi),Rs=Rt({},Gi,{dataTransfer:0}),vo=si(Rs),go=Rt({},zi,{relatedTarget:0}),ms=si(go),Ii=Rt({},Un,{animationName:0,elapsedTime:0,pseudoElement:0}),Ui=si(Ii),Fs=Rt({},Un,{clipboardData:function(Dt){return"clipboardData"in Dt?Dt.clipboardData:window.clipboardData}}),Ws=si(Fs),Ba=Rt({},Un,{data:0}),ua=si(Ba),Oo={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},jo={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},qs={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Ya(Dt){var Bt=this.nativeEvent;return Bt.getModifierState?Bt.getModifierState(Dt):(Dt=qs[Dt])?!!Bt[Dt]:!1}function Yo(){return Ya}var wl=Rt({},zi,{key:function(Dt){if(Dt.key){var Bt=Oo[Dt.key]||Dt.key;if(Bt!=="Unidentified")return Bt}return Dt.type==="keypress"?(Dt=tl(Dt),Dt===13?"Enter":String.fromCharCode(Dt)):Dt.type==="keydown"||Dt.type==="keyup"?jo[Dt.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Yo,charCode:function(Dt){return Dt.type==="keypress"?tl(Dt):0},keyCode:function(Dt){return Dt.type==="keydown"||Dt.type==="keyup"?Dt.keyCode:0},which:function(Dt){return Dt.type==="keypress"?tl(Dt):Dt.type==="keydown"||Dt.type==="keyup"?Dt.keyCode:0}}),cl=si(wl),As=Rt({},Gi,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Po=si(As),da=Rt({},zi,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Yo}),nl=si(da),uo=Rt({},Un,{propertyName:0,elapsedTime:0,pseudoElement:0}),Ls=si(uo),ya=Rt({},Gi,{deltaX:function(Dt){return"deltaX"in Dt?Dt.deltaX:"wheelDeltaX"in Dt?-Dt.wheelDeltaX:0},deltaY:function(Dt){return"deltaY"in Dt?Dt.deltaY:"wheelDeltaY"in Dt?-Dt.wheelDeltaY:"wheelDelta"in Dt?-Dt.wheelDelta:0},deltaZ:0,deltaMode:0}),jl=si(ya),Ho=Rt({},Un,{newState:0,oldState:0}),hi=si(Ho),Bs=[9,13,27,32],Li=To&&"CompositionEvent"in window,_a=null;To&&"documentMode"in document&&(_a=document.documentMode);var ta=To&&"TextEvent"in window&&!_a,Pl=To&&(!Li||_a&&8<_a&&11>=_a),lc=" ",_l=!1;function ul(Dt,Bt){switch(Dt){case"keyup":return Bs.indexOf(Bt.keyCode)!==-1;case"keydown":return Bt.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ec(Dt){return Dt=Dt.detail,typeof Dt=="object"&&"data"in Dt?Dt.data:null}var Sl=!1;function Lo(Dt,Bt){switch(Dt){case"compositionend":return Ec(Bt);case"keypress":return Bt.which!==32?null:(_l=!0,lc);case"textInput":return Dt=Bt.data,Dt===lc&&_l?null:Dt;default:return null}}function cc(Dt,Bt){if(Sl)return Dt==="compositionend"||!Li&&ul(Dt,Bt)?(Dt=el(),po=Ra=gs=null,Sl=!1,Dt):null;switch(Dt){case"paste":return null;case"keypress":if(!(Bt.ctrlKey||Bt.altKey||Bt.metaKey)||Bt.ctrlKey&&Bt.altKey){if(Bt.char&&1<Bt.char.length)return Bt.char;if(Bt.which)return String.fromCharCode(Bt.which)}return null;case"compositionend":return Pl&&Bt.locale!=="ko"?null:Bt.data;default:return null}}var ss={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Dl(Dt){var Bt=Dt&&Dt.nodeName&&Dt.nodeName.toLowerCase();return Bt==="input"?!!ss[Dt.type]:Bt==="textarea"}function Ql(Dt,Bt,$t,Yt){Da?qa?qa.push(Yt):qa=[Yt]:Da=Yt,Bt=bd(Bt,"onChange"),0<Bt.length&&($t=new pi("onChange","change",null,$t,Yt),Dt.push({event:$t,listeners:Bt}))}var so=null,xl=null;function Jl(Dt){o0(Dt,0)}function Ll(Dt){var Bt=ws(Dt);if(Cl(Bt))return Dt}function uc(Dt,Bt){if(Dt==="change")return Bt}var Xa=!1;if(To){var rl;if(To){var mo="oninput"in document;if(!mo){var na=document.createElement("div");na.setAttribute("oninput","return;"),mo=typeof na.oninput=="function"}rl=mo}else rl=!1;Xa=rl&&(!document.documentMode||9<document.documentMode)}function dl(){so&&(so.detachEvent("onpropertychange",Tl),xl=so=null)}function Tl(Dt){if(Dt.propertyName==="value"&&Ll(xl)){var Bt=[];Ql(Bt,xl,Dt,qo(Dt)),$l(Jl,Bt)}}function Rl(Dt,Bt,$t){Dt==="focusin"?(dl(),so=Bt,xl=$t,so.attachEvent("onpropertychange",Tl)):Dt==="focusout"&&dl()}function Ma(Dt){if(Dt==="selectionchange"||Dt==="keyup"||Dt==="keydown")return Ll(xl)}function kr(Dt,Bt){if(Dt==="click")return Ll(Bt)}function kl(Dt,Bt){if(Dt==="input"||Dt==="change")return Ll(Bt)}function bo(Dt,Bt){return Dt===Bt&&(Dt!==0||1/Dt===1/Bt)||Dt!==Dt&&Bt!==Bt}var Ys=typeof Object.is=="function"?Object.is:bo;function va(Dt,Bt){if(Ys(Dt,Bt))return!0;if(typeof Dt!="object"||Dt===null||typeof Bt!="object"||Bt===null)return!1;var $t=Object.keys(Dt),Yt=Object.keys(Bt);if($t.length!==Yt.length)return!1;for(Yt=0;Yt<$t.length;Yt++){var an=$t[Yt];if(!dr.call(Bt,an)||!Ys(Dt[an],Bt[an]))return!1}return!0}function dc(Dt){for(;Dt&&Dt.firstChild;)Dt=Dt.firstChild;return Dt}function fc(Dt,Bt){var $t=dc(Dt);Dt=0;for(var Yt;$t;){if($t.nodeType===3){if(Yt=Dt+$t.textContent.length,Dt<=Bt&&Yt>=Bt)return{node:$t,offset:Bt-Dt};Dt=Yt}e:{for(;$t;){if($t.nextSibling){$t=$t.nextSibling;break e}$t=$t.parentNode}$t=void 0}$t=dc($t)}}function il(Dt,Bt){return Dt&&Bt?Dt===Bt?!0:Dt&&Dt.nodeType===3?!1:Bt&&Bt.nodeType===3?il(Dt,Bt.parentNode):"contains"in Dt?Dt.contains(Bt):Dt.compareDocumentPosition?!!(Dt.compareDocumentPosition(Bt)&16):!1:!1}function Bl(Dt){Dt=Dt!=null&&Dt.ownerDocument!=null&&Dt.ownerDocument.defaultView!=null?Dt.ownerDocument.defaultView:window;for(var Bt=ea(Dt.document);Bt instanceof Dt.HTMLIFrameElement;){try{var $t=typeof Bt.contentWindow.location.href=="string"}catch{$t=!1}if($t)Dt=Bt.contentWindow;else break;Bt=ea(Dt.document)}return Bt}function sl(Dt){var Bt=Dt&&Dt.nodeName&&Dt.nodeName.toLowerCase();return Bt&&(Bt==="input"&&(Dt.type==="text"||Dt.type==="search"||Dt.type==="tel"||Dt.type==="url"||Dt.type==="password")||Bt==="textarea"||Dt.contentEditable==="true")}var Nl=To&&"documentMode"in document&&11>=document.documentMode,Ml=null,Hl=null,ko=null,Zs=!1;function En(Dt,Bt,$t){var Yt=$t.window===$t?$t.document:$t.nodeType===9?$t:$t.ownerDocument;Zs||Ml==null||Ml!==ea(Yt)||(Yt=Ml,"selectionStart"in Yt&&sl(Yt)?Yt={start:Yt.selectionStart,end:Yt.selectionEnd}:(Yt=(Yt.ownerDocument&&Yt.ownerDocument.defaultView||window).getSelection(),Yt={anchorNode:Yt.anchorNode,anchorOffset:Yt.anchorOffset,focusNode:Yt.focusNode,focusOffset:Yt.focusOffset}),ko&&va(ko,Yt)||(ko=Yt,Yt=bd(Hl,"onSelect"),0<Yt.length&&(Bt=new pi("onSelect","select",null,Bt,$t),Dt.push({event:Bt,listeners:Yt}),Bt.target=Ml)))}function kn(Dt,Bt){var $t={};return $t[Dt.toLowerCase()]=Bt.toLowerCase(),$t["Webkit"+Dt]="webkit"+Bt,$t["Moz"+Dt]="moz"+Bt,$t}var Vn={animationend:kn("Animation","AnimationEnd"),animationiteration:kn("Animation","AnimationIteration"),animationstart:kn("Animation","AnimationStart"),transitionrun:kn("Transition","TransitionRun"),transitionstart:kn("Transition","TransitionStart"),transitioncancel:kn("Transition","TransitionCancel"),transitionend:kn("Transition","TransitionEnd")},Nn={},Dn={};To&&(Dn=document.createElement("div").style,"AnimationEvent"in window||(delete Vn.animationend.animation,delete Vn.animationiteration.animation,delete Vn.animationstart.animation),"TransitionEvent"in window||delete Vn.transitionend.transition);function On(Dt){if(Nn[Dt])return Nn[Dt];if(!Vn[Dt])return Dt;var Bt=Vn[Dt],$t;for($t in Bt)if(Bt.hasOwnProperty($t)&&$t in Dn)return Nn[Dt]=Bt[$t];return Dt}var Pn=On("animationend"),Zn=On("animationiteration"),sr=On("animationstart"),fr=On("transitionrun"),mr=On("transitionstart"),Pr=On("transitioncancel"),Ur=On("transitionend"),Rr=new Map,Wr="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Wr.push("scrollEnd");function $r(Dt,Bt){Rr.set(Dt,Bt),oa(Bt,[Dt])}var qr=typeof reportError=="function"?reportError:function(Dt){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var Bt=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof Dt=="object"&&Dt!==null&&typeof Dt.message=="string"?String(Dt.message):String(Dt),error:Dt});if(!window.dispatchEvent(Bt))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",Dt);return}console.error(Dt)},Vr=[],ri=0,Ei=0;function Di(){for(var Dt=ri,Bt=Ei=ri=0;Bt<Dt;){var $t=Vr[Bt];Vr[Bt++]=null;var Yt=Vr[Bt];Vr[Bt++]=null;var an=Vr[Bt];Vr[Bt++]=null;var un=Vr[Bt];if(Vr[Bt++]=null,Yt!==null&&an!==null){var bn=Yt.pending;bn===null?an.next=an:(an.next=bn.next,bn.next=an),Yt.pending=an}un!==0&&Si($t,an,un)}}function Hi(Dt,Bt,$t,Yt){Vr[ri++]=Dt,Vr[ri++]=Bt,Vr[ri++]=$t,Vr[ri++]=Yt,Ei|=Yt,Dt.lanes|=Yt,Dt=Dt.alternate,Dt!==null&&(Dt.lanes|=Yt)}function Pi(Dt,Bt,$t,Yt){return Hi(Dt,Bt,$t,Yt),Ci(Dt)}function Qi(Dt,Bt){return Hi(Dt,null,null,Bt),Ci(Dt)}function Si(Dt,Bt,$t){Dt.lanes|=$t;var Yt=Dt.alternate;Yt!==null&&(Yt.lanes|=$t);for(var an=!1,un=Dt.return;un!==null;)un.childLanes|=$t,Yt=un.alternate,Yt!==null&&(Yt.childLanes|=$t),un.tag===22&&(Dt=un.stateNode,Dt===null||Dt._visibility&1||(an=!0)),Dt=un,un=un.return;return Dt.tag===3?(un=Dt.stateNode,an&&Bt!==null&&(an=31-Xn($t),Dt=un.hiddenUpdates,Yt=Dt[an],Yt===null?Dt[an]=[Bt]:Yt.push(Bt),Bt.lane=$t|536870912),un):null}function Ci(Dt){if(50<Pu)throw Pu=0,Tf=null,Error(vt(185));for(var Bt=Dt.return;Bt!==null;)Dt=Bt,Bt=Dt.return;return Dt.tag===3?Dt.stateNode:null}var Ai={};function Xs(Dt,Bt,$t,Yt){this.tag=Dt,this.key=$t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=Bt,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=Yt,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ks(Dt,Bt,$t,Yt){return new Xs(Dt,Bt,$t,Yt)}function fa(Dt){return Dt=Dt.prototype,!(!Dt||!Dt.isReactComponent)}function ra(Dt,Bt){var $t=Dt.alternate;return $t===null?($t=Ks(Dt.tag,Bt,Dt.key,Dt.mode),$t.elementType=Dt.elementType,$t.type=Dt.type,$t.stateNode=Dt.stateNode,$t.alternate=Dt,Dt.alternate=$t):($t.pendingProps=Bt,$t.type=Dt.type,$t.flags=0,$t.subtreeFlags=0,$t.deletions=null),$t.flags=Dt.flags&65011712,$t.childLanes=Dt.childLanes,$t.lanes=Dt.lanes,$t.child=Dt.child,$t.memoizedProps=Dt.memoizedProps,$t.memoizedState=Dt.memoizedState,$t.updateQueue=Dt.updateQueue,Bt=Dt.dependencies,$t.dependencies=Bt===null?null:{lanes:Bt.lanes,firstContext:Bt.firstContext},$t.sibling=Dt.sibling,$t.index=Dt.index,$t.ref=Dt.ref,$t.refCleanup=Dt.refCleanup,$t}function Qs(Dt,Bt){Dt.flags&=65011714;var $t=Dt.alternate;return $t===null?(Dt.childLanes=0,Dt.lanes=Bt,Dt.child=null,Dt.subtreeFlags=0,Dt.memoizedProps=null,Dt.memoizedState=null,Dt.updateQueue=null,Dt.dependencies=null,Dt.stateNode=null):(Dt.childLanes=$t.childLanes,Dt.lanes=$t.lanes,Dt.child=$t.child,Dt.subtreeFlags=0,Dt.deletions=null,Dt.memoizedProps=$t.memoizedProps,Dt.memoizedState=$t.memoizedState,Dt.updateQueue=$t.updateQueue,Dt.type=$t.type,Bt=$t.dependencies,Dt.dependencies=Bt===null?null:{lanes:Bt.lanes,firstContext:Bt.firstContext}),Dt}function Ia(Dt,Bt,$t,Yt,an,un){var bn=0;if(Yt=Dt,typeof Dt=="function")fa(Dt)&&(bn=1);else if(typeof Dt=="string")bn=Wg(Dt,$t,mn.current)?26:Dt==="html"||Dt==="head"||Dt==="body"?27:5;else e:switch(Dt){case Gt:return Dt=Ks(31,$t,Bt,an),Dt.elementType=Gt,Dt.lanes=un,Dt;case Ot:return ba($t.children,an,un,Bt);case Mt:bn=8,an|=24;break;case It:return Dt=Ks(12,$t,Bt,an|2),Dt.elementType=It,Dt.lanes=un,Dt;case Vt:return Dt=Ks(13,$t,Bt,an),Dt.elementType=Vt,Dt.lanes=un,Dt;case zt:return Dt=Ks(19,$t,Bt,an),Dt.elementType=zt,Dt.lanes=un,Dt;default:if(typeof Dt=="object"&&Dt!==null)switch(Dt.$$typeof){case Ut:bn=10;break e;case Nt:bn=9;break e;case jt:bn=11;break e;case Ht:bn=14;break e;case Wt:bn=16,Yt=null;break e}bn=29,$t=Error(vt(130,Dt===null?"null":typeof Dt,"")),Yt=null}return Bt=Ks(bn,$t,Bt,an),Bt.elementType=Dt,Bt.type=Yt,Bt.lanes=un,Bt}function ba(Dt,Bt,$t,Yt){return Dt=Ks(7,Dt,Yt,Bt),Dt.lanes=$t,Dt}function zl(Dt,Bt,$t){return Dt=Ks(6,Dt,null,Bt),Dt.lanes=$t,Dt}function Ua(Dt){var Bt=Ks(18,null,null,0);return Bt.stateNode=Dt,Bt}function Il(Dt,Bt,$t){return Bt=Ks(4,Dt.children!==null?Dt.children:[],Dt.key,Bt),Bt.lanes=$t,Bt.stateNode={containerInfo:Dt.containerInfo,pendingChildren:null,implementation:Dt.implementation},Bt}var Oa=new WeakMap;function Xo(Dt,Bt){if(typeof Dt=="object"&&Dt!==null){var $t=Oa.get(Dt);return $t!==void 0?$t:(Bt={value:Dt,source:Bt,stack:Cr(Bt)},Oa.set(Dt,Bt),Bt)}return{value:Dt,source:Bt,stack:Cr(Bt)}}var Pa=[],Ko=0,ia=null,Ol=0,$a=[],Aa=0,fl=null,hl=1,pl="";function vl(Dt,Bt){Pa[Ko++]=Ol,Pa[Ko++]=ia,ia=Dt,Ol=Bt}function bc(Dt,Bt,$t){$a[Aa++]=hl,$a[Aa++]=pl,$a[Aa++]=fl,fl=Dt;var Yt=hl;Dt=pl;var an=32-Xn(Yt)-1;Yt&=~(1<<an),$t+=1;var un=32-Xn(Bt)+an;if(30<un){var bn=an-an%5;un=(Yt&(1<<bn)-1).toString(32),Yt>>=bn,an-=bn,hl=1<<32-Xn(Bt)+an|$t<<an|Yt,pl=un+Dt}else hl=1<<un|$t<<an|Yt,pl=Dt}function zn(Dt){Dt.return!==null&&(vl(Dt,1),bc(Dt,1,0))}function Mr(Dt){for(;Dt===ia;)ia=Pa[--Ko],Pa[Ko]=null,Ol=Pa[--Ko],Pa[Ko]=null;for(;Dt===fl;)fl=$a[--Aa],$a[Aa]=null,pl=$a[--Aa],$a[Aa]=null,hl=$a[--Aa],$a[Aa]=null}function Br(Dt,Bt){$a[Aa++]=hl,$a[Aa++]=pl,$a[Aa++]=fl,hl=Bt.id,pl=Bt.overflow,fl=Dt}var Nr=null,Hr=null,Fn=!1,Ln=null,Gn=!1,er=Error(vt(519));function Er(Dt){var Bt=Error(vt(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Ri(Xo(Bt,Dt)),er}function Tr(Dt){var Bt=Dt.stateNode,$t=Dt.type,Yt=Dt.memoizedProps;switch(Bt[mi]=Dt,Bt[wi]=Yt,$t){case"dialog":ro("cancel",Bt),ro("close",Bt);break;case"iframe":case"object":case"embed":ro("load",Bt);break;case"video":case"audio":for($t=0;$t<ku.length;$t++)ro(ku[$t],Bt);break;case"source":ro("error",Bt);break;case"img":case"image":case"link":ro("error",Bt),ro("load",Bt);break;case"details":ro("toggle",Bt);break;case"input":ro("invalid",Bt),la(Bt,Yt.value,Yt.defaultValue,Yt.checked,Yt.defaultChecked,Yt.type,Yt.name,!0);break;case"select":ro("invalid",Bt);break;case"textarea":ro("invalid",Bt),Ga(Bt,Yt.value,Yt.defaultValue,Yt.children)}$t=Yt.children,typeof $t!="string"&&typeof $t!="number"&&typeof $t!="bigint"||Bt.textContent===""+$t||Yt.suppressHydrationWarning===!0||u0(Bt.textContent,$t)?(Yt.popover!=null&&(ro("beforetoggle",Bt),ro("toggle",Bt)),Yt.onScroll!=null&&ro("scroll",Bt),Yt.onScrollEnd!=null&&ro("scrollend",Bt),Yt.onClick!=null&&(Bt.onclick=$o),Bt=!0):Bt=!1,Bt||Er(Dt,!0)}function ai(Dt){for(Nr=Dt.return;Nr;)switch(Nr.tag){case 5:case 31:case 13:Gn=!1;return;case 27:case 3:Gn=!0;return;default:Nr=Nr.return}}function Yr(Dt){if(Dt!==Nr)return!1;if(!Fn)return ai(Dt),Fn=!0,!1;var Bt=Dt.tag,$t;if(($t=Bt!==3&&Bt!==27)&&(($t=Bt===5)&&($t=Dt.type,$t=!($t!=="form"&&$t!=="button")||Wf(Dt.type,Dt.memoizedProps)),$t=!$t),$t&&Hr&&Er(Dt),ai(Dt),Bt===13){if(Dt=Dt.memoizedState,Dt=Dt!==null?Dt.dehydrated:null,!Dt)throw Error(vt(317));Hr=_0(Dt)}else if(Bt===31){if(Dt=Dt.memoizedState,Dt=Dt!==null?Dt.dehydrated:null,!Dt)throw Error(vt(317));Hr=_0(Dt)}else Bt===27?(Bt=Hr,Yc(Dt.type)?(Dt=Xf,Xf=null,Hr=Dt):Hr=Bt):Hr=Nr?gc(Dt.stateNode.nextSibling):null;return!0}function li(){Hr=Nr=null,Fn=!1}function yi(){var Dt=Ln;return Dt!==null&&(Xl===null?Xl=Dt:Xl.push.apply(Xl,Dt),Ln=null),Dt}function Ri(Dt){Ln===null?Ln=[Dt]:Ln.push(Dt)}var Ki=Qt(null),ns=null,Vs=null;function Ps(Dt,Bt,$t){pn(Ki,Bt._currentValue),Bt._currentValue=$t}function ks(Dt){Dt._currentValue=Ki.current,fn(Ki)}function Ms(Dt,Bt,$t){for(;Dt!==null;){var Yt=Dt.alternate;if((Dt.childLanes&Bt)!==Bt?(Dt.childLanes|=Bt,Yt!==null&&(Yt.childLanes|=Bt)):Yt!==null&&(Yt.childLanes&Bt)!==Bt&&(Yt.childLanes|=Bt),Dt===$t)break;Dt=Dt.return}}function fo(Dt,Bt,$t,Yt){var an=Dt.child;for(an!==null&&(an.return=Dt);an!==null;){var un=an.dependencies;if(un!==null){var bn=an.child;un=un.firstContext;e:for(;un!==null;){var qn=un;un=an;for(var Sr=0;Sr<Bt.length;Sr++)if(qn.context===Bt[Sr]){un.lanes|=$t,qn=un.alternate,qn!==null&&(qn.lanes|=$t),Ms(un.return,$t,Dt),Yt||(bn=null);break e}un=qn.next}}else if(an.tag===18){if(bn=an.return,bn===null)throw Error(vt(341));bn.lanes|=$t,un=bn.alternate,un!==null&&(un.lanes|=$t),Ms(bn,$t,Dt),bn=null}else bn=an.child;if(bn!==null)bn.return=an;else for(bn=an;bn!==null;){if(bn===Dt){bn=null;break}if(an=bn.sibling,an!==null){an.return=bn.return,bn=an;break}bn=bn.return}an=bn}}function Zo(Dt,Bt,$t,Yt){Dt=null;for(var an=Bt,un=!1;an!==null;){if(!un){if((an.flags&524288)!==0)un=!0;else if((an.flags&262144)!==0)break}if(an.tag===10){var bn=an.alternate;if(bn===null)throw Error(vt(387));if(bn=bn.memoizedProps,bn!==null){var qn=an.type;Ys(an.pendingProps.value,bn.value)||(Dt!==null?Dt.push(qn):Dt=[qn])}}else if(an===xn.current){if(bn=an.alternate,bn===null)throw Error(vt(387));bn.memoizedState.memoizedState!==an.memoizedState.memoizedState&&(Dt!==null?Dt.push(ju):Dt=[ju])}an=an.return}Dt!==null&&fo(Bt,Dt,$t,Yt),Bt.flags|=262144}function Qo(Dt){for(Dt=Dt.firstContext;Dt!==null;){if(!Ys(Dt.context._currentValue,Dt.memoizedValue))return!0;Dt=Dt.next}return!1}function ha(Dt){ns=Dt,Vs=null,Dt=Dt.dependencies,Dt!==null&&(Dt.firstContext=null)}function co(Dt){return Wl(ns,Dt)}function Ca(Dt,Bt){return ns===null&&ha(Dt),Wl(Dt,Bt)}function Wl(Dt,Bt){var $t=Bt._currentValue;if(Bt={context:Bt,memoizedValue:$t,next:null},Vs===null){if(Dt===null)throw Error(vt(308));Vs=Bt,Dt.dependencies={lanes:0,firstContext:Bt},Dt.flags|=524288}else Vs=Vs.next=Bt;return $t}var ho=typeof AbortController<"u"?AbortController:function(){var Dt=[],Bt=this.signal={aborted:!1,addEventListener:function($t,Yt){Dt.push(Yt)}};this.abort=function(){Bt.aborted=!0,Dt.forEach(function($t){return $t()})}},gl=yt.unstable_scheduleCallback,sa=yt.unstable_NormalPriority,Eo={$$typeof:Ut,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function tc(){return{controller:new ho,data:new Map,refCount:0}}function hc(Dt){Dt.refCount--,Dt.refCount===0&&gl(sa,function(){Dt.controller.abort()})}var Vl=null,Ac=0,ml=0,nc=null;function eu(Dt,Bt){if(Vl===null){var $t=Vl=[];Ac=0,ml=Pf(),nc={status:"pending",value:void 0,then:function(Yt){$t.push(Yt)}}}return Ac++,Bt.then(wc,wc),Bt}function wc(){if(--Ac===0&&Vl!==null){nc!==null&&(nc.status="fulfilled");var Dt=Vl;Vl=null,ml=0,nc=null;for(var Bt=0;Bt<Dt.length;Bt++)(0,Dt[Bt])()}}function tu(Dt,Bt){var $t=[],Yt={status:"pending",value:null,reason:null,then:function(an){$t.push(an)}};return Dt.then(function(){Yt.status="fulfilled",Yt.value=Bt;for(var an=0;an<$t.length;an++)(0,$t[an])(Bt)},function(an){for(Yt.status="rejected",Yt.reason=an,an=0;an<$t.length;an++)(0,$t[an])(void 0)}),Yt}var Nc=Zt.S;Zt.S=function(Dt,Bt){Op=Dr(),typeof Bt=="object"&&Bt!==null&&typeof Bt.then=="function"&&eu(Dt,Bt),Nc!==null&&Nc(Dt,Bt)};var La=Qt(null);function en(){var Dt=La.current;return Dt!==null?Dt:Jo.pooledCache}function Sn(Dt,Bt){Bt===null?pn(La,La.current):pn(La,Bt.pool)}function dn(){var Dt=en();return Dt===null?null:{parent:Eo._currentValue,pool:Dt}}var Yn=Error(vt(460)),ur=Error(vt(474)),lr=Error(vt(542)),ei={then:function(){}};function zr(Dt){return Dt=Dt.status,Dt==="fulfilled"||Dt==="rejected"}function Yi(Dt,Bt,$t){switch($t=Dt[$t],$t===void 0?Dt.push(Bt):$t!==Bt&&(Bt.then($o,$o),Bt=$t),Bt.status){case"fulfilled":return Bt.value;case"rejected":throw Dt=Bt.reason,$i(Dt),Dt;default:if(typeof Bt.status=="string")Bt.then($o,$o);else{if(Dt=Jo,Dt!==null&&100<Dt.shellSuspendCounter)throw Error(vt(482));Dt=Bt,Dt.status="pending",Dt.then(function(Yt){if(Bt.status==="pending"){var an=Bt;an.status="fulfilled",an.value=Yt}},function(Yt){if(Bt.status==="pending"){var an=Bt;an.status="rejected",an.reason=Yt}})}switch(Bt.status){case"fulfilled":return Bt.value;case"rejected":throw Dt=Bt.reason,$i(Dt),Dt}throw Xr=Bt,Yn}}function Ir(Dt){try{var Bt=Dt._init;return Bt(Dt._payload)}catch($t){throw $t!==null&&typeof $t=="object"&&typeof $t.then=="function"?(Xr=$t,Yn):$t}}var Xr=null;function eo(){if(Xr===null)throw Error(vt(459));var Dt=Xr;return Xr=null,Dt}function $i(Dt){if(Dt===Yn||Dt===lr)throw Error(vt(483))}var Qr=null,os=0;function Ro(Dt){var Bt=os;return os+=1,Qr===null&&(Qr=[]),Yi(Qr,Dt,Bt)}function Ns(Dt,Bt){Bt=Bt.props.ref,Dt.ref=Bt!==void 0?Bt:null}function Cs(Dt,Bt){throw Bt.$$typeof===Pt?Error(vt(525)):(Dt=Object.prototype.toString.call(Bt),Error(vt(31,Dt==="[object Object]"?"object with keys {"+Object.keys(Bt).join(", ")+"}":Dt)))}function to(Dt){function Bt(jr,Lr){if(Dt){var Zr=jr.deletions;Zr===null?(jr.deletions=[Lr],jr.flags|=16):Zr.push(Lr)}}function $t(jr,Lr){if(!Dt)return null;for(;Lr!==null;)Bt(jr,Lr),Lr=Lr.sibling;return null}function Yt(jr){for(var Lr=new Map;jr!==null;)jr.key!==null?Lr.set(jr.key,jr):Lr.set(jr.index,jr),jr=jr.sibling;return Lr}function an(jr,Lr){return jr=ra(jr,Lr),jr.index=0,jr.sibling=null,jr}function un(jr,Lr,Zr){return jr.index=Zr,Dt?(Zr=jr.alternate,Zr!==null?(Zr=Zr.index,Zr<Lr?(jr.flags|=67108866,Lr):Zr):(jr.flags|=67108866,Lr)):(jr.flags|=1048576,Lr)}function bn(jr){return Dt&&jr.alternate===null&&(jr.flags|=67108866),jr}function qn(jr,Lr,Zr,fi){return Lr===null||Lr.tag!==6?(Lr=zl(Zr,jr.mode,fi),Lr.return=jr,Lr):(Lr=an(Lr,Zr),Lr.return=jr,Lr)}function Sr(jr,Lr,Zr,fi){var ps=Zr.type;return ps===Ot?ui(jr,Lr,Zr.props.children,fi,Zr.key):Lr!==null&&(Lr.elementType===ps||typeof ps=="object"&&ps!==null&&ps.$$typeof===Wt&&Ir(ps)===Lr.type)?(Lr=an(Lr,Zr.props),Ns(Lr,Zr),Lr.return=jr,Lr):(Lr=Ia(Zr.type,Zr.key,Zr.props,null,jr.mode,fi),Ns(Lr,Zr),Lr.return=jr,Lr)}function Jr(jr,Lr,Zr,fi){return Lr===null||Lr.tag!==4||Lr.stateNode.containerInfo!==Zr.containerInfo||Lr.stateNode.implementation!==Zr.implementation?(Lr=Il(Zr,jr.mode,fi),Lr.return=jr,Lr):(Lr=an(Lr,Zr.children||[]),Lr.return=jr,Lr)}function ui(jr,Lr,Zr,fi,ps){return Lr===null||Lr.tag!==7?(Lr=ba(Zr,jr.mode,fi,ps),Lr.return=jr,Lr):(Lr=an(Lr,Zr),Lr.return=jr,Lr)}function gi(jr,Lr,Zr){if(typeof Lr=="string"&&Lr!==""||typeof Lr=="number"||typeof Lr=="bigint")return Lr=zl(""+Lr,jr.mode,Zr),Lr.return=jr,Lr;if(typeof Lr=="object"&&Lr!==null){switch(Lr.$$typeof){case Lt:return Zr=Ia(Lr.type,Lr.key,Lr.props,null,jr.mode,Zr),Ns(Zr,Lr),Zr.return=jr,Zr;case kt:return Lr=Il(Lr,jr.mode,Zr),Lr.return=jr,Lr;case Wt:return Lr=Ir(Lr),gi(jr,Lr,Zr)}if(sn(Lr)||Kt(Lr))return Lr=ba(Lr,jr.mode,Zr,null),Lr.return=jr,Lr;if(typeof Lr.then=="function")return gi(jr,Ro(Lr),Zr);if(Lr.$$typeof===Ut)return gi(jr,Ca(jr,Lr),Zr);Cs(jr,Lr)}return null}function ni(jr,Lr,Zr,fi){var ps=Lr!==null?Lr.key:null;if(typeof Zr=="string"&&Zr!==""||typeof Zr=="number"||typeof Zr=="bigint")return ps!==null?null:qn(jr,Lr,""+Zr,fi);if(typeof Zr=="object"&&Zr!==null){switch(Zr.$$typeof){case Lt:return Zr.key===ps?Sr(jr,Lr,Zr,fi):null;case kt:return Zr.key===ps?Jr(jr,Lr,Zr,fi):null;case Wt:return Zr=Ir(Zr),ni(jr,Lr,Zr,fi)}if(sn(Zr)||Kt(Zr))return ps!==null?null:ui(jr,Lr,Zr,fi,null);if(typeof Zr.then=="function")return ni(jr,Lr,Ro(Zr),fi);if(Zr.$$typeof===Ut)return ni(jr,Lr,Ca(jr,Zr),fi);Cs(jr,Zr)}return null}function oi(jr,Lr,Zr,fi,ps){if(typeof fi=="string"&&fi!==""||typeof fi=="number"||typeof fi=="bigint")return jr=jr.get(Zr)||null,qn(Lr,jr,""+fi,ps);if(typeof fi=="object"&&fi!==null){switch(fi.$$typeof){case Lt:return jr=jr.get(fi.key===null?Zr:fi.key)||null,Sr(Lr,jr,fi,ps);case kt:return jr=jr.get(fi.key===null?Zr:fi.key)||null,Jr(Lr,jr,fi,ps);case Wt:return fi=Ir(fi),oi(jr,Lr,Zr,fi,ps)}if(sn(fi)||Kt(fi))return jr=jr.get(Zr)||null,ui(Lr,jr,fi,ps,null);if(typeof fi.then=="function")return oi(jr,Lr,Zr,Ro(fi),ps);if(fi.$$typeof===Ut)return oi(jr,Lr,Zr,Ca(Lr,fi),ps);Cs(Lr,fi)}return null}function Ji(jr,Lr,Zr,fi){for(var ps=null,Ao=null,is=Lr,Gs=Lr=0,ao=null;is!==null&&Gs<Zr.length;Gs++){is.index>Gs?(ao=is,is=null):ao=is.sibling;var Co=ni(jr,is,Zr[Gs],fi);if(Co===null){is===null&&(is=ao);break}Dt&&is&&Co.alternate===null&&Bt(jr,is),Lr=un(Co,Lr,Gs),Ao===null?ps=Co:Ao.sibling=Co,Ao=Co,is=ao}if(Gs===Zr.length)return $t(jr,is),Fn&&vl(jr,Gs),ps;if(is===null){for(;Gs<Zr.length;Gs++)is=gi(jr,Zr[Gs],fi),is!==null&&(Lr=un(is,Lr,Gs),Ao===null?ps=is:Ao.sibling=is,Ao=is);return Fn&&vl(jr,Gs),ps}for(is=Yt(is);Gs<Zr.length;Gs++)ao=oi(is,jr,Gs,Zr[Gs],fi),ao!==null&&(Dt&&ao.alternate!==null&&is.delete(ao.key===null?Gs:ao.key),Lr=un(ao,Lr,Gs),Ao===null?ps=ao:Ao.sibling=ao,Ao=ao);return Dt&&is.forEach(function(Jc){return Bt(jr,Jc)}),Fn&&vl(jr,Gs),ps}function _s(jr,Lr,Zr,fi){if(Zr==null)throw Error(vt(151));for(var ps=null,Ao=null,is=Lr,Gs=Lr=0,ao=null,Co=Zr.next();is!==null&&!Co.done;Gs++,Co=Zr.next()){is.index>Gs?(ao=is,is=null):ao=is.sibling;var Jc=ni(jr,is,Co.value,fi);if(Jc===null){is===null&&(is=ao);break}Dt&&is&&Jc.alternate===null&&Bt(jr,is),Lr=un(Jc,Lr,Gs),Ao===null?ps=Jc:Ao.sibling=Jc,Ao=Jc,is=ao}if(Co.done)return $t(jr,is),Fn&&vl(jr,Gs),ps;if(is===null){for(;!Co.done;Gs++,Co=Zr.next())Co=gi(jr,Co.value,fi),Co!==null&&(Lr=un(Co,Lr,Gs),Ao===null?ps=Co:Ao.sibling=Co,Ao=Co);return Fn&&vl(jr,Gs),ps}for(is=Yt(is);!Co.done;Gs++,Co=Zr.next())Co=oi(is,jr,Gs,Co.value,fi),Co!==null&&(Dt&&Co.alternate!==null&&is.delete(Co.key===null?Gs:Co.key),Lr=un(Co,Lr,Gs),Ao===null?ps=Co:Ao.sibling=Co,Ao=Co);return Dt&&is.forEach(function(tm){return Bt(jr,tm)}),Fn&&vl(jr,Gs),ps}function Go(jr,Lr,Zr,fi){if(typeof Zr=="object"&&Zr!==null&&Zr.type===Ot&&Zr.key===null&&(Zr=Zr.props.children),typeof Zr=="object"&&Zr!==null){switch(Zr.$$typeof){case Lt:e:{for(var ps=Zr.key;Lr!==null;){if(Lr.key===ps){if(ps=Zr.type,ps===Ot){if(Lr.tag===7){$t(jr,Lr.sibling),fi=an(Lr,Zr.props.children),fi.return=jr,jr=fi;break e}}else if(Lr.elementType===ps||typeof ps=="object"&&ps!==null&&ps.$$typeof===Wt&&Ir(ps)===Lr.type){$t(jr,Lr.sibling),fi=an(Lr,Zr.props),Ns(fi,Zr),fi.return=jr,jr=fi;break e}$t(jr,Lr);break}else Bt(jr,Lr);Lr=Lr.sibling}Zr.type===Ot?(fi=ba(Zr.props.children,jr.mode,fi,Zr.key),fi.return=jr,jr=fi):(fi=Ia(Zr.type,Zr.key,Zr.props,null,jr.mode,fi),Ns(fi,Zr),fi.return=jr,jr=fi)}return bn(jr);case kt:e:{for(ps=Zr.key;Lr!==null;){if(Lr.key===ps)if(Lr.tag===4&&Lr.stateNode.containerInfo===Zr.containerInfo&&Lr.stateNode.implementation===Zr.implementation){$t(jr,Lr.sibling),fi=an(Lr,Zr.children||[]),fi.return=jr,jr=fi;break e}else{$t(jr,Lr);break}else Bt(jr,Lr);Lr=Lr.sibling}fi=Il(Zr,jr.mode,fi),fi.return=jr,jr=fi}return bn(jr);case Wt:return Zr=Ir(Zr),Go(jr,Lr,Zr,fi)}if(sn(Zr))return Ji(jr,Lr,Zr,fi);if(Kt(Zr)){if(ps=Kt(Zr),typeof ps!="function")throw Error(vt(150));return Zr=ps.call(Zr),_s(jr,Lr,Zr,fi)}if(typeof Zr.then=="function")return Go(jr,Lr,Ro(Zr),fi);if(Zr.$$typeof===Ut)return Go(jr,Lr,Ca(jr,Zr),fi);Cs(jr,Zr)}return typeof Zr=="string"&&Zr!==""||typeof Zr=="number"||typeof Zr=="bigint"?(Zr=""+Zr,Lr!==null&&Lr.tag===6?($t(jr,Lr.sibling),fi=an(Lr,Zr),fi.return=jr,jr=fi):($t(jr,Lr),fi=zl(Zr,jr.mode,fi),fi.return=jr,jr=fi),bn(jr)):$t(jr,Lr)}return function(jr,Lr,Zr,fi){try{os=0;var ps=Go(jr,Lr,Zr,fi);return Qr=null,ps}catch(is){if(is===Yn||is===lr)throw is;var Ao=Ks(29,is,null,jr.mode);return Ao.lanes=fi,Ao.return=jr,Ao}}}var Ss=to(!0),Oi=to(!1),zs=!1;function pa(Dt){Dt.updateQueue={baseState:Dt.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ds(Dt,Bt){Dt=Dt.updateQueue,Bt.updateQueue===Dt&&(Bt.updateQueue={baseState:Dt.baseState,firstBaseUpdate:Dt.firstBaseUpdate,lastBaseUpdate:Dt.lastBaseUpdate,shared:Dt.shared,callbacks:null})}function Js(Dt){return{lane:Dt,tag:0,payload:null,callback:null,next:null}}function Gr(Dt,Bt,$t){var Yt=Dt.updateQueue;if(Yt===null)return null;if(Yt=Yt.shared,(So&2)!==0){var an=Yt.pending;return an===null?Bt.next=Bt:(Bt.next=an.next,an.next=Bt),Yt.pending=Bt,Bt=Ci(Dt),Si(Dt,null,$t),Bt}return Hi(Dt,Yt,Bt,$t),Ci(Dt)}function Ti(Dt,Bt,$t){if(Bt=Bt.updateQueue,Bt!==null&&(Bt=Bt.shared,($t&4194048)!==0)){var Yt=Bt.lanes;Yt&=Dt.pendingLanes,$t|=Yt,Bt.lanes=$t,Bi(Dt,$t)}}function rs(Dt,Bt){var $t=Dt.updateQueue,Yt=Dt.alternate;if(Yt!==null&&(Yt=Yt.updateQueue,$t===Yt)){var an=null,un=null;if($t=$t.firstBaseUpdate,$t!==null){do{var bn={lane:$t.lane,tag:$t.tag,payload:$t.payload,callback:null,next:null};un===null?an=un=bn:un=un.next=bn,$t=$t.next}while($t!==null);un===null?an=un=Bt:un=un.next=Bt}else an=un=Bt;$t={baseState:Yt.baseState,firstBaseUpdate:an,lastBaseUpdate:un,shared:Yt.shared,callbacks:Yt.callbacks},Dt.updateQueue=$t;return}Dt=$t.lastBaseUpdate,Dt===null?$t.firstBaseUpdate=Bt:Dt.next=Bt,$t.lastBaseUpdate=Bt}var es=!1;function yo(){if(es){var Dt=nc;if(Dt!==null)throw Dt}}function Bo(Dt,Bt,$t,Yt){es=!1;var an=Dt.updateQueue;zs=!1;var un=an.firstBaseUpdate,bn=an.lastBaseUpdate,qn=an.shared.pending;if(qn!==null){an.shared.pending=null;var Sr=qn,Jr=Sr.next;Sr.next=null,bn===null?un=Jr:bn.next=Jr,bn=Sr;var ui=Dt.alternate;ui!==null&&(ui=ui.updateQueue,qn=ui.lastBaseUpdate,qn!==bn&&(qn===null?ui.firstBaseUpdate=Jr:qn.next=Jr,ui.lastBaseUpdate=Sr))}if(un!==null){var gi=an.baseState;bn=0,ui=Jr=Sr=null,qn=un;do{var ni=qn.lane&-536870913,oi=ni!==qn.lane;if(oi?(oo&ni)===ni:(Yt&ni)===ni){ni!==0&&ni===ml&&(es=!0),ui!==null&&(ui=ui.next={lane:0,tag:qn.tag,payload:qn.payload,callback:null,next:null});e:{var Ji=Dt,_s=qn;ni=Bt;var Go=$t;switch(_s.tag){case 1:if(Ji=_s.payload,typeof Ji=="function"){gi=Ji.call(Go,gi,ni);break e}gi=Ji;break e;case 3:Ji.flags=Ji.flags&-65537|128;case 0:if(Ji=_s.payload,ni=typeof Ji=="function"?Ji.call(Go,gi,ni):Ji,ni==null)break e;gi=Rt({},gi,ni);break e;case 2:zs=!0}}ni=qn.callback,ni!==null&&(Dt.flags|=64,oi&&(Dt.flags|=8192),oi=an.callbacks,oi===null?an.callbacks=[ni]:oi.push(ni))}else oi={lane:ni,tag:qn.tag,payload:qn.payload,callback:qn.callback,next:null},ui===null?(Jr=ui=oi,Sr=gi):ui=ui.next=oi,bn|=ni;if(qn=qn.next,qn===null){if(qn=an.shared.pending,qn===null)break;oi=qn,qn=oi.next,oi.next=null,an.lastBaseUpdate=oi,an.shared.pending=null}}while(!0);ui===null&&(Sr=gi),an.baseState=Sr,an.firstBaseUpdate=Jr,an.lastBaseUpdate=ui,un===null&&(an.shared.lanes=0),Hc|=bn,Dt.lanes=bn,Dt.memoizedState=gi}}function El(Dt,Bt){if(typeof Dt!="function")throw Error(vt(191,Dt));Dt.call(Bt)}function yc(Dt,Bt){var $t=Dt.callbacks;if($t!==null)for(Dt.callbacks=null,Dt=0;Dt<$t.length;Dt++)El($t[Dt],Bt)}var _c=Qt(null),ou=Qt(0);function Yu(Dt,Bt){Dt=Pc,pn(ou,Dt),pn(_c,Bt),Pc=Dt|Bt.baseLanes}function au(){pn(ou,Pc),pn(_c,_c.current)}function zd(){Pc=ou.current,fn(_c),fn(ou)}var rc=Qt(null),pc=null;function zc(Dt){var Bt=Dt.alternate;pn(ja,ja.current&1),pn(rc,Dt),pc===null&&(Bt===null||_c.current!==null||Bt.memoizedState!==null)&&(pc=Dt)}function Ud(Dt){pn(ja,ja.current),pn(rc,Dt),pc===null&&(pc=Dt)}function lh(Dt){Dt.tag===22?(pn(ja,ja.current),pn(rc,Dt),pc===null&&(pc=Dt)):Uc()}function Uc(){pn(ja,ja.current),pn(rc,rc.current)}function ic(Dt){fn(rc),pc===Dt&&(pc=null),fn(ja)}var ja=Qt(0);function Xu(Dt){for(var Bt=Dt;Bt!==null;){if(Bt.tag===13){var $t=Bt.memoizedState;if($t!==null&&($t=$t.dehydrated,$t===null||qf($t)||Yf($t)))return Bt}else if(Bt.tag===19&&(Bt.memoizedProps.revealOrder==="forwards"||Bt.memoizedProps.revealOrder==="backwards"||Bt.memoizedProps.revealOrder==="unstable_legacy-backwards"||Bt.memoizedProps.revealOrder==="together")){if((Bt.flags&128)!==0)return Bt}else if(Bt.child!==null){Bt.child.return=Bt,Bt=Bt.child;continue}if(Bt===Dt)break;for(;Bt.sibling===null;){if(Bt.return===null||Bt.return===Dt)return null;Bt=Bt.return}Bt.sibling.return=Bt.return,Bt=Bt.sibling}return null}var Sc=0,Us=null,Wo=null,Ka=null,Ku=!1,lu=!1,nu=!1,Zu=0,Au=0,cu=null,V0=0;function ka(){throw Error(vt(321))}function $d(Dt,Bt){if(Bt===null)return!1;for(var $t=0;$t<Bt.length&&$t<Dt.length;$t++)if(!Ys(Dt[$t],Bt[$t]))return!1;return!0}function jd(Dt,Bt,$t,Yt,an,un){return Sc=un,Us=Bt,Bt.memoizedState=null,Bt.updateQueue=null,Bt.lanes=0,Zt.H=Dt===null||Dt.memoizedState===null?Vh:rf,nu=!1,un=$t(Yt,an),nu=!1,lu&&(un=uh(Bt,$t,Yt,an)),ch(Dt),un}function ch(Dt){Zt.H=wu;var Bt=Wo!==null&&Wo.next!==null;if(Sc=0,Ka=Wo=Us=null,Ku=!1,Au=0,cu=null,Bt)throw Error(vt(300));Dt===null||Za||(Dt=Dt.dependencies,Dt!==null&&Qo(Dt)&&(Za=!0))}function uh(Dt,Bt,$t,Yt){Us=Dt;var an=0;do{if(lu&&(cu=null),Au=0,lu=!1,25<=an)throw Error(vt(301));if(an+=1,Ka=Wo=null,Dt.updateQueue!=null){var un=Dt.updateQueue;un.lastEffect=null,un.events=null,un.stores=null,un.memoCache!=null&&(un.memoCache.index=0)}Zt.H=Gh,un=Bt($t,Yt)}while(lu);return un}function G0(){var Dt=Zt.H,Bt=Dt.useState()[0];return Bt=typeof Bt.then=="function"?Cu(Bt):Bt,Dt=Dt.useState()[0],(Wo!==null?Wo.memoizedState:null)!==Dt&&(Us.flags|=1024),Bt}function Hd(){var Dt=Zu!==0;return Zu=0,Dt}function Wd(Dt,Bt,$t){Bt.updateQueue=Dt.updateQueue,Bt.flags&=-2053,Dt.lanes&=~$t}function Vd(Dt){if(Ku){for(Dt=Dt.memoizedState;Dt!==null;){var Bt=Dt.queue;Bt!==null&&(Bt.pending=null),Dt=Dt.next}Ku=!1}Sc=0,Ka=Wo=Us=null,lu=!1,Au=Zu=0,cu=null}function Ul(){var Dt={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ka===null?Us.memoizedState=Ka=Dt:Ka=Ka.next=Dt,Ka}function Ha(){if(Wo===null){var Dt=Us.alternate;Dt=Dt!==null?Dt.memoizedState:null}else Dt=Wo.next;var Bt=Ka===null?Us.memoizedState:Ka.next;if(Bt!==null)Ka=Bt,Wo=Dt;else{if(Dt===null)throw Us.alternate===null?Error(vt(467)):Error(vt(310));Wo=Dt,Dt={memoizedState:Wo.memoizedState,baseState:Wo.baseState,baseQueue:Wo.baseQueue,queue:Wo.queue,next:null},Ka===null?Us.memoizedState=Ka=Dt:Ka=Ka.next=Dt}return Ka}function Qu(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Cu(Dt){var Bt=Au;return Au+=1,cu===null&&(cu=[]),Dt=Yi(cu,Dt,Bt),Bt=Us,(Ka===null?Bt.memoizedState:Ka.next)===null&&(Bt=Bt.alternate,Zt.H=Bt===null||Bt.memoizedState===null?Vh:rf),Dt}function Ju(Dt){if(Dt!==null&&typeof Dt=="object"){if(typeof Dt.then=="function")return Cu(Dt);if(Dt.$$typeof===Ut)return co(Dt)}throw Error(vt(438,String(Dt)))}function Gd(Dt){var Bt=null,$t=Us.updateQueue;if($t!==null&&(Bt=$t.memoCache),Bt==null){var Yt=Us.alternate;Yt!==null&&(Yt=Yt.updateQueue,Yt!==null&&(Yt=Yt.memoCache,Yt!=null&&(Bt={data:Yt.data.map(function(an){return an.slice()}),index:0})))}if(Bt==null&&(Bt={data:[],index:0}),$t===null&&($t=Qu(),Us.updateQueue=$t),$t.memoCache=Bt,$t=Bt.data[Bt.index],$t===void 0)for($t=Bt.data[Bt.index]=Array(Dt),Yt=0;Yt<Dt;Yt++)$t[Yt]=qt;return Bt.index++,$t}function Dc(Dt,Bt){return typeof Bt=="function"?Bt(Dt):Bt}function ed(Dt){var Bt=Ha();return qd(Bt,Wo,Dt)}function qd(Dt,Bt,$t){var Yt=Dt.queue;if(Yt===null)throw Error(vt(311));Yt.lastRenderedReducer=$t;var an=Dt.baseQueue,un=Yt.pending;if(un!==null){if(an!==null){var bn=an.next;an.next=un.next,un.next=bn}Bt.baseQueue=an=un,Yt.pending=null}if(un=Dt.baseState,an===null)Dt.memoizedState=un;else{Bt=an.next;var qn=bn=null,Sr=null,Jr=Bt,ui=!1;do{var gi=Jr.lane&-536870913;if(gi!==Jr.lane?(oo&gi)===gi:(Sc&gi)===gi){var ni=Jr.revertLane;if(ni===0)Sr!==null&&(Sr=Sr.next={lane:0,revertLane:0,gesture:null,action:Jr.action,hasEagerState:Jr.hasEagerState,eagerState:Jr.eagerState,next:null}),gi===ml&&(ui=!0);else if((Sc&ni)===ni){Jr=Jr.next,ni===ml&&(ui=!0);continue}else gi={lane:0,revertLane:Jr.revertLane,gesture:null,action:Jr.action,hasEagerState:Jr.hasEagerState,eagerState:Jr.eagerState,next:null},Sr===null?(qn=Sr=gi,bn=un):Sr=Sr.next=gi,Us.lanes|=ni,Hc|=ni;gi=Jr.action,nu&&$t(un,gi),un=Jr.hasEagerState?Jr.eagerState:$t(un,gi)}else ni={lane:gi,revertLane:Jr.revertLane,gesture:Jr.gesture,action:Jr.action,hasEagerState:Jr.hasEagerState,eagerState:Jr.eagerState,next:null},Sr===null?(qn=Sr=ni,bn=un):Sr=Sr.next=ni,Us.lanes|=gi,Hc|=gi;Jr=Jr.next}while(Jr!==null&&Jr!==Bt);if(Sr===null?bn=un:Sr.next=qn,!Ys(un,Dt.memoizedState)&&(Za=!0,ui&&($t=nc,$t!==null)))throw $t;Dt.memoizedState=un,Dt.baseState=bn,Dt.baseQueue=Sr,Yt.lastRenderedState=un}return an===null&&(Yt.lanes=0),[Dt.memoizedState,Yt.dispatch]}function Yd(Dt){var Bt=Ha(),$t=Bt.queue;if($t===null)throw Error(vt(311));$t.lastRenderedReducer=Dt;var Yt=$t.dispatch,an=$t.pending,un=Bt.memoizedState;if(an!==null){$t.pending=null;var bn=an=an.next;do un=Dt(un,bn.action),bn=bn.next;while(bn!==an);Ys(un,Bt.memoizedState)||(Za=!0),Bt.memoizedState=un,Bt.baseQueue===null&&(Bt.baseState=un),$t.lastRenderedState=un}return[un,Yt]}function dh(Dt,Bt,$t){var Yt=Us,an=Ha(),un=Fn;if(un){if($t===void 0)throw Error(vt(407));$t=$t()}else $t=Bt();var bn=!Ys((Wo||an).memoizedState,$t);if(bn&&(an.memoizedState=$t,Za=!0),an=an.queue,Zd(ph.bind(null,Yt,an,Dt),[Dt]),an.getSnapshot!==Bt||bn||Ka!==null&&Ka.memoizedState.tag&1){if(Yt.flags|=2048,uu(9,{destroy:void 0},hh.bind(null,Yt,an,$t,Bt),null),Jo===null)throw Error(vt(349));un||(Sc&127)!==0||fh(Yt,Bt,$t)}return $t}function fh(Dt,Bt,$t){Dt.flags|=16384,Dt={getSnapshot:Bt,value:$t},Bt=Us.updateQueue,Bt===null?(Bt=Qu(),Us.updateQueue=Bt,Bt.stores=[Dt]):($t=Bt.stores,$t===null?Bt.stores=[Dt]:$t.push(Dt))}function hh(Dt,Bt,$t,Yt){Bt.value=$t,Bt.getSnapshot=Yt,gh(Bt)&&mh(Dt)}function ph(Dt,Bt,$t){return $t(function(){gh(Bt)&&mh(Dt)})}function gh(Dt){var Bt=Dt.getSnapshot;Dt=Dt.value;try{var $t=Bt();return!Ys(Dt,$t)}catch{return!0}}function mh(Dt){var Bt=Qi(Dt,2);Bt!==null&&Kl(Bt,Dt,2)}function Xd(Dt){var Bt=Ul();if(typeof Dt=="function"){var $t=Dt;if(Dt=$t(),nu){wn(!0);try{$t()}finally{wn(!1)}}}return Bt.memoizedState=Bt.baseState=Dt,Bt.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Dc,lastRenderedState:Dt},Bt}function Eh(Dt,Bt,$t,Yt){return Dt.baseState=$t,qd(Dt,Wo,typeof Yt=="function"?Yt:Dc)}function q0(Dt,Bt,$t,Yt,an){if(rd(Dt))throw Error(vt(485));if(Dt=Bt.action,Dt!==null){var un={payload:an,action:Dt,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(bn){un.listeners.push(bn)}};Zt.T!==null?$t(!0):un.isTransition=!1,Yt(un),$t=Bt.pending,$t===null?(un.next=Bt.pending=un,yh(Bt,un)):(un.next=$t.next,Bt.pending=$t.next=un)}}function yh(Dt,Bt){var $t=Bt.action,Yt=Bt.payload,an=Dt.state;if(Bt.isTransition){var un=Zt.T,bn={};Zt.T=bn;try{var qn=$t(an,Yt),Sr=Zt.S;Sr!==null&&Sr(bn,qn),_h(Dt,Bt,qn)}catch(Jr){Kd(Dt,Bt,Jr)}finally{un!==null&&bn.types!==null&&(un.types=bn.types),Zt.T=un}}else try{un=$t(an,Yt),_h(Dt,Bt,un)}catch(Jr){Kd(Dt,Bt,Jr)}}function _h(Dt,Bt,$t){$t!==null&&typeof $t=="object"&&typeof $t.then=="function"?$t.then(function(Yt){xh(Dt,Bt,Yt)},function(Yt){return Kd(Dt,Bt,Yt)}):xh(Dt,Bt,$t)}function xh(Dt,Bt,$t){Bt.status="fulfilled",Bt.value=$t,vh(Bt),Dt.state=$t,Bt=Dt.pending,Bt!==null&&($t=Bt.next,$t===Bt?Dt.pending=null:($t=$t.next,Bt.next=$t,yh(Dt,$t)))}function Kd(Dt,Bt,$t){var Yt=Dt.pending;if(Dt.pending=null,Yt!==null){Yt=Yt.next;do Bt.status="rejected",Bt.reason=$t,vh(Bt),Bt=Bt.next;while(Bt!==Yt)}Dt.action=null}function vh(Dt){Dt=Dt.listeners;for(var Bt=0;Bt<Dt.length;Bt++)(0,Dt[Bt])()}function bh(Dt,Bt){return Bt}function Ah(Dt,Bt){if(Fn){var $t=Jo.formState;if($t!==null){e:{var Yt=Us;if(Fn){if(Hr){t:{for(var an=Hr,un=Gn;an.nodeType!==8;){if(!un){an=null;break t}if(an=gc(an.nextSibling),an===null){an=null;break t}}un=an.data,an=un==="F!"||un==="F"?an:null}if(an){Hr=gc(an.nextSibling),Yt=an.data==="F!";break e}}Er(Yt)}Yt=!1}Yt&&(Bt=$t[0])}}return $t=Ul(),$t.memoizedState=$t.baseState=Bt,Yt={pending:null,lanes:0,dispatch:null,lastRenderedReducer:bh,lastRenderedState:Bt},$t.queue=Yt,$t=jh.bind(null,Us,Yt),Yt.dispatch=$t,Yt=Xd(!1),un=nf.bind(null,Us,!1,Yt.queue),Yt=Ul(),an={state:Bt,dispatch:null,action:Dt,pending:null},Yt.queue=an,$t=q0.bind(null,Us,an,un,$t),an.dispatch=$t,Yt.memoizedState=Dt,[Bt,$t,!1]}function Ch(Dt){var Bt=Ha();return Fh(Bt,Wo,Dt)}function Fh(Dt,Bt,$t){if(Bt=qd(Dt,Bt,bh)[0],Dt=ed(Dc)[0],typeof Bt=="object"&&Bt!==null&&typeof Bt.then=="function")try{var Yt=Cu(Bt)}catch(bn){throw bn===Yn?lr:bn}else Yt=Bt;Bt=Ha();var an=Bt.queue,un=an.dispatch;return $t!==Bt.memoizedState&&(Us.flags|=2048,uu(9,{destroy:void 0},Y0.bind(null,an,$t),null)),[Yt,un,Dt]}function Y0(Dt,Bt){Dt.action=Bt}function wh(Dt){var Bt=Ha(),$t=Wo;if($t!==null)return Fh(Bt,$t,Dt);Ha(),Bt=Bt.memoizedState,$t=Ha();var Yt=$t.queue.dispatch;return $t.memoizedState=Dt,[Bt,Yt,!1]}function uu(Dt,Bt,$t,Yt){return Dt={tag:Dt,create:$t,deps:Yt,inst:Bt,next:null},Bt=Us.updateQueue,Bt===null&&(Bt=Qu(),Us.updateQueue=Bt),$t=Bt.lastEffect,$t===null?Bt.lastEffect=Dt.next=Dt:(Yt=$t.next,$t.next=Dt,Dt.next=Yt,Bt.lastEffect=Dt),Dt}function Sh(){return Ha().memoizedState}function td(Dt,Bt,$t,Yt){var an=Ul();Us.flags|=Dt,an.memoizedState=uu(1|Bt,{destroy:void 0},$t,Yt===void 0?null:Yt)}function nd(Dt,Bt,$t,Yt){var an=Ha();Yt=Yt===void 0?null:Yt;var un=an.memoizedState.inst;Wo!==null&&Yt!==null&&$d(Yt,Wo.memoizedState.deps)?an.memoizedState=uu(Bt,un,$t,Yt):(Us.flags|=Dt,an.memoizedState=uu(1|Bt,un,$t,Yt))}function Dh(Dt,Bt){td(8390656,8,Dt,Bt)}function Zd(Dt,Bt){nd(2048,8,Dt,Bt)}function X0(Dt){Us.flags|=4;var Bt=Us.updateQueue;if(Bt===null)Bt=Qu(),Us.updateQueue=Bt,Bt.events=[Dt];else{var $t=Bt.events;$t===null?Bt.events=[Dt]:$t.push(Dt)}}function Th(Dt){var Bt=Ha().memoizedState;return X0({ref:Bt,nextImpl:Dt}),function(){if((So&2)!==0)throw Error(vt(440));return Bt.impl.apply(void 0,arguments)}}function Rh(Dt,Bt){return nd(4,2,Dt,Bt)}function Bh(Dt,Bt){return nd(4,4,Dt,Bt)}function Mh(Dt,Bt){if(typeof Bt=="function"){Dt=Dt();var $t=Bt(Dt);return function(){typeof $t=="function"?$t():Bt(null)}}if(Bt!=null)return Dt=Dt(),Bt.current=Dt,function(){Bt.current=null}}function Ih(Dt,Bt,$t){$t=$t!=null?$t.concat([Dt]):null,nd(4,4,Mh.bind(null,Bt,Dt),$t)}function Qd(){}function Oh(Dt,Bt){var $t=Ha();Bt=Bt===void 0?null:Bt;var Yt=$t.memoizedState;return Bt!==null&&$d(Bt,Yt[1])?Yt[0]:($t.memoizedState=[Dt,Bt],Dt)}function Ph(Dt,Bt){var $t=Ha();Bt=Bt===void 0?null:Bt;var Yt=$t.memoizedState;if(Bt!==null&&$d(Bt,Yt[1]))return Yt[0];if(Yt=Dt(),nu){wn(!0);try{Dt()}finally{wn(!1)}}return $t.memoizedState=[Yt,Bt],Yt}function Jd(Dt,Bt,$t){return $t===void 0||(Sc&1073741824)!==0&&(oo&261930)===0?Dt.memoizedState=Bt:(Dt.memoizedState=$t,Dt=Lp(),Us.lanes|=Dt,Hc|=Dt,$t)}function Lh(Dt,Bt,$t,Yt){return Ys($t,Bt)?$t:_c.current!==null?(Dt=Jd(Dt,$t,Yt),Ys(Dt,Bt)||(Za=!0),Dt):(Sc&42)===0||(Sc&1073741824)!==0&&(oo&261930)===0?(Za=!0,Dt.memoizedState=$t):(Dt=Lp(),Us.lanes|=Dt,Hc|=Dt,Bt)}function kh(Dt,Bt,$t,Yt,an){var un=nn.p;nn.p=un!==0&&8>un?un:8;var bn=Zt.T,qn={};Zt.T=qn,nf(Dt,!1,Bt,$t);try{var Sr=an(),Jr=Zt.S;if(Jr!==null&&Jr(qn,Sr),Sr!==null&&typeof Sr=="object"&&typeof Sr.then=="function"){var ui=tu(Sr,Yt);Fu(Dt,Bt,ui,ac(Dt))}else Fu(Dt,Bt,Yt,ac(Dt))}catch(gi){Fu(Dt,Bt,{then:function(){},status:"rejected",reason:gi},ac())}finally{nn.p=un,bn!==null&&qn.types!==null&&(bn.types=qn.types),Zt.T=bn}}function K0(){}function ef(Dt,Bt,$t,Yt){if(Dt.tag!==5)throw Error(vt(476));var an=Nh(Dt).queue;kh(Dt,an,Bt,rn,$t===null?K0:function(){return zh(Dt),$t(Yt)})}function Nh(Dt){var Bt=Dt.memoizedState;if(Bt!==null)return Bt;Bt={memoizedState:rn,baseState:rn,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Dc,lastRenderedState:rn},next:null};var $t={};return Bt.next={memoizedState:$t,baseState:$t,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Dc,lastRenderedState:$t},next:null},Dt.memoizedState=Bt,Dt=Dt.alternate,Dt!==null&&(Dt.memoizedState=Bt),Bt}function zh(Dt){var Bt=Nh(Dt);Bt.next===null&&(Bt=Dt.alternate.memoizedState),Fu(Dt,Bt.next.queue,{},ac())}function tf(){return co(ju)}function Uh(){return Ha().memoizedState}function $h(){return Ha().memoizedState}function Z0(Dt){for(var Bt=Dt.return;Bt!==null;){switch(Bt.tag){case 24:case 3:var $t=ac();Dt=Js($t);var Yt=Gr(Bt,Dt,$t);Yt!==null&&(Kl(Yt,Bt,$t),Ti(Yt,Bt,$t)),Bt={cache:tc()},Dt.payload=Bt;return}Bt=Bt.return}}function Q0(Dt,Bt,$t){var Yt=ac();$t={lane:Yt,revertLane:0,gesture:null,action:$t,hasEagerState:!1,eagerState:null,next:null},rd(Dt)?Hh(Bt,$t):($t=Pi(Dt,Bt,$t,Yt),$t!==null&&(Kl($t,Dt,Yt),Wh($t,Bt,Yt)))}function jh(Dt,Bt,$t){var Yt=ac();Fu(Dt,Bt,$t,Yt)}function Fu(Dt,Bt,$t,Yt){var an={lane:Yt,revertLane:0,gesture:null,action:$t,hasEagerState:!1,eagerState:null,next:null};if(rd(Dt))Hh(Bt,an);else{var un=Dt.alternate;if(Dt.lanes===0&&(un===null||un.lanes===0)&&(un=Bt.lastRenderedReducer,un!==null))try{var bn=Bt.lastRenderedState,qn=un(bn,$t);if(an.hasEagerState=!0,an.eagerState=qn,Ys(qn,bn))return Hi(Dt,Bt,an,0),Jo===null&&Di(),!1}catch{}if($t=Pi(Dt,Bt,an,Yt),$t!==null)return Kl($t,Dt,Yt),Wh($t,Bt,Yt),!0}return!1}function nf(Dt,Bt,$t,Yt){if(Yt={lane:2,revertLane:Pf(),gesture:null,action:Yt,hasEagerState:!1,eagerState:null,next:null},rd(Dt)){if(Bt)throw Error(vt(479))}else Bt=Pi(Dt,$t,Yt,2),Bt!==null&&Kl(Bt,Dt,2)}function rd(Dt){var Bt=Dt.alternate;return Dt===Us||Bt!==null&&Bt===Us}function Hh(Dt,Bt){lu=Ku=!0;var $t=Dt.pending;$t===null?Bt.next=Bt:(Bt.next=$t.next,$t.next=Bt),Dt.pending=Bt}function Wh(Dt,Bt,$t){if(($t&4194048)!==0){var Yt=Bt.lanes;Yt&=Dt.pendingLanes,$t|=Yt,Bt.lanes=$t,Bi(Dt,$t)}}var wu={readContext:co,use:Ju,useCallback:ka,useContext:ka,useEffect:ka,useImperativeHandle:ka,useLayoutEffect:ka,useInsertionEffect:ka,useMemo:ka,useReducer:ka,useRef:ka,useState:ka,useDebugValue:ka,useDeferredValue:ka,useTransition:ka,useSyncExternalStore:ka,useId:ka,useHostTransitionStatus:ka,useFormState:ka,useActionState:ka,useOptimistic:ka,useMemoCache:ka,useCacheRefresh:ka};wu.useEffectEvent=ka;var Vh={readContext:co,use:Ju,useCallback:function(Dt,Bt){return Ul().memoizedState=[Dt,Bt===void 0?null:Bt],Dt},useContext:co,useEffect:Dh,useImperativeHandle:function(Dt,Bt,$t){$t=$t!=null?$t.concat([Dt]):null,td(4194308,4,Mh.bind(null,Bt,Dt),$t)},useLayoutEffect:function(Dt,Bt){return td(4194308,4,Dt,Bt)},useInsertionEffect:function(Dt,Bt){td(4,2,Dt,Bt)},useMemo:function(Dt,Bt){var $t=Ul();Bt=Bt===void 0?null:Bt;var Yt=Dt();if(nu){wn(!0);try{Dt()}finally{wn(!1)}}return $t.memoizedState=[Yt,Bt],Yt},useReducer:function(Dt,Bt,$t){var Yt=Ul();if($t!==void 0){var an=$t(Bt);if(nu){wn(!0);try{$t(Bt)}finally{wn(!1)}}}else an=Bt;return Yt.memoizedState=Yt.baseState=an,Dt={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Dt,lastRenderedState:an},Yt.queue=Dt,Dt=Dt.dispatch=Q0.bind(null,Us,Dt),[Yt.memoizedState,Dt]},useRef:function(Dt){var Bt=Ul();return Dt={current:Dt},Bt.memoizedState=Dt},useState:function(Dt){Dt=Xd(Dt);var Bt=Dt.queue,$t=jh.bind(null,Us,Bt);return Bt.dispatch=$t,[Dt.memoizedState,$t]},useDebugValue:Qd,useDeferredValue:function(Dt,Bt){var $t=Ul();return Jd($t,Dt,Bt)},useTransition:function(){var Dt=Xd(!1);return Dt=kh.bind(null,Us,Dt.queue,!0,!1),Ul().memoizedState=Dt,[!1,Dt]},useSyncExternalStore:function(Dt,Bt,$t){var Yt=Us,an=Ul();if(Fn){if($t===void 0)throw Error(vt(407));$t=$t()}else{if($t=Bt(),Jo===null)throw Error(vt(349));(oo&127)!==0||fh(Yt,Bt,$t)}an.memoizedState=$t;var un={value:$t,getSnapshot:Bt};return an.queue=un,Dh(ph.bind(null,Yt,un,Dt),[Dt]),Yt.flags|=2048,uu(9,{destroy:void 0},hh.bind(null,Yt,un,$t,Bt),null),$t},useId:function(){var Dt=Ul(),Bt=Jo.identifierPrefix;if(Fn){var $t=pl,Yt=hl;$t=(Yt&~(1<<32-Xn(Yt)-1)).toString(32)+$t,Bt="_"+Bt+"R_"+$t,$t=Zu++,0<$t&&(Bt+="H"+$t.toString(32)),Bt+="_"}else $t=V0++,Bt="_"+Bt+"r_"+$t.toString(32)+"_";return Dt.memoizedState=Bt},useHostTransitionStatus:tf,useFormState:Ah,useActionState:Ah,useOptimistic:function(Dt){var Bt=Ul();Bt.memoizedState=Bt.baseState=Dt;var $t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return Bt.queue=$t,Bt=nf.bind(null,Us,!0,$t),$t.dispatch=Bt,[Dt,Bt]},useMemoCache:Gd,useCacheRefresh:function(){return Ul().memoizedState=Z0.bind(null,Us)},useEffectEvent:function(Dt){var Bt=Ul(),$t={impl:Dt};return Bt.memoizedState=$t,function(){if((So&2)!==0)throw Error(vt(440));return $t.impl.apply(void 0,arguments)}}},rf={readContext:co,use:Ju,useCallback:Oh,useContext:co,useEffect:Zd,useImperativeHandle:Ih,useInsertionEffect:Rh,useLayoutEffect:Bh,useMemo:Ph,useReducer:ed,useRef:Sh,useState:function(){return ed(Dc)},useDebugValue:Qd,useDeferredValue:function(Dt,Bt){var $t=Ha();return Lh($t,Wo.memoizedState,Dt,Bt)},useTransition:function(){var Dt=ed(Dc)[0],Bt=Ha().memoizedState;return[typeof Dt=="boolean"?Dt:Cu(Dt),Bt]},useSyncExternalStore:dh,useId:Uh,useHostTransitionStatus:tf,useFormState:Ch,useActionState:Ch,useOptimistic:function(Dt,Bt){var $t=Ha();return Eh($t,Wo,Dt,Bt)},useMemoCache:Gd,useCacheRefresh:$h};rf.useEffectEvent=Th;var Gh={readContext:co,use:Ju,useCallback:Oh,useContext:co,useEffect:Zd,useImperativeHandle:Ih,useInsertionEffect:Rh,useLayoutEffect:Bh,useMemo:Ph,useReducer:Yd,useRef:Sh,useState:function(){return Yd(Dc)},useDebugValue:Qd,useDeferredValue:function(Dt,Bt){var $t=Ha();return Wo===null?Jd($t,Dt,Bt):Lh($t,Wo.memoizedState,Dt,Bt)},useTransition:function(){var Dt=Yd(Dc)[0],Bt=Ha().memoizedState;return[typeof Dt=="boolean"?Dt:Cu(Dt),Bt]},useSyncExternalStore:dh,useId:Uh,useHostTransitionStatus:tf,useFormState:wh,useActionState:wh,useOptimistic:function(Dt,Bt){var $t=Ha();return Wo!==null?Eh($t,Wo,Dt,Bt):($t.baseState=Dt,[Dt,$t.queue.dispatch])},useMemoCache:Gd,useCacheRefresh:$h};Gh.useEffectEvent=Th;function sf(Dt,Bt,$t,Yt){Bt=Dt.memoizedState,$t=$t(Yt,Bt),$t=$t==null?Bt:Rt({},Bt,$t),Dt.memoizedState=$t,Dt.lanes===0&&(Dt.updateQueue.baseState=$t)}var of={enqueueSetState:function(Dt,Bt,$t){Dt=Dt._reactInternals;var Yt=ac(),an=Js(Yt);an.payload=Bt,$t!=null&&(an.callback=$t),Bt=Gr(Dt,an,Yt),Bt!==null&&(Kl(Bt,Dt,Yt),Ti(Bt,Dt,Yt))},enqueueReplaceState:function(Dt,Bt,$t){Dt=Dt._reactInternals;var Yt=ac(),an=Js(Yt);an.tag=1,an.payload=Bt,$t!=null&&(an.callback=$t),Bt=Gr(Dt,an,Yt),Bt!==null&&(Kl(Bt,Dt,Yt),Ti(Bt,Dt,Yt))},enqueueForceUpdate:function(Dt,Bt){Dt=Dt._reactInternals;var $t=ac(),Yt=Js($t);Yt.tag=2,Bt!=null&&(Yt.callback=Bt),Bt=Gr(Dt,Yt,$t),Bt!==null&&(Kl(Bt,Dt,$t),Ti(Bt,Dt,$t))}};function qh(Dt,Bt,$t,Yt,an,un,bn){return Dt=Dt.stateNode,typeof Dt.shouldComponentUpdate=="function"?Dt.shouldComponentUpdate(Yt,un,bn):Bt.prototype&&Bt.prototype.isPureReactComponent?!va($t,Yt)||!va(an,un):!0}function Yh(Dt,Bt,$t,Yt){Dt=Bt.state,typeof Bt.componentWillReceiveProps=="function"&&Bt.componentWillReceiveProps($t,Yt),typeof Bt.UNSAFE_componentWillReceiveProps=="function"&&Bt.UNSAFE_componentWillReceiveProps($t,Yt),Bt.state!==Dt&&of.enqueueReplaceState(Bt,Bt.state,null)}function ru(Dt,Bt){var $t=Bt;if("ref"in Bt){$t={};for(var Yt in Bt)Yt!=="ref"&&($t[Yt]=Bt[Yt])}if(Dt=Dt.defaultProps){$t===Bt&&($t=Rt({},$t));for(var an in Dt)$t[an]===void 0&&($t[an]=Dt[an])}return $t}function Xh(Dt){qr(Dt)}function Kh(Dt){console.error(Dt)}function Zh(Dt){qr(Dt)}function id(Dt,Bt){try{var $t=Dt.onUncaughtError;$t(Bt.value,{componentStack:Bt.stack})}catch(Yt){setTimeout(function(){throw Yt})}}function Qh(Dt,Bt,$t){try{var Yt=Dt.onCaughtError;Yt($t.value,{componentStack:$t.stack,errorBoundary:Bt.tag===1?Bt.stateNode:null})}catch(an){setTimeout(function(){throw an})}}function af(Dt,Bt,$t){return $t=Js($t),$t.tag=3,$t.payload={element:null},$t.callback=function(){id(Dt,Bt)},$t}function Jh(Dt){return Dt=Js(Dt),Dt.tag=3,Dt}function ep(Dt,Bt,$t,Yt){var an=$t.type.getDerivedStateFromError;if(typeof an=="function"){var un=Yt.value;Dt.payload=function(){return an(un)},Dt.callback=function(){Qh(Bt,$t,Yt)}}var bn=$t.stateNode;bn!==null&&typeof bn.componentDidCatch=="function"&&(Dt.callback=function(){Qh(Bt,$t,Yt),typeof an!="function"&&(Wc===null?Wc=new Set([this]):Wc.add(this));var qn=Yt.stack;this.componentDidCatch(Yt.value,{componentStack:qn!==null?qn:""})})}function J0(Dt,Bt,$t,Yt,an){if($t.flags|=32768,Yt!==null&&typeof Yt=="object"&&typeof Yt.then=="function"){if(Bt=$t.alternate,Bt!==null&&Zo(Bt,$t,an,!0),$t=rc.current,$t!==null){switch($t.tag){case 31:case 13:return pc===null?md():$t.alternate===null&&Na===0&&(Na=3),$t.flags&=-257,$t.flags|=65536,$t.lanes=an,Yt===ei?$t.flags|=16384:(Bt=$t.updateQueue,Bt===null?$t.updateQueue=new Set([Yt]):Bt.add(Yt),Mf(Dt,Yt,an)),!1;case 22:return $t.flags|=65536,Yt===ei?$t.flags|=16384:(Bt=$t.updateQueue,Bt===null?(Bt={transitions:null,markerInstances:null,retryQueue:new Set([Yt])},$t.updateQueue=Bt):($t=Bt.retryQueue,$t===null?Bt.retryQueue=new Set([Yt]):$t.add(Yt)),Mf(Dt,Yt,an)),!1}throw Error(vt(435,$t.tag))}return Mf(Dt,Yt,an),md(),!1}if(Fn)return Bt=rc.current,Bt!==null?((Bt.flags&65536)===0&&(Bt.flags|=256),Bt.flags|=65536,Bt.lanes=an,Yt!==er&&(Dt=Error(vt(422),{cause:Yt}),Ri(Xo(Dt,$t)))):(Yt!==er&&(Bt=Error(vt(423),{cause:Yt}),Ri(Xo(Bt,$t))),Dt=Dt.current.alternate,Dt.flags|=65536,an&=-an,Dt.lanes|=an,Yt=Xo(Yt,$t),an=af(Dt.stateNode,Yt,an),rs(Dt,an),Na!==4&&(Na=2)),!1;var un=Error(vt(520),{cause:Yt});if(un=Xo(un,$t),Ou===null?Ou=[un]:Ou.push(un),Na!==4&&(Na=2),Bt===null)return!0;Yt=Xo(Yt,$t),$t=Bt;do{switch($t.tag){case 3:return $t.flags|=65536,Dt=an&-an,$t.lanes|=Dt,Dt=af($t.stateNode,Yt,Dt),rs($t,Dt),!1;case 1:if(Bt=$t.type,un=$t.stateNode,($t.flags&128)===0&&(typeof Bt.getDerivedStateFromError=="function"||un!==null&&typeof un.componentDidCatch=="function"&&(Wc===null||!Wc.has(un))))return $t.flags|=65536,an&=-an,$t.lanes|=an,an=Jh(an),ep(an,Dt,$t,Yt),rs($t,an),!1}$t=$t.return}while($t!==null);return!1}var lf=Error(vt(461)),Za=!1;function bl(Dt,Bt,$t,Yt){Bt.child=Dt===null?Oi(Bt,null,$t,Yt):Ss(Bt,Dt.child,$t,Yt)}function tp(Dt,Bt,$t,Yt,an){$t=$t.render;var un=Bt.ref;if("ref"in Yt){var bn={};for(var qn in Yt)qn!=="ref"&&(bn[qn]=Yt[qn])}else bn=Yt;return ha(Bt),Yt=jd(Dt,Bt,$t,bn,un,an),qn=Hd(),Dt!==null&&!Za?(Wd(Dt,Bt,an),Tc(Dt,Bt,an)):(Fn&&qn&&zn(Bt),Bt.flags|=1,bl(Dt,Bt,Yt,an),Bt.child)}function np(Dt,Bt,$t,Yt,an){if(Dt===null){var un=$t.type;return typeof un=="function"&&!fa(un)&&un.defaultProps===void 0&&$t.compare===null?(Bt.tag=15,Bt.type=un,rp(Dt,Bt,un,Yt,an)):(Dt=Ia($t.type,null,Yt,Bt,Bt.mode,an),Dt.ref=Bt.ref,Dt.return=Bt,Bt.child=Dt)}if(un=Dt.child,!mf(Dt,an)){var bn=un.memoizedProps;if($t=$t.compare,$t=$t!==null?$t:va,$t(bn,Yt)&&Dt.ref===Bt.ref)return Tc(Dt,Bt,an)}return Bt.flags|=1,Dt=ra(un,Yt),Dt.ref=Bt.ref,Dt.return=Bt,Bt.child=Dt}function rp(Dt,Bt,$t,Yt,an){if(Dt!==null){var un=Dt.memoizedProps;if(va(un,Yt)&&Dt.ref===Bt.ref)if(Za=!1,Bt.pendingProps=Yt=un,mf(Dt,an))(Dt.flags&131072)!==0&&(Za=!0);else return Bt.lanes=Dt.lanes,Tc(Dt,Bt,an)}return cf(Dt,Bt,$t,Yt,an)}function ip(Dt,Bt,$t,Yt){var an=Yt.children,un=Dt!==null?Dt.memoizedState:null;if(Dt===null&&Bt.stateNode===null&&(Bt.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),Yt.mode==="hidden"){if((Bt.flags&128)!==0){if(un=un!==null?un.baseLanes|$t:$t,Dt!==null){for(Yt=Bt.child=Dt.child,an=0;Yt!==null;)an=an|Yt.lanes|Yt.childLanes,Yt=Yt.sibling;Yt=an&~un}else Yt=0,Bt.child=null;return sp(Dt,Bt,un,$t,Yt)}if(($t&536870912)!==0)Bt.memoizedState={baseLanes:0,cachePool:null},Dt!==null&&Sn(Bt,un!==null?un.cachePool:null),un!==null?Yu(Bt,un):au(),lh(Bt);else return Yt=Bt.lanes=536870912,sp(Dt,Bt,un!==null?un.baseLanes|$t:$t,$t,Yt)}else un!==null?(Sn(Bt,un.cachePool),Yu(Bt,un),Uc(),Bt.memoizedState=null):(Dt!==null&&Sn(Bt,null),au(),Uc());return bl(Dt,Bt,an,$t),Bt.child}function Su(Dt,Bt){return Dt!==null&&Dt.tag===22||Bt.stateNode!==null||(Bt.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),Bt.sibling}function sp(Dt,Bt,$t,Yt,an){var un=en();return un=un===null?null:{parent:Eo._currentValue,pool:un},Bt.memoizedState={baseLanes:$t,cachePool:un},Dt!==null&&Sn(Bt,null),au(),lh(Bt),Dt!==null&&Zo(Dt,Bt,Yt,!0),Bt.childLanes=an,null}function sd(Dt,Bt){return Bt=ad({mode:Bt.mode,children:Bt.children},Dt.mode),Bt.ref=Dt.ref,Dt.child=Bt,Bt.return=Dt,Bt}function op(Dt,Bt,$t){return Ss(Bt,Dt.child,null,$t),Dt=sd(Bt,Bt.pendingProps),Dt.flags|=2,ic(Bt),Bt.memoizedState=null,Dt}function eg(Dt,Bt,$t){var Yt=Bt.pendingProps,an=(Bt.flags&128)!==0;if(Bt.flags&=-129,Dt===null){if(Fn){if(Yt.mode==="hidden")return Dt=sd(Bt,Yt),Bt.lanes=536870912,Su(null,Dt);if(Ud(Bt),(Dt=Hr)?(Dt=y0(Dt,Gn),Dt=Dt!==null&&Dt.data==="&"?Dt:null,Dt!==null&&(Bt.memoizedState={dehydrated:Dt,treeContext:fl!==null?{id:hl,overflow:pl}:null,retryLane:536870912,hydrationErrors:null},$t=Ua(Dt),$t.return=Bt,Bt.child=$t,Nr=Bt,Hr=null)):Dt=null,Dt===null)throw Er(Bt);return Bt.lanes=536870912,null}return sd(Bt,Yt)}var un=Dt.memoizedState;if(un!==null){var bn=un.dehydrated;if(Ud(Bt),an)if(Bt.flags&256)Bt.flags&=-257,Bt=op(Dt,Bt,$t);else if(Bt.memoizedState!==null)Bt.child=Dt.child,Bt.flags|=128,Bt=null;else throw Error(vt(558));else if(Za||Zo(Dt,Bt,$t,!1),an=($t&Dt.childLanes)!==0,Za||an){if(Yt=Jo,Yt!==null&&(bn=as(Yt,$t),bn!==0&&bn!==un.retryLane))throw un.retryLane=bn,Qi(Dt,bn),Kl(Yt,Dt,bn),lf;md(),Bt=op(Dt,Bt,$t)}else Dt=un.treeContext,Hr=gc(bn.nextSibling),Nr=Bt,Fn=!0,Ln=null,Gn=!1,Dt!==null&&Br(Bt,Dt),Bt=sd(Bt,Yt),Bt.flags|=4096;return Bt}return Dt=ra(Dt.child,{mode:Yt.mode,children:Yt.children}),Dt.ref=Bt.ref,Bt.child=Dt,Dt.return=Bt,Dt}function od(Dt,Bt){var $t=Bt.ref;if($t===null)Dt!==null&&Dt.ref!==null&&(Bt.flags|=4194816);else{if(typeof $t!="function"&&typeof $t!="object")throw Error(vt(284));(Dt===null||Dt.ref!==$t)&&(Bt.flags|=4194816)}}function cf(Dt,Bt,$t,Yt,an){return ha(Bt),$t=jd(Dt,Bt,$t,Yt,void 0,an),Yt=Hd(),Dt!==null&&!Za?(Wd(Dt,Bt,an),Tc(Dt,Bt,an)):(Fn&&Yt&&zn(Bt),Bt.flags|=1,bl(Dt,Bt,$t,an),Bt.child)}function ap(Dt,Bt,$t,Yt,an,un){return ha(Bt),Bt.updateQueue=null,$t=uh(Bt,Yt,$t,an),ch(Dt),Yt=Hd(),Dt!==null&&!Za?(Wd(Dt,Bt,un),Tc(Dt,Bt,un)):(Fn&&Yt&&zn(Bt),Bt.flags|=1,bl(Dt,Bt,$t,un),Bt.child)}function lp(Dt,Bt,$t,Yt,an){if(ha(Bt),Bt.stateNode===null){var un=Ai,bn=$t.contextType;typeof bn=="object"&&bn!==null&&(un=co(bn)),un=new $t(Yt,un),Bt.memoizedState=un.state!==null&&un.state!==void 0?un.state:null,un.updater=of,Bt.stateNode=un,un._reactInternals=Bt,un=Bt.stateNode,un.props=Yt,un.state=Bt.memoizedState,un.refs={},pa(Bt),bn=$t.contextType,un.context=typeof bn=="object"&&bn!==null?co(bn):Ai,un.state=Bt.memoizedState,bn=$t.getDerivedStateFromProps,typeof bn=="function"&&(sf(Bt,$t,bn,Yt),un.state=Bt.memoizedState),typeof $t.getDerivedStateFromProps=="function"||typeof un.getSnapshotBeforeUpdate=="function"||typeof un.UNSAFE_componentWillMount!="function"&&typeof un.componentWillMount!="function"||(bn=un.state,typeof un.componentWillMount=="function"&&un.componentWillMount(),typeof un.UNSAFE_componentWillMount=="function"&&un.UNSAFE_componentWillMount(),bn!==un.state&&of.enqueueReplaceState(un,un.state,null),Bo(Bt,Yt,un,an),yo(),un.state=Bt.memoizedState),typeof un.componentDidMount=="function"&&(Bt.flags|=4194308),Yt=!0}else if(Dt===null){un=Bt.stateNode;var qn=Bt.memoizedProps,Sr=ru($t,qn);un.props=Sr;var Jr=un.context,ui=$t.contextType;bn=Ai,typeof ui=="object"&&ui!==null&&(bn=co(ui));var gi=$t.getDerivedStateFromProps;ui=typeof gi=="function"||typeof un.getSnapshotBeforeUpdate=="function",qn=Bt.pendingProps!==qn,ui||typeof un.UNSAFE_componentWillReceiveProps!="function"&&typeof un.componentWillReceiveProps!="function"||(qn||Jr!==bn)&&Yh(Bt,un,Yt,bn),zs=!1;var ni=Bt.memoizedState;un.state=ni,Bo(Bt,Yt,un,an),yo(),Jr=Bt.memoizedState,qn||ni!==Jr||zs?(typeof gi=="function"&&(sf(Bt,$t,gi,Yt),Jr=Bt.memoizedState),(Sr=zs||qh(Bt,$t,Sr,Yt,ni,Jr,bn))?(ui||typeof un.UNSAFE_componentWillMount!="function"&&typeof un.componentWillMount!="function"||(typeof un.componentWillMount=="function"&&un.componentWillMount(),typeof un.UNSAFE_componentWillMount=="function"&&un.UNSAFE_componentWillMount()),typeof un.componentDidMount=="function"&&(Bt.flags|=4194308)):(typeof un.componentDidMount=="function"&&(Bt.flags|=4194308),Bt.memoizedProps=Yt,Bt.memoizedState=Jr),un.props=Yt,un.state=Jr,un.context=bn,Yt=Sr):(typeof un.componentDidMount=="function"&&(Bt.flags|=4194308),Yt=!1)}else{un=Bt.stateNode,ds(Dt,Bt),bn=Bt.memoizedProps,ui=ru($t,bn),un.props=ui,gi=Bt.pendingProps,ni=un.context,Jr=$t.contextType,Sr=Ai,typeof Jr=="object"&&Jr!==null&&(Sr=co(Jr)),qn=$t.getDerivedStateFromProps,(Jr=typeof qn=="function"||typeof un.getSnapshotBeforeUpdate=="function")||typeof un.UNSAFE_componentWillReceiveProps!="function"&&typeof un.componentWillReceiveProps!="function"||(bn!==gi||ni!==Sr)&&Yh(Bt,un,Yt,Sr),zs=!1,ni=Bt.memoizedState,un.state=ni,Bo(Bt,Yt,un,an),yo();var oi=Bt.memoizedState;bn!==gi||ni!==oi||zs||Dt!==null&&Dt.dependencies!==null&&Qo(Dt.dependencies)?(typeof qn=="function"&&(sf(Bt,$t,qn,Yt),oi=Bt.memoizedState),(ui=zs||qh(Bt,$t,ui,Yt,ni,oi,Sr)||Dt!==null&&Dt.dependencies!==null&&Qo(Dt.dependencies))?(Jr||typeof un.UNSAFE_componentWillUpdate!="function"&&typeof un.componentWillUpdate!="function"||(typeof un.componentWillUpdate=="function"&&un.componentWillUpdate(Yt,oi,Sr),typeof un.UNSAFE_componentWillUpdate=="function"&&un.UNSAFE_componentWillUpdate(Yt,oi,Sr)),typeof un.componentDidUpdate=="function"&&(Bt.flags|=4),typeof un.getSnapshotBeforeUpdate=="function"&&(Bt.flags|=1024)):(typeof un.componentDidUpdate!="function"||bn===Dt.memoizedProps&&ni===Dt.memoizedState||(Bt.flags|=4),typeof un.getSnapshotBeforeUpdate!="function"||bn===Dt.memoizedProps&&ni===Dt.memoizedState||(Bt.flags|=1024),Bt.memoizedProps=Yt,Bt.memoizedState=oi),un.props=Yt,un.state=oi,un.context=Sr,Yt=ui):(typeof un.componentDidUpdate!="function"||bn===Dt.memoizedProps&&ni===Dt.memoizedState||(Bt.flags|=4),typeof un.getSnapshotBeforeUpdate!="function"||bn===Dt.memoizedProps&&ni===Dt.memoizedState||(Bt.flags|=1024),Yt=!1)}return un=Yt,od(Dt,Bt),Yt=(Bt.flags&128)!==0,un||Yt?(un=Bt.stateNode,$t=Yt&&typeof $t.getDerivedStateFromError!="function"?null:un.render(),Bt.flags|=1,Dt!==null&&Yt?(Bt.child=Ss(Bt,Dt.child,null,an),Bt.child=Ss(Bt,null,$t,an)):bl(Dt,Bt,$t,an),Bt.memoizedState=un.state,Dt=Bt.child):Dt=Tc(Dt,Bt,an),Dt}function cp(Dt,Bt,$t,Yt){return li(),Bt.flags|=256,bl(Dt,Bt,$t,Yt),Bt.child}var uf={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function df(Dt){return{baseLanes:Dt,cachePool:dn()}}function ff(Dt,Bt,$t){return Dt=Dt!==null?Dt.childLanes&~$t:0,Bt&&(Dt|=oc),Dt}function up(Dt,Bt,$t){var Yt=Bt.pendingProps,an=!1,un=(Bt.flags&128)!==0,bn;if((bn=un)||(bn=Dt!==null&&Dt.memoizedState===null?!1:(ja.current&2)!==0),bn&&(an=!0,Bt.flags&=-129),bn=(Bt.flags&32)!==0,Bt.flags&=-33,Dt===null){if(Fn){if(an?zc(Bt):Uc(),(Dt=Hr)?(Dt=y0(Dt,Gn),Dt=Dt!==null&&Dt.data!=="&"?Dt:null,Dt!==null&&(Bt.memoizedState={dehydrated:Dt,treeContext:fl!==null?{id:hl,overflow:pl}:null,retryLane:536870912,hydrationErrors:null},$t=Ua(Dt),$t.return=Bt,Bt.child=$t,Nr=Bt,Hr=null)):Dt=null,Dt===null)throw Er(Bt);return Yf(Dt)?Bt.lanes=32:Bt.lanes=536870912,null}var qn=Yt.children;return Yt=Yt.fallback,an?(Uc(),an=Bt.mode,qn=ad({mode:"hidden",children:qn},an),Yt=ba(Yt,an,$t,null),qn.return=Bt,Yt.return=Bt,qn.sibling=Yt,Bt.child=qn,Yt=Bt.child,Yt.memoizedState=df($t),Yt.childLanes=ff(Dt,bn,$t),Bt.memoizedState=uf,Su(null,Yt)):(zc(Bt),hf(Bt,qn))}var Sr=Dt.memoizedState;if(Sr!==null&&(qn=Sr.dehydrated,qn!==null)){if(un)Bt.flags&256?(zc(Bt),Bt.flags&=-257,Bt=pf(Dt,Bt,$t)):Bt.memoizedState!==null?(Uc(),Bt.child=Dt.child,Bt.flags|=128,Bt=null):(Uc(),qn=Yt.fallback,an=Bt.mode,Yt=ad({mode:"visible",children:Yt.children},an),qn=ba(qn,an,$t,null),qn.flags|=2,Yt.return=Bt,qn.return=Bt,Yt.sibling=qn,Bt.child=Yt,Ss(Bt,Dt.child,null,$t),Yt=Bt.child,Yt.memoizedState=df($t),Yt.childLanes=ff(Dt,bn,$t),Bt.memoizedState=uf,Bt=Su(null,Yt));else if(zc(Bt),Yf(qn)){if(bn=qn.nextSibling&&qn.nextSibling.dataset,bn)var Jr=bn.dgst;bn=Jr,Yt=Error(vt(419)),Yt.stack="",Yt.digest=bn,Ri({value:Yt,source:null,stack:null}),Bt=pf(Dt,Bt,$t)}else if(Za||Zo(Dt,Bt,$t,!1),bn=($t&Dt.childLanes)!==0,Za||bn){if(bn=Jo,bn!==null&&(Yt=as(bn,$t),Yt!==0&&Yt!==Sr.retryLane))throw Sr.retryLane=Yt,Qi(Dt,Yt),Kl(bn,Dt,Yt),lf;qf(qn)||md(),Bt=pf(Dt,Bt,$t)}else qf(qn)?(Bt.flags|=192,Bt.child=Dt.child,Bt=null):(Dt=Sr.treeContext,Hr=gc(qn.nextSibling),Nr=Bt,Fn=!0,Ln=null,Gn=!1,Dt!==null&&Br(Bt,Dt),Bt=hf(Bt,Yt.children),Bt.flags|=4096);return Bt}return an?(Uc(),qn=Yt.fallback,an=Bt.mode,Sr=Dt.child,Jr=Sr.sibling,Yt=ra(Sr,{mode:"hidden",children:Yt.children}),Yt.subtreeFlags=Sr.subtreeFlags&65011712,Jr!==null?qn=ra(Jr,qn):(qn=ba(qn,an,$t,null),qn.flags|=2),qn.return=Bt,Yt.return=Bt,Yt.sibling=qn,Bt.child=Yt,Su(null,Yt),Yt=Bt.child,qn=Dt.child.memoizedState,qn===null?qn=df($t):(an=qn.cachePool,an!==null?(Sr=Eo._currentValue,an=an.parent!==Sr?{parent:Sr,pool:Sr}:an):an=dn(),qn={baseLanes:qn.baseLanes|$t,cachePool:an}),Yt.memoizedState=qn,Yt.childLanes=ff(Dt,bn,$t),Bt.memoizedState=uf,Su(Dt.child,Yt)):(zc(Bt),$t=Dt.child,Dt=$t.sibling,$t=ra($t,{mode:"visible",children:Yt.children}),$t.return=Bt,$t.sibling=null,Dt!==null&&(bn=Bt.deletions,bn===null?(Bt.deletions=[Dt],Bt.flags|=16):bn.push(Dt)),Bt.child=$t,Bt.memoizedState=null,$t)}function hf(Dt,Bt){return Bt=ad({mode:"visible",children:Bt},Dt.mode),Bt.return=Dt,Dt.child=Bt}function ad(Dt,Bt){return Dt=Ks(22,Dt,null,Bt),Dt.lanes=0,Dt}function pf(Dt,Bt,$t){return Ss(Bt,Dt.child,null,$t),Dt=hf(Bt,Bt.pendingProps.children),Dt.flags|=2,Bt.memoizedState=null,Dt}function dp(Dt,Bt,$t){Dt.lanes|=Bt;var Yt=Dt.alternate;Yt!==null&&(Yt.lanes|=Bt),Ms(Dt.return,Bt,$t)}function gf(Dt,Bt,$t,Yt,an,un){var bn=Dt.memoizedState;bn===null?Dt.memoizedState={isBackwards:Bt,rendering:null,renderingStartTime:0,last:Yt,tail:$t,tailMode:an,treeForkCount:un}:(bn.isBackwards=Bt,bn.rendering=null,bn.renderingStartTime=0,bn.last=Yt,bn.tail=$t,bn.tailMode=an,bn.treeForkCount=un)}function fp(Dt,Bt,$t){var Yt=Bt.pendingProps,an=Yt.revealOrder,un=Yt.tail;Yt=Yt.children;var bn=ja.current,qn=(bn&2)!==0;if(qn?(bn=bn&1|2,Bt.flags|=128):bn&=1,pn(ja,bn),bl(Dt,Bt,Yt,$t),Yt=Fn?Ol:0,!qn&&Dt!==null&&(Dt.flags&128)!==0)e:for(Dt=Bt.child;Dt!==null;){if(Dt.tag===13)Dt.memoizedState!==null&&dp(Dt,$t,Bt);else if(Dt.tag===19)dp(Dt,$t,Bt);else if(Dt.child!==null){Dt.child.return=Dt,Dt=Dt.child;continue}if(Dt===Bt)break e;for(;Dt.sibling===null;){if(Dt.return===null||Dt.return===Bt)break e;Dt=Dt.return}Dt.sibling.return=Dt.return,Dt=Dt.sibling}switch(an){case"forwards":for($t=Bt.child,an=null;$t!==null;)Dt=$t.alternate,Dt!==null&&Xu(Dt)===null&&(an=$t),$t=$t.sibling;$t=an,$t===null?(an=Bt.child,Bt.child=null):(an=$t.sibling,$t.sibling=null),gf(Bt,!1,an,$t,un,Yt);break;case"backwards":case"unstable_legacy-backwards":for($t=null,an=Bt.child,Bt.child=null;an!==null;){if(Dt=an.alternate,Dt!==null&&Xu(Dt)===null){Bt.child=an;break}Dt=an.sibling,an.sibling=$t,$t=an,an=Dt}gf(Bt,!0,$t,null,un,Yt);break;case"together":gf(Bt,!1,null,null,void 0,Yt);break;default:Bt.memoizedState=null}return Bt.child}function Tc(Dt,Bt,$t){if(Dt!==null&&(Bt.dependencies=Dt.dependencies),Hc|=Bt.lanes,($t&Bt.childLanes)===0)if(Dt!==null){if(Zo(Dt,Bt,$t,!1),($t&Bt.childLanes)===0)return null}else return null;if(Dt!==null&&Bt.child!==Dt.child)throw Error(vt(153));if(Bt.child!==null){for(Dt=Bt.child,$t=ra(Dt,Dt.pendingProps),Bt.child=$t,$t.return=Bt;Dt.sibling!==null;)Dt=Dt.sibling,$t=$t.sibling=ra(Dt,Dt.pendingProps),$t.return=Bt;$t.sibling=null}return Bt.child}function mf(Dt,Bt){return(Dt.lanes&Bt)!==0?!0:(Dt=Dt.dependencies,!!(Dt!==null&&Qo(Dt)))}function tg(Dt,Bt,$t){switch(Bt.tag){case 3:Mn(Bt,Bt.stateNode.containerInfo),Ps(Bt,Eo,Dt.memoizedState.cache),li();break;case 27:case 5:Rn(Bt);break;case 4:Mn(Bt,Bt.stateNode.containerInfo);break;case 10:Ps(Bt,Bt.type,Bt.memoizedProps.value);break;case 31:if(Bt.memoizedState!==null)return Bt.flags|=128,Ud(Bt),null;break;case 13:var Yt=Bt.memoizedState;if(Yt!==null)return Yt.dehydrated!==null?(zc(Bt),Bt.flags|=128,null):($t&Bt.child.childLanes)!==0?up(Dt,Bt,$t):(zc(Bt),Dt=Tc(Dt,Bt,$t),Dt!==null?Dt.sibling:null);zc(Bt);break;case 19:var an=(Dt.flags&128)!==0;if(Yt=($t&Bt.childLanes)!==0,Yt||(Zo(Dt,Bt,$t,!1),Yt=($t&Bt.childLanes)!==0),an){if(Yt)return fp(Dt,Bt,$t);Bt.flags|=128}if(an=Bt.memoizedState,an!==null&&(an.rendering=null,an.tail=null,an.lastEffect=null),pn(ja,ja.current),Yt)break;return null;case 22:return Bt.lanes=0,ip(Dt,Bt,$t,Bt.pendingProps);case 24:Ps(Bt,Eo,Dt.memoizedState.cache)}return Tc(Dt,Bt,$t)}function hp(Dt,Bt,$t){if(Dt!==null)if(Dt.memoizedProps!==Bt.pendingProps)Za=!0;else{if(!mf(Dt,$t)&&(Bt.flags&128)===0)return Za=!1,tg(Dt,Bt,$t);Za=(Dt.flags&131072)!==0}else Za=!1,Fn&&(Bt.flags&1048576)!==0&&bc(Bt,Ol,Bt.index);switch(Bt.lanes=0,Bt.tag){case 16:e:{var Yt=Bt.pendingProps;if(Dt=Ir(Bt.elementType),Bt.type=Dt,typeof Dt=="function")fa(Dt)?(Yt=ru(Dt,Yt),Bt.tag=1,Bt=lp(null,Bt,Dt,Yt,$t)):(Bt.tag=0,Bt=cf(null,Bt,Dt,Yt,$t));else{if(Dt!=null){var an=Dt.$$typeof;if(an===jt){Bt.tag=11,Bt=tp(null,Bt,Dt,Yt,$t);break e}else if(an===Ht){Bt.tag=14,Bt=np(null,Bt,Dt,Yt,$t);break e}}throw Bt=tn(Dt)||Dt,Error(vt(306,Bt,""))}}return Bt;case 0:return cf(Dt,Bt,Bt.type,Bt.pendingProps,$t);case 1:return Yt=Bt.type,an=ru(Yt,Bt.pendingProps),lp(Dt,Bt,Yt,an,$t);case 3:e:{if(Mn(Bt,Bt.stateNode.containerInfo),Dt===null)throw Error(vt(387));Yt=Bt.pendingProps;var un=Bt.memoizedState;an=un.element,ds(Dt,Bt),Bo(Bt,Yt,null,$t);var bn=Bt.memoizedState;if(Yt=bn.cache,Ps(Bt,Eo,Yt),Yt!==un.cache&&fo(Bt,[Eo],$t,!0),yo(),Yt=bn.element,un.isDehydrated)if(un={element:Yt,isDehydrated:!1,cache:bn.cache},Bt.updateQueue.baseState=un,Bt.memoizedState=un,Bt.flags&256){Bt=cp(Dt,Bt,Yt,$t);break e}else if(Yt!==an){an=Xo(Error(vt(424)),Bt),Ri(an),Bt=cp(Dt,Bt,Yt,$t);break e}else for(Dt=Bt.stateNode.containerInfo,Dt.nodeType===9?Dt=Dt.body:Dt=Dt.nodeName==="HTML"?Dt.ownerDocument.body:Dt,Hr=gc(Dt.firstChild),Nr=Bt,Fn=!0,Ln=null,Gn=!0,$t=Oi(Bt,null,Yt,$t),Bt.child=$t;$t;)$t.flags=$t.flags&-3|4096,$t=$t.sibling;else{if(li(),Yt===an){Bt=Tc(Dt,Bt,$t);break e}bl(Dt,Bt,Yt,$t)}Bt=Bt.child}return Bt;case 26:return od(Dt,Bt),Dt===null?($t=C0(Bt.type,null,Bt.pendingProps,null))?Bt.memoizedState=$t:Fn||($t=Bt.type,Dt=Bt.pendingProps,Yt=Ad(yn.current).createElement($t),Yt[mi]=Bt,Yt[wi]=Dt,Al(Yt,$t,Dt),Ds(Yt),Bt.stateNode=Yt):Bt.memoizedState=C0(Bt.type,Dt.memoizedProps,Bt.pendingProps,Dt.memoizedState),null;case 27:return Rn(Bt),Dt===null&&Fn&&(Yt=Bt.stateNode=v0(Bt.type,Bt.pendingProps,yn.current),Nr=Bt,Gn=!0,an=Hr,Yc(Bt.type)?(Xf=an,Hr=gc(Yt.firstChild)):Hr=an),bl(Dt,Bt,Bt.pendingProps.children,$t),od(Dt,Bt),Dt===null&&(Bt.flags|=4194304),Bt.child;case 5:return Dt===null&&Fn&&((an=Yt=Hr)&&(Yt=Bg(Yt,Bt.type,Bt.pendingProps,Gn),Yt!==null?(Bt.stateNode=Yt,Nr=Bt,Hr=gc(Yt.firstChild),Gn=!1,an=!0):an=!1),an||Er(Bt)),Rn(Bt),an=Bt.type,un=Bt.pendingProps,bn=Dt!==null?Dt.memoizedProps:null,Yt=un.children,Wf(an,un)?Yt=null:bn!==null&&Wf(an,bn)&&(Bt.flags|=32),Bt.memoizedState!==null&&(an=jd(Dt,Bt,G0,null,null,$t),ju._currentValue=an),od(Dt,Bt),bl(Dt,Bt,Yt,$t),Bt.child;case 6:return Dt===null&&Fn&&((Dt=$t=Hr)&&($t=Mg($t,Bt.pendingProps,Gn),$t!==null?(Bt.stateNode=$t,Nr=Bt,Hr=null,Dt=!0):Dt=!1),Dt||Er(Bt)),null;case 13:return up(Dt,Bt,$t);case 4:return Mn(Bt,Bt.stateNode.containerInfo),Yt=Bt.pendingProps,Dt===null?Bt.child=Ss(Bt,null,Yt,$t):bl(Dt,Bt,Yt,$t),Bt.child;case 11:return tp(Dt,Bt,Bt.type,Bt.pendingProps,$t);case 7:return bl(Dt,Bt,Bt.pendingProps,$t),Bt.child;case 8:return bl(Dt,Bt,Bt.pendingProps.children,$t),Bt.child;case 12:return bl(Dt,Bt,Bt.pendingProps.children,$t),Bt.child;case 10:return Yt=Bt.pendingProps,Ps(Bt,Bt.type,Yt.value),bl(Dt,Bt,Yt.children,$t),Bt.child;case 9:return an=Bt.type._context,Yt=Bt.pendingProps.children,ha(Bt),an=co(an),Yt=Yt(an),Bt.flags|=1,bl(Dt,Bt,Yt,$t),Bt.child;case 14:return np(Dt,Bt,Bt.type,Bt.pendingProps,$t);case 15:return rp(Dt,Bt,Bt.type,Bt.pendingProps,$t);case 19:return fp(Dt,Bt,$t);case 31:return eg(Dt,Bt,$t);case 22:return ip(Dt,Bt,$t,Bt.pendingProps);case 24:return ha(Bt),Yt=co(Eo),Dt===null?(an=en(),an===null&&(an=Jo,un=tc(),an.pooledCache=un,un.refCount++,un!==null&&(an.pooledCacheLanes|=$t),an=un),Bt.memoizedState={parent:Yt,cache:an},pa(Bt),Ps(Bt,Eo,an)):((Dt.lanes&$t)!==0&&(ds(Dt,Bt),Bo(Bt,null,null,$t),yo()),an=Dt.memoizedState,un=Bt.memoizedState,an.parent!==Yt?(an={parent:Yt,cache:Yt},Bt.memoizedState=an,Bt.lanes===0&&(Bt.memoizedState=Bt.updateQueue.baseState=an),Ps(Bt,Eo,Yt)):(Yt=un.cache,Ps(Bt,Eo,Yt),Yt!==an.cache&&fo(Bt,[Eo],$t,!0))),bl(Dt,Bt,Bt.pendingProps.children,$t),Bt.child;case 29:throw Bt.pendingProps}throw Error(vt(156,Bt.tag))}function Rc(Dt){Dt.flags|=4}function Ef(Dt,Bt,$t,Yt,an){if((Bt=(Dt.mode&32)!==0)&&(Bt=!1),Bt){if(Dt.flags|=16777216,(an&335544128)===an)if(Dt.stateNode.complete)Dt.flags|=8192;else if(Up())Dt.flags|=8192;else throw Xr=ei,ur}else Dt.flags&=-16777217}function pp(Dt,Bt){if(Bt.type!=="stylesheet"||(Bt.state.loading&4)!==0)Dt.flags&=-16777217;else if(Dt.flags|=16777216,!T0(Bt))if(Up())Dt.flags|=8192;else throw Xr=ei,ur}function ld(Dt,Bt){Bt!==null&&(Dt.flags|=4),Dt.flags&16384&&(Bt=Dt.tag!==22?nr():536870912,Dt.lanes|=Bt,pu|=Bt)}function Du(Dt,Bt){if(!Fn)switch(Dt.tailMode){case"hidden":Bt=Dt.tail;for(var $t=null;Bt!==null;)Bt.alternate!==null&&($t=Bt),Bt=Bt.sibling;$t===null?Dt.tail=null:$t.sibling=null;break;case"collapsed":$t=Dt.tail;for(var Yt=null;$t!==null;)$t.alternate!==null&&(Yt=$t),$t=$t.sibling;Yt===null?Bt||Dt.tail===null?Dt.tail=null:Dt.tail.sibling=null:Yt.sibling=null}}function ga(Dt){var Bt=Dt.alternate!==null&&Dt.alternate.child===Dt.child,$t=0,Yt=0;if(Bt)for(var an=Dt.child;an!==null;)$t|=an.lanes|an.childLanes,Yt|=an.subtreeFlags&65011712,Yt|=an.flags&65011712,an.return=Dt,an=an.sibling;else for(an=Dt.child;an!==null;)$t|=an.lanes|an.childLanes,Yt|=an.subtreeFlags,Yt|=an.flags,an.return=Dt,an=an.sibling;return Dt.subtreeFlags|=Yt,Dt.childLanes=$t,Bt}function ng(Dt,Bt,$t){var Yt=Bt.pendingProps;switch(Mr(Bt),Bt.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ga(Bt),null;case 1:return ga(Bt),null;case 3:return $t=Bt.stateNode,Yt=null,Dt!==null&&(Yt=Dt.memoizedState.cache),Bt.memoizedState.cache!==Yt&&(Bt.flags|=2048),ks(Eo),$n(),$t.pendingContext&&($t.context=$t.pendingContext,$t.pendingContext=null),(Dt===null||Dt.child===null)&&(Yr(Bt)?Rc(Bt):Dt===null||Dt.memoizedState.isDehydrated&&(Bt.flags&256)===0||(Bt.flags|=1024,yi())),ga(Bt),null;case 26:var an=Bt.type,un=Bt.memoizedState;return Dt===null?(Rc(Bt),un!==null?(ga(Bt),pp(Bt,un)):(ga(Bt),Ef(Bt,an,null,Yt,$t))):un?un!==Dt.memoizedState?(Rc(Bt),ga(Bt),pp(Bt,un)):(ga(Bt),Bt.flags&=-16777217):(Dt=Dt.memoizedProps,Dt!==Yt&&Rc(Bt),ga(Bt),Ef(Bt,an,Dt,Yt,$t)),null;case 27:if(Tn(Bt),$t=yn.current,an=Bt.type,Dt!==null&&Bt.stateNode!=null)Dt.memoizedProps!==Yt&&Rc(Bt);else{if(!Yt){if(Bt.stateNode===null)throw Error(vt(166));return ga(Bt),null}Dt=mn.current,Yr(Bt)?Tr(Bt):(Dt=v0(an,Yt,$t),Bt.stateNode=Dt,Rc(Bt))}return ga(Bt),null;case 5:if(Tn(Bt),an=Bt.type,Dt!==null&&Bt.stateNode!=null)Dt.memoizedProps!==Yt&&Rc(Bt);else{if(!Yt){if(Bt.stateNode===null)throw Error(vt(166));return ga(Bt),null}if(un=mn.current,Yr(Bt))Tr(Bt);else{var bn=Ad(yn.current);switch(un){case 1:un=bn.createElementNS("http://www.w3.org/2000/svg",an);break;case 2:un=bn.createElementNS("http://www.w3.org/1998/Math/MathML",an);break;default:switch(an){case"svg":un=bn.createElementNS("http://www.w3.org/2000/svg",an);break;case"math":un=bn.createElementNS("http://www.w3.org/1998/Math/MathML",an);break;case"script":un=bn.createElement("div"),un.innerHTML="<script><\/script>",un=un.removeChild(un.firstChild);break;case"select":un=typeof Yt.is=="string"?bn.createElement("select",{is:Yt.is}):bn.createElement("select"),Yt.multiple?un.multiple=!0:Yt.size&&(un.size=Yt.size);break;default:un=typeof Yt.is=="string"?bn.createElement(an,{is:Yt.is}):bn.createElement(an)}}un[mi]=Bt,un[wi]=Yt;e:for(bn=Bt.child;bn!==null;){if(bn.tag===5||bn.tag===6)un.appendChild(bn.stateNode);else if(bn.tag!==4&&bn.tag!==27&&bn.child!==null){bn.child.return=bn,bn=bn.child;continue}if(bn===Bt)break e;for(;bn.sibling===null;){if(bn.return===null||bn.return===Bt)break e;bn=bn.return}bn.sibling.return=bn.return,bn=bn.sibling}Bt.stateNode=un;e:switch(Al(un,an,Yt),an){case"button":case"input":case"select":case"textarea":Yt=!!Yt.autoFocus;break e;case"img":Yt=!0;break e;default:Yt=!1}Yt&&Rc(Bt)}}return ga(Bt),Ef(Bt,Bt.type,Dt===null?null:Dt.memoizedProps,Bt.pendingProps,$t),null;case 6:if(Dt&&Bt.stateNode!=null)Dt.memoizedProps!==Yt&&Rc(Bt);else{if(typeof Yt!="string"&&Bt.stateNode===null)throw Error(vt(166));if(Dt=yn.current,Yr(Bt)){if(Dt=Bt.stateNode,$t=Bt.memoizedProps,Yt=null,an=Nr,an!==null)switch(an.tag){case 27:case 5:Yt=an.memoizedProps}Dt[mi]=Bt,Dt=!!(Dt.nodeValue===$t||Yt!==null&&Yt.suppressHydrationWarning===!0||u0(Dt.nodeValue,$t)),Dt||Er(Bt,!0)}else Dt=Ad(Dt).createTextNode(Yt),Dt[mi]=Bt,Bt.stateNode=Dt}return ga(Bt),null;case 31:if($t=Bt.memoizedState,Dt===null||Dt.memoizedState!==null){if(Yt=Yr(Bt),$t!==null){if(Dt===null){if(!Yt)throw Error(vt(318));if(Dt=Bt.memoizedState,Dt=Dt!==null?Dt.dehydrated:null,!Dt)throw Error(vt(557));Dt[mi]=Bt}else li(),(Bt.flags&128)===0&&(Bt.memoizedState=null),Bt.flags|=4;ga(Bt),Dt=!1}else $t=yi(),Dt!==null&&Dt.memoizedState!==null&&(Dt.memoizedState.hydrationErrors=$t),Dt=!0;if(!Dt)return Bt.flags&256?(ic(Bt),Bt):(ic(Bt),null);if((Bt.flags&128)!==0)throw Error(vt(558))}return ga(Bt),null;case 13:if(Yt=Bt.memoizedState,Dt===null||Dt.memoizedState!==null&&Dt.memoizedState.dehydrated!==null){if(an=Yr(Bt),Yt!==null&&Yt.dehydrated!==null){if(Dt===null){if(!an)throw Error(vt(318));if(an=Bt.memoizedState,an=an!==null?an.dehydrated:null,!an)throw Error(vt(317));an[mi]=Bt}else li(),(Bt.flags&128)===0&&(Bt.memoizedState=null),Bt.flags|=4;ga(Bt),an=!1}else an=yi(),Dt!==null&&Dt.memoizedState!==null&&(Dt.memoizedState.hydrationErrors=an),an=!0;if(!an)return Bt.flags&256?(ic(Bt),Bt):(ic(Bt),null)}return ic(Bt),(Bt.flags&128)!==0?(Bt.lanes=$t,Bt):($t=Yt!==null,Dt=Dt!==null&&Dt.memoizedState!==null,$t&&(Yt=Bt.child,an=null,Yt.alternate!==null&&Yt.alternate.memoizedState!==null&&Yt.alternate.memoizedState.cachePool!==null&&(an=Yt.alternate.memoizedState.cachePool.pool),un=null,Yt.memoizedState!==null&&Yt.memoizedState.cachePool!==null&&(un=Yt.memoizedState.cachePool.pool),un!==an&&(Yt.flags|=2048)),$t!==Dt&&$t&&(Bt.child.flags|=8192),ld(Bt,Bt.updateQueue),ga(Bt),null);case 4:return $n(),Dt===null&&zf(Bt.stateNode.containerInfo),ga(Bt),null;case 10:return ks(Bt.type),ga(Bt),null;case 19:if(fn(ja),Yt=Bt.memoizedState,Yt===null)return ga(Bt),null;if(an=(Bt.flags&128)!==0,un=Yt.rendering,un===null)if(an)Du(Yt,!1);else{if(Na!==0||Dt!==null&&(Dt.flags&128)!==0)for(Dt=Bt.child;Dt!==null;){if(un=Xu(Dt),un!==null){for(Bt.flags|=128,Du(Yt,!1),Dt=un.updateQueue,Bt.updateQueue=Dt,ld(Bt,Dt),Bt.subtreeFlags=0,Dt=$t,$t=Bt.child;$t!==null;)Qs($t,Dt),$t=$t.sibling;return pn(ja,ja.current&1|2),Fn&&vl(Bt,Yt.treeForkCount),Bt.child}Dt=Dt.sibling}Yt.tail!==null&&Dr()>hd&&(Bt.flags|=128,an=!0,Du(Yt,!1),Bt.lanes=4194304)}else{if(!an)if(Dt=Xu(un),Dt!==null){if(Bt.flags|=128,an=!0,Dt=Dt.updateQueue,Bt.updateQueue=Dt,ld(Bt,Dt),Du(Yt,!0),Yt.tail===null&&Yt.tailMode==="hidden"&&!un.alternate&&!Fn)return ga(Bt),null}else 2*Dr()-Yt.renderingStartTime>hd&&$t!==536870912&&(Bt.flags|=128,an=!0,Du(Yt,!1),Bt.lanes=4194304);Yt.isBackwards?(un.sibling=Bt.child,Bt.child=un):(Dt=Yt.last,Dt!==null?Dt.sibling=un:Bt.child=un,Yt.last=un)}return Yt.tail!==null?(Dt=Yt.tail,Yt.rendering=Dt,Yt.tail=Dt.sibling,Yt.renderingStartTime=Dr(),Dt.sibling=null,$t=ja.current,pn(ja,an?$t&1|2:$t&1),Fn&&vl(Bt,Yt.treeForkCount),Dt):(ga(Bt),null);case 22:case 23:return ic(Bt),zd(),Yt=Bt.memoizedState!==null,Dt!==null?Dt.memoizedState!==null!==Yt&&(Bt.flags|=8192):Yt&&(Bt.flags|=8192),Yt?($t&536870912)!==0&&(Bt.flags&128)===0&&(ga(Bt),Bt.subtreeFlags&6&&(Bt.flags|=8192)):ga(Bt),$t=Bt.updateQueue,$t!==null&&ld(Bt,$t.retryQueue),$t=null,Dt!==null&&Dt.memoizedState!==null&&Dt.memoizedState.cachePool!==null&&($t=Dt.memoizedState.cachePool.pool),Yt=null,Bt.memoizedState!==null&&Bt.memoizedState.cachePool!==null&&(Yt=Bt.memoizedState.cachePool.pool),Yt!==$t&&(Bt.flags|=2048),Dt!==null&&fn(La),null;case 24:return $t=null,Dt!==null&&($t=Dt.memoizedState.cache),Bt.memoizedState.cache!==$t&&(Bt.flags|=2048),ks(Eo),ga(Bt),null;case 25:return null;case 30:return null}throw Error(vt(156,Bt.tag))}function rg(Dt,Bt){switch(Mr(Bt),Bt.tag){case 1:return Dt=Bt.flags,Dt&65536?(Bt.flags=Dt&-65537|128,Bt):null;case 3:return ks(Eo),$n(),Dt=Bt.flags,(Dt&65536)!==0&&(Dt&128)===0?(Bt.flags=Dt&-65537|128,Bt):null;case 26:case 27:case 5:return Tn(Bt),null;case 31:if(Bt.memoizedState!==null){if(ic(Bt),Bt.alternate===null)throw Error(vt(340));li()}return Dt=Bt.flags,Dt&65536?(Bt.flags=Dt&-65537|128,Bt):null;case 13:if(ic(Bt),Dt=Bt.memoizedState,Dt!==null&&Dt.dehydrated!==null){if(Bt.alternate===null)throw Error(vt(340));li()}return Dt=Bt.flags,Dt&65536?(Bt.flags=Dt&-65537|128,Bt):null;case 19:return fn(ja),null;case 4:return $n(),null;case 10:return ks(Bt.type),null;case 22:case 23:return ic(Bt),zd(),Dt!==null&&fn(La),Dt=Bt.flags,Dt&65536?(Bt.flags=Dt&-65537|128,Bt):null;case 24:return ks(Eo),null;case 25:return null;default:return null}}function gp(Dt,Bt){switch(Mr(Bt),Bt.tag){case 3:ks(Eo),$n();break;case 26:case 27:case 5:Tn(Bt);break;case 4:$n();break;case 31:Bt.memoizedState!==null&&ic(Bt);break;case 13:ic(Bt);break;case 19:fn(ja);break;case 10:ks(Bt.type);break;case 22:case 23:ic(Bt),zd(),Dt!==null&&fn(La);break;case 24:ks(Eo)}}function Tu(Dt,Bt){try{var $t=Bt.updateQueue,Yt=$t!==null?$t.lastEffect:null;if(Yt!==null){var an=Yt.next;$t=an;do{if(($t.tag&Dt)===Dt){Yt=void 0;var un=$t.create,bn=$t.inst;Yt=un(),bn.destroy=Yt}$t=$t.next}while($t!==an)}}catch(qn){zo(Bt,Bt.return,qn)}}function $c(Dt,Bt,$t){try{var Yt=Bt.updateQueue,an=Yt!==null?Yt.lastEffect:null;if(an!==null){var un=an.next;Yt=un;do{if((Yt.tag&Dt)===Dt){var bn=Yt.inst,qn=bn.destroy;if(qn!==void 0){bn.destroy=void 0,an=Bt;var Sr=$t,Jr=qn;try{Jr()}catch(ui){zo(an,Sr,ui)}}}Yt=Yt.next}while(Yt!==un)}}catch(ui){zo(Bt,Bt.return,ui)}}function mp(Dt){var Bt=Dt.updateQueue;if(Bt!==null){var $t=Dt.stateNode;try{yc(Bt,$t)}catch(Yt){zo(Dt,Dt.return,Yt)}}}function Ep(Dt,Bt,$t){$t.props=ru(Dt.type,Dt.memoizedProps),$t.state=Dt.memoizedState;try{$t.componentWillUnmount()}catch(Yt){zo(Dt,Bt,Yt)}}function Ru(Dt,Bt){try{var $t=Dt.ref;if($t!==null){switch(Dt.tag){case 26:case 27:case 5:var Yt=Dt.stateNode;break;case 30:Yt=Dt.stateNode;break;default:Yt=Dt.stateNode}typeof $t=="function"?Dt.refCleanup=$t(Yt):$t.current=Yt}}catch(an){zo(Dt,Bt,an)}}function Cc(Dt,Bt){var $t=Dt.ref,Yt=Dt.refCleanup;if($t!==null)if(typeof Yt=="function")try{Yt()}catch(an){zo(Dt,Bt,an)}finally{Dt.refCleanup=null,Dt=Dt.alternate,Dt!=null&&(Dt.refCleanup=null)}else if(typeof $t=="function")try{$t(null)}catch(an){zo(Dt,Bt,an)}else $t.current=null}function yp(Dt){var Bt=Dt.type,$t=Dt.memoizedProps,Yt=Dt.stateNode;try{e:switch(Bt){case"button":case"input":case"select":case"textarea":$t.autoFocus&&Yt.focus();break e;case"img":$t.src?Yt.src=$t.src:$t.srcSet&&(Yt.srcset=$t.srcSet)}}catch(an){zo(Dt,Dt.return,an)}}function yf(Dt,Bt,$t){try{var Yt=Dt.stateNode;Fg(Yt,Dt.type,$t,Bt),Yt[wi]=Bt}catch(an){zo(Dt,Dt.return,an)}}function _p(Dt){return Dt.tag===5||Dt.tag===3||Dt.tag===26||Dt.tag===27&&Yc(Dt.type)||Dt.tag===4}function _f(Dt){e:for(;;){for(;Dt.sibling===null;){if(Dt.return===null||_p(Dt.return))return null;Dt=Dt.return}for(Dt.sibling.return=Dt.return,Dt=Dt.sibling;Dt.tag!==5&&Dt.tag!==6&&Dt.tag!==18;){if(Dt.tag===27&&Yc(Dt.type)||Dt.flags&2||Dt.child===null||Dt.tag===4)continue e;Dt.child.return=Dt,Dt=Dt.child}if(!(Dt.flags&2))return Dt.stateNode}}function xf(Dt,Bt,$t){var Yt=Dt.tag;if(Yt===5||Yt===6)Dt=Dt.stateNode,Bt?($t.nodeType===9?$t.body:$t.nodeName==="HTML"?$t.ownerDocument.body:$t).insertBefore(Dt,Bt):(Bt=$t.nodeType===9?$t.body:$t.nodeName==="HTML"?$t.ownerDocument.body:$t,Bt.appendChild(Dt),$t=$t._reactRootContainer,$t!=null||Bt.onclick!==null||(Bt.onclick=$o));else if(Yt!==4&&(Yt===27&&Yc(Dt.type)&&($t=Dt.stateNode,Bt=null),Dt=Dt.child,Dt!==null))for(xf(Dt,Bt,$t),Dt=Dt.sibling;Dt!==null;)xf(Dt,Bt,$t),Dt=Dt.sibling}function cd(Dt,Bt,$t){var Yt=Dt.tag;if(Yt===5||Yt===6)Dt=Dt.stateNode,Bt?$t.insertBefore(Dt,Bt):$t.appendChild(Dt);else if(Yt!==4&&(Yt===27&&Yc(Dt.type)&&($t=Dt.stateNode),Dt=Dt.child,Dt!==null))for(cd(Dt,Bt,$t),Dt=Dt.sibling;Dt!==null;)cd(Dt,Bt,$t),Dt=Dt.sibling}function xp(Dt){var Bt=Dt.stateNode,$t=Dt.memoizedProps;try{for(var Yt=Dt.type,an=Bt.attributes;an.length;)Bt.removeAttributeNode(an[0]);Al(Bt,Yt,$t),Bt[mi]=Dt,Bt[wi]=$t}catch(un){zo(Dt,Dt.return,un)}}var Bc=!1,Qa=!1,vf=!1,vp=typeof WeakSet=="function"?WeakSet:Set,yl=null;function ig(Dt,Bt){if(Dt=Dt.containerInfo,jf=Rd,Dt=Bl(Dt),sl(Dt)){if("selectionStart"in Dt)var $t={start:Dt.selectionStart,end:Dt.selectionEnd};else e:{$t=($t=Dt.ownerDocument)&&$t.defaultView||window;var Yt=$t.getSelection&&$t.getSelection();if(Yt&&Yt.rangeCount!==0){$t=Yt.anchorNode;var an=Yt.anchorOffset,un=Yt.focusNode;Yt=Yt.focusOffset;try{$t.nodeType,un.nodeType}catch{$t=null;break e}var bn=0,qn=-1,Sr=-1,Jr=0,ui=0,gi=Dt,ni=null;t:for(;;){for(var oi;gi!==$t||an!==0&&gi.nodeType!==3||(qn=bn+an),gi!==un||Yt!==0&&gi.nodeType!==3||(Sr=bn+Yt),gi.nodeType===3&&(bn+=gi.nodeValue.length),(oi=gi.firstChild)!==null;)ni=gi,gi=oi;for(;;){if(gi===Dt)break t;if(ni===$t&&++Jr===an&&(qn=bn),ni===un&&++ui===Yt&&(Sr=bn),(oi=gi.nextSibling)!==null)break;gi=ni,ni=gi.parentNode}gi=oi}$t=qn===-1||Sr===-1?null:{start:qn,end:Sr}}else $t=null}$t=$t||{start:0,end:0}}else $t=null;for(Hf={focusedElem:Dt,selectionRange:$t},Rd=!1,yl=Bt;yl!==null;)if(Bt=yl,Dt=Bt.child,(Bt.subtreeFlags&1028)!==0&&Dt!==null)Dt.return=Bt,yl=Dt;else for(;yl!==null;){switch(Bt=yl,un=Bt.alternate,Dt=Bt.flags,Bt.tag){case 0:if((Dt&4)!==0&&(Dt=Bt.updateQueue,Dt=Dt!==null?Dt.events:null,Dt!==null))for($t=0;$t<Dt.length;$t++)an=Dt[$t],an.ref.impl=an.nextImpl;break;case 11:case 15:break;case 1:if((Dt&1024)!==0&&un!==null){Dt=void 0,$t=Bt,an=un.memoizedProps,un=un.memoizedState,Yt=$t.stateNode;try{var Ji=ru($t.type,an);Dt=Yt.getSnapshotBeforeUpdate(Ji,un),Yt.__reactInternalSnapshotBeforeUpdate=Dt}catch(_s){zo($t,$t.return,_s)}}break;case 3:if((Dt&1024)!==0){if(Dt=Bt.stateNode.containerInfo,$t=Dt.nodeType,$t===9)Gf(Dt);else if($t===1)switch(Dt.nodeName){case"HEAD":case"HTML":case"BODY":Gf(Dt);break;default:Dt.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((Dt&1024)!==0)throw Error(vt(163))}if(Dt=Bt.sibling,Dt!==null){Dt.return=Bt.return,yl=Dt;break}yl=Bt.return}}function bp(Dt,Bt,$t){var Yt=$t.flags;switch($t.tag){case 0:case 11:case 15:Ic(Dt,$t),Yt&4&&Tu(5,$t);break;case 1:if(Ic(Dt,$t),Yt&4)if(Dt=$t.stateNode,Bt===null)try{Dt.componentDidMount()}catch(bn){zo($t,$t.return,bn)}else{var an=ru($t.type,Bt.memoizedProps);Bt=Bt.memoizedState;try{Dt.componentDidUpdate(an,Bt,Dt.__reactInternalSnapshotBeforeUpdate)}catch(bn){zo($t,$t.return,bn)}}Yt&64&&mp($t),Yt&512&&Ru($t,$t.return);break;case 3:if(Ic(Dt,$t),Yt&64&&(Dt=$t.updateQueue,Dt!==null)){if(Bt=null,$t.child!==null)switch($t.child.tag){case 27:case 5:Bt=$t.child.stateNode;break;case 1:Bt=$t.child.stateNode}try{yc(Dt,Bt)}catch(bn){zo($t,$t.return,bn)}}break;case 27:Bt===null&&Yt&4&&xp($t);case 26:case 5:Ic(Dt,$t),Bt===null&&Yt&4&&yp($t),Yt&512&&Ru($t,$t.return);break;case 12:Ic(Dt,$t);break;case 31:Ic(Dt,$t),Yt&4&&Fp(Dt,$t);break;case 13:Ic(Dt,$t),Yt&4&&wp(Dt,$t),Yt&64&&(Dt=$t.memoizedState,Dt!==null&&(Dt=Dt.dehydrated,Dt!==null&&($t=hg.bind(null,$t),Ig(Dt,$t))));break;case 22:if(Yt=$t.memoizedState!==null||Bc,!Yt){Bt=Bt!==null&&Bt.memoizedState!==null||Qa,an=Bc;var un=Qa;Bc=Yt,(Qa=Bt)&&!un?Oc(Dt,$t,($t.subtreeFlags&8772)!==0):Ic(Dt,$t),Bc=an,Qa=un}break;case 30:break;default:Ic(Dt,$t)}}function Ap(Dt){var Bt=Dt.alternate;Bt!==null&&(Dt.alternate=null,Ap(Bt)),Dt.child=null,Dt.deletions=null,Dt.sibling=null,Dt.tag===5&&(Bt=Dt.stateNode,Bt!==null&&$s(Bt)),Dt.stateNode=null,Dt.return=null,Dt.dependencies=null,Dt.memoizedProps=null,Dt.memoizedState=null,Dt.pendingProps=null,Dt.stateNode=null,Dt.updateQueue=null}var xa=null,Gl=!1;function Mc(Dt,Bt,$t){for($t=$t.child;$t!==null;)Cp(Dt,Bt,$t),$t=$t.sibling}function Cp(Dt,Bt,$t){if(gn&&typeof gn.onCommitFiberUnmount=="function")try{gn.onCommitFiberUnmount(cr,$t)}catch{}switch($t.tag){case 26:Qa||Cc($t,Bt),Mc(Dt,Bt,$t),$t.memoizedState?$t.memoizedState.count--:$t.stateNode&&($t=$t.stateNode,$t.parentNode.removeChild($t));break;case 27:Qa||Cc($t,Bt);var Yt=xa,an=Gl;Yc($t.type)&&(xa=$t.stateNode,Gl=!1),Mc(Dt,Bt,$t),zu($t.stateNode),xa=Yt,Gl=an;break;case 5:Qa||Cc($t,Bt);case 6:if(Yt=xa,an=Gl,xa=null,Mc(Dt,Bt,$t),xa=Yt,Gl=an,xa!==null)if(Gl)try{(xa.nodeType===9?xa.body:xa.nodeName==="HTML"?xa.ownerDocument.body:xa).removeChild($t.stateNode)}catch(un){zo($t,Bt,un)}else try{xa.removeChild($t.stateNode)}catch(un){zo($t,Bt,un)}break;case 18:xa!==null&&(Gl?(Dt=xa,m0(Dt.nodeType===9?Dt.body:Dt.nodeName==="HTML"?Dt.ownerDocument.body:Dt,$t.stateNode),bu(Dt)):m0(xa,$t.stateNode));break;case 4:Yt=xa,an=Gl,xa=$t.stateNode.containerInfo,Gl=!0,Mc(Dt,Bt,$t),xa=Yt,Gl=an;break;case 0:case 11:case 14:case 15:$c(2,$t,Bt),Qa||$c(4,$t,Bt),Mc(Dt,Bt,$t);break;case 1:Qa||(Cc($t,Bt),Yt=$t.stateNode,typeof Yt.componentWillUnmount=="function"&&Ep($t,Bt,Yt)),Mc(Dt,Bt,$t);break;case 21:Mc(Dt,Bt,$t);break;case 22:Qa=(Yt=Qa)||$t.memoizedState!==null,Mc(Dt,Bt,$t),Qa=Yt;break;default:Mc(Dt,Bt,$t)}}function Fp(Dt,Bt){if(Bt.memoizedState===null&&(Dt=Bt.alternate,Dt!==null&&(Dt=Dt.memoizedState,Dt!==null))){Dt=Dt.dehydrated;try{bu(Dt)}catch($t){zo(Bt,Bt.return,$t)}}}function wp(Dt,Bt){if(Bt.memoizedState===null&&(Dt=Bt.alternate,Dt!==null&&(Dt=Dt.memoizedState,Dt!==null&&(Dt=Dt.dehydrated,Dt!==null))))try{bu(Dt)}catch($t){zo(Bt,Bt.return,$t)}}function sg(Dt){switch(Dt.tag){case 31:case 13:case 19:var Bt=Dt.stateNode;return Bt===null&&(Bt=Dt.stateNode=new vp),Bt;case 22:return Dt=Dt.stateNode,Bt=Dt._retryCache,Bt===null&&(Bt=Dt._retryCache=new vp),Bt;default:throw Error(vt(435,Dt.tag))}}function ud(Dt,Bt){var $t=sg(Dt);Bt.forEach(function(Yt){if(!$t.has(Yt)){$t.add(Yt);var an=pg.bind(null,Dt,Yt);Yt.then(an,an)}})}function ql(Dt,Bt){var $t=Bt.deletions;if($t!==null)for(var Yt=0;Yt<$t.length;Yt++){var an=$t[Yt],un=Dt,bn=Bt,qn=bn;e:for(;qn!==null;){switch(qn.tag){case 27:if(Yc(qn.type)){xa=qn.stateNode,Gl=!1;break e}break;case 5:xa=qn.stateNode,Gl=!1;break e;case 3:case 4:xa=qn.stateNode.containerInfo,Gl=!0;break e}qn=qn.return}if(xa===null)throw Error(vt(160));Cp(un,bn,an),xa=null,Gl=!1,un=an.alternate,un!==null&&(un.return=null),an.return=null}if(Bt.subtreeFlags&13886)for(Bt=Bt.child;Bt!==null;)Sp(Bt,Dt),Bt=Bt.sibling}var xc=null;function Sp(Dt,Bt){var $t=Dt.alternate,Yt=Dt.flags;switch(Dt.tag){case 0:case 11:case 14:case 15:ql(Bt,Dt),Yl(Dt),Yt&4&&($c(3,Dt,Dt.return),Tu(3,Dt),$c(5,Dt,Dt.return));break;case 1:ql(Bt,Dt),Yl(Dt),Yt&512&&(Qa||$t===null||Cc($t,$t.return)),Yt&64&&Bc&&(Dt=Dt.updateQueue,Dt!==null&&(Yt=Dt.callbacks,Yt!==null&&($t=Dt.shared.hiddenCallbacks,Dt.shared.hiddenCallbacks=$t===null?Yt:$t.concat(Yt))));break;case 26:var an=xc;if(ql(Bt,Dt),Yl(Dt),Yt&512&&(Qa||$t===null||Cc($t,$t.return)),Yt&4){var un=$t!==null?$t.memoizedState:null;if(Yt=Dt.memoizedState,$t===null)if(Yt===null)if(Dt.stateNode===null){e:{Yt=Dt.type,$t=Dt.memoizedProps,an=an.ownerDocument||an;t:switch(Yt){case"title":un=an.getElementsByTagName("title")[0],(!un||un[xs]||un[mi]||un.namespaceURI==="http://www.w3.org/2000/svg"||un.hasAttribute("itemprop"))&&(un=an.createElement(Yt),an.head.insertBefore(un,an.querySelector("head > title"))),Al(un,Yt,$t),un[mi]=Dt,Ds(un),Yt=un;break e;case"link":var bn=S0("link","href",an).get(Yt+($t.href||""));if(bn){for(var qn=0;qn<bn.length;qn++)if(un=bn[qn],un.getAttribute("href")===($t.href==null||$t.href===""?null:$t.href)&&un.getAttribute("rel")===($t.rel==null?null:$t.rel)&&un.getAttribute("title")===($t.title==null?null:$t.title)&&un.getAttribute("crossorigin")===($t.crossOrigin==null?null:$t.crossOrigin)){bn.splice(qn,1);break t}}un=an.createElement(Yt),Al(un,Yt,$t),an.head.appendChild(un);break;case"meta":if(bn=S0("meta","content",an).get(Yt+($t.content||""))){for(qn=0;qn<bn.length;qn++)if(un=bn[qn],un.getAttribute("content")===($t.content==null?null:""+$t.content)&&un.getAttribute("name")===($t.name==null?null:$t.name)&&un.getAttribute("property")===($t.property==null?null:$t.property)&&un.getAttribute("http-equiv")===($t.httpEquiv==null?null:$t.httpEquiv)&&un.getAttribute("charset")===($t.charSet==null?null:$t.charSet)){bn.splice(qn,1);break t}}un=an.createElement(Yt),Al(un,Yt,$t),an.head.appendChild(un);break;default:throw Error(vt(468,Yt))}un[mi]=Dt,Ds(un),Yt=un}Dt.stateNode=Yt}else D0(an,Dt.type,Dt.stateNode);else Dt.stateNode=w0(an,Yt,Dt.memoizedProps);else un!==Yt?(un===null?$t.stateNode!==null&&($t=$t.stateNode,$t.parentNode.removeChild($t)):un.count--,Yt===null?D0(an,Dt.type,Dt.stateNode):w0(an,Yt,Dt.memoizedProps)):Yt===null&&Dt.stateNode!==null&&yf(Dt,Dt.memoizedProps,$t.memoizedProps)}break;case 27:ql(Bt,Dt),Yl(Dt),Yt&512&&(Qa||$t===null||Cc($t,$t.return)),$t!==null&&Yt&4&&yf(Dt,Dt.memoizedProps,$t.memoizedProps);break;case 5:if(ql(Bt,Dt),Yl(Dt),Yt&512&&(Qa||$t===null||Cc($t,$t.return)),Dt.flags&32){an=Dt.stateNode;try{wo(an,"")}catch(Ji){zo(Dt,Dt.return,Ji)}}Yt&4&&Dt.stateNode!=null&&(an=Dt.memoizedProps,yf(Dt,an,$t!==null?$t.memoizedProps:an)),Yt&1024&&(vf=!0);break;case 6:if(ql(Bt,Dt),Yl(Dt),Yt&4){if(Dt.stateNode===null)throw Error(vt(162));Yt=Dt.memoizedProps,$t=Dt.stateNode;try{$t.nodeValue=Yt}catch(Ji){zo(Dt,Dt.return,Ji)}}break;case 3:if(wd=null,an=xc,xc=Cd(Bt.containerInfo),ql(Bt,Dt),xc=an,Yl(Dt),Yt&4&&$t!==null&&$t.memoizedState.isDehydrated)try{bu(Bt.containerInfo)}catch(Ji){zo(Dt,Dt.return,Ji)}vf&&(vf=!1,Dp(Dt));break;case 4:Yt=xc,xc=Cd(Dt.stateNode.containerInfo),ql(Bt,Dt),Yl(Dt),xc=Yt;break;case 12:ql(Bt,Dt),Yl(Dt);break;case 31:ql(Bt,Dt),Yl(Dt),Yt&4&&(Yt=Dt.updateQueue,Yt!==null&&(Dt.updateQueue=null,ud(Dt,Yt)));break;case 13:ql(Bt,Dt),Yl(Dt),Dt.child.flags&8192&&Dt.memoizedState!==null!=($t!==null&&$t.memoizedState!==null)&&(fd=Dr()),Yt&4&&(Yt=Dt.updateQueue,Yt!==null&&(Dt.updateQueue=null,ud(Dt,Yt)));break;case 22:an=Dt.memoizedState!==null;var Sr=$t!==null&&$t.memoizedState!==null,Jr=Bc,ui=Qa;if(Bc=Jr||an,Qa=ui||Sr,ql(Bt,Dt),Qa=ui,Bc=Jr,Yl(Dt),Yt&8192)e:for(Bt=Dt.stateNode,Bt._visibility=an?Bt._visibility&-2:Bt._visibility|1,an&&($t===null||Sr||Bc||Qa||iu(Dt)),$t=null,Bt=Dt;;){if(Bt.tag===5||Bt.tag===26){if($t===null){Sr=$t=Bt;try{if(un=Sr.stateNode,an)bn=un.style,typeof bn.setProperty=="function"?bn.setProperty("display","none","important"):bn.display="none";else{qn=Sr.stateNode;var gi=Sr.memoizedProps.style,ni=gi!=null&&gi.hasOwnProperty("display")?gi.display:null;qn.style.display=ni==null||typeof ni=="boolean"?"":(""+ni).trim()}}catch(Ji){zo(Sr,Sr.return,Ji)}}}else if(Bt.tag===6){if($t===null){Sr=Bt;try{Sr.stateNode.nodeValue=an?"":Sr.memoizedProps}catch(Ji){zo(Sr,Sr.return,Ji)}}}else if(Bt.tag===18){if($t===null){Sr=Bt;try{var oi=Sr.stateNode;an?E0(oi,!0):E0(Sr.stateNode,!1)}catch(Ji){zo(Sr,Sr.return,Ji)}}}else if((Bt.tag!==22&&Bt.tag!==23||Bt.memoizedState===null||Bt===Dt)&&Bt.child!==null){Bt.child.return=Bt,Bt=Bt.child;continue}if(Bt===Dt)break e;for(;Bt.sibling===null;){if(Bt.return===null||Bt.return===Dt)break e;$t===Bt&&($t=null),Bt=Bt.return}$t===Bt&&($t=null),Bt.sibling.return=Bt.return,Bt=Bt.sibling}Yt&4&&(Yt=Dt.updateQueue,Yt!==null&&($t=Yt.retryQueue,$t!==null&&(Yt.retryQueue=null,ud(Dt,$t))));break;case 19:ql(Bt,Dt),Yl(Dt),Yt&4&&(Yt=Dt.updateQueue,Yt!==null&&(Dt.updateQueue=null,ud(Dt,Yt)));break;case 30:break;case 21:break;default:ql(Bt,Dt),Yl(Dt)}}function Yl(Dt){var Bt=Dt.flags;if(Bt&2){try{for(var $t,Yt=Dt.return;Yt!==null;){if(_p(Yt)){$t=Yt;break}Yt=Yt.return}if($t==null)throw Error(vt(160));switch($t.tag){case 27:var an=$t.stateNode,un=_f(Dt);cd(Dt,un,an);break;case 5:var bn=$t.stateNode;$t.flags&32&&(wo(bn,""),$t.flags&=-33);var qn=_f(Dt);cd(Dt,qn,bn);break;case 3:case 4:var Sr=$t.stateNode.containerInfo,Jr=_f(Dt);xf(Dt,Jr,Sr);break;default:throw Error(vt(161))}}catch(ui){zo(Dt,Dt.return,ui)}Dt.flags&=-3}Bt&4096&&(Dt.flags&=-4097)}function Dp(Dt){if(Dt.subtreeFlags&1024)for(Dt=Dt.child;Dt!==null;){var Bt=Dt;Dp(Bt),Bt.tag===5&&Bt.flags&1024&&Bt.stateNode.reset(),Dt=Dt.sibling}}function Ic(Dt,Bt){if(Bt.subtreeFlags&8772)for(Bt=Bt.child;Bt!==null;)bp(Dt,Bt.alternate,Bt),Bt=Bt.sibling}function iu(Dt){for(Dt=Dt.child;Dt!==null;){var Bt=Dt;switch(Bt.tag){case 0:case 11:case 14:case 15:$c(4,Bt,Bt.return),iu(Bt);break;case 1:Cc(Bt,Bt.return);var $t=Bt.stateNode;typeof $t.componentWillUnmount=="function"&&Ep(Bt,Bt.return,$t),iu(Bt);break;case 27:zu(Bt.stateNode);case 26:case 5:Cc(Bt,Bt.return),iu(Bt);break;case 22:Bt.memoizedState===null&&iu(Bt);break;case 30:iu(Bt);break;default:iu(Bt)}Dt=Dt.sibling}}function Oc(Dt,Bt,$t){for($t=$t&&(Bt.subtreeFlags&8772)!==0,Bt=Bt.child;Bt!==null;){var Yt=Bt.alternate,an=Dt,un=Bt,bn=un.flags;switch(un.tag){case 0:case 11:case 15:Oc(an,un,$t),Tu(4,un);break;case 1:if(Oc(an,un,$t),Yt=un,an=Yt.stateNode,typeof an.componentDidMount=="function")try{an.componentDidMount()}catch(Jr){zo(Yt,Yt.return,Jr)}if(Yt=un,an=Yt.updateQueue,an!==null){var qn=Yt.stateNode;try{var Sr=an.shared.hiddenCallbacks;if(Sr!==null)for(an.shared.hiddenCallbacks=null,an=0;an<Sr.length;an++)El(Sr[an],qn)}catch(Jr){zo(Yt,Yt.return,Jr)}}$t&&bn&64&&mp(un),Ru(un,un.return);break;case 27:xp(un);case 26:case 5:Oc(an,un,$t),$t&&Yt===null&&bn&4&&yp(un),Ru(un,un.return);break;case 12:Oc(an,un,$t);break;case 31:Oc(an,un,$t),$t&&bn&4&&Fp(an,un);break;case 13:Oc(an,un,$t),$t&&bn&4&&wp(an,un);break;case 22:un.memoizedState===null&&Oc(an,un,$t),Ru(un,un.return);break;case 30:break;default:Oc(an,un,$t)}Bt=Bt.sibling}}function bf(Dt,Bt){var $t=null;Dt!==null&&Dt.memoizedState!==null&&Dt.memoizedState.cachePool!==null&&($t=Dt.memoizedState.cachePool.pool),Dt=null,Bt.memoizedState!==null&&Bt.memoizedState.cachePool!==null&&(Dt=Bt.memoizedState.cachePool.pool),Dt!==$t&&(Dt!=null&&Dt.refCount++,$t!=null&&hc($t))}function Af(Dt,Bt){Dt=null,Bt.alternate!==null&&(Dt=Bt.alternate.memoizedState.cache),Bt=Bt.memoizedState.cache,Bt!==Dt&&(Bt.refCount++,Dt!=null&&hc(Dt))}function vc(Dt,Bt,$t,Yt){if(Bt.subtreeFlags&10256)for(Bt=Bt.child;Bt!==null;)Tp(Dt,Bt,$t,Yt),Bt=Bt.sibling}function Tp(Dt,Bt,$t,Yt){var an=Bt.flags;switch(Bt.tag){case 0:case 11:case 15:vc(Dt,Bt,$t,Yt),an&2048&&Tu(9,Bt);break;case 1:vc(Dt,Bt,$t,Yt);break;case 3:vc(Dt,Bt,$t,Yt),an&2048&&(Dt=null,Bt.alternate!==null&&(Dt=Bt.alternate.memoizedState.cache),Bt=Bt.memoizedState.cache,Bt!==Dt&&(Bt.refCount++,Dt!=null&&hc(Dt)));break;case 12:if(an&2048){vc(Dt,Bt,$t,Yt),Dt=Bt.stateNode;try{var un=Bt.memoizedProps,bn=un.id,qn=un.onPostCommit;typeof qn=="function"&&qn(bn,Bt.alternate===null?"mount":"update",Dt.passiveEffectDuration,-0)}catch(Sr){zo(Bt,Bt.return,Sr)}}else vc(Dt,Bt,$t,Yt);break;case 31:vc(Dt,Bt,$t,Yt);break;case 13:vc(Dt,Bt,$t,Yt);break;case 23:break;case 22:un=Bt.stateNode,bn=Bt.alternate,Bt.memoizedState!==null?un._visibility&2?vc(Dt,Bt,$t,Yt):Bu(Dt,Bt):un._visibility&2?vc(Dt,Bt,$t,Yt):(un._visibility|=2,du(Dt,Bt,$t,Yt,(Bt.subtreeFlags&10256)!==0||!1)),an&2048&&bf(bn,Bt);break;case 24:vc(Dt,Bt,$t,Yt),an&2048&&Af(Bt.alternate,Bt);break;default:vc(Dt,Bt,$t,Yt)}}function du(Dt,Bt,$t,Yt,an){for(an=an&&((Bt.subtreeFlags&10256)!==0||!1),Bt=Bt.child;Bt!==null;){var un=Dt,bn=Bt,qn=$t,Sr=Yt,Jr=bn.flags;switch(bn.tag){case 0:case 11:case 15:du(un,bn,qn,Sr,an),Tu(8,bn);break;case 23:break;case 22:var ui=bn.stateNode;bn.memoizedState!==null?ui._visibility&2?du(un,bn,qn,Sr,an):Bu(un,bn):(ui._visibility|=2,du(un,bn,qn,Sr,an)),an&&Jr&2048&&bf(bn.alternate,bn);break;case 24:du(un,bn,qn,Sr,an),an&&Jr&2048&&Af(bn.alternate,bn);break;default:du(un,bn,qn,Sr,an)}Bt=Bt.sibling}}function Bu(Dt,Bt){if(Bt.subtreeFlags&10256)for(Bt=Bt.child;Bt!==null;){var $t=Dt,Yt=Bt,an=Yt.flags;switch(Yt.tag){case 22:Bu($t,Yt),an&2048&&bf(Yt.alternate,Yt);break;case 24:Bu($t,Yt),an&2048&&Af(Yt.alternate,Yt);break;default:Bu($t,Yt)}Bt=Bt.sibling}}var Mu=8192;function fu(Dt,Bt,$t){if(Dt.subtreeFlags&Mu)for(Dt=Dt.child;Dt!==null;)Rp(Dt,Bt,$t),Dt=Dt.sibling}function Rp(Dt,Bt,$t){switch(Dt.tag){case 26:fu(Dt,Bt,$t),Dt.flags&Mu&&Dt.memoizedState!==null&&Vg($t,xc,Dt.memoizedState,Dt.memoizedProps);break;case 5:fu(Dt,Bt,$t);break;case 3:case 4:var Yt=xc;xc=Cd(Dt.stateNode.containerInfo),fu(Dt,Bt,$t),xc=Yt;break;case 22:Dt.memoizedState===null&&(Yt=Dt.alternate,Yt!==null&&Yt.memoizedState!==null?(Yt=Mu,Mu=16777216,fu(Dt,Bt,$t),Mu=Yt):fu(Dt,Bt,$t));break;default:fu(Dt,Bt,$t)}}function Bp(Dt){var Bt=Dt.alternate;if(Bt!==null&&(Dt=Bt.child,Dt!==null)){Bt.child=null;do Bt=Dt.sibling,Dt.sibling=null,Dt=Bt;while(Dt!==null)}}function Iu(Dt){var Bt=Dt.deletions;if((Dt.flags&16)!==0){if(Bt!==null)for(var $t=0;$t<Bt.length;$t++){var Yt=Bt[$t];yl=Yt,Ip(Yt,Dt)}Bp(Dt)}if(Dt.subtreeFlags&10256)for(Dt=Dt.child;Dt!==null;)Mp(Dt),Dt=Dt.sibling}function Mp(Dt){switch(Dt.tag){case 0:case 11:case 15:Iu(Dt),Dt.flags&2048&&$c(9,Dt,Dt.return);break;case 3:Iu(Dt);break;case 12:Iu(Dt);break;case 22:var Bt=Dt.stateNode;Dt.memoizedState!==null&&Bt._visibility&2&&(Dt.return===null||Dt.return.tag!==13)?(Bt._visibility&=-3,dd(Dt)):Iu(Dt);break;default:Iu(Dt)}}function dd(Dt){var Bt=Dt.deletions;if((Dt.flags&16)!==0){if(Bt!==null)for(var $t=0;$t<Bt.length;$t++){var Yt=Bt[$t];yl=Yt,Ip(Yt,Dt)}Bp(Dt)}for(Dt=Dt.child;Dt!==null;){switch(Bt=Dt,Bt.tag){case 0:case 11:case 15:$c(8,Bt,Bt.return),dd(Bt);break;case 22:$t=Bt.stateNode,$t._visibility&2&&($t._visibility&=-3,dd(Bt));break;default:dd(Bt)}Dt=Dt.sibling}}function Ip(Dt,Bt){for(;yl!==null;){var $t=yl;switch($t.tag){case 0:case 11:case 15:$c(8,$t,Bt);break;case 23:case 22:if($t.memoizedState!==null&&$t.memoizedState.cachePool!==null){var Yt=$t.memoizedState.cachePool.pool;Yt!=null&&Yt.refCount++}break;case 24:hc($t.memoizedState.cache)}if(Yt=$t.child,Yt!==null)Yt.return=$t,yl=Yt;else e:for($t=Dt;yl!==null;){Yt=yl;var an=Yt.sibling,un=Yt.return;if(Ap(Yt),Yt===$t){yl=null;break e}if(an!==null){an.return=un,yl=an;break e}yl=un}}}var og={getCacheForType:function(Dt){var Bt=co(Eo),$t=Bt.data.get(Dt);return $t===void 0&&($t=Dt(),Bt.data.set(Dt,$t)),$t},cacheSignal:function(){return co(Eo).controller.signal}},ag=typeof WeakMap=="function"?WeakMap:Map,So=0,Jo=null,no=null,oo=0,No=0,sc=null,jc=!1,hu=!1,Cf=!1,Pc=0,Na=0,Hc=0,su=0,Ff=0,oc=0,pu=0,Ou=null,Xl=null,wf=!1,fd=0,Op=0,hd=1/0,pd=null,Wc=null,ol=0,Vc=null,gu=null,Lc=0,Sf=0,Df=null,Pp=null,Pu=0,Tf=null;function ac(){return(So&2)!==0&&oo!==0?oo&-oo:Zt.T!==null?Pf():_i()}function Lp(){if(oc===0)if((oo&536870912)===0||Fn){var Dt=yr;yr<<=1,(yr&3932160)===0&&(yr=262144),oc=Dt}else oc=536870912;return Dt=rc.current,Dt!==null&&(Dt.flags|=32),oc}function Kl(Dt,Bt,$t){(Dt===Jo&&(No===2||No===9)||Dt.cancelPendingCommit!==null)&&(mu(Dt,0),Gc(Dt,oo,oc,!1)),ii(Dt,$t),((So&2)===0||Dt!==Jo)&&(Dt===Jo&&((So&2)===0&&(su|=$t),Na===4&&Gc(Dt,oo,oc,!1)),Fc(Dt))}function kp(Dt,Bt,$t){if((So&6)!==0)throw Error(vt(327));var Yt=!$t&&(Bt&127)===0&&(Bt&Dt.expiredLanes)===0||hr(Dt,Bt),an=Yt?ug(Dt,Bt):Bf(Dt,Bt,!0),un=Yt;do{if(an===0){hu&&!Yt&&Gc(Dt,Bt,0,!1);break}else{if($t=Dt.current.alternate,un&&!lg($t)){an=Bf(Dt,Bt,!1),un=!1;continue}if(an===2){if(un=Bt,Dt.errorRecoveryDisabledLanes&un)var bn=0;else bn=Dt.pendingLanes&-536870913,bn=bn!==0?bn:bn&536870912?536870912:0;if(bn!==0){Bt=bn;e:{var qn=Dt;an=Ou;var Sr=qn.current.memoizedState.isDehydrated;if(Sr&&(mu(qn,bn).flags|=256),bn=Bf(qn,bn,!1),bn!==2){if(Cf&&!Sr){qn.errorRecoveryDisabledLanes|=un,su|=un,an=4;break e}un=Xl,Xl=an,un!==null&&(Xl===null?Xl=un:Xl.push.apply(Xl,un))}an=bn}if(un=!1,an!==2)continue}}if(an===1){mu(Dt,0),Gc(Dt,Bt,0,!0);break}e:{switch(Yt=Dt,un=an,un){case 0:case 1:throw Error(vt(345));case 4:if((Bt&4194048)!==Bt)break;case 6:Gc(Yt,Bt,oc,!jc);break e;case 2:Xl=null;break;case 3:case 5:break;default:throw Error(vt(329))}if((Bt&62914560)===Bt&&(an=fd+300-Dr(),10<an)){if(Gc(Yt,Bt,oc,!jc),Ar(Yt,0,!0)!==0)break e;Lc=Bt,Yt.timeoutHandle=p0(Np.bind(null,Yt,$t,Xl,pd,wf,Bt,oc,su,pu,jc,un,"Throttled",-0,0),an);break e}Np(Yt,$t,Xl,pd,wf,Bt,oc,su,pu,jc,un,null,-0,0)}}break}while(!0);Fc(Dt)}function Np(Dt,Bt,$t,Yt,an,un,bn,qn,Sr,Jr,ui,gi,ni,oi){if(Dt.timeoutHandle=-1,gi=Bt.subtreeFlags,gi&8192||(gi&16785408)===16785408){gi={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:$o},Rp(Bt,un,gi);var Ji=(un&62914560)===un?fd-Dr():(un&4194048)===un?Op-Dr():0;if(Ji=Gg(gi,Ji),Ji!==null){Lc=un,Dt.cancelPendingCommit=Ji(Gp.bind(null,Dt,Bt,un,$t,Yt,an,bn,qn,Sr,ui,gi,null,ni,oi)),Gc(Dt,un,bn,!Jr);return}}Gp(Dt,Bt,un,$t,Yt,an,bn,qn,Sr)}function lg(Dt){for(var Bt=Dt;;){var $t=Bt.tag;if(($t===0||$t===11||$t===15)&&Bt.flags&16384&&($t=Bt.updateQueue,$t!==null&&($t=$t.stores,$t!==null)))for(var Yt=0;Yt<$t.length;Yt++){var an=$t[Yt],un=an.getSnapshot;an=an.value;try{if(!Ys(un(),an))return!1}catch{return!1}}if($t=Bt.child,Bt.subtreeFlags&16384&&$t!==null)$t.return=Bt,Bt=$t;else{if(Bt===Dt)break;for(;Bt.sibling===null;){if(Bt.return===null||Bt.return===Dt)return!0;Bt=Bt.return}Bt.sibling.return=Bt.return,Bt=Bt.sibling}}return!0}function Gc(Dt,Bt,$t,Yt){Bt&=~Ff,Bt&=~su,Dt.suspendedLanes|=Bt,Dt.pingedLanes&=~Bt,Yt&&(Dt.warmLanes|=Bt),Yt=Dt.expirationTimes;for(var an=Bt;0<an;){var un=31-Xn(an),bn=1<<un;Yt[un]=-1,an&=~bn}$t!==0&&di(Dt,$t,Bt)}function gd(){return(So&6)===0?(Lu(0),!1):!0}function Rf(){if(no!==null){if(No===0)var Dt=no.return;else Dt=no,Vs=ns=null,Vd(Dt),Qr=null,os=0,Dt=no;for(;Dt!==null;)gp(Dt.alternate,Dt),Dt=Dt.return;no=null}}function mu(Dt,Bt){var $t=Dt.timeoutHandle;$t!==-1&&(Dt.timeoutHandle=-1,Dg($t)),$t=Dt.cancelPendingCommit,$t!==null&&(Dt.cancelPendingCommit=null,$t()),Lc=0,Rf(),Jo=Dt,no=$t=ra(Dt.current,null),oo=Bt,No=0,sc=null,jc=!1,hu=hr(Dt,Bt),Cf=!1,pu=oc=Ff=su=Hc=Na=0,Xl=Ou=null,wf=!1,(Bt&8)!==0&&(Bt|=Bt&32);var Yt=Dt.entangledLanes;if(Yt!==0)for(Dt=Dt.entanglements,Yt&=Bt;0<Yt;){var an=31-Xn(Yt),un=1<<an;Bt|=Dt[an],Yt&=~un}return Pc=Bt,Di(),$t}function zp(Dt,Bt){Us=null,Zt.H=wu,Bt===Yn||Bt===lr?(Bt=eo(),No=3):Bt===ur?(Bt=eo(),No=4):No=Bt===lf?8:Bt!==null&&typeof Bt=="object"&&typeof Bt.then=="function"?6:1,sc=Bt,no===null&&(Na=1,id(Dt,Xo(Bt,Dt.current)))}function Up(){var Dt=rc.current;return Dt===null?!0:(oo&4194048)===oo?pc===null:(oo&62914560)===oo||(oo&536870912)!==0?Dt===pc:!1}function $p(){var Dt=Zt.H;return Zt.H=wu,Dt===null?wu:Dt}function jp(){var Dt=Zt.A;return Zt.A=og,Dt}function md(){Na=4,jc||(oo&4194048)!==oo&&rc.current!==null||(hu=!0),(Hc&134217727)===0&&(su&134217727)===0||Jo===null||Gc(Jo,oo,oc,!1)}function Bf(Dt,Bt,$t){var Yt=So;So|=2;var an=$p(),un=jp();(Jo!==Dt||oo!==Bt)&&(pd=null,mu(Dt,Bt)),Bt=!1;var bn=Na;e:do try{if(No!==0&&no!==null){var qn=no,Sr=sc;switch(No){case 8:Rf(),bn=6;break e;case 3:case 2:case 9:case 6:rc.current===null&&(Bt=!0);var Jr=No;if(No=0,sc=null,Eu(Dt,qn,Sr,Jr),$t&&hu){bn=0;break e}break;default:Jr=No,No=0,sc=null,Eu(Dt,qn,Sr,Jr)}}cg(),bn=Na;break}catch(ui){zp(Dt,ui)}while(!0);return Bt&&Dt.shellSuspendCounter++,Vs=ns=null,So=Yt,Zt.H=an,Zt.A=un,no===null&&(Jo=null,oo=0,Di()),bn}function cg(){for(;no!==null;)Hp(no)}function ug(Dt,Bt){var $t=So;So|=2;var Yt=$p(),an=jp();Jo!==Dt||oo!==Bt?(pd=null,hd=Dr()+500,mu(Dt,Bt)):hu=hr(Dt,Bt);e:do try{if(No!==0&&no!==null){Bt=no;var un=sc;t:switch(No){case 1:No=0,sc=null,Eu(Dt,Bt,un,1);break;case 2:case 9:if(zr(un)){No=0,sc=null,Wp(Bt);break}Bt=function(){No!==2&&No!==9||Jo!==Dt||(No=7),Fc(Dt)},un.then(Bt,Bt);break e;case 3:No=7;break e;case 4:No=5;break e;case 7:zr(un)?(No=0,sc=null,Wp(Bt)):(No=0,sc=null,Eu(Dt,Bt,un,7));break;case 5:var bn=null;switch(no.tag){case 26:bn=no.memoizedState;case 5:case 27:var qn=no;if(bn?T0(bn):qn.stateNode.complete){No=0,sc=null;var Sr=qn.sibling;if(Sr!==null)no=Sr;else{var Jr=qn.return;Jr!==null?(no=Jr,Ed(Jr)):no=null}break t}}No=0,sc=null,Eu(Dt,Bt,un,5);break;case 6:No=0,sc=null,Eu(Dt,Bt,un,6);break;case 8:Rf(),Na=6;break e;default:throw Error(vt(462))}}dg();break}catch(ui){zp(Dt,ui)}while(!0);return Vs=ns=null,Zt.H=Yt,Zt.A=an,So=$t,no!==null?0:(Jo=null,oo=0,Di(),Na)}function dg(){for(;no!==null&&!wr();)Hp(no)}function Hp(Dt){var Bt=hp(Dt.alternate,Dt,Pc);Dt.memoizedProps=Dt.pendingProps,Bt===null?Ed(Dt):no=Bt}function Wp(Dt){var Bt=Dt,$t=Bt.alternate;switch(Bt.tag){case 15:case 0:Bt=ap($t,Bt,Bt.pendingProps,Bt.type,void 0,oo);break;case 11:Bt=ap($t,Bt,Bt.pendingProps,Bt.type.render,Bt.ref,oo);break;case 5:Vd(Bt);default:gp($t,Bt),Bt=no=Qs(Bt,Pc),Bt=hp($t,Bt,Pc)}Dt.memoizedProps=Dt.pendingProps,Bt===null?Ed(Dt):no=Bt}function Eu(Dt,Bt,$t,Yt){Vs=ns=null,Vd(Bt),Qr=null,os=0;var an=Bt.return;try{if(J0(Dt,an,Bt,$t,oo)){Na=1,id(Dt,Xo($t,Dt.current)),no=null;return}}catch(un){if(an!==null)throw no=an,un;Na=1,id(Dt,Xo($t,Dt.current)),no=null;return}Bt.flags&32768?(Fn||Yt===1?Dt=!0:hu||(oo&536870912)!==0?Dt=!1:(jc=Dt=!0,(Yt===2||Yt===9||Yt===3||Yt===6)&&(Yt=rc.current,Yt!==null&&Yt.tag===13&&(Yt.flags|=16384))),Vp(Bt,Dt)):Ed(Bt)}function Ed(Dt){var Bt=Dt;do{if((Bt.flags&32768)!==0){Vp(Bt,jc);return}Dt=Bt.return;var $t=ng(Bt.alternate,Bt,Pc);if($t!==null){no=$t;return}if(Bt=Bt.sibling,Bt!==null){no=Bt;return}no=Bt=Dt}while(Bt!==null);Na===0&&(Na=5)}function Vp(Dt,Bt){do{var $t=rg(Dt.alternate,Dt);if($t!==null){$t.flags&=32767,no=$t;return}if($t=Dt.return,$t!==null&&($t.flags|=32768,$t.subtreeFlags=0,$t.deletions=null),!Bt&&(Dt=Dt.sibling,Dt!==null)){no=Dt;return}no=Dt=$t}while(Dt!==null);Na=6,no=null}function Gp(Dt,Bt,$t,Yt,an,un,bn,qn,Sr){Dt.cancelPendingCommit=null;do yd();while(ol!==0);if((So&6)!==0)throw Error(vt(327));if(Bt!==null){if(Bt===Dt.current)throw Error(vt(177));if(un=Bt.lanes|Bt.childLanes,un|=Ei,ti(Dt,$t,un,bn,qn,Sr),Dt===Jo&&(no=Jo=null,oo=0),gu=Bt,Vc=Dt,Lc=$t,Sf=un,Df=an,Pp=Yt,(Bt.subtreeFlags&10256)!==0||(Bt.flags&10256)!==0?(Dt.callbackNode=null,Dt.callbackPriority=0,gg(Bn,function(){return Zp(),null})):(Dt.callbackNode=null,Dt.callbackPriority=0),Yt=(Bt.flags&13878)!==0,(Bt.subtreeFlags&13878)!==0||Yt){Yt=Zt.T,Zt.T=null,an=nn.p,nn.p=2,bn=So,So|=4;try{ig(Dt,Bt,$t)}finally{So=bn,nn.p=an,Zt.T=Yt}}ol=1,qp(),Yp(),Xp()}}function qp(){if(ol===1){ol=0;var Dt=Vc,Bt=gu,$t=(Bt.flags&13878)!==0;if((Bt.subtreeFlags&13878)!==0||$t){$t=Zt.T,Zt.T=null;var Yt=nn.p;nn.p=2;var an=So;So|=4;try{Sp(Bt,Dt);var un=Hf,bn=Bl(Dt.containerInfo),qn=un.focusedElem,Sr=un.selectionRange;if(bn!==qn&&qn&&qn.ownerDocument&&il(qn.ownerDocument.documentElement,qn)){if(Sr!==null&&sl(qn)){var Jr=Sr.start,ui=Sr.end;if(ui===void 0&&(ui=Jr),"selectionStart"in qn)qn.selectionStart=Jr,qn.selectionEnd=Math.min(ui,qn.value.length);else{var gi=qn.ownerDocument||document,ni=gi&&gi.defaultView||window;if(ni.getSelection){var oi=ni.getSelection(),Ji=qn.textContent.length,_s=Math.min(Sr.start,Ji),Go=Sr.end===void 0?_s:Math.min(Sr.end,Ji);!oi.extend&&_s>Go&&(bn=Go,Go=_s,_s=bn);var jr=fc(qn,_s),Lr=fc(qn,Go);if(jr&&Lr&&(oi.rangeCount!==1||oi.anchorNode!==jr.node||oi.anchorOffset!==jr.offset||oi.focusNode!==Lr.node||oi.focusOffset!==Lr.offset)){var Zr=gi.createRange();Zr.setStart(jr.node,jr.offset),oi.removeAllRanges(),_s>Go?(oi.addRange(Zr),oi.extend(Lr.node,Lr.offset)):(Zr.setEnd(Lr.node,Lr.offset),oi.addRange(Zr))}}}}for(gi=[],oi=qn;oi=oi.parentNode;)oi.nodeType===1&&gi.push({element:oi,left:oi.scrollLeft,top:oi.scrollTop});for(typeof qn.focus=="function"&&qn.focus(),qn=0;qn<gi.length;qn++){var fi=gi[qn];fi.element.scrollLeft=fi.left,fi.element.scrollTop=fi.top}}Rd=!!jf,Hf=jf=null}finally{So=an,nn.p=Yt,Zt.T=$t}}Dt.current=Bt,ol=2}}function Yp(){if(ol===2){ol=0;var Dt=Vc,Bt=gu,$t=(Bt.flags&8772)!==0;if((Bt.subtreeFlags&8772)!==0||$t){$t=Zt.T,Zt.T=null;var Yt=nn.p;nn.p=2;var an=So;So|=4;try{bp(Dt,Bt.alternate,Bt)}finally{So=an,nn.p=Yt,Zt.T=$t}}ol=3}}function Xp(){if(ol===4||ol===3){ol=0,xr();var Dt=Vc,Bt=gu,$t=Lc,Yt=Pp;(Bt.subtreeFlags&10256)!==0||(Bt.flags&10256)!==0?ol=5:(ol=0,gu=Vc=null,Kp(Dt,Dt.pendingLanes));var an=Dt.pendingLanes;if(an===0&&(Wc=null),Xi($t),Bt=Bt.stateNode,gn&&typeof gn.onCommitFiberRoot=="function")try{gn.onCommitFiberRoot(cr,Bt,void 0,(Bt.current.flags&128)===128)}catch{}if(Yt!==null){Bt=Zt.T,an=nn.p,nn.p=2,Zt.T=null;try{for(var un=Dt.onRecoverableError,bn=0;bn<Yt.length;bn++){var qn=Yt[bn];un(qn.value,{componentStack:qn.stack})}}finally{Zt.T=Bt,nn.p=an}}(Lc&3)!==0&&yd(),Fc(Dt),an=Dt.pendingLanes,($t&261930)!==0&&(an&42)!==0?Dt===Tf?Pu++:(Pu=0,Tf=Dt):Pu=0,Lu(0)}}function Kp(Dt,Bt){(Dt.pooledCacheLanes&=Bt)===0&&(Bt=Dt.pooledCache,Bt!=null&&(Dt.pooledCache=null,hc(Bt)))}function yd(){return qp(),Yp(),Xp(),Zp()}function Zp(){if(ol!==5)return!1;var Dt=Vc,Bt=Sf;Sf=0;var $t=Xi(Lc),Yt=Zt.T,an=nn.p;try{nn.p=32>$t?32:$t,Zt.T=null,$t=Df,Df=null;var un=Vc,bn=Lc;if(ol=0,gu=Vc=null,Lc=0,(So&6)!==0)throw Error(vt(331));var qn=So;if(So|=4,Mp(un.current),Tp(un,un.current,bn,$t),So=qn,Lu(0,!1),gn&&typeof gn.onPostCommitFiberRoot=="function")try{gn.onPostCommitFiberRoot(cr,un)}catch{}return!0}finally{nn.p=an,Zt.T=Yt,Kp(Dt,Bt)}}function Qp(Dt,Bt,$t){Bt=Xo($t,Bt),Bt=af(Dt.stateNode,Bt,2),Dt=Gr(Dt,Bt,2),Dt!==null&&(ii(Dt,2),Fc(Dt))}function zo(Dt,Bt,$t){if(Dt.tag===3)Qp(Dt,Dt,$t);else for(;Bt!==null;){if(Bt.tag===3){Qp(Bt,Dt,$t);break}else if(Bt.tag===1){var Yt=Bt.stateNode;if(typeof Bt.type.getDerivedStateFromError=="function"||typeof Yt.componentDidCatch=="function"&&(Wc===null||!Wc.has(Yt))){Dt=Xo($t,Dt),$t=Jh(2),Yt=Gr(Bt,$t,2),Yt!==null&&(ep($t,Yt,Bt,Dt),ii(Yt,2),Fc(Yt));break}}Bt=Bt.return}}function Mf(Dt,Bt,$t){var Yt=Dt.pingCache;if(Yt===null){Yt=Dt.pingCache=new ag;var an=new Set;Yt.set(Bt,an)}else an=Yt.get(Bt),an===void 0&&(an=new Set,Yt.set(Bt,an));an.has($t)||(Cf=!0,an.add($t),Dt=fg.bind(null,Dt,Bt,$t),Bt.then(Dt,Dt))}function fg(Dt,Bt,$t){var Yt=Dt.pingCache;Yt!==null&&Yt.delete(Bt),Dt.pingedLanes|=Dt.suspendedLanes&$t,Dt.warmLanes&=~$t,Jo===Dt&&(oo&$t)===$t&&(Na===4||Na===3&&(oo&62914560)===oo&&300>Dr()-fd?(So&2)===0&&mu(Dt,0):Ff|=$t,pu===oo&&(pu=0)),Fc(Dt)}function Jp(Dt,Bt){Bt===0&&(Bt=nr()),Dt=Qi(Dt,Bt),Dt!==null&&(ii(Dt,Bt),Fc(Dt))}function hg(Dt){var Bt=Dt.memoizedState,$t=0;Bt!==null&&($t=Bt.retryLane),Jp(Dt,$t)}function pg(Dt,Bt){var $t=0;switch(Dt.tag){case 31:case 13:var Yt=Dt.stateNode,an=Dt.memoizedState;an!==null&&($t=an.retryLane);break;case 19:Yt=Dt.stateNode;break;case 22:Yt=Dt.stateNode._retryCache;break;default:throw Error(vt(314))}Yt!==null&&Yt.delete(Bt),Jp(Dt,$t)}function gg(Dt,Bt){return _r(Dt,Bt)}var _d=null,yu=null,If=!1,xd=!1,Of=!1,qc=0;function Fc(Dt){Dt!==yu&&Dt.next===null&&(yu===null?_d=yu=Dt:yu=yu.next=Dt),xd=!0,If||(If=!0,Eg())}function Lu(Dt,Bt){if(!Of&&xd){Of=!0;do for(var $t=!1,Yt=_d;Yt!==null;){if(Dt!==0){var an=Yt.pendingLanes;if(an===0)var un=0;else{var bn=Yt.suspendedLanes,qn=Yt.pingedLanes;un=(1<<31-Xn(42|Dt)+1)-1,un&=an&~(bn&~qn),un=un&201326741?un&201326741|1:un?un|2:0}un!==0&&($t=!0,r0(Yt,un))}else un=oo,un=Ar(Yt,Yt===Jo?un:0,Yt.cancelPendingCommit!==null||Yt.timeoutHandle!==-1),(un&3)===0||hr(Yt,un)||($t=!0,r0(Yt,un));Yt=Yt.next}while($t);Of=!1}}function mg(){e0()}function e0(){xd=If=!1;var Dt=0;qc!==0&&Sg()&&(Dt=qc);for(var Bt=Dr(),$t=null,Yt=_d;Yt!==null;){var an=Yt.next,un=t0(Yt,Bt);un===0?(Yt.next=null,$t===null?_d=an:$t.next=an,an===null&&(yu=$t)):($t=Yt,(Dt!==0||(un&3)!==0)&&(xd=!0)),Yt=an}ol!==0&&ol!==5||Lu(Dt),qc!==0&&(qc=0)}function t0(Dt,Bt){for(var $t=Dt.suspendedLanes,Yt=Dt.pingedLanes,an=Dt.expirationTimes,un=Dt.pendingLanes&-62914561;0<un;){var bn=31-Xn(un),qn=1<<bn,Sr=an[bn];Sr===-1?((qn&$t)===0||(qn&Yt)!==0)&&(an[bn]=An(qn,Bt)):Sr<=Bt&&(Dt.expiredLanes|=qn),un&=~qn}if(Bt=Jo,$t=oo,$t=Ar(Dt,Dt===Bt?$t:0,Dt.cancelPendingCommit!==null||Dt.timeoutHandle!==-1),Yt=Dt.callbackNode,$t===0||Dt===Bt&&(No===2||No===9)||Dt.cancelPendingCommit!==null)return Yt!==null&&Yt!==null&&pr(Yt),Dt.callbackNode=null,Dt.callbackPriority=0;if(($t&3)===0||hr(Dt,$t)){if(Bt=$t&-$t,Bt===Dt.callbackPriority)return Bt;switch(Yt!==null&&pr(Yt),Xi($t)){case 2:case 8:$t=Cn;break;case 32:$t=Bn;break;case 268435456:$t=or;break;default:$t=Bn}return Yt=n0.bind(null,Dt),$t=_r($t,Yt),Dt.callbackPriority=Bt,Dt.callbackNode=$t,Bt}return Yt!==null&&Yt!==null&&pr(Yt),Dt.callbackPriority=2,Dt.callbackNode=null,2}function n0(Dt,Bt){if(ol!==0&&ol!==5)return Dt.callbackNode=null,Dt.callbackPriority=0,null;var $t=Dt.callbackNode;if(yd()&&Dt.callbackNode!==$t)return null;var Yt=oo;return Yt=Ar(Dt,Dt===Jo?Yt:0,Dt.cancelPendingCommit!==null||Dt.timeoutHandle!==-1),Yt===0?null:(kp(Dt,Yt,Bt),t0(Dt,Dr()),Dt.callbackNode!=null&&Dt.callbackNode===$t?n0.bind(null,Dt):null)}function r0(Dt,Bt){if(yd())return null;kp(Dt,Bt,!0)}function Eg(){Tg(function(){(So&6)!==0?_r(Qn,mg):e0()})}function Pf(){if(qc===0){var Dt=ml;Dt===0&&(Dt=_n,_n<<=1,(_n&261888)===0&&(_n=256)),qc=Dt}return qc}function i0(Dt){return Dt==null||typeof Dt=="symbol"||typeof Dt=="boolean"?null:typeof Dt=="function"?Dt:bs(""+Dt)}function s0(Dt,Bt){var $t=Bt.ownerDocument.createElement("input");return $t.name=Bt.name,$t.value=Bt.value,Dt.id&&$t.setAttribute("form",Dt.id),Bt.parentNode.insertBefore($t,Bt),Dt=new FormData(Dt),$t.parentNode.removeChild($t),Dt}function yg(Dt,Bt,$t,Yt,an){if(Bt==="submit"&&$t&&$t.stateNode===an){var un=i0((an[wi]||null).action),bn=Yt.submitter;bn&&(Bt=(Bt=bn[wi]||null)?i0(Bt.formAction):bn.getAttribute("formAction"),Bt!==null&&(un=Bt,bn=null));var qn=new pi("action","action",null,Yt,an);Dt.push({event:qn,listeners:[{instance:null,listener:function(){if(Yt.defaultPrevented){if(qc!==0){var Sr=bn?s0(an,bn):new FormData(an);ef($t,{pending:!0,data:Sr,method:an.method,action:un},null,Sr)}}else typeof un=="function"&&(qn.preventDefault(),Sr=bn?s0(an,bn):new FormData(an),ef($t,{pending:!0,data:Sr,method:an.method,action:un},un,Sr))},currentTarget:an}]})}}for(var Lf=0;Lf<Wr.length;Lf++){var kf=Wr[Lf],_g=kf.toLowerCase(),xg=kf[0].toUpperCase()+kf.slice(1);$r(_g,"on"+xg)}$r(Pn,"onAnimationEnd"),$r(Zn,"onAnimationIteration"),$r(sr,"onAnimationStart"),$r("dblclick","onDoubleClick"),$r("focusin","onFocus"),$r("focusout","onBlur"),$r(fr,"onTransitionRun"),$r(mr,"onTransitionStart"),$r(Pr,"onTransitionCancel"),$r(Ur,"onTransitionEnd"),aa("onMouseEnter",["mouseout","mouseover"]),aa("onMouseLeave",["mouseout","mouseover"]),aa("onPointerEnter",["pointerout","pointerover"]),aa("onPointerLeave",["pointerout","pointerover"]),oa("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),oa("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),oa("onBeforeInput",["compositionend","keypress","textInput","paste"]),oa("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),oa("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),oa("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ku="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),vg=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(ku));function o0(Dt,Bt){Bt=(Bt&4)!==0;for(var $t=0;$t<Dt.length;$t++){var Yt=Dt[$t],an=Yt.event;Yt=Yt.listeners;e:{var un=void 0;if(Bt)for(var bn=Yt.length-1;0<=bn;bn--){var qn=Yt[bn],Sr=qn.instance,Jr=qn.currentTarget;if(qn=qn.listener,Sr!==un&&an.isPropagationStopped())break e;un=qn,an.currentTarget=Jr;try{un(an)}catch(ui){qr(ui)}an.currentTarget=null,un=Sr}else for(bn=0;bn<Yt.length;bn++){if(qn=Yt[bn],Sr=qn.instance,Jr=qn.currentTarget,qn=qn.listener,Sr!==un&&an.isPropagationStopped())break e;un=qn,an.currentTarget=Jr;try{un(an)}catch(ui){qr(ui)}an.currentTarget=null,un=Sr}}}}function ro(Dt,Bt){var $t=Bt[qi];$t===void 0&&($t=Bt[qi]=new Set);var Yt=Dt+"__bubble";$t.has(Yt)||(a0(Bt,Dt,2,!1),$t.add(Yt))}function Nf(Dt,Bt,$t){var Yt=0;Bt&&(Yt|=4),a0($t,Dt,Yt,Bt)}var vd="_reactListening"+Math.random().toString(36).slice(2);function zf(Dt){if(!Dt[vd]){Dt[vd]=!0,Fa.forEach(function($t){$t!=="selectionchange"&&(vg.has($t)||Nf($t,!1,Dt),Nf($t,!0,Dt))});var Bt=Dt.nodeType===9?Dt:Dt.ownerDocument;Bt===null||Bt[vd]||(Bt[vd]=!0,Nf("selectionchange",!1,Bt))}}function a0(Dt,Bt,$t,Yt){switch(L0(Bt)){case 2:var an=Xg;break;case 8:an=Kg;break;default:an=eh}$t=an.bind(null,Bt,$t,Dt),an=void 0,!Ea||Bt!=="touchstart"&&Bt!=="touchmove"&&Bt!=="wheel"||(an=!0),Yt?an!==void 0?Dt.addEventListener(Bt,$t,{capture:!0,passive:an}):Dt.addEventListener(Bt,$t,!0):an!==void 0?Dt.addEventListener(Bt,$t,{passive:an}):Dt.addEventListener(Bt,$t,!1)}function Uf(Dt,Bt,$t,Yt,an){var un=Yt;if((Bt&1)===0&&(Bt&2)===0&&Yt!==null)e:for(;;){if(Yt===null)return;var bn=Yt.tag;if(bn===3||bn===4){var qn=Yt.stateNode.containerInfo;if(qn===an)break;if(bn===4)for(bn=Yt.return;bn!==null;){var Sr=bn.tag;if((Sr===3||Sr===4)&&bn.stateNode.containerInfo===an)return;bn=bn.return}for(;qn!==null;){if(bn=Is(qn),bn===null)return;if(Sr=bn.tag,Sr===5||Sr===6||Sr===26||Sr===27){Yt=un=bn;continue e}qn=qn.parentNode}}Yt=Yt.return}$l(function(){var Jr=un,ui=qo($t),gi=[];e:{var ni=Rr.get(Dt);if(ni!==void 0){var oi=pi,Ji=Dt;switch(Dt){case"keypress":if(tl($t)===0)break e;case"keydown":case"keyup":oi=cl;break;case"focusin":Ji="focus",oi=ms;break;case"focusout":Ji="blur",oi=ms;break;case"beforeblur":case"afterblur":oi=ms;break;case"click":if($t.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":oi=hs;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":oi=vo;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":oi=nl;break;case Pn:case Zn:case sr:oi=Ui;break;case Ur:oi=Ls;break;case"scroll":case"scrollend":oi=Zi;break;case"wheel":oi=jl;break;case"copy":case"cut":case"paste":oi=Ws;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":oi=Po;break;case"toggle":case"beforetoggle":oi=hi}var _s=(Bt&4)!==0,Go=!_s&&(Dt==="scroll"||Dt==="scrollend"),jr=_s?ni!==null?ni+"Capture":null:ni;_s=[];for(var Lr=Jr,Zr;Lr!==null;){var fi=Lr;if(Zr=fi.stateNode,fi=fi.tag,fi!==5&&fi!==26&&fi!==27||Zr===null||jr===null||(fi=Ts(Lr,jr),fi!=null&&_s.push(Nu(Lr,fi,Zr))),Go)break;Lr=Lr.return}0<_s.length&&(ni=new oi(ni,Ji,null,$t,ui),gi.push({event:ni,listeners:_s}))}}if((Bt&7)===0){e:{if(ni=Dt==="mouseover"||Dt==="pointerover",oi=Dt==="mouseout"||Dt==="pointerout",ni&&$t!==al&&(Ji=$t.relatedTarget||$t.fromElement)&&(Is(Ji)||Ji[vi]))break e;if((oi||ni)&&(ni=ui.window===ui?ui:(ni=ui.ownerDocument)?ni.defaultView||ni.parentWindow:window,oi?(Ji=$t.relatedTarget||$t.toElement,oi=Jr,Ji=Ji?Is(Ji):null,Ji!==null&&(Go=At(Ji),_s=Ji.tag,Ji!==Go||_s!==5&&_s!==27&&_s!==6)&&(Ji=null)):(oi=null,Ji=Jr),oi!==Ji)){if(_s=hs,fi="onMouseLeave",jr="onMouseEnter",Lr="mouse",(Dt==="pointerout"||Dt==="pointerover")&&(_s=Po,fi="onPointerLeave",jr="onPointerEnter",Lr="pointer"),Go=oi==null?ni:ws(oi),Zr=Ji==null?ni:ws(Ji),ni=new _s(fi,Lr+"leave",oi,$t,ui),ni.target=Go,ni.relatedTarget=Zr,fi=null,Is(ui)===Jr&&(_s=new _s(jr,Lr+"enter",Ji,$t,ui),_s.target=Zr,_s.relatedTarget=Go,fi=_s),Go=fi,oi&&Ji)t:{for(_s=bg,jr=oi,Lr=Ji,Zr=0,fi=jr;fi;fi=_s(fi))Zr++;fi=0;for(var ps=Lr;ps;ps=_s(ps))fi++;for(;0<Zr-fi;)jr=_s(jr),Zr--;for(;0<fi-Zr;)Lr=_s(Lr),fi--;for(;Zr--;){if(jr===Lr||Lr!==null&&jr===Lr.alternate){_s=jr;break t}jr=_s(jr),Lr=_s(Lr)}_s=null}else _s=null;oi!==null&&l0(gi,ni,oi,_s,!1),Ji!==null&&Go!==null&&l0(gi,Go,Ji,_s,!0)}}e:{if(ni=Jr?ws(Jr):window,oi=ni.nodeName&&ni.nodeName.toLowerCase(),oi==="select"||oi==="input"&&ni.type==="file")var Ao=uc;else if(Dl(ni))if(Xa)Ao=kl;else{Ao=Ma;var is=Rl}else oi=ni.nodeName,!oi||oi.toLowerCase()!=="input"||ni.type!=="checkbox"&&ni.type!=="radio"?Jr&&Uo(Jr.elementType)&&(Ao=uc):Ao=kr;if(Ao&&(Ao=Ao(Dt,Jr))){Ql(gi,Ao,$t,ui);break e}is&&is(Dt,ni,Jr),Dt==="focusout"&&Jr&&ni.type==="number"&&Jr.memoizedProps.value!=null&&Sa(ni,"number",ni.value)}switch(is=Jr?ws(Jr):window,Dt){case"focusin":(Dl(is)||is.contentEditable==="true")&&(Ml=is,Hl=Jr,ko=null);break;case"focusout":ko=Hl=Ml=null;break;case"mousedown":Zs=!0;break;case"contextmenu":case"mouseup":case"dragend":Zs=!1,En(gi,$t,ui);break;case"selectionchange":if(Nl)break;case"keydown":case"keyup":En(gi,$t,ui)}var Gs;if(Li)e:{switch(Dt){case"compositionstart":var ao="onCompositionStart";break e;case"compositionend":ao="onCompositionEnd";break e;case"compositionupdate":ao="onCompositionUpdate";break e}ao=void 0}else Sl?ul(Dt,$t)&&(ao="onCompositionEnd"):Dt==="keydown"&&$t.keyCode===229&&(ao="onCompositionStart");ao&&(Pl&&$t.locale!=="ko"&&(Sl||ao!=="onCompositionStart"?ao==="onCompositionEnd"&&Sl&&(Gs=el()):(gs=ui,Ra="value"in gs?gs.value:gs.textContent,Sl=!0)),is=bd(Jr,ao),0<is.length&&(ao=new ua(ao,Dt,null,$t,ui),gi.push({event:ao,listeners:is}),Gs?ao.data=Gs:(Gs=Ec($t),Gs!==null&&(ao.data=Gs)))),(Gs=ta?Lo(Dt,$t):cc(Dt,$t))&&(ao=bd(Jr,"onBeforeInput"),0<ao.length&&(is=new ua("onBeforeInput","beforeinput",null,$t,ui),gi.push({event:is,listeners:ao}),is.data=Gs)),yg(gi,Dt,Jr,$t,ui)}o0(gi,Bt)})}function Nu(Dt,Bt,$t){return{instance:Dt,listener:Bt,currentTarget:$t}}function bd(Dt,Bt){for(var $t=Bt+"Capture",Yt=[];Dt!==null;){var an=Dt,un=an.stateNode;if(an=an.tag,an!==5&&an!==26&&an!==27||un===null||(an=Ts(Dt,$t),an!=null&&Yt.unshift(Nu(Dt,an,un)),an=Ts(Dt,Bt),an!=null&&Yt.push(Nu(Dt,an,un))),Dt.tag===3)return Yt;Dt=Dt.return}return[]}function bg(Dt){if(Dt===null)return null;do Dt=Dt.return;while(Dt&&Dt.tag!==5&&Dt.tag!==27);return Dt||null}function l0(Dt,Bt,$t,Yt,an){for(var un=Bt._reactName,bn=[];$t!==null&&$t!==Yt;){var qn=$t,Sr=qn.alternate,Jr=qn.stateNode;if(qn=qn.tag,Sr!==null&&Sr===Yt)break;qn!==5&&qn!==26&&qn!==27||Jr===null||(Sr=Jr,an?(Jr=Ts($t,un),Jr!=null&&bn.unshift(Nu($t,Jr,Sr))):an||(Jr=Ts($t,un),Jr!=null&&bn.push(Nu($t,Jr,Sr)))),$t=$t.return}bn.length!==0&&Dt.push({event:Bt,listeners:bn})}var Ag=/\r\n?/g,Cg=/\u0000|\uFFFD/g;function c0(Dt){return(typeof Dt=="string"?Dt:""+Dt).replace(Ag,`
9
- `).replace(Cg,"")}function u0(Dt,Bt){return Bt=c0(Bt),c0(Dt)===Bt}function Vo(Dt,Bt,$t,Yt,an,un){switch($t){case"children":typeof Yt=="string"?Bt==="body"||Bt==="textarea"&&Yt===""||wo(Dt,Yt):(typeof Yt=="number"||typeof Yt=="bigint")&&Bt!=="body"&&wo(Dt,""+Yt);break;case"className":Va(Dt,"class",Yt);break;case"tabIndex":Va(Dt,"tabindex",Yt);break;case"dir":case"role":case"viewBox":case"width":case"height":Va(Dt,$t,Yt);break;case"style":za(Dt,Yt,un);break;case"data":if(Bt!=="object"){Va(Dt,"data",Yt);break}case"src":case"href":if(Yt===""&&(Bt!=="a"||$t!=="href")){Dt.removeAttribute($t);break}if(Yt==null||typeof Yt=="function"||typeof Yt=="symbol"||typeof Yt=="boolean"){Dt.removeAttribute($t);break}Yt=bs(""+Yt),Dt.setAttribute($t,Yt);break;case"action":case"formAction":if(typeof Yt=="function"){Dt.setAttribute($t,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof un=="function"&&($t==="formAction"?(Bt!=="input"&&Vo(Dt,Bt,"name",an.name,an,null),Vo(Dt,Bt,"formEncType",an.formEncType,an,null),Vo(Dt,Bt,"formMethod",an.formMethod,an,null),Vo(Dt,Bt,"formTarget",an.formTarget,an,null)):(Vo(Dt,Bt,"encType",an.encType,an,null),Vo(Dt,Bt,"method",an.method,an,null),Vo(Dt,Bt,"target",an.target,an,null)));if(Yt==null||typeof Yt=="symbol"||typeof Yt=="boolean"){Dt.removeAttribute($t);break}Yt=bs(""+Yt),Dt.setAttribute($t,Yt);break;case"onClick":Yt!=null&&(Dt.onclick=$o);break;case"onScroll":Yt!=null&&ro("scroll",Dt);break;case"onScrollEnd":Yt!=null&&ro("scrollend",Dt);break;case"dangerouslySetInnerHTML":if(Yt!=null){if(typeof Yt!="object"||!("__html"in Yt))throw Error(vt(61));if($t=Yt.__html,$t!=null){if(an.children!=null)throw Error(vt(60));Dt.innerHTML=$t}}break;case"multiple":Dt.multiple=Yt&&typeof Yt!="function"&&typeof Yt!="symbol";break;case"muted":Dt.muted=Yt&&typeof Yt!="function"&&typeof Yt!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(Yt==null||typeof Yt=="function"||typeof Yt=="boolean"||typeof Yt=="symbol"){Dt.removeAttribute("xlink:href");break}$t=bs(""+Yt),Dt.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",$t);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":Yt!=null&&typeof Yt!="function"&&typeof Yt!="symbol"?Dt.setAttribute($t,""+Yt):Dt.removeAttribute($t);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":Yt&&typeof Yt!="function"&&typeof Yt!="symbol"?Dt.setAttribute($t,""):Dt.removeAttribute($t);break;case"capture":case"download":Yt===!0?Dt.setAttribute($t,""):Yt!==!1&&Yt!=null&&typeof Yt!="function"&&typeof Yt!="symbol"?Dt.setAttribute($t,Yt):Dt.removeAttribute($t);break;case"cols":case"rows":case"size":case"span":Yt!=null&&typeof Yt!="function"&&typeof Yt!="symbol"&&!isNaN(Yt)&&1<=Yt?Dt.setAttribute($t,Yt):Dt.removeAttribute($t);break;case"rowSpan":case"start":Yt==null||typeof Yt=="function"||typeof Yt=="symbol"||isNaN(Yt)?Dt.removeAttribute($t):Dt.setAttribute($t,Yt);break;case"popover":ro("beforetoggle",Dt),ro("toggle",Dt),ys(Dt,"popover",Yt);break;case"xlinkActuate":io(Dt,"http://www.w3.org/1999/xlink","xlink:actuate",Yt);break;case"xlinkArcrole":io(Dt,"http://www.w3.org/1999/xlink","xlink:arcrole",Yt);break;case"xlinkRole":io(Dt,"http://www.w3.org/1999/xlink","xlink:role",Yt);break;case"xlinkShow":io(Dt,"http://www.w3.org/1999/xlink","xlink:show",Yt);break;case"xlinkTitle":io(Dt,"http://www.w3.org/1999/xlink","xlink:title",Yt);break;case"xlinkType":io(Dt,"http://www.w3.org/1999/xlink","xlink:type",Yt);break;case"xmlBase":io(Dt,"http://www.w3.org/XML/1998/namespace","xml:base",Yt);break;case"xmlLang":io(Dt,"http://www.w3.org/XML/1998/namespace","xml:lang",Yt);break;case"xmlSpace":io(Dt,"http://www.w3.org/XML/1998/namespace","xml:space",Yt);break;case"is":ys(Dt,"is",Yt);break;case"innerText":case"textContent":break;default:(!(2<$t.length)||$t[0]!=="o"&&$t[0]!=="O"||$t[1]!=="n"&&$t[1]!=="N")&&($t=Vi.get($t)||$t,ys(Dt,$t,Yt))}}function $f(Dt,Bt,$t,Yt,an,un){switch($t){case"style":za(Dt,Yt,un);break;case"dangerouslySetInnerHTML":if(Yt!=null){if(typeof Yt!="object"||!("__html"in Yt))throw Error(vt(61));if($t=Yt.__html,$t!=null){if(an.children!=null)throw Error(vt(60));Dt.innerHTML=$t}}break;case"children":typeof Yt=="string"?wo(Dt,Yt):(typeof Yt=="number"||typeof Yt=="bigint")&&wo(Dt,""+Yt);break;case"onScroll":Yt!=null&&ro("scroll",Dt);break;case"onScrollEnd":Yt!=null&&ro("scrollend",Dt);break;case"onClick":Yt!=null&&(Dt.onclick=$o);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Ja.hasOwnProperty($t))e:{if($t[0]==="o"&&$t[1]==="n"&&(an=$t.endsWith("Capture"),Bt=$t.slice(2,an?$t.length-7:void 0),un=Dt[wi]||null,un=un!=null?un[$t]:null,typeof un=="function"&&Dt.removeEventListener(Bt,un,an),typeof Yt=="function")){typeof un!="function"&&un!==null&&($t in Dt?Dt[$t]=null:Dt.hasAttribute($t)&&Dt.removeAttribute($t)),Dt.addEventListener(Bt,Yt,an);break e}$t in Dt?Dt[$t]=Yt:Yt===!0?Dt.setAttribute($t,""):ys(Dt,$t,Yt)}}}function Al(Dt,Bt,$t){switch(Bt){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ro("error",Dt),ro("load",Dt);var Yt=!1,an=!1,un;for(un in $t)if($t.hasOwnProperty(un)){var bn=$t[un];if(bn!=null)switch(un){case"src":Yt=!0;break;case"srcSet":an=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(vt(137,Bt));default:Vo(Dt,Bt,un,bn,$t,null)}}an&&Vo(Dt,Bt,"srcSet",$t.srcSet,$t,null),Yt&&Vo(Dt,Bt,"src",$t.src,$t,null);return;case"input":ro("invalid",Dt);var qn=un=bn=an=null,Sr=null,Jr=null;for(Yt in $t)if($t.hasOwnProperty(Yt)){var ui=$t[Yt];if(ui!=null)switch(Yt){case"name":an=ui;break;case"type":bn=ui;break;case"checked":Sr=ui;break;case"defaultChecked":Jr=ui;break;case"value":un=ui;break;case"defaultValue":qn=ui;break;case"children":case"dangerouslySetInnerHTML":if(ui!=null)throw Error(vt(137,Bt));break;default:Vo(Dt,Bt,Yt,ui,$t,null)}}la(Dt,un,qn,Sr,Jr,bn,an,!1);return;case"select":ro("invalid",Dt),Yt=bn=un=null;for(an in $t)if($t.hasOwnProperty(an)&&(qn=$t[an],qn!=null))switch(an){case"value":un=qn;break;case"defaultValue":bn=qn;break;case"multiple":Yt=qn;default:Vo(Dt,Bt,an,qn,$t,null)}Bt=un,$t=bn,Dt.multiple=!!Yt,Bt!=null?Io(Dt,!!Yt,Bt,!1):$t!=null&&Io(Dt,!!Yt,$t,!0);return;case"textarea":ro("invalid",Dt),un=an=Yt=null;for(bn in $t)if($t.hasOwnProperty(bn)&&(qn=$t[bn],qn!=null))switch(bn){case"value":Yt=qn;break;case"defaultValue":an=qn;break;case"children":un=qn;break;case"dangerouslySetInnerHTML":if(qn!=null)throw Error(vt(91));break;default:Vo(Dt,Bt,bn,qn,$t,null)}Ga(Dt,Yt,an,un);return;case"option":for(Sr in $t)$t.hasOwnProperty(Sr)&&(Yt=$t[Sr],Yt!=null)&&(Sr==="selected"?Dt.selected=Yt&&typeof Yt!="function"&&typeof Yt!="symbol":Vo(Dt,Bt,Sr,Yt,$t,null));return;case"dialog":ro("beforetoggle",Dt),ro("toggle",Dt),ro("cancel",Dt),ro("close",Dt);break;case"iframe":case"object":ro("load",Dt);break;case"video":case"audio":for(Yt=0;Yt<ku.length;Yt++)ro(ku[Yt],Dt);break;case"image":ro("error",Dt),ro("load",Dt);break;case"details":ro("toggle",Dt);break;case"embed":case"source":case"link":ro("error",Dt),ro("load",Dt);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(Jr in $t)if($t.hasOwnProperty(Jr)&&(Yt=$t[Jr],Yt!=null))switch(Jr){case"children":case"dangerouslySetInnerHTML":throw Error(vt(137,Bt));default:Vo(Dt,Bt,Jr,Yt,$t,null)}return;default:if(Uo(Bt)){for(ui in $t)$t.hasOwnProperty(ui)&&(Yt=$t[ui],Yt!==void 0&&$f(Dt,Bt,ui,Yt,$t,void 0));return}}for(qn in $t)$t.hasOwnProperty(qn)&&(Yt=$t[qn],Yt!=null&&Vo(Dt,Bt,qn,Yt,$t,null))}function Fg(Dt,Bt,$t,Yt){switch(Bt){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var an=null,un=null,bn=null,qn=null,Sr=null,Jr=null,ui=null;for(oi in $t){var gi=$t[oi];if($t.hasOwnProperty(oi)&&gi!=null)switch(oi){case"checked":break;case"value":break;case"defaultValue":Sr=gi;default:Yt.hasOwnProperty(oi)||Vo(Dt,Bt,oi,null,Yt,gi)}}for(var ni in Yt){var oi=Yt[ni];if(gi=$t[ni],Yt.hasOwnProperty(ni)&&(oi!=null||gi!=null))switch(ni){case"type":un=oi;break;case"name":an=oi;break;case"checked":Jr=oi;break;case"defaultChecked":ui=oi;break;case"value":bn=oi;break;case"defaultValue":qn=oi;break;case"children":case"dangerouslySetInnerHTML":if(oi!=null)throw Error(vt(137,Bt));break;default:oi!==gi&&Vo(Dt,Bt,ni,oi,Yt,gi)}}wa(Dt,bn,qn,Sr,Jr,ui,un,an);return;case"select":oi=bn=qn=ni=null;for(un in $t)if(Sr=$t[un],$t.hasOwnProperty(un)&&Sr!=null)switch(un){case"value":break;case"multiple":oi=Sr;default:Yt.hasOwnProperty(un)||Vo(Dt,Bt,un,null,Yt,Sr)}for(an in Yt)if(un=Yt[an],Sr=$t[an],Yt.hasOwnProperty(an)&&(un!=null||Sr!=null))switch(an){case"value":ni=un;break;case"defaultValue":qn=un;break;case"multiple":bn=un;default:un!==Sr&&Vo(Dt,Bt,an,un,Yt,Sr)}Bt=qn,$t=bn,Yt=oi,ni!=null?Io(Dt,!!$t,ni,!1):!!Yt!=!!$t&&(Bt!=null?Io(Dt,!!$t,Bt,!0):Io(Dt,!!$t,$t?[]:"",!1));return;case"textarea":oi=ni=null;for(qn in $t)if(an=$t[qn],$t.hasOwnProperty(qn)&&an!=null&&!Yt.hasOwnProperty(qn))switch(qn){case"value":break;case"children":break;default:Vo(Dt,Bt,qn,null,Yt,an)}for(bn in Yt)if(an=Yt[bn],un=$t[bn],Yt.hasOwnProperty(bn)&&(an!=null||un!=null))switch(bn){case"value":ni=an;break;case"defaultValue":oi=an;break;case"children":break;case"dangerouslySetInnerHTML":if(an!=null)throw Error(vt(91));break;default:an!==un&&Vo(Dt,Bt,bn,an,Yt,un)}xo(Dt,ni,oi);return;case"option":for(var Ji in $t)ni=$t[Ji],$t.hasOwnProperty(Ji)&&ni!=null&&!Yt.hasOwnProperty(Ji)&&(Ji==="selected"?Dt.selected=!1:Vo(Dt,Bt,Ji,null,Yt,ni));for(Sr in Yt)ni=Yt[Sr],oi=$t[Sr],Yt.hasOwnProperty(Sr)&&ni!==oi&&(ni!=null||oi!=null)&&(Sr==="selected"?Dt.selected=ni&&typeof ni!="function"&&typeof ni!="symbol":Vo(Dt,Bt,Sr,ni,Yt,oi));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var _s in $t)ni=$t[_s],$t.hasOwnProperty(_s)&&ni!=null&&!Yt.hasOwnProperty(_s)&&Vo(Dt,Bt,_s,null,Yt,ni);for(Jr in Yt)if(ni=Yt[Jr],oi=$t[Jr],Yt.hasOwnProperty(Jr)&&ni!==oi&&(ni!=null||oi!=null))switch(Jr){case"children":case"dangerouslySetInnerHTML":if(ni!=null)throw Error(vt(137,Bt));break;default:Vo(Dt,Bt,Jr,ni,Yt,oi)}return;default:if(Uo(Bt)){for(var Go in $t)ni=$t[Go],$t.hasOwnProperty(Go)&&ni!==void 0&&!Yt.hasOwnProperty(Go)&&$f(Dt,Bt,Go,void 0,Yt,ni);for(ui in Yt)ni=Yt[ui],oi=$t[ui],!Yt.hasOwnProperty(ui)||ni===oi||ni===void 0&&oi===void 0||$f(Dt,Bt,ui,ni,Yt,oi);return}}for(var jr in $t)ni=$t[jr],$t.hasOwnProperty(jr)&&ni!=null&&!Yt.hasOwnProperty(jr)&&Vo(Dt,Bt,jr,null,Yt,ni);for(gi in Yt)ni=Yt[gi],oi=$t[gi],!Yt.hasOwnProperty(gi)||ni===oi||ni==null&&oi==null||Vo(Dt,Bt,gi,ni,Yt,oi)}function d0(Dt){switch(Dt){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function wg(){if(typeof performance.getEntriesByType=="function"){for(var Dt=0,Bt=0,$t=performance.getEntriesByType("resource"),Yt=0;Yt<$t.length;Yt++){var an=$t[Yt],un=an.transferSize,bn=an.initiatorType,qn=an.duration;if(un&&qn&&d0(bn)){for(bn=0,qn=an.responseEnd,Yt+=1;Yt<$t.length;Yt++){var Sr=$t[Yt],Jr=Sr.startTime;if(Jr>qn)break;var ui=Sr.transferSize,gi=Sr.initiatorType;ui&&d0(gi)&&(Sr=Sr.responseEnd,bn+=ui*(Sr<qn?1:(qn-Jr)/(Sr-Jr)))}if(--Yt,Bt+=8*(un+bn)/(an.duration/1e3),Dt++,10<Dt)break}}if(0<Dt)return Bt/Dt/1e6}return navigator.connection&&(Dt=navigator.connection.downlink,typeof Dt=="number")?Dt:5}var jf=null,Hf=null;function Ad(Dt){return Dt.nodeType===9?Dt:Dt.ownerDocument}function f0(Dt){switch(Dt){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function h0(Dt,Bt){if(Dt===0)switch(Bt){case"svg":return 1;case"math":return 2;default:return 0}return Dt===1&&Bt==="foreignObject"?0:Dt}function Wf(Dt,Bt){return Dt==="textarea"||Dt==="noscript"||typeof Bt.children=="string"||typeof Bt.children=="number"||typeof Bt.children=="bigint"||typeof Bt.dangerouslySetInnerHTML=="object"&&Bt.dangerouslySetInnerHTML!==null&&Bt.dangerouslySetInnerHTML.__html!=null}var Vf=null;function Sg(){var Dt=window.event;return Dt&&Dt.type==="popstate"?Dt===Vf?!1:(Vf=Dt,!0):(Vf=null,!1)}var p0=typeof setTimeout=="function"?setTimeout:void 0,Dg=typeof clearTimeout=="function"?clearTimeout:void 0,g0=typeof Promise=="function"?Promise:void 0,Tg=typeof queueMicrotask=="function"?queueMicrotask:typeof g0<"u"?function(Dt){return g0.resolve(null).then(Dt).catch(Rg)}:p0;function Rg(Dt){setTimeout(function(){throw Dt})}function Yc(Dt){return Dt==="head"}function m0(Dt,Bt){var $t=Bt,Yt=0;do{var an=$t.nextSibling;if(Dt.removeChild($t),an&&an.nodeType===8)if($t=an.data,$t==="/$"||$t==="/&"){if(Yt===0){Dt.removeChild(an),bu(Bt);return}Yt--}else if($t==="$"||$t==="$?"||$t==="$~"||$t==="$!"||$t==="&")Yt++;else if($t==="html")zu(Dt.ownerDocument.documentElement);else if($t==="head"){$t=Dt.ownerDocument.head,zu($t);for(var un=$t.firstChild;un;){var bn=un.nextSibling,qn=un.nodeName;un[xs]||qn==="SCRIPT"||qn==="STYLE"||qn==="LINK"&&un.rel.toLowerCase()==="stylesheet"||$t.removeChild(un),un=bn}}else $t==="body"&&zu(Dt.ownerDocument.body);$t=an}while($t);bu(Bt)}function E0(Dt,Bt){var $t=Dt;Dt=0;do{var Yt=$t.nextSibling;if($t.nodeType===1?Bt?($t._stashedDisplay=$t.style.display,$t.style.display="none"):($t.style.display=$t._stashedDisplay||"",$t.getAttribute("style")===""&&$t.removeAttribute("style")):$t.nodeType===3&&(Bt?($t._stashedText=$t.nodeValue,$t.nodeValue=""):$t.nodeValue=$t._stashedText||""),Yt&&Yt.nodeType===8)if($t=Yt.data,$t==="/$"){if(Dt===0)break;Dt--}else $t!=="$"&&$t!=="$?"&&$t!=="$~"&&$t!=="$!"||Dt++;$t=Yt}while($t)}function Gf(Dt){var Bt=Dt.firstChild;for(Bt&&Bt.nodeType===10&&(Bt=Bt.nextSibling);Bt;){var $t=Bt;switch(Bt=Bt.nextSibling,$t.nodeName){case"HTML":case"HEAD":case"BODY":Gf($t),$s($t);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if($t.rel.toLowerCase()==="stylesheet")continue}Dt.removeChild($t)}}function Bg(Dt,Bt,$t,Yt){for(;Dt.nodeType===1;){var an=$t;if(Dt.nodeName.toLowerCase()!==Bt.toLowerCase()){if(!Yt&&(Dt.nodeName!=="INPUT"||Dt.type!=="hidden"))break}else if(Yt){if(!Dt[xs])switch(Bt){case"meta":if(!Dt.hasAttribute("itemprop"))break;return Dt;case"link":if(un=Dt.getAttribute("rel"),un==="stylesheet"&&Dt.hasAttribute("data-precedence"))break;if(un!==an.rel||Dt.getAttribute("href")!==(an.href==null||an.href===""?null:an.href)||Dt.getAttribute("crossorigin")!==(an.crossOrigin==null?null:an.crossOrigin)||Dt.getAttribute("title")!==(an.title==null?null:an.title))break;return Dt;case"style":if(Dt.hasAttribute("data-precedence"))break;return Dt;case"script":if(un=Dt.getAttribute("src"),(un!==(an.src==null?null:an.src)||Dt.getAttribute("type")!==(an.type==null?null:an.type)||Dt.getAttribute("crossorigin")!==(an.crossOrigin==null?null:an.crossOrigin))&&un&&Dt.hasAttribute("async")&&!Dt.hasAttribute("itemprop"))break;return Dt;default:return Dt}}else if(Bt==="input"&&Dt.type==="hidden"){var un=an.name==null?null:""+an.name;if(an.type==="hidden"&&Dt.getAttribute("name")===un)return Dt}else return Dt;if(Dt=gc(Dt.nextSibling),Dt===null)break}return null}function Mg(Dt,Bt,$t){if(Bt==="")return null;for(;Dt.nodeType!==3;)if((Dt.nodeType!==1||Dt.nodeName!=="INPUT"||Dt.type!=="hidden")&&!$t||(Dt=gc(Dt.nextSibling),Dt===null))return null;return Dt}function y0(Dt,Bt){for(;Dt.nodeType!==8;)if((Dt.nodeType!==1||Dt.nodeName!=="INPUT"||Dt.type!=="hidden")&&!Bt||(Dt=gc(Dt.nextSibling),Dt===null))return null;return Dt}function qf(Dt){return Dt.data==="$?"||Dt.data==="$~"}function Yf(Dt){return Dt.data==="$!"||Dt.data==="$?"&&Dt.ownerDocument.readyState!=="loading"}function Ig(Dt,Bt){var $t=Dt.ownerDocument;if(Dt.data==="$~")Dt._reactRetry=Bt;else if(Dt.data!=="$?"||$t.readyState!=="loading")Bt();else{var Yt=function(){Bt(),$t.removeEventListener("DOMContentLoaded",Yt)};$t.addEventListener("DOMContentLoaded",Yt),Dt._reactRetry=Yt}}function gc(Dt){for(;Dt!=null;Dt=Dt.nextSibling){var Bt=Dt.nodeType;if(Bt===1||Bt===3)break;if(Bt===8){if(Bt=Dt.data,Bt==="$"||Bt==="$!"||Bt==="$?"||Bt==="$~"||Bt==="&"||Bt==="F!"||Bt==="F")break;if(Bt==="/$"||Bt==="/&")return null}}return Dt}var Xf=null;function _0(Dt){Dt=Dt.nextSibling;for(var Bt=0;Dt;){if(Dt.nodeType===8){var $t=Dt.data;if($t==="/$"||$t==="/&"){if(Bt===0)return gc(Dt.nextSibling);Bt--}else $t!=="$"&&$t!=="$!"&&$t!=="$?"&&$t!=="$~"&&$t!=="&"||Bt++}Dt=Dt.nextSibling}return null}function x0(Dt){Dt=Dt.previousSibling;for(var Bt=0;Dt;){if(Dt.nodeType===8){var $t=Dt.data;if($t==="$"||$t==="$!"||$t==="$?"||$t==="$~"||$t==="&"){if(Bt===0)return Dt;Bt--}else $t!=="/$"&&$t!=="/&"||Bt++}Dt=Dt.previousSibling}return null}function v0(Dt,Bt,$t){switch(Bt=Ad($t),Dt){case"html":if(Dt=Bt.documentElement,!Dt)throw Error(vt(452));return Dt;case"head":if(Dt=Bt.head,!Dt)throw Error(vt(453));return Dt;case"body":if(Dt=Bt.body,!Dt)throw Error(vt(454));return Dt;default:throw Error(vt(451))}}function zu(Dt){for(var Bt=Dt.attributes;Bt.length;)Dt.removeAttributeNode(Bt[0]);$s(Dt)}var mc=new Map,b0=new Set;function Cd(Dt){return typeof Dt.getRootNode=="function"?Dt.getRootNode():Dt.nodeType===9?Dt:Dt.ownerDocument}var kc=nn.d;nn.d={f:Og,r:Pg,D:Lg,C:kg,L:Ng,m:zg,X:$g,S:Ug,M:jg};function Og(){var Dt=kc.f(),Bt=gd();return Dt||Bt}function Pg(Dt){var Bt=Hs(Dt);Bt!==null&&Bt.tag===5&&Bt.type==="form"?zh(Bt):kc.r(Dt)}var _u=typeof document>"u"?null:document;function A0(Dt,Bt,$t){var Yt=_u;if(Yt&&typeof Bt=="string"&&Bt){var an=cs(Bt);an='link[rel="'+Dt+'"][href="'+an+'"]',typeof $t=="string"&&(an+='[crossorigin="'+$t+'"]'),b0.has(an)||(b0.add(an),Dt={rel:Dt,crossOrigin:$t,href:Bt},Yt.querySelector(an)===null&&(Bt=Yt.createElement("link"),Al(Bt,"link",Dt),Ds(Bt),Yt.head.appendChild(Bt)))}}function Lg(Dt){kc.D(Dt),A0("dns-prefetch",Dt,null)}function kg(Dt,Bt){kc.C(Dt,Bt),A0("preconnect",Dt,Bt)}function Ng(Dt,Bt,$t){kc.L(Dt,Bt,$t);var Yt=_u;if(Yt&&Dt&&Bt){var an='link[rel="preload"][as="'+cs(Bt)+'"]';Bt==="image"&&$t&&$t.imageSrcSet?(an+='[imagesrcset="'+cs($t.imageSrcSet)+'"]',typeof $t.imageSizes=="string"&&(an+='[imagesizes="'+cs($t.imageSizes)+'"]')):an+='[href="'+cs(Dt)+'"]';var un=an;switch(Bt){case"style":un=xu(Dt);break;case"script":un=vu(Dt)}mc.has(un)||(Dt=Rt({rel:"preload",href:Bt==="image"&&$t&&$t.imageSrcSet?void 0:Dt,as:Bt},$t),mc.set(un,Dt),Yt.querySelector(an)!==null||Bt==="style"&&Yt.querySelector(Uu(un))||Bt==="script"&&Yt.querySelector($u(un))||(Bt=Yt.createElement("link"),Al(Bt,"link",Dt),Ds(Bt),Yt.head.appendChild(Bt)))}}function zg(Dt,Bt){kc.m(Dt,Bt);var $t=_u;if($t&&Dt){var Yt=Bt&&typeof Bt.as=="string"?Bt.as:"script",an='link[rel="modulepreload"][as="'+cs(Yt)+'"][href="'+cs(Dt)+'"]',un=an;switch(Yt){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":un=vu(Dt)}if(!mc.has(un)&&(Dt=Rt({rel:"modulepreload",href:Dt},Bt),mc.set(un,Dt),$t.querySelector(an)===null)){switch(Yt){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if($t.querySelector($u(un)))return}Yt=$t.createElement("link"),Al(Yt,"link",Dt),Ds(Yt),$t.head.appendChild(Yt)}}}function Ug(Dt,Bt,$t){kc.S(Dt,Bt,$t);var Yt=_u;if(Yt&&Dt){var an=Es(Yt).hoistableStyles,un=xu(Dt);Bt=Bt||"default";var bn=an.get(un);if(!bn){var qn={loading:0,preload:null};if(bn=Yt.querySelector(Uu(un)))qn.loading=5;else{Dt=Rt({rel:"stylesheet",href:Dt,"data-precedence":Bt},$t),($t=mc.get(un))&&Kf(Dt,$t);var Sr=bn=Yt.createElement("link");Ds(Sr),Al(Sr,"link",Dt),Sr._p=new Promise(function(Jr,ui){Sr.onload=Jr,Sr.onerror=ui}),Sr.addEventListener("load",function(){qn.loading|=1}),Sr.addEventListener("error",function(){qn.loading|=2}),qn.loading|=4,Fd(bn,Bt,Yt)}bn={type:"stylesheet",instance:bn,count:1,state:qn},an.set(un,bn)}}}function $g(Dt,Bt){kc.X(Dt,Bt);var $t=_u;if($t&&Dt){var Yt=Es($t).hoistableScripts,an=vu(Dt),un=Yt.get(an);un||(un=$t.querySelector($u(an)),un||(Dt=Rt({src:Dt,async:!0},Bt),(Bt=mc.get(an))&&Zf(Dt,Bt),un=$t.createElement("script"),Ds(un),Al(un,"link",Dt),$t.head.appendChild(un)),un={type:"script",instance:un,count:1,state:null},Yt.set(an,un))}}function jg(Dt,Bt){kc.M(Dt,Bt);var $t=_u;if($t&&Dt){var Yt=Es($t).hoistableScripts,an=vu(Dt),un=Yt.get(an);un||(un=$t.querySelector($u(an)),un||(Dt=Rt({src:Dt,async:!0,type:"module"},Bt),(Bt=mc.get(an))&&Zf(Dt,Bt),un=$t.createElement("script"),Ds(un),Al(un,"link",Dt),$t.head.appendChild(un)),un={type:"script",instance:un,count:1,state:null},Yt.set(an,un))}}function C0(Dt,Bt,$t,Yt){var an=(an=yn.current)?Cd(an):null;if(!an)throw Error(vt(446));switch(Dt){case"meta":case"title":return null;case"style":return typeof $t.precedence=="string"&&typeof $t.href=="string"?(Bt=xu($t.href),$t=Es(an).hoistableStyles,Yt=$t.get(Bt),Yt||(Yt={type:"style",instance:null,count:0,state:null},$t.set(Bt,Yt)),Yt):{type:"void",instance:null,count:0,state:null};case"link":if($t.rel==="stylesheet"&&typeof $t.href=="string"&&typeof $t.precedence=="string"){Dt=xu($t.href);var un=Es(an).hoistableStyles,bn=un.get(Dt);if(bn||(an=an.ownerDocument||an,bn={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},un.set(Dt,bn),(un=an.querySelector(Uu(Dt)))&&!un._p&&(bn.instance=un,bn.state.loading=5),mc.has(Dt)||($t={rel:"preload",as:"style",href:$t.href,crossOrigin:$t.crossOrigin,integrity:$t.integrity,media:$t.media,hrefLang:$t.hrefLang,referrerPolicy:$t.referrerPolicy},mc.set(Dt,$t),un||Hg(an,Dt,$t,bn.state))),Bt&&Yt===null)throw Error(vt(528,""));return bn}if(Bt&&Yt!==null)throw Error(vt(529,""));return null;case"script":return Bt=$t.async,$t=$t.src,typeof $t=="string"&&Bt&&typeof Bt!="function"&&typeof Bt!="symbol"?(Bt=vu($t),$t=Es(an).hoistableScripts,Yt=$t.get(Bt),Yt||(Yt={type:"script",instance:null,count:0,state:null},$t.set(Bt,Yt)),Yt):{type:"void",instance:null,count:0,state:null};default:throw Error(vt(444,Dt))}}function xu(Dt){return'href="'+cs(Dt)+'"'}function Uu(Dt){return'link[rel="stylesheet"]['+Dt+"]"}function F0(Dt){return Rt({},Dt,{"data-precedence":Dt.precedence,precedence:null})}function Hg(Dt,Bt,$t,Yt){Dt.querySelector('link[rel="preload"][as="style"]['+Bt+"]")?Yt.loading=1:(Bt=Dt.createElement("link"),Yt.preload=Bt,Bt.addEventListener("load",function(){return Yt.loading|=1}),Bt.addEventListener("error",function(){return Yt.loading|=2}),Al(Bt,"link",$t),Ds(Bt),Dt.head.appendChild(Bt))}function vu(Dt){return'[src="'+cs(Dt)+'"]'}function $u(Dt){return"script[async]"+Dt}function w0(Dt,Bt,$t){if(Bt.count++,Bt.instance===null)switch(Bt.type){case"style":var Yt=Dt.querySelector('style[data-href~="'+cs($t.href)+'"]');if(Yt)return Bt.instance=Yt,Ds(Yt),Yt;var an=Rt({},$t,{"data-href":$t.href,"data-precedence":$t.precedence,href:null,precedence:null});return Yt=(Dt.ownerDocument||Dt).createElement("style"),Ds(Yt),Al(Yt,"style",an),Fd(Yt,$t.precedence,Dt),Bt.instance=Yt;case"stylesheet":an=xu($t.href);var un=Dt.querySelector(Uu(an));if(un)return Bt.state.loading|=4,Bt.instance=un,Ds(un),un;Yt=F0($t),(an=mc.get(an))&&Kf(Yt,an),un=(Dt.ownerDocument||Dt).createElement("link"),Ds(un);var bn=un;return bn._p=new Promise(function(qn,Sr){bn.onload=qn,bn.onerror=Sr}),Al(un,"link",Yt),Bt.state.loading|=4,Fd(un,$t.precedence,Dt),Bt.instance=un;case"script":return un=vu($t.src),(an=Dt.querySelector($u(un)))?(Bt.instance=an,Ds(an),an):(Yt=$t,(an=mc.get(un))&&(Yt=Rt({},$t),Zf(Yt,an)),Dt=Dt.ownerDocument||Dt,an=Dt.createElement("script"),Ds(an),Al(an,"link",Yt),Dt.head.appendChild(an),Bt.instance=an);case"void":return null;default:throw Error(vt(443,Bt.type))}else Bt.type==="stylesheet"&&(Bt.state.loading&4)===0&&(Yt=Bt.instance,Bt.state.loading|=4,Fd(Yt,$t.precedence,Dt));return Bt.instance}function Fd(Dt,Bt,$t){for(var Yt=$t.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),an=Yt.length?Yt[Yt.length-1]:null,un=an,bn=0;bn<Yt.length;bn++){var qn=Yt[bn];if(qn.dataset.precedence===Bt)un=qn;else if(un!==an)break}un?un.parentNode.insertBefore(Dt,un.nextSibling):(Bt=$t.nodeType===9?$t.head:$t,Bt.insertBefore(Dt,Bt.firstChild))}function Kf(Dt,Bt){Dt.crossOrigin==null&&(Dt.crossOrigin=Bt.crossOrigin),Dt.referrerPolicy==null&&(Dt.referrerPolicy=Bt.referrerPolicy),Dt.title==null&&(Dt.title=Bt.title)}function Zf(Dt,Bt){Dt.crossOrigin==null&&(Dt.crossOrigin=Bt.crossOrigin),Dt.referrerPolicy==null&&(Dt.referrerPolicy=Bt.referrerPolicy),Dt.integrity==null&&(Dt.integrity=Bt.integrity)}var wd=null;function S0(Dt,Bt,$t){if(wd===null){var Yt=new Map,an=wd=new Map;an.set($t,Yt)}else an=wd,Yt=an.get($t),Yt||(Yt=new Map,an.set($t,Yt));if(Yt.has(Dt))return Yt;for(Yt.set(Dt,null),$t=$t.getElementsByTagName(Dt),an=0;an<$t.length;an++){var un=$t[an];if(!(un[xs]||un[mi]||Dt==="link"&&un.getAttribute("rel")==="stylesheet")&&un.namespaceURI!=="http://www.w3.org/2000/svg"){var bn=un.getAttribute(Bt)||"";bn=Dt+bn;var qn=Yt.get(bn);qn?qn.push(un):Yt.set(bn,[un])}}return Yt}function D0(Dt,Bt,$t){Dt=Dt.ownerDocument||Dt,Dt.head.insertBefore($t,Bt==="title"?Dt.querySelector("head > title"):null)}function Wg(Dt,Bt,$t){if($t===1||Bt.itemProp!=null)return!1;switch(Dt){case"meta":case"title":return!0;case"style":if(typeof Bt.precedence!="string"||typeof Bt.href!="string"||Bt.href==="")break;return!0;case"link":if(typeof Bt.rel!="string"||typeof Bt.href!="string"||Bt.href===""||Bt.onLoad||Bt.onError)break;return Bt.rel==="stylesheet"?(Dt=Bt.disabled,typeof Bt.precedence=="string"&&Dt==null):!0;case"script":if(Bt.async&&typeof Bt.async!="function"&&typeof Bt.async!="symbol"&&!Bt.onLoad&&!Bt.onError&&Bt.src&&typeof Bt.src=="string")return!0}return!1}function T0(Dt){return!(Dt.type==="stylesheet"&&(Dt.state.loading&3)===0)}function Vg(Dt,Bt,$t,Yt){if($t.type==="stylesheet"&&(typeof Yt.media!="string"||matchMedia(Yt.media).matches!==!1)&&($t.state.loading&4)===0){if($t.instance===null){var an=xu(Yt.href),un=Bt.querySelector(Uu(an));if(un){Bt=un._p,Bt!==null&&typeof Bt=="object"&&typeof Bt.then=="function"&&(Dt.count++,Dt=Sd.bind(Dt),Bt.then(Dt,Dt)),$t.state.loading|=4,$t.instance=un,Ds(un);return}un=Bt.ownerDocument||Bt,Yt=F0(Yt),(an=mc.get(an))&&Kf(Yt,an),un=un.createElement("link"),Ds(un);var bn=un;bn._p=new Promise(function(qn,Sr){bn.onload=qn,bn.onerror=Sr}),Al(un,"link",Yt),$t.instance=un}Dt.stylesheets===null&&(Dt.stylesheets=new Map),Dt.stylesheets.set($t,Bt),(Bt=$t.state.preload)&&($t.state.loading&3)===0&&(Dt.count++,$t=Sd.bind(Dt),Bt.addEventListener("load",$t),Bt.addEventListener("error",$t))}}var Qf=0;function Gg(Dt,Bt){return Dt.stylesheets&&Dt.count===0&&Td(Dt,Dt.stylesheets),0<Dt.count||0<Dt.imgCount?function($t){var Yt=setTimeout(function(){if(Dt.stylesheets&&Td(Dt,Dt.stylesheets),Dt.unsuspend){var un=Dt.unsuspend;Dt.unsuspend=null,un()}},6e4+Bt);0<Dt.imgBytes&&Qf===0&&(Qf=62500*wg());var an=setTimeout(function(){if(Dt.waitingForImages=!1,Dt.count===0&&(Dt.stylesheets&&Td(Dt,Dt.stylesheets),Dt.unsuspend)){var un=Dt.unsuspend;Dt.unsuspend=null,un()}},(Dt.imgBytes>Qf?50:800)+Bt);return Dt.unsuspend=$t,function(){Dt.unsuspend=null,clearTimeout(Yt),clearTimeout(an)}}:null}function Sd(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Td(this,this.stylesheets);else if(this.unsuspend){var Dt=this.unsuspend;this.unsuspend=null,Dt()}}}var Dd=null;function Td(Dt,Bt){Dt.stylesheets=null,Dt.unsuspend!==null&&(Dt.count++,Dd=new Map,Bt.forEach(qg,Dt),Dd=null,Sd.call(Dt))}function qg(Dt,Bt){if(!(Bt.state.loading&4)){var $t=Dd.get(Dt);if($t)var Yt=$t.get(null);else{$t=new Map,Dd.set(Dt,$t);for(var an=Dt.querySelectorAll("link[data-precedence],style[data-precedence]"),un=0;un<an.length;un++){var bn=an[un];(bn.nodeName==="LINK"||bn.getAttribute("media")!=="not all")&&($t.set(bn.dataset.precedence,bn),Yt=bn)}Yt&&$t.set(null,Yt)}an=Bt.instance,bn=an.getAttribute("data-precedence"),un=$t.get(bn)||Yt,un===Yt&&$t.set(null,an),$t.set(bn,an),this.count++,Yt=Sd.bind(this),an.addEventListener("load",Yt),an.addEventListener("error",Yt),un?un.parentNode.insertBefore(an,un.nextSibling):(Dt=Dt.nodeType===9?Dt.head:Dt,Dt.insertBefore(an,Dt.firstChild)),Bt.state.loading|=4}}var ju={$$typeof:Ut,Provider:null,Consumer:null,_currentValue:rn,_currentValue2:rn,_threadCount:0};function Yg(Dt,Bt,$t,Yt,an,un,bn,qn,Sr){this.tag=1,this.containerInfo=Dt,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=gr(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gr(0),this.hiddenUpdates=gr(null),this.identifierPrefix=Yt,this.onUncaughtError=an,this.onCaughtError=un,this.onRecoverableError=bn,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=Sr,this.incompleteTransitions=new Map}function R0(Dt,Bt,$t,Yt,an,un,bn,qn,Sr,Jr,ui,gi){return Dt=new Yg(Dt,Bt,$t,bn,Sr,Jr,ui,gi,qn),Bt=1,un===!0&&(Bt|=24),un=Ks(3,null,null,Bt),Dt.current=un,un.stateNode=Dt,Bt=tc(),Bt.refCount++,Dt.pooledCache=Bt,Bt.refCount++,un.memoizedState={element:Yt,isDehydrated:$t,cache:Bt},pa(un),Dt}function B0(Dt){return Dt?(Dt=Ai,Dt):Ai}function M0(Dt,Bt,$t,Yt,an,un){an=B0(an),Yt.context===null?Yt.context=an:Yt.pendingContext=an,Yt=Js(Bt),Yt.payload={element:$t},un=un===void 0?null:un,un!==null&&(Yt.callback=un),$t=Gr(Dt,Yt,Bt),$t!==null&&(Kl($t,Dt,Bt),Ti($t,Dt,Bt))}function I0(Dt,Bt){if(Dt=Dt.memoizedState,Dt!==null&&Dt.dehydrated!==null){var $t=Dt.retryLane;Dt.retryLane=$t!==0&&$t<Bt?$t:Bt}}function Jf(Dt,Bt){I0(Dt,Bt),(Dt=Dt.alternate)&&I0(Dt,Bt)}function O0(Dt){if(Dt.tag===13||Dt.tag===31){var Bt=Qi(Dt,67108864);Bt!==null&&Kl(Bt,Dt,67108864),Jf(Dt,67108864)}}function P0(Dt){if(Dt.tag===13||Dt.tag===31){var Bt=ac();Bt=ki(Bt);var $t=Qi(Dt,Bt);$t!==null&&Kl($t,Dt,Bt),Jf(Dt,Bt)}}var Rd=!0;function Xg(Dt,Bt,$t,Yt){var an=Zt.T;Zt.T=null;var un=nn.p;try{nn.p=2,eh(Dt,Bt,$t,Yt)}finally{nn.p=un,Zt.T=an}}function Kg(Dt,Bt,$t,Yt){var an=Zt.T;Zt.T=null;var un=nn.p;try{nn.p=8,eh(Dt,Bt,$t,Yt)}finally{nn.p=un,Zt.T=an}}function eh(Dt,Bt,$t,Yt){if(Rd){var an=th(Yt);if(an===null)Uf(Dt,Bt,Yt,Bd,$t),k0(Dt,Yt);else if(Qg(an,Dt,Bt,$t,Yt))Yt.stopPropagation();else if(k0(Dt,Yt),Bt&4&&-1<Zg.indexOf(Dt)){for(;an!==null;){var un=Hs(an);if(un!==null)switch(un.tag){case 3:if(un=un.stateNode,un.current.memoizedState.isDehydrated){var bn=hn(un.pendingLanes);if(bn!==0){var qn=un;for(qn.pendingLanes|=2,qn.entangledLanes|=2;bn;){var Sr=1<<31-Xn(bn);qn.entanglements[1]|=Sr,bn&=~Sr}Fc(un),(So&6)===0&&(hd=Dr()+500,Lu(0))}}break;case 31:case 13:qn=Qi(un,2),qn!==null&&Kl(qn,un,2),gd(),Jf(un,2)}if(un=th(Yt),un===null&&Uf(Dt,Bt,Yt,Bd,$t),un===an)break;an=un}an!==null&&Yt.stopPropagation()}else Uf(Dt,Bt,Yt,null,$t)}}function th(Dt){return Dt=qo(Dt),nh(Dt)}var Bd=null;function nh(Dt){if(Bd=null,Dt=Is(Dt),Dt!==null){var Bt=At(Dt);if(Bt===null)Dt=null;else{var $t=Bt.tag;if($t===13){if(Dt=Ft(Bt),Dt!==null)return Dt;Dt=null}else if($t===31){if(Dt=Ct(Bt),Dt!==null)return Dt;Dt=null}else if($t===3){if(Bt.stateNode.current.memoizedState.isDehydrated)return Bt.tag===3?Bt.stateNode.containerInfo:null;Dt=null}else Bt!==Dt&&(Dt=null)}}return Bd=Dt,null}function L0(Dt){switch(Dt){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(ar()){case Qn:return 2;case Cn:return 8;case Bn:case In:return 32;case or:return 268435456;default:return 32}default:return 32}}var rh=!1,Xc=null,Kc=null,Zc=null,Hu=new Map,Wu=new Map,Qc=[],Zg="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function k0(Dt,Bt){switch(Dt){case"focusin":case"focusout":Xc=null;break;case"dragenter":case"dragleave":Kc=null;break;case"mouseover":case"mouseout":Zc=null;break;case"pointerover":case"pointerout":Hu.delete(Bt.pointerId);break;case"gotpointercapture":case"lostpointercapture":Wu.delete(Bt.pointerId)}}function Vu(Dt,Bt,$t,Yt,an,un){return Dt===null||Dt.nativeEvent!==un?(Dt={blockedOn:Bt,domEventName:$t,eventSystemFlags:Yt,nativeEvent:un,targetContainers:[an]},Bt!==null&&(Bt=Hs(Bt),Bt!==null&&O0(Bt)),Dt):(Dt.eventSystemFlags|=Yt,Bt=Dt.targetContainers,an!==null&&Bt.indexOf(an)===-1&&Bt.push(an),Dt)}function Qg(Dt,Bt,$t,Yt,an){switch(Bt){case"focusin":return Xc=Vu(Xc,Dt,Bt,$t,Yt,an),!0;case"dragenter":return Kc=Vu(Kc,Dt,Bt,$t,Yt,an),!0;case"mouseover":return Zc=Vu(Zc,Dt,Bt,$t,Yt,an),!0;case"pointerover":var un=an.pointerId;return Hu.set(un,Vu(Hu.get(un)||null,Dt,Bt,$t,Yt,an)),!0;case"gotpointercapture":return un=an.pointerId,Wu.set(un,Vu(Wu.get(un)||null,Dt,Bt,$t,Yt,an)),!0}return!1}function N0(Dt){var Bt=Is(Dt.target);if(Bt!==null){var $t=At(Bt);if($t!==null){if(Bt=$t.tag,Bt===13){if(Bt=Ft($t),Bt!==null){Dt.blockedOn=Bt,ci(Dt.priority,function(){P0($t)});return}}else if(Bt===31){if(Bt=Ct($t),Bt!==null){Dt.blockedOn=Bt,ci(Dt.priority,function(){P0($t)});return}}else if(Bt===3&&$t.stateNode.current.memoizedState.isDehydrated){Dt.blockedOn=$t.tag===3?$t.stateNode.containerInfo:null;return}}}Dt.blockedOn=null}function Md(Dt){if(Dt.blockedOn!==null)return!1;for(var Bt=Dt.targetContainers;0<Bt.length;){var $t=th(Dt.nativeEvent);if($t===null){$t=Dt.nativeEvent;var Yt=new $t.constructor($t.type,$t);al=Yt,$t.target.dispatchEvent(Yt),al=null}else return Bt=Hs($t),Bt!==null&&O0(Bt),Dt.blockedOn=$t,!1;Bt.shift()}return!0}function z0(Dt,Bt,$t){Md(Dt)&&$t.delete(Bt)}function Jg(){rh=!1,Xc!==null&&Md(Xc)&&(Xc=null),Kc!==null&&Md(Kc)&&(Kc=null),Zc!==null&&Md(Zc)&&(Zc=null),Hu.forEach(z0),Wu.forEach(z0)}function Id(Dt,Bt){Dt.blockedOn===Bt&&(Dt.blockedOn=null,rh||(rh=!0,yt.unstable_scheduleCallback(yt.unstable_NormalPriority,Jg)))}var Od=null;function U0(Dt){Od!==Dt&&(Od=Dt,yt.unstable_scheduleCallback(yt.unstable_NormalPriority,function(){Od===Dt&&(Od=null);for(var Bt=0;Bt<Dt.length;Bt+=3){var $t=Dt[Bt],Yt=Dt[Bt+1],an=Dt[Bt+2];if(typeof Yt!="function"){if(nh(Yt||$t)===null)continue;break}var un=Hs($t);un!==null&&(Dt.splice(Bt,3),Bt-=3,ef(un,{pending:!0,data:an,method:$t.method,action:Yt},Yt,an))}}))}function bu(Dt){function Bt(Sr){return Id(Sr,Dt)}Xc!==null&&Id(Xc,Dt),Kc!==null&&Id(Kc,Dt),Zc!==null&&Id(Zc,Dt),Hu.forEach(Bt),Wu.forEach(Bt);for(var $t=0;$t<Qc.length;$t++){var Yt=Qc[$t];Yt.blockedOn===Dt&&(Yt.blockedOn=null)}for(;0<Qc.length&&($t=Qc[0],$t.blockedOn===null);)N0($t),$t.blockedOn===null&&Qc.shift();if($t=(Dt.ownerDocument||Dt).$$reactFormReplay,$t!=null)for(Yt=0;Yt<$t.length;Yt+=3){var an=$t[Yt],un=$t[Yt+1],bn=an[wi]||null;if(typeof un=="function")bn||U0($t);else if(bn){var qn=null;if(un&&un.hasAttribute("formAction")){if(an=un,bn=un[wi]||null)qn=bn.formAction;else if(nh(an)!==null)continue}else qn=bn.action;typeof qn=="function"?$t[Yt+1]=qn:($t.splice(Yt,3),Yt-=3),U0($t)}}}function $0(){function Dt(un){un.canIntercept&&un.info==="react-transition"&&un.intercept({handler:function(){return new Promise(function(bn){return an=bn})},focusReset:"manual",scroll:"manual"})}function Bt(){an!==null&&(an(),an=null),Yt||setTimeout($t,20)}function $t(){if(!Yt&&!navigation.transition){var un=navigation.currentEntry;un&&un.url!=null&&navigation.navigate(un.url,{state:un.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var Yt=!1,an=null;return navigation.addEventListener("navigate",Dt),navigation.addEventListener("navigatesuccess",Bt),navigation.addEventListener("navigateerror",Bt),setTimeout($t,100),function(){Yt=!0,navigation.removeEventListener("navigate",Dt),navigation.removeEventListener("navigatesuccess",Bt),navigation.removeEventListener("navigateerror",Bt),an!==null&&(an(),an=null)}}}function ih(Dt){this._internalRoot=Dt}Pd.prototype.render=ih.prototype.render=function(Dt){var Bt=this._internalRoot;if(Bt===null)throw Error(vt(409));var $t=Bt.current,Yt=ac();M0($t,Yt,Dt,Bt,null,null)},Pd.prototype.unmount=ih.prototype.unmount=function(){var Dt=this._internalRoot;if(Dt!==null){this._internalRoot=null;var Bt=Dt.containerInfo;M0(Dt.current,2,null,Dt,null,null),gd(),Bt[vi]=null}};function Pd(Dt){this._internalRoot=Dt}Pd.prototype.unstable_scheduleHydration=function(Dt){if(Dt){var Bt=_i();Dt={blockedOn:null,target:Dt,priority:Bt};for(var $t=0;$t<Qc.length&&Bt!==0&&Bt<Qc[$t].priority;$t++);Qc.splice($t,0,Dt),$t===0&&N0(Dt)}};var j0=Et.version;if(j0!=="19.2.4")throw Error(vt(527,j0,"19.2.4"));nn.findDOMNode=function(Dt){var Bt=Dt._reactInternals;if(Bt===void 0)throw typeof Dt.render=="function"?Error(vt(188)):(Dt=Object.keys(Dt).join(","),Error(vt(268,Dt)));return Dt=St(Bt),Dt=Dt!==null?Tt(Dt):null,Dt=Dt===null?null:Dt.stateNode,Dt};var em={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:Zt,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Ld=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Ld.isDisabled&&Ld.supportsFiber)try{cr=Ld.inject(em),gn=Ld}catch{}}return reactDomClient_production.createRoot=function(Dt,Bt){if(!bt(Dt))throw Error(vt(299));var $t=!1,Yt="",an=Xh,un=Kh,bn=Zh;return Bt!=null&&(Bt.unstable_strictMode===!0&&($t=!0),Bt.identifierPrefix!==void 0&&(Yt=Bt.identifierPrefix),Bt.onUncaughtError!==void 0&&(an=Bt.onUncaughtError),Bt.onCaughtError!==void 0&&(un=Bt.onCaughtError),Bt.onRecoverableError!==void 0&&(bn=Bt.onRecoverableError)),Bt=R0(Dt,1,!1,null,null,$t,Yt,null,an,un,bn,$0),Dt[vi]=Bt.current,zf(Dt),new ih(Bt)},reactDomClient_production.hydrateRoot=function(Dt,Bt,$t){if(!bt(Dt))throw Error(vt(299));var Yt=!1,an="",un=Xh,bn=Kh,qn=Zh,Sr=null;return $t!=null&&($t.unstable_strictMode===!0&&(Yt=!0),$t.identifierPrefix!==void 0&&(an=$t.identifierPrefix),$t.onUncaughtError!==void 0&&(un=$t.onUncaughtError),$t.onCaughtError!==void 0&&(bn=$t.onCaughtError),$t.onRecoverableError!==void 0&&(qn=$t.onRecoverableError),$t.formState!==void 0&&(Sr=$t.formState)),Bt=R0(Dt,1,!0,Bt,$t??null,Yt,an,Sr,un,bn,qn,$0),Bt.context=B0(null),$t=Bt.current,Yt=ac(),Yt=ki(Yt),an=Js(Yt),an.callback=null,Gr($t,an,Yt),$t=Yt,Bt.current.lanes=$t,ii(Bt,$t),Fc(Bt),Dt[vi]=Bt.current,zf(Dt),new Pd(Bt)},reactDomClient_production.version="19.2.4",reactDomClient_production}var hasRequiredClient;function requireClient(){if(hasRequiredClient)return client$1.exports;hasRequiredClient=1;function yt(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(yt)}catch(Et){console.error(Et)}}return yt(),client$1.exports=requireReactDomClient_production(),client$1.exports}var clientExports=requireClient();const client=getDefaultExportFromCjs(clientExports);var jsxRuntime={exports:{}},reactJsxRuntime_production={};var hasRequiredReactJsxRuntime_production;function requireReactJsxRuntime_production(){if(hasRequiredReactJsxRuntime_production)return reactJsxRuntime_production;hasRequiredReactJsxRuntime_production=1;var yt=Symbol.for("react.transitional.element"),Et=Symbol.for("react.fragment");function xt(vt,bt,At){var Ft=null;if(At!==void 0&&(Ft=""+At),bt.key!==void 0&&(Ft=""+bt.key),"key"in bt){At={};for(var Ct in bt)Ct!=="key"&&(At[Ct]=bt[Ct])}else At=bt;return bt=At.ref,{$$typeof:yt,type:vt,key:Ft,ref:bt!==void 0?bt:null,props:At}}return reactJsxRuntime_production.Fragment=Et,reactJsxRuntime_production.jsx=xt,reactJsxRuntime_production.jsxs=xt,reactJsxRuntime_production}var hasRequiredJsxRuntime;function requireJsxRuntime(){return hasRequiredJsxRuntime||(hasRequiredJsxRuntime=1,jsxRuntime.exports=requireReactJsxRuntime_production()),jsxRuntime.exports}var jsxRuntimeExports=requireJsxRuntime();const toKebabCase=yt=>yt.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),toCamelCase=yt=>yt.replace(/^([A-Z])|[\s-_]+(\w)/g,(Et,xt,vt)=>vt?vt.toUpperCase():xt.toLowerCase()),toPascalCase=yt=>{const Et=toCamelCase(yt);return Et.charAt(0).toUpperCase()+Et.slice(1)},mergeClasses=(...yt)=>yt.filter((Et,xt,vt)=>!!Et&&Et.trim()!==""&&vt.indexOf(Et)===xt).join(" ").trim(),hasA11yProp=yt=>{for(const Et in yt)if(Et.startsWith("aria-")||Et==="role"||Et==="title")return!0};var defaultAttributes={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const Icon$1=reactExports.forwardRef(({color:yt="currentColor",size:Et=24,strokeWidth:xt=2,absoluteStrokeWidth:vt,className:bt="",children:At,iconNode:Ft,...Ct},wt)=>reactExports.createElement("svg",{ref:wt,...defaultAttributes,width:Et,height:Et,stroke:yt,strokeWidth:vt?Number(xt)*24/Number(Et):xt,className:mergeClasses("lucide",bt),...!At&&!hasA11yProp(Ct)&&{"aria-hidden":"true"},...Ct},[...Ft.map(([St,Tt])=>reactExports.createElement(St,Tt)),...Array.isArray(At)?At:[At]]));const createLucideIcon=(yt,Et)=>{const xt=reactExports.forwardRef(({className:vt,...bt},At)=>reactExports.createElement(Icon$1,{ref:At,iconNode:Et,className:mergeClasses(`lucide-${toKebabCase(toPascalCase(yt))}`,`lucide-${yt}`,vt),...bt}));return xt.displayName=toPascalCase(yt),xt};const __iconNode$o=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],BookOpen=createLucideIcon("book-open",__iconNode$o);const __iconNode$n=[["path",{d:"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",key:"18u6gg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]],Camera=createLucideIcon("camera",__iconNode$n);const __iconNode$m=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Check=createLucideIcon("check",__iconNode$m);const __iconNode$l=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],ChevronDown=createLucideIcon("chevron-down",__iconNode$l);const __iconNode$k=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],ChevronRight=createLucideIcon("chevron-right",__iconNode$k);const __iconNode$j=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],ChevronUp=createLucideIcon("chevron-up",__iconNode$j);const __iconNode$i=[["path",{d:"M6 2v14a2 2 0 0 0 2 2h14",key:"ron5a4"}],["path",{d:"M18 22V8a2 2 0 0 0-2-2H2",key:"7s9ehn"}]],Crop=createLucideIcon("crop",__iconNode$i);const __iconNode$h=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Info=createLucideIcon("info",__iconNode$h);const __iconNode$g=[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]],Key=createLucideIcon("key",__iconNode$g);const __iconNode$f=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],Lightbulb=createLucideIcon("lightbulb",__iconNode$f);const __iconNode$e=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],Maximize2=createLucideIcon("maximize-2",__iconNode$e);const __iconNode$d=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]],Monitor=createLucideIcon("monitor",__iconNode$d);const __iconNode$c=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],Moon=createLucideIcon("moon",__iconNode$c);const __iconNode$b=[["path",{d:"M12 2v20",key:"t6zp3m"}],["path",{d:"m15 19-3 3-3-3",key:"11eu04"}],["path",{d:"m19 9 3 3-3 3",key:"1mg7y2"}],["path",{d:"M2 12h20",key:"9i4pu4"}],["path",{d:"m5 9-3 3 3 3",key:"j64kie"}],["path",{d:"m9 5 3-3 3 3",key:"l8vdw6"}]],Move=createLucideIcon("move",__iconNode$b);const __iconNode$a=[["path",{d:"m19 11-8-8-8.6 8.6a2 2 0 0 0 0 2.8l5.2 5.2c.8.8 2 .8 2.8 0L19 11Z",key:"irua1i"}],["path",{d:"m5 2 5 5",key:"1lls2c"}],["path",{d:"M2 13h15",key:"1hkzvu"}],["path",{d:"M22 20a2 2 0 1 1-4 0c0-1.6 1.7-2.4 2-4 .3 1.6 2 2.4 2 4Z",key:"xk76lq"}]],PaintBucket=createLucideIcon("paint-bucket",__iconNode$a);const __iconNode$9=[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]],Palette=createLucideIcon("palette",__iconNode$9);const __iconNode$8=[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]],Presentation=createLucideIcon("presentation",__iconNode$8);const __iconNode$7=[["path",{d:"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2",key:"143wyd"}],["path",{d:"M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6",key:"1itne7"}],["rect",{x:"6",y:"14",width:"12",height:"8",rx:"1",key:"1ue0tg"}]],Printer=createLucideIcon("printer",__iconNode$7);const __iconNode$6=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],RotateCcw=createLucideIcon("rotate-ccw",__iconNode$6);const __iconNode$5=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Settings=createLucideIcon("settings",__iconNode$5);const __iconNode$4=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],Sun=createLucideIcon("sun",__iconNode$4);const __iconNode$3=[["path",{d:"M12 3v18",key:"108xh3"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}]],Table=createLucideIcon("table",__iconNode$3);const __iconNode$2=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],X$2=createLucideIcon("x",__iconNode$2);const __iconNode$1=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],ZoomIn=createLucideIcon("zoom-in",__iconNode$1);const __iconNode=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],ZoomOut=createLucideIcon("zoom-out",__iconNode),DEFAULT_CONFIG$1={tree:{ySpacing:150,yScaleFactor:1e3,xScalePercent:100,fixedCoordinateWidth:2e3,nodeRadius:{internal:12,leaf:20},edgeColor:[40,40,4,255],edgeWidth:.5,gap:50,labelPadding:{charWidth:50},phyloLabelPosition:"after-tree",labelOffset:10,alignLabels:!0},gene:{height:60,defaultHeight:60,fillColor:[230,230,230,255],tipWidthFactor:.05,tipWidthMode:"fixed",tipWidthFixed:20,strokeWidthFactor:.9,edgeWidth:1,arrowheadHeight:0,prevalenceThreshold:10},genome:{xScalePercent:30},theme:{mode:"light",light:{background:"#ffffff",text:"#222222",treeEdges:[0,0,0,255],phyloLabelFill:[0,0,0,255],hoods:[100,100,100,255],geneFill:[230,230,230,255],rulerBackground:"#ffffff",rulerText:"#222222",rulerTicks:"#666666",buttonBackground:"#ffffff",buttonText:"#222222",buttonBorder:"#cccccc",tooltipBackground:"#ffffff",tooltipText:"#222222",tooltipBorder:"#cccccc",widgetBackground:"#f8f9fa",border:"#dee2e6",textSecondary:"#6c757d",sliderTrack:"#e9ecef"},dark:{background:"#000000",text:"#ffffff",treeEdges:[255,255,255,255],phyloLabelFill:[255,255,255,255],hoods:[200,200,200,255],geneFill:[100,100,100,255],rulerBackground:"#000000",rulerText:"#ffffff",rulerTicks:"#cccccc",buttonBackground:"#333333",buttonText:"#ffffff",buttonBorder:"#555555",tooltipBackground:"#333333",tooltipText:"#ffffff",tooltipBorder:"#555555",widgetBackground:"#212529",border:"#495057",textSecondary:"#adb5bd",sliderTrack:"#495057"}},domain:{edgeWidth:.01,heightFactor:.7},hood:{width:.25,color:[100,100,100,255]},region:{padding:5,fillOpacity:.2,strokeOpacity:.6,strokeWidth:2,colors:{phage:[255,0,0,255],prophage:[255,165,0,255],operon:[0,128,0,255],cluster:[0,0,255,255],island:[255,255,0,255],region:[1,1,1,255],default:[128,128,128,255],crispr:[255,0,0,255]}},layout:{padding:0,geneOffset:0,containerFallback:{minX:0,minY:0,maxX:1e3,maxY:1e3,treeOffset:0,geneOffset:0}},text:{geneLabelSize:12,phyloLabelSize:20,scaleFactors:{gene:5,phylo:5},rulerLabelSize:14},stroke:{lineWidth:.1,fadeAlpha:.1,darkenFactor:.7},ruler:{height:30,tickHeight:10,labelOffset:22,targetTicks:35},scrollbar:{width:32,barWidth:3,minThumbHeight:24,margin:"2%",borderRadius:"0",panPaddingY:50,panPaddingX:500,minZoom:-5,maxZoom:2},proteinLink:{bezierSegments:120,color:[100,0,220,255],colorBy:"source_gene",solidColor:[100,0,220,255],useAlpha:!0,minAlpha:0,maxAlpha:.5,palette:{type:"sequential",name:"Blues",numColors:9,reverse:!1,enabled:!0}},nucleotideLink:{color:[200,200,200,255],colorBy:"solid",solidColor:[200,200,200,255],strandColoring:!0,sameStrandColor:[180,180,180,255],oppositeStrandColor:[220,80,80,255],sameStrandPalette:{type:"sequential",name:"Greys",numColors:9,reverse:!1,enabled:!0},oppositeStrandPalette:{type:"sequential",name:"Reds",numColors:9,reverse:!1,enabled:!0},useAlpha:!0,minAlpha:0,maxAlpha:.5,palette:{type:"sequential",name:"Reds",numColors:9,reverse:!1,enabled:!0}},connectingLines:{width:.5,color:[128,128,128,255]},colorPalettes:{genePalette:{type:"qualitative",name:"RPRlab",numColors:15,reverse:!1,enabled:!0,desaturateByPrevalence:!0},domainPalette:{type:"sequential",name:"Gray",numColors:9,reverse:!0,enabled:!0,alphaRange:[.1,.3]},phyloPalette:{type:"qualitative",name:"RPRlab",numColors:15,reverse:!1,enabled:!0},ncRNAPalette:{type:"qualitative",name:"RPRlab",numColors:15,reverse:!1,enabled:!0},regionPalette:{type:"qualitative",name:"RPRlab",numColors:15,reverse:!1,enabled:!0}},colors:{black:[0,0,0,255],gray:[100,100,100,255],lightGray:[230,230,230,255],darkGray:[85,85,85,255],transparent:[0,0,0,0]},animation:{transitionDuration:"0.1s",hoverTransition:"0.25s"},export:{svg:{minFontSize:0,fontSizeScale:1e3}}},{tree:TREE_CONFIG,gene:GENE_CONFIG,layout:LAYOUT_CONFIG,text:TEXT_CONFIG,stroke:STROKE_CONFIG,ruler:RULER_CONFIG,scrollbar:SCROLLBAR_CONFIG,proteinLink:PROTEIN_LINK_CONFIG,nucleotideLink:NUCLEOTIDE_LINK_CONFIG,colors:COLORS_CONFIG,animation:ANIMATION_CONFIG,export:EXPORT_CONFIG}=DEFAULT_CONFIG$1;function calculateTipWidth(yt,Et){const xt="gene"in Et?Et.gene:Et;if((xt.tipWidthMode||"factor")==="fixed"){const bt=xt.tipWidthFixed??200,At=yt*.5;return Math.min(bt,At)}else{const bt=xt.tipWidthFactor||.05;return yt*bt}}function resolveMode(yt){if(!yt)return"light";if(yt==="system"&&typeof window<"u")try{return window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}catch{return"light"}return yt==="dark"?"dark":"light"}if(typeof window<"u")try{const Et=window.localStorage.getItem("hoodini_theme"),xt=DEFAULT_CONFIG$1.theme?.mode??"light",bt=resolveMode(Et||xt||"light"),At=document.documentElement;bt==="dark"?(At.classList.add("dark"),At.classList.remove("light")):(At.classList.remove("dark"),At.classList.add("light"))}catch{}const STORAGE_KEY="hoodini_theme",ThemeContext$1=reactExports.createContext(null),useTheme=()=>{const yt=reactExports.useContext(ThemeContext$1);return yt||{theme:"light",setTheme:()=>{},resolvedTheme:"light",getThemeColors:()=>({background:"#ffffff",foreground:"#000000",muted:"#f4f4f5",mutedForeground:"#71717a",border:"#e4e4e7",primary:"#18181b",primaryForeground:"#fafafa"})}},ThemeProvider=({children:yt})=>{const Et=DEFAULT_CONFIG$1.theme?.mode??"light",vt=(typeof window<"u"?window.localStorage.getItem(STORAGE_KEY):null)||Et||"light",[bt,At]=reactExports.useState(vt),[Ft,Ct]=reactExports.useState(()=>resolveMode(vt)),wt=(Pt=bt)=>{let Lt=Pt;return Pt==="system"&&typeof window<"u"&&(Lt=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),DEFAULT_CONFIG$1.theme?.[Lt]??{}},St=wt(Ft),Tt=Pt=>{At(Pt);try{window.localStorage.setItem(STORAGE_KEY,Pt)}catch{}try{const Lt=resolveMode(Pt);Ct(Lt);const kt=document.documentElement;Lt==="dark"?(kt.classList.add("dark"),kt.classList.remove("light")):(kt.classList.remove("dark"),kt.classList.add("light"))}catch{}},Rt=()=>{Tt(Ft==="light"?"dark":"light")};return reactExports.useEffect(()=>{const Pt=resolveMode(bt);Ct(Pt);const Lt=document.documentElement;Pt==="dark"?(Lt.classList.add("dark"),Lt.classList.remove("light")):(Lt.classList.remove("dark"),Lt.classList.add("light"));let kt,Ot;if(bt==="system"&&typeof window<"u"&&window.matchMedia)try{kt=window.matchMedia("(prefers-color-scheme: dark)"),Ot=Mt=>{const It=Mt.matches?"dark":"light";It==="dark"?(Lt.classList.add("dark"),Lt.classList.remove("light")):(Lt.classList.remove("dark"),Lt.classList.add("light")),Ct(It)},kt.addEventListener?kt.addEventListener("change",Ot):kt.addListener&&kt.addListener(Ot)}catch{}return()=>{kt&&Ot&&(kt.removeEventListener?kt.removeEventListener("change",Ot):kt.removeListener&&kt.removeListener(Ot))}},[bt]),jsxRuntimeExports.jsx(ThemeContext$1.Provider,{value:{theme:bt,resolvedTheme:Ft,themeColors:St,getThemeColors:Pt=>wt(Pt||Ft),setTheme:Tt,toggleTheme:Rt,isLight:Ft==="light",isDark:Ft==="dark"},children:yt})};function setRef(yt,Et){if(typeof yt=="function")return yt(Et);yt!=null&&(yt.current=Et)}function composeRefs(...yt){return Et=>{let xt=!1;const vt=yt.map(bt=>{const At=setRef(bt,Et);return!xt&&typeof At=="function"&&(xt=!0),At});if(xt)return()=>{for(let bt=0;bt<vt.length;bt++){const At=vt[bt];typeof At=="function"?At():setRef(yt[bt],null)}}}}function useComposedRefs(...yt){return reactExports.useCallback(composeRefs(...yt),yt)}var REACT_LAZY_TYPE=Symbol.for("react.lazy"),use=React$1[" use ".trim().toString()];function isPromiseLike(yt){return typeof yt=="object"&&yt!==null&&"then"in yt}function isLazyComponent(yt){return yt!=null&&typeof yt=="object"&&"$$typeof"in yt&&yt.$$typeof===REACT_LAZY_TYPE&&"_payload"in yt&&isPromiseLike(yt._payload)}function createSlot$c(yt){const Et=createSlotClone$c(yt),xt=reactExports.forwardRef((vt,bt)=>{let{children:At,...Ft}=vt;isLazyComponent(At)&&typeof use=="function"&&(At=use(At._payload));const Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$c);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}var Slot$1=createSlot$c("Slot");function createSlotClone$c(yt){const Et=reactExports.forwardRef((xt,vt)=>{let{children:bt,...At}=xt;if(isLazyComponent(bt)&&typeof use=="function"&&(bt=use(bt._payload)),reactExports.isValidElement(bt)){const Ft=getElementRef$d(bt),Ct=mergeProps$c(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$c=Symbol("radix.slottable");function isSlottable$c(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$c}function mergeProps$c(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$d(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}function r$1(yt){var Et,xt,vt="";if(typeof yt=="string"||typeof yt=="number")vt+=yt;else if(typeof yt=="object")if(Array.isArray(yt)){var bt=yt.length;for(Et=0;Et<bt;Et++)yt[Et]&&(xt=r$1(yt[Et]))&&(vt&&(vt+=" "),vt+=xt)}else for(xt in yt)yt[xt]&&(vt&&(vt+=" "),vt+=xt);return vt}function clsx(){for(var yt,Et,xt=0,vt="",bt=arguments.length;xt<bt;xt++)(yt=arguments[xt])&&(Et=r$1(yt))&&(vt&&(vt+=" "),vt+=Et);return vt}const falsyToString=yt=>typeof yt=="boolean"?`${yt}`:yt===0?"0":yt,cx$1=clsx,cva=(yt,Et)=>xt=>{var vt;if(Et?.variants==null)return cx$1(yt,xt?.class,xt?.className);const{variants:bt,defaultVariants:At}=Et,Ft=Object.keys(bt).map(St=>{const Tt=xt?.[St],Rt=At?.[St];if(Tt===null)return null;const Pt=falsyToString(Tt)||falsyToString(Rt);return bt[St][Pt]}),Ct=xt&&Object.entries(xt).reduce((St,Tt)=>{let[Rt,Pt]=Tt;return Pt===void 0||(St[Rt]=Pt),St},{}),wt=Et==null||(vt=Et.compoundVariants)===null||vt===void 0?void 0:vt.reduce((St,Tt)=>{let{class:Rt,className:Pt,...Lt}=Tt;return Object.entries(Lt).every(kt=>{let[Ot,Mt]=kt;return Array.isArray(Mt)?Mt.includes({...At,...Ct}[Ot]):{...At,...Ct}[Ot]===Mt})?[...St,Rt,Pt]:St},[]);return cx$1(yt,Ft,wt,xt?.class,xt?.className)},MOBILE_BREAKPOINT=768;function useIsMobile(){const[yt,Et]=reactExports.useState(void 0);return reactExports.useEffect(()=>{const xt=window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT-1}px)`),vt=()=>{Et(window.innerWidth<MOBILE_BREAKPOINT)};return xt.addEventListener("change",vt),Et(window.innerWidth<MOBILE_BREAKPOINT),()=>xt.removeEventListener("change",vt)},[]),!!yt}const concatArrays=(yt,Et)=>{const xt=new Array(yt.length+Et.length);for(let vt=0;vt<yt.length;vt++)xt[vt]=yt[vt];for(let vt=0;vt<Et.length;vt++)xt[yt.length+vt]=Et[vt];return xt},createClassValidatorObject=(yt,Et)=>({classGroupId:yt,validator:Et}),createClassPartObject=(yt=new Map,Et=null,xt)=>({nextPart:yt,validators:Et,classGroupId:xt}),CLASS_PART_SEPARATOR="-",EMPTY_CONFLICTS=[],ARBITRARY_PROPERTY_PREFIX="arbitrary..",createClassGroupUtils=yt=>{const Et=createClassMap(yt),{conflictingClassGroups:xt,conflictingClassGroupModifiers:vt}=yt;return{getClassGroupId:Ft=>{if(Ft.startsWith("[")&&Ft.endsWith("]"))return getGroupIdForArbitraryProperty(Ft);const Ct=Ft.split(CLASS_PART_SEPARATOR),wt=Ct[0]===""&&Ct.length>1?1:0;return getGroupRecursive(Ct,wt,Et)},getConflictingClassGroupIds:(Ft,Ct)=>{if(Ct){const wt=vt[Ft],St=xt[Ft];return wt?St?concatArrays(St,wt):wt:St||EMPTY_CONFLICTS}return xt[Ft]||EMPTY_CONFLICTS}}},getGroupRecursive=(yt,Et,xt)=>{if(yt.length-Et===0)return xt.classGroupId;const bt=yt[Et],At=xt.nextPart.get(bt);if(At){const St=getGroupRecursive(yt,Et+1,At);if(St)return St}const Ft=xt.validators;if(Ft===null)return;const Ct=Et===0?yt.join(CLASS_PART_SEPARATOR):yt.slice(Et).join(CLASS_PART_SEPARATOR),wt=Ft.length;for(let St=0;St<wt;St++){const Tt=Ft[St];if(Tt.validator(Ct))return Tt.classGroupId}},getGroupIdForArbitraryProperty=yt=>yt.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const Et=yt.slice(1,-1),xt=Et.indexOf(":"),vt=Et.slice(0,xt);return vt?ARBITRARY_PROPERTY_PREFIX+vt:void 0})(),createClassMap=yt=>{const{theme:Et,classGroups:xt}=yt;return processClassGroups(xt,Et)},processClassGroups=(yt,Et)=>{const xt=createClassPartObject();for(const vt in yt){const bt=yt[vt];processClassesRecursively(bt,xt,vt,Et)}return xt},processClassesRecursively=(yt,Et,xt,vt)=>{const bt=yt.length;for(let At=0;At<bt;At++){const Ft=yt[At];processClassDefinition(Ft,Et,xt,vt)}},processClassDefinition=(yt,Et,xt,vt)=>{if(typeof yt=="string"){processStringDefinition(yt,Et,xt);return}if(typeof yt=="function"){processFunctionDefinition(yt,Et,xt,vt);return}processObjectDefinition(yt,Et,xt,vt)},processStringDefinition=(yt,Et,xt)=>{const vt=yt===""?Et:getPart(Et,yt);vt.classGroupId=xt},processFunctionDefinition=(yt,Et,xt,vt)=>{if(isThemeGetter(yt)){processClassesRecursively(yt(vt),Et,xt,vt);return}Et.validators===null&&(Et.validators=[]),Et.validators.push(createClassValidatorObject(xt,yt))},processObjectDefinition=(yt,Et,xt,vt)=>{const bt=Object.entries(yt),At=bt.length;for(let Ft=0;Ft<At;Ft++){const[Ct,wt]=bt[Ft];processClassesRecursively(wt,getPart(Et,Ct),xt,vt)}},getPart=(yt,Et)=>{let xt=yt;const vt=Et.split(CLASS_PART_SEPARATOR),bt=vt.length;for(let At=0;At<bt;At++){const Ft=vt[At];let Ct=xt.nextPart.get(Ft);Ct||(Ct=createClassPartObject(),xt.nextPart.set(Ft,Ct)),xt=Ct}return xt},isThemeGetter=yt=>"isThemeGetter"in yt&&yt.isThemeGetter===!0,createLruCache=yt=>{if(yt<1)return{get:()=>{},set:()=>{}};let Et=0,xt=Object.create(null),vt=Object.create(null);const bt=(At,Ft)=>{xt[At]=Ft,Et++,Et>yt&&(Et=0,vt=xt,xt=Object.create(null))};return{get(At){let Ft=xt[At];if(Ft!==void 0)return Ft;if((Ft=vt[At])!==void 0)return bt(At,Ft),Ft},set(At,Ft){At in xt?xt[At]=Ft:bt(At,Ft)}}},IMPORTANT_MODIFIER="!",MODIFIER_SEPARATOR=":",EMPTY_MODIFIERS=[],createResultObject=(yt,Et,xt,vt,bt)=>({modifiers:yt,hasImportantModifier:Et,baseClassName:xt,maybePostfixModifierPosition:vt,isExternal:bt}),createParseClassName=yt=>{const{prefix:Et,experimentalParseClassName:xt}=yt;let vt=bt=>{const At=[];let Ft=0,Ct=0,wt=0,St;const Tt=bt.length;for(let Ot=0;Ot<Tt;Ot++){const Mt=bt[Ot];if(Ft===0&&Ct===0){if(Mt===MODIFIER_SEPARATOR){At.push(bt.slice(wt,Ot)),wt=Ot+1;continue}if(Mt==="/"){St=Ot;continue}}Mt==="["?Ft++:Mt==="]"?Ft--:Mt==="("?Ct++:Mt===")"&&Ct--}const Rt=At.length===0?bt:bt.slice(wt);let Pt=Rt,Lt=!1;Rt.endsWith(IMPORTANT_MODIFIER)?(Pt=Rt.slice(0,-1),Lt=!0):Rt.startsWith(IMPORTANT_MODIFIER)&&(Pt=Rt.slice(1),Lt=!0);const kt=St&&St>wt?St-wt:void 0;return createResultObject(At,Lt,Pt,kt)};if(Et){const bt=Et+MODIFIER_SEPARATOR,At=vt;vt=Ft=>Ft.startsWith(bt)?At(Ft.slice(bt.length)):createResultObject(EMPTY_MODIFIERS,!1,Ft,void 0,!0)}if(xt){const bt=vt;vt=At=>xt({className:At,parseClassName:bt})}return vt},createSortModifiers=yt=>{const Et=new Map;return yt.orderSensitiveModifiers.forEach((xt,vt)=>{Et.set(xt,1e6+vt)}),xt=>{const vt=[];let bt=[];for(let At=0;At<xt.length;At++){const Ft=xt[At],Ct=Ft[0]==="[",wt=Et.has(Ft);Ct||wt?(bt.length>0&&(bt.sort(),vt.push(...bt),bt=[]),vt.push(Ft)):bt.push(Ft)}return bt.length>0&&(bt.sort(),vt.push(...bt)),vt}},createConfigUtils=yt=>({cache:createLruCache(yt.cacheSize),parseClassName:createParseClassName(yt),sortModifiers:createSortModifiers(yt),...createClassGroupUtils(yt)}),SPLIT_CLASSES_REGEX=/\s+/,mergeClassList=(yt,Et)=>{const{parseClassName:xt,getClassGroupId:vt,getConflictingClassGroupIds:bt,sortModifiers:At}=Et,Ft=[],Ct=yt.trim().split(SPLIT_CLASSES_REGEX);let wt="";for(let St=Ct.length-1;St>=0;St-=1){const Tt=Ct[St],{isExternal:Rt,modifiers:Pt,hasImportantModifier:Lt,baseClassName:kt,maybePostfixModifierPosition:Ot}=xt(Tt);if(Rt){wt=Tt+(wt.length>0?" "+wt:wt);continue}let Mt=!!Ot,It=vt(Mt?kt.substring(0,Ot):kt);if(!It){if(!Mt){wt=Tt+(wt.length>0?" "+wt:wt);continue}if(It=vt(kt),!It){wt=Tt+(wt.length>0?" "+wt:wt);continue}Mt=!1}const Nt=Pt.length===0?"":Pt.length===1?Pt[0]:At(Pt).join(":"),Ut=Lt?Nt+IMPORTANT_MODIFIER:Nt,jt=Ut+It;if(Ft.indexOf(jt)>-1)continue;Ft.push(jt);const Vt=bt(It,Mt);for(let zt=0;zt<Vt.length;++zt){const Ht=Vt[zt];Ft.push(Ut+Ht)}wt=Tt+(wt.length>0?" "+wt:wt)}return wt},twJoin=(...yt)=>{let Et=0,xt,vt,bt="";for(;Et<yt.length;)(xt=yt[Et++])&&(vt=toValue(xt))&&(bt&&(bt+=" "),bt+=vt);return bt},toValue=yt=>{if(typeof yt=="string")return yt;let Et,xt="";for(let vt=0;vt<yt.length;vt++)yt[vt]&&(Et=toValue(yt[vt]))&&(xt&&(xt+=" "),xt+=Et);return xt},createTailwindMerge=(yt,...Et)=>{let xt,vt,bt,At;const Ft=wt=>{const St=Et.reduce((Tt,Rt)=>Rt(Tt),yt());return xt=createConfigUtils(St),vt=xt.cache.get,bt=xt.cache.set,At=Ct,Ct(wt)},Ct=wt=>{const St=vt(wt);if(St)return St;const Tt=mergeClassList(wt,xt);return bt(wt,Tt),Tt};return At=Ft,(...wt)=>At(twJoin(...wt))},fallbackThemeArr=[],fromTheme=yt=>{const Et=xt=>xt[yt]||fallbackThemeArr;return Et.isThemeGetter=!0,Et},arbitraryValueRegex=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,arbitraryVariableRegex=/^\((?:(\w[\w-]*):)?(.+)\)$/i,fractionRegex=/^\d+\/\d+$/,tshirtUnitRegex=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,lengthUnitRegex=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,colorFunctionRegex=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,shadowRegex=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,imageRegex=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,isFraction=yt=>fractionRegex.test(yt),isNumber=yt=>!!yt&&!Number.isNaN(Number(yt)),isInteger=yt=>!!yt&&Number.isInteger(Number(yt)),isPercent=yt=>yt.endsWith("%")&&isNumber(yt.slice(0,-1)),isTshirtSize=yt=>tshirtUnitRegex.test(yt),isAny=()=>!0,isLengthOnly=yt=>lengthUnitRegex.test(yt)&&!colorFunctionRegex.test(yt),isNever=()=>!1,isShadow=yt=>shadowRegex.test(yt),isImage=yt=>imageRegex.test(yt),isAnyNonArbitrary=yt=>!isArbitraryValue(yt)&&!isArbitraryVariable(yt),isArbitrarySize=yt=>getIsArbitraryValue(yt,isLabelSize,isNever),isArbitraryValue=yt=>arbitraryValueRegex.test(yt),isArbitraryLength=yt=>getIsArbitraryValue(yt,isLabelLength,isLengthOnly),isArbitraryNumber=yt=>getIsArbitraryValue(yt,isLabelNumber,isNumber),isArbitraryPosition=yt=>getIsArbitraryValue(yt,isLabelPosition,isNever),isArbitraryImage=yt=>getIsArbitraryValue(yt,isLabelImage,isImage),isArbitraryShadow=yt=>getIsArbitraryValue(yt,isLabelShadow,isShadow),isArbitraryVariable=yt=>arbitraryVariableRegex.test(yt),isArbitraryVariableLength=yt=>getIsArbitraryVariable(yt,isLabelLength),isArbitraryVariableFamilyName=yt=>getIsArbitraryVariable(yt,isLabelFamilyName),isArbitraryVariablePosition=yt=>getIsArbitraryVariable(yt,isLabelPosition),isArbitraryVariableSize=yt=>getIsArbitraryVariable(yt,isLabelSize),isArbitraryVariableImage=yt=>getIsArbitraryVariable(yt,isLabelImage),isArbitraryVariableShadow=yt=>getIsArbitraryVariable(yt,isLabelShadow,!0),getIsArbitraryValue=(yt,Et,xt)=>{const vt=arbitraryValueRegex.exec(yt);return vt?vt[1]?Et(vt[1]):xt(vt[2]):!1},getIsArbitraryVariable=(yt,Et,xt=!1)=>{const vt=arbitraryVariableRegex.exec(yt);return vt?vt[1]?Et(vt[1]):xt:!1},isLabelPosition=yt=>yt==="position"||yt==="percentage",isLabelImage=yt=>yt==="image"||yt==="url",isLabelSize=yt=>yt==="length"||yt==="size"||yt==="bg-size",isLabelLength=yt=>yt==="length",isLabelNumber=yt=>yt==="number",isLabelFamilyName=yt=>yt==="family-name",isLabelShadow=yt=>yt==="shadow",getDefaultConfig=()=>{const yt=fromTheme("color"),Et=fromTheme("font"),xt=fromTheme("text"),vt=fromTheme("font-weight"),bt=fromTheme("tracking"),At=fromTheme("leading"),Ft=fromTheme("breakpoint"),Ct=fromTheme("container"),wt=fromTheme("spacing"),St=fromTheme("radius"),Tt=fromTheme("shadow"),Rt=fromTheme("inset-shadow"),Pt=fromTheme("text-shadow"),Lt=fromTheme("drop-shadow"),kt=fromTheme("blur"),Ot=fromTheme("perspective"),Mt=fromTheme("aspect"),It=fromTheme("ease"),Nt=fromTheme("animate"),Ut=()=>["auto","avoid","all","avoid-page","page","left","right","column"],jt=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],Vt=()=>[...jt(),isArbitraryVariable,isArbitraryValue],zt=()=>["auto","hidden","clip","visible","scroll"],Ht=()=>["auto","contain","none"],Wt=()=>[isArbitraryVariable,isArbitraryValue,wt],Gt=()=>[isFraction,"full","auto",...Wt()],qt=()=>[isInteger,"none","subgrid",isArbitraryVariable,isArbitraryValue],Xt=()=>["auto",{span:["full",isInteger,isArbitraryVariable,isArbitraryValue]},isInteger,isArbitraryVariable,isArbitraryValue],Kt=()=>[isInteger,"auto",isArbitraryVariable,isArbitraryValue],Jt=()=>["auto","min","max","fr",isArbitraryVariable,isArbitraryValue],tn=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],sn=()=>["start","end","center","stretch","center-safe","end-safe"],Zt=()=>["auto",...Wt()],nn=()=>[isFraction,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...Wt()],rn=()=>[yt,isArbitraryVariable,isArbitraryValue],on=()=>[...jt(),isArbitraryVariablePosition,isArbitraryPosition,{position:[isArbitraryVariable,isArbitraryValue]}],ln=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Qt=()=>["auto","cover","contain",isArbitraryVariableSize,isArbitrarySize,{size:[isArbitraryVariable,isArbitraryValue]}],fn=()=>[isPercent,isArbitraryVariableLength,isArbitraryLength],pn=()=>["","none","full",St,isArbitraryVariable,isArbitraryValue],mn=()=>["",isNumber,isArbitraryVariableLength,isArbitraryLength],vn=()=>["solid","dashed","dotted","double"],yn=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],xn=()=>[isNumber,isPercent,isArbitraryVariablePosition,isArbitraryPosition],Mn=()=>["","none",kt,isArbitraryVariable,isArbitraryValue],$n=()=>["none",isNumber,isArbitraryVariable,isArbitraryValue],Rn=()=>["none",isNumber,isArbitraryVariable,isArbitraryValue],Tn=()=>[isNumber,isArbitraryVariable,isArbitraryValue],ir=()=>[isFraction,"full",...Wt()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[isTshirtSize],breakpoint:[isTshirtSize],color:[isAny],container:[isTshirtSize],"drop-shadow":[isTshirtSize],ease:["in","out","in-out"],font:[isAnyNonArbitrary],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[isTshirtSize],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[isTshirtSize],shadow:[isTshirtSize],spacing:["px",isNumber],text:[isTshirtSize],"text-shadow":[isTshirtSize],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",isFraction,isArbitraryValue,isArbitraryVariable,Mt]}],container:["container"],columns:[{columns:[isNumber,isArbitraryValue,isArbitraryVariable,Ct]}],"break-after":[{"break-after":Ut()}],"break-before":[{"break-before":Ut()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:Vt()}],overflow:[{overflow:zt()}],"overflow-x":[{"overflow-x":zt()}],"overflow-y":[{"overflow-y":zt()}],overscroll:[{overscroll:Ht()}],"overscroll-x":[{"overscroll-x":Ht()}],"overscroll-y":[{"overscroll-y":Ht()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:Gt()}],"inset-x":[{"inset-x":Gt()}],"inset-y":[{"inset-y":Gt()}],start:[{start:Gt()}],end:[{end:Gt()}],top:[{top:Gt()}],right:[{right:Gt()}],bottom:[{bottom:Gt()}],left:[{left:Gt()}],visibility:["visible","invisible","collapse"],z:[{z:[isInteger,"auto",isArbitraryVariable,isArbitraryValue]}],basis:[{basis:[isFraction,"full","auto",Ct,...Wt()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[isNumber,isFraction,"auto","initial","none",isArbitraryValue]}],grow:[{grow:["",isNumber,isArbitraryVariable,isArbitraryValue]}],shrink:[{shrink:["",isNumber,isArbitraryVariable,isArbitraryValue]}],order:[{order:[isInteger,"first","last","none",isArbitraryVariable,isArbitraryValue]}],"grid-cols":[{"grid-cols":qt()}],"col-start-end":[{col:Xt()}],"col-start":[{"col-start":Kt()}],"col-end":[{"col-end":Kt()}],"grid-rows":[{"grid-rows":qt()}],"row-start-end":[{row:Xt()}],"row-start":[{"row-start":Kt()}],"row-end":[{"row-end":Kt()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Jt()}],"auto-rows":[{"auto-rows":Jt()}],gap:[{gap:Wt()}],"gap-x":[{"gap-x":Wt()}],"gap-y":[{"gap-y":Wt()}],"justify-content":[{justify:[...tn(),"normal"]}],"justify-items":[{"justify-items":[...sn(),"normal"]}],"justify-self":[{"justify-self":["auto",...sn()]}],"align-content":[{content:["normal",...tn()]}],"align-items":[{items:[...sn(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...sn(),{baseline:["","last"]}]}],"place-content":[{"place-content":tn()}],"place-items":[{"place-items":[...sn(),"baseline"]}],"place-self":[{"place-self":["auto",...sn()]}],p:[{p:Wt()}],px:[{px:Wt()}],py:[{py:Wt()}],ps:[{ps:Wt()}],pe:[{pe:Wt()}],pt:[{pt:Wt()}],pr:[{pr:Wt()}],pb:[{pb:Wt()}],pl:[{pl:Wt()}],m:[{m:Zt()}],mx:[{mx:Zt()}],my:[{my:Zt()}],ms:[{ms:Zt()}],me:[{me:Zt()}],mt:[{mt:Zt()}],mr:[{mr:Zt()}],mb:[{mb:Zt()}],ml:[{ml:Zt()}],"space-x":[{"space-x":Wt()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":Wt()}],"space-y-reverse":["space-y-reverse"],size:[{size:nn()}],w:[{w:[Ct,"screen",...nn()]}],"min-w":[{"min-w":[Ct,"screen","none",...nn()]}],"max-w":[{"max-w":[Ct,"screen","none","prose",{screen:[Ft]},...nn()]}],h:[{h:["screen","lh",...nn()]}],"min-h":[{"min-h":["screen","lh","none",...nn()]}],"max-h":[{"max-h":["screen","lh",...nn()]}],"font-size":[{text:["base",xt,isArbitraryVariableLength,isArbitraryLength]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[vt,isArbitraryVariable,isArbitraryNumber]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",isPercent,isArbitraryValue]}],"font-family":[{font:[isArbitraryVariableFamilyName,isArbitraryValue,Et]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[bt,isArbitraryVariable,isArbitraryValue]}],"line-clamp":[{"line-clamp":[isNumber,"none",isArbitraryVariable,isArbitraryNumber]}],leading:[{leading:[At,...Wt()]}],"list-image":[{"list-image":["none",isArbitraryVariable,isArbitraryValue]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",isArbitraryVariable,isArbitraryValue]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:rn()}],"text-color":[{text:rn()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...vn(),"wavy"]}],"text-decoration-thickness":[{decoration:[isNumber,"from-font","auto",isArbitraryVariable,isArbitraryLength]}],"text-decoration-color":[{decoration:rn()}],"underline-offset":[{"underline-offset":[isNumber,"auto",isArbitraryVariable,isArbitraryValue]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:Wt()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",isArbitraryVariable,isArbitraryValue]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",isArbitraryVariable,isArbitraryValue]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:on()}],"bg-repeat":[{bg:ln()}],"bg-size":[{bg:Qt()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},isInteger,isArbitraryVariable,isArbitraryValue],radial:["",isArbitraryVariable,isArbitraryValue],conic:[isInteger,isArbitraryVariable,isArbitraryValue]},isArbitraryVariableImage,isArbitraryImage]}],"bg-color":[{bg:rn()}],"gradient-from-pos":[{from:fn()}],"gradient-via-pos":[{via:fn()}],"gradient-to-pos":[{to:fn()}],"gradient-from":[{from:rn()}],"gradient-via":[{via:rn()}],"gradient-to":[{to:rn()}],rounded:[{rounded:pn()}],"rounded-s":[{"rounded-s":pn()}],"rounded-e":[{"rounded-e":pn()}],"rounded-t":[{"rounded-t":pn()}],"rounded-r":[{"rounded-r":pn()}],"rounded-b":[{"rounded-b":pn()}],"rounded-l":[{"rounded-l":pn()}],"rounded-ss":[{"rounded-ss":pn()}],"rounded-se":[{"rounded-se":pn()}],"rounded-ee":[{"rounded-ee":pn()}],"rounded-es":[{"rounded-es":pn()}],"rounded-tl":[{"rounded-tl":pn()}],"rounded-tr":[{"rounded-tr":pn()}],"rounded-br":[{"rounded-br":pn()}],"rounded-bl":[{"rounded-bl":pn()}],"border-w":[{border:mn()}],"border-w-x":[{"border-x":mn()}],"border-w-y":[{"border-y":mn()}],"border-w-s":[{"border-s":mn()}],"border-w-e":[{"border-e":mn()}],"border-w-t":[{"border-t":mn()}],"border-w-r":[{"border-r":mn()}],"border-w-b":[{"border-b":mn()}],"border-w-l":[{"border-l":mn()}],"divide-x":[{"divide-x":mn()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":mn()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...vn(),"hidden","none"]}],"divide-style":[{divide:[...vn(),"hidden","none"]}],"border-color":[{border:rn()}],"border-color-x":[{"border-x":rn()}],"border-color-y":[{"border-y":rn()}],"border-color-s":[{"border-s":rn()}],"border-color-e":[{"border-e":rn()}],"border-color-t":[{"border-t":rn()}],"border-color-r":[{"border-r":rn()}],"border-color-b":[{"border-b":rn()}],"border-color-l":[{"border-l":rn()}],"divide-color":[{divide:rn()}],"outline-style":[{outline:[...vn(),"none","hidden"]}],"outline-offset":[{"outline-offset":[isNumber,isArbitraryVariable,isArbitraryValue]}],"outline-w":[{outline:["",isNumber,isArbitraryVariableLength,isArbitraryLength]}],"outline-color":[{outline:rn()}],shadow:[{shadow:["","none",Tt,isArbitraryVariableShadow,isArbitraryShadow]}],"shadow-color":[{shadow:rn()}],"inset-shadow":[{"inset-shadow":["none",Rt,isArbitraryVariableShadow,isArbitraryShadow]}],"inset-shadow-color":[{"inset-shadow":rn()}],"ring-w":[{ring:mn()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:rn()}],"ring-offset-w":[{"ring-offset":[isNumber,isArbitraryLength]}],"ring-offset-color":[{"ring-offset":rn()}],"inset-ring-w":[{"inset-ring":mn()}],"inset-ring-color":[{"inset-ring":rn()}],"text-shadow":[{"text-shadow":["none",Pt,isArbitraryVariableShadow,isArbitraryShadow]}],"text-shadow-color":[{"text-shadow":rn()}],opacity:[{opacity:[isNumber,isArbitraryVariable,isArbitraryValue]}],"mix-blend":[{"mix-blend":[...yn(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":yn()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[isNumber]}],"mask-image-linear-from-pos":[{"mask-linear-from":xn()}],"mask-image-linear-to-pos":[{"mask-linear-to":xn()}],"mask-image-linear-from-color":[{"mask-linear-from":rn()}],"mask-image-linear-to-color":[{"mask-linear-to":rn()}],"mask-image-t-from-pos":[{"mask-t-from":xn()}],"mask-image-t-to-pos":[{"mask-t-to":xn()}],"mask-image-t-from-color":[{"mask-t-from":rn()}],"mask-image-t-to-color":[{"mask-t-to":rn()}],"mask-image-r-from-pos":[{"mask-r-from":xn()}],"mask-image-r-to-pos":[{"mask-r-to":xn()}],"mask-image-r-from-color":[{"mask-r-from":rn()}],"mask-image-r-to-color":[{"mask-r-to":rn()}],"mask-image-b-from-pos":[{"mask-b-from":xn()}],"mask-image-b-to-pos":[{"mask-b-to":xn()}],"mask-image-b-from-color":[{"mask-b-from":rn()}],"mask-image-b-to-color":[{"mask-b-to":rn()}],"mask-image-l-from-pos":[{"mask-l-from":xn()}],"mask-image-l-to-pos":[{"mask-l-to":xn()}],"mask-image-l-from-color":[{"mask-l-from":rn()}],"mask-image-l-to-color":[{"mask-l-to":rn()}],"mask-image-x-from-pos":[{"mask-x-from":xn()}],"mask-image-x-to-pos":[{"mask-x-to":xn()}],"mask-image-x-from-color":[{"mask-x-from":rn()}],"mask-image-x-to-color":[{"mask-x-to":rn()}],"mask-image-y-from-pos":[{"mask-y-from":xn()}],"mask-image-y-to-pos":[{"mask-y-to":xn()}],"mask-image-y-from-color":[{"mask-y-from":rn()}],"mask-image-y-to-color":[{"mask-y-to":rn()}],"mask-image-radial":[{"mask-radial":[isArbitraryVariable,isArbitraryValue]}],"mask-image-radial-from-pos":[{"mask-radial-from":xn()}],"mask-image-radial-to-pos":[{"mask-radial-to":xn()}],"mask-image-radial-from-color":[{"mask-radial-from":rn()}],"mask-image-radial-to-color":[{"mask-radial-to":rn()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":jt()}],"mask-image-conic-pos":[{"mask-conic":[isNumber]}],"mask-image-conic-from-pos":[{"mask-conic-from":xn()}],"mask-image-conic-to-pos":[{"mask-conic-to":xn()}],"mask-image-conic-from-color":[{"mask-conic-from":rn()}],"mask-image-conic-to-color":[{"mask-conic-to":rn()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:on()}],"mask-repeat":[{mask:ln()}],"mask-size":[{mask:Qt()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",isArbitraryVariable,isArbitraryValue]}],filter:[{filter:["","none",isArbitraryVariable,isArbitraryValue]}],blur:[{blur:Mn()}],brightness:[{brightness:[isNumber,isArbitraryVariable,isArbitraryValue]}],contrast:[{contrast:[isNumber,isArbitraryVariable,isArbitraryValue]}],"drop-shadow":[{"drop-shadow":["","none",Lt,isArbitraryVariableShadow,isArbitraryShadow]}],"drop-shadow-color":[{"drop-shadow":rn()}],grayscale:[{grayscale:["",isNumber,isArbitraryVariable,isArbitraryValue]}],"hue-rotate":[{"hue-rotate":[isNumber,isArbitraryVariable,isArbitraryValue]}],invert:[{invert:["",isNumber,isArbitraryVariable,isArbitraryValue]}],saturate:[{saturate:[isNumber,isArbitraryVariable,isArbitraryValue]}],sepia:[{sepia:["",isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-filter":[{"backdrop-filter":["","none",isArbitraryVariable,isArbitraryValue]}],"backdrop-blur":[{"backdrop-blur":Mn()}],"backdrop-brightness":[{"backdrop-brightness":[isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-contrast":[{"backdrop-contrast":[isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-grayscale":[{"backdrop-grayscale":["",isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-invert":[{"backdrop-invert":["",isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-opacity":[{"backdrop-opacity":[isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-saturate":[{"backdrop-saturate":[isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-sepia":[{"backdrop-sepia":["",isNumber,isArbitraryVariable,isArbitraryValue]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":Wt()}],"border-spacing-x":[{"border-spacing-x":Wt()}],"border-spacing-y":[{"border-spacing-y":Wt()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",isArbitraryVariable,isArbitraryValue]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[isNumber,"initial",isArbitraryVariable,isArbitraryValue]}],ease:[{ease:["linear","initial",It,isArbitraryVariable,isArbitraryValue]}],delay:[{delay:[isNumber,isArbitraryVariable,isArbitraryValue]}],animate:[{animate:["none",Nt,isArbitraryVariable,isArbitraryValue]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[Ot,isArbitraryVariable,isArbitraryValue]}],"perspective-origin":[{"perspective-origin":Vt()}],rotate:[{rotate:$n()}],"rotate-x":[{"rotate-x":$n()}],"rotate-y":[{"rotate-y":$n()}],"rotate-z":[{"rotate-z":$n()}],scale:[{scale:Rn()}],"scale-x":[{"scale-x":Rn()}],"scale-y":[{"scale-y":Rn()}],"scale-z":[{"scale-z":Rn()}],"scale-3d":["scale-3d"],skew:[{skew:Tn()}],"skew-x":[{"skew-x":Tn()}],"skew-y":[{"skew-y":Tn()}],transform:[{transform:[isArbitraryVariable,isArbitraryValue,"","none","gpu","cpu"]}],"transform-origin":[{origin:Vt()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ir()}],"translate-x":[{"translate-x":ir()}],"translate-y":[{"translate-y":ir()}],"translate-z":[{"translate-z":ir()}],"translate-none":["translate-none"],accent:[{accent:rn()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:rn()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",isArbitraryVariable,isArbitraryValue]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":Wt()}],"scroll-mx":[{"scroll-mx":Wt()}],"scroll-my":[{"scroll-my":Wt()}],"scroll-ms":[{"scroll-ms":Wt()}],"scroll-me":[{"scroll-me":Wt()}],"scroll-mt":[{"scroll-mt":Wt()}],"scroll-mr":[{"scroll-mr":Wt()}],"scroll-mb":[{"scroll-mb":Wt()}],"scroll-ml":[{"scroll-ml":Wt()}],"scroll-p":[{"scroll-p":Wt()}],"scroll-px":[{"scroll-px":Wt()}],"scroll-py":[{"scroll-py":Wt()}],"scroll-ps":[{"scroll-ps":Wt()}],"scroll-pe":[{"scroll-pe":Wt()}],"scroll-pt":[{"scroll-pt":Wt()}],"scroll-pr":[{"scroll-pr":Wt()}],"scroll-pb":[{"scroll-pb":Wt()}],"scroll-pl":[{"scroll-pl":Wt()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",isArbitraryVariable,isArbitraryValue]}],fill:[{fill:["none",...rn()]}],"stroke-w":[{stroke:[isNumber,isArbitraryVariableLength,isArbitraryLength,isArbitraryNumber]}],stroke:[{stroke:["none",...rn()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},twMerge=createTailwindMerge(getDefaultConfig);function cn(...yt){return twMerge(clsx(yt))}const buttonVariants=cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function Button({className:yt,variant:Et,size:xt,asChild:vt=!1,...bt}){const At=vt?Slot$1:"button";return jsxRuntimeExports.jsx(At,{"data-slot":"button",className:cn(buttonVariants({variant:Et,size:xt,className:yt})),...bt})}function Input$2({className:yt,type:Et,...xt}){return jsxRuntimeExports.jsx("input",{type:Et,"data-slot":"input",className:cn("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",yt),...xt})}var reactDomExports=requireReactDom();const ReactDOM=getDefaultExportFromCjs(reactDomExports);var NODES$b=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$b=NODES$b.reduce((yt,Et)=>{const xt=createSlot$c(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{}),NAME$4="Separator",DEFAULT_ORIENTATION="horizontal",ORIENTATIONS=["horizontal","vertical"],Separator$1=reactExports.forwardRef((yt,Et)=>{const{decorative:xt,orientation:vt=DEFAULT_ORIENTATION,...bt}=yt,At=isValidOrientation(vt)?vt:DEFAULT_ORIENTATION,Ct=xt?{role:"none"}:{"aria-orientation":At==="vertical"?At:void 0,role:"separator"};return jsxRuntimeExports.jsx(Primitive$b.div,{"data-orientation":At,...Ct,...bt,ref:Et})});Separator$1.displayName=NAME$4;function isValidOrientation(yt){return ORIENTATIONS.includes(yt)}var Root$6=Separator$1;function Separator({className:yt,orientation:Et="horizontal",decorative:xt=!0,...vt}){return jsxRuntimeExports.jsx(Root$6,{"data-slot":"separator",decorative:xt,orientation:Et,className:cn("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",yt),...vt})}function composeEventHandlers(yt,Et,{checkForDefaultPrevented:xt=!0}={}){return function(bt){if(yt?.(bt),xt===!1||!bt.defaultPrevented)return Et?.(bt)}}function createContextScope$6(yt,Et=[]){let xt=[];function vt(At,Ft){const Ct=reactExports.createContext(Ft),wt=xt.length;xt=[...xt,Ft];const St=Rt=>{const{scope:Pt,children:Lt,...kt}=Rt,Ot=Pt?.[yt]?.[wt]||Ct,Mt=reactExports.useMemo(()=>kt,Object.values(kt));return jsxRuntimeExports.jsx(Ot.Provider,{value:Mt,children:Lt})};St.displayName=At+"Provider";function Tt(Rt,Pt){const Lt=Pt?.[yt]?.[wt]||Ct,kt=reactExports.useContext(Lt);if(kt)return kt;if(Ft!==void 0)return Ft;throw new Error(`\`${Rt}\` must be used within \`${At}\``)}return[St,Tt]}const bt=()=>{const At=xt.map(Ft=>reactExports.createContext(Ft));return function(Ct){const wt=Ct?.[yt]||At;return reactExports.useMemo(()=>({[`__scope${yt}`]:{...Ct,[yt]:wt}}),[Ct,wt])}};return bt.scopeName=yt,[vt,composeContextScopes$6(bt,...Et)]}function composeContextScopes$6(...yt){const Et=yt[0];if(yt.length===1)return Et;const xt=()=>{const vt=yt.map(bt=>({useScope:bt(),scopeName:bt.scopeName}));return function(At){const Ft=vt.reduce((Ct,{useScope:wt,scopeName:St})=>{const Rt=wt(At)[`__scope${St}`];return{...Ct,...Rt}},{});return reactExports.useMemo(()=>({[`__scope${Et.scopeName}`]:Ft}),[Ft])}};return xt.scopeName=Et.scopeName,xt}function createSlot$b(yt){const Et=createSlotClone$b(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$b);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$b(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$c(bt),Ct=mergeProps$b(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$b=Symbol("radix.slottable");function isSlottable$b(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$b}function mergeProps$b(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$c(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}var NODES$a=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$a=NODES$a.reduce((yt,Et)=>{const xt=createSlot$b(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{});function dispatchDiscreteCustomEvent(yt,Et){yt&&reactDomExports.flushSync(()=>yt.dispatchEvent(Et))}function useCallbackRef$2(yt){const Et=reactExports.useRef(yt);return reactExports.useEffect(()=>{Et.current=yt}),reactExports.useMemo(()=>(...xt)=>Et.current?.(...xt),[])}function useEscapeKeydown(yt,Et=globalThis?.document){const xt=useCallbackRef$2(yt);reactExports.useEffect(()=>{const vt=bt=>{bt.key==="Escape"&&xt(bt)};return Et.addEventListener("keydown",vt,{capture:!0}),()=>Et.removeEventListener("keydown",vt,{capture:!0})},[xt,Et])}var DISMISSABLE_LAYER_NAME="DismissableLayer",CONTEXT_UPDATE="dismissableLayer.update",POINTER_DOWN_OUTSIDE="dismissableLayer.pointerDownOutside",FOCUS_OUTSIDE="dismissableLayer.focusOutside",originalBodyPointerEvents,DismissableLayerContext=reactExports.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),DismissableLayer=reactExports.forwardRef((yt,Et)=>{const{disableOutsidePointerEvents:xt=!1,onEscapeKeyDown:vt,onPointerDownOutside:bt,onFocusOutside:At,onInteractOutside:Ft,onDismiss:Ct,...wt}=yt,St=reactExports.useContext(DismissableLayerContext),[Tt,Rt]=reactExports.useState(null),Pt=Tt?.ownerDocument??globalThis?.document,[,Lt]=reactExports.useState({}),kt=useComposedRefs(Et,Ht=>Rt(Ht)),Ot=Array.from(St.layers),[Mt]=[...St.layersWithOutsidePointerEventsDisabled].slice(-1),It=Ot.indexOf(Mt),Nt=Tt?Ot.indexOf(Tt):-1,Ut=St.layersWithOutsidePointerEventsDisabled.size>0,jt=Nt>=It,Vt=usePointerDownOutside(Ht=>{const Wt=Ht.target,Gt=[...St.branches].some(qt=>qt.contains(Wt));!jt||Gt||(bt?.(Ht),Ft?.(Ht),Ht.defaultPrevented||Ct?.())},Pt),zt=useFocusOutside(Ht=>{const Wt=Ht.target;[...St.branches].some(qt=>qt.contains(Wt))||(At?.(Ht),Ft?.(Ht),Ht.defaultPrevented||Ct?.())},Pt);return useEscapeKeydown(Ht=>{Nt===St.layers.size-1&&(vt?.(Ht),!Ht.defaultPrevented&&Ct&&(Ht.preventDefault(),Ct()))},Pt),reactExports.useEffect(()=>{if(Tt)return xt&&(St.layersWithOutsidePointerEventsDisabled.size===0&&(originalBodyPointerEvents=Pt.body.style.pointerEvents,Pt.body.style.pointerEvents="none"),St.layersWithOutsidePointerEventsDisabled.add(Tt)),St.layers.add(Tt),dispatchUpdate(),()=>{xt&&St.layersWithOutsidePointerEventsDisabled.size===1&&(Pt.body.style.pointerEvents=originalBodyPointerEvents)}},[Tt,Pt,xt,St]),reactExports.useEffect(()=>()=>{Tt&&(St.layers.delete(Tt),St.layersWithOutsidePointerEventsDisabled.delete(Tt),dispatchUpdate())},[Tt,St]),reactExports.useEffect(()=>{const Ht=()=>Lt({});return document.addEventListener(CONTEXT_UPDATE,Ht),()=>document.removeEventListener(CONTEXT_UPDATE,Ht)},[]),jsxRuntimeExports.jsx(Primitive$a.div,{...wt,ref:kt,style:{pointerEvents:Ut?jt?"auto":"none":void 0,...yt.style},onFocusCapture:composeEventHandlers(yt.onFocusCapture,zt.onFocusCapture),onBlurCapture:composeEventHandlers(yt.onBlurCapture,zt.onBlurCapture),onPointerDownCapture:composeEventHandlers(yt.onPointerDownCapture,Vt.onPointerDownCapture)})});DismissableLayer.displayName=DISMISSABLE_LAYER_NAME;var BRANCH_NAME="DismissableLayerBranch",DismissableLayerBranch=reactExports.forwardRef((yt,Et)=>{const xt=reactExports.useContext(DismissableLayerContext),vt=reactExports.useRef(null),bt=useComposedRefs(Et,vt);return reactExports.useEffect(()=>{const At=vt.current;if(At)return xt.branches.add(At),()=>{xt.branches.delete(At)}},[xt.branches]),jsxRuntimeExports.jsx(Primitive$a.div,{...yt,ref:bt})});DismissableLayerBranch.displayName=BRANCH_NAME;function usePointerDownOutside(yt,Et=globalThis?.document){const xt=useCallbackRef$2(yt),vt=reactExports.useRef(!1),bt=reactExports.useRef(()=>{});return reactExports.useEffect(()=>{const At=Ct=>{if(Ct.target&&!vt.current){let wt=function(){handleAndDispatchCustomEvent(POINTER_DOWN_OUTSIDE,xt,St,{discrete:!0})};const St={originalEvent:Ct};Ct.pointerType==="touch"?(Et.removeEventListener("click",bt.current),bt.current=wt,Et.addEventListener("click",bt.current,{once:!0})):wt()}else Et.removeEventListener("click",bt.current);vt.current=!1},Ft=window.setTimeout(()=>{Et.addEventListener("pointerdown",At)},0);return()=>{window.clearTimeout(Ft),Et.removeEventListener("pointerdown",At),Et.removeEventListener("click",bt.current)}},[Et,xt]),{onPointerDownCapture:()=>vt.current=!0}}function useFocusOutside(yt,Et=globalThis?.document){const xt=useCallbackRef$2(yt),vt=reactExports.useRef(!1);return reactExports.useEffect(()=>{const bt=At=>{At.target&&!vt.current&&handleAndDispatchCustomEvent(FOCUS_OUTSIDE,xt,{originalEvent:At},{discrete:!1})};return Et.addEventListener("focusin",bt),()=>Et.removeEventListener("focusin",bt)},[Et,xt]),{onFocusCapture:()=>vt.current=!0,onBlurCapture:()=>vt.current=!1}}function dispatchUpdate(){const yt=new CustomEvent(CONTEXT_UPDATE);document.dispatchEvent(yt)}function handleAndDispatchCustomEvent(yt,Et,xt,{discrete:vt}){const bt=xt.originalEvent.target,At=new CustomEvent(yt,{bubbles:!1,cancelable:!0,detail:xt});Et&&bt.addEventListener(yt,Et,{once:!0}),vt?dispatchDiscreteCustomEvent(bt,At):bt.dispatchEvent(At)}var useLayoutEffect2=globalThis?.document?reactExports.useLayoutEffect:()=>{},useReactId=React$1[" useId ".trim().toString()]||(()=>{}),count$2=0;function useId(yt){const[Et,xt]=reactExports.useState(useReactId());return useLayoutEffect2(()=>{xt(vt=>vt??String(count$2++))},[yt]),Et?`radix-${Et}`:""}const sides=["top","right","bottom","left"],min=Math.min,max=Math.max,round$1=Math.round,floor=Math.floor,createCoords=yt=>({x:yt,y:yt}),oppositeSideMap={left:"right",right:"left",bottom:"top",top:"bottom"},oppositeAlignmentMap={start:"end",end:"start"};function clamp$5(yt,Et,xt){return max(yt,min(Et,xt))}function evaluate(yt,Et){return typeof yt=="function"?yt(Et):yt}function getSide(yt){return yt.split("-")[0]}function getAlignment(yt){return yt.split("-")[1]}function getOppositeAxis(yt){return yt==="x"?"y":"x"}function getAxisLength(yt){return yt==="y"?"height":"width"}const yAxisSides=new Set(["top","bottom"]);function getSideAxis(yt){return yAxisSides.has(getSide(yt))?"y":"x"}function getAlignmentAxis(yt){return getOppositeAxis(getSideAxis(yt))}function getAlignmentSides(yt,Et,xt){xt===void 0&&(xt=!1);const vt=getAlignment(yt),bt=getAlignmentAxis(yt),At=getAxisLength(bt);let Ft=bt==="x"?vt===(xt?"end":"start")?"right":"left":vt==="start"?"bottom":"top";return Et.reference[At]>Et.floating[At]&&(Ft=getOppositePlacement(Ft)),[Ft,getOppositePlacement(Ft)]}function getExpandedPlacements(yt){const Et=getOppositePlacement(yt);return[getOppositeAlignmentPlacement(yt),Et,getOppositeAlignmentPlacement(Et)]}function getOppositeAlignmentPlacement(yt){return yt.replace(/start|end/g,Et=>oppositeAlignmentMap[Et])}const lrPlacement=["left","right"],rlPlacement=["right","left"],tbPlacement=["top","bottom"],btPlacement=["bottom","top"];function getSideList(yt,Et,xt){switch(yt){case"top":case"bottom":return xt?Et?rlPlacement:lrPlacement:Et?lrPlacement:rlPlacement;case"left":case"right":return Et?tbPlacement:btPlacement;default:return[]}}function getOppositeAxisPlacements(yt,Et,xt,vt){const bt=getAlignment(yt);let At=getSideList(getSide(yt),xt==="start",vt);return bt&&(At=At.map(Ft=>Ft+"-"+bt),Et&&(At=At.concat(At.map(getOppositeAlignmentPlacement)))),At}function getOppositePlacement(yt){return yt.replace(/left|right|bottom|top/g,Et=>oppositeSideMap[Et])}function expandPaddingObject(yt){return{top:0,right:0,bottom:0,left:0,...yt}}function getPaddingObject$1(yt){return typeof yt!="number"?expandPaddingObject(yt):{top:yt,right:yt,bottom:yt,left:yt}}function rectToClientRect(yt){const{x:Et,y:xt,width:vt,height:bt}=yt;return{width:vt,height:bt,top:xt,left:Et,right:Et+vt,bottom:xt+bt,x:Et,y:xt}}function computeCoordsFromPlacement(yt,Et,xt){let{reference:vt,floating:bt}=yt;const At=getSideAxis(Et),Ft=getAlignmentAxis(Et),Ct=getAxisLength(Ft),wt=getSide(Et),St=At==="y",Tt=vt.x+vt.width/2-bt.width/2,Rt=vt.y+vt.height/2-bt.height/2,Pt=vt[Ct]/2-bt[Ct]/2;let Lt;switch(wt){case"top":Lt={x:Tt,y:vt.y-bt.height};break;case"bottom":Lt={x:Tt,y:vt.y+vt.height};break;case"right":Lt={x:vt.x+vt.width,y:Rt};break;case"left":Lt={x:vt.x-bt.width,y:Rt};break;default:Lt={x:vt.x,y:vt.y}}switch(getAlignment(Et)){case"start":Lt[Ft]-=Pt*(xt&&St?-1:1);break;case"end":Lt[Ft]+=Pt*(xt&&St?-1:1);break}return Lt}async function detectOverflow(yt,Et){var xt;Et===void 0&&(Et={});const{x:vt,y:bt,platform:At,rects:Ft,elements:Ct,strategy:wt}=yt,{boundary:St="clippingAncestors",rootBoundary:Tt="viewport",elementContext:Rt="floating",altBoundary:Pt=!1,padding:Lt=0}=evaluate(Et,yt),kt=getPaddingObject$1(Lt),Mt=Ct[Pt?Rt==="floating"?"reference":"floating":Rt],It=rectToClientRect(await At.getClippingRect({element:(xt=await(At.isElement==null?void 0:At.isElement(Mt)))==null||xt?Mt:Mt.contextElement||await(At.getDocumentElement==null?void 0:At.getDocumentElement(Ct.floating)),boundary:St,rootBoundary:Tt,strategy:wt})),Nt=Rt==="floating"?{x:vt,y:bt,width:Ft.floating.width,height:Ft.floating.height}:Ft.reference,Ut=await(At.getOffsetParent==null?void 0:At.getOffsetParent(Ct.floating)),jt=await(At.isElement==null?void 0:At.isElement(Ut))?await(At.getScale==null?void 0:At.getScale(Ut))||{x:1,y:1}:{x:1,y:1},Vt=rectToClientRect(At.convertOffsetParentRelativeRectToViewportRelativeRect?await At.convertOffsetParentRelativeRectToViewportRelativeRect({elements:Ct,rect:Nt,offsetParent:Ut,strategy:wt}):Nt);return{top:(It.top-Vt.top+kt.top)/jt.y,bottom:(Vt.bottom-It.bottom+kt.bottom)/jt.y,left:(It.left-Vt.left+kt.left)/jt.x,right:(Vt.right-It.right+kt.right)/jt.x}}const computePosition$1=async(yt,Et,xt)=>{const{placement:vt="bottom",strategy:bt="absolute",middleware:At=[],platform:Ft}=xt,Ct=At.filter(Boolean),wt=await(Ft.isRTL==null?void 0:Ft.isRTL(Et));let St=await Ft.getElementRects({reference:yt,floating:Et,strategy:bt}),{x:Tt,y:Rt}=computeCoordsFromPlacement(St,vt,wt),Pt=vt,Lt={},kt=0;for(let Mt=0;Mt<Ct.length;Mt++){var Ot;const{name:It,fn:Nt}=Ct[Mt],{x:Ut,y:jt,data:Vt,reset:zt}=await Nt({x:Tt,y:Rt,initialPlacement:vt,placement:Pt,strategy:bt,middlewareData:Lt,rects:St,platform:{...Ft,detectOverflow:(Ot=Ft.detectOverflow)!=null?Ot:detectOverflow},elements:{reference:yt,floating:Et}});Tt=Ut??Tt,Rt=jt??Rt,Lt={...Lt,[It]:{...Lt[It],...Vt}},zt&&kt<=50&&(kt++,typeof zt=="object"&&(zt.placement&&(Pt=zt.placement),zt.rects&&(St=zt.rects===!0?await Ft.getElementRects({reference:yt,floating:Et,strategy:bt}):zt.rects),{x:Tt,y:Rt}=computeCoordsFromPlacement(St,Pt,wt)),Mt=-1)}return{x:Tt,y:Rt,placement:Pt,strategy:bt,middlewareData:Lt}},arrow$3=yt=>({name:"arrow",options:yt,async fn(Et){const{x:xt,y:vt,placement:bt,rects:At,platform:Ft,elements:Ct,middlewareData:wt}=Et,{element:St,padding:Tt=0}=evaluate(yt,Et)||{};if(St==null)return{};const Rt=getPaddingObject$1(Tt),Pt={x:xt,y:vt},Lt=getAlignmentAxis(bt),kt=getAxisLength(Lt),Ot=await Ft.getDimensions(St),Mt=Lt==="y",It=Mt?"top":"left",Nt=Mt?"bottom":"right",Ut=Mt?"clientHeight":"clientWidth",jt=At.reference[kt]+At.reference[Lt]-Pt[Lt]-At.floating[kt],Vt=Pt[Lt]-At.reference[Lt],zt=await(Ft.getOffsetParent==null?void 0:Ft.getOffsetParent(St));let Ht=zt?zt[Ut]:0;(!Ht||!await(Ft.isElement==null?void 0:Ft.isElement(zt)))&&(Ht=Ct.floating[Ut]||At.floating[kt]);const Wt=jt/2-Vt/2,Gt=Ht/2-Ot[kt]/2-1,qt=min(Rt[It],Gt),Xt=min(Rt[Nt],Gt),Kt=qt,Jt=Ht-Ot[kt]-Xt,tn=Ht/2-Ot[kt]/2+Wt,sn=clamp$5(Kt,tn,Jt),Zt=!wt.arrow&&getAlignment(bt)!=null&&tn!==sn&&At.reference[kt]/2-(tn<Kt?qt:Xt)-Ot[kt]/2<0,nn=Zt?tn<Kt?tn-Kt:tn-Jt:0;return{[Lt]:Pt[Lt]+nn,data:{[Lt]:sn,centerOffset:tn-sn-nn,...Zt&&{alignmentOffset:nn}},reset:Zt}}}),flip$2=function(yt){return yt===void 0&&(yt={}),{name:"flip",options:yt,async fn(Et){var xt,vt;const{placement:bt,middlewareData:At,rects:Ft,initialPlacement:Ct,platform:wt,elements:St}=Et,{mainAxis:Tt=!0,crossAxis:Rt=!0,fallbackPlacements:Pt,fallbackStrategy:Lt="bestFit",fallbackAxisSideDirection:kt="none",flipAlignment:Ot=!0,...Mt}=evaluate(yt,Et);if((xt=At.arrow)!=null&&xt.alignmentOffset)return{};const It=getSide(bt),Nt=getSideAxis(Ct),Ut=getSide(Ct)===Ct,jt=await(wt.isRTL==null?void 0:wt.isRTL(St.floating)),Vt=Pt||(Ut||!Ot?[getOppositePlacement(Ct)]:getExpandedPlacements(Ct)),zt=kt!=="none";!Pt&&zt&&Vt.push(...getOppositeAxisPlacements(Ct,Ot,kt,jt));const Ht=[Ct,...Vt],Wt=await wt.detectOverflow(Et,Mt),Gt=[];let qt=((vt=At.flip)==null?void 0:vt.overflows)||[];if(Tt&&Gt.push(Wt[It]),Rt){const tn=getAlignmentSides(bt,Ft,jt);Gt.push(Wt[tn[0]],Wt[tn[1]])}if(qt=[...qt,{placement:bt,overflows:Gt}],!Gt.every(tn=>tn<=0)){var Xt,Kt;const tn=(((Xt=At.flip)==null?void 0:Xt.index)||0)+1,sn=Ht[tn];if(sn&&(!(Rt==="alignment"?Nt!==getSideAxis(sn):!1)||qt.every(rn=>getSideAxis(rn.placement)===Nt?rn.overflows[0]>0:!0)))return{data:{index:tn,overflows:qt},reset:{placement:sn}};let Zt=(Kt=qt.filter(nn=>nn.overflows[0]<=0).sort((nn,rn)=>nn.overflows[1]-rn.overflows[1])[0])==null?void 0:Kt.placement;if(!Zt)switch(Lt){case"bestFit":{var Jt;const nn=(Jt=qt.filter(rn=>{if(zt){const on=getSideAxis(rn.placement);return on===Nt||on==="y"}return!0}).map(rn=>[rn.placement,rn.overflows.filter(on=>on>0).reduce((on,ln)=>on+ln,0)]).sort((rn,on)=>rn[1]-on[1])[0])==null?void 0:Jt[0];nn&&(Zt=nn);break}case"initialPlacement":Zt=Ct;break}if(bt!==Zt)return{reset:{placement:Zt}}}return{}}}};function getSideOffsets(yt,Et){return{top:yt.top-Et.height,right:yt.right-Et.width,bottom:yt.bottom-Et.height,left:yt.left-Et.width}}function isAnySideFullyClipped(yt){return sides.some(Et=>yt[Et]>=0)}const hide$2=function(yt){return yt===void 0&&(yt={}),{name:"hide",options:yt,async fn(Et){const{rects:xt,platform:vt}=Et,{strategy:bt="referenceHidden",...At}=evaluate(yt,Et);switch(bt){case"referenceHidden":{const Ft=await vt.detectOverflow(Et,{...At,elementContext:"reference"}),Ct=getSideOffsets(Ft,xt.reference);return{data:{referenceHiddenOffsets:Ct,referenceHidden:isAnySideFullyClipped(Ct)}}}case"escaped":{const Ft=await vt.detectOverflow(Et,{...At,altBoundary:!0}),Ct=getSideOffsets(Ft,xt.floating);return{data:{escapedOffsets:Ct,escaped:isAnySideFullyClipped(Ct)}}}default:return{}}}}},originSides=new Set(["left","top"]);async function convertValueToCoords(yt,Et){const{placement:xt,platform:vt,elements:bt}=yt,At=await(vt.isRTL==null?void 0:vt.isRTL(bt.floating)),Ft=getSide(xt),Ct=getAlignment(xt),wt=getSideAxis(xt)==="y",St=originSides.has(Ft)?-1:1,Tt=At&&wt?-1:1,Rt=evaluate(Et,yt);let{mainAxis:Pt,crossAxis:Lt,alignmentAxis:kt}=typeof Rt=="number"?{mainAxis:Rt,crossAxis:0,alignmentAxis:null}:{mainAxis:Rt.mainAxis||0,crossAxis:Rt.crossAxis||0,alignmentAxis:Rt.alignmentAxis};return Ct&&typeof kt=="number"&&(Lt=Ct==="end"?kt*-1:kt),wt?{x:Lt*Tt,y:Pt*St}:{x:Pt*St,y:Lt*Tt}}const offset$2=function(yt){return yt===void 0&&(yt=0),{name:"offset",options:yt,async fn(Et){var xt,vt;const{x:bt,y:At,placement:Ft,middlewareData:Ct}=Et,wt=await convertValueToCoords(Et,yt);return Ft===((xt=Ct.offset)==null?void 0:xt.placement)&&(vt=Ct.arrow)!=null&&vt.alignmentOffset?{}:{x:bt+wt.x,y:At+wt.y,data:{...wt,placement:Ft}}}}},shift$2=function(yt){return yt===void 0&&(yt={}),{name:"shift",options:yt,async fn(Et){const{x:xt,y:vt,placement:bt,platform:At}=Et,{mainAxis:Ft=!0,crossAxis:Ct=!1,limiter:wt={fn:It=>{let{x:Nt,y:Ut}=It;return{x:Nt,y:Ut}}},...St}=evaluate(yt,Et),Tt={x:xt,y:vt},Rt=await At.detectOverflow(Et,St),Pt=getSideAxis(getSide(bt)),Lt=getOppositeAxis(Pt);let kt=Tt[Lt],Ot=Tt[Pt];if(Ft){const It=Lt==="y"?"top":"left",Nt=Lt==="y"?"bottom":"right",Ut=kt+Rt[It],jt=kt-Rt[Nt];kt=clamp$5(Ut,kt,jt)}if(Ct){const It=Pt==="y"?"top":"left",Nt=Pt==="y"?"bottom":"right",Ut=Ot+Rt[It],jt=Ot-Rt[Nt];Ot=clamp$5(Ut,Ot,jt)}const Mt=wt.fn({...Et,[Lt]:kt,[Pt]:Ot});return{...Mt,data:{x:Mt.x-xt,y:Mt.y-vt,enabled:{[Lt]:Ft,[Pt]:Ct}}}}}},limitShift$2=function(yt){return yt===void 0&&(yt={}),{options:yt,fn(Et){const{x:xt,y:vt,placement:bt,rects:At,middlewareData:Ft}=Et,{offset:Ct=0,mainAxis:wt=!0,crossAxis:St=!0}=evaluate(yt,Et),Tt={x:xt,y:vt},Rt=getSideAxis(bt),Pt=getOppositeAxis(Rt);let Lt=Tt[Pt],kt=Tt[Rt];const Ot=evaluate(Ct,Et),Mt=typeof Ot=="number"?{mainAxis:Ot,crossAxis:0}:{mainAxis:0,crossAxis:0,...Ot};if(wt){const Ut=Pt==="y"?"height":"width",jt=At.reference[Pt]-At.floating[Ut]+Mt.mainAxis,Vt=At.reference[Pt]+At.reference[Ut]-Mt.mainAxis;Lt<jt?Lt=jt:Lt>Vt&&(Lt=Vt)}if(St){var It,Nt;const Ut=Pt==="y"?"width":"height",jt=originSides.has(getSide(bt)),Vt=At.reference[Rt]-At.floating[Ut]+(jt&&((It=Ft.offset)==null?void 0:It[Rt])||0)+(jt?0:Mt.crossAxis),zt=At.reference[Rt]+At.reference[Ut]+(jt?0:((Nt=Ft.offset)==null?void 0:Nt[Rt])||0)-(jt?Mt.crossAxis:0);kt<Vt?kt=Vt:kt>zt&&(kt=zt)}return{[Pt]:Lt,[Rt]:kt}}}},size$2=function(yt){return yt===void 0&&(yt={}),{name:"size",options:yt,async fn(Et){var xt,vt;const{placement:bt,rects:At,platform:Ft,elements:Ct}=Et,{apply:wt=()=>{},...St}=evaluate(yt,Et),Tt=await Ft.detectOverflow(Et,St),Rt=getSide(bt),Pt=getAlignment(bt),Lt=getSideAxis(bt)==="y",{width:kt,height:Ot}=At.floating;let Mt,It;Rt==="top"||Rt==="bottom"?(Mt=Rt,It=Pt===(await(Ft.isRTL==null?void 0:Ft.isRTL(Ct.floating))?"start":"end")?"left":"right"):(It=Rt,Mt=Pt==="end"?"top":"bottom");const Nt=Ot-Tt.top-Tt.bottom,Ut=kt-Tt.left-Tt.right,jt=min(Ot-Tt[Mt],Nt),Vt=min(kt-Tt[It],Ut),zt=!Et.middlewareData.shift;let Ht=jt,Wt=Vt;if((xt=Et.middlewareData.shift)!=null&&xt.enabled.x&&(Wt=Ut),(vt=Et.middlewareData.shift)!=null&&vt.enabled.y&&(Ht=Nt),zt&&!Pt){const qt=max(Tt.left,0),Xt=max(Tt.right,0),Kt=max(Tt.top,0),Jt=max(Tt.bottom,0);Lt?Wt=kt-2*(qt!==0||Xt!==0?qt+Xt:max(Tt.left,Tt.right)):Ht=Ot-2*(Kt!==0||Jt!==0?Kt+Jt:max(Tt.top,Tt.bottom))}await wt({...Et,availableWidth:Wt,availableHeight:Ht});const Gt=await Ft.getDimensions(Ct.floating);return kt!==Gt.width||Ot!==Gt.height?{reset:{rects:!0}}:{}}}};function hasWindow(){return typeof window<"u"}function getNodeName(yt){return isNode(yt)?(yt.nodeName||"").toLowerCase():"#document"}function getWindow(yt){var Et;return(yt==null||(Et=yt.ownerDocument)==null?void 0:Et.defaultView)||window}function getDocumentElement(yt){var Et;return(Et=(isNode(yt)?yt.ownerDocument:yt.document)||window.document)==null?void 0:Et.documentElement}function isNode(yt){return hasWindow()?yt instanceof Node||yt instanceof getWindow(yt).Node:!1}function isElement(yt){return hasWindow()?yt instanceof Element||yt instanceof getWindow(yt).Element:!1}function isHTMLElement(yt){return hasWindow()?yt instanceof HTMLElement||yt instanceof getWindow(yt).HTMLElement:!1}function isShadowRoot(yt){return!hasWindow()||typeof ShadowRoot>"u"?!1:yt instanceof ShadowRoot||yt instanceof getWindow(yt).ShadowRoot}const invalidOverflowDisplayValues=new Set(["inline","contents"]);function isOverflowElement(yt){const{overflow:Et,overflowX:xt,overflowY:vt,display:bt}=getComputedStyle$1(yt);return/auto|scroll|overlay|hidden|clip/.test(Et+vt+xt)&&!invalidOverflowDisplayValues.has(bt)}const tableElements=new Set(["table","td","th"]);function isTableElement(yt){return tableElements.has(getNodeName(yt))}const topLayerSelectors=[":popover-open",":modal"];function isTopLayer(yt){return topLayerSelectors.some(Et=>{try{return yt.matches(Et)}catch{return!1}})}const transformProperties=["transform","translate","scale","rotate","perspective"],willChangeValues=["transform","translate","scale","rotate","perspective","filter"],containValues=["paint","layout","strict","content"];function isContainingBlock(yt){const Et=isWebKit(),xt=isElement(yt)?getComputedStyle$1(yt):yt;return transformProperties.some(vt=>xt[vt]?xt[vt]!=="none":!1)||(xt.containerType?xt.containerType!=="normal":!1)||!Et&&(xt.backdropFilter?xt.backdropFilter!=="none":!1)||!Et&&(xt.filter?xt.filter!=="none":!1)||willChangeValues.some(vt=>(xt.willChange||"").includes(vt))||containValues.some(vt=>(xt.contain||"").includes(vt))}function getContainingBlock(yt){let Et=getParentNode(yt);for(;isHTMLElement(Et)&&!isLastTraversableNode(Et);){if(isContainingBlock(Et))return Et;if(isTopLayer(Et))return null;Et=getParentNode(Et)}return null}function isWebKit(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const lastTraversableNodeNames=new Set(["html","body","#document"]);function isLastTraversableNode(yt){return lastTraversableNodeNames.has(getNodeName(yt))}function getComputedStyle$1(yt){return getWindow(yt).getComputedStyle(yt)}function getNodeScroll(yt){return isElement(yt)?{scrollLeft:yt.scrollLeft,scrollTop:yt.scrollTop}:{scrollLeft:yt.scrollX,scrollTop:yt.scrollY}}function getParentNode(yt){if(getNodeName(yt)==="html")return yt;const Et=yt.assignedSlot||yt.parentNode||isShadowRoot(yt)&&yt.host||getDocumentElement(yt);return isShadowRoot(Et)?Et.host:Et}function getNearestOverflowAncestor(yt){const Et=getParentNode(yt);return isLastTraversableNode(Et)?yt.ownerDocument?yt.ownerDocument.body:yt.body:isHTMLElement(Et)&&isOverflowElement(Et)?Et:getNearestOverflowAncestor(Et)}function getOverflowAncestors(yt,Et,xt){var vt;Et===void 0&&(Et=[]),xt===void 0&&(xt=!0);const bt=getNearestOverflowAncestor(yt),At=bt===((vt=yt.ownerDocument)==null?void 0:vt.body),Ft=getWindow(bt);if(At){const Ct=getFrameElement(Ft);return Et.concat(Ft,Ft.visualViewport||[],isOverflowElement(bt)?bt:[],Ct&&xt?getOverflowAncestors(Ct):[])}return Et.concat(bt,getOverflowAncestors(bt,[],xt))}function getFrameElement(yt){return yt.parent&&Object.getPrototypeOf(yt.parent)?yt.frameElement:null}function getCssDimensions(yt){const Et=getComputedStyle$1(yt);let xt=parseFloat(Et.width)||0,vt=parseFloat(Et.height)||0;const bt=isHTMLElement(yt),At=bt?yt.offsetWidth:xt,Ft=bt?yt.offsetHeight:vt,Ct=round$1(xt)!==At||round$1(vt)!==Ft;return Ct&&(xt=At,vt=Ft),{width:xt,height:vt,$:Ct}}function unwrapElement(yt){return isElement(yt)?yt:yt.contextElement}function getScale$1(yt){const Et=unwrapElement(yt);if(!isHTMLElement(Et))return createCoords(1);const xt=Et.getBoundingClientRect(),{width:vt,height:bt,$:At}=getCssDimensions(Et);let Ft=(At?round$1(xt.width):xt.width)/vt,Ct=(At?round$1(xt.height):xt.height)/bt;return(!Ft||!Number.isFinite(Ft))&&(Ft=1),(!Ct||!Number.isFinite(Ct))&&(Ct=1),{x:Ft,y:Ct}}const noOffsets=createCoords(0);function getVisualOffsets(yt){const Et=getWindow(yt);return!isWebKit()||!Et.visualViewport?noOffsets:{x:Et.visualViewport.offsetLeft,y:Et.visualViewport.offsetTop}}function shouldAddVisualOffsets(yt,Et,xt){return Et===void 0&&(Et=!1),!xt||Et&&xt!==getWindow(yt)?!1:Et}function getBoundingClientRect(yt,Et,xt,vt){Et===void 0&&(Et=!1),xt===void 0&&(xt=!1);const bt=yt.getBoundingClientRect(),At=unwrapElement(yt);let Ft=createCoords(1);Et&&(vt?isElement(vt)&&(Ft=getScale$1(vt)):Ft=getScale$1(yt));const Ct=shouldAddVisualOffsets(At,xt,vt)?getVisualOffsets(At):createCoords(0);let wt=(bt.left+Ct.x)/Ft.x,St=(bt.top+Ct.y)/Ft.y,Tt=bt.width/Ft.x,Rt=bt.height/Ft.y;if(At){const Pt=getWindow(At),Lt=vt&&isElement(vt)?getWindow(vt):vt;let kt=Pt,Ot=getFrameElement(kt);for(;Ot&&vt&&Lt!==kt;){const Mt=getScale$1(Ot),It=Ot.getBoundingClientRect(),Nt=getComputedStyle$1(Ot),Ut=It.left+(Ot.clientLeft+parseFloat(Nt.paddingLeft))*Mt.x,jt=It.top+(Ot.clientTop+parseFloat(Nt.paddingTop))*Mt.y;wt*=Mt.x,St*=Mt.y,Tt*=Mt.x,Rt*=Mt.y,wt+=Ut,St+=jt,kt=getWindow(Ot),Ot=getFrameElement(kt)}}return rectToClientRect({width:Tt,height:Rt,x:wt,y:St})}function getWindowScrollBarX(yt,Et){const xt=getNodeScroll(yt).scrollLeft;return Et?Et.left+xt:getBoundingClientRect(getDocumentElement(yt)).left+xt}function getHTMLOffset(yt,Et){const xt=yt.getBoundingClientRect(),vt=xt.left+Et.scrollLeft-getWindowScrollBarX(yt,xt),bt=xt.top+Et.scrollTop;return{x:vt,y:bt}}function convertOffsetParentRelativeRectToViewportRelativeRect(yt){let{elements:Et,rect:xt,offsetParent:vt,strategy:bt}=yt;const At=bt==="fixed",Ft=getDocumentElement(vt),Ct=Et?isTopLayer(Et.floating):!1;if(vt===Ft||Ct&&At)return xt;let wt={scrollLeft:0,scrollTop:0},St=createCoords(1);const Tt=createCoords(0),Rt=isHTMLElement(vt);if((Rt||!Rt&&!At)&&((getNodeName(vt)!=="body"||isOverflowElement(Ft))&&(wt=getNodeScroll(vt)),isHTMLElement(vt))){const Lt=getBoundingClientRect(vt);St=getScale$1(vt),Tt.x=Lt.x+vt.clientLeft,Tt.y=Lt.y+vt.clientTop}const Pt=Ft&&!Rt&&!At?getHTMLOffset(Ft,wt):createCoords(0);return{width:xt.width*St.x,height:xt.height*St.y,x:xt.x*St.x-wt.scrollLeft*St.x+Tt.x+Pt.x,y:xt.y*St.y-wt.scrollTop*St.y+Tt.y+Pt.y}}function getClientRects(yt){return Array.from(yt.getClientRects())}function getDocumentRect(yt){const Et=getDocumentElement(yt),xt=getNodeScroll(yt),vt=yt.ownerDocument.body,bt=max(Et.scrollWidth,Et.clientWidth,vt.scrollWidth,vt.clientWidth),At=max(Et.scrollHeight,Et.clientHeight,vt.scrollHeight,vt.clientHeight);let Ft=-xt.scrollLeft+getWindowScrollBarX(yt);const Ct=-xt.scrollTop;return getComputedStyle$1(vt).direction==="rtl"&&(Ft+=max(Et.clientWidth,vt.clientWidth)-bt),{width:bt,height:At,x:Ft,y:Ct}}const SCROLLBAR_MAX=25;function getViewportRect(yt,Et){const xt=getWindow(yt),vt=getDocumentElement(yt),bt=xt.visualViewport;let At=vt.clientWidth,Ft=vt.clientHeight,Ct=0,wt=0;if(bt){At=bt.width,Ft=bt.height;const Tt=isWebKit();(!Tt||Tt&&Et==="fixed")&&(Ct=bt.offsetLeft,wt=bt.offsetTop)}const St=getWindowScrollBarX(vt);if(St<=0){const Tt=vt.ownerDocument,Rt=Tt.body,Pt=getComputedStyle(Rt),Lt=Tt.compatMode==="CSS1Compat"&&parseFloat(Pt.marginLeft)+parseFloat(Pt.marginRight)||0,kt=Math.abs(vt.clientWidth-Rt.clientWidth-Lt);kt<=SCROLLBAR_MAX&&(At-=kt)}else St<=SCROLLBAR_MAX&&(At+=St);return{width:At,height:Ft,x:Ct,y:wt}}const absoluteOrFixed=new Set(["absolute","fixed"]);function getInnerBoundingClientRect(yt,Et){const xt=getBoundingClientRect(yt,!0,Et==="fixed"),vt=xt.top+yt.clientTop,bt=xt.left+yt.clientLeft,At=isHTMLElement(yt)?getScale$1(yt):createCoords(1),Ft=yt.clientWidth*At.x,Ct=yt.clientHeight*At.y,wt=bt*At.x,St=vt*At.y;return{width:Ft,height:Ct,x:wt,y:St}}function getClientRectFromClippingAncestor(yt,Et,xt){let vt;if(Et==="viewport")vt=getViewportRect(yt,xt);else if(Et==="document")vt=getDocumentRect(getDocumentElement(yt));else if(isElement(Et))vt=getInnerBoundingClientRect(Et,xt);else{const bt=getVisualOffsets(yt);vt={x:Et.x-bt.x,y:Et.y-bt.y,width:Et.width,height:Et.height}}return rectToClientRect(vt)}function hasFixedPositionAncestor(yt,Et){const xt=getParentNode(yt);return xt===Et||!isElement(xt)||isLastTraversableNode(xt)?!1:getComputedStyle$1(xt).position==="fixed"||hasFixedPositionAncestor(xt,Et)}function getClippingElementAncestors(yt,Et){const xt=Et.get(yt);if(xt)return xt;let vt=getOverflowAncestors(yt,[],!1).filter(Ct=>isElement(Ct)&&getNodeName(Ct)!=="body"),bt=null;const At=getComputedStyle$1(yt).position==="fixed";let Ft=At?getParentNode(yt):yt;for(;isElement(Ft)&&!isLastTraversableNode(Ft);){const Ct=getComputedStyle$1(Ft),wt=isContainingBlock(Ft);!wt&&Ct.position==="fixed"&&(bt=null),(At?!wt&&!bt:!wt&&Ct.position==="static"&&!!bt&&absoluteOrFixed.has(bt.position)||isOverflowElement(Ft)&&!wt&&hasFixedPositionAncestor(yt,Ft))?vt=vt.filter(Tt=>Tt!==Ft):bt=Ct,Ft=getParentNode(Ft)}return Et.set(yt,vt),vt}function getClippingRect(yt){let{element:Et,boundary:xt,rootBoundary:vt,strategy:bt}=yt;const Ft=[...xt==="clippingAncestors"?isTopLayer(Et)?[]:getClippingElementAncestors(Et,this._c):[].concat(xt),vt],Ct=Ft[0],wt=Ft.reduce((St,Tt)=>{const Rt=getClientRectFromClippingAncestor(Et,Tt,bt);return St.top=max(Rt.top,St.top),St.right=min(Rt.right,St.right),St.bottom=min(Rt.bottom,St.bottom),St.left=max(Rt.left,St.left),St},getClientRectFromClippingAncestor(Et,Ct,bt));return{width:wt.right-wt.left,height:wt.bottom-wt.top,x:wt.left,y:wt.top}}function getDimensions(yt){const{width:Et,height:xt}=getCssDimensions(yt);return{width:Et,height:xt}}function getRectRelativeToOffsetParent(yt,Et,xt){const vt=isHTMLElement(Et),bt=getDocumentElement(Et),At=xt==="fixed",Ft=getBoundingClientRect(yt,!0,At,Et);let Ct={scrollLeft:0,scrollTop:0};const wt=createCoords(0);function St(){wt.x=getWindowScrollBarX(bt)}if(vt||!vt&&!At)if((getNodeName(Et)!=="body"||isOverflowElement(bt))&&(Ct=getNodeScroll(Et)),vt){const Lt=getBoundingClientRect(Et,!0,At,Et);wt.x=Lt.x+Et.clientLeft,wt.y=Lt.y+Et.clientTop}else bt&&St();At&&!vt&&bt&&St();const Tt=bt&&!vt&&!At?getHTMLOffset(bt,Ct):createCoords(0),Rt=Ft.left+Ct.scrollLeft-wt.x-Tt.x,Pt=Ft.top+Ct.scrollTop-wt.y-Tt.y;return{x:Rt,y:Pt,width:Ft.width,height:Ft.height}}function isStaticPositioned(yt){return getComputedStyle$1(yt).position==="static"}function getTrueOffsetParent(yt,Et){if(!isHTMLElement(yt)||getComputedStyle$1(yt).position==="fixed")return null;if(Et)return Et(yt);let xt=yt.offsetParent;return getDocumentElement(yt)===xt&&(xt=xt.ownerDocument.body),xt}function getOffsetParent(yt,Et){const xt=getWindow(yt);if(isTopLayer(yt))return xt;if(!isHTMLElement(yt)){let bt=getParentNode(yt);for(;bt&&!isLastTraversableNode(bt);){if(isElement(bt)&&!isStaticPositioned(bt))return bt;bt=getParentNode(bt)}return xt}let vt=getTrueOffsetParent(yt,Et);for(;vt&&isTableElement(vt)&&isStaticPositioned(vt);)vt=getTrueOffsetParent(vt,Et);return vt&&isLastTraversableNode(vt)&&isStaticPositioned(vt)&&!isContainingBlock(vt)?xt:vt||getContainingBlock(yt)||xt}const getElementRects=async function(yt){const Et=this.getOffsetParent||getOffsetParent,xt=this.getDimensions,vt=await xt(yt.floating);return{reference:getRectRelativeToOffsetParent(yt.reference,await Et(yt.floating),yt.strategy),floating:{x:0,y:0,width:vt.width,height:vt.height}}};function isRTL(yt){return getComputedStyle$1(yt).direction==="rtl"}const platform={convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement,getClippingRect,getOffsetParent,getElementRects,getClientRects,getDimensions,getScale:getScale$1,isElement,isRTL};function rectsAreEqual(yt,Et){return yt.x===Et.x&&yt.y===Et.y&&yt.width===Et.width&&yt.height===Et.height}function observeMove(yt,Et){let xt=null,vt;const bt=getDocumentElement(yt);function At(){var Ct;clearTimeout(vt),(Ct=xt)==null||Ct.disconnect(),xt=null}function Ft(Ct,wt){Ct===void 0&&(Ct=!1),wt===void 0&&(wt=1),At();const St=yt.getBoundingClientRect(),{left:Tt,top:Rt,width:Pt,height:Lt}=St;if(Ct||Et(),!Pt||!Lt)return;const kt=floor(Rt),Ot=floor(bt.clientWidth-(Tt+Pt)),Mt=floor(bt.clientHeight-(Rt+Lt)),It=floor(Tt),Ut={rootMargin:-kt+"px "+-Ot+"px "+-Mt+"px "+-It+"px",threshold:max(0,min(1,wt))||1};let jt=!0;function Vt(zt){const Ht=zt[0].intersectionRatio;if(Ht!==wt){if(!jt)return Ft();Ht?Ft(!1,Ht):vt=setTimeout(()=>{Ft(!1,1e-7)},1e3)}Ht===1&&!rectsAreEqual(St,yt.getBoundingClientRect())&&Ft(),jt=!1}try{xt=new IntersectionObserver(Vt,{...Ut,root:bt.ownerDocument})}catch{xt=new IntersectionObserver(Vt,Ut)}xt.observe(yt)}return Ft(!0),At}function autoUpdate(yt,Et,xt,vt){vt===void 0&&(vt={});const{ancestorScroll:bt=!0,ancestorResize:At=!0,elementResize:Ft=typeof ResizeObserver=="function",layoutShift:Ct=typeof IntersectionObserver=="function",animationFrame:wt=!1}=vt,St=unwrapElement(yt),Tt=bt||At?[...St?getOverflowAncestors(St):[],...getOverflowAncestors(Et)]:[];Tt.forEach(It=>{bt&&It.addEventListener("scroll",xt,{passive:!0}),At&&It.addEventListener("resize",xt)});const Rt=St&&Ct?observeMove(St,xt):null;let Pt=-1,Lt=null;Ft&&(Lt=new ResizeObserver(It=>{let[Nt]=It;Nt&&Nt.target===St&&Lt&&(Lt.unobserve(Et),cancelAnimationFrame(Pt),Pt=requestAnimationFrame(()=>{var Ut;(Ut=Lt)==null||Ut.observe(Et)})),xt()}),St&&!wt&&Lt.observe(St),Lt.observe(Et));let kt,Ot=wt?getBoundingClientRect(yt):null;wt&&Mt();function Mt(){const It=getBoundingClientRect(yt);Ot&&!rectsAreEqual(Ot,It)&&xt(),Ot=It,kt=requestAnimationFrame(Mt)}return xt(),()=>{var It;Tt.forEach(Nt=>{bt&&Nt.removeEventListener("scroll",xt),At&&Nt.removeEventListener("resize",xt)}),Rt?.(),(It=Lt)==null||It.disconnect(),Lt=null,wt&&cancelAnimationFrame(kt)}}const offset$1=offset$2,shift$1=shift$2,flip$1=flip$2,size$1=size$2,hide$1=hide$2,arrow$2=arrow$3,limitShift$1=limitShift$2,computePosition=(yt,Et,xt)=>{const vt=new Map,bt={platform,...xt},At={...bt.platform,_c:vt};return computePosition$1(yt,Et,{...bt,platform:At})};var isClient=typeof document<"u",noop$5=function(){},index$2=isClient?reactExports.useLayoutEffect:noop$5;function deepEqual$3(yt,Et){if(yt===Et)return!0;if(typeof yt!=typeof Et)return!1;if(typeof yt=="function"&&yt.toString()===Et.toString())return!0;let xt,vt,bt;if(yt&&Et&&typeof yt=="object"){if(Array.isArray(yt)){if(xt=yt.length,xt!==Et.length)return!1;for(vt=xt;vt--!==0;)if(!deepEqual$3(yt[vt],Et[vt]))return!1;return!0}if(bt=Object.keys(yt),xt=bt.length,xt!==Object.keys(Et).length)return!1;for(vt=xt;vt--!==0;)if(!{}.hasOwnProperty.call(Et,bt[vt]))return!1;for(vt=xt;vt--!==0;){const At=bt[vt];if(!(At==="_owner"&&yt.$$typeof)&&!deepEqual$3(yt[At],Et[At]))return!1}return!0}return yt!==yt&&Et!==Et}function getDPR(yt){return typeof window>"u"?1:(yt.ownerDocument.defaultView||window).devicePixelRatio||1}function roundByDPR(yt,Et){const xt=getDPR(yt);return Math.round(Et*xt)/xt}function useLatestRef(yt){const Et=reactExports.useRef(yt);return index$2(()=>{Et.current=yt}),Et}function useFloating(yt){yt===void 0&&(yt={});const{placement:Et="bottom",strategy:xt="absolute",middleware:vt=[],platform:bt,elements:{reference:At,floating:Ft}={},transform:Ct=!0,whileElementsMounted:wt,open:St}=yt,[Tt,Rt]=reactExports.useState({x:0,y:0,strategy:xt,placement:Et,middlewareData:{},isPositioned:!1}),[Pt,Lt]=reactExports.useState(vt);deepEqual$3(Pt,vt)||Lt(vt);const[kt,Ot]=reactExports.useState(null),[Mt,It]=reactExports.useState(null),Nt=reactExports.useCallback(rn=>{rn!==zt.current&&(zt.current=rn,Ot(rn))},[]),Ut=reactExports.useCallback(rn=>{rn!==Ht.current&&(Ht.current=rn,It(rn))},[]),jt=At||kt,Vt=Ft||Mt,zt=reactExports.useRef(null),Ht=reactExports.useRef(null),Wt=reactExports.useRef(Tt),Gt=wt!=null,qt=useLatestRef(wt),Xt=useLatestRef(bt),Kt=useLatestRef(St),Jt=reactExports.useCallback(()=>{if(!zt.current||!Ht.current)return;const rn={placement:Et,strategy:xt,middleware:Pt};Xt.current&&(rn.platform=Xt.current),computePosition(zt.current,Ht.current,rn).then(on=>{const ln={...on,isPositioned:Kt.current!==!1};tn.current&&!deepEqual$3(Wt.current,ln)&&(Wt.current=ln,reactDomExports.flushSync(()=>{Rt(ln)}))})},[Pt,Et,xt,Xt,Kt]);index$2(()=>{St===!1&&Wt.current.isPositioned&&(Wt.current.isPositioned=!1,Rt(rn=>({...rn,isPositioned:!1})))},[St]);const tn=reactExports.useRef(!1);index$2(()=>(tn.current=!0,()=>{tn.current=!1}),[]),index$2(()=>{if(jt&&(zt.current=jt),Vt&&(Ht.current=Vt),jt&&Vt){if(qt.current)return qt.current(jt,Vt,Jt);Jt()}},[jt,Vt,Jt,qt,Gt]);const sn=reactExports.useMemo(()=>({reference:zt,floating:Ht,setReference:Nt,setFloating:Ut}),[Nt,Ut]),Zt=reactExports.useMemo(()=>({reference:jt,floating:Vt}),[jt,Vt]),nn=reactExports.useMemo(()=>{const rn={position:xt,left:0,top:0};if(!Zt.floating)return rn;const on=roundByDPR(Zt.floating,Tt.x),ln=roundByDPR(Zt.floating,Tt.y);return Ct?{...rn,transform:"translate("+on+"px, "+ln+"px)",...getDPR(Zt.floating)>=1.5&&{willChange:"transform"}}:{position:xt,left:on,top:ln}},[xt,Ct,Zt.floating,Tt.x,Tt.y]);return reactExports.useMemo(()=>({...Tt,update:Jt,refs:sn,elements:Zt,floatingStyles:nn}),[Tt,Jt,sn,Zt,nn])}const arrow$1=yt=>{function Et(xt){return{}.hasOwnProperty.call(xt,"current")}return{name:"arrow",options:yt,fn(xt){const{element:vt,padding:bt}=typeof yt=="function"?yt(xt):yt;return vt&&Et(vt)?vt.current!=null?arrow$2({element:vt.current,padding:bt}).fn(xt):{}:vt?arrow$2({element:vt,padding:bt}).fn(xt):{}}}},offset=(yt,Et)=>({...offset$1(yt),options:[yt,Et]}),shift=(yt,Et)=>({...shift$1(yt),options:[yt,Et]}),limitShift=(yt,Et)=>({...limitShift$1(yt),options:[yt,Et]}),flip=(yt,Et)=>({...flip$1(yt),options:[yt,Et]}),size=(yt,Et)=>({...size$1(yt),options:[yt,Et]}),hide=(yt,Et)=>({...hide$1(yt),options:[yt,Et]}),arrow=(yt,Et)=>({...arrow$1(yt),options:[yt,Et]});function createSlot$a(yt){const Et=createSlotClone$a(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$a);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$a(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$b(bt),Ct=mergeProps$a(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$a=Symbol("radix.slottable");function isSlottable$a(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$a}function mergeProps$a(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$b(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}var NODES$9=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$9=NODES$9.reduce((yt,Et)=>{const xt=createSlot$a(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{}),NAME$3="Arrow",Arrow$1=reactExports.forwardRef((yt,Et)=>{const{children:xt,width:vt=10,height:bt=5,...At}=yt;return jsxRuntimeExports.jsx(Primitive$9.svg,{...At,ref:Et,width:vt,height:bt,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:yt.asChild?xt:jsxRuntimeExports.jsx("polygon",{points:"0,0 30,0 15,10"})})});Arrow$1.displayName=NAME$3;var Root$5=Arrow$1;function createContextScope$5(yt,Et=[]){let xt=[];function vt(At,Ft){const Ct=reactExports.createContext(Ft),wt=xt.length;xt=[...xt,Ft];const St=Rt=>{const{scope:Pt,children:Lt,...kt}=Rt,Ot=Pt?.[yt]?.[wt]||Ct,Mt=reactExports.useMemo(()=>kt,Object.values(kt));return jsxRuntimeExports.jsx(Ot.Provider,{value:Mt,children:Lt})};St.displayName=At+"Provider";function Tt(Rt,Pt){const Lt=Pt?.[yt]?.[wt]||Ct,kt=reactExports.useContext(Lt);if(kt)return kt;if(Ft!==void 0)return Ft;throw new Error(`\`${Rt}\` must be used within \`${At}\``)}return[St,Tt]}const bt=()=>{const At=xt.map(Ft=>reactExports.createContext(Ft));return function(Ct){const wt=Ct?.[yt]||At;return reactExports.useMemo(()=>({[`__scope${yt}`]:{...Ct,[yt]:wt}}),[Ct,wt])}};return bt.scopeName=yt,[vt,composeContextScopes$5(bt,...Et)]}function composeContextScopes$5(...yt){const Et=yt[0];if(yt.length===1)return Et;const xt=()=>{const vt=yt.map(bt=>({useScope:bt(),scopeName:bt.scopeName}));return function(At){const Ft=vt.reduce((Ct,{useScope:wt,scopeName:St})=>{const Rt=wt(At)[`__scope${St}`];return{...Ct,...Rt}},{});return reactExports.useMemo(()=>({[`__scope${Et.scopeName}`]:Ft}),[Ft])}};return xt.scopeName=Et.scopeName,xt}function createSlot$9(yt){const Et=createSlotClone$9(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$9);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$9(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$a(bt),Ct=mergeProps$9(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$9=Symbol("radix.slottable");function isSlottable$9(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$9}function mergeProps$9(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$a(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}var NODES$8=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$8=NODES$8.reduce((yt,Et)=>{const xt=createSlot$9(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{});function useSize(yt){const[Et,xt]=reactExports.useState(void 0);return useLayoutEffect2(()=>{if(yt){xt({width:yt.offsetWidth,height:yt.offsetHeight});const vt=new ResizeObserver(bt=>{if(!Array.isArray(bt)||!bt.length)return;const At=bt[0];let Ft,Ct;if("borderBoxSize"in At){const wt=At.borderBoxSize,St=Array.isArray(wt)?wt[0]:wt;Ft=St.inlineSize,Ct=St.blockSize}else Ft=yt.offsetWidth,Ct=yt.offsetHeight;xt({width:Ft,height:Ct})});return vt.observe(yt,{box:"border-box"}),()=>vt.unobserve(yt)}else xt(void 0)},[yt]),Et}var POPPER_NAME="Popper",[createPopperContext,createPopperScope]=createContextScope$5(POPPER_NAME),[PopperProvider,usePopperContext]=createPopperContext(POPPER_NAME),Popper=yt=>{const{__scopePopper:Et,children:xt}=yt,[vt,bt]=reactExports.useState(null);return jsxRuntimeExports.jsx(PopperProvider,{scope:Et,anchor:vt,onAnchorChange:bt,children:xt})};Popper.displayName=POPPER_NAME;var ANCHOR_NAME="PopperAnchor",PopperAnchor=reactExports.forwardRef((yt,Et)=>{const{__scopePopper:xt,virtualRef:vt,...bt}=yt,At=usePopperContext(ANCHOR_NAME,xt),Ft=reactExports.useRef(null),Ct=useComposedRefs(Et,Ft),wt=reactExports.useRef(null);return reactExports.useEffect(()=>{const St=wt.current;wt.current=vt?.current||Ft.current,St!==wt.current&&At.onAnchorChange(wt.current)}),vt?null:jsxRuntimeExports.jsx(Primitive$8.div,{...bt,ref:Ct})});PopperAnchor.displayName=ANCHOR_NAME;var CONTENT_NAME$3="PopperContent",[PopperContentProvider,useContentContext]=createPopperContext(CONTENT_NAME$3),PopperContent=reactExports.forwardRef((yt,Et)=>{const{__scopePopper:xt,side:vt="bottom",sideOffset:bt=0,align:At="center",alignOffset:Ft=0,arrowPadding:Ct=0,avoidCollisions:wt=!0,collisionBoundary:St=[],collisionPadding:Tt=0,sticky:Rt="partial",hideWhenDetached:Pt=!1,updatePositionStrategy:Lt="optimized",onPlaced:kt,...Ot}=yt,Mt=usePopperContext(CONTENT_NAME$3,xt),[It,Nt]=reactExports.useState(null),Ut=useComposedRefs(Et,xn=>Nt(xn)),[jt,Vt]=reactExports.useState(null),zt=useSize(jt),Ht=zt?.width??0,Wt=zt?.height??0,Gt=vt+(At!=="center"?"-"+At:""),qt=typeof Tt=="number"?Tt:{top:0,right:0,bottom:0,left:0,...Tt},Xt=Array.isArray(St)?St:[St],Kt=Xt.length>0,Jt={padding:qt,boundary:Xt.filter(isNotNull),altBoundary:Kt},{refs:tn,floatingStyles:sn,placement:Zt,isPositioned:nn,middlewareData:rn}=useFloating({strategy:"fixed",placement:Gt,whileElementsMounted:(...xn)=>autoUpdate(...xn,{animationFrame:Lt==="always"}),elements:{reference:Mt.anchor},middleware:[offset({mainAxis:bt+Wt,alignmentAxis:Ft}),wt&&shift({mainAxis:!0,crossAxis:!1,limiter:Rt==="partial"?limitShift():void 0,...Jt}),wt&&flip({...Jt}),size({...Jt,apply:({elements:xn,rects:Mn,availableWidth:$n,availableHeight:Rn})=>{const{width:Tn,height:ir}=Mn.reference,Jn=xn.floating.style;Jn.setProperty("--radix-popper-available-width",`${$n}px`),Jn.setProperty("--radix-popper-available-height",`${Rn}px`),Jn.setProperty("--radix-popper-anchor-width",`${Tn}px`),Jn.setProperty("--radix-popper-anchor-height",`${ir}px`)}}),jt&&arrow({element:jt,padding:Ct}),transformOrigin({arrowWidth:Ht,arrowHeight:Wt}),Pt&&hide({strategy:"referenceHidden",...Jt})]}),[on,ln]=getSideAndAlignFromPlacement(Zt),Qt=useCallbackRef$2(kt);useLayoutEffect2(()=>{nn&&Qt?.()},[nn,Qt]);const fn=rn.arrow?.x,pn=rn.arrow?.y,mn=rn.arrow?.centerOffset!==0,[vn,yn]=reactExports.useState();return useLayoutEffect2(()=>{It&&yn(window.getComputedStyle(It).zIndex)},[It]),jsxRuntimeExports.jsx("div",{ref:tn.setFloating,"data-radix-popper-content-wrapper":"",style:{...sn,transform:nn?sn.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:vn,"--radix-popper-transform-origin":[rn.transformOrigin?.x,rn.transformOrigin?.y].join(" "),...rn.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:yt.dir,children:jsxRuntimeExports.jsx(PopperContentProvider,{scope:xt,placedSide:on,onArrowChange:Vt,arrowX:fn,arrowY:pn,shouldHideArrow:mn,children:jsxRuntimeExports.jsx(Primitive$8.div,{"data-side":on,"data-align":ln,...Ot,ref:Ut,style:{...Ot.style,animation:nn?void 0:"none"}})})})});PopperContent.displayName=CONTENT_NAME$3;var ARROW_NAME$2="PopperArrow",OPPOSITE_SIDE={top:"bottom",right:"left",bottom:"top",left:"right"},PopperArrow=reactExports.forwardRef(function(Et,xt){const{__scopePopper:vt,...bt}=Et,At=useContentContext(ARROW_NAME$2,vt),Ft=OPPOSITE_SIDE[At.placedSide];return jsxRuntimeExports.jsx("span",{ref:At.onArrowChange,style:{position:"absolute",left:At.arrowX,top:At.arrowY,[Ft]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[At.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[At.placedSide],visibility:At.shouldHideArrow?"hidden":void 0},children:jsxRuntimeExports.jsx(Root$5,{...bt,ref:xt,style:{...bt.style,display:"block"}})})});PopperArrow.displayName=ARROW_NAME$2;function isNotNull(yt){return yt!==null}var transformOrigin=yt=>({name:"transformOrigin",options:yt,fn(Et){const{placement:xt,rects:vt,middlewareData:bt}=Et,Ft=bt.arrow?.centerOffset!==0,Ct=Ft?0:yt.arrowWidth,wt=Ft?0:yt.arrowHeight,[St,Tt]=getSideAndAlignFromPlacement(xt),Rt={start:"0%",center:"50%",end:"100%"}[Tt],Pt=(bt.arrow?.x??0)+Ct/2,Lt=(bt.arrow?.y??0)+wt/2;let kt="",Ot="";return St==="bottom"?(kt=Ft?Rt:`${Pt}px`,Ot=`${-wt}px`):St==="top"?(kt=Ft?Rt:`${Pt}px`,Ot=`${vt.floating.height+wt}px`):St==="right"?(kt=`${-wt}px`,Ot=Ft?Rt:`${Lt}px`):St==="left"&&(kt=`${vt.floating.width+wt}px`,Ot=Ft?Rt:`${Lt}px`),{data:{x:kt,y:Ot}}}});function getSideAndAlignFromPlacement(yt){const[Et,xt="center"]=yt.split("-");return[Et,xt]}var Root2$1=Popper,Anchor=PopperAnchor,Content=PopperContent,Arrow=PopperArrow;function createSlot$8(yt){const Et=createSlotClone$8(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$8);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$8(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$9(bt),Ct=mergeProps$8(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$8=Symbol("radix.slottable");function isSlottable$8(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$8}function mergeProps$8(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$9(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}var NODES$7=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$7=NODES$7.reduce((yt,Et)=>{const xt=createSlot$8(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{}),PORTAL_NAME$2="Portal",Portal$1=reactExports.forwardRef((yt,Et)=>{const{container:xt,...vt}=yt,[bt,At]=reactExports.useState(!1);useLayoutEffect2(()=>At(!0),[]);const Ft=xt||bt&&globalThis?.document?.body;return Ft?ReactDOM.createPortal(jsxRuntimeExports.jsx(Primitive$7.div,{...vt,ref:Et}),Ft):null});Portal$1.displayName=PORTAL_NAME$2;function useStateMachine(yt,Et){return reactExports.useReducer((xt,vt)=>Et[xt][vt]??xt,yt)}var Presence=yt=>{const{present:Et,children:xt}=yt,vt=usePresence(Et),bt=typeof xt=="function"?xt({present:vt.isPresent}):reactExports.Children.only(xt),At=useComposedRefs(vt.ref,getElementRef$8(bt));return typeof xt=="function"||vt.isPresent?reactExports.cloneElement(bt,{ref:At}):null};Presence.displayName="Presence";function usePresence(yt){const[Et,xt]=reactExports.useState(),vt=reactExports.useRef(null),bt=reactExports.useRef(yt),At=reactExports.useRef("none"),Ft=yt?"mounted":"unmounted",[Ct,wt]=useStateMachine(Ft,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return reactExports.useEffect(()=>{const St=getAnimationName(vt.current);At.current=Ct==="mounted"?St:"none"},[Ct]),useLayoutEffect2(()=>{const St=vt.current,Tt=bt.current;if(Tt!==yt){const Pt=At.current,Lt=getAnimationName(St);yt?wt("MOUNT"):Lt==="none"||St?.display==="none"?wt("UNMOUNT"):wt(Tt&&Pt!==Lt?"ANIMATION_OUT":"UNMOUNT"),bt.current=yt}},[yt,wt]),useLayoutEffect2(()=>{if(Et){let St;const Tt=Et.ownerDocument.defaultView??window,Rt=Lt=>{const Ot=getAnimationName(vt.current).includes(CSS.escape(Lt.animationName));if(Lt.target===Et&&Ot&&(wt("ANIMATION_END"),!bt.current)){const Mt=Et.style.animationFillMode;Et.style.animationFillMode="forwards",St=Tt.setTimeout(()=>{Et.style.animationFillMode==="forwards"&&(Et.style.animationFillMode=Mt)})}},Pt=Lt=>{Lt.target===Et&&(At.current=getAnimationName(vt.current))};return Et.addEventListener("animationstart",Pt),Et.addEventListener("animationcancel",Rt),Et.addEventListener("animationend",Rt),()=>{Tt.clearTimeout(St),Et.removeEventListener("animationstart",Pt),Et.removeEventListener("animationcancel",Rt),Et.removeEventListener("animationend",Rt)}}else wt("ANIMATION_END")},[Et,wt]),{isPresent:["mounted","unmountSuspended"].includes(Ct),ref:reactExports.useCallback(St=>{vt.current=St?getComputedStyle(St):null,xt(St)},[])}}function getAnimationName(yt){return yt?.animationName||"none"}function getElementRef$8(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}function createSlot$7(yt){const Et=createSlotClone$7(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$7);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$7(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$7(bt),Ct=mergeProps$7(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$7=Symbol("radix.slottable");function createSlottable(yt){const Et=({children:xt})=>jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:xt});return Et.displayName=`${yt}.Slottable`,Et.__radixId=SLOTTABLE_IDENTIFIER$7,Et}function isSlottable$7(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$7}function mergeProps$7(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$7(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}var NODES$6=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$6=NODES$6.reduce((yt,Et)=>{const xt=createSlot$7(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{}),useInsertionEffect=React$1[" useInsertionEffect ".trim().toString()]||useLayoutEffect2;function useControllableState({prop:yt,defaultProp:Et,onChange:xt=()=>{},caller:vt}){const[bt,At,Ft]=useUncontrolledState({defaultProp:Et,onChange:xt}),Ct=yt!==void 0,wt=Ct?yt:bt;{const Tt=reactExports.useRef(yt!==void 0);reactExports.useEffect(()=>{const Rt=Tt.current;Rt!==Ct&&console.warn(`${vt} is changing from ${Rt?"controlled":"uncontrolled"} to ${Ct?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),Tt.current=Ct},[Ct,vt])}const St=reactExports.useCallback(Tt=>{if(Ct){const Rt=isFunction$1(Tt)?Tt(yt):Tt;Rt!==yt&&Ft.current?.(Rt)}else At(Tt)},[Ct,yt,At,Ft]);return[wt,St]}function useUncontrolledState({defaultProp:yt,onChange:Et}){const[xt,vt]=reactExports.useState(yt),bt=reactExports.useRef(xt),At=reactExports.useRef(Et);return useInsertionEffect(()=>{At.current=Et},[Et]),reactExports.useEffect(()=>{bt.current!==xt&&(At.current?.(xt),bt.current=xt)},[xt,bt]),[xt,vt,At]}function isFunction$1(yt){return typeof yt=="function"}function createSlot$6(yt){const Et=createSlotClone$6(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$6);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$6(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$6(bt),Ct=mergeProps$6(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$6=Symbol("radix.slottable");function isSlottable$6(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$6}function mergeProps$6(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$6(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}var NODES$5=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$5=NODES$5.reduce((yt,Et)=>{const xt=createSlot$6(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{}),VISUALLY_HIDDEN_STYLES=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),NAME$2="VisuallyHidden",VisuallyHidden=reactExports.forwardRef((yt,Et)=>jsxRuntimeExports.jsx(Primitive$5.span,{...yt,ref:Et,style:{...VISUALLY_HIDDEN_STYLES,...yt.style}}));VisuallyHidden.displayName=NAME$2;var Root$4=VisuallyHidden,[createTooltipContext]=createContextScope$6("Tooltip",[createPopperScope]),usePopperScope$1=createPopperScope(),PROVIDER_NAME="TooltipProvider",DEFAULT_DELAY_DURATION=700,TOOLTIP_OPEN="tooltip.open",[TooltipProviderContextProvider,useTooltipProviderContext]=createTooltipContext(PROVIDER_NAME),TooltipProvider$1=yt=>{const{__scopeTooltip:Et,delayDuration:xt=DEFAULT_DELAY_DURATION,skipDelayDuration:vt=300,disableHoverableContent:bt=!1,children:At}=yt,Ft=reactExports.useRef(!0),Ct=reactExports.useRef(!1),wt=reactExports.useRef(0);return reactExports.useEffect(()=>{const St=wt.current;return()=>window.clearTimeout(St)},[]),jsxRuntimeExports.jsx(TooltipProviderContextProvider,{scope:Et,isOpenDelayedRef:Ft,delayDuration:xt,onOpen:reactExports.useCallback(()=>{window.clearTimeout(wt.current),Ft.current=!1},[]),onClose:reactExports.useCallback(()=>{window.clearTimeout(wt.current),wt.current=window.setTimeout(()=>Ft.current=!0,vt)},[vt]),isPointerInTransitRef:Ct,onPointerInTransitChange:reactExports.useCallback(St=>{Ct.current=St},[]),disableHoverableContent:bt,children:At})};TooltipProvider$1.displayName=PROVIDER_NAME;var TOOLTIP_NAME="Tooltip",[TooltipContextProvider,useTooltipContext]=createTooltipContext(TOOLTIP_NAME),TRIGGER_NAME$2="TooltipTrigger",TooltipTrigger=reactExports.forwardRef((yt,Et)=>{const{__scopeTooltip:xt,...vt}=yt,bt=useTooltipContext(TRIGGER_NAME$2,xt),At=useTooltipProviderContext(TRIGGER_NAME$2,xt),Ft=usePopperScope$1(xt),Ct=reactExports.useRef(null),wt=useComposedRefs(Et,Ct,bt.onTriggerChange),St=reactExports.useRef(!1),Tt=reactExports.useRef(!1),Rt=reactExports.useCallback(()=>St.current=!1,[]);return reactExports.useEffect(()=>()=>document.removeEventListener("pointerup",Rt),[Rt]),jsxRuntimeExports.jsx(Anchor,{asChild:!0,...Ft,children:jsxRuntimeExports.jsx(Primitive$6.button,{"aria-describedby":bt.open?bt.contentId:void 0,"data-state":bt.stateAttribute,...vt,ref:wt,onPointerMove:composeEventHandlers(yt.onPointerMove,Pt=>{Pt.pointerType!=="touch"&&!Tt.current&&!At.isPointerInTransitRef.current&&(bt.onTriggerEnter(),Tt.current=!0)}),onPointerLeave:composeEventHandlers(yt.onPointerLeave,()=>{bt.onTriggerLeave(),Tt.current=!1}),onPointerDown:composeEventHandlers(yt.onPointerDown,()=>{bt.open&&bt.onClose(),St.current=!0,document.addEventListener("pointerup",Rt,{once:!0})}),onFocus:composeEventHandlers(yt.onFocus,()=>{St.current||bt.onOpen()}),onBlur:composeEventHandlers(yt.onBlur,bt.onClose),onClick:composeEventHandlers(yt.onClick,bt.onClose)})})});TooltipTrigger.displayName=TRIGGER_NAME$2;var PORTAL_NAME$1="TooltipPortal",[PortalProvider,usePortalContext]=createTooltipContext(PORTAL_NAME$1,{forceMount:void 0}),CONTENT_NAME$2="TooltipContent",TooltipContent=reactExports.forwardRef((yt,Et)=>{const xt=usePortalContext(CONTENT_NAME$2,yt.__scopeTooltip),{forceMount:vt=xt.forceMount,side:bt="top",...At}=yt,Ft=useTooltipContext(CONTENT_NAME$2,yt.__scopeTooltip);return jsxRuntimeExports.jsx(Presence,{present:vt||Ft.open,children:Ft.disableHoverableContent?jsxRuntimeExports.jsx(TooltipContentImpl,{side:bt,...At,ref:Et}):jsxRuntimeExports.jsx(TooltipContentHoverable,{side:bt,...At,ref:Et})})}),TooltipContentHoverable=reactExports.forwardRef((yt,Et)=>{const xt=useTooltipContext(CONTENT_NAME$2,yt.__scopeTooltip),vt=useTooltipProviderContext(CONTENT_NAME$2,yt.__scopeTooltip),bt=reactExports.useRef(null),At=useComposedRefs(Et,bt),[Ft,Ct]=reactExports.useState(null),{trigger:wt,onClose:St}=xt,Tt=bt.current,{onPointerInTransitChange:Rt}=vt,Pt=reactExports.useCallback(()=>{Ct(null),Rt(!1)},[Rt]),Lt=reactExports.useCallback((kt,Ot)=>{const Mt=kt.currentTarget,It={x:kt.clientX,y:kt.clientY},Nt=getExitSideFromRect(It,Mt.getBoundingClientRect()),Ut=getPaddedExitPoints(It,Nt),jt=getPointsFromRect(Ot.getBoundingClientRect()),Vt=getHull([...Ut,...jt]);Ct(Vt),Rt(!0)},[Rt]);return reactExports.useEffect(()=>()=>Pt(),[Pt]),reactExports.useEffect(()=>{if(wt&&Tt){const kt=Mt=>Lt(Mt,Tt),Ot=Mt=>Lt(Mt,wt);return wt.addEventListener("pointerleave",kt),Tt.addEventListener("pointerleave",Ot),()=>{wt.removeEventListener("pointerleave",kt),Tt.removeEventListener("pointerleave",Ot)}}},[wt,Tt,Lt,Pt]),reactExports.useEffect(()=>{if(Ft){const kt=Ot=>{const Mt=Ot.target,It={x:Ot.clientX,y:Ot.clientY},Nt=wt?.contains(Mt)||Tt?.contains(Mt),Ut=!isPointInPolygon(It,Ft);Nt?Pt():Ut&&(Pt(),St())};return document.addEventListener("pointermove",kt),()=>document.removeEventListener("pointermove",kt)}},[wt,Tt,Ft,St,Pt]),jsxRuntimeExports.jsx(TooltipContentImpl,{...yt,ref:At})}),[VisuallyHiddenContentContextProvider,useVisuallyHiddenContentContext]=createTooltipContext(TOOLTIP_NAME,{isInside:!1}),Slottable=createSlottable("TooltipContent"),TooltipContentImpl=reactExports.forwardRef((yt,Et)=>{const{__scopeTooltip:xt,children:vt,"aria-label":bt,onEscapeKeyDown:At,onPointerDownOutside:Ft,...Ct}=yt,wt=useTooltipContext(CONTENT_NAME$2,xt),St=usePopperScope$1(xt),{onClose:Tt}=wt;return reactExports.useEffect(()=>(document.addEventListener(TOOLTIP_OPEN,Tt),()=>document.removeEventListener(TOOLTIP_OPEN,Tt)),[Tt]),reactExports.useEffect(()=>{if(wt.trigger){const Rt=Pt=>{Pt.target?.contains(wt.trigger)&&Tt()};return window.addEventListener("scroll",Rt,{capture:!0}),()=>window.removeEventListener("scroll",Rt,{capture:!0})}},[wt.trigger,Tt]),jsxRuntimeExports.jsx(DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:At,onPointerDownOutside:Ft,onFocusOutside:Rt=>Rt.preventDefault(),onDismiss:Tt,children:jsxRuntimeExports.jsxs(Content,{"data-state":wt.stateAttribute,...St,...Ct,ref:Et,style:{...Ct.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[jsxRuntimeExports.jsx(Slottable,{children:vt}),jsxRuntimeExports.jsx(VisuallyHiddenContentContextProvider,{scope:xt,isInside:!0,children:jsxRuntimeExports.jsx(Root$4,{id:wt.contentId,role:"tooltip",children:bt||vt})})]})})});TooltipContent.displayName=CONTENT_NAME$2;var ARROW_NAME$1="TooltipArrow",TooltipArrow=reactExports.forwardRef((yt,Et)=>{const{__scopeTooltip:xt,...vt}=yt,bt=usePopperScope$1(xt);return useVisuallyHiddenContentContext(ARROW_NAME$1,xt).isInside?null:jsxRuntimeExports.jsx(Arrow,{...bt,...vt,ref:Et})});TooltipArrow.displayName=ARROW_NAME$1;function getExitSideFromRect(yt,Et){const xt=Math.abs(Et.top-yt.y),vt=Math.abs(Et.bottom-yt.y),bt=Math.abs(Et.right-yt.x),At=Math.abs(Et.left-yt.x);switch(Math.min(xt,vt,bt,At)){case At:return"left";case bt:return"right";case xt:return"top";case vt:return"bottom";default:throw new Error("unreachable")}}function getPaddedExitPoints(yt,Et,xt=5){const vt=[];switch(Et){case"top":vt.push({x:yt.x-xt,y:yt.y+xt},{x:yt.x+xt,y:yt.y+xt});break;case"bottom":vt.push({x:yt.x-xt,y:yt.y-xt},{x:yt.x+xt,y:yt.y-xt});break;case"left":vt.push({x:yt.x+xt,y:yt.y-xt},{x:yt.x+xt,y:yt.y+xt});break;case"right":vt.push({x:yt.x-xt,y:yt.y-xt},{x:yt.x-xt,y:yt.y+xt});break}return vt}function getPointsFromRect(yt){const{top:Et,right:xt,bottom:vt,left:bt}=yt;return[{x:bt,y:Et},{x:xt,y:Et},{x:xt,y:vt},{x:bt,y:vt}]}function isPointInPolygon(yt,Et){const{x:xt,y:vt}=yt;let bt=!1;for(let At=0,Ft=Et.length-1;At<Et.length;Ft=At++){const Ct=Et[At],wt=Et[Ft],St=Ct.x,Tt=Ct.y,Rt=wt.x,Pt=wt.y;Tt>vt!=Pt>vt&&xt<(Rt-St)*(vt-Tt)/(Pt-Tt)+St&&(bt=!bt)}return bt}function getHull(yt){const Et=yt.slice();return Et.sort((xt,vt)=>xt.x<vt.x?-1:xt.x>vt.x?1:xt.y<vt.y?-1:xt.y>vt.y?1:0),getHullPresorted(Et)}function getHullPresorted(yt){if(yt.length<=1)return yt.slice();const Et=[];for(let vt=0;vt<yt.length;vt++){const bt=yt[vt];for(;Et.length>=2;){const At=Et[Et.length-1],Ft=Et[Et.length-2];if((At.x-Ft.x)*(bt.y-Ft.y)>=(At.y-Ft.y)*(bt.x-Ft.x))Et.pop();else break}Et.push(bt)}Et.pop();const xt=[];for(let vt=yt.length-1;vt>=0;vt--){const bt=yt[vt];for(;xt.length>=2;){const At=xt[xt.length-1],Ft=xt[xt.length-2];if((At.x-Ft.x)*(bt.y-Ft.y)>=(At.y-Ft.y)*(bt.x-Ft.x))xt.pop();else break}xt.push(bt)}return xt.pop(),Et.length===1&&xt.length===1&&Et[0].x===xt[0].x&&Et[0].y===xt[0].y?Et:Et.concat(xt)}var Provider=TooltipProvider$1;function TooltipProvider({delayDuration:yt=0,...Et}){return jsxRuntimeExports.jsx(Provider,{"data-slot":"tooltip-provider",delayDuration:yt,...Et})}const SIDEBAR_COOKIE_NAME="sidebar_state",SIDEBAR_COOKIE_MAX_AGE=3600*24*7,SIDEBAR_WIDTH="18rem",SIDEBAR_WIDTH_ICON="3rem",SIDEBAR_KEYBOARD_SHORTCUT="b",SidebarContext=reactExports.createContext(null);function useSidebar(){const yt=reactExports.useContext(SidebarContext);if(!yt)throw new Error("useSidebar must be used within a SidebarProvider.");return yt}function SidebarProvider({defaultOpen:yt=!0,open:Et,onOpenChange:xt,className:vt,style:bt,children:At,...Ft}){const Ct=useIsMobile(),[wt,St]=reactExports.useState(!1),[Tt,Rt]=reactExports.useState(yt),Pt=Et??Tt,Lt=reactExports.useCallback(It=>{const Nt=typeof It=="function"?It(Pt):It;xt?xt(Nt):Rt(Nt),document.cookie=`${SIDEBAR_COOKIE_NAME}=${Nt}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`},[xt,Pt]),kt=reactExports.useCallback(()=>Ct?St(It=>!It):Lt(It=>!It),[Ct,Lt,St]);reactExports.useEffect(()=>{const It=Nt=>{Nt.key===SIDEBAR_KEYBOARD_SHORTCUT&&(Nt.metaKey||Nt.ctrlKey)&&(Nt.preventDefault(),kt())};return window.addEventListener("keydown",It),()=>window.removeEventListener("keydown",It)},[kt]);const Ot=Ct?wt?"expanded":"collapsed":Pt?"expanded":"collapsed",Mt=reactExports.useMemo(()=>({state:Ot,open:Pt,setOpen:Lt,isMobile:Ct,openMobile:wt,setOpenMobile:St,toggleSidebar:kt}),[Ot,Pt,Lt,Ct,wt,St,kt]);return jsxRuntimeExports.jsx(SidebarContext.Provider,{value:Mt,children:jsxRuntimeExports.jsx(TooltipProvider,{delayDuration:0,children:jsxRuntimeExports.jsx("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":SIDEBAR_WIDTH,"--sidebar-width-icon":SIDEBAR_WIDTH_ICON,...bt},className:cn("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",vt),...Ft,children:At})})})}function Sidebar({side:yt="left",variant:Et="sidebar",collapsible:xt="offcanvas",className:vt,children:bt,...At}){const{isMobile:Ft,state:Ct,openMobile:wt,setOpenMobile:St}=useSidebar(),Tt=Et==="inset",Rt=Tt?"relative":"fixed inset-y-0";return jsxRuntimeExports.jsxs("div",{className:cn("group peer text-sidebar-foreground",vt),"data-state":Ct,"data-collapsible":Ct==="collapsed"?xt:"","data-variant":Et,"data-side":yt,"data-slot":"sidebar",...At,children:[jsxRuntimeExports.jsx("div",{"data-slot":"sidebar-gap",className:cn("relative bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",Et==="floating"||Et==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)"),style:Ct==="collapsed"&&xt==="offcanvas"?{width:"0",boxSizing:"border-box",overflow:"hidden"}:{width:"var(--sidebar-width)",boxSizing:"border-box"}}),jsxRuntimeExports.jsx("div",{"data-slot":"sidebar-container",className:cn(`${Rt} z-10 h-svh transition-[left,right,width] duration-200 ease-linear flex`,yt==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",Et==="floating"||Et==="inset"?"p-2 group-data-[collapsible=offcanvas]:p-0 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l group-data-[collapsible=offcanvas]:border-none",vt),style:Ct==="collapsed"&&xt==="offcanvas"?{width:"0",boxSizing:"border-box",overflow:"hidden",visibility:"hidden"}:Tt?{width:"var(--sidebar-width)",boxSizing:"border-box"}:{width:"var(--sidebar-width)"},children:jsxRuntimeExports.jsx("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:bt})})]})}function SidebarTrigger({className:yt,onClick:Et,style:xt,...vt}){const{toggleSidebar:bt}=useSidebar(),{state:At}=useSidebar();return jsxRuntimeExports.jsxs(Button,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon",className:cn("size-7 flex items-center justify-center border touch-manipulation",yt),style:{zIndex:1e5,boxShadow:"0 2px 8px rgba(0,0,0,0.08)",transition:"transform 0.2s",pointerEvents:"auto",...xt},onClick:Ft=>{Et&&Et(Ft),bt()},...vt,children:[jsxRuntimeExports.jsx("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{transition:"transform 0.2s",transform:At==="expanded"?"rotate(180deg)":"rotate(0deg)"},children:jsxRuntimeExports.jsx("path",{d:"M7 5l5 5-5 5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),jsxRuntimeExports.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})}function SidebarInset({className:yt,...Et}){return jsxRuntimeExports.jsx("main",{"data-slot":"sidebar-inset",className:cn("bg-background relative flex w-full flex-1 flex-col","md:peer-data-[variant=inset]:my-2 md:peer-data-[variant=inset]:mr-2 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm",yt),style:{maxHeight:"100vh",overflow:"hidden",isolation:"isolate"},...Et})}function createContextScope$4(yt,Et=[]){let xt=[];function vt(At,Ft){const Ct=reactExports.createContext(Ft),wt=xt.length;xt=[...xt,Ft];const St=Rt=>{const{scope:Pt,children:Lt,...kt}=Rt,Ot=Pt?.[yt]?.[wt]||Ct,Mt=reactExports.useMemo(()=>kt,Object.values(kt));return jsxRuntimeExports.jsx(Ot.Provider,{value:Mt,children:Lt})};St.displayName=At+"Provider";function Tt(Rt,Pt){const Lt=Pt?.[yt]?.[wt]||Ct,kt=reactExports.useContext(Lt);if(kt)return kt;if(Ft!==void 0)return Ft;throw new Error(`\`${Rt}\` must be used within \`${At}\``)}return[St,Tt]}const bt=()=>{const At=xt.map(Ft=>reactExports.createContext(Ft));return function(Ct){const wt=Ct?.[yt]||At;return reactExports.useMemo(()=>({[`__scope${yt}`]:{...Ct,[yt]:wt}}),[Ct,wt])}};return bt.scopeName=yt,[vt,composeContextScopes$4(bt,...Et)]}function composeContextScopes$4(...yt){const Et=yt[0];if(yt.length===1)return Et;const xt=()=>{const vt=yt.map(bt=>({useScope:bt(),scopeName:bt.scopeName}));return function(At){const Ft=vt.reduce((Ct,{useScope:wt,scopeName:St})=>{const Rt=wt(At)[`__scope${St}`];return{...Ct,...Rt}},{});return reactExports.useMemo(()=>({[`__scope${Et.scopeName}`]:Ft}),[Ft])}};return xt.scopeName=Et.scopeName,xt}function createSlot$5(yt){const Et=createSlotClone$5(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$5);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$5(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$5(bt),Ct=mergeProps$5(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$5=Symbol("radix.slottable");function isSlottable$5(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$5}function mergeProps$5(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$5(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}var NODES$4=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$4=NODES$4.reduce((yt,Et)=>{const xt=createSlot$5(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{}),COLLAPSIBLE_NAME="Collapsible",[createCollapsibleContext]=createContextScope$4(COLLAPSIBLE_NAME),[CollapsibleProvider,useCollapsibleContext]=createCollapsibleContext(COLLAPSIBLE_NAME),Collapsible$1=reactExports.forwardRef((yt,Et)=>{const{__scopeCollapsible:xt,open:vt,defaultOpen:bt,disabled:At,onOpenChange:Ft,...Ct}=yt,[wt,St]=useControllableState({prop:vt,defaultProp:bt??!1,onChange:Ft,caller:COLLAPSIBLE_NAME});return jsxRuntimeExports.jsx(CollapsibleProvider,{scope:xt,disabled:At,contentId:useId(),open:wt,onOpenToggle:reactExports.useCallback(()=>St(Tt=>!Tt),[St]),children:jsxRuntimeExports.jsx(Primitive$4.div,{"data-state":getState$1(wt),"data-disabled":At?"":void 0,...Ct,ref:Et})})});Collapsible$1.displayName=COLLAPSIBLE_NAME;var TRIGGER_NAME$1="CollapsibleTrigger",CollapsibleTrigger$1=reactExports.forwardRef((yt,Et)=>{const{__scopeCollapsible:xt,...vt}=yt,bt=useCollapsibleContext(TRIGGER_NAME$1,xt);return jsxRuntimeExports.jsx(Primitive$4.button,{type:"button","aria-controls":bt.contentId,"aria-expanded":bt.open||!1,"data-state":getState$1(bt.open),"data-disabled":bt.disabled?"":void 0,disabled:bt.disabled,...vt,ref:Et,onClick:composeEventHandlers(yt.onClick,bt.onOpenToggle)})});CollapsibleTrigger$1.displayName=TRIGGER_NAME$1;var CONTENT_NAME$1="CollapsibleContent",CollapsibleContent$1=reactExports.forwardRef((yt,Et)=>{const{forceMount:xt,...vt}=yt,bt=useCollapsibleContext(CONTENT_NAME$1,yt.__scopeCollapsible);return jsxRuntimeExports.jsx(Presence,{present:xt||bt.open,children:({present:At})=>jsxRuntimeExports.jsx(CollapsibleContentImpl,{...vt,ref:Et,present:At})})});CollapsibleContent$1.displayName=CONTENT_NAME$1;var CollapsibleContentImpl=reactExports.forwardRef((yt,Et)=>{const{__scopeCollapsible:xt,present:vt,children:bt,...At}=yt,Ft=useCollapsibleContext(CONTENT_NAME$1,xt),[Ct,wt]=reactExports.useState(vt),St=reactExports.useRef(null),Tt=useComposedRefs(Et,St),Rt=reactExports.useRef(0),Pt=Rt.current,Lt=reactExports.useRef(0),kt=Lt.current,Ot=Ft.open||Ct,Mt=reactExports.useRef(Ot),It=reactExports.useRef(void 0);return reactExports.useEffect(()=>{const Nt=requestAnimationFrame(()=>Mt.current=!1);return()=>cancelAnimationFrame(Nt)},[]),useLayoutEffect2(()=>{const Nt=St.current;if(Nt){It.current=It.current||{transitionDuration:Nt.style.transitionDuration,animationName:Nt.style.animationName},Nt.style.transitionDuration="0s",Nt.style.animationName="none";const Ut=Nt.getBoundingClientRect();Rt.current=Ut.height,Lt.current=Ut.width,Mt.current||(Nt.style.transitionDuration=It.current.transitionDuration,Nt.style.animationName=It.current.animationName),wt(vt)}},[Ft.open,vt]),jsxRuntimeExports.jsx(Primitive$4.div,{"data-state":getState$1(Ft.open),"data-disabled":Ft.disabled?"":void 0,id:Ft.contentId,hidden:!Ot,...At,ref:Tt,style:{"--radix-collapsible-content-height":Pt?`${Pt}px`:void 0,"--radix-collapsible-content-width":kt?`${kt}px`:void 0,...yt.style},children:Ot&&bt})});function getState$1(yt){return yt?"open":"closed"}var Root$3=Collapsible$1;function Collapsible({...yt}){return jsxRuntimeExports.jsx(Root$3,{"data-slot":"collapsible",...yt})}function CollapsibleTrigger({...yt}){return jsxRuntimeExports.jsx(CollapsibleTrigger$1,{"data-slot":"collapsible-trigger",...yt})}function CollapsibleContent({...yt}){return jsxRuntimeExports.jsx(CollapsibleContent$1,{"data-slot":"collapsible-content",...yt})}function createContextScope$3(yt,Et=[]){let xt=[];function vt(At,Ft){const Ct=reactExports.createContext(Ft),wt=xt.length;xt=[...xt,Ft];const St=Rt=>{const{scope:Pt,children:Lt,...kt}=Rt,Ot=Pt?.[yt]?.[wt]||Ct,Mt=reactExports.useMemo(()=>kt,Object.values(kt));return jsxRuntimeExports.jsx(Ot.Provider,{value:Mt,children:Lt})};St.displayName=At+"Provider";function Tt(Rt,Pt){const Lt=Pt?.[yt]?.[wt]||Ct,kt=reactExports.useContext(Lt);if(kt)return kt;if(Ft!==void 0)return Ft;throw new Error(`\`${Rt}\` must be used within \`${At}\``)}return[St,Tt]}const bt=()=>{const At=xt.map(Ft=>reactExports.createContext(Ft));return function(Ct){const wt=Ct?.[yt]||At;return reactExports.useMemo(()=>({[`__scope${yt}`]:{...Ct,[yt]:wt}}),[Ct,wt])}};return bt.scopeName=yt,[vt,composeContextScopes$3(bt,...Et)]}function composeContextScopes$3(...yt){const Et=yt[0];if(yt.length===1)return Et;const xt=()=>{const vt=yt.map(bt=>({useScope:bt(),scopeName:bt.scopeName}));return function(At){const Ft=vt.reduce((Ct,{useScope:wt,scopeName:St})=>{const Rt=wt(At)[`__scope${St}`];return{...Ct,...Rt}},{});return reactExports.useMemo(()=>({[`__scope${Et.scopeName}`]:Ft}),[Ft])}};return xt.scopeName=Et.scopeName,xt}function usePrevious(yt){const Et=reactExports.useRef({value:yt,previous:yt});return reactExports.useMemo(()=>(Et.current.value!==yt&&(Et.current.previous=Et.current.value,Et.current.value=yt),Et.current.previous),[yt])}function createSlot$4(yt){const Et=createSlotClone$4(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$4);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$4(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$4(bt),Ct=mergeProps$4(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$4=Symbol("radix.slottable");function isSlottable$4(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$4}function mergeProps$4(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$4(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}var NODES$3=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$3=NODES$3.reduce((yt,Et)=>{const xt=createSlot$4(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{}),SWITCH_NAME="Switch",[createSwitchContext]=createContextScope$3(SWITCH_NAME),[SwitchProvider,useSwitchContext]=createSwitchContext(SWITCH_NAME),Switch$1=reactExports.forwardRef((yt,Et)=>{const{__scopeSwitch:xt,name:vt,checked:bt,defaultChecked:At,required:Ft,disabled:Ct,value:wt="on",onCheckedChange:St,form:Tt,...Rt}=yt,[Pt,Lt]=reactExports.useState(null),kt=useComposedRefs(Et,Ut=>Lt(Ut)),Ot=reactExports.useRef(!1),Mt=Pt?Tt||!!Pt.closest("form"):!0,[It,Nt]=useControllableState({prop:bt,defaultProp:At??!1,onChange:St,caller:SWITCH_NAME});return jsxRuntimeExports.jsxs(SwitchProvider,{scope:xt,checked:It,disabled:Ct,children:[jsxRuntimeExports.jsx(Primitive$3.button,{type:"button",role:"switch","aria-checked":It,"aria-required":Ft,"data-state":getState(It),"data-disabled":Ct?"":void 0,disabled:Ct,value:wt,...Rt,ref:kt,onClick:composeEventHandlers(yt.onClick,Ut=>{Nt(jt=>!jt),Mt&&(Ot.current=Ut.isPropagationStopped(),Ot.current||Ut.stopPropagation())})}),Mt&&jsxRuntimeExports.jsx(SwitchBubbleInput,{control:Pt,bubbles:!Ot.current,name:vt,value:wt,checked:It,required:Ft,disabled:Ct,form:Tt,style:{transform:"translateX(-100%)"}})]})});Switch$1.displayName=SWITCH_NAME;var THUMB_NAME$1="SwitchThumb",SwitchThumb=reactExports.forwardRef((yt,Et)=>{const{__scopeSwitch:xt,...vt}=yt,bt=useSwitchContext(THUMB_NAME$1,xt);return jsxRuntimeExports.jsx(Primitive$3.span,{"data-state":getState(bt.checked),"data-disabled":bt.disabled?"":void 0,...vt,ref:Et})});SwitchThumb.displayName=THUMB_NAME$1;var BUBBLE_INPUT_NAME$2="SwitchBubbleInput",SwitchBubbleInput=reactExports.forwardRef(({__scopeSwitch:yt,control:Et,checked:xt,bubbles:vt=!0,...bt},At)=>{const Ft=reactExports.useRef(null),Ct=useComposedRefs(Ft,At),wt=usePrevious(xt),St=useSize(Et);return reactExports.useEffect(()=>{const Tt=Ft.current;if(!Tt)return;const Rt=window.HTMLInputElement.prototype,Lt=Object.getOwnPropertyDescriptor(Rt,"checked").set;if(wt!==xt&&Lt){const kt=new Event("click",{bubbles:vt});Lt.call(Tt,xt),Tt.dispatchEvent(kt)}},[wt,xt,vt]),jsxRuntimeExports.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:xt,...bt,tabIndex:-1,ref:Ct,style:{...bt.style,...St,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});SwitchBubbleInput.displayName=BUBBLE_INPUT_NAME$2;function getState(yt){return yt?"checked":"unchecked"}var Root$2=Switch$1,Thumb$1=SwitchThumb;function Switch({className:yt,...Et}){return jsxRuntimeExports.jsx(Root$2,{"data-slot":"switch",className:cn("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-3.5 w-7 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",yt),...Et,children:jsxRuntimeExports.jsx(Thumb$1,{"data-slot":"switch-thumb",className:cn("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-2.5 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%+4px)] data-[state=unchecked]:translate-x-0.5")})})}var NAME$1="Label",Label$1=reactExports.forwardRef((yt,Et)=>jsxRuntimeExports.jsx(Primitive$b.label,{...yt,ref:Et,onMouseDown:xt=>{xt.target.closest("button, input, select, textarea")||(yt.onMouseDown?.(xt),!xt.defaultPrevented&&xt.detail>1&&xt.preventDefault())}}));Label$1.displayName=NAME$1;var Root$1=Label$1;function Label({className:yt,...Et}){return jsxRuntimeExports.jsx(Root$1,{"data-slot":"label",className:cn("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",yt),...Et})}function clamp$4(yt,[Et,xt]){return Math.min(xt,Math.max(Et,yt))}function createContextScope$2(yt,Et=[]){let xt=[];function vt(At,Ft){const Ct=reactExports.createContext(Ft),wt=xt.length;xt=[...xt,Ft];const St=Rt=>{const{scope:Pt,children:Lt,...kt}=Rt,Ot=Pt?.[yt]?.[wt]||Ct,Mt=reactExports.useMemo(()=>kt,Object.values(kt));return jsxRuntimeExports.jsx(Ot.Provider,{value:Mt,children:Lt})};St.displayName=At+"Provider";function Tt(Rt,Pt){const Lt=Pt?.[yt]?.[wt]||Ct,kt=reactExports.useContext(Lt);if(kt)return kt;if(Ft!==void 0)return Ft;throw new Error(`\`${Rt}\` must be used within \`${At}\``)}return[St,Tt]}const bt=()=>{const At=xt.map(Ft=>reactExports.createContext(Ft));return function(Ct){const wt=Ct?.[yt]||At;return reactExports.useMemo(()=>({[`__scope${yt}`]:{...Ct,[yt]:wt}}),[Ct,wt])}};return bt.scopeName=yt,[vt,composeContextScopes$2(bt,...Et)]}function composeContextScopes$2(...yt){const Et=yt[0];if(yt.length===1)return Et;const xt=()=>{const vt=yt.map(bt=>({useScope:bt(),scopeName:bt.scopeName}));return function(At){const Ft=vt.reduce((Ct,{useScope:wt,scopeName:St})=>{const Rt=wt(At)[`__scope${St}`];return{...Ct,...Rt}},{});return reactExports.useMemo(()=>({[`__scope${Et.scopeName}`]:Ft}),[Ft])}};return xt.scopeName=Et.scopeName,xt}function createSlot$3(yt){const Et=createSlotClone$3(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$3);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$3(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$3(bt),Ct=mergeProps$3(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$3=Symbol("radix.slottable");function isSlottable$3(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$3}function mergeProps$3(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$3(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}function createCollection(yt){const Et=yt+"CollectionProvider",[xt,vt]=createContextScope$2(Et),[bt,At]=xt(Et,{collectionRef:{current:null},itemMap:new Map}),Ft=Ot=>{const{scope:Mt,children:It}=Ot,Nt=React.useRef(null),Ut=React.useRef(new Map).current;return jsxRuntimeExports.jsx(bt,{scope:Mt,itemMap:Ut,collectionRef:Nt,children:It})};Ft.displayName=Et;const Ct=yt+"CollectionSlot",wt=createSlot$3(Ct),St=React.forwardRef((Ot,Mt)=>{const{scope:It,children:Nt}=Ot,Ut=At(Ct,It),jt=useComposedRefs(Mt,Ut.collectionRef);return jsxRuntimeExports.jsx(wt,{ref:jt,children:Nt})});St.displayName=Ct;const Tt=yt+"CollectionItemSlot",Rt="data-radix-collection-item",Pt=createSlot$3(Tt),Lt=React.forwardRef((Ot,Mt)=>{const{scope:It,children:Nt,...Ut}=Ot,jt=React.useRef(null),Vt=useComposedRefs(Mt,jt),zt=At(Tt,It);return React.useEffect(()=>(zt.itemMap.set(jt,{ref:jt,...Ut}),()=>{zt.itemMap.delete(jt)})),jsxRuntimeExports.jsx(Pt,{[Rt]:"",ref:Vt,children:Nt})});Lt.displayName=Tt;function kt(Ot){const Mt=At(yt+"CollectionConsumer",Ot);return React.useCallback(()=>{const Nt=Mt.collectionRef.current;if(!Nt)return[];const Ut=Array.from(Nt.querySelectorAll(`[${Rt}]`));return Array.from(Mt.itemMap.values()).sort((zt,Ht)=>Ut.indexOf(zt.ref.current)-Ut.indexOf(Ht.ref.current))},[Mt.collectionRef,Mt.itemMap])}return[{Provider:Ft,Slot:St,ItemSlot:Lt},kt,vt]}function createContextScope$1(yt,Et=[]){let xt=[];function vt(At,Ft){const Ct=reactExports.createContext(Ft),wt=xt.length;xt=[...xt,Ft];const St=Rt=>{const{scope:Pt,children:Lt,...kt}=Rt,Ot=Pt?.[yt]?.[wt]||Ct,Mt=reactExports.useMemo(()=>kt,Object.values(kt));return jsxRuntimeExports.jsx(Ot.Provider,{value:Mt,children:Lt})};St.displayName=At+"Provider";function Tt(Rt,Pt){const Lt=Pt?.[yt]?.[wt]||Ct,kt=reactExports.useContext(Lt);if(kt)return kt;if(Ft!==void 0)return Ft;throw new Error(`\`${Rt}\` must be used within \`${At}\``)}return[St,Tt]}const bt=()=>{const At=xt.map(Ft=>reactExports.createContext(Ft));return function(Ct){const wt=Ct?.[yt]||At;return reactExports.useMemo(()=>({[`__scope${yt}`]:{...Ct,[yt]:wt}}),[Ct,wt])}};return bt.scopeName=yt,[vt,composeContextScopes$1(bt,...Et)]}function composeContextScopes$1(...yt){const Et=yt[0];if(yt.length===1)return Et;const xt=()=>{const vt=yt.map(bt=>({useScope:bt(),scopeName:bt.scopeName}));return function(At){const Ft=vt.reduce((Ct,{useScope:wt,scopeName:St})=>{const Rt=wt(At)[`__scope${St}`];return{...Ct,...Rt}},{});return reactExports.useMemo(()=>({[`__scope${Et.scopeName}`]:Ft}),[Ft])}};return xt.scopeName=Et.scopeName,xt}var DirectionContext=reactExports.createContext(void 0);function useDirection(yt){const Et=reactExports.useContext(DirectionContext);return yt||Et||"ltr"}var count$1=0;function useFocusGuards(){reactExports.useEffect(()=>{const yt=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",yt[0]??createFocusGuard()),document.body.insertAdjacentElement("beforeend",yt[1]??createFocusGuard()),count$1++,()=>{count$1===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(Et=>Et.remove()),count$1--}},[])}function createFocusGuard(){const yt=document.createElement("span");return yt.setAttribute("data-radix-focus-guard",""),yt.tabIndex=0,yt.style.outline="none",yt.style.opacity="0",yt.style.position="fixed",yt.style.pointerEvents="none",yt}function createSlot$2(yt){const Et=createSlotClone$2(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$2);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$2(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$2(bt),Ct=mergeProps$2(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$2=Symbol("radix.slottable");function isSlottable$2(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$2}function mergeProps$2(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$2(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}var NODES$2=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$2=NODES$2.reduce((yt,Et)=>{const xt=createSlot$2(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{}),AUTOFOCUS_ON_MOUNT="focusScope.autoFocusOnMount",AUTOFOCUS_ON_UNMOUNT="focusScope.autoFocusOnUnmount",EVENT_OPTIONS={bubbles:!1,cancelable:!0},FOCUS_SCOPE_NAME="FocusScope",FocusScope=reactExports.forwardRef((yt,Et)=>{const{loop:xt=!1,trapped:vt=!1,onMountAutoFocus:bt,onUnmountAutoFocus:At,...Ft}=yt,[Ct,wt]=reactExports.useState(null),St=useCallbackRef$2(bt),Tt=useCallbackRef$2(At),Rt=reactExports.useRef(null),Pt=useComposedRefs(Et,Ot=>wt(Ot)),Lt=reactExports.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;reactExports.useEffect(()=>{if(vt){let Ot=function(Ut){if(Lt.paused||!Ct)return;const jt=Ut.target;Ct.contains(jt)?Rt.current=jt:focus(Rt.current,{select:!0})},Mt=function(Ut){if(Lt.paused||!Ct)return;const jt=Ut.relatedTarget;jt!==null&&(Ct.contains(jt)||focus(Rt.current,{select:!0}))},It=function(Ut){if(document.activeElement===document.body)for(const Vt of Ut)Vt.removedNodes.length>0&&focus(Ct)};document.addEventListener("focusin",Ot),document.addEventListener("focusout",Mt);const Nt=new MutationObserver(It);return Ct&&Nt.observe(Ct,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",Ot),document.removeEventListener("focusout",Mt),Nt.disconnect()}}},[vt,Ct,Lt.paused]),reactExports.useEffect(()=>{if(Ct){focusScopesStack.add(Lt);const Ot=document.activeElement;if(!Ct.contains(Ot)){const It=new CustomEvent(AUTOFOCUS_ON_MOUNT,EVENT_OPTIONS);Ct.addEventListener(AUTOFOCUS_ON_MOUNT,St),Ct.dispatchEvent(It),It.defaultPrevented||(focusFirst(removeLinks(getTabbableCandidates(Ct)),{select:!0}),document.activeElement===Ot&&focus(Ct))}return()=>{Ct.removeEventListener(AUTOFOCUS_ON_MOUNT,St),setTimeout(()=>{const It=new CustomEvent(AUTOFOCUS_ON_UNMOUNT,EVENT_OPTIONS);Ct.addEventListener(AUTOFOCUS_ON_UNMOUNT,Tt),Ct.dispatchEvent(It),It.defaultPrevented||focus(Ot??document.body,{select:!0}),Ct.removeEventListener(AUTOFOCUS_ON_UNMOUNT,Tt),focusScopesStack.remove(Lt)},0)}}},[Ct,St,Tt,Lt]);const kt=reactExports.useCallback(Ot=>{if(!xt&&!vt||Lt.paused)return;const Mt=Ot.key==="Tab"&&!Ot.altKey&&!Ot.ctrlKey&&!Ot.metaKey,It=document.activeElement;if(Mt&&It){const Nt=Ot.currentTarget,[Ut,jt]=getTabbableEdges(Nt);Ut&&jt?!Ot.shiftKey&&It===jt?(Ot.preventDefault(),xt&&focus(Ut,{select:!0})):Ot.shiftKey&&It===Ut&&(Ot.preventDefault(),xt&&focus(jt,{select:!0})):It===Nt&&Ot.preventDefault()}},[xt,vt,Lt.paused]);return jsxRuntimeExports.jsx(Primitive$2.div,{tabIndex:-1,...Ft,ref:Pt,onKeyDown:kt})});FocusScope.displayName=FOCUS_SCOPE_NAME;function focusFirst(yt,{select:Et=!1}={}){const xt=document.activeElement;for(const vt of yt)if(focus(vt,{select:Et}),document.activeElement!==xt)return}function getTabbableEdges(yt){const Et=getTabbableCandidates(yt),xt=findVisible(Et,yt),vt=findVisible(Et.reverse(),yt);return[xt,vt]}function getTabbableCandidates(yt){const Et=[],xt=document.createTreeWalker(yt,NodeFilter.SHOW_ELEMENT,{acceptNode:vt=>{const bt=vt.tagName==="INPUT"&&vt.type==="hidden";return vt.disabled||vt.hidden||bt?NodeFilter.FILTER_SKIP:vt.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;xt.nextNode();)Et.push(xt.currentNode);return Et}function findVisible(yt,Et){for(const xt of yt)if(!isHidden(xt,{upTo:Et}))return xt}function isHidden(yt,{upTo:Et}){if(getComputedStyle(yt).visibility==="hidden")return!0;for(;yt;){if(Et!==void 0&&yt===Et)return!1;if(getComputedStyle(yt).display==="none")return!0;yt=yt.parentElement}return!1}function isSelectableInput(yt){return yt instanceof HTMLInputElement&&"select"in yt}function focus(yt,{select:Et=!1}={}){if(yt&&yt.focus){const xt=document.activeElement;yt.focus({preventScroll:!0}),yt!==xt&&isSelectableInput(yt)&&Et&&yt.select()}}var focusScopesStack=createFocusScopesStack();function createFocusScopesStack(){let yt=[];return{add(Et){const xt=yt[0];Et!==xt&&xt?.pause(),yt=arrayRemove(yt,Et),yt.unshift(Et)},remove(Et){yt=arrayRemove(yt,Et),yt[0]?.resume()}}}function arrayRemove(yt,Et){const xt=[...yt],vt=xt.indexOf(Et);return vt!==-1&&xt.splice(vt,1),xt}function removeLinks(yt){return yt.filter(Et=>Et.tagName!=="A")}function createSlot$1(yt){const Et=createSlotClone$1(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$1);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$1(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$1(bt),Ct=mergeProps$1(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$1=Symbol("radix.slottable");function isSlottable$1(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$1}function mergeProps$1(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$1(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}var NODES$1=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$1=NODES$1.reduce((yt,Et)=>{const xt=createSlot$1(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{}),getDefaultParent=function(yt){if(typeof document>"u")return null;var Et=Array.isArray(yt)?yt[0]:yt;return Et.ownerDocument.body},counterMap=new WeakMap,uncontrolledNodes=new WeakMap,markerMap={},lockCount=0,unwrapHost=function(yt){return yt&&(yt.host||unwrapHost(yt.parentNode))},correctTargets=function(yt,Et){return Et.map(function(xt){if(yt.contains(xt))return xt;var vt=unwrapHost(xt);return vt&&yt.contains(vt)?vt:(console.error("aria-hidden",xt,"in not contained inside",yt,". Doing nothing"),null)}).filter(function(xt){return!!xt})},applyAttributeToOthers=function(yt,Et,xt,vt){var bt=correctTargets(Et,Array.isArray(yt)?yt:[yt]);markerMap[xt]||(markerMap[xt]=new WeakMap);var At=markerMap[xt],Ft=[],Ct=new Set,wt=new Set(bt),St=function(Rt){!Rt||Ct.has(Rt)||(Ct.add(Rt),St(Rt.parentNode))};bt.forEach(St);var Tt=function(Rt){!Rt||wt.has(Rt)||Array.prototype.forEach.call(Rt.children,function(Pt){if(Ct.has(Pt))Tt(Pt);else try{var Lt=Pt.getAttribute(vt),kt=Lt!==null&&Lt!=="false",Ot=(counterMap.get(Pt)||0)+1,Mt=(At.get(Pt)||0)+1;counterMap.set(Pt,Ot),At.set(Pt,Mt),Ft.push(Pt),Ot===1&&kt&&uncontrolledNodes.set(Pt,!0),Mt===1&&Pt.setAttribute(xt,"true"),kt||Pt.setAttribute(vt,"true")}catch(It){console.error("aria-hidden: cannot operate on ",Pt,It)}})};return Tt(Et),Ct.clear(),lockCount++,function(){Ft.forEach(function(Rt){var Pt=counterMap.get(Rt)-1,Lt=At.get(Rt)-1;counterMap.set(Rt,Pt),At.set(Rt,Lt),Pt||(uncontrolledNodes.has(Rt)||Rt.removeAttribute(vt),uncontrolledNodes.delete(Rt)),Lt||Rt.removeAttribute(xt)}),lockCount--,lockCount||(counterMap=new WeakMap,counterMap=new WeakMap,uncontrolledNodes=new WeakMap,markerMap={})}},hideOthers=function(yt,Et,xt){xt===void 0&&(xt="data-aria-hidden");var vt=Array.from(Array.isArray(yt)?yt:[yt]),bt=getDefaultParent(yt);return bt?(vt.push.apply(vt,Array.from(bt.querySelectorAll("[aria-live], script"))),applyAttributeToOthers(vt,bt,xt,"aria-hidden")):function(){return null}},__assign=function(){return __assign=Object.assign||function(Et){for(var xt,vt=1,bt=arguments.length;vt<bt;vt++){xt=arguments[vt];for(var At in xt)Object.prototype.hasOwnProperty.call(xt,At)&&(Et[At]=xt[At])}return Et},__assign.apply(this,arguments)};function __rest$1(yt,Et){var xt={};for(var vt in yt)Object.prototype.hasOwnProperty.call(yt,vt)&&Et.indexOf(vt)<0&&(xt[vt]=yt[vt]);if(yt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var bt=0,vt=Object.getOwnPropertySymbols(yt);bt<vt.length;bt++)Et.indexOf(vt[bt])<0&&Object.prototype.propertyIsEnumerable.call(yt,vt[bt])&&(xt[vt[bt]]=yt[vt[bt]]);return xt}function __spreadArray(yt,Et,xt){if(xt||arguments.length===2)for(var vt=0,bt=Et.length,At;vt<bt;vt++)(At||!(vt in Et))&&(At||(At=Array.prototype.slice.call(Et,0,vt)),At[vt]=Et[vt]);return yt.concat(At||Array.prototype.slice.call(Et))}typeof SuppressedError=="function"&&SuppressedError;var zeroRightClassName="right-scroll-bar-position",fullWidthClassName="width-before-scroll-bar",noScrollbarsClassName="with-scroll-bars-hidden",removedBarSizeVariable="--removed-body-scroll-bar-size";function assignRef(yt,Et){return typeof yt=="function"?yt(Et):yt&&(yt.current=Et),yt}function useCallbackRef$1(yt,Et){var xt=reactExports.useState(function(){return{value:yt,callback:Et,facade:{get current(){return xt.value},set current(vt){var bt=xt.value;bt!==vt&&(xt.value=vt,xt.callback(vt,bt))}}}})[0];return xt.callback=Et,xt.facade}var useIsomorphicLayoutEffect$1=typeof window<"u"?reactExports.useLayoutEffect:reactExports.useEffect,currentValues=new WeakMap;function useMergeRefs(yt,Et){var xt=useCallbackRef$1(null,function(vt){return yt.forEach(function(bt){return assignRef(bt,vt)})});return useIsomorphicLayoutEffect$1(function(){var vt=currentValues.get(xt);if(vt){var bt=new Set(vt),At=new Set(yt),Ft=xt.current;bt.forEach(function(Ct){At.has(Ct)||assignRef(Ct,null)}),At.forEach(function(Ct){bt.has(Ct)||assignRef(Ct,Ft)})}currentValues.set(xt,yt)},[yt]),xt}function ItoI(yt){return yt}function innerCreateMedium(yt,Et){Et===void 0&&(Et=ItoI);var xt=[],vt=!1,bt={read:function(){if(vt)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return xt.length?xt[xt.length-1]:yt},useMedium:function(At){var Ft=Et(At,vt);return xt.push(Ft),function(){xt=xt.filter(function(Ct){return Ct!==Ft})}},assignSyncMedium:function(At){for(vt=!0;xt.length;){var Ft=xt;xt=[],Ft.forEach(At)}xt={push:function(Ct){return At(Ct)},filter:function(){return xt}}},assignMedium:function(At){vt=!0;var Ft=[];if(xt.length){var Ct=xt;xt=[],Ct.forEach(At),Ft=xt}var wt=function(){var Tt=Ft;Ft=[],Tt.forEach(At)},St=function(){return Promise.resolve().then(wt)};St(),xt={push:function(Tt){Ft.push(Tt),St()},filter:function(Tt){return Ft=Ft.filter(Tt),xt}}}};return bt}function createSidecarMedium(yt){yt===void 0&&(yt={});var Et=innerCreateMedium(null);return Et.options=__assign({async:!0,ssr:!1},yt),Et}var SideCar$1=function(yt){var Et=yt.sideCar,xt=__rest$1(yt,["sideCar"]);if(!Et)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var vt=Et.read();if(!vt)throw new Error("Sidecar medium not found");return reactExports.createElement(vt,__assign({},xt))};SideCar$1.isSideCarExport=!0;function exportSidecar(yt,Et){return yt.useMedium(Et),SideCar$1}var effectCar=createSidecarMedium(),nothing=function(){},RemoveScroll=reactExports.forwardRef(function(yt,Et){var xt=reactExports.useRef(null),vt=reactExports.useState({onScrollCapture:nothing,onWheelCapture:nothing,onTouchMoveCapture:nothing}),bt=vt[0],At=vt[1],Ft=yt.forwardProps,Ct=yt.children,wt=yt.className,St=yt.removeScrollBar,Tt=yt.enabled,Rt=yt.shards,Pt=yt.sideCar,Lt=yt.noRelative,kt=yt.noIsolation,Ot=yt.inert,Mt=yt.allowPinchZoom,It=yt.as,Nt=It===void 0?"div":It,Ut=yt.gapMode,jt=__rest$1(yt,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),Vt=Pt,zt=useMergeRefs([xt,Et]),Ht=__assign(__assign({},jt),bt);return reactExports.createElement(reactExports.Fragment,null,Tt&&reactExports.createElement(Vt,{sideCar:effectCar,removeScrollBar:St,shards:Rt,noRelative:Lt,noIsolation:kt,inert:Ot,setCallbacks:At,allowPinchZoom:!!Mt,lockRef:xt,gapMode:Ut}),Ft?reactExports.cloneElement(reactExports.Children.only(Ct),__assign(__assign({},Ht),{ref:zt})):reactExports.createElement(Nt,__assign({},Ht,{className:wt,ref:zt}),Ct))});RemoveScroll.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},RemoveScroll.classNames={fullWidth:fullWidthClassName,zeroRight:zeroRightClassName};var getNonce=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function makeStyleTag(){if(!document)return null;var yt=document.createElement("style");yt.type="text/css";var Et=getNonce();return Et&&yt.setAttribute("nonce",Et),yt}function injectStyles(yt,Et){yt.styleSheet?yt.styleSheet.cssText=Et:yt.appendChild(document.createTextNode(Et))}function insertStyleTag(yt){var Et=document.head||document.getElementsByTagName("head")[0];Et.appendChild(yt)}var stylesheetSingleton=function(){var yt=0,Et=null;return{add:function(xt){yt==0&&(Et=makeStyleTag())&&(injectStyles(Et,xt),insertStyleTag(Et)),yt++},remove:function(){yt--,!yt&&Et&&(Et.parentNode&&Et.parentNode.removeChild(Et),Et=null)}}},styleHookSingleton=function(){var yt=stylesheetSingleton();return function(Et,xt){reactExports.useEffect(function(){return yt.add(Et),function(){yt.remove()}},[Et&&xt])}},styleSingleton=function(){var yt=styleHookSingleton(),Et=function(xt){var vt=xt.styles,bt=xt.dynamic;return yt(vt,bt),null};return Et},zeroGap={left:0,top:0,right:0,gap:0},parse$1=function(yt){return parseInt(yt||"",10)||0},getOffset=function(yt){var Et=window.getComputedStyle(document.body),xt=Et[yt==="padding"?"paddingLeft":"marginLeft"],vt=Et[yt==="padding"?"paddingTop":"marginTop"],bt=Et[yt==="padding"?"paddingRight":"marginRight"];return[parse$1(xt),parse$1(vt),parse$1(bt)]},getGapWidth=function(yt){if(yt===void 0&&(yt="margin"),typeof window>"u")return zeroGap;var Et=getOffset(yt),xt=document.documentElement.clientWidth,vt=window.innerWidth;return{left:Et[0],top:Et[1],right:Et[2],gap:Math.max(0,vt-xt+Et[2]-Et[0])}},Style=styleSingleton(),lockAttribute="data-scroll-locked",getStyles=function(yt,Et,xt,vt){var bt=yt.left,At=yt.top,Ft=yt.right,Ct=yt.gap;return xt===void 0&&(xt="margin"),`
9
+ `).replace(Cg,"")}function u0(Dt,Bt){return Bt=c0(Bt),c0(Dt)===Bt}function Vo(Dt,Bt,$t,Yt,an,un){switch($t){case"children":typeof Yt=="string"?Bt==="body"||Bt==="textarea"&&Yt===""||wo(Dt,Yt):(typeof Yt=="number"||typeof Yt=="bigint")&&Bt!=="body"&&wo(Dt,""+Yt);break;case"className":Va(Dt,"class",Yt);break;case"tabIndex":Va(Dt,"tabindex",Yt);break;case"dir":case"role":case"viewBox":case"width":case"height":Va(Dt,$t,Yt);break;case"style":za(Dt,Yt,un);break;case"data":if(Bt!=="object"){Va(Dt,"data",Yt);break}case"src":case"href":if(Yt===""&&(Bt!=="a"||$t!=="href")){Dt.removeAttribute($t);break}if(Yt==null||typeof Yt=="function"||typeof Yt=="symbol"||typeof Yt=="boolean"){Dt.removeAttribute($t);break}Yt=bs(""+Yt),Dt.setAttribute($t,Yt);break;case"action":case"formAction":if(typeof Yt=="function"){Dt.setAttribute($t,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof un=="function"&&($t==="formAction"?(Bt!=="input"&&Vo(Dt,Bt,"name",an.name,an,null),Vo(Dt,Bt,"formEncType",an.formEncType,an,null),Vo(Dt,Bt,"formMethod",an.formMethod,an,null),Vo(Dt,Bt,"formTarget",an.formTarget,an,null)):(Vo(Dt,Bt,"encType",an.encType,an,null),Vo(Dt,Bt,"method",an.method,an,null),Vo(Dt,Bt,"target",an.target,an,null)));if(Yt==null||typeof Yt=="symbol"||typeof Yt=="boolean"){Dt.removeAttribute($t);break}Yt=bs(""+Yt),Dt.setAttribute($t,Yt);break;case"onClick":Yt!=null&&(Dt.onclick=$o);break;case"onScroll":Yt!=null&&ro("scroll",Dt);break;case"onScrollEnd":Yt!=null&&ro("scrollend",Dt);break;case"dangerouslySetInnerHTML":if(Yt!=null){if(typeof Yt!="object"||!("__html"in Yt))throw Error(vt(61));if($t=Yt.__html,$t!=null){if(an.children!=null)throw Error(vt(60));Dt.innerHTML=$t}}break;case"multiple":Dt.multiple=Yt&&typeof Yt!="function"&&typeof Yt!="symbol";break;case"muted":Dt.muted=Yt&&typeof Yt!="function"&&typeof Yt!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(Yt==null||typeof Yt=="function"||typeof Yt=="boolean"||typeof Yt=="symbol"){Dt.removeAttribute("xlink:href");break}$t=bs(""+Yt),Dt.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",$t);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":Yt!=null&&typeof Yt!="function"&&typeof Yt!="symbol"?Dt.setAttribute($t,""+Yt):Dt.removeAttribute($t);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":Yt&&typeof Yt!="function"&&typeof Yt!="symbol"?Dt.setAttribute($t,""):Dt.removeAttribute($t);break;case"capture":case"download":Yt===!0?Dt.setAttribute($t,""):Yt!==!1&&Yt!=null&&typeof Yt!="function"&&typeof Yt!="symbol"?Dt.setAttribute($t,Yt):Dt.removeAttribute($t);break;case"cols":case"rows":case"size":case"span":Yt!=null&&typeof Yt!="function"&&typeof Yt!="symbol"&&!isNaN(Yt)&&1<=Yt?Dt.setAttribute($t,Yt):Dt.removeAttribute($t);break;case"rowSpan":case"start":Yt==null||typeof Yt=="function"||typeof Yt=="symbol"||isNaN(Yt)?Dt.removeAttribute($t):Dt.setAttribute($t,Yt);break;case"popover":ro("beforetoggle",Dt),ro("toggle",Dt),ys(Dt,"popover",Yt);break;case"xlinkActuate":io(Dt,"http://www.w3.org/1999/xlink","xlink:actuate",Yt);break;case"xlinkArcrole":io(Dt,"http://www.w3.org/1999/xlink","xlink:arcrole",Yt);break;case"xlinkRole":io(Dt,"http://www.w3.org/1999/xlink","xlink:role",Yt);break;case"xlinkShow":io(Dt,"http://www.w3.org/1999/xlink","xlink:show",Yt);break;case"xlinkTitle":io(Dt,"http://www.w3.org/1999/xlink","xlink:title",Yt);break;case"xlinkType":io(Dt,"http://www.w3.org/1999/xlink","xlink:type",Yt);break;case"xmlBase":io(Dt,"http://www.w3.org/XML/1998/namespace","xml:base",Yt);break;case"xmlLang":io(Dt,"http://www.w3.org/XML/1998/namespace","xml:lang",Yt);break;case"xmlSpace":io(Dt,"http://www.w3.org/XML/1998/namespace","xml:space",Yt);break;case"is":ys(Dt,"is",Yt);break;case"innerText":case"textContent":break;default:(!(2<$t.length)||$t[0]!=="o"&&$t[0]!=="O"||$t[1]!=="n"&&$t[1]!=="N")&&($t=Vi.get($t)||$t,ys(Dt,$t,Yt))}}function $f(Dt,Bt,$t,Yt,an,un){switch($t){case"style":za(Dt,Yt,un);break;case"dangerouslySetInnerHTML":if(Yt!=null){if(typeof Yt!="object"||!("__html"in Yt))throw Error(vt(61));if($t=Yt.__html,$t!=null){if(an.children!=null)throw Error(vt(60));Dt.innerHTML=$t}}break;case"children":typeof Yt=="string"?wo(Dt,Yt):(typeof Yt=="number"||typeof Yt=="bigint")&&wo(Dt,""+Yt);break;case"onScroll":Yt!=null&&ro("scroll",Dt);break;case"onScrollEnd":Yt!=null&&ro("scrollend",Dt);break;case"onClick":Yt!=null&&(Dt.onclick=$o);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Ja.hasOwnProperty($t))e:{if($t[0]==="o"&&$t[1]==="n"&&(an=$t.endsWith("Capture"),Bt=$t.slice(2,an?$t.length-7:void 0),un=Dt[wi]||null,un=un!=null?un[$t]:null,typeof un=="function"&&Dt.removeEventListener(Bt,un,an),typeof Yt=="function")){typeof un!="function"&&un!==null&&($t in Dt?Dt[$t]=null:Dt.hasAttribute($t)&&Dt.removeAttribute($t)),Dt.addEventListener(Bt,Yt,an);break e}$t in Dt?Dt[$t]=Yt:Yt===!0?Dt.setAttribute($t,""):ys(Dt,$t,Yt)}}}function Al(Dt,Bt,$t){switch(Bt){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ro("error",Dt),ro("load",Dt);var Yt=!1,an=!1,un;for(un in $t)if($t.hasOwnProperty(un)){var bn=$t[un];if(bn!=null)switch(un){case"src":Yt=!0;break;case"srcSet":an=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(vt(137,Bt));default:Vo(Dt,Bt,un,bn,$t,null)}}an&&Vo(Dt,Bt,"srcSet",$t.srcSet,$t,null),Yt&&Vo(Dt,Bt,"src",$t.src,$t,null);return;case"input":ro("invalid",Dt);var qn=un=bn=an=null,Sr=null,Jr=null;for(Yt in $t)if($t.hasOwnProperty(Yt)){var ui=$t[Yt];if(ui!=null)switch(Yt){case"name":an=ui;break;case"type":bn=ui;break;case"checked":Sr=ui;break;case"defaultChecked":Jr=ui;break;case"value":un=ui;break;case"defaultValue":qn=ui;break;case"children":case"dangerouslySetInnerHTML":if(ui!=null)throw Error(vt(137,Bt));break;default:Vo(Dt,Bt,Yt,ui,$t,null)}}la(Dt,un,qn,Sr,Jr,bn,an,!1);return;case"select":ro("invalid",Dt),Yt=bn=un=null;for(an in $t)if($t.hasOwnProperty(an)&&(qn=$t[an],qn!=null))switch(an){case"value":un=qn;break;case"defaultValue":bn=qn;break;case"multiple":Yt=qn;default:Vo(Dt,Bt,an,qn,$t,null)}Bt=un,$t=bn,Dt.multiple=!!Yt,Bt!=null?Io(Dt,!!Yt,Bt,!1):$t!=null&&Io(Dt,!!Yt,$t,!0);return;case"textarea":ro("invalid",Dt),un=an=Yt=null;for(bn in $t)if($t.hasOwnProperty(bn)&&(qn=$t[bn],qn!=null))switch(bn){case"value":Yt=qn;break;case"defaultValue":an=qn;break;case"children":un=qn;break;case"dangerouslySetInnerHTML":if(qn!=null)throw Error(vt(91));break;default:Vo(Dt,Bt,bn,qn,$t,null)}Ga(Dt,Yt,an,un);return;case"option":for(Sr in $t)$t.hasOwnProperty(Sr)&&(Yt=$t[Sr],Yt!=null)&&(Sr==="selected"?Dt.selected=Yt&&typeof Yt!="function"&&typeof Yt!="symbol":Vo(Dt,Bt,Sr,Yt,$t,null));return;case"dialog":ro("beforetoggle",Dt),ro("toggle",Dt),ro("cancel",Dt),ro("close",Dt);break;case"iframe":case"object":ro("load",Dt);break;case"video":case"audio":for(Yt=0;Yt<ku.length;Yt++)ro(ku[Yt],Dt);break;case"image":ro("error",Dt),ro("load",Dt);break;case"details":ro("toggle",Dt);break;case"embed":case"source":case"link":ro("error",Dt),ro("load",Dt);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(Jr in $t)if($t.hasOwnProperty(Jr)&&(Yt=$t[Jr],Yt!=null))switch(Jr){case"children":case"dangerouslySetInnerHTML":throw Error(vt(137,Bt));default:Vo(Dt,Bt,Jr,Yt,$t,null)}return;default:if(Uo(Bt)){for(ui in $t)$t.hasOwnProperty(ui)&&(Yt=$t[ui],Yt!==void 0&&$f(Dt,Bt,ui,Yt,$t,void 0));return}}for(qn in $t)$t.hasOwnProperty(qn)&&(Yt=$t[qn],Yt!=null&&Vo(Dt,Bt,qn,Yt,$t,null))}function Fg(Dt,Bt,$t,Yt){switch(Bt){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var an=null,un=null,bn=null,qn=null,Sr=null,Jr=null,ui=null;for(oi in $t){var gi=$t[oi];if($t.hasOwnProperty(oi)&&gi!=null)switch(oi){case"checked":break;case"value":break;case"defaultValue":Sr=gi;default:Yt.hasOwnProperty(oi)||Vo(Dt,Bt,oi,null,Yt,gi)}}for(var ni in Yt){var oi=Yt[ni];if(gi=$t[ni],Yt.hasOwnProperty(ni)&&(oi!=null||gi!=null))switch(ni){case"type":un=oi;break;case"name":an=oi;break;case"checked":Jr=oi;break;case"defaultChecked":ui=oi;break;case"value":bn=oi;break;case"defaultValue":qn=oi;break;case"children":case"dangerouslySetInnerHTML":if(oi!=null)throw Error(vt(137,Bt));break;default:oi!==gi&&Vo(Dt,Bt,ni,oi,Yt,gi)}}wa(Dt,bn,qn,Sr,Jr,ui,un,an);return;case"select":oi=bn=qn=ni=null;for(un in $t)if(Sr=$t[un],$t.hasOwnProperty(un)&&Sr!=null)switch(un){case"value":break;case"multiple":oi=Sr;default:Yt.hasOwnProperty(un)||Vo(Dt,Bt,un,null,Yt,Sr)}for(an in Yt)if(un=Yt[an],Sr=$t[an],Yt.hasOwnProperty(an)&&(un!=null||Sr!=null))switch(an){case"value":ni=un;break;case"defaultValue":qn=un;break;case"multiple":bn=un;default:un!==Sr&&Vo(Dt,Bt,an,un,Yt,Sr)}Bt=qn,$t=bn,Yt=oi,ni!=null?Io(Dt,!!$t,ni,!1):!!Yt!=!!$t&&(Bt!=null?Io(Dt,!!$t,Bt,!0):Io(Dt,!!$t,$t?[]:"",!1));return;case"textarea":oi=ni=null;for(qn in $t)if(an=$t[qn],$t.hasOwnProperty(qn)&&an!=null&&!Yt.hasOwnProperty(qn))switch(qn){case"value":break;case"children":break;default:Vo(Dt,Bt,qn,null,Yt,an)}for(bn in Yt)if(an=Yt[bn],un=$t[bn],Yt.hasOwnProperty(bn)&&(an!=null||un!=null))switch(bn){case"value":ni=an;break;case"defaultValue":oi=an;break;case"children":break;case"dangerouslySetInnerHTML":if(an!=null)throw Error(vt(91));break;default:an!==un&&Vo(Dt,Bt,bn,an,Yt,un)}xo(Dt,ni,oi);return;case"option":for(var Ji in $t)ni=$t[Ji],$t.hasOwnProperty(Ji)&&ni!=null&&!Yt.hasOwnProperty(Ji)&&(Ji==="selected"?Dt.selected=!1:Vo(Dt,Bt,Ji,null,Yt,ni));for(Sr in Yt)ni=Yt[Sr],oi=$t[Sr],Yt.hasOwnProperty(Sr)&&ni!==oi&&(ni!=null||oi!=null)&&(Sr==="selected"?Dt.selected=ni&&typeof ni!="function"&&typeof ni!="symbol":Vo(Dt,Bt,Sr,ni,Yt,oi));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var _s in $t)ni=$t[_s],$t.hasOwnProperty(_s)&&ni!=null&&!Yt.hasOwnProperty(_s)&&Vo(Dt,Bt,_s,null,Yt,ni);for(Jr in Yt)if(ni=Yt[Jr],oi=$t[Jr],Yt.hasOwnProperty(Jr)&&ni!==oi&&(ni!=null||oi!=null))switch(Jr){case"children":case"dangerouslySetInnerHTML":if(ni!=null)throw Error(vt(137,Bt));break;default:Vo(Dt,Bt,Jr,ni,Yt,oi)}return;default:if(Uo(Bt)){for(var Go in $t)ni=$t[Go],$t.hasOwnProperty(Go)&&ni!==void 0&&!Yt.hasOwnProperty(Go)&&$f(Dt,Bt,Go,void 0,Yt,ni);for(ui in Yt)ni=Yt[ui],oi=$t[ui],!Yt.hasOwnProperty(ui)||ni===oi||ni===void 0&&oi===void 0||$f(Dt,Bt,ui,ni,Yt,oi);return}}for(var jr in $t)ni=$t[jr],$t.hasOwnProperty(jr)&&ni!=null&&!Yt.hasOwnProperty(jr)&&Vo(Dt,Bt,jr,null,Yt,ni);for(gi in Yt)ni=Yt[gi],oi=$t[gi],!Yt.hasOwnProperty(gi)||ni===oi||ni==null&&oi==null||Vo(Dt,Bt,gi,ni,Yt,oi)}function d0(Dt){switch(Dt){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function wg(){if(typeof performance.getEntriesByType=="function"){for(var Dt=0,Bt=0,$t=performance.getEntriesByType("resource"),Yt=0;Yt<$t.length;Yt++){var an=$t[Yt],un=an.transferSize,bn=an.initiatorType,qn=an.duration;if(un&&qn&&d0(bn)){for(bn=0,qn=an.responseEnd,Yt+=1;Yt<$t.length;Yt++){var Sr=$t[Yt],Jr=Sr.startTime;if(Jr>qn)break;var ui=Sr.transferSize,gi=Sr.initiatorType;ui&&d0(gi)&&(Sr=Sr.responseEnd,bn+=ui*(Sr<qn?1:(qn-Jr)/(Sr-Jr)))}if(--Yt,Bt+=8*(un+bn)/(an.duration/1e3),Dt++,10<Dt)break}}if(0<Dt)return Bt/Dt/1e6}return navigator.connection&&(Dt=navigator.connection.downlink,typeof Dt=="number")?Dt:5}var jf=null,Hf=null;function Ad(Dt){return Dt.nodeType===9?Dt:Dt.ownerDocument}function f0(Dt){switch(Dt){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function h0(Dt,Bt){if(Dt===0)switch(Bt){case"svg":return 1;case"math":return 2;default:return 0}return Dt===1&&Bt==="foreignObject"?0:Dt}function Wf(Dt,Bt){return Dt==="textarea"||Dt==="noscript"||typeof Bt.children=="string"||typeof Bt.children=="number"||typeof Bt.children=="bigint"||typeof Bt.dangerouslySetInnerHTML=="object"&&Bt.dangerouslySetInnerHTML!==null&&Bt.dangerouslySetInnerHTML.__html!=null}var Vf=null;function Sg(){var Dt=window.event;return Dt&&Dt.type==="popstate"?Dt===Vf?!1:(Vf=Dt,!0):(Vf=null,!1)}var p0=typeof setTimeout=="function"?setTimeout:void 0,Dg=typeof clearTimeout=="function"?clearTimeout:void 0,g0=typeof Promise=="function"?Promise:void 0,Tg=typeof queueMicrotask=="function"?queueMicrotask:typeof g0<"u"?function(Dt){return g0.resolve(null).then(Dt).catch(Rg)}:p0;function Rg(Dt){setTimeout(function(){throw Dt})}function Yc(Dt){return Dt==="head"}function m0(Dt,Bt){var $t=Bt,Yt=0;do{var an=$t.nextSibling;if(Dt.removeChild($t),an&&an.nodeType===8)if($t=an.data,$t==="/$"||$t==="/&"){if(Yt===0){Dt.removeChild(an),bu(Bt);return}Yt--}else if($t==="$"||$t==="$?"||$t==="$~"||$t==="$!"||$t==="&")Yt++;else if($t==="html")zu(Dt.ownerDocument.documentElement);else if($t==="head"){$t=Dt.ownerDocument.head,zu($t);for(var un=$t.firstChild;un;){var bn=un.nextSibling,qn=un.nodeName;un[xs]||qn==="SCRIPT"||qn==="STYLE"||qn==="LINK"&&un.rel.toLowerCase()==="stylesheet"||$t.removeChild(un),un=bn}}else $t==="body"&&zu(Dt.ownerDocument.body);$t=an}while($t);bu(Bt)}function E0(Dt,Bt){var $t=Dt;Dt=0;do{var Yt=$t.nextSibling;if($t.nodeType===1?Bt?($t._stashedDisplay=$t.style.display,$t.style.display="none"):($t.style.display=$t._stashedDisplay||"",$t.getAttribute("style")===""&&$t.removeAttribute("style")):$t.nodeType===3&&(Bt?($t._stashedText=$t.nodeValue,$t.nodeValue=""):$t.nodeValue=$t._stashedText||""),Yt&&Yt.nodeType===8)if($t=Yt.data,$t==="/$"){if(Dt===0)break;Dt--}else $t!=="$"&&$t!=="$?"&&$t!=="$~"&&$t!=="$!"||Dt++;$t=Yt}while($t)}function Gf(Dt){var Bt=Dt.firstChild;for(Bt&&Bt.nodeType===10&&(Bt=Bt.nextSibling);Bt;){var $t=Bt;switch(Bt=Bt.nextSibling,$t.nodeName){case"HTML":case"HEAD":case"BODY":Gf($t),$s($t);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if($t.rel.toLowerCase()==="stylesheet")continue}Dt.removeChild($t)}}function Bg(Dt,Bt,$t,Yt){for(;Dt.nodeType===1;){var an=$t;if(Dt.nodeName.toLowerCase()!==Bt.toLowerCase()){if(!Yt&&(Dt.nodeName!=="INPUT"||Dt.type!=="hidden"))break}else if(Yt){if(!Dt[xs])switch(Bt){case"meta":if(!Dt.hasAttribute("itemprop"))break;return Dt;case"link":if(un=Dt.getAttribute("rel"),un==="stylesheet"&&Dt.hasAttribute("data-precedence"))break;if(un!==an.rel||Dt.getAttribute("href")!==(an.href==null||an.href===""?null:an.href)||Dt.getAttribute("crossorigin")!==(an.crossOrigin==null?null:an.crossOrigin)||Dt.getAttribute("title")!==(an.title==null?null:an.title))break;return Dt;case"style":if(Dt.hasAttribute("data-precedence"))break;return Dt;case"script":if(un=Dt.getAttribute("src"),(un!==(an.src==null?null:an.src)||Dt.getAttribute("type")!==(an.type==null?null:an.type)||Dt.getAttribute("crossorigin")!==(an.crossOrigin==null?null:an.crossOrigin))&&un&&Dt.hasAttribute("async")&&!Dt.hasAttribute("itemprop"))break;return Dt;default:return Dt}}else if(Bt==="input"&&Dt.type==="hidden"){var un=an.name==null?null:""+an.name;if(an.type==="hidden"&&Dt.getAttribute("name")===un)return Dt}else return Dt;if(Dt=gc(Dt.nextSibling),Dt===null)break}return null}function Mg(Dt,Bt,$t){if(Bt==="")return null;for(;Dt.nodeType!==3;)if((Dt.nodeType!==1||Dt.nodeName!=="INPUT"||Dt.type!=="hidden")&&!$t||(Dt=gc(Dt.nextSibling),Dt===null))return null;return Dt}function y0(Dt,Bt){for(;Dt.nodeType!==8;)if((Dt.nodeType!==1||Dt.nodeName!=="INPUT"||Dt.type!=="hidden")&&!Bt||(Dt=gc(Dt.nextSibling),Dt===null))return null;return Dt}function qf(Dt){return Dt.data==="$?"||Dt.data==="$~"}function Yf(Dt){return Dt.data==="$!"||Dt.data==="$?"&&Dt.ownerDocument.readyState!=="loading"}function Ig(Dt,Bt){var $t=Dt.ownerDocument;if(Dt.data==="$~")Dt._reactRetry=Bt;else if(Dt.data!=="$?"||$t.readyState!=="loading")Bt();else{var Yt=function(){Bt(),$t.removeEventListener("DOMContentLoaded",Yt)};$t.addEventListener("DOMContentLoaded",Yt),Dt._reactRetry=Yt}}function gc(Dt){for(;Dt!=null;Dt=Dt.nextSibling){var Bt=Dt.nodeType;if(Bt===1||Bt===3)break;if(Bt===8){if(Bt=Dt.data,Bt==="$"||Bt==="$!"||Bt==="$?"||Bt==="$~"||Bt==="&"||Bt==="F!"||Bt==="F")break;if(Bt==="/$"||Bt==="/&")return null}}return Dt}var Xf=null;function _0(Dt){Dt=Dt.nextSibling;for(var Bt=0;Dt;){if(Dt.nodeType===8){var $t=Dt.data;if($t==="/$"||$t==="/&"){if(Bt===0)return gc(Dt.nextSibling);Bt--}else $t!=="$"&&$t!=="$!"&&$t!=="$?"&&$t!=="$~"&&$t!=="&"||Bt++}Dt=Dt.nextSibling}return null}function x0(Dt){Dt=Dt.previousSibling;for(var Bt=0;Dt;){if(Dt.nodeType===8){var $t=Dt.data;if($t==="$"||$t==="$!"||$t==="$?"||$t==="$~"||$t==="&"){if(Bt===0)return Dt;Bt--}else $t!=="/$"&&$t!=="/&"||Bt++}Dt=Dt.previousSibling}return null}function v0(Dt,Bt,$t){switch(Bt=Ad($t),Dt){case"html":if(Dt=Bt.documentElement,!Dt)throw Error(vt(452));return Dt;case"head":if(Dt=Bt.head,!Dt)throw Error(vt(453));return Dt;case"body":if(Dt=Bt.body,!Dt)throw Error(vt(454));return Dt;default:throw Error(vt(451))}}function zu(Dt){for(var Bt=Dt.attributes;Bt.length;)Dt.removeAttributeNode(Bt[0]);$s(Dt)}var mc=new Map,b0=new Set;function Cd(Dt){return typeof Dt.getRootNode=="function"?Dt.getRootNode():Dt.nodeType===9?Dt:Dt.ownerDocument}var kc=nn.d;nn.d={f:Og,r:Pg,D:Lg,C:kg,L:Ng,m:zg,X:$g,S:Ug,M:jg};function Og(){var Dt=kc.f(),Bt=gd();return Dt||Bt}function Pg(Dt){var Bt=Hs(Dt);Bt!==null&&Bt.tag===5&&Bt.type==="form"?zh(Bt):kc.r(Dt)}var _u=typeof document>"u"?null:document;function A0(Dt,Bt,$t){var Yt=_u;if(Yt&&typeof Bt=="string"&&Bt){var an=cs(Bt);an='link[rel="'+Dt+'"][href="'+an+'"]',typeof $t=="string"&&(an+='[crossorigin="'+$t+'"]'),b0.has(an)||(b0.add(an),Dt={rel:Dt,crossOrigin:$t,href:Bt},Yt.querySelector(an)===null&&(Bt=Yt.createElement("link"),Al(Bt,"link",Dt),Ds(Bt),Yt.head.appendChild(Bt)))}}function Lg(Dt){kc.D(Dt),A0("dns-prefetch",Dt,null)}function kg(Dt,Bt){kc.C(Dt,Bt),A0("preconnect",Dt,Bt)}function Ng(Dt,Bt,$t){kc.L(Dt,Bt,$t);var Yt=_u;if(Yt&&Dt&&Bt){var an='link[rel="preload"][as="'+cs(Bt)+'"]';Bt==="image"&&$t&&$t.imageSrcSet?(an+='[imagesrcset="'+cs($t.imageSrcSet)+'"]',typeof $t.imageSizes=="string"&&(an+='[imagesizes="'+cs($t.imageSizes)+'"]')):an+='[href="'+cs(Dt)+'"]';var un=an;switch(Bt){case"style":un=xu(Dt);break;case"script":un=vu(Dt)}mc.has(un)||(Dt=Rt({rel:"preload",href:Bt==="image"&&$t&&$t.imageSrcSet?void 0:Dt,as:Bt},$t),mc.set(un,Dt),Yt.querySelector(an)!==null||Bt==="style"&&Yt.querySelector(Uu(un))||Bt==="script"&&Yt.querySelector($u(un))||(Bt=Yt.createElement("link"),Al(Bt,"link",Dt),Ds(Bt),Yt.head.appendChild(Bt)))}}function zg(Dt,Bt){kc.m(Dt,Bt);var $t=_u;if($t&&Dt){var Yt=Bt&&typeof Bt.as=="string"?Bt.as:"script",an='link[rel="modulepreload"][as="'+cs(Yt)+'"][href="'+cs(Dt)+'"]',un=an;switch(Yt){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":un=vu(Dt)}if(!mc.has(un)&&(Dt=Rt({rel:"modulepreload",href:Dt},Bt),mc.set(un,Dt),$t.querySelector(an)===null)){switch(Yt){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if($t.querySelector($u(un)))return}Yt=$t.createElement("link"),Al(Yt,"link",Dt),Ds(Yt),$t.head.appendChild(Yt)}}}function Ug(Dt,Bt,$t){kc.S(Dt,Bt,$t);var Yt=_u;if(Yt&&Dt){var an=Es(Yt).hoistableStyles,un=xu(Dt);Bt=Bt||"default";var bn=an.get(un);if(!bn){var qn={loading:0,preload:null};if(bn=Yt.querySelector(Uu(un)))qn.loading=5;else{Dt=Rt({rel:"stylesheet",href:Dt,"data-precedence":Bt},$t),($t=mc.get(un))&&Kf(Dt,$t);var Sr=bn=Yt.createElement("link");Ds(Sr),Al(Sr,"link",Dt),Sr._p=new Promise(function(Jr,ui){Sr.onload=Jr,Sr.onerror=ui}),Sr.addEventListener("load",function(){qn.loading|=1}),Sr.addEventListener("error",function(){qn.loading|=2}),qn.loading|=4,Fd(bn,Bt,Yt)}bn={type:"stylesheet",instance:bn,count:1,state:qn},an.set(un,bn)}}}function $g(Dt,Bt){kc.X(Dt,Bt);var $t=_u;if($t&&Dt){var Yt=Es($t).hoistableScripts,an=vu(Dt),un=Yt.get(an);un||(un=$t.querySelector($u(an)),un||(Dt=Rt({src:Dt,async:!0},Bt),(Bt=mc.get(an))&&Zf(Dt,Bt),un=$t.createElement("script"),Ds(un),Al(un,"link",Dt),$t.head.appendChild(un)),un={type:"script",instance:un,count:1,state:null},Yt.set(an,un))}}function jg(Dt,Bt){kc.M(Dt,Bt);var $t=_u;if($t&&Dt){var Yt=Es($t).hoistableScripts,an=vu(Dt),un=Yt.get(an);un||(un=$t.querySelector($u(an)),un||(Dt=Rt({src:Dt,async:!0,type:"module"},Bt),(Bt=mc.get(an))&&Zf(Dt,Bt),un=$t.createElement("script"),Ds(un),Al(un,"link",Dt),$t.head.appendChild(un)),un={type:"script",instance:un,count:1,state:null},Yt.set(an,un))}}function C0(Dt,Bt,$t,Yt){var an=(an=yn.current)?Cd(an):null;if(!an)throw Error(vt(446));switch(Dt){case"meta":case"title":return null;case"style":return typeof $t.precedence=="string"&&typeof $t.href=="string"?(Bt=xu($t.href),$t=Es(an).hoistableStyles,Yt=$t.get(Bt),Yt||(Yt={type:"style",instance:null,count:0,state:null},$t.set(Bt,Yt)),Yt):{type:"void",instance:null,count:0,state:null};case"link":if($t.rel==="stylesheet"&&typeof $t.href=="string"&&typeof $t.precedence=="string"){Dt=xu($t.href);var un=Es(an).hoistableStyles,bn=un.get(Dt);if(bn||(an=an.ownerDocument||an,bn={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},un.set(Dt,bn),(un=an.querySelector(Uu(Dt)))&&!un._p&&(bn.instance=un,bn.state.loading=5),mc.has(Dt)||($t={rel:"preload",as:"style",href:$t.href,crossOrigin:$t.crossOrigin,integrity:$t.integrity,media:$t.media,hrefLang:$t.hrefLang,referrerPolicy:$t.referrerPolicy},mc.set(Dt,$t),un||Hg(an,Dt,$t,bn.state))),Bt&&Yt===null)throw Error(vt(528,""));return bn}if(Bt&&Yt!==null)throw Error(vt(529,""));return null;case"script":return Bt=$t.async,$t=$t.src,typeof $t=="string"&&Bt&&typeof Bt!="function"&&typeof Bt!="symbol"?(Bt=vu($t),$t=Es(an).hoistableScripts,Yt=$t.get(Bt),Yt||(Yt={type:"script",instance:null,count:0,state:null},$t.set(Bt,Yt)),Yt):{type:"void",instance:null,count:0,state:null};default:throw Error(vt(444,Dt))}}function xu(Dt){return'href="'+cs(Dt)+'"'}function Uu(Dt){return'link[rel="stylesheet"]['+Dt+"]"}function F0(Dt){return Rt({},Dt,{"data-precedence":Dt.precedence,precedence:null})}function Hg(Dt,Bt,$t,Yt){Dt.querySelector('link[rel="preload"][as="style"]['+Bt+"]")?Yt.loading=1:(Bt=Dt.createElement("link"),Yt.preload=Bt,Bt.addEventListener("load",function(){return Yt.loading|=1}),Bt.addEventListener("error",function(){return Yt.loading|=2}),Al(Bt,"link",$t),Ds(Bt),Dt.head.appendChild(Bt))}function vu(Dt){return'[src="'+cs(Dt)+'"]'}function $u(Dt){return"script[async]"+Dt}function w0(Dt,Bt,$t){if(Bt.count++,Bt.instance===null)switch(Bt.type){case"style":var Yt=Dt.querySelector('style[data-href~="'+cs($t.href)+'"]');if(Yt)return Bt.instance=Yt,Ds(Yt),Yt;var an=Rt({},$t,{"data-href":$t.href,"data-precedence":$t.precedence,href:null,precedence:null});return Yt=(Dt.ownerDocument||Dt).createElement("style"),Ds(Yt),Al(Yt,"style",an),Fd(Yt,$t.precedence,Dt),Bt.instance=Yt;case"stylesheet":an=xu($t.href);var un=Dt.querySelector(Uu(an));if(un)return Bt.state.loading|=4,Bt.instance=un,Ds(un),un;Yt=F0($t),(an=mc.get(an))&&Kf(Yt,an),un=(Dt.ownerDocument||Dt).createElement("link"),Ds(un);var bn=un;return bn._p=new Promise(function(qn,Sr){bn.onload=qn,bn.onerror=Sr}),Al(un,"link",Yt),Bt.state.loading|=4,Fd(un,$t.precedence,Dt),Bt.instance=un;case"script":return un=vu($t.src),(an=Dt.querySelector($u(un)))?(Bt.instance=an,Ds(an),an):(Yt=$t,(an=mc.get(un))&&(Yt=Rt({},$t),Zf(Yt,an)),Dt=Dt.ownerDocument||Dt,an=Dt.createElement("script"),Ds(an),Al(an,"link",Yt),Dt.head.appendChild(an),Bt.instance=an);case"void":return null;default:throw Error(vt(443,Bt.type))}else Bt.type==="stylesheet"&&(Bt.state.loading&4)===0&&(Yt=Bt.instance,Bt.state.loading|=4,Fd(Yt,$t.precedence,Dt));return Bt.instance}function Fd(Dt,Bt,$t){for(var Yt=$t.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),an=Yt.length?Yt[Yt.length-1]:null,un=an,bn=0;bn<Yt.length;bn++){var qn=Yt[bn];if(qn.dataset.precedence===Bt)un=qn;else if(un!==an)break}un?un.parentNode.insertBefore(Dt,un.nextSibling):(Bt=$t.nodeType===9?$t.head:$t,Bt.insertBefore(Dt,Bt.firstChild))}function Kf(Dt,Bt){Dt.crossOrigin==null&&(Dt.crossOrigin=Bt.crossOrigin),Dt.referrerPolicy==null&&(Dt.referrerPolicy=Bt.referrerPolicy),Dt.title==null&&(Dt.title=Bt.title)}function Zf(Dt,Bt){Dt.crossOrigin==null&&(Dt.crossOrigin=Bt.crossOrigin),Dt.referrerPolicy==null&&(Dt.referrerPolicy=Bt.referrerPolicy),Dt.integrity==null&&(Dt.integrity=Bt.integrity)}var wd=null;function S0(Dt,Bt,$t){if(wd===null){var Yt=new Map,an=wd=new Map;an.set($t,Yt)}else an=wd,Yt=an.get($t),Yt||(Yt=new Map,an.set($t,Yt));if(Yt.has(Dt))return Yt;for(Yt.set(Dt,null),$t=$t.getElementsByTagName(Dt),an=0;an<$t.length;an++){var un=$t[an];if(!(un[xs]||un[mi]||Dt==="link"&&un.getAttribute("rel")==="stylesheet")&&un.namespaceURI!=="http://www.w3.org/2000/svg"){var bn=un.getAttribute(Bt)||"";bn=Dt+bn;var qn=Yt.get(bn);qn?qn.push(un):Yt.set(bn,[un])}}return Yt}function D0(Dt,Bt,$t){Dt=Dt.ownerDocument||Dt,Dt.head.insertBefore($t,Bt==="title"?Dt.querySelector("head > title"):null)}function Wg(Dt,Bt,$t){if($t===1||Bt.itemProp!=null)return!1;switch(Dt){case"meta":case"title":return!0;case"style":if(typeof Bt.precedence!="string"||typeof Bt.href!="string"||Bt.href==="")break;return!0;case"link":if(typeof Bt.rel!="string"||typeof Bt.href!="string"||Bt.href===""||Bt.onLoad||Bt.onError)break;return Bt.rel==="stylesheet"?(Dt=Bt.disabled,typeof Bt.precedence=="string"&&Dt==null):!0;case"script":if(Bt.async&&typeof Bt.async!="function"&&typeof Bt.async!="symbol"&&!Bt.onLoad&&!Bt.onError&&Bt.src&&typeof Bt.src=="string")return!0}return!1}function T0(Dt){return!(Dt.type==="stylesheet"&&(Dt.state.loading&3)===0)}function Vg(Dt,Bt,$t,Yt){if($t.type==="stylesheet"&&(typeof Yt.media!="string"||matchMedia(Yt.media).matches!==!1)&&($t.state.loading&4)===0){if($t.instance===null){var an=xu(Yt.href),un=Bt.querySelector(Uu(an));if(un){Bt=un._p,Bt!==null&&typeof Bt=="object"&&typeof Bt.then=="function"&&(Dt.count++,Dt=Sd.bind(Dt),Bt.then(Dt,Dt)),$t.state.loading|=4,$t.instance=un,Ds(un);return}un=Bt.ownerDocument||Bt,Yt=F0(Yt),(an=mc.get(an))&&Kf(Yt,an),un=un.createElement("link"),Ds(un);var bn=un;bn._p=new Promise(function(qn,Sr){bn.onload=qn,bn.onerror=Sr}),Al(un,"link",Yt),$t.instance=un}Dt.stylesheets===null&&(Dt.stylesheets=new Map),Dt.stylesheets.set($t,Bt),(Bt=$t.state.preload)&&($t.state.loading&3)===0&&(Dt.count++,$t=Sd.bind(Dt),Bt.addEventListener("load",$t),Bt.addEventListener("error",$t))}}var Qf=0;function Gg(Dt,Bt){return Dt.stylesheets&&Dt.count===0&&Td(Dt,Dt.stylesheets),0<Dt.count||0<Dt.imgCount?function($t){var Yt=setTimeout(function(){if(Dt.stylesheets&&Td(Dt,Dt.stylesheets),Dt.unsuspend){var un=Dt.unsuspend;Dt.unsuspend=null,un()}},6e4+Bt);0<Dt.imgBytes&&Qf===0&&(Qf=62500*wg());var an=setTimeout(function(){if(Dt.waitingForImages=!1,Dt.count===0&&(Dt.stylesheets&&Td(Dt,Dt.stylesheets),Dt.unsuspend)){var un=Dt.unsuspend;Dt.unsuspend=null,un()}},(Dt.imgBytes>Qf?50:800)+Bt);return Dt.unsuspend=$t,function(){Dt.unsuspend=null,clearTimeout(Yt),clearTimeout(an)}}:null}function Sd(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Td(this,this.stylesheets);else if(this.unsuspend){var Dt=this.unsuspend;this.unsuspend=null,Dt()}}}var Dd=null;function Td(Dt,Bt){Dt.stylesheets=null,Dt.unsuspend!==null&&(Dt.count++,Dd=new Map,Bt.forEach(qg,Dt),Dd=null,Sd.call(Dt))}function qg(Dt,Bt){if(!(Bt.state.loading&4)){var $t=Dd.get(Dt);if($t)var Yt=$t.get(null);else{$t=new Map,Dd.set(Dt,$t);for(var an=Dt.querySelectorAll("link[data-precedence],style[data-precedence]"),un=0;un<an.length;un++){var bn=an[un];(bn.nodeName==="LINK"||bn.getAttribute("media")!=="not all")&&($t.set(bn.dataset.precedence,bn),Yt=bn)}Yt&&$t.set(null,Yt)}an=Bt.instance,bn=an.getAttribute("data-precedence"),un=$t.get(bn)||Yt,un===Yt&&$t.set(null,an),$t.set(bn,an),this.count++,Yt=Sd.bind(this),an.addEventListener("load",Yt),an.addEventListener("error",Yt),un?un.parentNode.insertBefore(an,un.nextSibling):(Dt=Dt.nodeType===9?Dt.head:Dt,Dt.insertBefore(an,Dt.firstChild)),Bt.state.loading|=4}}var ju={$$typeof:Ut,Provider:null,Consumer:null,_currentValue:rn,_currentValue2:rn,_threadCount:0};function Yg(Dt,Bt,$t,Yt,an,un,bn,qn,Sr){this.tag=1,this.containerInfo=Dt,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=gr(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gr(0),this.hiddenUpdates=gr(null),this.identifierPrefix=Yt,this.onUncaughtError=an,this.onCaughtError=un,this.onRecoverableError=bn,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=Sr,this.incompleteTransitions=new Map}function R0(Dt,Bt,$t,Yt,an,un,bn,qn,Sr,Jr,ui,gi){return Dt=new Yg(Dt,Bt,$t,bn,Sr,Jr,ui,gi,qn),Bt=1,un===!0&&(Bt|=24),un=Ks(3,null,null,Bt),Dt.current=un,un.stateNode=Dt,Bt=tc(),Bt.refCount++,Dt.pooledCache=Bt,Bt.refCount++,un.memoizedState={element:Yt,isDehydrated:$t,cache:Bt},pa(un),Dt}function B0(Dt){return Dt?(Dt=Ai,Dt):Ai}function M0(Dt,Bt,$t,Yt,an,un){an=B0(an),Yt.context===null?Yt.context=an:Yt.pendingContext=an,Yt=Js(Bt),Yt.payload={element:$t},un=un===void 0?null:un,un!==null&&(Yt.callback=un),$t=Gr(Dt,Yt,Bt),$t!==null&&(Kl($t,Dt,Bt),Ti($t,Dt,Bt))}function I0(Dt,Bt){if(Dt=Dt.memoizedState,Dt!==null&&Dt.dehydrated!==null){var $t=Dt.retryLane;Dt.retryLane=$t!==0&&$t<Bt?$t:Bt}}function Jf(Dt,Bt){I0(Dt,Bt),(Dt=Dt.alternate)&&I0(Dt,Bt)}function O0(Dt){if(Dt.tag===13||Dt.tag===31){var Bt=Qi(Dt,67108864);Bt!==null&&Kl(Bt,Dt,67108864),Jf(Dt,67108864)}}function P0(Dt){if(Dt.tag===13||Dt.tag===31){var Bt=ac();Bt=ki(Bt);var $t=Qi(Dt,Bt);$t!==null&&Kl($t,Dt,Bt),Jf(Dt,Bt)}}var Rd=!0;function Xg(Dt,Bt,$t,Yt){var an=Zt.T;Zt.T=null;var un=nn.p;try{nn.p=2,eh(Dt,Bt,$t,Yt)}finally{nn.p=un,Zt.T=an}}function Kg(Dt,Bt,$t,Yt){var an=Zt.T;Zt.T=null;var un=nn.p;try{nn.p=8,eh(Dt,Bt,$t,Yt)}finally{nn.p=un,Zt.T=an}}function eh(Dt,Bt,$t,Yt){if(Rd){var an=th(Yt);if(an===null)Uf(Dt,Bt,Yt,Bd,$t),k0(Dt,Yt);else if(Qg(an,Dt,Bt,$t,Yt))Yt.stopPropagation();else if(k0(Dt,Yt),Bt&4&&-1<Zg.indexOf(Dt)){for(;an!==null;){var un=Hs(an);if(un!==null)switch(un.tag){case 3:if(un=un.stateNode,un.current.memoizedState.isDehydrated){var bn=hn(un.pendingLanes);if(bn!==0){var qn=un;for(qn.pendingLanes|=2,qn.entangledLanes|=2;bn;){var Sr=1<<31-Xn(bn);qn.entanglements[1]|=Sr,bn&=~Sr}Fc(un),(So&6)===0&&(hd=Dr()+500,Lu(0))}}break;case 31:case 13:qn=Qi(un,2),qn!==null&&Kl(qn,un,2),gd(),Jf(un,2)}if(un=th(Yt),un===null&&Uf(Dt,Bt,Yt,Bd,$t),un===an)break;an=un}an!==null&&Yt.stopPropagation()}else Uf(Dt,Bt,Yt,null,$t)}}function th(Dt){return Dt=qo(Dt),nh(Dt)}var Bd=null;function nh(Dt){if(Bd=null,Dt=Is(Dt),Dt!==null){var Bt=At(Dt);if(Bt===null)Dt=null;else{var $t=Bt.tag;if($t===13){if(Dt=Ft(Bt),Dt!==null)return Dt;Dt=null}else if($t===31){if(Dt=Ct(Bt),Dt!==null)return Dt;Dt=null}else if($t===3){if(Bt.stateNode.current.memoizedState.isDehydrated)return Bt.tag===3?Bt.stateNode.containerInfo:null;Dt=null}else Bt!==Dt&&(Dt=null)}}return Bd=Dt,null}function L0(Dt){switch(Dt){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(ar()){case Qn:return 2;case Cn:return 8;case Bn:case In:return 32;case or:return 268435456;default:return 32}default:return 32}}var rh=!1,Xc=null,Kc=null,Zc=null,Hu=new Map,Wu=new Map,Qc=[],Zg="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function k0(Dt,Bt){switch(Dt){case"focusin":case"focusout":Xc=null;break;case"dragenter":case"dragleave":Kc=null;break;case"mouseover":case"mouseout":Zc=null;break;case"pointerover":case"pointerout":Hu.delete(Bt.pointerId);break;case"gotpointercapture":case"lostpointercapture":Wu.delete(Bt.pointerId)}}function Vu(Dt,Bt,$t,Yt,an,un){return Dt===null||Dt.nativeEvent!==un?(Dt={blockedOn:Bt,domEventName:$t,eventSystemFlags:Yt,nativeEvent:un,targetContainers:[an]},Bt!==null&&(Bt=Hs(Bt),Bt!==null&&O0(Bt)),Dt):(Dt.eventSystemFlags|=Yt,Bt=Dt.targetContainers,an!==null&&Bt.indexOf(an)===-1&&Bt.push(an),Dt)}function Qg(Dt,Bt,$t,Yt,an){switch(Bt){case"focusin":return Xc=Vu(Xc,Dt,Bt,$t,Yt,an),!0;case"dragenter":return Kc=Vu(Kc,Dt,Bt,$t,Yt,an),!0;case"mouseover":return Zc=Vu(Zc,Dt,Bt,$t,Yt,an),!0;case"pointerover":var un=an.pointerId;return Hu.set(un,Vu(Hu.get(un)||null,Dt,Bt,$t,Yt,an)),!0;case"gotpointercapture":return un=an.pointerId,Wu.set(un,Vu(Wu.get(un)||null,Dt,Bt,$t,Yt,an)),!0}return!1}function N0(Dt){var Bt=Is(Dt.target);if(Bt!==null){var $t=At(Bt);if($t!==null){if(Bt=$t.tag,Bt===13){if(Bt=Ft($t),Bt!==null){Dt.blockedOn=Bt,ci(Dt.priority,function(){P0($t)});return}}else if(Bt===31){if(Bt=Ct($t),Bt!==null){Dt.blockedOn=Bt,ci(Dt.priority,function(){P0($t)});return}}else if(Bt===3&&$t.stateNode.current.memoizedState.isDehydrated){Dt.blockedOn=$t.tag===3?$t.stateNode.containerInfo:null;return}}}Dt.blockedOn=null}function Md(Dt){if(Dt.blockedOn!==null)return!1;for(var Bt=Dt.targetContainers;0<Bt.length;){var $t=th(Dt.nativeEvent);if($t===null){$t=Dt.nativeEvent;var Yt=new $t.constructor($t.type,$t);al=Yt,$t.target.dispatchEvent(Yt),al=null}else return Bt=Hs($t),Bt!==null&&O0(Bt),Dt.blockedOn=$t,!1;Bt.shift()}return!0}function z0(Dt,Bt,$t){Md(Dt)&&$t.delete(Bt)}function Jg(){rh=!1,Xc!==null&&Md(Xc)&&(Xc=null),Kc!==null&&Md(Kc)&&(Kc=null),Zc!==null&&Md(Zc)&&(Zc=null),Hu.forEach(z0),Wu.forEach(z0)}function Id(Dt,Bt){Dt.blockedOn===Bt&&(Dt.blockedOn=null,rh||(rh=!0,yt.unstable_scheduleCallback(yt.unstable_NormalPriority,Jg)))}var Od=null;function U0(Dt){Od!==Dt&&(Od=Dt,yt.unstable_scheduleCallback(yt.unstable_NormalPriority,function(){Od===Dt&&(Od=null);for(var Bt=0;Bt<Dt.length;Bt+=3){var $t=Dt[Bt],Yt=Dt[Bt+1],an=Dt[Bt+2];if(typeof Yt!="function"){if(nh(Yt||$t)===null)continue;break}var un=Hs($t);un!==null&&(Dt.splice(Bt,3),Bt-=3,ef(un,{pending:!0,data:an,method:$t.method,action:Yt},Yt,an))}}))}function bu(Dt){function Bt(Sr){return Id(Sr,Dt)}Xc!==null&&Id(Xc,Dt),Kc!==null&&Id(Kc,Dt),Zc!==null&&Id(Zc,Dt),Hu.forEach(Bt),Wu.forEach(Bt);for(var $t=0;$t<Qc.length;$t++){var Yt=Qc[$t];Yt.blockedOn===Dt&&(Yt.blockedOn=null)}for(;0<Qc.length&&($t=Qc[0],$t.blockedOn===null);)N0($t),$t.blockedOn===null&&Qc.shift();if($t=(Dt.ownerDocument||Dt).$$reactFormReplay,$t!=null)for(Yt=0;Yt<$t.length;Yt+=3){var an=$t[Yt],un=$t[Yt+1],bn=an[wi]||null;if(typeof un=="function")bn||U0($t);else if(bn){var qn=null;if(un&&un.hasAttribute("formAction")){if(an=un,bn=un[wi]||null)qn=bn.formAction;else if(nh(an)!==null)continue}else qn=bn.action;typeof qn=="function"?$t[Yt+1]=qn:($t.splice(Yt,3),Yt-=3),U0($t)}}}function $0(){function Dt(un){un.canIntercept&&un.info==="react-transition"&&un.intercept({handler:function(){return new Promise(function(bn){return an=bn})},focusReset:"manual",scroll:"manual"})}function Bt(){an!==null&&(an(),an=null),Yt||setTimeout($t,20)}function $t(){if(!Yt&&!navigation.transition){var un=navigation.currentEntry;un&&un.url!=null&&navigation.navigate(un.url,{state:un.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var Yt=!1,an=null;return navigation.addEventListener("navigate",Dt),navigation.addEventListener("navigatesuccess",Bt),navigation.addEventListener("navigateerror",Bt),setTimeout($t,100),function(){Yt=!0,navigation.removeEventListener("navigate",Dt),navigation.removeEventListener("navigatesuccess",Bt),navigation.removeEventListener("navigateerror",Bt),an!==null&&(an(),an=null)}}}function ih(Dt){this._internalRoot=Dt}Pd.prototype.render=ih.prototype.render=function(Dt){var Bt=this._internalRoot;if(Bt===null)throw Error(vt(409));var $t=Bt.current,Yt=ac();M0($t,Yt,Dt,Bt,null,null)},Pd.prototype.unmount=ih.prototype.unmount=function(){var Dt=this._internalRoot;if(Dt!==null){this._internalRoot=null;var Bt=Dt.containerInfo;M0(Dt.current,2,null,Dt,null,null),gd(),Bt[vi]=null}};function Pd(Dt){this._internalRoot=Dt}Pd.prototype.unstable_scheduleHydration=function(Dt){if(Dt){var Bt=_i();Dt={blockedOn:null,target:Dt,priority:Bt};for(var $t=0;$t<Qc.length&&Bt!==0&&Bt<Qc[$t].priority;$t++);Qc.splice($t,0,Dt),$t===0&&N0(Dt)}};var j0=Et.version;if(j0!=="19.2.4")throw Error(vt(527,j0,"19.2.4"));nn.findDOMNode=function(Dt){var Bt=Dt._reactInternals;if(Bt===void 0)throw typeof Dt.render=="function"?Error(vt(188)):(Dt=Object.keys(Dt).join(","),Error(vt(268,Dt)));return Dt=St(Bt),Dt=Dt!==null?Tt(Dt):null,Dt=Dt===null?null:Dt.stateNode,Dt};var em={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:Zt,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Ld=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Ld.isDisabled&&Ld.supportsFiber)try{cr=Ld.inject(em),gn=Ld}catch{}}return reactDomClient_production.createRoot=function(Dt,Bt){if(!bt(Dt))throw Error(vt(299));var $t=!1,Yt="",an=Xh,un=Kh,bn=Zh;return Bt!=null&&(Bt.unstable_strictMode===!0&&($t=!0),Bt.identifierPrefix!==void 0&&(Yt=Bt.identifierPrefix),Bt.onUncaughtError!==void 0&&(an=Bt.onUncaughtError),Bt.onCaughtError!==void 0&&(un=Bt.onCaughtError),Bt.onRecoverableError!==void 0&&(bn=Bt.onRecoverableError)),Bt=R0(Dt,1,!1,null,null,$t,Yt,null,an,un,bn,$0),Dt[vi]=Bt.current,zf(Dt),new ih(Bt)},reactDomClient_production.hydrateRoot=function(Dt,Bt,$t){if(!bt(Dt))throw Error(vt(299));var Yt=!1,an="",un=Xh,bn=Kh,qn=Zh,Sr=null;return $t!=null&&($t.unstable_strictMode===!0&&(Yt=!0),$t.identifierPrefix!==void 0&&(an=$t.identifierPrefix),$t.onUncaughtError!==void 0&&(un=$t.onUncaughtError),$t.onCaughtError!==void 0&&(bn=$t.onCaughtError),$t.onRecoverableError!==void 0&&(qn=$t.onRecoverableError),$t.formState!==void 0&&(Sr=$t.formState)),Bt=R0(Dt,1,!0,Bt,$t??null,Yt,an,Sr,un,bn,qn,$0),Bt.context=B0(null),$t=Bt.current,Yt=ac(),Yt=ki(Yt),an=Js(Yt),an.callback=null,Gr($t,an,Yt),$t=Yt,Bt.current.lanes=$t,ii(Bt,$t),Fc(Bt),Dt[vi]=Bt.current,zf(Dt),new Pd(Bt)},reactDomClient_production.version="19.2.4",reactDomClient_production}var hasRequiredClient;function requireClient(){if(hasRequiredClient)return client.exports;hasRequiredClient=1;function yt(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(yt)}catch(Et){console.error(Et)}}return yt(),client.exports=requireReactDomClient_production(),client.exports}var clientExports=requireClient();const ReactDOM$1=getDefaultExportFromCjs(clientExports);var jsxRuntime={exports:{}},reactJsxRuntime_production={};var hasRequiredReactJsxRuntime_production;function requireReactJsxRuntime_production(){if(hasRequiredReactJsxRuntime_production)return reactJsxRuntime_production;hasRequiredReactJsxRuntime_production=1;var yt=Symbol.for("react.transitional.element"),Et=Symbol.for("react.fragment");function xt(vt,bt,At){var Ft=null;if(At!==void 0&&(Ft=""+At),bt.key!==void 0&&(Ft=""+bt.key),"key"in bt){At={};for(var Ct in bt)Ct!=="key"&&(At[Ct]=bt[Ct])}else At=bt;return bt=At.ref,{$$typeof:yt,type:vt,key:Ft,ref:bt!==void 0?bt:null,props:At}}return reactJsxRuntime_production.Fragment=Et,reactJsxRuntime_production.jsx=xt,reactJsxRuntime_production.jsxs=xt,reactJsxRuntime_production}var hasRequiredJsxRuntime;function requireJsxRuntime(){return hasRequiredJsxRuntime||(hasRequiredJsxRuntime=1,jsxRuntime.exports=requireReactJsxRuntime_production()),jsxRuntime.exports}var jsxRuntimeExports=requireJsxRuntime();const toKebabCase=yt=>yt.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),toCamelCase=yt=>yt.replace(/^([A-Z])|[\s-_]+(\w)/g,(Et,xt,vt)=>vt?vt.toUpperCase():xt.toLowerCase()),toPascalCase=yt=>{const Et=toCamelCase(yt);return Et.charAt(0).toUpperCase()+Et.slice(1)},mergeClasses=(...yt)=>yt.filter((Et,xt,vt)=>!!Et&&Et.trim()!==""&&vt.indexOf(Et)===xt).join(" ").trim(),hasA11yProp=yt=>{for(const Et in yt)if(Et.startsWith("aria-")||Et==="role"||Et==="title")return!0};var defaultAttributes={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const Icon$1=reactExports.forwardRef(({color:yt="currentColor",size:Et=24,strokeWidth:xt=2,absoluteStrokeWidth:vt,className:bt="",children:At,iconNode:Ft,...Ct},wt)=>reactExports.createElement("svg",{ref:wt,...defaultAttributes,width:Et,height:Et,stroke:yt,strokeWidth:vt?Number(xt)*24/Number(Et):xt,className:mergeClasses("lucide",bt),...!At&&!hasA11yProp(Ct)&&{"aria-hidden":"true"},...Ct},[...Ft.map(([St,Tt])=>reactExports.createElement(St,Tt)),...Array.isArray(At)?At:[At]]));const createLucideIcon=(yt,Et)=>{const xt=reactExports.forwardRef(({className:vt,...bt},At)=>reactExports.createElement(Icon$1,{ref:At,iconNode:Et,className:mergeClasses(`lucide-${toKebabCase(toPascalCase(yt))}`,`lucide-${yt}`,vt),...bt}));return xt.displayName=toPascalCase(yt),xt};const __iconNode$o=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],BookOpen=createLucideIcon("book-open",__iconNode$o);const __iconNode$n=[["path",{d:"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",key:"18u6gg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]],Camera=createLucideIcon("camera",__iconNode$n);const __iconNode$m=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Check=createLucideIcon("check",__iconNode$m);const __iconNode$l=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],ChevronDown=createLucideIcon("chevron-down",__iconNode$l);const __iconNode$k=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],ChevronRight=createLucideIcon("chevron-right",__iconNode$k);const __iconNode$j=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],ChevronUp=createLucideIcon("chevron-up",__iconNode$j);const __iconNode$i=[["path",{d:"M6 2v14a2 2 0 0 0 2 2h14",key:"ron5a4"}],["path",{d:"M18 22V8a2 2 0 0 0-2-2H2",key:"7s9ehn"}]],Crop=createLucideIcon("crop",__iconNode$i);const __iconNode$h=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Info=createLucideIcon("info",__iconNode$h);const __iconNode$g=[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]],Key=createLucideIcon("key",__iconNode$g);const __iconNode$f=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],Lightbulb=createLucideIcon("lightbulb",__iconNode$f);const __iconNode$e=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],Maximize2=createLucideIcon("maximize-2",__iconNode$e);const __iconNode$d=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]],Monitor=createLucideIcon("monitor",__iconNode$d);const __iconNode$c=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],Moon=createLucideIcon("moon",__iconNode$c);const __iconNode$b=[["path",{d:"M12 2v20",key:"t6zp3m"}],["path",{d:"m15 19-3 3-3-3",key:"11eu04"}],["path",{d:"m19 9 3 3-3 3",key:"1mg7y2"}],["path",{d:"M2 12h20",key:"9i4pu4"}],["path",{d:"m5 9-3 3 3 3",key:"j64kie"}],["path",{d:"m9 5 3-3 3 3",key:"l8vdw6"}]],Move=createLucideIcon("move",__iconNode$b);const __iconNode$a=[["path",{d:"m19 11-8-8-8.6 8.6a2 2 0 0 0 0 2.8l5.2 5.2c.8.8 2 .8 2.8 0L19 11Z",key:"irua1i"}],["path",{d:"m5 2 5 5",key:"1lls2c"}],["path",{d:"M2 13h15",key:"1hkzvu"}],["path",{d:"M22 20a2 2 0 1 1-4 0c0-1.6 1.7-2.4 2-4 .3 1.6 2 2.4 2 4Z",key:"xk76lq"}]],PaintBucket=createLucideIcon("paint-bucket",__iconNode$a);const __iconNode$9=[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]],Palette=createLucideIcon("palette",__iconNode$9);const __iconNode$8=[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]],Presentation=createLucideIcon("presentation",__iconNode$8);const __iconNode$7=[["path",{d:"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2",key:"143wyd"}],["path",{d:"M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6",key:"1itne7"}],["rect",{x:"6",y:"14",width:"12",height:"8",rx:"1",key:"1ue0tg"}]],Printer=createLucideIcon("printer",__iconNode$7);const __iconNode$6=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],RotateCcw=createLucideIcon("rotate-ccw",__iconNode$6);const __iconNode$5=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Settings=createLucideIcon("settings",__iconNode$5);const __iconNode$4=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],Sun=createLucideIcon("sun",__iconNode$4);const __iconNode$3=[["path",{d:"M12 3v18",key:"108xh3"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}]],Table=createLucideIcon("table",__iconNode$3);const __iconNode$2=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],X$2=createLucideIcon("x",__iconNode$2);const __iconNode$1=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],ZoomIn=createLucideIcon("zoom-in",__iconNode$1);const __iconNode=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],ZoomOut=createLucideIcon("zoom-out",__iconNode),DEFAULT_CONFIG$1={tree:{ySpacing:150,yScaleFactor:1e3,xScalePercent:100,fixedCoordinateWidth:2e3,nodeRadius:{internal:12,leaf:20},edgeColor:[40,40,4,255],edgeWidth:.5,gap:50,labelPadding:{charWidth:50},phyloLabelPosition:"after-tree",labelOffset:10,alignLabels:!0},gene:{height:60,defaultHeight:60,fillColor:[230,230,230,255],tipWidthFactor:.05,tipWidthMode:"fixed",tipWidthFixed:20,strokeWidthFactor:.9,edgeWidth:1,arrowheadHeight:0,prevalenceThreshold:10},genome:{xScalePercent:30},theme:{mode:"light",light:{background:"#ffffff",text:"#222222",treeEdges:[0,0,0,255],phyloLabelFill:[0,0,0,255],hoods:[100,100,100,255],geneFill:[230,230,230,255],rulerBackground:"#ffffff",rulerText:"#222222",rulerTicks:"#666666",buttonBackground:"#ffffff",buttonText:"#222222",buttonBorder:"#cccccc",tooltipBackground:"#ffffff",tooltipText:"#222222",tooltipBorder:"#cccccc",widgetBackground:"#f8f9fa",border:"#dee2e6",textSecondary:"#6c757d",sliderTrack:"#e9ecef"},dark:{background:"#000000",text:"#ffffff",treeEdges:[255,255,255,255],phyloLabelFill:[255,255,255,255],hoods:[200,200,200,255],geneFill:[100,100,100,255],rulerBackground:"#000000",rulerText:"#ffffff",rulerTicks:"#cccccc",buttonBackground:"#333333",buttonText:"#ffffff",buttonBorder:"#555555",tooltipBackground:"#333333",tooltipText:"#ffffff",tooltipBorder:"#555555",widgetBackground:"#212529",border:"#495057",textSecondary:"#adb5bd",sliderTrack:"#495057"}},domain:{edgeWidth:.01,heightFactor:.7},hood:{width:.25,color:[100,100,100,255]},region:{padding:5,fillOpacity:.2,strokeOpacity:.6,strokeWidth:2,colors:{phage:[255,0,0,255],prophage:[255,165,0,255],operon:[0,128,0,255],cluster:[0,0,255,255],island:[255,255,0,255],region:[1,1,1,255],default:[128,128,128,255],crispr:[255,0,0,255]}},layout:{padding:0,geneOffset:0,containerFallback:{minX:0,minY:0,maxX:1e3,maxY:1e3,treeOffset:0,geneOffset:0}},text:{geneLabelSize:12,phyloLabelSize:20,scaleFactors:{gene:5,phylo:5},rulerLabelSize:14},stroke:{lineWidth:.1,fadeAlpha:.1,darkenFactor:.7},ruler:{height:30,tickHeight:10,labelOffset:22,targetTicks:35},scrollbar:{width:32,barWidth:3,minThumbHeight:24,margin:"2%",borderRadius:"0",panPaddingY:50,panPaddingX:500,minZoom:-5,maxZoom:2},proteinLink:{bezierSegments:120,color:[100,0,220,255],colorBy:"source_gene",solidColor:[100,0,220,255],useAlpha:!0,minAlpha:0,maxAlpha:.5,palette:{type:"sequential",name:"Blues",numColors:9,reverse:!1,enabled:!0}},nucleotideLink:{color:[200,200,200,255],colorBy:"solid",solidColor:[200,200,200,255],strandColoring:!0,sameStrandColor:[180,180,180,255],oppositeStrandColor:[220,80,80,255],sameStrandPalette:{type:"sequential",name:"Greys",numColors:9,reverse:!1,enabled:!0},oppositeStrandPalette:{type:"sequential",name:"Reds",numColors:9,reverse:!1,enabled:!0},useAlpha:!0,minAlpha:0,maxAlpha:.5,palette:{type:"sequential",name:"Reds",numColors:9,reverse:!1,enabled:!0}},connectingLines:{width:.5,color:[128,128,128,255]},colorPalettes:{genePalette:{type:"qualitative",name:"RPRlab",numColors:15,reverse:!1,enabled:!0,desaturateByPrevalence:!0},domainPalette:{type:"sequential",name:"Gray",numColors:9,reverse:!0,enabled:!0,alphaRange:[.1,.3]},phyloPalette:{type:"qualitative",name:"RPRlab",numColors:15,reverse:!1,enabled:!0},ncRNAPalette:{type:"qualitative",name:"RPRlab",numColors:15,reverse:!1,enabled:!0},regionPalette:{type:"qualitative",name:"RPRlab",numColors:15,reverse:!1,enabled:!0}},colors:{black:[0,0,0,255],gray:[100,100,100,255],lightGray:[230,230,230,255],darkGray:[85,85,85,255],transparent:[0,0,0,0]},animation:{transitionDuration:"0.1s",hoverTransition:"0.25s"},export:{svg:{minFontSize:0,fontSizeScale:1e3}}},{tree:TREE_CONFIG,gene:GENE_CONFIG,layout:LAYOUT_CONFIG,text:TEXT_CONFIG,stroke:STROKE_CONFIG,ruler:RULER_CONFIG,scrollbar:SCROLLBAR_CONFIG,proteinLink:PROTEIN_LINK_CONFIG,nucleotideLink:NUCLEOTIDE_LINK_CONFIG,colors:COLORS_CONFIG,animation:ANIMATION_CONFIG,export:EXPORT_CONFIG}=DEFAULT_CONFIG$1;function calculateTipWidth(yt,Et){const xt="gene"in Et?Et.gene:Et;if((xt.tipWidthMode||"factor")==="fixed"){const bt=xt.tipWidthFixed??200,At=yt*.5;return Math.min(bt,At)}else{const bt=xt.tipWidthFactor||.05;return yt*bt}}function resolveMode(yt){if(!yt)return"light";if(yt==="system"&&typeof window<"u")try{return window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}catch{return"light"}return yt==="dark"?"dark":"light"}if(typeof window<"u")try{const Et=window.localStorage.getItem("hoodini_theme"),xt=DEFAULT_CONFIG$1.theme?.mode??"light",bt=resolveMode(Et||xt||"light"),At=document.documentElement;bt==="dark"?(At.classList.add("dark"),At.classList.remove("light")):(At.classList.remove("dark"),At.classList.add("light"))}catch{}const STORAGE_KEY="hoodini_theme",ThemeContext$1=reactExports.createContext(null),useTheme=()=>{const yt=reactExports.useContext(ThemeContext$1);return yt||{theme:"light",setTheme:()=>{},resolvedTheme:"light",getThemeColors:()=>({background:"#ffffff",foreground:"#000000",muted:"#f4f4f5",mutedForeground:"#71717a",border:"#e4e4e7",primary:"#18181b",primaryForeground:"#fafafa"})}},ThemeProvider=({children:yt})=>{const Et=DEFAULT_CONFIG$1.theme?.mode??"light",vt=(typeof window<"u"?window.localStorage.getItem(STORAGE_KEY):null)||Et||"light",[bt,At]=reactExports.useState(vt),[Ft,Ct]=reactExports.useState(()=>resolveMode(vt)),wt=(Pt=bt)=>{let Lt=Pt;return Pt==="system"&&typeof window<"u"&&(Lt=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),DEFAULT_CONFIG$1.theme?.[Lt]??{}},St=wt(Ft),Tt=Pt=>{At(Pt);try{window.localStorage.setItem(STORAGE_KEY,Pt)}catch{}try{const Lt=resolveMode(Pt);Ct(Lt);const kt=document.documentElement;Lt==="dark"?(kt.classList.add("dark"),kt.classList.remove("light")):(kt.classList.remove("dark"),kt.classList.add("light"))}catch{}},Rt=()=>{Tt(Ft==="light"?"dark":"light")};return reactExports.useEffect(()=>{const Pt=resolveMode(bt);Ct(Pt);const Lt=document.documentElement;Pt==="dark"?(Lt.classList.add("dark"),Lt.classList.remove("light")):(Lt.classList.remove("dark"),Lt.classList.add("light"));let kt,Ot;if(bt==="system"&&typeof window<"u"&&window.matchMedia)try{kt=window.matchMedia("(prefers-color-scheme: dark)"),Ot=Mt=>{const It=Mt.matches?"dark":"light";It==="dark"?(Lt.classList.add("dark"),Lt.classList.remove("light")):(Lt.classList.remove("dark"),Lt.classList.add("light")),Ct(It)},kt.addEventListener?kt.addEventListener("change",Ot):kt.addListener&&kt.addListener(Ot)}catch{}return()=>{kt&&Ot&&(kt.removeEventListener?kt.removeEventListener("change",Ot):kt.removeListener&&kt.removeListener(Ot))}},[bt]),jsxRuntimeExports.jsx(ThemeContext$1.Provider,{value:{theme:bt,resolvedTheme:Ft,themeColors:St,getThemeColors:Pt=>wt(Pt||Ft),setTheme:Tt,toggleTheme:Rt,isLight:Ft==="light",isDark:Ft==="dark"},children:yt})};function setRef(yt,Et){if(typeof yt=="function")return yt(Et);yt!=null&&(yt.current=Et)}function composeRefs(...yt){return Et=>{let xt=!1;const vt=yt.map(bt=>{const At=setRef(bt,Et);return!xt&&typeof At=="function"&&(xt=!0),At});if(xt)return()=>{for(let bt=0;bt<vt.length;bt++){const At=vt[bt];typeof At=="function"?At():setRef(yt[bt],null)}}}}function useComposedRefs(...yt){return reactExports.useCallback(composeRefs(...yt),yt)}var REACT_LAZY_TYPE=Symbol.for("react.lazy"),use=React$1[" use ".trim().toString()];function isPromiseLike(yt){return typeof yt=="object"&&yt!==null&&"then"in yt}function isLazyComponent(yt){return yt!=null&&typeof yt=="object"&&"$$typeof"in yt&&yt.$$typeof===REACT_LAZY_TYPE&&"_payload"in yt&&isPromiseLike(yt._payload)}function createSlot$c(yt){const Et=createSlotClone$c(yt),xt=reactExports.forwardRef((vt,bt)=>{let{children:At,...Ft}=vt;isLazyComponent(At)&&typeof use=="function"&&(At=use(At._payload));const Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$c);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}var Slot$1=createSlot$c("Slot");function createSlotClone$c(yt){const Et=reactExports.forwardRef((xt,vt)=>{let{children:bt,...At}=xt;if(isLazyComponent(bt)&&typeof use=="function"&&(bt=use(bt._payload)),reactExports.isValidElement(bt)){const Ft=getElementRef$d(bt),Ct=mergeProps$c(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$c=Symbol("radix.slottable");function isSlottable$c(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$c}function mergeProps$c(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$d(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}function r$1(yt){var Et,xt,vt="";if(typeof yt=="string"||typeof yt=="number")vt+=yt;else if(typeof yt=="object")if(Array.isArray(yt)){var bt=yt.length;for(Et=0;Et<bt;Et++)yt[Et]&&(xt=r$1(yt[Et]))&&(vt&&(vt+=" "),vt+=xt)}else for(xt in yt)yt[xt]&&(vt&&(vt+=" "),vt+=xt);return vt}function clsx(){for(var yt,Et,xt=0,vt="",bt=arguments.length;xt<bt;xt++)(yt=arguments[xt])&&(Et=r$1(yt))&&(vt&&(vt+=" "),vt+=Et);return vt}const falsyToString=yt=>typeof yt=="boolean"?`${yt}`:yt===0?"0":yt,cx$1=clsx,cva=(yt,Et)=>xt=>{var vt;if(Et?.variants==null)return cx$1(yt,xt?.class,xt?.className);const{variants:bt,defaultVariants:At}=Et,Ft=Object.keys(bt).map(St=>{const Tt=xt?.[St],Rt=At?.[St];if(Tt===null)return null;const Pt=falsyToString(Tt)||falsyToString(Rt);return bt[St][Pt]}),Ct=xt&&Object.entries(xt).reduce((St,Tt)=>{let[Rt,Pt]=Tt;return Pt===void 0||(St[Rt]=Pt),St},{}),wt=Et==null||(vt=Et.compoundVariants)===null||vt===void 0?void 0:vt.reduce((St,Tt)=>{let{class:Rt,className:Pt,...Lt}=Tt;return Object.entries(Lt).every(kt=>{let[Ot,Mt]=kt;return Array.isArray(Mt)?Mt.includes({...At,...Ct}[Ot]):{...At,...Ct}[Ot]===Mt})?[...St,Rt,Pt]:St},[]);return cx$1(yt,Ft,wt,xt?.class,xt?.className)},MOBILE_BREAKPOINT=768;function useIsMobile(){const[yt,Et]=reactExports.useState(void 0);return reactExports.useEffect(()=>{const xt=window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT-1}px)`),vt=()=>{Et(window.innerWidth<MOBILE_BREAKPOINT)};return xt.addEventListener("change",vt),Et(window.innerWidth<MOBILE_BREAKPOINT),()=>xt.removeEventListener("change",vt)},[]),!!yt}const concatArrays=(yt,Et)=>{const xt=new Array(yt.length+Et.length);for(let vt=0;vt<yt.length;vt++)xt[vt]=yt[vt];for(let vt=0;vt<Et.length;vt++)xt[yt.length+vt]=Et[vt];return xt},createClassValidatorObject=(yt,Et)=>({classGroupId:yt,validator:Et}),createClassPartObject=(yt=new Map,Et=null,xt)=>({nextPart:yt,validators:Et,classGroupId:xt}),CLASS_PART_SEPARATOR="-",EMPTY_CONFLICTS=[],ARBITRARY_PROPERTY_PREFIX="arbitrary..",createClassGroupUtils=yt=>{const Et=createClassMap(yt),{conflictingClassGroups:xt,conflictingClassGroupModifiers:vt}=yt;return{getClassGroupId:Ft=>{if(Ft.startsWith("[")&&Ft.endsWith("]"))return getGroupIdForArbitraryProperty(Ft);const Ct=Ft.split(CLASS_PART_SEPARATOR),wt=Ct[0]===""&&Ct.length>1?1:0;return getGroupRecursive(Ct,wt,Et)},getConflictingClassGroupIds:(Ft,Ct)=>{if(Ct){const wt=vt[Ft],St=xt[Ft];return wt?St?concatArrays(St,wt):wt:St||EMPTY_CONFLICTS}return xt[Ft]||EMPTY_CONFLICTS}}},getGroupRecursive=(yt,Et,xt)=>{if(yt.length-Et===0)return xt.classGroupId;const bt=yt[Et],At=xt.nextPart.get(bt);if(At){const St=getGroupRecursive(yt,Et+1,At);if(St)return St}const Ft=xt.validators;if(Ft===null)return;const Ct=Et===0?yt.join(CLASS_PART_SEPARATOR):yt.slice(Et).join(CLASS_PART_SEPARATOR),wt=Ft.length;for(let St=0;St<wt;St++){const Tt=Ft[St];if(Tt.validator(Ct))return Tt.classGroupId}},getGroupIdForArbitraryProperty=yt=>yt.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const Et=yt.slice(1,-1),xt=Et.indexOf(":"),vt=Et.slice(0,xt);return vt?ARBITRARY_PROPERTY_PREFIX+vt:void 0})(),createClassMap=yt=>{const{theme:Et,classGroups:xt}=yt;return processClassGroups(xt,Et)},processClassGroups=(yt,Et)=>{const xt=createClassPartObject();for(const vt in yt){const bt=yt[vt];processClassesRecursively(bt,xt,vt,Et)}return xt},processClassesRecursively=(yt,Et,xt,vt)=>{const bt=yt.length;for(let At=0;At<bt;At++){const Ft=yt[At];processClassDefinition(Ft,Et,xt,vt)}},processClassDefinition=(yt,Et,xt,vt)=>{if(typeof yt=="string"){processStringDefinition(yt,Et,xt);return}if(typeof yt=="function"){processFunctionDefinition(yt,Et,xt,vt);return}processObjectDefinition(yt,Et,xt,vt)},processStringDefinition=(yt,Et,xt)=>{const vt=yt===""?Et:getPart(Et,yt);vt.classGroupId=xt},processFunctionDefinition=(yt,Et,xt,vt)=>{if(isThemeGetter(yt)){processClassesRecursively(yt(vt),Et,xt,vt);return}Et.validators===null&&(Et.validators=[]),Et.validators.push(createClassValidatorObject(xt,yt))},processObjectDefinition=(yt,Et,xt,vt)=>{const bt=Object.entries(yt),At=bt.length;for(let Ft=0;Ft<At;Ft++){const[Ct,wt]=bt[Ft];processClassesRecursively(wt,getPart(Et,Ct),xt,vt)}},getPart=(yt,Et)=>{let xt=yt;const vt=Et.split(CLASS_PART_SEPARATOR),bt=vt.length;for(let At=0;At<bt;At++){const Ft=vt[At];let Ct=xt.nextPart.get(Ft);Ct||(Ct=createClassPartObject(),xt.nextPart.set(Ft,Ct)),xt=Ct}return xt},isThemeGetter=yt=>"isThemeGetter"in yt&&yt.isThemeGetter===!0,createLruCache=yt=>{if(yt<1)return{get:()=>{},set:()=>{}};let Et=0,xt=Object.create(null),vt=Object.create(null);const bt=(At,Ft)=>{xt[At]=Ft,Et++,Et>yt&&(Et=0,vt=xt,xt=Object.create(null))};return{get(At){let Ft=xt[At];if(Ft!==void 0)return Ft;if((Ft=vt[At])!==void 0)return bt(At,Ft),Ft},set(At,Ft){At in xt?xt[At]=Ft:bt(At,Ft)}}},IMPORTANT_MODIFIER="!",MODIFIER_SEPARATOR=":",EMPTY_MODIFIERS=[],createResultObject=(yt,Et,xt,vt,bt)=>({modifiers:yt,hasImportantModifier:Et,baseClassName:xt,maybePostfixModifierPosition:vt,isExternal:bt}),createParseClassName=yt=>{const{prefix:Et,experimentalParseClassName:xt}=yt;let vt=bt=>{const At=[];let Ft=0,Ct=0,wt=0,St;const Tt=bt.length;for(let Ot=0;Ot<Tt;Ot++){const Mt=bt[Ot];if(Ft===0&&Ct===0){if(Mt===MODIFIER_SEPARATOR){At.push(bt.slice(wt,Ot)),wt=Ot+1;continue}if(Mt==="/"){St=Ot;continue}}Mt==="["?Ft++:Mt==="]"?Ft--:Mt==="("?Ct++:Mt===")"&&Ct--}const Rt=At.length===0?bt:bt.slice(wt);let Pt=Rt,Lt=!1;Rt.endsWith(IMPORTANT_MODIFIER)?(Pt=Rt.slice(0,-1),Lt=!0):Rt.startsWith(IMPORTANT_MODIFIER)&&(Pt=Rt.slice(1),Lt=!0);const kt=St&&St>wt?St-wt:void 0;return createResultObject(At,Lt,Pt,kt)};if(Et){const bt=Et+MODIFIER_SEPARATOR,At=vt;vt=Ft=>Ft.startsWith(bt)?At(Ft.slice(bt.length)):createResultObject(EMPTY_MODIFIERS,!1,Ft,void 0,!0)}if(xt){const bt=vt;vt=At=>xt({className:At,parseClassName:bt})}return vt},createSortModifiers=yt=>{const Et=new Map;return yt.orderSensitiveModifiers.forEach((xt,vt)=>{Et.set(xt,1e6+vt)}),xt=>{const vt=[];let bt=[];for(let At=0;At<xt.length;At++){const Ft=xt[At],Ct=Ft[0]==="[",wt=Et.has(Ft);Ct||wt?(bt.length>0&&(bt.sort(),vt.push(...bt),bt=[]),vt.push(Ft)):bt.push(Ft)}return bt.length>0&&(bt.sort(),vt.push(...bt)),vt}},createConfigUtils=yt=>({cache:createLruCache(yt.cacheSize),parseClassName:createParseClassName(yt),sortModifiers:createSortModifiers(yt),...createClassGroupUtils(yt)}),SPLIT_CLASSES_REGEX=/\s+/,mergeClassList=(yt,Et)=>{const{parseClassName:xt,getClassGroupId:vt,getConflictingClassGroupIds:bt,sortModifiers:At}=Et,Ft=[],Ct=yt.trim().split(SPLIT_CLASSES_REGEX);let wt="";for(let St=Ct.length-1;St>=0;St-=1){const Tt=Ct[St],{isExternal:Rt,modifiers:Pt,hasImportantModifier:Lt,baseClassName:kt,maybePostfixModifierPosition:Ot}=xt(Tt);if(Rt){wt=Tt+(wt.length>0?" "+wt:wt);continue}let Mt=!!Ot,It=vt(Mt?kt.substring(0,Ot):kt);if(!It){if(!Mt){wt=Tt+(wt.length>0?" "+wt:wt);continue}if(It=vt(kt),!It){wt=Tt+(wt.length>0?" "+wt:wt);continue}Mt=!1}const Nt=Pt.length===0?"":Pt.length===1?Pt[0]:At(Pt).join(":"),Ut=Lt?Nt+IMPORTANT_MODIFIER:Nt,jt=Ut+It;if(Ft.indexOf(jt)>-1)continue;Ft.push(jt);const Vt=bt(It,Mt);for(let zt=0;zt<Vt.length;++zt){const Ht=Vt[zt];Ft.push(Ut+Ht)}wt=Tt+(wt.length>0?" "+wt:wt)}return wt},twJoin=(...yt)=>{let Et=0,xt,vt,bt="";for(;Et<yt.length;)(xt=yt[Et++])&&(vt=toValue(xt))&&(bt&&(bt+=" "),bt+=vt);return bt},toValue=yt=>{if(typeof yt=="string")return yt;let Et,xt="";for(let vt=0;vt<yt.length;vt++)yt[vt]&&(Et=toValue(yt[vt]))&&(xt&&(xt+=" "),xt+=Et);return xt},createTailwindMerge=(yt,...Et)=>{let xt,vt,bt,At;const Ft=wt=>{const St=Et.reduce((Tt,Rt)=>Rt(Tt),yt());return xt=createConfigUtils(St),vt=xt.cache.get,bt=xt.cache.set,At=Ct,Ct(wt)},Ct=wt=>{const St=vt(wt);if(St)return St;const Tt=mergeClassList(wt,xt);return bt(wt,Tt),Tt};return At=Ft,(...wt)=>At(twJoin(...wt))},fallbackThemeArr=[],fromTheme=yt=>{const Et=xt=>xt[yt]||fallbackThemeArr;return Et.isThemeGetter=!0,Et},arbitraryValueRegex=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,arbitraryVariableRegex=/^\((?:(\w[\w-]*):)?(.+)\)$/i,fractionRegex=/^\d+\/\d+$/,tshirtUnitRegex=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,lengthUnitRegex=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,colorFunctionRegex=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,shadowRegex=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,imageRegex=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,isFraction=yt=>fractionRegex.test(yt),isNumber=yt=>!!yt&&!Number.isNaN(Number(yt)),isInteger=yt=>!!yt&&Number.isInteger(Number(yt)),isPercent=yt=>yt.endsWith("%")&&isNumber(yt.slice(0,-1)),isTshirtSize=yt=>tshirtUnitRegex.test(yt),isAny=()=>!0,isLengthOnly=yt=>lengthUnitRegex.test(yt)&&!colorFunctionRegex.test(yt),isNever=()=>!1,isShadow=yt=>shadowRegex.test(yt),isImage=yt=>imageRegex.test(yt),isAnyNonArbitrary=yt=>!isArbitraryValue(yt)&&!isArbitraryVariable(yt),isArbitrarySize=yt=>getIsArbitraryValue(yt,isLabelSize,isNever),isArbitraryValue=yt=>arbitraryValueRegex.test(yt),isArbitraryLength=yt=>getIsArbitraryValue(yt,isLabelLength,isLengthOnly),isArbitraryNumber=yt=>getIsArbitraryValue(yt,isLabelNumber,isNumber),isArbitraryPosition=yt=>getIsArbitraryValue(yt,isLabelPosition,isNever),isArbitraryImage=yt=>getIsArbitraryValue(yt,isLabelImage,isImage),isArbitraryShadow=yt=>getIsArbitraryValue(yt,isLabelShadow,isShadow),isArbitraryVariable=yt=>arbitraryVariableRegex.test(yt),isArbitraryVariableLength=yt=>getIsArbitraryVariable(yt,isLabelLength),isArbitraryVariableFamilyName=yt=>getIsArbitraryVariable(yt,isLabelFamilyName),isArbitraryVariablePosition=yt=>getIsArbitraryVariable(yt,isLabelPosition),isArbitraryVariableSize=yt=>getIsArbitraryVariable(yt,isLabelSize),isArbitraryVariableImage=yt=>getIsArbitraryVariable(yt,isLabelImage),isArbitraryVariableShadow=yt=>getIsArbitraryVariable(yt,isLabelShadow,!0),getIsArbitraryValue=(yt,Et,xt)=>{const vt=arbitraryValueRegex.exec(yt);return vt?vt[1]?Et(vt[1]):xt(vt[2]):!1},getIsArbitraryVariable=(yt,Et,xt=!1)=>{const vt=arbitraryVariableRegex.exec(yt);return vt?vt[1]?Et(vt[1]):xt:!1},isLabelPosition=yt=>yt==="position"||yt==="percentage",isLabelImage=yt=>yt==="image"||yt==="url",isLabelSize=yt=>yt==="length"||yt==="size"||yt==="bg-size",isLabelLength=yt=>yt==="length",isLabelNumber=yt=>yt==="number",isLabelFamilyName=yt=>yt==="family-name",isLabelShadow=yt=>yt==="shadow",getDefaultConfig=()=>{const yt=fromTheme("color"),Et=fromTheme("font"),xt=fromTheme("text"),vt=fromTheme("font-weight"),bt=fromTheme("tracking"),At=fromTheme("leading"),Ft=fromTheme("breakpoint"),Ct=fromTheme("container"),wt=fromTheme("spacing"),St=fromTheme("radius"),Tt=fromTheme("shadow"),Rt=fromTheme("inset-shadow"),Pt=fromTheme("text-shadow"),Lt=fromTheme("drop-shadow"),kt=fromTheme("blur"),Ot=fromTheme("perspective"),Mt=fromTheme("aspect"),It=fromTheme("ease"),Nt=fromTheme("animate"),Ut=()=>["auto","avoid","all","avoid-page","page","left","right","column"],jt=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],Vt=()=>[...jt(),isArbitraryVariable,isArbitraryValue],zt=()=>["auto","hidden","clip","visible","scroll"],Ht=()=>["auto","contain","none"],Wt=()=>[isArbitraryVariable,isArbitraryValue,wt],Gt=()=>[isFraction,"full","auto",...Wt()],qt=()=>[isInteger,"none","subgrid",isArbitraryVariable,isArbitraryValue],Xt=()=>["auto",{span:["full",isInteger,isArbitraryVariable,isArbitraryValue]},isInteger,isArbitraryVariable,isArbitraryValue],Kt=()=>[isInteger,"auto",isArbitraryVariable,isArbitraryValue],Jt=()=>["auto","min","max","fr",isArbitraryVariable,isArbitraryValue],tn=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],sn=()=>["start","end","center","stretch","center-safe","end-safe"],Zt=()=>["auto",...Wt()],nn=()=>[isFraction,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...Wt()],rn=()=>[yt,isArbitraryVariable,isArbitraryValue],on=()=>[...jt(),isArbitraryVariablePosition,isArbitraryPosition,{position:[isArbitraryVariable,isArbitraryValue]}],ln=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Qt=()=>["auto","cover","contain",isArbitraryVariableSize,isArbitrarySize,{size:[isArbitraryVariable,isArbitraryValue]}],fn=()=>[isPercent,isArbitraryVariableLength,isArbitraryLength],pn=()=>["","none","full",St,isArbitraryVariable,isArbitraryValue],mn=()=>["",isNumber,isArbitraryVariableLength,isArbitraryLength],vn=()=>["solid","dashed","dotted","double"],yn=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],xn=()=>[isNumber,isPercent,isArbitraryVariablePosition,isArbitraryPosition],Mn=()=>["","none",kt,isArbitraryVariable,isArbitraryValue],$n=()=>["none",isNumber,isArbitraryVariable,isArbitraryValue],Rn=()=>["none",isNumber,isArbitraryVariable,isArbitraryValue],Tn=()=>[isNumber,isArbitraryVariable,isArbitraryValue],ir=()=>[isFraction,"full",...Wt()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[isTshirtSize],breakpoint:[isTshirtSize],color:[isAny],container:[isTshirtSize],"drop-shadow":[isTshirtSize],ease:["in","out","in-out"],font:[isAnyNonArbitrary],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[isTshirtSize],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[isTshirtSize],shadow:[isTshirtSize],spacing:["px",isNumber],text:[isTshirtSize],"text-shadow":[isTshirtSize],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",isFraction,isArbitraryValue,isArbitraryVariable,Mt]}],container:["container"],columns:[{columns:[isNumber,isArbitraryValue,isArbitraryVariable,Ct]}],"break-after":[{"break-after":Ut()}],"break-before":[{"break-before":Ut()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:Vt()}],overflow:[{overflow:zt()}],"overflow-x":[{"overflow-x":zt()}],"overflow-y":[{"overflow-y":zt()}],overscroll:[{overscroll:Ht()}],"overscroll-x":[{"overscroll-x":Ht()}],"overscroll-y":[{"overscroll-y":Ht()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:Gt()}],"inset-x":[{"inset-x":Gt()}],"inset-y":[{"inset-y":Gt()}],start:[{start:Gt()}],end:[{end:Gt()}],top:[{top:Gt()}],right:[{right:Gt()}],bottom:[{bottom:Gt()}],left:[{left:Gt()}],visibility:["visible","invisible","collapse"],z:[{z:[isInteger,"auto",isArbitraryVariable,isArbitraryValue]}],basis:[{basis:[isFraction,"full","auto",Ct,...Wt()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[isNumber,isFraction,"auto","initial","none",isArbitraryValue]}],grow:[{grow:["",isNumber,isArbitraryVariable,isArbitraryValue]}],shrink:[{shrink:["",isNumber,isArbitraryVariable,isArbitraryValue]}],order:[{order:[isInteger,"first","last","none",isArbitraryVariable,isArbitraryValue]}],"grid-cols":[{"grid-cols":qt()}],"col-start-end":[{col:Xt()}],"col-start":[{"col-start":Kt()}],"col-end":[{"col-end":Kt()}],"grid-rows":[{"grid-rows":qt()}],"row-start-end":[{row:Xt()}],"row-start":[{"row-start":Kt()}],"row-end":[{"row-end":Kt()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Jt()}],"auto-rows":[{"auto-rows":Jt()}],gap:[{gap:Wt()}],"gap-x":[{"gap-x":Wt()}],"gap-y":[{"gap-y":Wt()}],"justify-content":[{justify:[...tn(),"normal"]}],"justify-items":[{"justify-items":[...sn(),"normal"]}],"justify-self":[{"justify-self":["auto",...sn()]}],"align-content":[{content:["normal",...tn()]}],"align-items":[{items:[...sn(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...sn(),{baseline:["","last"]}]}],"place-content":[{"place-content":tn()}],"place-items":[{"place-items":[...sn(),"baseline"]}],"place-self":[{"place-self":["auto",...sn()]}],p:[{p:Wt()}],px:[{px:Wt()}],py:[{py:Wt()}],ps:[{ps:Wt()}],pe:[{pe:Wt()}],pt:[{pt:Wt()}],pr:[{pr:Wt()}],pb:[{pb:Wt()}],pl:[{pl:Wt()}],m:[{m:Zt()}],mx:[{mx:Zt()}],my:[{my:Zt()}],ms:[{ms:Zt()}],me:[{me:Zt()}],mt:[{mt:Zt()}],mr:[{mr:Zt()}],mb:[{mb:Zt()}],ml:[{ml:Zt()}],"space-x":[{"space-x":Wt()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":Wt()}],"space-y-reverse":["space-y-reverse"],size:[{size:nn()}],w:[{w:[Ct,"screen",...nn()]}],"min-w":[{"min-w":[Ct,"screen","none",...nn()]}],"max-w":[{"max-w":[Ct,"screen","none","prose",{screen:[Ft]},...nn()]}],h:[{h:["screen","lh",...nn()]}],"min-h":[{"min-h":["screen","lh","none",...nn()]}],"max-h":[{"max-h":["screen","lh",...nn()]}],"font-size":[{text:["base",xt,isArbitraryVariableLength,isArbitraryLength]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[vt,isArbitraryVariable,isArbitraryNumber]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",isPercent,isArbitraryValue]}],"font-family":[{font:[isArbitraryVariableFamilyName,isArbitraryValue,Et]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[bt,isArbitraryVariable,isArbitraryValue]}],"line-clamp":[{"line-clamp":[isNumber,"none",isArbitraryVariable,isArbitraryNumber]}],leading:[{leading:[At,...Wt()]}],"list-image":[{"list-image":["none",isArbitraryVariable,isArbitraryValue]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",isArbitraryVariable,isArbitraryValue]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:rn()}],"text-color":[{text:rn()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...vn(),"wavy"]}],"text-decoration-thickness":[{decoration:[isNumber,"from-font","auto",isArbitraryVariable,isArbitraryLength]}],"text-decoration-color":[{decoration:rn()}],"underline-offset":[{"underline-offset":[isNumber,"auto",isArbitraryVariable,isArbitraryValue]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:Wt()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",isArbitraryVariable,isArbitraryValue]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",isArbitraryVariable,isArbitraryValue]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:on()}],"bg-repeat":[{bg:ln()}],"bg-size":[{bg:Qt()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},isInteger,isArbitraryVariable,isArbitraryValue],radial:["",isArbitraryVariable,isArbitraryValue],conic:[isInteger,isArbitraryVariable,isArbitraryValue]},isArbitraryVariableImage,isArbitraryImage]}],"bg-color":[{bg:rn()}],"gradient-from-pos":[{from:fn()}],"gradient-via-pos":[{via:fn()}],"gradient-to-pos":[{to:fn()}],"gradient-from":[{from:rn()}],"gradient-via":[{via:rn()}],"gradient-to":[{to:rn()}],rounded:[{rounded:pn()}],"rounded-s":[{"rounded-s":pn()}],"rounded-e":[{"rounded-e":pn()}],"rounded-t":[{"rounded-t":pn()}],"rounded-r":[{"rounded-r":pn()}],"rounded-b":[{"rounded-b":pn()}],"rounded-l":[{"rounded-l":pn()}],"rounded-ss":[{"rounded-ss":pn()}],"rounded-se":[{"rounded-se":pn()}],"rounded-ee":[{"rounded-ee":pn()}],"rounded-es":[{"rounded-es":pn()}],"rounded-tl":[{"rounded-tl":pn()}],"rounded-tr":[{"rounded-tr":pn()}],"rounded-br":[{"rounded-br":pn()}],"rounded-bl":[{"rounded-bl":pn()}],"border-w":[{border:mn()}],"border-w-x":[{"border-x":mn()}],"border-w-y":[{"border-y":mn()}],"border-w-s":[{"border-s":mn()}],"border-w-e":[{"border-e":mn()}],"border-w-t":[{"border-t":mn()}],"border-w-r":[{"border-r":mn()}],"border-w-b":[{"border-b":mn()}],"border-w-l":[{"border-l":mn()}],"divide-x":[{"divide-x":mn()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":mn()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...vn(),"hidden","none"]}],"divide-style":[{divide:[...vn(),"hidden","none"]}],"border-color":[{border:rn()}],"border-color-x":[{"border-x":rn()}],"border-color-y":[{"border-y":rn()}],"border-color-s":[{"border-s":rn()}],"border-color-e":[{"border-e":rn()}],"border-color-t":[{"border-t":rn()}],"border-color-r":[{"border-r":rn()}],"border-color-b":[{"border-b":rn()}],"border-color-l":[{"border-l":rn()}],"divide-color":[{divide:rn()}],"outline-style":[{outline:[...vn(),"none","hidden"]}],"outline-offset":[{"outline-offset":[isNumber,isArbitraryVariable,isArbitraryValue]}],"outline-w":[{outline:["",isNumber,isArbitraryVariableLength,isArbitraryLength]}],"outline-color":[{outline:rn()}],shadow:[{shadow:["","none",Tt,isArbitraryVariableShadow,isArbitraryShadow]}],"shadow-color":[{shadow:rn()}],"inset-shadow":[{"inset-shadow":["none",Rt,isArbitraryVariableShadow,isArbitraryShadow]}],"inset-shadow-color":[{"inset-shadow":rn()}],"ring-w":[{ring:mn()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:rn()}],"ring-offset-w":[{"ring-offset":[isNumber,isArbitraryLength]}],"ring-offset-color":[{"ring-offset":rn()}],"inset-ring-w":[{"inset-ring":mn()}],"inset-ring-color":[{"inset-ring":rn()}],"text-shadow":[{"text-shadow":["none",Pt,isArbitraryVariableShadow,isArbitraryShadow]}],"text-shadow-color":[{"text-shadow":rn()}],opacity:[{opacity:[isNumber,isArbitraryVariable,isArbitraryValue]}],"mix-blend":[{"mix-blend":[...yn(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":yn()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[isNumber]}],"mask-image-linear-from-pos":[{"mask-linear-from":xn()}],"mask-image-linear-to-pos":[{"mask-linear-to":xn()}],"mask-image-linear-from-color":[{"mask-linear-from":rn()}],"mask-image-linear-to-color":[{"mask-linear-to":rn()}],"mask-image-t-from-pos":[{"mask-t-from":xn()}],"mask-image-t-to-pos":[{"mask-t-to":xn()}],"mask-image-t-from-color":[{"mask-t-from":rn()}],"mask-image-t-to-color":[{"mask-t-to":rn()}],"mask-image-r-from-pos":[{"mask-r-from":xn()}],"mask-image-r-to-pos":[{"mask-r-to":xn()}],"mask-image-r-from-color":[{"mask-r-from":rn()}],"mask-image-r-to-color":[{"mask-r-to":rn()}],"mask-image-b-from-pos":[{"mask-b-from":xn()}],"mask-image-b-to-pos":[{"mask-b-to":xn()}],"mask-image-b-from-color":[{"mask-b-from":rn()}],"mask-image-b-to-color":[{"mask-b-to":rn()}],"mask-image-l-from-pos":[{"mask-l-from":xn()}],"mask-image-l-to-pos":[{"mask-l-to":xn()}],"mask-image-l-from-color":[{"mask-l-from":rn()}],"mask-image-l-to-color":[{"mask-l-to":rn()}],"mask-image-x-from-pos":[{"mask-x-from":xn()}],"mask-image-x-to-pos":[{"mask-x-to":xn()}],"mask-image-x-from-color":[{"mask-x-from":rn()}],"mask-image-x-to-color":[{"mask-x-to":rn()}],"mask-image-y-from-pos":[{"mask-y-from":xn()}],"mask-image-y-to-pos":[{"mask-y-to":xn()}],"mask-image-y-from-color":[{"mask-y-from":rn()}],"mask-image-y-to-color":[{"mask-y-to":rn()}],"mask-image-radial":[{"mask-radial":[isArbitraryVariable,isArbitraryValue]}],"mask-image-radial-from-pos":[{"mask-radial-from":xn()}],"mask-image-radial-to-pos":[{"mask-radial-to":xn()}],"mask-image-radial-from-color":[{"mask-radial-from":rn()}],"mask-image-radial-to-color":[{"mask-radial-to":rn()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":jt()}],"mask-image-conic-pos":[{"mask-conic":[isNumber]}],"mask-image-conic-from-pos":[{"mask-conic-from":xn()}],"mask-image-conic-to-pos":[{"mask-conic-to":xn()}],"mask-image-conic-from-color":[{"mask-conic-from":rn()}],"mask-image-conic-to-color":[{"mask-conic-to":rn()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:on()}],"mask-repeat":[{mask:ln()}],"mask-size":[{mask:Qt()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",isArbitraryVariable,isArbitraryValue]}],filter:[{filter:["","none",isArbitraryVariable,isArbitraryValue]}],blur:[{blur:Mn()}],brightness:[{brightness:[isNumber,isArbitraryVariable,isArbitraryValue]}],contrast:[{contrast:[isNumber,isArbitraryVariable,isArbitraryValue]}],"drop-shadow":[{"drop-shadow":["","none",Lt,isArbitraryVariableShadow,isArbitraryShadow]}],"drop-shadow-color":[{"drop-shadow":rn()}],grayscale:[{grayscale:["",isNumber,isArbitraryVariable,isArbitraryValue]}],"hue-rotate":[{"hue-rotate":[isNumber,isArbitraryVariable,isArbitraryValue]}],invert:[{invert:["",isNumber,isArbitraryVariable,isArbitraryValue]}],saturate:[{saturate:[isNumber,isArbitraryVariable,isArbitraryValue]}],sepia:[{sepia:["",isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-filter":[{"backdrop-filter":["","none",isArbitraryVariable,isArbitraryValue]}],"backdrop-blur":[{"backdrop-blur":Mn()}],"backdrop-brightness":[{"backdrop-brightness":[isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-contrast":[{"backdrop-contrast":[isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-grayscale":[{"backdrop-grayscale":["",isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-invert":[{"backdrop-invert":["",isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-opacity":[{"backdrop-opacity":[isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-saturate":[{"backdrop-saturate":[isNumber,isArbitraryVariable,isArbitraryValue]}],"backdrop-sepia":[{"backdrop-sepia":["",isNumber,isArbitraryVariable,isArbitraryValue]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":Wt()}],"border-spacing-x":[{"border-spacing-x":Wt()}],"border-spacing-y":[{"border-spacing-y":Wt()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",isArbitraryVariable,isArbitraryValue]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[isNumber,"initial",isArbitraryVariable,isArbitraryValue]}],ease:[{ease:["linear","initial",It,isArbitraryVariable,isArbitraryValue]}],delay:[{delay:[isNumber,isArbitraryVariable,isArbitraryValue]}],animate:[{animate:["none",Nt,isArbitraryVariable,isArbitraryValue]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[Ot,isArbitraryVariable,isArbitraryValue]}],"perspective-origin":[{"perspective-origin":Vt()}],rotate:[{rotate:$n()}],"rotate-x":[{"rotate-x":$n()}],"rotate-y":[{"rotate-y":$n()}],"rotate-z":[{"rotate-z":$n()}],scale:[{scale:Rn()}],"scale-x":[{"scale-x":Rn()}],"scale-y":[{"scale-y":Rn()}],"scale-z":[{"scale-z":Rn()}],"scale-3d":["scale-3d"],skew:[{skew:Tn()}],"skew-x":[{"skew-x":Tn()}],"skew-y":[{"skew-y":Tn()}],transform:[{transform:[isArbitraryVariable,isArbitraryValue,"","none","gpu","cpu"]}],"transform-origin":[{origin:Vt()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ir()}],"translate-x":[{"translate-x":ir()}],"translate-y":[{"translate-y":ir()}],"translate-z":[{"translate-z":ir()}],"translate-none":["translate-none"],accent:[{accent:rn()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:rn()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",isArbitraryVariable,isArbitraryValue]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":Wt()}],"scroll-mx":[{"scroll-mx":Wt()}],"scroll-my":[{"scroll-my":Wt()}],"scroll-ms":[{"scroll-ms":Wt()}],"scroll-me":[{"scroll-me":Wt()}],"scroll-mt":[{"scroll-mt":Wt()}],"scroll-mr":[{"scroll-mr":Wt()}],"scroll-mb":[{"scroll-mb":Wt()}],"scroll-ml":[{"scroll-ml":Wt()}],"scroll-p":[{"scroll-p":Wt()}],"scroll-px":[{"scroll-px":Wt()}],"scroll-py":[{"scroll-py":Wt()}],"scroll-ps":[{"scroll-ps":Wt()}],"scroll-pe":[{"scroll-pe":Wt()}],"scroll-pt":[{"scroll-pt":Wt()}],"scroll-pr":[{"scroll-pr":Wt()}],"scroll-pb":[{"scroll-pb":Wt()}],"scroll-pl":[{"scroll-pl":Wt()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",isArbitraryVariable,isArbitraryValue]}],fill:[{fill:["none",...rn()]}],"stroke-w":[{stroke:[isNumber,isArbitraryVariableLength,isArbitraryLength,isArbitraryNumber]}],stroke:[{stroke:["none",...rn()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},twMerge=createTailwindMerge(getDefaultConfig);function cn(...yt){return twMerge(clsx(yt))}const buttonVariants=cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function Button({className:yt,variant:Et,size:xt,asChild:vt=!1,...bt}){const At=vt?Slot$1:"button";return jsxRuntimeExports.jsx(At,{"data-slot":"button",className:cn(buttonVariants({variant:Et,size:xt,className:yt})),...bt})}function Input$2({className:yt,type:Et,...xt}){return jsxRuntimeExports.jsx("input",{type:Et,"data-slot":"input",className:cn("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",yt),...xt})}var reactDomExports=requireReactDom();const ReactDOM=getDefaultExportFromCjs(reactDomExports);var NODES$b=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$b=NODES$b.reduce((yt,Et)=>{const xt=createSlot$c(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{}),NAME$4="Separator",DEFAULT_ORIENTATION="horizontal",ORIENTATIONS=["horizontal","vertical"],Separator$1=reactExports.forwardRef((yt,Et)=>{const{decorative:xt,orientation:vt=DEFAULT_ORIENTATION,...bt}=yt,At=isValidOrientation(vt)?vt:DEFAULT_ORIENTATION,Ct=xt?{role:"none"}:{"aria-orientation":At==="vertical"?At:void 0,role:"separator"};return jsxRuntimeExports.jsx(Primitive$b.div,{"data-orientation":At,...Ct,...bt,ref:Et})});Separator$1.displayName=NAME$4;function isValidOrientation(yt){return ORIENTATIONS.includes(yt)}var Root$6=Separator$1;function Separator({className:yt,orientation:Et="horizontal",decorative:xt=!0,...vt}){return jsxRuntimeExports.jsx(Root$6,{"data-slot":"separator",decorative:xt,orientation:Et,className:cn("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",yt),...vt})}function composeEventHandlers(yt,Et,{checkForDefaultPrevented:xt=!0}={}){return function(bt){if(yt?.(bt),xt===!1||!bt.defaultPrevented)return Et?.(bt)}}function createContextScope$6(yt,Et=[]){let xt=[];function vt(At,Ft){const Ct=reactExports.createContext(Ft),wt=xt.length;xt=[...xt,Ft];const St=Rt=>{const{scope:Pt,children:Lt,...kt}=Rt,Ot=Pt?.[yt]?.[wt]||Ct,Mt=reactExports.useMemo(()=>kt,Object.values(kt));return jsxRuntimeExports.jsx(Ot.Provider,{value:Mt,children:Lt})};St.displayName=At+"Provider";function Tt(Rt,Pt){const Lt=Pt?.[yt]?.[wt]||Ct,kt=reactExports.useContext(Lt);if(kt)return kt;if(Ft!==void 0)return Ft;throw new Error(`\`${Rt}\` must be used within \`${At}\``)}return[St,Tt]}const bt=()=>{const At=xt.map(Ft=>reactExports.createContext(Ft));return function(Ct){const wt=Ct?.[yt]||At;return reactExports.useMemo(()=>({[`__scope${yt}`]:{...Ct,[yt]:wt}}),[Ct,wt])}};return bt.scopeName=yt,[vt,composeContextScopes$6(bt,...Et)]}function composeContextScopes$6(...yt){const Et=yt[0];if(yt.length===1)return Et;const xt=()=>{const vt=yt.map(bt=>({useScope:bt(),scopeName:bt.scopeName}));return function(At){const Ft=vt.reduce((Ct,{useScope:wt,scopeName:St})=>{const Rt=wt(At)[`__scope${St}`];return{...Ct,...Rt}},{});return reactExports.useMemo(()=>({[`__scope${Et.scopeName}`]:Ft}),[Ft])}};return xt.scopeName=Et.scopeName,xt}function createSlot$b(yt){const Et=createSlotClone$b(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$b);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$b(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$c(bt),Ct=mergeProps$b(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$b=Symbol("radix.slottable");function isSlottable$b(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$b}function mergeProps$b(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$c(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}var NODES$a=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$a=NODES$a.reduce((yt,Et)=>{const xt=createSlot$b(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{});function dispatchDiscreteCustomEvent(yt,Et){yt&&reactDomExports.flushSync(()=>yt.dispatchEvent(Et))}function useCallbackRef$2(yt){const Et=reactExports.useRef(yt);return reactExports.useEffect(()=>{Et.current=yt}),reactExports.useMemo(()=>(...xt)=>Et.current?.(...xt),[])}function useEscapeKeydown(yt,Et=globalThis?.document){const xt=useCallbackRef$2(yt);reactExports.useEffect(()=>{const vt=bt=>{bt.key==="Escape"&&xt(bt)};return Et.addEventListener("keydown",vt,{capture:!0}),()=>Et.removeEventListener("keydown",vt,{capture:!0})},[xt,Et])}var DISMISSABLE_LAYER_NAME="DismissableLayer",CONTEXT_UPDATE="dismissableLayer.update",POINTER_DOWN_OUTSIDE="dismissableLayer.pointerDownOutside",FOCUS_OUTSIDE="dismissableLayer.focusOutside",originalBodyPointerEvents,DismissableLayerContext=reactExports.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),DismissableLayer=reactExports.forwardRef((yt,Et)=>{const{disableOutsidePointerEvents:xt=!1,onEscapeKeyDown:vt,onPointerDownOutside:bt,onFocusOutside:At,onInteractOutside:Ft,onDismiss:Ct,...wt}=yt,St=reactExports.useContext(DismissableLayerContext),[Tt,Rt]=reactExports.useState(null),Pt=Tt?.ownerDocument??globalThis?.document,[,Lt]=reactExports.useState({}),kt=useComposedRefs(Et,Ht=>Rt(Ht)),Ot=Array.from(St.layers),[Mt]=[...St.layersWithOutsidePointerEventsDisabled].slice(-1),It=Ot.indexOf(Mt),Nt=Tt?Ot.indexOf(Tt):-1,Ut=St.layersWithOutsidePointerEventsDisabled.size>0,jt=Nt>=It,Vt=usePointerDownOutside(Ht=>{const Wt=Ht.target,Gt=[...St.branches].some(qt=>qt.contains(Wt));!jt||Gt||(bt?.(Ht),Ft?.(Ht),Ht.defaultPrevented||Ct?.())},Pt),zt=useFocusOutside(Ht=>{const Wt=Ht.target;[...St.branches].some(qt=>qt.contains(Wt))||(At?.(Ht),Ft?.(Ht),Ht.defaultPrevented||Ct?.())},Pt);return useEscapeKeydown(Ht=>{Nt===St.layers.size-1&&(vt?.(Ht),!Ht.defaultPrevented&&Ct&&(Ht.preventDefault(),Ct()))},Pt),reactExports.useEffect(()=>{if(Tt)return xt&&(St.layersWithOutsidePointerEventsDisabled.size===0&&(originalBodyPointerEvents=Pt.body.style.pointerEvents,Pt.body.style.pointerEvents="none"),St.layersWithOutsidePointerEventsDisabled.add(Tt)),St.layers.add(Tt),dispatchUpdate(),()=>{xt&&St.layersWithOutsidePointerEventsDisabled.size===1&&(Pt.body.style.pointerEvents=originalBodyPointerEvents)}},[Tt,Pt,xt,St]),reactExports.useEffect(()=>()=>{Tt&&(St.layers.delete(Tt),St.layersWithOutsidePointerEventsDisabled.delete(Tt),dispatchUpdate())},[Tt,St]),reactExports.useEffect(()=>{const Ht=()=>Lt({});return document.addEventListener(CONTEXT_UPDATE,Ht),()=>document.removeEventListener(CONTEXT_UPDATE,Ht)},[]),jsxRuntimeExports.jsx(Primitive$a.div,{...wt,ref:kt,style:{pointerEvents:Ut?jt?"auto":"none":void 0,...yt.style},onFocusCapture:composeEventHandlers(yt.onFocusCapture,zt.onFocusCapture),onBlurCapture:composeEventHandlers(yt.onBlurCapture,zt.onBlurCapture),onPointerDownCapture:composeEventHandlers(yt.onPointerDownCapture,Vt.onPointerDownCapture)})});DismissableLayer.displayName=DISMISSABLE_LAYER_NAME;var BRANCH_NAME="DismissableLayerBranch",DismissableLayerBranch=reactExports.forwardRef((yt,Et)=>{const xt=reactExports.useContext(DismissableLayerContext),vt=reactExports.useRef(null),bt=useComposedRefs(Et,vt);return reactExports.useEffect(()=>{const At=vt.current;if(At)return xt.branches.add(At),()=>{xt.branches.delete(At)}},[xt.branches]),jsxRuntimeExports.jsx(Primitive$a.div,{...yt,ref:bt})});DismissableLayerBranch.displayName=BRANCH_NAME;function usePointerDownOutside(yt,Et=globalThis?.document){const xt=useCallbackRef$2(yt),vt=reactExports.useRef(!1),bt=reactExports.useRef(()=>{});return reactExports.useEffect(()=>{const At=Ct=>{if(Ct.target&&!vt.current){let wt=function(){handleAndDispatchCustomEvent(POINTER_DOWN_OUTSIDE,xt,St,{discrete:!0})};const St={originalEvent:Ct};Ct.pointerType==="touch"?(Et.removeEventListener("click",bt.current),bt.current=wt,Et.addEventListener("click",bt.current,{once:!0})):wt()}else Et.removeEventListener("click",bt.current);vt.current=!1},Ft=window.setTimeout(()=>{Et.addEventListener("pointerdown",At)},0);return()=>{window.clearTimeout(Ft),Et.removeEventListener("pointerdown",At),Et.removeEventListener("click",bt.current)}},[Et,xt]),{onPointerDownCapture:()=>vt.current=!0}}function useFocusOutside(yt,Et=globalThis?.document){const xt=useCallbackRef$2(yt),vt=reactExports.useRef(!1);return reactExports.useEffect(()=>{const bt=At=>{At.target&&!vt.current&&handleAndDispatchCustomEvent(FOCUS_OUTSIDE,xt,{originalEvent:At},{discrete:!1})};return Et.addEventListener("focusin",bt),()=>Et.removeEventListener("focusin",bt)},[Et,xt]),{onFocusCapture:()=>vt.current=!0,onBlurCapture:()=>vt.current=!1}}function dispatchUpdate(){const yt=new CustomEvent(CONTEXT_UPDATE);document.dispatchEvent(yt)}function handleAndDispatchCustomEvent(yt,Et,xt,{discrete:vt}){const bt=xt.originalEvent.target,At=new CustomEvent(yt,{bubbles:!1,cancelable:!0,detail:xt});Et&&bt.addEventListener(yt,Et,{once:!0}),vt?dispatchDiscreteCustomEvent(bt,At):bt.dispatchEvent(At)}var useLayoutEffect2=globalThis?.document?reactExports.useLayoutEffect:()=>{},useReactId=React$1[" useId ".trim().toString()]||(()=>{}),count$2=0;function useId(yt){const[Et,xt]=reactExports.useState(useReactId());return useLayoutEffect2(()=>{xt(vt=>vt??String(count$2++))},[yt]),Et?`radix-${Et}`:""}const sides=["top","right","bottom","left"],min=Math.min,max=Math.max,round$1=Math.round,floor=Math.floor,createCoords=yt=>({x:yt,y:yt}),oppositeSideMap={left:"right",right:"left",bottom:"top",top:"bottom"},oppositeAlignmentMap={start:"end",end:"start"};function clamp$5(yt,Et,xt){return max(yt,min(Et,xt))}function evaluate(yt,Et){return typeof yt=="function"?yt(Et):yt}function getSide(yt){return yt.split("-")[0]}function getAlignment(yt){return yt.split("-")[1]}function getOppositeAxis(yt){return yt==="x"?"y":"x"}function getAxisLength(yt){return yt==="y"?"height":"width"}const yAxisSides=new Set(["top","bottom"]);function getSideAxis(yt){return yAxisSides.has(getSide(yt))?"y":"x"}function getAlignmentAxis(yt){return getOppositeAxis(getSideAxis(yt))}function getAlignmentSides(yt,Et,xt){xt===void 0&&(xt=!1);const vt=getAlignment(yt),bt=getAlignmentAxis(yt),At=getAxisLength(bt);let Ft=bt==="x"?vt===(xt?"end":"start")?"right":"left":vt==="start"?"bottom":"top";return Et.reference[At]>Et.floating[At]&&(Ft=getOppositePlacement(Ft)),[Ft,getOppositePlacement(Ft)]}function getExpandedPlacements(yt){const Et=getOppositePlacement(yt);return[getOppositeAlignmentPlacement(yt),Et,getOppositeAlignmentPlacement(Et)]}function getOppositeAlignmentPlacement(yt){return yt.replace(/start|end/g,Et=>oppositeAlignmentMap[Et])}const lrPlacement=["left","right"],rlPlacement=["right","left"],tbPlacement=["top","bottom"],btPlacement=["bottom","top"];function getSideList(yt,Et,xt){switch(yt){case"top":case"bottom":return xt?Et?rlPlacement:lrPlacement:Et?lrPlacement:rlPlacement;case"left":case"right":return Et?tbPlacement:btPlacement;default:return[]}}function getOppositeAxisPlacements(yt,Et,xt,vt){const bt=getAlignment(yt);let At=getSideList(getSide(yt),xt==="start",vt);return bt&&(At=At.map(Ft=>Ft+"-"+bt),Et&&(At=At.concat(At.map(getOppositeAlignmentPlacement)))),At}function getOppositePlacement(yt){return yt.replace(/left|right|bottom|top/g,Et=>oppositeSideMap[Et])}function expandPaddingObject(yt){return{top:0,right:0,bottom:0,left:0,...yt}}function getPaddingObject$1(yt){return typeof yt!="number"?expandPaddingObject(yt):{top:yt,right:yt,bottom:yt,left:yt}}function rectToClientRect(yt){const{x:Et,y:xt,width:vt,height:bt}=yt;return{width:vt,height:bt,top:xt,left:Et,right:Et+vt,bottom:xt+bt,x:Et,y:xt}}function computeCoordsFromPlacement(yt,Et,xt){let{reference:vt,floating:bt}=yt;const At=getSideAxis(Et),Ft=getAlignmentAxis(Et),Ct=getAxisLength(Ft),wt=getSide(Et),St=At==="y",Tt=vt.x+vt.width/2-bt.width/2,Rt=vt.y+vt.height/2-bt.height/2,Pt=vt[Ct]/2-bt[Ct]/2;let Lt;switch(wt){case"top":Lt={x:Tt,y:vt.y-bt.height};break;case"bottom":Lt={x:Tt,y:vt.y+vt.height};break;case"right":Lt={x:vt.x+vt.width,y:Rt};break;case"left":Lt={x:vt.x-bt.width,y:Rt};break;default:Lt={x:vt.x,y:vt.y}}switch(getAlignment(Et)){case"start":Lt[Ft]-=Pt*(xt&&St?-1:1);break;case"end":Lt[Ft]+=Pt*(xt&&St?-1:1);break}return Lt}async function detectOverflow(yt,Et){var xt;Et===void 0&&(Et={});const{x:vt,y:bt,platform:At,rects:Ft,elements:Ct,strategy:wt}=yt,{boundary:St="clippingAncestors",rootBoundary:Tt="viewport",elementContext:Rt="floating",altBoundary:Pt=!1,padding:Lt=0}=evaluate(Et,yt),kt=getPaddingObject$1(Lt),Mt=Ct[Pt?Rt==="floating"?"reference":"floating":Rt],It=rectToClientRect(await At.getClippingRect({element:(xt=await(At.isElement==null?void 0:At.isElement(Mt)))==null||xt?Mt:Mt.contextElement||await(At.getDocumentElement==null?void 0:At.getDocumentElement(Ct.floating)),boundary:St,rootBoundary:Tt,strategy:wt})),Nt=Rt==="floating"?{x:vt,y:bt,width:Ft.floating.width,height:Ft.floating.height}:Ft.reference,Ut=await(At.getOffsetParent==null?void 0:At.getOffsetParent(Ct.floating)),jt=await(At.isElement==null?void 0:At.isElement(Ut))?await(At.getScale==null?void 0:At.getScale(Ut))||{x:1,y:1}:{x:1,y:1},Vt=rectToClientRect(At.convertOffsetParentRelativeRectToViewportRelativeRect?await At.convertOffsetParentRelativeRectToViewportRelativeRect({elements:Ct,rect:Nt,offsetParent:Ut,strategy:wt}):Nt);return{top:(It.top-Vt.top+kt.top)/jt.y,bottom:(Vt.bottom-It.bottom+kt.bottom)/jt.y,left:(It.left-Vt.left+kt.left)/jt.x,right:(Vt.right-It.right+kt.right)/jt.x}}const computePosition$1=async(yt,Et,xt)=>{const{placement:vt="bottom",strategy:bt="absolute",middleware:At=[],platform:Ft}=xt,Ct=At.filter(Boolean),wt=await(Ft.isRTL==null?void 0:Ft.isRTL(Et));let St=await Ft.getElementRects({reference:yt,floating:Et,strategy:bt}),{x:Tt,y:Rt}=computeCoordsFromPlacement(St,vt,wt),Pt=vt,Lt={},kt=0;for(let Mt=0;Mt<Ct.length;Mt++){var Ot;const{name:It,fn:Nt}=Ct[Mt],{x:Ut,y:jt,data:Vt,reset:zt}=await Nt({x:Tt,y:Rt,initialPlacement:vt,placement:Pt,strategy:bt,middlewareData:Lt,rects:St,platform:{...Ft,detectOverflow:(Ot=Ft.detectOverflow)!=null?Ot:detectOverflow},elements:{reference:yt,floating:Et}});Tt=Ut??Tt,Rt=jt??Rt,Lt={...Lt,[It]:{...Lt[It],...Vt}},zt&&kt<=50&&(kt++,typeof zt=="object"&&(zt.placement&&(Pt=zt.placement),zt.rects&&(St=zt.rects===!0?await Ft.getElementRects({reference:yt,floating:Et,strategy:bt}):zt.rects),{x:Tt,y:Rt}=computeCoordsFromPlacement(St,Pt,wt)),Mt=-1)}return{x:Tt,y:Rt,placement:Pt,strategy:bt,middlewareData:Lt}},arrow$3=yt=>({name:"arrow",options:yt,async fn(Et){const{x:xt,y:vt,placement:bt,rects:At,platform:Ft,elements:Ct,middlewareData:wt}=Et,{element:St,padding:Tt=0}=evaluate(yt,Et)||{};if(St==null)return{};const Rt=getPaddingObject$1(Tt),Pt={x:xt,y:vt},Lt=getAlignmentAxis(bt),kt=getAxisLength(Lt),Ot=await Ft.getDimensions(St),Mt=Lt==="y",It=Mt?"top":"left",Nt=Mt?"bottom":"right",Ut=Mt?"clientHeight":"clientWidth",jt=At.reference[kt]+At.reference[Lt]-Pt[Lt]-At.floating[kt],Vt=Pt[Lt]-At.reference[Lt],zt=await(Ft.getOffsetParent==null?void 0:Ft.getOffsetParent(St));let Ht=zt?zt[Ut]:0;(!Ht||!await(Ft.isElement==null?void 0:Ft.isElement(zt)))&&(Ht=Ct.floating[Ut]||At.floating[kt]);const Wt=jt/2-Vt/2,Gt=Ht/2-Ot[kt]/2-1,qt=min(Rt[It],Gt),Xt=min(Rt[Nt],Gt),Kt=qt,Jt=Ht-Ot[kt]-Xt,tn=Ht/2-Ot[kt]/2+Wt,sn=clamp$5(Kt,tn,Jt),Zt=!wt.arrow&&getAlignment(bt)!=null&&tn!==sn&&At.reference[kt]/2-(tn<Kt?qt:Xt)-Ot[kt]/2<0,nn=Zt?tn<Kt?tn-Kt:tn-Jt:0;return{[Lt]:Pt[Lt]+nn,data:{[Lt]:sn,centerOffset:tn-sn-nn,...Zt&&{alignmentOffset:nn}},reset:Zt}}}),flip$2=function(yt){return yt===void 0&&(yt={}),{name:"flip",options:yt,async fn(Et){var xt,vt;const{placement:bt,middlewareData:At,rects:Ft,initialPlacement:Ct,platform:wt,elements:St}=Et,{mainAxis:Tt=!0,crossAxis:Rt=!0,fallbackPlacements:Pt,fallbackStrategy:Lt="bestFit",fallbackAxisSideDirection:kt="none",flipAlignment:Ot=!0,...Mt}=evaluate(yt,Et);if((xt=At.arrow)!=null&&xt.alignmentOffset)return{};const It=getSide(bt),Nt=getSideAxis(Ct),Ut=getSide(Ct)===Ct,jt=await(wt.isRTL==null?void 0:wt.isRTL(St.floating)),Vt=Pt||(Ut||!Ot?[getOppositePlacement(Ct)]:getExpandedPlacements(Ct)),zt=kt!=="none";!Pt&&zt&&Vt.push(...getOppositeAxisPlacements(Ct,Ot,kt,jt));const Ht=[Ct,...Vt],Wt=await wt.detectOverflow(Et,Mt),Gt=[];let qt=((vt=At.flip)==null?void 0:vt.overflows)||[];if(Tt&&Gt.push(Wt[It]),Rt){const tn=getAlignmentSides(bt,Ft,jt);Gt.push(Wt[tn[0]],Wt[tn[1]])}if(qt=[...qt,{placement:bt,overflows:Gt}],!Gt.every(tn=>tn<=0)){var Xt,Kt;const tn=(((Xt=At.flip)==null?void 0:Xt.index)||0)+1,sn=Ht[tn];if(sn&&(!(Rt==="alignment"?Nt!==getSideAxis(sn):!1)||qt.every(rn=>getSideAxis(rn.placement)===Nt?rn.overflows[0]>0:!0)))return{data:{index:tn,overflows:qt},reset:{placement:sn}};let Zt=(Kt=qt.filter(nn=>nn.overflows[0]<=0).sort((nn,rn)=>nn.overflows[1]-rn.overflows[1])[0])==null?void 0:Kt.placement;if(!Zt)switch(Lt){case"bestFit":{var Jt;const nn=(Jt=qt.filter(rn=>{if(zt){const on=getSideAxis(rn.placement);return on===Nt||on==="y"}return!0}).map(rn=>[rn.placement,rn.overflows.filter(on=>on>0).reduce((on,ln)=>on+ln,0)]).sort((rn,on)=>rn[1]-on[1])[0])==null?void 0:Jt[0];nn&&(Zt=nn);break}case"initialPlacement":Zt=Ct;break}if(bt!==Zt)return{reset:{placement:Zt}}}return{}}}};function getSideOffsets(yt,Et){return{top:yt.top-Et.height,right:yt.right-Et.width,bottom:yt.bottom-Et.height,left:yt.left-Et.width}}function isAnySideFullyClipped(yt){return sides.some(Et=>yt[Et]>=0)}const hide$2=function(yt){return yt===void 0&&(yt={}),{name:"hide",options:yt,async fn(Et){const{rects:xt,platform:vt}=Et,{strategy:bt="referenceHidden",...At}=evaluate(yt,Et);switch(bt){case"referenceHidden":{const Ft=await vt.detectOverflow(Et,{...At,elementContext:"reference"}),Ct=getSideOffsets(Ft,xt.reference);return{data:{referenceHiddenOffsets:Ct,referenceHidden:isAnySideFullyClipped(Ct)}}}case"escaped":{const Ft=await vt.detectOverflow(Et,{...At,altBoundary:!0}),Ct=getSideOffsets(Ft,xt.floating);return{data:{escapedOffsets:Ct,escaped:isAnySideFullyClipped(Ct)}}}default:return{}}}}},originSides=new Set(["left","top"]);async function convertValueToCoords(yt,Et){const{placement:xt,platform:vt,elements:bt}=yt,At=await(vt.isRTL==null?void 0:vt.isRTL(bt.floating)),Ft=getSide(xt),Ct=getAlignment(xt),wt=getSideAxis(xt)==="y",St=originSides.has(Ft)?-1:1,Tt=At&&wt?-1:1,Rt=evaluate(Et,yt);let{mainAxis:Pt,crossAxis:Lt,alignmentAxis:kt}=typeof Rt=="number"?{mainAxis:Rt,crossAxis:0,alignmentAxis:null}:{mainAxis:Rt.mainAxis||0,crossAxis:Rt.crossAxis||0,alignmentAxis:Rt.alignmentAxis};return Ct&&typeof kt=="number"&&(Lt=Ct==="end"?kt*-1:kt),wt?{x:Lt*Tt,y:Pt*St}:{x:Pt*St,y:Lt*Tt}}const offset$2=function(yt){return yt===void 0&&(yt=0),{name:"offset",options:yt,async fn(Et){var xt,vt;const{x:bt,y:At,placement:Ft,middlewareData:Ct}=Et,wt=await convertValueToCoords(Et,yt);return Ft===((xt=Ct.offset)==null?void 0:xt.placement)&&(vt=Ct.arrow)!=null&&vt.alignmentOffset?{}:{x:bt+wt.x,y:At+wt.y,data:{...wt,placement:Ft}}}}},shift$2=function(yt){return yt===void 0&&(yt={}),{name:"shift",options:yt,async fn(Et){const{x:xt,y:vt,placement:bt,platform:At}=Et,{mainAxis:Ft=!0,crossAxis:Ct=!1,limiter:wt={fn:It=>{let{x:Nt,y:Ut}=It;return{x:Nt,y:Ut}}},...St}=evaluate(yt,Et),Tt={x:xt,y:vt},Rt=await At.detectOverflow(Et,St),Pt=getSideAxis(getSide(bt)),Lt=getOppositeAxis(Pt);let kt=Tt[Lt],Ot=Tt[Pt];if(Ft){const It=Lt==="y"?"top":"left",Nt=Lt==="y"?"bottom":"right",Ut=kt+Rt[It],jt=kt-Rt[Nt];kt=clamp$5(Ut,kt,jt)}if(Ct){const It=Pt==="y"?"top":"left",Nt=Pt==="y"?"bottom":"right",Ut=Ot+Rt[It],jt=Ot-Rt[Nt];Ot=clamp$5(Ut,Ot,jt)}const Mt=wt.fn({...Et,[Lt]:kt,[Pt]:Ot});return{...Mt,data:{x:Mt.x-xt,y:Mt.y-vt,enabled:{[Lt]:Ft,[Pt]:Ct}}}}}},limitShift$2=function(yt){return yt===void 0&&(yt={}),{options:yt,fn(Et){const{x:xt,y:vt,placement:bt,rects:At,middlewareData:Ft}=Et,{offset:Ct=0,mainAxis:wt=!0,crossAxis:St=!0}=evaluate(yt,Et),Tt={x:xt,y:vt},Rt=getSideAxis(bt),Pt=getOppositeAxis(Rt);let Lt=Tt[Pt],kt=Tt[Rt];const Ot=evaluate(Ct,Et),Mt=typeof Ot=="number"?{mainAxis:Ot,crossAxis:0}:{mainAxis:0,crossAxis:0,...Ot};if(wt){const Ut=Pt==="y"?"height":"width",jt=At.reference[Pt]-At.floating[Ut]+Mt.mainAxis,Vt=At.reference[Pt]+At.reference[Ut]-Mt.mainAxis;Lt<jt?Lt=jt:Lt>Vt&&(Lt=Vt)}if(St){var It,Nt;const Ut=Pt==="y"?"width":"height",jt=originSides.has(getSide(bt)),Vt=At.reference[Rt]-At.floating[Ut]+(jt&&((It=Ft.offset)==null?void 0:It[Rt])||0)+(jt?0:Mt.crossAxis),zt=At.reference[Rt]+At.reference[Ut]+(jt?0:((Nt=Ft.offset)==null?void 0:Nt[Rt])||0)-(jt?Mt.crossAxis:0);kt<Vt?kt=Vt:kt>zt&&(kt=zt)}return{[Pt]:Lt,[Rt]:kt}}}},size$2=function(yt){return yt===void 0&&(yt={}),{name:"size",options:yt,async fn(Et){var xt,vt;const{placement:bt,rects:At,platform:Ft,elements:Ct}=Et,{apply:wt=()=>{},...St}=evaluate(yt,Et),Tt=await Ft.detectOverflow(Et,St),Rt=getSide(bt),Pt=getAlignment(bt),Lt=getSideAxis(bt)==="y",{width:kt,height:Ot}=At.floating;let Mt,It;Rt==="top"||Rt==="bottom"?(Mt=Rt,It=Pt===(await(Ft.isRTL==null?void 0:Ft.isRTL(Ct.floating))?"start":"end")?"left":"right"):(It=Rt,Mt=Pt==="end"?"top":"bottom");const Nt=Ot-Tt.top-Tt.bottom,Ut=kt-Tt.left-Tt.right,jt=min(Ot-Tt[Mt],Nt),Vt=min(kt-Tt[It],Ut),zt=!Et.middlewareData.shift;let Ht=jt,Wt=Vt;if((xt=Et.middlewareData.shift)!=null&&xt.enabled.x&&(Wt=Ut),(vt=Et.middlewareData.shift)!=null&&vt.enabled.y&&(Ht=Nt),zt&&!Pt){const qt=max(Tt.left,0),Xt=max(Tt.right,0),Kt=max(Tt.top,0),Jt=max(Tt.bottom,0);Lt?Wt=kt-2*(qt!==0||Xt!==0?qt+Xt:max(Tt.left,Tt.right)):Ht=Ot-2*(Kt!==0||Jt!==0?Kt+Jt:max(Tt.top,Tt.bottom))}await wt({...Et,availableWidth:Wt,availableHeight:Ht});const Gt=await Ft.getDimensions(Ct.floating);return kt!==Gt.width||Ot!==Gt.height?{reset:{rects:!0}}:{}}}};function hasWindow(){return typeof window<"u"}function getNodeName(yt){return isNode(yt)?(yt.nodeName||"").toLowerCase():"#document"}function getWindow(yt){var Et;return(yt==null||(Et=yt.ownerDocument)==null?void 0:Et.defaultView)||window}function getDocumentElement(yt){var Et;return(Et=(isNode(yt)?yt.ownerDocument:yt.document)||window.document)==null?void 0:Et.documentElement}function isNode(yt){return hasWindow()?yt instanceof Node||yt instanceof getWindow(yt).Node:!1}function isElement(yt){return hasWindow()?yt instanceof Element||yt instanceof getWindow(yt).Element:!1}function isHTMLElement(yt){return hasWindow()?yt instanceof HTMLElement||yt instanceof getWindow(yt).HTMLElement:!1}function isShadowRoot(yt){return!hasWindow()||typeof ShadowRoot>"u"?!1:yt instanceof ShadowRoot||yt instanceof getWindow(yt).ShadowRoot}const invalidOverflowDisplayValues=new Set(["inline","contents"]);function isOverflowElement(yt){const{overflow:Et,overflowX:xt,overflowY:vt,display:bt}=getComputedStyle$1(yt);return/auto|scroll|overlay|hidden|clip/.test(Et+vt+xt)&&!invalidOverflowDisplayValues.has(bt)}const tableElements=new Set(["table","td","th"]);function isTableElement(yt){return tableElements.has(getNodeName(yt))}const topLayerSelectors=[":popover-open",":modal"];function isTopLayer(yt){return topLayerSelectors.some(Et=>{try{return yt.matches(Et)}catch{return!1}})}const transformProperties=["transform","translate","scale","rotate","perspective"],willChangeValues=["transform","translate","scale","rotate","perspective","filter"],containValues=["paint","layout","strict","content"];function isContainingBlock(yt){const Et=isWebKit(),xt=isElement(yt)?getComputedStyle$1(yt):yt;return transformProperties.some(vt=>xt[vt]?xt[vt]!=="none":!1)||(xt.containerType?xt.containerType!=="normal":!1)||!Et&&(xt.backdropFilter?xt.backdropFilter!=="none":!1)||!Et&&(xt.filter?xt.filter!=="none":!1)||willChangeValues.some(vt=>(xt.willChange||"").includes(vt))||containValues.some(vt=>(xt.contain||"").includes(vt))}function getContainingBlock(yt){let Et=getParentNode(yt);for(;isHTMLElement(Et)&&!isLastTraversableNode(Et);){if(isContainingBlock(Et))return Et;if(isTopLayer(Et))return null;Et=getParentNode(Et)}return null}function isWebKit(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const lastTraversableNodeNames=new Set(["html","body","#document"]);function isLastTraversableNode(yt){return lastTraversableNodeNames.has(getNodeName(yt))}function getComputedStyle$1(yt){return getWindow(yt).getComputedStyle(yt)}function getNodeScroll(yt){return isElement(yt)?{scrollLeft:yt.scrollLeft,scrollTop:yt.scrollTop}:{scrollLeft:yt.scrollX,scrollTop:yt.scrollY}}function getParentNode(yt){if(getNodeName(yt)==="html")return yt;const Et=yt.assignedSlot||yt.parentNode||isShadowRoot(yt)&&yt.host||getDocumentElement(yt);return isShadowRoot(Et)?Et.host:Et}function getNearestOverflowAncestor(yt){const Et=getParentNode(yt);return isLastTraversableNode(Et)?yt.ownerDocument?yt.ownerDocument.body:yt.body:isHTMLElement(Et)&&isOverflowElement(Et)?Et:getNearestOverflowAncestor(Et)}function getOverflowAncestors(yt,Et,xt){var vt;Et===void 0&&(Et=[]),xt===void 0&&(xt=!0);const bt=getNearestOverflowAncestor(yt),At=bt===((vt=yt.ownerDocument)==null?void 0:vt.body),Ft=getWindow(bt);if(At){const Ct=getFrameElement(Ft);return Et.concat(Ft,Ft.visualViewport||[],isOverflowElement(bt)?bt:[],Ct&&xt?getOverflowAncestors(Ct):[])}return Et.concat(bt,getOverflowAncestors(bt,[],xt))}function getFrameElement(yt){return yt.parent&&Object.getPrototypeOf(yt.parent)?yt.frameElement:null}function getCssDimensions(yt){const Et=getComputedStyle$1(yt);let xt=parseFloat(Et.width)||0,vt=parseFloat(Et.height)||0;const bt=isHTMLElement(yt),At=bt?yt.offsetWidth:xt,Ft=bt?yt.offsetHeight:vt,Ct=round$1(xt)!==At||round$1(vt)!==Ft;return Ct&&(xt=At,vt=Ft),{width:xt,height:vt,$:Ct}}function unwrapElement(yt){return isElement(yt)?yt:yt.contextElement}function getScale$1(yt){const Et=unwrapElement(yt);if(!isHTMLElement(Et))return createCoords(1);const xt=Et.getBoundingClientRect(),{width:vt,height:bt,$:At}=getCssDimensions(Et);let Ft=(At?round$1(xt.width):xt.width)/vt,Ct=(At?round$1(xt.height):xt.height)/bt;return(!Ft||!Number.isFinite(Ft))&&(Ft=1),(!Ct||!Number.isFinite(Ct))&&(Ct=1),{x:Ft,y:Ct}}const noOffsets=createCoords(0);function getVisualOffsets(yt){const Et=getWindow(yt);return!isWebKit()||!Et.visualViewport?noOffsets:{x:Et.visualViewport.offsetLeft,y:Et.visualViewport.offsetTop}}function shouldAddVisualOffsets(yt,Et,xt){return Et===void 0&&(Et=!1),!xt||Et&&xt!==getWindow(yt)?!1:Et}function getBoundingClientRect(yt,Et,xt,vt){Et===void 0&&(Et=!1),xt===void 0&&(xt=!1);const bt=yt.getBoundingClientRect(),At=unwrapElement(yt);let Ft=createCoords(1);Et&&(vt?isElement(vt)&&(Ft=getScale$1(vt)):Ft=getScale$1(yt));const Ct=shouldAddVisualOffsets(At,xt,vt)?getVisualOffsets(At):createCoords(0);let wt=(bt.left+Ct.x)/Ft.x,St=(bt.top+Ct.y)/Ft.y,Tt=bt.width/Ft.x,Rt=bt.height/Ft.y;if(At){const Pt=getWindow(At),Lt=vt&&isElement(vt)?getWindow(vt):vt;let kt=Pt,Ot=getFrameElement(kt);for(;Ot&&vt&&Lt!==kt;){const Mt=getScale$1(Ot),It=Ot.getBoundingClientRect(),Nt=getComputedStyle$1(Ot),Ut=It.left+(Ot.clientLeft+parseFloat(Nt.paddingLeft))*Mt.x,jt=It.top+(Ot.clientTop+parseFloat(Nt.paddingTop))*Mt.y;wt*=Mt.x,St*=Mt.y,Tt*=Mt.x,Rt*=Mt.y,wt+=Ut,St+=jt,kt=getWindow(Ot),Ot=getFrameElement(kt)}}return rectToClientRect({width:Tt,height:Rt,x:wt,y:St})}function getWindowScrollBarX(yt,Et){const xt=getNodeScroll(yt).scrollLeft;return Et?Et.left+xt:getBoundingClientRect(getDocumentElement(yt)).left+xt}function getHTMLOffset(yt,Et){const xt=yt.getBoundingClientRect(),vt=xt.left+Et.scrollLeft-getWindowScrollBarX(yt,xt),bt=xt.top+Et.scrollTop;return{x:vt,y:bt}}function convertOffsetParentRelativeRectToViewportRelativeRect(yt){let{elements:Et,rect:xt,offsetParent:vt,strategy:bt}=yt;const At=bt==="fixed",Ft=getDocumentElement(vt),Ct=Et?isTopLayer(Et.floating):!1;if(vt===Ft||Ct&&At)return xt;let wt={scrollLeft:0,scrollTop:0},St=createCoords(1);const Tt=createCoords(0),Rt=isHTMLElement(vt);if((Rt||!Rt&&!At)&&((getNodeName(vt)!=="body"||isOverflowElement(Ft))&&(wt=getNodeScroll(vt)),isHTMLElement(vt))){const Lt=getBoundingClientRect(vt);St=getScale$1(vt),Tt.x=Lt.x+vt.clientLeft,Tt.y=Lt.y+vt.clientTop}const Pt=Ft&&!Rt&&!At?getHTMLOffset(Ft,wt):createCoords(0);return{width:xt.width*St.x,height:xt.height*St.y,x:xt.x*St.x-wt.scrollLeft*St.x+Tt.x+Pt.x,y:xt.y*St.y-wt.scrollTop*St.y+Tt.y+Pt.y}}function getClientRects(yt){return Array.from(yt.getClientRects())}function getDocumentRect(yt){const Et=getDocumentElement(yt),xt=getNodeScroll(yt),vt=yt.ownerDocument.body,bt=max(Et.scrollWidth,Et.clientWidth,vt.scrollWidth,vt.clientWidth),At=max(Et.scrollHeight,Et.clientHeight,vt.scrollHeight,vt.clientHeight);let Ft=-xt.scrollLeft+getWindowScrollBarX(yt);const Ct=-xt.scrollTop;return getComputedStyle$1(vt).direction==="rtl"&&(Ft+=max(Et.clientWidth,vt.clientWidth)-bt),{width:bt,height:At,x:Ft,y:Ct}}const SCROLLBAR_MAX=25;function getViewportRect(yt,Et){const xt=getWindow(yt),vt=getDocumentElement(yt),bt=xt.visualViewport;let At=vt.clientWidth,Ft=vt.clientHeight,Ct=0,wt=0;if(bt){At=bt.width,Ft=bt.height;const Tt=isWebKit();(!Tt||Tt&&Et==="fixed")&&(Ct=bt.offsetLeft,wt=bt.offsetTop)}const St=getWindowScrollBarX(vt);if(St<=0){const Tt=vt.ownerDocument,Rt=Tt.body,Pt=getComputedStyle(Rt),Lt=Tt.compatMode==="CSS1Compat"&&parseFloat(Pt.marginLeft)+parseFloat(Pt.marginRight)||0,kt=Math.abs(vt.clientWidth-Rt.clientWidth-Lt);kt<=SCROLLBAR_MAX&&(At-=kt)}else St<=SCROLLBAR_MAX&&(At+=St);return{width:At,height:Ft,x:Ct,y:wt}}const absoluteOrFixed=new Set(["absolute","fixed"]);function getInnerBoundingClientRect(yt,Et){const xt=getBoundingClientRect(yt,!0,Et==="fixed"),vt=xt.top+yt.clientTop,bt=xt.left+yt.clientLeft,At=isHTMLElement(yt)?getScale$1(yt):createCoords(1),Ft=yt.clientWidth*At.x,Ct=yt.clientHeight*At.y,wt=bt*At.x,St=vt*At.y;return{width:Ft,height:Ct,x:wt,y:St}}function getClientRectFromClippingAncestor(yt,Et,xt){let vt;if(Et==="viewport")vt=getViewportRect(yt,xt);else if(Et==="document")vt=getDocumentRect(getDocumentElement(yt));else if(isElement(Et))vt=getInnerBoundingClientRect(Et,xt);else{const bt=getVisualOffsets(yt);vt={x:Et.x-bt.x,y:Et.y-bt.y,width:Et.width,height:Et.height}}return rectToClientRect(vt)}function hasFixedPositionAncestor(yt,Et){const xt=getParentNode(yt);return xt===Et||!isElement(xt)||isLastTraversableNode(xt)?!1:getComputedStyle$1(xt).position==="fixed"||hasFixedPositionAncestor(xt,Et)}function getClippingElementAncestors(yt,Et){const xt=Et.get(yt);if(xt)return xt;let vt=getOverflowAncestors(yt,[],!1).filter(Ct=>isElement(Ct)&&getNodeName(Ct)!=="body"),bt=null;const At=getComputedStyle$1(yt).position==="fixed";let Ft=At?getParentNode(yt):yt;for(;isElement(Ft)&&!isLastTraversableNode(Ft);){const Ct=getComputedStyle$1(Ft),wt=isContainingBlock(Ft);!wt&&Ct.position==="fixed"&&(bt=null),(At?!wt&&!bt:!wt&&Ct.position==="static"&&!!bt&&absoluteOrFixed.has(bt.position)||isOverflowElement(Ft)&&!wt&&hasFixedPositionAncestor(yt,Ft))?vt=vt.filter(Tt=>Tt!==Ft):bt=Ct,Ft=getParentNode(Ft)}return Et.set(yt,vt),vt}function getClippingRect(yt){let{element:Et,boundary:xt,rootBoundary:vt,strategy:bt}=yt;const Ft=[...xt==="clippingAncestors"?isTopLayer(Et)?[]:getClippingElementAncestors(Et,this._c):[].concat(xt),vt],Ct=Ft[0],wt=Ft.reduce((St,Tt)=>{const Rt=getClientRectFromClippingAncestor(Et,Tt,bt);return St.top=max(Rt.top,St.top),St.right=min(Rt.right,St.right),St.bottom=min(Rt.bottom,St.bottom),St.left=max(Rt.left,St.left),St},getClientRectFromClippingAncestor(Et,Ct,bt));return{width:wt.right-wt.left,height:wt.bottom-wt.top,x:wt.left,y:wt.top}}function getDimensions(yt){const{width:Et,height:xt}=getCssDimensions(yt);return{width:Et,height:xt}}function getRectRelativeToOffsetParent(yt,Et,xt){const vt=isHTMLElement(Et),bt=getDocumentElement(Et),At=xt==="fixed",Ft=getBoundingClientRect(yt,!0,At,Et);let Ct={scrollLeft:0,scrollTop:0};const wt=createCoords(0);function St(){wt.x=getWindowScrollBarX(bt)}if(vt||!vt&&!At)if((getNodeName(Et)!=="body"||isOverflowElement(bt))&&(Ct=getNodeScroll(Et)),vt){const Lt=getBoundingClientRect(Et,!0,At,Et);wt.x=Lt.x+Et.clientLeft,wt.y=Lt.y+Et.clientTop}else bt&&St();At&&!vt&&bt&&St();const Tt=bt&&!vt&&!At?getHTMLOffset(bt,Ct):createCoords(0),Rt=Ft.left+Ct.scrollLeft-wt.x-Tt.x,Pt=Ft.top+Ct.scrollTop-wt.y-Tt.y;return{x:Rt,y:Pt,width:Ft.width,height:Ft.height}}function isStaticPositioned(yt){return getComputedStyle$1(yt).position==="static"}function getTrueOffsetParent(yt,Et){if(!isHTMLElement(yt)||getComputedStyle$1(yt).position==="fixed")return null;if(Et)return Et(yt);let xt=yt.offsetParent;return getDocumentElement(yt)===xt&&(xt=xt.ownerDocument.body),xt}function getOffsetParent(yt,Et){const xt=getWindow(yt);if(isTopLayer(yt))return xt;if(!isHTMLElement(yt)){let bt=getParentNode(yt);for(;bt&&!isLastTraversableNode(bt);){if(isElement(bt)&&!isStaticPositioned(bt))return bt;bt=getParentNode(bt)}return xt}let vt=getTrueOffsetParent(yt,Et);for(;vt&&isTableElement(vt)&&isStaticPositioned(vt);)vt=getTrueOffsetParent(vt,Et);return vt&&isLastTraversableNode(vt)&&isStaticPositioned(vt)&&!isContainingBlock(vt)?xt:vt||getContainingBlock(yt)||xt}const getElementRects=async function(yt){const Et=this.getOffsetParent||getOffsetParent,xt=this.getDimensions,vt=await xt(yt.floating);return{reference:getRectRelativeToOffsetParent(yt.reference,await Et(yt.floating),yt.strategy),floating:{x:0,y:0,width:vt.width,height:vt.height}}};function isRTL(yt){return getComputedStyle$1(yt).direction==="rtl"}const platform={convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement,getClippingRect,getOffsetParent,getElementRects,getClientRects,getDimensions,getScale:getScale$1,isElement,isRTL};function rectsAreEqual(yt,Et){return yt.x===Et.x&&yt.y===Et.y&&yt.width===Et.width&&yt.height===Et.height}function observeMove(yt,Et){let xt=null,vt;const bt=getDocumentElement(yt);function At(){var Ct;clearTimeout(vt),(Ct=xt)==null||Ct.disconnect(),xt=null}function Ft(Ct,wt){Ct===void 0&&(Ct=!1),wt===void 0&&(wt=1),At();const St=yt.getBoundingClientRect(),{left:Tt,top:Rt,width:Pt,height:Lt}=St;if(Ct||Et(),!Pt||!Lt)return;const kt=floor(Rt),Ot=floor(bt.clientWidth-(Tt+Pt)),Mt=floor(bt.clientHeight-(Rt+Lt)),It=floor(Tt),Ut={rootMargin:-kt+"px "+-Ot+"px "+-Mt+"px "+-It+"px",threshold:max(0,min(1,wt))||1};let jt=!0;function Vt(zt){const Ht=zt[0].intersectionRatio;if(Ht!==wt){if(!jt)return Ft();Ht?Ft(!1,Ht):vt=setTimeout(()=>{Ft(!1,1e-7)},1e3)}Ht===1&&!rectsAreEqual(St,yt.getBoundingClientRect())&&Ft(),jt=!1}try{xt=new IntersectionObserver(Vt,{...Ut,root:bt.ownerDocument})}catch{xt=new IntersectionObserver(Vt,Ut)}xt.observe(yt)}return Ft(!0),At}function autoUpdate(yt,Et,xt,vt){vt===void 0&&(vt={});const{ancestorScroll:bt=!0,ancestorResize:At=!0,elementResize:Ft=typeof ResizeObserver=="function",layoutShift:Ct=typeof IntersectionObserver=="function",animationFrame:wt=!1}=vt,St=unwrapElement(yt),Tt=bt||At?[...St?getOverflowAncestors(St):[],...getOverflowAncestors(Et)]:[];Tt.forEach(It=>{bt&&It.addEventListener("scroll",xt,{passive:!0}),At&&It.addEventListener("resize",xt)});const Rt=St&&Ct?observeMove(St,xt):null;let Pt=-1,Lt=null;Ft&&(Lt=new ResizeObserver(It=>{let[Nt]=It;Nt&&Nt.target===St&&Lt&&(Lt.unobserve(Et),cancelAnimationFrame(Pt),Pt=requestAnimationFrame(()=>{var Ut;(Ut=Lt)==null||Ut.observe(Et)})),xt()}),St&&!wt&&Lt.observe(St),Lt.observe(Et));let kt,Ot=wt?getBoundingClientRect(yt):null;wt&&Mt();function Mt(){const It=getBoundingClientRect(yt);Ot&&!rectsAreEqual(Ot,It)&&xt(),Ot=It,kt=requestAnimationFrame(Mt)}return xt(),()=>{var It;Tt.forEach(Nt=>{bt&&Nt.removeEventListener("scroll",xt),At&&Nt.removeEventListener("resize",xt)}),Rt?.(),(It=Lt)==null||It.disconnect(),Lt=null,wt&&cancelAnimationFrame(kt)}}const offset$1=offset$2,shift$1=shift$2,flip$1=flip$2,size$1=size$2,hide$1=hide$2,arrow$2=arrow$3,limitShift$1=limitShift$2,computePosition=(yt,Et,xt)=>{const vt=new Map,bt={platform,...xt},At={...bt.platform,_c:vt};return computePosition$1(yt,Et,{...bt,platform:At})};var isClient=typeof document<"u",noop$5=function(){},index$2=isClient?reactExports.useLayoutEffect:noop$5;function deepEqual$3(yt,Et){if(yt===Et)return!0;if(typeof yt!=typeof Et)return!1;if(typeof yt=="function"&&yt.toString()===Et.toString())return!0;let xt,vt,bt;if(yt&&Et&&typeof yt=="object"){if(Array.isArray(yt)){if(xt=yt.length,xt!==Et.length)return!1;for(vt=xt;vt--!==0;)if(!deepEqual$3(yt[vt],Et[vt]))return!1;return!0}if(bt=Object.keys(yt),xt=bt.length,xt!==Object.keys(Et).length)return!1;for(vt=xt;vt--!==0;)if(!{}.hasOwnProperty.call(Et,bt[vt]))return!1;for(vt=xt;vt--!==0;){const At=bt[vt];if(!(At==="_owner"&&yt.$$typeof)&&!deepEqual$3(yt[At],Et[At]))return!1}return!0}return yt!==yt&&Et!==Et}function getDPR(yt){return typeof window>"u"?1:(yt.ownerDocument.defaultView||window).devicePixelRatio||1}function roundByDPR(yt,Et){const xt=getDPR(yt);return Math.round(Et*xt)/xt}function useLatestRef(yt){const Et=reactExports.useRef(yt);return index$2(()=>{Et.current=yt}),Et}function useFloating(yt){yt===void 0&&(yt={});const{placement:Et="bottom",strategy:xt="absolute",middleware:vt=[],platform:bt,elements:{reference:At,floating:Ft}={},transform:Ct=!0,whileElementsMounted:wt,open:St}=yt,[Tt,Rt]=reactExports.useState({x:0,y:0,strategy:xt,placement:Et,middlewareData:{},isPositioned:!1}),[Pt,Lt]=reactExports.useState(vt);deepEqual$3(Pt,vt)||Lt(vt);const[kt,Ot]=reactExports.useState(null),[Mt,It]=reactExports.useState(null),Nt=reactExports.useCallback(rn=>{rn!==zt.current&&(zt.current=rn,Ot(rn))},[]),Ut=reactExports.useCallback(rn=>{rn!==Ht.current&&(Ht.current=rn,It(rn))},[]),jt=At||kt,Vt=Ft||Mt,zt=reactExports.useRef(null),Ht=reactExports.useRef(null),Wt=reactExports.useRef(Tt),Gt=wt!=null,qt=useLatestRef(wt),Xt=useLatestRef(bt),Kt=useLatestRef(St),Jt=reactExports.useCallback(()=>{if(!zt.current||!Ht.current)return;const rn={placement:Et,strategy:xt,middleware:Pt};Xt.current&&(rn.platform=Xt.current),computePosition(zt.current,Ht.current,rn).then(on=>{const ln={...on,isPositioned:Kt.current!==!1};tn.current&&!deepEqual$3(Wt.current,ln)&&(Wt.current=ln,reactDomExports.flushSync(()=>{Rt(ln)}))})},[Pt,Et,xt,Xt,Kt]);index$2(()=>{St===!1&&Wt.current.isPositioned&&(Wt.current.isPositioned=!1,Rt(rn=>({...rn,isPositioned:!1})))},[St]);const tn=reactExports.useRef(!1);index$2(()=>(tn.current=!0,()=>{tn.current=!1}),[]),index$2(()=>{if(jt&&(zt.current=jt),Vt&&(Ht.current=Vt),jt&&Vt){if(qt.current)return qt.current(jt,Vt,Jt);Jt()}},[jt,Vt,Jt,qt,Gt]);const sn=reactExports.useMemo(()=>({reference:zt,floating:Ht,setReference:Nt,setFloating:Ut}),[Nt,Ut]),Zt=reactExports.useMemo(()=>({reference:jt,floating:Vt}),[jt,Vt]),nn=reactExports.useMemo(()=>{const rn={position:xt,left:0,top:0};if(!Zt.floating)return rn;const on=roundByDPR(Zt.floating,Tt.x),ln=roundByDPR(Zt.floating,Tt.y);return Ct?{...rn,transform:"translate("+on+"px, "+ln+"px)",...getDPR(Zt.floating)>=1.5&&{willChange:"transform"}}:{position:xt,left:on,top:ln}},[xt,Ct,Zt.floating,Tt.x,Tt.y]);return reactExports.useMemo(()=>({...Tt,update:Jt,refs:sn,elements:Zt,floatingStyles:nn}),[Tt,Jt,sn,Zt,nn])}const arrow$1=yt=>{function Et(xt){return{}.hasOwnProperty.call(xt,"current")}return{name:"arrow",options:yt,fn(xt){const{element:vt,padding:bt}=typeof yt=="function"?yt(xt):yt;return vt&&Et(vt)?vt.current!=null?arrow$2({element:vt.current,padding:bt}).fn(xt):{}:vt?arrow$2({element:vt,padding:bt}).fn(xt):{}}}},offset=(yt,Et)=>({...offset$1(yt),options:[yt,Et]}),shift=(yt,Et)=>({...shift$1(yt),options:[yt,Et]}),limitShift=(yt,Et)=>({...limitShift$1(yt),options:[yt,Et]}),flip=(yt,Et)=>({...flip$1(yt),options:[yt,Et]}),size=(yt,Et)=>({...size$1(yt),options:[yt,Et]}),hide=(yt,Et)=>({...hide$1(yt),options:[yt,Et]}),arrow=(yt,Et)=>({...arrow$1(yt),options:[yt,Et]});function createSlot$a(yt){const Et=createSlotClone$a(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$a);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$a(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$b(bt),Ct=mergeProps$a(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$a=Symbol("radix.slottable");function isSlottable$a(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$a}function mergeProps$a(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$b(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}var NODES$9=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$9=NODES$9.reduce((yt,Et)=>{const xt=createSlot$a(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{}),NAME$3="Arrow",Arrow$1=reactExports.forwardRef((yt,Et)=>{const{children:xt,width:vt=10,height:bt=5,...At}=yt;return jsxRuntimeExports.jsx(Primitive$9.svg,{...At,ref:Et,width:vt,height:bt,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:yt.asChild?xt:jsxRuntimeExports.jsx("polygon",{points:"0,0 30,0 15,10"})})});Arrow$1.displayName=NAME$3;var Root$5=Arrow$1;function createContextScope$5(yt,Et=[]){let xt=[];function vt(At,Ft){const Ct=reactExports.createContext(Ft),wt=xt.length;xt=[...xt,Ft];const St=Rt=>{const{scope:Pt,children:Lt,...kt}=Rt,Ot=Pt?.[yt]?.[wt]||Ct,Mt=reactExports.useMemo(()=>kt,Object.values(kt));return jsxRuntimeExports.jsx(Ot.Provider,{value:Mt,children:Lt})};St.displayName=At+"Provider";function Tt(Rt,Pt){const Lt=Pt?.[yt]?.[wt]||Ct,kt=reactExports.useContext(Lt);if(kt)return kt;if(Ft!==void 0)return Ft;throw new Error(`\`${Rt}\` must be used within \`${At}\``)}return[St,Tt]}const bt=()=>{const At=xt.map(Ft=>reactExports.createContext(Ft));return function(Ct){const wt=Ct?.[yt]||At;return reactExports.useMemo(()=>({[`__scope${yt}`]:{...Ct,[yt]:wt}}),[Ct,wt])}};return bt.scopeName=yt,[vt,composeContextScopes$5(bt,...Et)]}function composeContextScopes$5(...yt){const Et=yt[0];if(yt.length===1)return Et;const xt=()=>{const vt=yt.map(bt=>({useScope:bt(),scopeName:bt.scopeName}));return function(At){const Ft=vt.reduce((Ct,{useScope:wt,scopeName:St})=>{const Rt=wt(At)[`__scope${St}`];return{...Ct,...Rt}},{});return reactExports.useMemo(()=>({[`__scope${Et.scopeName}`]:Ft}),[Ft])}};return xt.scopeName=Et.scopeName,xt}function createSlot$9(yt){const Et=createSlotClone$9(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$9);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$9(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$a(bt),Ct=mergeProps$9(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$9=Symbol("radix.slottable");function isSlottable$9(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$9}function mergeProps$9(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$a(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}var NODES$8=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$8=NODES$8.reduce((yt,Et)=>{const xt=createSlot$9(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{});function useSize(yt){const[Et,xt]=reactExports.useState(void 0);return useLayoutEffect2(()=>{if(yt){xt({width:yt.offsetWidth,height:yt.offsetHeight});const vt=new ResizeObserver(bt=>{if(!Array.isArray(bt)||!bt.length)return;const At=bt[0];let Ft,Ct;if("borderBoxSize"in At){const wt=At.borderBoxSize,St=Array.isArray(wt)?wt[0]:wt;Ft=St.inlineSize,Ct=St.blockSize}else Ft=yt.offsetWidth,Ct=yt.offsetHeight;xt({width:Ft,height:Ct})});return vt.observe(yt,{box:"border-box"}),()=>vt.unobserve(yt)}else xt(void 0)},[yt]),Et}var POPPER_NAME="Popper",[createPopperContext,createPopperScope]=createContextScope$5(POPPER_NAME),[PopperProvider,usePopperContext]=createPopperContext(POPPER_NAME),Popper=yt=>{const{__scopePopper:Et,children:xt}=yt,[vt,bt]=reactExports.useState(null);return jsxRuntimeExports.jsx(PopperProvider,{scope:Et,anchor:vt,onAnchorChange:bt,children:xt})};Popper.displayName=POPPER_NAME;var ANCHOR_NAME="PopperAnchor",PopperAnchor=reactExports.forwardRef((yt,Et)=>{const{__scopePopper:xt,virtualRef:vt,...bt}=yt,At=usePopperContext(ANCHOR_NAME,xt),Ft=reactExports.useRef(null),Ct=useComposedRefs(Et,Ft),wt=reactExports.useRef(null);return reactExports.useEffect(()=>{const St=wt.current;wt.current=vt?.current||Ft.current,St!==wt.current&&At.onAnchorChange(wt.current)}),vt?null:jsxRuntimeExports.jsx(Primitive$8.div,{...bt,ref:Ct})});PopperAnchor.displayName=ANCHOR_NAME;var CONTENT_NAME$3="PopperContent",[PopperContentProvider,useContentContext]=createPopperContext(CONTENT_NAME$3),PopperContent=reactExports.forwardRef((yt,Et)=>{const{__scopePopper:xt,side:vt="bottom",sideOffset:bt=0,align:At="center",alignOffset:Ft=0,arrowPadding:Ct=0,avoidCollisions:wt=!0,collisionBoundary:St=[],collisionPadding:Tt=0,sticky:Rt="partial",hideWhenDetached:Pt=!1,updatePositionStrategy:Lt="optimized",onPlaced:kt,...Ot}=yt,Mt=usePopperContext(CONTENT_NAME$3,xt),[It,Nt]=reactExports.useState(null),Ut=useComposedRefs(Et,xn=>Nt(xn)),[jt,Vt]=reactExports.useState(null),zt=useSize(jt),Ht=zt?.width??0,Wt=zt?.height??0,Gt=vt+(At!=="center"?"-"+At:""),qt=typeof Tt=="number"?Tt:{top:0,right:0,bottom:0,left:0,...Tt},Xt=Array.isArray(St)?St:[St],Kt=Xt.length>0,Jt={padding:qt,boundary:Xt.filter(isNotNull),altBoundary:Kt},{refs:tn,floatingStyles:sn,placement:Zt,isPositioned:nn,middlewareData:rn}=useFloating({strategy:"fixed",placement:Gt,whileElementsMounted:(...xn)=>autoUpdate(...xn,{animationFrame:Lt==="always"}),elements:{reference:Mt.anchor},middleware:[offset({mainAxis:bt+Wt,alignmentAxis:Ft}),wt&&shift({mainAxis:!0,crossAxis:!1,limiter:Rt==="partial"?limitShift():void 0,...Jt}),wt&&flip({...Jt}),size({...Jt,apply:({elements:xn,rects:Mn,availableWidth:$n,availableHeight:Rn})=>{const{width:Tn,height:ir}=Mn.reference,Jn=xn.floating.style;Jn.setProperty("--radix-popper-available-width",`${$n}px`),Jn.setProperty("--radix-popper-available-height",`${Rn}px`),Jn.setProperty("--radix-popper-anchor-width",`${Tn}px`),Jn.setProperty("--radix-popper-anchor-height",`${ir}px`)}}),jt&&arrow({element:jt,padding:Ct}),transformOrigin({arrowWidth:Ht,arrowHeight:Wt}),Pt&&hide({strategy:"referenceHidden",...Jt})]}),[on,ln]=getSideAndAlignFromPlacement(Zt),Qt=useCallbackRef$2(kt);useLayoutEffect2(()=>{nn&&Qt?.()},[nn,Qt]);const fn=rn.arrow?.x,pn=rn.arrow?.y,mn=rn.arrow?.centerOffset!==0,[vn,yn]=reactExports.useState();return useLayoutEffect2(()=>{It&&yn(window.getComputedStyle(It).zIndex)},[It]),jsxRuntimeExports.jsx("div",{ref:tn.setFloating,"data-radix-popper-content-wrapper":"",style:{...sn,transform:nn?sn.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:vn,"--radix-popper-transform-origin":[rn.transformOrigin?.x,rn.transformOrigin?.y].join(" "),...rn.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:yt.dir,children:jsxRuntimeExports.jsx(PopperContentProvider,{scope:xt,placedSide:on,onArrowChange:Vt,arrowX:fn,arrowY:pn,shouldHideArrow:mn,children:jsxRuntimeExports.jsx(Primitive$8.div,{"data-side":on,"data-align":ln,...Ot,ref:Ut,style:{...Ot.style,animation:nn?void 0:"none"}})})})});PopperContent.displayName=CONTENT_NAME$3;var ARROW_NAME$2="PopperArrow",OPPOSITE_SIDE={top:"bottom",right:"left",bottom:"top",left:"right"},PopperArrow=reactExports.forwardRef(function(Et,xt){const{__scopePopper:vt,...bt}=Et,At=useContentContext(ARROW_NAME$2,vt),Ft=OPPOSITE_SIDE[At.placedSide];return jsxRuntimeExports.jsx("span",{ref:At.onArrowChange,style:{position:"absolute",left:At.arrowX,top:At.arrowY,[Ft]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[At.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[At.placedSide],visibility:At.shouldHideArrow?"hidden":void 0},children:jsxRuntimeExports.jsx(Root$5,{...bt,ref:xt,style:{...bt.style,display:"block"}})})});PopperArrow.displayName=ARROW_NAME$2;function isNotNull(yt){return yt!==null}var transformOrigin=yt=>({name:"transformOrigin",options:yt,fn(Et){const{placement:xt,rects:vt,middlewareData:bt}=Et,Ft=bt.arrow?.centerOffset!==0,Ct=Ft?0:yt.arrowWidth,wt=Ft?0:yt.arrowHeight,[St,Tt]=getSideAndAlignFromPlacement(xt),Rt={start:"0%",center:"50%",end:"100%"}[Tt],Pt=(bt.arrow?.x??0)+Ct/2,Lt=(bt.arrow?.y??0)+wt/2;let kt="",Ot="";return St==="bottom"?(kt=Ft?Rt:`${Pt}px`,Ot=`${-wt}px`):St==="top"?(kt=Ft?Rt:`${Pt}px`,Ot=`${vt.floating.height+wt}px`):St==="right"?(kt=`${-wt}px`,Ot=Ft?Rt:`${Lt}px`):St==="left"&&(kt=`${vt.floating.width+wt}px`,Ot=Ft?Rt:`${Lt}px`),{data:{x:kt,y:Ot}}}});function getSideAndAlignFromPlacement(yt){const[Et,xt="center"]=yt.split("-");return[Et,xt]}var Root2$1=Popper,Anchor=PopperAnchor,Content=PopperContent,Arrow=PopperArrow;function createSlot$8(yt){const Et=createSlotClone$8(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$8);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$8(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$9(bt),Ct=mergeProps$8(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$8=Symbol("radix.slottable");function isSlottable$8(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$8}function mergeProps$8(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$9(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}var NODES$7=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$7=NODES$7.reduce((yt,Et)=>{const xt=createSlot$8(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{}),PORTAL_NAME$2="Portal",Portal$1=reactExports.forwardRef((yt,Et)=>{const{container:xt,...vt}=yt,[bt,At]=reactExports.useState(!1);useLayoutEffect2(()=>At(!0),[]);const Ft=xt||bt&&globalThis?.document?.body;return Ft?ReactDOM.createPortal(jsxRuntimeExports.jsx(Primitive$7.div,{...vt,ref:Et}),Ft):null});Portal$1.displayName=PORTAL_NAME$2;function useStateMachine(yt,Et){return reactExports.useReducer((xt,vt)=>Et[xt][vt]??xt,yt)}var Presence=yt=>{const{present:Et,children:xt}=yt,vt=usePresence(Et),bt=typeof xt=="function"?xt({present:vt.isPresent}):reactExports.Children.only(xt),At=useComposedRefs(vt.ref,getElementRef$8(bt));return typeof xt=="function"||vt.isPresent?reactExports.cloneElement(bt,{ref:At}):null};Presence.displayName="Presence";function usePresence(yt){const[Et,xt]=reactExports.useState(),vt=reactExports.useRef(null),bt=reactExports.useRef(yt),At=reactExports.useRef("none"),Ft=yt?"mounted":"unmounted",[Ct,wt]=useStateMachine(Ft,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return reactExports.useEffect(()=>{const St=getAnimationName(vt.current);At.current=Ct==="mounted"?St:"none"},[Ct]),useLayoutEffect2(()=>{const St=vt.current,Tt=bt.current;if(Tt!==yt){const Pt=At.current,Lt=getAnimationName(St);yt?wt("MOUNT"):Lt==="none"||St?.display==="none"?wt("UNMOUNT"):wt(Tt&&Pt!==Lt?"ANIMATION_OUT":"UNMOUNT"),bt.current=yt}},[yt,wt]),useLayoutEffect2(()=>{if(Et){let St;const Tt=Et.ownerDocument.defaultView??window,Rt=Lt=>{const Ot=getAnimationName(vt.current).includes(CSS.escape(Lt.animationName));if(Lt.target===Et&&Ot&&(wt("ANIMATION_END"),!bt.current)){const Mt=Et.style.animationFillMode;Et.style.animationFillMode="forwards",St=Tt.setTimeout(()=>{Et.style.animationFillMode==="forwards"&&(Et.style.animationFillMode=Mt)})}},Pt=Lt=>{Lt.target===Et&&(At.current=getAnimationName(vt.current))};return Et.addEventListener("animationstart",Pt),Et.addEventListener("animationcancel",Rt),Et.addEventListener("animationend",Rt),()=>{Tt.clearTimeout(St),Et.removeEventListener("animationstart",Pt),Et.removeEventListener("animationcancel",Rt),Et.removeEventListener("animationend",Rt)}}else wt("ANIMATION_END")},[Et,wt]),{isPresent:["mounted","unmountSuspended"].includes(Ct),ref:reactExports.useCallback(St=>{vt.current=St?getComputedStyle(St):null,xt(St)},[])}}function getAnimationName(yt){return yt?.animationName||"none"}function getElementRef$8(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}function createSlot$7(yt){const Et=createSlotClone$7(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$7);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$7(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$7(bt),Ct=mergeProps$7(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$7=Symbol("radix.slottable");function createSlottable(yt){const Et=({children:xt})=>jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:xt});return Et.displayName=`${yt}.Slottable`,Et.__radixId=SLOTTABLE_IDENTIFIER$7,Et}function isSlottable$7(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$7}function mergeProps$7(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$7(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}var NODES$6=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$6=NODES$6.reduce((yt,Et)=>{const xt=createSlot$7(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{}),useInsertionEffect=React$1[" useInsertionEffect ".trim().toString()]||useLayoutEffect2;function useControllableState({prop:yt,defaultProp:Et,onChange:xt=()=>{},caller:vt}){const[bt,At,Ft]=useUncontrolledState({defaultProp:Et,onChange:xt}),Ct=yt!==void 0,wt=Ct?yt:bt;{const Tt=reactExports.useRef(yt!==void 0);reactExports.useEffect(()=>{const Rt=Tt.current;Rt!==Ct&&console.warn(`${vt} is changing from ${Rt?"controlled":"uncontrolled"} to ${Ct?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),Tt.current=Ct},[Ct,vt])}const St=reactExports.useCallback(Tt=>{if(Ct){const Rt=isFunction$1(Tt)?Tt(yt):Tt;Rt!==yt&&Ft.current?.(Rt)}else At(Tt)},[Ct,yt,At,Ft]);return[wt,St]}function useUncontrolledState({defaultProp:yt,onChange:Et}){const[xt,vt]=reactExports.useState(yt),bt=reactExports.useRef(xt),At=reactExports.useRef(Et);return useInsertionEffect(()=>{At.current=Et},[Et]),reactExports.useEffect(()=>{bt.current!==xt&&(At.current?.(xt),bt.current=xt)},[xt,bt]),[xt,vt,At]}function isFunction$1(yt){return typeof yt=="function"}function createSlot$6(yt){const Et=createSlotClone$6(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$6);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$6(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$6(bt),Ct=mergeProps$6(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$6=Symbol("radix.slottable");function isSlottable$6(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$6}function mergeProps$6(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$6(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}var NODES$5=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$5=NODES$5.reduce((yt,Et)=>{const xt=createSlot$6(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{}),VISUALLY_HIDDEN_STYLES=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),NAME$2="VisuallyHidden",VisuallyHidden=reactExports.forwardRef((yt,Et)=>jsxRuntimeExports.jsx(Primitive$5.span,{...yt,ref:Et,style:{...VISUALLY_HIDDEN_STYLES,...yt.style}}));VisuallyHidden.displayName=NAME$2;var Root$4=VisuallyHidden,[createTooltipContext]=createContextScope$6("Tooltip",[createPopperScope]),usePopperScope$1=createPopperScope(),PROVIDER_NAME="TooltipProvider",DEFAULT_DELAY_DURATION=700,TOOLTIP_OPEN="tooltip.open",[TooltipProviderContextProvider,useTooltipProviderContext]=createTooltipContext(PROVIDER_NAME),TooltipProvider$1=yt=>{const{__scopeTooltip:Et,delayDuration:xt=DEFAULT_DELAY_DURATION,skipDelayDuration:vt=300,disableHoverableContent:bt=!1,children:At}=yt,Ft=reactExports.useRef(!0),Ct=reactExports.useRef(!1),wt=reactExports.useRef(0);return reactExports.useEffect(()=>{const St=wt.current;return()=>window.clearTimeout(St)},[]),jsxRuntimeExports.jsx(TooltipProviderContextProvider,{scope:Et,isOpenDelayedRef:Ft,delayDuration:xt,onOpen:reactExports.useCallback(()=>{window.clearTimeout(wt.current),Ft.current=!1},[]),onClose:reactExports.useCallback(()=>{window.clearTimeout(wt.current),wt.current=window.setTimeout(()=>Ft.current=!0,vt)},[vt]),isPointerInTransitRef:Ct,onPointerInTransitChange:reactExports.useCallback(St=>{Ct.current=St},[]),disableHoverableContent:bt,children:At})};TooltipProvider$1.displayName=PROVIDER_NAME;var TOOLTIP_NAME="Tooltip",[TooltipContextProvider,useTooltipContext]=createTooltipContext(TOOLTIP_NAME),TRIGGER_NAME$2="TooltipTrigger",TooltipTrigger=reactExports.forwardRef((yt,Et)=>{const{__scopeTooltip:xt,...vt}=yt,bt=useTooltipContext(TRIGGER_NAME$2,xt),At=useTooltipProviderContext(TRIGGER_NAME$2,xt),Ft=usePopperScope$1(xt),Ct=reactExports.useRef(null),wt=useComposedRefs(Et,Ct,bt.onTriggerChange),St=reactExports.useRef(!1),Tt=reactExports.useRef(!1),Rt=reactExports.useCallback(()=>St.current=!1,[]);return reactExports.useEffect(()=>()=>document.removeEventListener("pointerup",Rt),[Rt]),jsxRuntimeExports.jsx(Anchor,{asChild:!0,...Ft,children:jsxRuntimeExports.jsx(Primitive$6.button,{"aria-describedby":bt.open?bt.contentId:void 0,"data-state":bt.stateAttribute,...vt,ref:wt,onPointerMove:composeEventHandlers(yt.onPointerMove,Pt=>{Pt.pointerType!=="touch"&&!Tt.current&&!At.isPointerInTransitRef.current&&(bt.onTriggerEnter(),Tt.current=!0)}),onPointerLeave:composeEventHandlers(yt.onPointerLeave,()=>{bt.onTriggerLeave(),Tt.current=!1}),onPointerDown:composeEventHandlers(yt.onPointerDown,()=>{bt.open&&bt.onClose(),St.current=!0,document.addEventListener("pointerup",Rt,{once:!0})}),onFocus:composeEventHandlers(yt.onFocus,()=>{St.current||bt.onOpen()}),onBlur:composeEventHandlers(yt.onBlur,bt.onClose),onClick:composeEventHandlers(yt.onClick,bt.onClose)})})});TooltipTrigger.displayName=TRIGGER_NAME$2;var PORTAL_NAME$1="TooltipPortal",[PortalProvider,usePortalContext]=createTooltipContext(PORTAL_NAME$1,{forceMount:void 0}),CONTENT_NAME$2="TooltipContent",TooltipContent=reactExports.forwardRef((yt,Et)=>{const xt=usePortalContext(CONTENT_NAME$2,yt.__scopeTooltip),{forceMount:vt=xt.forceMount,side:bt="top",...At}=yt,Ft=useTooltipContext(CONTENT_NAME$2,yt.__scopeTooltip);return jsxRuntimeExports.jsx(Presence,{present:vt||Ft.open,children:Ft.disableHoverableContent?jsxRuntimeExports.jsx(TooltipContentImpl,{side:bt,...At,ref:Et}):jsxRuntimeExports.jsx(TooltipContentHoverable,{side:bt,...At,ref:Et})})}),TooltipContentHoverable=reactExports.forwardRef((yt,Et)=>{const xt=useTooltipContext(CONTENT_NAME$2,yt.__scopeTooltip),vt=useTooltipProviderContext(CONTENT_NAME$2,yt.__scopeTooltip),bt=reactExports.useRef(null),At=useComposedRefs(Et,bt),[Ft,Ct]=reactExports.useState(null),{trigger:wt,onClose:St}=xt,Tt=bt.current,{onPointerInTransitChange:Rt}=vt,Pt=reactExports.useCallback(()=>{Ct(null),Rt(!1)},[Rt]),Lt=reactExports.useCallback((kt,Ot)=>{const Mt=kt.currentTarget,It={x:kt.clientX,y:kt.clientY},Nt=getExitSideFromRect(It,Mt.getBoundingClientRect()),Ut=getPaddedExitPoints(It,Nt),jt=getPointsFromRect(Ot.getBoundingClientRect()),Vt=getHull([...Ut,...jt]);Ct(Vt),Rt(!0)},[Rt]);return reactExports.useEffect(()=>()=>Pt(),[Pt]),reactExports.useEffect(()=>{if(wt&&Tt){const kt=Mt=>Lt(Mt,Tt),Ot=Mt=>Lt(Mt,wt);return wt.addEventListener("pointerleave",kt),Tt.addEventListener("pointerleave",Ot),()=>{wt.removeEventListener("pointerleave",kt),Tt.removeEventListener("pointerleave",Ot)}}},[wt,Tt,Lt,Pt]),reactExports.useEffect(()=>{if(Ft){const kt=Ot=>{const Mt=Ot.target,It={x:Ot.clientX,y:Ot.clientY},Nt=wt?.contains(Mt)||Tt?.contains(Mt),Ut=!isPointInPolygon(It,Ft);Nt?Pt():Ut&&(Pt(),St())};return document.addEventListener("pointermove",kt),()=>document.removeEventListener("pointermove",kt)}},[wt,Tt,Ft,St,Pt]),jsxRuntimeExports.jsx(TooltipContentImpl,{...yt,ref:At})}),[VisuallyHiddenContentContextProvider,useVisuallyHiddenContentContext]=createTooltipContext(TOOLTIP_NAME,{isInside:!1}),Slottable=createSlottable("TooltipContent"),TooltipContentImpl=reactExports.forwardRef((yt,Et)=>{const{__scopeTooltip:xt,children:vt,"aria-label":bt,onEscapeKeyDown:At,onPointerDownOutside:Ft,...Ct}=yt,wt=useTooltipContext(CONTENT_NAME$2,xt),St=usePopperScope$1(xt),{onClose:Tt}=wt;return reactExports.useEffect(()=>(document.addEventListener(TOOLTIP_OPEN,Tt),()=>document.removeEventListener(TOOLTIP_OPEN,Tt)),[Tt]),reactExports.useEffect(()=>{if(wt.trigger){const Rt=Pt=>{Pt.target?.contains(wt.trigger)&&Tt()};return window.addEventListener("scroll",Rt,{capture:!0}),()=>window.removeEventListener("scroll",Rt,{capture:!0})}},[wt.trigger,Tt]),jsxRuntimeExports.jsx(DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:At,onPointerDownOutside:Ft,onFocusOutside:Rt=>Rt.preventDefault(),onDismiss:Tt,children:jsxRuntimeExports.jsxs(Content,{"data-state":wt.stateAttribute,...St,...Ct,ref:Et,style:{...Ct.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[jsxRuntimeExports.jsx(Slottable,{children:vt}),jsxRuntimeExports.jsx(VisuallyHiddenContentContextProvider,{scope:xt,isInside:!0,children:jsxRuntimeExports.jsx(Root$4,{id:wt.contentId,role:"tooltip",children:bt||vt})})]})})});TooltipContent.displayName=CONTENT_NAME$2;var ARROW_NAME$1="TooltipArrow",TooltipArrow=reactExports.forwardRef((yt,Et)=>{const{__scopeTooltip:xt,...vt}=yt,bt=usePopperScope$1(xt);return useVisuallyHiddenContentContext(ARROW_NAME$1,xt).isInside?null:jsxRuntimeExports.jsx(Arrow,{...bt,...vt,ref:Et})});TooltipArrow.displayName=ARROW_NAME$1;function getExitSideFromRect(yt,Et){const xt=Math.abs(Et.top-yt.y),vt=Math.abs(Et.bottom-yt.y),bt=Math.abs(Et.right-yt.x),At=Math.abs(Et.left-yt.x);switch(Math.min(xt,vt,bt,At)){case At:return"left";case bt:return"right";case xt:return"top";case vt:return"bottom";default:throw new Error("unreachable")}}function getPaddedExitPoints(yt,Et,xt=5){const vt=[];switch(Et){case"top":vt.push({x:yt.x-xt,y:yt.y+xt},{x:yt.x+xt,y:yt.y+xt});break;case"bottom":vt.push({x:yt.x-xt,y:yt.y-xt},{x:yt.x+xt,y:yt.y-xt});break;case"left":vt.push({x:yt.x+xt,y:yt.y-xt},{x:yt.x+xt,y:yt.y+xt});break;case"right":vt.push({x:yt.x-xt,y:yt.y-xt},{x:yt.x-xt,y:yt.y+xt});break}return vt}function getPointsFromRect(yt){const{top:Et,right:xt,bottom:vt,left:bt}=yt;return[{x:bt,y:Et},{x:xt,y:Et},{x:xt,y:vt},{x:bt,y:vt}]}function isPointInPolygon(yt,Et){const{x:xt,y:vt}=yt;let bt=!1;for(let At=0,Ft=Et.length-1;At<Et.length;Ft=At++){const Ct=Et[At],wt=Et[Ft],St=Ct.x,Tt=Ct.y,Rt=wt.x,Pt=wt.y;Tt>vt!=Pt>vt&&xt<(Rt-St)*(vt-Tt)/(Pt-Tt)+St&&(bt=!bt)}return bt}function getHull(yt){const Et=yt.slice();return Et.sort((xt,vt)=>xt.x<vt.x?-1:xt.x>vt.x?1:xt.y<vt.y?-1:xt.y>vt.y?1:0),getHullPresorted(Et)}function getHullPresorted(yt){if(yt.length<=1)return yt.slice();const Et=[];for(let vt=0;vt<yt.length;vt++){const bt=yt[vt];for(;Et.length>=2;){const At=Et[Et.length-1],Ft=Et[Et.length-2];if((At.x-Ft.x)*(bt.y-Ft.y)>=(At.y-Ft.y)*(bt.x-Ft.x))Et.pop();else break}Et.push(bt)}Et.pop();const xt=[];for(let vt=yt.length-1;vt>=0;vt--){const bt=yt[vt];for(;xt.length>=2;){const At=xt[xt.length-1],Ft=xt[xt.length-2];if((At.x-Ft.x)*(bt.y-Ft.y)>=(At.y-Ft.y)*(bt.x-Ft.x))xt.pop();else break}xt.push(bt)}return xt.pop(),Et.length===1&&xt.length===1&&Et[0].x===xt[0].x&&Et[0].y===xt[0].y?Et:Et.concat(xt)}var Provider=TooltipProvider$1;function TooltipProvider({delayDuration:yt=0,...Et}){return jsxRuntimeExports.jsx(Provider,{"data-slot":"tooltip-provider",delayDuration:yt,...Et})}const SIDEBAR_COOKIE_NAME="sidebar_state",SIDEBAR_COOKIE_MAX_AGE=3600*24*7,SIDEBAR_WIDTH="18rem",SIDEBAR_WIDTH_ICON="3rem",SIDEBAR_KEYBOARD_SHORTCUT="b",SidebarContext=reactExports.createContext(null);function useSidebar(){const yt=reactExports.useContext(SidebarContext);if(!yt)throw new Error("useSidebar must be used within a SidebarProvider.");return yt}function SidebarProvider({defaultOpen:yt=!0,open:Et,onOpenChange:xt,className:vt,style:bt,children:At,...Ft}){const Ct=useIsMobile(),[wt,St]=reactExports.useState(!1),[Tt,Rt]=reactExports.useState(yt),Pt=Et??Tt,Lt=reactExports.useCallback(It=>{const Nt=typeof It=="function"?It(Pt):It;xt?xt(Nt):Rt(Nt),document.cookie=`${SIDEBAR_COOKIE_NAME}=${Nt}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`},[xt,Pt]),kt=reactExports.useCallback(()=>Ct?St(It=>!It):Lt(It=>!It),[Ct,Lt,St]);reactExports.useEffect(()=>{const It=Nt=>{Nt.key===SIDEBAR_KEYBOARD_SHORTCUT&&(Nt.metaKey||Nt.ctrlKey)&&(Nt.preventDefault(),kt())};return window.addEventListener("keydown",It),()=>window.removeEventListener("keydown",It)},[kt]);const Ot=Ct?wt?"expanded":"collapsed":Pt?"expanded":"collapsed",Mt=reactExports.useMemo(()=>({state:Ot,open:Pt,setOpen:Lt,isMobile:Ct,openMobile:wt,setOpenMobile:St,toggleSidebar:kt}),[Ot,Pt,Lt,Ct,wt,St,kt]);return jsxRuntimeExports.jsx(SidebarContext.Provider,{value:Mt,children:jsxRuntimeExports.jsx(TooltipProvider,{delayDuration:0,children:jsxRuntimeExports.jsx("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":SIDEBAR_WIDTH,"--sidebar-width-icon":SIDEBAR_WIDTH_ICON,...bt},className:cn("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",vt),...Ft,children:At})})})}function Sidebar({side:yt="left",variant:Et="sidebar",collapsible:xt="offcanvas",className:vt,children:bt,...At}){const{isMobile:Ft,state:Ct,openMobile:wt,setOpenMobile:St}=useSidebar(),Tt=Et==="inset",Rt=Tt?"relative":"fixed inset-y-0";return jsxRuntimeExports.jsxs("div",{className:cn("group peer text-sidebar-foreground",vt),"data-state":Ct,"data-collapsible":Ct==="collapsed"?xt:"","data-variant":Et,"data-side":yt,"data-slot":"sidebar",...At,children:[jsxRuntimeExports.jsx("div",{"data-slot":"sidebar-gap",className:cn("relative bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",Et==="floating"||Et==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)"),style:Ct==="collapsed"&&xt==="offcanvas"?{width:"0",boxSizing:"border-box",overflow:"hidden"}:{width:"var(--sidebar-width)",boxSizing:"border-box"}}),jsxRuntimeExports.jsx("div",{"data-slot":"sidebar-container",className:cn(`${Rt} z-10 h-svh transition-[left,right,width] duration-200 ease-linear flex`,yt==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",Et==="floating"||Et==="inset"?"p-2 group-data-[collapsible=offcanvas]:p-0 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l group-data-[collapsible=offcanvas]:border-none",vt),style:Ct==="collapsed"&&xt==="offcanvas"?{width:"0",boxSizing:"border-box",overflow:"hidden",visibility:"hidden"}:Tt?{width:"var(--sidebar-width)",boxSizing:"border-box"}:{width:"var(--sidebar-width)"},children:jsxRuntimeExports.jsx("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:bt})})]})}function SidebarTrigger({className:yt,onClick:Et,style:xt,...vt}){const{toggleSidebar:bt}=useSidebar(),{state:At}=useSidebar();return jsxRuntimeExports.jsxs(Button,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon",className:cn("size-7 flex items-center justify-center border touch-manipulation",yt),style:{zIndex:1e5,boxShadow:"0 2px 8px rgba(0,0,0,0.08)",transition:"transform 0.2s",pointerEvents:"auto",...xt},onClick:Ft=>{Et&&Et(Ft),bt()},...vt,children:[jsxRuntimeExports.jsx("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{transition:"transform 0.2s",transform:At==="expanded"?"rotate(180deg)":"rotate(0deg)"},children:jsxRuntimeExports.jsx("path",{d:"M7 5l5 5-5 5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),jsxRuntimeExports.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})}function SidebarInset({className:yt,...Et}){return jsxRuntimeExports.jsx("main",{"data-slot":"sidebar-inset",className:cn("bg-background relative flex w-full flex-1 flex-col","md:peer-data-[variant=inset]:my-2 md:peer-data-[variant=inset]:mr-2 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm",yt),style:{maxHeight:"100vh",overflow:"hidden",isolation:"isolate"},...Et})}function createContextScope$4(yt,Et=[]){let xt=[];function vt(At,Ft){const Ct=reactExports.createContext(Ft),wt=xt.length;xt=[...xt,Ft];const St=Rt=>{const{scope:Pt,children:Lt,...kt}=Rt,Ot=Pt?.[yt]?.[wt]||Ct,Mt=reactExports.useMemo(()=>kt,Object.values(kt));return jsxRuntimeExports.jsx(Ot.Provider,{value:Mt,children:Lt})};St.displayName=At+"Provider";function Tt(Rt,Pt){const Lt=Pt?.[yt]?.[wt]||Ct,kt=reactExports.useContext(Lt);if(kt)return kt;if(Ft!==void 0)return Ft;throw new Error(`\`${Rt}\` must be used within \`${At}\``)}return[St,Tt]}const bt=()=>{const At=xt.map(Ft=>reactExports.createContext(Ft));return function(Ct){const wt=Ct?.[yt]||At;return reactExports.useMemo(()=>({[`__scope${yt}`]:{...Ct,[yt]:wt}}),[Ct,wt])}};return bt.scopeName=yt,[vt,composeContextScopes$4(bt,...Et)]}function composeContextScopes$4(...yt){const Et=yt[0];if(yt.length===1)return Et;const xt=()=>{const vt=yt.map(bt=>({useScope:bt(),scopeName:bt.scopeName}));return function(At){const Ft=vt.reduce((Ct,{useScope:wt,scopeName:St})=>{const Rt=wt(At)[`__scope${St}`];return{...Ct,...Rt}},{});return reactExports.useMemo(()=>({[`__scope${Et.scopeName}`]:Ft}),[Ft])}};return xt.scopeName=Et.scopeName,xt}function createSlot$5(yt){const Et=createSlotClone$5(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$5);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$5(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$5(bt),Ct=mergeProps$5(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$5=Symbol("radix.slottable");function isSlottable$5(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$5}function mergeProps$5(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$5(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}var NODES$4=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$4=NODES$4.reduce((yt,Et)=>{const xt=createSlot$5(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{}),COLLAPSIBLE_NAME="Collapsible",[createCollapsibleContext]=createContextScope$4(COLLAPSIBLE_NAME),[CollapsibleProvider,useCollapsibleContext]=createCollapsibleContext(COLLAPSIBLE_NAME),Collapsible$1=reactExports.forwardRef((yt,Et)=>{const{__scopeCollapsible:xt,open:vt,defaultOpen:bt,disabled:At,onOpenChange:Ft,...Ct}=yt,[wt,St]=useControllableState({prop:vt,defaultProp:bt??!1,onChange:Ft,caller:COLLAPSIBLE_NAME});return jsxRuntimeExports.jsx(CollapsibleProvider,{scope:xt,disabled:At,contentId:useId(),open:wt,onOpenToggle:reactExports.useCallback(()=>St(Tt=>!Tt),[St]),children:jsxRuntimeExports.jsx(Primitive$4.div,{"data-state":getState$1(wt),"data-disabled":At?"":void 0,...Ct,ref:Et})})});Collapsible$1.displayName=COLLAPSIBLE_NAME;var TRIGGER_NAME$1="CollapsibleTrigger",CollapsibleTrigger$1=reactExports.forwardRef((yt,Et)=>{const{__scopeCollapsible:xt,...vt}=yt,bt=useCollapsibleContext(TRIGGER_NAME$1,xt);return jsxRuntimeExports.jsx(Primitive$4.button,{type:"button","aria-controls":bt.contentId,"aria-expanded":bt.open||!1,"data-state":getState$1(bt.open),"data-disabled":bt.disabled?"":void 0,disabled:bt.disabled,...vt,ref:Et,onClick:composeEventHandlers(yt.onClick,bt.onOpenToggle)})});CollapsibleTrigger$1.displayName=TRIGGER_NAME$1;var CONTENT_NAME$1="CollapsibleContent",CollapsibleContent$1=reactExports.forwardRef((yt,Et)=>{const{forceMount:xt,...vt}=yt,bt=useCollapsibleContext(CONTENT_NAME$1,yt.__scopeCollapsible);return jsxRuntimeExports.jsx(Presence,{present:xt||bt.open,children:({present:At})=>jsxRuntimeExports.jsx(CollapsibleContentImpl,{...vt,ref:Et,present:At})})});CollapsibleContent$1.displayName=CONTENT_NAME$1;var CollapsibleContentImpl=reactExports.forwardRef((yt,Et)=>{const{__scopeCollapsible:xt,present:vt,children:bt,...At}=yt,Ft=useCollapsibleContext(CONTENT_NAME$1,xt),[Ct,wt]=reactExports.useState(vt),St=reactExports.useRef(null),Tt=useComposedRefs(Et,St),Rt=reactExports.useRef(0),Pt=Rt.current,Lt=reactExports.useRef(0),kt=Lt.current,Ot=Ft.open||Ct,Mt=reactExports.useRef(Ot),It=reactExports.useRef(void 0);return reactExports.useEffect(()=>{const Nt=requestAnimationFrame(()=>Mt.current=!1);return()=>cancelAnimationFrame(Nt)},[]),useLayoutEffect2(()=>{const Nt=St.current;if(Nt){It.current=It.current||{transitionDuration:Nt.style.transitionDuration,animationName:Nt.style.animationName},Nt.style.transitionDuration="0s",Nt.style.animationName="none";const Ut=Nt.getBoundingClientRect();Rt.current=Ut.height,Lt.current=Ut.width,Mt.current||(Nt.style.transitionDuration=It.current.transitionDuration,Nt.style.animationName=It.current.animationName),wt(vt)}},[Ft.open,vt]),jsxRuntimeExports.jsx(Primitive$4.div,{"data-state":getState$1(Ft.open),"data-disabled":Ft.disabled?"":void 0,id:Ft.contentId,hidden:!Ot,...At,ref:Tt,style:{"--radix-collapsible-content-height":Pt?`${Pt}px`:void 0,"--radix-collapsible-content-width":kt?`${kt}px`:void 0,...yt.style},children:Ot&&bt})});function getState$1(yt){return yt?"open":"closed"}var Root$3=Collapsible$1;function Collapsible({...yt}){return jsxRuntimeExports.jsx(Root$3,{"data-slot":"collapsible",...yt})}function CollapsibleTrigger({...yt}){return jsxRuntimeExports.jsx(CollapsibleTrigger$1,{"data-slot":"collapsible-trigger",...yt})}function CollapsibleContent({...yt}){return jsxRuntimeExports.jsx(CollapsibleContent$1,{"data-slot":"collapsible-content",...yt})}function createContextScope$3(yt,Et=[]){let xt=[];function vt(At,Ft){const Ct=reactExports.createContext(Ft),wt=xt.length;xt=[...xt,Ft];const St=Rt=>{const{scope:Pt,children:Lt,...kt}=Rt,Ot=Pt?.[yt]?.[wt]||Ct,Mt=reactExports.useMemo(()=>kt,Object.values(kt));return jsxRuntimeExports.jsx(Ot.Provider,{value:Mt,children:Lt})};St.displayName=At+"Provider";function Tt(Rt,Pt){const Lt=Pt?.[yt]?.[wt]||Ct,kt=reactExports.useContext(Lt);if(kt)return kt;if(Ft!==void 0)return Ft;throw new Error(`\`${Rt}\` must be used within \`${At}\``)}return[St,Tt]}const bt=()=>{const At=xt.map(Ft=>reactExports.createContext(Ft));return function(Ct){const wt=Ct?.[yt]||At;return reactExports.useMemo(()=>({[`__scope${yt}`]:{...Ct,[yt]:wt}}),[Ct,wt])}};return bt.scopeName=yt,[vt,composeContextScopes$3(bt,...Et)]}function composeContextScopes$3(...yt){const Et=yt[0];if(yt.length===1)return Et;const xt=()=>{const vt=yt.map(bt=>({useScope:bt(),scopeName:bt.scopeName}));return function(At){const Ft=vt.reduce((Ct,{useScope:wt,scopeName:St})=>{const Rt=wt(At)[`__scope${St}`];return{...Ct,...Rt}},{});return reactExports.useMemo(()=>({[`__scope${Et.scopeName}`]:Ft}),[Ft])}};return xt.scopeName=Et.scopeName,xt}function usePrevious(yt){const Et=reactExports.useRef({value:yt,previous:yt});return reactExports.useMemo(()=>(Et.current.value!==yt&&(Et.current.previous=Et.current.value,Et.current.value=yt),Et.current.previous),[yt])}function createSlot$4(yt){const Et=createSlotClone$4(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$4);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$4(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$4(bt),Ct=mergeProps$4(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$4=Symbol("radix.slottable");function isSlottable$4(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$4}function mergeProps$4(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$4(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}var NODES$3=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$3=NODES$3.reduce((yt,Et)=>{const xt=createSlot$4(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{}),SWITCH_NAME="Switch",[createSwitchContext]=createContextScope$3(SWITCH_NAME),[SwitchProvider,useSwitchContext]=createSwitchContext(SWITCH_NAME),Switch$1=reactExports.forwardRef((yt,Et)=>{const{__scopeSwitch:xt,name:vt,checked:bt,defaultChecked:At,required:Ft,disabled:Ct,value:wt="on",onCheckedChange:St,form:Tt,...Rt}=yt,[Pt,Lt]=reactExports.useState(null),kt=useComposedRefs(Et,Ut=>Lt(Ut)),Ot=reactExports.useRef(!1),Mt=Pt?Tt||!!Pt.closest("form"):!0,[It,Nt]=useControllableState({prop:bt,defaultProp:At??!1,onChange:St,caller:SWITCH_NAME});return jsxRuntimeExports.jsxs(SwitchProvider,{scope:xt,checked:It,disabled:Ct,children:[jsxRuntimeExports.jsx(Primitive$3.button,{type:"button",role:"switch","aria-checked":It,"aria-required":Ft,"data-state":getState(It),"data-disabled":Ct?"":void 0,disabled:Ct,value:wt,...Rt,ref:kt,onClick:composeEventHandlers(yt.onClick,Ut=>{Nt(jt=>!jt),Mt&&(Ot.current=Ut.isPropagationStopped(),Ot.current||Ut.stopPropagation())})}),Mt&&jsxRuntimeExports.jsx(SwitchBubbleInput,{control:Pt,bubbles:!Ot.current,name:vt,value:wt,checked:It,required:Ft,disabled:Ct,form:Tt,style:{transform:"translateX(-100%)"}})]})});Switch$1.displayName=SWITCH_NAME;var THUMB_NAME$1="SwitchThumb",SwitchThumb=reactExports.forwardRef((yt,Et)=>{const{__scopeSwitch:xt,...vt}=yt,bt=useSwitchContext(THUMB_NAME$1,xt);return jsxRuntimeExports.jsx(Primitive$3.span,{"data-state":getState(bt.checked),"data-disabled":bt.disabled?"":void 0,...vt,ref:Et})});SwitchThumb.displayName=THUMB_NAME$1;var BUBBLE_INPUT_NAME$2="SwitchBubbleInput",SwitchBubbleInput=reactExports.forwardRef(({__scopeSwitch:yt,control:Et,checked:xt,bubbles:vt=!0,...bt},At)=>{const Ft=reactExports.useRef(null),Ct=useComposedRefs(Ft,At),wt=usePrevious(xt),St=useSize(Et);return reactExports.useEffect(()=>{const Tt=Ft.current;if(!Tt)return;const Rt=window.HTMLInputElement.prototype,Lt=Object.getOwnPropertyDescriptor(Rt,"checked").set;if(wt!==xt&&Lt){const kt=new Event("click",{bubbles:vt});Lt.call(Tt,xt),Tt.dispatchEvent(kt)}},[wt,xt,vt]),jsxRuntimeExports.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:xt,...bt,tabIndex:-1,ref:Ct,style:{...bt.style,...St,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});SwitchBubbleInput.displayName=BUBBLE_INPUT_NAME$2;function getState(yt){return yt?"checked":"unchecked"}var Root$2=Switch$1,Thumb$1=SwitchThumb;function Switch({className:yt,...Et}){return jsxRuntimeExports.jsx(Root$2,{"data-slot":"switch",className:cn("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-3.5 w-7 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",yt),...Et,children:jsxRuntimeExports.jsx(Thumb$1,{"data-slot":"switch-thumb",className:cn("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-2.5 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%+4px)] data-[state=unchecked]:translate-x-0.5")})})}var NAME$1="Label",Label$1=reactExports.forwardRef((yt,Et)=>jsxRuntimeExports.jsx(Primitive$b.label,{...yt,ref:Et,onMouseDown:xt=>{xt.target.closest("button, input, select, textarea")||(yt.onMouseDown?.(xt),!xt.defaultPrevented&&xt.detail>1&&xt.preventDefault())}}));Label$1.displayName=NAME$1;var Root$1=Label$1;function Label({className:yt,...Et}){return jsxRuntimeExports.jsx(Root$1,{"data-slot":"label",className:cn("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",yt),...Et})}function clamp$4(yt,[Et,xt]){return Math.min(xt,Math.max(Et,yt))}function createContextScope$2(yt,Et=[]){let xt=[];function vt(At,Ft){const Ct=reactExports.createContext(Ft),wt=xt.length;xt=[...xt,Ft];const St=Rt=>{const{scope:Pt,children:Lt,...kt}=Rt,Ot=Pt?.[yt]?.[wt]||Ct,Mt=reactExports.useMemo(()=>kt,Object.values(kt));return jsxRuntimeExports.jsx(Ot.Provider,{value:Mt,children:Lt})};St.displayName=At+"Provider";function Tt(Rt,Pt){const Lt=Pt?.[yt]?.[wt]||Ct,kt=reactExports.useContext(Lt);if(kt)return kt;if(Ft!==void 0)return Ft;throw new Error(`\`${Rt}\` must be used within \`${At}\``)}return[St,Tt]}const bt=()=>{const At=xt.map(Ft=>reactExports.createContext(Ft));return function(Ct){const wt=Ct?.[yt]||At;return reactExports.useMemo(()=>({[`__scope${yt}`]:{...Ct,[yt]:wt}}),[Ct,wt])}};return bt.scopeName=yt,[vt,composeContextScopes$2(bt,...Et)]}function composeContextScopes$2(...yt){const Et=yt[0];if(yt.length===1)return Et;const xt=()=>{const vt=yt.map(bt=>({useScope:bt(),scopeName:bt.scopeName}));return function(At){const Ft=vt.reduce((Ct,{useScope:wt,scopeName:St})=>{const Rt=wt(At)[`__scope${St}`];return{...Ct,...Rt}},{});return reactExports.useMemo(()=>({[`__scope${Et.scopeName}`]:Ft}),[Ft])}};return xt.scopeName=Et.scopeName,xt}function createSlot$3(yt){const Et=createSlotClone$3(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$3);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$3(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$3(bt),Ct=mergeProps$3(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$3=Symbol("radix.slottable");function isSlottable$3(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$3}function mergeProps$3(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$3(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}function createCollection(yt){const Et=yt+"CollectionProvider",[xt,vt]=createContextScope$2(Et),[bt,At]=xt(Et,{collectionRef:{current:null},itemMap:new Map}),Ft=Ot=>{const{scope:Mt,children:It}=Ot,Nt=React.useRef(null),Ut=React.useRef(new Map).current;return jsxRuntimeExports.jsx(bt,{scope:Mt,itemMap:Ut,collectionRef:Nt,children:It})};Ft.displayName=Et;const Ct=yt+"CollectionSlot",wt=createSlot$3(Ct),St=React.forwardRef((Ot,Mt)=>{const{scope:It,children:Nt}=Ot,Ut=At(Ct,It),jt=useComposedRefs(Mt,Ut.collectionRef);return jsxRuntimeExports.jsx(wt,{ref:jt,children:Nt})});St.displayName=Ct;const Tt=yt+"CollectionItemSlot",Rt="data-radix-collection-item",Pt=createSlot$3(Tt),Lt=React.forwardRef((Ot,Mt)=>{const{scope:It,children:Nt,...Ut}=Ot,jt=React.useRef(null),Vt=useComposedRefs(Mt,jt),zt=At(Tt,It);return React.useEffect(()=>(zt.itemMap.set(jt,{ref:jt,...Ut}),()=>{zt.itemMap.delete(jt)})),jsxRuntimeExports.jsx(Pt,{[Rt]:"",ref:Vt,children:Nt})});Lt.displayName=Tt;function kt(Ot){const Mt=At(yt+"CollectionConsumer",Ot);return React.useCallback(()=>{const Nt=Mt.collectionRef.current;if(!Nt)return[];const Ut=Array.from(Nt.querySelectorAll(`[${Rt}]`));return Array.from(Mt.itemMap.values()).sort((zt,Ht)=>Ut.indexOf(zt.ref.current)-Ut.indexOf(Ht.ref.current))},[Mt.collectionRef,Mt.itemMap])}return[{Provider:Ft,Slot:St,ItemSlot:Lt},kt,vt]}function createContextScope$1(yt,Et=[]){let xt=[];function vt(At,Ft){const Ct=reactExports.createContext(Ft),wt=xt.length;xt=[...xt,Ft];const St=Rt=>{const{scope:Pt,children:Lt,...kt}=Rt,Ot=Pt?.[yt]?.[wt]||Ct,Mt=reactExports.useMemo(()=>kt,Object.values(kt));return jsxRuntimeExports.jsx(Ot.Provider,{value:Mt,children:Lt})};St.displayName=At+"Provider";function Tt(Rt,Pt){const Lt=Pt?.[yt]?.[wt]||Ct,kt=reactExports.useContext(Lt);if(kt)return kt;if(Ft!==void 0)return Ft;throw new Error(`\`${Rt}\` must be used within \`${At}\``)}return[St,Tt]}const bt=()=>{const At=xt.map(Ft=>reactExports.createContext(Ft));return function(Ct){const wt=Ct?.[yt]||At;return reactExports.useMemo(()=>({[`__scope${yt}`]:{...Ct,[yt]:wt}}),[Ct,wt])}};return bt.scopeName=yt,[vt,composeContextScopes$1(bt,...Et)]}function composeContextScopes$1(...yt){const Et=yt[0];if(yt.length===1)return Et;const xt=()=>{const vt=yt.map(bt=>({useScope:bt(),scopeName:bt.scopeName}));return function(At){const Ft=vt.reduce((Ct,{useScope:wt,scopeName:St})=>{const Rt=wt(At)[`__scope${St}`];return{...Ct,...Rt}},{});return reactExports.useMemo(()=>({[`__scope${Et.scopeName}`]:Ft}),[Ft])}};return xt.scopeName=Et.scopeName,xt}var DirectionContext=reactExports.createContext(void 0);function useDirection(yt){const Et=reactExports.useContext(DirectionContext);return yt||Et||"ltr"}var count$1=0;function useFocusGuards(){reactExports.useEffect(()=>{const yt=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",yt[0]??createFocusGuard()),document.body.insertAdjacentElement("beforeend",yt[1]??createFocusGuard()),count$1++,()=>{count$1===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(Et=>Et.remove()),count$1--}},[])}function createFocusGuard(){const yt=document.createElement("span");return yt.setAttribute("data-radix-focus-guard",""),yt.tabIndex=0,yt.style.outline="none",yt.style.opacity="0",yt.style.position="fixed",yt.style.pointerEvents="none",yt}function createSlot$2(yt){const Et=createSlotClone$2(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$2);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$2(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$2(bt),Ct=mergeProps$2(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$2=Symbol("radix.slottable");function isSlottable$2(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$2}function mergeProps$2(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$2(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}var NODES$2=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$2=NODES$2.reduce((yt,Et)=>{const xt=createSlot$2(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{}),AUTOFOCUS_ON_MOUNT="focusScope.autoFocusOnMount",AUTOFOCUS_ON_UNMOUNT="focusScope.autoFocusOnUnmount",EVENT_OPTIONS={bubbles:!1,cancelable:!0},FOCUS_SCOPE_NAME="FocusScope",FocusScope=reactExports.forwardRef((yt,Et)=>{const{loop:xt=!1,trapped:vt=!1,onMountAutoFocus:bt,onUnmountAutoFocus:At,...Ft}=yt,[Ct,wt]=reactExports.useState(null),St=useCallbackRef$2(bt),Tt=useCallbackRef$2(At),Rt=reactExports.useRef(null),Pt=useComposedRefs(Et,Ot=>wt(Ot)),Lt=reactExports.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;reactExports.useEffect(()=>{if(vt){let Ot=function(Ut){if(Lt.paused||!Ct)return;const jt=Ut.target;Ct.contains(jt)?Rt.current=jt:focus(Rt.current,{select:!0})},Mt=function(Ut){if(Lt.paused||!Ct)return;const jt=Ut.relatedTarget;jt!==null&&(Ct.contains(jt)||focus(Rt.current,{select:!0}))},It=function(Ut){if(document.activeElement===document.body)for(const Vt of Ut)Vt.removedNodes.length>0&&focus(Ct)};document.addEventListener("focusin",Ot),document.addEventListener("focusout",Mt);const Nt=new MutationObserver(It);return Ct&&Nt.observe(Ct,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",Ot),document.removeEventListener("focusout",Mt),Nt.disconnect()}}},[vt,Ct,Lt.paused]),reactExports.useEffect(()=>{if(Ct){focusScopesStack.add(Lt);const Ot=document.activeElement;if(!Ct.contains(Ot)){const It=new CustomEvent(AUTOFOCUS_ON_MOUNT,EVENT_OPTIONS);Ct.addEventListener(AUTOFOCUS_ON_MOUNT,St),Ct.dispatchEvent(It),It.defaultPrevented||(focusFirst(removeLinks(getTabbableCandidates(Ct)),{select:!0}),document.activeElement===Ot&&focus(Ct))}return()=>{Ct.removeEventListener(AUTOFOCUS_ON_MOUNT,St),setTimeout(()=>{const It=new CustomEvent(AUTOFOCUS_ON_UNMOUNT,EVENT_OPTIONS);Ct.addEventListener(AUTOFOCUS_ON_UNMOUNT,Tt),Ct.dispatchEvent(It),It.defaultPrevented||focus(Ot??document.body,{select:!0}),Ct.removeEventListener(AUTOFOCUS_ON_UNMOUNT,Tt),focusScopesStack.remove(Lt)},0)}}},[Ct,St,Tt,Lt]);const kt=reactExports.useCallback(Ot=>{if(!xt&&!vt||Lt.paused)return;const Mt=Ot.key==="Tab"&&!Ot.altKey&&!Ot.ctrlKey&&!Ot.metaKey,It=document.activeElement;if(Mt&&It){const Nt=Ot.currentTarget,[Ut,jt]=getTabbableEdges(Nt);Ut&&jt?!Ot.shiftKey&&It===jt?(Ot.preventDefault(),xt&&focus(Ut,{select:!0})):Ot.shiftKey&&It===Ut&&(Ot.preventDefault(),xt&&focus(jt,{select:!0})):It===Nt&&Ot.preventDefault()}},[xt,vt,Lt.paused]);return jsxRuntimeExports.jsx(Primitive$2.div,{tabIndex:-1,...Ft,ref:Pt,onKeyDown:kt})});FocusScope.displayName=FOCUS_SCOPE_NAME;function focusFirst(yt,{select:Et=!1}={}){const xt=document.activeElement;for(const vt of yt)if(focus(vt,{select:Et}),document.activeElement!==xt)return}function getTabbableEdges(yt){const Et=getTabbableCandidates(yt),xt=findVisible(Et,yt),vt=findVisible(Et.reverse(),yt);return[xt,vt]}function getTabbableCandidates(yt){const Et=[],xt=document.createTreeWalker(yt,NodeFilter.SHOW_ELEMENT,{acceptNode:vt=>{const bt=vt.tagName==="INPUT"&&vt.type==="hidden";return vt.disabled||vt.hidden||bt?NodeFilter.FILTER_SKIP:vt.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;xt.nextNode();)Et.push(xt.currentNode);return Et}function findVisible(yt,Et){for(const xt of yt)if(!isHidden(xt,{upTo:Et}))return xt}function isHidden(yt,{upTo:Et}){if(getComputedStyle(yt).visibility==="hidden")return!0;for(;yt;){if(Et!==void 0&&yt===Et)return!1;if(getComputedStyle(yt).display==="none")return!0;yt=yt.parentElement}return!1}function isSelectableInput(yt){return yt instanceof HTMLInputElement&&"select"in yt}function focus(yt,{select:Et=!1}={}){if(yt&&yt.focus){const xt=document.activeElement;yt.focus({preventScroll:!0}),yt!==xt&&isSelectableInput(yt)&&Et&&yt.select()}}var focusScopesStack=createFocusScopesStack();function createFocusScopesStack(){let yt=[];return{add(Et){const xt=yt[0];Et!==xt&&xt?.pause(),yt=arrayRemove(yt,Et),yt.unshift(Et)},remove(Et){yt=arrayRemove(yt,Et),yt[0]?.resume()}}}function arrayRemove(yt,Et){const xt=[...yt],vt=xt.indexOf(Et);return vt!==-1&&xt.splice(vt,1),xt}function removeLinks(yt){return yt.filter(Et=>Et.tagName!=="A")}function createSlot$1(yt){const Et=createSlotClone$1(yt),xt=reactExports.forwardRef((vt,bt)=>{const{children:At,...Ft}=vt,Ct=reactExports.Children.toArray(At),wt=Ct.find(isSlottable$1);if(wt){const St=wt.props.children,Tt=Ct.map(Rt=>Rt===wt?reactExports.Children.count(St)>1?reactExports.Children.only(null):reactExports.isValidElement(St)?St.props.children:null:Rt);return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:reactExports.isValidElement(St)?reactExports.cloneElement(St,void 0,Tt):null})}return jsxRuntimeExports.jsx(Et,{...Ft,ref:bt,children:At})});return xt.displayName=`${yt}.Slot`,xt}function createSlotClone$1(yt){const Et=reactExports.forwardRef((xt,vt)=>{const{children:bt,...At}=xt;if(reactExports.isValidElement(bt)){const Ft=getElementRef$1(bt),Ct=mergeProps$1(At,bt.props);return bt.type!==reactExports.Fragment&&(Ct.ref=vt?composeRefs(vt,Ft):Ft),reactExports.cloneElement(bt,Ct)}return reactExports.Children.count(bt)>1?reactExports.Children.only(null):null});return Et.displayName=`${yt}.SlotClone`,Et}var SLOTTABLE_IDENTIFIER$1=Symbol("radix.slottable");function isSlottable$1(yt){return reactExports.isValidElement(yt)&&typeof yt.type=="function"&&"__radixId"in yt.type&&yt.type.__radixId===SLOTTABLE_IDENTIFIER$1}function mergeProps$1(yt,Et){const xt={...Et};for(const vt in Et){const bt=yt[vt],At=Et[vt];/^on[A-Z]/.test(vt)?bt&&At?xt[vt]=(...Ct)=>{const wt=At(...Ct);return bt(...Ct),wt}:bt&&(xt[vt]=bt):vt==="style"?xt[vt]={...bt,...At}:vt==="className"&&(xt[vt]=[bt,At].filter(Boolean).join(" "))}return{...yt,...xt}}function getElementRef$1(yt){let Et=Object.getOwnPropertyDescriptor(yt.props,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning;return xt?yt.ref:(Et=Object.getOwnPropertyDescriptor(yt,"ref")?.get,xt=Et&&"isReactWarning"in Et&&Et.isReactWarning,xt?yt.props.ref:yt.props.ref||yt.ref)}var NODES$1=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive$1=NODES$1.reduce((yt,Et)=>{const xt=createSlot$1(`Primitive.${Et}`),vt=reactExports.forwardRef((bt,At)=>{const{asChild:Ft,...Ct}=bt,wt=Ft?xt:Et;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),jsxRuntimeExports.jsx(wt,{...Ct,ref:At})});return vt.displayName=`Primitive.${Et}`,{...yt,[Et]:vt}},{}),getDefaultParent=function(yt){if(typeof document>"u")return null;var Et=Array.isArray(yt)?yt[0]:yt;return Et.ownerDocument.body},counterMap=new WeakMap,uncontrolledNodes=new WeakMap,markerMap={},lockCount=0,unwrapHost=function(yt){return yt&&(yt.host||unwrapHost(yt.parentNode))},correctTargets=function(yt,Et){return Et.map(function(xt){if(yt.contains(xt))return xt;var vt=unwrapHost(xt);return vt&&yt.contains(vt)?vt:(console.error("aria-hidden",xt,"in not contained inside",yt,". Doing nothing"),null)}).filter(function(xt){return!!xt})},applyAttributeToOthers=function(yt,Et,xt,vt){var bt=correctTargets(Et,Array.isArray(yt)?yt:[yt]);markerMap[xt]||(markerMap[xt]=new WeakMap);var At=markerMap[xt],Ft=[],Ct=new Set,wt=new Set(bt),St=function(Rt){!Rt||Ct.has(Rt)||(Ct.add(Rt),St(Rt.parentNode))};bt.forEach(St);var Tt=function(Rt){!Rt||wt.has(Rt)||Array.prototype.forEach.call(Rt.children,function(Pt){if(Ct.has(Pt))Tt(Pt);else try{var Lt=Pt.getAttribute(vt),kt=Lt!==null&&Lt!=="false",Ot=(counterMap.get(Pt)||0)+1,Mt=(At.get(Pt)||0)+1;counterMap.set(Pt,Ot),At.set(Pt,Mt),Ft.push(Pt),Ot===1&&kt&&uncontrolledNodes.set(Pt,!0),Mt===1&&Pt.setAttribute(xt,"true"),kt||Pt.setAttribute(vt,"true")}catch(It){console.error("aria-hidden: cannot operate on ",Pt,It)}})};return Tt(Et),Ct.clear(),lockCount++,function(){Ft.forEach(function(Rt){var Pt=counterMap.get(Rt)-1,Lt=At.get(Rt)-1;counterMap.set(Rt,Pt),At.set(Rt,Lt),Pt||(uncontrolledNodes.has(Rt)||Rt.removeAttribute(vt),uncontrolledNodes.delete(Rt)),Lt||Rt.removeAttribute(xt)}),lockCount--,lockCount||(counterMap=new WeakMap,counterMap=new WeakMap,uncontrolledNodes=new WeakMap,markerMap={})}},hideOthers=function(yt,Et,xt){xt===void 0&&(xt="data-aria-hidden");var vt=Array.from(Array.isArray(yt)?yt:[yt]),bt=getDefaultParent(yt);return bt?(vt.push.apply(vt,Array.from(bt.querySelectorAll("[aria-live], script"))),applyAttributeToOthers(vt,bt,xt,"aria-hidden")):function(){return null}},__assign=function(){return __assign=Object.assign||function(Et){for(var xt,vt=1,bt=arguments.length;vt<bt;vt++){xt=arguments[vt];for(var At in xt)Object.prototype.hasOwnProperty.call(xt,At)&&(Et[At]=xt[At])}return Et},__assign.apply(this,arguments)};function __rest$1(yt,Et){var xt={};for(var vt in yt)Object.prototype.hasOwnProperty.call(yt,vt)&&Et.indexOf(vt)<0&&(xt[vt]=yt[vt]);if(yt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var bt=0,vt=Object.getOwnPropertySymbols(yt);bt<vt.length;bt++)Et.indexOf(vt[bt])<0&&Object.prototype.propertyIsEnumerable.call(yt,vt[bt])&&(xt[vt[bt]]=yt[vt[bt]]);return xt}function __spreadArray(yt,Et,xt){if(xt||arguments.length===2)for(var vt=0,bt=Et.length,At;vt<bt;vt++)(At||!(vt in Et))&&(At||(At=Array.prototype.slice.call(Et,0,vt)),At[vt]=Et[vt]);return yt.concat(At||Array.prototype.slice.call(Et))}typeof SuppressedError=="function"&&SuppressedError;var zeroRightClassName="right-scroll-bar-position",fullWidthClassName="width-before-scroll-bar",noScrollbarsClassName="with-scroll-bars-hidden",removedBarSizeVariable="--removed-body-scroll-bar-size";function assignRef(yt,Et){return typeof yt=="function"?yt(Et):yt&&(yt.current=Et),yt}function useCallbackRef$1(yt,Et){var xt=reactExports.useState(function(){return{value:yt,callback:Et,facade:{get current(){return xt.value},set current(vt){var bt=xt.value;bt!==vt&&(xt.value=vt,xt.callback(vt,bt))}}}})[0];return xt.callback=Et,xt.facade}var useIsomorphicLayoutEffect$1=typeof window<"u"?reactExports.useLayoutEffect:reactExports.useEffect,currentValues=new WeakMap;function useMergeRefs(yt,Et){var xt=useCallbackRef$1(null,function(vt){return yt.forEach(function(bt){return assignRef(bt,vt)})});return useIsomorphicLayoutEffect$1(function(){var vt=currentValues.get(xt);if(vt){var bt=new Set(vt),At=new Set(yt),Ft=xt.current;bt.forEach(function(Ct){At.has(Ct)||assignRef(Ct,null)}),At.forEach(function(Ct){bt.has(Ct)||assignRef(Ct,Ft)})}currentValues.set(xt,yt)},[yt]),xt}function ItoI(yt){return yt}function innerCreateMedium(yt,Et){Et===void 0&&(Et=ItoI);var xt=[],vt=!1,bt={read:function(){if(vt)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return xt.length?xt[xt.length-1]:yt},useMedium:function(At){var Ft=Et(At,vt);return xt.push(Ft),function(){xt=xt.filter(function(Ct){return Ct!==Ft})}},assignSyncMedium:function(At){for(vt=!0;xt.length;){var Ft=xt;xt=[],Ft.forEach(At)}xt={push:function(Ct){return At(Ct)},filter:function(){return xt}}},assignMedium:function(At){vt=!0;var Ft=[];if(xt.length){var Ct=xt;xt=[],Ct.forEach(At),Ft=xt}var wt=function(){var Tt=Ft;Ft=[],Tt.forEach(At)},St=function(){return Promise.resolve().then(wt)};St(),xt={push:function(Tt){Ft.push(Tt),St()},filter:function(Tt){return Ft=Ft.filter(Tt),xt}}}};return bt}function createSidecarMedium(yt){yt===void 0&&(yt={});var Et=innerCreateMedium(null);return Et.options=__assign({async:!0,ssr:!1},yt),Et}var SideCar$1=function(yt){var Et=yt.sideCar,xt=__rest$1(yt,["sideCar"]);if(!Et)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var vt=Et.read();if(!vt)throw new Error("Sidecar medium not found");return reactExports.createElement(vt,__assign({},xt))};SideCar$1.isSideCarExport=!0;function exportSidecar(yt,Et){return yt.useMedium(Et),SideCar$1}var effectCar=createSidecarMedium(),nothing=function(){},RemoveScroll=reactExports.forwardRef(function(yt,Et){var xt=reactExports.useRef(null),vt=reactExports.useState({onScrollCapture:nothing,onWheelCapture:nothing,onTouchMoveCapture:nothing}),bt=vt[0],At=vt[1],Ft=yt.forwardProps,Ct=yt.children,wt=yt.className,St=yt.removeScrollBar,Tt=yt.enabled,Rt=yt.shards,Pt=yt.sideCar,Lt=yt.noRelative,kt=yt.noIsolation,Ot=yt.inert,Mt=yt.allowPinchZoom,It=yt.as,Nt=It===void 0?"div":It,Ut=yt.gapMode,jt=__rest$1(yt,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),Vt=Pt,zt=useMergeRefs([xt,Et]),Ht=__assign(__assign({},jt),bt);return reactExports.createElement(reactExports.Fragment,null,Tt&&reactExports.createElement(Vt,{sideCar:effectCar,removeScrollBar:St,shards:Rt,noRelative:Lt,noIsolation:kt,inert:Ot,setCallbacks:At,allowPinchZoom:!!Mt,lockRef:xt,gapMode:Ut}),Ft?reactExports.cloneElement(reactExports.Children.only(Ct),__assign(__assign({},Ht),{ref:zt})):reactExports.createElement(Nt,__assign({},Ht,{className:wt,ref:zt}),Ct))});RemoveScroll.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},RemoveScroll.classNames={fullWidth:fullWidthClassName,zeroRight:zeroRightClassName};var getNonce=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function makeStyleTag(){if(!document)return null;var yt=document.createElement("style");yt.type="text/css";var Et=getNonce();return Et&&yt.setAttribute("nonce",Et),yt}function injectStyles(yt,Et){yt.styleSheet?yt.styleSheet.cssText=Et:yt.appendChild(document.createTextNode(Et))}function insertStyleTag(yt){var Et=document.head||document.getElementsByTagName("head")[0];Et.appendChild(yt)}var stylesheetSingleton=function(){var yt=0,Et=null;return{add:function(xt){yt==0&&(Et=makeStyleTag())&&(injectStyles(Et,xt),insertStyleTag(Et)),yt++},remove:function(){yt--,!yt&&Et&&(Et.parentNode&&Et.parentNode.removeChild(Et),Et=null)}}},styleHookSingleton=function(){var yt=stylesheetSingleton();return function(Et,xt){reactExports.useEffect(function(){return yt.add(Et),function(){yt.remove()}},[Et&&xt])}},styleSingleton=function(){var yt=styleHookSingleton(),Et=function(xt){var vt=xt.styles,bt=xt.dynamic;return yt(vt,bt),null};return Et},zeroGap={left:0,top:0,right:0,gap:0},parse$1=function(yt){return parseInt(yt||"",10)||0},getOffset=function(yt){var Et=window.getComputedStyle(document.body),xt=Et[yt==="padding"?"paddingLeft":"marginLeft"],vt=Et[yt==="padding"?"paddingTop":"marginTop"],bt=Et[yt==="padding"?"paddingRight":"marginRight"];return[parse$1(xt),parse$1(vt),parse$1(bt)]},getGapWidth=function(yt){if(yt===void 0&&(yt="margin"),typeof window>"u")return zeroGap;var Et=getOffset(yt),xt=document.documentElement.clientWidth,vt=window.innerWidth;return{left:Et[0],top:Et[1],right:Et[2],gap:Math.max(0,vt-xt+Et[2]-Et[0])}},Style=styleSingleton(),lockAttribute="data-scroll-locked",getStyles=function(yt,Et,xt,vt){var bt=yt.left,At=yt.top,Ft=yt.right,Ct=yt.gap;return xt===void 0&&(xt="margin"),`
10
10
  .`.concat(noScrollbarsClassName,` {
11
11
  overflow: hidden `).concat(vt,`;
12
12
  padding-right: `).concat(Ct,"px ").concat(vt,`;
@@ -183,7 +183,7 @@ ${At}
183
183
  `)return this._line++,!0;if(this._isWhitespace(Et))return!0;if(Et=="/"){if(this._peekAhead()=="/"){for(;Et!=`
184
184
  `;){if(this._isAtEnd())return!0;Et=this._advance()}return this._line++,!0}if(this._peekAhead()=="*"){this._advance();let Ft=1;for(;Ft>0;){if(this._isAtEnd())return!0;if(Et=this._advance(),Et==`
185
185
  `)this._line++;else if(Et=="*"){if(this._peekAhead()=="/"&&(this._advance(),Ft--,Ft==0))return!0}else Et=="/"&&this._peekAhead()=="*"&&(this._advance(),Ft++)}return!0}}const xt=He$1.simpleTokens[Et];if(xt)return this._addToken(xt),!0;let vt=He$1.none;const bt=this._isAlpha(Et),At=Et==="_";if(this._isAlphaNumeric(Et)){let Ft=this._peekAhead();for(;this._isAlphaNumeric(Ft);)Et+=this._advance(),Ft=this._peekAhead()}if(bt){const Ft=He$1.keywords[Et];if(Ft)return this._addToken(Ft),!0}if(bt||At)return this._addToken(He$1.tokens.ident),!0;for(;;){let Ft=this._findType(Et);const Ct=this._peekAhead();if(Et=="-"&&this._tokens.length>0){if(Ct=="=")return this._current++,Et+=Ct,this._addToken(He$1.tokens.minus_equal),!0;if(Ct=="-")return this._current++,Et+=Ct,this._addToken(He$1.tokens.minus_minus),!0;const wt=this._tokens.length-1;if((He$1.literal_or_ident.indexOf(this._tokens[wt].type)!=-1||this._tokens[wt].type==He$1.tokens.paren_right)&&Ct!=">")return this._addToken(Ft),!0}if(Et==">"&&(Ct==">"||Ct=="=")){let wt=!1,St=this._tokens.length-1;for(let Tt=0;Tt<5&&St>=0&&He$1.assignment_operators.indexOf(this._tokens[St].type)===-1;++Tt,--St)if(this._tokens[St].type===He$1.tokens.less_than){St>0&&this._tokens[St-1].isArrayOrTemplateType()&&(wt=!0);break}if(wt)return this._addToken(Ft),!0}if(Ft===He$1.none){let wt=Et,St=0;const Tt=2;for(let Rt=0;Rt<Tt;++Rt)if(wt+=this._peekAhead(Rt),Ft=this._findType(wt),Ft!==He$1.none){St=Rt;break}if(Ft===He$1.none)return vt!==He$1.none&&(this._current--,this._addToken(vt),!0);Et=wt,this._current+=St+1}if(vt=Ft,this._isAtEnd())break;Et+=this._advance()}return vt!==He$1.none&&(this._addToken(vt),!0)}_findType(Et){for(const vt in He$1.regexTokens){const bt=He$1.regexTokens[vt];if(this._match(Et,bt.rule))return bt}return He$1.literalTokens[Et]||He$1.none}_match(Et,xt){const vt=xt.exec(Et);return vt&&vt.index==0&&vt[0]==Et}_isAtEnd(){return this._current>=this._source.length}_isAlpha(Et){return!this._isNumeric(Et)&&!this._isWhitespace(Et)&&Et!=="_"&&Et!=="."&&Et!=="("&&Et!==")"&&Et!=="["&&Et!=="]"&&Et!=="{"&&Et!=="}"&&Et!==","&&Et!==";"&&Et!==":"&&Et!=="="&&Et!=="!"&&Et!=="<"&&Et!==">"&&Et!=="+"&&Et!=="-"&&Et!=="*"&&Et!=="/"&&Et!=="%"&&Et!=="&"&&Et!=="|"&&Et!=="^"&&Et!=="~"&&Et!=="@"&&Et!=="#"&&Et!=="?"&&Et!=="'"&&Et!=="`"&&Et!=='"'&&Et!=="\\"&&Et!==`
186
- `&&Et!=="\r"&&Et!==" "&&Et!=="\0"}_isNumeric(Et){return Et>="0"&&Et<="9"}_isAlphaNumeric(Et){return this._isAlpha(Et)||this._isNumeric(Et)||Et==="_"}_isWhitespace(Et){return Et==" "||Et==" "||Et=="\r"}_advance(Et=0){let xt=this._source[this._current];return Et=Et||0,Et++,this._current+=Et,xt}_peekAhead(Et=0){return Et=Et||0,this._current+Et>=this._source.length?"\0":this._source[this._current+Et]}_addToken(Et){const xt=this._source.substring(this._start,this._current);this._tokens.push(new ze$1(Et,xt,this._line,this._start,this._current))}};function Ge$1(yt){return Array.isArray(yt)||yt?.buffer instanceof ArrayBuffer}const Xe$1=new Float32Array(1),je$1=new Uint32Array(Xe$1.buffer),Ze$1=new Uint32Array(Xe$1.buffer),Qe$1=new Int32Array(1),Ye$1=new Float32Array(Qe$1.buffer),Ke$1=new Uint32Array(Qe$1.buffer),Je$1=new Uint32Array(1),et=new Float32Array(Je$1.buffer),tt=new Int32Array(Je$1.buffer);function nt(yt,Et,xt){if(Et===xt)return yt;if(Et==="f32"){if(xt==="i32"||xt==="x32")return Xe$1[0]=yt,je$1[0];if(xt==="u32")return Xe$1[0]=yt,Ze$1[0]}else if(Et==="i32"||Et==="x32"){if(xt==="f32")return Qe$1[0]=yt,Ye$1[0];if(xt==="u32")return Qe$1[0]=yt,Ke$1[0]}else if(Et==="u32"){if(xt==="f32")return Je$1[0]=yt,et[0];if(xt==="i32"||xt==="x32")return Je$1[0]=yt,tt[0]}return console.error(`Unsupported cast from ${Et} to ${xt}`),yt}class st{constructor(Et){this.resources=null,this.inUse=!1,this.info=null,this.node=Et}}class rt{constructor(Et,xt){this.align=Et,this.size=xt}}class at{constructor(){this.uniforms=[],this.storage=[],this.textures=[],this.samplers=[],this.aliases=[],this.overrides=[],this.structs=[],this.entry=new d$2,this.functions=[],this._types=new Map,this._functions=new Map}_isStorageTexture(Et){return Et.name=="texture_storage_1d"||Et.name=="texture_storage_2d"||Et.name=="texture_storage_2d_array"||Et.name=="texture_storage_3d"}updateAST(Et){for(const xt of Et)xt instanceof D$1&&this._functions.set(xt.name,new st(xt));for(const xt of Et)if(xt instanceof oe$1){const vt=this.getTypeInfo(xt,null);vt instanceof n&&this.structs.push(vt)}for(const xt of Et)if(xt instanceof te)this.aliases.push(this._getAliasInfo(xt));else{if(xt instanceof M$1){const vt=xt,bt=this._getAttributeNum(vt.attributes,"id",0),At=vt.type!=null?this.getTypeInfo(vt.type,vt.attributes):null;this.overrides.push(new h(vt.name,At,vt.attributes,bt));continue}if(this._isUniformVar(xt)){const vt=xt,bt=this._getAttributeNum(vt.attributes,"group",0),At=this._getAttributeNum(vt.attributes,"binding",0),Ft=this.getTypeInfo(vt.type,vt.attributes),Ct=new o(vt.name,Ft,bt,At,vt.attributes,i.Uniform,vt.access);Ct.access||(Ct.access="read"),this.uniforms.push(Ct);continue}if(this._isStorageVar(xt)){const vt=xt,bt=this._getAttributeNum(vt.attributes,"group",0),At=this._getAttributeNum(vt.attributes,"binding",0),Ft=this.getTypeInfo(vt.type,vt.attributes),Ct=this._isStorageTexture(Ft),wt=new o(vt.name,Ft,bt,At,vt.attributes,Ct?i.StorageTexture:i.Storage,vt.access);wt.access||(wt.access="read"),this.storage.push(wt);continue}if(this._isTextureVar(xt)){const vt=xt,bt=this._getAttributeNum(vt.attributes,"group",0),At=this._getAttributeNum(vt.attributes,"binding",0),Ft=this.getTypeInfo(vt.type,vt.attributes),Ct=this._isStorageTexture(Ft),wt=new o(vt.name,Ft,bt,At,vt.attributes,Ct?i.StorageTexture:i.Texture,vt.access);wt.access||(wt.access="read"),Ct?this.storage.push(wt):this.textures.push(wt);continue}if(this._isSamplerVar(xt)){const vt=xt,bt=this._getAttributeNum(vt.attributes,"group",0),At=this._getAttributeNum(vt.attributes,"binding",0),Ft=this.getTypeInfo(vt.type,vt.attributes),Ct=new o(vt.name,Ft,bt,At,vt.attributes,i.Sampler,vt.access);this.samplers.push(Ct);continue}}for(const xt of Et)if(xt instanceof D$1){const vt=this._getAttribute(xt,"vertex"),bt=this._getAttribute(xt,"fragment"),At=this._getAttribute(xt,"compute"),Ft=vt||bt||At,Ct=new p$1(xt.name,Ft?.name,xt.attributes);Ct.attributes=xt.attributes,Ct.startLine=xt.startLine,Ct.endLine=xt.endLine,this.functions.push(Ct),this._functions.get(xt.name).info=Ct,Ft&&(this._functions.get(xt.name).inUse=!0,Ct.inUse=!0,Ct.resources=this._findResources(xt,!!Ft),Ct.inputs=this._getInputs(xt.args),Ct.outputs=this._getOutputs(xt.returnType),this.entry[Ft.name].push(Ct)),Ct.arguments=xt.args.map(wt=>new f(wt.name,this.getTypeInfo(wt.type,wt.attributes),wt.attributes)),Ct.returnType=xt.returnType?this.getTypeInfo(xt.returnType,xt.attributes):null;continue}for(const xt of this._functions.values())xt.info&&(xt.info.inUse=xt.inUse,this._addCalls(xt.node,xt.info.calls));for(const xt of this._functions.values())xt.node.search(vt=>{var bt,At,Ft;if(vt instanceof De$1){if(vt.value)if(Ge$1(vt.value))for(const Ct of vt.value)for(const wt of this.overrides)Ct===wt.name&&((bt=xt.info)===null||bt===void 0||bt.overrides.push(wt));else for(const Ct of this.overrides)vt.value===Ct.name&&((At=xt.info)===null||At===void 0||At.overrides.push(Ct))}else if(vt instanceof ge$1)for(const Ct of this.overrides)vt.name===Ct.name&&((Ft=xt.info)===null||Ft===void 0||Ft.overrides.push(Ct))});for(const xt of this.uniforms)this._markStructsInUse(xt.type);for(const xt of this.storage)this._markStructsInUse(xt.type)}getFunctionInfo(Et){for(const xt of this.functions)if(xt.name==Et)return xt;return null}getStructInfo(Et){for(const xt of this.structs)if(xt.name==Et)return xt;return null}getOverrideInfo(Et){for(const xt of this.overrides)if(xt.name==Et)return xt;return null}_markStructsInUse(Et){if(Et)if(Et.isStruct){if(Et.inUse=!0,Et.members)for(const xt of Et.members)this._markStructsInUse(xt.type)}else if(Et.isArray)this._markStructsInUse(Et.format);else if(Et.isTemplate)Et.format&&this._markStructsInUse(Et.format);else{const xt=this._getAlias(Et.name);xt&&this._markStructsInUse(xt)}}_addCalls(Et,xt){var vt;for(const bt of Et.calls){const At=(vt=this._functions.get(bt.name))===null||vt===void 0?void 0:vt.info;At&&xt.add(At)}}findResource(Et,xt,vt){if(vt){for(const bt of this.entry.compute)if(bt.name===vt){for(const At of bt.resources)if(At.group==Et&&At.binding==xt)return At}for(const bt of this.entry.vertex)if(bt.name===vt){for(const At of bt.resources)if(At.group==Et&&At.binding==xt)return At}for(const bt of this.entry.fragment)if(bt.name===vt){for(const At of bt.resources)if(At.group==Et&&At.binding==xt)return At}}for(const bt of this.uniforms)if(bt.group==Et&&bt.binding==xt)return bt;for(const bt of this.storage)if(bt.group==Et&&bt.binding==xt)return bt;for(const bt of this.textures)if(bt.group==Et&&bt.binding==xt)return bt;for(const bt of this.samplers)if(bt.group==Et&&bt.binding==xt)return bt;return null}_findResource(Et){for(const xt of this.uniforms)if(xt.name==Et)return xt;for(const xt of this.storage)if(xt.name==Et)return xt;for(const xt of this.textures)if(xt.name==Et)return xt;for(const xt of this.samplers)if(xt.name==Et)return xt;return null}_markStructsFromAST(Et){const xt=this.getTypeInfo(Et,null);this._markStructsInUse(xt)}_findResources(Et,xt){const vt=[],bt=this,At=[];return Et.search(Ft=>{if(Ft instanceof E$1)At.push({});else if(Ft instanceof $$1)At.pop();else if(Ft instanceof F$1){const Ct=Ft;xt&&Ct.type!==null&&this._markStructsFromAST(Ct.type),At.length>0&&(At[At.length-1][Ct.name]=Ct)}else if(Ft instanceof de$1){const Ct=Ft;xt&&Ct.type!==null&&this._markStructsFromAST(Ct.type)}else if(Ft instanceof U$1){const Ct=Ft;xt&&Ct.type!==null&&this._markStructsFromAST(Ct.type),At.length>0&&(At[At.length-1][Ct.name]=Ct)}else if(Ft instanceof ge$1){const Ct=Ft;if(At.length>0&&At[At.length-1][Ct.name])return;const wt=bt._findResource(Ct.name);wt&&vt.push(wt)}else if(Ft instanceof me$1){const Ct=Ft,wt=bt._functions.get(Ct.name);wt&&(xt&&(wt.inUse=!0),Et.calls.add(wt.node),wt.resources===null&&(wt.resources=bt._findResources(wt.node,xt)),vt.push(...wt.resources))}else if(Ft instanceof X$1){const Ct=Ft,wt=bt._functions.get(Ct.name);wt&&(xt&&(wt.inUse=!0),Et.calls.add(wt.node),wt.resources===null&&(wt.resources=bt._findResources(wt.node,xt)),vt.push(...wt.resources))}}),[...new Map(vt.map(Ft=>[Ft.name,Ft])).values()]}getBindGroups(){const Et=[];function xt(vt,bt){vt>=Et.length&&(Et.length=vt+1),Et[vt]===void 0&&(Et[vt]=[]),bt>=Et[vt].length&&(Et[vt].length=bt+1)}for(const vt of this.uniforms)xt(vt.group,vt.binding),Et[vt.group][vt.binding]=vt;for(const vt of this.storage)xt(vt.group,vt.binding),Et[vt.group][vt.binding]=vt;for(const vt of this.textures)xt(vt.group,vt.binding),Et[vt.group][vt.binding]=vt;for(const vt of this.samplers)xt(vt.group,vt.binding),Et[vt.group][vt.binding]=vt;return Et}_getOutputs(Et,xt=void 0){if(xt===void 0&&(xt=[]),Et instanceof oe$1)this._getStructOutputs(Et,xt);else{const vt=this._getOutputInfo(Et);vt!==null&&xt.push(vt)}return xt}_getStructOutputs(Et,xt){for(const vt of Et.members)if(vt.type instanceof oe$1)this._getStructOutputs(vt.type,xt);else{const bt=this._getAttribute(vt,"location")||this._getAttribute(vt,"builtin");if(bt!==null){const At=this.getTypeInfo(vt.type,vt.type.attributes),Ft=this._parseInt(bt.value),Ct=new u(vt.name,At,bt.name,Ft);xt.push(Ct)}}}_getOutputInfo(Et){const xt=this._getAttribute(Et,"location")||this._getAttribute(Et,"builtin");if(xt!==null){const vt=this.getTypeInfo(Et,Et.attributes),bt=this._parseInt(xt.value);return new u("",vt,xt.name,bt)}return null}_getInputs(Et,xt=void 0){xt===void 0&&(xt=[]);for(const vt of Et)if(vt.type instanceof oe$1)this._getStructInputs(vt.type,xt);else{const bt=this._getInputInfo(vt);bt!==null&&xt.push(bt)}return xt}_getStructInputs(Et,xt){for(const vt of Et.members)if(vt.type instanceof oe$1)this._getStructInputs(vt.type,xt);else{const bt=this._getInputInfo(vt);bt!==null&&xt.push(bt)}}_getInputInfo(Et){const xt=this._getAttribute(Et,"location")||this._getAttribute(Et,"builtin");if(xt!==null){const vt=this._getAttribute(Et,"interpolation"),bt=this.getTypeInfo(Et.type,Et.attributes),At=this._parseInt(xt.value),Ft=new l(Et.name,bt,xt.name,At);return vt!==null&&(Ft.interpolation=this._parseString(vt.value)),Ft}return null}_parseString(Et){return Et instanceof Array&&(Et=Et[0]),Et}_parseInt(Et){Et instanceof Array&&(Et=Et[0]);const xt=parseInt(Et);return isNaN(xt)?Et:xt}_getAlias(Et){for(const xt of this.aliases)if(xt.name==Et)return xt.type;return null}_getAliasInfo(Et){return new c(Et.name,this.getTypeInfo(Et.type,null))}getTypeInfoByName(Et){for(const xt of this.structs)if(xt.name==Et)return xt;for(const xt of this.aliases)if(xt.name==Et)return xt.type;return null}getTypeInfo(Et,xt=null){if(this._types.has(Et))return this._types.get(Et);if(Et instanceof le$1){const bt=Et.type?this.getTypeInfo(Et.type,Et.attributes):null,At=new r(Et.name,bt,xt);return this._types.set(Et,At),this._updateTypeInfo(At),At}if(Et instanceof ue$1){const bt=Et,At=bt.format?this.getTypeInfo(bt.format,bt.attributes):null,Ft=new s(bt.name,xt);return Ft.format=At,Ft.count=bt.count,this._types.set(Et,Ft),this._updateTypeInfo(Ft),Ft}if(Et instanceof oe$1){const bt=Et,At=new n(bt.name,xt);At.startLine=bt.startLine,At.endLine=bt.endLine;for(const Ft of bt.members){const Ct=this.getTypeInfo(Ft.type,Ft.attributes);At.members.push(new t(Ft.name,Ct,Ft.attributes))}return this._types.set(Et,At),this._updateTypeInfo(At),At}if(Et instanceof he$1){const bt=Et,At=bt.format instanceof ae$1,Ft=bt.format?At?this.getTypeInfo(bt.format,null):new e(bt.format,null):null,Ct=new a(bt.name,Ft,xt,bt.access);return this._types.set(Et,Ct),this._updateTypeInfo(Ct),Ct}if(Et instanceof ce$1){const bt=Et,At=bt.format?this.getTypeInfo(bt.format,null):null,Ft=new a(bt.name,At,xt,bt.access);return this._types.set(Et,Ft),this._updateTypeInfo(Ft),Ft}const vt=new e(Et.name,xt);return this._types.set(Et,vt),this._updateTypeInfo(vt),vt}_updateTypeInfo(Et){var xt,vt,bt;const At=this._getTypeSize(Et);if(Et.size=(xt=At?.size)!==null&&xt!==void 0?xt:0,Et instanceof s&&Et.format){const Ft=this._getTypeSize(Et.format);Et.stride=Math.max((vt=Ft?.size)!==null&&vt!==void 0?vt:0,(bt=Ft?.align)!==null&&bt!==void 0?bt:0),this._updateTypeInfo(Et.format)}Et instanceof r&&this._updateTypeInfo(Et.format),Et instanceof n&&this._updateStructInfo(Et)}_updateStructInfo(Et){var xt;let vt=0,bt=0,At=0,Ft=0;for(let Ct=0,wt=Et.members.length;Ct<wt;++Ct){const St=Et.members[Ct],Tt=this._getTypeSize(St);if(!Tt)continue;(xt=this._getAlias(St.type.name))!==null&&xt!==void 0||St.type;const Rt=Tt.align,Pt=Tt.size;vt=this._roundUp(Rt,vt+bt),bt=Pt,At=vt,Ft=Math.max(Ft,Rt),St.offset=vt,St.size=Pt,this._updateTypeInfo(St.type)}Et.size=this._roundUp(Ft,At+bt),Et.align=Ft}_getTypeSize(Et){var xt,vt;if(Et==null)return null;const bt=this._getAttributeNum(Et.attributes,"size",0),At=this._getAttributeNum(Et.attributes,"align",0);if(Et instanceof t&&(Et=Et.type),Et instanceof e){const Ft=this._getAlias(Et.name);Ft!==null&&(Et=Ft)}{const Ft=at._typeInfo[Et.name];if(Ft!==void 0){const Ct=((xt=Et.format)===null||xt===void 0?void 0:xt.name)==="f16"?2:1;return new rt(Math.max(At,Ft.align/Ct),Math.max(bt,Ft.size/Ct))}}{const Ft=at._typeInfo[Et.name.substring(0,Et.name.length-1)];if(Ft){const Ct=Et.name[Et.name.length-1]==="h"?2:1;return new rt(Math.max(At,Ft.align/Ct),Math.max(bt,Ft.size/Ct))}}if(Et instanceof s){let Ft=Et,Ct=8,wt=8;const St=this._getTypeSize(Ft.format);return St!==null&&(wt=St.size,Ct=St.align),wt=Ft.count*this._getAttributeNum((vt=Et?.attributes)!==null&&vt!==void 0?vt:null,"stride",this._roundUp(Ct,wt)),bt&&(wt=bt),new rt(Math.max(At,Ct),Math.max(bt,wt))}if(Et instanceof n){let Ft=0,Ct=0,wt=0,St=0,Tt=0;for(const Rt of Et.members){const Pt=this._getTypeSize(Rt.type);Pt!==null&&(Ft=Math.max(Pt.align,Ft),wt=this._roundUp(Pt.align,wt+St),St=Pt.size,Tt=wt)}return Ct=this._roundUp(Ft,Tt+St),new rt(Math.max(At,Ft),Math.max(bt,Ct))}return null}_isUniformVar(Et){return Et instanceof F$1&&Et.storage=="uniform"}_isStorageVar(Et){return Et instanceof F$1&&Et.storage=="storage"}_isTextureVar(Et){return Et instanceof F$1&&Et.type!==null&&at._textureTypes.indexOf(Et.type.name)!=-1}_isSamplerVar(Et){return Et instanceof F$1&&Et.type!==null&&at._samplerTypes.indexOf(Et.type.name)!=-1}_getAttribute(Et,xt){const vt=Et;if(!vt||!vt.attributes)return null;const bt=vt.attributes;for(let At of bt)if(At.name==xt)return At;return null}_getAttributeNum(Et,xt,vt){if(Et===null)return vt;for(let bt of Et)if(bt.name==xt){let At=bt!==null&&bt.value!==null?bt.value:vt;return At instanceof Array&&(At=At[0]),typeof At=="number"?At:typeof At=="string"?parseInt(At):vt}return vt}_roundUp(Et,xt){return Math.ceil(xt/Et)*Et}}at._typeInfo={f16:{align:2,size:2},i32:{align:4,size:4},u32:{align:4,size:4},f32:{align:4,size:4},atomic:{align:4,size:4},vec2:{align:8,size:8},vec3:{align:16,size:12},vec4:{align:16,size:16},mat2x2:{align:8,size:16},mat3x2:{align:8,size:24},mat4x2:{align:8,size:32},mat2x3:{align:16,size:32},mat3x3:{align:16,size:48},mat4x3:{align:16,size:64},mat2x4:{align:16,size:32},mat3x4:{align:16,size:48},mat4x4:{align:16,size:64}},at._textureTypes=He$1.any_texture_type.map(yt=>yt.name),at._samplerTypes=He$1.sampler_type.map(yt=>yt.name);let it=0;class ot{constructor(Et,xt,vt){this.id=it++,this.name=Et,this.value=xt,this.node=vt}clone(){return new ot(this.name,this.value,this.node)}}class ct{constructor(Et){this.id=it++,this.name=Et.name,this.node=Et}clone(){return new ct(this.node)}}class lt{constructor(Et){this.parent=null,this.variables=new Map,this.functions=new Map,this.currentFunctionName="",this.id=it++,Et&&(this.parent=Et,this.currentFunctionName=Et.currentFunctionName)}getVariable(Et){var xt;return this.variables.has(Et)?(xt=this.variables.get(Et))!==null&&xt!==void 0?xt:null:this.parent?this.parent.getVariable(Et):null}getFunction(Et){var xt;return this.functions.has(Et)?(xt=this.functions.get(Et))!==null&&xt!==void 0?xt:null:this.parent?this.parent.getFunction(Et):null}createVariable(Et,xt,vt){this.variables.set(Et,new ot(Et,xt,vt??null))}setVariable(Et,xt,vt){const bt=this.getVariable(Et);bt!==null?bt.value=xt:this.createVariable(Et,xt,vt)}getVariableValue(Et){var xt;const vt=this.getVariable(Et);return(xt=vt?.value)!==null&&xt!==void 0?xt:null}clone(){return new lt(this)}}class ut{evalExpression(Et,xt){return null}getTypeInfo(Et){return null}getVariableName(Et,xt){return""}}class ht{constructor(Et){this.exec=Et}getTypeInfo(Et){return this.exec.getTypeInfo(Et)}All(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);let bt=!0;if(vt instanceof Me$1)return vt.data.forEach(At=>{At||(bt=!1)}),new Be$1(bt?1:0,this.getTypeInfo("bool"));throw new Error(`All() expects a vector argument. Line ${Et.line}`)}Any(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1){const bt=vt.data.some(At=>At);return new Be$1(bt?1:0,this.getTypeInfo("bool"))}throw new Error(`Any() expects a vector argument. Line ${Et.line}`)}Select(Et,xt){const vt=this.exec.evalExpression(Et.args[2],xt);if(!(vt instanceof Be$1))throw new Error(`Select() expects a bool condition. Line ${Et.line}`);return vt.value?this.exec.evalExpression(Et.args[1],xt):this.exec.evalExpression(Et.args[0],xt)}ArrayLength(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.evalExpression(vt,xt);if(bt instanceof Pe$1&&bt.typeInfo.size===0){const At=bt.typeInfo,Ft=bt.buffer.byteLength/At.stride;return new Be$1(Ft,this.getTypeInfo("u32"))}return new Be$1(bt.typeInfo.size,this.getTypeInfo("u32"))}Abs(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.abs(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.abs(bt.value),bt.typeInfo)}Acos(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.acos(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.acos(bt.value),vt.typeInfo)}Acosh(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.acosh(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.acosh(bt.value),vt.typeInfo)}Asin(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.asin(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.asin(bt.value),vt.typeInfo)}Asinh(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.asinh(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.asinh(bt.value),vt.typeInfo)}Atan(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.atan(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.atan(bt.value),vt.typeInfo)}Atanh(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.atanh(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.atanh(bt.value),vt.typeInfo)}Atan2(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt);if(vt instanceof Me$1&&bt instanceof Me$1)return new Me$1(vt.data.map((Ct,wt)=>Math.atan2(Ct,bt.data[wt])),vt.typeInfo);const At=vt,Ft=bt;return new Be$1(Math.atan2(At.value,Ft.value),vt.typeInfo)}Ceil(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.ceil(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.ceil(bt.value),vt.typeInfo)}_clamp(Et,xt,vt){return Math.min(Math.max(Et,xt),vt)}Clamp(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt),At=this.exec.evalExpression(Et.args[2],xt);if(vt instanceof Me$1&&bt instanceof Me$1&&At instanceof Me$1)return new Me$1(vt.data.map((St,Tt)=>this._clamp(St,bt.data[Tt],At.data[Tt])),vt.typeInfo);const Ft=vt,Ct=bt,wt=At;return new Be$1(this._clamp(Ft.value,Ct.value,wt.value),vt.typeInfo)}Cos(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.cos(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.cos(bt.value),vt.typeInfo)}Cosh(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.cosh(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.cos(bt.value),vt.typeInfo)}CountLeadingZeros(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.clz32(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.clz32(bt.value),vt.typeInfo)}_countOneBits(Et){let xt=0;for(;Et!==0;)1&Et&&xt++,Et>>=1;return xt}CountOneBits(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>this._countOneBits(At)),vt.typeInfo);const bt=vt;return new Be$1(this._countOneBits(bt.value),vt.typeInfo)}_countTrailingZeros(Et){if(Et===0)return 32;let xt=0;for(;!(1&Et);)Et>>=1,xt++;return xt}CountTrailingZeros(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>this._countTrailingZeros(At)),vt.typeInfo);const bt=vt;return new Be$1(this._countTrailingZeros(bt.value),vt.typeInfo)}Cross(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt);if(vt instanceof Me$1&&bt instanceof Me$1){if(vt.data.length!==3||bt.data.length!==3)return console.error(`Cross() expects 3D vectors. Line ${Et.line}`),null;const At=vt.data,Ft=bt.data;return new Me$1([At[1]*Ft[2]-Ft[1]*At[2],At[2]*Ft[0]-Ft[2]*At[0],At[0]*Ft[1]-Ft[0]*At[1]],vt.typeInfo)}return console.error(`Cross() expects vector arguments. Line ${Et.line}`),null}Degrees(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=180/Math.PI;return vt instanceof Me$1?new Me$1(vt.data.map(At=>At*bt),vt.typeInfo):new Be$1(vt.value*bt,this.getTypeInfo("f32"))}Determinant(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Ue$1){const bt=vt.data,At=vt.typeInfo.getTypeName(),Ft=At.endsWith("h")?this.getTypeInfo("f16"):this.getTypeInfo("f32");if(At==="mat2x2"||At==="mat2x2f"||At==="mat2x2h")return new Be$1(bt[0]*bt[3]-bt[1]*bt[2],Ft);if(At==="mat2x3"||At==="mat2x3f"||At==="mat2x3h")return new Be$1(bt[0]*(bt[4]*bt[8]-bt[5]*bt[7])-bt[1]*(bt[3]*bt[8]-bt[5]*bt[6])+bt[2]*(bt[3]*bt[7]-bt[4]*bt[6]),Ft);if(At==="mat2x4"||At==="mat2x4f"||At==="mat2x4h")console.error(`TODO: Determinant for ${At}`);else if(At==="mat3x2"||At==="mat3x2f"||At==="mat3x2h")console.error(`TODO: Determinant for ${At}`);else{if(At==="mat3x3"||At==="mat3x3f"||At==="mat3x3h")return new Be$1(bt[0]*(bt[4]*bt[8]-bt[5]*bt[7])-bt[1]*(bt[3]*bt[8]-bt[5]*bt[6])+bt[2]*(bt[3]*bt[7]-bt[4]*bt[6]),Ft);At==="mat3x4"||At==="mat3x4f"||At==="mat3x4h"||At==="mat4x2"||At==="mat4x2f"||At==="mat4x2h"||At==="mat4x3"||At==="mat4x3f"||At==="mat4x3h"?console.error(`TODO: Determinant for ${At}`):At!=="mat4x4"&&At!=="mat4x4f"&&At!=="mat4x4h"||console.error(`TODO: Determinant for ${At}`)}}return console.error(`Determinant expects a matrix argument. Line ${Et.line}`),null}Distance(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt);if(vt instanceof Me$1&&bt instanceof Me$1){let Ct=0;for(let wt=0;wt<vt.data.length;++wt)Ct+=(vt.data[wt]-bt.data[wt])*(vt.data[wt]-bt.data[wt]);return new Be$1(Math.sqrt(Ct),this.getTypeInfo("f32"))}const At=vt,Ft=bt;return new Be$1(Math.abs(At.value-Ft.value),vt.typeInfo)}_dot(Et,xt){let vt=0;for(let bt=0;bt<Et.length;++bt)vt+=xt[bt]*Et[bt];return vt}Dot(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt);return vt instanceof Me$1&&bt instanceof Me$1?new Be$1(this._dot(vt.data,bt.data),this.getTypeInfo("f32")):(console.error(`Dot() expects vector arguments. Line ${Et.line}`),null)}Dot4U8Packed(Et,xt){return console.error(`TODO: dot4U8Packed. Line ${Et.line}`),null}Dot4I8Packed(Et,xt){return console.error(`TODO: dot4I8Packed. Line ${Et.line}`),null}Exp(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.exp(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.exp(bt.value),vt.typeInfo)}Exp2(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.pow(2,At)),vt.typeInfo);const bt=vt;return new Be$1(Math.pow(2,bt.value),vt.typeInfo)}ExtractBits(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt),At=this.exec.evalExpression(Et.args[2],xt);if(bt.typeInfo.name!=="u32"&&bt.typeInfo.name!=="x32")return console.error(`ExtractBits() expects an i32 offset argument. Line ${Et.line}`),null;if(At.typeInfo.name!=="u32"&&At.typeInfo.name!=="x32")return console.error(`ExtractBits() expects an i32 count argument. Line ${Et.line}`),null;const Ft=bt.value,Ct=At.value;if(vt instanceof Me$1)return new Me$1(vt.data.map(St=>St>>Ft&(1<<Ct)-1),vt.typeInfo);if(vt.typeInfo.name!=="i32"&&vt.typeInfo.name!=="x32")return console.error(`ExtractBits() expects an i32 argument. Line ${Et.line}`),null;const wt=vt.value;return new Be$1(wt>>Ft&(1<<Ct)-1,this.getTypeInfo("i32"))}FaceForward(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt),At=this.exec.evalExpression(Et.args[2],xt);if(vt instanceof Me$1&&bt instanceof Me$1&&At instanceof Me$1){const Ft=this._dot(bt.data,At.data);return new Me$1(Ft<0?Array.from(vt.data):vt.data.map(Ct=>-Ct),vt.typeInfo)}return console.error(`FaceForward() expects vector arguments. Line ${Et.line}`),null}_firstLeadingBit(Et){return Et===0?-1:31-Math.clz32(Et)}FirstLeadingBit(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>this._firstLeadingBit(At)),vt.typeInfo);const bt=vt;return new Be$1(this._firstLeadingBit(bt.value),vt.typeInfo)}_firstTrailingBit(Et){return Et===0?-1:Math.log2(Et&-Et)}FirstTrailingBit(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>this._firstTrailingBit(At)),vt.typeInfo);const bt=vt;return new Be$1(this._firstTrailingBit(bt.value),vt.typeInfo)}Floor(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.floor(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.floor(bt.value),vt.typeInfo)}Fma(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt),At=this.exec.evalExpression(Et.args[2],xt);if(vt instanceof Me$1&&bt instanceof Me$1&&At instanceof Me$1)return vt.data.length!==bt.data.length||vt.data.length!==At.data.length?(console.error(`Fma() expects vectors of the same length. Line ${Et.line}`),null):new Me$1(vt.data.map((St,Tt)=>St*bt.data[Tt]+At.data[Tt]),vt.typeInfo);const Ft=vt,Ct=bt,wt=At;return new Be$1(Ft.value*Ct.value+wt.value,Ft.typeInfo)}Fract(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>At-Math.floor(At)),vt.typeInfo);const bt=vt;return new Be$1(bt.value-Math.floor(bt.value),vt.typeInfo)}Frexp(Et,xt){return console.error(`TODO: frexp. Line ${Et.line}`),null}InsertBits(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt),At=this.exec.evalExpression(Et.args[2],xt),Ft=this.exec.evalExpression(Et.args[3],xt);if(At.typeInfo.name!=="u32"&&At.typeInfo.name!=="x32")return console.error(`InsertBits() expects an i32 offset argument. Line ${Et.line}`),null;const Ct=At.value,wt=(1<<Ft.value)-1<<Ct,St=~wt;if(vt instanceof Me$1&&bt instanceof Me$1)return new Me$1(vt.data.map((Pt,Lt)=>Pt&St|bt.data[Lt]<<Ct&wt),vt.typeInfo);const Tt=vt.value,Rt=bt.value;return new Be$1(Tt&St|Rt<<Ct&wt,vt.typeInfo)}InverseSqrt(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>1/Math.sqrt(At)),vt.typeInfo);const bt=vt;return new Be$1(1/Math.sqrt(bt.value),vt.typeInfo)}Ldexp(Et,xt){return console.error(`TODO: ldexp. Line ${Et.line}`),null}Length(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1){let At=0;return vt.data.forEach(Ft=>{At+=Ft*Ft}),new Be$1(Math.sqrt(At),this.getTypeInfo("f32"))}const bt=vt;return new Be$1(Math.abs(bt.value),vt.typeInfo)}Log(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.log(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.log(bt.value),vt.typeInfo)}Log2(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.log2(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.log2(bt.value),vt.typeInfo)}Max(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt);if(vt instanceof Me$1&&bt instanceof Me$1)return new Me$1(vt.data.map((Ct,wt)=>Math.max(Ct,bt.data[wt])),vt.typeInfo);const At=vt,Ft=bt;return new Be$1(Math.max(At.value,Ft.value),vt.typeInfo)}Min(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt);if(vt instanceof Me$1&&bt instanceof Me$1)return new Me$1(vt.data.map((Ct,wt)=>Math.min(Ct,bt.data[wt])),vt.typeInfo);const At=vt,Ft=bt;return new Be$1(Math.min(At.value,Ft.value),vt.typeInfo)}Mix(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt),At=this.exec.evalExpression(Et.args[2],xt);if(vt instanceof Me$1&&bt instanceof Me$1&&At instanceof Me$1)return new Me$1(vt.data.map((wt,St)=>vt.data[St]*(1-At.data[St])+bt.data[St]*At.data[St]),vt.typeInfo);const Ft=bt,Ct=At;return new Be$1(vt.value*(1-Ct.value)+Ft.value*Ct.value,vt.typeInfo)}Modf(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt);if(vt instanceof Me$1&&bt instanceof Me$1)return new Me$1(vt.data.map((Ft,Ct)=>Ft%bt.data[Ct]),vt.typeInfo);const At=bt;return new Be$1(vt.value%At.value,vt.typeInfo)}Normalize(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1){const bt=this.Length(Et,xt).value;return new Me$1(vt.data.map(At=>At/bt),vt.typeInfo)}return console.error(`Normalize() expects a vector argument. Line ${Et.line}`),null}Pow(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt);if(vt instanceof Me$1&&bt instanceof Me$1)return new Me$1(vt.data.map((Ct,wt)=>Math.pow(Ct,bt.data[wt])),vt.typeInfo);const At=vt,Ft=bt;return new Be$1(Math.pow(At.value,Ft.value),vt.typeInfo)}QuantizeToF16(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);return vt instanceof Me$1?new Me$1(vt.data.map(bt=>bt),vt.typeInfo):new Be$1(vt.value,vt.typeInfo)}Radians(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);return vt instanceof Me$1?new Me$1(vt.data.map(bt=>bt*Math.PI/180),vt.typeInfo):new Be$1(vt.value*Math.PI/180,this.getTypeInfo("f32"))}Reflect(Et,xt){let vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt);if(vt instanceof Me$1&&bt instanceof Me$1){const At=this._dot(vt.data,bt.data);return new Me$1(vt.data.map((Ft,Ct)=>Ft-2*At*bt.data[Ct]),vt.typeInfo)}return console.error(`Reflect() expects vector arguments. Line ${Et.line}`),null}Refract(Et,xt){let vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt),At=this.exec.evalExpression(Et.args[2],xt);if(vt instanceof Me$1&&bt instanceof Me$1&&At instanceof Be$1){const Ft=this._dot(bt.data,vt.data);return new Me$1(vt.data.map((Ct,wt)=>{const St=1-At.value*At.value*(1-Ft*Ft);if(St<0)return 0;const Tt=Math.sqrt(St);return At.value*Ct-(At.value*Ft+Tt)*bt.data[wt]}),vt.typeInfo)}return console.error(`Refract() expects vector arguments and a scalar argument. Line ${Et.line}`),null}ReverseBits(Et,xt){return console.error(`TODO: reverseBits. Line ${Et.line}`),null}Round(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.round(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.round(bt.value),vt.typeInfo)}Saturate(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.min(Math.max(At,0),1)),vt.typeInfo);const bt=vt;return new Be$1(Math.min(Math.max(bt.value,0),1),vt.typeInfo)}Sign(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.sign(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.sign(bt.value),vt.typeInfo)}Sin(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.sin(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.sin(bt.value),vt.typeInfo)}Sinh(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.sinh(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.sinh(bt.value),vt.typeInfo)}_smoothstep(Et,xt,vt){const bt=Math.min(Math.max((vt-Et)/(xt-Et),0),1);return bt*bt*(3-2*bt)}SmoothStep(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt),At=this.exec.evalExpression(Et.args[2],xt);if(At instanceof Me$1&&vt instanceof Me$1&&bt instanceof Me$1)return new Me$1(At.data.map((St,Tt)=>this._smoothstep(vt.data[Tt],bt.data[Tt],St)),At.typeInfo);const Ft=vt,Ct=bt,wt=At;return new Be$1(this._smoothstep(Ft.value,Ct.value,wt.value),At.typeInfo)}Sqrt(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.sqrt(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.sqrt(bt.value),vt.typeInfo)}Step(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt);if(bt instanceof Me$1&&vt instanceof Me$1)return new Me$1(bt.data.map((Ft,Ct)=>Ft<vt.data[Ct]?0:1),bt.typeInfo);const At=vt;return new Be$1(bt.value<At.value?0:1,At.typeInfo)}Tan(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.tan(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.tan(bt.value),vt.typeInfo)}Tanh(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.tanh(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.tanh(bt.value),vt.typeInfo)}_getTransposeType(Et){const xt=Et.getTypeName();return xt==="mat2x2f"||xt==="mat2x2h"?Et:xt==="mat2x3f"?this.getTypeInfo("mat3x2f"):xt==="mat2x3h"?this.getTypeInfo("mat3x2h"):xt==="mat2x4f"?this.getTypeInfo("mat4x2f"):xt==="mat2x4h"?this.getTypeInfo("mat4x2h"):xt==="mat3x2f"?this.getTypeInfo("mat2x3f"):xt==="mat3x2h"?this.getTypeInfo("mat2x3h"):xt==="mat3x3f"||xt==="mat3x3h"?Et:xt==="mat3x4f"?this.getTypeInfo("mat4x3f"):xt==="mat3x4h"?this.getTypeInfo("mat4x3h"):xt==="mat4x2f"?this.getTypeInfo("mat2x4f"):xt==="mat4x2h"?this.getTypeInfo("mat2x4h"):xt==="mat4x3f"?this.getTypeInfo("mat3x4f"):xt==="mat4x3h"?this.getTypeInfo("mat3x4h"):(xt==="mat4x4f"||xt==="mat4x4h"||console.error(`Invalid matrix type ${xt}`),Et)}Transpose(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(!(vt instanceof Ue$1))return console.error(`Transpose() expects a matrix argument. Line ${Et.line}`),null;const bt=this._getTransposeType(vt.typeInfo);if(vt.typeInfo.name==="mat2x2"||vt.typeInfo.name==="mat2x2f"||vt.typeInfo.name==="mat2x2h"){const At=vt.data;return new Ue$1([At[0],At[2],At[1],At[3]],bt)}if(vt.typeInfo.name==="mat2x3"||vt.typeInfo.name==="mat2x3f"||vt.typeInfo.name==="mat2x3h"){const At=vt.data;return new Ue$1([At[0],At[3],At[6],At[1],At[4],At[7]],bt)}if(vt.typeInfo.name==="mat2x4"||vt.typeInfo.name==="mat2x4f"||vt.typeInfo.name==="mat2x4h"){const At=vt.data;return new Ue$1([At[0],At[4],At[8],At[12],At[1],At[5],At[9],At[13]],bt)}if(vt.typeInfo.name==="mat3x2"||vt.typeInfo.name==="mat3x2f"||vt.typeInfo.name==="mat3x2h"){const At=vt.data;return new Ue$1([At[0],At[3],At[1],At[4],At[2],At[5]],bt)}if(vt.typeInfo.name==="mat3x3"||vt.typeInfo.name==="mat3x3f"||vt.typeInfo.name==="mat3x3h"){const At=vt.data;return new Ue$1([At[0],At[3],At[6],At[1],At[4],At[7],At[2],At[5],At[8]],bt)}if(vt.typeInfo.name==="mat3x4"||vt.typeInfo.name==="mat3x4f"||vt.typeInfo.name==="mat3x4h"){const At=vt.data;return new Ue$1([At[0],At[4],At[8],At[12],At[1],At[5],At[9],At[13],At[2],At[6],At[10],At[14]],bt)}if(vt.typeInfo.name==="mat4x2"||vt.typeInfo.name==="mat4x2f"||vt.typeInfo.name==="mat4x2h"){const At=vt.data;return new Ue$1([At[0],At[4],At[1],At[5],At[2],At[6]],bt)}if(vt.typeInfo.name==="mat4x3"||vt.typeInfo.name==="mat4x3f"||vt.typeInfo.name==="mat4x3h"){const At=vt.data;return new Ue$1([At[0],At[4],At[8],At[1],At[5],At[9],At[2],At[6],At[10]],bt)}if(vt.typeInfo.name==="mat4x4"||vt.typeInfo.name==="mat4x4f"||vt.typeInfo.name==="mat4x4h"){const At=vt.data;return new Ue$1([At[0],At[4],At[8],At[12],At[1],At[5],At[9],At[13],At[2],At[6],At[10],At[14],At[3],At[7],At[11],At[15]],bt)}return console.error(`Invalid matrix type ${vt.typeInfo.name}`),null}Trunc(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.trunc(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.trunc(bt.value),vt.typeInfo)}Dpdx(Et,xt){return console.error(`TODO: dpdx. Line ${Et.line}`),null}DpdxCoarse(Et,xt){return console.error(`TODO: dpdxCoarse. Line ${Et.line}`),null}DpdxFine(Et,xt){return console.error("TODO: dpdxFine"),null}Dpdy(Et,xt){return console.error("TODO: dpdy"),null}DpdyCoarse(Et,xt){return console.error("TODO: dpdyCoarse"),null}DpdyFine(Et,xt){return console.error("TODO: dpdyFine"),null}Fwidth(Et,xt){return console.error("TODO: fwidth"),null}FwidthCoarse(Et,xt){return console.error("TODO: fwidthCoarse"),null}FwidthFine(Et,xt){return console.error("TODO: fwidthFine"),null}TextureDimensions(Et,xt){const vt=Et.args[0],bt=Et.args.length>1?this.exec.evalExpression(Et.args[1],xt).value:0;if(vt instanceof ge$1){const At=vt.name,Ft=xt.getVariableValue(At);if(Ft instanceof We$1){if(bt<0||bt>=Ft.mipLevelCount)return console.error(`Invalid mip level for textureDimensions. Line ${Et.line}`),null;const Ct=Ft.getMipLevelSize(bt),wt=Ft.dimension;return wt==="1d"?new Be$1(Ct[0],this.getTypeInfo("u32")):wt==="3d"?new Me$1(Ct,this.getTypeInfo("vec3u")):wt==="2d"?new Me$1(Ct.slice(0,2),this.getTypeInfo("vec2u")):(console.error(`Invalid texture dimension ${wt} not found. Line ${Et.line}`),null)}return console.error(`Texture ${At} not found. Line ${Et.line}`),null}return console.error(`Invalid texture argument for textureDimensions. Line ${Et.line}`),null}TextureGather(Et,xt){return console.error("TODO: textureGather"),null}TextureGatherCompare(Et,xt){return console.error("TODO: textureGatherCompare"),null}TextureLoad(Et,xt){const vt=Et.args[0],bt=this.exec.evalExpression(Et.args[1],xt),At=Et.args.length>2?this.exec.evalExpression(Et.args[2],xt).value:0;if(!(bt instanceof Me$1)||bt.data.length!==2)return console.error(`Invalid UV argument for textureLoad. Line ${Et.line}`),null;if(vt instanceof ge$1){const Ft=vt.name,Ct=xt.getVariableValue(Ft);if(Ct instanceof We$1){const wt=Math.floor(bt.data[0]),St=Math.floor(bt.data[1]);if(wt<0||wt>=Ct.width||St<0||St>=Ct.height)return console.error(`Texture ${Ft} out of bounds. Line ${Et.line}`),null;const Tt=Ct.getPixel(wt,St,0,At);return Tt===null?(console.error(`Invalid texture format for textureLoad. Line ${Et.line}`),null):new Me$1(Tt,this.getTypeInfo("vec4f"))}return console.error(`Texture ${Ft} not found. Line ${Et.line}`),null}return console.error(`Invalid texture argument for textureLoad. Line ${Et.line}`),null}TextureNumLayers(Et,xt){const vt=Et.args[0];if(vt instanceof ge$1){const bt=vt.name,At=xt.getVariableValue(bt);return At instanceof We$1?new Be$1(At.depthOrArrayLayers,this.getTypeInfo("u32")):(console.error(`Texture ${bt} not found. Line ${Et.line}`),null)}return console.error(`Invalid texture argument for textureNumLayers. Line ${Et.line}`),null}TextureNumLevels(Et,xt){const vt=Et.args[0];if(vt instanceof ge$1){const bt=vt.name,At=xt.getVariableValue(bt);return At instanceof We$1?new Be$1(At.mipLevelCount,this.getTypeInfo("u32")):(console.error(`Texture ${bt} not found. Line ${Et.line}`),null)}return console.error(`Invalid texture argument for textureNumLevels. Line ${Et.line}`),null}TextureNumSamples(Et,xt){const vt=Et.args[0];if(vt instanceof ge$1){const bt=vt.name,At=xt.getVariableValue(bt);return At instanceof We$1?new Be$1(At.sampleCount,this.getTypeInfo("u32")):(console.error(`Texture ${bt} not found. Line ${Et.line}`),null)}return console.error(`Invalid texture argument for textureNumSamples. Line ${Et.line}`),null}TextureSample(Et,xt){return console.error("TODO: textureSample"),null}TextureSampleBias(Et,xt){return console.error("TODO: textureSampleBias"),null}TextureSampleCompare(Et,xt){return console.error("TODO: textureSampleCompare"),null}TextureSampleCompareLevel(Et,xt){return console.error("TODO: textureSampleCompareLevel"),null}TextureSampleGrad(Et,xt){return console.error("TODO: textureSampleGrad"),null}TextureSampleLevel(Et,xt){return console.error("TODO: textureSampleLevel"),null}TextureSampleBaseClampToEdge(Et,xt){return console.error("TODO: textureSampleBaseClampToEdge"),null}TextureStore(Et,xt){const vt=Et.args[0],bt=this.exec.evalExpression(Et.args[1],xt),At=Et.args.length===4?this.exec.evalExpression(Et.args[2],xt).value:0,Ft=Et.args.length===4?this.exec.evalExpression(Et.args[3],xt).data:this.exec.evalExpression(Et.args[2],xt).data;if(Ft.length!==4)return console.error(`Invalid value argument for textureStore. Line ${Et.line}`),null;if(!(bt instanceof Me$1)||bt.data.length!==2)return console.error(`Invalid UV argument for textureStore. Line ${Et.line}`),null;if(vt instanceof ge$1){const Ct=vt.name,wt=xt.getVariableValue(Ct);if(wt instanceof We$1){const St=wt.getMipLevelSize(0),Tt=Math.floor(bt.data[0]),Rt=Math.floor(bt.data[1]);return Tt<0||Tt>=St[0]||Rt<0||Rt>=St[1]?(console.error(`Texture ${Ct} out of bounds. Line ${Et.line}`),null):(wt.setPixel(Tt,Rt,0,At,Array.from(Ft)),null)}return console.error(`Texture ${Ct} not found. Line ${Et.line}`),null}return console.error(`Invalid texture argument for textureStore. Line ${Et.line}`),null}AtomicLoad(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.getVariableName(vt,xt);return xt.getVariable(bt).value.getSubData(this.exec,vt.postfix,xt)}AtomicStore(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.getVariableName(vt,xt),At=xt.getVariable(bt);let Ft=Et.args[1];const Ct=this.exec.evalExpression(Ft,xt),wt=At.value.getSubData(this.exec,vt.postfix,xt);return wt instanceof Be$1&&Ct instanceof Be$1&&(wt.value=Ct.value),At.value instanceof Pe$1&&At.value.setDataValue(this.exec,wt,vt.postfix,xt),null}AtomicAdd(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.getVariableName(vt,xt),At=xt.getVariable(bt);let Ft=Et.args[1];const Ct=this.exec.evalExpression(Ft,xt),wt=At.value.getSubData(this.exec,vt.postfix,xt),St=new Be$1(wt.value,wt.typeInfo);return wt instanceof Be$1&&Ct instanceof Be$1&&(wt.value+=Ct.value),At.value instanceof Pe$1&&At.value.setDataValue(this.exec,wt,vt.postfix,xt),St}AtomicSub(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.getVariableName(vt,xt),At=xt.getVariable(bt);let Ft=Et.args[1];const Ct=this.exec.evalExpression(Ft,xt),wt=At.value.getSubData(this.exec,vt.postfix,xt),St=new Be$1(wt.value,wt.typeInfo);return wt instanceof Be$1&&Ct instanceof Be$1&&(wt.value-=Ct.value),At.value instanceof Pe$1&&At.value.setDataValue(this.exec,wt,vt.postfix,xt),St}AtomicMax(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.getVariableName(vt,xt),At=xt.getVariable(bt);let Ft=Et.args[1];const Ct=this.exec.evalExpression(Ft,xt),wt=At.value.getSubData(this.exec,vt.postfix,xt),St=new Be$1(wt.value,wt.typeInfo);return wt instanceof Be$1&&Ct instanceof Be$1&&(wt.value=Math.max(wt.value,Ct.value)),At.value instanceof Pe$1&&At.value.setDataValue(this.exec,wt,vt.postfix,xt),St}AtomicMin(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.getVariableName(vt,xt),At=xt.getVariable(bt);let Ft=Et.args[1];const Ct=this.exec.evalExpression(Ft,xt),wt=At.value.getSubData(this.exec,vt.postfix,xt),St=new Be$1(wt.value,wt.typeInfo);return wt instanceof Be$1&&Ct instanceof Be$1&&(wt.value=Math.min(wt.value,Ct.value)),At.value instanceof Pe$1&&At.value.setDataValue(this.exec,wt,vt.postfix,xt),St}AtomicAnd(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.getVariableName(vt,xt),At=xt.getVariable(bt);let Ft=Et.args[1];const Ct=this.exec.evalExpression(Ft,xt),wt=At.value.getSubData(this.exec,vt.postfix,xt),St=new Be$1(wt.value,wt.typeInfo);return wt instanceof Be$1&&Ct instanceof Be$1&&(wt.value=wt.value&Ct.value),At.value instanceof Pe$1&&At.value.setDataValue(this.exec,wt,vt.postfix,xt),St}AtomicOr(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.getVariableName(vt,xt),At=xt.getVariable(bt);let Ft=Et.args[1];const Ct=this.exec.evalExpression(Ft,xt),wt=At.value.getSubData(this.exec,vt.postfix,xt),St=new Be$1(wt.value,wt.typeInfo);return wt instanceof Be$1&&Ct instanceof Be$1&&(wt.value=wt.value|Ct.value),At.value instanceof Pe$1&&At.value.setDataValue(this.exec,wt,vt.postfix,xt),St}AtomicXor(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.getVariableName(vt,xt),At=xt.getVariable(bt);let Ft=Et.args[1];const Ct=this.exec.evalExpression(Ft,xt),wt=At.value.getSubData(this.exec,vt.postfix,xt),St=new Be$1(wt.value,wt.typeInfo);return wt instanceof Be$1&&Ct instanceof Be$1&&(wt.value=wt.value^Ct.value),At.value instanceof Pe$1&&At.value.setDataValue(this.exec,wt,vt.postfix,xt),St}AtomicExchange(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.getVariableName(vt,xt),At=xt.getVariable(bt);let Ft=Et.args[1];const Ct=this.exec.evalExpression(Ft,xt),wt=At.value.getSubData(this.exec,vt.postfix,xt),St=new Be$1(wt.value,wt.typeInfo);return wt instanceof Be$1&&Ct instanceof Be$1&&(wt.value=Ct.value),At.value instanceof Pe$1&&At.value.setDataValue(this.exec,wt,vt.postfix,xt),St}AtomicCompareExchangeWeak(Et,xt){return console.error("TODO: atomicCompareExchangeWeak"),null}Pack4x8snorm(Et,xt){return console.error("TODO: pack4x8snorm"),null}Pack4x8unorm(Et,xt){return console.error("TODO: pack4x8unorm"),null}Pack4xI8(Et,xt){return console.error("TODO: pack4xI8"),null}Pack4xU8(Et,xt){return console.error("TODO: pack4xU8"),null}Pack4x8Clamp(Et,xt){return console.error("TODO: pack4x8Clamp"),null}Pack4xU8Clamp(Et,xt){return console.error("TODO: pack4xU8Clamp"),null}Pack2x16snorm(Et,xt){return console.error("TODO: pack2x16snorm"),null}Pack2x16unorm(Et,xt){return console.error("TODO: pack2x16unorm"),null}Pack2x16float(Et,xt){return console.error("TODO: pack2x16float"),null}Unpack4x8snorm(Et,xt){return console.error("TODO: unpack4x8snorm"),null}Unpack4x8unorm(Et,xt){return console.error("TODO: unpack4x8unorm"),null}Unpack4xI8(Et,xt){return console.error("TODO: unpack4xI8"),null}Unpack4xU8(Et,xt){return console.error("TODO: unpack4xU8"),null}Unpack2x16snorm(Et,xt){return console.error("TODO: unpack2x16snorm"),null}Unpack2x16unorm(Et,xt){return console.error("TODO: unpack2x16unorm"),null}Unpack2x16float(Et,xt){return console.error("TODO: unpack2x16float"),null}StorageBarrier(Et,xt){return null}TextureBarrier(Et,xt){return null}WorkgroupBarrier(Et,xt){return null}WorkgroupUniformLoad(Et,xt){return null}SubgroupAdd(Et,xt){return console.error("TODO: subgroupAdd"),null}SubgroupExclusiveAdd(Et,xt){return console.error("TODO: subgroupExclusiveAdd"),null}SubgroupInclusiveAdd(Et,xt){return console.error("TODO: subgroupInclusiveAdd"),null}SubgroupAll(Et,xt){return console.error("TODO: subgroupAll"),null}SubgroupAnd(Et,xt){return console.error("TODO: subgroupAnd"),null}SubgroupAny(Et,xt){return console.error("TODO: subgroupAny"),null}SubgroupBallot(Et,xt){return console.error("TODO: subgroupBallot"),null}SubgroupBroadcast(Et,xt){return console.error("TODO: subgroupBroadcast"),null}SubgroupBroadcastFirst(Et,xt){return console.error("TODO: subgroupBroadcastFirst"),null}SubgroupElect(Et,xt){return console.error("TODO: subgroupElect"),null}SubgroupMax(Et,xt){return console.error("TODO: subgroupMax"),null}SubgroupMin(Et,xt){return console.error("TODO: subgroupMin"),null}SubgroupMul(Et,xt){return console.error("TODO: subgroupMul"),null}SubgroupExclusiveMul(Et,xt){return console.error("TODO: subgroupExclusiveMul"),null}SubgroupInclusiveMul(Et,xt){return console.error("TODO: subgroupInclusiveMul"),null}SubgroupOr(Et,xt){return console.error("TODO: subgroupOr"),null}SubgroupShuffle(Et,xt){return console.error("TODO: subgroupShuffle"),null}SubgroupShuffleDown(Et,xt){return console.error("TODO: subgroupShuffleDown"),null}SubgroupShuffleUp(Et,xt){return console.error("TODO: subgroupShuffleUp"),null}SubgroupShuffleXor(Et,xt){return console.error("TODO: subgroupShuffleXor"),null}SubgroupXor(Et,xt){return console.error("TODO: subgroupXor"),null}QuadBroadcast(Et,xt){return console.error("TODO: quadBroadcast"),null}QuadSwapDiagonal(Et,xt){return console.error("TODO: quadSwapDiagonal"),null}QuadSwapX(Et,xt){return console.error("TODO: quadSwapX"),null}QuadSwapY(Et,xt){return console.error("TODO: quadSwapY"),null}}const ft={vec2:2,vec2f:2,vec2i:2,vec2u:2,vec2b:2,vec2h:2,vec3:3,vec3f:3,vec3i:3,vec3u:3,vec3b:3,vec3h:3,vec4:4,vec4f:4,vec4i:4,vec4u:4,vec4b:4,vec4h:4},pt={mat2x2:[2,2,4],mat2x2f:[2,2,4],mat2x2h:[2,2,4],mat2x3:[2,3,6],mat2x3f:[2,3,6],mat2x3h:[2,3,6],mat2x4:[2,4,8],mat2x4f:[2,4,8],mat2x4h:[2,4,8],mat3x2:[3,2,6],mat3x2f:[3,2,6],mat3x2h:[3,2,6],mat3x3:[3,3,9],mat3x3f:[3,3,9],mat3x3h:[3,3,9],mat3x4:[3,4,12],mat3x4f:[3,4,12],mat3x4h:[3,4,12],mat4x2:[4,2,8],mat4x2f:[4,2,8],mat4x2h:[4,2,8],mat4x3:[4,3,12],mat4x3f:[4,3,12],mat4x3h:[4,3,12],mat4x4:[4,4,16],mat4x4f:[4,4,16],mat4x4h:[4,4,16]};class dt extends ut{constructor(Et,xt){var vt;super(),this.ast=Et??[],this.reflection=new at,this.reflection.updateAST(this.ast),this.context=(vt=xt?.clone())!==null&&vt!==void 0?vt:new lt,this.builtins=new ht(this),this.typeInfo={bool:this.getTypeInfo(ae$1.bool),i32:this.getTypeInfo(ae$1.i32),u32:this.getTypeInfo(ae$1.u32),f32:this.getTypeInfo(ae$1.f32),f16:this.getTypeInfo(ae$1.f16),vec2f:this.getTypeInfo(ce$1.vec2f),vec2u:this.getTypeInfo(ce$1.vec2u),vec2i:this.getTypeInfo(ce$1.vec2i),vec2h:this.getTypeInfo(ce$1.vec2h),vec3f:this.getTypeInfo(ce$1.vec3f),vec3u:this.getTypeInfo(ce$1.vec3u),vec3i:this.getTypeInfo(ce$1.vec3i),vec3h:this.getTypeInfo(ce$1.vec3h),vec4f:this.getTypeInfo(ce$1.vec4f),vec4u:this.getTypeInfo(ce$1.vec4u),vec4i:this.getTypeInfo(ce$1.vec4i),vec4h:this.getTypeInfo(ce$1.vec4h),mat2x2f:this.getTypeInfo(ce$1.mat2x2f),mat2x3f:this.getTypeInfo(ce$1.mat2x3f),mat2x4f:this.getTypeInfo(ce$1.mat2x4f),mat3x2f:this.getTypeInfo(ce$1.mat3x2f),mat3x3f:this.getTypeInfo(ce$1.mat3x3f),mat3x4f:this.getTypeInfo(ce$1.mat3x4f),mat4x2f:this.getTypeInfo(ce$1.mat4x2f),mat4x3f:this.getTypeInfo(ce$1.mat4x3f),mat4x4f:this.getTypeInfo(ce$1.mat4x4f)}}getVariableValue(Et){var xt,vt;const bt=(vt=(xt=this.context.getVariable(Et))===null||xt===void 0?void 0:xt.value)!==null&&vt!==void 0?vt:null;if(bt===null)return null;if(bt instanceof Be$1)return bt.value;if(bt instanceof Me$1||bt instanceof Ue$1)return Array.from(bt.data);if(bt instanceof Pe$1&&bt.typeInfo instanceof s){if(bt.typeInfo.format.name==="u32")return Array.from(new Uint32Array(bt.buffer,bt.offset,bt.typeInfo.count));if(bt.typeInfo.format.name==="i32")return Array.from(new Int32Array(bt.buffer,bt.offset,bt.typeInfo.count));if(bt.typeInfo.format.name==="f32")return Array.from(new Float32Array(bt.buffer,bt.offset,bt.typeInfo.count))}return console.error(`Unsupported return variable type ${bt.typeInfo.name}`),null}execute(Et){(Et=Et??{}).constants&&this._setOverrides(Et.constants,this.context),this._execStatements(this.ast,this.context)}dispatchWorkgroups(Et,xt,vt,bt){const At=this.context.clone();(bt=bt??{}).constants&&this._setOverrides(bt.constants,At),this._execStatements(this.ast,At);const Ft=At.getFunction(Et);if(!Ft)return void console.error(`Function ${Et} not found`);if(typeof xt=="number")xt=[xt,1,1];else{if(xt.length===0)return void console.error("Invalid dispatch count");xt.length===1?xt=[xt[0],1,1]:xt.length===2?xt=[xt[0],xt[1],1]:xt.length>3&&(xt=[xt[0],xt[1],xt[2]])}const Ct=xt[0],wt=xt[1],St=xt[2],Tt=this.getTypeInfo("vec3u");At.setVariable("@num_workgroups",new Me$1(xt,Tt));const Rt=this.reflection.getFunctionInfo(Et);Rt===null&&console.error(`Function ${Et} not found in reflection data`);for(const Pt in vt)for(const Lt in vt[Pt]){const kt=vt[Pt][Lt];At.variables.forEach(Ot=>{var Mt;const It=Ot.node;if(It?.attributes){let Nt=null,Ut=null;for(const jt of It.attributes)jt.name==="binding"?Nt=jt.value:jt.name==="group"&&(Ut=jt.value);if(Lt==Nt&&Pt==Ut){let jt=!1;for(const Vt of Rt.resources)if(Vt.name===Ot.name&&Vt.group===parseInt(Pt)&&Vt.binding===parseInt(Lt)){jt=!0;break}if(jt)if(kt.texture!==void 0&&kt.descriptor!==void 0){const Vt=new We$1(kt.texture,this.getTypeInfo(It.type),kt.descriptor,(Mt=kt.texture.view)!==null&&Mt!==void 0?Mt:null);Ot.value=Vt}else kt.uniform!==void 0?Ot.value=new Pe$1(kt.uniform,this.getTypeInfo(It.type)):Ot.value=new Pe$1(kt,this.getTypeInfo(It.type))}}})}for(let Pt=0;Pt<St;++Pt)for(let Lt=0;Lt<wt;++Lt)for(let kt=0;kt<Ct;++kt)At.setVariable("@workgroup_id",new Me$1([kt,Lt,Pt],this.getTypeInfo("vec3u"))),this._dispatchWorkgroup(Ft,[kt,Lt,Pt],At)}execStatement(Et,xt){if(Et instanceof Y)return this.evalExpression(Et.value,xt);if(Et instanceof se$1){if(Et.condition){const vt=this.evalExpression(Et.condition,xt);if(!(vt instanceof Be$1))throw new Error("Invalid break-if condition");if(!vt.value)return null}return dt._breakObj}if(Et instanceof re$1)return dt._continueObj;if(Et instanceof U$1)this._let(Et,xt);else if(Et instanceof F$1)this._var(Et,xt);else if(Et instanceof P$1)this._const(Et,xt);else if(Et instanceof D$1)this._function(Et,xt);else{if(Et instanceof Q$1)return this._if(Et,xt);if(Et instanceof Z)return this._switch(Et,xt);if(Et instanceof B$1)return this._for(Et,xt);if(Et instanceof V$1)return this._while(Et,xt);if(Et instanceof j$1)return this._loop(Et,xt);if(Et instanceof O){const vt=xt.clone();return vt.currentFunctionName=xt.currentFunctionName,this._execStatements(Et.body,vt)}if(Et instanceof G$1)this._assign(Et,xt);else if(Et instanceof R$1)this._increment(Et,xt);else{if(Et instanceof oe$1)return null;if(Et instanceof M$1){const vt=Et.name;xt.getVariable(vt)===null&&xt.setVariable(vt,new Be$1(0,this.getTypeInfo("u32")))}else if(Et instanceof X$1)this._call(Et,xt);else{if(Et instanceof ee||Et instanceof te)return null;console.error("Invalid statement type.",Et,`Line ${Et.line}`)}}}return null}evalExpression(Et,xt){return Et instanceof Ie$1?this._evalBinaryOp(Et,xt):Et instanceof xe?this._evalLiteral(Et,xt):Et instanceof ge$1?this._evalVariable(Et,xt):Et instanceof me$1?this._evalCall(Et,xt):Et instanceof de$1?this._evalCreate(Et,xt):Et instanceof _e$1?this._evalConst(Et,xt):Et instanceof ye$1?this._evalBitcast(Et,xt):Et instanceof ke$1?this._evalUnaryOp(Et,xt):(console.error("Invalid expression type",Et,`Line ${Et.line}`),null)}getTypeInfo(Et){var xt;if(Et instanceof ae$1){const bt=this.reflection.getTypeInfo(Et);if(bt!==null)return bt}let vt=(xt=this.typeInfo[Et])!==null&&xt!==void 0?xt:null;return vt!==null||(vt=this.reflection.getTypeInfoByName(Et)),vt}_setOverrides(Et,xt){for(const vt in Et){const bt=Et[vt],At=this.reflection.getOverrideInfo(vt);At!==null?(At.type===null&&(At.type=this.getTypeInfo("u32")),At.type.name==="u32"||At.type.name==="i32"||At.type.name==="f32"||At.type.name==="f16"?xt.setVariable(vt,new Be$1(bt,At.type)):At.type.name==="bool"?xt.setVariable(vt,new Be$1(bt?1:0,At.type)):At.type.name==="vec2"||At.type.name==="vec3"||At.type.name==="vec4"||At.type.name==="vec2f"||At.type.name==="vec3f"||At.type.name==="vec4f"||At.type.name==="vec2i"||At.type.name==="vec3i"||At.type.name==="vec4i"||At.type.name==="vec2u"||At.type.name==="vec3u"||At.type.name==="vec4u"||At.type.name==="vec2h"||At.type.name==="vec3h"||At.type.name==="vec4h"?xt.setVariable(vt,new Me$1(bt,At.type)):console.error(`Invalid constant type for ${vt}`)):console.error(`Override ${vt} does not exist in the shader.`)}}_dispatchWorkgroup(Et,xt,vt){const bt=[1,1,1];for(const Tt of Et.node.attributes)if(Tt.name==="workgroup_size"){if(Tt.value.length>0){const Rt=vt.getVariableValue(Tt.value[0]);bt[0]=Rt instanceof Be$1?Rt.value:parseInt(Tt.value[0])}if(Tt.value.length>1){const Rt=vt.getVariableValue(Tt.value[1]);bt[1]=Rt instanceof Be$1?Rt.value:parseInt(Tt.value[1])}if(Tt.value.length>2){const Rt=vt.getVariableValue(Tt.value[2]);bt[2]=Rt instanceof Be$1?Rt.value:parseInt(Tt.value[2])}}const At=this.getTypeInfo("vec3u"),Ft=this.getTypeInfo("u32");vt.setVariable("@workgroup_size",new Me$1(bt,At));const Ct=bt[0],wt=bt[1],St=bt[2];for(let Tt=0,Rt=0;Tt<St;++Tt)for(let Pt=0;Pt<wt;++Pt)for(let Lt=0;Lt<Ct;++Lt,++Rt){const kt=[Lt,Pt,Tt],Ot=[Lt+xt[0]*bt[0],Pt+xt[1]*bt[1],Tt+xt[2]*bt[2]];vt.setVariable("@local_invocation_id",new Me$1(kt,At)),vt.setVariable("@global_invocation_id",new Me$1(Ot,At)),vt.setVariable("@local_invocation_index",new Be$1(Rt,Ft)),this._dispatchExec(Et,vt)}}_dispatchExec(Et,xt){for(const vt of Et.node.args)for(const bt of vt.attributes)if(bt.name==="builtin"){const At=`@${bt.value}`,Ft=xt.getVariable(At);Ft!==void 0&&xt.variables.set(vt.name,Ft)}this._execStatements(Et.node.body,xt)}getVariableName(Et,xt){for(;Et instanceof ke$1;)Et=Et.right;return Et instanceof ge$1?Et.name:(console.error("Unknown variable type",Et,"Line",Et.line),null)}_execStatements(Et,xt){for(const vt of Et){if(vt instanceof Array){const At=xt.clone(),Ft=this._execStatements(vt,At);if(Ft)return Ft;continue}const bt=this.execStatement(vt,xt);if(bt)return bt}return null}_call(Et,xt){const vt=xt.clone();vt.currentFunctionName=Et.name;const bt=xt.getFunction(Et.name);if(bt){for(let At=0;At<bt.node.args.length;++At){const Ft=bt.node.args[At],Ct=this.evalExpression(Et.args[At],vt);vt.setVariable(Ft.name,Ct,Ft)}this._execStatements(bt.node.body,vt)}else Et.isBuiltin?this._callBuiltinFunction(Et,vt):this.getTypeInfo(Et.name)&&this._evalCreate(Et,xt)}_increment(Et,xt){const vt=this.getVariableName(Et.variable,xt),bt=xt.getVariable(vt);bt?Et.operator==="++"?bt.value instanceof Be$1?bt.value.value++:console.error(`Variable ${vt} is not a scalar. Line ${Et.line}`):Et.operator==="--"?bt.value instanceof Be$1?bt.value.value--:console.error(`Variable ${vt} is not a scalar. Line ${Et.line}`):console.error(`Unknown increment operator ${Et.operator}. Line ${Et.line}`):console.error(`Variable ${vt} not found. Line ${Et.line}`)}_getVariableData(Et,xt){if(Et instanceof ge$1){const vt=this.getVariableName(Et,xt),bt=xt.getVariable(vt);return bt===null?(console.error(`Variable ${vt} not found. Line ${Et.line}`),null):bt.value.getSubData(this,Et.postfix,xt)}if(Et instanceof ke$1){if(Et.operator==="*"){const vt=this._getVariableData(Et.right,xt);return vt instanceof Oe$1?vt.reference.getSubData(this,Et.postfix,xt):(console.error(`Variable ${Et.right} is not a pointer. Line ${Et.line}`),null)}if(Et.operator==="&"){const vt=this._getVariableData(Et.right,xt);return new Oe$1(vt)}}return null}_assign(Et,xt){let vt=null,bt="<var>",At=null;if(Et.variable instanceof ke$1){const wt=this._getVariableData(Et.variable,xt),St=this.evalExpression(Et.value,xt),Tt=Et.operator;if(Tt==="="){if(wt instanceof Be$1||wt instanceof Me$1||wt instanceof Ue$1){if(St instanceof Be$1||St instanceof Me$1||St instanceof Ue$1&&wt.data.length===St.data.length)return void wt.data.set(St.data);console.error(`Invalid assignment. Line ${Et.line}`)}else if(wt instanceof Pe$1&&St instanceof Pe$1&&wt.buffer.byteLength-wt.offset>=St.buffer.byteLength-St.offset)return void(wt.buffer.byteLength%4==0?new Uint32Array(wt.buffer,wt.offset,wt.typeInfo.size/4).set(new Uint32Array(St.buffer,St.offset,St.typeInfo.size/4)):new Uint8Array(wt.buffer,wt.offset,wt.typeInfo.size).set(new Uint8Array(St.buffer,St.offset,St.typeInfo.size)));return console.error(`Invalid assignment. Line ${Et.line}`),null}if(Tt==="+=")return wt instanceof Be$1||wt instanceof Me$1||wt instanceof Ue$1?St instanceof Be$1||St instanceof Me$1||St instanceof Ue$1?void wt.data.set(St.data.map((Rt,Pt)=>wt.data[Pt]+Rt)):void console.error(`Invalid assignment . Line ${Et.line}`):void console.error(`Invalid assignment. Line ${Et.line}`);if(Tt==="-=")return(wt instanceof Be$1||wt instanceof Me$1||wt instanceof Ue$1)&&(St instanceof Be$1||St instanceof Me$1||St instanceof Ue$1)?void wt.data.set(St.data.map((Rt,Pt)=>wt.data[Pt]-Rt)):void console.error(`Invalid assignment. Line ${Et.line}`)}if(Et.variable instanceof ke$1){if(Et.variable.operator==="*"){bt=this.getVariableName(Et.variable.right,xt);const wt=xt.getVariable(bt);if(!(wt&&wt.value instanceof Oe$1))return void console.error(`Variable ${bt} is not a pointer. Line ${Et.line}`);vt=wt.value.reference;let St=Et.variable.postfix;if(!St){let Tt=Et.variable.right;for(;Tt instanceof ke$1;){if(Tt.postfix){St=Tt.postfix;break}Tt=Tt.right}}St&&(vt=vt.getSubData(this,St,xt))}}else{At=Et.variable.postfix,bt=this.getVariableName(Et.variable,xt);const wt=xt.getVariable(bt);if(wt===null)return void console.error(`Variable ${bt} not found. Line ${Et.line}`);vt=wt.value}if(vt instanceof Oe$1&&(vt=vt.reference),vt===null)return void console.error(`Variable ${bt} not found. Line ${Et.line}`);const Ft=this.evalExpression(Et.value,xt),Ct=Et.operator;if(Ct!=="="){const wt=vt.getSubData(this,At,xt);if(wt instanceof Me$1&&Ft instanceof Be$1){const St=wt.data,Tt=Ft.value;if(Ct==="+=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]+=Tt;else if(Ct==="-=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]-=Tt;else if(Ct==="*=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]*=Tt;else if(Ct==="/=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]/=Tt;else if(Ct==="%=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]%=Tt;else if(Ct==="&=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]&=Tt;else if(Ct==="|=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]|=Tt;else if(Ct==="^=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]^=Tt;else if(Ct==="<<=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]<<=Tt;else if(Ct===">>=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]>>=Tt;else console.error(`Invalid operator ${Ct}. Line ${Et.line}`)}else if(wt instanceof Me$1&&Ft instanceof Me$1){const St=wt.data,Tt=Ft.data;if(St.length!==Tt.length)return void console.error(`Vector length mismatch. Line ${Et.line}`);if(Ct==="+=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]+=Tt[Rt];else if(Ct==="-=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]-=Tt[Rt];else if(Ct==="*=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]*=Tt[Rt];else if(Ct==="/=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]/=Tt[Rt];else if(Ct==="%=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]%=Tt[Rt];else if(Ct==="&=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]&=Tt[Rt];else if(Ct==="|=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]|=Tt[Rt];else if(Ct==="^=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]^=Tt[Rt];else if(Ct==="<<=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]<<=Tt[Rt];else if(Ct===">>=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]>>=Tt[Rt];else console.error(`Invalid operator ${Ct}. Line ${Et.line}`)}else{if(!(wt instanceof Be$1&&Ft instanceof Be$1))return void console.error(`Invalid type for ${Et.operator} operator. Line ${Et.line}`);Ct==="+="?wt.value+=Ft.value:Ct==="-="?wt.value-=Ft.value:Ct==="*="?wt.value*=Ft.value:Ct==="/="?wt.value/=Ft.value:Ct==="%="?wt.value%=Ft.value:Ct==="&="?wt.value&=Ft.value:Ct==="|="?wt.value|=Ft.value:Ct==="^="?wt.value^=Ft.value:Ct==="<<="?wt.value<<=Ft.value:Ct===">>="?wt.value>>=Ft.value:console.error(`Invalid operator ${Ct}. Line ${Et.line}`)}return void(vt instanceof Pe$1&&vt.setDataValue(this,wt,At,xt))}if(vt instanceof Pe$1)vt.setDataValue(this,Ft,At,xt);else if(At){if(!(vt instanceof Me$1||vt instanceof Ue$1))return void console.error(`Variable ${bt} is not a vector or matrix. Line ${Et.line}`);if(At instanceof ve$1){const wt=this.evalExpression(At.index,xt).value;if(vt instanceof Me$1){if(!(Ft instanceof Be$1))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);vt.data[wt]=Ft.value}else{if(!(vt instanceof Ue$1))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);{const St=this.evalExpression(At.index,xt).value;if(St<0)return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);if(!(Ft instanceof Me$1))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);{const Tt=vt.typeInfo.getTypeName();if(Tt==="mat2x2"||Tt==="mat2x2f"||Tt==="mat2x2h"){if(!(St<2&&Ft.data.length===2))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);vt.data[2*St]=Ft.data[0],vt.data[2*St+1]=Ft.data[1]}else if(Tt==="mat2x3"||Tt==="mat2x3f"||Tt==="mat2x3h"){if(!(St<2&&Ft.data.length===3))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);vt.data[3*St]=Ft.data[0],vt.data[3*St+1]=Ft.data[1],vt.data[3*St+2]=Ft.data[2]}else if(Tt==="mat2x4"||Tt==="mat2x4f"||Tt==="mat2x4h"){if(!(St<2&&Ft.data.length===4))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);vt.data[4*St]=Ft.data[0],vt.data[4*St+1]=Ft.data[1],vt.data[4*St+2]=Ft.data[2],vt.data[4*St+3]=Ft.data[3]}else if(Tt==="mat3x2"||Tt==="mat3x2f"||Tt==="mat3x2h"){if(!(St<3&&Ft.data.length===2))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);vt.data[2*St]=Ft.data[0],vt.data[2*St+1]=Ft.data[1]}else if(Tt==="mat3x3"||Tt==="mat3x3f"||Tt==="mat3x3h"){if(!(St<3&&Ft.data.length===3))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);vt.data[3*St]=Ft.data[0],vt.data[3*St+1]=Ft.data[1],vt.data[3*St+2]=Ft.data[2]}else if(Tt==="mat3x4"||Tt==="mat3x4f"||Tt==="mat3x4h"){if(!(St<3&&Ft.data.length===4))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);vt.data[4*St]=Ft.data[0],vt.data[4*St+1]=Ft.data[1],vt.data[4*St+2]=Ft.data[2],vt.data[4*St+3]=Ft.data[3]}else if(Tt==="mat4x2"||Tt==="mat4x2f"||Tt==="mat4x2h"){if(!(St<4&&Ft.data.length===2))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);vt.data[2*St]=Ft.data[0],vt.data[2*St+1]=Ft.data[1]}else if(Tt==="mat4x3"||Tt==="mat4x3f"||Tt==="mat4x3h"){if(!(St<4&&Ft.data.length===3))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);vt.data[3*St]=Ft.data[0],vt.data[3*St+1]=Ft.data[1],vt.data[3*St+2]=Ft.data[2]}else{if(Tt!=="mat4x4"&&Tt!=="mat4x4f"&&Tt!=="mat4x4h")return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);if(!(St<4&&Ft.data.length===4))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);vt.data[4*St]=Ft.data[0],vt.data[4*St+1]=Ft.data[1],vt.data[4*St+2]=Ft.data[2],vt.data[4*St+3]=Ft.data[3]}}}}}else if(At instanceof pe$1){const wt=At.value;if(!(vt instanceof Me$1))return void console.error(`Invalid assignment to ${wt}. Variable ${bt} is not a vector. Line ${Et.line}`);if(Ft instanceof Be$1){if(wt.length>1)return void console.error(`Invalid assignment to ${wt} for variable ${bt}. Line ${Et.line}`);if(wt==="x")vt.data[0]=Ft.value;else if(wt==="y"){if(vt.data.length<2)return void console.error(`Invalid assignment to ${wt} for variable ${bt}. Line ${Et.line}`);vt.data[1]=Ft.value}else if(wt==="z"){if(vt.data.length<3)return void console.error(`Invalid assignment to ${wt} for variable ${bt}. Line ${Et.line}`);vt.data[2]=Ft.value}else if(wt==="w"){if(vt.data.length<4)return void console.error(`Invalid assignment to ${wt} for variable ${bt}. Line ${Et.line}`);vt.data[3]=Ft.value}}else{if(!(Ft instanceof Me$1))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);if(wt.length!==Ft.data.length)return void console.error(`Invalid assignment to ${wt} for variable ${bt}. Line ${Et.line}`);for(let St=0;St<wt.length;++St){const Tt=wt[St];if(Tt==="x"||Tt==="r")vt.data[0]=Ft.data[St];else if(Tt==="y"||Tt==="g"){if(Ft.data.length<2)return void console.error(`Invalid assignment to ${Tt} for variable ${bt}. Line ${Et.line}`);vt.data[1]=Ft.data[St]}else if(Tt==="z"||Tt==="b"){if(Ft.data.length<3)return void console.error(`Invalid assignment to ${Tt} for variable ${bt}. Line ${Et.line}`);vt.data[2]=Ft.data[St]}else{if(Tt!=="w"&&Tt!=="a")return void console.error(`Invalid assignment to ${Tt} for variable ${bt}. Line ${Et.line}`);if(Ft.data.length<4)return void console.error(`Invalid assignment to ${Tt} for variable ${bt}. Line ${Et.line}`);vt.data[3]=Ft.data[St]}}}}}else vt instanceof Be$1&&Ft instanceof Be$1?vt.value=Ft.value:vt instanceof Me$1&&Ft instanceof Me$1||vt instanceof Ue$1&&Ft instanceof Ue$1?vt.data.set(Ft.data):console.error(`Invalid assignment to ${bt}. Line ${Et.line}`)}_function(Et,xt){const vt=new ct(Et);xt.functions.set(Et.name,vt)}_const(Et,xt){let vt=null;Et.value!==null&&(vt=this.evalExpression(Et.value,xt)),xt.createVariable(Et.name,vt,Et)}_let(Et,xt){let vt=null;if(Et.value!==null){if(vt=this.evalExpression(Et.value,xt),vt===null)return void console.error(`Invalid value for variable ${Et.name}. Line ${Et.line}`);Et.value instanceof ke$1||(vt=vt.clone())}else{const bt=Et.type.name;if(bt==="f32"||bt==="i32"||bt==="u32"||bt==="bool"||bt==="f16"||bt==="vec2"||bt==="vec3"||bt==="vec4"||bt==="vec2f"||bt==="vec3f"||bt==="vec4f"||bt==="vec2i"||bt==="vec3i"||bt==="vec4i"||bt==="vec2u"||bt==="vec3u"||bt==="vec4u"||bt==="vec2h"||bt==="vec3h"||bt==="vec4h"||bt==="vec2b"||bt==="vec3b"||bt==="vec4b"||bt==="mat2x2"||bt==="mat2x3"||bt==="mat2x4"||bt==="mat3x2"||bt==="mat3x3"||bt==="mat3x4"||bt==="mat4x2"||bt==="mat4x3"||bt==="mat4x4"||bt==="mat2x2f"||bt==="mat2x3f"||bt==="mat2x4f"||bt==="mat3x2f"||bt==="mat3x3f"||bt==="mat3x4f"||bt==="mat4x2f"||bt==="mat4x3f"||bt==="mat4x4f"||bt==="mat2x2h"||bt==="mat2x3h"||bt==="mat2x4h"||bt==="mat3x2h"||bt==="mat3x3h"||bt==="mat3x4h"||bt==="mat4x2h"||bt==="mat4x3h"||bt==="mat4x4h"||bt==="array"){const At=new de$1(Et.type,[]);vt=this._evalCreate(At,xt)}}xt.createVariable(Et.name,vt,Et)}_var(Et,xt){let vt=null;if(Et.value!==null){if(vt=this.evalExpression(Et.value,xt),vt===null)return void console.error(`Invalid value for variable ${Et.name}. Line ${Et.line}`);Et.value instanceof ke$1||(vt=vt.clone())}else{if(Et.type===null)return void console.error(`Variable ${Et.name} has no type. Line ${Et.line}`);const bt=Et.type.name;if(bt==="f32"||bt==="i32"||bt==="u32"||bt==="bool"||bt==="f16"||bt==="vec2"||bt==="vec3"||bt==="vec4"||bt==="vec2f"||bt==="vec3f"||bt==="vec4f"||bt==="vec2i"||bt==="vec3i"||bt==="vec4i"||bt==="vec2u"||bt==="vec3u"||bt==="vec4u"||bt==="vec2h"||bt==="vec3h"||bt==="vec4h"||bt==="vec2b"||bt==="vec3b"||bt==="vec4b"||bt==="mat2x2"||bt==="mat2x3"||bt==="mat2x4"||bt==="mat3x2"||bt==="mat3x3"||bt==="mat3x4"||bt==="mat4x2"||bt==="mat4x3"||bt==="mat4x4"||bt==="mat2x2f"||bt==="mat2x3f"||bt==="mat2x4f"||bt==="mat3x2f"||bt==="mat3x3f"||bt==="mat3x4f"||bt==="mat4x2f"||bt==="mat4x3f"||bt==="mat4x4f"||bt==="mat2x2h"||bt==="mat2x3h"||bt==="mat2x4h"||bt==="mat3x2h"||bt==="mat3x3h"||bt==="mat3x4h"||bt==="mat4x2h"||bt==="mat4x3h"||bt==="mat4x4h"||Et.type instanceof ue$1||Et.type instanceof oe$1||Et.type instanceof ce$1){const At=new de$1(Et.type,[]);vt=this._evalCreate(At,xt)}}xt.createVariable(Et.name,vt,Et)}_switch(Et,xt){xt=xt.clone();const vt=this.evalExpression(Et.condition,xt);if(!(vt instanceof Be$1))return console.error(`Invalid if condition. Line ${Et.line}`),null;let bt=null;for(const At of Et.cases)if(At instanceof Ae$1)for(const Ft of At.selectors){if(Ft instanceof Se$1){bt=At;continue}const Ct=this.evalExpression(Ft,xt);if(!(Ct instanceof Be$1))return console.error(`Invalid case selector. Line ${Et.line}`),null;if(Ct.value===vt.value)return this._execStatements(At.body,xt)}else At instanceof Ee$1&&(bt=At);return bt?this._execStatements(bt.body,xt):null}_if(Et,xt){xt=xt.clone();const vt=this.evalExpression(Et.condition,xt);if(!(vt instanceof Be$1))return console.error(`Invalid if condition. Line ${Et.line}`),null;if(vt.value)return this._execStatements(Et.body,xt);for(const bt of Et.elseif){const At=this.evalExpression(bt.condition,xt);if(!(At instanceof Be$1))return console.error(`Invalid if condition. Line ${Et.line}`),null;if(At.value)return this._execStatements(bt.body,xt)}return Et.else?this._execStatements(Et.else,xt):null}_getScalarValue(Et){return Et instanceof Be$1?Et.value:(console.error("Expected scalar value.",Et),0)}_for(Et,xt){for(xt=xt.clone(),this.execStatement(Et.init,xt);this._getScalarValue(this.evalExpression(Et.condition,xt));){const vt=this._execStatements(Et.body,xt);if(vt===dt._breakObj)break;if(vt!==null&&vt!==dt._continueObj)return vt;this.execStatement(Et.increment,xt)}return null}_loop(Et,xt){for(xt=xt.clone();;){const vt=this._execStatements(Et.body,xt);if(vt===dt._breakObj)break;if(vt===dt._continueObj){if(Et.continuing&&this._execStatements(Et.continuing.body,xt)===dt._breakObj)break}else if(vt!==null)return vt}return null}_while(Et,xt){for(xt=xt.clone();this._getScalarValue(this.evalExpression(Et.condition,xt));){const vt=this._execStatements(Et.body,xt);if(vt===dt._breakObj)break;if(vt!==dt._continueObj&&vt!==null)return vt}return null}_evalBitcast(Et,xt){const vt=this.evalExpression(Et.value,xt),bt=Et.type;if(vt instanceof Be$1){const At=nt(vt.value,vt.typeInfo.name,bt.name);return new Be$1(At,this.getTypeInfo(bt))}if(vt instanceof Me$1){const At=vt.typeInfo.getTypeName();let Ft="";if(At.endsWith("f"))Ft="f32";else if(At.endsWith("i"))Ft="i32";else if(At.endsWith("u"))Ft="u32";else if(At.endsWith("b"))Ft="bool";else{if(!At.endsWith("h"))return console.error(`Unknown vector type ${At}. Line ${Et.line}`),null;Ft="f16"}const Ct=bt.getTypeName();let wt="";if(Ct.endsWith("f"))wt="f32";else if(Ct.endsWith("i"))wt="i32";else if(Ct.endsWith("u"))wt="u32";else if(Ct.endsWith("b"))wt="bool";else{if(!Ct.endsWith("h"))return console.error(`Unknown vector type ${wt}. Line ${Et.line}`),null;wt="f16"}const St=(function(Tt,Rt,Pt){if(Rt===Pt)return Tt;const Lt=new Array(Tt.length);for(let kt=0;kt<Tt.length;kt++)Lt[kt]=nt(Tt[kt],Rt,Pt);return Lt})(Array.from(vt.data),Ft,wt);return new Me$1(St,this.getTypeInfo(bt))}return console.error(`TODO: bitcast for ${vt.typeInfo.name}. Line ${Et.line}`),null}_evalConst(Et,xt){return xt.getVariableValue(Et.name).clone().getSubData(this,Et.postfix,xt)}_evalCreate(Et,xt){var vt;if(Et instanceof de$1){if(Et.type===null)return Ve$1.void;switch(Et.type.getTypeName()){case"bool":case"i32":case"u32":case"f32":case"f16":return this._callConstructorValue(Et,xt);case"vec2":case"vec3":case"vec4":case"vec2f":case"vec3f":case"vec4f":case"vec2h":case"vec3h":case"vec4h":case"vec2i":case"vec3i":case"vec4i":case"vec2u":case"vec3u":case"vec4u":case"vec2b":case"vec3b":case"vec4b":return this._callConstructorVec(Et,xt);case"mat2x2":case"mat2x2f":case"mat2x2h":case"mat2x3":case"mat2x3f":case"mat2x3h":case"mat2x4":case"mat2x4f":case"mat2x4h":case"mat3x2":case"mat3x2f":case"mat3x2h":case"mat3x3":case"mat3x3f":case"mat3x3h":case"mat3x4":case"mat3x4f":case"mat3x4h":case"mat4x2":case"mat4x2f":case"mat4x2h":case"mat4x3":case"mat4x3f":case"mat4x3h":case"mat4x4":case"mat4x4f":case"mat4x4h":return this._callConstructorMatrix(Et,xt)}}const bt=Et instanceof de$1?Et.type.name:Et.name,At=Et instanceof de$1?this.getTypeInfo(Et.type):this.getTypeInfo(Et.name);if(At===null)return console.error(`Unknown type ${bt}. Line ${Et.line}`),null;if(At.size===0)return null;const Ft=new Pe$1(new ArrayBuffer(At.size),At,0);if(At instanceof n){if(Et.args)for(let Ct=0;Ct<Et.args.length;++Ct){const wt=At.members[Ct],St=Et.args[Ct],Tt=this.evalExpression(St,xt);Ft.setData(this,Tt,wt.type,wt.offset,xt)}}else if(At instanceof s){let Ct=0;if(Et.args)for(let wt=0;wt<Et.args.length;++wt){const St=Et.args[wt],Tt=this.evalExpression(St,xt);At.format===null&&(((vt=Tt.typeInfo)===null||vt===void 0?void 0:vt.name)==="x32"?At.format=this.getTypeInfo("i32"):At.format=Tt.typeInfo),Ft.setData(this,Tt,At.format,Ct,xt),Ct+=At.stride}}else console.error(`Unknown type "${bt}". Line ${Et.line}`);return Et instanceof de$1?Ft.getSubData(this,Et.postfix,xt):Ft}_evalLiteral(Et,xt){const vt=this.getTypeInfo(Et.type),bt=vt.name;return bt==="x32"||bt==="u32"||bt==="f32"||bt==="f16"||bt==="i32"||bt==="bool"?new Be$1(Et.scalarValue,vt):bt==="vec2"||bt==="vec3"||bt==="vec4"||bt==="vec2f"||bt==="vec3f"||bt==="vec4f"||bt==="vec2h"||bt==="vec3h"||bt==="vec4h"||bt==="vec2i"||bt==="vec3i"||bt==="vec4i"||bt==="vec2u"||bt==="vec3u"||bt==="vec4u"?this._callConstructorVec(Et,xt):bt==="mat2x2"||bt==="mat2x3"||bt==="mat2x4"||bt==="mat3x2"||bt==="mat3x3"||bt==="mat3x4"||bt==="mat4x2"||bt==="mat4x3"||bt==="mat4x4"||bt==="mat2x2f"||bt==="mat2x3f"||bt==="mat2x4f"||bt==="mat3x2f"||bt==="mat3x3f"||bt==="mat3x4f"||bt==="mat4x2f"||bt==="mat4x3f"||bt==="mat4x4f"||bt==="mat2x2h"||bt==="mat2x3h"||bt==="mat2x4h"||bt==="mat3x2h"||bt==="mat3x3h"||bt==="mat3x4h"||bt==="mat4x2h"||bt==="mat4x3h"||bt==="mat4x4h"?this._callConstructorMatrix(Et,xt):Et.value}_evalVariable(Et,xt){const vt=xt.getVariableValue(Et.name);return vt===null?vt:vt.getSubData(this,Et.postfix,xt)}_maxFormatTypeInfo(Et){let xt=Et[0];if(xt.name==="f32")return xt;for(let vt=1;vt<Et.length;++vt){const bt=dt._priority.get(xt.name);dt._priority.get(Et[vt].name)<bt&&(xt=Et[vt])}return xt.name==="x32"?this.getTypeInfo("i32"):xt}_evalUnaryOp(Et,xt){const vt=this.evalExpression(Et.right,xt);if(Et.operator==="&")return new Oe$1(vt);if(Et.operator==="*")return vt instanceof Oe$1?vt.reference.getSubData(this,Et.postfix,xt):(console.error(`Invalid dereference. Line ${Et.line}`),null);const bt=vt instanceof Be$1?vt.value:vt instanceof Me$1?Array.from(vt.data):null;switch(Et.operator){case"+":{if(Ge$1(bt)){const Ct=bt.map((wt,St)=>+wt);return new Me$1(Ct,vt.typeInfo)}const At=bt,Ft=this._maxFormatTypeInfo([vt.typeInfo,vt.typeInfo]);return new Be$1(+At,Ft)}case"-":{if(Ge$1(bt)){const Ct=bt.map((wt,St)=>-wt);return new Me$1(Ct,vt.typeInfo)}const At=bt,Ft=this._maxFormatTypeInfo([vt.typeInfo,vt.typeInfo]);return new Be$1(-At,Ft)}case"!":{if(Ge$1(bt)){const Ct=bt.map((wt,St)=>wt?0:1);return new Me$1(Ct,vt.typeInfo)}const At=bt,Ft=this._maxFormatTypeInfo([vt.typeInfo,vt.typeInfo]);return new Be$1(At?0:1,Ft)}case"~":{if(Ge$1(bt)){const Ct=bt.map((wt,St)=>~wt);return new Me$1(Ct,vt.typeInfo)}const At=bt,Ft=this._maxFormatTypeInfo([vt.typeInfo,vt.typeInfo]);return new Be$1(~At,Ft)}}return console.error(`Invalid unary operator ${Et.operator}. Line ${Et.line}`),null}_evalBinaryOp(Et,xt){const vt=this.evalExpression(Et.left,xt),bt=this.evalExpression(Et.right,xt),At=vt instanceof Be$1?vt.value:vt instanceof Me$1||vt instanceof Ue$1?Array.from(vt.data):null,Ft=bt instanceof Be$1?bt.value:bt instanceof Me$1||bt instanceof Ue$1?Array.from(bt.data):null;switch(Et.operator){case"+":{if(Ge$1(At)&&Ge$1(Ft)){const Tt=At,Rt=Ft;if(Tt.length!==Rt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const Pt=Tt.map((Lt,kt)=>Lt+Rt[kt]);return new Me$1(Pt,vt.typeInfo)}if(Ge$1(At)){const Tt=Ft,Rt=At.map((Pt,Lt)=>Pt+Tt);return new Me$1(Rt,vt.typeInfo)}if(Ge$1(Ft)){const Tt=At,Rt=Ft.map((Pt,Lt)=>Tt+Pt);return new Me$1(Rt,bt.typeInfo)}const Ct=At,wt=Ft,St=this._maxFormatTypeInfo([vt.typeInfo,bt.typeInfo]);return new Be$1(Ct+wt,St)}case"-":{if(Ge$1(At)&&Ge$1(Ft)){const Tt=At,Rt=Ft;if(Tt.length!==Rt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const Pt=Tt.map((Lt,kt)=>Lt-Rt[kt]);return new Me$1(Pt,vt.typeInfo)}if(Ge$1(At)){const Tt=Ft,Rt=At.map((Pt,Lt)=>Pt-Tt);return new Me$1(Rt,vt.typeInfo)}if(Ge$1(Ft)){const Tt=At,Rt=Ft.map((Pt,Lt)=>Tt-Pt);return new Me$1(Rt,bt.typeInfo)}const Ct=At,wt=Ft,St=this._maxFormatTypeInfo([vt.typeInfo,bt.typeInfo]);return new Be$1(Ct-wt,St)}case"*":{if(Ge$1(At)&&Ge$1(Ft)){const Tt=At,Rt=Ft;if(vt instanceof Ue$1&&bt instanceof Ue$1){const Pt=(function(Mt,It,Nt,Ut){if(pt[It.name]===void 0||pt[Ut.name]===void 0)return null;const jt=pt[It.name][0],Vt=pt[It.name][1],zt=pt[Ut.name][0];if(jt!==pt[Ut.name][1])return null;const Ht=new Array(zt*Vt);for(let Wt=0;Wt<Vt;Wt++)for(let Gt=0;Gt<zt;Gt++){let qt=0;for(let Xt=0;Xt<jt;Xt++)qt+=Mt[Xt*Vt+Wt]*Nt[Gt*jt+Xt];Ht[Wt*zt+Gt]=qt}return Ht})(Tt,vt.typeInfo,Rt,bt.typeInfo);if(Pt===null)return console.error(`Matrix multiplication failed. Line ${Et.line}.`),null;const Lt=pt[bt.typeInfo.name][0],kt=pt[vt.typeInfo.name][1],Ot=this.getTypeInfo(`mat${Lt}x${kt}f`);return new Ue$1(Pt,Ot)}if(vt instanceof Ue$1&&bt instanceof Me$1){const Pt=(function(Lt,kt,Ot,Mt){if(pt[kt.name]===void 0||ft[Mt.name]===void 0)return null;const It=pt[kt.name][0],Nt=pt[kt.name][1];if(It!==Ot.length)return null;const Ut=new Array(Nt);for(let jt=0;jt<Nt;jt++){let Vt=0;for(let zt=0;zt<It;zt++)Vt+=Lt[zt*Nt+jt]*Ot[zt];Ut[jt]=Vt}return Ut})(Tt,vt.typeInfo,Rt,bt.typeInfo);return Pt===null?(console.error(`Matrix vector multiplication failed. Line ${Et.line}.`),null):new Me$1(Pt,bt.typeInfo)}if(vt instanceof Me$1&&bt instanceof Ue$1){const Pt=(function(Lt,kt,Ot,Mt){if(ft[kt.name]===void 0||pt[Mt.name]===void 0)return null;const It=pt[Mt.name][0],Nt=pt[Mt.name][1];if(Nt!==Lt.length)return null;const Ut=[];for(let jt=0;jt<It;jt++){let Vt=0;for(let zt=0;zt<Nt;zt++)Vt+=Lt[zt]*Ot[zt*It+jt];Ut[jt]=Vt}return Ut})(Tt,vt.typeInfo,Rt,bt.typeInfo);return Pt===null?(console.error(`Matrix vector multiplication failed. Line ${Et.line}.`),null):new Me$1(Pt,vt.typeInfo)}{if(Tt.length!==Rt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const Pt=Tt.map((Lt,kt)=>Lt*Rt[kt]);return new Me$1(Pt,vt.typeInfo)}}if(Ge$1(At)){const Tt=Ft,Rt=At.map((Pt,Lt)=>Pt*Tt);return vt instanceof Ue$1?new Ue$1(Rt,vt.typeInfo):new Me$1(Rt,vt.typeInfo)}if(Ge$1(Ft)){const Tt=At,Rt=Ft.map((Pt,Lt)=>Tt*Pt);return bt instanceof Ue$1?new Ue$1(Rt,bt.typeInfo):new Me$1(Rt,bt.typeInfo)}const Ct=At,wt=Ft,St=this._maxFormatTypeInfo([vt.typeInfo,bt.typeInfo]);return new Be$1(Ct*wt,St)}case"%":{if(Ge$1(At)&&Ge$1(Ft)){const Tt=At,Rt=Ft;if(Tt.length!==Rt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const Pt=Tt.map((Lt,kt)=>Lt%Rt[kt]);return new Me$1(Pt,vt.typeInfo)}if(Ge$1(At)){const Tt=Ft,Rt=At.map((Pt,Lt)=>Pt%Tt);return new Me$1(Rt,vt.typeInfo)}if(Ge$1(Ft)){const Tt=At,Rt=Ft.map((Pt,Lt)=>Tt%Pt);return new Me$1(Rt,bt.typeInfo)}const Ct=At,wt=Ft,St=this._maxFormatTypeInfo([vt.typeInfo,bt.typeInfo]);return new Be$1(Ct%wt,St)}case"/":{if(Ge$1(At)&&Ge$1(Ft)){const Tt=At,Rt=Ft;if(Tt.length!==Rt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const Pt=Tt.map((Lt,kt)=>Lt/Rt[kt]);return new Me$1(Pt,vt.typeInfo)}if(Ge$1(At)){const Tt=Ft,Rt=At.map((Pt,Lt)=>Pt/Tt);return new Me$1(Rt,vt.typeInfo)}if(Ge$1(Ft)){const Tt=At,Rt=Ft.map((Pt,Lt)=>Tt/Pt);return new Me$1(Rt,bt.typeInfo)}const Ct=At,wt=Ft,St=this._maxFormatTypeInfo([vt.typeInfo,bt.typeInfo]);return new Be$1(Ct/wt,St)}case"&":{if(Ge$1(At)&&Ge$1(Ft)){const Tt=At,Rt=Ft;if(Tt.length!==Rt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const Pt=Tt.map((Lt,kt)=>Lt&Rt[kt]);return new Me$1(Pt,vt.typeInfo)}if(Ge$1(At)){const Tt=Ft,Rt=At.map((Pt,Lt)=>Pt&Tt);return new Me$1(Rt,vt.typeInfo)}if(Ge$1(Ft)){const Tt=At,Rt=Ft.map((Pt,Lt)=>Tt&Pt);return new Me$1(Rt,bt.typeInfo)}const Ct=At,wt=Ft,St=this._maxFormatTypeInfo([vt.typeInfo,bt.typeInfo]);return new Be$1(Ct&wt,St)}case"|":{if(Ge$1(At)&&Ge$1(Ft)){const Tt=At,Rt=Ft;if(Tt.length!==Rt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const Pt=Tt.map((Lt,kt)=>Lt|Rt[kt]);return new Me$1(Pt,vt.typeInfo)}if(Ge$1(At)){const Tt=Ft,Rt=At.map((Pt,Lt)=>Pt|Tt);return new Me$1(Rt,vt.typeInfo)}if(Ge$1(Ft)){const Tt=At,Rt=Ft.map((Pt,Lt)=>Tt|Pt);return new Me$1(Rt,bt.typeInfo)}const Ct=At,wt=Ft,St=this._maxFormatTypeInfo([vt.typeInfo,bt.typeInfo]);return new Be$1(Ct|wt,St)}case"^":{if(Ge$1(At)&&Ge$1(Ft)){const Tt=At,Rt=Ft;if(Tt.length!==Rt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const Pt=Tt.map((Lt,kt)=>Lt^Rt[kt]);return new Me$1(Pt,vt.typeInfo)}if(Ge$1(At)){const Tt=Ft,Rt=At.map((Pt,Lt)=>Pt^Tt);return new Me$1(Rt,vt.typeInfo)}if(Ge$1(Ft)){const Tt=At,Rt=Ft.map((Pt,Lt)=>Tt^Pt);return new Me$1(Rt,bt.typeInfo)}const Ct=At,wt=Ft,St=this._maxFormatTypeInfo([vt.typeInfo,bt.typeInfo]);return new Be$1(Ct^wt,St)}case"<<":{if(Ge$1(At)&&Ge$1(Ft)){const Tt=At,Rt=Ft;if(Tt.length!==Rt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const Pt=Tt.map((Lt,kt)=>Lt<<Rt[kt]);return new Me$1(Pt,vt.typeInfo)}if(Ge$1(At)){const Tt=Ft,Rt=At.map((Pt,Lt)=>Pt<<Tt);return new Me$1(Rt,vt.typeInfo)}if(Ge$1(Ft)){const Tt=At,Rt=Ft.map((Pt,Lt)=>Tt<<Pt);return new Me$1(Rt,bt.typeInfo)}const Ct=At,wt=Ft,St=this._maxFormatTypeInfo([vt.typeInfo,bt.typeInfo]);return new Be$1(Ct<<wt,St)}case">>":{if(Ge$1(At)&&Ge$1(Ft)){const Tt=At,Rt=Ft;if(Tt.length!==Rt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const Pt=Tt.map((Lt,kt)=>Lt>>Rt[kt]);return new Me$1(Pt,vt.typeInfo)}if(Ge$1(At)){const Tt=Ft,Rt=At.map((Pt,Lt)=>Pt>>Tt);return new Me$1(Rt,vt.typeInfo)}if(Ge$1(Ft)){const Tt=At,Rt=Ft.map((Pt,Lt)=>Tt>>Pt);return new Me$1(Rt,bt.typeInfo)}const Ct=At,wt=Ft,St=this._maxFormatTypeInfo([vt.typeInfo,bt.typeInfo]);return new Be$1(Ct>>wt,St)}case">":if(Ge$1(At)&&Ge$1(Ft)){const Ct=At,wt=Ft;if(Ct.length!==wt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const St=Ct.map((Tt,Rt)=>Tt>wt[Rt]?1:0);return new Me$1(St,vt.typeInfo)}if(Ge$1(At)){const Ct=Ft,wt=At.map((St,Tt)=>St>Ct?1:0);return new Me$1(wt,vt.typeInfo)}if(Ge$1(Ft)){const Ct=At,wt=Ft.map((St,Tt)=>Ct>St?1:0);return new Me$1(wt,bt.typeInfo)}return new Be$1(At>Ft?1:0,this.getTypeInfo("bool"));case"<":if(Ge$1(At)&&Ge$1(Ft)){const Ct=At,wt=Ft;if(Ct.length!==wt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const St=Ct.map((Tt,Rt)=>Tt<wt[Rt]?1:0);return new Me$1(St,vt.typeInfo)}if(Ge$1(At)){const Ct=Ft,wt=At.map((St,Tt)=>St<Ct?1:0);return new Me$1(wt,vt.typeInfo)}if(Ge$1(Ft)){const Ct=At,wt=Ft.map((St,Tt)=>Ct<St?1:0);return new Me$1(wt,bt.typeInfo)}return new Be$1(At<Ft?1:0,this.getTypeInfo("bool"));case"==":if(Ge$1(At)&&Ge$1(Ft)){const Ct=At,wt=Ft;if(Ct.length!==wt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const St=Ct.map((Tt,Rt)=>Tt===wt[Rt]?1:0);return new Me$1(St,vt.typeInfo)}if(Ge$1(At)){const Ct=Ft,wt=At.map((St,Tt)=>St==Ct?1:0);return new Me$1(wt,vt.typeInfo)}if(Ge$1(Ft)){const Ct=At,wt=Ft.map((St,Tt)=>Ct==St?1:0);return new Me$1(wt,bt.typeInfo)}return new Be$1(At===Ft?1:0,this.getTypeInfo("bool"));case"!=":if(Ge$1(At)&&Ge$1(Ft)){const Ct=At,wt=Ft;if(Ct.length!==wt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const St=Ct.map((Tt,Rt)=>Tt!==wt[Rt]?1:0);return new Me$1(St,vt.typeInfo)}if(Ge$1(At)){const Ct=Ft,wt=At.map((St,Tt)=>St!==Ct?1:0);return new Me$1(wt,vt.typeInfo)}if(Ge$1(Ft)){const Ct=At,wt=Ft.map((St,Tt)=>Ct!==St?1:0);return new Me$1(wt,bt.typeInfo)}return new Be$1(At!==Ft?1:0,this.getTypeInfo("bool"));case">=":if(Ge$1(At)&&Ge$1(Ft)){const Ct=At,wt=Ft;if(Ct.length!==wt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const St=Ct.map((Tt,Rt)=>Tt>=wt[Rt]?1:0);return new Me$1(St,vt.typeInfo)}if(Ge$1(At)){const Ct=Ft,wt=At.map((St,Tt)=>St>=Ct?1:0);return new Me$1(wt,vt.typeInfo)}if(Ge$1(Ft)){const Ct=At,wt=Ft.map((St,Tt)=>Ct>=St?1:0);return new Me$1(wt,bt.typeInfo)}return new Be$1(At>=Ft?1:0,this.getTypeInfo("bool"));case"<=":if(Ge$1(At)&&Ge$1(Ft)){const Ct=At,wt=Ft;if(Ct.length!==wt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const St=Ct.map((Tt,Rt)=>Tt<=wt[Rt]?1:0);return new Me$1(St,vt.typeInfo)}if(Ge$1(At)){const Ct=Ft,wt=At.map((St,Tt)=>St<=Ct?1:0);return new Me$1(wt,vt.typeInfo)}if(Ge$1(Ft)){const Ct=At,wt=Ft.map((St,Tt)=>Ct<=St?1:0);return new Me$1(wt,bt.typeInfo)}return new Be$1(At<=Ft?1:0,this.getTypeInfo("bool"));case"&&":if(Ge$1(At)&&Ge$1(Ft)){const Ct=At,wt=Ft;if(Ct.length!==wt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const St=Ct.map((Tt,Rt)=>Tt&&wt[Rt]?1:0);return new Me$1(St,vt.typeInfo)}if(Ge$1(At)){const Ct=Ft,wt=At.map((St,Tt)=>St&&Ct?1:0);return new Me$1(wt,vt.typeInfo)}if(Ge$1(Ft)){const Ct=At,wt=Ft.map((St,Tt)=>Ct&&St?1:0);return new Me$1(wt,bt.typeInfo)}return new Be$1(At&&Ft?1:0,this.getTypeInfo("bool"));case"||":if(Ge$1(At)&&Ge$1(Ft)){const Ct=At,wt=Ft;if(Ct.length!==wt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const St=Ct.map((Tt,Rt)=>Tt||wt[Rt]?1:0);return new Me$1(St,vt.typeInfo)}if(Ge$1(At)){const Ct=Ft,wt=At.map((St,Tt)=>St||Ct?1:0);return new Me$1(wt,vt.typeInfo)}if(Ge$1(Ft)){const Ct=At,wt=Ft.map((St,Tt)=>Ct||St?1:0);return new Me$1(wt,bt.typeInfo)}return new Be$1(At||Ft?1:0,this.getTypeInfo("bool"))}return console.error(`Unknown operator ${Et.operator}. Line ${Et.line}`),null}_evalCall(Et,xt){if(Et.cachedReturnValue!==null)return Et.cachedReturnValue;const vt=xt.clone();vt.currentFunctionName=Et.name;const bt=xt.getFunction(Et.name);if(!bt)return Et.isBuiltin?this._callBuiltinFunction(Et,vt):this.getTypeInfo(Et.name)?this._evalCreate(Et,xt):(console.error(`Unknown function "${Et.name}". Line ${Et.line}`),null);for(let At=0;At<bt.node.args.length;++At){const Ft=bt.node.args[At],Ct=this.evalExpression(Et.args[At],vt);vt.createVariable(Ft.name,Ct,Ft)}return this._execStatements(bt.node.body,vt)}_callBuiltinFunction(Et,xt){switch(Et.name){case"all":return this.builtins.All(Et,xt);case"any":return this.builtins.Any(Et,xt);case"select":return this.builtins.Select(Et,xt);case"arrayLength":return this.builtins.ArrayLength(Et,xt);case"abs":return this.builtins.Abs(Et,xt);case"acos":return this.builtins.Acos(Et,xt);case"acosh":return this.builtins.Acosh(Et,xt);case"asin":return this.builtins.Asin(Et,xt);case"asinh":return this.builtins.Asinh(Et,xt);case"atan":return this.builtins.Atan(Et,xt);case"atanh":return this.builtins.Atanh(Et,xt);case"atan2":return this.builtins.Atan2(Et,xt);case"ceil":return this.builtins.Ceil(Et,xt);case"clamp":return this.builtins.Clamp(Et,xt);case"cos":return this.builtins.Cos(Et,xt);case"cosh":return this.builtins.Cosh(Et,xt);case"countLeadingZeros":return this.builtins.CountLeadingZeros(Et,xt);case"countOneBits":return this.builtins.CountOneBits(Et,xt);case"countTrailingZeros":return this.builtins.CountTrailingZeros(Et,xt);case"cross":return this.builtins.Cross(Et,xt);case"degrees":return this.builtins.Degrees(Et,xt);case"determinant":return this.builtins.Determinant(Et,xt);case"distance":return this.builtins.Distance(Et,xt);case"dot":return this.builtins.Dot(Et,xt);case"dot4U8Packed":return this.builtins.Dot4U8Packed(Et,xt);case"dot4I8Packed":return this.builtins.Dot4I8Packed(Et,xt);case"exp":return this.builtins.Exp(Et,xt);case"exp2":return this.builtins.Exp2(Et,xt);case"extractBits":return this.builtins.ExtractBits(Et,xt);case"faceForward":return this.builtins.FaceForward(Et,xt);case"firstLeadingBit":return this.builtins.FirstLeadingBit(Et,xt);case"firstTrailingBit":return this.builtins.FirstTrailingBit(Et,xt);case"floor":return this.builtins.Floor(Et,xt);case"fma":return this.builtins.Fma(Et,xt);case"fract":return this.builtins.Fract(Et,xt);case"frexp":return this.builtins.Frexp(Et,xt);case"insertBits":return this.builtins.InsertBits(Et,xt);case"inverseSqrt":return this.builtins.InverseSqrt(Et,xt);case"ldexp":return this.builtins.Ldexp(Et,xt);case"length":return this.builtins.Length(Et,xt);case"log":return this.builtins.Log(Et,xt);case"log2":return this.builtins.Log2(Et,xt);case"max":return this.builtins.Max(Et,xt);case"min":return this.builtins.Min(Et,xt);case"mix":return this.builtins.Mix(Et,xt);case"modf":return this.builtins.Modf(Et,xt);case"normalize":return this.builtins.Normalize(Et,xt);case"pow":return this.builtins.Pow(Et,xt);case"quantizeToF16":return this.builtins.QuantizeToF16(Et,xt);case"radians":return this.builtins.Radians(Et,xt);case"reflect":return this.builtins.Reflect(Et,xt);case"refract":return this.builtins.Refract(Et,xt);case"reverseBits":return this.builtins.ReverseBits(Et,xt);case"round":return this.builtins.Round(Et,xt);case"saturate":return this.builtins.Saturate(Et,xt);case"sign":return this.builtins.Sign(Et,xt);case"sin":return this.builtins.Sin(Et,xt);case"sinh":return this.builtins.Sinh(Et,xt);case"smoothstep":return this.builtins.SmoothStep(Et,xt);case"sqrt":return this.builtins.Sqrt(Et,xt);case"step":return this.builtins.Step(Et,xt);case"tan":return this.builtins.Tan(Et,xt);case"tanh":return this.builtins.Tanh(Et,xt);case"transpose":return this.builtins.Transpose(Et,xt);case"trunc":return this.builtins.Trunc(Et,xt);case"dpdx":return this.builtins.Dpdx(Et,xt);case"dpdxCoarse":return this.builtins.DpdxCoarse(Et,xt);case"dpdxFine":return this.builtins.DpdxFine(Et,xt);case"dpdy":return this.builtins.Dpdy(Et,xt);case"dpdyCoarse":return this.builtins.DpdyCoarse(Et,xt);case"dpdyFine":return this.builtins.DpdyFine(Et,xt);case"fwidth":return this.builtins.Fwidth(Et,xt);case"fwidthCoarse":return this.builtins.FwidthCoarse(Et,xt);case"fwidthFine":return this.builtins.FwidthFine(Et,xt);case"textureDimensions":return this.builtins.TextureDimensions(Et,xt);case"textureGather":return this.builtins.TextureGather(Et,xt);case"textureGatherCompare":return this.builtins.TextureGatherCompare(Et,xt);case"textureLoad":return this.builtins.TextureLoad(Et,xt);case"textureNumLayers":return this.builtins.TextureNumLayers(Et,xt);case"textureNumLevels":return this.builtins.TextureNumLevels(Et,xt);case"textureNumSamples":return this.builtins.TextureNumSamples(Et,xt);case"textureSample":return this.builtins.TextureSample(Et,xt);case"textureSampleBias":return this.builtins.TextureSampleBias(Et,xt);case"textureSampleCompare":return this.builtins.TextureSampleCompare(Et,xt);case"textureSampleCompareLevel":return this.builtins.TextureSampleCompareLevel(Et,xt);case"textureSampleGrad":return this.builtins.TextureSampleGrad(Et,xt);case"textureSampleLevel":return this.builtins.TextureSampleLevel(Et,xt);case"textureSampleBaseClampToEdge":return this.builtins.TextureSampleBaseClampToEdge(Et,xt);case"textureStore":return this.builtins.TextureStore(Et,xt);case"atomicLoad":return this.builtins.AtomicLoad(Et,xt);case"atomicStore":return this.builtins.AtomicStore(Et,xt);case"atomicAdd":return this.builtins.AtomicAdd(Et,xt);case"atomicSub":return this.builtins.AtomicSub(Et,xt);case"atomicMax":return this.builtins.AtomicMax(Et,xt);case"atomicMin":return this.builtins.AtomicMin(Et,xt);case"atomicAnd":return this.builtins.AtomicAnd(Et,xt);case"atomicOr":return this.builtins.AtomicOr(Et,xt);case"atomicXor":return this.builtins.AtomicXor(Et,xt);case"atomicExchange":return this.builtins.AtomicExchange(Et,xt);case"atomicCompareExchangeWeak":return this.builtins.AtomicCompareExchangeWeak(Et,xt);case"pack4x8snorm":return this.builtins.Pack4x8snorm(Et,xt);case"pack4x8unorm":return this.builtins.Pack4x8unorm(Et,xt);case"pack4xI8":return this.builtins.Pack4xI8(Et,xt);case"pack4xU8":return this.builtins.Pack4xU8(Et,xt);case"pack4x8Clamp":return this.builtins.Pack4x8Clamp(Et,xt);case"pack4xU8Clamp":return this.builtins.Pack4xU8Clamp(Et,xt);case"pack2x16snorm":return this.builtins.Pack2x16snorm(Et,xt);case"pack2x16unorm":return this.builtins.Pack2x16unorm(Et,xt);case"pack2x16float":return this.builtins.Pack2x16float(Et,xt);case"unpack4x8snorm":return this.builtins.Unpack4x8snorm(Et,xt);case"unpack4x8unorm":return this.builtins.Unpack4x8unorm(Et,xt);case"unpack4xI8":return this.builtins.Unpack4xI8(Et,xt);case"unpack4xU8":return this.builtins.Unpack4xU8(Et,xt);case"unpack2x16snorm":return this.builtins.Unpack2x16snorm(Et,xt);case"unpack2x16unorm":return this.builtins.Unpack2x16unorm(Et,xt);case"unpack2x16float":return this.builtins.Unpack2x16float(Et,xt);case"storageBarrier":return this.builtins.StorageBarrier(Et,xt);case"textureBarrier":return this.builtins.TextureBarrier(Et,xt);case"workgroupBarrier":return this.builtins.WorkgroupBarrier(Et,xt);case"workgroupUniformLoad":return this.builtins.WorkgroupUniformLoad(Et,xt);case"subgroupAdd":return this.builtins.SubgroupAdd(Et,xt);case"subgroupExclusiveAdd":return this.builtins.SubgroupExclusiveAdd(Et,xt);case"subgroupInclusiveAdd":return this.builtins.SubgroupInclusiveAdd(Et,xt);case"subgroupAll":return this.builtins.SubgroupAll(Et,xt);case"subgroupAnd":return this.builtins.SubgroupAnd(Et,xt);case"subgroupAny":return this.builtins.SubgroupAny(Et,xt);case"subgroupBallot":return this.builtins.SubgroupBallot(Et,xt);case"subgroupBroadcast":return this.builtins.SubgroupBroadcast(Et,xt);case"subgroupBroadcastFirst":return this.builtins.SubgroupBroadcastFirst(Et,xt);case"subgroupElect":return this.builtins.SubgroupElect(Et,xt);case"subgroupMax":return this.builtins.SubgroupMax(Et,xt);case"subgroupMin":return this.builtins.SubgroupMin(Et,xt);case"subgroupMul":return this.builtins.SubgroupMul(Et,xt);case"subgroupExclusiveMul":return this.builtins.SubgroupExclusiveMul(Et,xt);case"subgroupInclusiveMul":return this.builtins.SubgroupInclusiveMul(Et,xt);case"subgroupOr":return this.builtins.SubgroupOr(Et,xt);case"subgroupShuffle":return this.builtins.SubgroupShuffle(Et,xt);case"subgroupShuffleDown":return this.builtins.SubgroupShuffleDown(Et,xt);case"subgroupShuffleUp":return this.builtins.SubgroupShuffleUp(Et,xt);case"subgroupShuffleXor":return this.builtins.SubgroupShuffleXor(Et,xt);case"subgroupXor":return this.builtins.SubgroupXor(Et,xt);case"quadBroadcast":return this.builtins.QuadBroadcast(Et,xt);case"quadSwapDiagonal":return this.builtins.QuadSwapDiagonal(Et,xt);case"quadSwapX":return this.builtins.QuadSwapX(Et,xt);case"quadSwapY":return this.builtins.QuadSwapY(Et,xt)}const vt=xt.getFunction(Et.name);if(vt){const bt=xt.clone();for(let At=0;At<vt.node.args.length;++At){const Ft=vt.node.args[At],Ct=this.evalExpression(Et.args[At],bt);bt.setVariable(Ft.name,Ct,Ft)}return this._execStatements(vt.node.body,bt)}return null}_callConstructorValue(Et,xt){if(!Et.args||Et.args.length===0)return new Be$1(0,this.getTypeInfo(Et.type));const vt=this.evalExpression(Et.args[0],xt);return vt.typeInfo=this.getTypeInfo(Et.type),vt.getSubData(this,Et.postfix,xt).clone()}_callConstructorVec(Et,xt){const vt=this.getTypeInfo(Et.type),bt=Et.type.getTypeName(),At=ft[bt];if(At===void 0)return console.error(`Invalid vec constructor ${bt}. Line ${Et.line}`),null;const Ft=[];if(Et instanceof xe)if(Et.isVector){const Ct=Et.vectorValue;for(const wt of Ct)Ft.push(wt)}else Ft.push(Et.scalarValue);else if(Et.args)for(const Ct of Et.args){const wt=this.evalExpression(Ct,xt);if(wt instanceof Me$1){const St=wt.data;for(let Tt=0;Tt<St.length;++Tt){let Rt=St[Tt];Ft.push(Rt)}}else if(wt instanceof Be$1){let St=wt.value;Ft.push(St)}}if(Et.type instanceof ce$1&&Et.type.format===null&&(Et.type.format=ce$1.f32),Ft.length===0){const Ct=new Array(At).fill(0);return new Me$1(Ct,vt).getSubData(this,Et.postfix,xt)}if(Ft.length===1)for(;Ft.length<At;)Ft.push(Ft[0]);return Ft.length<At?(console.error(`Invalid vec constructor. Line ${Et.line}`),null):new Me$1(Ft.length>At?Ft.slice(0,At):Ft,vt).getSubData(this,Et.postfix,xt)}_callConstructorMatrix(Et,xt){const vt=this.getTypeInfo(Et.type),bt=Et.type.getTypeName(),At=pt[bt];if(At===void 0)return console.error(`Invalid matrix constructor ${bt}. Line ${Et.line}`),null;const Ft=[];if(Et instanceof xe)if(Et.isVector){const Ct=Et.vectorValue;for(const wt of Ct)Ft.push(wt)}else Ft.push(Et.scalarValue);else if(Et.args)for(const Ct of Et.args){const wt=this.evalExpression(Ct,xt);wt instanceof Me$1?Ft.push(...wt.data):wt instanceof Be$1?Ft.push(wt.value):wt instanceof Ue$1&&Ft.push(...wt.data)}if(vt instanceof a&&vt.format===null&&(vt.format=this.getTypeInfo("f32")),Ft.length===0){const Ct=new Array(At[2]).fill(0);return new Ue$1(Ct,vt).getSubData(this,Et.postfix,xt)}return Ft.length!==At[2]?(console.error(`Invalid matrix constructor. Line ${Et.line}`),null):new Ue$1(Ft,vt).getSubData(this,Et.postfix,xt)}}dt._breakObj=new Ne$1(new e("BREAK",null),null),dt._continueObj=new Ne$1(new e("CONTINUE",null),null),dt._priority=new Map([["f32",0],["f16",1],["u32",2],["i32",3],["x32",3]]);class mt{constructor(){this.constants=new Map,this.aliases=new Map,this.structs=new Map}}class gt{constructor(){this._tokens=[],this._current=0,this._currentLine=1,this._deferArrayCountEval=[],this._currentLoop=[],this._context=new mt,this._exec=new dt,this._forwardTypeCount=0}parse(Et){this._initialize(Et),this._deferArrayCountEval.length=0;const xt=[];for(;!this._isAtEnd();){const vt=this._global_decl_or_directive();if(!vt)break;xt.push(vt)}if(this._deferArrayCountEval.length>0){for(const vt of this._deferArrayCountEval){const bt=vt.arrayType,At=vt.countNode;if(At instanceof ge$1){const Ft=At.name,Ct=this._context.constants.get(Ft);if(Ct)try{const wt=Ct.constEvaluate(this._exec);bt.count=wt}catch{}}}this._deferArrayCountEval.length=0}if(this._forwardTypeCount>0)for(const vt of xt)vt.search(bt=>{bt instanceof Ce$1||bt instanceof le$1?bt.type=this._forwardType(bt.type):bt instanceof ue$1?bt.format=this._forwardType(bt.format):bt instanceof F$1||bt instanceof U$1||bt instanceof P$1?bt.type=this._forwardType(bt.type):bt instanceof D$1?bt.returnType=this._forwardType(bt.returnType):bt instanceof $e$1&&(bt.type=this._forwardType(bt.type))});return xt}_forwardType(Et){if(Et instanceof ie$1){const xt=this._getType(Et.name);if(xt)return xt}else Et instanceof le$1?Et.type=this._forwardType(Et.type):Et instanceof ue$1&&(Et.format=this._forwardType(Et.format));return Et}_initialize(Et){if(Et)if(typeof Et=="string"){const xt=new Re$1(Et);this._tokens=xt.scanTokens()}else this._tokens=Et;else this._tokens=[];this._current=0}_updateNode(Et,xt){return Et.line=xt??this._currentLine,Et}_error(Et,xt){return{token:Et,message:xt,toString:()=>`${xt}`}}_isAtEnd(){return this._current>=this._tokens.length||this._peek().type==He$1.eof}_match(Et){if(Et instanceof qe$1)return!!this._check(Et)&&(this._advance(),!0);for(let xt=0,vt=Et.length;xt<vt;++xt){const bt=Et[xt];if(this._check(bt))return this._advance(),!0}return!1}_consume(Et,xt){if(this._check(Et))return this._advance();throw this._error(this._peek(),`${xt}. Line:${this._currentLine}`)}_check(Et){if(this._isAtEnd())return!1;const xt=this._peek();if(Et instanceof Array){const vt=xt.type;let bt=!1;for(const At of Et){if(vt===At)return!0;At===He$1.tokens.name&&(bt=!0)}if(bt){const At=He$1.tokens.name.rule.exec(xt.lexeme);if(At&&At.index==0&&At[0]==xt.lexeme)return!0}return!1}if(xt.type===Et)return!0;if(Et===He$1.tokens.name){const vt=He$1.tokens.name.rule.exec(xt.lexeme);return vt&&vt.index==0&&vt[0]==xt.lexeme}return!1}_advance(){var Et,xt;return this._currentLine=(xt=(Et=this._peek())===null||Et===void 0?void 0:Et.line)!==null&&xt!==void 0?xt:-1,this._isAtEnd()||this._current++,this._previous()}_peek(){return this._tokens[this._current]}_previous(){return this._tokens[this._current-1]}_global_decl_or_directive(){for(;this._match(He$1.tokens.semicolon)&&!this._isAtEnd(););if(this._match(He$1.keywords.alias)){const xt=this._type_alias();return this._consume(He$1.tokens.semicolon,"Expected ';'"),this._exec.reflection.updateAST([xt]),xt}if(this._match(He$1.keywords.diagnostic)){const xt=this._diagnostic();return this._consume(He$1.tokens.semicolon,"Expected ';'"),this._exec.reflection.updateAST([xt]),xt}if(this._match(He$1.keywords.requires)){const xt=this._requires_directive();return this._consume(He$1.tokens.semicolon,"Expected ';'"),this._exec.reflection.updateAST([xt]),xt}if(this._match(He$1.keywords.enable)){const xt=this._enable_directive();return this._consume(He$1.tokens.semicolon,"Expected ';'"),this._exec.reflection.updateAST([xt]),xt}const Et=this._attribute();if(this._check(He$1.keywords.var)){const xt=this._global_variable_decl();return xt!=null&&(xt.attributes=Et),this._consume(He$1.tokens.semicolon,"Expected ';'."),this._exec.reflection.updateAST([xt]),xt}if(this._check(He$1.keywords.override)){const xt=this._override_variable_decl();return xt!=null&&(xt.attributes=Et),this._consume(He$1.tokens.semicolon,"Expected ';'."),this._exec.reflection.updateAST([xt]),xt}if(this._check(He$1.keywords.let)){const xt=this._global_let_decl();return xt!=null&&(xt.attributes=Et),this._consume(He$1.tokens.semicolon,"Expected ';'."),this._exec.reflection.updateAST([xt]),xt}if(this._check(He$1.keywords.const)){const xt=this._global_const_decl();return xt!=null&&(xt.attributes=Et),this._consume(He$1.tokens.semicolon,"Expected ';'."),this._exec.reflection.updateAST([xt]),xt}if(this._check(He$1.keywords.struct)){const xt=this._struct_decl();return xt!=null&&(xt.attributes=Et),this._exec.reflection.updateAST([xt]),xt}if(this._check(He$1.keywords.fn)){const xt=this._function_decl();return xt!=null&&(xt.attributes=Et),this._exec.reflection.updateAST([xt]),xt}return null}_function_decl(){if(!this._match(He$1.keywords.fn))return null;const Et=this._currentLine,xt=this._consume(He$1.tokens.ident,"Expected function name.").toString();this._consume(He$1.tokens.paren_left,"Expected '(' for function arguments.");const vt=[];if(!this._check(He$1.tokens.paren_right))do{if(this._check(He$1.tokens.paren_right))break;const Ct=this._attribute(),wt=this._consume(He$1.tokens.name,"Expected argument name.").toString();this._consume(He$1.tokens.colon,"Expected ':' for argument type.");const St=this._attribute(),Tt=this._type_decl();Tt!=null&&(Tt.attributes=St,vt.push(this._updateNode(new $e$1(wt,Tt,Ct))))}while(this._match(He$1.tokens.comma));this._consume(He$1.tokens.paren_right,"Expected ')' after function arguments.");let bt=null;if(this._match(He$1.tokens.arrow)){const Ct=this._attribute();bt=this._type_decl(),bt!=null&&(bt.attributes=Ct)}const At=this._compound_statement(),Ft=this._currentLine;return this._updateNode(new D$1(xt,vt,bt,At,Et,Ft),Et)}_compound_statement(){const Et=[];for(this._consume(He$1.tokens.brace_left,"Expected '{' for block.");!this._check(He$1.tokens.brace_right);){const xt=this._statement();xt!==null&&Et.push(xt)}return this._consume(He$1.tokens.brace_right,"Expected '}' for block."),Et}_statement(){for(;this._match(He$1.tokens.semicolon)&&!this._isAtEnd(););if(this._check(He$1.tokens.attr)&&this._attribute(),this._check(He$1.keywords.if))return this._if_statement();if(this._check(He$1.keywords.switch))return this._switch_statement();if(this._check(He$1.keywords.loop))return this._loop_statement();if(this._check(He$1.keywords.for))return this._for_statement();if(this._check(He$1.keywords.while))return this._while_statement();if(this._check(He$1.keywords.continuing))return this._continuing_statement();if(this._check(He$1.keywords.static_assert))return this._static_assert_statement();if(this._check(He$1.tokens.brace_left))return this._compound_statement();let Et=null;if(this._check(He$1.keywords.return))Et=this._return_statement();else if(this._check([He$1.keywords.var,He$1.keywords.let,He$1.keywords.const]))Et=this._variable_statement();else if(this._match(He$1.keywords.discard))Et=this._updateNode(new ne);else if(this._match(He$1.keywords.break)){const xt=this._updateNode(new se$1);if(this._currentLoop.length>0){const vt=this._currentLoop[this._currentLoop.length-1];xt.loopId=vt.id}Et=xt,this._check(He$1.keywords.if)&&(this._advance(),xt.condition=this._optional_paren_expression())}else if(this._match(He$1.keywords.continue)){const xt=this._updateNode(new re$1);if(!(this._currentLoop.length>0))throw this._error(this._peek(),`Continue statement must be inside a loop. Line: ${xt.line}`);{const vt=this._currentLoop[this._currentLoop.length-1];xt.loopId=vt.id}Et=xt}else Et=this._increment_decrement_statement()||this._func_call_statement()||this._assignment_statement();return Et!=null&&this._consume(He$1.tokens.semicolon,"Expected ';' after statement."),Et}_static_assert_statement(){if(!this._match(He$1.keywords.static_assert))return null;const Et=this._currentLine,xt=this._optional_paren_expression();return this._updateNode(new N$1(xt),Et)}_while_statement(){if(!this._match(He$1.keywords.while))return null;const Et=this._updateNode(new V$1(null,null));return this._currentLoop.push(Et),Et.condition=this._optional_paren_expression(),this._check(He$1.tokens.attr)&&this._attribute(),Et.body=this._compound_statement(),this._currentLoop.pop(),Et}_continuing_statement(){const Et=this._currentLoop.length>0?this._currentLoop[this._currentLoop.length-1].id:-1;if(!this._match(He$1.keywords.continuing))return null;const xt=this._currentLine,vt=this._compound_statement();return this._updateNode(new O(vt,Et),xt)}_for_statement(){if(!this._match(He$1.keywords.for))return null;this._consume(He$1.tokens.paren_left,"Expected '('.");const Et=this._updateNode(new B$1(null,null,null,null));return this._currentLoop.push(Et),Et.init=this._check(He$1.tokens.semicolon)?null:this._for_init(),this._consume(He$1.tokens.semicolon,"Expected ';'."),Et.condition=this._check(He$1.tokens.semicolon)?null:this._short_circuit_or_expression(),this._consume(He$1.tokens.semicolon,"Expected ';'."),Et.increment=this._check(He$1.tokens.paren_right)?null:this._for_increment(),this._consume(He$1.tokens.paren_right,"Expected ')'."),this._check(He$1.tokens.attr)&&this._attribute(),Et.body=this._compound_statement(),this._currentLoop.pop(),Et}_for_init(){return this._variable_statement()||this._func_call_statement()||this._assignment_statement()}_for_increment(){return this._func_call_statement()||this._increment_decrement_statement()||this._assignment_statement()}_variable_statement(){if(this._check(He$1.keywords.var)){const Et=this._variable_decl();if(Et===null)throw this._error(this._peek(),"Variable declaration expected.");let xt=null;return this._match(He$1.tokens.equal)&&(xt=this._short_circuit_or_expression()),this._updateNode(new F$1(Et.name,Et.type,Et.storage,Et.access,xt),Et.line)}if(this._match(He$1.keywords.let)){const Et=this._currentLine,xt=this._consume(He$1.tokens.name,"Expected name for let.").toString();let vt=null;if(this._match(He$1.tokens.colon)){const At=this._attribute();vt=this._type_decl(),vt!=null&&(vt.attributes=At)}this._consume(He$1.tokens.equal,"Expected '=' for let.");const bt=this._short_circuit_or_expression();return this._updateNode(new U$1(xt,vt,null,null,bt),Et)}if(this._match(He$1.keywords.const)){const Et=this._currentLine,xt=this._consume(He$1.tokens.name,"Expected name for const.").toString();let vt=null;if(this._match(He$1.tokens.colon)){const At=this._attribute();vt=this._type_decl(),vt!=null&&(vt.attributes=At)}this._consume(He$1.tokens.equal,"Expected '=' for const.");const bt=this._short_circuit_or_expression();return vt===null&&bt instanceof xe&&(vt=bt.type),this._updateNode(new P$1(xt,vt,null,null,bt),Et)}return null}_increment_decrement_statement(){const Et=this._current,xt=this._unary_expression();if(xt==null)return null;if(!this._check(He$1.increment_operators))return this._current=Et,null;const vt=this._consume(He$1.increment_operators,"Expected increment operator");return this._updateNode(new R$1(vt.type===He$1.tokens.plus_plus?W$1.increment:W$1.decrement,xt))}_assignment_statement(){let Et=null;const xt=this._currentLine;if(this._check(He$1.tokens.brace_right))return null;let vt=this._match(He$1.tokens.underscore);if(vt||(Et=this._unary_expression()),!vt&&Et==null)return null;const bt=this._consume(He$1.assignment_operators,"Expected assignment operator."),At=this._short_circuit_or_expression();return this._updateNode(new G$1(q$1.parse(bt.lexeme),Et,At),xt)}_func_call_statement(){if(!this._check(He$1.tokens.ident))return null;const Et=this._currentLine,xt=this._current,vt=this._consume(He$1.tokens.ident,"Expected function name."),bt=this._argument_expression_list();return bt===null?(this._current=xt,null):this._updateNode(new X$1(vt.lexeme,bt),Et)}_loop_statement(){if(!this._match(He$1.keywords.loop))return null;this._check(He$1.tokens.attr)&&this._attribute(),this._consume(He$1.tokens.brace_left,"Expected '{' for loop.");const Et=this._updateNode(new j$1([],null));this._currentLoop.push(Et);let xt=this._statement();for(;xt!==null;){if(Array.isArray(xt))for(let vt of xt)Et.body.push(vt);else Et.body.push(xt);if(xt instanceof O){Et.continuing=xt;break}xt=this._statement()}return this._currentLoop.pop(),this._consume(He$1.tokens.brace_right,"Expected '}' for loop."),Et}_switch_statement(){if(!this._match(He$1.keywords.switch))return null;const Et=this._updateNode(new Z(null,[]));if(this._currentLoop.push(Et),Et.condition=this._optional_paren_expression(),this._check(He$1.tokens.attr)&&this._attribute(),this._consume(He$1.tokens.brace_left,"Expected '{' for switch."),Et.cases=this._switch_body(),Et.cases==null||Et.cases.length==0)throw this._error(this._previous(),"Expected 'case' or 'default'.");return this._consume(He$1.tokens.brace_right,"Expected '}' for switch."),this._currentLoop.pop(),Et}_switch_body(){const Et=[];let xt=!1;for(;this._check([He$1.keywords.default,He$1.keywords.case]);){if(this._match(He$1.keywords.case)){const vt=this._case_selectors();for(const At of vt)if(At instanceof Se$1){if(xt)throw this._error(this._previous(),"Multiple default cases in switch statement.");xt=!0;break}this._match(He$1.tokens.colon),this._check(He$1.tokens.attr)&&this._attribute(),this._consume(He$1.tokens.brace_left,"Exected '{' for switch case.");const bt=this._case_body();this._consume(He$1.tokens.brace_right,"Exected '}' for switch case."),Et.push(this._updateNode(new Ae$1(vt,bt)))}if(this._match(He$1.keywords.default)){if(xt)throw this._error(this._previous(),"Multiple default cases in switch statement.");this._match(He$1.tokens.colon),this._check(He$1.tokens.attr)&&this._attribute(),this._consume(He$1.tokens.brace_left,"Exected '{' for switch default.");const vt=this._case_body();this._consume(He$1.tokens.brace_right,"Exected '}' for switch default."),Et.push(this._updateNode(new Ee$1(vt)))}}return Et}_case_selectors(){const Et=[];for(this._match(He$1.keywords.default)?Et.push(this._updateNode(new Se$1)):Et.push(this._shift_expression());this._match(He$1.tokens.comma);)this._match(He$1.keywords.default)?Et.push(this._updateNode(new Se$1)):Et.push(this._shift_expression());return Et}_case_body(){if(this._match(He$1.keywords.fallthrough))return this._consume(He$1.tokens.semicolon,"Expected ';'"),[];let Et=this._statement();if(Et==null)return[];Et instanceof Array||(Et=[Et]);const xt=this._case_body();return xt.length==0?Et:[...Et,xt[0]]}_if_statement(){if(!this._match(He$1.keywords.if))return null;const Et=this._currentLine,xt=this._optional_paren_expression();this._check(He$1.tokens.attr)&&this._attribute();const vt=this._compound_statement();let bt=[];this._match_elseif()&&(this._check(He$1.tokens.attr)&&this._attribute(),bt=this._elseif_statement(bt));let At=null;return this._match(He$1.keywords.else)&&(this._check(He$1.tokens.attr)&&this._attribute(),At=this._compound_statement()),this._updateNode(new Q$1(xt,vt,bt,At),Et)}_match_elseif(){return this._tokens[this._current].type===He$1.keywords.else&&this._tokens[this._current+1].type===He$1.keywords.if&&(this._advance(),this._advance(),!0)}_elseif_statement(Et=[]){const xt=this._optional_paren_expression(),vt=this._compound_statement();return Et.push(this._updateNode(new Le$1(xt,vt))),this._match_elseif()&&(this._check(He$1.tokens.attr)&&this._attribute(),this._elseif_statement(Et)),Et}_return_statement(){if(!this._match(He$1.keywords.return))return null;const Et=this._short_circuit_or_expression();return this._updateNode(new Y(Et))}_short_circuit_or_expression(){let Et=this._short_circuit_and_expr();for(;this._match(He$1.tokens.or_or);)Et=this._updateNode(new Ie$1(this._previous().toString(),Et,this._short_circuit_and_expr()));return Et}_short_circuit_and_expr(){let Et=this._inclusive_or_expression();for(;this._match(He$1.tokens.and_and);)Et=this._updateNode(new Ie$1(this._previous().toString(),Et,this._inclusive_or_expression()));return Et}_inclusive_or_expression(){let Et=this._exclusive_or_expression();for(;this._match(He$1.tokens.or);)Et=this._updateNode(new Ie$1(this._previous().toString(),Et,this._exclusive_or_expression()));return Et}_exclusive_or_expression(){let Et=this._and_expression();for(;this._match(He$1.tokens.xor);)Et=this._updateNode(new Ie$1(this._previous().toString(),Et,this._and_expression()));return Et}_and_expression(){let Et=this._equality_expression();for(;this._match(He$1.tokens.and);)Et=this._updateNode(new Ie$1(this._previous().toString(),Et,this._equality_expression()));return Et}_equality_expression(){const Et=this._relational_expression();return this._match([He$1.tokens.equal_equal,He$1.tokens.not_equal])?this._updateNode(new Ie$1(this._previous().toString(),Et,this._relational_expression())):Et}_relational_expression(){let Et=this._shift_expression();for(;this._match([He$1.tokens.less_than,He$1.tokens.greater_than,He$1.tokens.less_than_equal,He$1.tokens.greater_than_equal]);)Et=this._updateNode(new Ie$1(this._previous().toString(),Et,this._shift_expression()));return Et}_shift_expression(){let Et=this._additive_expression();for(;this._match([He$1.tokens.shift_left,He$1.tokens.shift_right]);)Et=this._updateNode(new Ie$1(this._previous().toString(),Et,this._additive_expression()));return Et}_additive_expression(){let Et=this._multiplicative_expression();for(;this._match([He$1.tokens.plus,He$1.tokens.minus]);)Et=this._updateNode(new Ie$1(this._previous().toString(),Et,this._multiplicative_expression()));return Et}_multiplicative_expression(){let Et=this._unary_expression();for(;this._match([He$1.tokens.star,He$1.tokens.forward_slash,He$1.tokens.modulo]);)Et=this._updateNode(new Ie$1(this._previous().toString(),Et,this._unary_expression()));return Et}_unary_expression(){return this._match([He$1.tokens.minus,He$1.tokens.bang,He$1.tokens.tilde,He$1.tokens.star,He$1.tokens.and])?this._updateNode(new ke$1(this._previous().toString(),this._unary_expression())):this._singular_expression()}_singular_expression(){const Et=this._primary_expression(),xt=this._postfix_expression();return xt&&(Et.postfix=xt),Et}_postfix_expression(){if(this._match(He$1.tokens.bracket_left)){const Et=this._short_circuit_or_expression();this._consume(He$1.tokens.bracket_right,"Expected ']'.");const xt=this._updateNode(new ve$1(Et)),vt=this._postfix_expression();return vt&&(xt.postfix=vt),xt}if(this._match(He$1.tokens.period)){const Et=this._consume(He$1.tokens.name,"Expected member name."),xt=this._postfix_expression(),vt=this._updateNode(new pe$1(Et.lexeme));return xt&&(vt.postfix=xt),vt}return null}_getStruct(Et){return this._context.aliases.has(Et)?this._context.aliases.get(Et).type:this._context.structs.has(Et)?this._context.structs.get(Et):null}_getType(Et){const xt=this._getStruct(Et);if(xt!==null)return xt;switch(Et){case"void":return ae$1.void;case"bool":return ae$1.bool;case"i32":return ae$1.i32;case"u32":return ae$1.u32;case"f32":return ae$1.f32;case"f16":return ae$1.f16;case"vec2f":return ce$1.vec2f;case"vec3f":return ce$1.vec3f;case"vec4f":return ce$1.vec4f;case"vec2i":return ce$1.vec2i;case"vec3i":return ce$1.vec3i;case"vec4i":return ce$1.vec4i;case"vec2u":return ce$1.vec2u;case"vec3u":return ce$1.vec3u;case"vec4u":return ce$1.vec4u;case"vec2h":return ce$1.vec2h;case"vec3h":return ce$1.vec3h;case"vec4h":return ce$1.vec4h;case"mat2x2f":return ce$1.mat2x2f;case"mat2x3f":return ce$1.mat2x3f;case"mat2x4f":return ce$1.mat2x4f;case"mat3x2f":return ce$1.mat3x2f;case"mat3x3f":return ce$1.mat3x3f;case"mat3x4f":return ce$1.mat3x4f;case"mat4x2f":return ce$1.mat4x2f;case"mat4x3f":return ce$1.mat4x3f;case"mat4x4f":return ce$1.mat4x4f;case"mat2x2h":return ce$1.mat2x2h;case"mat2x3h":return ce$1.mat2x3h;case"mat2x4h":return ce$1.mat2x4h;case"mat3x2h":return ce$1.mat3x2h;case"mat3x3h":return ce$1.mat3x3h;case"mat3x4h":return ce$1.mat3x4h;case"mat4x2h":return ce$1.mat4x2h;case"mat4x3h":return ce$1.mat4x3h;case"mat4x4h":return ce$1.mat4x4h;case"mat2x2i":return ce$1.mat2x2i;case"mat2x3i":return ce$1.mat2x3i;case"mat2x4i":return ce$1.mat2x4i;case"mat3x2i":return ce$1.mat3x2i;case"mat3x3i":return ce$1.mat3x3i;case"mat3x4i":return ce$1.mat3x4i;case"mat4x2i":return ce$1.mat4x2i;case"mat4x3i":return ce$1.mat4x3i;case"mat4x4i":return ce$1.mat4x4i;case"mat2x2u":return ce$1.mat2x2u;case"mat2x3u":return ce$1.mat2x3u;case"mat2x4u":return ce$1.mat2x4u;case"mat3x2u":return ce$1.mat3x2u;case"mat3x3u":return ce$1.mat3x3u;case"mat3x4u":return ce$1.mat3x4u;case"mat4x2u":return ce$1.mat4x2u;case"mat4x3u":return ce$1.mat4x3u;case"mat4x4u":return ce$1.mat4x4u}return null}_validateTypeRange(Et,xt){if(xt.name==="i32"){if(Et<-2147483648||Et>2147483647)throw this._error(this._previous(),`Value out of range for i32: ${Et}. Line: ${this._currentLine}.`)}else if(xt.name==="u32"&&(Et<0||Et>4294967295))throw this._error(this._previous(),`Value out of range for u32: ${Et}. Line: ${this._currentLine}.`)}_primary_expression(){if(this._match(He$1.tokens.ident)){const vt=this._previous().toString();if(this._check(He$1.tokens.paren_left)){const bt=this._argument_expression_list(),At=this._getType(vt);return At!==null?this._updateNode(new de$1(At,bt)):this._updateNode(new me$1(vt,bt))}if(this._context.constants.has(vt)){const bt=this._context.constants.get(vt);return this._updateNode(new _e$1(vt,bt.value))}return this._updateNode(new ge$1(vt))}if(this._match(He$1.tokens.int_literal)){const vt=this._previous().toString();let bt=vt.endsWith("i")||vt.endsWith("i")?ae$1.i32:vt.endsWith("u")||vt.endsWith("U")?ae$1.u32:ae$1.x32;const At=parseInt(vt);return this._validateTypeRange(At,bt),this._updateNode(new xe(new Be$1(At,this._exec.getTypeInfo(bt)),bt))}if(this._match(He$1.tokens.uint_literal)){const vt=parseInt(this._previous().toString());return this._validateTypeRange(vt,ae$1.u32),this._updateNode(new xe(new Be$1(vt,this._exec.getTypeInfo(ae$1.u32)),ae$1.u32))}if(this._match([He$1.tokens.decimal_float_literal,He$1.tokens.hex_float_literal])){let vt=this._previous().toString(),bt=vt.endsWith("h");bt&&(vt=vt.substring(0,vt.length-1));const At=parseFloat(vt);this._validateTypeRange(At,bt?ae$1.f16:ae$1.f32);const Ft=bt?ae$1.f16:ae$1.f32;return this._updateNode(new xe(new Be$1(At,this._exec.getTypeInfo(Ft)),Ft))}if(this._match([He$1.keywords.true,He$1.keywords.false])){let vt=this._previous().toString()===He$1.keywords.true.rule;return this._updateNode(new xe(new Be$1(vt?1:0,this._exec.getTypeInfo(ae$1.bool)),ae$1.bool))}if(this._check(He$1.tokens.paren_left))return this._paren_expression();if(this._match(He$1.keywords.bitcast)){this._consume(He$1.tokens.less_than,"Expected '<'.");const vt=this._type_decl();this._consume(He$1.tokens.greater_than,"Expected '>'.");const bt=this._paren_expression();return this._updateNode(new ye$1(vt,bt))}const Et=this._type_decl(),xt=this._argument_expression_list();return this._updateNode(new de$1(Et,xt))}_argument_expression_list(){if(!this._match(He$1.tokens.paren_left))return null;const Et=[];do{if(this._check(He$1.tokens.paren_right))break;const xt=this._short_circuit_or_expression();Et.push(xt)}while(this._match(He$1.tokens.comma));return this._consume(He$1.tokens.paren_right,"Expected ')' for agument list"),Et}_optional_paren_expression(){this._match(He$1.tokens.paren_left);const Et=this._short_circuit_or_expression();return this._match(He$1.tokens.paren_right),Et}_paren_expression(){this._consume(He$1.tokens.paren_left,"Expected '('.");const Et=this._short_circuit_or_expression();return this._consume(He$1.tokens.paren_right,"Expected ')'."),Et}_struct_decl(){if(!this._match(He$1.keywords.struct))return null;const Et=this._currentLine,xt=this._consume(He$1.tokens.ident,"Expected name for struct.").toString();this._consume(He$1.tokens.brace_left,"Expected '{' for struct body.");const vt=[];for(;!this._check(He$1.tokens.brace_right);){const Ft=this._attribute(),Ct=this._consume(He$1.tokens.name,"Expected variable name.").toString();this._consume(He$1.tokens.colon,"Expected ':' for struct member type.");const wt=this._attribute(),St=this._type_decl();St!=null&&(St.attributes=wt),this._check(He$1.tokens.brace_right)?this._match(He$1.tokens.comma):this._consume(He$1.tokens.comma,"Expected ',' for struct member."),vt.push(this._updateNode(new Ce$1(Ct,St,Ft)))}this._consume(He$1.tokens.brace_right,"Expected '}' after struct body.");const bt=this._currentLine,At=this._updateNode(new oe$1(xt,vt,Et,bt),Et);return this._context.structs.set(xt,At),At}_global_variable_decl(){const Et=this._variable_decl();if(!Et)return null;if(this._match(He$1.tokens.equal)){const xt=this._const_expression();Et.value=xt}if(Et.type!==null&&Et.value instanceof xe){if(Et.value.type.name!=="x32"&&Et.type.getTypeName()!==Et.value.type.getTypeName())throw this._error(this._peek(),`Invalid cast from ${Et.value.type.name} to ${Et.type.name}. Line:${this._currentLine}`);Et.value.isScalar&&this._validateTypeRange(Et.value.scalarValue,Et.type),Et.value.type=Et.type}else Et.type===null&&Et.value instanceof xe&&(Et.type=Et.value.type.name==="x32"?ae$1.i32:Et.value.type,Et.value.isScalar&&this._validateTypeRange(Et.value.scalarValue,Et.type));return Et}_override_variable_decl(){const Et=this._override_decl();return Et&&this._match(He$1.tokens.equal)&&(Et.value=this._const_expression()),Et}_global_const_decl(){var Et;if(!this._match(He$1.keywords.const))return null;const xt=this._consume(He$1.tokens.name,"Expected variable name"),vt=this._currentLine;let bt=null;if(this._match(He$1.tokens.colon)){const wt=this._attribute();bt=this._type_decl(),bt!=null&&(bt.attributes=wt)}let At=null;this._consume(He$1.tokens.equal,"const declarations require an assignment");const Ft=this._short_circuit_or_expression();try{let wt=[ae$1.f32],St=Ft.constEvaluate(this._exec,wt);St instanceof Be$1&&this._validateTypeRange(St.value,wt[0]),wt[0]instanceof ce$1&&wt[0].format===null&&St.typeInfo instanceof a&&St.typeInfo.format!==null&&(St.typeInfo.format.name==="f16"?wt[0].format=ae$1.f16:St.typeInfo.format.name==="f32"?wt[0].format=ae$1.f32:St.typeInfo.format.name==="i32"?wt[0].format=ae$1.i32:St.typeInfo.format.name==="u32"?wt[0].format=ae$1.u32:St.typeInfo.format.name==="bool"?wt[0].format=ae$1.bool:console.error(`TODO: impelement template format type ${St.typeInfo.format.name}`)),At=this._updateNode(new xe(St,wt[0])),this._exec.context.setVariable(xt.toString(),St)}catch{At=Ft}if(bt!==null&&At instanceof xe){if(At.type.name!=="x32"&&bt.getTypeName()!==At.type.getTypeName())throw this._error(this._peek(),`Invalid cast from ${At.type.name} to ${bt.name}. Line:${this._currentLine}`);At.type=bt,At.isScalar&&this._validateTypeRange(At.scalarValue,At.type)}else bt===null&&At instanceof xe&&(bt=(Et=At?.type)!==null&&Et!==void 0?Et:ae$1.f32,bt===ae$1.x32&&(bt=ae$1.i32));const Ct=this._updateNode(new P$1(xt.toString(),bt,"","",At),vt);return this._context.constants.set(Ct.name,Ct),Ct}_global_let_decl(){if(!this._match(He$1.keywords.let))return null;const Et=this._currentLine,xt=this._consume(He$1.tokens.name,"Expected variable name");let vt=null;if(this._match(He$1.tokens.colon)){const At=this._attribute();vt=this._type_decl(),vt!=null&&(vt.attributes=At)}let bt=null;if(this._match(He$1.tokens.equal)&&(bt=this._const_expression()),vt!==null&&bt instanceof xe){if(bt.type.name!=="x32"&&vt.getTypeName()!==bt.type.getTypeName())throw this._error(this._peek(),`Invalid cast from ${bt.type.name} to ${vt.name}. Line:${this._currentLine}`);bt.type=vt}else vt===null&&bt instanceof xe&&(vt=bt.type.name==="x32"?ae$1.i32:bt.type);return bt instanceof xe&&bt.isScalar&&this._validateTypeRange(bt.scalarValue,vt),this._updateNode(new U$1(xt.toString(),vt,"","",bt),Et)}_const_expression(){return this._short_circuit_or_expression()}_variable_decl(){if(!this._match(He$1.keywords.var))return null;const Et=this._currentLine;let xt="",vt="";this._match(He$1.tokens.less_than)&&(xt=this._consume(He$1.storage_class,"Expected storage_class.").toString(),this._match(He$1.tokens.comma)&&(vt=this._consume(He$1.access_mode,"Expected access_mode.").toString()),this._consume(He$1.tokens.greater_than,"Expected '>'."));const bt=this._consume(He$1.tokens.name,"Expected variable name");let At=null;if(this._match(He$1.tokens.colon)){const Ft=this._attribute();At=this._type_decl(),At!=null&&(At.attributes=Ft)}return this._updateNode(new F$1(bt.toString(),At,xt,vt,null),Et)}_override_decl(){if(!this._match(He$1.keywords.override))return null;const Et=this._consume(He$1.tokens.name,"Expected variable name");let xt=null;if(this._match(He$1.tokens.colon)){const vt=this._attribute();xt=this._type_decl(),xt!=null&&(xt.attributes=vt)}return this._updateNode(new M$1(Et.toString(),xt,null))}_diagnostic(){this._consume(He$1.tokens.paren_left,"Expected '('");const Et=this._consume(He$1.tokens.ident,"Expected severity control name.");this._consume(He$1.tokens.comma,"Expected ','");let xt=this._consume(He$1.tokens.ident,"Expected diagnostic rule name.").toString();return this._match(He$1.tokens.period)&&(xt+=`.${this._consume(He$1.tokens.ident,"Expected diagnostic message.").toString()}`),this._consume(He$1.tokens.paren_right,"Expected ')'"),this._updateNode(new ee(Et.toString(),xt))}_enable_directive(){const Et=this._consume(He$1.tokens.ident,"identity expected.");return this._updateNode(new K$1(Et.toString()))}_requires_directive(){const Et=[this._consume(He$1.tokens.ident,"identity expected.").toString()];for(;this._match(He$1.tokens.comma);){const xt=this._consume(He$1.tokens.ident,"identity expected.");Et.push(xt.toString())}return this._updateNode(new J$1(Et))}_type_alias(){const Et=this._consume(He$1.tokens.ident,"identity expected.");this._consume(He$1.tokens.equal,"Expected '=' for type alias.");let xt=this._type_decl();if(xt===null)throw this._error(this._peek(),"Expected Type for Alias.");this._context.aliases.has(xt.name)&&(xt=this._context.aliases.get(xt.name).type);const vt=this._updateNode(new te(Et.toString(),xt));return this._context.aliases.set(vt.name,vt),vt}_type_decl(){if(this._check([He$1.tokens.ident,...He$1.texel_format,He$1.keywords.bool,He$1.keywords.f32,He$1.keywords.i32,He$1.keywords.u32])){const vt=this._advance().toString();if(this._context.structs.has(vt))return this._context.structs.get(vt);if(this._context.aliases.has(vt))return this._context.aliases.get(vt).type;if(!this._getType(vt)){const bt=this._updateNode(new ie$1(vt));return this._forwardTypeCount++,bt}return this._updateNode(new ae$1(vt))}let Et=this._texture_sampler_types();if(Et)return Et;if(this._check(He$1.template_types)){let vt=this._advance().toString(),bt=null,At=null;return this._match(He$1.tokens.less_than)&&(bt=this._type_decl(),At=null,this._match(He$1.tokens.comma)&&(At=this._consume(He$1.access_mode,"Expected access_mode for pointer").toString()),this._consume(He$1.tokens.greater_than,"Expected '>' for type.")),this._updateNode(new ce$1(vt,bt,At))}if(this._match(He$1.keywords.ptr)){let vt=this._previous().toString();this._consume(He$1.tokens.less_than,"Expected '<' for pointer.");const bt=this._consume(He$1.storage_class,"Expected storage_class for pointer");this._consume(He$1.tokens.comma,"Expected ',' for pointer.");const At=this._type_decl();let Ft=null;return this._match(He$1.tokens.comma)&&(Ft=this._consume(He$1.access_mode,"Expected access_mode for pointer").toString()),this._consume(He$1.tokens.greater_than,"Expected '>' for pointer."),this._updateNode(new le$1(vt,bt.toString(),At,Ft))}const xt=this._attribute();if(this._match(He$1.keywords.array)){let vt=null,bt=-1;const At=this._previous();let Ft=null;if(this._match(He$1.tokens.less_than)){vt=this._type_decl(),this._context.aliases.has(vt.name)&&(vt=this._context.aliases.get(vt.name).type);let wt="";if(this._match(He$1.tokens.comma)){Ft=this._shift_expression();try{wt=Ft.constEvaluate(this._exec).toString(),Ft=null}catch{wt="1"}}this._consume(He$1.tokens.greater_than,"Expected '>' for array."),bt=wt?parseInt(wt):0}const Ct=this._updateNode(new ue$1(At.toString(),xt,vt,bt));return Ft&&this._deferArrayCountEval.push({arrayType:Ct,countNode:Ft}),Ct}return null}_texture_sampler_types(){if(this._match(He$1.sampler_type))return this._updateNode(new he$1(this._previous().toString(),null,null));if(this._match(He$1.depth_texture_type))return this._updateNode(new he$1(this._previous().toString(),null,null));if(this._match(He$1.sampled_texture_type)||this._match(He$1.multisampled_texture_type)){const Et=this._previous();this._consume(He$1.tokens.less_than,"Expected '<' for sampler type.");const xt=this._type_decl();return this._consume(He$1.tokens.greater_than,"Expected '>' for sampler type."),this._updateNode(new he$1(Et.toString(),xt,null))}if(this._match(He$1.storage_texture_type)){const Et=this._previous();this._consume(He$1.tokens.less_than,"Expected '<' for sampler type.");const xt=this._consume(He$1.texel_format,"Invalid texel format.").toString();this._consume(He$1.tokens.comma,"Expected ',' after texel format.");const vt=this._consume(He$1.access_mode,"Expected access mode for storage texture type.").toString();return this._consume(He$1.tokens.greater_than,"Expected '>' for sampler type."),this._updateNode(new he$1(Et.toString(),xt,vt))}return null}_attribute(){let Et=[];for(;this._match(He$1.tokens.attr);){const xt=this._consume(He$1.attribute_name,"Expected attribute name"),vt=this._updateNode(new De$1(xt.toString(),null));if(this._match(He$1.tokens.paren_left)){if(vt.value=this._consume(He$1.literal_or_ident,"Expected attribute value").toString(),this._check(He$1.tokens.comma)){this._advance();do{const bt=this._consume(He$1.literal_or_ident,"Expected attribute value").toString();vt.value instanceof Array||(vt.value=[vt.value]),vt.value.push(bt)}while(this._match(He$1.tokens.comma))}this._consume(He$1.tokens.paren_right,"Expected ')'")}Et.push(vt)}return Et.length==0?null:Et}}class _t extends at{constructor(Et){super(),Et&&this.update(Et)}update(Et){const xt=new gt().parse(Et);this.updateAST(xt)}}function getShaderLayoutFromWGSL(yt){const Et={attributes:[],bindings:[]};let xt;try{xt=parseWGSL(yt)}catch(At){return log.error(At.message)(),Et}for(const At of xt.uniforms){const Ft=[];for(const Ct of At.type?.members||[])Ft.push({name:Ct.name,type:getType(Ct.type)});Et.bindings.push({type:"uniform",name:At.name,group:At.group,location:At.binding,members:Ft})}for(const At of xt.textures)Et.bindings.push({type:"texture",name:At.name,group:At.group,location:At.binding});for(const At of xt.samplers)Et.bindings.push({type:"sampler",name:At.name,group:At.group,location:At.binding});const vt=xt.entry.vertex[0],bt=vt?.inputs.length||0;for(let At=0;At<bt;At++){const Ft=vt.inputs[At];if(Ft.locationType==="location"){const Ct=getType(Ft.type);Et.attributes.push({name:Ft.name,location:Number(Ft.location),type:Ct})}}return Et}function getType(yt){return yt?.format?`${yt.name}<${yt.format.name}>`:yt.name}function parseWGSL(yt){try{return new _t(yt)}catch(Et){if(Et instanceof Error)throw Et;let xt="WGSL parse error";throw typeof Et=="object"&&Et?.message&&(xt+=`: ${Et.message} `),typeof Et=="object"&&Et?.token&&(xt+=Et.token.line||""),new Error(xt,{cause:Et})}}const DEFAULT_CONFIG={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...DEFAULT_CONFIG}};const config=globalThis.mathgl.config;function formatValue(yt,{precision:Et=config.precision}={}){return yt=round(yt),`${parseFloat(yt.toPrecision(Et))}`}function isArray$3(yt){return Array.isArray(yt)||ArrayBuffer.isView(yt)&&!(yt instanceof DataView)}function clamp$3(yt,Et,xt){return map$1(yt,vt=>Math.max(Et,Math.min(xt,vt)))}function lerp$2(yt,Et,xt){return isArray$3(yt)?yt.map((vt,bt)=>lerp$2(vt,Et[bt],xt)):xt*Et+(1-xt)*yt}function equals$1(yt,Et,xt){const vt=config.EPSILON;try{if(yt===Et)return!0;if(isArray$3(yt)&&isArray$3(Et)){if(yt.length!==Et.length)return!1;for(let bt=0;bt<yt.length;++bt)if(!equals$1(yt[bt],Et[bt]))return!1;return!0}return yt&&yt.equals?yt.equals(Et):Et&&Et.equals?Et.equals(yt):typeof yt=="number"&&typeof Et=="number"?Math.abs(yt-Et)<=config.EPSILON*Math.max(1,Math.abs(yt),Math.abs(Et)):!1}finally{config.EPSILON=vt}}function round(yt){return Math.round(yt/config.EPSILON)*config.EPSILON}function duplicateArray(yt){return yt.clone?yt.clone():new Array(yt.length)}function map$1(yt,Et,xt){if(isArray$3(yt)){const vt=yt;xt=xt||duplicateArray(vt);for(let bt=0;bt<xt.length&&bt<vt.length;++bt){const At=typeof yt=="number"?yt:yt[bt];xt[bt]=Et(At,bt,xt)}return xt}return Et(yt)}class MathArray extends Array{clone(){return new this.constructor().copy(this)}fromArray(Et,xt=0){for(let vt=0;vt<this.ELEMENTS;++vt)this[vt]=Et[vt+xt];return this.check()}toArray(Et=[],xt=0){for(let vt=0;vt<this.ELEMENTS;++vt)Et[xt+vt]=this[vt];return Et}toObject(Et){return Et}from(Et){return Array.isArray(Et)?this.copy(Et):this.fromObject(Et)}to(Et){return Et===this?this:isArray$3(Et)?this.toArray(Et):this.toObject(Et)}toTarget(Et){return Et?this.to(Et):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(config)}formatString(Et){let xt="";for(let vt=0;vt<this.ELEMENTS;++vt)xt+=(vt>0?", ":"")+formatValue(this[vt],Et);return`${Et.printTypes?this.constructor.name:""}[${xt}]`}equals(Et){if(!Et||this.length!==Et.length)return!1;for(let xt=0;xt<this.ELEMENTS;++xt)if(!equals$1(this[xt],Et[xt]))return!1;return!0}exactEquals(Et){if(!Et||this.length!==Et.length)return!1;for(let xt=0;xt<this.ELEMENTS;++xt)if(this[xt]!==Et[xt])return!1;return!0}negate(){for(let Et=0;Et<this.ELEMENTS;++Et)this[Et]=-this[Et];return this.check()}lerp(Et,xt,vt){if(vt===void 0)return this.lerp(this,Et,xt);for(let bt=0;bt<this.ELEMENTS;++bt){const At=Et[bt],Ft=typeof xt=="number"?xt:xt[bt];this[bt]=At+vt*(Ft-At)}return this.check()}min(Et){for(let xt=0;xt<this.ELEMENTS;++xt)this[xt]=Math.min(Et[xt],this[xt]);return this.check()}max(Et){for(let xt=0;xt<this.ELEMENTS;++xt)this[xt]=Math.max(Et[xt],this[xt]);return this.check()}clamp(Et,xt){for(let vt=0;vt<this.ELEMENTS;++vt)this[vt]=Math.min(Math.max(this[vt],Et[vt]),xt[vt]);return this.check()}add(...Et){for(const xt of Et)for(let vt=0;vt<this.ELEMENTS;++vt)this[vt]+=xt[vt];return this.check()}subtract(...Et){for(const xt of Et)for(let vt=0;vt<this.ELEMENTS;++vt)this[vt]-=xt[vt];return this.check()}scale(Et){if(typeof Et=="number")for(let xt=0;xt<this.ELEMENTS;++xt)this[xt]*=Et;else for(let xt=0;xt<this.ELEMENTS&&xt<Et.length;++xt)this[xt]*=Et[xt];return this.check()}multiplyByScalar(Et){for(let xt=0;xt<this.ELEMENTS;++xt)this[xt]*=Et;return this.check()}check(){if(config.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let Et=this.length===this.ELEMENTS;for(let xt=0;xt<this.ELEMENTS;++xt)Et=Et&&Number.isFinite(this[xt]);return Et}sub(Et){return this.subtract(Et)}setScalar(Et){for(let xt=0;xt<this.ELEMENTS;++xt)this[xt]=Et;return this.check()}addScalar(Et){for(let xt=0;xt<this.ELEMENTS;++xt)this[xt]+=Et;return this.check()}subScalar(Et){return this.addScalar(-Et)}multiplyScalar(Et){for(let xt=0;xt<this.ELEMENTS;++xt)this[xt]*=Et;return this.check()}divideScalar(Et){return this.multiplyByScalar(1/Et)}clampScalar(Et,xt){for(let vt=0;vt<this.ELEMENTS;++vt)this[vt]=Math.min(Math.max(this[vt],Et),xt);return this.check()}get elements(){return this}}function validateVector(yt,Et){if(yt.length!==Et)return!1;for(let xt=0;xt<yt.length;++xt)if(!Number.isFinite(yt[xt]))return!1;return!0}function checkNumber(yt){if(!Number.isFinite(yt))throw new Error(`Invalid number ${JSON.stringify(yt)}`);return yt}function checkVector(yt,Et,xt=""){if(config.debug&&!validateVector(yt,Et))throw new Error(`math.gl: ${xt} some fields set to invalid numbers'`);return yt}function assert$3(yt,Et){if(!yt)throw new Error(`math.gl assertion ${Et}`)}class Vector extends MathArray{get x(){return this[0]}set x(Et){this[0]=checkNumber(Et)}get y(){return this[1]}set y(Et){this[1]=checkNumber(Et)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let Et=0;for(let xt=0;xt<this.ELEMENTS;++xt)Et+=this[xt]*this[xt];return Et}magnitudeSquared(){return this.lengthSquared()}distance(Et){return Math.sqrt(this.distanceSquared(Et))}distanceSquared(Et){let xt=0;for(let vt=0;vt<this.ELEMENTS;++vt){const bt=this[vt]-Et[vt];xt+=bt*bt}return checkNumber(xt)}dot(Et){let xt=0;for(let vt=0;vt<this.ELEMENTS;++vt)xt+=this[vt]*Et[vt];return checkNumber(xt)}normalize(){const Et=this.magnitude();if(Et!==0)for(let xt=0;xt<this.ELEMENTS;++xt)this[xt]/=Et;return this.check()}multiply(...Et){for(const xt of Et)for(let vt=0;vt<this.ELEMENTS;++vt)this[vt]*=xt[vt];return this.check()}divide(...Et){for(const xt of Et)for(let vt=0;vt<this.ELEMENTS;++vt)this[vt]/=xt[vt];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(Et){return this.distance(Et)}distanceToSquared(Et){return this.distanceSquared(Et)}getComponent(Et){return assert$3(Et>=0&&Et<this.ELEMENTS,"index is out of range"),checkNumber(this[Et])}setComponent(Et,xt){return assert$3(Et>=0&&Et<this.ELEMENTS,"index is out of range"),this[Et]=xt,this.check()}addVectors(Et,xt){return this.copy(Et).add(xt)}subVectors(Et,xt){return this.copy(Et).subtract(xt)}multiplyVectors(Et,xt){return this.copy(Et).multiply(xt)}addScaledVector(Et,xt){return this.add(new this.constructor(Et).multiplyScalar(xt))}}const EPSILON$1=1e-6;let ARRAY_TYPE=typeof Float32Array<"u"?Float32Array:Array;function create$2(){const yt=new ARRAY_TYPE(2);return ARRAY_TYPE!=Float32Array&&(yt[0]=0,yt[1]=0),yt}function add$1(yt,Et,xt){return yt[0]=Et[0]+xt[0],yt[1]=Et[1]+xt[1],yt}function negate$1(yt,Et){return yt[0]=-Et[0],yt[1]=-Et[1],yt}function lerp$1(yt,Et,xt,vt){const bt=Et[0],At=Et[1];return yt[0]=bt+vt*(xt[0]-bt),yt[1]=At+vt*(xt[1]-At),yt}function transformMat4$2(yt,Et,xt){const vt=Et[0],bt=Et[1];return yt[0]=xt[0]*vt+xt[4]*bt+xt[12],yt[1]=xt[1]*vt+xt[5]*bt+xt[13],yt}(function(){const yt=create$2();return function(Et,xt,vt,bt,At,Ft){let Ct,wt;for(xt||(xt=2),vt||(vt=0),bt?wt=Math.min(bt*xt+vt,Et.length):wt=Et.length,Ct=vt;Ct<wt;Ct+=xt)yt[0]=Et[Ct],yt[1]=Et[Ct+1],At(yt,yt,Ft),Et[Ct]=yt[0],Et[Ct+1]=yt[1];return Et}})();function vec2_transformMat4AsVector(yt,Et,xt){const vt=Et[0],bt=Et[1],At=xt[3]*vt+xt[7]*bt||1;return yt[0]=(xt[0]*vt+xt[4]*bt)/At,yt[1]=(xt[1]*vt+xt[5]*bt)/At,yt}function vec3_transformMat4AsVector(yt,Et,xt){const vt=Et[0],bt=Et[1],At=Et[2],Ft=xt[3]*vt+xt[7]*bt+xt[11]*At||1;return yt[0]=(xt[0]*vt+xt[4]*bt+xt[8]*At)/Ft,yt[1]=(xt[1]*vt+xt[5]*bt+xt[9]*At)/Ft,yt[2]=(xt[2]*vt+xt[6]*bt+xt[10]*At)/Ft,yt}function vec3_transformMat2(yt,Et,xt){const vt=Et[0],bt=Et[1];return yt[0]=xt[0]*vt+xt[2]*bt,yt[1]=xt[1]*vt+xt[3]*bt,yt[2]=Et[2],yt}function create$1(){const yt=new ARRAY_TYPE(3);return ARRAY_TYPE!=Float32Array&&(yt[0]=0,yt[1]=0,yt[2]=0),yt}function length(yt){const Et=yt[0],xt=yt[1],vt=yt[2];return Math.sqrt(Et*Et+xt*xt+vt*vt)}function subtract(yt,Et,xt){return yt[0]=Et[0]-xt[0],yt[1]=Et[1]-xt[1],yt[2]=Et[2]-xt[2],yt}function squaredLength(yt){const Et=yt[0],xt=yt[1],vt=yt[2];return Et*Et+xt*xt+vt*vt}function negate(yt,Et){return yt[0]=-Et[0],yt[1]=-Et[1],yt[2]=-Et[2],yt}function dot(yt,Et){return yt[0]*Et[0]+yt[1]*Et[1]+yt[2]*Et[2]}function cross(yt,Et,xt){const vt=Et[0],bt=Et[1],At=Et[2],Ft=xt[0],Ct=xt[1],wt=xt[2];return yt[0]=bt*wt-At*Ct,yt[1]=At*Ft-vt*wt,yt[2]=vt*Ct-bt*Ft,yt}function lerp(yt,Et,xt,vt){const bt=Et[0],At=Et[1],Ft=Et[2];return yt[0]=bt+vt*(xt[0]-bt),yt[1]=At+vt*(xt[1]-At),yt[2]=Ft+vt*(xt[2]-Ft),yt}function transformMat4$1(yt,Et,xt){const vt=Et[0],bt=Et[1],At=Et[2];let Ft=xt[3]*vt+xt[7]*bt+xt[11]*At+xt[15];return Ft=Ft||1,yt[0]=(xt[0]*vt+xt[4]*bt+xt[8]*At+xt[12])/Ft,yt[1]=(xt[1]*vt+xt[5]*bt+xt[9]*At+xt[13])/Ft,yt[2]=(xt[2]*vt+xt[6]*bt+xt[10]*At+xt[14])/Ft,yt}function transformMat3(yt,Et,xt){const vt=Et[0],bt=Et[1],At=Et[2];return yt[0]=vt*xt[0]+bt*xt[3]+At*xt[6],yt[1]=vt*xt[1]+bt*xt[4]+At*xt[7],yt[2]=vt*xt[2]+bt*xt[5]+At*xt[8],yt}function transformQuat(yt,Et,xt){const vt=xt[0],bt=xt[1],At=xt[2],Ft=xt[3],Ct=Et[0],wt=Et[1],St=Et[2];let Tt=bt*St-At*wt,Rt=At*Ct-vt*St,Pt=vt*wt-bt*Ct,Lt=bt*Pt-At*Rt,kt=At*Tt-vt*Pt,Ot=vt*Rt-bt*Tt;const Mt=Ft*2;return Tt*=Mt,Rt*=Mt,Pt*=Mt,Lt*=2,kt*=2,Ot*=2,yt[0]=Ct+Tt+Lt,yt[1]=wt+Rt+kt,yt[2]=St+Pt+Ot,yt}function rotateX$1(yt,Et,xt,vt){const bt=[],At=[];return bt[0]=Et[0]-xt[0],bt[1]=Et[1]-xt[1],bt[2]=Et[2]-xt[2],At[0]=bt[0],At[1]=bt[1]*Math.cos(vt)-bt[2]*Math.sin(vt),At[2]=bt[1]*Math.sin(vt)+bt[2]*Math.cos(vt),yt[0]=At[0]+xt[0],yt[1]=At[1]+xt[1],yt[2]=At[2]+xt[2],yt}function rotateY$1(yt,Et,xt,vt){const bt=[],At=[];return bt[0]=Et[0]-xt[0],bt[1]=Et[1]-xt[1],bt[2]=Et[2]-xt[2],At[0]=bt[2]*Math.sin(vt)+bt[0]*Math.cos(vt),At[1]=bt[1],At[2]=bt[2]*Math.cos(vt)-bt[0]*Math.sin(vt),yt[0]=At[0]+xt[0],yt[1]=At[1]+xt[1],yt[2]=At[2]+xt[2],yt}function rotateZ$1(yt,Et,xt,vt){const bt=[],At=[];return bt[0]=Et[0]-xt[0],bt[1]=Et[1]-xt[1],bt[2]=Et[2]-xt[2],At[0]=bt[0]*Math.cos(vt)-bt[1]*Math.sin(vt),At[1]=bt[0]*Math.sin(vt)+bt[1]*Math.cos(vt),At[2]=bt[2],yt[0]=At[0]+xt[0],yt[1]=At[1]+xt[1],yt[2]=At[2]+xt[2],yt}function angle(yt,Et){const xt=yt[0],vt=yt[1],bt=yt[2],At=Et[0],Ft=Et[1],Ct=Et[2],wt=Math.sqrt((xt*xt+vt*vt+bt*bt)*(At*At+Ft*Ft+Ct*Ct)),St=wt&&dot(yt,Et)/wt;return Math.acos(Math.min(Math.max(St,-1),1))}const sub=subtract,len=length,sqrLen=squaredLength;(function(){const yt=create$1();return function(Et,xt,vt,bt,At,Ft){let Ct,wt;for(xt||(xt=3),vt||(vt=0),bt?wt=Math.min(bt*xt+vt,Et.length):wt=Et.length,Ct=vt;Ct<wt;Ct+=xt)yt[0]=Et[Ct],yt[1]=Et[Ct+1],yt[2]=Et[Ct+2],At(yt,yt,Ft),Et[Ct]=yt[0],Et[Ct+1]=yt[1],Et[Ct+2]=yt[2];return Et}})();const ORIGIN=[0,0,0];let ZERO$1;class Vector3 extends Vector{static get ZERO(){return ZERO$1||(ZERO$1=new Vector3(0,0,0),Object.freeze(ZERO$1)),ZERO$1}constructor(Et=0,xt=0,vt=0){super(-0,-0,-0),arguments.length===1&&isArray$3(Et)?this.copy(Et):(config.debug&&(checkNumber(Et),checkNumber(xt),checkNumber(vt)),this[0]=Et,this[1]=xt,this[2]=vt)}set(Et,xt,vt){return this[0]=Et,this[1]=xt,this[2]=vt,this.check()}copy(Et){return this[0]=Et[0],this[1]=Et[1],this[2]=Et[2],this.check()}fromObject(Et){return config.debug&&(checkNumber(Et.x),checkNumber(Et.y),checkNumber(Et.z)),this[0]=Et.x,this[1]=Et.y,this[2]=Et.z,this.check()}toObject(Et){return Et.x=this[0],Et.y=this[1],Et.z=this[2],Et}get ELEMENTS(){return 3}get z(){return this[2]}set z(Et){this[2]=checkNumber(Et)}angle(Et){return angle(this,Et)}cross(Et){return cross(this,this,Et),this.check()}rotateX({radians:Et,origin:xt=ORIGIN}){return rotateX$1(this,this,xt,Et),this.check()}rotateY({radians:Et,origin:xt=ORIGIN}){return rotateY$1(this,this,xt,Et),this.check()}rotateZ({radians:Et,origin:xt=ORIGIN}){return rotateZ$1(this,this,xt,Et),this.check()}transform(Et){return this.transformAsPoint(Et)}transformAsPoint(Et){return transformMat4$1(this,this,Et),this.check()}transformAsVector(Et){return vec3_transformMat4AsVector(this,this,Et),this.check()}transformByMatrix3(Et){return transformMat3(this,this,Et),this.check()}transformByMatrix2(Et){return vec3_transformMat2(this,this,Et),this.check()}transformByQuaternion(Et){return transformQuat(this,this,Et),this.check()}}class Matrix extends MathArray{toString(){let Et="[";if(config.printRowMajor){Et+="row-major:";for(let xt=0;xt<this.RANK;++xt)for(let vt=0;vt<this.RANK;++vt)Et+=` ${this[vt*this.RANK+xt]}`}else{Et+="column-major:";for(let xt=0;xt<this.ELEMENTS;++xt)Et+=` ${this[xt]}`}return Et+="]",Et}getElementIndex(Et,xt){return xt*this.RANK+Et}getElement(Et,xt){return this[xt*this.RANK+Et]}setElement(Et,xt,vt){return this[xt*this.RANK+Et]=checkNumber(vt),this}getColumn(Et,xt=new Array(this.RANK).fill(-0)){const vt=Et*this.RANK;for(let bt=0;bt<this.RANK;++bt)xt[bt]=this[vt+bt];return xt}setColumn(Et,xt){const vt=Et*this.RANK;for(let bt=0;bt<this.RANK;++bt)this[vt+bt]=xt[bt];return this}}function identity(yt){return yt[0]=1,yt[1]=0,yt[2]=0,yt[3]=0,yt[4]=0,yt[5]=1,yt[6]=0,yt[7]=0,yt[8]=0,yt[9]=0,yt[10]=1,yt[11]=0,yt[12]=0,yt[13]=0,yt[14]=0,yt[15]=1,yt}function transpose(yt,Et){if(yt===Et){const xt=Et[1],vt=Et[2],bt=Et[3],At=Et[6],Ft=Et[7],Ct=Et[11];yt[1]=Et[4],yt[2]=Et[8],yt[3]=Et[12],yt[4]=xt,yt[6]=Et[9],yt[7]=Et[13],yt[8]=vt,yt[9]=At,yt[11]=Et[14],yt[12]=bt,yt[13]=Ft,yt[14]=Ct}else yt[0]=Et[0],yt[1]=Et[4],yt[2]=Et[8],yt[3]=Et[12],yt[4]=Et[1],yt[5]=Et[5],yt[6]=Et[9],yt[7]=Et[13],yt[8]=Et[2],yt[9]=Et[6],yt[10]=Et[10],yt[11]=Et[14],yt[12]=Et[3],yt[13]=Et[7],yt[14]=Et[11],yt[15]=Et[15];return yt}function invert(yt,Et){const xt=Et[0],vt=Et[1],bt=Et[2],At=Et[3],Ft=Et[4],Ct=Et[5],wt=Et[6],St=Et[7],Tt=Et[8],Rt=Et[9],Pt=Et[10],Lt=Et[11],kt=Et[12],Ot=Et[13],Mt=Et[14],It=Et[15],Nt=xt*Ct-vt*Ft,Ut=xt*wt-bt*Ft,jt=xt*St-At*Ft,Vt=vt*wt-bt*Ct,zt=vt*St-At*Ct,Ht=bt*St-At*wt,Wt=Tt*Ot-Rt*kt,Gt=Tt*Mt-Pt*kt,qt=Tt*It-Lt*kt,Xt=Rt*Mt-Pt*Ot,Kt=Rt*It-Lt*Ot,Jt=Pt*It-Lt*Mt;let tn=Nt*Jt-Ut*Kt+jt*Xt+Vt*qt-zt*Gt+Ht*Wt;return tn?(tn=1/tn,yt[0]=(Ct*Jt-wt*Kt+St*Xt)*tn,yt[1]=(bt*Kt-vt*Jt-At*Xt)*tn,yt[2]=(Ot*Ht-Mt*zt+It*Vt)*tn,yt[3]=(Pt*zt-Rt*Ht-Lt*Vt)*tn,yt[4]=(wt*qt-Ft*Jt-St*Gt)*tn,yt[5]=(xt*Jt-bt*qt+At*Gt)*tn,yt[6]=(Mt*jt-kt*Ht-It*Ut)*tn,yt[7]=(Tt*Ht-Pt*jt+Lt*Ut)*tn,yt[8]=(Ft*Kt-Ct*qt+St*Wt)*tn,yt[9]=(vt*qt-xt*Kt-At*Wt)*tn,yt[10]=(kt*zt-Ot*jt+It*Nt)*tn,yt[11]=(Rt*jt-Tt*zt-Lt*Nt)*tn,yt[12]=(Ct*Gt-Ft*Xt-wt*Wt)*tn,yt[13]=(xt*Xt-vt*Gt+bt*Wt)*tn,yt[14]=(Ot*Ut-kt*Vt-Mt*Nt)*tn,yt[15]=(Tt*Vt-Rt*Ut+Pt*Nt)*tn,yt):null}function determinant(yt){const Et=yt[0],xt=yt[1],vt=yt[2],bt=yt[3],At=yt[4],Ft=yt[5],Ct=yt[6],wt=yt[7],St=yt[8],Tt=yt[9],Rt=yt[10],Pt=yt[11],Lt=yt[12],kt=yt[13],Ot=yt[14],Mt=yt[15],It=Et*Ft-xt*At,Nt=Et*Ct-vt*At,Ut=xt*Ct-vt*Ft,jt=St*kt-Tt*Lt,Vt=St*Ot-Rt*Lt,zt=Tt*Ot-Rt*kt,Ht=Et*zt-xt*Vt+vt*jt,Wt=At*zt-Ft*Vt+Ct*jt,Gt=St*Ut-Tt*Nt+Rt*It,qt=Lt*Ut-kt*Nt+Ot*It;return wt*Ht-bt*Wt+Mt*Gt-Pt*qt}function multiply(yt,Et,xt){const vt=Et[0],bt=Et[1],At=Et[2],Ft=Et[3],Ct=Et[4],wt=Et[5],St=Et[6],Tt=Et[7],Rt=Et[8],Pt=Et[9],Lt=Et[10],kt=Et[11],Ot=Et[12],Mt=Et[13],It=Et[14],Nt=Et[15];let Ut=xt[0],jt=xt[1],Vt=xt[2],zt=xt[3];return yt[0]=Ut*vt+jt*Ct+Vt*Rt+zt*Ot,yt[1]=Ut*bt+jt*wt+Vt*Pt+zt*Mt,yt[2]=Ut*At+jt*St+Vt*Lt+zt*It,yt[3]=Ut*Ft+jt*Tt+Vt*kt+zt*Nt,Ut=xt[4],jt=xt[5],Vt=xt[6],zt=xt[7],yt[4]=Ut*vt+jt*Ct+Vt*Rt+zt*Ot,yt[5]=Ut*bt+jt*wt+Vt*Pt+zt*Mt,yt[6]=Ut*At+jt*St+Vt*Lt+zt*It,yt[7]=Ut*Ft+jt*Tt+Vt*kt+zt*Nt,Ut=xt[8],jt=xt[9],Vt=xt[10],zt=xt[11],yt[8]=Ut*vt+jt*Ct+Vt*Rt+zt*Ot,yt[9]=Ut*bt+jt*wt+Vt*Pt+zt*Mt,yt[10]=Ut*At+jt*St+Vt*Lt+zt*It,yt[11]=Ut*Ft+jt*Tt+Vt*kt+zt*Nt,Ut=xt[12],jt=xt[13],Vt=xt[14],zt=xt[15],yt[12]=Ut*vt+jt*Ct+Vt*Rt+zt*Ot,yt[13]=Ut*bt+jt*wt+Vt*Pt+zt*Mt,yt[14]=Ut*At+jt*St+Vt*Lt+zt*It,yt[15]=Ut*Ft+jt*Tt+Vt*kt+zt*Nt,yt}function translate(yt,Et,xt){const vt=xt[0],bt=xt[1],At=xt[2];let Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt,It;return Et===yt?(yt[12]=Et[0]*vt+Et[4]*bt+Et[8]*At+Et[12],yt[13]=Et[1]*vt+Et[5]*bt+Et[9]*At+Et[13],yt[14]=Et[2]*vt+Et[6]*bt+Et[10]*At+Et[14],yt[15]=Et[3]*vt+Et[7]*bt+Et[11]*At+Et[15]):(Ft=Et[0],Ct=Et[1],wt=Et[2],St=Et[3],Tt=Et[4],Rt=Et[5],Pt=Et[6],Lt=Et[7],kt=Et[8],Ot=Et[9],Mt=Et[10],It=Et[11],yt[0]=Ft,yt[1]=Ct,yt[2]=wt,yt[3]=St,yt[4]=Tt,yt[5]=Rt,yt[6]=Pt,yt[7]=Lt,yt[8]=kt,yt[9]=Ot,yt[10]=Mt,yt[11]=It,yt[12]=Ft*vt+Tt*bt+kt*At+Et[12],yt[13]=Ct*vt+Rt*bt+Ot*At+Et[13],yt[14]=wt*vt+Pt*bt+Mt*At+Et[14],yt[15]=St*vt+Lt*bt+It*At+Et[15]),yt}function scale$1(yt,Et,xt){const vt=xt[0],bt=xt[1],At=xt[2];return yt[0]=Et[0]*vt,yt[1]=Et[1]*vt,yt[2]=Et[2]*vt,yt[3]=Et[3]*vt,yt[4]=Et[4]*bt,yt[5]=Et[5]*bt,yt[6]=Et[6]*bt,yt[7]=Et[7]*bt,yt[8]=Et[8]*At,yt[9]=Et[9]*At,yt[10]=Et[10]*At,yt[11]=Et[11]*At,yt[12]=Et[12],yt[13]=Et[13],yt[14]=Et[14],yt[15]=Et[15],yt}function rotate(yt,Et,xt,vt){let bt=vt[0],At=vt[1],Ft=vt[2],Ct=Math.sqrt(bt*bt+At*At+Ft*Ft),wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt,It,Nt,Ut,jt,Vt,zt,Ht,Wt,Gt,qt,Xt,Kt,Jt,tn,sn;return Ct<EPSILON$1?null:(Ct=1/Ct,bt*=Ct,At*=Ct,Ft*=Ct,St=Math.sin(xt),wt=Math.cos(xt),Tt=1-wt,Rt=Et[0],Pt=Et[1],Lt=Et[2],kt=Et[3],Ot=Et[4],Mt=Et[5],It=Et[6],Nt=Et[7],Ut=Et[8],jt=Et[9],Vt=Et[10],zt=Et[11],Ht=bt*bt*Tt+wt,Wt=At*bt*Tt+Ft*St,Gt=Ft*bt*Tt-At*St,qt=bt*At*Tt-Ft*St,Xt=At*At*Tt+wt,Kt=Ft*At*Tt+bt*St,Jt=bt*Ft*Tt+At*St,tn=At*Ft*Tt-bt*St,sn=Ft*Ft*Tt+wt,yt[0]=Rt*Ht+Ot*Wt+Ut*Gt,yt[1]=Pt*Ht+Mt*Wt+jt*Gt,yt[2]=Lt*Ht+It*Wt+Vt*Gt,yt[3]=kt*Ht+Nt*Wt+zt*Gt,yt[4]=Rt*qt+Ot*Xt+Ut*Kt,yt[5]=Pt*qt+Mt*Xt+jt*Kt,yt[6]=Lt*qt+It*Xt+Vt*Kt,yt[7]=kt*qt+Nt*Xt+zt*Kt,yt[8]=Rt*Jt+Ot*tn+Ut*sn,yt[9]=Pt*Jt+Mt*tn+jt*sn,yt[10]=Lt*Jt+It*tn+Vt*sn,yt[11]=kt*Jt+Nt*tn+zt*sn,Et!==yt&&(yt[12]=Et[12],yt[13]=Et[13],yt[14]=Et[14],yt[15]=Et[15]),yt)}function rotateX(yt,Et,xt){const vt=Math.sin(xt),bt=Math.cos(xt),At=Et[4],Ft=Et[5],Ct=Et[6],wt=Et[7],St=Et[8],Tt=Et[9],Rt=Et[10],Pt=Et[11];return Et!==yt&&(yt[0]=Et[0],yt[1]=Et[1],yt[2]=Et[2],yt[3]=Et[3],yt[12]=Et[12],yt[13]=Et[13],yt[14]=Et[14],yt[15]=Et[15]),yt[4]=At*bt+St*vt,yt[5]=Ft*bt+Tt*vt,yt[6]=Ct*bt+Rt*vt,yt[7]=wt*bt+Pt*vt,yt[8]=St*bt-At*vt,yt[9]=Tt*bt-Ft*vt,yt[10]=Rt*bt-Ct*vt,yt[11]=Pt*bt-wt*vt,yt}function rotateY(yt,Et,xt){const vt=Math.sin(xt),bt=Math.cos(xt),At=Et[0],Ft=Et[1],Ct=Et[2],wt=Et[3],St=Et[8],Tt=Et[9],Rt=Et[10],Pt=Et[11];return Et!==yt&&(yt[4]=Et[4],yt[5]=Et[5],yt[6]=Et[6],yt[7]=Et[7],yt[12]=Et[12],yt[13]=Et[13],yt[14]=Et[14],yt[15]=Et[15]),yt[0]=At*bt-St*vt,yt[1]=Ft*bt-Tt*vt,yt[2]=Ct*bt-Rt*vt,yt[3]=wt*bt-Pt*vt,yt[8]=At*vt+St*bt,yt[9]=Ft*vt+Tt*bt,yt[10]=Ct*vt+Rt*bt,yt[11]=wt*vt+Pt*bt,yt}function rotateZ(yt,Et,xt){const vt=Math.sin(xt),bt=Math.cos(xt),At=Et[0],Ft=Et[1],Ct=Et[2],wt=Et[3],St=Et[4],Tt=Et[5],Rt=Et[6],Pt=Et[7];return Et!==yt&&(yt[8]=Et[8],yt[9]=Et[9],yt[10]=Et[10],yt[11]=Et[11],yt[12]=Et[12],yt[13]=Et[13],yt[14]=Et[14],yt[15]=Et[15]),yt[0]=At*bt+St*vt,yt[1]=Ft*bt+Tt*vt,yt[2]=Ct*bt+Rt*vt,yt[3]=wt*bt+Pt*vt,yt[4]=St*bt-At*vt,yt[5]=Tt*bt-Ft*vt,yt[6]=Rt*bt-Ct*vt,yt[7]=Pt*bt-wt*vt,yt}function fromQuat(yt,Et){const xt=Et[0],vt=Et[1],bt=Et[2],At=Et[3],Ft=xt+xt,Ct=vt+vt,wt=bt+bt,St=xt*Ft,Tt=vt*Ft,Rt=vt*Ct,Pt=bt*Ft,Lt=bt*Ct,kt=bt*wt,Ot=At*Ft,Mt=At*Ct,It=At*wt;return yt[0]=1-Rt-kt,yt[1]=Tt+It,yt[2]=Pt-Mt,yt[3]=0,yt[4]=Tt-It,yt[5]=1-St-kt,yt[6]=Lt+Ot,yt[7]=0,yt[8]=Pt+Mt,yt[9]=Lt-Ot,yt[10]=1-St-Rt,yt[11]=0,yt[12]=0,yt[13]=0,yt[14]=0,yt[15]=1,yt}function frustum(yt,Et,xt,vt,bt,At,Ft){const Ct=1/(xt-Et),wt=1/(bt-vt),St=1/(At-Ft);return yt[0]=At*2*Ct,yt[1]=0,yt[2]=0,yt[3]=0,yt[4]=0,yt[5]=At*2*wt,yt[6]=0,yt[7]=0,yt[8]=(xt+Et)*Ct,yt[9]=(bt+vt)*wt,yt[10]=(Ft+At)*St,yt[11]=-1,yt[12]=0,yt[13]=0,yt[14]=Ft*At*2*St,yt[15]=0,yt}function perspectiveNO(yt,Et,xt,vt,bt){const At=1/Math.tan(Et/2);if(yt[0]=At/xt,yt[1]=0,yt[2]=0,yt[3]=0,yt[4]=0,yt[5]=At,yt[6]=0,yt[7]=0,yt[8]=0,yt[9]=0,yt[11]=-1,yt[12]=0,yt[13]=0,yt[15]=0,bt!=null&&bt!==1/0){const Ft=1/(vt-bt);yt[10]=(bt+vt)*Ft,yt[14]=2*bt*vt*Ft}else yt[10]=-1,yt[14]=-2*vt;return yt}const perspective=perspectiveNO;function orthoNO(yt,Et,xt,vt,bt,At,Ft){const Ct=1/(Et-xt),wt=1/(vt-bt),St=1/(At-Ft);return yt[0]=-2*Ct,yt[1]=0,yt[2]=0,yt[3]=0,yt[4]=0,yt[5]=-2*wt,yt[6]=0,yt[7]=0,yt[8]=0,yt[9]=0,yt[10]=2*St,yt[11]=0,yt[12]=(Et+xt)*Ct,yt[13]=(bt+vt)*wt,yt[14]=(Ft+At)*St,yt[15]=1,yt}const ortho=orthoNO;function lookAt(yt,Et,xt,vt){let bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt;const kt=Et[0],Ot=Et[1],Mt=Et[2],It=vt[0],Nt=vt[1],Ut=vt[2],jt=xt[0],Vt=xt[1],zt=xt[2];return Math.abs(kt-jt)<EPSILON$1&&Math.abs(Ot-Vt)<EPSILON$1&&Math.abs(Mt-zt)<EPSILON$1?identity(yt):(Rt=kt-jt,Pt=Ot-Vt,Lt=Mt-zt,bt=1/Math.sqrt(Rt*Rt+Pt*Pt+Lt*Lt),Rt*=bt,Pt*=bt,Lt*=bt,At=Nt*Lt-Ut*Pt,Ft=Ut*Rt-It*Lt,Ct=It*Pt-Nt*Rt,bt=Math.sqrt(At*At+Ft*Ft+Ct*Ct),bt?(bt=1/bt,At*=bt,Ft*=bt,Ct*=bt):(At=0,Ft=0,Ct=0),wt=Pt*Ct-Lt*Ft,St=Lt*At-Rt*Ct,Tt=Rt*Ft-Pt*At,bt=Math.sqrt(wt*wt+St*St+Tt*Tt),bt?(bt=1/bt,wt*=bt,St*=bt,Tt*=bt):(wt=0,St=0,Tt=0),yt[0]=At,yt[1]=wt,yt[2]=Rt,yt[3]=0,yt[4]=Ft,yt[5]=St,yt[6]=Pt,yt[7]=0,yt[8]=Ct,yt[9]=Tt,yt[10]=Lt,yt[11]=0,yt[12]=-(At*kt+Ft*Ot+Ct*Mt),yt[13]=-(wt*kt+St*Ot+Tt*Mt),yt[14]=-(Rt*kt+Pt*Ot+Lt*Mt),yt[15]=1,yt)}function create(){const yt=new ARRAY_TYPE(4);return ARRAY_TYPE!=Float32Array&&(yt[0]=0,yt[1]=0,yt[2]=0,yt[3]=0),yt}function scale(yt,Et,xt){return yt[0]=Et[0]*xt,yt[1]=Et[1]*xt,yt[2]=Et[2]*xt,yt[3]=Et[3]*xt,yt}function transformMat4(yt,Et,xt){const vt=Et[0],bt=Et[1],At=Et[2],Ft=Et[3];return yt[0]=xt[0]*vt+xt[4]*bt+xt[8]*At+xt[12]*Ft,yt[1]=xt[1]*vt+xt[5]*bt+xt[9]*At+xt[13]*Ft,yt[2]=xt[2]*vt+xt[6]*bt+xt[10]*At+xt[14]*Ft,yt[3]=xt[3]*vt+xt[7]*bt+xt[11]*At+xt[15]*Ft,yt}(function(){const yt=create();return function(Et,xt,vt,bt,At,Ft){let Ct,wt;for(xt||(xt=4),vt||(vt=0),bt?wt=Math.min(bt*xt+vt,Et.length):wt=Et.length,Ct=vt;Ct<wt;Ct+=xt)yt[0]=Et[Ct],yt[1]=Et[Ct+1],yt[2]=Et[Ct+2],yt[3]=Et[Ct+3],At(yt,yt,Ft),Et[Ct]=yt[0],Et[Ct+1]=yt[1],Et[Ct+2]=yt[2],Et[Ct+3]=yt[3];return Et}})();var INDICES;(function(yt){yt[yt.COL0ROW0=0]="COL0ROW0",yt[yt.COL0ROW1=1]="COL0ROW1",yt[yt.COL0ROW2=2]="COL0ROW2",yt[yt.COL0ROW3=3]="COL0ROW3",yt[yt.COL1ROW0=4]="COL1ROW0",yt[yt.COL1ROW1=5]="COL1ROW1",yt[yt.COL1ROW2=6]="COL1ROW2",yt[yt.COL1ROW3=7]="COL1ROW3",yt[yt.COL2ROW0=8]="COL2ROW0",yt[yt.COL2ROW1=9]="COL2ROW1",yt[yt.COL2ROW2=10]="COL2ROW2",yt[yt.COL2ROW3=11]="COL2ROW3",yt[yt.COL3ROW0=12]="COL3ROW0",yt[yt.COL3ROW1=13]="COL3ROW1",yt[yt.COL3ROW2=14]="COL3ROW2",yt[yt.COL3ROW3=15]="COL3ROW3"})(INDICES||(INDICES={}));const DEFAULT_FOVY=45*Math.PI/180,DEFAULT_ASPECT=1,DEFAULT_NEAR=.1,DEFAULT_FAR=500,IDENTITY_MATRIX$1=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);class Matrix4 extends Matrix{static get IDENTITY(){return getIdentityMatrix()}static get ZERO(){return getZeroMatrix()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return INDICES}constructor(Et){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(Et)?this.copy(Et):this.identity()}copy(Et){return this[0]=Et[0],this[1]=Et[1],this[2]=Et[2],this[3]=Et[3],this[4]=Et[4],this[5]=Et[5],this[6]=Et[6],this[7]=Et[7],this[8]=Et[8],this[9]=Et[9],this[10]=Et[10],this[11]=Et[11],this[12]=Et[12],this[13]=Et[13],this[14]=Et[14],this[15]=Et[15],this.check()}set(Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt){return this[0]=Et,this[1]=xt,this[2]=vt,this[3]=bt,this[4]=At,this[5]=Ft,this[6]=Ct,this[7]=wt,this[8]=St,this[9]=Tt,this[10]=Rt,this[11]=Pt,this[12]=Lt,this[13]=kt,this[14]=Ot,this[15]=Mt,this.check()}setRowMajor(Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt){return this[0]=Et,this[1]=At,this[2]=St,this[3]=Lt,this[4]=xt,this[5]=Ft,this[6]=Tt,this[7]=kt,this[8]=vt,this[9]=Ct,this[10]=Rt,this[11]=Ot,this[12]=bt,this[13]=wt,this[14]=Pt,this[15]=Mt,this.check()}toRowMajor(Et){return Et[0]=this[0],Et[1]=this[4],Et[2]=this[8],Et[3]=this[12],Et[4]=this[1],Et[5]=this[5],Et[6]=this[9],Et[7]=this[13],Et[8]=this[2],Et[9]=this[6],Et[10]=this[10],Et[11]=this[14],Et[12]=this[3],Et[13]=this[7],Et[14]=this[11],Et[15]=this[15],Et}identity(){return this.copy(IDENTITY_MATRIX$1)}fromObject(Et){return this.check()}fromQuaternion(Et){return fromQuat(this,Et),this.check()}frustum(Et){const{left:xt,right:vt,bottom:bt,top:At,near:Ft=DEFAULT_NEAR,far:Ct=DEFAULT_FAR}=Et;return Ct===1/0?computeInfinitePerspectiveOffCenter(this,xt,vt,bt,At,Ft):frustum(this,xt,vt,bt,At,Ft,Ct),this.check()}lookAt(Et){const{eye:xt,center:vt=[0,0,0],up:bt=[0,1,0]}=Et;return lookAt(this,xt,vt,bt),this.check()}ortho(Et){const{left:xt,right:vt,bottom:bt,top:At,near:Ft=DEFAULT_NEAR,far:Ct=DEFAULT_FAR}=Et;return ortho(this,xt,vt,bt,At,Ft,Ct),this.check()}orthographic(Et){const{fovy:xt=DEFAULT_FOVY,aspect:vt=DEFAULT_ASPECT,focalDistance:bt=1,near:At=DEFAULT_NEAR,far:Ft=DEFAULT_FAR}=Et;checkRadians(xt);const Ct=xt/2,wt=bt*Math.tan(Ct),St=wt*vt;return this.ortho({left:-St,right:St,bottom:-wt,top:wt,near:At,far:Ft})}perspective(Et){const{fovy:xt=45*Math.PI/180,aspect:vt=1,near:bt=.1,far:At=500}=Et;return checkRadians(xt),perspective(this,xt,vt,bt,At),this.check()}determinant(){return determinant(this)}getScale(Et=[-0,-0,-0]){return Et[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),Et[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),Et[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),Et}getTranslation(Et=[-0,-0,-0]){return Et[0]=this[12],Et[1]=this[13],Et[2]=this[14],Et}getRotation(Et,xt){Et=Et||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],xt=xt||[-0,-0,-0];const vt=this.getScale(xt),bt=1/vt[0],At=1/vt[1],Ft=1/vt[2];return Et[0]=this[0]*bt,Et[1]=this[1]*At,Et[2]=this[2]*Ft,Et[3]=0,Et[4]=this[4]*bt,Et[5]=this[5]*At,Et[6]=this[6]*Ft,Et[7]=0,Et[8]=this[8]*bt,Et[9]=this[9]*At,Et[10]=this[10]*Ft,Et[11]=0,Et[12]=0,Et[13]=0,Et[14]=0,Et[15]=1,Et}getRotationMatrix3(Et,xt){Et=Et||[-0,-0,-0,-0,-0,-0,-0,-0,-0],xt=xt||[-0,-0,-0];const vt=this.getScale(xt),bt=1/vt[0],At=1/vt[1],Ft=1/vt[2];return Et[0]=this[0]*bt,Et[1]=this[1]*At,Et[2]=this[2]*Ft,Et[3]=this[4]*bt,Et[4]=this[5]*At,Et[5]=this[6]*Ft,Et[6]=this[8]*bt,Et[7]=this[9]*At,Et[8]=this[10]*Ft,Et}transpose(){return transpose(this,this),this.check()}invert(){return invert(this,this),this.check()}multiplyLeft(Et){return multiply(this,Et,this),this.check()}multiplyRight(Et){return multiply(this,this,Et),this.check()}rotateX(Et){return rotateX(this,this,Et),this.check()}rotateY(Et){return rotateY(this,this,Et),this.check()}rotateZ(Et){return rotateZ(this,this,Et),this.check()}rotateXYZ(Et){return this.rotateX(Et[0]).rotateY(Et[1]).rotateZ(Et[2])}rotateAxis(Et,xt){return rotate(this,this,Et,xt),this.check()}scale(Et){return scale$1(this,this,Array.isArray(Et)?Et:[Et,Et,Et]),this.check()}translate(Et){return translate(this,this,Et),this.check()}transform(Et,xt){return Et.length===4?(xt=transformMat4(xt||[-0,-0,-0,-0],Et,this),checkVector(xt,4),xt):this.transformAsPoint(Et,xt)}transformAsPoint(Et,xt){const{length:vt}=Et;let bt;switch(vt){case 2:bt=transformMat4$2(xt||[-0,-0],Et,this);break;case 3:bt=transformMat4$1(xt||[-0,-0,-0],Et,this);break;default:throw new Error("Illegal vector")}return checkVector(bt,Et.length),bt}transformAsVector(Et,xt){let vt;switch(Et.length){case 2:vt=vec2_transformMat4AsVector(xt||[-0,-0],Et,this);break;case 3:vt=vec3_transformMat4AsVector(xt||[-0,-0,-0],Et,this);break;default:throw new Error("Illegal vector")}return checkVector(vt,Et.length),vt}transformPoint(Et,xt){return this.transformAsPoint(Et,xt)}transformVector(Et,xt){return this.transformAsPoint(Et,xt)}transformDirection(Et,xt){return this.transformAsVector(Et,xt)}makeRotationX(Et){return this.identity().rotateX(Et)}makeTranslation(Et,xt,vt){return this.identity().translate([Et,xt,vt])}}let ZERO,IDENTITY$1;function getZeroMatrix(){return ZERO||(ZERO=new Matrix4([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(ZERO)),ZERO}function getIdentityMatrix(){return IDENTITY$1||(IDENTITY$1=new Matrix4,Object.freeze(IDENTITY$1)),IDENTITY$1}function checkRadians(yt){if(yt>Math.PI*2)throw Error("expected radians")}function computeInfinitePerspectiveOffCenter(yt,Et,xt,vt,bt,At){const Ft=2*At/(xt-Et),Ct=2*At/(bt-vt),wt=(xt+Et)/(xt-Et),St=(bt+vt)/(bt-vt),Tt=-1,Rt=-1,Pt=-2*At;return yt[0]=Ft,yt[1]=0,yt[2]=0,yt[3]=0,yt[4]=0,yt[5]=Ct,yt[6]=0,yt[7]=0,yt[8]=wt,yt[9]=St,yt[10]=Tt,yt[11]=Rt,yt[12]=0,yt[13]=0,yt[14]=Pt,yt[15]=0,yt}function fp64ify(yt,Et=[],xt=0){const vt=Math.fround(yt),bt=yt-vt;return Et[xt]=vt,Et[xt+1]=bt,Et}function fp64LowPart$1(yt){return yt-Math.fround(yt)}function fp64ifyMatrix4(yt){const Et=new Float32Array(32);for(let xt=0;xt<4;++xt)for(let vt=0;vt<4;++vt){const bt=xt*4+vt;fp64ify(yt[vt*4+xt],Et,bt*2)}return Et}const fp32shader=`#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND
186
+ `&&Et!=="\r"&&Et!==" "&&Et!=="\0"}_isNumeric(Et){return Et>="0"&&Et<="9"}_isAlphaNumeric(Et){return this._isAlpha(Et)||this._isNumeric(Et)||Et==="_"}_isWhitespace(Et){return Et==" "||Et==" "||Et=="\r"}_advance(Et=0){let xt=this._source[this._current];return Et=Et||0,Et++,this._current+=Et,xt}_peekAhead(Et=0){return Et=Et||0,this._current+Et>=this._source.length?"\0":this._source[this._current+Et]}_addToken(Et){const xt=this._source.substring(this._start,this._current);this._tokens.push(new ze$1(Et,xt,this._line,this._start,this._current))}};function Ge$1(yt){return Array.isArray(yt)||yt?.buffer instanceof ArrayBuffer}const Xe$1=new Float32Array(1),je$1=new Uint32Array(Xe$1.buffer),Ze$1=new Uint32Array(Xe$1.buffer),Qe$1=new Int32Array(1),Ye$1=new Float32Array(Qe$1.buffer),Ke$1=new Uint32Array(Qe$1.buffer),Je$1=new Uint32Array(1),et=new Float32Array(Je$1.buffer),tt=new Int32Array(Je$1.buffer);function nt(yt,Et,xt){if(Et===xt)return yt;if(Et==="f32"){if(xt==="i32"||xt==="x32")return Xe$1[0]=yt,je$1[0];if(xt==="u32")return Xe$1[0]=yt,Ze$1[0]}else if(Et==="i32"||Et==="x32"){if(xt==="f32")return Qe$1[0]=yt,Ye$1[0];if(xt==="u32")return Qe$1[0]=yt,Ke$1[0]}else if(Et==="u32"){if(xt==="f32")return Je$1[0]=yt,et[0];if(xt==="i32"||xt==="x32")return Je$1[0]=yt,tt[0]}return console.error(`Unsupported cast from ${Et} to ${xt}`),yt}class st{constructor(Et){this.resources=null,this.inUse=!1,this.info=null,this.node=Et}}class rt{constructor(Et,xt){this.align=Et,this.size=xt}}class at{constructor(){this.uniforms=[],this.storage=[],this.textures=[],this.samplers=[],this.aliases=[],this.overrides=[],this.structs=[],this.entry=new d$2,this.functions=[],this._types=new Map,this._functions=new Map}_isStorageTexture(Et){return Et.name=="texture_storage_1d"||Et.name=="texture_storage_2d"||Et.name=="texture_storage_2d_array"||Et.name=="texture_storage_3d"}updateAST(Et){for(const xt of Et)xt instanceof D$1&&this._functions.set(xt.name,new st(xt));for(const xt of Et)if(xt instanceof oe$1){const vt=this.getTypeInfo(xt,null);vt instanceof n&&this.structs.push(vt)}for(const xt of Et)if(xt instanceof te)this.aliases.push(this._getAliasInfo(xt));else{if(xt instanceof M$1){const vt=xt,bt=this._getAttributeNum(vt.attributes,"id",0),At=vt.type!=null?this.getTypeInfo(vt.type,vt.attributes):null;this.overrides.push(new h(vt.name,At,vt.attributes,bt));continue}if(this._isUniformVar(xt)){const vt=xt,bt=this._getAttributeNum(vt.attributes,"group",0),At=this._getAttributeNum(vt.attributes,"binding",0),Ft=this.getTypeInfo(vt.type,vt.attributes),Ct=new o(vt.name,Ft,bt,At,vt.attributes,i.Uniform,vt.access);Ct.access||(Ct.access="read"),this.uniforms.push(Ct);continue}if(this._isStorageVar(xt)){const vt=xt,bt=this._getAttributeNum(vt.attributes,"group",0),At=this._getAttributeNum(vt.attributes,"binding",0),Ft=this.getTypeInfo(vt.type,vt.attributes),Ct=this._isStorageTexture(Ft),wt=new o(vt.name,Ft,bt,At,vt.attributes,Ct?i.StorageTexture:i.Storage,vt.access);wt.access||(wt.access="read"),this.storage.push(wt);continue}if(this._isTextureVar(xt)){const vt=xt,bt=this._getAttributeNum(vt.attributes,"group",0),At=this._getAttributeNum(vt.attributes,"binding",0),Ft=this.getTypeInfo(vt.type,vt.attributes),Ct=this._isStorageTexture(Ft),wt=new o(vt.name,Ft,bt,At,vt.attributes,Ct?i.StorageTexture:i.Texture,vt.access);wt.access||(wt.access="read"),Ct?this.storage.push(wt):this.textures.push(wt);continue}if(this._isSamplerVar(xt)){const vt=xt,bt=this._getAttributeNum(vt.attributes,"group",0),At=this._getAttributeNum(vt.attributes,"binding",0),Ft=this.getTypeInfo(vt.type,vt.attributes),Ct=new o(vt.name,Ft,bt,At,vt.attributes,i.Sampler,vt.access);this.samplers.push(Ct);continue}}for(const xt of Et)if(xt instanceof D$1){const vt=this._getAttribute(xt,"vertex"),bt=this._getAttribute(xt,"fragment"),At=this._getAttribute(xt,"compute"),Ft=vt||bt||At,Ct=new p$1(xt.name,Ft?.name,xt.attributes);Ct.attributes=xt.attributes,Ct.startLine=xt.startLine,Ct.endLine=xt.endLine,this.functions.push(Ct),this._functions.get(xt.name).info=Ct,Ft&&(this._functions.get(xt.name).inUse=!0,Ct.inUse=!0,Ct.resources=this._findResources(xt,!!Ft),Ct.inputs=this._getInputs(xt.args),Ct.outputs=this._getOutputs(xt.returnType),this.entry[Ft.name].push(Ct)),Ct.arguments=xt.args.map(wt=>new f(wt.name,this.getTypeInfo(wt.type,wt.attributes),wt.attributes)),Ct.returnType=xt.returnType?this.getTypeInfo(xt.returnType,xt.attributes):null;continue}for(const xt of this._functions.values())xt.info&&(xt.info.inUse=xt.inUse,this._addCalls(xt.node,xt.info.calls));for(const xt of this._functions.values())xt.node.search(vt=>{var bt,At,Ft;if(vt instanceof De$1){if(vt.value)if(Ge$1(vt.value))for(const Ct of vt.value)for(const wt of this.overrides)Ct===wt.name&&((bt=xt.info)===null||bt===void 0||bt.overrides.push(wt));else for(const Ct of this.overrides)vt.value===Ct.name&&((At=xt.info)===null||At===void 0||At.overrides.push(Ct))}else if(vt instanceof ge$1)for(const Ct of this.overrides)vt.name===Ct.name&&((Ft=xt.info)===null||Ft===void 0||Ft.overrides.push(Ct))});for(const xt of this.uniforms)this._markStructsInUse(xt.type);for(const xt of this.storage)this._markStructsInUse(xt.type)}getFunctionInfo(Et){for(const xt of this.functions)if(xt.name==Et)return xt;return null}getStructInfo(Et){for(const xt of this.structs)if(xt.name==Et)return xt;return null}getOverrideInfo(Et){for(const xt of this.overrides)if(xt.name==Et)return xt;return null}_markStructsInUse(Et){if(Et)if(Et.isStruct){if(Et.inUse=!0,Et.members)for(const xt of Et.members)this._markStructsInUse(xt.type)}else if(Et.isArray)this._markStructsInUse(Et.format);else if(Et.isTemplate)Et.format&&this._markStructsInUse(Et.format);else{const xt=this._getAlias(Et.name);xt&&this._markStructsInUse(xt)}}_addCalls(Et,xt){var vt;for(const bt of Et.calls){const At=(vt=this._functions.get(bt.name))===null||vt===void 0?void 0:vt.info;At&&xt.add(At)}}findResource(Et,xt,vt){if(vt){for(const bt of this.entry.compute)if(bt.name===vt){for(const At of bt.resources)if(At.group==Et&&At.binding==xt)return At}for(const bt of this.entry.vertex)if(bt.name===vt){for(const At of bt.resources)if(At.group==Et&&At.binding==xt)return At}for(const bt of this.entry.fragment)if(bt.name===vt){for(const At of bt.resources)if(At.group==Et&&At.binding==xt)return At}}for(const bt of this.uniforms)if(bt.group==Et&&bt.binding==xt)return bt;for(const bt of this.storage)if(bt.group==Et&&bt.binding==xt)return bt;for(const bt of this.textures)if(bt.group==Et&&bt.binding==xt)return bt;for(const bt of this.samplers)if(bt.group==Et&&bt.binding==xt)return bt;return null}_findResource(Et){for(const xt of this.uniforms)if(xt.name==Et)return xt;for(const xt of this.storage)if(xt.name==Et)return xt;for(const xt of this.textures)if(xt.name==Et)return xt;for(const xt of this.samplers)if(xt.name==Et)return xt;return null}_markStructsFromAST(Et){const xt=this.getTypeInfo(Et,null);this._markStructsInUse(xt)}_findResources(Et,xt){const vt=[],bt=this,At=[];return Et.search(Ft=>{if(Ft instanceof E$1)At.push({});else if(Ft instanceof $$1)At.pop();else if(Ft instanceof F$1){const Ct=Ft;xt&&Ct.type!==null&&this._markStructsFromAST(Ct.type),At.length>0&&(At[At.length-1][Ct.name]=Ct)}else if(Ft instanceof de$1){const Ct=Ft;xt&&Ct.type!==null&&this._markStructsFromAST(Ct.type)}else if(Ft instanceof U$1){const Ct=Ft;xt&&Ct.type!==null&&this._markStructsFromAST(Ct.type),At.length>0&&(At[At.length-1][Ct.name]=Ct)}else if(Ft instanceof ge$1){const Ct=Ft;if(At.length>0&&At[At.length-1][Ct.name])return;const wt=bt._findResource(Ct.name);wt&&vt.push(wt)}else if(Ft instanceof me$1){const Ct=Ft,wt=bt._functions.get(Ct.name);wt&&(xt&&(wt.inUse=!0),Et.calls.add(wt.node),wt.resources===null&&(wt.resources=bt._findResources(wt.node,xt)),vt.push(...wt.resources))}else if(Ft instanceof X$1){const Ct=Ft,wt=bt._functions.get(Ct.name);wt&&(xt&&(wt.inUse=!0),Et.calls.add(wt.node),wt.resources===null&&(wt.resources=bt._findResources(wt.node,xt)),vt.push(...wt.resources))}}),[...new Map(vt.map(Ft=>[Ft.name,Ft])).values()]}getBindGroups(){const Et=[];function xt(vt,bt){vt>=Et.length&&(Et.length=vt+1),Et[vt]===void 0&&(Et[vt]=[]),bt>=Et[vt].length&&(Et[vt].length=bt+1)}for(const vt of this.uniforms)xt(vt.group,vt.binding),Et[vt.group][vt.binding]=vt;for(const vt of this.storage)xt(vt.group,vt.binding),Et[vt.group][vt.binding]=vt;for(const vt of this.textures)xt(vt.group,vt.binding),Et[vt.group][vt.binding]=vt;for(const vt of this.samplers)xt(vt.group,vt.binding),Et[vt.group][vt.binding]=vt;return Et}_getOutputs(Et,xt=void 0){if(xt===void 0&&(xt=[]),Et instanceof oe$1)this._getStructOutputs(Et,xt);else{const vt=this._getOutputInfo(Et);vt!==null&&xt.push(vt)}return xt}_getStructOutputs(Et,xt){for(const vt of Et.members)if(vt.type instanceof oe$1)this._getStructOutputs(vt.type,xt);else{const bt=this._getAttribute(vt,"location")||this._getAttribute(vt,"builtin");if(bt!==null){const At=this.getTypeInfo(vt.type,vt.type.attributes),Ft=this._parseInt(bt.value),Ct=new u(vt.name,At,bt.name,Ft);xt.push(Ct)}}}_getOutputInfo(Et){const xt=this._getAttribute(Et,"location")||this._getAttribute(Et,"builtin");if(xt!==null){const vt=this.getTypeInfo(Et,Et.attributes),bt=this._parseInt(xt.value);return new u("",vt,xt.name,bt)}return null}_getInputs(Et,xt=void 0){xt===void 0&&(xt=[]);for(const vt of Et)if(vt.type instanceof oe$1)this._getStructInputs(vt.type,xt);else{const bt=this._getInputInfo(vt);bt!==null&&xt.push(bt)}return xt}_getStructInputs(Et,xt){for(const vt of Et.members)if(vt.type instanceof oe$1)this._getStructInputs(vt.type,xt);else{const bt=this._getInputInfo(vt);bt!==null&&xt.push(bt)}}_getInputInfo(Et){const xt=this._getAttribute(Et,"location")||this._getAttribute(Et,"builtin");if(xt!==null){const vt=this._getAttribute(Et,"interpolation"),bt=this.getTypeInfo(Et.type,Et.attributes),At=this._parseInt(xt.value),Ft=new l(Et.name,bt,xt.name,At);return vt!==null&&(Ft.interpolation=this._parseString(vt.value)),Ft}return null}_parseString(Et){return Et instanceof Array&&(Et=Et[0]),Et}_parseInt(Et){Et instanceof Array&&(Et=Et[0]);const xt=parseInt(Et);return isNaN(xt)?Et:xt}_getAlias(Et){for(const xt of this.aliases)if(xt.name==Et)return xt.type;return null}_getAliasInfo(Et){return new c(Et.name,this.getTypeInfo(Et.type,null))}getTypeInfoByName(Et){for(const xt of this.structs)if(xt.name==Et)return xt;for(const xt of this.aliases)if(xt.name==Et)return xt.type;return null}getTypeInfo(Et,xt=null){if(this._types.has(Et))return this._types.get(Et);if(Et instanceof le$1){const bt=Et.type?this.getTypeInfo(Et.type,Et.attributes):null,At=new r(Et.name,bt,xt);return this._types.set(Et,At),this._updateTypeInfo(At),At}if(Et instanceof ue$1){const bt=Et,At=bt.format?this.getTypeInfo(bt.format,bt.attributes):null,Ft=new s(bt.name,xt);return Ft.format=At,Ft.count=bt.count,this._types.set(Et,Ft),this._updateTypeInfo(Ft),Ft}if(Et instanceof oe$1){const bt=Et,At=new n(bt.name,xt);At.startLine=bt.startLine,At.endLine=bt.endLine;for(const Ft of bt.members){const Ct=this.getTypeInfo(Ft.type,Ft.attributes);At.members.push(new t(Ft.name,Ct,Ft.attributes))}return this._types.set(Et,At),this._updateTypeInfo(At),At}if(Et instanceof he$1){const bt=Et,At=bt.format instanceof ae$1,Ft=bt.format?At?this.getTypeInfo(bt.format,null):new e(bt.format,null):null,Ct=new a(bt.name,Ft,xt,bt.access);return this._types.set(Et,Ct),this._updateTypeInfo(Ct),Ct}if(Et instanceof ce$1){const bt=Et,At=bt.format?this.getTypeInfo(bt.format,null):null,Ft=new a(bt.name,At,xt,bt.access);return this._types.set(Et,Ft),this._updateTypeInfo(Ft),Ft}const vt=new e(Et.name,xt);return this._types.set(Et,vt),this._updateTypeInfo(vt),vt}_updateTypeInfo(Et){var xt,vt,bt;const At=this._getTypeSize(Et);if(Et.size=(xt=At?.size)!==null&&xt!==void 0?xt:0,Et instanceof s&&Et.format){const Ft=this._getTypeSize(Et.format);Et.stride=Math.max((vt=Ft?.size)!==null&&vt!==void 0?vt:0,(bt=Ft?.align)!==null&&bt!==void 0?bt:0),this._updateTypeInfo(Et.format)}Et instanceof r&&this._updateTypeInfo(Et.format),Et instanceof n&&this._updateStructInfo(Et)}_updateStructInfo(Et){var xt;let vt=0,bt=0,At=0,Ft=0;for(let Ct=0,wt=Et.members.length;Ct<wt;++Ct){const St=Et.members[Ct],Tt=this._getTypeSize(St);if(!Tt)continue;(xt=this._getAlias(St.type.name))!==null&&xt!==void 0||St.type;const Rt=Tt.align,Pt=Tt.size;vt=this._roundUp(Rt,vt+bt),bt=Pt,At=vt,Ft=Math.max(Ft,Rt),St.offset=vt,St.size=Pt,this._updateTypeInfo(St.type)}Et.size=this._roundUp(Ft,At+bt),Et.align=Ft}_getTypeSize(Et){var xt,vt;if(Et==null)return null;const bt=this._getAttributeNum(Et.attributes,"size",0),At=this._getAttributeNum(Et.attributes,"align",0);if(Et instanceof t&&(Et=Et.type),Et instanceof e){const Ft=this._getAlias(Et.name);Ft!==null&&(Et=Ft)}{const Ft=at._typeInfo[Et.name];if(Ft!==void 0){const Ct=((xt=Et.format)===null||xt===void 0?void 0:xt.name)==="f16"?2:1;return new rt(Math.max(At,Ft.align/Ct),Math.max(bt,Ft.size/Ct))}}{const Ft=at._typeInfo[Et.name.substring(0,Et.name.length-1)];if(Ft){const Ct=Et.name[Et.name.length-1]==="h"?2:1;return new rt(Math.max(At,Ft.align/Ct),Math.max(bt,Ft.size/Ct))}}if(Et instanceof s){let Ft=Et,Ct=8,wt=8;const St=this._getTypeSize(Ft.format);return St!==null&&(wt=St.size,Ct=St.align),wt=Ft.count*this._getAttributeNum((vt=Et?.attributes)!==null&&vt!==void 0?vt:null,"stride",this._roundUp(Ct,wt)),bt&&(wt=bt),new rt(Math.max(At,Ct),Math.max(bt,wt))}if(Et instanceof n){let Ft=0,Ct=0,wt=0,St=0,Tt=0;for(const Rt of Et.members){const Pt=this._getTypeSize(Rt.type);Pt!==null&&(Ft=Math.max(Pt.align,Ft),wt=this._roundUp(Pt.align,wt+St),St=Pt.size,Tt=wt)}return Ct=this._roundUp(Ft,Tt+St),new rt(Math.max(At,Ft),Math.max(bt,Ct))}return null}_isUniformVar(Et){return Et instanceof F$1&&Et.storage=="uniform"}_isStorageVar(Et){return Et instanceof F$1&&Et.storage=="storage"}_isTextureVar(Et){return Et instanceof F$1&&Et.type!==null&&at._textureTypes.indexOf(Et.type.name)!=-1}_isSamplerVar(Et){return Et instanceof F$1&&Et.type!==null&&at._samplerTypes.indexOf(Et.type.name)!=-1}_getAttribute(Et,xt){const vt=Et;if(!vt||!vt.attributes)return null;const bt=vt.attributes;for(let At of bt)if(At.name==xt)return At;return null}_getAttributeNum(Et,xt,vt){if(Et===null)return vt;for(let bt of Et)if(bt.name==xt){let At=bt!==null&&bt.value!==null?bt.value:vt;return At instanceof Array&&(At=At[0]),typeof At=="number"?At:typeof At=="string"?parseInt(At):vt}return vt}_roundUp(Et,xt){return Math.ceil(xt/Et)*Et}}at._typeInfo={f16:{align:2,size:2},i32:{align:4,size:4},u32:{align:4,size:4},f32:{align:4,size:4},atomic:{align:4,size:4},vec2:{align:8,size:8},vec3:{align:16,size:12},vec4:{align:16,size:16},mat2x2:{align:8,size:16},mat3x2:{align:8,size:24},mat4x2:{align:8,size:32},mat2x3:{align:16,size:32},mat3x3:{align:16,size:48},mat4x3:{align:16,size:64},mat2x4:{align:16,size:32},mat3x4:{align:16,size:48},mat4x4:{align:16,size:64}},at._textureTypes=He$1.any_texture_type.map(yt=>yt.name),at._samplerTypes=He$1.sampler_type.map(yt=>yt.name);let it=0;class ot{constructor(Et,xt,vt){this.id=it++,this.name=Et,this.value=xt,this.node=vt}clone(){return new ot(this.name,this.value,this.node)}}class ct{constructor(Et){this.id=it++,this.name=Et.name,this.node=Et}clone(){return new ct(this.node)}}class lt{constructor(Et){this.parent=null,this.variables=new Map,this.functions=new Map,this.currentFunctionName="",this.id=it++,Et&&(this.parent=Et,this.currentFunctionName=Et.currentFunctionName)}getVariable(Et){var xt;return this.variables.has(Et)?(xt=this.variables.get(Et))!==null&&xt!==void 0?xt:null:this.parent?this.parent.getVariable(Et):null}getFunction(Et){var xt;return this.functions.has(Et)?(xt=this.functions.get(Et))!==null&&xt!==void 0?xt:null:this.parent?this.parent.getFunction(Et):null}createVariable(Et,xt,vt){this.variables.set(Et,new ot(Et,xt,vt??null))}setVariable(Et,xt,vt){const bt=this.getVariable(Et);bt!==null?bt.value=xt:this.createVariable(Et,xt,vt)}getVariableValue(Et){var xt;const vt=this.getVariable(Et);return(xt=vt?.value)!==null&&xt!==void 0?xt:null}clone(){return new lt(this)}}class ut{evalExpression(Et,xt){return null}getTypeInfo(Et){return null}getVariableName(Et,xt){return""}}class ht{constructor(Et){this.exec=Et}getTypeInfo(Et){return this.exec.getTypeInfo(Et)}All(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);let bt=!0;if(vt instanceof Me$1)return vt.data.forEach(At=>{At||(bt=!1)}),new Be$1(bt?1:0,this.getTypeInfo("bool"));throw new Error(`All() expects a vector argument. Line ${Et.line}`)}Any(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1){const bt=vt.data.some(At=>At);return new Be$1(bt?1:0,this.getTypeInfo("bool"))}throw new Error(`Any() expects a vector argument. Line ${Et.line}`)}Select(Et,xt){const vt=this.exec.evalExpression(Et.args[2],xt);if(!(vt instanceof Be$1))throw new Error(`Select() expects a bool condition. Line ${Et.line}`);return vt.value?this.exec.evalExpression(Et.args[1],xt):this.exec.evalExpression(Et.args[0],xt)}ArrayLength(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.evalExpression(vt,xt);if(bt instanceof Pe$1&&bt.typeInfo.size===0){const At=bt.typeInfo,Ft=bt.buffer.byteLength/At.stride;return new Be$1(Ft,this.getTypeInfo("u32"))}return new Be$1(bt.typeInfo.size,this.getTypeInfo("u32"))}Abs(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.abs(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.abs(bt.value),bt.typeInfo)}Acos(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.acos(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.acos(bt.value),vt.typeInfo)}Acosh(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.acosh(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.acosh(bt.value),vt.typeInfo)}Asin(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.asin(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.asin(bt.value),vt.typeInfo)}Asinh(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.asinh(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.asinh(bt.value),vt.typeInfo)}Atan(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.atan(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.atan(bt.value),vt.typeInfo)}Atanh(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.atanh(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.atanh(bt.value),vt.typeInfo)}Atan2(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt);if(vt instanceof Me$1&&bt instanceof Me$1)return new Me$1(vt.data.map((Ct,wt)=>Math.atan2(Ct,bt.data[wt])),vt.typeInfo);const At=vt,Ft=bt;return new Be$1(Math.atan2(At.value,Ft.value),vt.typeInfo)}Ceil(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.ceil(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.ceil(bt.value),vt.typeInfo)}_clamp(Et,xt,vt){return Math.min(Math.max(Et,xt),vt)}Clamp(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt),At=this.exec.evalExpression(Et.args[2],xt);if(vt instanceof Me$1&&bt instanceof Me$1&&At instanceof Me$1)return new Me$1(vt.data.map((St,Tt)=>this._clamp(St,bt.data[Tt],At.data[Tt])),vt.typeInfo);const Ft=vt,Ct=bt,wt=At;return new Be$1(this._clamp(Ft.value,Ct.value,wt.value),vt.typeInfo)}Cos(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.cos(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.cos(bt.value),vt.typeInfo)}Cosh(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.cosh(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.cos(bt.value),vt.typeInfo)}CountLeadingZeros(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.clz32(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.clz32(bt.value),vt.typeInfo)}_countOneBits(Et){let xt=0;for(;Et!==0;)1&Et&&xt++,Et>>=1;return xt}CountOneBits(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>this._countOneBits(At)),vt.typeInfo);const bt=vt;return new Be$1(this._countOneBits(bt.value),vt.typeInfo)}_countTrailingZeros(Et){if(Et===0)return 32;let xt=0;for(;!(1&Et);)Et>>=1,xt++;return xt}CountTrailingZeros(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>this._countTrailingZeros(At)),vt.typeInfo);const bt=vt;return new Be$1(this._countTrailingZeros(bt.value),vt.typeInfo)}Cross(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt);if(vt instanceof Me$1&&bt instanceof Me$1){if(vt.data.length!==3||bt.data.length!==3)return console.error(`Cross() expects 3D vectors. Line ${Et.line}`),null;const At=vt.data,Ft=bt.data;return new Me$1([At[1]*Ft[2]-Ft[1]*At[2],At[2]*Ft[0]-Ft[2]*At[0],At[0]*Ft[1]-Ft[0]*At[1]],vt.typeInfo)}return console.error(`Cross() expects vector arguments. Line ${Et.line}`),null}Degrees(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=180/Math.PI;return vt instanceof Me$1?new Me$1(vt.data.map(At=>At*bt),vt.typeInfo):new Be$1(vt.value*bt,this.getTypeInfo("f32"))}Determinant(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Ue$1){const bt=vt.data,At=vt.typeInfo.getTypeName(),Ft=At.endsWith("h")?this.getTypeInfo("f16"):this.getTypeInfo("f32");if(At==="mat2x2"||At==="mat2x2f"||At==="mat2x2h")return new Be$1(bt[0]*bt[3]-bt[1]*bt[2],Ft);if(At==="mat2x3"||At==="mat2x3f"||At==="mat2x3h")return new Be$1(bt[0]*(bt[4]*bt[8]-bt[5]*bt[7])-bt[1]*(bt[3]*bt[8]-bt[5]*bt[6])+bt[2]*(bt[3]*bt[7]-bt[4]*bt[6]),Ft);if(At==="mat2x4"||At==="mat2x4f"||At==="mat2x4h")console.error(`TODO: Determinant for ${At}`);else if(At==="mat3x2"||At==="mat3x2f"||At==="mat3x2h")console.error(`TODO: Determinant for ${At}`);else{if(At==="mat3x3"||At==="mat3x3f"||At==="mat3x3h")return new Be$1(bt[0]*(bt[4]*bt[8]-bt[5]*bt[7])-bt[1]*(bt[3]*bt[8]-bt[5]*bt[6])+bt[2]*(bt[3]*bt[7]-bt[4]*bt[6]),Ft);At==="mat3x4"||At==="mat3x4f"||At==="mat3x4h"||At==="mat4x2"||At==="mat4x2f"||At==="mat4x2h"||At==="mat4x3"||At==="mat4x3f"||At==="mat4x3h"?console.error(`TODO: Determinant for ${At}`):At!=="mat4x4"&&At!=="mat4x4f"&&At!=="mat4x4h"||console.error(`TODO: Determinant for ${At}`)}}return console.error(`Determinant expects a matrix argument. Line ${Et.line}`),null}Distance(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt);if(vt instanceof Me$1&&bt instanceof Me$1){let Ct=0;for(let wt=0;wt<vt.data.length;++wt)Ct+=(vt.data[wt]-bt.data[wt])*(vt.data[wt]-bt.data[wt]);return new Be$1(Math.sqrt(Ct),this.getTypeInfo("f32"))}const At=vt,Ft=bt;return new Be$1(Math.abs(At.value-Ft.value),vt.typeInfo)}_dot(Et,xt){let vt=0;for(let bt=0;bt<Et.length;++bt)vt+=xt[bt]*Et[bt];return vt}Dot(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt);return vt instanceof Me$1&&bt instanceof Me$1?new Be$1(this._dot(vt.data,bt.data),this.getTypeInfo("f32")):(console.error(`Dot() expects vector arguments. Line ${Et.line}`),null)}Dot4U8Packed(Et,xt){return console.error(`TODO: dot4U8Packed. Line ${Et.line}`),null}Dot4I8Packed(Et,xt){return console.error(`TODO: dot4I8Packed. Line ${Et.line}`),null}Exp(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.exp(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.exp(bt.value),vt.typeInfo)}Exp2(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.pow(2,At)),vt.typeInfo);const bt=vt;return new Be$1(Math.pow(2,bt.value),vt.typeInfo)}ExtractBits(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt),At=this.exec.evalExpression(Et.args[2],xt);if(bt.typeInfo.name!=="u32"&&bt.typeInfo.name!=="x32")return console.error(`ExtractBits() expects an i32 offset argument. Line ${Et.line}`),null;if(At.typeInfo.name!=="u32"&&At.typeInfo.name!=="x32")return console.error(`ExtractBits() expects an i32 count argument. Line ${Et.line}`),null;const Ft=bt.value,Ct=At.value;if(vt instanceof Me$1)return new Me$1(vt.data.map(St=>St>>Ft&(1<<Ct)-1),vt.typeInfo);if(vt.typeInfo.name!=="i32"&&vt.typeInfo.name!=="x32")return console.error(`ExtractBits() expects an i32 argument. Line ${Et.line}`),null;const wt=vt.value;return new Be$1(wt>>Ft&(1<<Ct)-1,this.getTypeInfo("i32"))}FaceForward(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt),At=this.exec.evalExpression(Et.args[2],xt);if(vt instanceof Me$1&&bt instanceof Me$1&&At instanceof Me$1){const Ft=this._dot(bt.data,At.data);return new Me$1(Ft<0?Array.from(vt.data):vt.data.map(Ct=>-Ct),vt.typeInfo)}return console.error(`FaceForward() expects vector arguments. Line ${Et.line}`),null}_firstLeadingBit(Et){return Et===0?-1:31-Math.clz32(Et)}FirstLeadingBit(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>this._firstLeadingBit(At)),vt.typeInfo);const bt=vt;return new Be$1(this._firstLeadingBit(bt.value),vt.typeInfo)}_firstTrailingBit(Et){return Et===0?-1:Math.log2(Et&-Et)}FirstTrailingBit(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>this._firstTrailingBit(At)),vt.typeInfo);const bt=vt;return new Be$1(this._firstTrailingBit(bt.value),vt.typeInfo)}Floor(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.floor(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.floor(bt.value),vt.typeInfo)}Fma(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt),At=this.exec.evalExpression(Et.args[2],xt);if(vt instanceof Me$1&&bt instanceof Me$1&&At instanceof Me$1)return vt.data.length!==bt.data.length||vt.data.length!==At.data.length?(console.error(`Fma() expects vectors of the same length. Line ${Et.line}`),null):new Me$1(vt.data.map((St,Tt)=>St*bt.data[Tt]+At.data[Tt]),vt.typeInfo);const Ft=vt,Ct=bt,wt=At;return new Be$1(Ft.value*Ct.value+wt.value,Ft.typeInfo)}Fract(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>At-Math.floor(At)),vt.typeInfo);const bt=vt;return new Be$1(bt.value-Math.floor(bt.value),vt.typeInfo)}Frexp(Et,xt){return console.error(`TODO: frexp. Line ${Et.line}`),null}InsertBits(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt),At=this.exec.evalExpression(Et.args[2],xt),Ft=this.exec.evalExpression(Et.args[3],xt);if(At.typeInfo.name!=="u32"&&At.typeInfo.name!=="x32")return console.error(`InsertBits() expects an i32 offset argument. Line ${Et.line}`),null;const Ct=At.value,wt=(1<<Ft.value)-1<<Ct,St=~wt;if(vt instanceof Me$1&&bt instanceof Me$1)return new Me$1(vt.data.map((Pt,Lt)=>Pt&St|bt.data[Lt]<<Ct&wt),vt.typeInfo);const Tt=vt.value,Rt=bt.value;return new Be$1(Tt&St|Rt<<Ct&wt,vt.typeInfo)}InverseSqrt(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>1/Math.sqrt(At)),vt.typeInfo);const bt=vt;return new Be$1(1/Math.sqrt(bt.value),vt.typeInfo)}Ldexp(Et,xt){return console.error(`TODO: ldexp. Line ${Et.line}`),null}Length(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1){let At=0;return vt.data.forEach(Ft=>{At+=Ft*Ft}),new Be$1(Math.sqrt(At),this.getTypeInfo("f32"))}const bt=vt;return new Be$1(Math.abs(bt.value),vt.typeInfo)}Log(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.log(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.log(bt.value),vt.typeInfo)}Log2(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.log2(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.log2(bt.value),vt.typeInfo)}Max(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt);if(vt instanceof Me$1&&bt instanceof Me$1)return new Me$1(vt.data.map((Ct,wt)=>Math.max(Ct,bt.data[wt])),vt.typeInfo);const At=vt,Ft=bt;return new Be$1(Math.max(At.value,Ft.value),vt.typeInfo)}Min(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt);if(vt instanceof Me$1&&bt instanceof Me$1)return new Me$1(vt.data.map((Ct,wt)=>Math.min(Ct,bt.data[wt])),vt.typeInfo);const At=vt,Ft=bt;return new Be$1(Math.min(At.value,Ft.value),vt.typeInfo)}Mix(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt),At=this.exec.evalExpression(Et.args[2],xt);if(vt instanceof Me$1&&bt instanceof Me$1&&At instanceof Me$1)return new Me$1(vt.data.map((wt,St)=>vt.data[St]*(1-At.data[St])+bt.data[St]*At.data[St]),vt.typeInfo);const Ft=bt,Ct=At;return new Be$1(vt.value*(1-Ct.value)+Ft.value*Ct.value,vt.typeInfo)}Modf(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt);if(vt instanceof Me$1&&bt instanceof Me$1)return new Me$1(vt.data.map((Ft,Ct)=>Ft%bt.data[Ct]),vt.typeInfo);const At=bt;return new Be$1(vt.value%At.value,vt.typeInfo)}Normalize(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1){const bt=this.Length(Et,xt).value;return new Me$1(vt.data.map(At=>At/bt),vt.typeInfo)}return console.error(`Normalize() expects a vector argument. Line ${Et.line}`),null}Pow(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt);if(vt instanceof Me$1&&bt instanceof Me$1)return new Me$1(vt.data.map((Ct,wt)=>Math.pow(Ct,bt.data[wt])),vt.typeInfo);const At=vt,Ft=bt;return new Be$1(Math.pow(At.value,Ft.value),vt.typeInfo)}QuantizeToF16(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);return vt instanceof Me$1?new Me$1(vt.data.map(bt=>bt),vt.typeInfo):new Be$1(vt.value,vt.typeInfo)}Radians(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);return vt instanceof Me$1?new Me$1(vt.data.map(bt=>bt*Math.PI/180),vt.typeInfo):new Be$1(vt.value*Math.PI/180,this.getTypeInfo("f32"))}Reflect(Et,xt){let vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt);if(vt instanceof Me$1&&bt instanceof Me$1){const At=this._dot(vt.data,bt.data);return new Me$1(vt.data.map((Ft,Ct)=>Ft-2*At*bt.data[Ct]),vt.typeInfo)}return console.error(`Reflect() expects vector arguments. Line ${Et.line}`),null}Refract(Et,xt){let vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt),At=this.exec.evalExpression(Et.args[2],xt);if(vt instanceof Me$1&&bt instanceof Me$1&&At instanceof Be$1){const Ft=this._dot(bt.data,vt.data);return new Me$1(vt.data.map((Ct,wt)=>{const St=1-At.value*At.value*(1-Ft*Ft);if(St<0)return 0;const Tt=Math.sqrt(St);return At.value*Ct-(At.value*Ft+Tt)*bt.data[wt]}),vt.typeInfo)}return console.error(`Refract() expects vector arguments and a scalar argument. Line ${Et.line}`),null}ReverseBits(Et,xt){return console.error(`TODO: reverseBits. Line ${Et.line}`),null}Round(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.round(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.round(bt.value),vt.typeInfo)}Saturate(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.min(Math.max(At,0),1)),vt.typeInfo);const bt=vt;return new Be$1(Math.min(Math.max(bt.value,0),1),vt.typeInfo)}Sign(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.sign(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.sign(bt.value),vt.typeInfo)}Sin(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.sin(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.sin(bt.value),vt.typeInfo)}Sinh(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.sinh(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.sinh(bt.value),vt.typeInfo)}_smoothstep(Et,xt,vt){const bt=Math.min(Math.max((vt-Et)/(xt-Et),0),1);return bt*bt*(3-2*bt)}SmoothStep(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt),At=this.exec.evalExpression(Et.args[2],xt);if(At instanceof Me$1&&vt instanceof Me$1&&bt instanceof Me$1)return new Me$1(At.data.map((St,Tt)=>this._smoothstep(vt.data[Tt],bt.data[Tt],St)),At.typeInfo);const Ft=vt,Ct=bt,wt=At;return new Be$1(this._smoothstep(Ft.value,Ct.value,wt.value),At.typeInfo)}Sqrt(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.sqrt(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.sqrt(bt.value),vt.typeInfo)}Step(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt),bt=this.exec.evalExpression(Et.args[1],xt);if(bt instanceof Me$1&&vt instanceof Me$1)return new Me$1(bt.data.map((Ft,Ct)=>Ft<vt.data[Ct]?0:1),bt.typeInfo);const At=vt;return new Be$1(bt.value<At.value?0:1,At.typeInfo)}Tan(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.tan(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.tan(bt.value),vt.typeInfo)}Tanh(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.tanh(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.tanh(bt.value),vt.typeInfo)}_getTransposeType(Et){const xt=Et.getTypeName();return xt==="mat2x2f"||xt==="mat2x2h"?Et:xt==="mat2x3f"?this.getTypeInfo("mat3x2f"):xt==="mat2x3h"?this.getTypeInfo("mat3x2h"):xt==="mat2x4f"?this.getTypeInfo("mat4x2f"):xt==="mat2x4h"?this.getTypeInfo("mat4x2h"):xt==="mat3x2f"?this.getTypeInfo("mat2x3f"):xt==="mat3x2h"?this.getTypeInfo("mat2x3h"):xt==="mat3x3f"||xt==="mat3x3h"?Et:xt==="mat3x4f"?this.getTypeInfo("mat4x3f"):xt==="mat3x4h"?this.getTypeInfo("mat4x3h"):xt==="mat4x2f"?this.getTypeInfo("mat2x4f"):xt==="mat4x2h"?this.getTypeInfo("mat2x4h"):xt==="mat4x3f"?this.getTypeInfo("mat3x4f"):xt==="mat4x3h"?this.getTypeInfo("mat3x4h"):(xt==="mat4x4f"||xt==="mat4x4h"||console.error(`Invalid matrix type ${xt}`),Et)}Transpose(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(!(vt instanceof Ue$1))return console.error(`Transpose() expects a matrix argument. Line ${Et.line}`),null;const bt=this._getTransposeType(vt.typeInfo);if(vt.typeInfo.name==="mat2x2"||vt.typeInfo.name==="mat2x2f"||vt.typeInfo.name==="mat2x2h"){const At=vt.data;return new Ue$1([At[0],At[2],At[1],At[3]],bt)}if(vt.typeInfo.name==="mat2x3"||vt.typeInfo.name==="mat2x3f"||vt.typeInfo.name==="mat2x3h"){const At=vt.data;return new Ue$1([At[0],At[3],At[6],At[1],At[4],At[7]],bt)}if(vt.typeInfo.name==="mat2x4"||vt.typeInfo.name==="mat2x4f"||vt.typeInfo.name==="mat2x4h"){const At=vt.data;return new Ue$1([At[0],At[4],At[8],At[12],At[1],At[5],At[9],At[13]],bt)}if(vt.typeInfo.name==="mat3x2"||vt.typeInfo.name==="mat3x2f"||vt.typeInfo.name==="mat3x2h"){const At=vt.data;return new Ue$1([At[0],At[3],At[1],At[4],At[2],At[5]],bt)}if(vt.typeInfo.name==="mat3x3"||vt.typeInfo.name==="mat3x3f"||vt.typeInfo.name==="mat3x3h"){const At=vt.data;return new Ue$1([At[0],At[3],At[6],At[1],At[4],At[7],At[2],At[5],At[8]],bt)}if(vt.typeInfo.name==="mat3x4"||vt.typeInfo.name==="mat3x4f"||vt.typeInfo.name==="mat3x4h"){const At=vt.data;return new Ue$1([At[0],At[4],At[8],At[12],At[1],At[5],At[9],At[13],At[2],At[6],At[10],At[14]],bt)}if(vt.typeInfo.name==="mat4x2"||vt.typeInfo.name==="mat4x2f"||vt.typeInfo.name==="mat4x2h"){const At=vt.data;return new Ue$1([At[0],At[4],At[1],At[5],At[2],At[6]],bt)}if(vt.typeInfo.name==="mat4x3"||vt.typeInfo.name==="mat4x3f"||vt.typeInfo.name==="mat4x3h"){const At=vt.data;return new Ue$1([At[0],At[4],At[8],At[1],At[5],At[9],At[2],At[6],At[10]],bt)}if(vt.typeInfo.name==="mat4x4"||vt.typeInfo.name==="mat4x4f"||vt.typeInfo.name==="mat4x4h"){const At=vt.data;return new Ue$1([At[0],At[4],At[8],At[12],At[1],At[5],At[9],At[13],At[2],At[6],At[10],At[14],At[3],At[7],At[11],At[15]],bt)}return console.error(`Invalid matrix type ${vt.typeInfo.name}`),null}Trunc(Et,xt){const vt=this.exec.evalExpression(Et.args[0],xt);if(vt instanceof Me$1)return new Me$1(vt.data.map(At=>Math.trunc(At)),vt.typeInfo);const bt=vt;return new Be$1(Math.trunc(bt.value),vt.typeInfo)}Dpdx(Et,xt){return console.error(`TODO: dpdx. Line ${Et.line}`),null}DpdxCoarse(Et,xt){return console.error(`TODO: dpdxCoarse. Line ${Et.line}`),null}DpdxFine(Et,xt){return console.error("TODO: dpdxFine"),null}Dpdy(Et,xt){return console.error("TODO: dpdy"),null}DpdyCoarse(Et,xt){return console.error("TODO: dpdyCoarse"),null}DpdyFine(Et,xt){return console.error("TODO: dpdyFine"),null}Fwidth(Et,xt){return console.error("TODO: fwidth"),null}FwidthCoarse(Et,xt){return console.error("TODO: fwidthCoarse"),null}FwidthFine(Et,xt){return console.error("TODO: fwidthFine"),null}TextureDimensions(Et,xt){const vt=Et.args[0],bt=Et.args.length>1?this.exec.evalExpression(Et.args[1],xt).value:0;if(vt instanceof ge$1){const At=vt.name,Ft=xt.getVariableValue(At);if(Ft instanceof We$1){if(bt<0||bt>=Ft.mipLevelCount)return console.error(`Invalid mip level for textureDimensions. Line ${Et.line}`),null;const Ct=Ft.getMipLevelSize(bt),wt=Ft.dimension;return wt==="1d"?new Be$1(Ct[0],this.getTypeInfo("u32")):wt==="3d"?new Me$1(Ct,this.getTypeInfo("vec3u")):wt==="2d"?new Me$1(Ct.slice(0,2),this.getTypeInfo("vec2u")):(console.error(`Invalid texture dimension ${wt} not found. Line ${Et.line}`),null)}return console.error(`Texture ${At} not found. Line ${Et.line}`),null}return console.error(`Invalid texture argument for textureDimensions. Line ${Et.line}`),null}TextureGather(Et,xt){return console.error("TODO: textureGather"),null}TextureGatherCompare(Et,xt){return console.error("TODO: textureGatherCompare"),null}TextureLoad(Et,xt){const vt=Et.args[0],bt=this.exec.evalExpression(Et.args[1],xt),At=Et.args.length>2?this.exec.evalExpression(Et.args[2],xt).value:0;if(!(bt instanceof Me$1)||bt.data.length!==2)return console.error(`Invalid UV argument for textureLoad. Line ${Et.line}`),null;if(vt instanceof ge$1){const Ft=vt.name,Ct=xt.getVariableValue(Ft);if(Ct instanceof We$1){const wt=Math.floor(bt.data[0]),St=Math.floor(bt.data[1]);if(wt<0||wt>=Ct.width||St<0||St>=Ct.height)return console.error(`Texture ${Ft} out of bounds. Line ${Et.line}`),null;const Tt=Ct.getPixel(wt,St,0,At);return Tt===null?(console.error(`Invalid texture format for textureLoad. Line ${Et.line}`),null):new Me$1(Tt,this.getTypeInfo("vec4f"))}return console.error(`Texture ${Ft} not found. Line ${Et.line}`),null}return console.error(`Invalid texture argument for textureLoad. Line ${Et.line}`),null}TextureNumLayers(Et,xt){const vt=Et.args[0];if(vt instanceof ge$1){const bt=vt.name,At=xt.getVariableValue(bt);return At instanceof We$1?new Be$1(At.depthOrArrayLayers,this.getTypeInfo("u32")):(console.error(`Texture ${bt} not found. Line ${Et.line}`),null)}return console.error(`Invalid texture argument for textureNumLayers. Line ${Et.line}`),null}TextureNumLevels(Et,xt){const vt=Et.args[0];if(vt instanceof ge$1){const bt=vt.name,At=xt.getVariableValue(bt);return At instanceof We$1?new Be$1(At.mipLevelCount,this.getTypeInfo("u32")):(console.error(`Texture ${bt} not found. Line ${Et.line}`),null)}return console.error(`Invalid texture argument for textureNumLevels. Line ${Et.line}`),null}TextureNumSamples(Et,xt){const vt=Et.args[0];if(vt instanceof ge$1){const bt=vt.name,At=xt.getVariableValue(bt);return At instanceof We$1?new Be$1(At.sampleCount,this.getTypeInfo("u32")):(console.error(`Texture ${bt} not found. Line ${Et.line}`),null)}return console.error(`Invalid texture argument for textureNumSamples. Line ${Et.line}`),null}TextureSample(Et,xt){return console.error("TODO: textureSample"),null}TextureSampleBias(Et,xt){return console.error("TODO: textureSampleBias"),null}TextureSampleCompare(Et,xt){return console.error("TODO: textureSampleCompare"),null}TextureSampleCompareLevel(Et,xt){return console.error("TODO: textureSampleCompareLevel"),null}TextureSampleGrad(Et,xt){return console.error("TODO: textureSampleGrad"),null}TextureSampleLevel(Et,xt){return console.error("TODO: textureSampleLevel"),null}TextureSampleBaseClampToEdge(Et,xt){return console.error("TODO: textureSampleBaseClampToEdge"),null}TextureStore(Et,xt){const vt=Et.args[0],bt=this.exec.evalExpression(Et.args[1],xt),At=Et.args.length===4?this.exec.evalExpression(Et.args[2],xt).value:0,Ft=Et.args.length===4?this.exec.evalExpression(Et.args[3],xt).data:this.exec.evalExpression(Et.args[2],xt).data;if(Ft.length!==4)return console.error(`Invalid value argument for textureStore. Line ${Et.line}`),null;if(!(bt instanceof Me$1)||bt.data.length!==2)return console.error(`Invalid UV argument for textureStore. Line ${Et.line}`),null;if(vt instanceof ge$1){const Ct=vt.name,wt=xt.getVariableValue(Ct);if(wt instanceof We$1){const St=wt.getMipLevelSize(0),Tt=Math.floor(bt.data[0]),Rt=Math.floor(bt.data[1]);return Tt<0||Tt>=St[0]||Rt<0||Rt>=St[1]?(console.error(`Texture ${Ct} out of bounds. Line ${Et.line}`),null):(wt.setPixel(Tt,Rt,0,At,Array.from(Ft)),null)}return console.error(`Texture ${Ct} not found. Line ${Et.line}`),null}return console.error(`Invalid texture argument for textureStore. Line ${Et.line}`),null}AtomicLoad(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.getVariableName(vt,xt);return xt.getVariable(bt).value.getSubData(this.exec,vt.postfix,xt)}AtomicStore(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.getVariableName(vt,xt),At=xt.getVariable(bt);let Ft=Et.args[1];const Ct=this.exec.evalExpression(Ft,xt),wt=At.value.getSubData(this.exec,vt.postfix,xt);return wt instanceof Be$1&&Ct instanceof Be$1&&(wt.value=Ct.value),At.value instanceof Pe$1&&At.value.setDataValue(this.exec,wt,vt.postfix,xt),null}AtomicAdd(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.getVariableName(vt,xt),At=xt.getVariable(bt);let Ft=Et.args[1];const Ct=this.exec.evalExpression(Ft,xt),wt=At.value.getSubData(this.exec,vt.postfix,xt),St=new Be$1(wt.value,wt.typeInfo);return wt instanceof Be$1&&Ct instanceof Be$1&&(wt.value+=Ct.value),At.value instanceof Pe$1&&At.value.setDataValue(this.exec,wt,vt.postfix,xt),St}AtomicSub(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.getVariableName(vt,xt),At=xt.getVariable(bt);let Ft=Et.args[1];const Ct=this.exec.evalExpression(Ft,xt),wt=At.value.getSubData(this.exec,vt.postfix,xt),St=new Be$1(wt.value,wt.typeInfo);return wt instanceof Be$1&&Ct instanceof Be$1&&(wt.value-=Ct.value),At.value instanceof Pe$1&&At.value.setDataValue(this.exec,wt,vt.postfix,xt),St}AtomicMax(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.getVariableName(vt,xt),At=xt.getVariable(bt);let Ft=Et.args[1];const Ct=this.exec.evalExpression(Ft,xt),wt=At.value.getSubData(this.exec,vt.postfix,xt),St=new Be$1(wt.value,wt.typeInfo);return wt instanceof Be$1&&Ct instanceof Be$1&&(wt.value=Math.max(wt.value,Ct.value)),At.value instanceof Pe$1&&At.value.setDataValue(this.exec,wt,vt.postfix,xt),St}AtomicMin(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.getVariableName(vt,xt),At=xt.getVariable(bt);let Ft=Et.args[1];const Ct=this.exec.evalExpression(Ft,xt),wt=At.value.getSubData(this.exec,vt.postfix,xt),St=new Be$1(wt.value,wt.typeInfo);return wt instanceof Be$1&&Ct instanceof Be$1&&(wt.value=Math.min(wt.value,Ct.value)),At.value instanceof Pe$1&&At.value.setDataValue(this.exec,wt,vt.postfix,xt),St}AtomicAnd(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.getVariableName(vt,xt),At=xt.getVariable(bt);let Ft=Et.args[1];const Ct=this.exec.evalExpression(Ft,xt),wt=At.value.getSubData(this.exec,vt.postfix,xt),St=new Be$1(wt.value,wt.typeInfo);return wt instanceof Be$1&&Ct instanceof Be$1&&(wt.value=wt.value&Ct.value),At.value instanceof Pe$1&&At.value.setDataValue(this.exec,wt,vt.postfix,xt),St}AtomicOr(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.getVariableName(vt,xt),At=xt.getVariable(bt);let Ft=Et.args[1];const Ct=this.exec.evalExpression(Ft,xt),wt=At.value.getSubData(this.exec,vt.postfix,xt),St=new Be$1(wt.value,wt.typeInfo);return wt instanceof Be$1&&Ct instanceof Be$1&&(wt.value=wt.value|Ct.value),At.value instanceof Pe$1&&At.value.setDataValue(this.exec,wt,vt.postfix,xt),St}AtomicXor(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.getVariableName(vt,xt),At=xt.getVariable(bt);let Ft=Et.args[1];const Ct=this.exec.evalExpression(Ft,xt),wt=At.value.getSubData(this.exec,vt.postfix,xt),St=new Be$1(wt.value,wt.typeInfo);return wt instanceof Be$1&&Ct instanceof Be$1&&(wt.value=wt.value^Ct.value),At.value instanceof Pe$1&&At.value.setDataValue(this.exec,wt,vt.postfix,xt),St}AtomicExchange(Et,xt){let vt=Et.args[0];vt instanceof ke$1&&(vt=vt.right);const bt=this.exec.getVariableName(vt,xt),At=xt.getVariable(bt);let Ft=Et.args[1];const Ct=this.exec.evalExpression(Ft,xt),wt=At.value.getSubData(this.exec,vt.postfix,xt),St=new Be$1(wt.value,wt.typeInfo);return wt instanceof Be$1&&Ct instanceof Be$1&&(wt.value=Ct.value),At.value instanceof Pe$1&&At.value.setDataValue(this.exec,wt,vt.postfix,xt),St}AtomicCompareExchangeWeak(Et,xt){return console.error("TODO: atomicCompareExchangeWeak"),null}Pack4x8snorm(Et,xt){return console.error("TODO: pack4x8snorm"),null}Pack4x8unorm(Et,xt){return console.error("TODO: pack4x8unorm"),null}Pack4xI8(Et,xt){return console.error("TODO: pack4xI8"),null}Pack4xU8(Et,xt){return console.error("TODO: pack4xU8"),null}Pack4x8Clamp(Et,xt){return console.error("TODO: pack4x8Clamp"),null}Pack4xU8Clamp(Et,xt){return console.error("TODO: pack4xU8Clamp"),null}Pack2x16snorm(Et,xt){return console.error("TODO: pack2x16snorm"),null}Pack2x16unorm(Et,xt){return console.error("TODO: pack2x16unorm"),null}Pack2x16float(Et,xt){return console.error("TODO: pack2x16float"),null}Unpack4x8snorm(Et,xt){return console.error("TODO: unpack4x8snorm"),null}Unpack4x8unorm(Et,xt){return console.error("TODO: unpack4x8unorm"),null}Unpack4xI8(Et,xt){return console.error("TODO: unpack4xI8"),null}Unpack4xU8(Et,xt){return console.error("TODO: unpack4xU8"),null}Unpack2x16snorm(Et,xt){return console.error("TODO: unpack2x16snorm"),null}Unpack2x16unorm(Et,xt){return console.error("TODO: unpack2x16unorm"),null}Unpack2x16float(Et,xt){return console.error("TODO: unpack2x16float"),null}StorageBarrier(Et,xt){return null}TextureBarrier(Et,xt){return null}WorkgroupBarrier(Et,xt){return null}WorkgroupUniformLoad(Et,xt){return null}SubgroupAdd(Et,xt){return console.error("TODO: subgroupAdd"),null}SubgroupExclusiveAdd(Et,xt){return console.error("TODO: subgroupExclusiveAdd"),null}SubgroupInclusiveAdd(Et,xt){return console.error("TODO: subgroupInclusiveAdd"),null}SubgroupAll(Et,xt){return console.error("TODO: subgroupAll"),null}SubgroupAnd(Et,xt){return console.error("TODO: subgroupAnd"),null}SubgroupAny(Et,xt){return console.error("TODO: subgroupAny"),null}SubgroupBallot(Et,xt){return console.error("TODO: subgroupBallot"),null}SubgroupBroadcast(Et,xt){return console.error("TODO: subgroupBroadcast"),null}SubgroupBroadcastFirst(Et,xt){return console.error("TODO: subgroupBroadcastFirst"),null}SubgroupElect(Et,xt){return console.error("TODO: subgroupElect"),null}SubgroupMax(Et,xt){return console.error("TODO: subgroupMax"),null}SubgroupMin(Et,xt){return console.error("TODO: subgroupMin"),null}SubgroupMul(Et,xt){return console.error("TODO: subgroupMul"),null}SubgroupExclusiveMul(Et,xt){return console.error("TODO: subgroupExclusiveMul"),null}SubgroupInclusiveMul(Et,xt){return console.error("TODO: subgroupInclusiveMul"),null}SubgroupOr(Et,xt){return console.error("TODO: subgroupOr"),null}SubgroupShuffle(Et,xt){return console.error("TODO: subgroupShuffle"),null}SubgroupShuffleDown(Et,xt){return console.error("TODO: subgroupShuffleDown"),null}SubgroupShuffleUp(Et,xt){return console.error("TODO: subgroupShuffleUp"),null}SubgroupShuffleXor(Et,xt){return console.error("TODO: subgroupShuffleXor"),null}SubgroupXor(Et,xt){return console.error("TODO: subgroupXor"),null}QuadBroadcast(Et,xt){return console.error("TODO: quadBroadcast"),null}QuadSwapDiagonal(Et,xt){return console.error("TODO: quadSwapDiagonal"),null}QuadSwapX(Et,xt){return console.error("TODO: quadSwapX"),null}QuadSwapY(Et,xt){return console.error("TODO: quadSwapY"),null}}const ft={vec2:2,vec2f:2,vec2i:2,vec2u:2,vec2b:2,vec2h:2,vec3:3,vec3f:3,vec3i:3,vec3u:3,vec3b:3,vec3h:3,vec4:4,vec4f:4,vec4i:4,vec4u:4,vec4b:4,vec4h:4},pt={mat2x2:[2,2,4],mat2x2f:[2,2,4],mat2x2h:[2,2,4],mat2x3:[2,3,6],mat2x3f:[2,3,6],mat2x3h:[2,3,6],mat2x4:[2,4,8],mat2x4f:[2,4,8],mat2x4h:[2,4,8],mat3x2:[3,2,6],mat3x2f:[3,2,6],mat3x2h:[3,2,6],mat3x3:[3,3,9],mat3x3f:[3,3,9],mat3x3h:[3,3,9],mat3x4:[3,4,12],mat3x4f:[3,4,12],mat3x4h:[3,4,12],mat4x2:[4,2,8],mat4x2f:[4,2,8],mat4x2h:[4,2,8],mat4x3:[4,3,12],mat4x3f:[4,3,12],mat4x3h:[4,3,12],mat4x4:[4,4,16],mat4x4f:[4,4,16],mat4x4h:[4,4,16]};class dt extends ut{constructor(Et,xt){var vt;super(),this.ast=Et??[],this.reflection=new at,this.reflection.updateAST(this.ast),this.context=(vt=xt?.clone())!==null&&vt!==void 0?vt:new lt,this.builtins=new ht(this),this.typeInfo={bool:this.getTypeInfo(ae$1.bool),i32:this.getTypeInfo(ae$1.i32),u32:this.getTypeInfo(ae$1.u32),f32:this.getTypeInfo(ae$1.f32),f16:this.getTypeInfo(ae$1.f16),vec2f:this.getTypeInfo(ce$1.vec2f),vec2u:this.getTypeInfo(ce$1.vec2u),vec2i:this.getTypeInfo(ce$1.vec2i),vec2h:this.getTypeInfo(ce$1.vec2h),vec3f:this.getTypeInfo(ce$1.vec3f),vec3u:this.getTypeInfo(ce$1.vec3u),vec3i:this.getTypeInfo(ce$1.vec3i),vec3h:this.getTypeInfo(ce$1.vec3h),vec4f:this.getTypeInfo(ce$1.vec4f),vec4u:this.getTypeInfo(ce$1.vec4u),vec4i:this.getTypeInfo(ce$1.vec4i),vec4h:this.getTypeInfo(ce$1.vec4h),mat2x2f:this.getTypeInfo(ce$1.mat2x2f),mat2x3f:this.getTypeInfo(ce$1.mat2x3f),mat2x4f:this.getTypeInfo(ce$1.mat2x4f),mat3x2f:this.getTypeInfo(ce$1.mat3x2f),mat3x3f:this.getTypeInfo(ce$1.mat3x3f),mat3x4f:this.getTypeInfo(ce$1.mat3x4f),mat4x2f:this.getTypeInfo(ce$1.mat4x2f),mat4x3f:this.getTypeInfo(ce$1.mat4x3f),mat4x4f:this.getTypeInfo(ce$1.mat4x4f)}}getVariableValue(Et){var xt,vt;const bt=(vt=(xt=this.context.getVariable(Et))===null||xt===void 0?void 0:xt.value)!==null&&vt!==void 0?vt:null;if(bt===null)return null;if(bt instanceof Be$1)return bt.value;if(bt instanceof Me$1||bt instanceof Ue$1)return Array.from(bt.data);if(bt instanceof Pe$1&&bt.typeInfo instanceof s){if(bt.typeInfo.format.name==="u32")return Array.from(new Uint32Array(bt.buffer,bt.offset,bt.typeInfo.count));if(bt.typeInfo.format.name==="i32")return Array.from(new Int32Array(bt.buffer,bt.offset,bt.typeInfo.count));if(bt.typeInfo.format.name==="f32")return Array.from(new Float32Array(bt.buffer,bt.offset,bt.typeInfo.count))}return console.error(`Unsupported return variable type ${bt.typeInfo.name}`),null}execute(Et){(Et=Et??{}).constants&&this._setOverrides(Et.constants,this.context),this._execStatements(this.ast,this.context)}dispatchWorkgroups(Et,xt,vt,bt){const At=this.context.clone();(bt=bt??{}).constants&&this._setOverrides(bt.constants,At),this._execStatements(this.ast,At);const Ft=At.getFunction(Et);if(!Ft)return void console.error(`Function ${Et} not found`);if(typeof xt=="number")xt=[xt,1,1];else{if(xt.length===0)return void console.error("Invalid dispatch count");xt.length===1?xt=[xt[0],1,1]:xt.length===2?xt=[xt[0],xt[1],1]:xt.length>3&&(xt=[xt[0],xt[1],xt[2]])}const Ct=xt[0],wt=xt[1],St=xt[2],Tt=this.getTypeInfo("vec3u");At.setVariable("@num_workgroups",new Me$1(xt,Tt));const Rt=this.reflection.getFunctionInfo(Et);Rt===null&&console.error(`Function ${Et} not found in reflection data`);for(const Pt in vt)for(const Lt in vt[Pt]){const kt=vt[Pt][Lt];At.variables.forEach(Ot=>{var Mt;const It=Ot.node;if(It?.attributes){let Nt=null,Ut=null;for(const jt of It.attributes)jt.name==="binding"?Nt=jt.value:jt.name==="group"&&(Ut=jt.value);if(Lt==Nt&&Pt==Ut){let jt=!1;for(const Vt of Rt.resources)if(Vt.name===Ot.name&&Vt.group===parseInt(Pt)&&Vt.binding===parseInt(Lt)){jt=!0;break}if(jt)if(kt.texture!==void 0&&kt.descriptor!==void 0){const Vt=new We$1(kt.texture,this.getTypeInfo(It.type),kt.descriptor,(Mt=kt.texture.view)!==null&&Mt!==void 0?Mt:null);Ot.value=Vt}else kt.uniform!==void 0?Ot.value=new Pe$1(kt.uniform,this.getTypeInfo(It.type)):Ot.value=new Pe$1(kt,this.getTypeInfo(It.type))}}})}for(let Pt=0;Pt<St;++Pt)for(let Lt=0;Lt<wt;++Lt)for(let kt=0;kt<Ct;++kt)At.setVariable("@workgroup_id",new Me$1([kt,Lt,Pt],this.getTypeInfo("vec3u"))),this._dispatchWorkgroup(Ft,[kt,Lt,Pt],At)}execStatement(Et,xt){if(Et instanceof Y)return this.evalExpression(Et.value,xt);if(Et instanceof se$1){if(Et.condition){const vt=this.evalExpression(Et.condition,xt);if(!(vt instanceof Be$1))throw new Error("Invalid break-if condition");if(!vt.value)return null}return dt._breakObj}if(Et instanceof re$1)return dt._continueObj;if(Et instanceof U$1)this._let(Et,xt);else if(Et instanceof F$1)this._var(Et,xt);else if(Et instanceof P$1)this._const(Et,xt);else if(Et instanceof D$1)this._function(Et,xt);else{if(Et instanceof Q$1)return this._if(Et,xt);if(Et instanceof Z)return this._switch(Et,xt);if(Et instanceof B$1)return this._for(Et,xt);if(Et instanceof V$1)return this._while(Et,xt);if(Et instanceof j$1)return this._loop(Et,xt);if(Et instanceof O){const vt=xt.clone();return vt.currentFunctionName=xt.currentFunctionName,this._execStatements(Et.body,vt)}if(Et instanceof G$1)this._assign(Et,xt);else if(Et instanceof R$1)this._increment(Et,xt);else{if(Et instanceof oe$1)return null;if(Et instanceof M$1){const vt=Et.name;xt.getVariable(vt)===null&&xt.setVariable(vt,new Be$1(0,this.getTypeInfo("u32")))}else if(Et instanceof X$1)this._call(Et,xt);else{if(Et instanceof ee||Et instanceof te)return null;console.error("Invalid statement type.",Et,`Line ${Et.line}`)}}}return null}evalExpression(Et,xt){return Et instanceof Ie$1?this._evalBinaryOp(Et,xt):Et instanceof xe?this._evalLiteral(Et,xt):Et instanceof ge$1?this._evalVariable(Et,xt):Et instanceof me$1?this._evalCall(Et,xt):Et instanceof de$1?this._evalCreate(Et,xt):Et instanceof _e$1?this._evalConst(Et,xt):Et instanceof ye$1?this._evalBitcast(Et,xt):Et instanceof ke$1?this._evalUnaryOp(Et,xt):(console.error("Invalid expression type",Et,`Line ${Et.line}`),null)}getTypeInfo(Et){var xt;if(Et instanceof ae$1){const bt=this.reflection.getTypeInfo(Et);if(bt!==null)return bt}let vt=(xt=this.typeInfo[Et])!==null&&xt!==void 0?xt:null;return vt!==null||(vt=this.reflection.getTypeInfoByName(Et)),vt}_setOverrides(Et,xt){for(const vt in Et){const bt=Et[vt],At=this.reflection.getOverrideInfo(vt);At!==null?(At.type===null&&(At.type=this.getTypeInfo("u32")),At.type.name==="u32"||At.type.name==="i32"||At.type.name==="f32"||At.type.name==="f16"?xt.setVariable(vt,new Be$1(bt,At.type)):At.type.name==="bool"?xt.setVariable(vt,new Be$1(bt?1:0,At.type)):At.type.name==="vec2"||At.type.name==="vec3"||At.type.name==="vec4"||At.type.name==="vec2f"||At.type.name==="vec3f"||At.type.name==="vec4f"||At.type.name==="vec2i"||At.type.name==="vec3i"||At.type.name==="vec4i"||At.type.name==="vec2u"||At.type.name==="vec3u"||At.type.name==="vec4u"||At.type.name==="vec2h"||At.type.name==="vec3h"||At.type.name==="vec4h"?xt.setVariable(vt,new Me$1(bt,At.type)):console.error(`Invalid constant type for ${vt}`)):console.error(`Override ${vt} does not exist in the shader.`)}}_dispatchWorkgroup(Et,xt,vt){const bt=[1,1,1];for(const Tt of Et.node.attributes)if(Tt.name==="workgroup_size"){if(Tt.value.length>0){const Rt=vt.getVariableValue(Tt.value[0]);bt[0]=Rt instanceof Be$1?Rt.value:parseInt(Tt.value[0])}if(Tt.value.length>1){const Rt=vt.getVariableValue(Tt.value[1]);bt[1]=Rt instanceof Be$1?Rt.value:parseInt(Tt.value[1])}if(Tt.value.length>2){const Rt=vt.getVariableValue(Tt.value[2]);bt[2]=Rt instanceof Be$1?Rt.value:parseInt(Tt.value[2])}}const At=this.getTypeInfo("vec3u"),Ft=this.getTypeInfo("u32");vt.setVariable("@workgroup_size",new Me$1(bt,At));const Ct=bt[0],wt=bt[1],St=bt[2];for(let Tt=0,Rt=0;Tt<St;++Tt)for(let Pt=0;Pt<wt;++Pt)for(let Lt=0;Lt<Ct;++Lt,++Rt){const kt=[Lt,Pt,Tt],Ot=[Lt+xt[0]*bt[0],Pt+xt[1]*bt[1],Tt+xt[2]*bt[2]];vt.setVariable("@local_invocation_id",new Me$1(kt,At)),vt.setVariable("@global_invocation_id",new Me$1(Ot,At)),vt.setVariable("@local_invocation_index",new Be$1(Rt,Ft)),this._dispatchExec(Et,vt)}}_dispatchExec(Et,xt){for(const vt of Et.node.args)for(const bt of vt.attributes)if(bt.name==="builtin"){const At=`@${bt.value}`,Ft=xt.getVariable(At);Ft!==void 0&&xt.variables.set(vt.name,Ft)}this._execStatements(Et.node.body,xt)}getVariableName(Et,xt){for(;Et instanceof ke$1;)Et=Et.right;return Et instanceof ge$1?Et.name:(console.error("Unknown variable type",Et,"Line",Et.line),null)}_execStatements(Et,xt){for(const vt of Et){if(vt instanceof Array){const At=xt.clone(),Ft=this._execStatements(vt,At);if(Ft)return Ft;continue}const bt=this.execStatement(vt,xt);if(bt)return bt}return null}_call(Et,xt){const vt=xt.clone();vt.currentFunctionName=Et.name;const bt=xt.getFunction(Et.name);if(bt){for(let At=0;At<bt.node.args.length;++At){const Ft=bt.node.args[At],Ct=this.evalExpression(Et.args[At],vt);vt.setVariable(Ft.name,Ct,Ft)}this._execStatements(bt.node.body,vt)}else Et.isBuiltin?this._callBuiltinFunction(Et,vt):this.getTypeInfo(Et.name)&&this._evalCreate(Et,xt)}_increment(Et,xt){const vt=this.getVariableName(Et.variable,xt),bt=xt.getVariable(vt);bt?Et.operator==="++"?bt.value instanceof Be$1?bt.value.value++:console.error(`Variable ${vt} is not a scalar. Line ${Et.line}`):Et.operator==="--"?bt.value instanceof Be$1?bt.value.value--:console.error(`Variable ${vt} is not a scalar. Line ${Et.line}`):console.error(`Unknown increment operator ${Et.operator}. Line ${Et.line}`):console.error(`Variable ${vt} not found. Line ${Et.line}`)}_getVariableData(Et,xt){if(Et instanceof ge$1){const vt=this.getVariableName(Et,xt),bt=xt.getVariable(vt);return bt===null?(console.error(`Variable ${vt} not found. Line ${Et.line}`),null):bt.value.getSubData(this,Et.postfix,xt)}if(Et instanceof ke$1){if(Et.operator==="*"){const vt=this._getVariableData(Et.right,xt);return vt instanceof Oe$1?vt.reference.getSubData(this,Et.postfix,xt):(console.error(`Variable ${Et.right} is not a pointer. Line ${Et.line}`),null)}if(Et.operator==="&"){const vt=this._getVariableData(Et.right,xt);return new Oe$1(vt)}}return null}_assign(Et,xt){let vt=null,bt="<var>",At=null;if(Et.variable instanceof ke$1){const wt=this._getVariableData(Et.variable,xt),St=this.evalExpression(Et.value,xt),Tt=Et.operator;if(Tt==="="){if(wt instanceof Be$1||wt instanceof Me$1||wt instanceof Ue$1){if(St instanceof Be$1||St instanceof Me$1||St instanceof Ue$1&&wt.data.length===St.data.length)return void wt.data.set(St.data);console.error(`Invalid assignment. Line ${Et.line}`)}else if(wt instanceof Pe$1&&St instanceof Pe$1&&wt.buffer.byteLength-wt.offset>=St.buffer.byteLength-St.offset)return void(wt.buffer.byteLength%4==0?new Uint32Array(wt.buffer,wt.offset,wt.typeInfo.size/4).set(new Uint32Array(St.buffer,St.offset,St.typeInfo.size/4)):new Uint8Array(wt.buffer,wt.offset,wt.typeInfo.size).set(new Uint8Array(St.buffer,St.offset,St.typeInfo.size)));return console.error(`Invalid assignment. Line ${Et.line}`),null}if(Tt==="+=")return wt instanceof Be$1||wt instanceof Me$1||wt instanceof Ue$1?St instanceof Be$1||St instanceof Me$1||St instanceof Ue$1?void wt.data.set(St.data.map((Rt,Pt)=>wt.data[Pt]+Rt)):void console.error(`Invalid assignment . Line ${Et.line}`):void console.error(`Invalid assignment. Line ${Et.line}`);if(Tt==="-=")return(wt instanceof Be$1||wt instanceof Me$1||wt instanceof Ue$1)&&(St instanceof Be$1||St instanceof Me$1||St instanceof Ue$1)?void wt.data.set(St.data.map((Rt,Pt)=>wt.data[Pt]-Rt)):void console.error(`Invalid assignment. Line ${Et.line}`)}if(Et.variable instanceof ke$1){if(Et.variable.operator==="*"){bt=this.getVariableName(Et.variable.right,xt);const wt=xt.getVariable(bt);if(!(wt&&wt.value instanceof Oe$1))return void console.error(`Variable ${bt} is not a pointer. Line ${Et.line}`);vt=wt.value.reference;let St=Et.variable.postfix;if(!St){let Tt=Et.variable.right;for(;Tt instanceof ke$1;){if(Tt.postfix){St=Tt.postfix;break}Tt=Tt.right}}St&&(vt=vt.getSubData(this,St,xt))}}else{At=Et.variable.postfix,bt=this.getVariableName(Et.variable,xt);const wt=xt.getVariable(bt);if(wt===null)return void console.error(`Variable ${bt} not found. Line ${Et.line}`);vt=wt.value}if(vt instanceof Oe$1&&(vt=vt.reference),vt===null)return void console.error(`Variable ${bt} not found. Line ${Et.line}`);const Ft=this.evalExpression(Et.value,xt),Ct=Et.operator;if(Ct!=="="){const wt=vt.getSubData(this,At,xt);if(wt instanceof Me$1&&Ft instanceof Be$1){const St=wt.data,Tt=Ft.value;if(Ct==="+=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]+=Tt;else if(Ct==="-=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]-=Tt;else if(Ct==="*=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]*=Tt;else if(Ct==="/=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]/=Tt;else if(Ct==="%=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]%=Tt;else if(Ct==="&=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]&=Tt;else if(Ct==="|=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]|=Tt;else if(Ct==="^=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]^=Tt;else if(Ct==="<<=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]<<=Tt;else if(Ct===">>=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]>>=Tt;else console.error(`Invalid operator ${Ct}. Line ${Et.line}`)}else if(wt instanceof Me$1&&Ft instanceof Me$1){const St=wt.data,Tt=Ft.data;if(St.length!==Tt.length)return void console.error(`Vector length mismatch. Line ${Et.line}`);if(Ct==="+=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]+=Tt[Rt];else if(Ct==="-=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]-=Tt[Rt];else if(Ct==="*=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]*=Tt[Rt];else if(Ct==="/=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]/=Tt[Rt];else if(Ct==="%=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]%=Tt[Rt];else if(Ct==="&=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]&=Tt[Rt];else if(Ct==="|=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]|=Tt[Rt];else if(Ct==="^=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]^=Tt[Rt];else if(Ct==="<<=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]<<=Tt[Rt];else if(Ct===">>=")for(let Rt=0;Rt<St.length;++Rt)St[Rt]>>=Tt[Rt];else console.error(`Invalid operator ${Ct}. Line ${Et.line}`)}else{if(!(wt instanceof Be$1&&Ft instanceof Be$1))return void console.error(`Invalid type for ${Et.operator} operator. Line ${Et.line}`);Ct==="+="?wt.value+=Ft.value:Ct==="-="?wt.value-=Ft.value:Ct==="*="?wt.value*=Ft.value:Ct==="/="?wt.value/=Ft.value:Ct==="%="?wt.value%=Ft.value:Ct==="&="?wt.value&=Ft.value:Ct==="|="?wt.value|=Ft.value:Ct==="^="?wt.value^=Ft.value:Ct==="<<="?wt.value<<=Ft.value:Ct===">>="?wt.value>>=Ft.value:console.error(`Invalid operator ${Ct}. Line ${Et.line}`)}return void(vt instanceof Pe$1&&vt.setDataValue(this,wt,At,xt))}if(vt instanceof Pe$1)vt.setDataValue(this,Ft,At,xt);else if(At){if(!(vt instanceof Me$1||vt instanceof Ue$1))return void console.error(`Variable ${bt} is not a vector or matrix. Line ${Et.line}`);if(At instanceof ve$1){const wt=this.evalExpression(At.index,xt).value;if(vt instanceof Me$1){if(!(Ft instanceof Be$1))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);vt.data[wt]=Ft.value}else{if(!(vt instanceof Ue$1))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);{const St=this.evalExpression(At.index,xt).value;if(St<0)return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);if(!(Ft instanceof Me$1))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);{const Tt=vt.typeInfo.getTypeName();if(Tt==="mat2x2"||Tt==="mat2x2f"||Tt==="mat2x2h"){if(!(St<2&&Ft.data.length===2))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);vt.data[2*St]=Ft.data[0],vt.data[2*St+1]=Ft.data[1]}else if(Tt==="mat2x3"||Tt==="mat2x3f"||Tt==="mat2x3h"){if(!(St<2&&Ft.data.length===3))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);vt.data[3*St]=Ft.data[0],vt.data[3*St+1]=Ft.data[1],vt.data[3*St+2]=Ft.data[2]}else if(Tt==="mat2x4"||Tt==="mat2x4f"||Tt==="mat2x4h"){if(!(St<2&&Ft.data.length===4))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);vt.data[4*St]=Ft.data[0],vt.data[4*St+1]=Ft.data[1],vt.data[4*St+2]=Ft.data[2],vt.data[4*St+3]=Ft.data[3]}else if(Tt==="mat3x2"||Tt==="mat3x2f"||Tt==="mat3x2h"){if(!(St<3&&Ft.data.length===2))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);vt.data[2*St]=Ft.data[0],vt.data[2*St+1]=Ft.data[1]}else if(Tt==="mat3x3"||Tt==="mat3x3f"||Tt==="mat3x3h"){if(!(St<3&&Ft.data.length===3))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);vt.data[3*St]=Ft.data[0],vt.data[3*St+1]=Ft.data[1],vt.data[3*St+2]=Ft.data[2]}else if(Tt==="mat3x4"||Tt==="mat3x4f"||Tt==="mat3x4h"){if(!(St<3&&Ft.data.length===4))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);vt.data[4*St]=Ft.data[0],vt.data[4*St+1]=Ft.data[1],vt.data[4*St+2]=Ft.data[2],vt.data[4*St+3]=Ft.data[3]}else if(Tt==="mat4x2"||Tt==="mat4x2f"||Tt==="mat4x2h"){if(!(St<4&&Ft.data.length===2))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);vt.data[2*St]=Ft.data[0],vt.data[2*St+1]=Ft.data[1]}else if(Tt==="mat4x3"||Tt==="mat4x3f"||Tt==="mat4x3h"){if(!(St<4&&Ft.data.length===3))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);vt.data[3*St]=Ft.data[0],vt.data[3*St+1]=Ft.data[1],vt.data[3*St+2]=Ft.data[2]}else{if(Tt!=="mat4x4"&&Tt!=="mat4x4f"&&Tt!=="mat4x4h")return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);if(!(St<4&&Ft.data.length===4))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);vt.data[4*St]=Ft.data[0],vt.data[4*St+1]=Ft.data[1],vt.data[4*St+2]=Ft.data[2],vt.data[4*St+3]=Ft.data[3]}}}}}else if(At instanceof pe$1){const wt=At.value;if(!(vt instanceof Me$1))return void console.error(`Invalid assignment to ${wt}. Variable ${bt} is not a vector. Line ${Et.line}`);if(Ft instanceof Be$1){if(wt.length>1)return void console.error(`Invalid assignment to ${wt} for variable ${bt}. Line ${Et.line}`);if(wt==="x")vt.data[0]=Ft.value;else if(wt==="y"){if(vt.data.length<2)return void console.error(`Invalid assignment to ${wt} for variable ${bt}. Line ${Et.line}`);vt.data[1]=Ft.value}else if(wt==="z"){if(vt.data.length<3)return void console.error(`Invalid assignment to ${wt} for variable ${bt}. Line ${Et.line}`);vt.data[2]=Ft.value}else if(wt==="w"){if(vt.data.length<4)return void console.error(`Invalid assignment to ${wt} for variable ${bt}. Line ${Et.line}`);vt.data[3]=Ft.value}}else{if(!(Ft instanceof Me$1))return void console.error(`Invalid assignment to ${bt}. Line ${Et.line}`);if(wt.length!==Ft.data.length)return void console.error(`Invalid assignment to ${wt} for variable ${bt}. Line ${Et.line}`);for(let St=0;St<wt.length;++St){const Tt=wt[St];if(Tt==="x"||Tt==="r")vt.data[0]=Ft.data[St];else if(Tt==="y"||Tt==="g"){if(Ft.data.length<2)return void console.error(`Invalid assignment to ${Tt} for variable ${bt}. Line ${Et.line}`);vt.data[1]=Ft.data[St]}else if(Tt==="z"||Tt==="b"){if(Ft.data.length<3)return void console.error(`Invalid assignment to ${Tt} for variable ${bt}. Line ${Et.line}`);vt.data[2]=Ft.data[St]}else{if(Tt!=="w"&&Tt!=="a")return void console.error(`Invalid assignment to ${Tt} for variable ${bt}. Line ${Et.line}`);if(Ft.data.length<4)return void console.error(`Invalid assignment to ${Tt} for variable ${bt}. Line ${Et.line}`);vt.data[3]=Ft.data[St]}}}}}else vt instanceof Be$1&&Ft instanceof Be$1?vt.value=Ft.value:vt instanceof Me$1&&Ft instanceof Me$1||vt instanceof Ue$1&&Ft instanceof Ue$1?vt.data.set(Ft.data):console.error(`Invalid assignment to ${bt}. Line ${Et.line}`)}_function(Et,xt){const vt=new ct(Et);xt.functions.set(Et.name,vt)}_const(Et,xt){let vt=null;Et.value!==null&&(vt=this.evalExpression(Et.value,xt)),xt.createVariable(Et.name,vt,Et)}_let(Et,xt){let vt=null;if(Et.value!==null){if(vt=this.evalExpression(Et.value,xt),vt===null)return void console.error(`Invalid value for variable ${Et.name}. Line ${Et.line}`);Et.value instanceof ke$1||(vt=vt.clone())}else{const bt=Et.type.name;if(bt==="f32"||bt==="i32"||bt==="u32"||bt==="bool"||bt==="f16"||bt==="vec2"||bt==="vec3"||bt==="vec4"||bt==="vec2f"||bt==="vec3f"||bt==="vec4f"||bt==="vec2i"||bt==="vec3i"||bt==="vec4i"||bt==="vec2u"||bt==="vec3u"||bt==="vec4u"||bt==="vec2h"||bt==="vec3h"||bt==="vec4h"||bt==="vec2b"||bt==="vec3b"||bt==="vec4b"||bt==="mat2x2"||bt==="mat2x3"||bt==="mat2x4"||bt==="mat3x2"||bt==="mat3x3"||bt==="mat3x4"||bt==="mat4x2"||bt==="mat4x3"||bt==="mat4x4"||bt==="mat2x2f"||bt==="mat2x3f"||bt==="mat2x4f"||bt==="mat3x2f"||bt==="mat3x3f"||bt==="mat3x4f"||bt==="mat4x2f"||bt==="mat4x3f"||bt==="mat4x4f"||bt==="mat2x2h"||bt==="mat2x3h"||bt==="mat2x4h"||bt==="mat3x2h"||bt==="mat3x3h"||bt==="mat3x4h"||bt==="mat4x2h"||bt==="mat4x3h"||bt==="mat4x4h"||bt==="array"){const At=new de$1(Et.type,[]);vt=this._evalCreate(At,xt)}}xt.createVariable(Et.name,vt,Et)}_var(Et,xt){let vt=null;if(Et.value!==null){if(vt=this.evalExpression(Et.value,xt),vt===null)return void console.error(`Invalid value for variable ${Et.name}. Line ${Et.line}`);Et.value instanceof ke$1||(vt=vt.clone())}else{if(Et.type===null)return void console.error(`Variable ${Et.name} has no type. Line ${Et.line}`);const bt=Et.type.name;if(bt==="f32"||bt==="i32"||bt==="u32"||bt==="bool"||bt==="f16"||bt==="vec2"||bt==="vec3"||bt==="vec4"||bt==="vec2f"||bt==="vec3f"||bt==="vec4f"||bt==="vec2i"||bt==="vec3i"||bt==="vec4i"||bt==="vec2u"||bt==="vec3u"||bt==="vec4u"||bt==="vec2h"||bt==="vec3h"||bt==="vec4h"||bt==="vec2b"||bt==="vec3b"||bt==="vec4b"||bt==="mat2x2"||bt==="mat2x3"||bt==="mat2x4"||bt==="mat3x2"||bt==="mat3x3"||bt==="mat3x4"||bt==="mat4x2"||bt==="mat4x3"||bt==="mat4x4"||bt==="mat2x2f"||bt==="mat2x3f"||bt==="mat2x4f"||bt==="mat3x2f"||bt==="mat3x3f"||bt==="mat3x4f"||bt==="mat4x2f"||bt==="mat4x3f"||bt==="mat4x4f"||bt==="mat2x2h"||bt==="mat2x3h"||bt==="mat2x4h"||bt==="mat3x2h"||bt==="mat3x3h"||bt==="mat3x4h"||bt==="mat4x2h"||bt==="mat4x3h"||bt==="mat4x4h"||Et.type instanceof ue$1||Et.type instanceof oe$1||Et.type instanceof ce$1){const At=new de$1(Et.type,[]);vt=this._evalCreate(At,xt)}}xt.createVariable(Et.name,vt,Et)}_switch(Et,xt){xt=xt.clone();const vt=this.evalExpression(Et.condition,xt);if(!(vt instanceof Be$1))return console.error(`Invalid if condition. Line ${Et.line}`),null;let bt=null;for(const At of Et.cases)if(At instanceof Ae$1)for(const Ft of At.selectors){if(Ft instanceof Se$1){bt=At;continue}const Ct=this.evalExpression(Ft,xt);if(!(Ct instanceof Be$1))return console.error(`Invalid case selector. Line ${Et.line}`),null;if(Ct.value===vt.value)return this._execStatements(At.body,xt)}else At instanceof Ee$1&&(bt=At);return bt?this._execStatements(bt.body,xt):null}_if(Et,xt){xt=xt.clone();const vt=this.evalExpression(Et.condition,xt);if(!(vt instanceof Be$1))return console.error(`Invalid if condition. Line ${Et.line}`),null;if(vt.value)return this._execStatements(Et.body,xt);for(const bt of Et.elseif){const At=this.evalExpression(bt.condition,xt);if(!(At instanceof Be$1))return console.error(`Invalid if condition. Line ${Et.line}`),null;if(At.value)return this._execStatements(bt.body,xt)}return Et.else?this._execStatements(Et.else,xt):null}_getScalarValue(Et){return Et instanceof Be$1?Et.value:(console.error("Expected scalar value.",Et),0)}_for(Et,xt){for(xt=xt.clone(),this.execStatement(Et.init,xt);this._getScalarValue(this.evalExpression(Et.condition,xt));){const vt=this._execStatements(Et.body,xt);if(vt===dt._breakObj)break;if(vt!==null&&vt!==dt._continueObj)return vt;this.execStatement(Et.increment,xt)}return null}_loop(Et,xt){for(xt=xt.clone();;){const vt=this._execStatements(Et.body,xt);if(vt===dt._breakObj)break;if(vt===dt._continueObj){if(Et.continuing&&this._execStatements(Et.continuing.body,xt)===dt._breakObj)break}else if(vt!==null)return vt}return null}_while(Et,xt){for(xt=xt.clone();this._getScalarValue(this.evalExpression(Et.condition,xt));){const vt=this._execStatements(Et.body,xt);if(vt===dt._breakObj)break;if(vt!==dt._continueObj&&vt!==null)return vt}return null}_evalBitcast(Et,xt){const vt=this.evalExpression(Et.value,xt),bt=Et.type;if(vt instanceof Be$1){const At=nt(vt.value,vt.typeInfo.name,bt.name);return new Be$1(At,this.getTypeInfo(bt))}if(vt instanceof Me$1){const At=vt.typeInfo.getTypeName();let Ft="";if(At.endsWith("f"))Ft="f32";else if(At.endsWith("i"))Ft="i32";else if(At.endsWith("u"))Ft="u32";else if(At.endsWith("b"))Ft="bool";else{if(!At.endsWith("h"))return console.error(`Unknown vector type ${At}. Line ${Et.line}`),null;Ft="f16"}const Ct=bt.getTypeName();let wt="";if(Ct.endsWith("f"))wt="f32";else if(Ct.endsWith("i"))wt="i32";else if(Ct.endsWith("u"))wt="u32";else if(Ct.endsWith("b"))wt="bool";else{if(!Ct.endsWith("h"))return console.error(`Unknown vector type ${wt}. Line ${Et.line}`),null;wt="f16"}const St=(function(Tt,Rt,Pt){if(Rt===Pt)return Tt;const Lt=new Array(Tt.length);for(let kt=0;kt<Tt.length;kt++)Lt[kt]=nt(Tt[kt],Rt,Pt);return Lt})(Array.from(vt.data),Ft,wt);return new Me$1(St,this.getTypeInfo(bt))}return console.error(`TODO: bitcast for ${vt.typeInfo.name}. Line ${Et.line}`),null}_evalConst(Et,xt){return xt.getVariableValue(Et.name).clone().getSubData(this,Et.postfix,xt)}_evalCreate(Et,xt){var vt;if(Et instanceof de$1){if(Et.type===null)return Ve$1.void;switch(Et.type.getTypeName()){case"bool":case"i32":case"u32":case"f32":case"f16":return this._callConstructorValue(Et,xt);case"vec2":case"vec3":case"vec4":case"vec2f":case"vec3f":case"vec4f":case"vec2h":case"vec3h":case"vec4h":case"vec2i":case"vec3i":case"vec4i":case"vec2u":case"vec3u":case"vec4u":case"vec2b":case"vec3b":case"vec4b":return this._callConstructorVec(Et,xt);case"mat2x2":case"mat2x2f":case"mat2x2h":case"mat2x3":case"mat2x3f":case"mat2x3h":case"mat2x4":case"mat2x4f":case"mat2x4h":case"mat3x2":case"mat3x2f":case"mat3x2h":case"mat3x3":case"mat3x3f":case"mat3x3h":case"mat3x4":case"mat3x4f":case"mat3x4h":case"mat4x2":case"mat4x2f":case"mat4x2h":case"mat4x3":case"mat4x3f":case"mat4x3h":case"mat4x4":case"mat4x4f":case"mat4x4h":return this._callConstructorMatrix(Et,xt)}}const bt=Et instanceof de$1?Et.type.name:Et.name,At=Et instanceof de$1?this.getTypeInfo(Et.type):this.getTypeInfo(Et.name);if(At===null)return console.error(`Unknown type ${bt}. Line ${Et.line}`),null;if(At.size===0)return null;const Ft=new Pe$1(new ArrayBuffer(At.size),At,0);if(At instanceof n){if(Et.args)for(let Ct=0;Ct<Et.args.length;++Ct){const wt=At.members[Ct],St=Et.args[Ct],Tt=this.evalExpression(St,xt);Ft.setData(this,Tt,wt.type,wt.offset,xt)}}else if(At instanceof s){let Ct=0;if(Et.args)for(let wt=0;wt<Et.args.length;++wt){const St=Et.args[wt],Tt=this.evalExpression(St,xt);At.format===null&&(((vt=Tt.typeInfo)===null||vt===void 0?void 0:vt.name)==="x32"?At.format=this.getTypeInfo("i32"):At.format=Tt.typeInfo),Ft.setData(this,Tt,At.format,Ct,xt),Ct+=At.stride}}else console.error(`Unknown type "${bt}". Line ${Et.line}`);return Et instanceof de$1?Ft.getSubData(this,Et.postfix,xt):Ft}_evalLiteral(Et,xt){const vt=this.getTypeInfo(Et.type),bt=vt.name;return bt==="x32"||bt==="u32"||bt==="f32"||bt==="f16"||bt==="i32"||bt==="bool"?new Be$1(Et.scalarValue,vt):bt==="vec2"||bt==="vec3"||bt==="vec4"||bt==="vec2f"||bt==="vec3f"||bt==="vec4f"||bt==="vec2h"||bt==="vec3h"||bt==="vec4h"||bt==="vec2i"||bt==="vec3i"||bt==="vec4i"||bt==="vec2u"||bt==="vec3u"||bt==="vec4u"?this._callConstructorVec(Et,xt):bt==="mat2x2"||bt==="mat2x3"||bt==="mat2x4"||bt==="mat3x2"||bt==="mat3x3"||bt==="mat3x4"||bt==="mat4x2"||bt==="mat4x3"||bt==="mat4x4"||bt==="mat2x2f"||bt==="mat2x3f"||bt==="mat2x4f"||bt==="mat3x2f"||bt==="mat3x3f"||bt==="mat3x4f"||bt==="mat4x2f"||bt==="mat4x3f"||bt==="mat4x4f"||bt==="mat2x2h"||bt==="mat2x3h"||bt==="mat2x4h"||bt==="mat3x2h"||bt==="mat3x3h"||bt==="mat3x4h"||bt==="mat4x2h"||bt==="mat4x3h"||bt==="mat4x4h"?this._callConstructorMatrix(Et,xt):Et.value}_evalVariable(Et,xt){const vt=xt.getVariableValue(Et.name);return vt===null?vt:vt.getSubData(this,Et.postfix,xt)}_maxFormatTypeInfo(Et){let xt=Et[0];if(xt.name==="f32")return xt;for(let vt=1;vt<Et.length;++vt){const bt=dt._priority.get(xt.name);dt._priority.get(Et[vt].name)<bt&&(xt=Et[vt])}return xt.name==="x32"?this.getTypeInfo("i32"):xt}_evalUnaryOp(Et,xt){const vt=this.evalExpression(Et.right,xt);if(Et.operator==="&")return new Oe$1(vt);if(Et.operator==="*")return vt instanceof Oe$1?vt.reference.getSubData(this,Et.postfix,xt):(console.error(`Invalid dereference. Line ${Et.line}`),null);const bt=vt instanceof Be$1?vt.value:vt instanceof Me$1?Array.from(vt.data):null;switch(Et.operator){case"+":{if(Ge$1(bt)){const Ct=bt.map((wt,St)=>+wt);return new Me$1(Ct,vt.typeInfo)}const At=bt,Ft=this._maxFormatTypeInfo([vt.typeInfo,vt.typeInfo]);return new Be$1(+At,Ft)}case"-":{if(Ge$1(bt)){const Ct=bt.map((wt,St)=>-wt);return new Me$1(Ct,vt.typeInfo)}const At=bt,Ft=this._maxFormatTypeInfo([vt.typeInfo,vt.typeInfo]);return new Be$1(-At,Ft)}case"!":{if(Ge$1(bt)){const Ct=bt.map((wt,St)=>wt?0:1);return new Me$1(Ct,vt.typeInfo)}const At=bt,Ft=this._maxFormatTypeInfo([vt.typeInfo,vt.typeInfo]);return new Be$1(At?0:1,Ft)}case"~":{if(Ge$1(bt)){const Ct=bt.map((wt,St)=>~wt);return new Me$1(Ct,vt.typeInfo)}const At=bt,Ft=this._maxFormatTypeInfo([vt.typeInfo,vt.typeInfo]);return new Be$1(~At,Ft)}}return console.error(`Invalid unary operator ${Et.operator}. Line ${Et.line}`),null}_evalBinaryOp(Et,xt){const vt=this.evalExpression(Et.left,xt),bt=this.evalExpression(Et.right,xt),At=vt instanceof Be$1?vt.value:vt instanceof Me$1||vt instanceof Ue$1?Array.from(vt.data):null,Ft=bt instanceof Be$1?bt.value:bt instanceof Me$1||bt instanceof Ue$1?Array.from(bt.data):null;switch(Et.operator){case"+":{if(Ge$1(At)&&Ge$1(Ft)){const Tt=At,Rt=Ft;if(Tt.length!==Rt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const Pt=Tt.map((Lt,kt)=>Lt+Rt[kt]);return new Me$1(Pt,vt.typeInfo)}if(Ge$1(At)){const Tt=Ft,Rt=At.map((Pt,Lt)=>Pt+Tt);return new Me$1(Rt,vt.typeInfo)}if(Ge$1(Ft)){const Tt=At,Rt=Ft.map((Pt,Lt)=>Tt+Pt);return new Me$1(Rt,bt.typeInfo)}const Ct=At,wt=Ft,St=this._maxFormatTypeInfo([vt.typeInfo,bt.typeInfo]);return new Be$1(Ct+wt,St)}case"-":{if(Ge$1(At)&&Ge$1(Ft)){const Tt=At,Rt=Ft;if(Tt.length!==Rt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const Pt=Tt.map((Lt,kt)=>Lt-Rt[kt]);return new Me$1(Pt,vt.typeInfo)}if(Ge$1(At)){const Tt=Ft,Rt=At.map((Pt,Lt)=>Pt-Tt);return new Me$1(Rt,vt.typeInfo)}if(Ge$1(Ft)){const Tt=At,Rt=Ft.map((Pt,Lt)=>Tt-Pt);return new Me$1(Rt,bt.typeInfo)}const Ct=At,wt=Ft,St=this._maxFormatTypeInfo([vt.typeInfo,bt.typeInfo]);return new Be$1(Ct-wt,St)}case"*":{if(Ge$1(At)&&Ge$1(Ft)){const Tt=At,Rt=Ft;if(vt instanceof Ue$1&&bt instanceof Ue$1){const Pt=(function(Mt,It,Nt,Ut){if(pt[It.name]===void 0||pt[Ut.name]===void 0)return null;const jt=pt[It.name][0],Vt=pt[It.name][1],zt=pt[Ut.name][0];if(jt!==pt[Ut.name][1])return null;const Ht=new Array(zt*Vt);for(let Wt=0;Wt<Vt;Wt++)for(let Gt=0;Gt<zt;Gt++){let qt=0;for(let Xt=0;Xt<jt;Xt++)qt+=Mt[Xt*Vt+Wt]*Nt[Gt*jt+Xt];Ht[Wt*zt+Gt]=qt}return Ht})(Tt,vt.typeInfo,Rt,bt.typeInfo);if(Pt===null)return console.error(`Matrix multiplication failed. Line ${Et.line}.`),null;const Lt=pt[bt.typeInfo.name][0],kt=pt[vt.typeInfo.name][1],Ot=this.getTypeInfo(`mat${Lt}x${kt}f`);return new Ue$1(Pt,Ot)}if(vt instanceof Ue$1&&bt instanceof Me$1){const Pt=(function(Lt,kt,Ot,Mt){if(pt[kt.name]===void 0||ft[Mt.name]===void 0)return null;const It=pt[kt.name][0],Nt=pt[kt.name][1];if(It!==Ot.length)return null;const Ut=new Array(Nt);for(let jt=0;jt<Nt;jt++){let Vt=0;for(let zt=0;zt<It;zt++)Vt+=Lt[zt*Nt+jt]*Ot[zt];Ut[jt]=Vt}return Ut})(Tt,vt.typeInfo,Rt,bt.typeInfo);return Pt===null?(console.error(`Matrix vector multiplication failed. Line ${Et.line}.`),null):new Me$1(Pt,bt.typeInfo)}if(vt instanceof Me$1&&bt instanceof Ue$1){const Pt=(function(Lt,kt,Ot,Mt){if(ft[kt.name]===void 0||pt[Mt.name]===void 0)return null;const It=pt[Mt.name][0],Nt=pt[Mt.name][1];if(Nt!==Lt.length)return null;const Ut=[];for(let jt=0;jt<It;jt++){let Vt=0;for(let zt=0;zt<Nt;zt++)Vt+=Lt[zt]*Ot[zt*It+jt];Ut[jt]=Vt}return Ut})(Tt,vt.typeInfo,Rt,bt.typeInfo);return Pt===null?(console.error(`Matrix vector multiplication failed. Line ${Et.line}.`),null):new Me$1(Pt,vt.typeInfo)}{if(Tt.length!==Rt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const Pt=Tt.map((Lt,kt)=>Lt*Rt[kt]);return new Me$1(Pt,vt.typeInfo)}}if(Ge$1(At)){const Tt=Ft,Rt=At.map((Pt,Lt)=>Pt*Tt);return vt instanceof Ue$1?new Ue$1(Rt,vt.typeInfo):new Me$1(Rt,vt.typeInfo)}if(Ge$1(Ft)){const Tt=At,Rt=Ft.map((Pt,Lt)=>Tt*Pt);return bt instanceof Ue$1?new Ue$1(Rt,bt.typeInfo):new Me$1(Rt,bt.typeInfo)}const Ct=At,wt=Ft,St=this._maxFormatTypeInfo([vt.typeInfo,bt.typeInfo]);return new Be$1(Ct*wt,St)}case"%":{if(Ge$1(At)&&Ge$1(Ft)){const Tt=At,Rt=Ft;if(Tt.length!==Rt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const Pt=Tt.map((Lt,kt)=>Lt%Rt[kt]);return new Me$1(Pt,vt.typeInfo)}if(Ge$1(At)){const Tt=Ft,Rt=At.map((Pt,Lt)=>Pt%Tt);return new Me$1(Rt,vt.typeInfo)}if(Ge$1(Ft)){const Tt=At,Rt=Ft.map((Pt,Lt)=>Tt%Pt);return new Me$1(Rt,bt.typeInfo)}const Ct=At,wt=Ft,St=this._maxFormatTypeInfo([vt.typeInfo,bt.typeInfo]);return new Be$1(Ct%wt,St)}case"/":{if(Ge$1(At)&&Ge$1(Ft)){const Tt=At,Rt=Ft;if(Tt.length!==Rt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const Pt=Tt.map((Lt,kt)=>Lt/Rt[kt]);return new Me$1(Pt,vt.typeInfo)}if(Ge$1(At)){const Tt=Ft,Rt=At.map((Pt,Lt)=>Pt/Tt);return new Me$1(Rt,vt.typeInfo)}if(Ge$1(Ft)){const Tt=At,Rt=Ft.map((Pt,Lt)=>Tt/Pt);return new Me$1(Rt,bt.typeInfo)}const Ct=At,wt=Ft,St=this._maxFormatTypeInfo([vt.typeInfo,bt.typeInfo]);return new Be$1(Ct/wt,St)}case"&":{if(Ge$1(At)&&Ge$1(Ft)){const Tt=At,Rt=Ft;if(Tt.length!==Rt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const Pt=Tt.map((Lt,kt)=>Lt&Rt[kt]);return new Me$1(Pt,vt.typeInfo)}if(Ge$1(At)){const Tt=Ft,Rt=At.map((Pt,Lt)=>Pt&Tt);return new Me$1(Rt,vt.typeInfo)}if(Ge$1(Ft)){const Tt=At,Rt=Ft.map((Pt,Lt)=>Tt&Pt);return new Me$1(Rt,bt.typeInfo)}const Ct=At,wt=Ft,St=this._maxFormatTypeInfo([vt.typeInfo,bt.typeInfo]);return new Be$1(Ct&wt,St)}case"|":{if(Ge$1(At)&&Ge$1(Ft)){const Tt=At,Rt=Ft;if(Tt.length!==Rt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const Pt=Tt.map((Lt,kt)=>Lt|Rt[kt]);return new Me$1(Pt,vt.typeInfo)}if(Ge$1(At)){const Tt=Ft,Rt=At.map((Pt,Lt)=>Pt|Tt);return new Me$1(Rt,vt.typeInfo)}if(Ge$1(Ft)){const Tt=At,Rt=Ft.map((Pt,Lt)=>Tt|Pt);return new Me$1(Rt,bt.typeInfo)}const Ct=At,wt=Ft,St=this._maxFormatTypeInfo([vt.typeInfo,bt.typeInfo]);return new Be$1(Ct|wt,St)}case"^":{if(Ge$1(At)&&Ge$1(Ft)){const Tt=At,Rt=Ft;if(Tt.length!==Rt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const Pt=Tt.map((Lt,kt)=>Lt^Rt[kt]);return new Me$1(Pt,vt.typeInfo)}if(Ge$1(At)){const Tt=Ft,Rt=At.map((Pt,Lt)=>Pt^Tt);return new Me$1(Rt,vt.typeInfo)}if(Ge$1(Ft)){const Tt=At,Rt=Ft.map((Pt,Lt)=>Tt^Pt);return new Me$1(Rt,bt.typeInfo)}const Ct=At,wt=Ft,St=this._maxFormatTypeInfo([vt.typeInfo,bt.typeInfo]);return new Be$1(Ct^wt,St)}case"<<":{if(Ge$1(At)&&Ge$1(Ft)){const Tt=At,Rt=Ft;if(Tt.length!==Rt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const Pt=Tt.map((Lt,kt)=>Lt<<Rt[kt]);return new Me$1(Pt,vt.typeInfo)}if(Ge$1(At)){const Tt=Ft,Rt=At.map((Pt,Lt)=>Pt<<Tt);return new Me$1(Rt,vt.typeInfo)}if(Ge$1(Ft)){const Tt=At,Rt=Ft.map((Pt,Lt)=>Tt<<Pt);return new Me$1(Rt,bt.typeInfo)}const Ct=At,wt=Ft,St=this._maxFormatTypeInfo([vt.typeInfo,bt.typeInfo]);return new Be$1(Ct<<wt,St)}case">>":{if(Ge$1(At)&&Ge$1(Ft)){const Tt=At,Rt=Ft;if(Tt.length!==Rt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const Pt=Tt.map((Lt,kt)=>Lt>>Rt[kt]);return new Me$1(Pt,vt.typeInfo)}if(Ge$1(At)){const Tt=Ft,Rt=At.map((Pt,Lt)=>Pt>>Tt);return new Me$1(Rt,vt.typeInfo)}if(Ge$1(Ft)){const Tt=At,Rt=Ft.map((Pt,Lt)=>Tt>>Pt);return new Me$1(Rt,bt.typeInfo)}const Ct=At,wt=Ft,St=this._maxFormatTypeInfo([vt.typeInfo,bt.typeInfo]);return new Be$1(Ct>>wt,St)}case">":if(Ge$1(At)&&Ge$1(Ft)){const Ct=At,wt=Ft;if(Ct.length!==wt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const St=Ct.map((Tt,Rt)=>Tt>wt[Rt]?1:0);return new Me$1(St,vt.typeInfo)}if(Ge$1(At)){const Ct=Ft,wt=At.map((St,Tt)=>St>Ct?1:0);return new Me$1(wt,vt.typeInfo)}if(Ge$1(Ft)){const Ct=At,wt=Ft.map((St,Tt)=>Ct>St?1:0);return new Me$1(wt,bt.typeInfo)}return new Be$1(At>Ft?1:0,this.getTypeInfo("bool"));case"<":if(Ge$1(At)&&Ge$1(Ft)){const Ct=At,wt=Ft;if(Ct.length!==wt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const St=Ct.map((Tt,Rt)=>Tt<wt[Rt]?1:0);return new Me$1(St,vt.typeInfo)}if(Ge$1(At)){const Ct=Ft,wt=At.map((St,Tt)=>St<Ct?1:0);return new Me$1(wt,vt.typeInfo)}if(Ge$1(Ft)){const Ct=At,wt=Ft.map((St,Tt)=>Ct<St?1:0);return new Me$1(wt,bt.typeInfo)}return new Be$1(At<Ft?1:0,this.getTypeInfo("bool"));case"==":if(Ge$1(At)&&Ge$1(Ft)){const Ct=At,wt=Ft;if(Ct.length!==wt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const St=Ct.map((Tt,Rt)=>Tt===wt[Rt]?1:0);return new Me$1(St,vt.typeInfo)}if(Ge$1(At)){const Ct=Ft,wt=At.map((St,Tt)=>St==Ct?1:0);return new Me$1(wt,vt.typeInfo)}if(Ge$1(Ft)){const Ct=At,wt=Ft.map((St,Tt)=>Ct==St?1:0);return new Me$1(wt,bt.typeInfo)}return new Be$1(At===Ft?1:0,this.getTypeInfo("bool"));case"!=":if(Ge$1(At)&&Ge$1(Ft)){const Ct=At,wt=Ft;if(Ct.length!==wt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const St=Ct.map((Tt,Rt)=>Tt!==wt[Rt]?1:0);return new Me$1(St,vt.typeInfo)}if(Ge$1(At)){const Ct=Ft,wt=At.map((St,Tt)=>St!==Ct?1:0);return new Me$1(wt,vt.typeInfo)}if(Ge$1(Ft)){const Ct=At,wt=Ft.map((St,Tt)=>Ct!==St?1:0);return new Me$1(wt,bt.typeInfo)}return new Be$1(At!==Ft?1:0,this.getTypeInfo("bool"));case">=":if(Ge$1(At)&&Ge$1(Ft)){const Ct=At,wt=Ft;if(Ct.length!==wt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const St=Ct.map((Tt,Rt)=>Tt>=wt[Rt]?1:0);return new Me$1(St,vt.typeInfo)}if(Ge$1(At)){const Ct=Ft,wt=At.map((St,Tt)=>St>=Ct?1:0);return new Me$1(wt,vt.typeInfo)}if(Ge$1(Ft)){const Ct=At,wt=Ft.map((St,Tt)=>Ct>=St?1:0);return new Me$1(wt,bt.typeInfo)}return new Be$1(At>=Ft?1:0,this.getTypeInfo("bool"));case"<=":if(Ge$1(At)&&Ge$1(Ft)){const Ct=At,wt=Ft;if(Ct.length!==wt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const St=Ct.map((Tt,Rt)=>Tt<=wt[Rt]?1:0);return new Me$1(St,vt.typeInfo)}if(Ge$1(At)){const Ct=Ft,wt=At.map((St,Tt)=>St<=Ct?1:0);return new Me$1(wt,vt.typeInfo)}if(Ge$1(Ft)){const Ct=At,wt=Ft.map((St,Tt)=>Ct<=St?1:0);return new Me$1(wt,bt.typeInfo)}return new Be$1(At<=Ft?1:0,this.getTypeInfo("bool"));case"&&":if(Ge$1(At)&&Ge$1(Ft)){const Ct=At,wt=Ft;if(Ct.length!==wt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const St=Ct.map((Tt,Rt)=>Tt&&wt[Rt]?1:0);return new Me$1(St,vt.typeInfo)}if(Ge$1(At)){const Ct=Ft,wt=At.map((St,Tt)=>St&&Ct?1:0);return new Me$1(wt,vt.typeInfo)}if(Ge$1(Ft)){const Ct=At,wt=Ft.map((St,Tt)=>Ct&&St?1:0);return new Me$1(wt,bt.typeInfo)}return new Be$1(At&&Ft?1:0,this.getTypeInfo("bool"));case"||":if(Ge$1(At)&&Ge$1(Ft)){const Ct=At,wt=Ft;if(Ct.length!==wt.length)return console.error(`Vector length mismatch. Line ${Et.line}.`),null;const St=Ct.map((Tt,Rt)=>Tt||wt[Rt]?1:0);return new Me$1(St,vt.typeInfo)}if(Ge$1(At)){const Ct=Ft,wt=At.map((St,Tt)=>St||Ct?1:0);return new Me$1(wt,vt.typeInfo)}if(Ge$1(Ft)){const Ct=At,wt=Ft.map((St,Tt)=>Ct||St?1:0);return new Me$1(wt,bt.typeInfo)}return new Be$1(At||Ft?1:0,this.getTypeInfo("bool"))}return console.error(`Unknown operator ${Et.operator}. Line ${Et.line}`),null}_evalCall(Et,xt){if(Et.cachedReturnValue!==null)return Et.cachedReturnValue;const vt=xt.clone();vt.currentFunctionName=Et.name;const bt=xt.getFunction(Et.name);if(!bt)return Et.isBuiltin?this._callBuiltinFunction(Et,vt):this.getTypeInfo(Et.name)?this._evalCreate(Et,xt):(console.error(`Unknown function "${Et.name}". Line ${Et.line}`),null);for(let At=0;At<bt.node.args.length;++At){const Ft=bt.node.args[At],Ct=this.evalExpression(Et.args[At],vt);vt.createVariable(Ft.name,Ct,Ft)}return this._execStatements(bt.node.body,vt)}_callBuiltinFunction(Et,xt){switch(Et.name){case"all":return this.builtins.All(Et,xt);case"any":return this.builtins.Any(Et,xt);case"select":return this.builtins.Select(Et,xt);case"arrayLength":return this.builtins.ArrayLength(Et,xt);case"abs":return this.builtins.Abs(Et,xt);case"acos":return this.builtins.Acos(Et,xt);case"acosh":return this.builtins.Acosh(Et,xt);case"asin":return this.builtins.Asin(Et,xt);case"asinh":return this.builtins.Asinh(Et,xt);case"atan":return this.builtins.Atan(Et,xt);case"atanh":return this.builtins.Atanh(Et,xt);case"atan2":return this.builtins.Atan2(Et,xt);case"ceil":return this.builtins.Ceil(Et,xt);case"clamp":return this.builtins.Clamp(Et,xt);case"cos":return this.builtins.Cos(Et,xt);case"cosh":return this.builtins.Cosh(Et,xt);case"countLeadingZeros":return this.builtins.CountLeadingZeros(Et,xt);case"countOneBits":return this.builtins.CountOneBits(Et,xt);case"countTrailingZeros":return this.builtins.CountTrailingZeros(Et,xt);case"cross":return this.builtins.Cross(Et,xt);case"degrees":return this.builtins.Degrees(Et,xt);case"determinant":return this.builtins.Determinant(Et,xt);case"distance":return this.builtins.Distance(Et,xt);case"dot":return this.builtins.Dot(Et,xt);case"dot4U8Packed":return this.builtins.Dot4U8Packed(Et,xt);case"dot4I8Packed":return this.builtins.Dot4I8Packed(Et,xt);case"exp":return this.builtins.Exp(Et,xt);case"exp2":return this.builtins.Exp2(Et,xt);case"extractBits":return this.builtins.ExtractBits(Et,xt);case"faceForward":return this.builtins.FaceForward(Et,xt);case"firstLeadingBit":return this.builtins.FirstLeadingBit(Et,xt);case"firstTrailingBit":return this.builtins.FirstTrailingBit(Et,xt);case"floor":return this.builtins.Floor(Et,xt);case"fma":return this.builtins.Fma(Et,xt);case"fract":return this.builtins.Fract(Et,xt);case"frexp":return this.builtins.Frexp(Et,xt);case"insertBits":return this.builtins.InsertBits(Et,xt);case"inverseSqrt":return this.builtins.InverseSqrt(Et,xt);case"ldexp":return this.builtins.Ldexp(Et,xt);case"length":return this.builtins.Length(Et,xt);case"log":return this.builtins.Log(Et,xt);case"log2":return this.builtins.Log2(Et,xt);case"max":return this.builtins.Max(Et,xt);case"min":return this.builtins.Min(Et,xt);case"mix":return this.builtins.Mix(Et,xt);case"modf":return this.builtins.Modf(Et,xt);case"normalize":return this.builtins.Normalize(Et,xt);case"pow":return this.builtins.Pow(Et,xt);case"quantizeToF16":return this.builtins.QuantizeToF16(Et,xt);case"radians":return this.builtins.Radians(Et,xt);case"reflect":return this.builtins.Reflect(Et,xt);case"refract":return this.builtins.Refract(Et,xt);case"reverseBits":return this.builtins.ReverseBits(Et,xt);case"round":return this.builtins.Round(Et,xt);case"saturate":return this.builtins.Saturate(Et,xt);case"sign":return this.builtins.Sign(Et,xt);case"sin":return this.builtins.Sin(Et,xt);case"sinh":return this.builtins.Sinh(Et,xt);case"smoothstep":return this.builtins.SmoothStep(Et,xt);case"sqrt":return this.builtins.Sqrt(Et,xt);case"step":return this.builtins.Step(Et,xt);case"tan":return this.builtins.Tan(Et,xt);case"tanh":return this.builtins.Tanh(Et,xt);case"transpose":return this.builtins.Transpose(Et,xt);case"trunc":return this.builtins.Trunc(Et,xt);case"dpdx":return this.builtins.Dpdx(Et,xt);case"dpdxCoarse":return this.builtins.DpdxCoarse(Et,xt);case"dpdxFine":return this.builtins.DpdxFine(Et,xt);case"dpdy":return this.builtins.Dpdy(Et,xt);case"dpdyCoarse":return this.builtins.DpdyCoarse(Et,xt);case"dpdyFine":return this.builtins.DpdyFine(Et,xt);case"fwidth":return this.builtins.Fwidth(Et,xt);case"fwidthCoarse":return this.builtins.FwidthCoarse(Et,xt);case"fwidthFine":return this.builtins.FwidthFine(Et,xt);case"textureDimensions":return this.builtins.TextureDimensions(Et,xt);case"textureGather":return this.builtins.TextureGather(Et,xt);case"textureGatherCompare":return this.builtins.TextureGatherCompare(Et,xt);case"textureLoad":return this.builtins.TextureLoad(Et,xt);case"textureNumLayers":return this.builtins.TextureNumLayers(Et,xt);case"textureNumLevels":return this.builtins.TextureNumLevels(Et,xt);case"textureNumSamples":return this.builtins.TextureNumSamples(Et,xt);case"textureSample":return this.builtins.TextureSample(Et,xt);case"textureSampleBias":return this.builtins.TextureSampleBias(Et,xt);case"textureSampleCompare":return this.builtins.TextureSampleCompare(Et,xt);case"textureSampleCompareLevel":return this.builtins.TextureSampleCompareLevel(Et,xt);case"textureSampleGrad":return this.builtins.TextureSampleGrad(Et,xt);case"textureSampleLevel":return this.builtins.TextureSampleLevel(Et,xt);case"textureSampleBaseClampToEdge":return this.builtins.TextureSampleBaseClampToEdge(Et,xt);case"textureStore":return this.builtins.TextureStore(Et,xt);case"atomicLoad":return this.builtins.AtomicLoad(Et,xt);case"atomicStore":return this.builtins.AtomicStore(Et,xt);case"atomicAdd":return this.builtins.AtomicAdd(Et,xt);case"atomicSub":return this.builtins.AtomicSub(Et,xt);case"atomicMax":return this.builtins.AtomicMax(Et,xt);case"atomicMin":return this.builtins.AtomicMin(Et,xt);case"atomicAnd":return this.builtins.AtomicAnd(Et,xt);case"atomicOr":return this.builtins.AtomicOr(Et,xt);case"atomicXor":return this.builtins.AtomicXor(Et,xt);case"atomicExchange":return this.builtins.AtomicExchange(Et,xt);case"atomicCompareExchangeWeak":return this.builtins.AtomicCompareExchangeWeak(Et,xt);case"pack4x8snorm":return this.builtins.Pack4x8snorm(Et,xt);case"pack4x8unorm":return this.builtins.Pack4x8unorm(Et,xt);case"pack4xI8":return this.builtins.Pack4xI8(Et,xt);case"pack4xU8":return this.builtins.Pack4xU8(Et,xt);case"pack4x8Clamp":return this.builtins.Pack4x8Clamp(Et,xt);case"pack4xU8Clamp":return this.builtins.Pack4xU8Clamp(Et,xt);case"pack2x16snorm":return this.builtins.Pack2x16snorm(Et,xt);case"pack2x16unorm":return this.builtins.Pack2x16unorm(Et,xt);case"pack2x16float":return this.builtins.Pack2x16float(Et,xt);case"unpack4x8snorm":return this.builtins.Unpack4x8snorm(Et,xt);case"unpack4x8unorm":return this.builtins.Unpack4x8unorm(Et,xt);case"unpack4xI8":return this.builtins.Unpack4xI8(Et,xt);case"unpack4xU8":return this.builtins.Unpack4xU8(Et,xt);case"unpack2x16snorm":return this.builtins.Unpack2x16snorm(Et,xt);case"unpack2x16unorm":return this.builtins.Unpack2x16unorm(Et,xt);case"unpack2x16float":return this.builtins.Unpack2x16float(Et,xt);case"storageBarrier":return this.builtins.StorageBarrier(Et,xt);case"textureBarrier":return this.builtins.TextureBarrier(Et,xt);case"workgroupBarrier":return this.builtins.WorkgroupBarrier(Et,xt);case"workgroupUniformLoad":return this.builtins.WorkgroupUniformLoad(Et,xt);case"subgroupAdd":return this.builtins.SubgroupAdd(Et,xt);case"subgroupExclusiveAdd":return this.builtins.SubgroupExclusiveAdd(Et,xt);case"subgroupInclusiveAdd":return this.builtins.SubgroupInclusiveAdd(Et,xt);case"subgroupAll":return this.builtins.SubgroupAll(Et,xt);case"subgroupAnd":return this.builtins.SubgroupAnd(Et,xt);case"subgroupAny":return this.builtins.SubgroupAny(Et,xt);case"subgroupBallot":return this.builtins.SubgroupBallot(Et,xt);case"subgroupBroadcast":return this.builtins.SubgroupBroadcast(Et,xt);case"subgroupBroadcastFirst":return this.builtins.SubgroupBroadcastFirst(Et,xt);case"subgroupElect":return this.builtins.SubgroupElect(Et,xt);case"subgroupMax":return this.builtins.SubgroupMax(Et,xt);case"subgroupMin":return this.builtins.SubgroupMin(Et,xt);case"subgroupMul":return this.builtins.SubgroupMul(Et,xt);case"subgroupExclusiveMul":return this.builtins.SubgroupExclusiveMul(Et,xt);case"subgroupInclusiveMul":return this.builtins.SubgroupInclusiveMul(Et,xt);case"subgroupOr":return this.builtins.SubgroupOr(Et,xt);case"subgroupShuffle":return this.builtins.SubgroupShuffle(Et,xt);case"subgroupShuffleDown":return this.builtins.SubgroupShuffleDown(Et,xt);case"subgroupShuffleUp":return this.builtins.SubgroupShuffleUp(Et,xt);case"subgroupShuffleXor":return this.builtins.SubgroupShuffleXor(Et,xt);case"subgroupXor":return this.builtins.SubgroupXor(Et,xt);case"quadBroadcast":return this.builtins.QuadBroadcast(Et,xt);case"quadSwapDiagonal":return this.builtins.QuadSwapDiagonal(Et,xt);case"quadSwapX":return this.builtins.QuadSwapX(Et,xt);case"quadSwapY":return this.builtins.QuadSwapY(Et,xt)}const vt=xt.getFunction(Et.name);if(vt){const bt=xt.clone();for(let At=0;At<vt.node.args.length;++At){const Ft=vt.node.args[At],Ct=this.evalExpression(Et.args[At],bt);bt.setVariable(Ft.name,Ct,Ft)}return this._execStatements(vt.node.body,bt)}return null}_callConstructorValue(Et,xt){if(!Et.args||Et.args.length===0)return new Be$1(0,this.getTypeInfo(Et.type));const vt=this.evalExpression(Et.args[0],xt);return vt.typeInfo=this.getTypeInfo(Et.type),vt.getSubData(this,Et.postfix,xt).clone()}_callConstructorVec(Et,xt){const vt=this.getTypeInfo(Et.type),bt=Et.type.getTypeName(),At=ft[bt];if(At===void 0)return console.error(`Invalid vec constructor ${bt}. Line ${Et.line}`),null;const Ft=[];if(Et instanceof xe)if(Et.isVector){const Ct=Et.vectorValue;for(const wt of Ct)Ft.push(wt)}else Ft.push(Et.scalarValue);else if(Et.args)for(const Ct of Et.args){const wt=this.evalExpression(Ct,xt);if(wt instanceof Me$1){const St=wt.data;for(let Tt=0;Tt<St.length;++Tt){let Rt=St[Tt];Ft.push(Rt)}}else if(wt instanceof Be$1){let St=wt.value;Ft.push(St)}}if(Et.type instanceof ce$1&&Et.type.format===null&&(Et.type.format=ce$1.f32),Ft.length===0){const Ct=new Array(At).fill(0);return new Me$1(Ct,vt).getSubData(this,Et.postfix,xt)}if(Ft.length===1)for(;Ft.length<At;)Ft.push(Ft[0]);return Ft.length<At?(console.error(`Invalid vec constructor. Line ${Et.line}`),null):new Me$1(Ft.length>At?Ft.slice(0,At):Ft,vt).getSubData(this,Et.postfix,xt)}_callConstructorMatrix(Et,xt){const vt=this.getTypeInfo(Et.type),bt=Et.type.getTypeName(),At=pt[bt];if(At===void 0)return console.error(`Invalid matrix constructor ${bt}. Line ${Et.line}`),null;const Ft=[];if(Et instanceof xe)if(Et.isVector){const Ct=Et.vectorValue;for(const wt of Ct)Ft.push(wt)}else Ft.push(Et.scalarValue);else if(Et.args)for(const Ct of Et.args){const wt=this.evalExpression(Ct,xt);wt instanceof Me$1?Ft.push(...wt.data):wt instanceof Be$1?Ft.push(wt.value):wt instanceof Ue$1&&Ft.push(...wt.data)}if(vt instanceof a&&vt.format===null&&(vt.format=this.getTypeInfo("f32")),Ft.length===0){const Ct=new Array(At[2]).fill(0);return new Ue$1(Ct,vt).getSubData(this,Et.postfix,xt)}return Ft.length!==At[2]?(console.error(`Invalid matrix constructor. Line ${Et.line}`),null):new Ue$1(Ft,vt).getSubData(this,Et.postfix,xt)}}dt._breakObj=new Ne$1(new e("BREAK",null),null),dt._continueObj=new Ne$1(new e("CONTINUE",null),null),dt._priority=new Map([["f32",0],["f16",1],["u32",2],["i32",3],["x32",3]]);class mt{constructor(){this.constants=new Map,this.aliases=new Map,this.structs=new Map}}class gt{constructor(){this._tokens=[],this._current=0,this._currentLine=1,this._deferArrayCountEval=[],this._currentLoop=[],this._context=new mt,this._exec=new dt,this._forwardTypeCount=0}parse(Et){this._initialize(Et),this._deferArrayCountEval.length=0;const xt=[];for(;!this._isAtEnd();){const vt=this._global_decl_or_directive();if(!vt)break;xt.push(vt)}if(this._deferArrayCountEval.length>0){for(const vt of this._deferArrayCountEval){const bt=vt.arrayType,At=vt.countNode;if(At instanceof ge$1){const Ft=At.name,Ct=this._context.constants.get(Ft);if(Ct)try{const wt=Ct.constEvaluate(this._exec);bt.count=wt}catch{}}}this._deferArrayCountEval.length=0}if(this._forwardTypeCount>0)for(const vt of xt)vt.search(bt=>{bt instanceof Ce$1||bt instanceof le$1?bt.type=this._forwardType(bt.type):bt instanceof ue$1?bt.format=this._forwardType(bt.format):bt instanceof F$1||bt instanceof U$1||bt instanceof P$1?bt.type=this._forwardType(bt.type):bt instanceof D$1?bt.returnType=this._forwardType(bt.returnType):bt instanceof $e$1&&(bt.type=this._forwardType(bt.type))});return xt}_forwardType(Et){if(Et instanceof ie$1){const xt=this._getType(Et.name);if(xt)return xt}else Et instanceof le$1?Et.type=this._forwardType(Et.type):Et instanceof ue$1&&(Et.format=this._forwardType(Et.format));return Et}_initialize(Et){if(Et)if(typeof Et=="string"){const xt=new Re$1(Et);this._tokens=xt.scanTokens()}else this._tokens=Et;else this._tokens=[];this._current=0}_updateNode(Et,xt){return Et.line=xt??this._currentLine,Et}_error(Et,xt){return{token:Et,message:xt,toString:()=>`${xt}`}}_isAtEnd(){return this._current>=this._tokens.length||this._peek().type==He$1.eof}_match(Et){if(Et instanceof qe$1)return!!this._check(Et)&&(this._advance(),!0);for(let xt=0,vt=Et.length;xt<vt;++xt){const bt=Et[xt];if(this._check(bt))return this._advance(),!0}return!1}_consume(Et,xt){if(this._check(Et))return this._advance();throw this._error(this._peek(),`${xt}. Line:${this._currentLine}`)}_check(Et){if(this._isAtEnd())return!1;const xt=this._peek();if(Et instanceof Array){const vt=xt.type;let bt=!1;for(const At of Et){if(vt===At)return!0;At===He$1.tokens.name&&(bt=!0)}if(bt){const At=He$1.tokens.name.rule.exec(xt.lexeme);if(At&&At.index==0&&At[0]==xt.lexeme)return!0}return!1}if(xt.type===Et)return!0;if(Et===He$1.tokens.name){const vt=He$1.tokens.name.rule.exec(xt.lexeme);return vt&&vt.index==0&&vt[0]==xt.lexeme}return!1}_advance(){var Et,xt;return this._currentLine=(xt=(Et=this._peek())===null||Et===void 0?void 0:Et.line)!==null&&xt!==void 0?xt:-1,this._isAtEnd()||this._current++,this._previous()}_peek(){return this._tokens[this._current]}_previous(){return this._tokens[this._current-1]}_global_decl_or_directive(){for(;this._match(He$1.tokens.semicolon)&&!this._isAtEnd(););if(this._match(He$1.keywords.alias)){const xt=this._type_alias();return this._consume(He$1.tokens.semicolon,"Expected ';'"),this._exec.reflection.updateAST([xt]),xt}if(this._match(He$1.keywords.diagnostic)){const xt=this._diagnostic();return this._consume(He$1.tokens.semicolon,"Expected ';'"),this._exec.reflection.updateAST([xt]),xt}if(this._match(He$1.keywords.requires)){const xt=this._requires_directive();return this._consume(He$1.tokens.semicolon,"Expected ';'"),this._exec.reflection.updateAST([xt]),xt}if(this._match(He$1.keywords.enable)){const xt=this._enable_directive();return this._consume(He$1.tokens.semicolon,"Expected ';'"),this._exec.reflection.updateAST([xt]),xt}const Et=this._attribute();if(this._check(He$1.keywords.var)){const xt=this._global_variable_decl();return xt!=null&&(xt.attributes=Et),this._consume(He$1.tokens.semicolon,"Expected ';'."),this._exec.reflection.updateAST([xt]),xt}if(this._check(He$1.keywords.override)){const xt=this._override_variable_decl();return xt!=null&&(xt.attributes=Et),this._consume(He$1.tokens.semicolon,"Expected ';'."),this._exec.reflection.updateAST([xt]),xt}if(this._check(He$1.keywords.let)){const xt=this._global_let_decl();return xt!=null&&(xt.attributes=Et),this._consume(He$1.tokens.semicolon,"Expected ';'."),this._exec.reflection.updateAST([xt]),xt}if(this._check(He$1.keywords.const)){const xt=this._global_const_decl();return xt!=null&&(xt.attributes=Et),this._consume(He$1.tokens.semicolon,"Expected ';'."),this._exec.reflection.updateAST([xt]),xt}if(this._check(He$1.keywords.struct)){const xt=this._struct_decl();return xt!=null&&(xt.attributes=Et),this._exec.reflection.updateAST([xt]),xt}if(this._check(He$1.keywords.fn)){const xt=this._function_decl();return xt!=null&&(xt.attributes=Et),this._exec.reflection.updateAST([xt]),xt}return null}_function_decl(){if(!this._match(He$1.keywords.fn))return null;const Et=this._currentLine,xt=this._consume(He$1.tokens.ident,"Expected function name.").toString();this._consume(He$1.tokens.paren_left,"Expected '(' for function arguments.");const vt=[];if(!this._check(He$1.tokens.paren_right))do{if(this._check(He$1.tokens.paren_right))break;const Ct=this._attribute(),wt=this._consume(He$1.tokens.name,"Expected argument name.").toString();this._consume(He$1.tokens.colon,"Expected ':' for argument type.");const St=this._attribute(),Tt=this._type_decl();Tt!=null&&(Tt.attributes=St,vt.push(this._updateNode(new $e$1(wt,Tt,Ct))))}while(this._match(He$1.tokens.comma));this._consume(He$1.tokens.paren_right,"Expected ')' after function arguments.");let bt=null;if(this._match(He$1.tokens.arrow)){const Ct=this._attribute();bt=this._type_decl(),bt!=null&&(bt.attributes=Ct)}const At=this._compound_statement(),Ft=this._currentLine;return this._updateNode(new D$1(xt,vt,bt,At,Et,Ft),Et)}_compound_statement(){const Et=[];for(this._consume(He$1.tokens.brace_left,"Expected '{' for block.");!this._check(He$1.tokens.brace_right);){const xt=this._statement();xt!==null&&Et.push(xt)}return this._consume(He$1.tokens.brace_right,"Expected '}' for block."),Et}_statement(){for(;this._match(He$1.tokens.semicolon)&&!this._isAtEnd(););if(this._check(He$1.tokens.attr)&&this._attribute(),this._check(He$1.keywords.if))return this._if_statement();if(this._check(He$1.keywords.switch))return this._switch_statement();if(this._check(He$1.keywords.loop))return this._loop_statement();if(this._check(He$1.keywords.for))return this._for_statement();if(this._check(He$1.keywords.while))return this._while_statement();if(this._check(He$1.keywords.continuing))return this._continuing_statement();if(this._check(He$1.keywords.static_assert))return this._static_assert_statement();if(this._check(He$1.tokens.brace_left))return this._compound_statement();let Et=null;if(this._check(He$1.keywords.return))Et=this._return_statement();else if(this._check([He$1.keywords.var,He$1.keywords.let,He$1.keywords.const]))Et=this._variable_statement();else if(this._match(He$1.keywords.discard))Et=this._updateNode(new ne);else if(this._match(He$1.keywords.break)){const xt=this._updateNode(new se$1);if(this._currentLoop.length>0){const vt=this._currentLoop[this._currentLoop.length-1];xt.loopId=vt.id}Et=xt,this._check(He$1.keywords.if)&&(this._advance(),xt.condition=this._optional_paren_expression())}else if(this._match(He$1.keywords.continue)){const xt=this._updateNode(new re$1);if(!(this._currentLoop.length>0))throw this._error(this._peek(),`Continue statement must be inside a loop. Line: ${xt.line}`);{const vt=this._currentLoop[this._currentLoop.length-1];xt.loopId=vt.id}Et=xt}else Et=this._increment_decrement_statement()||this._func_call_statement()||this._assignment_statement();return Et!=null&&this._consume(He$1.tokens.semicolon,"Expected ';' after statement."),Et}_static_assert_statement(){if(!this._match(He$1.keywords.static_assert))return null;const Et=this._currentLine,xt=this._optional_paren_expression();return this._updateNode(new N$1(xt),Et)}_while_statement(){if(!this._match(He$1.keywords.while))return null;const Et=this._updateNode(new V$1(null,null));return this._currentLoop.push(Et),Et.condition=this._optional_paren_expression(),this._check(He$1.tokens.attr)&&this._attribute(),Et.body=this._compound_statement(),this._currentLoop.pop(),Et}_continuing_statement(){const Et=this._currentLoop.length>0?this._currentLoop[this._currentLoop.length-1].id:-1;if(!this._match(He$1.keywords.continuing))return null;const xt=this._currentLine,vt=this._compound_statement();return this._updateNode(new O(vt,Et),xt)}_for_statement(){if(!this._match(He$1.keywords.for))return null;this._consume(He$1.tokens.paren_left,"Expected '('.");const Et=this._updateNode(new B$1(null,null,null,null));return this._currentLoop.push(Et),Et.init=this._check(He$1.tokens.semicolon)?null:this._for_init(),this._consume(He$1.tokens.semicolon,"Expected ';'."),Et.condition=this._check(He$1.tokens.semicolon)?null:this._short_circuit_or_expression(),this._consume(He$1.tokens.semicolon,"Expected ';'."),Et.increment=this._check(He$1.tokens.paren_right)?null:this._for_increment(),this._consume(He$1.tokens.paren_right,"Expected ')'."),this._check(He$1.tokens.attr)&&this._attribute(),Et.body=this._compound_statement(),this._currentLoop.pop(),Et}_for_init(){return this._variable_statement()||this._func_call_statement()||this._assignment_statement()}_for_increment(){return this._func_call_statement()||this._increment_decrement_statement()||this._assignment_statement()}_variable_statement(){if(this._check(He$1.keywords.var)){const Et=this._variable_decl();if(Et===null)throw this._error(this._peek(),"Variable declaration expected.");let xt=null;return this._match(He$1.tokens.equal)&&(xt=this._short_circuit_or_expression()),this._updateNode(new F$1(Et.name,Et.type,Et.storage,Et.access,xt),Et.line)}if(this._match(He$1.keywords.let)){const Et=this._currentLine,xt=this._consume(He$1.tokens.name,"Expected name for let.").toString();let vt=null;if(this._match(He$1.tokens.colon)){const At=this._attribute();vt=this._type_decl(),vt!=null&&(vt.attributes=At)}this._consume(He$1.tokens.equal,"Expected '=' for let.");const bt=this._short_circuit_or_expression();return this._updateNode(new U$1(xt,vt,null,null,bt),Et)}if(this._match(He$1.keywords.const)){const Et=this._currentLine,xt=this._consume(He$1.tokens.name,"Expected name for const.").toString();let vt=null;if(this._match(He$1.tokens.colon)){const At=this._attribute();vt=this._type_decl(),vt!=null&&(vt.attributes=At)}this._consume(He$1.tokens.equal,"Expected '=' for const.");const bt=this._short_circuit_or_expression();return vt===null&&bt instanceof xe&&(vt=bt.type),this._updateNode(new P$1(xt,vt,null,null,bt),Et)}return null}_increment_decrement_statement(){const Et=this._current,xt=this._unary_expression();if(xt==null)return null;if(!this._check(He$1.increment_operators))return this._current=Et,null;const vt=this._consume(He$1.increment_operators,"Expected increment operator");return this._updateNode(new R$1(vt.type===He$1.tokens.plus_plus?W$1.increment:W$1.decrement,xt))}_assignment_statement(){let Et=null;const xt=this._currentLine;if(this._check(He$1.tokens.brace_right))return null;let vt=this._match(He$1.tokens.underscore);if(vt||(Et=this._unary_expression()),!vt&&Et==null)return null;const bt=this._consume(He$1.assignment_operators,"Expected assignment operator."),At=this._short_circuit_or_expression();return this._updateNode(new G$1(q$1.parse(bt.lexeme),Et,At),xt)}_func_call_statement(){if(!this._check(He$1.tokens.ident))return null;const Et=this._currentLine,xt=this._current,vt=this._consume(He$1.tokens.ident,"Expected function name."),bt=this._argument_expression_list();return bt===null?(this._current=xt,null):this._updateNode(new X$1(vt.lexeme,bt),Et)}_loop_statement(){if(!this._match(He$1.keywords.loop))return null;this._check(He$1.tokens.attr)&&this._attribute(),this._consume(He$1.tokens.brace_left,"Expected '{' for loop.");const Et=this._updateNode(new j$1([],null));this._currentLoop.push(Et);let xt=this._statement();for(;xt!==null;){if(Array.isArray(xt))for(let vt of xt)Et.body.push(vt);else Et.body.push(xt);if(xt instanceof O){Et.continuing=xt;break}xt=this._statement()}return this._currentLoop.pop(),this._consume(He$1.tokens.brace_right,"Expected '}' for loop."),Et}_switch_statement(){if(!this._match(He$1.keywords.switch))return null;const Et=this._updateNode(new Z(null,[]));if(this._currentLoop.push(Et),Et.condition=this._optional_paren_expression(),this._check(He$1.tokens.attr)&&this._attribute(),this._consume(He$1.tokens.brace_left,"Expected '{' for switch."),Et.cases=this._switch_body(),Et.cases==null||Et.cases.length==0)throw this._error(this._previous(),"Expected 'case' or 'default'.");return this._consume(He$1.tokens.brace_right,"Expected '}' for switch."),this._currentLoop.pop(),Et}_switch_body(){const Et=[];let xt=!1;for(;this._check([He$1.keywords.default,He$1.keywords.case]);){if(this._match(He$1.keywords.case)){const vt=this._case_selectors();for(const At of vt)if(At instanceof Se$1){if(xt)throw this._error(this._previous(),"Multiple default cases in switch statement.");xt=!0;break}this._match(He$1.tokens.colon),this._check(He$1.tokens.attr)&&this._attribute(),this._consume(He$1.tokens.brace_left,"Exected '{' for switch case.");const bt=this._case_body();this._consume(He$1.tokens.brace_right,"Exected '}' for switch case."),Et.push(this._updateNode(new Ae$1(vt,bt)))}if(this._match(He$1.keywords.default)){if(xt)throw this._error(this._previous(),"Multiple default cases in switch statement.");this._match(He$1.tokens.colon),this._check(He$1.tokens.attr)&&this._attribute(),this._consume(He$1.tokens.brace_left,"Exected '{' for switch default.");const vt=this._case_body();this._consume(He$1.tokens.brace_right,"Exected '}' for switch default."),Et.push(this._updateNode(new Ee$1(vt)))}}return Et}_case_selectors(){const Et=[];for(this._match(He$1.keywords.default)?Et.push(this._updateNode(new Se$1)):Et.push(this._shift_expression());this._match(He$1.tokens.comma);)this._match(He$1.keywords.default)?Et.push(this._updateNode(new Se$1)):Et.push(this._shift_expression());return Et}_case_body(){if(this._match(He$1.keywords.fallthrough))return this._consume(He$1.tokens.semicolon,"Expected ';'"),[];let Et=this._statement();if(Et==null)return[];Et instanceof Array||(Et=[Et]);const xt=this._case_body();return xt.length==0?Et:[...Et,xt[0]]}_if_statement(){if(!this._match(He$1.keywords.if))return null;const Et=this._currentLine,xt=this._optional_paren_expression();this._check(He$1.tokens.attr)&&this._attribute();const vt=this._compound_statement();let bt=[];this._match_elseif()&&(this._check(He$1.tokens.attr)&&this._attribute(),bt=this._elseif_statement(bt));let At=null;return this._match(He$1.keywords.else)&&(this._check(He$1.tokens.attr)&&this._attribute(),At=this._compound_statement()),this._updateNode(new Q$1(xt,vt,bt,At),Et)}_match_elseif(){return this._tokens[this._current].type===He$1.keywords.else&&this._tokens[this._current+1].type===He$1.keywords.if&&(this._advance(),this._advance(),!0)}_elseif_statement(Et=[]){const xt=this._optional_paren_expression(),vt=this._compound_statement();return Et.push(this._updateNode(new Le$1(xt,vt))),this._match_elseif()&&(this._check(He$1.tokens.attr)&&this._attribute(),this._elseif_statement(Et)),Et}_return_statement(){if(!this._match(He$1.keywords.return))return null;const Et=this._short_circuit_or_expression();return this._updateNode(new Y(Et))}_short_circuit_or_expression(){let Et=this._short_circuit_and_expr();for(;this._match(He$1.tokens.or_or);)Et=this._updateNode(new Ie$1(this._previous().toString(),Et,this._short_circuit_and_expr()));return Et}_short_circuit_and_expr(){let Et=this._inclusive_or_expression();for(;this._match(He$1.tokens.and_and);)Et=this._updateNode(new Ie$1(this._previous().toString(),Et,this._inclusive_or_expression()));return Et}_inclusive_or_expression(){let Et=this._exclusive_or_expression();for(;this._match(He$1.tokens.or);)Et=this._updateNode(new Ie$1(this._previous().toString(),Et,this._exclusive_or_expression()));return Et}_exclusive_or_expression(){let Et=this._and_expression();for(;this._match(He$1.tokens.xor);)Et=this._updateNode(new Ie$1(this._previous().toString(),Et,this._and_expression()));return Et}_and_expression(){let Et=this._equality_expression();for(;this._match(He$1.tokens.and);)Et=this._updateNode(new Ie$1(this._previous().toString(),Et,this._equality_expression()));return Et}_equality_expression(){const Et=this._relational_expression();return this._match([He$1.tokens.equal_equal,He$1.tokens.not_equal])?this._updateNode(new Ie$1(this._previous().toString(),Et,this._relational_expression())):Et}_relational_expression(){let Et=this._shift_expression();for(;this._match([He$1.tokens.less_than,He$1.tokens.greater_than,He$1.tokens.less_than_equal,He$1.tokens.greater_than_equal]);)Et=this._updateNode(new Ie$1(this._previous().toString(),Et,this._shift_expression()));return Et}_shift_expression(){let Et=this._additive_expression();for(;this._match([He$1.tokens.shift_left,He$1.tokens.shift_right]);)Et=this._updateNode(new Ie$1(this._previous().toString(),Et,this._additive_expression()));return Et}_additive_expression(){let Et=this._multiplicative_expression();for(;this._match([He$1.tokens.plus,He$1.tokens.minus]);)Et=this._updateNode(new Ie$1(this._previous().toString(),Et,this._multiplicative_expression()));return Et}_multiplicative_expression(){let Et=this._unary_expression();for(;this._match([He$1.tokens.star,He$1.tokens.forward_slash,He$1.tokens.modulo]);)Et=this._updateNode(new Ie$1(this._previous().toString(),Et,this._unary_expression()));return Et}_unary_expression(){return this._match([He$1.tokens.minus,He$1.tokens.bang,He$1.tokens.tilde,He$1.tokens.star,He$1.tokens.and])?this._updateNode(new ke$1(this._previous().toString(),this._unary_expression())):this._singular_expression()}_singular_expression(){const Et=this._primary_expression(),xt=this._postfix_expression();return xt&&(Et.postfix=xt),Et}_postfix_expression(){if(this._match(He$1.tokens.bracket_left)){const Et=this._short_circuit_or_expression();this._consume(He$1.tokens.bracket_right,"Expected ']'.");const xt=this._updateNode(new ve$1(Et)),vt=this._postfix_expression();return vt&&(xt.postfix=vt),xt}if(this._match(He$1.tokens.period)){const Et=this._consume(He$1.tokens.name,"Expected member name."),xt=this._postfix_expression(),vt=this._updateNode(new pe$1(Et.lexeme));return xt&&(vt.postfix=xt),vt}return null}_getStruct(Et){return this._context.aliases.has(Et)?this._context.aliases.get(Et).type:this._context.structs.has(Et)?this._context.structs.get(Et):null}_getType(Et){const xt=this._getStruct(Et);if(xt!==null)return xt;switch(Et){case"void":return ae$1.void;case"bool":return ae$1.bool;case"i32":return ae$1.i32;case"u32":return ae$1.u32;case"f32":return ae$1.f32;case"f16":return ae$1.f16;case"vec2f":return ce$1.vec2f;case"vec3f":return ce$1.vec3f;case"vec4f":return ce$1.vec4f;case"vec2i":return ce$1.vec2i;case"vec3i":return ce$1.vec3i;case"vec4i":return ce$1.vec4i;case"vec2u":return ce$1.vec2u;case"vec3u":return ce$1.vec3u;case"vec4u":return ce$1.vec4u;case"vec2h":return ce$1.vec2h;case"vec3h":return ce$1.vec3h;case"vec4h":return ce$1.vec4h;case"mat2x2f":return ce$1.mat2x2f;case"mat2x3f":return ce$1.mat2x3f;case"mat2x4f":return ce$1.mat2x4f;case"mat3x2f":return ce$1.mat3x2f;case"mat3x3f":return ce$1.mat3x3f;case"mat3x4f":return ce$1.mat3x4f;case"mat4x2f":return ce$1.mat4x2f;case"mat4x3f":return ce$1.mat4x3f;case"mat4x4f":return ce$1.mat4x4f;case"mat2x2h":return ce$1.mat2x2h;case"mat2x3h":return ce$1.mat2x3h;case"mat2x4h":return ce$1.mat2x4h;case"mat3x2h":return ce$1.mat3x2h;case"mat3x3h":return ce$1.mat3x3h;case"mat3x4h":return ce$1.mat3x4h;case"mat4x2h":return ce$1.mat4x2h;case"mat4x3h":return ce$1.mat4x3h;case"mat4x4h":return ce$1.mat4x4h;case"mat2x2i":return ce$1.mat2x2i;case"mat2x3i":return ce$1.mat2x3i;case"mat2x4i":return ce$1.mat2x4i;case"mat3x2i":return ce$1.mat3x2i;case"mat3x3i":return ce$1.mat3x3i;case"mat3x4i":return ce$1.mat3x4i;case"mat4x2i":return ce$1.mat4x2i;case"mat4x3i":return ce$1.mat4x3i;case"mat4x4i":return ce$1.mat4x4i;case"mat2x2u":return ce$1.mat2x2u;case"mat2x3u":return ce$1.mat2x3u;case"mat2x4u":return ce$1.mat2x4u;case"mat3x2u":return ce$1.mat3x2u;case"mat3x3u":return ce$1.mat3x3u;case"mat3x4u":return ce$1.mat3x4u;case"mat4x2u":return ce$1.mat4x2u;case"mat4x3u":return ce$1.mat4x3u;case"mat4x4u":return ce$1.mat4x4u}return null}_validateTypeRange(Et,xt){if(xt.name==="i32"){if(Et<-2147483648||Et>2147483647)throw this._error(this._previous(),`Value out of range for i32: ${Et}. Line: ${this._currentLine}.`)}else if(xt.name==="u32"&&(Et<0||Et>4294967295))throw this._error(this._previous(),`Value out of range for u32: ${Et}. Line: ${this._currentLine}.`)}_primary_expression(){if(this._match(He$1.tokens.ident)){const vt=this._previous().toString();if(this._check(He$1.tokens.paren_left)){const bt=this._argument_expression_list(),At=this._getType(vt);return At!==null?this._updateNode(new de$1(At,bt)):this._updateNode(new me$1(vt,bt))}if(this._context.constants.has(vt)){const bt=this._context.constants.get(vt);return this._updateNode(new _e$1(vt,bt.value))}return this._updateNode(new ge$1(vt))}if(this._match(He$1.tokens.int_literal)){const vt=this._previous().toString();let bt=vt.endsWith("i")||vt.endsWith("i")?ae$1.i32:vt.endsWith("u")||vt.endsWith("U")?ae$1.u32:ae$1.x32;const At=parseInt(vt);return this._validateTypeRange(At,bt),this._updateNode(new xe(new Be$1(At,this._exec.getTypeInfo(bt)),bt))}if(this._match(He$1.tokens.uint_literal)){const vt=parseInt(this._previous().toString());return this._validateTypeRange(vt,ae$1.u32),this._updateNode(new xe(new Be$1(vt,this._exec.getTypeInfo(ae$1.u32)),ae$1.u32))}if(this._match([He$1.tokens.decimal_float_literal,He$1.tokens.hex_float_literal])){let vt=this._previous().toString(),bt=vt.endsWith("h");bt&&(vt=vt.substring(0,vt.length-1));const At=parseFloat(vt);this._validateTypeRange(At,bt?ae$1.f16:ae$1.f32);const Ft=bt?ae$1.f16:ae$1.f32;return this._updateNode(new xe(new Be$1(At,this._exec.getTypeInfo(Ft)),Ft))}if(this._match([He$1.keywords.true,He$1.keywords.false])){let vt=this._previous().toString()===He$1.keywords.true.rule;return this._updateNode(new xe(new Be$1(vt?1:0,this._exec.getTypeInfo(ae$1.bool)),ae$1.bool))}if(this._check(He$1.tokens.paren_left))return this._paren_expression();if(this._match(He$1.keywords.bitcast)){this._consume(He$1.tokens.less_than,"Expected '<'.");const vt=this._type_decl();this._consume(He$1.tokens.greater_than,"Expected '>'.");const bt=this._paren_expression();return this._updateNode(new ye$1(vt,bt))}const Et=this._type_decl(),xt=this._argument_expression_list();return this._updateNode(new de$1(Et,xt))}_argument_expression_list(){if(!this._match(He$1.tokens.paren_left))return null;const Et=[];do{if(this._check(He$1.tokens.paren_right))break;const xt=this._short_circuit_or_expression();Et.push(xt)}while(this._match(He$1.tokens.comma));return this._consume(He$1.tokens.paren_right,"Expected ')' for agument list"),Et}_optional_paren_expression(){this._match(He$1.tokens.paren_left);const Et=this._short_circuit_or_expression();return this._match(He$1.tokens.paren_right),Et}_paren_expression(){this._consume(He$1.tokens.paren_left,"Expected '('.");const Et=this._short_circuit_or_expression();return this._consume(He$1.tokens.paren_right,"Expected ')'."),Et}_struct_decl(){if(!this._match(He$1.keywords.struct))return null;const Et=this._currentLine,xt=this._consume(He$1.tokens.ident,"Expected name for struct.").toString();this._consume(He$1.tokens.brace_left,"Expected '{' for struct body.");const vt=[];for(;!this._check(He$1.tokens.brace_right);){const Ft=this._attribute(),Ct=this._consume(He$1.tokens.name,"Expected variable name.").toString();this._consume(He$1.tokens.colon,"Expected ':' for struct member type.");const wt=this._attribute(),St=this._type_decl();St!=null&&(St.attributes=wt),this._check(He$1.tokens.brace_right)?this._match(He$1.tokens.comma):this._consume(He$1.tokens.comma,"Expected ',' for struct member."),vt.push(this._updateNode(new Ce$1(Ct,St,Ft)))}this._consume(He$1.tokens.brace_right,"Expected '}' after struct body.");const bt=this._currentLine,At=this._updateNode(new oe$1(xt,vt,Et,bt),Et);return this._context.structs.set(xt,At),At}_global_variable_decl(){const Et=this._variable_decl();if(!Et)return null;if(this._match(He$1.tokens.equal)){const xt=this._const_expression();Et.value=xt}if(Et.type!==null&&Et.value instanceof xe){if(Et.value.type.name!=="x32"&&Et.type.getTypeName()!==Et.value.type.getTypeName())throw this._error(this._peek(),`Invalid cast from ${Et.value.type.name} to ${Et.type.name}. Line:${this._currentLine}`);Et.value.isScalar&&this._validateTypeRange(Et.value.scalarValue,Et.type),Et.value.type=Et.type}else Et.type===null&&Et.value instanceof xe&&(Et.type=Et.value.type.name==="x32"?ae$1.i32:Et.value.type,Et.value.isScalar&&this._validateTypeRange(Et.value.scalarValue,Et.type));return Et}_override_variable_decl(){const Et=this._override_decl();return Et&&this._match(He$1.tokens.equal)&&(Et.value=this._const_expression()),Et}_global_const_decl(){var Et;if(!this._match(He$1.keywords.const))return null;const xt=this._consume(He$1.tokens.name,"Expected variable name"),vt=this._currentLine;let bt=null;if(this._match(He$1.tokens.colon)){const wt=this._attribute();bt=this._type_decl(),bt!=null&&(bt.attributes=wt)}let At=null;this._consume(He$1.tokens.equal,"const declarations require an assignment");const Ft=this._short_circuit_or_expression();try{let wt=[ae$1.f32],St=Ft.constEvaluate(this._exec,wt);St instanceof Be$1&&this._validateTypeRange(St.value,wt[0]),wt[0]instanceof ce$1&&wt[0].format===null&&St.typeInfo instanceof a&&St.typeInfo.format!==null&&(St.typeInfo.format.name==="f16"?wt[0].format=ae$1.f16:St.typeInfo.format.name==="f32"?wt[0].format=ae$1.f32:St.typeInfo.format.name==="i32"?wt[0].format=ae$1.i32:St.typeInfo.format.name==="u32"?wt[0].format=ae$1.u32:St.typeInfo.format.name==="bool"?wt[0].format=ae$1.bool:console.error(`TODO: impelement template format type ${St.typeInfo.format.name}`)),At=this._updateNode(new xe(St,wt[0])),this._exec.context.setVariable(xt.toString(),St)}catch{At=Ft}if(bt!==null&&At instanceof xe){if(At.type.name!=="x32"&&bt.getTypeName()!==At.type.getTypeName())throw this._error(this._peek(),`Invalid cast from ${At.type.name} to ${bt.name}. Line:${this._currentLine}`);At.type=bt,At.isScalar&&this._validateTypeRange(At.scalarValue,At.type)}else bt===null&&At instanceof xe&&(bt=(Et=At?.type)!==null&&Et!==void 0?Et:ae$1.f32,bt===ae$1.x32&&(bt=ae$1.i32));const Ct=this._updateNode(new P$1(xt.toString(),bt,"","",At),vt);return this._context.constants.set(Ct.name,Ct),Ct}_global_let_decl(){if(!this._match(He$1.keywords.let))return null;const Et=this._currentLine,xt=this._consume(He$1.tokens.name,"Expected variable name");let vt=null;if(this._match(He$1.tokens.colon)){const At=this._attribute();vt=this._type_decl(),vt!=null&&(vt.attributes=At)}let bt=null;if(this._match(He$1.tokens.equal)&&(bt=this._const_expression()),vt!==null&&bt instanceof xe){if(bt.type.name!=="x32"&&vt.getTypeName()!==bt.type.getTypeName())throw this._error(this._peek(),`Invalid cast from ${bt.type.name} to ${vt.name}. Line:${this._currentLine}`);bt.type=vt}else vt===null&&bt instanceof xe&&(vt=bt.type.name==="x32"?ae$1.i32:bt.type);return bt instanceof xe&&bt.isScalar&&this._validateTypeRange(bt.scalarValue,vt),this._updateNode(new U$1(xt.toString(),vt,"","",bt),Et)}_const_expression(){return this._short_circuit_or_expression()}_variable_decl(){if(!this._match(He$1.keywords.var))return null;const Et=this._currentLine;let xt="",vt="";this._match(He$1.tokens.less_than)&&(xt=this._consume(He$1.storage_class,"Expected storage_class.").toString(),this._match(He$1.tokens.comma)&&(vt=this._consume(He$1.access_mode,"Expected access_mode.").toString()),this._consume(He$1.tokens.greater_than,"Expected '>'."));const bt=this._consume(He$1.tokens.name,"Expected variable name");let At=null;if(this._match(He$1.tokens.colon)){const Ft=this._attribute();At=this._type_decl(),At!=null&&(At.attributes=Ft)}return this._updateNode(new F$1(bt.toString(),At,xt,vt,null),Et)}_override_decl(){if(!this._match(He$1.keywords.override))return null;const Et=this._consume(He$1.tokens.name,"Expected variable name");let xt=null;if(this._match(He$1.tokens.colon)){const vt=this._attribute();xt=this._type_decl(),xt!=null&&(xt.attributes=vt)}return this._updateNode(new M$1(Et.toString(),xt,null))}_diagnostic(){this._consume(He$1.tokens.paren_left,"Expected '('");const Et=this._consume(He$1.tokens.ident,"Expected severity control name.");this._consume(He$1.tokens.comma,"Expected ','");let xt=this._consume(He$1.tokens.ident,"Expected diagnostic rule name.").toString();return this._match(He$1.tokens.period)&&(xt+=`.${this._consume(He$1.tokens.ident,"Expected diagnostic message.").toString()}`),this._consume(He$1.tokens.paren_right,"Expected ')'"),this._updateNode(new ee(Et.toString(),xt))}_enable_directive(){const Et=this._consume(He$1.tokens.ident,"identity expected.");return this._updateNode(new K$1(Et.toString()))}_requires_directive(){const Et=[this._consume(He$1.tokens.ident,"identity expected.").toString()];for(;this._match(He$1.tokens.comma);){const xt=this._consume(He$1.tokens.ident,"identity expected.");Et.push(xt.toString())}return this._updateNode(new J$1(Et))}_type_alias(){const Et=this._consume(He$1.tokens.ident,"identity expected.");this._consume(He$1.tokens.equal,"Expected '=' for type alias.");let xt=this._type_decl();if(xt===null)throw this._error(this._peek(),"Expected Type for Alias.");this._context.aliases.has(xt.name)&&(xt=this._context.aliases.get(xt.name).type);const vt=this._updateNode(new te(Et.toString(),xt));return this._context.aliases.set(vt.name,vt),vt}_type_decl(){if(this._check([He$1.tokens.ident,...He$1.texel_format,He$1.keywords.bool,He$1.keywords.f32,He$1.keywords.i32,He$1.keywords.u32])){const vt=this._advance().toString();if(this._context.structs.has(vt))return this._context.structs.get(vt);if(this._context.aliases.has(vt))return this._context.aliases.get(vt).type;if(!this._getType(vt)){const bt=this._updateNode(new ie$1(vt));return this._forwardTypeCount++,bt}return this._updateNode(new ae$1(vt))}let Et=this._texture_sampler_types();if(Et)return Et;if(this._check(He$1.template_types)){let vt=this._advance().toString(),bt=null,At=null;return this._match(He$1.tokens.less_than)&&(bt=this._type_decl(),At=null,this._match(He$1.tokens.comma)&&(At=this._consume(He$1.access_mode,"Expected access_mode for pointer").toString()),this._consume(He$1.tokens.greater_than,"Expected '>' for type.")),this._updateNode(new ce$1(vt,bt,At))}if(this._match(He$1.keywords.ptr)){let vt=this._previous().toString();this._consume(He$1.tokens.less_than,"Expected '<' for pointer.");const bt=this._consume(He$1.storage_class,"Expected storage_class for pointer");this._consume(He$1.tokens.comma,"Expected ',' for pointer.");const At=this._type_decl();let Ft=null;return this._match(He$1.tokens.comma)&&(Ft=this._consume(He$1.access_mode,"Expected access_mode for pointer").toString()),this._consume(He$1.tokens.greater_than,"Expected '>' for pointer."),this._updateNode(new le$1(vt,bt.toString(),At,Ft))}const xt=this._attribute();if(this._match(He$1.keywords.array)){let vt=null,bt=-1;const At=this._previous();let Ft=null;if(this._match(He$1.tokens.less_than)){vt=this._type_decl(),this._context.aliases.has(vt.name)&&(vt=this._context.aliases.get(vt.name).type);let wt="";if(this._match(He$1.tokens.comma)){Ft=this._shift_expression();try{wt=Ft.constEvaluate(this._exec).toString(),Ft=null}catch{wt="1"}}this._consume(He$1.tokens.greater_than,"Expected '>' for array."),bt=wt?parseInt(wt):0}const Ct=this._updateNode(new ue$1(At.toString(),xt,vt,bt));return Ft&&this._deferArrayCountEval.push({arrayType:Ct,countNode:Ft}),Ct}return null}_texture_sampler_types(){if(this._match(He$1.sampler_type))return this._updateNode(new he$1(this._previous().toString(),null,null));if(this._match(He$1.depth_texture_type))return this._updateNode(new he$1(this._previous().toString(),null,null));if(this._match(He$1.sampled_texture_type)||this._match(He$1.multisampled_texture_type)){const Et=this._previous();this._consume(He$1.tokens.less_than,"Expected '<' for sampler type.");const xt=this._type_decl();return this._consume(He$1.tokens.greater_than,"Expected '>' for sampler type."),this._updateNode(new he$1(Et.toString(),xt,null))}if(this._match(He$1.storage_texture_type)){const Et=this._previous();this._consume(He$1.tokens.less_than,"Expected '<' for sampler type.");const xt=this._consume(He$1.texel_format,"Invalid texel format.").toString();this._consume(He$1.tokens.comma,"Expected ',' after texel format.");const vt=this._consume(He$1.access_mode,"Expected access mode for storage texture type.").toString();return this._consume(He$1.tokens.greater_than,"Expected '>' for sampler type."),this._updateNode(new he$1(Et.toString(),xt,vt))}return null}_attribute(){let Et=[];for(;this._match(He$1.tokens.attr);){const xt=this._consume(He$1.attribute_name,"Expected attribute name"),vt=this._updateNode(new De$1(xt.toString(),null));if(this._match(He$1.tokens.paren_left)){if(vt.value=this._consume(He$1.literal_or_ident,"Expected attribute value").toString(),this._check(He$1.tokens.comma)){this._advance();do{const bt=this._consume(He$1.literal_or_ident,"Expected attribute value").toString();vt.value instanceof Array||(vt.value=[vt.value]),vt.value.push(bt)}while(this._match(He$1.tokens.comma))}this._consume(He$1.tokens.paren_right,"Expected ')'")}Et.push(vt)}return Et.length==0?null:Et}}class _t extends at{constructor(Et){super(),Et&&this.update(Et)}update(Et){const xt=new gt().parse(Et);this.updateAST(xt)}}function getShaderLayoutFromWGSL(yt){const Et={attributes:[],bindings:[]};let xt;try{xt=parseWGSL(yt)}catch(At){return log.error(At.message)(),Et}for(const At of xt.uniforms){const Ft=[];for(const Ct of At.type?.members||[])Ft.push({name:Ct.name,type:getType(Ct.type)});Et.bindings.push({type:"uniform",name:At.name,group:At.group,location:At.binding,members:Ft})}for(const At of xt.textures)Et.bindings.push({type:"texture",name:At.name,group:At.group,location:At.binding});for(const At of xt.samplers)Et.bindings.push({type:"sampler",name:At.name,group:At.group,location:At.binding});const vt=xt.entry.vertex[0],bt=vt?.inputs.length||0;for(let At=0;At<bt;At++){const Ft=vt.inputs[At];if(Ft.locationType==="location"){const Ct=getType(Ft.type);Et.attributes.push({name:Ft.name,location:Number(Ft.location),type:Ct})}}return Et}function getType(yt){return yt?.format?`${yt.name}<${yt.format.name}>`:yt.name}function parseWGSL(yt){try{return new _t(yt)}catch(Et){if(Et instanceof Error)throw Et;let xt="WGSL parse error";throw typeof Et=="object"&&Et?.message&&(xt+=`: ${Et.message} `),typeof Et=="object"&&Et?.token&&(xt+=Et.token.line||""),new Error(xt,{cause:Et})}}const DEFAULT_CONFIG={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...DEFAULT_CONFIG}};const config=globalThis.mathgl.config;function formatValue(yt,{precision:Et=config.precision}={}){return yt=round(yt),`${parseFloat(yt.toPrecision(Et))}`}function isArray$3(yt){return Array.isArray(yt)||ArrayBuffer.isView(yt)&&!(yt instanceof DataView)}function clamp$3(yt,Et,xt){return map$1(yt,vt=>Math.max(Et,Math.min(xt,vt)))}function lerp$2(yt,Et,xt){return isArray$3(yt)?yt.map((vt,bt)=>lerp$2(vt,Et[bt],xt)):xt*Et+(1-xt)*yt}function equals$1(yt,Et,xt){const vt=config.EPSILON;try{if(yt===Et)return!0;if(isArray$3(yt)&&isArray$3(Et)){if(yt.length!==Et.length)return!1;for(let bt=0;bt<yt.length;++bt)if(!equals$1(yt[bt],Et[bt]))return!1;return!0}return yt&&yt.equals?yt.equals(Et):Et&&Et.equals?Et.equals(yt):typeof yt=="number"&&typeof Et=="number"?Math.abs(yt-Et)<=config.EPSILON*Math.max(1,Math.abs(yt),Math.abs(Et)):!1}finally{config.EPSILON=vt}}function round(yt){return Math.round(yt/config.EPSILON)*config.EPSILON}function duplicateArray(yt){return yt.clone?yt.clone():new Array(yt.length)}function map$1(yt,Et,xt){if(isArray$3(yt)){const vt=yt;xt=xt||duplicateArray(vt);for(let bt=0;bt<xt.length&&bt<vt.length;++bt){const At=typeof yt=="number"?yt:yt[bt];xt[bt]=Et(At,bt,xt)}return xt}return Et(yt)}class MathArray extends Array{clone(){return new this.constructor().copy(this)}fromArray(Et,xt=0){for(let vt=0;vt<this.ELEMENTS;++vt)this[vt]=Et[vt+xt];return this.check()}toArray(Et=[],xt=0){for(let vt=0;vt<this.ELEMENTS;++vt)Et[xt+vt]=this[vt];return Et}toObject(Et){return Et}from(Et){return Array.isArray(Et)?this.copy(Et):this.fromObject(Et)}to(Et){return Et===this?this:isArray$3(Et)?this.toArray(Et):this.toObject(Et)}toTarget(Et){return Et?this.to(Et):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(config)}formatString(Et){let xt="";for(let vt=0;vt<this.ELEMENTS;++vt)xt+=(vt>0?", ":"")+formatValue(this[vt],Et);return`${Et.printTypes?this.constructor.name:""}[${xt}]`}equals(Et){if(!Et||this.length!==Et.length)return!1;for(let xt=0;xt<this.ELEMENTS;++xt)if(!equals$1(this[xt],Et[xt]))return!1;return!0}exactEquals(Et){if(!Et||this.length!==Et.length)return!1;for(let xt=0;xt<this.ELEMENTS;++xt)if(this[xt]!==Et[xt])return!1;return!0}negate(){for(let Et=0;Et<this.ELEMENTS;++Et)this[Et]=-this[Et];return this.check()}lerp(Et,xt,vt){if(vt===void 0)return this.lerp(this,Et,xt);for(let bt=0;bt<this.ELEMENTS;++bt){const At=Et[bt],Ft=typeof xt=="number"?xt:xt[bt];this[bt]=At+vt*(Ft-At)}return this.check()}min(Et){for(let xt=0;xt<this.ELEMENTS;++xt)this[xt]=Math.min(Et[xt],this[xt]);return this.check()}max(Et){for(let xt=0;xt<this.ELEMENTS;++xt)this[xt]=Math.max(Et[xt],this[xt]);return this.check()}clamp(Et,xt){for(let vt=0;vt<this.ELEMENTS;++vt)this[vt]=Math.min(Math.max(this[vt],Et[vt]),xt[vt]);return this.check()}add(...Et){for(const xt of Et)for(let vt=0;vt<this.ELEMENTS;++vt)this[vt]+=xt[vt];return this.check()}subtract(...Et){for(const xt of Et)for(let vt=0;vt<this.ELEMENTS;++vt)this[vt]-=xt[vt];return this.check()}scale(Et){if(typeof Et=="number")for(let xt=0;xt<this.ELEMENTS;++xt)this[xt]*=Et;else for(let xt=0;xt<this.ELEMENTS&&xt<Et.length;++xt)this[xt]*=Et[xt];return this.check()}multiplyByScalar(Et){for(let xt=0;xt<this.ELEMENTS;++xt)this[xt]*=Et;return this.check()}check(){if(config.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let Et=this.length===this.ELEMENTS;for(let xt=0;xt<this.ELEMENTS;++xt)Et=Et&&Number.isFinite(this[xt]);return Et}sub(Et){return this.subtract(Et)}setScalar(Et){for(let xt=0;xt<this.ELEMENTS;++xt)this[xt]=Et;return this.check()}addScalar(Et){for(let xt=0;xt<this.ELEMENTS;++xt)this[xt]+=Et;return this.check()}subScalar(Et){return this.addScalar(-Et)}multiplyScalar(Et){for(let xt=0;xt<this.ELEMENTS;++xt)this[xt]*=Et;return this.check()}divideScalar(Et){return this.multiplyByScalar(1/Et)}clampScalar(Et,xt){for(let vt=0;vt<this.ELEMENTS;++vt)this[vt]=Math.min(Math.max(this[vt],Et),xt);return this.check()}get elements(){return this}}function validateVector(yt,Et){if(yt.length!==Et)return!1;for(let xt=0;xt<yt.length;++xt)if(!Number.isFinite(yt[xt]))return!1;return!0}function checkNumber(yt){if(!Number.isFinite(yt))throw new Error(`Invalid number ${JSON.stringify(yt)}`);return yt}function checkVector(yt,Et,xt=""){if(config.debug&&!validateVector(yt,Et))throw new Error(`math.gl: ${xt} some fields set to invalid numbers'`);return yt}function assert$3(yt,Et){if(!yt)throw new Error(`math.gl assertion ${Et}`)}class Vector extends MathArray{get x(){return this[0]}set x(Et){this[0]=checkNumber(Et)}get y(){return this[1]}set y(Et){this[1]=checkNumber(Et)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let Et=0;for(let xt=0;xt<this.ELEMENTS;++xt)Et+=this[xt]*this[xt];return Et}magnitudeSquared(){return this.lengthSquared()}distance(Et){return Math.sqrt(this.distanceSquared(Et))}distanceSquared(Et){let xt=0;for(let vt=0;vt<this.ELEMENTS;++vt){const bt=this[vt]-Et[vt];xt+=bt*bt}return checkNumber(xt)}dot(Et){let xt=0;for(let vt=0;vt<this.ELEMENTS;++vt)xt+=this[vt]*Et[vt];return checkNumber(xt)}normalize(){const Et=this.magnitude();if(Et!==0)for(let xt=0;xt<this.ELEMENTS;++xt)this[xt]/=Et;return this.check()}multiply(...Et){for(const xt of Et)for(let vt=0;vt<this.ELEMENTS;++vt)this[vt]*=xt[vt];return this.check()}divide(...Et){for(const xt of Et)for(let vt=0;vt<this.ELEMENTS;++vt)this[vt]/=xt[vt];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(Et){return this.distance(Et)}distanceToSquared(Et){return this.distanceSquared(Et)}getComponent(Et){return assert$3(Et>=0&&Et<this.ELEMENTS,"index is out of range"),checkNumber(this[Et])}setComponent(Et,xt){return assert$3(Et>=0&&Et<this.ELEMENTS,"index is out of range"),this[Et]=xt,this.check()}addVectors(Et,xt){return this.copy(Et).add(xt)}subVectors(Et,xt){return this.copy(Et).subtract(xt)}multiplyVectors(Et,xt){return this.copy(Et).multiply(xt)}addScaledVector(Et,xt){return this.add(new this.constructor(Et).multiplyScalar(xt))}}const EPSILON$1=1e-6;let ARRAY_TYPE=typeof Float32Array<"u"?Float32Array:Array;function create$3(){const yt=new ARRAY_TYPE(2);return ARRAY_TYPE!=Float32Array&&(yt[0]=0,yt[1]=0),yt}function add$1(yt,Et,xt){return yt[0]=Et[0]+xt[0],yt[1]=Et[1]+xt[1],yt}function negate$1(yt,Et){return yt[0]=-Et[0],yt[1]=-Et[1],yt}function lerp$1(yt,Et,xt,vt){const bt=Et[0],At=Et[1];return yt[0]=bt+vt*(xt[0]-bt),yt[1]=At+vt*(xt[1]-At),yt}function transformMat4$2(yt,Et,xt){const vt=Et[0],bt=Et[1];return yt[0]=xt[0]*vt+xt[4]*bt+xt[12],yt[1]=xt[1]*vt+xt[5]*bt+xt[13],yt}(function(){const yt=create$3();return function(Et,xt,vt,bt,At,Ft){let Ct,wt;for(xt||(xt=2),vt||(vt=0),bt?wt=Math.min(bt*xt+vt,Et.length):wt=Et.length,Ct=vt;Ct<wt;Ct+=xt)yt[0]=Et[Ct],yt[1]=Et[Ct+1],At(yt,yt,Ft),Et[Ct]=yt[0],Et[Ct+1]=yt[1];return Et}})();function vec2_transformMat4AsVector(yt,Et,xt){const vt=Et[0],bt=Et[1],At=xt[3]*vt+xt[7]*bt||1;return yt[0]=(xt[0]*vt+xt[4]*bt)/At,yt[1]=(xt[1]*vt+xt[5]*bt)/At,yt}function vec3_transformMat4AsVector(yt,Et,xt){const vt=Et[0],bt=Et[1],At=Et[2],Ft=xt[3]*vt+xt[7]*bt+xt[11]*At||1;return yt[0]=(xt[0]*vt+xt[4]*bt+xt[8]*At)/Ft,yt[1]=(xt[1]*vt+xt[5]*bt+xt[9]*At)/Ft,yt[2]=(xt[2]*vt+xt[6]*bt+xt[10]*At)/Ft,yt}function vec3_transformMat2(yt,Et,xt){const vt=Et[0],bt=Et[1];return yt[0]=xt[0]*vt+xt[2]*bt,yt[1]=xt[1]*vt+xt[3]*bt,yt[2]=Et[2],yt}function create$2(){const yt=new ARRAY_TYPE(3);return ARRAY_TYPE!=Float32Array&&(yt[0]=0,yt[1]=0,yt[2]=0),yt}function length(yt){const Et=yt[0],xt=yt[1],vt=yt[2];return Math.sqrt(Et*Et+xt*xt+vt*vt)}function subtract(yt,Et,xt){return yt[0]=Et[0]-xt[0],yt[1]=Et[1]-xt[1],yt[2]=Et[2]-xt[2],yt}function squaredLength(yt){const Et=yt[0],xt=yt[1],vt=yt[2];return Et*Et+xt*xt+vt*vt}function negate(yt,Et){return yt[0]=-Et[0],yt[1]=-Et[1],yt[2]=-Et[2],yt}function dot(yt,Et){return yt[0]*Et[0]+yt[1]*Et[1]+yt[2]*Et[2]}function cross(yt,Et,xt){const vt=Et[0],bt=Et[1],At=Et[2],Ft=xt[0],Ct=xt[1],wt=xt[2];return yt[0]=bt*wt-At*Ct,yt[1]=At*Ft-vt*wt,yt[2]=vt*Ct-bt*Ft,yt}function lerp(yt,Et,xt,vt){const bt=Et[0],At=Et[1],Ft=Et[2];return yt[0]=bt+vt*(xt[0]-bt),yt[1]=At+vt*(xt[1]-At),yt[2]=Ft+vt*(xt[2]-Ft),yt}function transformMat4$1(yt,Et,xt){const vt=Et[0],bt=Et[1],At=Et[2];let Ft=xt[3]*vt+xt[7]*bt+xt[11]*At+xt[15];return Ft=Ft||1,yt[0]=(xt[0]*vt+xt[4]*bt+xt[8]*At+xt[12])/Ft,yt[1]=(xt[1]*vt+xt[5]*bt+xt[9]*At+xt[13])/Ft,yt[2]=(xt[2]*vt+xt[6]*bt+xt[10]*At+xt[14])/Ft,yt}function transformMat3(yt,Et,xt){const vt=Et[0],bt=Et[1],At=Et[2];return yt[0]=vt*xt[0]+bt*xt[3]+At*xt[6],yt[1]=vt*xt[1]+bt*xt[4]+At*xt[7],yt[2]=vt*xt[2]+bt*xt[5]+At*xt[8],yt}function transformQuat(yt,Et,xt){const vt=xt[0],bt=xt[1],At=xt[2],Ft=xt[3],Ct=Et[0],wt=Et[1],St=Et[2];let Tt=bt*St-At*wt,Rt=At*Ct-vt*St,Pt=vt*wt-bt*Ct,Lt=bt*Pt-At*Rt,kt=At*Tt-vt*Pt,Ot=vt*Rt-bt*Tt;const Mt=Ft*2;return Tt*=Mt,Rt*=Mt,Pt*=Mt,Lt*=2,kt*=2,Ot*=2,yt[0]=Ct+Tt+Lt,yt[1]=wt+Rt+kt,yt[2]=St+Pt+Ot,yt}function rotateX$1(yt,Et,xt,vt){const bt=[],At=[];return bt[0]=Et[0]-xt[0],bt[1]=Et[1]-xt[1],bt[2]=Et[2]-xt[2],At[0]=bt[0],At[1]=bt[1]*Math.cos(vt)-bt[2]*Math.sin(vt),At[2]=bt[1]*Math.sin(vt)+bt[2]*Math.cos(vt),yt[0]=At[0]+xt[0],yt[1]=At[1]+xt[1],yt[2]=At[2]+xt[2],yt}function rotateY$1(yt,Et,xt,vt){const bt=[],At=[];return bt[0]=Et[0]-xt[0],bt[1]=Et[1]-xt[1],bt[2]=Et[2]-xt[2],At[0]=bt[2]*Math.sin(vt)+bt[0]*Math.cos(vt),At[1]=bt[1],At[2]=bt[2]*Math.cos(vt)-bt[0]*Math.sin(vt),yt[0]=At[0]+xt[0],yt[1]=At[1]+xt[1],yt[2]=At[2]+xt[2],yt}function rotateZ$1(yt,Et,xt,vt){const bt=[],At=[];return bt[0]=Et[0]-xt[0],bt[1]=Et[1]-xt[1],bt[2]=Et[2]-xt[2],At[0]=bt[0]*Math.cos(vt)-bt[1]*Math.sin(vt),At[1]=bt[0]*Math.sin(vt)+bt[1]*Math.cos(vt),At[2]=bt[2],yt[0]=At[0]+xt[0],yt[1]=At[1]+xt[1],yt[2]=At[2]+xt[2],yt}function angle(yt,Et){const xt=yt[0],vt=yt[1],bt=yt[2],At=Et[0],Ft=Et[1],Ct=Et[2],wt=Math.sqrt((xt*xt+vt*vt+bt*bt)*(At*At+Ft*Ft+Ct*Ct)),St=wt&&dot(yt,Et)/wt;return Math.acos(Math.min(Math.max(St,-1),1))}const sub=subtract,len=length,sqrLen=squaredLength;(function(){const yt=create$2();return function(Et,xt,vt,bt,At,Ft){let Ct,wt;for(xt||(xt=3),vt||(vt=0),bt?wt=Math.min(bt*xt+vt,Et.length):wt=Et.length,Ct=vt;Ct<wt;Ct+=xt)yt[0]=Et[Ct],yt[1]=Et[Ct+1],yt[2]=Et[Ct+2],At(yt,yt,Ft),Et[Ct]=yt[0],Et[Ct+1]=yt[1],Et[Ct+2]=yt[2];return Et}})();const ORIGIN=[0,0,0];let ZERO$1;class Vector3 extends Vector{static get ZERO(){return ZERO$1||(ZERO$1=new Vector3(0,0,0),Object.freeze(ZERO$1)),ZERO$1}constructor(Et=0,xt=0,vt=0){super(-0,-0,-0),arguments.length===1&&isArray$3(Et)?this.copy(Et):(config.debug&&(checkNumber(Et),checkNumber(xt),checkNumber(vt)),this[0]=Et,this[1]=xt,this[2]=vt)}set(Et,xt,vt){return this[0]=Et,this[1]=xt,this[2]=vt,this.check()}copy(Et){return this[0]=Et[0],this[1]=Et[1],this[2]=Et[2],this.check()}fromObject(Et){return config.debug&&(checkNumber(Et.x),checkNumber(Et.y),checkNumber(Et.z)),this[0]=Et.x,this[1]=Et.y,this[2]=Et.z,this.check()}toObject(Et){return Et.x=this[0],Et.y=this[1],Et.z=this[2],Et}get ELEMENTS(){return 3}get z(){return this[2]}set z(Et){this[2]=checkNumber(Et)}angle(Et){return angle(this,Et)}cross(Et){return cross(this,this,Et),this.check()}rotateX({radians:Et,origin:xt=ORIGIN}){return rotateX$1(this,this,xt,Et),this.check()}rotateY({radians:Et,origin:xt=ORIGIN}){return rotateY$1(this,this,xt,Et),this.check()}rotateZ({radians:Et,origin:xt=ORIGIN}){return rotateZ$1(this,this,xt,Et),this.check()}transform(Et){return this.transformAsPoint(Et)}transformAsPoint(Et){return transformMat4$1(this,this,Et),this.check()}transformAsVector(Et){return vec3_transformMat4AsVector(this,this,Et),this.check()}transformByMatrix3(Et){return transformMat3(this,this,Et),this.check()}transformByMatrix2(Et){return vec3_transformMat2(this,this,Et),this.check()}transformByQuaternion(Et){return transformQuat(this,this,Et),this.check()}}class Matrix extends MathArray{toString(){let Et="[";if(config.printRowMajor){Et+="row-major:";for(let xt=0;xt<this.RANK;++xt)for(let vt=0;vt<this.RANK;++vt)Et+=` ${this[vt*this.RANK+xt]}`}else{Et+="column-major:";for(let xt=0;xt<this.ELEMENTS;++xt)Et+=` ${this[xt]}`}return Et+="]",Et}getElementIndex(Et,xt){return xt*this.RANK+Et}getElement(Et,xt){return this[xt*this.RANK+Et]}setElement(Et,xt,vt){return this[xt*this.RANK+Et]=checkNumber(vt),this}getColumn(Et,xt=new Array(this.RANK).fill(-0)){const vt=Et*this.RANK;for(let bt=0;bt<this.RANK;++bt)xt[bt]=this[vt+bt];return xt}setColumn(Et,xt){const vt=Et*this.RANK;for(let bt=0;bt<this.RANK;++bt)this[vt+bt]=xt[bt];return this}}function identity(yt){return yt[0]=1,yt[1]=0,yt[2]=0,yt[3]=0,yt[4]=0,yt[5]=1,yt[6]=0,yt[7]=0,yt[8]=0,yt[9]=0,yt[10]=1,yt[11]=0,yt[12]=0,yt[13]=0,yt[14]=0,yt[15]=1,yt}function transpose(yt,Et){if(yt===Et){const xt=Et[1],vt=Et[2],bt=Et[3],At=Et[6],Ft=Et[7],Ct=Et[11];yt[1]=Et[4],yt[2]=Et[8],yt[3]=Et[12],yt[4]=xt,yt[6]=Et[9],yt[7]=Et[13],yt[8]=vt,yt[9]=At,yt[11]=Et[14],yt[12]=bt,yt[13]=Ft,yt[14]=Ct}else yt[0]=Et[0],yt[1]=Et[4],yt[2]=Et[8],yt[3]=Et[12],yt[4]=Et[1],yt[5]=Et[5],yt[6]=Et[9],yt[7]=Et[13],yt[8]=Et[2],yt[9]=Et[6],yt[10]=Et[10],yt[11]=Et[14],yt[12]=Et[3],yt[13]=Et[7],yt[14]=Et[11],yt[15]=Et[15];return yt}function invert(yt,Et){const xt=Et[0],vt=Et[1],bt=Et[2],At=Et[3],Ft=Et[4],Ct=Et[5],wt=Et[6],St=Et[7],Tt=Et[8],Rt=Et[9],Pt=Et[10],Lt=Et[11],kt=Et[12],Ot=Et[13],Mt=Et[14],It=Et[15],Nt=xt*Ct-vt*Ft,Ut=xt*wt-bt*Ft,jt=xt*St-At*Ft,Vt=vt*wt-bt*Ct,zt=vt*St-At*Ct,Ht=bt*St-At*wt,Wt=Tt*Ot-Rt*kt,Gt=Tt*Mt-Pt*kt,qt=Tt*It-Lt*kt,Xt=Rt*Mt-Pt*Ot,Kt=Rt*It-Lt*Ot,Jt=Pt*It-Lt*Mt;let tn=Nt*Jt-Ut*Kt+jt*Xt+Vt*qt-zt*Gt+Ht*Wt;return tn?(tn=1/tn,yt[0]=(Ct*Jt-wt*Kt+St*Xt)*tn,yt[1]=(bt*Kt-vt*Jt-At*Xt)*tn,yt[2]=(Ot*Ht-Mt*zt+It*Vt)*tn,yt[3]=(Pt*zt-Rt*Ht-Lt*Vt)*tn,yt[4]=(wt*qt-Ft*Jt-St*Gt)*tn,yt[5]=(xt*Jt-bt*qt+At*Gt)*tn,yt[6]=(Mt*jt-kt*Ht-It*Ut)*tn,yt[7]=(Tt*Ht-Pt*jt+Lt*Ut)*tn,yt[8]=(Ft*Kt-Ct*qt+St*Wt)*tn,yt[9]=(vt*qt-xt*Kt-At*Wt)*tn,yt[10]=(kt*zt-Ot*jt+It*Nt)*tn,yt[11]=(Rt*jt-Tt*zt-Lt*Nt)*tn,yt[12]=(Ct*Gt-Ft*Xt-wt*Wt)*tn,yt[13]=(xt*Xt-vt*Gt+bt*Wt)*tn,yt[14]=(Ot*Ut-kt*Vt-Mt*Nt)*tn,yt[15]=(Tt*Vt-Rt*Ut+Pt*Nt)*tn,yt):null}function determinant(yt){const Et=yt[0],xt=yt[1],vt=yt[2],bt=yt[3],At=yt[4],Ft=yt[5],Ct=yt[6],wt=yt[7],St=yt[8],Tt=yt[9],Rt=yt[10],Pt=yt[11],Lt=yt[12],kt=yt[13],Ot=yt[14],Mt=yt[15],It=Et*Ft-xt*At,Nt=Et*Ct-vt*At,Ut=xt*Ct-vt*Ft,jt=St*kt-Tt*Lt,Vt=St*Ot-Rt*Lt,zt=Tt*Ot-Rt*kt,Ht=Et*zt-xt*Vt+vt*jt,Wt=At*zt-Ft*Vt+Ct*jt,Gt=St*Ut-Tt*Nt+Rt*It,qt=Lt*Ut-kt*Nt+Ot*It;return wt*Ht-bt*Wt+Mt*Gt-Pt*qt}function multiply(yt,Et,xt){const vt=Et[0],bt=Et[1],At=Et[2],Ft=Et[3],Ct=Et[4],wt=Et[5],St=Et[6],Tt=Et[7],Rt=Et[8],Pt=Et[9],Lt=Et[10],kt=Et[11],Ot=Et[12],Mt=Et[13],It=Et[14],Nt=Et[15];let Ut=xt[0],jt=xt[1],Vt=xt[2],zt=xt[3];return yt[0]=Ut*vt+jt*Ct+Vt*Rt+zt*Ot,yt[1]=Ut*bt+jt*wt+Vt*Pt+zt*Mt,yt[2]=Ut*At+jt*St+Vt*Lt+zt*It,yt[3]=Ut*Ft+jt*Tt+Vt*kt+zt*Nt,Ut=xt[4],jt=xt[5],Vt=xt[6],zt=xt[7],yt[4]=Ut*vt+jt*Ct+Vt*Rt+zt*Ot,yt[5]=Ut*bt+jt*wt+Vt*Pt+zt*Mt,yt[6]=Ut*At+jt*St+Vt*Lt+zt*It,yt[7]=Ut*Ft+jt*Tt+Vt*kt+zt*Nt,Ut=xt[8],jt=xt[9],Vt=xt[10],zt=xt[11],yt[8]=Ut*vt+jt*Ct+Vt*Rt+zt*Ot,yt[9]=Ut*bt+jt*wt+Vt*Pt+zt*Mt,yt[10]=Ut*At+jt*St+Vt*Lt+zt*It,yt[11]=Ut*Ft+jt*Tt+Vt*kt+zt*Nt,Ut=xt[12],jt=xt[13],Vt=xt[14],zt=xt[15],yt[12]=Ut*vt+jt*Ct+Vt*Rt+zt*Ot,yt[13]=Ut*bt+jt*wt+Vt*Pt+zt*Mt,yt[14]=Ut*At+jt*St+Vt*Lt+zt*It,yt[15]=Ut*Ft+jt*Tt+Vt*kt+zt*Nt,yt}function translate(yt,Et,xt){const vt=xt[0],bt=xt[1],At=xt[2];let Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt,It;return Et===yt?(yt[12]=Et[0]*vt+Et[4]*bt+Et[8]*At+Et[12],yt[13]=Et[1]*vt+Et[5]*bt+Et[9]*At+Et[13],yt[14]=Et[2]*vt+Et[6]*bt+Et[10]*At+Et[14],yt[15]=Et[3]*vt+Et[7]*bt+Et[11]*At+Et[15]):(Ft=Et[0],Ct=Et[1],wt=Et[2],St=Et[3],Tt=Et[4],Rt=Et[5],Pt=Et[6],Lt=Et[7],kt=Et[8],Ot=Et[9],Mt=Et[10],It=Et[11],yt[0]=Ft,yt[1]=Ct,yt[2]=wt,yt[3]=St,yt[4]=Tt,yt[5]=Rt,yt[6]=Pt,yt[7]=Lt,yt[8]=kt,yt[9]=Ot,yt[10]=Mt,yt[11]=It,yt[12]=Ft*vt+Tt*bt+kt*At+Et[12],yt[13]=Ct*vt+Rt*bt+Ot*At+Et[13],yt[14]=wt*vt+Pt*bt+Mt*At+Et[14],yt[15]=St*vt+Lt*bt+It*At+Et[15]),yt}function scale$1(yt,Et,xt){const vt=xt[0],bt=xt[1],At=xt[2];return yt[0]=Et[0]*vt,yt[1]=Et[1]*vt,yt[2]=Et[2]*vt,yt[3]=Et[3]*vt,yt[4]=Et[4]*bt,yt[5]=Et[5]*bt,yt[6]=Et[6]*bt,yt[7]=Et[7]*bt,yt[8]=Et[8]*At,yt[9]=Et[9]*At,yt[10]=Et[10]*At,yt[11]=Et[11]*At,yt[12]=Et[12],yt[13]=Et[13],yt[14]=Et[14],yt[15]=Et[15],yt}function rotate(yt,Et,xt,vt){let bt=vt[0],At=vt[1],Ft=vt[2],Ct=Math.sqrt(bt*bt+At*At+Ft*Ft),wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt,It,Nt,Ut,jt,Vt,zt,Ht,Wt,Gt,qt,Xt,Kt,Jt,tn,sn;return Ct<EPSILON$1?null:(Ct=1/Ct,bt*=Ct,At*=Ct,Ft*=Ct,St=Math.sin(xt),wt=Math.cos(xt),Tt=1-wt,Rt=Et[0],Pt=Et[1],Lt=Et[2],kt=Et[3],Ot=Et[4],Mt=Et[5],It=Et[6],Nt=Et[7],Ut=Et[8],jt=Et[9],Vt=Et[10],zt=Et[11],Ht=bt*bt*Tt+wt,Wt=At*bt*Tt+Ft*St,Gt=Ft*bt*Tt-At*St,qt=bt*At*Tt-Ft*St,Xt=At*At*Tt+wt,Kt=Ft*At*Tt+bt*St,Jt=bt*Ft*Tt+At*St,tn=At*Ft*Tt-bt*St,sn=Ft*Ft*Tt+wt,yt[0]=Rt*Ht+Ot*Wt+Ut*Gt,yt[1]=Pt*Ht+Mt*Wt+jt*Gt,yt[2]=Lt*Ht+It*Wt+Vt*Gt,yt[3]=kt*Ht+Nt*Wt+zt*Gt,yt[4]=Rt*qt+Ot*Xt+Ut*Kt,yt[5]=Pt*qt+Mt*Xt+jt*Kt,yt[6]=Lt*qt+It*Xt+Vt*Kt,yt[7]=kt*qt+Nt*Xt+zt*Kt,yt[8]=Rt*Jt+Ot*tn+Ut*sn,yt[9]=Pt*Jt+Mt*tn+jt*sn,yt[10]=Lt*Jt+It*tn+Vt*sn,yt[11]=kt*Jt+Nt*tn+zt*sn,Et!==yt&&(yt[12]=Et[12],yt[13]=Et[13],yt[14]=Et[14],yt[15]=Et[15]),yt)}function rotateX(yt,Et,xt){const vt=Math.sin(xt),bt=Math.cos(xt),At=Et[4],Ft=Et[5],Ct=Et[6],wt=Et[7],St=Et[8],Tt=Et[9],Rt=Et[10],Pt=Et[11];return Et!==yt&&(yt[0]=Et[0],yt[1]=Et[1],yt[2]=Et[2],yt[3]=Et[3],yt[12]=Et[12],yt[13]=Et[13],yt[14]=Et[14],yt[15]=Et[15]),yt[4]=At*bt+St*vt,yt[5]=Ft*bt+Tt*vt,yt[6]=Ct*bt+Rt*vt,yt[7]=wt*bt+Pt*vt,yt[8]=St*bt-At*vt,yt[9]=Tt*bt-Ft*vt,yt[10]=Rt*bt-Ct*vt,yt[11]=Pt*bt-wt*vt,yt}function rotateY(yt,Et,xt){const vt=Math.sin(xt),bt=Math.cos(xt),At=Et[0],Ft=Et[1],Ct=Et[2],wt=Et[3],St=Et[8],Tt=Et[9],Rt=Et[10],Pt=Et[11];return Et!==yt&&(yt[4]=Et[4],yt[5]=Et[5],yt[6]=Et[6],yt[7]=Et[7],yt[12]=Et[12],yt[13]=Et[13],yt[14]=Et[14],yt[15]=Et[15]),yt[0]=At*bt-St*vt,yt[1]=Ft*bt-Tt*vt,yt[2]=Ct*bt-Rt*vt,yt[3]=wt*bt-Pt*vt,yt[8]=At*vt+St*bt,yt[9]=Ft*vt+Tt*bt,yt[10]=Ct*vt+Rt*bt,yt[11]=wt*vt+Pt*bt,yt}function rotateZ(yt,Et,xt){const vt=Math.sin(xt),bt=Math.cos(xt),At=Et[0],Ft=Et[1],Ct=Et[2],wt=Et[3],St=Et[4],Tt=Et[5],Rt=Et[6],Pt=Et[7];return Et!==yt&&(yt[8]=Et[8],yt[9]=Et[9],yt[10]=Et[10],yt[11]=Et[11],yt[12]=Et[12],yt[13]=Et[13],yt[14]=Et[14],yt[15]=Et[15]),yt[0]=At*bt+St*vt,yt[1]=Ft*bt+Tt*vt,yt[2]=Ct*bt+Rt*vt,yt[3]=wt*bt+Pt*vt,yt[4]=St*bt-At*vt,yt[5]=Tt*bt-Ft*vt,yt[6]=Rt*bt-Ct*vt,yt[7]=Pt*bt-wt*vt,yt}function fromQuat(yt,Et){const xt=Et[0],vt=Et[1],bt=Et[2],At=Et[3],Ft=xt+xt,Ct=vt+vt,wt=bt+bt,St=xt*Ft,Tt=vt*Ft,Rt=vt*Ct,Pt=bt*Ft,Lt=bt*Ct,kt=bt*wt,Ot=At*Ft,Mt=At*Ct,It=At*wt;return yt[0]=1-Rt-kt,yt[1]=Tt+It,yt[2]=Pt-Mt,yt[3]=0,yt[4]=Tt-It,yt[5]=1-St-kt,yt[6]=Lt+Ot,yt[7]=0,yt[8]=Pt+Mt,yt[9]=Lt-Ot,yt[10]=1-St-Rt,yt[11]=0,yt[12]=0,yt[13]=0,yt[14]=0,yt[15]=1,yt}function frustum(yt,Et,xt,vt,bt,At,Ft){const Ct=1/(xt-Et),wt=1/(bt-vt),St=1/(At-Ft);return yt[0]=At*2*Ct,yt[1]=0,yt[2]=0,yt[3]=0,yt[4]=0,yt[5]=At*2*wt,yt[6]=0,yt[7]=0,yt[8]=(xt+Et)*Ct,yt[9]=(bt+vt)*wt,yt[10]=(Ft+At)*St,yt[11]=-1,yt[12]=0,yt[13]=0,yt[14]=Ft*At*2*St,yt[15]=0,yt}function perspectiveNO(yt,Et,xt,vt,bt){const At=1/Math.tan(Et/2);if(yt[0]=At/xt,yt[1]=0,yt[2]=0,yt[3]=0,yt[4]=0,yt[5]=At,yt[6]=0,yt[7]=0,yt[8]=0,yt[9]=0,yt[11]=-1,yt[12]=0,yt[13]=0,yt[15]=0,bt!=null&&bt!==1/0){const Ft=1/(vt-bt);yt[10]=(bt+vt)*Ft,yt[14]=2*bt*vt*Ft}else yt[10]=-1,yt[14]=-2*vt;return yt}const perspective=perspectiveNO;function orthoNO(yt,Et,xt,vt,bt,At,Ft){const Ct=1/(Et-xt),wt=1/(vt-bt),St=1/(At-Ft);return yt[0]=-2*Ct,yt[1]=0,yt[2]=0,yt[3]=0,yt[4]=0,yt[5]=-2*wt,yt[6]=0,yt[7]=0,yt[8]=0,yt[9]=0,yt[10]=2*St,yt[11]=0,yt[12]=(Et+xt)*Ct,yt[13]=(bt+vt)*wt,yt[14]=(Ft+At)*St,yt[15]=1,yt}const ortho=orthoNO;function lookAt(yt,Et,xt,vt){let bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt;const kt=Et[0],Ot=Et[1],Mt=Et[2],It=vt[0],Nt=vt[1],Ut=vt[2],jt=xt[0],Vt=xt[1],zt=xt[2];return Math.abs(kt-jt)<EPSILON$1&&Math.abs(Ot-Vt)<EPSILON$1&&Math.abs(Mt-zt)<EPSILON$1?identity(yt):(Rt=kt-jt,Pt=Ot-Vt,Lt=Mt-zt,bt=1/Math.sqrt(Rt*Rt+Pt*Pt+Lt*Lt),Rt*=bt,Pt*=bt,Lt*=bt,At=Nt*Lt-Ut*Pt,Ft=Ut*Rt-It*Lt,Ct=It*Pt-Nt*Rt,bt=Math.sqrt(At*At+Ft*Ft+Ct*Ct),bt?(bt=1/bt,At*=bt,Ft*=bt,Ct*=bt):(At=0,Ft=0,Ct=0),wt=Pt*Ct-Lt*Ft,St=Lt*At-Rt*Ct,Tt=Rt*Ft-Pt*At,bt=Math.sqrt(wt*wt+St*St+Tt*Tt),bt?(bt=1/bt,wt*=bt,St*=bt,Tt*=bt):(wt=0,St=0,Tt=0),yt[0]=At,yt[1]=wt,yt[2]=Rt,yt[3]=0,yt[4]=Ft,yt[5]=St,yt[6]=Pt,yt[7]=0,yt[8]=Ct,yt[9]=Tt,yt[10]=Lt,yt[11]=0,yt[12]=-(At*kt+Ft*Ot+Ct*Mt),yt[13]=-(wt*kt+St*Ot+Tt*Mt),yt[14]=-(Rt*kt+Pt*Ot+Lt*Mt),yt[15]=1,yt)}function create$1(){const yt=new ARRAY_TYPE(4);return ARRAY_TYPE!=Float32Array&&(yt[0]=0,yt[1]=0,yt[2]=0,yt[3]=0),yt}function scale(yt,Et,xt){return yt[0]=Et[0]*xt,yt[1]=Et[1]*xt,yt[2]=Et[2]*xt,yt[3]=Et[3]*xt,yt}function transformMat4(yt,Et,xt){const vt=Et[0],bt=Et[1],At=Et[2],Ft=Et[3];return yt[0]=xt[0]*vt+xt[4]*bt+xt[8]*At+xt[12]*Ft,yt[1]=xt[1]*vt+xt[5]*bt+xt[9]*At+xt[13]*Ft,yt[2]=xt[2]*vt+xt[6]*bt+xt[10]*At+xt[14]*Ft,yt[3]=xt[3]*vt+xt[7]*bt+xt[11]*At+xt[15]*Ft,yt}(function(){const yt=create$1();return function(Et,xt,vt,bt,At,Ft){let Ct,wt;for(xt||(xt=4),vt||(vt=0),bt?wt=Math.min(bt*xt+vt,Et.length):wt=Et.length,Ct=vt;Ct<wt;Ct+=xt)yt[0]=Et[Ct],yt[1]=Et[Ct+1],yt[2]=Et[Ct+2],yt[3]=Et[Ct+3],At(yt,yt,Ft),Et[Ct]=yt[0],Et[Ct+1]=yt[1],Et[Ct+2]=yt[2],Et[Ct+3]=yt[3];return Et}})();var INDICES;(function(yt){yt[yt.COL0ROW0=0]="COL0ROW0",yt[yt.COL0ROW1=1]="COL0ROW1",yt[yt.COL0ROW2=2]="COL0ROW2",yt[yt.COL0ROW3=3]="COL0ROW3",yt[yt.COL1ROW0=4]="COL1ROW0",yt[yt.COL1ROW1=5]="COL1ROW1",yt[yt.COL1ROW2=6]="COL1ROW2",yt[yt.COL1ROW3=7]="COL1ROW3",yt[yt.COL2ROW0=8]="COL2ROW0",yt[yt.COL2ROW1=9]="COL2ROW1",yt[yt.COL2ROW2=10]="COL2ROW2",yt[yt.COL2ROW3=11]="COL2ROW3",yt[yt.COL3ROW0=12]="COL3ROW0",yt[yt.COL3ROW1=13]="COL3ROW1",yt[yt.COL3ROW2=14]="COL3ROW2",yt[yt.COL3ROW3=15]="COL3ROW3"})(INDICES||(INDICES={}));const DEFAULT_FOVY=45*Math.PI/180,DEFAULT_ASPECT=1,DEFAULT_NEAR=.1,DEFAULT_FAR=500,IDENTITY_MATRIX$1=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);class Matrix4 extends Matrix{static get IDENTITY(){return getIdentityMatrix()}static get ZERO(){return getZeroMatrix()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return INDICES}constructor(Et){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(Et)?this.copy(Et):this.identity()}copy(Et){return this[0]=Et[0],this[1]=Et[1],this[2]=Et[2],this[3]=Et[3],this[4]=Et[4],this[5]=Et[5],this[6]=Et[6],this[7]=Et[7],this[8]=Et[8],this[9]=Et[9],this[10]=Et[10],this[11]=Et[11],this[12]=Et[12],this[13]=Et[13],this[14]=Et[14],this[15]=Et[15],this.check()}set(Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt){return this[0]=Et,this[1]=xt,this[2]=vt,this[3]=bt,this[4]=At,this[5]=Ft,this[6]=Ct,this[7]=wt,this[8]=St,this[9]=Tt,this[10]=Rt,this[11]=Pt,this[12]=Lt,this[13]=kt,this[14]=Ot,this[15]=Mt,this.check()}setRowMajor(Et,xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt){return this[0]=Et,this[1]=At,this[2]=St,this[3]=Lt,this[4]=xt,this[5]=Ft,this[6]=Tt,this[7]=kt,this[8]=vt,this[9]=Ct,this[10]=Rt,this[11]=Ot,this[12]=bt,this[13]=wt,this[14]=Pt,this[15]=Mt,this.check()}toRowMajor(Et){return Et[0]=this[0],Et[1]=this[4],Et[2]=this[8],Et[3]=this[12],Et[4]=this[1],Et[5]=this[5],Et[6]=this[9],Et[7]=this[13],Et[8]=this[2],Et[9]=this[6],Et[10]=this[10],Et[11]=this[14],Et[12]=this[3],Et[13]=this[7],Et[14]=this[11],Et[15]=this[15],Et}identity(){return this.copy(IDENTITY_MATRIX$1)}fromObject(Et){return this.check()}fromQuaternion(Et){return fromQuat(this,Et),this.check()}frustum(Et){const{left:xt,right:vt,bottom:bt,top:At,near:Ft=DEFAULT_NEAR,far:Ct=DEFAULT_FAR}=Et;return Ct===1/0?computeInfinitePerspectiveOffCenter(this,xt,vt,bt,At,Ft):frustum(this,xt,vt,bt,At,Ft,Ct),this.check()}lookAt(Et){const{eye:xt,center:vt=[0,0,0],up:bt=[0,1,0]}=Et;return lookAt(this,xt,vt,bt),this.check()}ortho(Et){const{left:xt,right:vt,bottom:bt,top:At,near:Ft=DEFAULT_NEAR,far:Ct=DEFAULT_FAR}=Et;return ortho(this,xt,vt,bt,At,Ft,Ct),this.check()}orthographic(Et){const{fovy:xt=DEFAULT_FOVY,aspect:vt=DEFAULT_ASPECT,focalDistance:bt=1,near:At=DEFAULT_NEAR,far:Ft=DEFAULT_FAR}=Et;checkRadians(xt);const Ct=xt/2,wt=bt*Math.tan(Ct),St=wt*vt;return this.ortho({left:-St,right:St,bottom:-wt,top:wt,near:At,far:Ft})}perspective(Et){const{fovy:xt=45*Math.PI/180,aspect:vt=1,near:bt=.1,far:At=500}=Et;return checkRadians(xt),perspective(this,xt,vt,bt,At),this.check()}determinant(){return determinant(this)}getScale(Et=[-0,-0,-0]){return Et[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),Et[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),Et[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),Et}getTranslation(Et=[-0,-0,-0]){return Et[0]=this[12],Et[1]=this[13],Et[2]=this[14],Et}getRotation(Et,xt){Et=Et||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],xt=xt||[-0,-0,-0];const vt=this.getScale(xt),bt=1/vt[0],At=1/vt[1],Ft=1/vt[2];return Et[0]=this[0]*bt,Et[1]=this[1]*At,Et[2]=this[2]*Ft,Et[3]=0,Et[4]=this[4]*bt,Et[5]=this[5]*At,Et[6]=this[6]*Ft,Et[7]=0,Et[8]=this[8]*bt,Et[9]=this[9]*At,Et[10]=this[10]*Ft,Et[11]=0,Et[12]=0,Et[13]=0,Et[14]=0,Et[15]=1,Et}getRotationMatrix3(Et,xt){Et=Et||[-0,-0,-0,-0,-0,-0,-0,-0,-0],xt=xt||[-0,-0,-0];const vt=this.getScale(xt),bt=1/vt[0],At=1/vt[1],Ft=1/vt[2];return Et[0]=this[0]*bt,Et[1]=this[1]*At,Et[2]=this[2]*Ft,Et[3]=this[4]*bt,Et[4]=this[5]*At,Et[5]=this[6]*Ft,Et[6]=this[8]*bt,Et[7]=this[9]*At,Et[8]=this[10]*Ft,Et}transpose(){return transpose(this,this),this.check()}invert(){return invert(this,this),this.check()}multiplyLeft(Et){return multiply(this,Et,this),this.check()}multiplyRight(Et){return multiply(this,this,Et),this.check()}rotateX(Et){return rotateX(this,this,Et),this.check()}rotateY(Et){return rotateY(this,this,Et),this.check()}rotateZ(Et){return rotateZ(this,this,Et),this.check()}rotateXYZ(Et){return this.rotateX(Et[0]).rotateY(Et[1]).rotateZ(Et[2])}rotateAxis(Et,xt){return rotate(this,this,Et,xt),this.check()}scale(Et){return scale$1(this,this,Array.isArray(Et)?Et:[Et,Et,Et]),this.check()}translate(Et){return translate(this,this,Et),this.check()}transform(Et,xt){return Et.length===4?(xt=transformMat4(xt||[-0,-0,-0,-0],Et,this),checkVector(xt,4),xt):this.transformAsPoint(Et,xt)}transformAsPoint(Et,xt){const{length:vt}=Et;let bt;switch(vt){case 2:bt=transformMat4$2(xt||[-0,-0],Et,this);break;case 3:bt=transformMat4$1(xt||[-0,-0,-0],Et,this);break;default:throw new Error("Illegal vector")}return checkVector(bt,Et.length),bt}transformAsVector(Et,xt){let vt;switch(Et.length){case 2:vt=vec2_transformMat4AsVector(xt||[-0,-0],Et,this);break;case 3:vt=vec3_transformMat4AsVector(xt||[-0,-0,-0],Et,this);break;default:throw new Error("Illegal vector")}return checkVector(vt,Et.length),vt}transformPoint(Et,xt){return this.transformAsPoint(Et,xt)}transformVector(Et,xt){return this.transformAsPoint(Et,xt)}transformDirection(Et,xt){return this.transformAsVector(Et,xt)}makeRotationX(Et){return this.identity().rotateX(Et)}makeTranslation(Et,xt,vt){return this.identity().translate([Et,xt,vt])}}let ZERO,IDENTITY$1;function getZeroMatrix(){return ZERO||(ZERO=new Matrix4([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(ZERO)),ZERO}function getIdentityMatrix(){return IDENTITY$1||(IDENTITY$1=new Matrix4,Object.freeze(IDENTITY$1)),IDENTITY$1}function checkRadians(yt){if(yt>Math.PI*2)throw Error("expected radians")}function computeInfinitePerspectiveOffCenter(yt,Et,xt,vt,bt,At){const Ft=2*At/(xt-Et),Ct=2*At/(bt-vt),wt=(xt+Et)/(xt-Et),St=(bt+vt)/(bt-vt),Tt=-1,Rt=-1,Pt=-2*At;return yt[0]=Ft,yt[1]=0,yt[2]=0,yt[3]=0,yt[4]=0,yt[5]=Ct,yt[6]=0,yt[7]=0,yt[8]=wt,yt[9]=St,yt[10]=Tt,yt[11]=Rt,yt[12]=0,yt[13]=0,yt[14]=Pt,yt[15]=0,yt}function fp64ify(yt,Et=[],xt=0){const vt=Math.fround(yt),bt=yt-vt;return Et[xt]=vt,Et[xt+1]=bt,Et}function fp64LowPart$1(yt){return yt-Math.fround(yt)}function fp64ifyMatrix4(yt){const Et=new Float32Array(32);for(let xt=0;xt<4;++xt)for(let vt=0;vt<4;++vt){const bt=xt*4+vt;fp64ify(yt[vt*4+xt],Et,bt*2)}return Et}const fp32shader=`#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND
187
187
 
188
188
  // All these functions are for substituting tan() function from Intel GPU only
189
189
  const float TWO_PI = 6.2831854820251465;
@@ -2980,7 +2980,7 @@ Please report this to https://github.com/markedjs/marked.`,yt){let vt="<p>An err
2980
2980
  `)[0];return yt.measureText(vt).width+2*xt.cellHorizontalPadding},draw:yt=>drawTextCell(yt,yt.cell.data,yt.cell.contentAlign),onDelete:yt=>({...yt,data:""}),provideEditor:()=>yt=>{const{onChange:Et,value:xt,target:vt,onFinishedEditing:bt,markdownDivCreateNode:At,forceEditMode:Ft,validatedSelection:Ct}=yt;return reactExports.createElement(MarkdownOverlayEditor,{onFinish:bt,targetRect:vt,value:xt,validatedSelection:Ct,onChange:wt=>Et({...xt,data:wt.target.value}),forceEditMode:Ft,createNode:At})},onPaste:(yt,Et)=>yt===Et.data?void 0:{...Et,data:yt}},markerCellRenderer={getAccessibilityString:yt=>yt.row.toString(),kind:InnerGridCellKind.Marker,needsHover:!0,needsHoverPosition:!1,drawPrep:prepMarkerRowCell,measure:()=>44,draw:yt=>drawMarkerRowCell(yt,yt.cell.row,yt.cell.checked,yt.cell.markerKind,yt.cell.drawHandle,yt.cell.checkboxStyle),onClick:yt=>{const{bounds:Et,cell:xt,posX:vt,posY:bt}=yt,{width:At,height:Ft}=Et,Ct=xt.drawHandle?7+(At-7)/2:At/2,wt=Ft/2;if(Math.abs(vt-Ct)<=10&&Math.abs(bt-wt)<=10)return{...xt,checked:!xt.checked}},onPaste:()=>{}};function prepMarkerRowCell(yt,Et){const{ctx:xt,theme:vt}=yt,bt=vt.markerFontFull,At=Et??{};return At?.font!==bt&&(xt.font=bt,At.font=bt),At.deprep=deprepMarkerRowCell,xt.textAlign="center",At}function deprepMarkerRowCell(yt){const{ctx:Et}=yt;Et.textAlign="start"}function drawMarkerRowCell(yt,Et,xt,vt,bt,At){const{ctx:Ft,rect:Ct,hoverAmount:wt,theme:St}=yt,{x:Tt,y:Rt,width:Pt,height:Lt}=Ct,kt=xt?1:vt==="checkbox-visible"?.6+.4*wt:wt;if(vt!=="number"&&kt>0){Ft.globalAlpha=kt;const Ot=7*(xt?wt:1);if(drawCheckbox(Ft,St,xt,bt?Tt+Ot:Tt,Rt,bt?Pt-Ot:Pt,Lt,!0,void 0,void 0,St.checkboxMaxSize,"center",At),bt){Ft.globalAlpha=wt,Ft.beginPath();for(const Mt of[3,6])for(const It of[-5,-1,3])Ft.rect(Tt+Mt,Rt+Lt/2+It,2,2);Ft.fillStyle=St.textLight,Ft.fill(),Ft.beginPath()}Ft.globalAlpha=1}if(vt==="number"||vt==="both"&&!xt){const Ot=Et.toString(),Mt=St.markerFontFull,It=Tt+Pt/2;vt==="both"&&wt!==0&&(Ft.globalAlpha=1-wt),Ft.fillStyle=St.textLight,Ft.font=Mt,Ft.fillText(Ot,It,Rt+Lt/2+getMiddleCenterBias(Ft,Mt)),wt!==0&&(Ft.globalAlpha=1)}}const newRowCellRenderer={getAccessibilityString:()=>"",kind:InnerGridCellKind.NewRow,needsHover:!0,needsHoverPosition:!1,measure:()=>200,draw:yt=>drawNewRowCell(yt,yt.cell.hint,yt.cell.icon),onPaste:()=>{}};function drawNewRowCell(yt,Et,xt){const{ctx:vt,rect:bt,hoverAmount:At,theme:Ft,spriteManager:Ct}=yt,{x:wt,y:St,width:Tt,height:Rt}=bt;vt.beginPath(),vt.globalAlpha=At,vt.rect(wt+1,St+1,Tt,Rt-2),vt.fillStyle=Ft.bgHeaderHovered,vt.fill(),vt.globalAlpha=1,vt.beginPath();const Pt=Et!=="";let Lt=0;if(xt!==void 0){const Ot=Rt-8,Mt=wt+8/2,It=St+8/2;Ct.drawSprite(xt,"normal",vt,Mt,It,Ot,Ft,Pt?1:At),Lt=Ot}else{Lt=24;const kt=12,Ot=Pt?kt:At*kt,Mt=Pt?0:(1-At)*kt*.5,It=Ft.cellHorizontalPadding+4;Ot>0&&(vt.moveTo(wt+It+Mt,St+Rt/2),vt.lineTo(wt+It+Mt+Ot,St+Rt/2),vt.moveTo(wt+It+Mt+Ot*.5,St+Rt/2-Ot*.5),vt.lineTo(wt+It+Mt+Ot*.5,St+Rt/2+Ot*.5),vt.lineWidth=2,vt.strokeStyle=Ft.bgIconHeader,vt.lineCap="round",vt.stroke())}vt.fillStyle=Ft.textMedium,vt.fillText(Et,Lt+wt+Ft.cellHorizontalPadding+.5,St+Rt/2+getMiddleCenterBias(vt,Ft)),vt.beginPath()}function drawEditHoverIndicator(yt,Et,xt,vt,bt,At,Ft){yt.textBaseline="alphabetic";const Ct=getHoverEffectRect(yt,bt,vt,Et,xt?.fullSize??!1);yt.beginPath(),roundedRect(yt,Ct.x,Ct.y,Ct.width,Ct.height,Et.roundingRadius??4),yt.globalAlpha=At,yt.fillStyle=xt?.bgColor??withAlpha(Et.textDark,.1),yt.fill(),yt.globalAlpha=1,yt.fillStyle=Et.textDark,yt.textBaseline="middle",Ft?.("text")}function getHoverEffectRect(yt,Et,xt,vt,bt){const At=vt.cellHorizontalPadding,Ft=vt.cellVerticalPadding;if(bt)return{x:Et.x+At/2,y:Et.y+Ft/2+1,width:Et.width-At,height:Et.height-Ft-1};const Ct=measureTextCached(xt,yt,vt.baseFontFull,"alphabetic"),wt=Et.height-Ft,St=Math.min(wt,Ct.actualBoundingBoxAscent*2.5);return{x:Et.x+At/2,y:Et.y+(Et.height-St)/2+1,width:Ct.width+At*3,height:St-1}}const NumberOverlayEditor$1=reactExports.lazy(async()=>await Promise.resolve().then(()=>numberOverlayEditor)),numberCellRenderer={getAccessibilityString:yt=>yt.data?.toString()??"",kind:GridCellKind.Number,needsHover:yt=>yt.hoverEffect===!0,needsHoverPosition:!1,useLabel:!0,drawPrep:prepTextCell,draw:yt=>{const{hoverAmount:Et,cell:xt,ctx:vt,theme:bt,rect:At,overrideCursor:Ft}=yt,{hoverEffect:Ct,displayData:wt,hoverEffectTheme:St}=xt;Ct===!0&&Et>0&&drawEditHoverIndicator(vt,bt,St,wt,At,Et,Ft),drawTextCell(yt,yt.cell.displayData,yt.cell.contentAlign)},measure:(yt,Et,xt)=>yt.measureText(Et.displayData).width+xt.cellHorizontalPadding*2,onDelete:yt=>({...yt,data:void 0}),provideEditor:()=>yt=>{const{isHighlighted:Et,onChange:xt,value:vt,validatedSelection:bt}=yt;return reactExports.createElement(reactExports.Suspense,{fallback:null},reactExports.createElement(NumberOverlayEditor$1,{highlight:Et,disabled:vt.readonly===!0,value:vt.data,fixedDecimals:vt.fixedDecimals,allowNegative:vt.allowNegative,thousandSeparator:vt.thousandSeparator,decimalSeparator:vt.decimalSeparator,validatedSelection:bt,onChange:At=>xt({...vt,data:Number.isNaN(At.floatValue??0)?0:At.floatValue})}))},onPaste:(yt,Et,xt)=>{const vt=typeof xt.rawValue=="number"?xt.rawValue:Number.parseFloat(typeof xt.rawValue=="string"?xt.rawValue:yt);if(!(Number.isNaN(vt)||Et.data===vt))return{...Et,data:vt,displayData:xt.formattedString??Et.displayData}}},protectedCellRenderer={getAccessibilityString:()=>"",measure:()=>108,kind:GridCellKind.Protected,needsHover:!1,needsHoverPosition:!1,draw:drawProtectedCell,onPaste:()=>{}};function drawProtectedCell(yt){const{ctx:Et,theme:xt,rect:vt}=yt,{x:bt,y:At,height:Ft}=vt;Et.beginPath();const Ct=2.5;let wt=bt+xt.cellHorizontalPadding+Ct;const St=At+Ft/2,Tt=Math.cos(degreesToRadians(30))*Ct,Rt=Math.sin(degreesToRadians(30))*Ct;for(let Pt=0;Pt<12;Pt++)Et.moveTo(wt,St-Ct),Et.lineTo(wt,St+Ct),Et.moveTo(wt+Tt,St-Rt),Et.lineTo(wt-Tt,St+Rt),Et.moveTo(wt-Tt,St-Rt),Et.lineTo(wt+Tt,St+Rt),wt+=8;Et.lineWidth=1.1,Et.lineCap="square",Et.strokeStyle=xt.textLight,Et.stroke()}const rowIDCellRenderer={getAccessibilityString:yt=>yt.data?.toString()??"",kind:GridCellKind.RowID,needsHover:!1,needsHoverPosition:!1,drawPrep:(yt,Et)=>prepTextCell(yt,Et,yt.theme.textLight),draw:yt=>drawTextCell(yt,yt.cell.data,yt.cell.contentAlign),measure:(yt,Et,xt)=>yt.measureText(Et.data).width+xt.cellHorizontalPadding*2,provideEditor:()=>yt=>{const{isHighlighted:Et,onChange:xt,value:vt,validatedSelection:bt}=yt;return React.createElement(GrowingEntry,{highlight:Et,autoFocus:vt.readonly!==!0,disabled:vt.readonly!==!1,value:vt.data,validatedSelection:bt,onChange:At=>xt({...vt,data:At.target.value})})},onPaste:()=>{}},textCellRenderer={getAccessibilityString:yt=>yt.data?.toString()??"",kind:GridCellKind.Text,needsHover:yt=>yt.hoverEffect===!0,needsHoverPosition:!1,drawPrep:prepTextCell,useLabel:!0,draw:yt=>{const{cell:Et,hoverAmount:xt,hyperWrapping:vt,ctx:bt,rect:At,theme:Ft,overrideCursor:Ct}=yt,{displayData:wt,contentAlign:St,hoverEffect:Tt,allowWrapping:Rt,hoverEffectTheme:Pt}=Et;Tt===!0&&xt>0&&drawEditHoverIndicator(bt,Ft,Pt,wt,At,xt,Ct),drawTextCell(yt,wt,St,Rt,vt)},measure:(yt,Et,xt)=>{const vt=Et.displayData.split(`
2981
2981
  `,Et.allowWrapping===!0?void 0:1);let bt=0;for(const At of vt)bt=Math.max(bt,yt.measureText(At).width);return bt+2*xt.cellHorizontalPadding},onDelete:yt=>({...yt,data:""}),provideEditor:yt=>({disablePadding:yt.allowWrapping===!0,editor:Et=>{const{isHighlighted:xt,onChange:vt,value:bt,validatedSelection:At}=Et;return reactExports.createElement(GrowingEntry,{style:yt.allowWrapping===!0?{padding:"3px 8.5px"}:void 0,highlight:xt,autoFocus:bt.readonly!==!0,disabled:bt.readonly===!0,altNewline:!0,value:bt.data,validatedSelection:At,onChange:Ft=>vt({...bt,data:Ft.target.value})})}}),onPaste:(yt,Et,xt)=>yt===Et.data?void 0:{...Et,data:yt,displayData:xt.formattedString??Et.displayData}},UriOverlayEditorStyle=styled_default("div")({name:"UriOverlayEditorStyle",class:"gdg-u1rrojo",propsAsIs:!1}),UriOverlayEditor=yt=>{const{uri:Et,onChange:xt,forceEditMode:vt,readonly:bt,validatedSelection:At,preview:Ft}=yt,[Ct,wt]=reactExports.useState(!bt&&(Et===""||vt)),St=reactExports.useCallback(()=>{wt(!0)},[]);return Ct?reactExports.createElement(GrowingEntry,{validatedSelection:At,highlight:!0,autoFocus:!0,value:Et,onChange:xt}):reactExports.createElement(UriOverlayEditorStyle,null,reactExports.createElement("a",{className:"gdg-link-area",href:Et,target:"_blank",rel:"noopener noreferrer"},Ft),!bt&&reactExports.createElement("div",{className:"gdg-edit-icon",onClick:St},reactExports.createElement(EditPencil,null)),reactExports.createElement("textarea",{className:"gdg-input",autoFocus:!0}))};function getTextRect(yt,Et,xt,vt){let bt=xt.cellHorizontalPadding;const At=Et.height/2-yt.actualBoundingBoxAscent/2,Ft=yt.width,Ct=yt.actualBoundingBoxAscent;return vt==="right"?bt=Et.width-Ft-xt.cellHorizontalPadding:vt==="center"&&(bt=Et.width/2-Ft/2),{x:bt,y:At,width:Ft,height:Ct}}function isOverLinkText(yt){const{cell:Et,bounds:xt,posX:vt,posY:bt,theme:At}=yt,Ft=Et.displayData??Et.data;if(Et.hoverEffect!==!0||Et.onClickUri===void 0)return!1;const Ct=getMeasuredTextCache(Ft,At.baseFontFull);if(Ct===void 0)return!1;const wt=getTextRect(Ct,xt,At,Et.contentAlign);return pointInRect({x:wt.x-4,y:wt.y-4,width:wt.width+8,height:wt.height+8},vt,bt)}const uriCellRenderer={getAccessibilityString:yt=>yt.data?.toString()??"",kind:GridCellKind.Uri,needsHover:yt=>yt.hoverEffect===!0,needsHoverPosition:!0,useLabel:!0,drawPrep:prepTextCell,draw:yt=>{const{cell:Et,theme:xt,overrideCursor:vt,hoverX:bt,hoverY:At,rect:Ft,ctx:Ct}=yt,wt=Et.displayData??Et.data,St=Et.hoverEffect===!0;if(vt!==void 0&&St&&bt!==void 0&&At!==void 0){const Tt=measureTextCached(wt,Ct,xt.baseFontFull),Rt=getTextRect(Tt,Ft,xt,Et.contentAlign),{x:Pt,y:Lt,width:kt,height:Ot}=Rt;if(bt>=Pt-4&&bt<=Pt-4+kt+8&&At>=Lt-4&&At<=Lt-4+Ot+8){const Mt=getMiddleCenterBias(Ct,xt.baseFontFull);vt("pointer");const It=5,Nt=Lt-Mt;Ct.beginPath(),Ct.moveTo(Ft.x+Pt,Math.floor(Ft.y+Nt+Ot+It)+.5),Ct.lineTo(Ft.x+Pt+kt,Math.floor(Ft.y+Nt+Ot+It)+.5),Ct.strokeStyle=xt.linkColor,Ct.stroke(),Ct.save(),Ct.fillStyle=yt.cellFillColor,drawTextCell({...yt,rect:{...Ft,x:Ft.x-1}},wt,Et.contentAlign),drawTextCell({...yt,rect:{...Ft,x:Ft.x-2}},wt,Et.contentAlign),drawTextCell({...yt,rect:{...Ft,x:Ft.x+1}},wt,Et.contentAlign),drawTextCell({...yt,rect:{...Ft,x:Ft.x+2}},wt,Et.contentAlign),Ct.restore()}}Ct.fillStyle=St?xt.linkColor:xt.textDark,drawTextCell(yt,wt,Et.contentAlign)},onSelect:yt=>{isOverLinkText(yt)&&yt.preventDefault()},onClick:yt=>{const{cell:Et}=yt;isOverLinkText(yt)&&Et.onClickUri?.(yt)},measure:(yt,Et,xt)=>yt.measureText(Et.displayData??Et.data).width+xt.cellHorizontalPadding*2,onDelete:yt=>({...yt,data:""}),provideEditor:yt=>Et=>{const{onChange:xt,value:vt,forceEditMode:bt,validatedSelection:At}=Et;return reactExports.createElement(UriOverlayEditor,{forceEditMode:vt.readonly!==!0&&(bt||yt.hoverEffect===!0&&yt.onClickUri!==void 0),uri:vt.data,preview:vt.displayData??vt.data,validatedSelection:At,readonly:vt.readonly===!0,onChange:Ft=>xt({...vt,data:Ft.target.value})})},onPaste:(yt,Et,xt)=>yt===Et.data?void 0:{...Et,data:yt,displayData:xt.formattedString??Et.displayData}},AllCellRenderers=[markerCellRenderer,newRowCellRenderer,booleanCellRenderer,bubbleCellRenderer,drilldownCellRenderer,imageCellRenderer,loadingCellRenderer,markdownCellRenderer,numberCellRenderer,protectedCellRenderer,rowIDCellRenderer,textCellRenderer,uriCellRenderer];var throttle_1,hasRequiredThrottle;function requireThrottle(){if(hasRequiredThrottle)return throttle_1;hasRequiredThrottle=1;var yt=requireDebounce(),Et=requireIsObject(),xt="Expected a function";function vt(bt,At,Ft){var Ct=!0,wt=!0;if(typeof bt!="function")throw new TypeError(xt);return Et(Ft)&&(Ct="leading"in Ft?!!Ft.leading:Ct,wt="trailing"in Ft?!!Ft.trailing:wt),yt(bt,At,{leading:Ct,maxWait:At,trailing:wt})}return throttle_1=vt,throttle_1}var throttleExports=requireThrottle();const throttle=getDefaultExportFromCjs(throttleExports),imgPool=[];class ImageWindowLoaderImpl extends WindowingTrackerBase{imageLoaded=()=>{};loadedLocations=[];cache={};setCallback(Et){this.imageLoaded=Et}sendLoaded=throttle(()=>{this.imageLoaded(new CellSet(this.loadedLocations)),this.loadedLocations=[]},20);clearOutOfWindow=()=>{const Et=Object.keys(this.cache);for(const xt of Et){const vt=this.cache[xt];let bt=!1;for(let At=0;At<vt.cells.length;At++){const Ft=vt.cells[At];if(this.isInWindow(Ft)){bt=!0;break}}bt?vt.cells=vt.cells.filter(this.isInWindow):(vt.cancel(),delete this.cache[xt])}};loadImage(Et,xt,vt,bt){let At=!1;const Ft=imgPool.pop()??new Image;let Ct=!1;const wt={img:void 0,cells:[packColRowToNumber(xt,vt)],url:Et,cancel:()=>{Ct||(Ct=!0,imgPool.length<12?imgPool.unshift(Ft):At||(Ft.src=""))}},St=new Promise(Tt=>Ft.addEventListener("load",()=>Tt(null)));requestAnimationFrame(async()=>{try{Ft.src=Et,await St,await Ft.decode();const Tt=this.cache[bt];if(Tt!==void 0&&!Ct){Tt.img=Ft;for(const Rt of Tt.cells)this.loadedLocations.push(unpackNumberToColRow(Rt));At=!0,this.sendLoaded()}}catch{wt.cancel()}}),this.cache[bt]=wt}loadOrGetImage(Et,xt,vt){const bt=Et,At=this.cache[bt];if(At!==void 0){const Ft=packColRowToNumber(xt,vt);return At.cells.includes(Ft)||At.cells.push(Ft),At.img}else this.loadImage(Et,xt,vt,bt)}}const DataEditorAllImpl=(yt,Et)=>{const xt=reactExports.useMemo(()=>({...sprites,...yt.headerIcons}),[yt.headerIcons]),vt=reactExports.useMemo(()=>yt.renderers??AllCellRenderers,[yt.renderers]),bt=reactExports.useMemo(()=>yt.imageWindowLoader??new ImageWindowLoaderImpl,[yt.imageWindowLoader]);return reactExports.createElement(DataEditor,{...yt,renderers:vt,headerIcons:xt,ref:Et,imageWindowLoader:bt})},DataEditorAll=reactExports.forwardRef(DataEditorAllImpl);function DataGridView({datasets:yt,initialKey:Et="genes",height:xt=320,visibilityConfig:vt={},onZoomGene:bt,onZoomHood:At,onZoomTree:Ft,isRowZoomable:Ct}){const{resolvedTheme:wt}=useTheme(),St=reactExports.useMemo(()=>Object.keys(yt||{}),[yt]),Tt=reactExports.useMemo(()=>St.length?Et&&St.includes(Et)?Et:St[0]:null,[St,Et]),[Rt,Pt]=reactExports.useState(Tt),[Lt,kt]=reactExports.useState(""),[Ot,Mt]=reactExports.useState({}),It=reactExports.useRef(Rt),Nt=reactExports.useRef(0);React.useEffect(()=>{const pn=Array.isArray(yt?.[Rt]?.rows)?yt[Rt].rows:[];It.current=Rt,Nt.current=pn.length},[Rt,yt]),React.useEffect(()=>{St.length&&(!Rt||!St.includes(Rt))&&Pt(Tt||St[0])},[St,Rt,Tt]);const Ut=reactExports.useMemo(()=>Rt?yt?.[Rt]||{rows:[],columns:[],label:""}:{rows:[],columns:[],label:""},[Rt,yt]),jt=reactExports.useCallback(pn=>{if(!pn)return{};if(typeof pn=="object"&&!Array.isArray(pn))return pn;if(typeof pn=="string"){const mn=pn.trim();if(mn.startsWith("{")&&mn.endsWith("}")||mn.startsWith("[")&&mn.endsWith("]"))try{const yn=JSON.parse(mn);if(yn&&typeof yn=="object"&&!Array.isArray(yn))return yn}catch{}const vn={};return mn.split(";").forEach(yn=>{const xn=yn.trim();if(!xn)return;const[Mn,...$n]=xn.split("="),Rn=Mn?.trim(),Tn=$n.join("=").trim();Rn&&(vn[Rn]=Tn)}),vn}return{}},[]),Vt=reactExports.useMemo(()=>{const pn=new Set,mn=Array.isArray(Ut.rows)?Ut.rows:[];for(let vn=0;vn<mn.length&&vn<200;vn++){const yn=jt(mn[vn]?.attributes);Object.keys(yn||{}).forEach(xn=>pn.add(xn))}return Array.from(pn)},[Ut.rows,jt]),zt=vt?.[Rt],Ht=reactExports.useMemo(()=>{let pn;if(Ut.columns&&Ut.columns.length)pn=Ut.columns.filter(yn=>yn.id!=="attributes"&&yn.title!=="attributes");else{const yn=Array.isArray(Ut.rows)?Ut.rows:[],xn=new Set;for(let Mn=0;Mn<yn.length&&Mn<20;Mn++){const $n=yn[Mn];$n&&typeof $n=="object"&&Object.keys($n).forEach(Rn=>{Rn!=="attributes"&&xn.add(Rn)})}pn=Array.from(xn).map(Mn=>({id:Mn,title:Mn,grow:1}))}const mn=Vt.map(yn=>({id:`attr:${yn}`,title:yn,grow:1,group:"Attributes"})),vn=Rt==="genes"||Rt==="hoods"||Rt==="treeMetadata"?[{id:"__zoom",title:"Zoom",width:80,grow:0}]:[];return[...pn,...mn,...vn]},[Ut.columns,Ut.rows,Vt,zt,Rt]),[Wt,Gt]=reactExports.useState(null),qt=reactExports.useMemo(()=>{const pn=Array.isArray(Ut.rows)?Ut.rows:[];if(!Lt)return pn;const mn=Lt.toLowerCase();return pn.filter(vn=>{if(!vn||typeof vn!="object")return!1;const yn=jt(vn.attributes);return[...Object.values(vn||{}),...Object.values(yn||{})].some(Mn=>Mn!=null&&String(Mn).toLowerCase().includes(mn))})},[Ut.rows,Lt,jt]);React.useEffect(()=>{Gt(null)},[Rt,qt.length]);const Xt=reactExports.useMemo(()=>{const pn=getDataEditorTheme(),mn=wt==="dark",vn=mn?"#e2e8f0":"#1e293b",yn=mn?"#09090b":"#ffffff",xn=mn?"rgba(255, 255, 255, 0.1)":"rgba(0, 0, 0, 0.1)";return{...pn,fontFamily:'var(--font-sans, "Inter", system-ui, -apple-system, "Segoe UI", sans-serif)',baseFontStyle:"12px",headerFontStyle:"600 12px",editorFontSize:"12px",cellVerticalPadding:4,cellHorizontalPadding:6,lineHeight:1.1,bgCell:yn,bgCellMedium:yn,textDark:vn,textMedium:vn,textLight:vn,textHeader:vn,textHeaderSelected:vn,bgHeader:mn?"#18181b":"#f8fafc",bgHeaderHasFocus:mn?"#27272a":"#e2e8f0",bgHeaderHovered:mn?"#27272a":"#e2e8f0",borderColor:xn,horizontalBorderColor:xn,headerBottomBorderColor:xn,accentColor:"#3b82f6",accentFg:"#ffffff",accentLight:mn?"rgba(59, 130, 246, 0.15)":"rgba(59, 130, 246, 0.1)",textHeaderIcon:mn?"#94a3b8":"#64748b"}},[wt]),Kt=reactExports.useMemo(()=>({bgCell:wt==="dark"?"#101010":"#fafafa",textDark:wt==="dark"?"#f5f5f5":"#0b0b0b"}),[wt]),Jt=reactExports.useMemo(()=>Ht.map(mn=>{const vn=Ot[mn.id]??mn.width??160;return{...mn,width:vn}}),[Ht,Ot]),tn=reactExports.useCallback(pn=>{if(pn)return pn==="Attributes"?{name:"Attributes",icon:GridColumnIcon.HeaderText}:{name:pn,icon:GridColumnIcon.HeaderText}},[]),sn=reactExports.useCallback((pn,mn)=>{const vn=Jt[pn];if(!vn||vn.id!=="__zoom")return!1;const yn=qt[mn];return yn?Rt==="genes"&&typeof bt=="function"?(bt(yn),!0):Rt==="hoods"&&typeof At=="function"?(At(yn),!0):Rt==="treeMetadata"&&typeof Ft=="function"?(Ft(yn),!0):!1:!1},[Jt,qt,Rt,bt,At,Ft]),Zt=reactExports.useMemo(()=>({kind:"zoom-button",needsHover:!0,isMatch:pn=>pn.kind===GridCellKind.Custom&&pn.data?.kind==="zoom-button",draw:(pn,mn)=>{const{rect:vn,ctx:yn,theme:xn,hoverX:Mn,hoverY:$n}=pn,Rn=mn.data?.label||"Zoom",Tn=8,ir=7,Jn=5,jn=vn.x+ir,Wn=vn.y+Jn,br=vn.width-ir*2,Fr=vn.height-Jn*2,Cr=Mn!=null&&$n!=null&&Mn>=jn&&Mn<=jn+br&&$n>=Wn&&$n<=Wn+Fr,dr=Wt&&Wt.row===mn.data?.row&&Wt.col===mn.data?.col,_r=Cr||dr;yn&&yn.canvas&&(yn.canvas.style.cursor=_r?"pointer":"default");const pr=wt==="dark"?"#0a0a0a":"#ffffff",wr=wt==="dark"?"#151515":"#f3f3f3",xr=wt==="dark"?"rgba(255,255,255,0.06)":"rgba(0,0,0,0.06)",Dr=wt==="dark"?"rgba(0,0,0,0.48)":"rgba(0,0,0,0.10)";return yn.save(),yn.fillStyle=_r?wr:pr,yn.strokeStyle=xr,yn.lineWidth=1,yn.shadowColor=_r?Dr:"rgba(0,0,0,0)",yn.shadowBlur=_r?10:0,yn.shadowOffsetX=0,yn.shadowOffsetY=_r?4:0,yn.beginPath(),yn.moveTo(jn+Tn,Wn),yn.lineTo(jn+br-Tn,Wn),yn.quadraticCurveTo(jn+br,Wn,jn+br,Wn+Tn),yn.lineTo(jn+br,Wn+Fr-Tn),yn.quadraticCurveTo(jn+br,Wn+Fr,jn+br-Tn,Wn+Fr),yn.lineTo(jn+Tn,Wn+Fr),yn.quadraticCurveTo(jn,Wn+Fr,jn,Wn+Fr-Tn),yn.lineTo(jn,Wn+Tn),yn.quadraticCurveTo(jn,Wn,jn+Tn,Wn),yn.closePath(),yn.fill(),yn.stroke(),yn.restore(),yn.fillStyle=wt==="dark"?"#fafafa":"#050505",yn.font='600 11px var(--font-sans, "Inter", system-ui, -apple-system, "Segoe UI", sans-serif)',yn.textAlign="center",yn.textBaseline="middle",yn.fillText(Rn,jn+br/2,Wn+Fr/2+.4),!0},onClick:pn=>{const{location:mn}=pn,[vn,yn]=mn;return sn(vn,yn),{preventDefault:!0,stopPropagation:!0}},provideEditor:()=>{}}),[sn,Wt,wt]),[nn,rn]=reactExports.useState(),on=React.useRef({key:null,rows:0}),ln=reactExports.useRef(!1),Qt=reactExports.useCallback(()=>{if(!zt||!qt.length)return;const pn=qt.reduce((mn,vn,yn)=>{const xn=zt.getRowId?zt.getRowId(vn):null,Mn=zt.hiddenSet?.has(xn);return(zt.invert?Mn:xn?!Mn:!0)?mn.add(yn):mn},CompactSelection.empty());return{columns:CompactSelection.empty(),rows:pn,current:pn.length?{cell:[0,pn.first()??0],range:{x:0,y:pn.first()??0,width:1,height:1},rangeStack:[]}:void 0}},[zt,qt]);React.useEffect(()=>{if(!zt){rn(void 0),on.current={key:null,rows:0};return}const pn=on.current;if(pn.key===Rt&&pn.rows===qt.length&&nn)return;ln.current=!0;const mn=Qt();rn(mn),on.current={key:Rt,rows:qt.length},requestAnimationFrame(()=>{ln.current=!1})},[Rt,qt.length,zt,Qt]);const fn=reactExports.useCallback(([pn,mn])=>{const vn=Ht[pn];if(!vn)return{kind:GridCellKind.Text,data:"",displayData:"",allowOverlay:!0};const yn=qt[mn]||{};let xn;if(vn.id==="__zoom")return(typeof Ct=="function"?Ct(yn,Rt):!0)?{kind:GridCellKind.Custom,data:{kind:"zoom-button",row:mn,col:pn,label:"Zoom"},allowOverlay:!1,readonly:!0}:{kind:GridCellKind.Text,data:"",displayData:"",allowOverlay:!0,readonly:!0};if(vn.id&&vn.id.startsWith("attr:")){const ir=vn.id.slice(5),Jn=jt(yn.attributes);xn=Jn?Jn[ir]:""}else xn=yn[vn.id];const $n=(ir=>{if(ir==null)return"";if(vn.id==="attributes"){let Jn=null;if(typeof ir=="object")Jn=ir;else if(typeof ir=="string"){const jn=ir.trim();if(jn.startsWith("{")&&jn.endsWith("}"))try{Jn=JSON.parse(jn)}catch{Jn=null}}if(Jn&&typeof Jn=="object")return Object.entries(Jn).filter(([,jn])=>jn!=null).map(([jn,Wn])=>`${jn}=${Wn}`).join(";")}return typeof ir=="object"?JSON.stringify(ir):String(ir)})(xn),Rn=Lt.trim().toLowerCase(),Tn=Rn&&String($n).toLowerCase().includes(Rn);return{kind:GridCellKind.Text,data:$n,displayData:$n,allowOverlay:!0,readonly:!0,themeOverride:Tn?Kt:void 0}},[Ht,qt,jt,Lt,Kt,zt,wt]);return St.length?jsxRuntimeExports.jsxs("div",{style:{background:"var(--background, #fff)",width:"100%",height:xt,maxHeight:"50vh",display:"flex",flexDirection:"column",overflow:"hidden"},children:[jsxRuntimeExports.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"6px 12px",borderBottom:"1px solid var(--border, #e5e7eb)",background:"var(--muted, #f8fafc)"},children:[jsxRuntimeExports.jsxs(Select,{value:Rt||"",onValueChange:pn=>Pt(pn),children:[jsxRuntimeExports.jsx(SelectTrigger,{className:"w-[220px] h-8 text-xs",children:jsxRuntimeExports.jsx(SelectValue,{placeholder:"Select dataset"})}),jsxRuntimeExports.jsx(SelectContent,{className:"z-[200]",children:jsxRuntimeExports.jsx(SelectGroup,{children:St.map(pn=>jsxRuntimeExports.jsx(SelectItem,{value:pn,children:yt[pn]?.label||pn},pn))})})]}),jsxRuntimeExports.jsxs("div",{style:{fontSize:12,color:"var(--muted-foreground, #666)",fontFamily:'var(--font-sans, "Inter", system-ui, -apple-system, "Segoe UI", sans-serif)'},children:[qt.length.toLocaleString()," rows"]}),jsxRuntimeExports.jsx("div",{style:{marginLeft:"auto",minWidth:220},children:jsxRuntimeExports.jsx(Input$2,{placeholder:"Search…",value:Lt,onChange:pn=>kt(pn.target.value),className:"h-8 text-xs"})})]}),jsxRuntimeExports.jsx("div",{style:{flex:1,minHeight:0},children:jsxRuntimeExports.jsx(DataEditorAll,{columns:Jt.map(pn=>({...pn,title:pn.title||pn.id})),rows:qt.length,getCellContent:fn,customRenderers:[Zt],theme:Xt,smoothScrollX:!0,smoothScrollY:!0,rowHeight:24,headerHeight:28,overscrollX:200,maxColumnAutoWidth:500,maxColumnWidth:1e3,minColumnWidth:80,scaleToRem:!0,columnTrailingBlankSpace:0,getGroupDetails:tn,onColumnResize:(pn,mn)=>{const vn=typeof pn=="string"?pn:Jt[pn]?.id;vn&&Mt(yn=>({...yn,[vn]:mn}))},fillHandle:!1,keybindings:{copy:!0,paste:!1},trailingRowOptions:null,getCellsForSelection:!0,rangeSelect:"multi-rect",rowSelect:"multi",rowSelectionMode:"multi",rowMarkers:zt?{kind:"both",checkboxStyle:"circle"}:"number",gridSelection:zt?nn:void 0,onCellActivated:({location:pn})=>{if(!Array.isArray(pn))return;const[mn,vn]=pn;sn(mn,vn)},onCellClicked:pn=>{if(!Array.isArray(pn))return;const[mn,vn]=pn;sn(mn,vn)},onItemHovered:pn=>{if(!pn||pn.kind!=="cell"){Wt!==null&&Gt(null);return}const mn=pn.location;if(!Array.isArray(mn)){Wt!==null&&Gt(null);return}const[vn,yn]=mn,xn=Jt[vn];if(!xn||xn.id!=="__zoom"){Wt!==null&&Gt(null);return}(!Wt||Wt.col!==vn||Wt.row!==yn)&&Gt({col:vn,row:yn})},onGridSelectionChange:pn=>{if(console.log("[DataGridView] onGridSelectionChange",pn),ln.current){console.log("[DataGridView] skipping sync from external");return}if(!zt||!pn){console.log("[DataGridView] no activeVisibility or sel, activeVisibility=",zt,"activeKey=",Rt),rn(pn);return}console.log("[DataGridView] activeVisibility exists for key:",Rt,"visibility:",zt);const mn=It.current!==Rt,vn=pn.rows!==void 0&&pn.rows!==null;if(console.log("[DataGridView] datasetChanged=",mn,"hasIncomingRows=",vn),mn){console.log("[DataGridView] dataset changed"),It.current=Rt,Nt.current=qt.length,rn(pn);return}const yn=nn?.rows??CompactSelection.empty(),xn=vn?pn.rows:CompactSelection.empty(),Mn=vn&&xn.length===0&&(!pn.columns||pn.columns.length===0)&&!pn.current;if(Mn&&mn){It.current=Rt,Nt.current=qt.length;return}const $n=vn&&(Mn||xn.length)?xn:yn,Rn={...pn,rows:$n,current:pn.current};if(rn(Rn),!vn)return;const Tn=Mn?xn:$n;if(console.log("[DataGridView] applyRows.length=",Tn.length,"clearRowsIntent=",Mn,"rows.length=",qt.length),!Tn.length&&!Mn)return;const ir=zt.getRowId,Jn=zt.hiddenSet||new Set,jn=zt.onToggle,Wn=zt.onBatchToggle,br=[];console.log("[DataGridView] Starting forEach over",qt.length,"rows"),qt.forEach((Fr,Cr)=>{const dr=ir?ir(Fr):null;if(!dr){Cr<3&&console.log("[DataGridView] rowId is null for row",Cr,"attributes:",Fr?.attributes,"full row:",Fr);return}const _r=Tn.hasIndex(Cr),pr=Jn.has(dr);Cr<5&&console.log("DEBUG: invert=",zt.invert,"rowId=",dr,"desiredSelected=",_r);const wr=zt.invert?!_r:_r;wr!==!pr&&br.push({rowId:dr,desiredVisible:wr})}),br.length>0&&(Wn?Wn(br):br.forEach(({rowId:Fr,desiredVisible:Cr})=>{jn(Fr,Cr)})),It.current=Rt,Nt.current=qt.length},width:"100%"})})]}):jsxRuntimeExports.jsx("div",{style:{padding:"8px",fontSize:14,color:"var(--muted-foreground, #666)"},children:"No datasets available."})}function parseDomainsMetadata(yt){const Et=yt.split(`
2982
2982
  `).map(At=>At.trim()).filter(At=>At);if(Et.length===0)return{};const xt=Et[0].split(" "),vt=xt.findIndex(At=>At.toLowerCase().includes("domain_id"));if(vt===-1)return console.warn("parseDomainsMetadata: No domain_id column found"),{};const bt={};for(let At=1;At<Et.length;At++){const Ft=Et[At].split(" ");if(Ft.length<=vt)continue;const Ct=Ft[vt];if(!Ct)continue;const wt={};for(let St=0;St<Math.min(Ft.length,xt.length);St++)St!==vt&&Ft[St]&&Ft[St].trim()&&(wt[xt[St]]=Ft[St].trim());Object.keys(wt).length>0&&(bt[Ct]=wt)}return bt}function parseGFF(yt,Et=null){return yt.split(`
2983
- `).map(vt=>vt.trim()).filter(vt=>vt&&!vt.startsWith("#")).map(vt=>{const bt=vt.split(" "),At=bt[0];bt[1];const Ft=bt[2],Ct=parseInt(bt[3],10),wt=parseInt(bt[4],10);bt[5]==="."||parseFloat(bt[5]);const St=bt[6]==="."?"+":bt[6];bt[7]==="."||bt[7];const Tt=parseAttributes(bt[8]||"");if(Ft==="ncRNA"&&Tt){let Rt=Tt.ID||Tt.id||null;typeof Rt=="string"?(Rt=Rt.replace(/^ID=/,"").replace(/;$/,"").trim(),Tt.ID=Rt,Tt.ncrna_type=Rt):Tt.ncrna_type=null}return Ft==="region"?new RegionFeature(At,Ct,wt,St,Ft,Tt,Et):new GFFFeature(At,Ct,wt,St,Ft,Tt)})}function parseAttributes(yt){const Et={};return!yt||yt==="."||(yt.includes(";")?yt.split(";"):[yt]).forEach(vt=>{const bt=vt.trim();if(bt)if(bt.includes("=")){const[At,...Ft]=bt.split("="),Ct=Ft.join("=").trim();Et[At.trim()]=Ct}else Et.ID=bt}),Et}async function parseProteinMetadataOptimized(yt){return parseProteinMetadataFallback(yt)}async function parseTreeMetadataOptimized(yt){return parseTreeMetadataFallback(yt)}async function parseHoodsOptimized(yt){return parseHoodsFallback(yt)}async function parseGFFOptimized(yt,Et=null){return parseGFF(yt,Et)}async function parseProteinLinksOptimized(yt){return parseProteinLinksFallback(yt)}async function parseNucleotideLinksOptimized(yt){return parseNucleotideLinksFallback(yt)}async function parseDomainsOptimized(yt){return parseDomainsFallback(yt)}async function parseNonCodingMetadataOptimized(yt){return parseNonCodingMetadataFallback(yt)}function parseProteinMetadataFallback(yt){const Et={};if(!yt)return Et;const xt=yt.split(/\r?\n/);if(xt.length<2)return Et;const vt=xt[0].split(/\t/);for(let bt=1;bt<xt.length;++bt){const At=xt[bt].trim();if(!At)continue;const Ft=At.split(/\t/),Ct={};for(let St=0;St<vt.length;++St)Ct[vt[St]]=Ft[St];const wt=Ct.id||Ct.gene_id||Ct.geneId;wt&&(Et[wt]=Ct)}return Et}function parseTreeMetadataFallback(yt){const Et={};if(!yt)return Et;const xt=yt.split(/\r?\n/);if(xt.length<2)return Et;const vt=xt[0].split(/\t/);for(let bt=1;bt<xt.length;++bt){const At=xt[bt].trim();if(!At)continue;const Ft=At.split(/\t/),Ct={};for(let St=0;St<vt.length;++St)Ct[vt[St]]=Ft[St];const wt=Ft[0];wt&&(Et[wt]=Ct)}return Et}function parseHoodsFallback(yt){const Et=[];if(!yt)return Et;const xt=yt.split(/\r?\n/);if(xt.length<2)return Et;const vt=xt[0].split(/\t/),bt=vt.indexOf("hood_id"),At=vt.indexOf("seqid"),Ft=vt.indexOf("start"),Ct=vt.indexOf("end"),wt=vt.indexOf("align_gene");for(let St=1;St<xt.length;++St){const Tt=xt[St].trim();if(!Tt)continue;const Rt=Tt.split(/\t/),Pt=Number(Rt[Ft]),Lt=Number(Rt[Ct]);if(!isFinite(Pt)||!isFinite(Lt))continue;const kt={hood_id:bt>=0?Rt[bt]:Rt[At],seqid:At>=0?Rt[At]:Rt[bt],start:Pt,end:Lt};wt!==-1&&Rt[wt]&&(kt.align_gene=Rt[wt]),Et.push(kt)}return Et}function parseProteinLinksFallback(yt){const Et=[];if(!yt)return Et;const xt=yt.split(/\r?\n/);for(let vt=0;vt<xt.length;++vt){const bt=xt[vt].trim();if(!bt)continue;const At=bt.split(/\s+/);Et.push({geneA:At[0],geneB:At[1],score:parseFloat(At[2])||0})}return Et}function parseNucleotideLinksFallback(yt){const Et=[];if(!yt)return Et;const xt=yt.split(/\r?\n/);for(let vt=0;vt<xt.length;++vt){const bt=xt[vt].trim();if(!bt)continue;const At=bt.split(/\s+/);Et.push({seqidA:At[0],startA:parseInt(At[1],10),endA:parseInt(At[2],10),seqidB:At[3],startB:parseInt(At[4],10),endB:parseInt(At[5],10),similarity:parseFloat(At[6])||0})}return Et}function parseDomainsFallback(yt){const Et={};if(!yt)return Et;const xt=yt.split(/\r?\n/);for(let vt=0;vt<xt.length;++vt){const bt=xt[vt].trim();if(!bt)continue;const At=bt.split(/\t/);if(At.length<7)continue;const Ft=At[0],Ct=At[1],wt=parseInt(At[2],10),St=parseInt(At[3],10),Tt=At[4],Rt=parseFloat(At[5])||0,Pt=parseFloat(At[6]),Lt={domainName:Ct,start:wt,end:St,source:Tt,evalue:Rt,coverage:Pt};Et[Ft]||(Et[Ft]=[]),Et[Ft].push(Lt)}return Et}function parseNonCodingMetadataFallback(yt){const Et={};if(!yt)return Et;const xt=yt.split(/\r?\n/);for(let vt=0;vt<xt.length;++vt){const bt=xt[vt].trim();if(!bt)continue;const At=bt.split(/\t/);At.length>=3&&(Et[At[0]]={type:At[1],description:At[2]})}return Et}const DEFAULT_INITIAL_STATE={alignCluster:null,useDefaultGeneAlignment:!0,defaultAlign:"start",ultrametric:!1,treeXScale:DEFAULT_CONFIG$1.tree.xScalePercent,showConnectingLines:!1,phyloLabelPosition:DEFAULT_CONFIG$1.tree.phyloLabelPosition,alignLabels:DEFAULT_CONFIG$1.tree.alignLabels,treeLabelBy:"species",treeColorBy:"species",ySpacing:DEFAULT_CONFIG$1.tree.ySpacing,phyloLabelSize:DEFAULT_CONFIG$1.text.phyloLabelSize,geneColorBy:"cluster",geneLabelBy:"cluster",geneHeight:DEFAULT_CONFIG$1.gene.height,arrowheadHeight:DEFAULT_CONFIG$1.gene.arrowheadHeight,tipWidthMode:DEFAULT_CONFIG$1.gene.tipWidthMode,tipWidthFactor:DEFAULT_CONFIG$1.gene.tipWidthFactor,tipWidthFixed:DEFAULT_CONFIG$1.gene.tipWidthFixed,geneLabelPosition:"bottom",geneLabelSize:DEFAULT_CONFIG$1.text.geneLabelSize,domainColorBy:"evalue",domainSource:"all",genePalette:{type:"qualitative",name:"RPRlab",numColors:15,reverse:!1,enabled:!0},domainPalette:{type:"sequential",name:"Gray",numColors:9,reverse:!1,enabled:!0,alphaRange:[.1,.3]},phyloPalette:{type:"qualitative",name:"RPRlab",numColors:15,reverse:!1,enabled:!0},ncRNAPalette:{type:"qualitative",name:"RPRlab",numColors:15,reverse:!1,enabled:!0},regionPalette:{type:"qualitative",name:"RPRlab",numColors:15,reverse:!1,enabled:!0},proteinLinkConfig:{colorBy:DEFAULT_CONFIG$1.proteinLink.colorBy,solidColor:DEFAULT_CONFIG$1.proteinLink.solidColor,useAlpha:DEFAULT_CONFIG$1.proteinLink.useAlpha,minAlpha:DEFAULT_CONFIG$1.proteinLink.minAlpha,maxAlpha:DEFAULT_CONFIG$1.proteinLink.maxAlpha},nucleotideLinkConfig:{colorBy:DEFAULT_CONFIG$1.nucleotideLink.colorBy,solidColor:DEFAULT_CONFIG$1.nucleotideLink.solidColor,useAlpha:DEFAULT_CONFIG$1.nucleotideLink.useAlpha,minAlpha:DEFAULT_CONFIG$1.nucleotideLink.minAlpha,maxAlpha:DEFAULT_CONFIG$1.nucleotideLink.maxAlpha},showScrollbar:!0,showRuler:!0,showDataTable:!1,rulerLabelSize:DEFAULT_CONFIG$1.text.rulerLabelSize,strokeLineWidth:DEFAULT_CONFIG$1.gene.edgeWidth,genomeXScale:DEFAULT_CONFIG$1.genome.xScalePercent,showFormatGuides:!1,formatGuidePreset:null,scaleExportToFormat:!1,cropToGuides:!0,scaleRulerWithCrop:!0,showTreeLayer:!0,showGeneLayer:!0,showDomainLayer:!0,showProteinLinkLayer:!0,showNucleotideLinkLayer:!0,showNcRNALayer:!0,showRegionsLayer:!0,showGeneTextLayer:!0,showTreeTextLayer:!0,showBaselineLayer:!0};function convertBigInts(yt){if(yt==null)return yt;if(typeof yt=="bigint")return Number(yt);if(Array.isArray(yt))return yt.map(convertBigInts);if(typeof yt=="object"){const Et={};for(const xt in yt)Et[xt]=convertBigInts(yt[xt]);return Et}return yt}async function tryLoadParquet(yt){if(!yt)return null;try{console.log("[tryLoadParquet] Loading:",yt.substring(0,80)+"...");const Et=await Promise.resolve().then(()=>index$1);let xt;try{xt=(await Promise.resolve().then(()=>index))?.compressors}catch{}if(Et&&typeof Et.parquetReadObjects=="function"){const vt=await fetch(yt);if(console.log("[tryLoadParquet] Fetch status:",vt.ok,vt.status),!vt.ok)return null;const bt=await vt.arrayBuffer();console.log("[tryLoadParquet] ArrayBuffer size:",bt.byteLength);const At=await Et.parquetReadObjects({file:bt,compressors:xt});if(console.log("[tryLoadParquet] Parsed rows:",Array.isArray(At)?At.length:"not array"),Array.isArray(At))return At.map(convertBigInts)}}catch(Et){console.warn("[hyparquet] failed to read",yt.substring(0,50),Et)}return null}async function fetchCompressedText(yt){const Et=await fetch(yt);if(!Et.ok)throw new Error(`fetch failed: ${yt}`);const xt=await Et.arrayBuffer(),vt=new Uint8Array(xt);return vt.length>=2&&vt[0]===31&&vt[1]===139?(await Promise.resolve().then(()=>pako_esm)).ungzip(vt,{to:"string"}):new TextDecoder().decode(vt)}const HoodiniDashboardInner=React.forwardRef((yt,Et)=>{const{dataPaths:xt={},data:vt,preferParquet:bt=!0,initialState:At={},controlledState:Ft,onStateChange:Ct,showSidebar:wt=!0,showToolbar:St=!0,toolbarExtra:Tt,className:Rt,style:Pt,onDataLoaded:Lt,onDataError:kt,onLoadingChange:Ot,onObjectClick:Mt,onSelectionChange:It,onLegendChange:Nt,onMetadataColumnsDetected:Ut,config:jt,children:Vt}=yt,zt=reactExports.useMemo(()=>({...DEFAULT_INITIAL_STATE,...At}),[]),[Ht,Wt]=reactExports.useState(zt),Gt=Ft!==void 0,qt=Gt?{...DEFAULT_INITIAL_STATE,...Ft}:Ht,Xt=reactExports.useCallback((gn,wn)=>{Gt?Ct?.({...qt,[gn]:wn},gn):Wt(Xn=>({...Xn,[gn]:wn}))},[Gt,qt,Ct]),Kt=reactExports.useCallback(gn=>wn=>Xt(gn,wn),[Xt]),Jt=reactExports.useRef(null),[tn,sn]=reactExports.useState(null),[Zt,nn]=reactExports.useState(!0),[rn,on]=reactExports.useState(null),[ln,Qt]=reactExports.useState(["cluster","species","geneType"]),[fn,pn]=reactExports.useState(["species","branchLength","support"]),[mn,vn]=reactExports.useState([]),[yn,xn]=reactExports.useState(!1),[Mn,$n]=reactExports.useState(!1),[Rn,Tn]=reactExports.useState(!1),[ir,Jn]=reactExports.useState(!1),[jn,Wn]=reactExports.useState(!1),[br,Fr]=reactExports.useState(!1),[Cr,dr]=reactExports.useState(null),[_r,pr]=reactExports.useState(null),[wr,xr]=reactExports.useState(new Set),[Dr,ar]=reactExports.useState(new Set),Qn=reactExports.useMemo(()=>({...DEFAULT_CONFIG$1,...jt}),[jt]);reactExports.useEffect(()=>{if(vt){const wn={gffFeatures:vt.gffFeatures||[],hoods:vt.hoods||[],proteinLinks:vt.proteinLinks||[],nucleotideLinks:vt.nucleotideLinks||[],domainsByGene:vt.domainsByGene||{},proteinMetadata:vt.proteinMetadata||{},domainMetadata:vt.domainMetadata||{},treeMetadata:vt.treeMetadata||{},newickStr:vt.newickStr||""};sn(wn),nn(!1),xn(wn.gffFeatures.length>0),$n(Object.keys(wn.domainsByGene).length>0),Tn(wn.proteinLinks.length>0),Jn(wn.nucleotideLinks.length>0);const Xn=wn.gffFeatures.some(Hn=>Hn?.type==="ncRNA"),tr=wn.gffFeatures.some(Hn=>Hn?.type==="region");Wn(Xn),Fr(tr),Lt?.(wn),Ot?.(!1);return}(async()=>{nn(!0),Ot?.(!0);try{const wn={};if(console.log("[loadData] Starting data load...",{dataPaths:xt,preferParquet:bt}),xt.gffParquet||xt.gffText){if(console.log("[loadData] Loading GFF from:",xt.gffParquet?"parquet":"text"),bt&&xt.gffParquet){const Kn=await tryLoadParquet(xt.gffParquet);console.log("[loadData] GFF parquet result:",Kn?.length??"null"),Kn&&(wn.gffFeatures=Kn)}if(!wn.gffFeatures&&xt.gffText){console.log("[loadData] Falling back to GFF text");const Kn=await fetchCompressedText(xt.gffText);wn.gffFeatures=await parseGFFOptimized(Kn)}}if(wn.gffFeatures=wn.gffFeatures||[],console.log("[loadData] Final gffFeatures count:",wn.gffFeatures.length),wn.gffFeatures.length>0&&console.log("[loadData] Sample GFF feature:",JSON.stringify(wn.gffFeatures[0])),xt.hoodsParquet||xt.hoodsText){if(bt&&xt.hoodsParquet){const Kn=await tryLoadParquet(xt.hoodsParquet);Kn&&(wn.hoods=Kn)}if(!wn.hoods&&xt.hoodsText){const Kn=await fetchCompressedText(xt.hoodsText);wn.hoods=await parseHoodsOptimized(Kn)}}if(wn.hoods=wn.hoods||[],console.log("[loadData] Final hoods count:",wn.hoods.length),wn.hoods.length>0&&console.log("[loadData] Sample hood:",JSON.stringify(wn.hoods[0])),xt.proteinLinksParquet||xt.proteinLinksText){if(console.log("[loadData] Loading Protein Links..."),bt&&xt.proteinLinksParquet){const Kn=await tryLoadParquet(xt.proteinLinksParquet);Kn&&(wn.proteinLinks=Kn.map(_n=>({geneA:_n.geneA||_n.qseqid||_n.gene_a,geneB:_n.geneB||_n.sseqid||_n.gene_b,score:_n.score??_n.pident??_n.similarity??0,..._n})),console.log("[loadData] Protein Links from parquet:",Kn.length))}if(!wn.proteinLinks&&xt.proteinLinksText){console.log("[loadData] Loading protein links from text:",xt.proteinLinksText?.substring(0,100));const Kn=await fetchCompressedText(xt.proteinLinksText);console.log("[loadData] Protein links text length:",Kn?.length,"sample:",Kn?.substring(0,200)),wn.proteinLinks=await parseProteinLinksOptimized(Kn),console.log("[loadData] Parsed protein links:",wn.proteinLinks?.length,wn.proteinLinks?.slice(0,2))}}if(wn.proteinLinks=wn.proteinLinks||[],console.log("[loadData] Final protein links count:",wn.proteinLinks.length),xt.nucleotideLinksParquet||xt.nucleotideLinksText){if(console.log("[loadData] Loading Nucleotide Links..."),bt&&xt.nucleotideLinksParquet){const Kn=await tryLoadParquet(xt.nucleotideLinksParquet);Kn&&(wn.nucleotideLinks=Kn.map(_n=>({seqidA:_n.seqidA||_n.query||_n.seqid_a,startA:_n.startA??_n.query_start??_n.start_a,endA:_n.endA??_n.query_end??_n.end_a,seqidB:_n.seqidB||_n.ref||_n.seqid_b,startB:_n.startB??_n.ref_start??_n.start_b,endB:_n.endB??_n.ref_end??_n.end_b,similarity:_n.similarity??_n.ani??_n.pident??0,..._n})),console.log("[loadData] Nucleotide Links from parquet:",Kn.length))}if(!wn.nucleotideLinks&&xt.nucleotideLinksText){console.log("[loadData] Loading nucleotide links from text...");const Kn=await fetchCompressedText(xt.nucleotideLinksText);console.log("[loadData] Nucleotide links text length:",Kn?.length),wn.nucleotideLinks=await parseNucleotideLinksOptimized(Kn),console.log("[loadData] Parsed nucleotide links:",wn.nucleotideLinks?.length)}}if(wn.nucleotideLinks=wn.nucleotideLinks||[],console.log("[loadData] Final nucleotide links count:",wn.nucleotideLinks.length),xt.domainsParquet||xt.domainsText){if(bt&&xt.domainsParquet){const Kn=await tryLoadParquet(xt.domainsParquet);if(Kn){const _n={};for(const yr of Kn){const Or=yr.gene_id||yr.geneId;Or&&(_n[Or]||(_n[Or]=[]),_n[Or].push(yr))}wn.domainsByGene=_n}}if(!wn.domainsByGene&&xt.domainsText){const Kn=await fetchCompressedText(xt.domainsText);wn.domainsByGene=await parseDomainsOptimized(Kn)}}if(wn.domainsByGene=wn.domainsByGene||{},xt.proteinMetadataParquet||xt.proteinMetadataText){if(console.log("[loadData] Loading Protein Metadata..."),bt&&xt.proteinMetadataParquet){const Kn=await tryLoadParquet(xt.proteinMetadataParquet);if(Kn){const _n={};for(const yr of Kn){const Or=yr.id||yr.gene_id||yr.protein_id;Or&&(_n[Or]=yr)}wn.proteinMetadata=_n,console.log("[loadData] Protein Metadata from parquet:",Object.keys(_n).length)}}if(!wn.proteinMetadata&&xt.proteinMetadataText){console.log("[loadData] Loading protein metadata from text:",xt.proteinMetadataText?.substring(0,100));const Kn=await fetchCompressedText(xt.proteinMetadataText);if(console.log("[loadData] Protein metadata text length:",Kn?.length,"sample:",Kn?.substring(0,300)),wn.proteinMetadata=await parseProteinMetadataOptimized(Kn),console.log("[loadData] Parsed protein metadata keys:",Object.keys(wn.proteinMetadata||{}).length),Object.keys(wn.proteinMetadata||{}).length>0){const _n=Object.keys(wn.proteinMetadata)[0];console.log("[loadData] Sample protein metadata:",_n,wn.proteinMetadata[_n])}}}if(wn.proteinMetadata=wn.proteinMetadata||{},console.log("[loadData] Final protein metadata count:",Object.keys(wn.proteinMetadata).length),xt.treeMetadataParquet||xt.treeMetadataText){if(console.log("[loadData] Loading Tree Metadata..."),bt&&xt.treeMetadataParquet){const Kn=await tryLoadParquet(xt.treeMetadataParquet);if(Kn){const _n={};for(const yr of Kn){const Or=yr.leaf_id||yr.id||yr.name;Or&&(_n[Or]=yr)}wn.treeMetadata=_n,console.log("[loadData] Tree Metadata from parquet:",Object.keys(_n).length)}}if(!wn.treeMetadata&&xt.treeMetadataText){console.log("[loadData] Loading tree metadata from text...");const Kn=await fetchCompressedText(xt.treeMetadataText);wn.treeMetadata=await parseTreeMetadataOptimized(Kn),console.log("[loadData] Parsed tree metadata keys:",Object.keys(wn.treeMetadata||{}).length)}}if(wn.treeMetadata=wn.treeMetadata||{},console.log("[loadData] Final tree metadata count:",Object.keys(wn.treeMetadata).length),xt.ncRNAMetadataParquet||xt.ncRNAMetadataText){if(console.log("[loadData] Loading ncRNA Metadata..."),bt&&xt.ncRNAMetadataParquet){const Kn=await tryLoadParquet(xt.ncRNAMetadataParquet);if(Kn){const _n={};for(const yr of Kn){const Or=yr.seqid,hn=parseInt(yr.start,10),Ar=parseInt(yr.end,10);if(Or&&!isNaN(hn)&&!isNaN(Ar)){const hr=`${Or}:${hn}:${Ar}`,{seqid:An,start:nr,end:gr,...ii}=yr;_n[hr]=ii}}wn.ncRNAMetadata=_n,console.log("[loadData] ncRNA Metadata from parquet:",Object.keys(_n).length)}}if(!wn.ncRNAMetadata&&xt.ncRNAMetadataText){console.log("[loadData] Loading ncRNA metadata from text...");const Kn=await fetchCompressedText(xt.ncRNAMetadataText);wn.ncRNAMetadata=await parseNonCodingMetadataOptimized(Kn),console.log("[loadData] Parsed ncRNA metadata keys:",Object.keys(wn.ncRNAMetadata||{}).length)}}if(wn.ncRNAMetadata=wn.ncRNAMetadata||{},console.log("[loadData] Final ncRNA metadata count:",Object.keys(wn.ncRNAMetadata).length),xt.newick)try{wn.newickStr=await fetchCompressedText(xt.newick)}catch(Kn){console.warn("Failed to load newick:",Kn)}if(wn.newickStr=wn.newickStr||"",xt.domainsMetadataParquet||xt.domainsMetadataText){if(console.log("[loadData] Loading Domain Metadata..."),bt&&xt.domainsMetadataParquet){const Kn=await tryLoadParquet(xt.domainsMetadataParquet);if(Kn){const _n={};for(const yr of Kn){const Or=yr.domain_id||yr.domainId||yr.id||yr.name;Or&&(_n[Or]=yr)}wn.domainMetadata=_n,console.log("[loadData] Domain Metadata from parquet:",Object.keys(_n).length)}}if(!wn.domainMetadata&&xt.domainsMetadataText){console.log("[loadData] Loading domain metadata from text...");const Kn=await fetchCompressedText(xt.domainsMetadataText);wn.domainMetadata=parseDomainsMetadata(Kn),console.log("[loadData] Parsed domain metadata keys:",Object.keys(wn.domainMetadata||{}).length)}}wn.domainMetadata=wn.domainMetadata||{},console.log("[loadData] Final domain metadata count:",Object.keys(wn.domainMetadata).length);const Xn=wn;sn(Xn),xn(Xn.gffFeatures.length>0),$n(Object.keys(Xn.domainsByGene).length>0),Tn(Xn.proteinLinks.length>0),Jn(Xn.nucleotideLinks.length>0);const tr=Xn.gffFeatures.some(Kn=>Kn?.type==="ncRNA"),Hn=Xn.gffFeatures.some(Kn=>Kn?.type==="region");if(Wn(tr),Fr(Hn),Object.keys(Xn.proteinMetadata).length>0){const Kn=Object.values(Xn.proteinMetadata)[0];if(Kn&&typeof Kn=="object"){const _n=Object.keys(Kn).filter(yr=>!yr.startsWith("_"));Qt(_n)}}if(Object.keys(Xn.treeMetadata).length>0){const Kn=Object.values(Xn.treeMetadata)[0];if(Kn&&typeof Kn=="object"){const _n=Object.keys(Kn).filter(yr=>!yr.startsWith("_"));pn(_n)}}Lt?.(Xn),Ut?.({gene:ln,tree:fn,domain:mn})}catch(wn){console.error("[HoodiniDashboard] Data loading failed:",wn),on(wn),kt?.(wn)}finally{nn(!1),Ot?.(!1)}})()},[xt,vt,bt]),reactExports.useEffect(()=>{_r&&Nt?.(_r)},[_r,Nt]);const Cn=reactExports.useCallback(gn=>{const wn=gn?.object??gn;if(!wn)return;const Xn=tr=>{try{const Hn=tn?.ncRNAMetadata||{};if(!Hn||Object.keys(Hn).length===0||tr?.metadata?.sequence||tr?.metadata?.structure)return tr;const Kn=An=>{if(!An||typeof An!="object")return An;const nr={...An};return nr.sequence||(nr.sequence=nr.rna_sequence||nr.sequence_nt||nr.nucleotide_sequence||nr.rna_seq||nr.seq||null),nr.structure||(nr.structure=nr.secondary_structure||nr.dot_bracket||nr.dbn||nr.structure_dbn||null),nr.type||(nr.type=nr.ncrna_type||nr.rna_type||nr.subtype||null),nr},_n=Number.isFinite(Number(tr.genomicStart))?Number(tr.genomicStart):null,yr=Number.isFinite(Number(tr.genomicEnd))?Number(tr.genomicEnd):null,Or=An=>{if(!An)return!1;const nr=Hn[An];return nr?(tr.metadata={...tr.metadata||{},...Kn(nr)},!0):!1};if(_n!==null&&yr!==null){const An=`${tr.seqid}:${_n}:${yr}`;if(Or(An))return tr;const nr=`${tr.seqid}:${yr}:${_n}`;if(Or(nr))return tr}const hn=Number.isFinite(Number(tr.start))?Number(tr.start):null,Ar=Number.isFinite(Number(tr.end))?Number(tr.end):null;if(hn!==null&&Ar!==null){const An=`${tr.seqid}:${hn}:${Ar}`;if(Or(An))return tr}const hr=tr.id||tr.originalId;return Or(hr),tr}catch(Hn){return console.debug("[Dashboard] ncRNA hydration failed",Hn),tr}};(wn?.type==="ncRNA"||wn?.type==="ncRNA_gene")&&Xn(wn),dr(wn),Mt?.(wn),It?.(wn)},[Mt,It,tn,Jt]),Bn=reactExports.useCallback(gn=>{if(!gn)return null;if(gn.gene_id)return gn.gene_id;if(gn.id)return gn.id;if(gn.protein_id)return gn.protein_id;if(gn.attributes){const wn=gn.attributes;if(typeof wn=="object"&&!Array.isArray(wn)){if(wn.ID)return wn.ID;if(wn.gene_id)return wn.gene_id;if(wn.Name)return wn.Name}else if(typeof wn=="string"){const Xn=wn.trim();if(Xn.startsWith("{")&&Xn.endsWith("}"))try{const Hn=JSON.parse(Xn);if(Hn&&typeof Hn=="object"){if(Hn.ID)return Hn.ID;if(Hn.gene_id)return Hn.gene_id;if(Hn.Name)return Hn.Name}}catch{}const tr=Xn.split(";");for(const Hn of tr){const[Kn,..._n]=Hn.split("="),yr=Kn?Kn.trim():"",Or=_n.join("=").trim();if(yr&&(yr==="ID"||yr==="gene_id"||yr==="Name"))return Or||yr}}}return gn.seqid&&gn.start&&gn.end?`${gn.seqid}:${gn.start}-${gn.end}`:null},[]),In=reactExports.useCallback(gn=>{if(!gn||!Jt.current)return;const wn=gn.type||gn.featureType||"CDS";if(wn==="CDS"||wn==="gene"){const tr=Bn(gn);if(tr){Jt.current.focusGeneById?.(String(tr));const Hn=Jt.current.genomeView;let Kn=null;if(Hn&&Hn.genesById){const yr=String(tr);let Or=null;if(Hn._genesByOriginalId&&typeof Hn._genesByOriginalId.get=="function"){const hn=Hn._genesByOriginalId.get(yr);hn&&hn.length&&(Or=hn[0])}if(!Or)for(const[hn,Ar]of Object.entries(Hn.genesById||{})){const hr=Ar.originalGeneId||Ar.gene_id||Ar.originalId||Ar.id||Ar.metadata&&(Ar.metadata.gene_id||Ar.metadata.id);if(hr&&String(hr)===yr){Or=hn;break}}Or&&(Kn=Hn.genesById[Or])}const _n={type:"gene",id:tr,metadata:Kn?.metadata||gn,...Kn};dr(_n),It?.(_n)}}else{const tr=gn.seqid||gn.hood_id||gn.hoodId,Hn=gn.start,Kn=gn.end;if(tr&&Hn!=null&&Kn!=null){Jt.current.focusFeatureByPosition?.(String(tr),Hn,Kn,wn);const _n={type:wn,id:gn.id||`${tr}:${Hn}-${Kn}`,metadata:gn.metadata||gn,...gn};dr(_n),It?.(_n)}else console.warn("[HoodiniDashboard] Missing required fields for zoom:",{hoodId:tr,start:Hn,end:Kn})}},[Bn,It]),or=reactExports.useCallback(gn=>{if(!gn||!Jt.current)return;const wn=gn.hood_id||gn.hoodId||gn.seqid;wn&&Jt.current.focusBaselineByHood?.(String(wn))},[]),rr=reactExports.useCallback(gn=>{if(!gn||!Jt.current)return;const wn=gn.leaf_id||gn.leafId||gn.leaf_name||gn.leafName||gn.id||gn.name;wn&&Jt.current.focusTreeLeafById?.(String(wn))},[]),vr=reactExports.useCallback((gn,wn)=>{if(wn==="hoods"){if(!Jt.current)return!0;const Xn=gn.hood_id||gn.hoodId||gn.seqid;if(!Xn)return!0;if(wr.has(String(Xn))||wr.has(Number(Xn)))return!1;const tr=Jt.current.getVisibleHoods?.();if(tr&&tr instanceof Set)return tr.has(String(Xn));const Hn=Jt.current.genomeView;if(Hn&&Hn.leaves)return Hn.leaves.includes(String(Xn))}if(wn==="treeMetadata"){if(!Jt.current)return!0;const Xn=gn.leaf_id||gn.leafId||gn.leaf_name||gn.leafName||gn.id||gn.name;if(!Xn)return!0;if(wr.has(String(Xn))||wr.has(Number(Xn)))return!1;const tr=Jt.current.getVisibleHoods?.();if(tr&&tr instanceof Set)return tr.has(String(Xn))}return!0},[wr,Cr]),cr=reactExports.useMemo(()=>{const gn=wn=>{if(!wn)return null;if(typeof wn=="string"){const Xn=wn.match(/ID=([^;]+)/);return Xn?Xn[1]:null}else if(typeof wn=="object")return wn.ID||wn.gene_id||wn.protein_id||null;return null};return{genes:{hiddenSet:Dr,invert:!0,getRowId:wn=>wn?.gene_id||gn(wn?.attributes)||wn?.uniqueId||wn?.id||wn?.originalGeneId,onToggle:(wn,Xn)=>{console.log("[Dashboard] onToggle Gene:",wn,"visible:",Xn),wn&&ar(tr=>{const Hn=new Set(tr);return Xn?Hn.delete(wn):Hn.add(wn),console.log("[Dashboard] updated hiddenGeneIds size:",Hn.size),Hn})}},hoods:{hiddenSet:wr,invert:!0,getRowId:wn=>wn?.hood_id||wn?.seqid||wn?.id||wn?.name,onToggle:(wn,Xn)=>{console.log("[Dashboard] onToggle Hood:",wn,"visible:",Xn),wn&&xr(tr=>{const Hn=new Set(tr),Kn=String(wn);return Xn?(Hn.delete(Kn),Hn.delete(Number(Kn))):Hn.add(Kn),console.log("[Dashboard] updated hiddenHoods size:",Hn.size),Hn})}}}},[Dr,wr]);return reactExports.useImperativeHandle(Et,()=>({getGenomeView:()=>Jt.current?.genomeView??null,getPhyloTree:()=>Jt.current?.phyloTree??null,getParsedData:()=>tn,getLegendData:()=>Jt.current?.getLegendData?.()??_r,focusGeneById:gn=>Jt.current?.focusGeneById?.(gn),focusHoodById:gn=>Jt.current?.focusBaselineByHood?.(gn),focusTreeLeafById:gn=>Jt.current?.focusTreeLeafById?.(gn),alignByCluster:gn=>{Xt("alignCluster",gn),Xt("useDefaultGeneAlignment",!1)},resetAlignment:()=>{Xt("alignCluster",null),Xt("useDefaultGeneAlignment",!0)},exportSVG:()=>Jt.current?.exportSVG?.()??"",getState:()=>qt,setState:gn=>{for(const[wn,Xn]of Object.entries(gn))Xt(wn,Xn)},vizRef:Jt}),[tn,qt,Xt,_r]),Zt?jsxRuntimeExports.jsx("div",{className:Rt,style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",...Pt},children:jsxRuntimeExports.jsx("div",{children:"Loading data..."})}):rn?jsxRuntimeExports.jsx("div",{className:Rt,style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",color:"red",...Pt},children:jsxRuntimeExports.jsxs("div",{children:["Error loading data: ",rn.message]})}):jsxRuntimeExports.jsxs(SidebarProvider,{style:{"--sidebar-width":"calc(var(--spacing) * 85)","--header-height":"calc(var(--spacing) * 12)",...Pt},className:Rt,children:[wt&&jsxRuntimeExports.jsx(AppSidebar,{variant:"inset",ultrametric:qt.ultrametric,setUltrametric:Kt("ultrametric"),showConnectingLines:qt.showConnectingLines,setShowConnectingLines:Kt("showConnectingLines"),showScrollbar:qt.showScrollbar,setShowScrollbar:Kt("showScrollbar"),alignLabels:qt.alignLabels,setAlignLabels:Kt("alignLabels"),alignCluster:qt.alignCluster,setAlignCluster:Kt("alignCluster"),useDefaultGeneAlignment:qt.useDefaultGeneAlignment,setUseDefaultGeneAlignment:Kt("useDefaultGeneAlignment"),defaultAlign:qt.defaultAlign,setDefaultAlign:Kt("defaultAlign"),phyloLabelPosition:qt.phyloLabelPosition,setPhyloLabelPosition:Kt("phyloLabelPosition"),arrowheadHeight:qt.arrowheadHeight,geneHeight:qt.geneHeight,geneLabelPosition:qt.geneLabelPosition,setGeneLabelPosition:Kt("geneLabelPosition"),geneColorBy:qt.geneColorBy,setGeneColorBy:Kt("geneColorBy"),treeColorBy:qt.treeColorBy,setTreeColorBy:Kt("treeColorBy"),domainColorBy:qt.domainColorBy,setDomainColorBy:Kt("domainColorBy"),treeLabelBy:qt.treeLabelBy,setTreeLabelBy:Kt("treeLabelBy"),geneLabelBy:qt.geneLabelBy,setGeneLabelBy:Kt("geneLabelBy"),genePalette:qt.genePalette,setGenePalette:Kt("genePalette"),phyloPalette:qt.phyloPalette,setPhyloPalette:Kt("phyloPalette"),domainPalette:qt.domainPalette,setDomainPalette:Kt("domainPalette"),domainSource:qt.domainSource,setDomainSource:Kt("domainSource"),ncRNAPalette:qt.ncRNAPalette,setNcRNAPalette:Kt("ncRNAPalette"),regionPalette:qt.regionPalette,setRegionPalette:Kt("regionPalette"),proteinLinkConfig:qt.proteinLinkConfig,setProteinLinkConfig:Kt("proteinLinkConfig"),nucleotideLinkConfig:qt.nucleotideLinkConfig,setNucleotideLinkConfig:Kt("nucleotideLinkConfig"),treeXScale:qt.treeXScale,setTreeXScale:Kt("treeXScale"),viewerLegend:_r,setViewerLegend:pr,phyloTreeViewerRef:Jt,geneMetadataColumns:ln,treeMetadataColumns:fn,domainMetadataColumns:mn,setGeneMetadataColumns:Qt,setTreeMetadataColumns:pn,setDomainMetadataColumns:vn,selectedGene:Cr,handleArrowheadHeightChange:Kt("arrowheadHeight"),handleGeneHeightChange:Kt("geneHeight"),tipWidthMode:qt.tipWidthMode,setTipWidthMode:Kt("tipWidthMode"),tipWidthFactor:qt.tipWidthFactor,setTipWidthFactor:Kt("tipWidthFactor"),tipWidthFixed:qt.tipWidthFixed,setTipWidthFixed:Kt("tipWidthFixed"),showTreeLayer:qt.showTreeLayer,setShowTreeLayer:Kt("showTreeLayer"),showBaselineLayer:qt.showBaselineLayer,setShowBaselineLayer:Kt("showBaselineLayer"),showGeneLayer:qt.showGeneLayer,setShowGeneLayer:Kt("showGeneLayer"),showDomainLayer:qt.showDomainLayer,setShowDomainLayer:Kt("showDomainLayer"),showProteinLinkLayer:qt.showProteinLinkLayer,setShowProteinLinkLayer:Kt("showProteinLinkLayer"),showNucleotideLinkLayer:qt.showNucleotideLinkLayer,setShowNucleotideLinkLayer:Kt("showNucleotideLinkLayer"),showNcRNALayer:qt.showNcRNALayer,setShowNcRNALayer:Kt("showNcRNALayer"),showRegionsLayer:qt.showRegionsLayer,setShowRegionsLayer:Kt("showRegionsLayer"),showGeneTextLayer:qt.showGeneTextLayer,setShowGeneTextLayer:Kt("showGeneTextLayer"),showTreeTextLayer:qt.showTreeTextLayer,setShowTreeTextLayer:Kt("showTreeTextLayer"),hasGeneData:yn,hasDomainData:Mn,hasProteinLinkData:Rn,hasNucleotideLinkData:ir,hasNcRNAData:jn,hasRegionsData:br,showFormatGuides:qt.showFormatGuides,setShowFormatGuides:Kt("showFormatGuides"),formatGuidePreset:qt.formatGuidePreset,setFormatGuidePreset:Kt("formatGuidePreset"),scaleExportToFormat:qt.scaleExportToFormat,setScaleExportToFormat:Kt("scaleExportToFormat"),cropToGuides:qt.cropToGuides,setCropToGuides:Kt("cropToGuides"),scaleRulerWithCrop:qt.scaleRulerWithCrop,setScaleRulerWithCrop:Kt("scaleRulerWithCrop"),ySpacing:qt.ySpacing,setYSpacing:Kt("ySpacing"),phyloLabelSize:qt.phyloLabelSize,setPhyloLabelSize:Kt("phyloLabelSize"),geneLabelSize:qt.geneLabelSize,setGeneLabelSize:Kt("geneLabelSize"),rulerLabelSize:qt.rulerLabelSize,setRulerLabelSize:Kt("rulerLabelSize"),strokeLineWidth:qt.strokeLineWidth,setStrokeLineWidth:Kt("strokeLineWidth"),genomeXScale:qt.genomeXScale,setGenomeXScale:Kt("genomeXScale")}),jsxRuntimeExports.jsxs(SidebarInset,{children:[St&&jsxRuntimeExports.jsxs("div",{style:{position:"absolute",top:"10px",left:"10px",zIndex:1e5,display:"flex",gap:"4px",padding:"4px",borderRadius:"8px",pointerEvents:"auto",isolation:"isolate",backgroundColor:"var(--background, white)"},className:"touch-manipulation shadow-sm",children:[wt&&jsxRuntimeExports.jsx(SidebarTrigger,{className:"size-7 sm:size-7 min-w-[44px] min-h-[44px] sm:min-w-0 sm:min-h-0 flex items-center justify-center border touch-manipulation"}),jsxRuntimeExports.jsx(SVGExportButton,{phyloTreeViewerRef:Jt}),jsxRuntimeExports.jsx(Button,{size:"icon",variant:"ghost",onClick:()=>Xt("showDataTable",!qt.showDataTable),"aria-label":qt.showDataTable?"Hide table view":"Show table view",className:"size-7 sm:size-7 min-w-[44px] min-h-[44px] sm:min-w-0 sm:min-h-0 border bg-transparent touch-manipulation",children:jsxRuntimeExports.jsx(Table,{className:"h-4 w-4"})}),jsxRuntimeExports.jsx(ThemeToggle,{}),Tt]}),jsxRuntimeExports.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},children:[tn&&jsxRuntimeExports.jsx(HoodiniViz,{ref:Jt,newickStr:tn.newickStr,gffFeatures:tn.gffFeatures,proteinLinks:tn.proteinLinks,nucleotideLinks:tn.nucleotideLinks,domainsByGene:tn.domainsByGene,hoods:tn.hoods,proteinMetadata:tn.proteinMetadata,domainMetadata:tn.domainMetadata,treeMetadata:tn.treeMetadata,nonCodingMetadata:tn.ncRNAMetadata,config:Qn,alignCluster:qt.alignCluster,useDefaultGeneAlignment:qt.useDefaultGeneAlignment,defaultAlign:qt.defaultAlign,ultrametric:qt.ultrametric,treeXScale:qt.treeXScale,showConnectingLines:qt.showConnectingLines,phyloLabelPosition:qt.phyloLabelPosition,alignLabels:qt.alignLabels,treeLabelBy:qt.treeLabelBy,treeColorBy:qt.treeColorBy,colorBy:qt.geneColorBy,geneLabelBy:qt.geneLabelBy,geneHeight:qt.geneHeight,arrowheadHeight:qt.arrowheadHeight,tipWidthMode:qt.tipWidthMode,tipWidthFactor:qt.tipWidthFactor,tipWidthFixed:qt.tipWidthFixed,geneLabelPosition:qt.geneLabelPosition,domainColorBy:qt.domainColorBy,domainSource:qt.domainSource,genePalette:qt.genePalette,domainPalette:qt.domainPalette,phyloPalette:qt.phyloPalette,ncRNAPalette:qt.ncRNAPalette,regionPalette:qt.regionPalette,proteinLinkConfig:qt.proteinLinkConfig,nucleotideLinkConfig:qt.nucleotideLinkConfig,showScrollbar:qt.showScrollbar,showRuler:qt.showRuler,showFormatGuides:qt.showFormatGuides,formatGuidePreset:qt.formatGuidePreset,scaleExportToFormat:qt.scaleExportToFormat,cropToGuides:qt.cropToGuides,scaleRulerWithCrop:qt.scaleRulerWithCrop,ySpacing:qt.ySpacing,phyloLabelSize:qt.phyloLabelSize,geneLabelSize:qt.geneLabelSize,rulerLabelSize:qt.rulerLabelSize,strokeLineWidth:qt.strokeLineWidth,genomeXScale:qt.genomeXScale,showTreeLayer:qt.showTreeLayer,showBaselineLayer:qt.showBaselineLayer,showGeneLayer:qt.showGeneLayer,showDomainLayer:qt.showDomainLayer,showProteinLinkLayer:qt.showProteinLinkLayer,showNucleotideLinkLayer:qt.showNucleotideLinkLayer,showNcRNALayer:qt.showNcRNALayer,showRegionsLayer:qt.showRegionsLayer,showGeneTextLayer:qt.showGeneTextLayer,showTreeTextLayer:qt.showTreeTextLayer,onObjectClick:Cn,onLegendChange:pr,hiddenHoodIds:wr,hiddenGeneIds:Dr}),tn&&jsxRuntimeExports.jsx("div",{style:{position:"absolute",bottom:0,left:0,right:0,height:qt.showDataTable?360:0,zIndex:100,overflow:"hidden",transition:"height 0.3s ease-out",background:"var(--background, #fff)",borderTop:qt.showDataTable?"1px solid var(--border, #e5e7eb)":"none"},children:qt.showDataTable&&jsxRuntimeExports.jsx(DataGridView,{datasets:{genes:{label:`Genes (${tn.gffFeatures.length})`,rows:tn.gffFeatures},hoods:{label:`Hoods (${tn.hoods.length})`,rows:tn.hoods},proteinLinks:{label:`Protein Links (${tn.proteinLinks.length})`,rows:tn.proteinLinks},nucleotideLinks:{label:`Nucleotide Links (${tn.nucleotideLinks.length})`,rows:tn.nucleotideLinks},proteinMetadata:{label:`Protein Metadata (${Object.keys(tn.proteinMetadata||{}).length})`,rows:Object.entries(tn.proteinMetadata||{}).map(([gn,wn])=>({id:gn,...wn}))},domainMetadata:{label:`Domain Metadata (${Object.keys(tn.domainMetadata||{}).length})`,rows:Object.entries(tn.domainMetadata||{}).map(([gn,wn])=>({id:gn,...wn}))},treeMetadata:{label:`Tree Metadata (${Object.keys(tn.treeMetadata||{}).length})`,rows:Object.entries(tn.treeMetadata||{}).map(([gn,wn])=>({id:gn,...wn}))}},initialKey:"genes",height:360,visibilityConfig:cr,onZoomGene:In,onZoomHood:or,onZoomTree:rr,isRowZoomable:vr})})]}),Vt]})]})});HoodiniDashboardInner.displayName="HoodiniDashboardInner";const HoodiniDashboard=React.forwardRef((yt,Et)=>{const{disableThemeProvider:xt=!1,theme:vt="system"}=yt;return xt?jsxRuntimeExports.jsx(HoodiniDashboardInner,{ref:Et,...yt}):jsxRuntimeExports.jsx(ThemeProvider,{children:jsxRuntimeExports.jsx(HoodiniDashboardInner,{ref:Et,...yt})})});HoodiniDashboard.displayName="HoodiniDashboard";var _3Dmol$3={exports:{}};var _3Dmol$2=_3Dmol$3.exports,hasRequired_3Dmol;function require_3Dmol(){return hasRequired_3Dmol||(hasRequired_3Dmol=1,(function(module,exports$1){(function(Et,xt){module.exports=xt()})(_3Dmol$2,()=>(()=>{var __webpack_modules__={"./node_modules/iobuffer/lib-esm/IOBuffer.js"(yt,Et,xt){xt.r(Et),xt.d(Et,{IOBuffer:()=>Ct});var vt=xt("./node_modules/iobuffer/lib-esm/text.js");const bt=1024*8,At=(()=>{const wt=new Uint8Array(4),St=new Uint32Array(wt.buffer);return!((St[0]=1)&wt[0])})(),Ft={int8:globalThis.Int8Array,uint8:globalThis.Uint8Array,int16:globalThis.Int16Array,uint16:globalThis.Uint16Array,int32:globalThis.Int32Array,uint32:globalThis.Uint32Array,uint64:globalThis.BigUint64Array,int64:globalThis.BigInt64Array,float32:globalThis.Float32Array,float64:globalThis.Float64Array};class Ct{buffer;byteLength;byteOffset;length;offset;lastWrittenByte;littleEndian;_data;_mark;_marks;constructor(St=bt,Tt={}){let Rt=!1;typeof St=="number"?St=new ArrayBuffer(St):(Rt=!0,this.lastWrittenByte=St.byteLength);const Pt=Tt.offset?Tt.offset>>>0:0,Lt=St.byteLength-Pt;let kt=Pt;(ArrayBuffer.isView(St)||St instanceof Ct)&&(St.byteLength!==St.buffer.byteLength&&(kt=St.byteOffset+Pt),St=St.buffer),Rt?this.lastWrittenByte=Lt:this.lastWrittenByte=0,this.buffer=St,this.length=Lt,this.byteLength=Lt,this.byteOffset=kt,this.offset=0,this.littleEndian=!0,this._data=new DataView(this.buffer,kt,Lt),this._mark=0,this._marks=[]}available(St=1){return this.offset+St<=this.length}isLittleEndian(){return this.littleEndian}setLittleEndian(){return this.littleEndian=!0,this}isBigEndian(){return!this.littleEndian}setBigEndian(){return this.littleEndian=!1,this}skip(St=1){return this.offset+=St,this}back(St=1){return this.offset-=St,this}seek(St){return this.offset=St,this}mark(){return this._mark=this.offset,this}reset(){return this.offset=this._mark,this}pushMark(){return this._marks.push(this.offset),this}popMark(){const St=this._marks.pop();if(St===void 0)throw new Error("Mark stack empty");return this.seek(St),this}rewind(){return this.offset=0,this}ensureAvailable(St=1){if(!this.available(St)){const Rt=(this.offset+St)*2,Pt=new Uint8Array(Rt);Pt.set(new Uint8Array(this.buffer)),this.buffer=Pt.buffer,this.length=Rt,this.byteLength=Rt,this._data=new DataView(this.buffer)}return this}readBoolean(){return this.readUint8()!==0}readInt8(){return this._data.getInt8(this.offset++)}readUint8(){return this._data.getUint8(this.offset++)}readByte(){return this.readUint8()}readBytes(St=1){return this.readArray(St,"uint8")}readArray(St,Tt){const Rt=Ft[Tt].BYTES_PER_ELEMENT*St,Pt=this.byteOffset+this.offset,Lt=this.buffer.slice(Pt,Pt+Rt);if(this.littleEndian===At&&Tt!=="uint8"&&Tt!=="int8"){const Ot=new Uint8Array(this.buffer.slice(Pt,Pt+Rt));Ot.reverse();const Mt=new Ft[Tt](Ot.buffer);return this.offset+=Rt,Mt.reverse(),Mt}const kt=new Ft[Tt](Lt);return this.offset+=Rt,kt}readInt16(){const St=this._data.getInt16(this.offset,this.littleEndian);return this.offset+=2,St}readUint16(){const St=this._data.getUint16(this.offset,this.littleEndian);return this.offset+=2,St}readInt32(){const St=this._data.getInt32(this.offset,this.littleEndian);return this.offset+=4,St}readUint32(){const St=this._data.getUint32(this.offset,this.littleEndian);return this.offset+=4,St}readFloat32(){const St=this._data.getFloat32(this.offset,this.littleEndian);return this.offset+=4,St}readFloat64(){const St=this._data.getFloat64(this.offset,this.littleEndian);return this.offset+=8,St}readBigInt64(){const St=this._data.getBigInt64(this.offset,this.littleEndian);return this.offset+=8,St}readBigUint64(){const St=this._data.getBigUint64(this.offset,this.littleEndian);return this.offset+=8,St}readChar(){return String.fromCharCode(this.readInt8())}readChars(St=1){let Tt="";for(let Rt=0;Rt<St;Rt++)Tt+=this.readChar();return Tt}readUtf8(St=1){return(0,vt.decode)(this.readBytes(St))}decodeText(St=1,Tt="utf8"){return(0,vt.decode)(this.readBytes(St),Tt)}writeBoolean(St){return this.writeUint8(St?255:0),this}writeInt8(St){return this.ensureAvailable(1),this._data.setInt8(this.offset++,St),this._updateLastWrittenByte(),this}writeUint8(St){return this.ensureAvailable(1),this._data.setUint8(this.offset++,St),this._updateLastWrittenByte(),this}writeByte(St){return this.writeUint8(St)}writeBytes(St){this.ensureAvailable(St.length);for(let Tt=0;Tt<St.length;Tt++)this._data.setUint8(this.offset++,St[Tt]);return this._updateLastWrittenByte(),this}writeInt16(St){return this.ensureAvailable(2),this._data.setInt16(this.offset,St,this.littleEndian),this.offset+=2,this._updateLastWrittenByte(),this}writeUint16(St){return this.ensureAvailable(2),this._data.setUint16(this.offset,St,this.littleEndian),this.offset+=2,this._updateLastWrittenByte(),this}writeInt32(St){return this.ensureAvailable(4),this._data.setInt32(this.offset,St,this.littleEndian),this.offset+=4,this._updateLastWrittenByte(),this}writeUint32(St){return this.ensureAvailable(4),this._data.setUint32(this.offset,St,this.littleEndian),this.offset+=4,this._updateLastWrittenByte(),this}writeFloat32(St){return this.ensureAvailable(4),this._data.setFloat32(this.offset,St,this.littleEndian),this.offset+=4,this._updateLastWrittenByte(),this}writeFloat64(St){return this.ensureAvailable(8),this._data.setFloat64(this.offset,St,this.littleEndian),this.offset+=8,this._updateLastWrittenByte(),this}writeBigInt64(St){return this.ensureAvailable(8),this._data.setBigInt64(this.offset,St,this.littleEndian),this.offset+=8,this._updateLastWrittenByte(),this}writeBigUint64(St){return this.ensureAvailable(8),this._data.setBigUint64(this.offset,St,this.littleEndian),this.offset+=8,this._updateLastWrittenByte(),this}writeChar(St){return this.writeUint8(St.charCodeAt(0))}writeChars(St){for(let Tt=0;Tt<St.length;Tt++)this.writeUint8(St.charCodeAt(Tt));return this}writeUtf8(St){return this.writeBytes((0,vt.encode)(St))}toArray(){return new Uint8Array(this.buffer,this.byteOffset,this.lastWrittenByte)}getWrittenByteLength(){return this.lastWrittenByte-this.byteOffset}_updateLastWrittenByte(){this.offset>this.lastWrittenByte&&(this.lastWrittenByte=this.offset)}}},"./node_modules/iobuffer/lib-esm/text.js"(yt,Et,xt){xt.r(Et),xt.d(Et,{decode:()=>vt,encode:()=>At});function vt(Ft,Ct="utf8"){return new TextDecoder(Ct).decode(Ft)}const bt=new TextEncoder;function At(Ft){return bt.encode(Ft)}},"./node_modules/netcdfjs/lib-esm/data.js"(yt,Et,xt){xt.r(Et),xt.d(Et,{nonRecord:()=>bt,record:()=>At});var vt=xt("./node_modules/netcdfjs/lib-esm/types.js");function bt(Ft,Ct){const wt=(0,vt.str2num)(Ct.type),St=Ct.size/(0,vt.num2bytes)(wt),Tt=new Array(St);for(let Rt=0;Rt<St;Rt++)Tt[Rt]=(0,vt.readType)(Ft,wt,1);return Tt}function At(Ft,Ct,wt){const St=(0,vt.str2num)(Ct.type),Tt=Ct.size?Ct.size/(0,vt.num2bytes)(St):1,Rt=wt.length,Pt=new Array(Rt),Lt=wt.recordStep;if(Lt)for(let kt=0;kt<Rt;kt++){const Ot=Ft.offset;Pt[kt]=(0,vt.readType)(Ft,St,Tt),Ft.seek(Ot+Lt)}else throw new Error("recordDimension.recordStep is undefined");return Pt}},"./node_modules/netcdfjs/lib-esm/header.js"(yt,Et,xt){xt.r(Et),xt.d(Et,{header:()=>Tt});var vt=xt("./node_modules/netcdfjs/lib-esm/types.js"),bt=xt("./node_modules/netcdfjs/lib-esm/utils.js");const At=0,Ft=10,Ct=11,wt=12,St=0;function Tt(kt,Ot){const Mt={version:Ot},It={length:kt.readUint32()},Nt=Rt(kt);Array.isArray(Nt)||(It.id=Nt.recordId,It.name=Nt.recordName,Mt.dimensions=Nt.dimensions),Mt.globalAttributes=Pt(kt);const Ut=Lt(kt,It?.id,Ot);return Array.isArray(Ut)||(Mt.variables=Ut.variables,It.recordStep=Ut.recordStep),Mt.recordDimension=It,Mt}function Rt(kt){const Ot={};let Mt,It;const Nt=kt.readUint32();let Ut;if(Nt===At)return(0,bt.notNetcdf)(kt.readUint32()!==At,"wrong empty tag for list of dimensions"),[];{(0,bt.notNetcdf)(Nt!==Ft,"wrong tag for list of dimensions");const jt=kt.readUint32();Ut=new Array(jt);for(let Vt=0;Vt<jt;Vt++){const zt=(0,bt.readName)(kt),Ht=kt.readUint32();Ht===St&&(Mt=Vt,It=zt),Ut[Vt]={name:zt,size:Ht}}}return Mt!==void 0&&(Ot.recordId=Mt),It!==void 0&&(Ot.recordName=It),Ot.dimensions=Ut,Ot}function Pt(kt){const Ot=kt.readUint32();let Mt;if(Ot===At)return(0,bt.notNetcdf)(kt.readUint32()!==At,"wrong empty tag for list of attributes"),[];{(0,bt.notNetcdf)(Ot!==wt,"wrong tag for list of attributes");const It=kt.readUint32();Mt=new Array(It);for(let Nt=0;Nt<It;Nt++){const Ut=(0,bt.readName)(kt),jt=kt.readUint32();(0,bt.notNetcdf)(jt<1||jt>6,`non valid type ${jt}`);const Vt=kt.readUint32(),zt=(0,vt.readType)(kt,jt,Vt);(0,bt.padding)(kt),Mt[Nt]={name:Ut,type:(0,vt.num2str)(jt),value:zt}}}return Mt}function Lt(kt,Ot,Mt){const It=kt.readUint32();let Nt=0,Ut;if(It===At)return(0,bt.notNetcdf)(kt.readUint32()!==At,"wrong empty tag for list of variables"),[];{(0,bt.notNetcdf)(It!==Ct,"wrong tag for list of variables");const jt=kt.readUint32();Ut=new Array(jt);for(let Vt=0;Vt<jt;Vt++){const zt=(0,bt.readName)(kt),Ht=kt.readUint32(),Wt=new Array(Ht);for(let tn=0;tn<Ht;tn++)Wt[tn]=kt.readUint32();const Gt=Pt(kt),qt=kt.readUint32();(0,bt.notNetcdf)(qt<1&&qt>6,`non valid type ${qt}`);const Xt=kt.readUint32();let Kt=kt.readUint32();Mt===2&&((0,bt.notNetcdf)(Kt>0,"offsets larger than 4GB not supported"),Kt=kt.readUint32());let Jt=!1;typeof Ot<"u"&&Wt[0]===Ot&&(Nt+=Xt,Jt=!0),Ut[Vt]={name:zt,dimensions:Wt,attributes:Gt,type:(0,vt.num2str)(qt),size:Xt,offset:Kt,record:Jt}}}return{variables:Ut,recordStep:Nt}}},"./node_modules/netcdfjs/lib-esm/index.js"(yt,Et,xt){xt.r(Et),xt.d(Et,{NetCDFReader:()=>vt.NetCDFReader});var vt=xt("./node_modules/netcdfjs/lib-esm/parser.js")},"./node_modules/netcdfjs/lib-esm/parser.js"(yt,Et,xt){xt.r(Et),xt.d(Et,{NetCDFReader:()=>wt});var vt=xt("./node_modules/iobuffer/lib-esm/IOBuffer.js"),bt=xt("./node_modules/netcdfjs/lib-esm/data.js"),At=xt("./node_modules/netcdfjs/lib-esm/header.js"),Ft=xt("./node_modules/netcdfjs/lib-esm/toString.js"),Ct=xt("./node_modules/netcdfjs/lib-esm/utils.js");class wt{constructor(Tt){this.toString=Ft.toString;const Rt=new vt.IOBuffer(Tt);Rt.setBigEndian(),(0,Ct.notNetcdf)(Rt.readChars(3)!=="CDF","should start with CDF");const Pt=Rt.readByte();(0,Ct.notNetcdf)(Pt>2,"unknown version"),this.header=(0,At.header)(Rt,Pt),this.buffer=Rt}get version(){return this.header.version===1?"classic format":"64-bit offset format"}get recordDimension(){return this.header.recordDimension}get dimensions(){return this.header.dimensions}get globalAttributes(){return this.header.globalAttributes}getAttribute(Tt){const Rt=this.globalAttributes.find(Pt=>Pt.name===Tt);return Rt?Rt.value:null}getDataVariableAsString(Tt){const Rt=this.getDataVariable(Tt);return Rt?Rt.join(""):null}get variables(){return this.header.variables}getDataVariable(Tt){let Rt;if(typeof Tt=="string"?Rt=this.header.variables.find(Pt=>Pt.name===Tt):Rt=Tt,Rt===void 0)throw new Error("Not a valid NetCDF v3.x file: variable not found");return this.buffer.seek(Rt.offset),Rt.record?(0,bt.record)(this.buffer,Rt,this.header.recordDimension):(0,bt.nonRecord)(this.buffer,Rt)}dataVariableExists(Tt){return this.header.variables.find(Pt=>Pt.name===Tt)!==void 0}attributeExists(Tt){return this.globalAttributes.find(Pt=>Pt.name===Tt)!==void 0}}},"./node_modules/netcdfjs/lib-esm/toString.js"(yt,Et,xt){xt.r(Et),xt.d(Et,{toString:()=>vt});function vt(){const bt=[];bt.push("DIMENSIONS");for(const Ft of this.dimensions)bt.push(` ${Ft.name.padEnd(30)} = size: ${Ft.size}`);bt.push(""),bt.push("GLOBAL ATTRIBUTES");for(const Ft of this.globalAttributes)bt.push(` ${Ft.name.padEnd(30)} = ${Ft.value}`);const At=JSON.parse(JSON.stringify(this.variables));bt.push(""),bt.push("VARIABLES:");for(const Ft of At){Ft.value=this.getDataVariable(Ft);let Ct=JSON.stringify(Ft.value);Ct.length>50&&(Ct=Ct.substring(0,50)),isNaN(Ft.value.length)||(Ct+=` (length: ${Ft.value.length})`),bt.push(` ${Ft.name.padEnd(30)} = ${Ct}`)}return bt.join(`
2983
+ `).map(vt=>vt.trim()).filter(vt=>vt&&!vt.startsWith("#")).map(vt=>{const bt=vt.split(" "),At=bt[0];bt[1];const Ft=bt[2],Ct=parseInt(bt[3],10),wt=parseInt(bt[4],10);bt[5]==="."||parseFloat(bt[5]);const St=bt[6]==="."?"+":bt[6];bt[7]==="."||bt[7];const Tt=parseAttributes(bt[8]||"");if(Ft==="ncRNA"&&Tt){let Rt=Tt.ID||Tt.id||null;typeof Rt=="string"?(Rt=Rt.replace(/^ID=/,"").replace(/;$/,"").trim(),Tt.ID=Rt,Tt.ncrna_type=Rt):Tt.ncrna_type=null}return Ft==="region"?new RegionFeature(At,Ct,wt,St,Ft,Tt,Et):new GFFFeature(At,Ct,wt,St,Ft,Tt)})}function parseAttributes(yt){const Et={};return!yt||yt==="."||(yt.includes(";")?yt.split(";"):[yt]).forEach(vt=>{const bt=vt.trim();if(bt)if(bt.includes("=")){const[At,...Ft]=bt.split("="),Ct=Ft.join("=").trim();Et[At.trim()]=Ct}else Et.ID=bt}),Et}async function parseProteinMetadataOptimized(yt){return parseProteinMetadataFallback(yt)}async function parseTreeMetadataOptimized(yt){return parseTreeMetadataFallback(yt)}async function parseHoodsOptimized(yt){return parseHoodsFallback(yt)}async function parseGFFOptimized(yt,Et=null){return parseGFF(yt,Et)}async function parseProteinLinksOptimized(yt){return parseProteinLinksFallback(yt)}async function parseNucleotideLinksOptimized(yt){return parseNucleotideLinksFallback(yt)}async function parseDomainsOptimized(yt){return parseDomainsFallback(yt)}async function parseNonCodingMetadataOptimized(yt){return parseNonCodingMetadataFallback(yt)}function parseProteinMetadataFallback(yt){const Et={};if(!yt)return Et;const xt=yt.split(/\r?\n/);if(xt.length<2)return Et;const vt=xt[0].split(/\t/);for(let bt=1;bt<xt.length;++bt){const At=xt[bt].trim();if(!At)continue;const Ft=At.split(/\t/),Ct={};for(let St=0;St<vt.length;++St)Ct[vt[St]]=Ft[St];const wt=Ct.id||Ct.gene_id||Ct.geneId;wt&&(Et[wt]=Ct)}return Et}function parseTreeMetadataFallback(yt){const Et={};if(!yt)return Et;const xt=yt.split(/\r?\n/);if(xt.length<2)return Et;const vt=xt[0].split(/\t/);for(let bt=1;bt<xt.length;++bt){const At=xt[bt].trim();if(!At)continue;const Ft=At.split(/\t/),Ct={};for(let St=0;St<vt.length;++St)Ct[vt[St]]=Ft[St];const wt=Ft[0];wt&&(Et[wt]=Ct)}return Et}function parseHoodsFallback(yt){const Et=[];if(!yt)return Et;const xt=yt.split(/\r?\n/);if(xt.length<2)return Et;const vt=xt[0].split(/\t/),bt=vt.indexOf("hood_id"),At=vt.indexOf("seqid"),Ft=vt.indexOf("start"),Ct=vt.indexOf("end"),wt=vt.indexOf("align_gene");for(let St=1;St<xt.length;++St){const Tt=xt[St].trim();if(!Tt)continue;const Rt=Tt.split(/\t/),Pt=Number(Rt[Ft]),Lt=Number(Rt[Ct]);if(!isFinite(Pt)||!isFinite(Lt))continue;const kt={hood_id:bt>=0?Rt[bt]:Rt[At],seqid:At>=0?Rt[At]:Rt[bt],start:Pt,end:Lt};wt!==-1&&Rt[wt]&&(kt.align_gene=Rt[wt]),Et.push(kt)}return Et}function parseProteinLinksFallback(yt){const Et=[];if(!yt)return Et;const xt=yt.split(/\r?\n/);for(let vt=0;vt<xt.length;++vt){const bt=xt[vt].trim();if(!bt)continue;const At=bt.split(/\s+/);Et.push({geneA:At[0],geneB:At[1],score:parseFloat(At[2])||0})}return Et}function parseNucleotideLinksFallback(yt){const Et=[];if(!yt)return Et;const xt=yt.split(/\r?\n/);for(let vt=0;vt<xt.length;++vt){const bt=xt[vt].trim();if(!bt)continue;const At=bt.split(/\s+/);Et.push({seqidA:At[0],startA:parseInt(At[1],10),endA:parseInt(At[2],10),seqidB:At[3],startB:parseInt(At[4],10),endB:parseInt(At[5],10),similarity:parseFloat(At[6])||0})}return Et}function parseDomainsFallback(yt){const Et={};if(!yt)return Et;const xt=yt.split(/\r?\n/);for(let vt=0;vt<xt.length;++vt){const bt=xt[vt].trim();if(!bt)continue;const At=bt.split(/\t/);if(At.length<7)continue;const Ft=At[0],Ct=At[1],wt=parseInt(At[2],10),St=parseInt(At[3],10),Tt=At[4],Rt=parseFloat(At[5])||0,Pt=parseFloat(At[6]),Lt={domainName:Ct,start:wt,end:St,source:Tt,evalue:Rt,coverage:Pt};Et[Ft]||(Et[Ft]=[]),Et[Ft].push(Lt)}return Et}function parseNonCodingMetadataFallback(yt){const Et={};if(!yt)return Et;const xt=yt.split(/\r?\n/);for(let vt=0;vt<xt.length;++vt){const bt=xt[vt].trim();if(!bt)continue;const At=bt.split(/\t/);At.length>=3&&(Et[At[0]]={type:At[1],description:At[2]})}return Et}const DEFAULT_INITIAL_STATE={alignCluster:null,useDefaultGeneAlignment:!0,defaultAlign:"start",ultrametric:!1,treeXScale:DEFAULT_CONFIG$1.tree.xScalePercent,showConnectingLines:!1,phyloLabelPosition:DEFAULT_CONFIG$1.tree.phyloLabelPosition,alignLabels:DEFAULT_CONFIG$1.tree.alignLabels,treeLabelBy:"species",treeColorBy:"species",ySpacing:DEFAULT_CONFIG$1.tree.ySpacing,phyloLabelSize:DEFAULT_CONFIG$1.text.phyloLabelSize,geneColorBy:"cluster",geneLabelBy:"cluster",geneHeight:DEFAULT_CONFIG$1.gene.height,arrowheadHeight:DEFAULT_CONFIG$1.gene.arrowheadHeight,tipWidthMode:DEFAULT_CONFIG$1.gene.tipWidthMode,tipWidthFactor:DEFAULT_CONFIG$1.gene.tipWidthFactor,tipWidthFixed:DEFAULT_CONFIG$1.gene.tipWidthFixed,geneLabelPosition:"bottom",geneLabelSize:DEFAULT_CONFIG$1.text.geneLabelSize,domainColorBy:"evalue",domainSource:"all",genePalette:{type:"qualitative",name:"RPRlab",numColors:15,reverse:!1,enabled:!0},domainPalette:{type:"sequential",name:"Gray",numColors:9,reverse:!1,enabled:!0,alphaRange:[.1,.3]},phyloPalette:{type:"qualitative",name:"RPRlab",numColors:15,reverse:!1,enabled:!0},ncRNAPalette:{type:"qualitative",name:"RPRlab",numColors:15,reverse:!1,enabled:!0},regionPalette:{type:"qualitative",name:"RPRlab",numColors:15,reverse:!1,enabled:!0},proteinLinkConfig:{colorBy:DEFAULT_CONFIG$1.proteinLink.colorBy,solidColor:DEFAULT_CONFIG$1.proteinLink.solidColor,useAlpha:DEFAULT_CONFIG$1.proteinLink.useAlpha,minAlpha:DEFAULT_CONFIG$1.proteinLink.minAlpha,maxAlpha:DEFAULT_CONFIG$1.proteinLink.maxAlpha},nucleotideLinkConfig:{colorBy:DEFAULT_CONFIG$1.nucleotideLink.colorBy,solidColor:DEFAULT_CONFIG$1.nucleotideLink.solidColor,useAlpha:DEFAULT_CONFIG$1.nucleotideLink.useAlpha,minAlpha:DEFAULT_CONFIG$1.nucleotideLink.minAlpha,maxAlpha:DEFAULT_CONFIG$1.nucleotideLink.maxAlpha},showScrollbar:!0,showRuler:!0,showDataTable:!1,rulerLabelSize:DEFAULT_CONFIG$1.text.rulerLabelSize,strokeLineWidth:DEFAULT_CONFIG$1.gene.edgeWidth,genomeXScale:DEFAULT_CONFIG$1.genome.xScalePercent,showFormatGuides:!1,formatGuidePreset:null,scaleExportToFormat:!1,cropToGuides:!0,scaleRulerWithCrop:!0,showTreeLayer:!0,showGeneLayer:!0,showDomainLayer:!0,showProteinLinkLayer:!0,showNucleotideLinkLayer:!0,showNcRNALayer:!0,showRegionsLayer:!0,showGeneTextLayer:!0,showTreeTextLayer:!0,showBaselineLayer:!0};function convertBigInts(yt){if(yt==null)return yt;if(typeof yt=="bigint")return Number(yt);if(Array.isArray(yt))return yt.map(convertBigInts);if(typeof yt=="object"){const Et={};for(const xt in yt)Et[xt]=convertBigInts(yt[xt]);return Et}return yt}async function tryLoadParquet(yt){if(!yt)return null;try{console.log("[tryLoadParquet] Loading:",yt.substring(0,80)+"...");const Et=await Promise.resolve().then(()=>index$1);let xt;try{xt=(await Promise.resolve().then(()=>index))?.compressors}catch{}if(Et&&typeof Et.parquetReadObjects=="function"){const vt=await fetch(yt);if(console.log("[tryLoadParquet] Fetch status:",vt.ok,vt.status),!vt.ok)return null;const bt=await vt.arrayBuffer();console.log("[tryLoadParquet] ArrayBuffer size:",bt.byteLength);const At=await Et.parquetReadObjects({file:bt,compressors:xt});if(console.log("[tryLoadParquet] Parsed rows:",Array.isArray(At)?At.length:"not array"),Array.isArray(At))return At.map(convertBigInts)}}catch(Et){console.warn("[hyparquet] failed to read",yt.substring(0,50),Et)}return null}async function fetchCompressedText(yt){const Et=await fetch(yt);if(!Et.ok)throw new Error(`fetch failed: ${yt}`);const xt=await Et.arrayBuffer(),vt=new Uint8Array(xt);return vt.length>=2&&vt[0]===31&&vt[1]===139?(await Promise.resolve().then(()=>pako_esm)).ungzip(vt,{to:"string"}):new TextDecoder().decode(vt)}const HoodiniDashboardInner=React.forwardRef((yt,Et)=>{const{dataPaths:xt={},data:vt,preferParquet:bt=!0,initialState:At={},controlledState:Ft,onStateChange:Ct,showSidebar:wt=!0,showToolbar:St=!0,toolbarExtra:Tt,className:Rt,style:Pt,onDataLoaded:Lt,onDataError:kt,onLoadingChange:Ot,onObjectClick:Mt,onSelectionChange:It,onLegendChange:Nt,onMetadataColumnsDetected:Ut,config:jt,children:Vt}=yt,zt=reactExports.useMemo(()=>({...DEFAULT_INITIAL_STATE,...At}),[]),[Ht,Wt]=reactExports.useState(zt),Gt=Ft!==void 0,qt=Gt?{...DEFAULT_INITIAL_STATE,...Ft}:Ht,Xt=reactExports.useCallback((gn,wn)=>{Gt?Ct?.({...qt,[gn]:wn},gn):Wt(Xn=>({...Xn,[gn]:wn}))},[Gt,qt,Ct]),Kt=reactExports.useCallback(gn=>wn=>Xt(gn,wn),[Xt]),Jt=reactExports.useRef(null),[tn,sn]=reactExports.useState(null),[Zt,nn]=reactExports.useState(!0),[rn,on]=reactExports.useState(null),[ln,Qt]=reactExports.useState(["cluster","species","geneType"]),[fn,pn]=reactExports.useState(["species","branchLength","support"]),[mn,vn]=reactExports.useState([]),[yn,xn]=reactExports.useState(!1),[Mn,$n]=reactExports.useState(!1),[Rn,Tn]=reactExports.useState(!1),[ir,Jn]=reactExports.useState(!1),[jn,Wn]=reactExports.useState(!1),[br,Fr]=reactExports.useState(!1),[Cr,dr]=reactExports.useState(null),[_r,pr]=reactExports.useState(null),[wr,xr]=reactExports.useState(new Set),[Dr,ar]=reactExports.useState(new Set),Qn=reactExports.useMemo(()=>({...DEFAULT_CONFIG$1,...jt}),[jt]);reactExports.useEffect(()=>{if(vt){const wn={gffFeatures:vt.gffFeatures||[],hoods:vt.hoods||[],proteinLinks:vt.proteinLinks||[],nucleotideLinks:vt.nucleotideLinks||[],domainsByGene:vt.domainsByGene||{},proteinMetadata:vt.proteinMetadata||{},domainMetadata:vt.domainMetadata||{},treeMetadata:vt.treeMetadata||{},newickStr:vt.newickStr||""};sn(wn),nn(!1),xn(wn.gffFeatures.length>0),$n(Object.keys(wn.domainsByGene).length>0),Tn(wn.proteinLinks.length>0),Jn(wn.nucleotideLinks.length>0);const Xn=wn.gffFeatures.some(Hn=>Hn?.type==="ncRNA"),tr=wn.gffFeatures.some(Hn=>Hn?.type==="region");Wn(Xn),Fr(tr),Lt?.(wn),Ot?.(!1);return}(async()=>{nn(!0),Ot?.(!0);try{const wn={};if(console.log("[loadData] Starting data load...",{dataPaths:xt,preferParquet:bt}),xt.gffParquet||xt.gffText){if(console.log("[loadData] Loading GFF from:",xt.gffParquet?"parquet":"text"),bt&&xt.gffParquet){const Kn=await tryLoadParquet(xt.gffParquet);console.log("[loadData] GFF parquet result:",Kn?.length??"null"),Kn&&(wn.gffFeatures=Kn)}if(!wn.gffFeatures&&xt.gffText){console.log("[loadData] Falling back to GFF text");const Kn=await fetchCompressedText(xt.gffText);wn.gffFeatures=await parseGFFOptimized(Kn)}}if(wn.gffFeatures=wn.gffFeatures||[],console.log("[loadData] Final gffFeatures count:",wn.gffFeatures.length),wn.gffFeatures.length>0&&console.log("[loadData] Sample GFF feature:",JSON.stringify(wn.gffFeatures[0])),xt.hoodsParquet||xt.hoodsText){if(bt&&xt.hoodsParquet){const Kn=await tryLoadParquet(xt.hoodsParquet);Kn&&(wn.hoods=Kn)}if(!wn.hoods&&xt.hoodsText){const Kn=await fetchCompressedText(xt.hoodsText);wn.hoods=await parseHoodsOptimized(Kn)}}if(wn.hoods=wn.hoods||[],console.log("[loadData] Final hoods count:",wn.hoods.length),wn.hoods.length>0&&console.log("[loadData] Sample hood:",JSON.stringify(wn.hoods[0])),xt.proteinLinksParquet||xt.proteinLinksText){if(console.log("[loadData] Loading Protein Links..."),bt&&xt.proteinLinksParquet){const Kn=await tryLoadParquet(xt.proteinLinksParquet);Kn&&(wn.proteinLinks=Kn.map(_n=>({geneA:_n.geneA||_n.qseqid||_n.gene_a,geneB:_n.geneB||_n.sseqid||_n.gene_b,score:_n.score??_n.pident??_n.similarity??0,..._n})),console.log("[loadData] Protein Links from parquet:",Kn.length))}if(!wn.proteinLinks&&xt.proteinLinksText){console.log("[loadData] Loading protein links from text:",xt.proteinLinksText?.substring(0,100));const Kn=await fetchCompressedText(xt.proteinLinksText);console.log("[loadData] Protein links text length:",Kn?.length,"sample:",Kn?.substring(0,200)),wn.proteinLinks=await parseProteinLinksOptimized(Kn),console.log("[loadData] Parsed protein links:",wn.proteinLinks?.length,wn.proteinLinks?.slice(0,2))}}if(wn.proteinLinks=wn.proteinLinks||[],console.log("[loadData] Final protein links count:",wn.proteinLinks.length),xt.nucleotideLinksParquet||xt.nucleotideLinksText){if(console.log("[loadData] Loading Nucleotide Links..."),bt&&xt.nucleotideLinksParquet){const Kn=await tryLoadParquet(xt.nucleotideLinksParquet);Kn&&(wn.nucleotideLinks=Kn.map(_n=>({seqidA:_n.seqidA||_n.query||_n.seqid_a,startA:_n.startA??_n.query_start??_n.start_a,endA:_n.endA??_n.query_end??_n.end_a,seqidB:_n.seqidB||_n.ref||_n.seqid_b,startB:_n.startB??_n.ref_start??_n.start_b,endB:_n.endB??_n.ref_end??_n.end_b,similarity:_n.similarity??_n.ani??_n.pident??0,..._n})),console.log("[loadData] Nucleotide Links from parquet:",Kn.length))}if(!wn.nucleotideLinks&&xt.nucleotideLinksText){console.log("[loadData] Loading nucleotide links from text...");const Kn=await fetchCompressedText(xt.nucleotideLinksText);console.log("[loadData] Nucleotide links text length:",Kn?.length),wn.nucleotideLinks=await parseNucleotideLinksOptimized(Kn),console.log("[loadData] Parsed nucleotide links:",wn.nucleotideLinks?.length)}}if(wn.nucleotideLinks=wn.nucleotideLinks||[],console.log("[loadData] Final nucleotide links count:",wn.nucleotideLinks.length),xt.domainsParquet||xt.domainsText){if(bt&&xt.domainsParquet){const Kn=await tryLoadParquet(xt.domainsParquet);if(Kn){const _n={};for(const yr of Kn){const Or=yr.gene_id||yr.geneId;Or&&(_n[Or]||(_n[Or]=[]),_n[Or].push(yr))}wn.domainsByGene=_n}}if(!wn.domainsByGene&&xt.domainsText){const Kn=await fetchCompressedText(xt.domainsText);wn.domainsByGene=await parseDomainsOptimized(Kn)}}if(wn.domainsByGene=wn.domainsByGene||{},xt.proteinMetadataParquet||xt.proteinMetadataText){if(console.log("[loadData] Loading Protein Metadata..."),bt&&xt.proteinMetadataParquet){const Kn=await tryLoadParquet(xt.proteinMetadataParquet);if(Kn){const _n={};for(const yr of Kn){const Or=yr.id||yr.gene_id||yr.protein_id;Or&&(_n[Or]=yr)}wn.proteinMetadata=_n,console.log("[loadData] Protein Metadata from parquet:",Object.keys(_n).length)}}if(!wn.proteinMetadata&&xt.proteinMetadataText){console.log("[loadData] Loading protein metadata from text:",xt.proteinMetadataText?.substring(0,100));const Kn=await fetchCompressedText(xt.proteinMetadataText);if(console.log("[loadData] Protein metadata text length:",Kn?.length,"sample:",Kn?.substring(0,300)),wn.proteinMetadata=await parseProteinMetadataOptimized(Kn),console.log("[loadData] Parsed protein metadata keys:",Object.keys(wn.proteinMetadata||{}).length),Object.keys(wn.proteinMetadata||{}).length>0){const _n=Object.keys(wn.proteinMetadata)[0];console.log("[loadData] Sample protein metadata:",_n,wn.proteinMetadata[_n])}}}if(wn.proteinMetadata=wn.proteinMetadata||{},console.log("[loadData] Final protein metadata count:",Object.keys(wn.proteinMetadata).length),xt.treeMetadataParquet||xt.treeMetadataText){if(console.log("[loadData] Loading Tree Metadata..."),bt&&xt.treeMetadataParquet){const Kn=await tryLoadParquet(xt.treeMetadataParquet);if(Kn){const _n={};for(const yr of Kn){const Or=yr.leaf_id||yr.id||yr.name;Or&&(_n[Or]=yr)}wn.treeMetadata=_n,console.log("[loadData] Tree Metadata from parquet:",Object.keys(_n).length)}}if(!wn.treeMetadata&&xt.treeMetadataText){console.log("[loadData] Loading tree metadata from text...");const Kn=await fetchCompressedText(xt.treeMetadataText);wn.treeMetadata=await parseTreeMetadataOptimized(Kn),console.log("[loadData] Parsed tree metadata keys:",Object.keys(wn.treeMetadata||{}).length)}}if(wn.treeMetadata=wn.treeMetadata||{},console.log("[loadData] Final tree metadata count:",Object.keys(wn.treeMetadata).length),xt.ncRNAMetadataParquet||xt.ncRNAMetadataText){if(console.log("[loadData] Loading ncRNA Metadata..."),bt&&xt.ncRNAMetadataParquet){const Kn=await tryLoadParquet(xt.ncRNAMetadataParquet);if(Kn){const _n={};for(const yr of Kn){const Or=yr.seqid,hn=parseInt(yr.start,10),Ar=parseInt(yr.end,10);if(Or&&!isNaN(hn)&&!isNaN(Ar)){const hr=`${Or}:${hn}:${Ar}`,{seqid:An,start:nr,end:gr,...ii}=yr;_n[hr]=ii}}wn.ncRNAMetadata=_n,console.log("[loadData] ncRNA Metadata from parquet:",Object.keys(_n).length)}}if(!wn.ncRNAMetadata&&xt.ncRNAMetadataText){console.log("[loadData] Loading ncRNA metadata from text...");const Kn=await fetchCompressedText(xt.ncRNAMetadataText);wn.ncRNAMetadata=await parseNonCodingMetadataOptimized(Kn),console.log("[loadData] Parsed ncRNA metadata keys:",Object.keys(wn.ncRNAMetadata||{}).length)}}if(wn.ncRNAMetadata=wn.ncRNAMetadata||{},console.log("[loadData] Final ncRNA metadata count:",Object.keys(wn.ncRNAMetadata).length),xt.newick)try{wn.newickStr=await fetchCompressedText(xt.newick)}catch(Kn){console.warn("Failed to load newick:",Kn)}if(wn.newickStr=wn.newickStr||"",xt.domainsMetadataParquet||xt.domainsMetadataText){if(console.log("[loadData] Loading Domain Metadata..."),bt&&xt.domainsMetadataParquet){const Kn=await tryLoadParquet(xt.domainsMetadataParquet);if(Kn){const _n={};for(const yr of Kn){const Or=yr.domain_id||yr.domainId||yr.id||yr.name;Or&&(_n[Or]=yr)}wn.domainMetadata=_n,console.log("[loadData] Domain Metadata from parquet:",Object.keys(_n).length)}}if(!wn.domainMetadata&&xt.domainsMetadataText){console.log("[loadData] Loading domain metadata from text...");const Kn=await fetchCompressedText(xt.domainsMetadataText);wn.domainMetadata=parseDomainsMetadata(Kn),console.log("[loadData] Parsed domain metadata keys:",Object.keys(wn.domainMetadata||{}).length)}}wn.domainMetadata=wn.domainMetadata||{},console.log("[loadData] Final domain metadata count:",Object.keys(wn.domainMetadata).length);const Xn=wn;sn(Xn),xn(Xn.gffFeatures.length>0),$n(Object.keys(Xn.domainsByGene).length>0),Tn(Xn.proteinLinks.length>0),Jn(Xn.nucleotideLinks.length>0);const tr=Xn.gffFeatures.some(Kn=>Kn?.type==="ncRNA"),Hn=Xn.gffFeatures.some(Kn=>Kn?.type==="region");if(Wn(tr),Fr(Hn),Object.keys(Xn.proteinMetadata).length>0){const Kn=Object.values(Xn.proteinMetadata)[0];if(Kn&&typeof Kn=="object"){const _n=Object.keys(Kn).filter(yr=>!yr.startsWith("_"));Qt(_n)}}if(Object.keys(Xn.treeMetadata).length>0){const Kn=Object.values(Xn.treeMetadata)[0];if(Kn&&typeof Kn=="object"){const _n=Object.keys(Kn).filter(yr=>!yr.startsWith("_"));pn(_n)}}Lt?.(Xn),Ut?.({gene:ln,tree:fn,domain:mn})}catch(wn){console.error("[HoodiniDashboard] Data loading failed:",wn),on(wn),kt?.(wn)}finally{nn(!1),Ot?.(!1)}})()},[xt,vt,bt]),reactExports.useEffect(()=>{_r&&Nt?.(_r)},[_r,Nt]);const Cn=reactExports.useCallback(gn=>{const wn=gn?.object??gn;if(!wn)return;const Xn=tr=>{try{const Hn=tn?.ncRNAMetadata||{};if(!Hn||Object.keys(Hn).length===0||tr?.metadata?.sequence||tr?.metadata?.structure)return tr;const Kn=An=>{if(!An||typeof An!="object")return An;const nr={...An};return nr.sequence||(nr.sequence=nr.rna_sequence||nr.sequence_nt||nr.nucleotide_sequence||nr.rna_seq||nr.seq||null),nr.structure||(nr.structure=nr.secondary_structure||nr.dot_bracket||nr.dbn||nr.structure_dbn||null),nr.type||(nr.type=nr.ncrna_type||nr.rna_type||nr.subtype||null),nr},_n=Number.isFinite(Number(tr.genomicStart))?Number(tr.genomicStart):null,yr=Number.isFinite(Number(tr.genomicEnd))?Number(tr.genomicEnd):null,Or=An=>{if(!An)return!1;const nr=Hn[An];return nr?(tr.metadata={...tr.metadata||{},...Kn(nr)},!0):!1};if(_n!==null&&yr!==null){const An=`${tr.seqid}:${_n}:${yr}`;if(Or(An))return tr;const nr=`${tr.seqid}:${yr}:${_n}`;if(Or(nr))return tr}const hn=Number.isFinite(Number(tr.start))?Number(tr.start):null,Ar=Number.isFinite(Number(tr.end))?Number(tr.end):null;if(hn!==null&&Ar!==null){const An=`${tr.seqid}:${hn}:${Ar}`;if(Or(An))return tr}const hr=tr.id||tr.originalId;return Or(hr),tr}catch(Hn){return console.debug("[Dashboard] ncRNA hydration failed",Hn),tr}};(wn?.type==="ncRNA"||wn?.type==="ncRNA_gene")&&Xn(wn),dr(wn),Mt?.(wn),It?.(wn)},[Mt,It,tn,Jt]),Bn=reactExports.useCallback(gn=>{if(!gn)return null;if(gn.gene_id)return gn.gene_id;if(gn.id)return gn.id;if(gn.protein_id)return gn.protein_id;if(gn.attributes){const wn=gn.attributes;if(typeof wn=="object"&&!Array.isArray(wn)){if(wn.ID)return wn.ID;if(wn.gene_id)return wn.gene_id;if(wn.Name)return wn.Name}else if(typeof wn=="string"){const Xn=wn.trim();if(Xn.startsWith("{")&&Xn.endsWith("}"))try{const Hn=JSON.parse(Xn);if(Hn&&typeof Hn=="object"){if(Hn.ID)return Hn.ID;if(Hn.gene_id)return Hn.gene_id;if(Hn.Name)return Hn.Name}}catch{}const tr=Xn.split(";");for(const Hn of tr){const[Kn,..._n]=Hn.split("="),yr=Kn?Kn.trim():"",Or=_n.join("=").trim();if(yr&&(yr==="ID"||yr==="gene_id"||yr==="Name"))return Or||yr}}}return gn.seqid&&gn.start&&gn.end?`${gn.seqid}:${gn.start}-${gn.end}`:null},[]),In=reactExports.useCallback(gn=>{if(!gn||!Jt.current)return;const wn=gn.type||gn.featureType||"CDS";if(wn==="CDS"||wn==="gene"){const tr=Bn(gn);if(tr){Jt.current.focusGeneById?.(String(tr));const Hn=Jt.current.genomeView;let Kn=null;if(Hn&&Hn.genesById){const yr=String(tr);let Or=null;if(Hn._genesByOriginalId&&typeof Hn._genesByOriginalId.get=="function"){const hn=Hn._genesByOriginalId.get(yr);hn&&hn.length&&(Or=hn[0])}if(!Or)for(const[hn,Ar]of Object.entries(Hn.genesById||{})){const hr=Ar.originalGeneId||Ar.gene_id||Ar.originalId||Ar.id||Ar.metadata&&(Ar.metadata.gene_id||Ar.metadata.id);if(hr&&String(hr)===yr){Or=hn;break}}Or&&(Kn=Hn.genesById[Or])}const _n={type:"gene",id:tr,metadata:Kn?.metadata||gn,...Kn};dr(_n),It?.(_n)}}else{const tr=gn.seqid||gn.hood_id||gn.hoodId,Hn=gn.start,Kn=gn.end;if(tr&&Hn!=null&&Kn!=null){Jt.current.focusFeatureByPosition?.(String(tr),Hn,Kn,wn);const _n={type:wn,id:gn.id||`${tr}:${Hn}-${Kn}`,metadata:gn.metadata||gn,...gn};dr(_n),It?.(_n)}else console.warn("[HoodiniDashboard] Missing required fields for zoom:",{hoodId:tr,start:Hn,end:Kn})}},[Bn,It]),or=reactExports.useCallback(gn=>{if(!gn||!Jt.current)return;const wn=gn.hood_id||gn.hoodId||gn.seqid;wn&&Jt.current.focusBaselineByHood?.(String(wn))},[]),rr=reactExports.useCallback(gn=>{if(!gn||!Jt.current)return;const wn=gn.leaf_id||gn.leafId||gn.leaf_name||gn.leafName||gn.id||gn.name;wn&&Jt.current.focusTreeLeafById?.(String(wn))},[]),vr=reactExports.useCallback((gn,wn)=>{if(wn==="hoods"){if(!Jt.current)return!0;const Xn=gn.hood_id||gn.hoodId||gn.seqid;if(!Xn)return!0;if(wr.has(String(Xn))||wr.has(Number(Xn)))return!1;const tr=Jt.current.getVisibleHoods?.();if(tr&&tr instanceof Set)return tr.has(String(Xn));const Hn=Jt.current.genomeView;if(Hn&&Hn.leaves)return Hn.leaves.includes(String(Xn))}if(wn==="treeMetadata"){if(!Jt.current)return!0;const Xn=gn.leaf_id||gn.leafId||gn.leaf_name||gn.leafName||gn.id||gn.name;if(!Xn)return!0;if(wr.has(String(Xn))||wr.has(Number(Xn)))return!1;const tr=Jt.current.getVisibleHoods?.();if(tr&&tr instanceof Set)return tr.has(String(Xn))}return!0},[wr,Cr]),cr=reactExports.useMemo(()=>{const gn=wn=>{if(!wn)return null;if(typeof wn=="string"){const Xn=wn.match(/ID=([^;]+)/);return Xn?Xn[1]:null}else if(typeof wn=="object")return wn.ID||wn.gene_id||wn.protein_id||null;return null};return{genes:{hiddenSet:Dr,invert:!0,getRowId:wn=>wn?.gene_id||gn(wn?.attributes)||wn?.uniqueId||wn?.id||wn?.originalGeneId,onToggle:(wn,Xn)=>{console.log("[Dashboard] onToggle Gene:",wn,"visible:",Xn),wn&&ar(tr=>{const Hn=new Set(tr);return Xn?Hn.delete(wn):Hn.add(wn),console.log("[Dashboard] updated hiddenGeneIds size:",Hn.size),Hn})}},hoods:{hiddenSet:wr,invert:!0,getRowId:wn=>wn?.hood_id||wn?.seqid||wn?.id||wn?.name,onToggle:(wn,Xn)=>{console.log("[Dashboard] onToggle Hood:",wn,"visible:",Xn),wn&&xr(tr=>{const Hn=new Set(tr),Kn=String(wn);return Xn?(Hn.delete(Kn),Hn.delete(Number(Kn))):Hn.add(Kn),console.log("[Dashboard] updated hiddenHoods size:",Hn.size),Hn})}}}},[Dr,wr]);return reactExports.useImperativeHandle(Et,()=>({getGenomeView:()=>Jt.current?.genomeView??null,getPhyloTree:()=>Jt.current?.phyloTree??null,getParsedData:()=>tn,getLegendData:()=>Jt.current?.getLegendData?.()??_r,focusGeneById:gn=>Jt.current?.focusGeneById?.(gn),focusHoodById:gn=>Jt.current?.focusBaselineByHood?.(gn),focusTreeLeafById:gn=>Jt.current?.focusTreeLeafById?.(gn),alignByCluster:gn=>{Xt("alignCluster",gn),Xt("useDefaultGeneAlignment",!1)},resetAlignment:()=>{Xt("alignCluster",null),Xt("useDefaultGeneAlignment",!0)},exportSVG:()=>Jt.current?.exportSVG?.()??"",getState:()=>qt,setState:gn=>{for(const[wn,Xn]of Object.entries(gn))Xt(wn,Xn)},vizRef:Jt}),[tn,qt,Xt,_r]),Zt?jsxRuntimeExports.jsx("div",{className:Rt,style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",...Pt},children:jsxRuntimeExports.jsx("div",{children:"Loading data..."})}):rn?jsxRuntimeExports.jsx("div",{className:Rt,style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",color:"red",...Pt},children:jsxRuntimeExports.jsxs("div",{children:["Error loading data: ",rn.message]})}):jsxRuntimeExports.jsxs(SidebarProvider,{style:{"--sidebar-width":"calc(var(--spacing) * 85)","--header-height":"calc(var(--spacing) * 12)",...Pt},className:Rt,children:[wt&&jsxRuntimeExports.jsx(AppSidebar,{variant:"inset",ultrametric:qt.ultrametric,setUltrametric:Kt("ultrametric"),showConnectingLines:qt.showConnectingLines,setShowConnectingLines:Kt("showConnectingLines"),showScrollbar:qt.showScrollbar,setShowScrollbar:Kt("showScrollbar"),alignLabels:qt.alignLabels,setAlignLabels:Kt("alignLabels"),alignCluster:qt.alignCluster,setAlignCluster:Kt("alignCluster"),useDefaultGeneAlignment:qt.useDefaultGeneAlignment,setUseDefaultGeneAlignment:Kt("useDefaultGeneAlignment"),defaultAlign:qt.defaultAlign,setDefaultAlign:Kt("defaultAlign"),phyloLabelPosition:qt.phyloLabelPosition,setPhyloLabelPosition:Kt("phyloLabelPosition"),arrowheadHeight:qt.arrowheadHeight,geneHeight:qt.geneHeight,geneLabelPosition:qt.geneLabelPosition,setGeneLabelPosition:Kt("geneLabelPosition"),geneColorBy:qt.geneColorBy,setGeneColorBy:Kt("geneColorBy"),treeColorBy:qt.treeColorBy,setTreeColorBy:Kt("treeColorBy"),domainColorBy:qt.domainColorBy,setDomainColorBy:Kt("domainColorBy"),treeLabelBy:qt.treeLabelBy,setTreeLabelBy:Kt("treeLabelBy"),geneLabelBy:qt.geneLabelBy,setGeneLabelBy:Kt("geneLabelBy"),genePalette:qt.genePalette,setGenePalette:Kt("genePalette"),phyloPalette:qt.phyloPalette,setPhyloPalette:Kt("phyloPalette"),domainPalette:qt.domainPalette,setDomainPalette:Kt("domainPalette"),domainSource:qt.domainSource,setDomainSource:Kt("domainSource"),ncRNAPalette:qt.ncRNAPalette,setNcRNAPalette:Kt("ncRNAPalette"),regionPalette:qt.regionPalette,setRegionPalette:Kt("regionPalette"),proteinLinkConfig:qt.proteinLinkConfig,setProteinLinkConfig:Kt("proteinLinkConfig"),nucleotideLinkConfig:qt.nucleotideLinkConfig,setNucleotideLinkConfig:Kt("nucleotideLinkConfig"),treeXScale:qt.treeXScale,setTreeXScale:Kt("treeXScale"),viewerLegend:_r,setViewerLegend:pr,phyloTreeViewerRef:Jt,geneMetadataColumns:ln,treeMetadataColumns:fn,domainMetadataColumns:mn,setGeneMetadataColumns:Qt,setTreeMetadataColumns:pn,setDomainMetadataColumns:vn,selectedGene:Cr,handleArrowheadHeightChange:Kt("arrowheadHeight"),handleGeneHeightChange:Kt("geneHeight"),tipWidthMode:qt.tipWidthMode,setTipWidthMode:Kt("tipWidthMode"),tipWidthFactor:qt.tipWidthFactor,setTipWidthFactor:Kt("tipWidthFactor"),tipWidthFixed:qt.tipWidthFixed,setTipWidthFixed:Kt("tipWidthFixed"),showTreeLayer:qt.showTreeLayer,setShowTreeLayer:Kt("showTreeLayer"),showBaselineLayer:qt.showBaselineLayer,setShowBaselineLayer:Kt("showBaselineLayer"),showGeneLayer:qt.showGeneLayer,setShowGeneLayer:Kt("showGeneLayer"),showDomainLayer:qt.showDomainLayer,setShowDomainLayer:Kt("showDomainLayer"),showProteinLinkLayer:qt.showProteinLinkLayer,setShowProteinLinkLayer:Kt("showProteinLinkLayer"),showNucleotideLinkLayer:qt.showNucleotideLinkLayer,setShowNucleotideLinkLayer:Kt("showNucleotideLinkLayer"),showNcRNALayer:qt.showNcRNALayer,setShowNcRNALayer:Kt("showNcRNALayer"),showRegionsLayer:qt.showRegionsLayer,setShowRegionsLayer:Kt("showRegionsLayer"),showGeneTextLayer:qt.showGeneTextLayer,setShowGeneTextLayer:Kt("showGeneTextLayer"),showTreeTextLayer:qt.showTreeTextLayer,setShowTreeTextLayer:Kt("showTreeTextLayer"),hasGeneData:yn,hasDomainData:Mn,hasProteinLinkData:Rn,hasNucleotideLinkData:ir,hasNcRNAData:jn,hasRegionsData:br,showFormatGuides:qt.showFormatGuides,setShowFormatGuides:Kt("showFormatGuides"),formatGuidePreset:qt.formatGuidePreset,setFormatGuidePreset:Kt("formatGuidePreset"),scaleExportToFormat:qt.scaleExportToFormat,setScaleExportToFormat:Kt("scaleExportToFormat"),cropToGuides:qt.cropToGuides,setCropToGuides:Kt("cropToGuides"),scaleRulerWithCrop:qt.scaleRulerWithCrop,setScaleRulerWithCrop:Kt("scaleRulerWithCrop"),ySpacing:qt.ySpacing,setYSpacing:Kt("ySpacing"),phyloLabelSize:qt.phyloLabelSize,setPhyloLabelSize:Kt("phyloLabelSize"),geneLabelSize:qt.geneLabelSize,setGeneLabelSize:Kt("geneLabelSize"),rulerLabelSize:qt.rulerLabelSize,setRulerLabelSize:Kt("rulerLabelSize"),strokeLineWidth:qt.strokeLineWidth,setStrokeLineWidth:Kt("strokeLineWidth"),genomeXScale:qt.genomeXScale,setGenomeXScale:Kt("genomeXScale")}),jsxRuntimeExports.jsxs(SidebarInset,{children:[St&&jsxRuntimeExports.jsxs("div",{style:{position:"absolute",top:"10px",left:"10px",zIndex:1e5,display:"flex",gap:"4px",padding:"4px",borderRadius:"8px",pointerEvents:"auto",isolation:"isolate",backgroundColor:"var(--background, white)"},className:"touch-manipulation shadow-sm",children:[wt&&jsxRuntimeExports.jsx(SidebarTrigger,{className:"size-7 sm:size-7 min-w-[44px] min-h-[44px] sm:min-w-0 sm:min-h-0 flex items-center justify-center border touch-manipulation"}),jsxRuntimeExports.jsx(SVGExportButton,{phyloTreeViewerRef:Jt}),jsxRuntimeExports.jsx(Button,{size:"icon",variant:"ghost",onClick:()=>Xt("showDataTable",!qt.showDataTable),"aria-label":qt.showDataTable?"Hide table view":"Show table view",className:"size-7 sm:size-7 min-w-[44px] min-h-[44px] sm:min-w-0 sm:min-h-0 border bg-transparent touch-manipulation",children:jsxRuntimeExports.jsx(Table,{className:"h-4 w-4"})}),jsxRuntimeExports.jsx(ThemeToggle,{}),Tt]}),jsxRuntimeExports.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},children:[tn&&jsxRuntimeExports.jsx(HoodiniViz,{ref:Jt,newickStr:tn.newickStr,gffFeatures:tn.gffFeatures,proteinLinks:tn.proteinLinks,nucleotideLinks:tn.nucleotideLinks,domainsByGene:tn.domainsByGene,hoods:tn.hoods,proteinMetadata:tn.proteinMetadata,domainMetadata:tn.domainMetadata,treeMetadata:tn.treeMetadata,nonCodingMetadata:tn.ncRNAMetadata,config:Qn,alignCluster:qt.alignCluster,useDefaultGeneAlignment:qt.useDefaultGeneAlignment,defaultAlign:qt.defaultAlign,ultrametric:qt.ultrametric,treeXScale:qt.treeXScale,showConnectingLines:qt.showConnectingLines,phyloLabelPosition:qt.phyloLabelPosition,alignLabels:qt.alignLabels,treeLabelBy:qt.treeLabelBy,treeColorBy:qt.treeColorBy,colorBy:qt.geneColorBy,geneLabelBy:qt.geneLabelBy,geneHeight:qt.geneHeight,arrowheadHeight:qt.arrowheadHeight,tipWidthMode:qt.tipWidthMode,tipWidthFactor:qt.tipWidthFactor,tipWidthFixed:qt.tipWidthFixed,geneLabelPosition:qt.geneLabelPosition,domainColorBy:qt.domainColorBy,domainSource:qt.domainSource,genePalette:qt.genePalette,domainPalette:qt.domainPalette,phyloPalette:qt.phyloPalette,ncRNAPalette:qt.ncRNAPalette,regionPalette:qt.regionPalette,proteinLinkConfig:qt.proteinLinkConfig,nucleotideLinkConfig:qt.nucleotideLinkConfig,showScrollbar:qt.showScrollbar,showRuler:qt.showRuler,showFormatGuides:qt.showFormatGuides,formatGuidePreset:qt.formatGuidePreset,scaleExportToFormat:qt.scaleExportToFormat,cropToGuides:qt.cropToGuides,scaleRulerWithCrop:qt.scaleRulerWithCrop,ySpacing:qt.ySpacing,phyloLabelSize:qt.phyloLabelSize,geneLabelSize:qt.geneLabelSize,rulerLabelSize:qt.rulerLabelSize,strokeLineWidth:qt.strokeLineWidth,genomeXScale:qt.genomeXScale,showTreeLayer:qt.showTreeLayer,showBaselineLayer:qt.showBaselineLayer,showGeneLayer:qt.showGeneLayer,showDomainLayer:qt.showDomainLayer,showProteinLinkLayer:qt.showProteinLinkLayer,showNucleotideLinkLayer:qt.showNucleotideLinkLayer,showNcRNALayer:qt.showNcRNALayer,showRegionsLayer:qt.showRegionsLayer,showGeneTextLayer:qt.showGeneTextLayer,showTreeTextLayer:qt.showTreeTextLayer,onObjectClick:Cn,onLegendChange:pr,hiddenHoodIds:wr,hiddenGeneIds:Dr}),tn&&jsxRuntimeExports.jsx("div",{style:{position:"absolute",bottom:0,left:0,right:0,height:qt.showDataTable?360:0,zIndex:100,overflow:"hidden",transition:"height 0.3s ease-out",background:"var(--background, #fff)",borderTop:qt.showDataTable?"1px solid var(--border, #e5e7eb)":"none"},children:qt.showDataTable&&jsxRuntimeExports.jsx(DataGridView,{datasets:{genes:{label:`Genes (${tn.gffFeatures.length})`,rows:tn.gffFeatures},hoods:{label:`Hoods (${tn.hoods.length})`,rows:tn.hoods},proteinLinks:{label:`Protein Links (${tn.proteinLinks.length})`,rows:tn.proteinLinks},nucleotideLinks:{label:`Nucleotide Links (${tn.nucleotideLinks.length})`,rows:tn.nucleotideLinks},proteinMetadata:{label:`Protein Metadata (${Object.keys(tn.proteinMetadata||{}).length})`,rows:Object.entries(tn.proteinMetadata||{}).map(([gn,wn])=>({id:gn,...wn}))},domainMetadata:{label:`Domain Metadata (${Object.keys(tn.domainMetadata||{}).length})`,rows:Object.entries(tn.domainMetadata||{}).map(([gn,wn])=>({id:gn,...wn}))},treeMetadata:{label:`Tree Metadata (${Object.keys(tn.treeMetadata||{}).length})`,rows:Object.entries(tn.treeMetadata||{}).map(([gn,wn])=>({id:gn,...wn}))}},initialKey:"genes",height:360,visibilityConfig:cr,onZoomGene:In,onZoomHood:or,onZoomTree:rr,isRowZoomable:vr})})]}),Vt]})]})});HoodiniDashboardInner.displayName="HoodiniDashboardInner";const HoodiniDashboard=React.forwardRef((yt,Et)=>{const{disableThemeProvider:xt=!1,theme:vt="system"}=yt;return xt?jsxRuntimeExports.jsx(HoodiniDashboardInner,{ref:Et,...yt}):jsxRuntimeExports.jsx(ThemeProvider,{children:jsxRuntimeExports.jsx(HoodiniDashboardInner,{ref:Et,...yt})})});HoodiniDashboard.displayName="HoodiniDashboard";function createDashboard(yt){const{container:Et,...xt}=yt,vt=typeof Et=="string"?document.getElementById(Et):Et;if(!vt)throw new Error(`Hoodini: Container "${Et}" not found`);const bt=ReactDOM$1.createRoot(vt);return bt.render(React.createElement(HoodiniDashboard,xt)),{destroy:()=>bt.unmount(),root:bt}}function createViz(yt){const{container:Et,...xt}=yt,vt=typeof Et=="string"?document.getElementById(Et):Et;if(!vt)throw new Error(`Hoodini: Container "${Et}" not found`);const bt=ReactDOM$1.createRoot(vt);return bt.render(React.createElement(HoodiniViz,xt)),{destroy:()=>bt.unmount(),root:bt}}const create=createDashboard;var _3Dmol$3={exports:{}};var _3Dmol$2=_3Dmol$3.exports,hasRequired_3Dmol;function require_3Dmol(){return hasRequired_3Dmol||(hasRequired_3Dmol=1,(function(module,exports$1){(function(Et,xt){module.exports=xt()})(_3Dmol$2,()=>(()=>{var __webpack_modules__={"./node_modules/iobuffer/lib-esm/IOBuffer.js"(yt,Et,xt){xt.r(Et),xt.d(Et,{IOBuffer:()=>Ct});var vt=xt("./node_modules/iobuffer/lib-esm/text.js");const bt=1024*8,At=(()=>{const wt=new Uint8Array(4),St=new Uint32Array(wt.buffer);return!((St[0]=1)&wt[0])})(),Ft={int8:globalThis.Int8Array,uint8:globalThis.Uint8Array,int16:globalThis.Int16Array,uint16:globalThis.Uint16Array,int32:globalThis.Int32Array,uint32:globalThis.Uint32Array,uint64:globalThis.BigUint64Array,int64:globalThis.BigInt64Array,float32:globalThis.Float32Array,float64:globalThis.Float64Array};class Ct{buffer;byteLength;byteOffset;length;offset;lastWrittenByte;littleEndian;_data;_mark;_marks;constructor(St=bt,Tt={}){let Rt=!1;typeof St=="number"?St=new ArrayBuffer(St):(Rt=!0,this.lastWrittenByte=St.byteLength);const Pt=Tt.offset?Tt.offset>>>0:0,Lt=St.byteLength-Pt;let kt=Pt;(ArrayBuffer.isView(St)||St instanceof Ct)&&(St.byteLength!==St.buffer.byteLength&&(kt=St.byteOffset+Pt),St=St.buffer),Rt?this.lastWrittenByte=Lt:this.lastWrittenByte=0,this.buffer=St,this.length=Lt,this.byteLength=Lt,this.byteOffset=kt,this.offset=0,this.littleEndian=!0,this._data=new DataView(this.buffer,kt,Lt),this._mark=0,this._marks=[]}available(St=1){return this.offset+St<=this.length}isLittleEndian(){return this.littleEndian}setLittleEndian(){return this.littleEndian=!0,this}isBigEndian(){return!this.littleEndian}setBigEndian(){return this.littleEndian=!1,this}skip(St=1){return this.offset+=St,this}back(St=1){return this.offset-=St,this}seek(St){return this.offset=St,this}mark(){return this._mark=this.offset,this}reset(){return this.offset=this._mark,this}pushMark(){return this._marks.push(this.offset),this}popMark(){const St=this._marks.pop();if(St===void 0)throw new Error("Mark stack empty");return this.seek(St),this}rewind(){return this.offset=0,this}ensureAvailable(St=1){if(!this.available(St)){const Rt=(this.offset+St)*2,Pt=new Uint8Array(Rt);Pt.set(new Uint8Array(this.buffer)),this.buffer=Pt.buffer,this.length=Rt,this.byteLength=Rt,this._data=new DataView(this.buffer)}return this}readBoolean(){return this.readUint8()!==0}readInt8(){return this._data.getInt8(this.offset++)}readUint8(){return this._data.getUint8(this.offset++)}readByte(){return this.readUint8()}readBytes(St=1){return this.readArray(St,"uint8")}readArray(St,Tt){const Rt=Ft[Tt].BYTES_PER_ELEMENT*St,Pt=this.byteOffset+this.offset,Lt=this.buffer.slice(Pt,Pt+Rt);if(this.littleEndian===At&&Tt!=="uint8"&&Tt!=="int8"){const Ot=new Uint8Array(this.buffer.slice(Pt,Pt+Rt));Ot.reverse();const Mt=new Ft[Tt](Ot.buffer);return this.offset+=Rt,Mt.reverse(),Mt}const kt=new Ft[Tt](Lt);return this.offset+=Rt,kt}readInt16(){const St=this._data.getInt16(this.offset,this.littleEndian);return this.offset+=2,St}readUint16(){const St=this._data.getUint16(this.offset,this.littleEndian);return this.offset+=2,St}readInt32(){const St=this._data.getInt32(this.offset,this.littleEndian);return this.offset+=4,St}readUint32(){const St=this._data.getUint32(this.offset,this.littleEndian);return this.offset+=4,St}readFloat32(){const St=this._data.getFloat32(this.offset,this.littleEndian);return this.offset+=4,St}readFloat64(){const St=this._data.getFloat64(this.offset,this.littleEndian);return this.offset+=8,St}readBigInt64(){const St=this._data.getBigInt64(this.offset,this.littleEndian);return this.offset+=8,St}readBigUint64(){const St=this._data.getBigUint64(this.offset,this.littleEndian);return this.offset+=8,St}readChar(){return String.fromCharCode(this.readInt8())}readChars(St=1){let Tt="";for(let Rt=0;Rt<St;Rt++)Tt+=this.readChar();return Tt}readUtf8(St=1){return(0,vt.decode)(this.readBytes(St))}decodeText(St=1,Tt="utf8"){return(0,vt.decode)(this.readBytes(St),Tt)}writeBoolean(St){return this.writeUint8(St?255:0),this}writeInt8(St){return this.ensureAvailable(1),this._data.setInt8(this.offset++,St),this._updateLastWrittenByte(),this}writeUint8(St){return this.ensureAvailable(1),this._data.setUint8(this.offset++,St),this._updateLastWrittenByte(),this}writeByte(St){return this.writeUint8(St)}writeBytes(St){this.ensureAvailable(St.length);for(let Tt=0;Tt<St.length;Tt++)this._data.setUint8(this.offset++,St[Tt]);return this._updateLastWrittenByte(),this}writeInt16(St){return this.ensureAvailable(2),this._data.setInt16(this.offset,St,this.littleEndian),this.offset+=2,this._updateLastWrittenByte(),this}writeUint16(St){return this.ensureAvailable(2),this._data.setUint16(this.offset,St,this.littleEndian),this.offset+=2,this._updateLastWrittenByte(),this}writeInt32(St){return this.ensureAvailable(4),this._data.setInt32(this.offset,St,this.littleEndian),this.offset+=4,this._updateLastWrittenByte(),this}writeUint32(St){return this.ensureAvailable(4),this._data.setUint32(this.offset,St,this.littleEndian),this.offset+=4,this._updateLastWrittenByte(),this}writeFloat32(St){return this.ensureAvailable(4),this._data.setFloat32(this.offset,St,this.littleEndian),this.offset+=4,this._updateLastWrittenByte(),this}writeFloat64(St){return this.ensureAvailable(8),this._data.setFloat64(this.offset,St,this.littleEndian),this.offset+=8,this._updateLastWrittenByte(),this}writeBigInt64(St){return this.ensureAvailable(8),this._data.setBigInt64(this.offset,St,this.littleEndian),this.offset+=8,this._updateLastWrittenByte(),this}writeBigUint64(St){return this.ensureAvailable(8),this._data.setBigUint64(this.offset,St,this.littleEndian),this.offset+=8,this._updateLastWrittenByte(),this}writeChar(St){return this.writeUint8(St.charCodeAt(0))}writeChars(St){for(let Tt=0;Tt<St.length;Tt++)this.writeUint8(St.charCodeAt(Tt));return this}writeUtf8(St){return this.writeBytes((0,vt.encode)(St))}toArray(){return new Uint8Array(this.buffer,this.byteOffset,this.lastWrittenByte)}getWrittenByteLength(){return this.lastWrittenByte-this.byteOffset}_updateLastWrittenByte(){this.offset>this.lastWrittenByte&&(this.lastWrittenByte=this.offset)}}},"./node_modules/iobuffer/lib-esm/text.js"(yt,Et,xt){xt.r(Et),xt.d(Et,{decode:()=>vt,encode:()=>At});function vt(Ft,Ct="utf8"){return new TextDecoder(Ct).decode(Ft)}const bt=new TextEncoder;function At(Ft){return bt.encode(Ft)}},"./node_modules/netcdfjs/lib-esm/data.js"(yt,Et,xt){xt.r(Et),xt.d(Et,{nonRecord:()=>bt,record:()=>At});var vt=xt("./node_modules/netcdfjs/lib-esm/types.js");function bt(Ft,Ct){const wt=(0,vt.str2num)(Ct.type),St=Ct.size/(0,vt.num2bytes)(wt),Tt=new Array(St);for(let Rt=0;Rt<St;Rt++)Tt[Rt]=(0,vt.readType)(Ft,wt,1);return Tt}function At(Ft,Ct,wt){const St=(0,vt.str2num)(Ct.type),Tt=Ct.size?Ct.size/(0,vt.num2bytes)(St):1,Rt=wt.length,Pt=new Array(Rt),Lt=wt.recordStep;if(Lt)for(let kt=0;kt<Rt;kt++){const Ot=Ft.offset;Pt[kt]=(0,vt.readType)(Ft,St,Tt),Ft.seek(Ot+Lt)}else throw new Error("recordDimension.recordStep is undefined");return Pt}},"./node_modules/netcdfjs/lib-esm/header.js"(yt,Et,xt){xt.r(Et),xt.d(Et,{header:()=>Tt});var vt=xt("./node_modules/netcdfjs/lib-esm/types.js"),bt=xt("./node_modules/netcdfjs/lib-esm/utils.js");const At=0,Ft=10,Ct=11,wt=12,St=0;function Tt(kt,Ot){const Mt={version:Ot},It={length:kt.readUint32()},Nt=Rt(kt);Array.isArray(Nt)||(It.id=Nt.recordId,It.name=Nt.recordName,Mt.dimensions=Nt.dimensions),Mt.globalAttributes=Pt(kt);const Ut=Lt(kt,It?.id,Ot);return Array.isArray(Ut)||(Mt.variables=Ut.variables,It.recordStep=Ut.recordStep),Mt.recordDimension=It,Mt}function Rt(kt){const Ot={};let Mt,It;const Nt=kt.readUint32();let Ut;if(Nt===At)return(0,bt.notNetcdf)(kt.readUint32()!==At,"wrong empty tag for list of dimensions"),[];{(0,bt.notNetcdf)(Nt!==Ft,"wrong tag for list of dimensions");const jt=kt.readUint32();Ut=new Array(jt);for(let Vt=0;Vt<jt;Vt++){const zt=(0,bt.readName)(kt),Ht=kt.readUint32();Ht===St&&(Mt=Vt,It=zt),Ut[Vt]={name:zt,size:Ht}}}return Mt!==void 0&&(Ot.recordId=Mt),It!==void 0&&(Ot.recordName=It),Ot.dimensions=Ut,Ot}function Pt(kt){const Ot=kt.readUint32();let Mt;if(Ot===At)return(0,bt.notNetcdf)(kt.readUint32()!==At,"wrong empty tag for list of attributes"),[];{(0,bt.notNetcdf)(Ot!==wt,"wrong tag for list of attributes");const It=kt.readUint32();Mt=new Array(It);for(let Nt=0;Nt<It;Nt++){const Ut=(0,bt.readName)(kt),jt=kt.readUint32();(0,bt.notNetcdf)(jt<1||jt>6,`non valid type ${jt}`);const Vt=kt.readUint32(),zt=(0,vt.readType)(kt,jt,Vt);(0,bt.padding)(kt),Mt[Nt]={name:Ut,type:(0,vt.num2str)(jt),value:zt}}}return Mt}function Lt(kt,Ot,Mt){const It=kt.readUint32();let Nt=0,Ut;if(It===At)return(0,bt.notNetcdf)(kt.readUint32()!==At,"wrong empty tag for list of variables"),[];{(0,bt.notNetcdf)(It!==Ct,"wrong tag for list of variables");const jt=kt.readUint32();Ut=new Array(jt);for(let Vt=0;Vt<jt;Vt++){const zt=(0,bt.readName)(kt),Ht=kt.readUint32(),Wt=new Array(Ht);for(let tn=0;tn<Ht;tn++)Wt[tn]=kt.readUint32();const Gt=Pt(kt),qt=kt.readUint32();(0,bt.notNetcdf)(qt<1&&qt>6,`non valid type ${qt}`);const Xt=kt.readUint32();let Kt=kt.readUint32();Mt===2&&((0,bt.notNetcdf)(Kt>0,"offsets larger than 4GB not supported"),Kt=kt.readUint32());let Jt=!1;typeof Ot<"u"&&Wt[0]===Ot&&(Nt+=Xt,Jt=!0),Ut[Vt]={name:zt,dimensions:Wt,attributes:Gt,type:(0,vt.num2str)(qt),size:Xt,offset:Kt,record:Jt}}}return{variables:Ut,recordStep:Nt}}},"./node_modules/netcdfjs/lib-esm/index.js"(yt,Et,xt){xt.r(Et),xt.d(Et,{NetCDFReader:()=>vt.NetCDFReader});var vt=xt("./node_modules/netcdfjs/lib-esm/parser.js")},"./node_modules/netcdfjs/lib-esm/parser.js"(yt,Et,xt){xt.r(Et),xt.d(Et,{NetCDFReader:()=>wt});var vt=xt("./node_modules/iobuffer/lib-esm/IOBuffer.js"),bt=xt("./node_modules/netcdfjs/lib-esm/data.js"),At=xt("./node_modules/netcdfjs/lib-esm/header.js"),Ft=xt("./node_modules/netcdfjs/lib-esm/toString.js"),Ct=xt("./node_modules/netcdfjs/lib-esm/utils.js");class wt{constructor(Tt){this.toString=Ft.toString;const Rt=new vt.IOBuffer(Tt);Rt.setBigEndian(),(0,Ct.notNetcdf)(Rt.readChars(3)!=="CDF","should start with CDF");const Pt=Rt.readByte();(0,Ct.notNetcdf)(Pt>2,"unknown version"),this.header=(0,At.header)(Rt,Pt),this.buffer=Rt}get version(){return this.header.version===1?"classic format":"64-bit offset format"}get recordDimension(){return this.header.recordDimension}get dimensions(){return this.header.dimensions}get globalAttributes(){return this.header.globalAttributes}getAttribute(Tt){const Rt=this.globalAttributes.find(Pt=>Pt.name===Tt);return Rt?Rt.value:null}getDataVariableAsString(Tt){const Rt=this.getDataVariable(Tt);return Rt?Rt.join(""):null}get variables(){return this.header.variables}getDataVariable(Tt){let Rt;if(typeof Tt=="string"?Rt=this.header.variables.find(Pt=>Pt.name===Tt):Rt=Tt,Rt===void 0)throw new Error("Not a valid NetCDF v3.x file: variable not found");return this.buffer.seek(Rt.offset),Rt.record?(0,bt.record)(this.buffer,Rt,this.header.recordDimension):(0,bt.nonRecord)(this.buffer,Rt)}dataVariableExists(Tt){return this.header.variables.find(Pt=>Pt.name===Tt)!==void 0}attributeExists(Tt){return this.globalAttributes.find(Pt=>Pt.name===Tt)!==void 0}}},"./node_modules/netcdfjs/lib-esm/toString.js"(yt,Et,xt){xt.r(Et),xt.d(Et,{toString:()=>vt});function vt(){const bt=[];bt.push("DIMENSIONS");for(const Ft of this.dimensions)bt.push(` ${Ft.name.padEnd(30)} = size: ${Ft.size}`);bt.push(""),bt.push("GLOBAL ATTRIBUTES");for(const Ft of this.globalAttributes)bt.push(` ${Ft.name.padEnd(30)} = ${Ft.value}`);const At=JSON.parse(JSON.stringify(this.variables));bt.push(""),bt.push("VARIABLES:");for(const Ft of At){Ft.value=this.getDataVariable(Ft);let Ct=JSON.stringify(Ft.value);Ct.length>50&&(Ct=Ct.substring(0,50)),isNaN(Ft.value.length)||(Ct+=` (length: ${Ft.value.length})`),bt.push(` ${Ft.name.padEnd(30)} = ${Ct}`)}return bt.join(`
2984
2984
  `)}},"./node_modules/netcdfjs/lib-esm/types.js"(yt,Et,xt){xt.r(Et),xt.d(Et,{num2bytes:()=>At,num2str:()=>bt,readType:()=>wt,str2num:()=>Ft});const vt={BYTE:1,CHAR:2,SHORT:3,INT:4,FLOAT:5,DOUBLE:6};function bt(Tt){switch(Number(Tt)){case vt.BYTE:return"byte";case vt.CHAR:return"char";case vt.SHORT:return"short";case vt.INT:return"int";case vt.FLOAT:return"float";case vt.DOUBLE:return"double";default:return"undefined"}}function At(Tt){switch(Number(Tt)){case vt.BYTE:return 1;case vt.CHAR:return 1;case vt.SHORT:return 2;case vt.INT:return 4;case vt.FLOAT:return 4;case vt.DOUBLE:return 8;default:return-1}}function Ft(Tt){switch(String(Tt)){case"byte":return vt.BYTE;case"char":return vt.CHAR;case"short":return vt.SHORT;case"int":return vt.INT;case"float":return vt.FLOAT;case"double":return vt.DOUBLE;default:return-1}}function Ct(Tt,Rt){if(Tt!==1){const Pt=new Array(Tt);for(let Lt=0;Lt<Tt;Lt++)Pt[Lt]=Rt();return Pt}else return Rt()}function wt(Tt,Rt,Pt){switch(Rt){case vt.BYTE:return Array.from(Tt.readBytes(Pt));case vt.CHAR:return St(Tt.readChars(Pt));case vt.SHORT:return Ct(Pt,Tt.readInt16.bind(Tt));case vt.INT:return Ct(Pt,Tt.readInt32.bind(Tt));case vt.FLOAT:return Ct(Pt,Tt.readFloat32.bind(Tt));case vt.DOUBLE:return Ct(Pt,Tt.readFloat64.bind(Tt));default:throw new Error(`non valid type ${Rt}`)}}function St(Tt){return Tt.charCodeAt(Tt.length-1)===0?Tt.substring(0,Tt.length-1):Tt}},"./node_modules/netcdfjs/lib-esm/utils.js"(yt,Et,xt){xt.r(Et),xt.d(Et,{notNetcdf:()=>vt,padding:()=>bt,readName:()=>At});function vt(Ft,Ct){if(Ft)throw new TypeError(`Not a valid NetCDF v3.x file: ${Ct}`)}function bt(Ft){Ft.offset%4!==0&&Ft.skip(4-Ft.offset%4)}function At(Ft){const Ct=Ft.readUint32(),wt=Ft.readChars(Ct);return bt(Ft),wt}},"./node_modules/pako/dist/pako.esm.mjs"(yt,Et,xt){xt.r(Et),xt.d(Et,{Deflate:()=>hc,Inflate:()=>nc,constants:()=>Nc,default:()=>La,deflate:()=>Vl,deflateRaw:()=>Ac,gzip:()=>ml,inflate:()=>eu,inflateRaw:()=>wc,ungzip:()=>tu});const vt=4,bt=0,At=1,Ft=2;function Ct(en){let Sn=en.length;for(;--Sn>=0;)en[Sn]=0}const wt=0,St=1,Tt=2,Rt=3,Pt=258,Lt=29,kt=256,Ot=kt+1+Lt,Mt=30,It=19,Nt=2*Ot+1,Ut=15,jt=16,Vt=7,zt=256,Ht=16,Wt=17,Gt=18,qt=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),Xt=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),Kt=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Jt=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),tn=512,sn=new Array((Ot+2)*2);Ct(sn);const Zt=new Array(Mt*2);Ct(Zt);const nn=new Array(tn);Ct(nn);const rn=new Array(Pt-Rt+1);Ct(rn);const on=new Array(Lt);Ct(on);const ln=new Array(Mt);Ct(ln);function Qt(en,Sn,dn,Yn,ur){this.static_tree=en,this.extra_bits=Sn,this.extra_base=dn,this.elems=Yn,this.max_length=ur,this.has_stree=en&&en.length}let fn,pn,mn;function vn(en,Sn){this.dyn_tree=en,this.max_code=0,this.stat_desc=Sn}const yn=en=>en<256?nn[en]:nn[256+(en>>>7)],xn=(en,Sn)=>{en.pending_buf[en.pending++]=Sn&255,en.pending_buf[en.pending++]=Sn>>>8&255},Mn=(en,Sn,dn)=>{en.bi_valid>jt-dn?(en.bi_buf|=Sn<<en.bi_valid&65535,xn(en,en.bi_buf),en.bi_buf=Sn>>jt-en.bi_valid,en.bi_valid+=dn-jt):(en.bi_buf|=Sn<<en.bi_valid&65535,en.bi_valid+=dn)},$n=(en,Sn,dn)=>{Mn(en,dn[Sn*2],dn[Sn*2+1])},Rn=(en,Sn)=>{let dn=0;do dn|=en&1,en>>>=1,dn<<=1;while(--Sn>0);return dn>>>1},Tn=en=>{en.bi_valid===16?(xn(en,en.bi_buf),en.bi_buf=0,en.bi_valid=0):en.bi_valid>=8&&(en.pending_buf[en.pending++]=en.bi_buf&255,en.bi_buf>>=8,en.bi_valid-=8)},ir=(en,Sn)=>{const dn=Sn.dyn_tree,Yn=Sn.max_code,ur=Sn.stat_desc.static_tree,lr=Sn.stat_desc.has_stree,ei=Sn.stat_desc.extra_bits,zr=Sn.stat_desc.extra_base,Yi=Sn.stat_desc.max_length;let Ir,Xr,eo,$i,Qr,os,Ro=0;for($i=0;$i<=Ut;$i++)en.bl_count[$i]=0;for(dn[en.heap[en.heap_max]*2+1]=0,Ir=en.heap_max+1;Ir<Nt;Ir++)Xr=en.heap[Ir],$i=dn[dn[Xr*2+1]*2+1]+1,$i>Yi&&($i=Yi,Ro++),dn[Xr*2+1]=$i,!(Xr>Yn)&&(en.bl_count[$i]++,Qr=0,Xr>=zr&&(Qr=ei[Xr-zr]),os=dn[Xr*2],en.opt_len+=os*($i+Qr),lr&&(en.static_len+=os*(ur[Xr*2+1]+Qr)));if(Ro!==0){do{for($i=Yi-1;en.bl_count[$i]===0;)$i--;en.bl_count[$i]--,en.bl_count[$i+1]+=2,en.bl_count[Yi]--,Ro-=2}while(Ro>0);for($i=Yi;$i!==0;$i--)for(Xr=en.bl_count[$i];Xr!==0;)eo=en.heap[--Ir],!(eo>Yn)&&(dn[eo*2+1]!==$i&&(en.opt_len+=($i-dn[eo*2+1])*dn[eo*2],dn[eo*2+1]=$i),Xr--)}},Jn=(en,Sn,dn)=>{const Yn=new Array(Ut+1);let ur=0,lr,ei;for(lr=1;lr<=Ut;lr++)ur=ur+dn[lr-1]<<1,Yn[lr]=ur;for(ei=0;ei<=Sn;ei++){let zr=en[ei*2+1];zr!==0&&(en[ei*2]=Rn(Yn[zr]++,zr))}},jn=()=>{let en,Sn,dn,Yn,ur;const lr=new Array(Ut+1);for(dn=0,Yn=0;Yn<Lt-1;Yn++)for(on[Yn]=dn,en=0;en<1<<qt[Yn];en++)rn[dn++]=Yn;for(rn[dn-1]=Yn,ur=0,Yn=0;Yn<16;Yn++)for(ln[Yn]=ur,en=0;en<1<<Xt[Yn];en++)nn[ur++]=Yn;for(ur>>=7;Yn<Mt;Yn++)for(ln[Yn]=ur<<7,en=0;en<1<<Xt[Yn]-7;en++)nn[256+ur++]=Yn;for(Sn=0;Sn<=Ut;Sn++)lr[Sn]=0;for(en=0;en<=143;)sn[en*2+1]=8,en++,lr[8]++;for(;en<=255;)sn[en*2+1]=9,en++,lr[9]++;for(;en<=279;)sn[en*2+1]=7,en++,lr[7]++;for(;en<=287;)sn[en*2+1]=8,en++,lr[8]++;for(Jn(sn,Ot+1,lr),en=0;en<Mt;en++)Zt[en*2+1]=5,Zt[en*2]=Rn(en,5);fn=new Qt(sn,qt,kt+1,Ot,Ut),pn=new Qt(Zt,Xt,0,Mt,Ut),mn=new Qt(new Array(0),Kt,0,It,Vt)},Wn=en=>{let Sn;for(Sn=0;Sn<Ot;Sn++)en.dyn_ltree[Sn*2]=0;for(Sn=0;Sn<Mt;Sn++)en.dyn_dtree[Sn*2]=0;for(Sn=0;Sn<It;Sn++)en.bl_tree[Sn*2]=0;en.dyn_ltree[zt*2]=1,en.opt_len=en.static_len=0,en.sym_next=en.matches=0},br=en=>{en.bi_valid>8?xn(en,en.bi_buf):en.bi_valid>0&&(en.pending_buf[en.pending++]=en.bi_buf),en.bi_buf=0,en.bi_valid=0},Fr=(en,Sn,dn,Yn)=>{const ur=Sn*2,lr=dn*2;return en[ur]<en[lr]||en[ur]===en[lr]&&Yn[Sn]<=Yn[dn]},Cr=(en,Sn,dn)=>{const Yn=en.heap[dn];let ur=dn<<1;for(;ur<=en.heap_len&&(ur<en.heap_len&&Fr(Sn,en.heap[ur+1],en.heap[ur],en.depth)&&ur++,!Fr(Sn,Yn,en.heap[ur],en.depth));)en.heap[dn]=en.heap[ur],dn=ur,ur<<=1;en.heap[dn]=Yn},dr=(en,Sn,dn)=>{let Yn,ur,lr=0,ei,zr;if(en.sym_next!==0)do Yn=en.pending_buf[en.sym_buf+lr++]&255,Yn+=(en.pending_buf[en.sym_buf+lr++]&255)<<8,ur=en.pending_buf[en.sym_buf+lr++],Yn===0?$n(en,ur,Sn):(ei=rn[ur],$n(en,ei+kt+1,Sn),zr=qt[ei],zr!==0&&(ur-=on[ei],Mn(en,ur,zr)),Yn--,ei=yn(Yn),$n(en,ei,dn),zr=Xt[ei],zr!==0&&(Yn-=ln[ei],Mn(en,Yn,zr)));while(lr<en.sym_next);$n(en,zt,Sn)},_r=(en,Sn)=>{const dn=Sn.dyn_tree,Yn=Sn.stat_desc.static_tree,ur=Sn.stat_desc.has_stree,lr=Sn.stat_desc.elems;let ei,zr,Yi=-1,Ir;for(en.heap_len=0,en.heap_max=Nt,ei=0;ei<lr;ei++)dn[ei*2]!==0?(en.heap[++en.heap_len]=Yi=ei,en.depth[ei]=0):dn[ei*2+1]=0;for(;en.heap_len<2;)Ir=en.heap[++en.heap_len]=Yi<2?++Yi:0,dn[Ir*2]=1,en.depth[Ir]=0,en.opt_len--,ur&&(en.static_len-=Yn[Ir*2+1]);for(Sn.max_code=Yi,ei=en.heap_len>>1;ei>=1;ei--)Cr(en,dn,ei);Ir=lr;do ei=en.heap[1],en.heap[1]=en.heap[en.heap_len--],Cr(en,dn,1),zr=en.heap[1],en.heap[--en.heap_max]=ei,en.heap[--en.heap_max]=zr,dn[Ir*2]=dn[ei*2]+dn[zr*2],en.depth[Ir]=(en.depth[ei]>=en.depth[zr]?en.depth[ei]:en.depth[zr])+1,dn[ei*2+1]=dn[zr*2+1]=Ir,en.heap[1]=Ir++,Cr(en,dn,1);while(en.heap_len>=2);en.heap[--en.heap_max]=en.heap[1],ir(en,Sn),Jn(dn,Yi,en.bl_count)},pr=(en,Sn,dn)=>{let Yn,ur=-1,lr,ei=Sn[1],zr=0,Yi=7,Ir=4;for(ei===0&&(Yi=138,Ir=3),Sn[(dn+1)*2+1]=65535,Yn=0;Yn<=dn;Yn++)lr=ei,ei=Sn[(Yn+1)*2+1],!(++zr<Yi&&lr===ei)&&(zr<Ir?en.bl_tree[lr*2]+=zr:lr!==0?(lr!==ur&&en.bl_tree[lr*2]++,en.bl_tree[Ht*2]++):zr<=10?en.bl_tree[Wt*2]++:en.bl_tree[Gt*2]++,zr=0,ur=lr,ei===0?(Yi=138,Ir=3):lr===ei?(Yi=6,Ir=3):(Yi=7,Ir=4))},wr=(en,Sn,dn)=>{let Yn,ur=-1,lr,ei=Sn[1],zr=0,Yi=7,Ir=4;for(ei===0&&(Yi=138,Ir=3),Yn=0;Yn<=dn;Yn++)if(lr=ei,ei=Sn[(Yn+1)*2+1],!(++zr<Yi&&lr===ei)){if(zr<Ir)do $n(en,lr,en.bl_tree);while(--zr!==0);else lr!==0?(lr!==ur&&($n(en,lr,en.bl_tree),zr--),$n(en,Ht,en.bl_tree),Mn(en,zr-3,2)):zr<=10?($n(en,Wt,en.bl_tree),Mn(en,zr-3,3)):($n(en,Gt,en.bl_tree),Mn(en,zr-11,7));zr=0,ur=lr,ei===0?(Yi=138,Ir=3):lr===ei?(Yi=6,Ir=3):(Yi=7,Ir=4)}},xr=en=>{let Sn;for(pr(en,en.dyn_ltree,en.l_desc.max_code),pr(en,en.dyn_dtree,en.d_desc.max_code),_r(en,en.bl_desc),Sn=It-1;Sn>=3&&en.bl_tree[Jt[Sn]*2+1]===0;Sn--);return en.opt_len+=3*(Sn+1)+5+5+4,Sn},Dr=(en,Sn,dn,Yn)=>{let ur;for(Mn(en,Sn-257,5),Mn(en,dn-1,5),Mn(en,Yn-4,4),ur=0;ur<Yn;ur++)Mn(en,en.bl_tree[Jt[ur]*2+1],3);wr(en,en.dyn_ltree,Sn-1),wr(en,en.dyn_dtree,dn-1)},ar=en=>{let Sn=4093624447,dn;for(dn=0;dn<=31;dn++,Sn>>>=1)if(Sn&1&&en.dyn_ltree[dn*2]!==0)return bt;if(en.dyn_ltree[18]!==0||en.dyn_ltree[20]!==0||en.dyn_ltree[26]!==0)return At;for(dn=32;dn<kt;dn++)if(en.dyn_ltree[dn*2]!==0)return At;return bt};let Qn=!1;const Cn=en=>{Qn||(jn(),Qn=!0),en.l_desc=new vn(en.dyn_ltree,fn),en.d_desc=new vn(en.dyn_dtree,pn),en.bl_desc=new vn(en.bl_tree,mn),en.bi_buf=0,en.bi_valid=0,Wn(en)},Bn=(en,Sn,dn,Yn)=>{Mn(en,(wt<<1)+(Yn?1:0),3),br(en),xn(en,dn),xn(en,~dn),dn&&en.pending_buf.set(en.window.subarray(Sn,Sn+dn),en.pending),en.pending+=dn},In=en=>{Mn(en,St<<1,3),$n(en,zt,sn),Tn(en)},or=(en,Sn,dn,Yn)=>{let ur,lr,ei=0;en.level>0?(en.strm.data_type===Ft&&(en.strm.data_type=ar(en)),_r(en,en.l_desc),_r(en,en.d_desc),ei=xr(en),ur=en.opt_len+3+7>>>3,lr=en.static_len+3+7>>>3,lr<=ur&&(ur=lr)):ur=lr=dn+5,dn+4<=ur&&Sn!==-1?Bn(en,Sn,dn,Yn):en.strategy===vt||lr===ur?(Mn(en,(St<<1)+(Yn?1:0),3),dr(en,sn,Zt)):(Mn(en,(Tt<<1)+(Yn?1:0),3),Dr(en,en.l_desc.max_code+1,en.d_desc.max_code+1,ei+1),dr(en,en.dyn_ltree,en.dyn_dtree)),Wn(en),Yn&&br(en)},rr=(en,Sn,dn)=>(en.pending_buf[en.sym_buf+en.sym_next++]=Sn,en.pending_buf[en.sym_buf+en.sym_next++]=Sn>>8,en.pending_buf[en.sym_buf+en.sym_next++]=dn,Sn===0?en.dyn_ltree[dn*2]++:(en.matches++,Sn--,en.dyn_ltree[(rn[dn]+kt+1)*2]++,en.dyn_dtree[yn(Sn)*2]++),en.sym_next===en.sym_end);var vr=Cn,cr=Bn,gn=or,wn=rr,Xn=In,tr={_tr_init:vr,_tr_stored_block:cr,_tr_flush_block:gn,_tr_tally:wn,_tr_align:Xn},Kn=(en,Sn,dn,Yn)=>{let ur=en&65535|0,lr=en>>>16&65535|0,ei=0;for(;dn!==0;){ei=dn>2e3?2e3:dn,dn-=ei;do ur=ur+Sn[Yn++]|0,lr=lr+ur|0;while(--ei);ur%=65521,lr%=65521}return ur|lr<<16|0};const _n=()=>{let en,Sn=[];for(var dn=0;dn<256;dn++){en=dn;for(var Yn=0;Yn<8;Yn++)en=en&1?3988292384^en>>>1:en>>>1;Sn[dn]=en}return Sn},yr=new Uint32Array(_n());var hn=(en,Sn,dn,Yn)=>{const ur=yr,lr=Yn+dn;en^=-1;for(let ei=Yn;ei<lr;ei++)en=en>>>8^ur[(en^Sn[ei])&255];return en^-1},Ar={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},hr={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:An,_tr_stored_block:nr,_tr_flush_block:gr,_tr_tally:ii,_tr_align:ti}=tr,{Z_NO_FLUSH:di,Z_PARTIAL_FLUSH:Bi,Z_FULL_FLUSH:as,Z_FINISH:ki,Z_BLOCK:Xi,Z_OK:_i,Z_STREAM_END:ci,Z_STREAM_ERROR:xi,Z_DATA_ERROR:mi,Z_BUF_ERROR:wi,Z_DEFAULT_COMPRESSION:vi,Z_FILTERED:qi,Z_HUFFMAN_ONLY:ji,Z_RLE:Ni,Z_FIXED:ls,Z_DEFAULT_STRATEGY:xs,Z_UNKNOWN:$s,Z_DEFLATED:Is}=hr,Hs=9,ws=15,Es=8,Ja=256+1+29,oa=30,aa=19,Mi=2*Ja+1,Wa=15,Wi=3,Mo=258,ys=Mo+Wi+1,Va=32,io=42,Fo=57,_o=69,lo=73,Do=91,Cl=103,ea=113,ma=666,cs=1,wa=2,la=3,Sa=4,Io=3,xo=(en,Sn)=>(en.msg=Ar[Sn],Sn),Ga=en=>en*2-(en>4?9:0),wo=en=>{let Sn=en.length;for(;--Sn>=0;)en[Sn]=0},Fl=en=>{let Sn,dn,Yn,ur=en.w_size;Sn=en.hash_size,Yn=Sn;do dn=en.head[--Yn],en.head[Yn]=dn>=ur?dn-ur:0;while(--Sn);Sn=ur,Yn=Sn;do dn=en.prev[--Yn],en.prev[Yn]=dn>=ur?dn-ur:0;while(--Sn)};let za=(en,Sn,dn)=>(Sn<<en.hash_shift^dn)&en.hash_mask;const Uo=en=>{const Sn=en.state;let dn=Sn.pending;dn>en.avail_out&&(dn=en.avail_out),dn!==0&&(en.output.set(Sn.pending_buf.subarray(Sn.pending_out,Sn.pending_out+dn),en.next_out),en.next_out+=dn,Sn.pending_out+=dn,en.total_out+=dn,en.avail_out-=dn,Sn.pending-=dn,Sn.pending===0&&(Sn.pending_out=0))},Vi=(en,Sn)=>{gr(en,en.block_start>=0?en.block_start:-1,en.strstart-en.block_start,Sn),en.block_start=en.strstart,Uo(en.strm)},Os=(en,Sn)=>{en.pending_buf[en.pending++]=Sn},bs=(en,Sn)=>{en.pending_buf[en.pending++]=Sn>>>8&255,en.pending_buf[en.pending++]=Sn&255},$o=(en,Sn,dn,Yn)=>{let ur=en.avail_in;return ur>Yn&&(ur=Yn),ur===0?0:(en.avail_in-=ur,Sn.set(en.input.subarray(en.next_in,en.next_in+ur),dn),en.state.wrap===1?en.adler=Kn(en.adler,Sn,ur,dn):en.state.wrap===2&&(en.adler=hn(en.adler,Sn,ur,dn)),en.next_in+=ur,en.total_in+=ur,ur)},al=(en,Sn)=>{let dn=en.max_chain_length,Yn=en.strstart,ur,lr,ei=en.prev_length,zr=en.nice_match;const Yi=en.strstart>en.w_size-ys?en.strstart-(en.w_size-ys):0,Ir=en.window,Xr=en.w_mask,eo=en.prev,$i=en.strstart+Mo;let Qr=Ir[Yn+ei-1],os=Ir[Yn+ei];en.prev_length>=en.good_match&&(dn>>=2),zr>en.lookahead&&(zr=en.lookahead);do if(ur=Sn,!(Ir[ur+ei]!==os||Ir[ur+ei-1]!==Qr||Ir[ur]!==Ir[Yn]||Ir[++ur]!==Ir[Yn+1])){Yn+=2,ur++;do;while(Ir[++Yn]===Ir[++ur]&&Ir[++Yn]===Ir[++ur]&&Ir[++Yn]===Ir[++ur]&&Ir[++Yn]===Ir[++ur]&&Ir[++Yn]===Ir[++ur]&&Ir[++Yn]===Ir[++ur]&&Ir[++Yn]===Ir[++ur]&&Ir[++Yn]===Ir[++ur]&&Yn<$i);if(lr=Mo-($i-Yn),Yn=$i-Mo,lr>ei){if(en.match_start=Sn,ei=lr,lr>=zr)break;Qr=Ir[Yn+ei-1],os=Ir[Yn+ei]}}while((Sn=eo[Sn&Xr])>Yi&&--dn!==0);return ei<=en.lookahead?ei:en.lookahead},qo=en=>{const Sn=en.w_size;let dn,Yn,ur;do{if(Yn=en.window_size-en.lookahead-en.strstart,en.strstart>=Sn+(Sn-ys)&&(en.window.set(en.window.subarray(Sn,Sn+Sn-Yn),0),en.match_start-=Sn,en.strstart-=Sn,en.block_start-=Sn,en.insert>en.strstart&&(en.insert=en.strstart),Fl(en),Yn+=Sn),en.strm.avail_in===0)break;if(dn=$o(en.strm,en.window,en.strstart+en.lookahead,Yn),en.lookahead+=dn,en.lookahead+en.insert>=Wi)for(ur=en.strstart-en.insert,en.ins_h=en.window[ur],en.ins_h=za(en,en.ins_h,en.window[ur+1]);en.insert&&(en.ins_h=za(en,en.ins_h,en.window[ur+Wi-1]),en.prev[ur&en.w_mask]=en.head[en.ins_h],en.head[en.ins_h]=ur,ur++,en.insert--,!(en.lookahead+en.insert<Wi)););}while(en.lookahead<ys&&en.strm.avail_in!==0)},Da=(en,Sn)=>{let dn=en.pending_buf_size-5>en.w_size?en.w_size:en.pending_buf_size-5,Yn,ur,lr,ei=0,zr=en.strm.avail_in;do{if(Yn=65535,lr=en.bi_valid+42>>3,en.strm.avail_out<lr||(lr=en.strm.avail_out-lr,ur=en.strstart-en.block_start,Yn>ur+en.strm.avail_in&&(Yn=ur+en.strm.avail_in),Yn>lr&&(Yn=lr),Yn<dn&&(Yn===0&&Sn!==ki||Sn===di||Yn!==ur+en.strm.avail_in)))break;ei=Sn===ki&&Yn===ur+en.strm.avail_in?1:0,nr(en,0,0,ei),en.pending_buf[en.pending-4]=Yn,en.pending_buf[en.pending-3]=Yn>>8,en.pending_buf[en.pending-2]=~Yn,en.pending_buf[en.pending-1]=~Yn>>8,Uo(en.strm),ur&&(ur>Yn&&(ur=Yn),en.strm.output.set(en.window.subarray(en.block_start,en.block_start+ur),en.strm.next_out),en.strm.next_out+=ur,en.strm.avail_out-=ur,en.strm.total_out+=ur,en.block_start+=ur,Yn-=ur),Yn&&($o(en.strm,en.strm.output,en.strm.next_out,Yn),en.strm.next_out+=Yn,en.strm.avail_out-=Yn,en.strm.total_out+=Yn)}while(ei===0);return zr-=en.strm.avail_in,zr&&(zr>=en.w_size?(en.matches=2,en.window.set(en.strm.input.subarray(en.strm.next_in-en.w_size,en.strm.next_in),0),en.strstart=en.w_size,en.insert=en.strstart):(en.window_size-en.strstart<=zr&&(en.strstart-=en.w_size,en.window.set(en.window.subarray(en.w_size,en.w_size+en.strstart),0),en.matches<2&&en.matches++,en.insert>en.strstart&&(en.insert=en.strstart)),en.window.set(en.strm.input.subarray(en.strm.next_in-zr,en.strm.next_in),en.strstart),en.strstart+=zr,en.insert+=zr>en.w_size-en.insert?en.w_size-en.insert:zr),en.block_start=en.strstart),en.high_water<en.strstart&&(en.high_water=en.strstart),ei?Sa:Sn!==di&&Sn!==ki&&en.strm.avail_in===0&&en.strstart===en.block_start?wa:(lr=en.window_size-en.strstart,en.strm.avail_in>lr&&en.block_start>=en.w_size&&(en.block_start-=en.w_size,en.strstart-=en.w_size,en.window.set(en.window.subarray(en.w_size,en.w_size+en.strstart),0),en.matches<2&&en.matches++,lr+=en.w_size,en.insert>en.strstart&&(en.insert=en.strstart)),lr>en.strm.avail_in&&(lr=en.strm.avail_in),lr&&($o(en.strm,en.window,en.strstart,lr),en.strstart+=lr,en.insert+=lr>en.w_size-en.insert?en.w_size-en.insert:lr),en.high_water<en.strstart&&(en.high_water=en.strstart),lr=en.bi_valid+42>>3,lr=en.pending_buf_size-lr>65535?65535:en.pending_buf_size-lr,dn=lr>en.w_size?en.w_size:lr,ur=en.strstart-en.block_start,(ur>=dn||(ur||Sn===ki)&&Sn!==di&&en.strm.avail_in===0&&ur<=lr)&&(Yn=ur>lr?lr:ur,ei=Sn===ki&&en.strm.avail_in===0&&Yn===ur?1:0,nr(en,en.block_start,Yn,ei),en.block_start+=Yn,Uo(en.strm)),ei?la:cs)},qa=(en,Sn)=>{let dn,Yn;for(;;){if(en.lookahead<ys){if(qo(en),en.lookahead<ys&&Sn===di)return cs;if(en.lookahead===0)break}if(dn=0,en.lookahead>=Wi&&(en.ins_h=za(en,en.ins_h,en.window[en.strstart+Wi-1]),dn=en.prev[en.strstart&en.w_mask]=en.head[en.ins_h],en.head[en.ins_h]=en.strstart),dn!==0&&en.strstart-dn<=en.w_size-ys&&(en.match_length=al(en,dn)),en.match_length>=Wi)if(Yn=ii(en,en.strstart-en.match_start,en.match_length-Wi),en.lookahead-=en.match_length,en.match_length<=en.max_lazy_match&&en.lookahead>=Wi){en.match_length--;do en.strstart++,en.ins_h=za(en,en.ins_h,en.window[en.strstart+Wi-1]),dn=en.prev[en.strstart&en.w_mask]=en.head[en.ins_h],en.head[en.ins_h]=en.strstart;while(--en.match_length!==0);en.strstart++}else en.strstart+=en.match_length,en.match_length=0,en.ins_h=en.window[en.strstart],en.ins_h=za(en,en.ins_h,en.window[en.strstart+1]);else Yn=ii(en,0,en.window[en.strstart]),en.lookahead--,en.strstart++;if(Yn&&(Vi(en,!1),en.strm.avail_out===0))return cs}return en.insert=en.strstart<Wi-1?en.strstart:Wi-1,Sn===ki?(Vi(en,!0),en.strm.avail_out===0?la:Sa):en.sym_next&&(Vi(en,!1),en.strm.avail_out===0)?cs:wa},Ta=(en,Sn)=>{let dn,Yn,ur;for(;;){if(en.lookahead<ys){if(qo(en),en.lookahead<ys&&Sn===di)return cs;if(en.lookahead===0)break}if(dn=0,en.lookahead>=Wi&&(en.ins_h=za(en,en.ins_h,en.window[en.strstart+Wi-1]),dn=en.prev[en.strstart&en.w_mask]=en.head[en.ins_h],en.head[en.ins_h]=en.strstart),en.prev_length=en.match_length,en.prev_match=en.match_start,en.match_length=Wi-1,dn!==0&&en.prev_length<en.max_lazy_match&&en.strstart-dn<=en.w_size-ys&&(en.match_length=al(en,dn),en.match_length<=5&&(en.strategy===qi||en.match_length===Wi&&en.strstart-en.match_start>4096)&&(en.match_length=Wi-1)),en.prev_length>=Wi&&en.match_length<=en.prev_length){ur=en.strstart+en.lookahead-Wi,Yn=ii(en,en.strstart-1-en.prev_match,en.prev_length-Wi),en.lookahead-=en.prev_length-1,en.prev_length-=2;do++en.strstart<=ur&&(en.ins_h=za(en,en.ins_h,en.window[en.strstart+Wi-1]),dn=en.prev[en.strstart&en.w_mask]=en.head[en.ins_h],en.head[en.ins_h]=en.strstart);while(--en.prev_length!==0);if(en.match_available=0,en.match_length=Wi-1,en.strstart++,Yn&&(Vi(en,!1),en.strm.avail_out===0))return cs}else if(en.match_available){if(Yn=ii(en,0,en.window[en.strstart-1]),Yn&&Vi(en,!1),en.strstart++,en.lookahead--,en.strm.avail_out===0)return cs}else en.match_available=1,en.strstart++,en.lookahead--}return en.match_available&&(Yn=ii(en,0,en.window[en.strstart-1]),en.match_available=0),en.insert=en.strstart<Wi-1?en.strstart:Wi-1,Sn===ki?(Vi(en,!0),en.strm.avail_out===0?la:Sa):en.sym_next&&(Vi(en,!1),en.strm.avail_out===0)?cs:wa},Zl=(en,Sn)=>{let dn,Yn,ur,lr;const ei=en.window;for(;;){if(en.lookahead<=Mo){if(qo(en),en.lookahead<=Mo&&Sn===di)return cs;if(en.lookahead===0)break}if(en.match_length=0,en.lookahead>=Wi&&en.strstart>0&&(ur=en.strstart-1,Yn=ei[ur],Yn===ei[++ur]&&Yn===ei[++ur]&&Yn===ei[++ur])){lr=en.strstart+Mo;do;while(Yn===ei[++ur]&&Yn===ei[++ur]&&Yn===ei[++ur]&&Yn===ei[++ur]&&Yn===ei[++ur]&&Yn===ei[++ur]&&Yn===ei[++ur]&&Yn===ei[++ur]&&ur<lr);en.match_length=Mo-(lr-ur),en.match_length>en.lookahead&&(en.match_length=en.lookahead)}if(en.match_length>=Wi?(dn=ii(en,1,en.match_length-Wi),en.lookahead-=en.match_length,en.strstart+=en.match_length,en.match_length=0):(dn=ii(en,0,en.window[en.strstart]),en.lookahead--,en.strstart++),dn&&(Vi(en,!1),en.strm.avail_out===0))return cs}return en.insert=0,Sn===ki?(Vi(en,!0),en.strm.avail_out===0?la:Sa):en.sym_next&&(Vi(en,!1),en.strm.avail_out===0)?cs:wa},$l=(en,Sn)=>{let dn;for(;;){if(en.lookahead===0&&(qo(en),en.lookahead===0)){if(Sn===di)return cs;break}if(en.match_length=0,dn=ii(en,0,en.window[en.strstart]),en.lookahead--,en.strstart++,dn&&(Vi(en,!1),en.strm.avail_out===0))return cs}return en.insert=0,Sn===ki?(Vi(en,!0),en.strm.avail_out===0?la:Sa):en.sym_next&&(Vi(en,!1),en.strm.avail_out===0)?cs:wa};function Ts(en,Sn,dn,Yn,ur){this.good_length=en,this.max_lazy=Sn,this.nice_length=dn,this.max_chain=Yn,this.func=ur}const To=[new Ts(0,0,0,0,Da),new Ts(4,4,8,4,qa),new Ts(4,5,16,8,qa),new Ts(4,6,32,32,qa),new Ts(4,4,16,16,Ta),new Ts(8,16,32,32,Ta),new Ts(8,16,128,128,Ta),new Ts(8,32,128,256,Ta),new Ts(32,128,258,1024,Ta),new Ts(32,258,258,4096,Ta)],Ea=en=>{en.window_size=2*en.w_size,wo(en.head),en.max_lazy_match=To[en.level].max_lazy,en.good_match=To[en.level].good_length,en.nice_match=To[en.level].nice_length,en.max_chain_length=To[en.level].max_chain,en.strstart=0,en.block_start=0,en.lookahead=0,en.insert=0,en.match_length=en.prev_length=Wi-1,en.match_available=0,en.ins_h=0};function Kr(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Is,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(Mi*2),this.dyn_dtree=new Uint16Array((2*oa+1)*2),this.bl_tree=new Uint16Array((2*aa+1)*2),wo(this.dyn_ltree),wo(this.dyn_dtree),wo(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(Wa+1),this.heap=new Uint16Array(2*Ja+1),wo(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*Ja+1),wo(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const gs=en=>{if(!en)return 1;const Sn=en.state;return!Sn||Sn.strm!==en||Sn.status!==io&&Sn.status!==Fo&&Sn.status!==_o&&Sn.status!==lo&&Sn.status!==Do&&Sn.status!==Cl&&Sn.status!==ea&&Sn.status!==ma?1:0},Ra=en=>{if(gs(en))return xo(en,xi);en.total_in=en.total_out=0,en.data_type=$s;const Sn=en.state;return Sn.pending=0,Sn.pending_out=0,Sn.wrap<0&&(Sn.wrap=-Sn.wrap),Sn.status=Sn.wrap===2?Fo:Sn.wrap?io:ea,en.adler=Sn.wrap===2?0:1,Sn.last_flush=-2,An(Sn),_i},po=en=>{const Sn=Ra(en);return Sn===_i&&Ea(en.state),Sn},el=(en,Sn)=>gs(en)||en.state.wrap!==2?xi:(en.state.gzhead=Sn,_i),tl=(en,Sn,dn,Yn,ur,lr)=>{if(!en)return xi;let ei=1;if(Sn===vi&&(Sn=6),Yn<0?(ei=0,Yn=-Yn):Yn>15&&(ei=2,Yn-=16),ur<1||ur>Hs||dn!==Is||Yn<8||Yn>15||Sn<0||Sn>9||lr<0||lr>ls||Yn===8&&ei!==1)return xo(en,xi);Yn===8&&(Yn=9);const zr=new Kr;return en.state=zr,zr.strm=en,zr.status=io,zr.wrap=ei,zr.gzhead=null,zr.w_bits=Yn,zr.w_size=1<<zr.w_bits,zr.w_mask=zr.w_size-1,zr.hash_bits=ur+7,zr.hash_size=1<<zr.hash_bits,zr.hash_mask=zr.hash_size-1,zr.hash_shift=~~((zr.hash_bits+Wi-1)/Wi),zr.window=new Uint8Array(zr.w_size*2),zr.head=new Uint16Array(zr.hash_size),zr.prev=new Uint16Array(zr.w_size),zr.lit_bufsize=1<<ur+6,zr.pending_buf_size=zr.lit_bufsize*4,zr.pending_buf=new Uint8Array(zr.pending_buf_size),zr.sym_buf=zr.lit_bufsize,zr.sym_end=(zr.lit_bufsize-1)*3,zr.level=Sn,zr.strategy=lr,zr.method=dn,po(en)},ll=(en,Sn)=>tl(en,Sn,Is,ws,Es,xs),us=(en,Sn)=>{if(gs(en)||Sn>Xi||Sn<0)return en?xo(en,xi):xi;const dn=en.state;if(!en.output||en.avail_in!==0&&!en.input||dn.status===ma&&Sn!==ki)return xo(en,en.avail_out===0?wi:xi);const Yn=dn.last_flush;if(dn.last_flush=Sn,dn.pending!==0){if(Uo(en),en.avail_out===0)return dn.last_flush=-1,_i}else if(en.avail_in===0&&Ga(Sn)<=Ga(Yn)&&Sn!==ki)return xo(en,wi);if(dn.status===ma&&en.avail_in!==0)return xo(en,wi);if(dn.status===io&&dn.wrap===0&&(dn.status=ea),dn.status===io){let ur=Is+(dn.w_bits-8<<4)<<8,lr=-1;if(dn.strategy>=ji||dn.level<2?lr=0:dn.level<6?lr=1:dn.level===6?lr=2:lr=3,ur|=lr<<6,dn.strstart!==0&&(ur|=Va),ur+=31-ur%31,bs(dn,ur),dn.strstart!==0&&(bs(dn,en.adler>>>16),bs(dn,en.adler&65535)),en.adler=1,dn.status=ea,Uo(en),dn.pending!==0)return dn.last_flush=-1,_i}if(dn.status===Fo){if(en.adler=0,Os(dn,31),Os(dn,139),Os(dn,8),dn.gzhead)Os(dn,(dn.gzhead.text?1:0)+(dn.gzhead.hcrc?2:0)+(dn.gzhead.extra?4:0)+(dn.gzhead.name?8:0)+(dn.gzhead.comment?16:0)),Os(dn,dn.gzhead.time&255),Os(dn,dn.gzhead.time>>8&255),Os(dn,dn.gzhead.time>>16&255),Os(dn,dn.gzhead.time>>24&255),Os(dn,dn.level===9?2:dn.strategy>=ji||dn.level<2?4:0),Os(dn,dn.gzhead.os&255),dn.gzhead.extra&&dn.gzhead.extra.length&&(Os(dn,dn.gzhead.extra.length&255),Os(dn,dn.gzhead.extra.length>>8&255)),dn.gzhead.hcrc&&(en.adler=hn(en.adler,dn.pending_buf,dn.pending,0)),dn.gzindex=0,dn.status=_o;else if(Os(dn,0),Os(dn,0),Os(dn,0),Os(dn,0),Os(dn,0),Os(dn,dn.level===9?2:dn.strategy>=ji||dn.level<2?4:0),Os(dn,Io),dn.status=ea,Uo(en),dn.pending!==0)return dn.last_flush=-1,_i}if(dn.status===_o){if(dn.gzhead.extra){let ur=dn.pending,lr=(dn.gzhead.extra.length&65535)-dn.gzindex;for(;dn.pending+lr>dn.pending_buf_size;){let zr=dn.pending_buf_size-dn.pending;if(dn.pending_buf.set(dn.gzhead.extra.subarray(dn.gzindex,dn.gzindex+zr),dn.pending),dn.pending=dn.pending_buf_size,dn.gzhead.hcrc&&dn.pending>ur&&(en.adler=hn(en.adler,dn.pending_buf,dn.pending-ur,ur)),dn.gzindex+=zr,Uo(en),dn.pending!==0)return dn.last_flush=-1,_i;ur=0,lr-=zr}let ei=new Uint8Array(dn.gzhead.extra);dn.pending_buf.set(ei.subarray(dn.gzindex,dn.gzindex+lr),dn.pending),dn.pending+=lr,dn.gzhead.hcrc&&dn.pending>ur&&(en.adler=hn(en.adler,dn.pending_buf,dn.pending-ur,ur)),dn.gzindex=0}dn.status=lo}if(dn.status===lo){if(dn.gzhead.name){let ur=dn.pending,lr;do{if(dn.pending===dn.pending_buf_size){if(dn.gzhead.hcrc&&dn.pending>ur&&(en.adler=hn(en.adler,dn.pending_buf,dn.pending-ur,ur)),Uo(en),dn.pending!==0)return dn.last_flush=-1,_i;ur=0}dn.gzindex<dn.gzhead.name.length?lr=dn.gzhead.name.charCodeAt(dn.gzindex++)&255:lr=0,Os(dn,lr)}while(lr!==0);dn.gzhead.hcrc&&dn.pending>ur&&(en.adler=hn(en.adler,dn.pending_buf,dn.pending-ur,ur)),dn.gzindex=0}dn.status=Do}if(dn.status===Do){if(dn.gzhead.comment){let ur=dn.pending,lr;do{if(dn.pending===dn.pending_buf_size){if(dn.gzhead.hcrc&&dn.pending>ur&&(en.adler=hn(en.adler,dn.pending_buf,dn.pending-ur,ur)),Uo(en),dn.pending!==0)return dn.last_flush=-1,_i;ur=0}dn.gzindex<dn.gzhead.comment.length?lr=dn.gzhead.comment.charCodeAt(dn.gzindex++)&255:lr=0,Os(dn,lr)}while(lr!==0);dn.gzhead.hcrc&&dn.pending>ur&&(en.adler=hn(en.adler,dn.pending_buf,dn.pending-ur,ur))}dn.status=Cl}if(dn.status===Cl){if(dn.gzhead.hcrc){if(dn.pending+2>dn.pending_buf_size&&(Uo(en),dn.pending!==0))return dn.last_flush=-1,_i;Os(dn,en.adler&255),Os(dn,en.adler>>8&255),en.adler=0}if(dn.status=ea,Uo(en),dn.pending!==0)return dn.last_flush=-1,_i}if(en.avail_in!==0||dn.lookahead!==0||Sn!==di&&dn.status!==ma){let ur=dn.level===0?Da(dn,Sn):dn.strategy===ji?$l(dn,Sn):dn.strategy===Ni?Zl(dn,Sn):To[dn.level].func(dn,Sn);if((ur===la||ur===Sa)&&(dn.status=ma),ur===cs||ur===la)return en.avail_out===0&&(dn.last_flush=-1),_i;if(ur===wa&&(Sn===Bi?ti(dn):Sn!==Xi&&(nr(dn,0,0,!1),Sn===as&&(wo(dn.head),dn.lookahead===0&&(dn.strstart=0,dn.block_start=0,dn.insert=0))),Uo(en),en.avail_out===0))return dn.last_flush=-1,_i}return Sn!==ki?_i:dn.wrap<=0?ci:(dn.wrap===2?(Os(dn,en.adler&255),Os(dn,en.adler>>8&255),Os(dn,en.adler>>16&255),Os(dn,en.adler>>24&255),Os(dn,en.total_in&255),Os(dn,en.total_in>>8&255),Os(dn,en.total_in>>16&255),Os(dn,en.total_in>>24&255)):(bs(dn,en.adler>>>16),bs(dn,en.adler&65535)),Uo(en),dn.wrap>0&&(dn.wrap=-dn.wrap),dn.pending!==0?_i:ci)},si=en=>{if(gs(en))return xi;const Sn=en.state.status;return en.state=null,Sn===ea?xo(en,mi):_i},Un=(en,Sn)=>{let dn=Sn.length;if(gs(en))return xi;const Yn=en.state,ur=Yn.wrap;if(ur===2||ur===1&&Yn.status!==io||Yn.lookahead)return xi;if(ur===1&&(en.adler=Kn(en.adler,Sn,dn,0)),Yn.wrap=0,dn>=Yn.w_size){ur===0&&(wo(Yn.head),Yn.strstart=0,Yn.block_start=0,Yn.insert=0);let Yi=new Uint8Array(Yn.w_size);Yi.set(Sn.subarray(dn-Yn.w_size,dn),0),Sn=Yi,dn=Yn.w_size}const lr=en.avail_in,ei=en.next_in,zr=en.input;for(en.avail_in=dn,en.next_in=0,en.input=Sn,qo(Yn);Yn.lookahead>=Wi;){let Yi=Yn.strstart,Ir=Yn.lookahead-(Wi-1);do Yn.ins_h=za(Yn,Yn.ins_h,Yn.window[Yi+Wi-1]),Yn.prev[Yi&Yn.w_mask]=Yn.head[Yn.ins_h],Yn.head[Yn.ins_h]=Yi,Yi++;while(--Ir);Yn.strstart=Yi,Yn.lookahead=Wi-1,qo(Yn)}return Yn.strstart+=Yn.lookahead,Yn.block_start=Yn.strstart,Yn.insert=Yn.lookahead,Yn.lookahead=0,Yn.match_length=Yn.prev_length=Wi-1,Yn.match_available=0,en.next_in=ei,en.input=zr,en.avail_in=lr,Yn.wrap=ur,_i};var pi=ll,zi=tl,Zi=po,bi=Ra,Fi=el,ts=us,Gi=si,hs=Un,Rs="pako deflate (from Nodeca project)",vo={deflateInit:pi,deflateInit2:zi,deflateReset:Zi,deflateResetKeep:bi,deflateSetHeader:Fi,deflate:ts,deflateEnd:Gi,deflateSetDictionary:hs,deflateInfo:Rs};const go=(en,Sn)=>Object.prototype.hasOwnProperty.call(en,Sn);var ms=function(en){const Sn=Array.prototype.slice.call(arguments,1);for(;Sn.length;){const dn=Sn.shift();if(dn){if(typeof dn!="object")throw new TypeError(dn+"must be non-object");for(const Yn in dn)go(dn,Yn)&&(en[Yn]=dn[Yn])}}return en},Ii=en=>{let Sn=0;for(let Yn=0,ur=en.length;Yn<ur;Yn++)Sn+=en[Yn].length;const dn=new Uint8Array(Sn);for(let Yn=0,ur=0,lr=en.length;Yn<lr;Yn++){let ei=en[Yn];dn.set(ei,ur),ur+=ei.length}return dn},Ui={assign:ms,flattenChunks:Ii};let Fs=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{Fs=!1}const Ws=new Uint8Array(256);for(let en=0;en<256;en++)Ws[en]=en>=252?6:en>=248?5:en>=240?4:en>=224?3:en>=192?2:1;Ws[254]=Ws[254]=1;var Ba=en=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(en);let Sn,dn,Yn,ur,lr,ei=en.length,zr=0;for(ur=0;ur<ei;ur++)dn=en.charCodeAt(ur),(dn&64512)===55296&&ur+1<ei&&(Yn=en.charCodeAt(ur+1),(Yn&64512)===56320&&(dn=65536+(dn-55296<<10)+(Yn-56320),ur++)),zr+=dn<128?1:dn<2048?2:dn<65536?3:4;for(Sn=new Uint8Array(zr),lr=0,ur=0;lr<zr;ur++)dn=en.charCodeAt(ur),(dn&64512)===55296&&ur+1<ei&&(Yn=en.charCodeAt(ur+1),(Yn&64512)===56320&&(dn=65536+(dn-55296<<10)+(Yn-56320),ur++)),dn<128?Sn[lr++]=dn:dn<2048?(Sn[lr++]=192|dn>>>6,Sn[lr++]=128|dn&63):dn<65536?(Sn[lr++]=224|dn>>>12,Sn[lr++]=128|dn>>>6&63,Sn[lr++]=128|dn&63):(Sn[lr++]=240|dn>>>18,Sn[lr++]=128|dn>>>12&63,Sn[lr++]=128|dn>>>6&63,Sn[lr++]=128|dn&63);return Sn};const ua=(en,Sn)=>{if(Sn<65534&&en.subarray&&Fs)return String.fromCharCode.apply(null,en.length===Sn?en:en.subarray(0,Sn));let dn="";for(let Yn=0;Yn<Sn;Yn++)dn+=String.fromCharCode(en[Yn]);return dn};var Oo=(en,Sn)=>{const dn=Sn||en.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(en.subarray(0,Sn));let Yn,ur;const lr=new Array(dn*2);for(ur=0,Yn=0;Yn<dn;){let ei=en[Yn++];if(ei<128){lr[ur++]=ei;continue}let zr=Ws[ei];if(zr>4){lr[ur++]=65533,Yn+=zr-1;continue}for(ei&=zr===2?31:zr===3?15:7;zr>1&&Yn<dn;)ei=ei<<6|en[Yn++]&63,zr--;if(zr>1){lr[ur++]=65533;continue}ei<65536?lr[ur++]=ei:(ei-=65536,lr[ur++]=55296|ei>>10&1023,lr[ur++]=56320|ei&1023)}return ua(lr,ur)},jo=(en,Sn)=>{Sn=Sn||en.length,Sn>en.length&&(Sn=en.length);let dn=Sn-1;for(;dn>=0&&(en[dn]&192)===128;)dn--;return dn<0||dn===0?Sn:dn+Ws[en[dn]]>Sn?dn:Sn},qs={string2buf:Ba,buf2string:Oo,utf8border:jo};function Ya(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var Yo=Ya;const wl=Object.prototype.toString,{Z_NO_FLUSH:cl,Z_SYNC_FLUSH:As,Z_FULL_FLUSH:Po,Z_FINISH:da,Z_OK:nl,Z_STREAM_END:uo,Z_DEFAULT_COMPRESSION:Ls,Z_DEFAULT_STRATEGY:ya,Z_DEFLATED:jl}=hr;function Ho(en){this.options=Ui.assign({level:Ls,method:jl,chunkSize:16384,windowBits:15,memLevel:8,strategy:ya},en||{});let Sn=this.options;Sn.raw&&Sn.windowBits>0?Sn.windowBits=-Sn.windowBits:Sn.gzip&&Sn.windowBits>0&&Sn.windowBits<16&&(Sn.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Yo,this.strm.avail_out=0;let dn=vo.deflateInit2(this.strm,Sn.level,Sn.method,Sn.windowBits,Sn.memLevel,Sn.strategy);if(dn!==nl)throw new Error(Ar[dn]);if(Sn.header&&vo.deflateSetHeader(this.strm,Sn.header),Sn.dictionary){let Yn;if(typeof Sn.dictionary=="string"?Yn=qs.string2buf(Sn.dictionary):wl.call(Sn.dictionary)==="[object ArrayBuffer]"?Yn=new Uint8Array(Sn.dictionary):Yn=Sn.dictionary,dn=vo.deflateSetDictionary(this.strm,Yn),dn!==nl)throw new Error(Ar[dn]);this._dict_set=!0}}Ho.prototype.push=function(en,Sn){const dn=this.strm,Yn=this.options.chunkSize;let ur,lr;if(this.ended)return!1;for(Sn===~~Sn?lr=Sn:lr=Sn===!0?da:cl,typeof en=="string"?dn.input=qs.string2buf(en):wl.call(en)==="[object ArrayBuffer]"?dn.input=new Uint8Array(en):dn.input=en,dn.next_in=0,dn.avail_in=dn.input.length;;){if(dn.avail_out===0&&(dn.output=new Uint8Array(Yn),dn.next_out=0,dn.avail_out=Yn),(lr===As||lr===Po)&&dn.avail_out<=6){this.onData(dn.output.subarray(0,dn.next_out)),dn.avail_out=0;continue}if(ur=vo.deflate(dn,lr),ur===uo)return dn.next_out>0&&this.onData(dn.output.subarray(0,dn.next_out)),ur=vo.deflateEnd(this.strm),this.onEnd(ur),this.ended=!0,ur===nl;if(dn.avail_out===0){this.onData(dn.output);continue}if(lr>0&&dn.next_out>0){this.onData(dn.output.subarray(0,dn.next_out)),dn.avail_out=0;continue}if(dn.avail_in===0)break}return!0},Ho.prototype.onData=function(en){this.chunks.push(en)},Ho.prototype.onEnd=function(en){en===nl&&(this.result=Ui.flattenChunks(this.chunks)),this.chunks=[],this.err=en,this.msg=this.strm.msg};function hi(en,Sn){const dn=new Ho(Sn);if(dn.push(en,!0),dn.err)throw dn.msg||Ar[dn.err];return dn.result}function Bs(en,Sn){return Sn=Sn||{},Sn.raw=!0,hi(en,Sn)}function Li(en,Sn){return Sn=Sn||{},Sn.gzip=!0,hi(en,Sn)}var _a=Ho,ta=hi,Pl=Bs,lc=Li,_l={Deflate:_a,deflate:ta,deflateRaw:Pl,gzip:lc};const ul=16209,Ec=16191;var Sl=function(Sn,dn){let Yn,ur,lr,ei,zr,Yi,Ir,Xr,eo,$i,Qr,os,Ro,Ns,Cs,to,Ss,Oi,zs,pa,ds,Js,Gr,Ti;const rs=Sn.state;Yn=Sn.next_in,Gr=Sn.input,ur=Yn+(Sn.avail_in-5),lr=Sn.next_out,Ti=Sn.output,ei=lr-(dn-Sn.avail_out),zr=lr+(Sn.avail_out-257),Yi=rs.dmax,Ir=rs.wsize,Xr=rs.whave,eo=rs.wnext,$i=rs.window,Qr=rs.hold,os=rs.bits,Ro=rs.lencode,Ns=rs.distcode,Cs=(1<<rs.lenbits)-1,to=(1<<rs.distbits)-1;e:do{os<15&&(Qr+=Gr[Yn++]<<os,os+=8,Qr+=Gr[Yn++]<<os,os+=8),Ss=Ro[Qr&Cs];t:for(;;){if(Oi=Ss>>>24,Qr>>>=Oi,os-=Oi,Oi=Ss>>>16&255,Oi===0)Ti[lr++]=Ss&65535;else if(Oi&16){zs=Ss&65535,Oi&=15,Oi&&(os<Oi&&(Qr+=Gr[Yn++]<<os,os+=8),zs+=Qr&(1<<Oi)-1,Qr>>>=Oi,os-=Oi),os<15&&(Qr+=Gr[Yn++]<<os,os+=8,Qr+=Gr[Yn++]<<os,os+=8),Ss=Ns[Qr&to];n:for(;;){if(Oi=Ss>>>24,Qr>>>=Oi,os-=Oi,Oi=Ss>>>16&255,Oi&16){if(pa=Ss&65535,Oi&=15,os<Oi&&(Qr+=Gr[Yn++]<<os,os+=8,os<Oi&&(Qr+=Gr[Yn++]<<os,os+=8)),pa+=Qr&(1<<Oi)-1,pa>Yi){Sn.msg="invalid distance too far back",rs.mode=ul;break e}if(Qr>>>=Oi,os-=Oi,Oi=lr-ei,pa>Oi){if(Oi=pa-Oi,Oi>Xr&&rs.sane){Sn.msg="invalid distance too far back",rs.mode=ul;break e}if(ds=0,Js=$i,eo===0){if(ds+=Ir-Oi,Oi<zs){zs-=Oi;do Ti[lr++]=$i[ds++];while(--Oi);ds=lr-pa,Js=Ti}}else if(eo<Oi){if(ds+=Ir+eo-Oi,Oi-=eo,Oi<zs){zs-=Oi;do Ti[lr++]=$i[ds++];while(--Oi);if(ds=0,eo<zs){Oi=eo,zs-=Oi;do Ti[lr++]=$i[ds++];while(--Oi);ds=lr-pa,Js=Ti}}}else if(ds+=eo-Oi,Oi<zs){zs-=Oi;do Ti[lr++]=$i[ds++];while(--Oi);ds=lr-pa,Js=Ti}for(;zs>2;)Ti[lr++]=Js[ds++],Ti[lr++]=Js[ds++],Ti[lr++]=Js[ds++],zs-=3;zs&&(Ti[lr++]=Js[ds++],zs>1&&(Ti[lr++]=Js[ds++]))}else{ds=lr-pa;do Ti[lr++]=Ti[ds++],Ti[lr++]=Ti[ds++],Ti[lr++]=Ti[ds++],zs-=3;while(zs>2);zs&&(Ti[lr++]=Ti[ds++],zs>1&&(Ti[lr++]=Ti[ds++]))}}else if((Oi&64)===0){Ss=Ns[(Ss&65535)+(Qr&(1<<Oi)-1)];continue n}else{Sn.msg="invalid distance code",rs.mode=ul;break e}break}}else if((Oi&64)===0){Ss=Ro[(Ss&65535)+(Qr&(1<<Oi)-1)];continue t}else if(Oi&32){rs.mode=Ec;break e}else{Sn.msg="invalid literal/length code",rs.mode=ul;break e}break}}while(Yn<ur&&lr<zr);zs=os>>3,Yn-=zs,os-=zs<<3,Qr&=(1<<os)-1,Sn.next_in=Yn,Sn.next_out=lr,Sn.avail_in=Yn<ur?5+(ur-Yn):5-(Yn-ur),Sn.avail_out=lr<zr?257+(zr-lr):257-(lr-zr),rs.hold=Qr,rs.bits=os};const Lo=15,cc=852,ss=592,Dl=0,Ql=1,so=2,xl=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),Jl=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),Ll=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),uc=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var rl=(en,Sn,dn,Yn,ur,lr,ei,zr)=>{const Yi=zr.bits;let Ir=0,Xr=0,eo=0,$i=0,Qr=0,os=0,Ro=0,Ns=0,Cs=0,to=0,Ss,Oi,zs,pa,ds,Js=null,Gr;const Ti=new Uint16Array(Lo+1),rs=new Uint16Array(Lo+1);let es=null,yo,Bo,El;for(Ir=0;Ir<=Lo;Ir++)Ti[Ir]=0;for(Xr=0;Xr<Yn;Xr++)Ti[Sn[dn+Xr]]++;for(Qr=Yi,$i=Lo;$i>=1&&Ti[$i]===0;$i--);if(Qr>$i&&(Qr=$i),$i===0)return ur[lr++]=1<<24|64<<16|0,ur[lr++]=1<<24|64<<16|0,zr.bits=1,0;for(eo=1;eo<$i&&Ti[eo]===0;eo++);for(Qr<eo&&(Qr=eo),Ns=1,Ir=1;Ir<=Lo;Ir++)if(Ns<<=1,Ns-=Ti[Ir],Ns<0)return-1;if(Ns>0&&(en===Dl||$i!==1))return-1;for(rs[1]=0,Ir=1;Ir<Lo;Ir++)rs[Ir+1]=rs[Ir]+Ti[Ir];for(Xr=0;Xr<Yn;Xr++)Sn[dn+Xr]!==0&&(ei[rs[Sn[dn+Xr]]++]=Xr);if(en===Dl?(Js=es=ei,Gr=20):en===Ql?(Js=xl,es=Jl,Gr=257):(Js=Ll,es=uc,Gr=0),to=0,Xr=0,Ir=eo,ds=lr,os=Qr,Ro=0,zs=-1,Cs=1<<Qr,pa=Cs-1,en===Ql&&Cs>cc||en===so&&Cs>ss)return 1;for(;;){yo=Ir-Ro,ei[Xr]+1<Gr?(Bo=0,El=ei[Xr]):ei[Xr]>=Gr?(Bo=es[ei[Xr]-Gr],El=Js[ei[Xr]-Gr]):(Bo=96,El=0),Ss=1<<Ir-Ro,Oi=1<<os,eo=Oi;do Oi-=Ss,ur[ds+(to>>Ro)+Oi]=yo<<24|Bo<<16|El|0;while(Oi!==0);for(Ss=1<<Ir-1;to&Ss;)Ss>>=1;if(Ss!==0?(to&=Ss-1,to+=Ss):to=0,Xr++,--Ti[Ir]===0){if(Ir===$i)break;Ir=Sn[dn+ei[Xr]]}if(Ir>Qr&&(to&pa)!==zs){for(Ro===0&&(Ro=Qr),ds+=eo,os=Ir-Ro,Ns=1<<os;os+Ro<$i&&(Ns-=Ti[os+Ro],!(Ns<=0));)os++,Ns<<=1;if(Cs+=1<<os,en===Ql&&Cs>cc||en===so&&Cs>ss)return 1;zs=to&pa,ur[zs]=Qr<<24|os<<16|ds-lr|0}}return to!==0&&(ur[ds+to]=Ir-Ro<<24|64<<16|0),zr.bits=Qr,0};const mo=0,na=1,dl=2,{Z_FINISH:Tl,Z_BLOCK:Rl,Z_TREES:Ma,Z_OK:kr,Z_STREAM_END:kl,Z_NEED_DICT:bo,Z_STREAM_ERROR:Ys,Z_DATA_ERROR:va,Z_MEM_ERROR:dc,Z_BUF_ERROR:fc,Z_DEFLATED:il}=hr,Bl=16180,sl=16181,Nl=16182,Ml=16183,Hl=16184,ko=16185,Zs=16186,En=16187,kn=16188,Vn=16189,Nn=16190,Dn=16191,On=16192,Pn=16193,Zn=16194,sr=16195,fr=16196,mr=16197,Pr=16198,Ur=16199,Rr=16200,Wr=16201,$r=16202,qr=16203,Vr=16204,ri=16205,Ei=16206,Di=16207,Hi=16208,Pi=16209,Qi=16210,Si=16211,Ci=852,Ai=592,Ks=15,fa=en=>(en>>>24&255)+(en>>>8&65280)+((en&65280)<<8)+((en&255)<<24);function ra(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const Qs=en=>{if(!en)return 1;const Sn=en.state;return!Sn||Sn.strm!==en||Sn.mode<Bl||Sn.mode>Si?1:0},Ia=en=>{if(Qs(en))return Ys;const Sn=en.state;return en.total_in=en.total_out=Sn.total=0,en.msg="",Sn.wrap&&(en.adler=Sn.wrap&1),Sn.mode=Bl,Sn.last=0,Sn.havedict=0,Sn.flags=-1,Sn.dmax=32768,Sn.head=null,Sn.hold=0,Sn.bits=0,Sn.lencode=Sn.lendyn=new Int32Array(Ci),Sn.distcode=Sn.distdyn=new Int32Array(Ai),Sn.sane=1,Sn.back=-1,kr},ba=en=>{if(Qs(en))return Ys;const Sn=en.state;return Sn.wsize=0,Sn.whave=0,Sn.wnext=0,Ia(en)},zl=(en,Sn)=>{let dn;if(Qs(en))return Ys;const Yn=en.state;return Sn<0?(dn=0,Sn=-Sn):(dn=(Sn>>4)+5,Sn<48&&(Sn&=15)),Sn&&(Sn<8||Sn>15)?Ys:(Yn.window!==null&&Yn.wbits!==Sn&&(Yn.window=null),Yn.wrap=dn,Yn.wbits=Sn,ba(en))},Ua=(en,Sn)=>{if(!en)return Ys;const dn=new ra;en.state=dn,dn.strm=en,dn.window=null,dn.mode=Bl;const Yn=zl(en,Sn);return Yn!==kr&&(en.state=null),Yn},Il=en=>Ua(en,Ks);let Oa=!0,Xo,Pa;const Ko=en=>{if(Oa){Xo=new Int32Array(512),Pa=new Int32Array(32);let Sn=0;for(;Sn<144;)en.lens[Sn++]=8;for(;Sn<256;)en.lens[Sn++]=9;for(;Sn<280;)en.lens[Sn++]=7;for(;Sn<288;)en.lens[Sn++]=8;for(rl(na,en.lens,0,288,Xo,0,en.work,{bits:9}),Sn=0;Sn<32;)en.lens[Sn++]=5;rl(dl,en.lens,0,32,Pa,0,en.work,{bits:5}),Oa=!1}en.lencode=Xo,en.lenbits=9,en.distcode=Pa,en.distbits=5},ia=(en,Sn,dn,Yn)=>{let ur;const lr=en.state;return lr.window===null&&(lr.wsize=1<<lr.wbits,lr.wnext=0,lr.whave=0,lr.window=new Uint8Array(lr.wsize)),Yn>=lr.wsize?(lr.window.set(Sn.subarray(dn-lr.wsize,dn),0),lr.wnext=0,lr.whave=lr.wsize):(ur=lr.wsize-lr.wnext,ur>Yn&&(ur=Yn),lr.window.set(Sn.subarray(dn-Yn,dn-Yn+ur),lr.wnext),Yn-=ur,Yn?(lr.window.set(Sn.subarray(dn-Yn,dn),0),lr.wnext=Yn,lr.whave=lr.wsize):(lr.wnext+=ur,lr.wnext===lr.wsize&&(lr.wnext=0),lr.whave<lr.wsize&&(lr.whave+=ur))),0},Ol=(en,Sn)=>{let dn,Yn,ur,lr,ei,zr,Yi,Ir,Xr,eo,$i,Qr,os,Ro,Ns=0,Cs,to,Ss,Oi,zs,pa,ds,Js;const Gr=new Uint8Array(4);let Ti,rs;const es=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Qs(en)||!en.output||!en.input&&en.avail_in!==0)return Ys;dn=en.state,dn.mode===Dn&&(dn.mode=On),ei=en.next_out,ur=en.output,Yi=en.avail_out,lr=en.next_in,Yn=en.input,zr=en.avail_in,Ir=dn.hold,Xr=dn.bits,eo=zr,$i=Yi,Js=kr;e:for(;;)switch(dn.mode){case Bl:if(dn.wrap===0){dn.mode=On;break}for(;Xr<16;){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}if(dn.wrap&2&&Ir===35615){dn.wbits===0&&(dn.wbits=15),dn.check=0,Gr[0]=Ir&255,Gr[1]=Ir>>>8&255,dn.check=hn(dn.check,Gr,2,0),Ir=0,Xr=0,dn.mode=sl;break}if(dn.head&&(dn.head.done=!1),!(dn.wrap&1)||(((Ir&255)<<8)+(Ir>>8))%31){en.msg="incorrect header check",dn.mode=Pi;break}if((Ir&15)!==il){en.msg="unknown compression method",dn.mode=Pi;break}if(Ir>>>=4,Xr-=4,ds=(Ir&15)+8,dn.wbits===0&&(dn.wbits=ds),ds>15||ds>dn.wbits){en.msg="invalid window size",dn.mode=Pi;break}dn.dmax=1<<dn.wbits,dn.flags=0,en.adler=dn.check=1,dn.mode=Ir&512?Vn:Dn,Ir=0,Xr=0;break;case sl:for(;Xr<16;){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}if(dn.flags=Ir,(dn.flags&255)!==il){en.msg="unknown compression method",dn.mode=Pi;break}if(dn.flags&57344){en.msg="unknown header flags set",dn.mode=Pi;break}dn.head&&(dn.head.text=Ir>>8&1),dn.flags&512&&dn.wrap&4&&(Gr[0]=Ir&255,Gr[1]=Ir>>>8&255,dn.check=hn(dn.check,Gr,2,0)),Ir=0,Xr=0,dn.mode=Nl;case Nl:for(;Xr<32;){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}dn.head&&(dn.head.time=Ir),dn.flags&512&&dn.wrap&4&&(Gr[0]=Ir&255,Gr[1]=Ir>>>8&255,Gr[2]=Ir>>>16&255,Gr[3]=Ir>>>24&255,dn.check=hn(dn.check,Gr,4,0)),Ir=0,Xr=0,dn.mode=Ml;case Ml:for(;Xr<16;){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}dn.head&&(dn.head.xflags=Ir&255,dn.head.os=Ir>>8),dn.flags&512&&dn.wrap&4&&(Gr[0]=Ir&255,Gr[1]=Ir>>>8&255,dn.check=hn(dn.check,Gr,2,0)),Ir=0,Xr=0,dn.mode=Hl;case Hl:if(dn.flags&1024){for(;Xr<16;){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}dn.length=Ir,dn.head&&(dn.head.extra_len=Ir),dn.flags&512&&dn.wrap&4&&(Gr[0]=Ir&255,Gr[1]=Ir>>>8&255,dn.check=hn(dn.check,Gr,2,0)),Ir=0,Xr=0}else dn.head&&(dn.head.extra=null);dn.mode=ko;case ko:if(dn.flags&1024&&(Qr=dn.length,Qr>zr&&(Qr=zr),Qr&&(dn.head&&(ds=dn.head.extra_len-dn.length,dn.head.extra||(dn.head.extra=new Uint8Array(dn.head.extra_len)),dn.head.extra.set(Yn.subarray(lr,lr+Qr),ds)),dn.flags&512&&dn.wrap&4&&(dn.check=hn(dn.check,Yn,Qr,lr)),zr-=Qr,lr+=Qr,dn.length-=Qr),dn.length))break e;dn.length=0,dn.mode=Zs;case Zs:if(dn.flags&2048){if(zr===0)break e;Qr=0;do ds=Yn[lr+Qr++],dn.head&&ds&&dn.length<65536&&(dn.head.name+=String.fromCharCode(ds));while(ds&&Qr<zr);if(dn.flags&512&&dn.wrap&4&&(dn.check=hn(dn.check,Yn,Qr,lr)),zr-=Qr,lr+=Qr,ds)break e}else dn.head&&(dn.head.name=null);dn.length=0,dn.mode=En;case En:if(dn.flags&4096){if(zr===0)break e;Qr=0;do ds=Yn[lr+Qr++],dn.head&&ds&&dn.length<65536&&(dn.head.comment+=String.fromCharCode(ds));while(ds&&Qr<zr);if(dn.flags&512&&dn.wrap&4&&(dn.check=hn(dn.check,Yn,Qr,lr)),zr-=Qr,lr+=Qr,ds)break e}else dn.head&&(dn.head.comment=null);dn.mode=kn;case kn:if(dn.flags&512){for(;Xr<16;){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}if(dn.wrap&4&&Ir!==(dn.check&65535)){en.msg="header crc mismatch",dn.mode=Pi;break}Ir=0,Xr=0}dn.head&&(dn.head.hcrc=dn.flags>>9&1,dn.head.done=!0),en.adler=dn.check=0,dn.mode=Dn;break;case Vn:for(;Xr<32;){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}en.adler=dn.check=fa(Ir),Ir=0,Xr=0,dn.mode=Nn;case Nn:if(dn.havedict===0)return en.next_out=ei,en.avail_out=Yi,en.next_in=lr,en.avail_in=zr,dn.hold=Ir,dn.bits=Xr,bo;en.adler=dn.check=1,dn.mode=Dn;case Dn:if(Sn===Rl||Sn===Ma)break e;case On:if(dn.last){Ir>>>=Xr&7,Xr-=Xr&7,dn.mode=Ei;break}for(;Xr<3;){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}switch(dn.last=Ir&1,Ir>>>=1,Xr-=1,Ir&3){case 0:dn.mode=Pn;break;case 1:if(Ko(dn),dn.mode=Ur,Sn===Ma){Ir>>>=2,Xr-=2;break e}break;case 2:dn.mode=fr;break;case 3:en.msg="invalid block type",dn.mode=Pi}Ir>>>=2,Xr-=2;break;case Pn:for(Ir>>>=Xr&7,Xr-=Xr&7;Xr<32;){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}if((Ir&65535)!==(Ir>>>16^65535)){en.msg="invalid stored block lengths",dn.mode=Pi;break}if(dn.length=Ir&65535,Ir=0,Xr=0,dn.mode=Zn,Sn===Ma)break e;case Zn:dn.mode=sr;case sr:if(Qr=dn.length,Qr){if(Qr>zr&&(Qr=zr),Qr>Yi&&(Qr=Yi),Qr===0)break e;ur.set(Yn.subarray(lr,lr+Qr),ei),zr-=Qr,lr+=Qr,Yi-=Qr,ei+=Qr,dn.length-=Qr;break}dn.mode=Dn;break;case fr:for(;Xr<14;){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}if(dn.nlen=(Ir&31)+257,Ir>>>=5,Xr-=5,dn.ndist=(Ir&31)+1,Ir>>>=5,Xr-=5,dn.ncode=(Ir&15)+4,Ir>>>=4,Xr-=4,dn.nlen>286||dn.ndist>30){en.msg="too many length or distance symbols",dn.mode=Pi;break}dn.have=0,dn.mode=mr;case mr:for(;dn.have<dn.ncode;){for(;Xr<3;){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}dn.lens[es[dn.have++]]=Ir&7,Ir>>>=3,Xr-=3}for(;dn.have<19;)dn.lens[es[dn.have++]]=0;if(dn.lencode=dn.lendyn,dn.lenbits=7,Ti={bits:dn.lenbits},Js=rl(mo,dn.lens,0,19,dn.lencode,0,dn.work,Ti),dn.lenbits=Ti.bits,Js){en.msg="invalid code lengths set",dn.mode=Pi;break}dn.have=0,dn.mode=Pr;case Pr:for(;dn.have<dn.nlen+dn.ndist;){for(;Ns=dn.lencode[Ir&(1<<dn.lenbits)-1],Cs=Ns>>>24,to=Ns>>>16&255,Ss=Ns&65535,!(Cs<=Xr);){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}if(Ss<16)Ir>>>=Cs,Xr-=Cs,dn.lens[dn.have++]=Ss;else{if(Ss===16){for(rs=Cs+2;Xr<rs;){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}if(Ir>>>=Cs,Xr-=Cs,dn.have===0){en.msg="invalid bit length repeat",dn.mode=Pi;break}ds=dn.lens[dn.have-1],Qr=3+(Ir&3),Ir>>>=2,Xr-=2}else if(Ss===17){for(rs=Cs+3;Xr<rs;){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}Ir>>>=Cs,Xr-=Cs,ds=0,Qr=3+(Ir&7),Ir>>>=3,Xr-=3}else{for(rs=Cs+7;Xr<rs;){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}Ir>>>=Cs,Xr-=Cs,ds=0,Qr=11+(Ir&127),Ir>>>=7,Xr-=7}if(dn.have+Qr>dn.nlen+dn.ndist){en.msg="invalid bit length repeat",dn.mode=Pi;break}for(;Qr--;)dn.lens[dn.have++]=ds}}if(dn.mode===Pi)break;if(dn.lens[256]===0){en.msg="invalid code -- missing end-of-block",dn.mode=Pi;break}if(dn.lenbits=9,Ti={bits:dn.lenbits},Js=rl(na,dn.lens,0,dn.nlen,dn.lencode,0,dn.work,Ti),dn.lenbits=Ti.bits,Js){en.msg="invalid literal/lengths set",dn.mode=Pi;break}if(dn.distbits=6,dn.distcode=dn.distdyn,Ti={bits:dn.distbits},Js=rl(dl,dn.lens,dn.nlen,dn.ndist,dn.distcode,0,dn.work,Ti),dn.distbits=Ti.bits,Js){en.msg="invalid distances set",dn.mode=Pi;break}if(dn.mode=Ur,Sn===Ma)break e;case Ur:dn.mode=Rr;case Rr:if(zr>=6&&Yi>=258){en.next_out=ei,en.avail_out=Yi,en.next_in=lr,en.avail_in=zr,dn.hold=Ir,dn.bits=Xr,Sl(en,$i),ei=en.next_out,ur=en.output,Yi=en.avail_out,lr=en.next_in,Yn=en.input,zr=en.avail_in,Ir=dn.hold,Xr=dn.bits,dn.mode===Dn&&(dn.back=-1);break}for(dn.back=0;Ns=dn.lencode[Ir&(1<<dn.lenbits)-1],Cs=Ns>>>24,to=Ns>>>16&255,Ss=Ns&65535,!(Cs<=Xr);){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}if(to&&(to&240)===0){for(Oi=Cs,zs=to,pa=Ss;Ns=dn.lencode[pa+((Ir&(1<<Oi+zs)-1)>>Oi)],Cs=Ns>>>24,to=Ns>>>16&255,Ss=Ns&65535,!(Oi+Cs<=Xr);){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}Ir>>>=Oi,Xr-=Oi,dn.back+=Oi}if(Ir>>>=Cs,Xr-=Cs,dn.back+=Cs,dn.length=Ss,to===0){dn.mode=ri;break}if(to&32){dn.back=-1,dn.mode=Dn;break}if(to&64){en.msg="invalid literal/length code",dn.mode=Pi;break}dn.extra=to&15,dn.mode=Wr;case Wr:if(dn.extra){for(rs=dn.extra;Xr<rs;){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}dn.length+=Ir&(1<<dn.extra)-1,Ir>>>=dn.extra,Xr-=dn.extra,dn.back+=dn.extra}dn.was=dn.length,dn.mode=$r;case $r:for(;Ns=dn.distcode[Ir&(1<<dn.distbits)-1],Cs=Ns>>>24,to=Ns>>>16&255,Ss=Ns&65535,!(Cs<=Xr);){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}if((to&240)===0){for(Oi=Cs,zs=to,pa=Ss;Ns=dn.distcode[pa+((Ir&(1<<Oi+zs)-1)>>Oi)],Cs=Ns>>>24,to=Ns>>>16&255,Ss=Ns&65535,!(Oi+Cs<=Xr);){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}Ir>>>=Oi,Xr-=Oi,dn.back+=Oi}if(Ir>>>=Cs,Xr-=Cs,dn.back+=Cs,to&64){en.msg="invalid distance code",dn.mode=Pi;break}dn.offset=Ss,dn.extra=to&15,dn.mode=qr;case qr:if(dn.extra){for(rs=dn.extra;Xr<rs;){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}dn.offset+=Ir&(1<<dn.extra)-1,Ir>>>=dn.extra,Xr-=dn.extra,dn.back+=dn.extra}if(dn.offset>dn.dmax){en.msg="invalid distance too far back",dn.mode=Pi;break}dn.mode=Vr;case Vr:if(Yi===0)break e;if(Qr=$i-Yi,dn.offset>Qr){if(Qr=dn.offset-Qr,Qr>dn.whave&&dn.sane){en.msg="invalid distance too far back",dn.mode=Pi;break}Qr>dn.wnext?(Qr-=dn.wnext,os=dn.wsize-Qr):os=dn.wnext-Qr,Qr>dn.length&&(Qr=dn.length),Ro=dn.window}else Ro=ur,os=ei-dn.offset,Qr=dn.length;Qr>Yi&&(Qr=Yi),Yi-=Qr,dn.length-=Qr;do ur[ei++]=Ro[os++];while(--Qr);dn.length===0&&(dn.mode=Rr);break;case ri:if(Yi===0)break e;ur[ei++]=dn.length,Yi--,dn.mode=Rr;break;case Ei:if(dn.wrap){for(;Xr<32;){if(zr===0)break e;zr--,Ir|=Yn[lr++]<<Xr,Xr+=8}if($i-=Yi,en.total_out+=$i,dn.total+=$i,dn.wrap&4&&$i&&(en.adler=dn.check=dn.flags?hn(dn.check,ur,$i,ei-$i):Kn(dn.check,ur,$i,ei-$i)),$i=Yi,dn.wrap&4&&(dn.flags?Ir:fa(Ir))!==dn.check){en.msg="incorrect data check",dn.mode=Pi;break}Ir=0,Xr=0}dn.mode=Di;case Di:if(dn.wrap&&dn.flags){for(;Xr<32;){if(zr===0)break e;zr--,Ir+=Yn[lr++]<<Xr,Xr+=8}if(dn.wrap&4&&Ir!==(dn.total&4294967295)){en.msg="incorrect length check",dn.mode=Pi;break}Ir=0,Xr=0}dn.mode=Hi;case Hi:Js=kl;break e;case Pi:Js=va;break e;case Qi:return dc;case Si:default:return Ys}return en.next_out=ei,en.avail_out=Yi,en.next_in=lr,en.avail_in=zr,dn.hold=Ir,dn.bits=Xr,(dn.wsize||$i!==en.avail_out&&dn.mode<Pi&&(dn.mode<Ei||Sn!==Tl))&&ia(en,en.output,en.next_out,$i-en.avail_out),eo-=en.avail_in,$i-=en.avail_out,en.total_in+=eo,en.total_out+=$i,dn.total+=$i,dn.wrap&4&&$i&&(en.adler=dn.check=dn.flags?hn(dn.check,ur,$i,en.next_out-$i):Kn(dn.check,ur,$i,en.next_out-$i)),en.data_type=dn.bits+(dn.last?64:0)+(dn.mode===Dn?128:0)+(dn.mode===Ur||dn.mode===Zn?256:0),(eo===0&&$i===0||Sn===Tl)&&Js===kr&&(Js=fc),Js},$a=en=>{if(Qs(en))return Ys;let Sn=en.state;return Sn.window&&(Sn.window=null),en.state=null,kr},Aa=(en,Sn)=>{if(Qs(en))return Ys;const dn=en.state;return(dn.wrap&2)===0?Ys:(dn.head=Sn,Sn.done=!1,kr)},fl=(en,Sn)=>{const dn=Sn.length;let Yn,ur,lr;return Qs(en)||(Yn=en.state,Yn.wrap!==0&&Yn.mode!==Nn)?Ys:Yn.mode===Nn&&(ur=1,ur=Kn(ur,Sn,dn,0),ur!==Yn.check)?va:(lr=ia(en,Sn,dn,dn),lr?(Yn.mode=Qi,dc):(Yn.havedict=1,kr))};var hl=ba,pl=zl,vl=Ia,bc=Il,zn=Ua,Mr=Ol,Br=$a,Nr=Aa,Hr=fl,Fn="pako inflate (from Nodeca project)",Ln={inflateReset:hl,inflateReset2:pl,inflateResetKeep:vl,inflateInit:bc,inflateInit2:zn,inflate:Mr,inflateEnd:Br,inflateGetHeader:Nr,inflateSetDictionary:Hr,inflateInfo:Fn};function Gn(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var er=Gn;const Er=Object.prototype.toString,{Z_NO_FLUSH:Tr,Z_FINISH:ai,Z_OK:Yr,Z_STREAM_END:li,Z_NEED_DICT:yi,Z_STREAM_ERROR:Ri,Z_DATA_ERROR:Ki,Z_MEM_ERROR:ns}=hr;function Vs(en){this.options=Ui.assign({chunkSize:65536,windowBits:15,to:""},en||{});const Sn=this.options;Sn.raw&&Sn.windowBits>=0&&Sn.windowBits<16&&(Sn.windowBits=-Sn.windowBits,Sn.windowBits===0&&(Sn.windowBits=-15)),Sn.windowBits>=0&&Sn.windowBits<16&&!(en&&en.windowBits)&&(Sn.windowBits+=32),Sn.windowBits>15&&Sn.windowBits<48&&(Sn.windowBits&15)===0&&(Sn.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Yo,this.strm.avail_out=0;let dn=Ln.inflateInit2(this.strm,Sn.windowBits);if(dn!==Yr)throw new Error(Ar[dn]);if(this.header=new er,Ln.inflateGetHeader(this.strm,this.header),Sn.dictionary&&(typeof Sn.dictionary=="string"?Sn.dictionary=qs.string2buf(Sn.dictionary):Er.call(Sn.dictionary)==="[object ArrayBuffer]"&&(Sn.dictionary=new Uint8Array(Sn.dictionary)),Sn.raw&&(dn=Ln.inflateSetDictionary(this.strm,Sn.dictionary),dn!==Yr)))throw new Error(Ar[dn])}Vs.prototype.push=function(en,Sn){const dn=this.strm,Yn=this.options.chunkSize,ur=this.options.dictionary;let lr,ei,zr;if(this.ended)return!1;for(Sn===~~Sn?ei=Sn:ei=Sn===!0?ai:Tr,Er.call(en)==="[object ArrayBuffer]"?dn.input=new Uint8Array(en):dn.input=en,dn.next_in=0,dn.avail_in=dn.input.length;;){for(dn.avail_out===0&&(dn.output=new Uint8Array(Yn),dn.next_out=0,dn.avail_out=Yn),lr=Ln.inflate(dn,ei),lr===yi&&ur&&(lr=Ln.inflateSetDictionary(dn,ur),lr===Yr?lr=Ln.inflate(dn,ei):lr===Ki&&(lr=yi));dn.avail_in>0&&lr===li&&dn.state.wrap>0&&en[dn.next_in]!==0;)Ln.inflateReset(dn),lr=Ln.inflate(dn,ei);switch(lr){case Ri:case Ki:case yi:case ns:return this.onEnd(lr),this.ended=!0,!1}if(zr=dn.avail_out,dn.next_out&&(dn.avail_out===0||lr===li))if(this.options.to==="string"){let Yi=qs.utf8border(dn.output,dn.next_out),Ir=dn.next_out-Yi,Xr=qs.buf2string(dn.output,Yi);dn.next_out=Ir,dn.avail_out=Yn-Ir,Ir&&dn.output.set(dn.output.subarray(Yi,Yi+Ir),0),this.onData(Xr)}else this.onData(dn.output.length===dn.next_out?dn.output:dn.output.subarray(0,dn.next_out));if(!(lr===Yr&&zr===0)){if(lr===li)return lr=Ln.inflateEnd(this.strm),this.onEnd(lr),this.ended=!0,!0;if(dn.avail_in===0)break}}return!0},Vs.prototype.onData=function(en){this.chunks.push(en)},Vs.prototype.onEnd=function(en){en===Yr&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Ui.flattenChunks(this.chunks)),this.chunks=[],this.err=en,this.msg=this.strm.msg};function Ps(en,Sn){const dn=new Vs(Sn);if(dn.push(en),dn.err)throw dn.msg||Ar[dn.err];return dn.result}function ks(en,Sn){return Sn=Sn||{},Sn.raw=!0,Ps(en,Sn)}var Ms=Vs,fo=Ps,Zo=ks,Qo=Ps,ha={Inflate:Ms,inflate:fo,inflateRaw:Zo,ungzip:Qo};const{Deflate:co,deflate:Ca,deflateRaw:Wl,gzip:ho}=_l,{Inflate:gl,inflate:sa,inflateRaw:Eo,ungzip:tc}=ha;var hc=co,Vl=Ca,Ac=Wl,ml=ho,nc=gl,eu=sa,wc=Eo,tu=tc,Nc=hr,La={Deflate:hc,deflate:Vl,deflateRaw:Ac,gzip:ml,Inflate:nc,inflate:eu,inflateRaw:wc,ungzip:tu,constants:Nc}},"./node_modules/upng-js/UPNG.js"(yt,Et,xt){(function(){var vt={},bt;yt.exports=vt,bt=xt("./node_modules/upng-js/node_modules/pako/index.js"),(function(At,Ft){At.toRGBA8=function(Ct){var wt=Ct.width,St=Ct.height;if(Ct.tabs.acTL==null)return[At.toRGBA8.decodeImage(Ct.data,wt,St,Ct).buffer];var Tt=[];Ct.frames[0].data==null&&(Ct.frames[0].data=Ct.data);for(var Rt,Pt=new Uint8Array(wt*St*4),Lt=0;Lt<Ct.frames.length;Lt++){var kt=Ct.frames[Lt],Ot=kt.rect.x,Mt=kt.rect.y,It=kt.rect.width,Nt=kt.rect.height,Ut=At.toRGBA8.decodeImage(kt.data,It,Nt,Ct);if(Lt==0?Rt=Ut:kt.blend==0?At._copyTile(Ut,It,Nt,Rt,wt,St,Ot,Mt,0):kt.blend==1&&At._copyTile(Ut,It,Nt,Rt,wt,St,Ot,Mt,1),Tt.push(Rt.buffer),Rt=Rt.slice(0),kt.dispose!=0){if(kt.dispose==1)At._copyTile(Pt,It,Nt,Rt,wt,St,Ot,Mt,0);else if(kt.dispose==2){for(var jt=Lt-1;Ct.frames[jt].dispose==2;)jt--;Rt=new Uint8Array(Tt[jt]).slice(0)}}}return Tt},At.toRGBA8.decodeImage=function(Ct,wt,St,Tt){var Rt=wt*St,Pt=At.decode._getBPP(Tt),Lt=Math.ceil(wt*Pt/8),kt=new Uint8Array(Rt*4),Ot=new Uint32Array(kt.buffer),Mt=Tt.ctype,It=Tt.depth,Nt=At._bin.readUshort;if(Mt==6){var Ut=Rt<<2;if(It==8)for(var jt=0;jt<Ut;jt++)kt[jt]=Ct[jt];if(It==16)for(var jt=0;jt<Ut;jt++)kt[jt]=Ct[jt<<1]}else if(Mt==2){var Vt=Tt.tabs.tRNS,zt=-1,Ht=-1,Wt=-1;if(Vt&&(zt=Vt[0],Ht=Vt[1],Wt=Vt[2]),It==8)for(var jt=0;jt<Rt;jt++){var Gt=jt<<2,qt=jt*3;kt[Gt]=Ct[qt],kt[Gt+1]=Ct[qt+1],kt[Gt+2]=Ct[qt+2],kt[Gt+3]=255,zt!=-1&&Ct[qt]==zt&&Ct[qt+1]==Ht&&Ct[qt+2]==Wt&&(kt[Gt+3]=0)}if(It==16)for(var jt=0;jt<Rt;jt++){var Gt=jt<<2,qt=jt*6;kt[Gt]=Ct[qt],kt[Gt+1]=Ct[qt+2],kt[Gt+2]=Ct[qt+4],kt[Gt+3]=255,zt!=-1&&Nt(Ct,qt)==zt&&Nt(Ct,qt+2)==Ht&&Nt(Ct,qt+4)==Wt&&(kt[Gt+3]=0)}}else if(Mt==3){var Xt=Tt.tabs.PLTE,Kt=Tt.tabs.tRNS,Jt=Kt?Kt.length:0;if(It==1)for(var tn=0;tn<St;tn++)for(var sn=tn*Lt,Zt=tn*wt,jt=0;jt<wt;jt++){var Gt=Zt+jt<<2,nn=Ct[sn+(jt>>3)]>>7-((jt&7)<<0)&1,rn=3*nn;kt[Gt]=Xt[rn],kt[Gt+1]=Xt[rn+1],kt[Gt+2]=Xt[rn+2],kt[Gt+3]=nn<Jt?Kt[nn]:255}if(It==2)for(var tn=0;tn<St;tn++)for(var sn=tn*Lt,Zt=tn*wt,jt=0;jt<wt;jt++){var Gt=Zt+jt<<2,nn=Ct[sn+(jt>>2)]>>6-((jt&3)<<1)&3,rn=3*nn;kt[Gt]=Xt[rn],kt[Gt+1]=Xt[rn+1],kt[Gt+2]=Xt[rn+2],kt[Gt+3]=nn<Jt?Kt[nn]:255}if(It==4)for(var tn=0;tn<St;tn++)for(var sn=tn*Lt,Zt=tn*wt,jt=0;jt<wt;jt++){var Gt=Zt+jt<<2,nn=Ct[sn+(jt>>1)]>>4-((jt&1)<<2)&15,rn=3*nn;kt[Gt]=Xt[rn],kt[Gt+1]=Xt[rn+1],kt[Gt+2]=Xt[rn+2],kt[Gt+3]=nn<Jt?Kt[nn]:255}if(It==8)for(var jt=0;jt<Rt;jt++){var Gt=jt<<2,nn=Ct[jt],rn=3*nn;kt[Gt]=Xt[rn],kt[Gt+1]=Xt[rn+1],kt[Gt+2]=Xt[rn+2],kt[Gt+3]=nn<Jt?Kt[nn]:255}}else if(Mt==4){if(It==8)for(var jt=0;jt<Rt;jt++){var Gt=jt<<2,on=jt<<1,ln=Ct[on];kt[Gt]=ln,kt[Gt+1]=ln,kt[Gt+2]=ln,kt[Gt+3]=Ct[on+1]}if(It==16)for(var jt=0;jt<Rt;jt++){var Gt=jt<<2,on=jt<<2,ln=Ct[on];kt[Gt]=ln,kt[Gt+1]=ln,kt[Gt+2]=ln,kt[Gt+3]=Ct[on+2]}}else if(Mt==0){var zt=Tt.tabs.tRNS?Tt.tabs.tRNS:-1;if(It==1)for(var jt=0;jt<Rt;jt++){var ln=255*(Ct[jt>>3]>>7-(jt&7)&1),Qt=ln==zt*255?0:255;Ot[jt]=Qt<<24|ln<<16|ln<<8|ln}if(It==2)for(var jt=0;jt<Rt;jt++){var ln=85*(Ct[jt>>2]>>6-((jt&3)<<1)&3),Qt=ln==zt*85?0:255;Ot[jt]=Qt<<24|ln<<16|ln<<8|ln}if(It==4)for(var jt=0;jt<Rt;jt++){var ln=17*(Ct[jt>>1]>>4-((jt&1)<<2)&15),Qt=ln==zt*17?0:255;Ot[jt]=Qt<<24|ln<<16|ln<<8|ln}if(It==8)for(var jt=0;jt<Rt;jt++){var ln=Ct[jt],Qt=ln==zt?0:255;Ot[jt]=Qt<<24|ln<<16|ln<<8|ln}if(It==16)for(var jt=0;jt<Rt;jt++){var ln=Ct[jt<<1],Qt=Nt(Ct,jt<<1)==zt?0:255;Ot[jt]=Qt<<24|ln<<16|ln<<8|ln}}return kt},At.decode=function(Ct){for(var wt=new Uint8Array(Ct),St=8,Tt=At._bin,Rt=Tt.readUshort,Pt=Tt.readUint,Lt={tabs:{},frames:[]},kt=new Uint8Array(wt.length),Ot=0,Mt,It=0,Nt=[137,80,78,71,13,10,26,10],Ut=0;Ut<8;Ut++)if(wt[Ut]!=Nt[Ut])throw"The input is not a PNG file!";for(;St<wt.length;){var jt=Tt.readUint(wt,St);St+=4;var Vt=Tt.readASCII(wt,St,4);if(St+=4,Vt=="IHDR")At.decode._IHDR(wt,St,Lt);else if(Vt=="IDAT"){for(var Ut=0;Ut<jt;Ut++)kt[Ot+Ut]=wt[St+Ut];Ot+=jt}else if(Vt=="acTL")Lt.tabs[Vt]={num_frames:Pt(wt,St),num_plays:Pt(wt,St+4)},Mt=new Uint8Array(wt.length);else if(Vt=="fcTL"){if(It!=0){var zt=Lt.frames[Lt.frames.length-1];zt.data=At.decode._decompress(Lt,Mt.slice(0,It),zt.rect.width,zt.rect.height),It=0}var Ht={x:Pt(wt,St+12),y:Pt(wt,St+16),width:Pt(wt,St+4),height:Pt(wt,St+8)},Wt=Rt(wt,St+22);Wt=Rt(wt,St+20)/(Wt==0?100:Wt);var Gt={rect:Ht,delay:Math.round(Wt*1e3),dispose:wt[St+24],blend:wt[St+25]};Lt.frames.push(Gt)}else if(Vt=="fdAT"){for(var Ut=0;Ut<jt-4;Ut++)Mt[It+Ut]=wt[St+Ut+4];It+=jt-4}else if(Vt=="pHYs")Lt.tabs[Vt]=[Tt.readUint(wt,St),Tt.readUint(wt,St+4),wt[St+8]];else if(Vt=="cHRM"){Lt.tabs[Vt]=[];for(var Ut=0;Ut<8;Ut++)Lt.tabs[Vt].push(Tt.readUint(wt,St+Ut*4))}else if(Vt=="tEXt"){Lt.tabs[Vt]==null&&(Lt.tabs[Vt]={});var qt=Tt.nextZero(wt,St),Xt=Tt.readASCII(wt,St,qt-St),Kt=Tt.readASCII(wt,qt+1,St+jt-qt-1);Lt.tabs[Vt][Xt]=Kt}else if(Vt=="iTXt"){Lt.tabs[Vt]==null&&(Lt.tabs[Vt]={});var qt=0,Jt=St;qt=Tt.nextZero(wt,Jt);var Xt=Tt.readASCII(wt,Jt,qt-Jt);Jt=qt+1,wt[Jt],wt[Jt+1],Jt+=2,qt=Tt.nextZero(wt,Jt),Tt.readASCII(wt,Jt,qt-Jt),Jt=qt+1,qt=Tt.nextZero(wt,Jt),Tt.readUTF8(wt,Jt,qt-Jt),Jt=qt+1;var Kt=Tt.readUTF8(wt,Jt,jt-(Jt-St));Lt.tabs[Vt][Xt]=Kt}else if(Vt=="PLTE")Lt.tabs[Vt]=Tt.readBytes(wt,St,jt);else if(Vt=="hIST"){var tn=Lt.tabs.PLTE.length/3;Lt.tabs[Vt]=[];for(var Ut=0;Ut<tn;Ut++)Lt.tabs[Vt].push(Rt(wt,St+Ut*2))}else if(Vt=="tRNS")Lt.ctype==3?Lt.tabs[Vt]=Tt.readBytes(wt,St,jt):Lt.ctype==0?Lt.tabs[Vt]=Rt(wt,St):Lt.ctype==2&&(Lt.tabs[Vt]=[Rt(wt,St),Rt(wt,St+2),Rt(wt,St+4)]);else if(Vt=="gAMA")Lt.tabs[Vt]=Tt.readUint(wt,St)/1e5;else if(Vt=="sRGB")Lt.tabs[Vt]=wt[St];else if(Vt=="bKGD")Lt.ctype==0||Lt.ctype==4?Lt.tabs[Vt]=[Rt(wt,St)]:Lt.ctype==2||Lt.ctype==6?Lt.tabs[Vt]=[Rt(wt,St),Rt(wt,St+2),Rt(wt,St+4)]:Lt.ctype==3&&(Lt.tabs[Vt]=wt[St]);else if(Vt=="IEND"){if(It!=0){var zt=Lt.frames[Lt.frames.length-1];zt.data=At.decode._decompress(Lt,Mt.slice(0,It),zt.rect.width,zt.rect.height),It=0}Lt.data=At.decode._decompress(Lt,kt,Lt.width,Lt.height);break}St+=jt,Tt.readUint(wt,St),St+=4}return delete Lt.compress,delete Lt.interlace,delete Lt.filter,Lt},At.decode._decompress=function(Ct,wt,St,Tt){return Ct.compress==0&&(wt=At.decode._inflate(wt)),Ct.interlace==0?wt=At.decode._filterZero(wt,Ct,0,St,Tt):Ct.interlace==1&&(wt=At.decode._readInterlace(wt,Ct)),wt},At.decode._inflate=function(Ct){return Ft.inflate(Ct)},At.decode._readInterlace=function(Ct,wt){for(var St=wt.width,Tt=wt.height,Rt=At.decode._getBPP(wt),Pt=Rt>>3,Lt=Math.ceil(St*Rt/8),kt=new Uint8Array(Tt*Lt),Ot=0,Mt=[0,0,4,0,2,0,1],It=[0,4,0,2,0,1,0],Nt=[8,8,8,4,4,2,2],Ut=[8,8,4,4,2,2,1],jt=0;jt<7;){for(var Vt=Nt[jt],zt=Ut[jt],Ht=0,Wt=0,Gt=Mt[jt];Gt<Tt;)Gt+=Vt,Wt++;for(var qt=It[jt];qt<St;)qt+=zt,Ht++;var Xt=Math.ceil(Ht*Rt/8);At.decode._filterZero(Ct,wt,Ot,Ht,Wt);for(var Kt=0,Jt=Mt[jt];Jt<Tt;){for(var tn=It[jt],sn=Ot+Kt*Xt<<3;tn<St;){if(Rt==1){var Zt=Ct[sn>>3];Zt=Zt>>7-(sn&7)&1,kt[Jt*Lt+(tn>>3)]|=Zt<<7-((tn&3)<<0)}if(Rt==2){var Zt=Ct[sn>>3];Zt=Zt>>6-(sn&7)&3,kt[Jt*Lt+(tn>>2)]|=Zt<<6-((tn&3)<<1)}if(Rt==4){var Zt=Ct[sn>>3];Zt=Zt>>4-(sn&7)&15,kt[Jt*Lt+(tn>>1)]|=Zt<<4-((tn&1)<<2)}if(Rt>=8)for(var nn=Jt*Lt+tn*Pt,rn=0;rn<Pt;rn++)kt[nn+rn]=Ct[(sn>>3)+rn];sn+=Rt,tn+=zt}Kt++,Jt+=Vt}Ht*Wt!=0&&(Ot+=Wt*(1+Xt)),jt=jt+1}return kt},At.decode._getBPP=function(Ct){var wt=[1,null,3,1,2,null,4][Ct.ctype];return wt*Ct.depth},At.decode._filterZero=function(Ct,wt,St,Tt,Rt){var Pt=At.decode._getBPP(wt),Lt=Math.ceil(Tt*Pt/8),kt=At.decode._paeth;Pt=Math.ceil(Pt/8);for(var Ot=0;Ot<Rt;Ot++){var Mt=St+Ot*Lt,It=Mt+Ot+1,Nt=Ct[It-1];if(Nt==0)for(var Ut=0;Ut<Lt;Ut++)Ct[Mt+Ut]=Ct[It+Ut];else if(Nt==1){for(var Ut=0;Ut<Pt;Ut++)Ct[Mt+Ut]=Ct[It+Ut];for(var Ut=Pt;Ut<Lt;Ut++)Ct[Mt+Ut]=Ct[It+Ut]+Ct[Mt+Ut-Pt]&255}else if(Ot==0){for(var Ut=0;Ut<Pt;Ut++)Ct[Mt+Ut]=Ct[It+Ut];if(Nt==2)for(var Ut=Pt;Ut<Lt;Ut++)Ct[Mt+Ut]=Ct[It+Ut]&255;if(Nt==3)for(var Ut=Pt;Ut<Lt;Ut++)Ct[Mt+Ut]=Ct[It+Ut]+(Ct[Mt+Ut-Pt]>>1)&255;if(Nt==4)for(var Ut=Pt;Ut<Lt;Ut++)Ct[Mt+Ut]=Ct[It+Ut]+kt(Ct[Mt+Ut-Pt],0,0)&255}else{if(Nt==2)for(var Ut=0;Ut<Lt;Ut++)Ct[Mt+Ut]=Ct[It+Ut]+Ct[Mt+Ut-Lt]&255;if(Nt==3){for(var Ut=0;Ut<Pt;Ut++)Ct[Mt+Ut]=Ct[It+Ut]+(Ct[Mt+Ut-Lt]>>1)&255;for(var Ut=Pt;Ut<Lt;Ut++)Ct[Mt+Ut]=Ct[It+Ut]+(Ct[Mt+Ut-Lt]+Ct[Mt+Ut-Pt]>>1)&255}if(Nt==4){for(var Ut=0;Ut<Pt;Ut++)Ct[Mt+Ut]=Ct[It+Ut]+kt(0,Ct[Mt+Ut-Lt],0)&255;for(var Ut=Pt;Ut<Lt;Ut++)Ct[Mt+Ut]=Ct[It+Ut]+kt(Ct[Mt+Ut-Pt],Ct[Mt+Ut-Lt],Ct[Mt+Ut-Pt-Lt])&255}}}return Ct},At.decode._paeth=function(Ct,wt,St){var Tt=Ct+wt-St,Rt=Math.abs(Tt-Ct),Pt=Math.abs(Tt-wt),Lt=Math.abs(Tt-St);return Rt<=Pt&&Rt<=Lt?Ct:Pt<=Lt?wt:St},At.decode._IHDR=function(Ct,wt,St){var Tt=At._bin;St.width=Tt.readUint(Ct,wt),wt+=4,St.height=Tt.readUint(Ct,wt),wt+=4,St.depth=Ct[wt],wt++,St.ctype=Ct[wt],wt++,St.compress=Ct[wt],wt++,St.filter=Ct[wt],wt++,St.interlace=Ct[wt],wt++},At._bin={nextZero:function(Ct,wt){for(;Ct[wt]!=0;)wt++;return wt},readUshort:function(Ct,wt){return Ct[wt]<<8|Ct[wt+1]},writeUshort:function(Ct,wt,St){Ct[wt]=St>>8&255,Ct[wt+1]=St&255},readUint:function(Ct,wt){return Ct[wt]*16777216+(Ct[wt+1]<<16|Ct[wt+2]<<8|Ct[wt+3])},writeUint:function(Ct,wt,St){Ct[wt]=St>>24&255,Ct[wt+1]=St>>16&255,Ct[wt+2]=St>>8&255,Ct[wt+3]=St&255},readASCII:function(Ct,wt,St){for(var Tt="",Rt=0;Rt<St;Rt++)Tt+=String.fromCharCode(Ct[wt+Rt]);return Tt},writeASCII:function(Ct,wt,St){for(var Tt=0;Tt<St.length;Tt++)Ct[wt+Tt]=St.charCodeAt(Tt)},readBytes:function(Ct,wt,St){for(var Tt=[],Rt=0;Rt<St;Rt++)Tt.push(Ct[wt+Rt]);return Tt},pad:function(Ct){return Ct.length<2?"0"+Ct:Ct},readUTF8:function(Ct,wt,St){for(var Tt="",Rt,Pt=0;Pt<St;Pt++)Tt+="%"+At._bin.pad(Ct[wt+Pt].toString(16));try{Rt=decodeURIComponent(Tt)}catch{return At._bin.readASCII(Ct,wt,St)}return Rt}},At._copyTile=function(Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot){for(var Mt=Math.min(wt,Rt),It=Math.min(St,Pt),Nt=0,Ut=0,jt=0;jt<It;jt++)for(var Vt=0;Vt<Mt;Vt++)if(Lt>=0&&kt>=0?(Nt=jt*wt+Vt<<2,Ut=(kt+jt)*Rt+Lt+Vt<<2):(Nt=(-kt+jt)*wt-Lt+Vt<<2,Ut=jt*Rt+Vt<<2),Ot==0)Tt[Ut]=Ct[Nt],Tt[Ut+1]=Ct[Nt+1],Tt[Ut+2]=Ct[Nt+2],Tt[Ut+3]=Ct[Nt+3];else if(Ot==1){var zt=Ct[Nt+3]*.00392156862745098,Ht=Ct[Nt]*zt,Wt=Ct[Nt+1]*zt,Gt=Ct[Nt+2]*zt,qt=Tt[Ut+3]*(1/255),Xt=Tt[Ut]*qt,Kt=Tt[Ut+1]*qt,Jt=Tt[Ut+2]*qt,tn=1-zt,sn=zt+qt*tn,Zt=sn==0?0:1/sn;Tt[Ut+3]=255*sn,Tt[Ut+0]=(Ht+Xt*tn)*Zt,Tt[Ut+1]=(Wt+Kt*tn)*Zt,Tt[Ut+2]=(Gt+Jt*tn)*Zt}else if(Ot==2){var zt=Ct[Nt+3],Ht=Ct[Nt],Wt=Ct[Nt+1],Gt=Ct[Nt+2],qt=Tt[Ut+3],Xt=Tt[Ut],Kt=Tt[Ut+1],Jt=Tt[Ut+2];zt==qt&&Ht==Xt&&Wt==Kt&&Gt==Jt?(Tt[Ut]=0,Tt[Ut+1]=0,Tt[Ut+2]=0,Tt[Ut+3]=0):(Tt[Ut]=Ht,Tt[Ut+1]=Wt,Tt[Ut+2]=Gt,Tt[Ut+3]=zt)}else if(Ot==3){var zt=Ct[Nt+3],Ht=Ct[Nt],Wt=Ct[Nt+1],Gt=Ct[Nt+2],qt=Tt[Ut+3],Xt=Tt[Ut],Kt=Tt[Ut+1],Jt=Tt[Ut+2];if(zt==qt&&Ht==Xt&&Wt==Kt&&Gt==Jt)continue;if(zt<220&&qt>20)return!1}return!0},At.encode=function(Ct,wt,St,Tt,Rt,Pt){Tt==null&&(Tt=0),Pt==null&&(Pt=!1);for(var Lt=new Uint8Array(Ct[0].byteLength*Ct.length+100),kt=[137,80,78,71,13,10,26,10],Ot=0;Ot<8;Ot++)Lt[Ot]=kt[Ot];var Mt=8,It=At._bin,Nt=At.crc.crc,Ut=It.writeUint,jt=It.writeUshort,Vt=It.writeASCII,zt=At.encode.compressPNG(Ct,wt,St,Tt,Pt);Ut(Lt,Mt,13),Mt+=4,Vt(Lt,Mt,"IHDR"),Mt+=4,Ut(Lt,Mt,wt),Mt+=4,Ut(Lt,Mt,St),Mt+=4,Lt[Mt]=zt.depth,Mt++,Lt[Mt]=zt.ctype,Mt++,Lt[Mt]=0,Mt++,Lt[Mt]=0,Mt++,Lt[Mt]=0,Mt++,Ut(Lt,Mt,Nt(Lt,Mt-17,17)),Mt+=4,Ut(Lt,Mt,1),Mt+=4,Vt(Lt,Mt,"sRGB"),Mt+=4,Lt[Mt]=1,Mt++,Ut(Lt,Mt,Nt(Lt,Mt-5,5)),Mt+=4;var Ht=Ct.length>1;if(Ht&&(Ut(Lt,Mt,8),Mt+=4,Vt(Lt,Mt,"acTL"),Mt+=4,Ut(Lt,Mt,Ct.length),Mt+=4,Ut(Lt,Mt,0),Mt+=4,Ut(Lt,Mt,Nt(Lt,Mt-12,12)),Mt+=4),zt.ctype==3){var Wt=zt.plte.length;Ut(Lt,Mt,Wt*3),Mt+=4,Vt(Lt,Mt,"PLTE"),Mt+=4;for(var Ot=0;Ot<Wt;Ot++){var Gt=Ot*3,qt=zt.plte[Ot],Xt=qt&255,Kt=qt>>8&255,Jt=qt>>16&255;Lt[Mt+Gt+0]=Xt,Lt[Mt+Gt+1]=Kt,Lt[Mt+Gt+2]=Jt}if(Mt+=Wt*3,Ut(Lt,Mt,Nt(Lt,Mt-Wt*3-4,Wt*3+4)),Mt+=4,zt.gotAlpha){Ut(Lt,Mt,Wt),Mt+=4,Vt(Lt,Mt,"tRNS"),Mt+=4;for(var Ot=0;Ot<Wt;Ot++)Lt[Mt+Ot]=zt.plte[Ot]>>24&255;Mt+=Wt,Ut(Lt,Mt,Nt(Lt,Mt-Wt-4,Wt+4)),Mt+=4}}for(var tn=0,sn=0;sn<zt.frames.length;sn++){var Zt=zt.frames[sn];Ht&&(Ut(Lt,Mt,26),Mt+=4,Vt(Lt,Mt,"fcTL"),Mt+=4,Ut(Lt,Mt,tn++),Mt+=4,Ut(Lt,Mt,Zt.rect.width),Mt+=4,Ut(Lt,Mt,Zt.rect.height),Mt+=4,Ut(Lt,Mt,Zt.rect.x),Mt+=4,Ut(Lt,Mt,Zt.rect.y),Mt+=4,jt(Lt,Mt,Rt[sn]),Mt+=2,jt(Lt,Mt,1e3),Mt+=2,Lt[Mt]=Zt.dispose,Mt++,Lt[Mt]=Zt.blend,Mt++,Ut(Lt,Mt,Nt(Lt,Mt-30,30)),Mt+=4);var nn=Zt.cimg,Wt=nn.length;Ut(Lt,Mt,Wt+(sn==0?0:4)),Mt+=4;var rn=Mt;Vt(Lt,Mt,sn==0?"IDAT":"fdAT"),Mt+=4,sn!=0&&(Ut(Lt,Mt,tn++),Mt+=4);for(var Ot=0;Ot<Wt;Ot++)Lt[Mt+Ot]=nn[Ot];Mt+=Wt,Ut(Lt,Mt,Nt(Lt,rn,Mt-rn)),Mt+=4}return Ut(Lt,Mt,0),Mt+=4,Vt(Lt,Mt,"IEND"),Mt+=4,Ut(Lt,Mt,Nt(Lt,Mt-4,4)),Mt+=4,Lt.buffer.slice(0,Mt)},At.encode.compressPNG=function(Ct,wt,St,Tt,Rt){for(var Pt=At.encode.compress(Ct,wt,St,Tt,!1,Rt),Lt=0;Lt<Ct.length;Lt++){var kt=Pt.frames[Lt];kt.rect.width;var Ot=kt.rect.height,Mt=kt.bpl,It=kt.bpp,Nt=new Uint8Array(Ot*Mt+Ot);kt.cimg=At.encode._filterZero(kt.img,Ot,It,Mt,Nt)}return Pt},At.encode.compress=function(Ct,wt,St,Tt,Rt,Pt){Pt==null&&(Pt=!1);for(var Lt=6,kt=8,Ot=4,Mt=255,It=0;It<Ct.length;It++)for(var Nt=new Uint8Array(Ct[It]),Ut=Nt.length,jt=0;jt<Ut;jt+=4)Mt&=Nt[jt+3];var Vt=Mt!=255,zt={},Ht=[];if(Ct.length!=0&&(zt[0]=0,Ht.push(0),Tt!=0&&Tt--),Tt!=0){var Wt=At.quantize(Ct,Tt,Rt);Ct=Wt.bufs;for(var jt=0;jt<Wt.plte.length;jt++){var Gt=Wt.plte[jt].est.rgba;zt[Gt]==null&&(zt[Gt]=Ht.length,Ht.push(Gt))}}else for(var It=0;It<Ct.length;It++)for(var qt=new Uint32Array(Ct[It]),Ut=qt.length,jt=0;jt<Ut;jt++){var Gt=qt[jt];if((jt<wt||Gt!=qt[jt-1]&&Gt!=qt[jt-wt])&&zt[Gt]==null&&(zt[Gt]=Ht.length,Ht.push(Gt),Ht.length>=300))break}var Xt=Vt?Rt:!1,Kt=Ht.length;Kt<=256&&Pt==!1&&(Kt<=2?kt=1:Kt<=4?kt=2:Kt<=16?kt=4:kt=8,Rt&&(kt=8),Vt=!0);for(var Jt=[],It=0;It<Ct.length;It++){var tn=new Uint8Array(Ct[It]),sn=new Uint32Array(tn.buffer),Zt=0,nn=0,rn=wt,on=St,ln=0;if(It!=0&&!Xt){for(var Qt=Rt||It==1||Jt[Jt.length-2].dispose==2?1:2,fn=0,pn=1e9,mn=0;mn<Qt;mn++){for(var Jn=new Uint8Array(Ct[It-1-mn]),vn=new Uint32Array(Ct[It-1-mn]),yn=wt,xn=St,Mn=-1,$n=-1,Rn=0;Rn<St;Rn++)for(var Tn=0;Tn<wt;Tn++){var jt=Rn*wt+Tn;sn[jt]!=vn[jt]&&(Tn<yn&&(yn=Tn),Tn>Mn&&(Mn=Tn),Rn<xn&&(xn=Rn),Rn>$n&&($n=Rn))}var ir=Mn==-1?1:(Mn-yn+1)*($n-xn+1);ir<pn&&(pn=ir,fn=mn,Mn==-1?(Zt=nn=0,rn=on=1):(Zt=yn,nn=xn,rn=Mn-yn+1,on=$n-xn+1))}var Jn=new Uint8Array(Ct[It-1-fn]);fn==1&&(Jt[Jt.length-1].dispose=2);var jn=new Uint8Array(rn*on*4);new Uint32Array(jn.buffer),At._copyTile(Jn,wt,St,jn,rn,on,-Zt,-nn,0),At._copyTile(tn,wt,St,jn,rn,on,-Zt,-nn,3)?(At._copyTile(tn,wt,St,jn,rn,on,-Zt,-nn,2),ln=1):(At._copyTile(tn,wt,St,jn,rn,on,-Zt,-nn,0),ln=0),tn=jn,sn=new Uint32Array(tn.buffer)}var Wn=4*rn;if(Kt<=256&&Pt==!1){Wn=Math.ceil(kt*rn/8);for(var jn=new Uint8Array(Wn*on),Rn=0;Rn<on;Rn++){var jt=Rn*Wn,br=Rn*rn;if(kt==8)for(var Tn=0;Tn<rn;Tn++)jn[jt+Tn]=zt[sn[br+Tn]];else if(kt==4)for(var Tn=0;Tn<rn;Tn++)jn[jt+(Tn>>1)]|=zt[sn[br+Tn]]<<4-(Tn&1)*4;else if(kt==2)for(var Tn=0;Tn<rn;Tn++)jn[jt+(Tn>>2)]|=zt[sn[br+Tn]]<<6-(Tn&3)*2;else if(kt==1)for(var Tn=0;Tn<rn;Tn++)jn[jt+(Tn>>3)]|=zt[sn[br+Tn]]<<7-(Tn&7)*1}tn=jn,Lt=3,Ot=1}else if(Vt==!1&&Ct.length==1){for(var jn=new Uint8Array(rn*on*3),Fr=rn*on,jt=0;jt<Fr;jt++){var Cr=jt*3,dr=jt*4;jn[Cr]=tn[dr],jn[Cr+1]=tn[dr+1],jn[Cr+2]=tn[dr+2]}tn=jn,Lt=2,Ot=3,Wn=3*rn}Jt.push({rect:{x:Zt,y:nn,width:rn,height:on},img:tn,bpl:Wn,bpp:Ot,blend:ln,dispose:Xt?1:0})}return{ctype:Lt,depth:kt,plte:Ht,gotAlpha:Vt,frames:Jt}},At.encode._filterZero=function(Ct,wt,St,Tt,Rt){for(var Pt=[],Lt=0;Lt<5;Lt++)if(!(wt*Tt>5e5&&(Lt==2||Lt==3||Lt==4))){for(var kt=0;kt<wt;kt++)At.encode._filterLine(Rt,Ct,kt,Tt,St,Lt);if(Pt.push(Ft.deflate(Rt)),St==1)break}for(var Ot,Mt=1e9,It=0;It<Pt.length;It++)Pt[It].length<Mt&&(Ot=It,Mt=Pt[It].length);return Pt[Ot]},At.encode._filterLine=function(Ct,wt,St,Tt,Rt,Pt){var Lt=St*Tt,kt=Lt+St,Ot=At.decode._paeth;if(Ct[kt]=Pt,kt++,Pt==0)for(var Mt=0;Mt<Tt;Mt++)Ct[kt+Mt]=wt[Lt+Mt];else if(Pt==1){for(var Mt=0;Mt<Rt;Mt++)Ct[kt+Mt]=wt[Lt+Mt];for(var Mt=Rt;Mt<Tt;Mt++)Ct[kt+Mt]=wt[Lt+Mt]-wt[Lt+Mt-Rt]+256&255}else if(St==0){for(var Mt=0;Mt<Rt;Mt++)Ct[kt+Mt]=wt[Lt+Mt];if(Pt==2)for(var Mt=Rt;Mt<Tt;Mt++)Ct[kt+Mt]=wt[Lt+Mt];if(Pt==3)for(var Mt=Rt;Mt<Tt;Mt++)Ct[kt+Mt]=wt[Lt+Mt]-(wt[Lt+Mt-Rt]>>1)+256&255;if(Pt==4)for(var Mt=Rt;Mt<Tt;Mt++)Ct[kt+Mt]=wt[Lt+Mt]-Ot(wt[Lt+Mt-Rt],0,0)+256&255}else{if(Pt==2)for(var Mt=0;Mt<Tt;Mt++)Ct[kt+Mt]=wt[Lt+Mt]+256-wt[Lt+Mt-Tt]&255;if(Pt==3){for(var Mt=0;Mt<Rt;Mt++)Ct[kt+Mt]=wt[Lt+Mt]+256-(wt[Lt+Mt-Tt]>>1)&255;for(var Mt=Rt;Mt<Tt;Mt++)Ct[kt+Mt]=wt[Lt+Mt]+256-(wt[Lt+Mt-Tt]+wt[Lt+Mt-Rt]>>1)&255}if(Pt==4){for(var Mt=0;Mt<Rt;Mt++)Ct[kt+Mt]=wt[Lt+Mt]+256-Ot(0,wt[Lt+Mt-Tt],0)&255;for(var Mt=Rt;Mt<Tt;Mt++)Ct[kt+Mt]=wt[Lt+Mt]+256-Ot(wt[Lt+Mt-Rt],wt[Lt+Mt-Tt],wt[Lt+Mt-Rt-Tt])&255}}},At.crc={table:(function(){for(var Ct=new Uint32Array(256),wt=0;wt<256;wt++){for(var St=wt,Tt=0;Tt<8;Tt++)St&1?St=3988292384^St>>>1:St=St>>>1;Ct[wt]=St}return Ct})(),update:function(Ct,wt,St,Tt){for(var Rt=0;Rt<Tt;Rt++)Ct=At.crc.table[(Ct^wt[St+Rt])&255]^Ct>>>8;return Ct},crc:function(Ct,wt,St){return At.crc.update(4294967295,Ct,wt,St)^4294967295}},At.quantize=function(Ct,wt,St){for(var Tt=[],Rt=0,Pt=0;Pt<Ct.length;Pt++)Tt.push(At.encode.alphaMul(new Uint8Array(Ct[Pt]),St)),Rt+=Ct[Pt].byteLength;for(var Lt=new Uint8Array(Rt),kt=new Uint32Array(Lt.buffer),Ot=0,Pt=0;Pt<Tt.length;Pt++){for(var Mt=Tt[Pt],It=Mt.length,Nt=0;Nt<It;Nt++)Lt[Ot+Nt]=Mt[Nt];Ot+=It}var Ut={i0:0,i1:Lt.length,bst:null,est:null,tdst:0,left:null,right:null};Ut.bst=At.quantize.stats(Lt,Ut.i0,Ut.i1),Ut.est=At.quantize.estats(Ut.bst);for(var jt=[Ut];jt.length<wt;){for(var Vt=0,zt=0,Pt=0;Pt<jt.length;Pt++)jt[Pt].est.L>Vt&&(Vt=jt[Pt].est.L,zt=Pt);if(Vt<.001)break;var Ht=jt[zt],Wt=At.quantize.splitPixels(Lt,kt,Ht.i0,Ht.i1,Ht.est.e,Ht.est.eMq255),Gt={i0:Ht.i0,i1:Wt,bst:null,est:null,tdst:0,left:null,right:null};Gt.bst=At.quantize.stats(Lt,Gt.i0,Gt.i1),Gt.est=At.quantize.estats(Gt.bst);var qt={i0:Wt,i1:Ht.i1,bst:null,est:null,tdst:0,left:null,right:null};qt.bst={R:[],m:[],N:Ht.bst.N-Gt.bst.N};for(var Pt=0;Pt<16;Pt++)qt.bst.R[Pt]=Ht.bst.R[Pt]-Gt.bst.R[Pt];for(var Pt=0;Pt<4;Pt++)qt.bst.m[Pt]=Ht.bst.m[Pt]-Gt.bst.m[Pt];qt.est=At.quantize.estats(qt.bst),Ht.left=Gt,Ht.right=qt,jt[zt]=Gt,jt.push(qt)}jt.sort(function(Qt,fn){return fn.bst.N-Qt.bst.N});for(var Xt=0;Xt<Tt.length;Xt++){for(var Kt=At.quantize.planeDst,Jt=new Uint8Array(Tt[Xt].buffer),tn=new Uint32Array(Tt[Xt].buffer),sn=Jt.length,Pt=0;Pt<sn;Pt+=4){for(var Zt=Jt[Pt]*.00392156862745098,nn=Jt[Pt+1]*(1/255),rn=Jt[Pt+2]*(1/255),on=Jt[Pt+3]*(1/255),ln=Ut;ln.left;)ln=Kt(ln.est,Zt,nn,rn,on)<=0?ln.left:ln.right;tn[Pt>>2]=ln.est.rgba}Tt[Xt]=tn.buffer}return{bufs:Tt,plte:jt}},At.quantize.getNearest=function(Ct,wt,St,Tt,Rt){if(Ct.left==null)return Ct.tdst=At.quantize.dist(Ct.est.q,wt,St,Tt,Rt),Ct;var Pt=At.quantize.planeDst(Ct.est,wt,St,Tt,Rt),Lt=Ct.left,kt=Ct.right;Pt>0&&(Lt=Ct.right,kt=Ct.left);var Ot=At.quantize.getNearest(Lt,wt,St,Tt,Rt);if(Ot.tdst<=Pt*Pt)return Ot;var Mt=At.quantize.getNearest(kt,wt,St,Tt,Rt);return Mt.tdst<Ot.tdst?Mt:Ot},At.quantize.planeDst=function(Ct,wt,St,Tt,Rt){var Pt=Ct.e;return Pt[0]*wt+Pt[1]*St+Pt[2]*Tt+Pt[3]*Rt-Ct.eMq},At.quantize.dist=function(Ct,wt,St,Tt,Rt){var Pt=wt-Ct[0],Lt=St-Ct[1],kt=Tt-Ct[2],Ot=Rt-Ct[3];return Pt*Pt+Lt*Lt+kt*kt+Ot*Ot},At.quantize.splitPixels=function(Ct,wt,St,Tt,Rt,Pt){var Lt=At.quantize.vecDot;for(Tt-=4;St<Tt;){for(;Lt(Ct,St,Rt)<=Pt;)St+=4;for(;Lt(Ct,Tt,Rt)>Pt;)Tt-=4;if(St>=Tt)break;var kt=wt[St>>2];wt[St>>2]=wt[Tt>>2],wt[Tt>>2]=kt,St+=4,Tt-=4}for(;Lt(Ct,St,Rt)>Pt;)St-=4;return St+4},At.quantize.vecDot=function(Ct,wt,St){return Ct[wt]*St[0]+Ct[wt+1]*St[1]+Ct[wt+2]*St[2]+Ct[wt+3]*St[3]},At.quantize.stats=function(Ct,wt,St){for(var Tt=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],Rt=[0,0,0,0],Pt=St-wt>>2,Lt=wt;Lt<St;Lt+=4){var kt=Ct[Lt]*.00392156862745098,Ot=Ct[Lt+1]*(1/255),Mt=Ct[Lt+2]*(1/255),It=Ct[Lt+3]*(1/255);Rt[0]+=kt,Rt[1]+=Ot,Rt[2]+=Mt,Rt[3]+=It,Tt[0]+=kt*kt,Tt[1]+=kt*Ot,Tt[2]+=kt*Mt,Tt[3]+=kt*It,Tt[5]+=Ot*Ot,Tt[6]+=Ot*Mt,Tt[7]+=Ot*It,Tt[10]+=Mt*Mt,Tt[11]+=Mt*It,Tt[15]+=It*It}return Tt[4]=Tt[1],Tt[8]=Tt[2],Tt[12]=Tt[3],Tt[9]=Tt[6],Tt[13]=Tt[7],Tt[14]=Tt[11],{R:Tt,m:Rt,N:Pt}},At.quantize.estats=function(Ct){var wt=Ct.R,St=Ct.m,Tt=Ct.N,Rt=St[0],Pt=St[1],Lt=St[2],kt=St[3],Ot=Tt==0?0:1/Tt,Mt=[wt[0]-Rt*Rt*Ot,wt[1]-Rt*Pt*Ot,wt[2]-Rt*Lt*Ot,wt[3]-Rt*kt*Ot,wt[4]-Pt*Rt*Ot,wt[5]-Pt*Pt*Ot,wt[6]-Pt*Lt*Ot,wt[7]-Pt*kt*Ot,wt[8]-Lt*Rt*Ot,wt[9]-Lt*Pt*Ot,wt[10]-Lt*Lt*Ot,wt[11]-Lt*kt*Ot,wt[12]-kt*Rt*Ot,wt[13]-kt*Pt*Ot,wt[14]-kt*Lt*Ot,wt[15]-kt*kt*Ot],It=Mt,Nt=At.M4,Ut=[.5,.5,.5,.5],jt=0,Vt=0;if(Tt!=0)for(var zt=0;zt<10&&(Ut=Nt.multVec(It,Ut),Vt=Math.sqrt(Nt.dot(Ut,Ut)),Ut=Nt.sml(1/Vt,Ut),!(Math.abs(Vt-jt)<1e-9));zt++)jt=Vt;var Ht=[Rt*Ot,Pt*Ot,Lt*Ot,kt*Ot],Wt=Nt.dot(Nt.sml(255,Ht),Ut),Gt=Ht[3]<.001?0:1/Ht[3];return{Cov:Mt,q:Ht,e:Ut,L:jt,eMq255:Wt,eMq:Nt.dot(Ut,Ht),rgba:(Math.round(255*Ht[3])<<24|Math.round(255*Ht[2]*Gt)<<16|Math.round(255*Ht[1]*Gt)<<8|Math.round(255*Ht[0]*Gt)<<0)>>>0}},At.M4={multVec:function(Ct,wt){return[Ct[0]*wt[0]+Ct[1]*wt[1]+Ct[2]*wt[2]+Ct[3]*wt[3],Ct[4]*wt[0]+Ct[5]*wt[1]+Ct[6]*wt[2]+Ct[7]*wt[3],Ct[8]*wt[0]+Ct[9]*wt[1]+Ct[10]*wt[2]+Ct[11]*wt[3],Ct[12]*wt[0]+Ct[13]*wt[1]+Ct[14]*wt[2]+Ct[15]*wt[3]]},dot:function(Ct,wt){return Ct[0]*wt[0]+Ct[1]*wt[1]+Ct[2]*wt[2]+Ct[3]*wt[3]},sml:function(Ct,wt){return[Ct*wt[0],Ct*wt[1],Ct*wt[2],Ct*wt[3]]}},At.encode.alphaMul=function(Ct,wt){for(var St=new Uint8Array(Ct.length),Tt=Ct.length>>2,Rt=0;Rt<Tt;Rt++){var Pt=Rt<<2,Lt=Ct[Pt+3];wt&&(Lt=Lt<128?0:255);var kt=Lt*(1/255);St[Pt+0]=Ct[Pt+0]*kt,St[Pt+1]=Ct[Pt+1]*kt,St[Pt+2]=Ct[Pt+2]*kt,St[Pt+3]=Lt}return St}})(vt,bt)})()},"./node_modules/upng-js/node_modules/pako/index.js"(yt,Et,xt){var vt=xt("./node_modules/upng-js/node_modules/pako/lib/utils/common.js").assign,bt=xt("./node_modules/upng-js/node_modules/pako/lib/deflate.js"),At=xt("./node_modules/upng-js/node_modules/pako/lib/inflate.js"),Ft=xt("./node_modules/upng-js/node_modules/pako/lib/zlib/constants.js"),Ct={};vt(Ct,bt,At,Ft),yt.exports=Ct},"./node_modules/upng-js/node_modules/pako/lib/deflate.js"(yt,Et,xt){var vt=xt("./node_modules/upng-js/node_modules/pako/lib/zlib/deflate.js"),bt=xt("./node_modules/upng-js/node_modules/pako/lib/utils/common.js"),At=xt("./node_modules/upng-js/node_modules/pako/lib/utils/strings.js"),Ft=xt("./node_modules/upng-js/node_modules/pako/lib/zlib/messages.js"),Ct=xt("./node_modules/upng-js/node_modules/pako/lib/zlib/zstream.js"),wt=Object.prototype.toString,St=0,Tt=4,Rt=0,Pt=1,Lt=2,kt=-1,Ot=0,Mt=8;function It(Vt){if(!(this instanceof It))return new It(Vt);this.options=bt.assign({level:kt,method:Mt,chunkSize:16384,windowBits:15,memLevel:8,strategy:Ot,to:""},Vt||{});var zt=this.options;zt.raw&&zt.windowBits>0?zt.windowBits=-zt.windowBits:zt.gzip&&zt.windowBits>0&&zt.windowBits<16&&(zt.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ct,this.strm.avail_out=0;var Ht=vt.deflateInit2(this.strm,zt.level,zt.method,zt.windowBits,zt.memLevel,zt.strategy);if(Ht!==Rt)throw new Error(Ft[Ht]);if(zt.header&&vt.deflateSetHeader(this.strm,zt.header),zt.dictionary){var Wt;if(typeof zt.dictionary=="string"?Wt=At.string2buf(zt.dictionary):wt.call(zt.dictionary)==="[object ArrayBuffer]"?Wt=new Uint8Array(zt.dictionary):Wt=zt.dictionary,Ht=vt.deflateSetDictionary(this.strm,Wt),Ht!==Rt)throw new Error(Ft[Ht]);this._dict_set=!0}}It.prototype.push=function(Vt,zt){var Ht=this.strm,Wt=this.options.chunkSize,Gt,qt;if(this.ended)return!1;qt=zt===~~zt?zt:zt===!0?Tt:St,typeof Vt=="string"?Ht.input=At.string2buf(Vt):wt.call(Vt)==="[object ArrayBuffer]"?Ht.input=new Uint8Array(Vt):Ht.input=Vt,Ht.next_in=0,Ht.avail_in=Ht.input.length;do{if(Ht.avail_out===0&&(Ht.output=new bt.Buf8(Wt),Ht.next_out=0,Ht.avail_out=Wt),Gt=vt.deflate(Ht,qt),Gt!==Pt&&Gt!==Rt)return this.onEnd(Gt),this.ended=!0,!1;(Ht.avail_out===0||Ht.avail_in===0&&(qt===Tt||qt===Lt))&&(this.options.to==="string"?this.onData(At.buf2binstring(bt.shrinkBuf(Ht.output,Ht.next_out))):this.onData(bt.shrinkBuf(Ht.output,Ht.next_out)))}while((Ht.avail_in>0||Ht.avail_out===0)&&Gt!==Pt);return qt===Tt?(Gt=vt.deflateEnd(this.strm),this.onEnd(Gt),this.ended=!0,Gt===Rt):(qt===Lt&&(this.onEnd(Rt),Ht.avail_out=0),!0)},It.prototype.onData=function(Vt){this.chunks.push(Vt)},It.prototype.onEnd=function(Vt){Vt===Rt&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=bt.flattenChunks(this.chunks)),this.chunks=[],this.err=Vt,this.msg=this.strm.msg};function Nt(Vt,zt){var Ht=new It(zt);if(Ht.push(Vt,!0),Ht.err)throw Ht.msg||Ft[Ht.err];return Ht.result}function Ut(Vt,zt){return zt=zt||{},zt.raw=!0,Nt(Vt,zt)}function jt(Vt,zt){return zt=zt||{},zt.gzip=!0,Nt(Vt,zt)}Et.Deflate=It,Et.deflate=Nt,Et.deflateRaw=Ut,Et.gzip=jt},"./node_modules/upng-js/node_modules/pako/lib/inflate.js"(yt,Et,xt){var vt=xt("./node_modules/upng-js/node_modules/pako/lib/zlib/inflate.js"),bt=xt("./node_modules/upng-js/node_modules/pako/lib/utils/common.js"),At=xt("./node_modules/upng-js/node_modules/pako/lib/utils/strings.js"),Ft=xt("./node_modules/upng-js/node_modules/pako/lib/zlib/constants.js"),Ct=xt("./node_modules/upng-js/node_modules/pako/lib/zlib/messages.js"),wt=xt("./node_modules/upng-js/node_modules/pako/lib/zlib/zstream.js"),St=xt("./node_modules/upng-js/node_modules/pako/lib/zlib/gzheader.js"),Tt=Object.prototype.toString;function Rt(kt){if(!(this instanceof Rt))return new Rt(kt);this.options=bt.assign({chunkSize:16384,windowBits:0,to:""},kt||{});var Ot=this.options;Ot.raw&&Ot.windowBits>=0&&Ot.windowBits<16&&(Ot.windowBits=-Ot.windowBits,Ot.windowBits===0&&(Ot.windowBits=-15)),Ot.windowBits>=0&&Ot.windowBits<16&&!(kt&&kt.windowBits)&&(Ot.windowBits+=32),Ot.windowBits>15&&Ot.windowBits<48&&(Ot.windowBits&15)===0&&(Ot.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new wt,this.strm.avail_out=0;var Mt=vt.inflateInit2(this.strm,Ot.windowBits);if(Mt!==Ft.Z_OK)throw new Error(Ct[Mt]);if(this.header=new St,vt.inflateGetHeader(this.strm,this.header),Ot.dictionary&&(typeof Ot.dictionary=="string"?Ot.dictionary=At.string2buf(Ot.dictionary):Tt.call(Ot.dictionary)==="[object ArrayBuffer]"&&(Ot.dictionary=new Uint8Array(Ot.dictionary)),Ot.raw&&(Mt=vt.inflateSetDictionary(this.strm,Ot.dictionary),Mt!==Ft.Z_OK)))throw new Error(Ct[Mt])}Rt.prototype.push=function(kt,Ot){var Mt=this.strm,It=this.options.chunkSize,Nt=this.options.dictionary,Ut,jt,Vt,zt,Ht,Wt=!1;if(this.ended)return!1;jt=Ot===~~Ot?Ot:Ot===!0?Ft.Z_FINISH:Ft.Z_NO_FLUSH,typeof kt=="string"?Mt.input=At.binstring2buf(kt):Tt.call(kt)==="[object ArrayBuffer]"?Mt.input=new Uint8Array(kt):Mt.input=kt,Mt.next_in=0,Mt.avail_in=Mt.input.length;do{if(Mt.avail_out===0&&(Mt.output=new bt.Buf8(It),Mt.next_out=0,Mt.avail_out=It),Ut=vt.inflate(Mt,Ft.Z_NO_FLUSH),Ut===Ft.Z_NEED_DICT&&Nt&&(Ut=vt.inflateSetDictionary(this.strm,Nt)),Ut===Ft.Z_BUF_ERROR&&Wt===!0&&(Ut=Ft.Z_OK,Wt=!1),Ut!==Ft.Z_STREAM_END&&Ut!==Ft.Z_OK)return this.onEnd(Ut),this.ended=!0,!1;Mt.next_out&&(Mt.avail_out===0||Ut===Ft.Z_STREAM_END||Mt.avail_in===0&&(jt===Ft.Z_FINISH||jt===Ft.Z_SYNC_FLUSH))&&(this.options.to==="string"?(Vt=At.utf8border(Mt.output,Mt.next_out),zt=Mt.next_out-Vt,Ht=At.buf2string(Mt.output,Vt),Mt.next_out=zt,Mt.avail_out=It-zt,zt&&bt.arraySet(Mt.output,Mt.output,Vt,zt,0),this.onData(Ht)):this.onData(bt.shrinkBuf(Mt.output,Mt.next_out))),Mt.avail_in===0&&Mt.avail_out===0&&(Wt=!0)}while((Mt.avail_in>0||Mt.avail_out===0)&&Ut!==Ft.Z_STREAM_END);return Ut===Ft.Z_STREAM_END&&(jt=Ft.Z_FINISH),jt===Ft.Z_FINISH?(Ut=vt.inflateEnd(this.strm),this.onEnd(Ut),this.ended=!0,Ut===Ft.Z_OK):(jt===Ft.Z_SYNC_FLUSH&&(this.onEnd(Ft.Z_OK),Mt.avail_out=0),!0)},Rt.prototype.onData=function(kt){this.chunks.push(kt)},Rt.prototype.onEnd=function(kt){kt===Ft.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=bt.flattenChunks(this.chunks)),this.chunks=[],this.err=kt,this.msg=this.strm.msg};function Pt(kt,Ot){var Mt=new Rt(Ot);if(Mt.push(kt,!0),Mt.err)throw Mt.msg||Ct[Mt.err];return Mt.result}function Lt(kt,Ot){return Ot=Ot||{},Ot.raw=!0,Pt(kt,Ot)}Et.Inflate=Rt,Et.inflate=Pt,Et.inflateRaw=Lt,Et.ungzip=Pt},"./node_modules/upng-js/node_modules/pako/lib/utils/common.js"(yt,Et){var xt=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function vt(Ft,Ct){return Object.prototype.hasOwnProperty.call(Ft,Ct)}Et.assign=function(Ft){for(var Ct=Array.prototype.slice.call(arguments,1);Ct.length;){var wt=Ct.shift();if(wt){if(typeof wt!="object")throw new TypeError(wt+"must be non-object");for(var St in wt)vt(wt,St)&&(Ft[St]=wt[St])}}return Ft},Et.shrinkBuf=function(Ft,Ct){return Ft.length===Ct?Ft:Ft.subarray?Ft.subarray(0,Ct):(Ft.length=Ct,Ft)};var bt={arraySet:function(Ft,Ct,wt,St,Tt){if(Ct.subarray&&Ft.subarray){Ft.set(Ct.subarray(wt,wt+St),Tt);return}for(var Rt=0;Rt<St;Rt++)Ft[Tt+Rt]=Ct[wt+Rt]},flattenChunks:function(Ft){var Ct,wt,St,Tt,Rt,Pt;for(St=0,Ct=0,wt=Ft.length;Ct<wt;Ct++)St+=Ft[Ct].length;for(Pt=new Uint8Array(St),Tt=0,Ct=0,wt=Ft.length;Ct<wt;Ct++)Rt=Ft[Ct],Pt.set(Rt,Tt),Tt+=Rt.length;return Pt}},At={arraySet:function(Ft,Ct,wt,St,Tt){for(var Rt=0;Rt<St;Rt++)Ft[Tt+Rt]=Ct[wt+Rt]},flattenChunks:function(Ft){return[].concat.apply([],Ft)}};Et.setTyped=function(Ft){Ft?(Et.Buf8=Uint8Array,Et.Buf16=Uint16Array,Et.Buf32=Int32Array,Et.assign(Et,bt)):(Et.Buf8=Array,Et.Buf16=Array,Et.Buf32=Array,Et.assign(Et,At))},Et.setTyped(xt)},"./node_modules/upng-js/node_modules/pako/lib/utils/strings.js"(yt,Et,xt){var vt=xt("./node_modules/upng-js/node_modules/pako/lib/utils/common.js"),bt=!0,At=!0;try{String.fromCharCode.apply(null,[0])}catch{bt=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{At=!1}for(var Ft=new vt.Buf8(256),Ct=0;Ct<256;Ct++)Ft[Ct]=Ct>=252?6:Ct>=248?5:Ct>=240?4:Ct>=224?3:Ct>=192?2:1;Ft[254]=Ft[254]=1,Et.string2buf=function(St){var Tt,Rt,Pt,Lt,kt,Ot=St.length,Mt=0;for(Lt=0;Lt<Ot;Lt++)Rt=St.charCodeAt(Lt),(Rt&64512)===55296&&Lt+1<Ot&&(Pt=St.charCodeAt(Lt+1),(Pt&64512)===56320&&(Rt=65536+(Rt-55296<<10)+(Pt-56320),Lt++)),Mt+=Rt<128?1:Rt<2048?2:Rt<65536?3:4;for(Tt=new vt.Buf8(Mt),kt=0,Lt=0;kt<Mt;Lt++)Rt=St.charCodeAt(Lt),(Rt&64512)===55296&&Lt+1<Ot&&(Pt=St.charCodeAt(Lt+1),(Pt&64512)===56320&&(Rt=65536+(Rt-55296<<10)+(Pt-56320),Lt++)),Rt<128?Tt[kt++]=Rt:Rt<2048?(Tt[kt++]=192|Rt>>>6,Tt[kt++]=128|Rt&63):Rt<65536?(Tt[kt++]=224|Rt>>>12,Tt[kt++]=128|Rt>>>6&63,Tt[kt++]=128|Rt&63):(Tt[kt++]=240|Rt>>>18,Tt[kt++]=128|Rt>>>12&63,Tt[kt++]=128|Rt>>>6&63,Tt[kt++]=128|Rt&63);return Tt};function wt(St,Tt){if(Tt<65534&&(St.subarray&&At||!St.subarray&&bt))return String.fromCharCode.apply(null,vt.shrinkBuf(St,Tt));for(var Rt="",Pt=0;Pt<Tt;Pt++)Rt+=String.fromCharCode(St[Pt]);return Rt}Et.buf2binstring=function(St){return wt(St,St.length)},Et.binstring2buf=function(St){for(var Tt=new vt.Buf8(St.length),Rt=0,Pt=Tt.length;Rt<Pt;Rt++)Tt[Rt]=St.charCodeAt(Rt);return Tt},Et.buf2string=function(St,Tt){var Rt,Pt,Lt,kt,Ot=Tt||St.length,Mt=new Array(Ot*2);for(Pt=0,Rt=0;Rt<Ot;){if(Lt=St[Rt++],Lt<128){Mt[Pt++]=Lt;continue}if(kt=Ft[Lt],kt>4){Mt[Pt++]=65533,Rt+=kt-1;continue}for(Lt&=kt===2?31:kt===3?15:7;kt>1&&Rt<Ot;)Lt=Lt<<6|St[Rt++]&63,kt--;if(kt>1){Mt[Pt++]=65533;continue}Lt<65536?Mt[Pt++]=Lt:(Lt-=65536,Mt[Pt++]=55296|Lt>>10&1023,Mt[Pt++]=56320|Lt&1023)}return wt(Mt,Pt)},Et.utf8border=function(St,Tt){var Rt;for(Tt=Tt||St.length,Tt>St.length&&(Tt=St.length),Rt=Tt-1;Rt>=0&&(St[Rt]&192)===128;)Rt--;return Rt<0||Rt===0?Tt:Rt+Ft[St[Rt]]>Tt?Rt:Tt}},"./node_modules/upng-js/node_modules/pako/lib/zlib/adler32.js"(yt){function Et(xt,vt,bt,At){for(var Ft=xt&65535|0,Ct=xt>>>16&65535|0,wt=0;bt!==0;){wt=bt>2e3?2e3:bt,bt-=wt;do Ft=Ft+vt[At++]|0,Ct=Ct+Ft|0;while(--wt);Ft%=65521,Ct%=65521}return Ft|Ct<<16|0}yt.exports=Et},"./node_modules/upng-js/node_modules/pako/lib/zlib/constants.js"(yt){yt.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},"./node_modules/upng-js/node_modules/pako/lib/zlib/crc32.js"(yt){function Et(){for(var bt,At=[],Ft=0;Ft<256;Ft++){bt=Ft;for(var Ct=0;Ct<8;Ct++)bt=bt&1?3988292384^bt>>>1:bt>>>1;At[Ft]=bt}return At}var xt=Et();function vt(bt,At,Ft,Ct){var wt=xt,St=Ct+Ft;bt^=-1;for(var Tt=Ct;Tt<St;Tt++)bt=bt>>>8^wt[(bt^At[Tt])&255];return bt^-1}yt.exports=vt},"./node_modules/upng-js/node_modules/pako/lib/zlib/deflate.js"(yt,Et,xt){var vt=xt("./node_modules/upng-js/node_modules/pako/lib/utils/common.js"),bt=xt("./node_modules/upng-js/node_modules/pako/lib/zlib/trees.js"),At=xt("./node_modules/upng-js/node_modules/pako/lib/zlib/adler32.js"),Ft=xt("./node_modules/upng-js/node_modules/pako/lib/zlib/crc32.js"),Ct=xt("./node_modules/upng-js/node_modules/pako/lib/zlib/messages.js"),wt=0,St=1,Tt=3,Rt=4,Pt=5,Lt=0,kt=1,Ot=-2,Mt=-3,It=-5,Nt=-1,Ut=1,jt=2,Vt=3,zt=4,Ht=0,Wt=2,Gt=8,qt=9,Xt=15,Kt=8,Jt=29,tn=256,sn=tn+1+Jt,Zt=30,nn=19,rn=2*sn+1,on=15,ln=3,Qt=258,fn=Qt+ln+1,pn=32,mn=42,vn=69,yn=73,xn=91,Mn=103,$n=113,Rn=666,Tn=1,ir=2,Jn=3,jn=4,Wn=3;function br(hn,Ar){return hn.msg=Ct[Ar],Ar}function Fr(hn){return(hn<<1)-(hn>4?9:0)}function Cr(hn){for(var Ar=hn.length;--Ar>=0;)hn[Ar]=0}function dr(hn){var Ar=hn.state,hr=Ar.pending;hr>hn.avail_out&&(hr=hn.avail_out),hr!==0&&(vt.arraySet(hn.output,Ar.pending_buf,Ar.pending_out,hr,hn.next_out),hn.next_out+=hr,Ar.pending_out+=hr,hn.total_out+=hr,hn.avail_out-=hr,Ar.pending-=hr,Ar.pending===0&&(Ar.pending_out=0))}function _r(hn,Ar){bt._tr_flush_block(hn,hn.block_start>=0?hn.block_start:-1,hn.strstart-hn.block_start,Ar),hn.block_start=hn.strstart,dr(hn.strm)}function pr(hn,Ar){hn.pending_buf[hn.pending++]=Ar}function wr(hn,Ar){hn.pending_buf[hn.pending++]=Ar>>>8&255,hn.pending_buf[hn.pending++]=Ar&255}function xr(hn,Ar,hr,An){var nr=hn.avail_in;return nr>An&&(nr=An),nr===0?0:(hn.avail_in-=nr,vt.arraySet(Ar,hn.input,hn.next_in,nr,hr),hn.state.wrap===1?hn.adler=At(hn.adler,Ar,nr,hr):hn.state.wrap===2&&(hn.adler=Ft(hn.adler,Ar,nr,hr)),hn.next_in+=nr,hn.total_in+=nr,nr)}function Dr(hn,Ar){var hr=hn.max_chain_length,An=hn.strstart,nr,gr,ii=hn.prev_length,ti=hn.nice_match,di=hn.strstart>hn.w_size-fn?hn.strstart-(hn.w_size-fn):0,Bi=hn.window,as=hn.w_mask,ki=hn.prev,Xi=hn.strstart+Qt,_i=Bi[An+ii-1],ci=Bi[An+ii];hn.prev_length>=hn.good_match&&(hr>>=2),ti>hn.lookahead&&(ti=hn.lookahead);do if(nr=Ar,!(Bi[nr+ii]!==ci||Bi[nr+ii-1]!==_i||Bi[nr]!==Bi[An]||Bi[++nr]!==Bi[An+1])){An+=2,nr++;do;while(Bi[++An]===Bi[++nr]&&Bi[++An]===Bi[++nr]&&Bi[++An]===Bi[++nr]&&Bi[++An]===Bi[++nr]&&Bi[++An]===Bi[++nr]&&Bi[++An]===Bi[++nr]&&Bi[++An]===Bi[++nr]&&Bi[++An]===Bi[++nr]&&An<Xi);if(gr=Qt-(Xi-An),An=Xi-Qt,gr>ii){if(hn.match_start=Ar,ii=gr,gr>=ti)break;_i=Bi[An+ii-1],ci=Bi[An+ii]}}while((Ar=ki[Ar&as])>di&&--hr!==0);return ii<=hn.lookahead?ii:hn.lookahead}function ar(hn){var Ar=hn.w_size,hr,An,nr,gr,ii;do{if(gr=hn.window_size-hn.lookahead-hn.strstart,hn.strstart>=Ar+(Ar-fn)){vt.arraySet(hn.window,hn.window,Ar,Ar,0),hn.match_start-=Ar,hn.strstart-=Ar,hn.block_start-=Ar,An=hn.hash_size,hr=An;do nr=hn.head[--hr],hn.head[hr]=nr>=Ar?nr-Ar:0;while(--An);An=Ar,hr=An;do nr=hn.prev[--hr],hn.prev[hr]=nr>=Ar?nr-Ar:0;while(--An);gr+=Ar}if(hn.strm.avail_in===0)break;if(An=xr(hn.strm,hn.window,hn.strstart+hn.lookahead,gr),hn.lookahead+=An,hn.lookahead+hn.insert>=ln)for(ii=hn.strstart-hn.insert,hn.ins_h=hn.window[ii],hn.ins_h=(hn.ins_h<<hn.hash_shift^hn.window[ii+1])&hn.hash_mask;hn.insert&&(hn.ins_h=(hn.ins_h<<hn.hash_shift^hn.window[ii+ln-1])&hn.hash_mask,hn.prev[ii&hn.w_mask]=hn.head[hn.ins_h],hn.head[hn.ins_h]=ii,ii++,hn.insert--,!(hn.lookahead+hn.insert<ln)););}while(hn.lookahead<fn&&hn.strm.avail_in!==0)}function Qn(hn,Ar){var hr=65535;for(hr>hn.pending_buf_size-5&&(hr=hn.pending_buf_size-5);;){if(hn.lookahead<=1){if(ar(hn),hn.lookahead===0&&Ar===wt)return Tn;if(hn.lookahead===0)break}hn.strstart+=hn.lookahead,hn.lookahead=0;var An=hn.block_start+hr;if((hn.strstart===0||hn.strstart>=An)&&(hn.lookahead=hn.strstart-An,hn.strstart=An,_r(hn,!1),hn.strm.avail_out===0)||hn.strstart-hn.block_start>=hn.w_size-fn&&(_r(hn,!1),hn.strm.avail_out===0))return Tn}return hn.insert=0,Ar===Rt?(_r(hn,!0),hn.strm.avail_out===0?Jn:jn):(hn.strstart>hn.block_start&&(_r(hn,!1),hn.strm.avail_out===0),Tn)}function Cn(hn,Ar){for(var hr,An;;){if(hn.lookahead<fn){if(ar(hn),hn.lookahead<fn&&Ar===wt)return Tn;if(hn.lookahead===0)break}if(hr=0,hn.lookahead>=ln&&(hn.ins_h=(hn.ins_h<<hn.hash_shift^hn.window[hn.strstart+ln-1])&hn.hash_mask,hr=hn.prev[hn.strstart&hn.w_mask]=hn.head[hn.ins_h],hn.head[hn.ins_h]=hn.strstart),hr!==0&&hn.strstart-hr<=hn.w_size-fn&&(hn.match_length=Dr(hn,hr)),hn.match_length>=ln)if(An=bt._tr_tally(hn,hn.strstart-hn.match_start,hn.match_length-ln),hn.lookahead-=hn.match_length,hn.match_length<=hn.max_lazy_match&&hn.lookahead>=ln){hn.match_length--;do hn.strstart++,hn.ins_h=(hn.ins_h<<hn.hash_shift^hn.window[hn.strstart+ln-1])&hn.hash_mask,hr=hn.prev[hn.strstart&hn.w_mask]=hn.head[hn.ins_h],hn.head[hn.ins_h]=hn.strstart;while(--hn.match_length!==0);hn.strstart++}else hn.strstart+=hn.match_length,hn.match_length=0,hn.ins_h=hn.window[hn.strstart],hn.ins_h=(hn.ins_h<<hn.hash_shift^hn.window[hn.strstart+1])&hn.hash_mask;else An=bt._tr_tally(hn,0,hn.window[hn.strstart]),hn.lookahead--,hn.strstart++;if(An&&(_r(hn,!1),hn.strm.avail_out===0))return Tn}return hn.insert=hn.strstart<ln-1?hn.strstart:ln-1,Ar===Rt?(_r(hn,!0),hn.strm.avail_out===0?Jn:jn):hn.last_lit&&(_r(hn,!1),hn.strm.avail_out===0)?Tn:ir}function Bn(hn,Ar){for(var hr,An,nr;;){if(hn.lookahead<fn){if(ar(hn),hn.lookahead<fn&&Ar===wt)return Tn;if(hn.lookahead===0)break}if(hr=0,hn.lookahead>=ln&&(hn.ins_h=(hn.ins_h<<hn.hash_shift^hn.window[hn.strstart+ln-1])&hn.hash_mask,hr=hn.prev[hn.strstart&hn.w_mask]=hn.head[hn.ins_h],hn.head[hn.ins_h]=hn.strstart),hn.prev_length=hn.match_length,hn.prev_match=hn.match_start,hn.match_length=ln-1,hr!==0&&hn.prev_length<hn.max_lazy_match&&hn.strstart-hr<=hn.w_size-fn&&(hn.match_length=Dr(hn,hr),hn.match_length<=5&&(hn.strategy===Ut||hn.match_length===ln&&hn.strstart-hn.match_start>4096)&&(hn.match_length=ln-1)),hn.prev_length>=ln&&hn.match_length<=hn.prev_length){nr=hn.strstart+hn.lookahead-ln,An=bt._tr_tally(hn,hn.strstart-1-hn.prev_match,hn.prev_length-ln),hn.lookahead-=hn.prev_length-1,hn.prev_length-=2;do++hn.strstart<=nr&&(hn.ins_h=(hn.ins_h<<hn.hash_shift^hn.window[hn.strstart+ln-1])&hn.hash_mask,hr=hn.prev[hn.strstart&hn.w_mask]=hn.head[hn.ins_h],hn.head[hn.ins_h]=hn.strstart);while(--hn.prev_length!==0);if(hn.match_available=0,hn.match_length=ln-1,hn.strstart++,An&&(_r(hn,!1),hn.strm.avail_out===0))return Tn}else if(hn.match_available){if(An=bt._tr_tally(hn,0,hn.window[hn.strstart-1]),An&&_r(hn,!1),hn.strstart++,hn.lookahead--,hn.strm.avail_out===0)return Tn}else hn.match_available=1,hn.strstart++,hn.lookahead--}return hn.match_available&&(An=bt._tr_tally(hn,0,hn.window[hn.strstart-1]),hn.match_available=0),hn.insert=hn.strstart<ln-1?hn.strstart:ln-1,Ar===Rt?(_r(hn,!0),hn.strm.avail_out===0?Jn:jn):hn.last_lit&&(_r(hn,!1),hn.strm.avail_out===0)?Tn:ir}function In(hn,Ar){for(var hr,An,nr,gr,ii=hn.window;;){if(hn.lookahead<=Qt){if(ar(hn),hn.lookahead<=Qt&&Ar===wt)return Tn;if(hn.lookahead===0)break}if(hn.match_length=0,hn.lookahead>=ln&&hn.strstart>0&&(nr=hn.strstart-1,An=ii[nr],An===ii[++nr]&&An===ii[++nr]&&An===ii[++nr])){gr=hn.strstart+Qt;do;while(An===ii[++nr]&&An===ii[++nr]&&An===ii[++nr]&&An===ii[++nr]&&An===ii[++nr]&&An===ii[++nr]&&An===ii[++nr]&&An===ii[++nr]&&nr<gr);hn.match_length=Qt-(gr-nr),hn.match_length>hn.lookahead&&(hn.match_length=hn.lookahead)}if(hn.match_length>=ln?(hr=bt._tr_tally(hn,1,hn.match_length-ln),hn.lookahead-=hn.match_length,hn.strstart+=hn.match_length,hn.match_length=0):(hr=bt._tr_tally(hn,0,hn.window[hn.strstart]),hn.lookahead--,hn.strstart++),hr&&(_r(hn,!1),hn.strm.avail_out===0))return Tn}return hn.insert=0,Ar===Rt?(_r(hn,!0),hn.strm.avail_out===0?Jn:jn):hn.last_lit&&(_r(hn,!1),hn.strm.avail_out===0)?Tn:ir}function or(hn,Ar){for(var hr;;){if(hn.lookahead===0&&(ar(hn),hn.lookahead===0)){if(Ar===wt)return Tn;break}if(hn.match_length=0,hr=bt._tr_tally(hn,0,hn.window[hn.strstart]),hn.lookahead--,hn.strstart++,hr&&(_r(hn,!1),hn.strm.avail_out===0))return Tn}return hn.insert=0,Ar===Rt?(_r(hn,!0),hn.strm.avail_out===0?Jn:jn):hn.last_lit&&(_r(hn,!1),hn.strm.avail_out===0)?Tn:ir}function rr(hn,Ar,hr,An,nr){this.good_length=hn,this.max_lazy=Ar,this.nice_length=hr,this.max_chain=An,this.func=nr}var vr;vr=[new rr(0,0,0,0,Qn),new rr(4,4,8,4,Cn),new rr(4,5,16,8,Cn),new rr(4,6,32,32,Cn),new rr(4,4,16,16,Bn),new rr(8,16,32,32,Bn),new rr(8,16,128,128,Bn),new rr(8,32,128,256,Bn),new rr(32,128,258,1024,Bn),new rr(32,258,258,4096,Bn)];function cr(hn){hn.window_size=2*hn.w_size,Cr(hn.head),hn.max_lazy_match=vr[hn.level].max_lazy,hn.good_match=vr[hn.level].good_length,hn.nice_match=vr[hn.level].nice_length,hn.max_chain_length=vr[hn.level].max_chain,hn.strstart=0,hn.block_start=0,hn.lookahead=0,hn.insert=0,hn.match_length=hn.prev_length=ln-1,hn.match_available=0,hn.ins_h=0}function gn(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Gt,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new vt.Buf16(rn*2),this.dyn_dtree=new vt.Buf16((2*Zt+1)*2),this.bl_tree=new vt.Buf16((2*nn+1)*2),Cr(this.dyn_ltree),Cr(this.dyn_dtree),Cr(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new vt.Buf16(on+1),this.heap=new vt.Buf16(2*sn+1),Cr(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new vt.Buf16(2*sn+1),Cr(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function wn(hn){var Ar;return!hn||!hn.state?br(hn,Ot):(hn.total_in=hn.total_out=0,hn.data_type=Wt,Ar=hn.state,Ar.pending=0,Ar.pending_out=0,Ar.wrap<0&&(Ar.wrap=-Ar.wrap),Ar.status=Ar.wrap?mn:$n,hn.adler=Ar.wrap===2?0:1,Ar.last_flush=wt,bt._tr_init(Ar),Lt)}function Xn(hn){var Ar=wn(hn);return Ar===Lt&&cr(hn.state),Ar}function tr(hn,Ar){return!hn||!hn.state||hn.state.wrap!==2?Ot:(hn.state.gzhead=Ar,Lt)}function Hn(hn,Ar,hr,An,nr,gr){if(!hn)return Ot;var ii=1;if(Ar===Nt&&(Ar=6),An<0?(ii=0,An=-An):An>15&&(ii=2,An-=16),nr<1||nr>qt||hr!==Gt||An<8||An>15||Ar<0||Ar>9||gr<0||gr>zt)return br(hn,Ot);An===8&&(An=9);var ti=new gn;return hn.state=ti,ti.strm=hn,ti.wrap=ii,ti.gzhead=null,ti.w_bits=An,ti.w_size=1<<ti.w_bits,ti.w_mask=ti.w_size-1,ti.hash_bits=nr+7,ti.hash_size=1<<ti.hash_bits,ti.hash_mask=ti.hash_size-1,ti.hash_shift=~~((ti.hash_bits+ln-1)/ln),ti.window=new vt.Buf8(ti.w_size*2),ti.head=new vt.Buf16(ti.hash_size),ti.prev=new vt.Buf16(ti.w_size),ti.lit_bufsize=1<<nr+6,ti.pending_buf_size=ti.lit_bufsize*4,ti.pending_buf=new vt.Buf8(ti.pending_buf_size),ti.d_buf=1*ti.lit_bufsize,ti.l_buf=3*ti.lit_bufsize,ti.level=Ar,ti.strategy=gr,ti.method=hr,Xn(hn)}function Kn(hn,Ar){return Hn(hn,Ar,Gt,Xt,Kt,Ht)}function _n(hn,Ar){var hr,An,nr,gr;if(!hn||!hn.state||Ar>Pt||Ar<0)return hn?br(hn,Ot):Ot;if(An=hn.state,!hn.output||!hn.input&&hn.avail_in!==0||An.status===Rn&&Ar!==Rt)return br(hn,hn.avail_out===0?It:Ot);if(An.strm=hn,hr=An.last_flush,An.last_flush=Ar,An.status===mn)if(An.wrap===2)hn.adler=0,pr(An,31),pr(An,139),pr(An,8),An.gzhead?(pr(An,(An.gzhead.text?1:0)+(An.gzhead.hcrc?2:0)+(An.gzhead.extra?4:0)+(An.gzhead.name?8:0)+(An.gzhead.comment?16:0)),pr(An,An.gzhead.time&255),pr(An,An.gzhead.time>>8&255),pr(An,An.gzhead.time>>16&255),pr(An,An.gzhead.time>>24&255),pr(An,An.level===9?2:An.strategy>=jt||An.level<2?4:0),pr(An,An.gzhead.os&255),An.gzhead.extra&&An.gzhead.extra.length&&(pr(An,An.gzhead.extra.length&255),pr(An,An.gzhead.extra.length>>8&255)),An.gzhead.hcrc&&(hn.adler=Ft(hn.adler,An.pending_buf,An.pending,0)),An.gzindex=0,An.status=vn):(pr(An,0),pr(An,0),pr(An,0),pr(An,0),pr(An,0),pr(An,An.level===9?2:An.strategy>=jt||An.level<2?4:0),pr(An,Wn),An.status=$n);else{var ii=Gt+(An.w_bits-8<<4)<<8,ti=-1;An.strategy>=jt||An.level<2?ti=0:An.level<6?ti=1:An.level===6?ti=2:ti=3,ii|=ti<<6,An.strstart!==0&&(ii|=pn),ii+=31-ii%31,An.status=$n,wr(An,ii),An.strstart!==0&&(wr(An,hn.adler>>>16),wr(An,hn.adler&65535)),hn.adler=1}if(An.status===vn)if(An.gzhead.extra){for(nr=An.pending;An.gzindex<(An.gzhead.extra.length&65535)&&!(An.pending===An.pending_buf_size&&(An.gzhead.hcrc&&An.pending>nr&&(hn.adler=Ft(hn.adler,An.pending_buf,An.pending-nr,nr)),dr(hn),nr=An.pending,An.pending===An.pending_buf_size));)pr(An,An.gzhead.extra[An.gzindex]&255),An.gzindex++;An.gzhead.hcrc&&An.pending>nr&&(hn.adler=Ft(hn.adler,An.pending_buf,An.pending-nr,nr)),An.gzindex===An.gzhead.extra.length&&(An.gzindex=0,An.status=yn)}else An.status=yn;if(An.status===yn)if(An.gzhead.name){nr=An.pending;do{if(An.pending===An.pending_buf_size&&(An.gzhead.hcrc&&An.pending>nr&&(hn.adler=Ft(hn.adler,An.pending_buf,An.pending-nr,nr)),dr(hn),nr=An.pending,An.pending===An.pending_buf_size)){gr=1;break}An.gzindex<An.gzhead.name.length?gr=An.gzhead.name.charCodeAt(An.gzindex++)&255:gr=0,pr(An,gr)}while(gr!==0);An.gzhead.hcrc&&An.pending>nr&&(hn.adler=Ft(hn.adler,An.pending_buf,An.pending-nr,nr)),gr===0&&(An.gzindex=0,An.status=xn)}else An.status=xn;if(An.status===xn)if(An.gzhead.comment){nr=An.pending;do{if(An.pending===An.pending_buf_size&&(An.gzhead.hcrc&&An.pending>nr&&(hn.adler=Ft(hn.adler,An.pending_buf,An.pending-nr,nr)),dr(hn),nr=An.pending,An.pending===An.pending_buf_size)){gr=1;break}An.gzindex<An.gzhead.comment.length?gr=An.gzhead.comment.charCodeAt(An.gzindex++)&255:gr=0,pr(An,gr)}while(gr!==0);An.gzhead.hcrc&&An.pending>nr&&(hn.adler=Ft(hn.adler,An.pending_buf,An.pending-nr,nr)),gr===0&&(An.status=Mn)}else An.status=Mn;if(An.status===Mn&&(An.gzhead.hcrc?(An.pending+2>An.pending_buf_size&&dr(hn),An.pending+2<=An.pending_buf_size&&(pr(An,hn.adler&255),pr(An,hn.adler>>8&255),hn.adler=0,An.status=$n)):An.status=$n),An.pending!==0){if(dr(hn),hn.avail_out===0)return An.last_flush=-1,Lt}else if(hn.avail_in===0&&Fr(Ar)<=Fr(hr)&&Ar!==Rt)return br(hn,It);if(An.status===Rn&&hn.avail_in!==0)return br(hn,It);if(hn.avail_in!==0||An.lookahead!==0||Ar!==wt&&An.status!==Rn){var di=An.strategy===jt?or(An,Ar):An.strategy===Vt?In(An,Ar):vr[An.level].func(An,Ar);if((di===Jn||di===jn)&&(An.status=Rn),di===Tn||di===Jn)return hn.avail_out===0&&(An.last_flush=-1),Lt;if(di===ir&&(Ar===St?bt._tr_align(An):Ar!==Pt&&(bt._tr_stored_block(An,0,0,!1),Ar===Tt&&(Cr(An.head),An.lookahead===0&&(An.strstart=0,An.block_start=0,An.insert=0))),dr(hn),hn.avail_out===0))return An.last_flush=-1,Lt}return Ar!==Rt?Lt:An.wrap<=0?kt:(An.wrap===2?(pr(An,hn.adler&255),pr(An,hn.adler>>8&255),pr(An,hn.adler>>16&255),pr(An,hn.adler>>24&255),pr(An,hn.total_in&255),pr(An,hn.total_in>>8&255),pr(An,hn.total_in>>16&255),pr(An,hn.total_in>>24&255)):(wr(An,hn.adler>>>16),wr(An,hn.adler&65535)),dr(hn),An.wrap>0&&(An.wrap=-An.wrap),An.pending!==0?Lt:kt)}function yr(hn){var Ar;return!hn||!hn.state?Ot:(Ar=hn.state.status,Ar!==mn&&Ar!==vn&&Ar!==yn&&Ar!==xn&&Ar!==Mn&&Ar!==$n&&Ar!==Rn?br(hn,Ot):(hn.state=null,Ar===$n?br(hn,Mt):Lt))}function Or(hn,Ar){var hr=Ar.length,An,nr,gr,ii,ti,di,Bi,as;if(!hn||!hn.state||(An=hn.state,ii=An.wrap,ii===2||ii===1&&An.status!==mn||An.lookahead))return Ot;for(ii===1&&(hn.adler=At(hn.adler,Ar,hr,0)),An.wrap=0,hr>=An.w_size&&(ii===0&&(Cr(An.head),An.strstart=0,An.block_start=0,An.insert=0),as=new vt.Buf8(An.w_size),vt.arraySet(as,Ar,hr-An.w_size,An.w_size,0),Ar=as,hr=An.w_size),ti=hn.avail_in,di=hn.next_in,Bi=hn.input,hn.avail_in=hr,hn.next_in=0,hn.input=Ar,ar(An);An.lookahead>=ln;){nr=An.strstart,gr=An.lookahead-(ln-1);do An.ins_h=(An.ins_h<<An.hash_shift^An.window[nr+ln-1])&An.hash_mask,An.prev[nr&An.w_mask]=An.head[An.ins_h],An.head[An.ins_h]=nr,nr++;while(--gr);An.strstart=nr,An.lookahead=ln-1,ar(An)}return An.strstart+=An.lookahead,An.block_start=An.strstart,An.insert=An.lookahead,An.lookahead=0,An.match_length=An.prev_length=ln-1,An.match_available=0,hn.next_in=di,hn.input=Bi,hn.avail_in=ti,An.wrap=ii,Lt}Et.deflateInit=Kn,Et.deflateInit2=Hn,Et.deflateReset=Xn,Et.deflateResetKeep=wn,Et.deflateSetHeader=tr,Et.deflate=_n,Et.deflateEnd=yr,Et.deflateSetDictionary=Or,Et.deflateInfo="pako deflate (from Nodeca project)"},"./node_modules/upng-js/node_modules/pako/lib/zlib/gzheader.js"(yt){function Et(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}yt.exports=Et},"./node_modules/upng-js/node_modules/pako/lib/zlib/inffast.js"(yt){var Et=30,xt=12;yt.exports=function(bt,At){var Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt,It,Nt,Ut,jt,Vt,zt,Ht,Wt,Gt,qt,Xt,Kt,Jt,tn;Ft=bt.state,Ct=bt.next_in,Jt=bt.input,wt=Ct+(bt.avail_in-5),St=bt.next_out,tn=bt.output,Tt=St-(At-bt.avail_out),Rt=St+(bt.avail_out-257),Pt=Ft.dmax,Lt=Ft.wsize,kt=Ft.whave,Ot=Ft.wnext,Mt=Ft.window,It=Ft.hold,Nt=Ft.bits,Ut=Ft.lencode,jt=Ft.distcode,Vt=(1<<Ft.lenbits)-1,zt=(1<<Ft.distbits)-1;e:do{Nt<15&&(It+=Jt[Ct++]<<Nt,Nt+=8,It+=Jt[Ct++]<<Nt,Nt+=8),Ht=Ut[It&Vt];t:for(;;){if(Wt=Ht>>>24,It>>>=Wt,Nt-=Wt,Wt=Ht>>>16&255,Wt===0)tn[St++]=Ht&65535;else if(Wt&16){Gt=Ht&65535,Wt&=15,Wt&&(Nt<Wt&&(It+=Jt[Ct++]<<Nt,Nt+=8),Gt+=It&(1<<Wt)-1,It>>>=Wt,Nt-=Wt),Nt<15&&(It+=Jt[Ct++]<<Nt,Nt+=8,It+=Jt[Ct++]<<Nt,Nt+=8),Ht=jt[It&zt];n:for(;;){if(Wt=Ht>>>24,It>>>=Wt,Nt-=Wt,Wt=Ht>>>16&255,Wt&16){if(qt=Ht&65535,Wt&=15,Nt<Wt&&(It+=Jt[Ct++]<<Nt,Nt+=8,Nt<Wt&&(It+=Jt[Ct++]<<Nt,Nt+=8)),qt+=It&(1<<Wt)-1,qt>Pt){bt.msg="invalid distance too far back",Ft.mode=Et;break e}if(It>>>=Wt,Nt-=Wt,Wt=St-Tt,qt>Wt){if(Wt=qt-Wt,Wt>kt&&Ft.sane){bt.msg="invalid distance too far back",Ft.mode=Et;break e}if(Xt=0,Kt=Mt,Ot===0){if(Xt+=Lt-Wt,Wt<Gt){Gt-=Wt;do tn[St++]=Mt[Xt++];while(--Wt);Xt=St-qt,Kt=tn}}else if(Ot<Wt){if(Xt+=Lt+Ot-Wt,Wt-=Ot,Wt<Gt){Gt-=Wt;do tn[St++]=Mt[Xt++];while(--Wt);if(Xt=0,Ot<Gt){Wt=Ot,Gt-=Wt;do tn[St++]=Mt[Xt++];while(--Wt);Xt=St-qt,Kt=tn}}}else if(Xt+=Ot-Wt,Wt<Gt){Gt-=Wt;do tn[St++]=Mt[Xt++];while(--Wt);Xt=St-qt,Kt=tn}for(;Gt>2;)tn[St++]=Kt[Xt++],tn[St++]=Kt[Xt++],tn[St++]=Kt[Xt++],Gt-=3;Gt&&(tn[St++]=Kt[Xt++],Gt>1&&(tn[St++]=Kt[Xt++]))}else{Xt=St-qt;do tn[St++]=tn[Xt++],tn[St++]=tn[Xt++],tn[St++]=tn[Xt++],Gt-=3;while(Gt>2);Gt&&(tn[St++]=tn[Xt++],Gt>1&&(tn[St++]=tn[Xt++]))}}else if((Wt&64)===0){Ht=jt[(Ht&65535)+(It&(1<<Wt)-1)];continue n}else{bt.msg="invalid distance code",Ft.mode=Et;break e}break}}else if((Wt&64)===0){Ht=Ut[(Ht&65535)+(It&(1<<Wt)-1)];continue t}else if(Wt&32){Ft.mode=xt;break e}else{bt.msg="invalid literal/length code",Ft.mode=Et;break e}break}}while(Ct<wt&&St<Rt);Gt=Nt>>3,Ct-=Gt,Nt-=Gt<<3,It&=(1<<Nt)-1,bt.next_in=Ct,bt.next_out=St,bt.avail_in=Ct<wt?5+(wt-Ct):5-(Ct-wt),bt.avail_out=St<Rt?257+(Rt-St):257-(St-Rt),Ft.hold=It,Ft.bits=Nt}},"./node_modules/upng-js/node_modules/pako/lib/zlib/inflate.js"(yt,Et,xt){var vt=xt("./node_modules/upng-js/node_modules/pako/lib/utils/common.js"),bt=xt("./node_modules/upng-js/node_modules/pako/lib/zlib/adler32.js"),At=xt("./node_modules/upng-js/node_modules/pako/lib/zlib/crc32.js"),Ft=xt("./node_modules/upng-js/node_modules/pako/lib/zlib/inffast.js"),Ct=xt("./node_modules/upng-js/node_modules/pako/lib/zlib/inftrees.js"),wt=0,St=1,Tt=2,Rt=4,Pt=5,Lt=6,kt=0,Ot=1,Mt=2,It=-2,Nt=-3,Ut=-4,jt=-5,Vt=8,zt=1,Ht=2,Wt=3,Gt=4,qt=5,Xt=6,Kt=7,Jt=8,tn=9,sn=10,Zt=11,nn=12,rn=13,on=14,ln=15,Qt=16,fn=17,pn=18,mn=19,vn=20,yn=21,xn=22,Mn=23,$n=24,Rn=25,Tn=26,ir=27,Jn=28,jn=29,Wn=30,br=31,Fr=32,Cr=852,dr=592,_r=15,pr=_r;function wr(Hn){return(Hn>>>24&255)+(Hn>>>8&65280)+((Hn&65280)<<8)+((Hn&255)<<24)}function xr(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new vt.Buf16(320),this.work=new vt.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Dr(Hn){var Kn;return!Hn||!Hn.state?It:(Kn=Hn.state,Hn.total_in=Hn.total_out=Kn.total=0,Hn.msg="",Kn.wrap&&(Hn.adler=Kn.wrap&1),Kn.mode=zt,Kn.last=0,Kn.havedict=0,Kn.dmax=32768,Kn.head=null,Kn.hold=0,Kn.bits=0,Kn.lencode=Kn.lendyn=new vt.Buf32(Cr),Kn.distcode=Kn.distdyn=new vt.Buf32(dr),Kn.sane=1,Kn.back=-1,kt)}function ar(Hn){var Kn;return!Hn||!Hn.state?It:(Kn=Hn.state,Kn.wsize=0,Kn.whave=0,Kn.wnext=0,Dr(Hn))}function Qn(Hn,Kn){var _n,yr;return!Hn||!Hn.state||(yr=Hn.state,Kn<0?(_n=0,Kn=-Kn):(_n=(Kn>>4)+1,Kn<48&&(Kn&=15)),Kn&&(Kn<8||Kn>15))?It:(yr.window!==null&&yr.wbits!==Kn&&(yr.window=null),yr.wrap=_n,yr.wbits=Kn,ar(Hn))}function Cn(Hn,Kn){var _n,yr;return Hn?(yr=new xr,Hn.state=yr,yr.window=null,_n=Qn(Hn,Kn),_n!==kt&&(Hn.state=null),_n):It}function Bn(Hn){return Cn(Hn,pr)}var In=!0,or,rr;function vr(Hn){if(In){var Kn;for(or=new vt.Buf32(512),rr=new vt.Buf32(32),Kn=0;Kn<144;)Hn.lens[Kn++]=8;for(;Kn<256;)Hn.lens[Kn++]=9;for(;Kn<280;)Hn.lens[Kn++]=7;for(;Kn<288;)Hn.lens[Kn++]=8;for(Ct(St,Hn.lens,0,288,or,0,Hn.work,{bits:9}),Kn=0;Kn<32;)Hn.lens[Kn++]=5;Ct(Tt,Hn.lens,0,32,rr,0,Hn.work,{bits:5}),In=!1}Hn.lencode=or,Hn.lenbits=9,Hn.distcode=rr,Hn.distbits=5}function cr(Hn,Kn,_n,yr){var Or,hn=Hn.state;return hn.window===null&&(hn.wsize=1<<hn.wbits,hn.wnext=0,hn.whave=0,hn.window=new vt.Buf8(hn.wsize)),yr>=hn.wsize?(vt.arraySet(hn.window,Kn,_n-hn.wsize,hn.wsize,0),hn.wnext=0,hn.whave=hn.wsize):(Or=hn.wsize-hn.wnext,Or>yr&&(Or=yr),vt.arraySet(hn.window,Kn,_n-yr,Or,hn.wnext),yr-=Or,yr?(vt.arraySet(hn.window,Kn,_n-yr,yr,0),hn.wnext=yr,hn.whave=hn.wsize):(hn.wnext+=Or,hn.wnext===hn.wsize&&(hn.wnext=0),hn.whave<hn.wsize&&(hn.whave+=Or))),0}function gn(Hn,Kn){var _n,yr,Or,hn,Ar,hr,An,nr,gr,ii,ti,di,Bi,as,ki=0,Xi,_i,ci,xi,mi,wi,vi,qi,ji=new vt.Buf8(4),Ni,ls,xs=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!Hn||!Hn.state||!Hn.output||!Hn.input&&Hn.avail_in!==0)return It;_n=Hn.state,_n.mode===nn&&(_n.mode=rn),Ar=Hn.next_out,Or=Hn.output,An=Hn.avail_out,hn=Hn.next_in,yr=Hn.input,hr=Hn.avail_in,nr=_n.hold,gr=_n.bits,ii=hr,ti=An,qi=kt;e:for(;;)switch(_n.mode){case zt:if(_n.wrap===0){_n.mode=rn;break}for(;gr<16;){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}if(_n.wrap&2&&nr===35615){_n.check=0,ji[0]=nr&255,ji[1]=nr>>>8&255,_n.check=At(_n.check,ji,2,0),nr=0,gr=0,_n.mode=Ht;break}if(_n.flags=0,_n.head&&(_n.head.done=!1),!(_n.wrap&1)||(((nr&255)<<8)+(nr>>8))%31){Hn.msg="incorrect header check",_n.mode=Wn;break}if((nr&15)!==Vt){Hn.msg="unknown compression method",_n.mode=Wn;break}if(nr>>>=4,gr-=4,vi=(nr&15)+8,_n.wbits===0)_n.wbits=vi;else if(vi>_n.wbits){Hn.msg="invalid window size",_n.mode=Wn;break}_n.dmax=1<<vi,Hn.adler=_n.check=1,_n.mode=nr&512?sn:nn,nr=0,gr=0;break;case Ht:for(;gr<16;){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}if(_n.flags=nr,(_n.flags&255)!==Vt){Hn.msg="unknown compression method",_n.mode=Wn;break}if(_n.flags&57344){Hn.msg="unknown header flags set",_n.mode=Wn;break}_n.head&&(_n.head.text=nr>>8&1),_n.flags&512&&(ji[0]=nr&255,ji[1]=nr>>>8&255,_n.check=At(_n.check,ji,2,0)),nr=0,gr=0,_n.mode=Wt;case Wt:for(;gr<32;){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}_n.head&&(_n.head.time=nr),_n.flags&512&&(ji[0]=nr&255,ji[1]=nr>>>8&255,ji[2]=nr>>>16&255,ji[3]=nr>>>24&255,_n.check=At(_n.check,ji,4,0)),nr=0,gr=0,_n.mode=Gt;case Gt:for(;gr<16;){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}_n.head&&(_n.head.xflags=nr&255,_n.head.os=nr>>8),_n.flags&512&&(ji[0]=nr&255,ji[1]=nr>>>8&255,_n.check=At(_n.check,ji,2,0)),nr=0,gr=0,_n.mode=qt;case qt:if(_n.flags&1024){for(;gr<16;){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}_n.length=nr,_n.head&&(_n.head.extra_len=nr),_n.flags&512&&(ji[0]=nr&255,ji[1]=nr>>>8&255,_n.check=At(_n.check,ji,2,0)),nr=0,gr=0}else _n.head&&(_n.head.extra=null);_n.mode=Xt;case Xt:if(_n.flags&1024&&(di=_n.length,di>hr&&(di=hr),di&&(_n.head&&(vi=_n.head.extra_len-_n.length,_n.head.extra||(_n.head.extra=new Array(_n.head.extra_len)),vt.arraySet(_n.head.extra,yr,hn,di,vi)),_n.flags&512&&(_n.check=At(_n.check,yr,di,hn)),hr-=di,hn+=di,_n.length-=di),_n.length))break e;_n.length=0,_n.mode=Kt;case Kt:if(_n.flags&2048){if(hr===0)break e;di=0;do vi=yr[hn+di++],_n.head&&vi&&_n.length<65536&&(_n.head.name+=String.fromCharCode(vi));while(vi&&di<hr);if(_n.flags&512&&(_n.check=At(_n.check,yr,di,hn)),hr-=di,hn+=di,vi)break e}else _n.head&&(_n.head.name=null);_n.length=0,_n.mode=Jt;case Jt:if(_n.flags&4096){if(hr===0)break e;di=0;do vi=yr[hn+di++],_n.head&&vi&&_n.length<65536&&(_n.head.comment+=String.fromCharCode(vi));while(vi&&di<hr);if(_n.flags&512&&(_n.check=At(_n.check,yr,di,hn)),hr-=di,hn+=di,vi)break e}else _n.head&&(_n.head.comment=null);_n.mode=tn;case tn:if(_n.flags&512){for(;gr<16;){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}if(nr!==(_n.check&65535)){Hn.msg="header crc mismatch",_n.mode=Wn;break}nr=0,gr=0}_n.head&&(_n.head.hcrc=_n.flags>>9&1,_n.head.done=!0),Hn.adler=_n.check=0,_n.mode=nn;break;case sn:for(;gr<32;){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}Hn.adler=_n.check=wr(nr),nr=0,gr=0,_n.mode=Zt;case Zt:if(_n.havedict===0)return Hn.next_out=Ar,Hn.avail_out=An,Hn.next_in=hn,Hn.avail_in=hr,_n.hold=nr,_n.bits=gr,Mt;Hn.adler=_n.check=1,_n.mode=nn;case nn:if(Kn===Pt||Kn===Lt)break e;case rn:if(_n.last){nr>>>=gr&7,gr-=gr&7,_n.mode=ir;break}for(;gr<3;){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}switch(_n.last=nr&1,nr>>>=1,gr-=1,nr&3){case 0:_n.mode=on;break;case 1:if(vr(_n),_n.mode=vn,Kn===Lt){nr>>>=2,gr-=2;break e}break;case 2:_n.mode=fn;break;case 3:Hn.msg="invalid block type",_n.mode=Wn}nr>>>=2,gr-=2;break;case on:for(nr>>>=gr&7,gr-=gr&7;gr<32;){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}if((nr&65535)!==(nr>>>16^65535)){Hn.msg="invalid stored block lengths",_n.mode=Wn;break}if(_n.length=nr&65535,nr=0,gr=0,_n.mode=ln,Kn===Lt)break e;case ln:_n.mode=Qt;case Qt:if(di=_n.length,di){if(di>hr&&(di=hr),di>An&&(di=An),di===0)break e;vt.arraySet(Or,yr,hn,di,Ar),hr-=di,hn+=di,An-=di,Ar+=di,_n.length-=di;break}_n.mode=nn;break;case fn:for(;gr<14;){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}if(_n.nlen=(nr&31)+257,nr>>>=5,gr-=5,_n.ndist=(nr&31)+1,nr>>>=5,gr-=5,_n.ncode=(nr&15)+4,nr>>>=4,gr-=4,_n.nlen>286||_n.ndist>30){Hn.msg="too many length or distance symbols",_n.mode=Wn;break}_n.have=0,_n.mode=pn;case pn:for(;_n.have<_n.ncode;){for(;gr<3;){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}_n.lens[xs[_n.have++]]=nr&7,nr>>>=3,gr-=3}for(;_n.have<19;)_n.lens[xs[_n.have++]]=0;if(_n.lencode=_n.lendyn,_n.lenbits=7,Ni={bits:_n.lenbits},qi=Ct(wt,_n.lens,0,19,_n.lencode,0,_n.work,Ni),_n.lenbits=Ni.bits,qi){Hn.msg="invalid code lengths set",_n.mode=Wn;break}_n.have=0,_n.mode=mn;case mn:for(;_n.have<_n.nlen+_n.ndist;){for(;ki=_n.lencode[nr&(1<<_n.lenbits)-1],Xi=ki>>>24,_i=ki>>>16&255,ci=ki&65535,!(Xi<=gr);){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}if(ci<16)nr>>>=Xi,gr-=Xi,_n.lens[_n.have++]=ci;else{if(ci===16){for(ls=Xi+2;gr<ls;){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}if(nr>>>=Xi,gr-=Xi,_n.have===0){Hn.msg="invalid bit length repeat",_n.mode=Wn;break}vi=_n.lens[_n.have-1],di=3+(nr&3),nr>>>=2,gr-=2}else if(ci===17){for(ls=Xi+3;gr<ls;){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}nr>>>=Xi,gr-=Xi,vi=0,di=3+(nr&7),nr>>>=3,gr-=3}else{for(ls=Xi+7;gr<ls;){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}nr>>>=Xi,gr-=Xi,vi=0,di=11+(nr&127),nr>>>=7,gr-=7}if(_n.have+di>_n.nlen+_n.ndist){Hn.msg="invalid bit length repeat",_n.mode=Wn;break}for(;di--;)_n.lens[_n.have++]=vi}}if(_n.mode===Wn)break;if(_n.lens[256]===0){Hn.msg="invalid code -- missing end-of-block",_n.mode=Wn;break}if(_n.lenbits=9,Ni={bits:_n.lenbits},qi=Ct(St,_n.lens,0,_n.nlen,_n.lencode,0,_n.work,Ni),_n.lenbits=Ni.bits,qi){Hn.msg="invalid literal/lengths set",_n.mode=Wn;break}if(_n.distbits=6,_n.distcode=_n.distdyn,Ni={bits:_n.distbits},qi=Ct(Tt,_n.lens,_n.nlen,_n.ndist,_n.distcode,0,_n.work,Ni),_n.distbits=Ni.bits,qi){Hn.msg="invalid distances set",_n.mode=Wn;break}if(_n.mode=vn,Kn===Lt)break e;case vn:_n.mode=yn;case yn:if(hr>=6&&An>=258){Hn.next_out=Ar,Hn.avail_out=An,Hn.next_in=hn,Hn.avail_in=hr,_n.hold=nr,_n.bits=gr,Ft(Hn,ti),Ar=Hn.next_out,Or=Hn.output,An=Hn.avail_out,hn=Hn.next_in,yr=Hn.input,hr=Hn.avail_in,nr=_n.hold,gr=_n.bits,_n.mode===nn&&(_n.back=-1);break}for(_n.back=0;ki=_n.lencode[nr&(1<<_n.lenbits)-1],Xi=ki>>>24,_i=ki>>>16&255,ci=ki&65535,!(Xi<=gr);){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}if(_i&&(_i&240)===0){for(xi=Xi,mi=_i,wi=ci;ki=_n.lencode[wi+((nr&(1<<xi+mi)-1)>>xi)],Xi=ki>>>24,_i=ki>>>16&255,ci=ki&65535,!(xi+Xi<=gr);){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}nr>>>=xi,gr-=xi,_n.back+=xi}if(nr>>>=Xi,gr-=Xi,_n.back+=Xi,_n.length=ci,_i===0){_n.mode=Tn;break}if(_i&32){_n.back=-1,_n.mode=nn;break}if(_i&64){Hn.msg="invalid literal/length code",_n.mode=Wn;break}_n.extra=_i&15,_n.mode=xn;case xn:if(_n.extra){for(ls=_n.extra;gr<ls;){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}_n.length+=nr&(1<<_n.extra)-1,nr>>>=_n.extra,gr-=_n.extra,_n.back+=_n.extra}_n.was=_n.length,_n.mode=Mn;case Mn:for(;ki=_n.distcode[nr&(1<<_n.distbits)-1],Xi=ki>>>24,_i=ki>>>16&255,ci=ki&65535,!(Xi<=gr);){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}if((_i&240)===0){for(xi=Xi,mi=_i,wi=ci;ki=_n.distcode[wi+((nr&(1<<xi+mi)-1)>>xi)],Xi=ki>>>24,_i=ki>>>16&255,ci=ki&65535,!(xi+Xi<=gr);){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}nr>>>=xi,gr-=xi,_n.back+=xi}if(nr>>>=Xi,gr-=Xi,_n.back+=Xi,_i&64){Hn.msg="invalid distance code",_n.mode=Wn;break}_n.offset=ci,_n.extra=_i&15,_n.mode=$n;case $n:if(_n.extra){for(ls=_n.extra;gr<ls;){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}_n.offset+=nr&(1<<_n.extra)-1,nr>>>=_n.extra,gr-=_n.extra,_n.back+=_n.extra}if(_n.offset>_n.dmax){Hn.msg="invalid distance too far back",_n.mode=Wn;break}_n.mode=Rn;case Rn:if(An===0)break e;if(di=ti-An,_n.offset>di){if(di=_n.offset-di,di>_n.whave&&_n.sane){Hn.msg="invalid distance too far back",_n.mode=Wn;break}di>_n.wnext?(di-=_n.wnext,Bi=_n.wsize-di):Bi=_n.wnext-di,di>_n.length&&(di=_n.length),as=_n.window}else as=Or,Bi=Ar-_n.offset,di=_n.length;di>An&&(di=An),An-=di,_n.length-=di;do Or[Ar++]=as[Bi++];while(--di);_n.length===0&&(_n.mode=yn);break;case Tn:if(An===0)break e;Or[Ar++]=_n.length,An--,_n.mode=yn;break;case ir:if(_n.wrap){for(;gr<32;){if(hr===0)break e;hr--,nr|=yr[hn++]<<gr,gr+=8}if(ti-=An,Hn.total_out+=ti,_n.total+=ti,ti&&(Hn.adler=_n.check=_n.flags?At(_n.check,Or,ti,Ar-ti):bt(_n.check,Or,ti,Ar-ti)),ti=An,(_n.flags?nr:wr(nr))!==_n.check){Hn.msg="incorrect data check",_n.mode=Wn;break}nr=0,gr=0}_n.mode=Jn;case Jn:if(_n.wrap&&_n.flags){for(;gr<32;){if(hr===0)break e;hr--,nr+=yr[hn++]<<gr,gr+=8}if(nr!==(_n.total&4294967295)){Hn.msg="incorrect length check",_n.mode=Wn;break}nr=0,gr=0}_n.mode=jn;case jn:qi=Ot;break e;case Wn:qi=Nt;break e;case br:return Ut;case Fr:default:return It}return Hn.next_out=Ar,Hn.avail_out=An,Hn.next_in=hn,Hn.avail_in=hr,_n.hold=nr,_n.bits=gr,(_n.wsize||ti!==Hn.avail_out&&_n.mode<Wn&&(_n.mode<ir||Kn!==Rt))&&cr(Hn,Hn.output,Hn.next_out,ti-Hn.avail_out),ii-=Hn.avail_in,ti-=Hn.avail_out,Hn.total_in+=ii,Hn.total_out+=ti,_n.total+=ti,_n.wrap&&ti&&(Hn.adler=_n.check=_n.flags?At(_n.check,Or,ti,Hn.next_out-ti):bt(_n.check,Or,ti,Hn.next_out-ti)),Hn.data_type=_n.bits+(_n.last?64:0)+(_n.mode===nn?128:0)+(_n.mode===vn||_n.mode===ln?256:0),(ii===0&&ti===0||Kn===Rt)&&qi===kt&&(qi=jt),qi}function wn(Hn){if(!Hn||!Hn.state)return It;var Kn=Hn.state;return Kn.window&&(Kn.window=null),Hn.state=null,kt}function Xn(Hn,Kn){var _n;return!Hn||!Hn.state||(_n=Hn.state,(_n.wrap&2)===0)?It:(_n.head=Kn,Kn.done=!1,kt)}function tr(Hn,Kn){var _n=Kn.length,yr,Or,hn;return!Hn||!Hn.state||(yr=Hn.state,yr.wrap!==0&&yr.mode!==Zt)?It:yr.mode===Zt&&(Or=1,Or=bt(Or,Kn,_n,0),Or!==yr.check)?Nt:(hn=cr(Hn,Kn,_n,_n),hn?(yr.mode=br,Ut):(yr.havedict=1,kt))}Et.inflateReset=ar,Et.inflateReset2=Qn,Et.inflateResetKeep=Dr,Et.inflateInit=Bn,Et.inflateInit2=Cn,Et.inflate=gn,Et.inflateEnd=wn,Et.inflateGetHeader=Xn,Et.inflateSetDictionary=tr,Et.inflateInfo="pako inflate (from Nodeca project)"},"./node_modules/upng-js/node_modules/pako/lib/zlib/inftrees.js"(yt,Et,xt){var vt=xt("./node_modules/upng-js/node_modules/pako/lib/utils/common.js"),bt=15,At=852,Ft=592,Ct=0,wt=1,St=2,Tt=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Rt=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],Pt=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],Lt=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];yt.exports=function(Ot,Mt,It,Nt,Ut,jt,Vt,zt){var Ht=zt.bits,Wt=0,Gt=0,qt=0,Xt=0,Kt=0,Jt=0,tn=0,sn=0,Zt=0,nn=0,rn,on,ln,Qt,fn,pn=null,mn=0,vn,yn=new vt.Buf16(bt+1),xn=new vt.Buf16(bt+1),Mn=null,$n=0,Rn,Tn,ir;for(Wt=0;Wt<=bt;Wt++)yn[Wt]=0;for(Gt=0;Gt<Nt;Gt++)yn[Mt[It+Gt]]++;for(Kt=Ht,Xt=bt;Xt>=1&&yn[Xt]===0;Xt--);if(Kt>Xt&&(Kt=Xt),Xt===0)return Ut[jt++]=20971520,Ut[jt++]=20971520,zt.bits=1,0;for(qt=1;qt<Xt&&yn[qt]===0;qt++);for(Kt<qt&&(Kt=qt),sn=1,Wt=1;Wt<=bt;Wt++)if(sn<<=1,sn-=yn[Wt],sn<0)return-1;if(sn>0&&(Ot===Ct||Xt!==1))return-1;for(xn[1]=0,Wt=1;Wt<bt;Wt++)xn[Wt+1]=xn[Wt]+yn[Wt];for(Gt=0;Gt<Nt;Gt++)Mt[It+Gt]!==0&&(Vt[xn[Mt[It+Gt]]++]=Gt);if(Ot===Ct?(pn=Mn=Vt,vn=19):Ot===wt?(pn=Tt,mn-=257,Mn=Rt,$n-=257,vn=256):(pn=Pt,Mn=Lt,vn=-1),nn=0,Gt=0,Wt=qt,fn=jt,Jt=Kt,tn=0,ln=-1,Zt=1<<Kt,Qt=Zt-1,Ot===wt&&Zt>At||Ot===St&&Zt>Ft)return 1;for(;;){Rn=Wt-tn,Vt[Gt]<vn?(Tn=0,ir=Vt[Gt]):Vt[Gt]>vn?(Tn=Mn[$n+Vt[Gt]],ir=pn[mn+Vt[Gt]]):(Tn=96,ir=0),rn=1<<Wt-tn,on=1<<Jt,qt=on;do on-=rn,Ut[fn+(nn>>tn)+on]=Rn<<24|Tn<<16|ir|0;while(on!==0);for(rn=1<<Wt-1;nn&rn;)rn>>=1;if(rn!==0?(nn&=rn-1,nn+=rn):nn=0,Gt++,--yn[Wt]===0){if(Wt===Xt)break;Wt=Mt[It+Vt[Gt]]}if(Wt>Kt&&(nn&Qt)!==ln){for(tn===0&&(tn=Kt),fn+=qt,Jt=Wt-tn,sn=1<<Jt;Jt+tn<Xt&&(sn-=yn[Jt+tn],!(sn<=0));)Jt++,sn<<=1;if(Zt+=1<<Jt,Ot===wt&&Zt>At||Ot===St&&Zt>Ft)return 1;ln=nn&Qt,Ut[ln]=Kt<<24|Jt<<16|fn-jt|0}}return nn!==0&&(Ut[fn+nn]=Wt-tn<<24|4194304|0),zt.bits=Kt,0}},"./node_modules/upng-js/node_modules/pako/lib/zlib/messages.js"(yt){yt.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},"./node_modules/upng-js/node_modules/pako/lib/zlib/trees.js"(yt,Et,xt){var vt=xt("./node_modules/upng-js/node_modules/pako/lib/utils/common.js"),bt=4,At=0,Ft=1,Ct=2;function wt(gn){for(var wn=gn.length;--wn>=0;)gn[wn]=0}var St=0,Tt=1,Rt=2,Pt=3,Lt=258,kt=29,Ot=256,Mt=Ot+1+kt,It=30,Nt=19,Ut=2*Mt+1,jt=15,Vt=16,zt=7,Ht=256,Wt=16,Gt=17,qt=18,Xt=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Kt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Jt=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],tn=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],sn=512,Zt=new Array((Mt+2)*2);wt(Zt);var nn=new Array(It*2);wt(nn);var rn=new Array(sn);wt(rn);var on=new Array(Lt-Pt+1);wt(on);var ln=new Array(kt);wt(ln);var Qt=new Array(It);wt(Qt);function fn(gn,wn,Xn,tr,Hn){this.static_tree=gn,this.extra_bits=wn,this.extra_base=Xn,this.elems=tr,this.max_length=Hn,this.has_stree=gn&&gn.length}var pn,mn,vn;function yn(gn,wn){this.dyn_tree=gn,this.max_code=0,this.stat_desc=wn}function xn(gn){return gn<256?rn[gn]:rn[256+(gn>>>7)]}function Mn(gn,wn){gn.pending_buf[gn.pending++]=wn&255,gn.pending_buf[gn.pending++]=wn>>>8&255}function $n(gn,wn,Xn){gn.bi_valid>Vt-Xn?(gn.bi_buf|=wn<<gn.bi_valid&65535,Mn(gn,gn.bi_buf),gn.bi_buf=wn>>Vt-gn.bi_valid,gn.bi_valid+=Xn-Vt):(gn.bi_buf|=wn<<gn.bi_valid&65535,gn.bi_valid+=Xn)}function Rn(gn,wn,Xn){$n(gn,Xn[wn*2],Xn[wn*2+1])}function Tn(gn,wn){var Xn=0;do Xn|=gn&1,gn>>>=1,Xn<<=1;while(--wn>0);return Xn>>>1}function ir(gn){gn.bi_valid===16?(Mn(gn,gn.bi_buf),gn.bi_buf=0,gn.bi_valid=0):gn.bi_valid>=8&&(gn.pending_buf[gn.pending++]=gn.bi_buf&255,gn.bi_buf>>=8,gn.bi_valid-=8)}function Jn(gn,wn){var Xn=wn.dyn_tree,tr=wn.max_code,Hn=wn.stat_desc.static_tree,Kn=wn.stat_desc.has_stree,_n=wn.stat_desc.extra_bits,yr=wn.stat_desc.extra_base,Or=wn.stat_desc.max_length,hn,Ar,hr,An,nr,gr,ii=0;for(An=0;An<=jt;An++)gn.bl_count[An]=0;for(Xn[gn.heap[gn.heap_max]*2+1]=0,hn=gn.heap_max+1;hn<Ut;hn++)Ar=gn.heap[hn],An=Xn[Xn[Ar*2+1]*2+1]+1,An>Or&&(An=Or,ii++),Xn[Ar*2+1]=An,!(Ar>tr)&&(gn.bl_count[An]++,nr=0,Ar>=yr&&(nr=_n[Ar-yr]),gr=Xn[Ar*2],gn.opt_len+=gr*(An+nr),Kn&&(gn.static_len+=gr*(Hn[Ar*2+1]+nr)));if(ii!==0){do{for(An=Or-1;gn.bl_count[An]===0;)An--;gn.bl_count[An]--,gn.bl_count[An+1]+=2,gn.bl_count[Or]--,ii-=2}while(ii>0);for(An=Or;An!==0;An--)for(Ar=gn.bl_count[An];Ar!==0;)hr=gn.heap[--hn],!(hr>tr)&&(Xn[hr*2+1]!==An&&(gn.opt_len+=(An-Xn[hr*2+1])*Xn[hr*2],Xn[hr*2+1]=An),Ar--)}}function jn(gn,wn,Xn){var tr=new Array(jt+1),Hn=0,Kn,_n;for(Kn=1;Kn<=jt;Kn++)tr[Kn]=Hn=Hn+Xn[Kn-1]<<1;for(_n=0;_n<=wn;_n++){var yr=gn[_n*2+1];yr!==0&&(gn[_n*2]=Tn(tr[yr]++,yr))}}function Wn(){var gn,wn,Xn,tr,Hn,Kn=new Array(jt+1);for(Xn=0,tr=0;tr<kt-1;tr++)for(ln[tr]=Xn,gn=0;gn<1<<Xt[tr];gn++)on[Xn++]=tr;for(on[Xn-1]=tr,Hn=0,tr=0;tr<16;tr++)for(Qt[tr]=Hn,gn=0;gn<1<<Kt[tr];gn++)rn[Hn++]=tr;for(Hn>>=7;tr<It;tr++)for(Qt[tr]=Hn<<7,gn=0;gn<1<<Kt[tr]-7;gn++)rn[256+Hn++]=tr;for(wn=0;wn<=jt;wn++)Kn[wn]=0;for(gn=0;gn<=143;)Zt[gn*2+1]=8,gn++,Kn[8]++;for(;gn<=255;)Zt[gn*2+1]=9,gn++,Kn[9]++;for(;gn<=279;)Zt[gn*2+1]=7,gn++,Kn[7]++;for(;gn<=287;)Zt[gn*2+1]=8,gn++,Kn[8]++;for(jn(Zt,Mt+1,Kn),gn=0;gn<It;gn++)nn[gn*2+1]=5,nn[gn*2]=Tn(gn,5);pn=new fn(Zt,Xt,Ot+1,Mt,jt),mn=new fn(nn,Kt,0,It,jt),vn=new fn(new Array(0),Jt,0,Nt,zt)}function br(gn){var wn;for(wn=0;wn<Mt;wn++)gn.dyn_ltree[wn*2]=0;for(wn=0;wn<It;wn++)gn.dyn_dtree[wn*2]=0;for(wn=0;wn<Nt;wn++)gn.bl_tree[wn*2]=0;gn.dyn_ltree[Ht*2]=1,gn.opt_len=gn.static_len=0,gn.last_lit=gn.matches=0}function Fr(gn){gn.bi_valid>8?Mn(gn,gn.bi_buf):gn.bi_valid>0&&(gn.pending_buf[gn.pending++]=gn.bi_buf),gn.bi_buf=0,gn.bi_valid=0}function Cr(gn,wn,Xn,tr){Fr(gn),Mn(gn,Xn),Mn(gn,~Xn),vt.arraySet(gn.pending_buf,gn.window,wn,Xn,gn.pending),gn.pending+=Xn}function dr(gn,wn,Xn,tr){var Hn=wn*2,Kn=Xn*2;return gn[Hn]<gn[Kn]||gn[Hn]===gn[Kn]&&tr[wn]<=tr[Xn]}function _r(gn,wn,Xn){for(var tr=gn.heap[Xn],Hn=Xn<<1;Hn<=gn.heap_len&&(Hn<gn.heap_len&&dr(wn,gn.heap[Hn+1],gn.heap[Hn],gn.depth)&&Hn++,!dr(wn,tr,gn.heap[Hn],gn.depth));)gn.heap[Xn]=gn.heap[Hn],Xn=Hn,Hn<<=1;gn.heap[Xn]=tr}function pr(gn,wn,Xn){var tr,Hn,Kn=0,_n,yr;if(gn.last_lit!==0)do tr=gn.pending_buf[gn.d_buf+Kn*2]<<8|gn.pending_buf[gn.d_buf+Kn*2+1],Hn=gn.pending_buf[gn.l_buf+Kn],Kn++,tr===0?Rn(gn,Hn,wn):(_n=on[Hn],Rn(gn,_n+Ot+1,wn),yr=Xt[_n],yr!==0&&(Hn-=ln[_n],$n(gn,Hn,yr)),tr--,_n=xn(tr),Rn(gn,_n,Xn),yr=Kt[_n],yr!==0&&(tr-=Qt[_n],$n(gn,tr,yr)));while(Kn<gn.last_lit);Rn(gn,Ht,wn)}function wr(gn,wn){var Xn=wn.dyn_tree,tr=wn.stat_desc.static_tree,Hn=wn.stat_desc.has_stree,Kn=wn.stat_desc.elems,_n,yr,Or=-1,hn;for(gn.heap_len=0,gn.heap_max=Ut,_n=0;_n<Kn;_n++)Xn[_n*2]!==0?(gn.heap[++gn.heap_len]=Or=_n,gn.depth[_n]=0):Xn[_n*2+1]=0;for(;gn.heap_len<2;)hn=gn.heap[++gn.heap_len]=Or<2?++Or:0,Xn[hn*2]=1,gn.depth[hn]=0,gn.opt_len--,Hn&&(gn.static_len-=tr[hn*2+1]);for(wn.max_code=Or,_n=gn.heap_len>>1;_n>=1;_n--)_r(gn,Xn,_n);hn=Kn;do _n=gn.heap[1],gn.heap[1]=gn.heap[gn.heap_len--],_r(gn,Xn,1),yr=gn.heap[1],gn.heap[--gn.heap_max]=_n,gn.heap[--gn.heap_max]=yr,Xn[hn*2]=Xn[_n*2]+Xn[yr*2],gn.depth[hn]=(gn.depth[_n]>=gn.depth[yr]?gn.depth[_n]:gn.depth[yr])+1,Xn[_n*2+1]=Xn[yr*2+1]=hn,gn.heap[1]=hn++,_r(gn,Xn,1);while(gn.heap_len>=2);gn.heap[--gn.heap_max]=gn.heap[1],Jn(gn,wn),jn(Xn,Or,gn.bl_count)}function xr(gn,wn,Xn){var tr,Hn=-1,Kn,_n=wn[1],yr=0,Or=7,hn=4;for(_n===0&&(Or=138,hn=3),wn[(Xn+1)*2+1]=65535,tr=0;tr<=Xn;tr++)Kn=_n,_n=wn[(tr+1)*2+1],!(++yr<Or&&Kn===_n)&&(yr<hn?gn.bl_tree[Kn*2]+=yr:Kn!==0?(Kn!==Hn&&gn.bl_tree[Kn*2]++,gn.bl_tree[Wt*2]++):yr<=10?gn.bl_tree[Gt*2]++:gn.bl_tree[qt*2]++,yr=0,Hn=Kn,_n===0?(Or=138,hn=3):Kn===_n?(Or=6,hn=3):(Or=7,hn=4))}function Dr(gn,wn,Xn){var tr,Hn=-1,Kn,_n=wn[1],yr=0,Or=7,hn=4;for(_n===0&&(Or=138,hn=3),tr=0;tr<=Xn;tr++)if(Kn=_n,_n=wn[(tr+1)*2+1],!(++yr<Or&&Kn===_n)){if(yr<hn)do Rn(gn,Kn,gn.bl_tree);while(--yr!==0);else Kn!==0?(Kn!==Hn&&(Rn(gn,Kn,gn.bl_tree),yr--),Rn(gn,Wt,gn.bl_tree),$n(gn,yr-3,2)):yr<=10?(Rn(gn,Gt,gn.bl_tree),$n(gn,yr-3,3)):(Rn(gn,qt,gn.bl_tree),$n(gn,yr-11,7));yr=0,Hn=Kn,_n===0?(Or=138,hn=3):Kn===_n?(Or=6,hn=3):(Or=7,hn=4)}}function ar(gn){var wn;for(xr(gn,gn.dyn_ltree,gn.l_desc.max_code),xr(gn,gn.dyn_dtree,gn.d_desc.max_code),wr(gn,gn.bl_desc),wn=Nt-1;wn>=3&&gn.bl_tree[tn[wn]*2+1]===0;wn--);return gn.opt_len+=3*(wn+1)+5+5+4,wn}function Qn(gn,wn,Xn,tr){var Hn;for($n(gn,wn-257,5),$n(gn,Xn-1,5),$n(gn,tr-4,4),Hn=0;Hn<tr;Hn++)$n(gn,gn.bl_tree[tn[Hn]*2+1],3);Dr(gn,gn.dyn_ltree,wn-1),Dr(gn,gn.dyn_dtree,Xn-1)}function Cn(gn){var wn=4093624447,Xn;for(Xn=0;Xn<=31;Xn++,wn>>>=1)if(wn&1&&gn.dyn_ltree[Xn*2]!==0)return At;if(gn.dyn_ltree[18]!==0||gn.dyn_ltree[20]!==0||gn.dyn_ltree[26]!==0)return Ft;for(Xn=32;Xn<Ot;Xn++)if(gn.dyn_ltree[Xn*2]!==0)return Ft;return At}var Bn=!1;function In(gn){Bn||(Wn(),Bn=!0),gn.l_desc=new yn(gn.dyn_ltree,pn),gn.d_desc=new yn(gn.dyn_dtree,mn),gn.bl_desc=new yn(gn.bl_tree,vn),gn.bi_buf=0,gn.bi_valid=0,br(gn)}function or(gn,wn,Xn,tr){$n(gn,(St<<1)+(tr?1:0),3),Cr(gn,wn,Xn)}function rr(gn){$n(gn,Tt<<1,3),Rn(gn,Ht,Zt),ir(gn)}function vr(gn,wn,Xn,tr){var Hn,Kn,_n=0;gn.level>0?(gn.strm.data_type===Ct&&(gn.strm.data_type=Cn(gn)),wr(gn,gn.l_desc),wr(gn,gn.d_desc),_n=ar(gn),Hn=gn.opt_len+3+7>>>3,Kn=gn.static_len+3+7>>>3,Kn<=Hn&&(Hn=Kn)):Hn=Kn=Xn+5,Xn+4<=Hn&&wn!==-1?or(gn,wn,Xn,tr):gn.strategy===bt||Kn===Hn?($n(gn,(Tt<<1)+(tr?1:0),3),pr(gn,Zt,nn)):($n(gn,(Rt<<1)+(tr?1:0),3),Qn(gn,gn.l_desc.max_code+1,gn.d_desc.max_code+1,_n+1),pr(gn,gn.dyn_ltree,gn.dyn_dtree)),br(gn),tr&&Fr(gn)}function cr(gn,wn,Xn){return gn.pending_buf[gn.d_buf+gn.last_lit*2]=wn>>>8&255,gn.pending_buf[gn.d_buf+gn.last_lit*2+1]=wn&255,gn.pending_buf[gn.l_buf+gn.last_lit]=Xn&255,gn.last_lit++,wn===0?gn.dyn_ltree[Xn*2]++:(gn.matches++,wn--,gn.dyn_ltree[(on[Xn]+Ot+1)*2]++,gn.dyn_dtree[xn(wn)*2]++),gn.last_lit===gn.lit_bufsize-1}Et._tr_init=In,Et._tr_stored_block=or,Et._tr_flush_block=vr,Et._tr_tally=cr,Et._tr_align=rr},"./node_modules/upng-js/node_modules/pako/lib/zlib/zstream.js"(yt){function Et(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}yt.exports=Et},"./src/3Dmol.ts"(yt,Et,xt){xt.r(Et),xt.d(Et,{CAP:()=>Ft.CAP,CC:()=>bt.CC,CONTEXTS_PER_VIEWPORT:()=>St.CONTEXTS_PER_VIEWPORT,Color:()=>bt.Color,CustomLinear:()=>Tt.CustomLinear,Cylinder:()=>Ut.Cylinder,GLDraw:()=>Ft.GLDraw,GLModel:()=>Ct.GLModel,GLShape:()=>wt.GLShape,GLViewer:()=>St.GLViewer,GLVolumetricRender:()=>It.GLVolumetricRender,Gradient:()=>Tt.Gradient,GradientType:()=>Tt.GradientType,Label:()=>Rt.Label,LabelCount:()=>Rt.LabelCount,MarchingCube:()=>kt.MarchingCube,MarchingCubeInitializer:()=>kt.MarchingCubeInitializer,Matrix3:()=>Nt.Matrix3,Matrix4:()=>Nt.Matrix4,Parsers:()=>Pt.Parsers,PausableTimer:()=>Ot.PausableTimer,PointGrid:()=>kt.PointGrid,ProteinSurface:()=>kt.ProteinSurface,Quaternion:()=>Nt.Quaternion,ROYGB:()=>Tt.ROYGB,RWB:()=>Tt.RWB,Ray:()=>Nt.Ray,Sinebow:()=>Tt.Sinebow,Sphere:()=>Ut.Sphere,SurfaceType:()=>kt.SurfaceType,Triangle:()=>Ut.Triangle,Vector2:()=>Nt.Vector2,Vector3:()=>Nt.Vector3,VolumeData:()=>Mt.VolumeData,adjustVolumeStyle:()=>Ot.adjustVolumeStyle,applyPartialCharges:()=>Lt.applyPartialCharges,autoinit:()=>vt.autoinit,autoload:()=>vt.autoload,base64ToArray:()=>Ot.base64ToArray,bondLength:()=>Pt.bondLength,builtinColorSchemes:()=>bt.builtinColorSchemes,builtinGradients:()=>Tt.builtinGradients,chains:()=>bt.chains,clamp:()=>Nt.clamp,conversionMatrix3:()=>Nt.conversionMatrix3,createStereoViewer:()=>St.createStereoViewer,createViewer:()=>St.createViewer,createViewerGrid:()=>St.createViewerGrid,deepCopy:()=>Ot.deepCopy,degToRad:()=>Nt.degToRad,download:()=>Ot.download,drawCartoon:()=>At.drawCartoon,elementColors:()=>bt.elementColors,extend:()=>Ot.extend,get:()=>Ot.get,getAtomProperty:()=>Ot.getAtomProperty,getColorFromStyle:()=>Ot.getColorFromStyle,getElement:()=>Ot.getElement,getExtent:()=>Ot.getExtent,getGradient:()=>Tt.getGradient,getPropertyRange:()=>Ot.getPropertyRange,getbin:()=>Ot.getbin,htmlColors:()=>bt.htmlColors,inflateString:()=>Ot.inflateString,isEmptyObject:()=>Ot.isEmptyObject,isNumeric:()=>Ot.isNumeric,makeFunction:()=>Ot.makeFunction,mergeGeos:()=>Ot.mergeGeos,normalizeValue:()=>Tt.normalizeValue,partialCharges:()=>Lt.partialCharges,processing_autoinit:()=>vt.processing_autoinit,residues:()=>bt.residues,setBondLength:()=>Pt.setBondLength,setSyncSurface:()=>kt.setSyncSurface,specStringToObject:()=>Ot.specStringToObject,splitMesh:()=>wt.splitMesh,ssColors:()=>bt.ssColors,subdivide_spline:()=>At.subdivide_spline,syncSurface:()=>kt.syncSurface,viewers:()=>vt.viewers});var vt=xt("./src/autoload.ts"),bt=xt("./src/colors.ts"),At=xt("./src/glcartoon.ts"),Ft=xt("./src/GLDraw.ts"),Ct=xt("./src/GLModel.ts"),wt=xt("./src/GLShape.ts"),St=xt("./src/GLViewer.ts"),Tt=xt("./src/Gradient.ts"),Rt=xt("./src/Label.ts"),Pt=xt("./src/parsers/index.ts"),Lt=xt("./src/partialCharges.ts"),kt=xt("./src/ProteinSurface4.ts");xt("./src/specs.ts");var Ot=xt("./src/utilities.ts"),Mt=xt("./src/VolumeData.ts"),It=xt("./src/VolumetricRender.ts"),Nt=xt("./src/WebGL/math/index.ts"),Ut=xt("./src/WebGL/shapes/index.ts")},"./src/GLDraw.ts"(yt,Et,xt){xt.r(Et),xt.d(Et,{CAP:()=>bt,GLDraw:()=>At});var vt=xt("./src/WebGL/math/index.ts"),bt;(function(Ft){Ft[Ft.NONE=0]="NONE",Ft[Ft.FLAT=1]="FLAT",Ft[Ft.ROUND=2]="ROUND"})(bt||(bt={}));var At;(function(Ft){function Ct(Ot,Mt,It){var Nt=Math.hypot(Ot,Mt),Ut,jt,Vt,zt,Ht;Nt<1e-4?(jt=0,Vt=1):(jt=-Ot/Nt,Vt=Mt/Nt),Mt=-jt*Ot+Vt*Mt,Ut=Math.hypot(Mt,It),Ut<1e-4?(zt=0,Ht=1):(zt=It/Ut,Ht=Mt/Ut);var Wt=new Float32Array(9);return Wt[0]=Vt,Wt[1]=jt,Wt[2]=0,Wt[3]=-jt*Ht,Wt[4]=Vt*Ht,Wt[5]=zt,Wt[6]=jt*zt,Wt[7]=-Vt*zt,Wt[8]=Ht,Wt}class wt{constructor(){this.cache={};let Mt=[],It=4,Nt=Math.pow(2,It),Ut=2,jt=Math.pow(2,Ut),Vt=Nt/jt,zt;for(Mt[0]=new vt.Vector3(-1,0,0),Mt[Vt]=new vt.Vector3(0,0,1),Mt[Vt*2]=new vt.Vector3(1,0,0),Mt[Vt*3]=new vt.Vector3(0,0,-1),Ut=3;Ut<=It;Ut++){for(jt=Math.pow(2,Ut-1),Vt=Nt/jt,zt=0;zt<jt-1;zt++)Mt[Vt/2+zt*Vt]=Mt[zt*Vt].clone().add(Mt[(zt+1)*Vt]).normalize();zt=jt-1,Mt[Vt/2+zt*Vt]=Mt[zt*Vt].clone().add(Mt[0]).normalize()}this.basisVectors=Mt}getVerticesForRadius(Mt,It,Nt){if(typeof this.cache<"u"&&this.cache[Mt]!==void 0&&this.cache[Mt][It+Nt]!==void 0)return this.cache[Mt][It+Nt];for(var Ut=this.basisVectors.length,jt=[],Vt=[],zt,Ht=0;Ht<Ut;Ht++)jt.push(this.basisVectors[Ht].clone().multiplyScalar(Mt)),jt.push(this.basisVectors[Ht].clone().multiplyScalar(Mt)),zt=this.basisVectors[Ht].clone().normalize(),Vt.push(zt),Vt.push(zt);var Wt=[],Gt=10,qt=Ut,Xt=0,Kt=Math.PI*2,Jt=0,tn=Math.PI,sn,Zt,nn=!1,rn=!1;for(Zt=0;Zt<=Gt;Zt++){nn=Zt===0||Zt===Gt,rn=Zt===Gt/2;var on=[],ln=[];for(sn=0;sn<=qt;sn++){if(rn){var Qt=sn<qt?2*sn:0;ln.push(Qt+1),on.push(Qt);continue}var fn=sn/qt,pn=Zt/Gt;if(!nn||sn===0)if(sn<qt){var mn=new vt.Vector3;mn.x=-Mt*Math.cos(Xt+fn*Kt)*Math.sin(Jt+pn*tn),It==1?mn.y=0:mn.y=Mt*Math.cos(Jt+pn*tn),mn.z=Mt*Math.sin(Xt+fn*Kt)*Math.sin(Jt+pn*tn),Math.abs(mn.x)<1e-5&&(mn.x=0),Math.abs(mn.y)<1e-5&&(mn.y=0),Math.abs(mn.z)<1e-5&&(mn.z=0),It==bt.FLAT?(zt=new vt.Vector3(0,Math.cos(Jt+pn*tn),0),zt.normalize()):(zt=new vt.Vector3(mn.x,mn.y,mn.z),zt.normalize()),jt.push(mn),Vt.push(zt),on.push(jt.length-1)}else on.push(jt.length-qt);else nn&&on.push(jt.length-1)}rn&&Wt.push(ln),Wt.push(on)}var vn={vertices:jt,normals:Vt,verticesRows:Wt,w:qt,h:Gt};return Mt in this.cache||(this.cache[Mt]={}),this.cache[Mt][It+Nt]=vn,vn}}var St=new wt;function Tt(Ot,Mt,It,Nt,Ut,jt=0,Vt=0){if(!Mt||!It)return;let zt=function(gr){if(typeof gr=="string"){let ii=gr;return ii.toLowerCase()=="flat"?bt.FLAT:ii.toLowerCase()=="round"?bt.ROUND:bt.NONE}else return gr};jt=zt(jt),Vt=zt(Vt);var Ht=Vt||jt;Ut=Ut||{r:0,g:0,b:0};var Wt=Ct(It.x-Mt.x,It.y-Mt.y,It.z-Mt.z),Gt=St.getVerticesForRadius(Nt,Vt,"to"),qt=Gt.w,Xt=Gt.h,Kt=Ht?Xt*qt+2:2*qt,Jt=Ot.updateGeoGroup(Kt),tn=Gt.vertices,sn=Gt.normals,Zt=Gt.verticesRows,nn=Zt[Xt/2],rn=Zt[Xt/2+1],on=Jt.vertices,ln,Qt,fn,pn,mn,vn,yn=Jt.vertexArray,xn=Jt.normalArray,Mn=Jt.colorArray,$n=Jt.faceArray;for(fn=0;fn<qt;++fn){var Rn=2*fn;pn=Wt[0]*tn[Rn].x+Wt[3]*tn[Rn].y+Wt[6]*tn[Rn].z,mn=Wt[1]*tn[Rn].x+Wt[4]*tn[Rn].y+Wt[7]*tn[Rn].z,vn=Wt[5]*tn[Rn].y+Wt[8]*tn[Rn].z,ln=3*(on+Rn),Qt=Jt.faceidx,yn[ln]=pn+Mt.x,yn[ln+1]=mn+Mt.y,yn[ln+2]=vn+Mt.z,yn[ln+3]=pn+It.x,yn[ln+4]=mn+It.y,yn[ln+5]=vn+It.z,xn[ln]=pn,xn[ln+3]=pn,xn[ln+1]=mn,xn[ln+4]=mn,xn[ln+2]=vn,xn[ln+5]=vn,Mn[ln]=Ut.r,Mn[ln+3]=Ut.r,Mn[ln+1]=Ut.g,Mn[ln+4]=Ut.g,Mn[ln+2]=Ut.b,Mn[ln+5]=Ut.b,$n[Qt]=rn[fn]+on,$n[Qt+1]=rn[fn+1]+on,$n[Qt+2]=nn[fn]+on,$n[Qt+3]=nn[fn]+on,$n[Qt+4]=rn[fn+1]+on,$n[Qt+5]=nn[fn+1]+on,Jt.faceidx+=6}if(Ht){var Tn=Vt?0:Xt/2,ir=jt?Xt+1:Xt/2+1,Jn,jn,Wn,br,Fr,Cr,dr,_r,pr,wr,xr,Dr,ar,Qn,Cn,Bn,In,or,rr,vr,cr,gn,wn,Xn,tr,Hn,Kn,_n,yr,Or,hn,Ar;for(mn=Tn;mn<ir;mn++)if(mn!==Xt/2){var hr=mn<=Xt/2?It:Mt,An=St.getVerticesForRadius(Nt,Vt,"to"),nr=St.getVerticesForRadius(Nt,jt,"from");for(hr===It?(tn=An.vertices,sn=An.normals,Zt=An.verticesRows):hr==Mt&&(tn=nr.vertices,sn=nr.normals,Zt=nr.verticesRows),pn=0;pn<qt;pn++)Qt=Jt.faceidx,Jn=Zt[mn][pn+1],yr=(Jn+on)*3,jn=Zt[mn][pn],Or=(jn+on)*3,Wn=Zt[mn+1][pn],hn=(Wn+on)*3,br=Zt[mn+1][pn+1],Ar=(br+on)*3,Fr=Wt[0]*tn[Jn].x+Wt[3]*tn[Jn].y+Wt[6]*tn[Jn].z,Cr=Wt[0]*tn[jn].x+Wt[3]*tn[jn].y+Wt[6]*tn[jn].z,dr=Wt[0]*tn[Wn].x+Wt[3]*tn[Wn].y+Wt[6]*tn[Wn].z,_r=Wt[0]*tn[br].x+Wt[3]*tn[br].y+Wt[6]*tn[br].z,pr=Wt[1]*tn[Jn].x+Wt[4]*tn[Jn].y+Wt[7]*tn[Jn].z,wr=Wt[1]*tn[jn].x+Wt[4]*tn[jn].y+Wt[7]*tn[jn].z,xr=Wt[1]*tn[Wn].x+Wt[4]*tn[Wn].y+Wt[7]*tn[Wn].z,Dr=Wt[1]*tn[br].x+Wt[4]*tn[br].y+Wt[7]*tn[br].z,ar=Wt[5]*tn[Jn].y+Wt[8]*tn[Jn].z,Qn=Wt[5]*tn[jn].y+Wt[8]*tn[jn].z,Cn=Wt[5]*tn[Wn].y+Wt[8]*tn[Wn].z,Bn=Wt[5]*tn[br].y+Wt[8]*tn[br].z,yn[yr]=Fr+hr.x,yn[Or]=Cr+hr.x,yn[hn]=dr+hr.x,yn[Ar]=_r+hr.x,yn[yr+1]=pr+hr.y,yn[Or+1]=wr+hr.y,yn[hn+1]=xr+hr.y,yn[Ar+1]=Dr+hr.y,yn[yr+2]=ar+hr.z,yn[Or+2]=Qn+hr.z,yn[hn+2]=Cn+hr.z,yn[Ar+2]=Bn+hr.z,Mn[yr]=Ut.r,Mn[Or]=Ut.r,Mn[hn]=Ut.r,Mn[Ar]=Ut.r,Mn[yr+1]=Ut.g,Mn[Or+1]=Ut.g,Mn[hn+1]=Ut.g,Mn[Ar+1]=Ut.g,Mn[yr+2]=Ut.b,Mn[Or+2]=Ut.b,Mn[hn+2]=Ut.b,Mn[Ar+2]=Ut.b,In=Wt[0]*sn[Jn].x+Wt[3]*sn[Jn].y+Wt[6]*sn[Jn].z,or=Wt[0]*sn[jn].x+Wt[3]*sn[jn].y+Wt[6]*sn[jn].z,rr=Wt[0]*sn[Wn].x+Wt[3]*sn[Wn].y+Wt[6]*sn[Wn].z,vr=Wt[0]*sn[br].x+Wt[3]*sn[br].y+Wt[6]*sn[br].z,cr=Wt[1]*sn[Jn].x+Wt[4]*sn[Jn].y+Wt[7]*sn[Jn].z,gn=Wt[1]*sn[jn].x+Wt[4]*sn[jn].y+Wt[7]*sn[jn].z,wn=Wt[1]*sn[Wn].x+Wt[4]*sn[Wn].y+Wt[7]*sn[Wn].z,Xn=Wt[1]*sn[br].x+Wt[4]*sn[br].y+Wt[7]*sn[br].z,tr=Wt[5]*sn[Jn].y+Wt[8]*sn[Jn].z,Hn=Wt[5]*sn[jn].y+Wt[8]*sn[jn].z,Kn=Wt[5]*sn[Wn].y+Wt[8]*sn[Wn].z,_n=Wt[5]*sn[br].y+Wt[8]*sn[br].z,mn===0?(xn[yr]=In,xn[hn]=rr,xn[Ar]=vr,xn[yr+1]=cr,xn[hn+1]=wn,xn[Ar+1]=Xn,xn[yr+2]=tr,xn[hn+2]=Kn,xn[Ar+2]=_n,$n[Qt]=Jn+on,$n[Qt+1]=Wn+on,$n[Qt+2]=br+on,Jt.faceidx+=3):mn===ir-1?(xn[yr]=In,xn[Or]=or,xn[hn]=rr,xn[yr+1]=cr,xn[Or+1]=gn,xn[hn+1]=wn,xn[yr+2]=tr,xn[Or+2]=Hn,xn[hn+2]=Kn,$n[Qt]=Jn+on,$n[Qt+1]=jn+on,$n[Qt+2]=Wn+on,Jt.faceidx+=3):(xn[yr]=In,xn[Or]=or,xn[Ar]=vr,xn[yr+1]=cr,xn[Or+1]=gn,xn[Ar+1]=Xn,xn[yr+2]=tr,xn[Or+2]=Hn,xn[Ar+2]=_n,xn[Or]=or,xn[hn]=rr,xn[Ar]=vr,xn[Or+1]=gn,xn[hn+1]=wn,xn[Ar+1]=Xn,xn[Or+2]=Hn,xn[hn+2]=Kn,xn[Ar+2]=_n,$n[Qt]=Jn+on,$n[Qt+1]=jn+on,$n[Qt+2]=br+on,$n[Qt+3]=jn+on,$n[Qt+4]=Wn+on,$n[Qt+5]=br+on,Jt.faceidx+=6)}}Jt.vertices+=Kt}Ft.drawCylinder=Tt;function Rt(Ot,Mt,It,Nt,Ut){if(!Mt||!It)return;Ut=Ut||{r:0,g:0,b:0};let jt=new vt.Vector3(It.x-Mt.x,It.y-Mt.y,It.z-Mt.z);var Vt=Ct(jt.x,jt.y,jt.z);jt=jt.normalize();var zt=St.basisVectors.length,Ht=St.basisVectors,Wt=zt+2,Gt=Ot.updateGeoGroup(Wt),qt=Gt.vertices,Xt,Kt,Jt,tn,sn,Zt,nn=Gt.vertexArray,rn=Gt.normalArray,on=Gt.colorArray,ln=Gt.faceArray;for(Xt=qt*3,nn[Xt]=Mt.x,nn[Xt+1]=Mt.y,nn[Xt+2]=Mt.z,rn[Xt]=-jt.x,rn[Xt+1]=-jt.y,rn[Xt+2]=-jt.z,on[Xt]=Ut.r,on[Xt+1]=Ut.g,on[Xt+2]=Ut.b,nn[Xt+3]=It.x,nn[Xt+4]=It.y,nn[Xt+5]=It.z,rn[Xt+3]=jt.x,rn[Xt+4]=jt.y,rn[Xt+5]=jt.z,on[Xt+3]=Ut.r,on[Xt+4]=Ut.g,on[Xt+5]=Ut.b,Xt+=6,Jt=0;Jt<zt;++Jt){var Qt=Ht[Jt].clone();Qt.multiplyScalar(Nt),tn=Vt[0]*Qt.x+Vt[3]*Qt.y+Vt[6]*Qt.z,sn=Vt[1]*Qt.x+Vt[4]*Qt.y+Vt[7]*Qt.z,Zt=Vt[5]*Qt.y+Vt[8]*Qt.z,nn[Xt]=tn+Mt.x,nn[Xt+1]=sn+Mt.y,nn[Xt+2]=Zt+Mt.z,rn[Xt]=tn,rn[Xt+1]=sn,rn[Xt+2]=Zt,on[Xt]=Ut.r,on[Xt+1]=Ut.g,on[Xt+2]=Ut.b,Xt+=3}for(Gt.vertices+=zt+2,Kt=Gt.faceidx,Jt=0;Jt<zt;Jt++){var fn=qt+2+Jt,pn=qt+2+(Jt+1)%zt;ln[Kt]=fn,ln[Kt+1]=pn,ln[Kt+2]=qt,Kt+=3,ln[Kt]=fn,ln[Kt+1]=pn,ln[Kt+2]=qt+1,Kt+=3}Gt.faceidx+=6*zt}Ft.drawCone=Rt;class Pt{constructor(){this.cache=new Map}getVerticesForRadius(Mt,It){It=It||2,this.cache.has(It)||this.cache.set(It,new Map);let Nt=this.cache.get(It);if(Nt.has(Mt))return Nt.get(Mt);var Ut={vertices:[],verticesRows:[],normals:[]},jt=16*It,Vt=10*It;Mt<1&&(jt=10*It,Vt=8*It);var zt=0,Ht=Math.PI*2,Wt=0,Gt=Math.PI,qt,Xt;for(Xt=0;Xt<=Vt;Xt++){let Jt=[];for(qt=0;qt<=jt;qt++){let tn=qt/jt,sn=Xt/Vt,Zt=-Mt*Math.cos(zt+tn*Ht)*Math.sin(Wt+sn*Gt),nn=Mt*Math.cos(Wt+sn*Gt),rn=Mt*Math.sin(zt+tn*Ht)*Math.sin(Wt+sn*Gt);var Kt=new vt.Vector3(Zt,nn,rn);Kt.normalize(),Ut.vertices.push({x:Zt,y:nn,z:rn}),Ut.normals.push(Kt),Jt.push(Ut.vertices.length-1)}Ut.verticesRows.push(Jt)}return Nt.set(Mt,Ut),Ut}}var Lt=new Pt;function kt(Ot,Mt,It,Nt,Ut){var jt=Lt.getVerticesForRadius(It,Ut),Vt=jt.vertices,zt=jt.normals,Ht=Ot.updateGeoGroup(Vt.length),Wt=Ht.vertices,Gt=Ht.vertexArray,qt=Ht.colorArray,Xt=Ht.faceArray,Kt=Ht.lineArray,Jt=Ht.normalArray;for(let Zt=0,nn=Vt.length;Zt<nn;++Zt){let rn=3*(Wt+Zt),on=Vt[Zt];Gt[rn]=on.x+Mt.x,Gt[rn+1]=on.y+Mt.y,Gt[rn+2]=on.z+Mt.z,qt[rn]=Nt.r,qt[rn+1]=Nt.g,qt[rn+2]=Nt.b}Ht.vertices+=Vt.length;let tn=jt.verticesRows,sn=tn.length-1;for(let Zt=0;Zt<sn;Zt++){let nn=tn[Zt].length-1;for(let rn=0;rn<nn;rn++){let on=Ht.faceidx,ln=Ht.lineidx,Qt=tn[Zt][rn+1]+Wt,fn=Qt*3,pn=tn[Zt][rn]+Wt,mn=pn*3,vn=tn[Zt+1][rn]+Wt,yn=vn*3,xn=tn[Zt+1][rn+1]+Wt,Mn=xn*3,$n=zt[Qt-Wt],Rn=zt[pn-Wt],Tn=zt[vn-Wt],ir=zt[xn-Wt];Math.abs(Vt[Qt-Wt].y)===It?(Jt[fn]=$n.x,Jt[yn]=Tn.x,Jt[Mn]=ir.x,Jt[fn+1]=$n.y,Jt[yn+1]=Tn.y,Jt[Mn+1]=ir.y,Jt[fn+2]=$n.z,Jt[yn+2]=Tn.z,Jt[Mn+2]=ir.z,Xt[on]=Qt,Xt[on+1]=vn,Xt[on+2]=xn,Kt[ln]=Qt,Kt[ln+1]=vn,Kt[ln+2]=Qt,Kt[ln+3]=xn,Kt[ln+4]=vn,Kt[ln+5]=xn,Ht.faceidx+=3,Ht.lineidx+=6):Math.abs(Vt[vn-Wt].y)===It?(Jt[fn]=$n.x,Jt[mn]=Rn.x,Jt[yn]=Tn.x,Jt[fn+1]=$n.y,Jt[mn+1]=Rn.y,Jt[yn+1]=Tn.y,Jt[fn+2]=$n.z,Jt[mn+2]=Rn.z,Jt[yn+2]=Tn.z,Xt[on]=Qt,Xt[on+1]=pn,Xt[on+2]=vn,Kt[ln]=Qt,Kt[ln+1]=pn,Kt[ln+2]=Qt,Kt[ln+3]=vn,Kt[ln+4]=pn,Kt[ln+5]=vn,Ht.faceidx+=3,Ht.lineidx+=6):(Jt[fn]=$n.x,Jt[mn]=Rn.x,Jt[Mn]=ir.x,Jt[fn+1]=$n.y,Jt[mn+1]=Rn.y,Jt[Mn+1]=ir.y,Jt[fn+2]=$n.z,Jt[mn+2]=Rn.z,Jt[Mn+2]=ir.z,Jt[mn]=Rn.x,Jt[yn]=Tn.x,Jt[Mn]=ir.x,Jt[mn+1]=Rn.y,Jt[yn+1]=Tn.y,Jt[Mn+1]=ir.y,Jt[mn+2]=Rn.z,Jt[yn+2]=Tn.z,Jt[Mn+2]=ir.z,Xt[on]=Qt,Xt[on+1]=pn,Xt[on+2]=xn,Xt[on+3]=pn,Xt[on+4]=vn,Xt[on+5]=xn,Kt[ln]=Qt,Kt[ln+1]=pn,Kt[ln+2]=Qt,Kt[ln+3]=xn,Kt[ln+4]=pn,Kt[ln+5]=vn,Kt[ln+6]=vn,Kt[ln+7]=xn,Ht.faceidx+=6,Ht.lineidx+=8)}}}Ft.drawSphere=kt})(At||(At={}))},"./src/GLModel.ts"(yt,Et,xt){xt.r(Et),xt.d(Et,{GLModel:()=>kt});var vt=xt("./src/WebGL/index.ts"),bt=xt("./src/WebGL/shapes/index.ts"),At=xt("./src/WebGL/math/index.ts"),Ft=xt("./src/colors.ts"),Ct=xt("./src/GLDraw.ts"),wt=xt("./src/glcartoon.ts"),St=xt("./src/utilities.ts"),Tt=xt("./src/Gradient.ts"),Rt=xt("./src/parsers/index.ts"),Pt=xt("./node_modules/netcdfjs/lib-esm/index.js"),Lt=xt("./src/parsers/utils/assignBonds.ts");class kt{static sameObj(Mt,It){return Mt&&It?JSON.stringify(Mt)==JSON.stringify(It):Mt==It}constructor(Mt,It,Nt){this.atoms=[],this.frames=[],this.box=null,this.atomdfs=null,this.id=0,this.hidden=!1,this.molObj=null,this.renderedMolObj=null,this.lastColors=null,this.modelData={},this.modelDatas=null,this.idMatrix=new At.Matrix4,this.dontDuplicateAtoms=!0,this.defaultColor=Ft.elementColors.defaultColor,this.defaultStickRadius=.25,this.options=It||{},this.viewer=Nt,this.ElementColors=this.options.defaultcolors?this.options.defaultcolors:Ft.elementColors.defaultColors,this.defaultSphereRadius=this.options.defaultSphereRadius?this.options.defaultSphereRadius:1.5,this.defaultCartoonQuality=this.options.cartoonQuality?this.options.cartoonQuality:10,this.id=Mt}getRadiusFromStyle(Mt,It){var Nt=this.defaultSphereRadius;if(typeof It.radius<"u")Nt=It.radius;else if(kt.vdwRadii[Mt.elem])Nt=kt.vdwRadii[Mt.elem];else if(Mt.elem.length>1){let Ut=Mt.elem;Ut=Ut[0].toUpperCase()+Ut[1].toLowerCase(),kt.vdwRadii[Ut]&&(Nt=kt.vdwRadii[Ut])}return typeof It.scale<"u"&&(Nt*=It.scale),Nt}drawAtomCross(Mt,It){if(Mt.style.cross){var Nt=Mt.style.cross;if(!Nt.hidden){var Ut=Nt.linewidth||kt.defaultlineWidth;It[Ut]||(It[Ut]=new vt.Geometry);var jt=It[Ut].updateGeoGroup(6),Vt=this.getRadiusFromStyle(Mt,Nt),zt=[[Vt,0,0],[-Vt,0,0],[0,Vt,0],[0,-Vt,0],[0,0,Vt],[0,0,-Vt]],Ht=Mt.clickable||Mt.hoverable;Ht&&Mt.intersectionShape===void 0&&(Mt.intersectionShape={sphere:[],cylinder:[],line:[]});for(var Wt=(0,St.getColorFromStyle)(Mt,Nt),Gt=jt.vertexArray,qt=jt.colorArray,Xt=0;Xt<6;Xt++){var Kt=jt.vertices*3;if(jt.vertices++,Gt[Kt]=Mt.x+zt[Xt][0],Gt[Kt+1]=Mt.y+zt[Xt][1],Gt[Kt+2]=Mt.z+zt[Xt][2],qt[Kt]=Wt.r,qt[Kt+1]=Wt.g,qt[Kt+2]=Wt.b,Ht){var Jt=new At.Vector3(zt[Xt][0],zt[Xt][1],zt[Xt][2]);Jt.multiplyScalar(.1),Jt.set(Jt.x+Mt.x,Jt.y+Mt.y,Jt.z+Mt.z),Mt.intersectionShape.line.push(Jt)}}}}}getGoodCross(Mt,It,Nt,Ut){for(var jt=null,Vt=-1,zt=0,Ht=Mt.bonds.length;zt<Ht;zt++)if(Mt.bonds[zt]!=It.index){let Gt=Mt.bonds[zt],qt=this.atoms[Gt],Kt=new At.Vector3(qt.x,qt.y,qt.z).clone();Kt.sub(Nt);let Jt=Kt.clone();Jt.cross(Ut);var Wt=Jt.lengthSq();if(Wt>Vt&&(Vt=Wt,jt=Jt,Vt>.1))return jt}return jt}getSideBondV(Mt,It,Nt){var Ut,jt,Vt,zt,Ht,Wt=new At.Vector3(Mt.x,Mt.y,Mt.z),Gt=new At.Vector3(It.x,It.y,It.z),qt=Gt.clone(),Xt=null;if(qt.sub(Wt),Mt.bonds.length===1)if(It.bonds.length===1)Xt=qt.clone(),Math.abs(Xt.x)>1e-4?Xt.y+=1:Xt.x+=1;else{for(Vt=null,Ut=0;Ut<It.bonds.length;Ut++)if(jt=It.bonds[Ut],jt!==Mt.index){Vt=this.atoms[jt];break}Vt?(zt=new At.Vector3(Vt.x,Vt.y,Vt.z),Ht=zt.clone(),Ht.sub(Wt),Xt=Ht.clone(),Xt.cross(qt)):(Xt=qt.clone(),Xt.x+=1)}else if(Xt=this.getGoodCross(Mt,It,Wt,qt),Xt.lengthSq()<.01){var Kt=this.getGoodCross(It,Mt,Wt,qt);Kt!=null&&(Xt=Kt)}return Xt.lengthSq()<.01&&(Xt=qt.clone(),Math.abs(Xt.x)>1e-4?Xt.y+=1:Xt.x+=1),Xt.cross(qt),Xt.normalize(),Xt}addLine(Mt,It,Nt,Ut,jt,Vt){Mt[Nt]=Ut.x,Mt[Nt+1]=Ut.y,Mt[Nt+2]=Ut.z,It[Nt]=Vt.r,It[Nt+1]=Vt.g,It[Nt+2]=Vt.b,Mt[Nt+3]=jt.x,Mt[Nt+4]=jt.y,Mt[Nt+5]=jt.z,It[Nt+3]=Vt.r,It[Nt+4]=Vt.g,It[Nt+5]=Vt.b}drawBondLines(Mt,It,Nt){if(Mt.style.line){var Ut=Mt.style.line;if(!Ut.hidden){var jt,Vt,zt,Ht,Wt=Ut.linewidth||kt.defaultlineWidth;Nt[Wt]||(Nt[Wt]=new vt.Geometry);for(var Gt=Nt[Wt].updateGeoGroup(6*Mt.bonds.length),qt=Gt.vertexArray,Xt=Gt.colorArray,Kt=0;Kt<Mt.bonds.length;Kt++){var Jt=Mt.bonds[Kt],tn=It[Jt];if(tn.style.line&&!(Mt.index>=tn.index)){var sn=new At.Vector3(Mt.x,Mt.y,Mt.z),Zt=new At.Vector3(tn.x,tn.y,tn.z),nn=sn.clone().add(Zt).multiplyScalar(.5),rn=!1,on=Mt.clickable||Mt.hoverable,ln=tn.clickable||tn.hoverable;(on||ln)&&(on&&(Mt.intersectionShape===void 0&&(Mt.intersectionShape={sphere:[],cylinder:[],line:[],triangle:[]}),Mt.intersectionShape.line.push(sn),Mt.intersectionShape.line.push(nn)),ln&&(tn.intersectionShape===void 0&&(tn.intersectionShape={sphere:[],cylinder:[],line:[],triangle:[]}),tn.intersectionShape.line.push(nn),tn.intersectionShape.line.push(Zt)));var Qt=(0,St.getColorFromStyle)(Mt,Mt.style.line),fn=(0,St.getColorFromStyle)(tn,tn.style.line);if(Mt.bondStyles&&Mt.bondStyles[Kt]){var pn=Mt.bondStyles[Kt];if(!pn.iswire)continue;pn.singleBond&&(rn=!0),typeof pn.color1<"u"&&(Qt=Ft.CC.color(pn.color1)),typeof pn.color2<"u"&&(fn=Ft.CC.color(pn.color2))}var mn=Gt.vertices*3,vn,yn;if(Mt.bondOrder[Kt]>1&&Mt.bondOrder[Kt]<4&&!rn){var xn=this.getSideBondV(Mt,tn,Kt),Mn=Zt.clone();Mn.sub(sn),Mt.bondOrder[Kt]==2?(xn.multiplyScalar(.1),jt=sn.clone(),jt.add(xn),Vt=sn.clone(),Vt.sub(xn),zt=jt.clone(),zt.add(Mn),Ht=Vt.clone(),Ht.add(Mn),Qt==fn?(Gt.vertices+=4,this.addLine(qt,Xt,mn,jt,zt,Qt),this.addLine(qt,Xt,mn+6,Vt,Ht,Qt)):(Gt.vertices+=8,Mn.multiplyScalar(.5),vn=jt.clone(),vn.add(Mn),yn=Vt.clone(),yn.add(Mn),this.addLine(qt,Xt,mn,jt,vn,Qt),this.addLine(qt,Xt,mn+6,vn,zt,fn),this.addLine(qt,Xt,mn+12,Vt,yn,Qt),this.addLine(qt,Xt,mn+18,yn,Ht,fn))):Mt.bondOrder[Kt]==3&&(xn.multiplyScalar(.1),jt=sn.clone(),jt.add(xn),Vt=sn.clone(),Vt.sub(xn),zt=jt.clone(),zt.add(Mn),Ht=Vt.clone(),Ht.add(Mn),Qt==fn?(Gt.vertices+=6,this.addLine(qt,Xt,mn,sn,Zt,Qt),this.addLine(qt,Xt,mn+6,jt,zt,Qt),this.addLine(qt,Xt,mn+12,Vt,Ht,Qt)):(Gt.vertices+=12,Mn.multiplyScalar(.5),vn=jt.clone(),vn.add(Mn),yn=Vt.clone(),yn.add(Mn),this.addLine(qt,Xt,mn,sn,nn,Qt),this.addLine(qt,Xt,mn+6,nn,Zt,fn),this.addLine(qt,Xt,mn+12,jt,vn,Qt),this.addLine(qt,Xt,mn+18,vn,zt,fn),this.addLine(qt,Xt,mn+24,Vt,yn,Qt),this.addLine(qt,Xt,mn+30,yn,Ht,fn)))}else Qt==fn?(Gt.vertices+=2,this.addLine(qt,Xt,mn,sn,Zt,Qt)):(Gt.vertices+=4,this.addLine(qt,Xt,mn,sn,nn,Qt),this.addLine(qt,Xt,mn+6,nn,Zt,fn))}}}}}drawAtomSphere(Mt,It){if(Mt.style.sphere){var Nt=Mt.style.sphere;if(!Nt.hidden){var Ut=(0,St.getColorFromStyle)(Mt,Nt),jt=this.getRadiusFromStyle(Mt,Nt);if((Mt.clickable===!0||Mt.hoverable)&&Mt.intersectionShape!==void 0){var Vt=new At.Vector3(Mt.x,Mt.y,Mt.z);Mt.intersectionShape.sphere.push(new bt.Sphere(Vt,jt))}Ct.GLDraw.drawSphere(It,Mt,jt,Ut)}}}drawAtomClickSphere(Mt){if(Mt.style.clicksphere){var It=Mt.style.clicksphere;if(!It.hidden){var Nt=this.getRadiusFromStyle(Mt,It);if((Mt.clickable===!0||Mt.hoverable)&&Mt.intersectionShape!==void 0){var Ut=new At.Vector3(Mt.x,Mt.y,Mt.z);Mt.intersectionShape.sphere.push(new bt.Sphere(Ut,Nt))}}}}drawAtomInstanced(Mt,It){if(Mt.style.sphere){var Nt=Mt.style.sphere;if(!Nt.hidden){var Ut=this.getRadiusFromStyle(Mt,Nt),jt=(0,St.getColorFromStyle)(Mt,Nt),Vt=It.updateGeoGroup(1),zt=Vt.vertices,Ht=zt*3,Wt=Vt.vertexArray,Gt=Vt.colorArray,qt=Vt.radiusArray;if(Wt[Ht]=Mt.x,Wt[Ht+1]=Mt.y,Wt[Ht+2]=Mt.z,Gt[Ht]=jt.r,Gt[Ht+1]=jt.g,Gt[Ht+2]=jt.b,qt[zt]=Ut,(Mt.clickable===!0||Mt.hoverable)&&Mt.intersectionShape!==void 0){var Xt=new At.Vector3(Mt.x,Mt.y,Mt.z);Mt.intersectionShape.sphere.push(new bt.Sphere(Xt,Ut))}Vt.vertices+=1}}}drawSphereImposter(Mt,It,Nt,Ut){var jt=Mt.updateGeoGroup(4),Vt,zt=jt.vertices,Ht=zt*3,Wt=jt.vertexArray,Gt=jt.colorArray;for(Vt=0;Vt<4;Vt++)Wt[Ht+3*Vt]=It.x,Wt[Ht+3*Vt+1]=It.y,Wt[Ht+3*Vt+2]=It.z;var qt=jt.normalArray;for(Vt=0;Vt<4;Vt++)Gt[Ht+3*Vt]=Ut.r,Gt[Ht+3*Vt+1]=Ut.g,Gt[Ht+3*Vt+2]=Ut.b;qt[Ht+0]=-Nt,qt[Ht+1]=Nt,qt[Ht+2]=0,qt[Ht+3]=-Nt,qt[Ht+4]=-Nt,qt[Ht+5]=0,qt[Ht+6]=Nt,qt[Ht+7]=-Nt,qt[Ht+8]=0,qt[Ht+9]=Nt,qt[Ht+10]=Nt,qt[Ht+11]=0,jt.vertices+=4;var Xt=jt.faceArray,Kt=jt.faceidx;Xt[Kt+0]=zt,Xt[Kt+1]=zt+1,Xt[Kt+2]=zt+2,Xt[Kt+3]=zt+2,Xt[Kt+4]=zt+3,Xt[Kt+5]=zt,jt.faceidx+=6}drawAtomImposter(Mt,It){if(Mt.style.sphere){var Nt=Mt.style.sphere;if(!Nt.hidden){var Ut=this.getRadiusFromStyle(Mt,Nt),jt=(0,St.getColorFromStyle)(Mt,Nt);if((Mt.clickable===!0||Mt.hoverable)&&Mt.intersectionShape!==void 0){var Vt=new At.Vector3(Mt.x,Mt.y,Mt.z);Mt.intersectionShape.sphere.push(new bt.Sphere(Vt,Ut))}this.drawSphereImposter(It,Mt,Ut,jt)}}}calculateDashes(Mt,It,Nt,Ut,jt,Vt){var zt=Math.sqrt(Math.pow(Mt.x-It.x,2)+Math.pow(Mt.y-It.y,2)+Math.pow(Mt.z-It.z,2));if(Nt=Math.max(Nt,0),jt=Math.max(jt,0)+2*Nt,Ut=Math.max(Ut,.001),Ut+jt>zt){var Ht=Vt&&Vt.length>0?Vt[0]:null;return[{from:new At.Vector3(Mt.x,Mt.y,Mt.z),to:new At.Vector3(It.x,It.y,It.z),color:Ht}]}var Wt=Math.floor((zt-Ut)/(Ut+jt))+1,Gt=Wt*Ut;jt=(zt-Gt)/Wt;for(var qt,Xt=new At.Vector3(Mt.x,Mt.y,Mt.z),Kt=new At.Vector3((It.x-Mt.x)/(zt/jt),(It.y-Mt.y)/(zt/jt),(It.z-Mt.z)/(zt/jt)),Jt=new At.Vector3((It.x-Mt.x)/(zt/Ut),(It.y-Mt.y)/(zt/Ut),(It.z-Mt.z)/(zt/Ut)),tn=[],sn=0;sn<Wt;sn++){qt=new At.Vector3(Xt.x+Jt.x,Xt.y+Jt.y,Xt.z+Jt.z);var Ht=Vt&&Vt.length>1&&sn>=Wt/2?Vt[1]:Vt?Vt[0]:null;tn.push({from:Xt,to:qt,color:Ht}),Xt=new At.Vector3(qt.x+Kt.x,qt.y+Kt.y,qt.z+Kt.z)}return tn}calculateTwoColorSegments(Mt,It,Nt){var Ut=[];if(Nt.length<=1)Ut.push({from:new At.Vector3(Mt.x,Mt.y,Mt.z),to:new At.Vector3(It.x,It.y,It.z),color:Nt[0]});else{var jt=new At.Vector3((Mt.x+It.x)/2,(Mt.y+It.y)/2,(Mt.z+It.z)/2);Ut.push({from:new At.Vector3(Mt.x,Mt.y,Mt.z),to:jt,color:Nt[0]}),Ut.push({from:jt,to:new At.Vector3(It.x,It.y,It.z),color:Nt[1]})}return Ut}chooseDashedPlusV(Mt,It,Nt,Ut,jt){for(var Vt=new At.Vector3(0,0,0),zt=0,Ht=!1,Wt=0;Wt<Mt.bonds.length;Wt++)if(Mt.bonds[Wt]!==It.index){var Gt=this.atoms[Mt.bonds[Wt]];if(Gt&&Gt.bonds&&Gt.bonds.length>1){Ht=!0;break}}if(!Ht){for(var Wt=0;Wt<It.bonds.length;Wt++)if(It.bonds[Wt]!==Mt.index){var Gt=this.atoms[It.bonds[Wt]];if(Gt&&Gt.bonds&&Gt.bonds.length>1){Ht=!0;break}}}var qt=(tn,sn)=>{for(var Zt=0;Zt<tn.bonds.length;Zt++)if(tn.bonds[Zt]!==sn){var nn=this.atoms[tn.bonds[Zt]];if(nn){var rn=!nn.bonds||nn.bonds.length<=1,on=Ht&&rn?.25:1;Vt.x+=nn.x*on,Vt.y+=nn.y*on,Vt.z+=nn.z*on,zt+=on}}};if(qt(Mt,It.index),qt(It,Mt.index),zt<1e-8)return!1;Vt.multiplyScalar(1/zt);var Xt=new At.Vector3().addVectors(Nt,Ut).multiplyScalar(.5),Kt=Xt.clone().add(jt),Jt=Xt.clone().sub(jt);return Kt.distanceToSquared(Vt)<Jt.distanceToSquared(Vt)}static drawStickImposter(Mt,It,Nt,Ut,jt,Vt=0,zt=0){for(var Ht=Mt.updateGeoGroup(4),Wt=Ht.vertices,Gt=Wt*3,qt=Ht.vertexArray,Xt=Ht.colorArray,Kt=Ht.radiusArray,Jt=Ht.normalArray,tn=jt.r,sn=jt.g,Zt=jt.b,nn=function(fn){var pn=-fn;return pn==0&&(pn=-1e-4),pn},rn=Gt,on=0;on<4;on++)qt[rn]=It.x,Jt[rn]=Nt.x,Xt[rn]=tn,rn++,qt[rn]=It.y,Jt[rn]=Nt.y,Xt[rn]=sn,rn++,qt[rn]=It.z,Jt[rn]=Nt.z,on<2?Xt[rn]=Zt:Xt[rn]=nn(Zt),rn++;Ht.vertices+=4,Kt[Wt]=-Ut,Kt[Wt+1]=Ut,Kt[Wt+2]=-Ut,Kt[Wt+3]=Ut;var ln=Ht.faceArray,Qt=Ht.faceidx;ln[Qt+0]=Wt,ln[Qt+1]=Wt+1,ln[Qt+2]=Wt+2,ln[Qt+3]=Wt+2,ln[Qt+4]=Wt+3,ln[Qt+5]=Wt,Ht.faceidx+=6}drawBondSticks(Mt,It,Nt){var Ut,jt,Vt,zt;if(Mt.style.stick){var Ht=Mt.style.stick;if(!Ht.hidden){var Wt=Ht.radius||this.defaultStickRadius,Gt=Ht.doubleBondScaling||.4,qt=Ht.tripleBondScaling||.25,Xt=((Ut=Ht.dashedBondConfig)===null||Ut===void 0?void 0:Ut.dashLength)||.1,Kt=((jt=Ht.dashedBondConfig)===null||jt===void 0?void 0:jt.gapLength)||.25,Jt=Wt,tn=Ht.singleBonds||!1,sn=Ht.dashedBonds||!1,Zt=0,nn=0,rn,on,ln,Qt,fn,pn,mn,vn,yn,xn,Mn,$n=(0,St.getColorFromStyle)(Mt,Ht),Rn,Tn,ir;!Mt.capDrawn&&Mt.bonds.length<4&&(Zt=2);var Jn=!((Vt=Ht.dashedBondConfig)===null||Vt===void 0)&&Vt.solidColor?Ft.CC.color(Ht.dashedBondConfig.solidColor):null,jn=!((zt=Ht.dashedBondConfig)===null||zt===void 0)&&zt.dashedColor?Ft.CC.color(Ht.dashedBondConfig.dashedColor):null,Wn=this,br=_i=>{var ci=Nt.imposter?kt.drawStickImposter:Ct.GLDraw.drawCylinder;return!sn&&_i%1===0?(xi,mi,wi,vi,qi,ji,Ni=0,ls=0)=>{if(!ji||qi===ji)ci(xi,mi,wi,vi,qi,Ni,ls);else for(var xs=Wn.calculateTwoColorSegments(mi,wi,[qi,ji]),$s=0;$s<xs.length;$s++){var Is=xs[$s],Hs=$s===0?Ni:0,ws=$s===xs.length-1?ls:0;ci(xi,Is.from,Is.to,vi,Is.color,Hs,ws)}}:(xi,mi,wi,vi,qi,ji,Ni=0,ls=0)=>{var xs=ji?[qi,ji]:[qi],$s=Wn.calculateDashes(mi,wi,vi,Xt,Kt,xs);$s.forEach(Is=>{ci(xi,Is.from,Is.to,vi,Is.color,Ni,ls)})}};for(ln=0;ln<Mt.bonds.length;ln++){var Fr=Mt.bondOrder[ln],Cr=Fr===4?1.5:Fr,dr=br(Cr),_r=Mt.bonds[ln],pr=It[_r];if(Rn=Tn=ir=null,Mt.index<pr.index){nn=0;var wr=pr.style;if(!wr.stick||wr.stick.hidden)continue;var xr=(0,St.getColorFromStyle)(pr,wr.stick);if(Jt=Wt,Qt=tn,Mt.bondStyles&&Mt.bondStyles[ln]){if(fn=Mt.bondStyles[ln],fn.iswire)continue;fn.radius&&(Jt=fn.radius),fn.singleBond&&(Qt=!0),typeof fn.color1<"u"&&($n=Ft.CC.color(fn.color1)),typeof fn.color2<"u"&&(xr=Ft.CC.color(fn.color2))}var Dr=new At.Vector3(Mt.x,Mt.y,Mt.z),ar=new At.Vector3(pr.x,pr.y,pr.z),Qn=Jn||$n,Cn=Jn||xr,Bn=jn||$n,In=jn||xr;if(Cr<=1||Qt||Cr>3){Cr<1&&(Jt*=Cr),!pr.capDrawn&&pr.bonds.length<4&&(nn=2);const _i=sn||Cr%1!==0;if(dr(Nt,Dr,ar,Jt,_i?Bn:$n,_i?In:xr,Zt,nn),rn=Mt.clickable||Mt.hoverable,on=pr.clickable||pr.hoverable,rn||on){if(Rn||(Rn=new At.Vector3().addVectors(Dr,ar).multiplyScalar(.5)),rn){var or=new bt.Cylinder(Dr,Rn,Jt),rr=new bt.Sphere(Dr,Jt);Mt.intersectionShape.cylinder.push(or),Mt.intersectionShape.sphere.push(rr)}if(on){var vr=new bt.Cylinder(ar,Rn,Jt),cr=new bt.Sphere(ar,Jt);pr.intersectionShape.cylinder.push(vr),pr.intersectionShape.sphere.push(cr)}}}else if(Cr>1){var gn=0,wn=0;Jt!=Wt&&(gn=2,wn=2);var Xn=ar.clone(),tr=null;Xn.sub(Dr);var Hn,Kn,_n,yr,Or,hn;tr=this.getSideBondV(Mt,pr,ln);var Ar=!1;if(Cr%1!==0&&(Ar=this.chooseDashedPlusV(Mt,pr,Dr,ar,tr)),Cr>1&&Cr<=2){Hn=Jt*Gt,Kn=Hn*(Cr-1),tr.multiplyScalar(Hn*1.5),_n=Dr.clone(),_n.add(tr),yr=Dr.clone(),yr.sub(tr),Or=_n.clone(),Or.add(Xn),hn=yr.clone(),hn.add(Xn);var Qn=Jn||$n,Cn=Jn||xr,Bn=jn||$n,In=jn||xr,hr=Nt.imposter?kt.drawStickImposter:Ct.GLDraw.drawCylinder,An=(wi,vi,qi,ji,Ni,ls,xs)=>{if(ji!=Ni){var $s=new At.Vector3().addVectors(wi,vi).multiplyScalar(.5);hr(Nt,wi,$s,qi,ji,ls,0),hr(Nt,$s,vi,qi,Ni,0,xs)}else hr(Nt,wi,vi,qi,ji,ls,xs)},nr=(wi,vi,qi,ji,Ni,ls,xs)=>{var $s=ji!=Ni?[ji,Ni]:[ji],Is=Wn.calculateDashes(wi,vi,qi,Xt,Kt,$s);Is.forEach(Hs=>{hr(Nt,Hs.from,Hs.to,qi,Hs.color||ji,ls,xs)})};if(Cr==2?(An(_n,Or,Hn,Qn,Cn,gn,wn),An(yr,hn,Hn,Qn,Cn,gn,wn)):Ar?(nr(_n,Or,Kn,Bn,In,gn,wn),An(yr,hn,Hn,Qn,Cn,gn,wn)):(An(_n,Or,Hn,Qn,Cn,gn,wn),nr(yr,hn,Kn,Bn,In,gn,wn)),rn=Mt.clickable||Mt.hoverable,on=pr.clickable||pr.hoverable,rn||on){Rn||(Rn=new At.Vector3().addVectors(_n,Or).multiplyScalar(.5)),Tn||(Tn=new At.Vector3().addVectors(yr,hn).multiplyScalar(.5));var gr=Cr==2?Hn:Ar?Kn:Hn,ii=Cr==2||Ar?Hn:Kn;rn&&(pn=new bt.Cylinder(_n,Rn,gr),mn=new bt.Cylinder(yr,Tn,ii),Mt.intersectionShape.cylinder.push(pn),Mt.intersectionShape.cylinder.push(mn)),on&&(yn=new bt.Cylinder(Or,Rn,gr),xn=new bt.Cylinder(hn,Tn,ii),pr.intersectionShape.cylinder.push(yn),pr.intersectionShape.cylinder.push(xn))}}else if(Cr>2&&Cr<=3){Hn=Jt*qt;var ti=Hn*(Cr-2);tr.cross(Xn),tr.normalize(),tr.multiplyScalar(Hn*3),_n=Dr.clone(),_n.add(tr),yr=Dr.clone(),yr.sub(tr),Or=_n.clone(),Or.add(Xn),hn=yr.clone(),hn.add(Xn);var hr=Nt.imposter?kt.drawStickImposter:Ct.GLDraw.drawCylinder,di=(ci,xi,mi,wi,vi,qi,ji)=>{if(wi!=vi){var Ni=new At.Vector3().addVectors(ci,xi).multiplyScalar(.5);hr(Nt,ci,Ni,mi,wi,qi,0),hr(Nt,Ni,xi,mi,vi,0,ji)}else hr(Nt,ci,xi,mi,wi,qi,ji)},Bi=(ci,xi,mi,wi,vi,qi,ji)=>{var Ni=wi!=vi?[wi,vi]:[wi],ls=Wn.calculateDashes(ci,xi,mi,Xt,Kt,Ni);ls.forEach(xs=>{hr(Nt,xs.from,xs.to,mi,xs.color||wi,qi,ji)})};if(Cr==3?(di(_n,Or,Hn,Qn,Cn,gn,wn),di(Dr,ar,Hn,Qn,Cn,Zt,nn),di(yr,hn,Hn,Qn,Cn,gn,wn)):Ar?(Bi(_n,Or,ti,Bn,In,gn,wn),di(Dr,ar,Hn,Qn,Cn,Zt,nn),di(yr,hn,Hn,Qn,Cn,gn,wn)):(di(_n,Or,Hn,Qn,Cn,gn,wn),di(Dr,ar,Hn,Qn,Cn,Zt,nn),Bi(yr,hn,ti,Bn,In,gn,wn)),rn=Mt.clickable||Mt.hoverable,on=pr.clickable||pr.hoverable,rn||on){Rn||(Rn=new At.Vector3().addVectors(_n,Or).multiplyScalar(.5)),Tn||(Tn=new At.Vector3().addVectors(yr,hn).multiplyScalar(.5)),ir||(ir=new At.Vector3().addVectors(Dr,ar).multiplyScalar(.5));var gr=Cr==3?Hn:Ar?ti:Hn,ii=Cr==3||Ar?Hn:ti;rn&&(pn=new bt.Cylinder(_n.clone(),Rn.clone(),gr),mn=new bt.Cylinder(yr.clone(),Tn.clone(),ii),vn=new bt.Cylinder(Dr.clone(),ir.clone(),Hn),Mt.intersectionShape.cylinder.push(pn),Mt.intersectionShape.cylinder.push(mn),Mt.intersectionShape.cylinder.push(vn)),on&&(yn=new bt.Cylinder(Or.clone(),Rn.clone(),gr),xn=new bt.Cylinder(hn.clone(),Tn.clone(),ii),Mn=new bt.Cylinder(ar.clone(),ir.clone(),Hn),pr.intersectionShape.cylinder.push(yn),pr.intersectionShape.cylinder.push(xn),pr.intersectionShape.cylinder.push(Mn))}}}}}var as=!1,ki=0,Xi=!1;for(ln=0;ln<Mt.bonds.length;ln++)Qt=tn,Mt.bondStyles&&Mt.bondStyles[ln]&&(fn=Mt.bondStyles[ln],fn.singleBond&&(Qt=!0),fn.radius&&fn.radius!=Wt&&(Xi=!0)),(Qt||Mt.bondOrder[ln]==1)&&ki++;Xi?ki>0&&(as=!0):ki==0&&(Mt.bonds.length>0||Ht.showNonBonded)&&(as=!0),as&&(Jt=Wt,Nt.imposter?this.drawSphereImposter(Nt.sphereGeometry,Mt,Jt,$n):Ct.GLDraw.drawSphere(Nt,Mt,Jt,$n))}}}createMolObj(Mt,It){It=It||{};var Nt=new vt.Object3D,Ut=[],jt={},Vt={},zt=this.drawAtomSphere,Ht=null,Wt=null;It.supportsImposters?(zt=this.drawAtomImposter,Ht=new vt.Geometry(!0),Ht.imposter=!0,Wt=new vt.Geometry(!0,!0),Wt.imposter=!0,Wt.sphereGeometry=new vt.Geometry(!0),Wt.sphereGeometry.imposter=!0,Wt.drawnCaps={}):It.supportsAIA?(zt=this.drawAtomInstanced,Ht=new vt.Geometry(!1,!0,!0),Ht.instanced=!0,Wt=new vt.Geometry(!0)):(Ht=new vt.Geometry(!0),Wt=new vt.Geometry(!0));var Gt,qt,Xt,Kt,Jt={},tn=[Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY];for(Gt=0,Xt=Mt.length;Gt<Xt;Gt++){var sn=Mt[Gt];if(sn&&sn.style){(sn.clickable||sn.hoverable)&&sn.intersectionShape===void 0&&(sn.intersectionShape={sphere:[],cylinder:[],line:[],triangle:[]}),Kt={line:void 0,cross:void 0,stick:void 0,sphere:void 0};for(qt in Kt)sn.style[qt]?sn.style[qt].opacity?Kt[qt]=parseFloat(sn.style[qt].opacity):Kt[qt]=1:Kt[qt]=void 0,Jt[qt]?Kt[qt]!=null&&Jt[qt]!=Kt[qt]&&(console.log("Warning: "+qt+" opacity is ambiguous"),Jt[qt]=1):Jt[qt]=Kt[qt];zt.call(this,sn,Ht),this.drawAtomClickSphere(sn),this.drawAtomCross(sn,Vt),this.drawBondLines(sn,Mt,jt),this.drawBondSticks(sn,Mt,Wt),typeof sn.style.cartoon<"u"&&!sn.style.cartoon.hidden&&(sn.style.cartoon.color==="spectrum"&&typeof sn.resi=="number"&&!sn.hetflag&&(sn.resi<tn[0]&&(tn[0]=sn.resi),sn.resi>tn[1]&&(tn[1]=sn.resi)),Ut.push(sn))}}if(Ut.length>0&&(0,wt.drawCartoon)(Nt,Ut,tn,this.defaultCartoonQuality),Ht&&Ht.vertices>0){Ht.initTypedArrays();var Zt=null,nn=null;Ht.imposter?Zt=new vt.SphereImposterMaterial({ambient:0,vertexColors:!0,reflectivity:0}):Ht.instanced?(nn=new vt.Geometry(!0),Ct.GLDraw.drawSphere(nn,{x:0,y:0,z:0},1,new Ft.Color(.5,.5,.5)),nn.initTypedArrays(),Zt=new vt.InstancedMaterial({sphereMaterial:new vt.MeshLambertMaterial({ambient:0,vertexColors:!0,reflectivity:0}),sphere:nn})):Zt=new vt.MeshLambertMaterial({ambient:0,vertexColors:!0,reflectivity:0}),Jt.sphere<1&&Jt.sphere>=0&&(Zt.transparent=!0,Zt.opacity=Jt.sphere),nn=new vt.Mesh(Ht,Zt),Nt.add(nn)}if(Wt.vertices>0){var rn=null,on=null,ln=Wt.sphereGeometry;(!ln||typeof ln.vertices>"u"||ln.vertices==0)&&(ln=null),Wt.initTypedArrays(),ln&&ln.initTypedArrays();var Qt={ambient:0,vertexColors:!0,reflectivity:0};Wt.imposter?(rn=new vt.StickImposterMaterial(Qt),on=new vt.SphereImposterMaterial(Qt)):(rn=new vt.MeshLambertMaterial(Qt),on=new vt.MeshLambertMaterial(Qt),rn.wireframe&&(Wt.setUpWireframe(),ln&&ln.setUpWireframe())),Jt.stick<1&&Jt.stick>=0&&(rn.transparent=!0,rn.opacity=Jt.stick,on.transparent=!0,on.opacity=Jt.stick);var fn=new vt.Mesh(Wt,rn);if(Nt.add(fn),ln){var pn=new vt.Mesh(ln,on);Nt.add(pn)}}var mn;for(Gt in jt)if(jt.hasOwnProperty(Gt)){mn=Gt;var vn=new vt.LineBasicMaterial({linewidth:mn,vertexColors:!0});Jt.line<1&&Jt.line>=0&&(vn.transparent=!0,vn.opacity=Jt.line),jt[Gt].initTypedArrays();var yn=new vt.Line(jt[Gt],vn,vt.LineStyle.LinePieces);Nt.add(yn)}for(Gt in Vt)if(Vt.hasOwnProperty(Gt)){mn=Gt;var xn=new vt.LineBasicMaterial({linewidth:mn,vertexColors:!0});Jt.cross<1&&Jt.cross>=0&&(xn.transparent=!0,xn.opacity=Jt.cross),Vt[Gt].initTypedArrays();var Mn=new vt.Line(Vt[Gt],xn,vt.LineStyle.LinePieces);Nt.add(Mn)}if(this.dontDuplicateAtoms&&this.modelData.symmetries&&this.modelData.symmetries.length>0){var $n=new vt.Object3D,Rn;for(Rn=0;Rn<this.modelData.symmetries.length;Rn++){var Tn=new vt.Object3D;Tn=Nt.clone(),Tn.matrix.copy(this.modelData.symmetries[Rn]),Tn.matrixAutoUpdate=!1,$n.add(Tn)}return $n}return Nt}getViewer(){return this.viewer}getInternalState(){return{atoms:this.atoms,frames:this.frames}}setInternalState(Mt){this.atoms=Mt.atoms,this.frames=Mt.frames,this.molObj=null}getCrystData(){if(this.modelData.cryst){if(!this.modelData.cryst.matrix){const Mt=this.modelData.cryst;this.modelData.cryst.matrix=(0,At.conversionMatrix3)(Mt.a,Mt.b,Mt.c,Mt.alpha,Mt.beta,Mt.gamma)}return this.modelData.cryst}else return null}setCrystData(Mt,It,Nt,Ut,jt,Vt){Mt=Mt||1,It=It||1,Nt=Nt||1,Ut=Ut||90,jt=jt||90,Vt=Vt||90;const zt=(0,At.conversionMatrix3)(Mt,It,Nt,Ut,jt,Vt);this.modelData.cryst={a:Mt,b:It,c:Nt,alpha:Ut,beta:jt,gamma:Vt,matrix:zt}}setCrystMatrix(Mt){Mt=Mt||new At.Matrix3(1,0,0,0,1,0,0,0,1),this.modelData.cryst={matrix:Mt}}getSymmetries(){return typeof this.modelData.symmetries>"u"&&(this.modelData.symmetries=[this.idMatrix]),this.modelData.symmetries}setSymmetries(Mt){typeof Mt>"u"?this.modelData.symmetries=[this.idMatrix]:(this.modelData.symmetries=Mt,this.molObj=null)}getID(){return this.id}getNumFrames(){return this.frames.numFrames!=null?this.frames.numFrames:this.frames.length}adjustCoord(Mt,It,Nt,Ut){var jt=It-Mt;return jt<-Nt?It+Ut:jt>Nt?It-Ut:It}adjustCoordinatesToBox(){if(this.box&&this.atomdfs)for(var Mt=this.box[0],It=this.box[1],Nt=this.box[2],Ut=Mt*.9,jt=It*.9,Vt=Nt*.9,zt=0;zt<this.atomdfs.length;zt++)for(var Ht=this.atomdfs[zt],Wt=1;Wt<Ht.length;Wt++){var Gt=this.atoms[Ht[Wt][0]],qt=this.atoms[Ht[Wt][1]];Gt.x=this.adjustCoord(qt.x,Gt.x,Ut,Mt),Gt.y=this.adjustCoord(qt.y,Gt.y,jt,It),Gt.z=this.adjustCoord(qt.z,Gt.z,Vt,Nt)}}setFrame(Mt){var It=this.getNumFrames();let Nt=this,Ut=this.viewer;return new Promise(function(jt,Vt){if(It==0&&jt(),(Mt<0||Mt>=It)&&(Mt=It-1),Nt.frames.url!=null){var zt=Nt.frames.url;(0,St.getbin)(zt+"/traj/frame/"+Mt+"/"+Nt.frames.path,void 0,"POST",void 0).then(function(Ht){for(var Wt=new Float32Array(Ht,44),Gt=0,qt=0;qt<Nt.atoms.length;qt++)Nt.atoms[qt].x=Wt[Gt++],Nt.atoms[qt].y=Wt[Gt++],Nt.atoms[qt].z=Wt[Gt++];Nt.box&&Nt.atomdfs&&Nt.adjustCoordinatesToBox(),jt()}).catch(Vt)}else Nt.atoms=Nt.frames[Mt],jt();Nt.molObj=null,Nt.modelDatas&&Mt<Nt.modelDatas.length&&(Nt.modelData=Nt.modelDatas[Mt],Nt.unitCellObjects&&Ut&&(Ut.removeUnitCell(Nt),Ut.addUnitCell(Nt)))})}addFrame(Mt){this.frames.push(Mt)}vibrate(Mt=10,It=1,Nt=!1,Ut){var jt=0,Vt=Mt;let zt=this.viewer;Nt&&(jt=-Mt,Vt=Mt),this.frames!==void 0&&this.frames.origIndex!==void 0?this.setFrame(this.frames.origIndex):this.setFrame(0),jt<Vt&&(this.frames=[]),Nt&&(this.frames.origIndex=Mt);for(var Ht=jt;Ht<Vt;Ht++){var Wt=[],Gt=this.frames.length;if(Ht==0&&!Ut){this.frames.push(this.atoms);continue}for(var qt=0;qt<this.atoms.length;qt++){var Xt=(0,St.getAtomProperty)(this.atoms[qt],"dx"),Kt=(0,St.getAtomProperty)(this.atoms[qt],"dy"),Jt=(0,St.getAtomProperty)(this.atoms[qt],"dz"),tn=new At.Vector3(Xt,Kt,Jt),sn=new At.Vector3(this.atoms[qt].x,this.atoms[qt].y,this.atoms[qt].z),Zt=Ht*It/Mt;tn.multiplyScalar(Zt),sn.add(tn);var nn={};for(var rn in this.atoms[qt])nn[rn]=this.atoms[qt][rn];if(nn.x=sn.x,nn.y=sn.y,nn.z=sn.z,Wt.push(nn),zt&&Ut){var on=(0,St.extend)({},Ut),ln=new At.Vector3(Xt,Kt,Jt);if(ln.multiplyScalar(It),ln.add(sn),on.start=sn,on.end=ln,on.frame=Gt,!on.color){var Qt=nn.style.sphere;Qt||(Qt=nn.style.stick),Qt||(Qt=nn.style.line),on.color=(0,St.getColorFromStyle)(nn,Qt)}zt.addArrow(on)}}this.frames.push(Wt)}}setAtomDefaults(Mt){for(let It=0;It<Mt.length;It++){let Nt=Mt[It];Nt&&(Nt.style=Nt.style||(0,St.deepCopy)(kt.defaultAtomStyle),Nt.color=Nt.color||this.ElementColors[Nt.elem]||this.defaultColor,Nt.model=this.id,(Nt.clickable||Nt.hoverable)&&(Nt.intersectionShape={sphere:[],cylinder:[],line:[],triangle:[]}))}}addMolData(Mt,It,Nt={}){var Ut=kt.parseMolData(Mt,It,Nt);this.dontDuplicateAtoms=!Nt.duplicateAssemblyAtoms;var jt=Ut.modelData;if(jt&&(Array.isArray(jt)?(this.modelData=jt[0],Nt.frames&&(this.modelDatas=jt)):this.modelData=jt),Ut.box?this.box=Ut.box:this.box=null,this.frames.length==0){for(let zt=0;zt<Ut.length;zt++)Ut[zt].length!=0&&this.frames.push(Ut[zt]);this.frames[0]&&(this.atoms=this.frames[0])}else if(Nt.frames)for(let zt=0;zt<Ut.length;zt++)this.frames.push(Ut[zt]);else for(var Vt=0;Vt<Ut.length;Vt++)this.addAtoms(Ut[Vt]);for(let zt=0;zt<this.frames.length;zt++)this.setAtomDefaults(this.frames[zt]);Nt.vibrate&&Nt.vibrate.frames&&Nt.vibrate.amplitude&&this.vibrate(Nt.vibrate.frames,Nt.vibrate.amplitude),Nt.style&&this.setStyle({},Nt.style)}setDontDuplicateAtoms(Mt){this.dontDuplicateAtoms=Mt}setModelData(Mt){this.modelData=Mt}propertyMatches(Mt,It){if(Mt==It)return!0;if(typeof It=="string"&&typeof Mt=="number"){var Nt=It.match(/(-?\d+)\s*-\s*(-?\d+)/);if(Nt){var Ut=parseInt(Nt[1]),jt=parseInt(Nt[2]);if(Nt&&Mt>=Ut&&Mt<=jt)return!0}}return!1}static deepCopyAndCache(Mt,It){if(typeof Mt!="object"||Mt==null||Mt instanceof kt||Mt.__cache_created)return Mt;const Nt={};for(const Ut in Mt){const jt=Mt[Ut];if(Array.isArray(jt)){Nt[Ut]=[];for(let Vt=0;Vt<jt.length;Vt++)Nt[Ut].push(kt.deepCopyAndCache(jt[Vt],It))}else typeof jt=="object"&&Ut!="properties"&&Ut!="model"?Nt[Ut]=kt.deepCopyAndCache(jt,It):Nt[Ut]=jt;if(Ut=="and"||Ut=="or"){const Vt=[];for(const zt of Nt[Ut]){const Ht=new Set;for(const Wt of It.selectedAtoms(zt))Ht.add(Wt.index);Vt.push(Ht)}if(Ut=="and"){const zt=function(Wt,Gt){const qt=new Set;for(const Xt of Gt)Wt.has(Xt)&&qt.add(Xt);return qt};let Ht=new Set(Vt[0]);for(const Wt of Vt.splice(1))Ht=zt(Ht,Wt);Nt[Ut].__cached_results=Ht}else if(Ut=="or"){const zt=new Set;for(const Ht of Vt)for(const Wt of Ht)zt.add(Wt);Nt[Ut].__cached_results=zt}}}return Nt.__cache_created=!0,Nt}atomIsSelected(Mt,It){if(typeof It>"u")return!0;var Nt=!!It.invert,Ut=!0;for(var jt in It)if(jt=="and"||jt=="or"||jt=="not"){if(jt=="not"){if(this.atomIsSelected(Mt,It[jt])){Ut=!1;break}}else if(It[jt].__cached_results===void 0&&(It=kt.deepCopyAndCache(It,this)),Ut=It[jt].__cached_results.has(Mt.index),!Ut)break}else if(jt==="predicate"){if(!It.predicate(Mt)){Ut=!1;break}}else if(jt=="properties"&&Mt[jt]){for(var Vt in It.properties)if(!Vt.startsWith("__cache")){if(typeof Mt.properties[Vt]>"u"){Ut=!1;break}if(Mt.properties[Vt]!=It.properties[Vt]){Ut=!1;break}}}else if(jt=="model"){let Gt=It.model;if(typeof Gt=="number"&&Gt<0&&(Gt=this.viewer.getNextModelId()+Gt),Array.isArray(Gt)){let qt=!1;for(let Xt=0;Xt<Gt.length;Xt++)if(Gt[Xt]==this||Gt[Xt]==this.id){qt=!0;break}if(!qt){Ut=!1;break}}else if(Gt!=this&&Gt!=this.id){Ut=!1;break}}else if(It.hasOwnProperty(jt)&&!kt.ignoredKeys.has(jt)&&!jt.startsWith("__cache")){if(typeof Mt[jt]>"u"){Ut=!1;break}let Gt=!1;if(jt==="bonds"){var zt=It[jt];if(zt!=Mt.bonds.length){Ut=!1;break}}else if(Array.isArray(It[jt])){var Ht=It[jt],Wt=Mt[jt];for(let qt=0;qt<Ht.length;qt++)if(this.propertyMatches(Wt,Ht[qt])){Gt=!0;break}if(!Gt){Ut=!1;break}}else{let qt=It[jt];if(!this.propertyMatches(Mt[jt],qt)){Ut=!1;break}}}return Nt?!Ut:Ut}static squaredDistance(Mt,It){var Nt=It.x-Mt.x,Ut=It.y-Mt.y,jt=It.z-Mt.z;return Nt*Nt+Ut*Ut+jt*jt}expandAtomList(Mt,It){if(It<=0)return Mt;for(var Nt=(0,St.getExtent)(Mt,void 0),Ut=[[],[],[]],jt=0;jt<3;jt++)Ut[0][jt]=Nt[0][jt]-It,Ut[1][jt]=Nt[1][jt]+It,Ut[2][jt]=Nt[2][jt];var Vt=[];for(let Gt=0;Gt<this.atoms.length;Gt++){var zt=this.atoms[Gt].x,Ht=this.atoms[Gt].y,Wt=this.atoms[Gt].z;zt>=Ut[0][0]&&zt<=Ut[1][0]&&Ht>=Ut[0][1]&&Ht<=Ut[1][1]&&Wt>=Ut[0][2]&&Wt<=Ut[1][2]&&(zt>=Nt[0][0]&&zt<=Nt[1][0]&&Ht>=Nt[0][1]&&Ht<=Nt[1][1]&&Wt>=Nt[0][2]&&Wt<=Nt[1][2]||Vt.push(this.atoms[Gt]))}return Vt}static getFloat(Mt){return typeof Mt=="number"?Mt:parseFloat(Mt)}selectedAtoms(Mt,It){var Nt=[];Mt=kt.deepCopyAndCache(Mt||{},this),It||(It=this.atoms);for(var Ut=It.length,jt=0;jt<Ut;jt++){var Vt=It[jt];Vt&&this.atomIsSelected(Vt,Mt)&&Nt.push(Vt)}if(Mt.hasOwnProperty("expand")){const nn=kt.getFloat(Mt.expand);let rn=this.expandAtomList(Nt,nn),on=Nt.length;const ln=nn*nn;for(let Qt=0;Qt<rn.length;Qt++)for(let fn=0;fn<on;fn++){var zt=kt.squaredDistance(rn[Qt],Nt[fn]);zt<ln&&zt>0&&Nt.push(rn[Qt])}}if(Mt.hasOwnProperty("within")&&Mt.within.hasOwnProperty("sel")&&Mt.within.hasOwnProperty("distance")){var Ht=this.selectedAtoms(Mt.within.sel,this.atoms),Wt={};const nn=kt.getFloat(Mt.within.distance),rn=nn*nn;for(let on=0;on<Ht.length;on++)for(let ln=0;ln<Nt.length;ln++){let Qt=kt.squaredDistance(Ht[on],Nt[ln]);Qt<rn&&Qt>0&&(Wt[ln]=1)}var Gt=[];if(Mt.within.invert)for(let on=0;on<Nt.length;on++)Wt[on]||Gt.push(Nt[on]);else for(let on in Wt)Gt.push(Nt[on]);Nt=Gt}if(Mt.hasOwnProperty("byres")){var qt={},Xt=[],Kt=[];for(let nn=0;nn<Nt.length;nn++){let rn=Nt[nn];var Jt=rn.chain,tn=rn.resi;if(qt[Jt]===void 0&&(qt[Jt]={}),rn.hasOwnProperty("resi")&&qt[Jt][tn]===void 0){for(qt[Jt][tn]=!0,Kt.push(rn);Kt.length>0;)if(rn=Kt.pop(),Jt=rn.chain,tn=rn.resi,Xt[rn.index]===void 0){Xt[rn.index]=!0;for(var sn=0;sn<rn.bonds.length;sn++){var Zt=this.atoms[rn.bonds[sn]];Xt[Zt.index]===void 0&&Zt.hasOwnProperty("resi")&&Zt.chain==Jt&&Zt.resi==tn&&(Kt.push(Zt),Nt.push(Zt))}}}}}return Nt}addAtoms(Mt){this.molObj=null;var It=this.atoms.length,Nt=[],Ut;for(Ut=0;Ut<Mt.length;Ut++)typeof Mt[Ut].index>"u"&&(Mt[Ut].index=Ut),typeof Mt[Ut].serial>"u"&&(Mt[Ut].serial=Ut),Nt[Mt[Ut].index]=It+Ut;for(Ut=0;Ut<Mt.length;Ut++){var jt=Mt[Ut],Vt=Nt[jt.index],zt=(0,St.extend)({},jt);zt.index=Vt,zt.bonds=[],zt.bondOrder=[],zt.model=this.id,zt.style=zt.style||(0,St.deepCopy)(kt.defaultAtomStyle),typeof zt.color>"u"&&(zt.color=this.ElementColors[zt.elem]||this.defaultColor);for(var Ht=jt.bonds?jt.bonds.length:0,Wt=0;Wt<Ht;Wt++){var Gt=Nt[jt.bonds[Wt]];typeof Gt<"u"&&(zt.bonds.push(Gt),zt.bondOrder.push(jt.bondOrder?jt.bondOrder[Wt]:1))}this.atoms.push(zt)}}assignBonds(){(0,Lt.assignBonds)(this.atoms,{assignBonds:!0})}removeAtoms(Mt){this.molObj=null;var It=[],Nt;for(Nt=0;Nt<Mt.length;Nt++)It[Mt[Nt].index]=!0;var Ut=[];for(Nt=0;Nt<this.atoms.length;Nt++){var jt=this.atoms[Nt];It[jt.index]||Ut.push(jt)}this.atoms=[],this.addAtoms(Ut)}setStyle(Mt,It,Nt){typeof It>"u"&&typeof Nt>"u"&&(It=Mt,Mt={}),Mt=Mt,typeof It=="string"&&(It=(0,St.specStringToObject)(It));var Ut=!1,jt=this,Vt=function(Ht){var Wt=jt.selectedAtoms(Mt,Ht);for(let Gt=0;Gt<Ht.length;Gt++)Ht[Gt]&&(Ht[Gt].capDrawn=!1);for(let Gt=0;Gt<Wt.length;Gt++){Ut=!0,(Wt[Gt].clickable||Wt[Gt].hoverable)&&(Wt[Gt].intersectionShape={sphere:[],cylinder:[],line:[],triangle:[]}),Nt||(Wt[Gt].style={});for(let qt in It)It.hasOwnProperty(qt)&&(Wt[Gt].style[qt]=Wt[Gt].style[qt]||{},Object.assign(Wt[Gt].style[qt],It[qt]))}};if(Mt.frame!==void 0&&Mt.frame<this.frames.length){let Ht=Mt.frame;Ht<0&&(Ht=this.frames.length+Ht),Vt(this.frames[Ht])}else{Vt(this.atoms);for(var zt=0;zt<this.frames.length;zt++)this.frames[zt]!==this.atoms&&Vt(this.frames[zt])}Ut&&(this.molObj=null)}setClickable(Mt,It,Nt){if(It=!!It,Nt=(0,St.makeFunction)(Nt),Nt===null){console.log("Callback is not a function");return}var Ut=this.selectedAtoms(Mt,this.atoms),jt=Ut.length;for(let Vt=0;Vt<jt;Vt++)Ut[Vt].intersectionShape={sphere:[],cylinder:[],line:[],triangle:[]},Ut[Vt].clickable=It,Nt&&(Ut[Vt].callback=Nt);jt>0&&(this.molObj=null)}setHoverable(Mt,It,Nt,Ut){if(It=!!It,Nt=(0,St.makeFunction)(Nt),Ut=(0,St.makeFunction)(Ut),Nt===null){console.log("Hover_callback is not a function");return}if(Ut===null){console.log("Unhover_callback is not a function");return}var jt=this.selectedAtoms(Mt,this.atoms),Vt=jt.length;for(let zt=0;zt<Vt;zt++)jt[zt].intersectionShape={sphere:[],cylinder:[],line:[],triangle:[]},jt[zt].hoverable=It,Nt&&(jt[zt].hover_callback=Nt),Ut&&(jt[zt].unhover_callback=Ut);Vt>0&&(this.molObj=null)}enableContextMenu(Mt,It){It=!!It;var Nt,Ut=this.selectedAtoms(Mt,this.atoms),jt=Ut.length;for(Nt=0;Nt<jt;Nt++)Ut[Nt].intersectionShape={sphere:[],cylinder:[],line:[],triangle:[]},Ut[Nt].contextMenuEnabled=It;jt>0&&(this.molObj=null)}setColorByElement(Mt,It){if(!(this.molObj!==null&&kt.sameObj(It,this.lastColors))){this.lastColors=It;var Nt=this.selectedAtoms(Mt,Nt);Nt.length>0&&(this.molObj=null);for(var Ut=0;Ut<Nt.length;Ut++){var jt=Nt[Ut];typeof It[jt.elem]<"u"&&(jt.color=It[jt.elem])}}}setColorByProperty(Mt,It,Nt,Ut){var jt,Vt,zt=this.selectedAtoms(Mt,zt);for(this.lastColors=null,zt.length>0&&(this.molObj=null),typeof Nt=="string"&&typeof Tt.Gradient.builtinGradients[Nt]<"u"&&(Nt=new Tt.Gradient.builtinGradients[Nt]),Nt=Nt,Ut||(Ut=Nt.range()),Ut||(Ut=(0,St.getPropertyRange)(zt,It)),jt=0;jt<zt.length;jt++){Vt=zt[jt];var Ht=(0,St.getAtomProperty)(Vt,It);Ht!=null&&(Vt.color=Nt.valueToHex(parseFloat(Vt.properties[It]),Ut))}}setColorByFunction(Mt,It){var Nt=this.selectedAtoms(Mt,Nt);if(typeof It=="function"){this.lastColors=null,Nt.length>0&&(this.molObj=null);for(let Ut=0;Ut<Nt.length;Ut++){let jt=Nt[Ut];jt.color=It(jt)}}}toCDObject(Mt=!1){var It={a:[],b:[]};Mt&&(It.s=[]);for(let Ut=0;Ut<this.atoms.length;Ut++){let jt={},Vt=this.atoms[Ut];if(jt.x=Vt.x,jt.y=Vt.y,jt.z=Vt.z,Vt.elem!="C"&&(jt.l=Vt.elem),Mt){for(var Nt=0;Nt<It.s.length&&JSON.stringify(Vt.style)!==JSON.stringify(It.s[Nt]);)Nt++;Nt===It.s.length&&It.s.push(Vt.style),Nt!==0&&(jt.s=Nt)}It.a.push(jt);for(let zt=0;zt<Vt.bonds.length;zt++){let Ht=Ut,Wt=Vt.bonds[zt];if(Ht>=Wt)continue;let Gt={b:Ht,e:Wt},qt=Vt.bondOrder[zt];qt!=1&&(Gt.o=qt),It.b.push(Gt)}}return It}globj(Mt,It){(this.molObj===null||It.regen)&&(this.molObj=this.createMolObj(this.atoms,It),this.renderedMolObj&&(Mt.remove(this.renderedMolObj),this.renderedMolObj=null),this.renderedMolObj=this.molObj.clone(),this.hidden&&(this.renderedMolObj.setVisible(!1),this.molObj.setVisible(!1)),Mt.add(this.renderedMolObj))}exportVRML(){var Mt=this.createMolObj(this.atoms,{supportsImposters:!1,supportsAIA:!1});return Mt.vrml()}removegl(Mt){this.renderedMolObj&&(this.renderedMolObj.geometry!==void 0&&this.renderedMolObj.geometry.dispose(),this.renderedMolObj.material!==void 0&&this.renderedMolObj.material.dispose(),Mt.remove(this.renderedMolObj),this.renderedMolObj=null),this.molObj=null}hide(){this.hidden=!0,this.renderedMolObj&&this.renderedMolObj.setVisible(!1),this.molObj&&this.molObj.setVisible(!1)}show(){this.hidden=!1,this.renderedMolObj&&this.renderedMolObj.setVisible(!0),this.molObj&&this.molObj.setVisible(!0)}addPropertyLabels(Mt,It,Nt){let Ut=this.selectedAtoms(It),jt=this.viewer,Vt=(0,St.deepCopy)(Nt);for(let Ht=0;Ht<Ut.length;Ht++){let Wt=Ut[Ht];var zt=null;typeof Wt[Mt]<"u"?zt=String(Wt[Mt]):typeof Wt.properties[Mt]<"u"&&(zt=String(Wt.properties[Mt])),zt!=null&&(Vt.position=Wt,jt.addLabel(zt,Vt))}}addResLabels(Mt,It,Nt=!1){let Ut=this.viewer;var jt=[],Vt=function(Ht,Wt){for(var Gt=Ht.selectedAtoms(Mt,Gt),qt={},Xt=0;Xt<Gt.length;Xt++){var Kt=Gt[Xt],Jt=Kt.chain,tn=Kt.resn,sn=Kt.resi,Zt=tn+""+sn;qt[Jt]||(qt[Jt]={}),qt[Jt][Zt]||(qt[Jt][Zt]=[]),qt[Jt][Zt].push(Kt)}var nn=(0,St.deepCopy)(It);for(let on in qt)if(qt.hasOwnProperty(on)){var rn=qt[on];for(let ln in rn)if(rn.hasOwnProperty(ln)){let Qt=rn[ln],fn=new At.Vector3(0,0,0);for(let mn=0;mn<Qt.length;mn++){let vn=Qt[mn];fn.x+=vn.x,fn.y+=vn.y,fn.z+=vn.z}fn.divideScalar(Qt.length),nn.position=fn,nn.frame=Wt;let pn=Ut.addLabel(ln,nn,void 0,!0);jt.push(pn)}}};if(Nt){var zt=this.getNumFrames();let Ht=this.atoms;for(let Wt=0;Wt<zt;Wt++)this.frames[Wt]&&(this.atoms=this.frames[Wt],Vt(this,Wt));this.atoms=Ht}else Vt(this);return jt}setupDFS(){this.atomdfs=[];var Mt=this,It=new Int8Array(this.atoms.length);It.fill(0);for(var Nt=function(zt,Ht,Wt){Wt.push([zt,Ht]);var Gt=Mt.atoms[zt];It[zt]=1;for(var qt=0;qt<Gt.bonds.length;qt++){var Xt=Gt.bonds[qt];Mt.atoms[Xt]&&!It[Xt]&&Nt(Xt,zt,Wt)}},Ut=0;Ut<this.atoms.length;Ut++){var jt=this.atoms[Ut];if(jt&&!It[Ut]){var Vt=[];Nt(Ut,-1,Vt),this.atomdfs.push(Vt)}}}setCoordinatesFromURL(Mt,It){this.frames=[];var Nt=this;return this.box&&this.setupDFS(),Mt.startsWith("http")||(Mt="http://"+Mt),(0,St.get)(Mt+"/traj/numframes/"+It,function(Ut){if(!isNaN(parseInt(Ut)))return Nt.frames.push(Nt.atoms),Nt.frames.numFrames=Ut,Nt.frames.url=Mt,Nt.frames.path=It,Nt.setFrame(0)})}setCoordinates(Mt,It){if(It=It||"",!Mt)return[];if(/\.gz$/.test(It)){It=It.replace(/\.gz$/,"");try{Mt=(0,St.inflateString)(Mt)}catch(qt){console.log(qt)}}var Nt={mdcrd:"",inpcrd:"",pdb:"",netcdf:"",array:""};if(Nt.hasOwnProperty(It)){this.frames=[];for(var Ut=this.atoms.length,jt=kt.parseCrd(Mt,It),Vt=0;Vt<jt.length;){for(var zt=[],Ht=0;Ht<Ut;Ht++){var Wt={};for(var Gt in this.atoms[Ht])Wt[Gt]=this.atoms[Ht][Gt];zt[Ht]=Wt,zt[Ht].x=jt[Vt++],zt[Ht].y=jt[Vt++],zt[Ht].z=jt[Vt++]}this.frames.push(zt)}return this.atoms=this.frames[0],this.frames}return[]}addAtomSpecs(Mt){}static parseCrd(Mt,It){var Nt=[],Ut=0;if(It=="pdb")for(var jt=Mt.indexOf(`
2985
2985
  ATOM`);jt!=-1;){for(;Mt.slice(jt,jt+5)==`
2986
2986
  ATOM`||Mt.slice(jt,jt+7)==`
@@ -5519,4 +5519,4 @@ MTkwg9sJOkT8/jQ3KmnzBOLJyS9wLo3ELR3NZZ75gRlhN8fndGHhOc1ZSa3T8F7PabYqsjMvqRWKVy/i
5519
5519
  YEruPHv9jvnYZxalzUMH9iWulTvIaLTXEa5ZX8xVa61fFraX9QCIAKg5bh8rVRiy7m8o4pJl5O0ogZ8d
5520
5520
  vmbCnCfH5TJKTBFva0O4Wl+l/Ix13xO6KCJPD5H51fete+aO/R8EyzZRoN8BAA==`;let dictionary;function getDictionary(){if(!dictionary){dictionary=new Uint8Array(122784);const yt=atob(dictionaryGz64),Et=new Uint8Array(yt.length);for(let xt=0;xt<yt.length;xt++)Et[xt]=yt.charCodeAt(xt);gunzip(Et,dictionary)}return dictionary}const kIdentity=0,kOmitLast1=1,kOmitLast2=2,kOmitLast3=3,kOmitLast4=4,kOmitLast5=5,kOmitLast6=6,kOmitLast7=7,kOmitLast8=8,kOmitLast9=9,kUppercaseFirst=10,kUppercaseAll=11,kOmitFirst1=12,kOmitFirst2=13,kOmitFirst3=14,kOmitFirst4=15,kOmitFirst5=16,kOmitFirst6=17,kOmitFirst7=18,kOmitFirst9=20;function Transform(yt,Et,xt){this.prefix=new Uint8Array(yt.length),this.transform=Et,this.suffix=new Uint8Array(xt.length);for(let vt=0;vt<yt.length;vt++)this.prefix[vt]=yt.charCodeAt(vt);for(let vt=0;vt<xt.length;vt++)this.suffix[vt]=xt.charCodeAt(vt)}const kTransforms=[new Transform("",kIdentity,""),new Transform("",kIdentity," "),new Transform(" ",kIdentity," "),new Transform("",kOmitFirst1,""),new Transform("",kUppercaseFirst," "),new Transform("",kIdentity," the "),new Transform(" ",kIdentity,""),new Transform("s ",kIdentity," "),new Transform("",kIdentity," of "),new Transform("",kUppercaseFirst,""),new Transform("",kIdentity," and "),new Transform("",kOmitFirst2,""),new Transform("",kOmitLast1,""),new Transform(", ",kIdentity," "),new Transform("",kIdentity,", "),new Transform(" ",kUppercaseFirst," "),new Transform("",kIdentity," in "),new Transform("",kIdentity," to "),new Transform("e ",kIdentity," "),new Transform("",kIdentity,'"'),new Transform("",kIdentity,"."),new Transform("",kIdentity,'">'),new Transform("",kIdentity,`
5521
5521
  `),new Transform("",kOmitLast3,""),new Transform("",kIdentity,"]"),new Transform("",kIdentity," for "),new Transform("",kOmitFirst3,""),new Transform("",kOmitLast2,""),new Transform("",kIdentity," a "),new Transform("",kIdentity," that "),new Transform(" ",kUppercaseFirst,""),new Transform("",kIdentity,". "),new Transform(".",kIdentity,""),new Transform(" ",kIdentity,", "),new Transform("",kOmitFirst4,""),new Transform("",kIdentity," with "),new Transform("",kIdentity,"'"),new Transform("",kIdentity," from "),new Transform("",kIdentity," by "),new Transform("",kOmitFirst5,""),new Transform("",kOmitFirst6,""),new Transform(" the ",kIdentity,""),new Transform("",kOmitLast4,""),new Transform("",kIdentity,". The "),new Transform("",kUppercaseAll,""),new Transform("",kIdentity," on "),new Transform("",kIdentity," as "),new Transform("",kIdentity," is "),new Transform("",kOmitLast7,""),new Transform("",kOmitLast1,"ing "),new Transform("",kIdentity,`
5522
- `),new Transform("",kIdentity,":"),new Transform(" ",kIdentity,". "),new Transform("",kIdentity,"ed "),new Transform("",kOmitFirst9,""),new Transform("",kOmitFirst7,""),new Transform("",kOmitLast6,""),new Transform("",kIdentity,"("),new Transform("",kUppercaseFirst,", "),new Transform("",kOmitLast8,""),new Transform("",kIdentity," at "),new Transform("",kIdentity,"ly "),new Transform(" the ",kIdentity," of "),new Transform("",kOmitLast5,""),new Transform("",kOmitLast9,""),new Transform(" ",kUppercaseFirst,", "),new Transform("",kUppercaseFirst,'"'),new Transform(".",kIdentity,"("),new Transform("",kUppercaseAll," "),new Transform("",kUppercaseFirst,'">'),new Transform("",kIdentity,'="'),new Transform(" ",kIdentity,"."),new Transform(".com/",kIdentity,""),new Transform(" the ",kIdentity," of the "),new Transform("",kUppercaseFirst,"'"),new Transform("",kIdentity,". This "),new Transform("",kIdentity,","),new Transform(".",kIdentity," "),new Transform("",kUppercaseFirst,"("),new Transform("",kUppercaseFirst,"."),new Transform("",kIdentity," not "),new Transform(" ",kIdentity,'="'),new Transform("",kIdentity,"er "),new Transform(" ",kUppercaseAll," "),new Transform("",kIdentity,"al "),new Transform(" ",kUppercaseAll,""),new Transform("",kIdentity,"='"),new Transform("",kUppercaseAll,'"'),new Transform("",kUppercaseFirst,". "),new Transform(" ",kIdentity,"("),new Transform("",kIdentity,"ful "),new Transform(" ",kUppercaseFirst,". "),new Transform("",kIdentity,"ive "),new Transform("",kIdentity,"less "),new Transform("",kUppercaseAll,"'"),new Transform("",kIdentity,"est "),new Transform(" ",kUppercaseFirst,"."),new Transform("",kUppercaseAll,'">'),new Transform(" ",kIdentity,"='"),new Transform("",kUppercaseFirst,","),new Transform("",kIdentity,"ize "),new Transform("",kUppercaseAll,"."),new Transform(" ",kIdentity,""),new Transform(" ",kIdentity,","),new Transform("",kUppercaseFirst,'="'),new Transform("",kUppercaseAll,'="'),new Transform("",kIdentity,"ous "),new Transform("",kUppercaseAll,", "),new Transform("",kUppercaseFirst,"='"),new Transform(" ",kUppercaseFirst,","),new Transform(" ",kUppercaseAll,'="'),new Transform(" ",kUppercaseAll,", "),new Transform("",kUppercaseAll,","),new Transform("",kUppercaseAll,"("),new Transform("",kUppercaseAll,". "),new Transform(" ",kUppercaseAll,"."),new Transform("",kUppercaseAll,"='"),new Transform(" ",kUppercaseAll,". "),new Transform(" ",kUppercaseFirst,'="'),new Transform(" ",kUppercaseAll,"='"),new Transform(" ",kUppercaseFirst,"='")],kNumTransforms=kTransforms.length;function ToUpperCase(yt,Et){return yt[Et]<192?(yt[Et]>=97&&yt[Et]<=122&&(yt[Et]^=32),1):yt[Et]<224?(yt[Et+1]^=32,2):(yt[Et+2]^=5,3)}function transformDictionaryWord(yt,Et,xt,vt,bt){const At=getDictionary(),{prefix:Ft}=kTransforms[bt],{suffix:Ct}=kTransforms[bt],wt=kTransforms[bt].transform;let St=wt<kOmitFirst1?0:wt-(kOmitFirst1-1);const Tt=Et;St>vt&&(St=vt);let Rt=0;for(;Rt<Ft.length;)yt[Et++]=Ft[Rt++];xt+=St,vt-=St,wt<=kOmitLast9&&(vt-=wt);for(let kt=0;kt<vt;kt++)yt[Et++]=At[xt+kt];let Pt=Et-vt;if(wt===kUppercaseFirst)ToUpperCase(yt,Pt);else if(wt===kUppercaseAll)for(;vt>0;){const kt=ToUpperCase(yt,Pt);Pt+=kt,vt-=kt}let Lt=0;for(;Lt<Ct.length;)yt[Et++]=Ct[Lt++];return Et-Tt}const kNumLiteralCodes=256,kNumInsertAndCopyCodes=704,kNumBlockLengthCodes=26,kLiteralContextBits=6,kDistanceContextBits=2,NUM_DISTANCE_SHORT_CODES=16,kDistanceShortCodeIndexOffset=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),kDistanceShortCodeValueOffset=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),offsetsByLength=new Uint32Array([0,0,0,0,0,4096,9216,21504,35840,44032,53248,63488,74752,87040,93696,100864,104704,106752,108928,113536,115968,118528,119872,121280,122016]),sizeBitsByLength=new Uint8Array([0,0,0,0,10,10,11,11,10,10,10,10,10,9,9,8,7,7,8,7,7,6,6,5,5]),minDictionaryWordLength=4,maxDictionaryWordLength=24;function decompressBrotli(yt,Et){const xt=new Uint8Array(Et),vt=new BrotliInput(yt),bt=new BrotliOutput(xt);return brotli(vt,bt),xt}function brotli(yt,Et){let xt=0,vt=0,bt=0,At=0;const Ft=[16,15,11,4];let Ct=0,wt=0,St=0;const Tt=[new HuffmanTreeGroup(0,0),new HuffmanTreeGroup(0,0),new HuffmanTreeGroup(0,0)],Rt=128+BrotliBitReader.READ_SIZE,Pt=new BrotliBitReader(yt);bt=decodeWindowBits(Pt);const Lt=(1<<bt)-16,kt=1<<bt,Ot=kt-1,Mt=new Uint8Array(kt+Rt+maxDictionaryWordLength),It=kt,Nt=[],Ut=[];for(let jt=0;jt<3*HUFFMAN_MAX_TABLE_SIZE;jt++)Nt[jt]=new HuffmanCode(0,0),Ut[jt]=new HuffmanCode(0,0);for(;!vt;){let jt=0;const Vt=[1<<28,1<<28,1<<28],zt=[0],Ht=[1,1,1],Wt=[0,1,0,1,0,1],Gt=[0];let qt=0;for(let xn=0;xn<3;xn++)Tt[xn].codes=[],Tt[xn].htrees=new Uint32Array;Pt.readMoreInput();const Xt=decodeMetaBlockLength(Pt);if(jt=Xt.meta_block_length,xt+jt>Et.buffer.length){const xn=new Uint8Array(xt+jt);xn.set(Et.buffer),Et.buffer=xn}if(vt=Xt.input_end,Xt.is_metadata){for(jumpToByteBoundary(Pt);jt>0;--jt)Pt.readMoreInput(),Pt.readBits(8);continue}if(jt===0)continue;if(Xt.is_uncompressed){Pt.bit_pos_=Pt.bit_pos_+7&-8,copyUncompressedBlockToOutput(Et,jt,xt,Mt,Ot,Pt),xt+=jt;continue}for(let xn=0;xn<3;xn++)Ht[xn]=decodeVarLenUint8(Pt)+1,Ht[xn]>=2&&(readHuffmanCode(Ht[xn]+2,Nt,xn*HUFFMAN_MAX_TABLE_SIZE,Pt),readHuffmanCode(kNumBlockLengthCodes,Ut,xn*HUFFMAN_MAX_TABLE_SIZE,Pt),Vt[xn]=readBlockLength(Ut,xn*HUFFMAN_MAX_TABLE_SIZE,Pt),Gt[xn]=1);Pt.readMoreInput();const Kt=Pt.readBits(2),Jt=NUM_DISTANCE_SHORT_CODES+(Pt.readBits(4)<<Kt),tn=(1<<Kt)-1,sn=Jt+(48<<Kt),Zt=new Uint8Array(Ht[0]);for(let xn=0;xn<Ht[0];xn++)Pt.readMoreInput(),Zt[xn]=Pt.readBits(2)<<1;const[nn,rn]=decodeContextMap(Ht[0]<<kLiteralContextBits,Pt),[on,ln]=decodeContextMap(Ht[2]<<kDistanceContextBits,Pt);Tt[0]=new HuffmanTreeGroup(kNumLiteralCodes,nn),Tt[1]=new HuffmanTreeGroup(kNumInsertAndCopyCodes,Ht[1]),Tt[2]=new HuffmanTreeGroup(sn,on);for(let xn=0;xn<3;++xn)Tt[xn].decode(Pt);let Qt=0,fn=0,pn=Zt[zt[0]],mn=lookupOffsets[pn],vn=lookupOffsets[pn+1],yn=Tt[1].htrees[0];for(;jt>0;){let xn;Pt.readMoreInput(),Vt[1]===0&&(decodeBlockType(Ht[1],Nt,1,zt,Wt,Gt,Pt),Vt[1]=readBlockLength(Ut,HUFFMAN_MAX_TABLE_SIZE,Pt),yn=Tt[1].htrees[zt[1]]),Vt[1]--;const Mn=readSymbol(Tt[1].codes,yn,Pt);let $n=Mn>>6;$n>=2?($n-=2,xn=-1):xn=0;const Rn=kInsertRangeLut[$n]+(Mn>>3&7),Tn=kInsertLengthPrefixCode[Rn],ir=Tn.offset+Pt.readBits(Tn.nbits),Jn=kCopyRangeLut[$n]+(Mn&7),jn=kCopyLengthPrefixCode[Jn],Wn=jn.offset+Pt.readBits(jn.nbits);wt=Mt[xt-1&Ot],St=Mt[xt-2&Ot];for(let Cr=0;Cr<ir;Cr++){Pt.readMoreInput(),Vt[0]===0&&(decodeBlockType(Ht[0],Nt,0,zt,Wt,Gt,Pt),Vt[0]=readBlockLength(Ut,0,Pt),qt=zt[0]<<kLiteralContextBits,Qt=qt,pn=Zt[zt[0]],mn=lookupOffsets[pn],vn=lookupOffsets[pn+1]);const dr=lookup[mn+wt]|lookup[vn+St],_r=rn[Qt+dr];Vt[0]--,St=wt,wt=readSymbol(Tt[0].codes,Tt[0].htrees[_r],Pt),Mt[xt&Ot]=wt,(xt&Ot)===Ot&&Et.write(Mt,kt),xt++}if(jt-=ir,jt<=0)break;if(xn<0){Pt.readMoreInput(),Vt[2]===0&&(decodeBlockType(Ht[2],Nt,2,zt,Wt,Gt,Pt),Vt[2]=readBlockLength(Ut,2*HUFFMAN_MAX_TABLE_SIZE,Pt),fn=zt[2]<<kDistanceContextBits),Vt[2]--;const Cr=(Wn>4?3:Wn-2)&255,dr=ln[fn+Cr];if(xn=readSymbol(Tt[2].codes,Tt[2].htrees[dr],Pt),xn>=Jt){xn-=Jt;const _r=xn&tn;xn>>=Kt;const pr=(xn>>1)+1,wr=(2+(xn&1)<<pr)-4;xn=Jt+(wr+Pt.readBits(pr)<<Kt)+_r}}const br=translateShortCodes(xn,Ft,Ct);if(br<0)throw new Error("[BrotliDecompress] invalid distance");xt<Lt&&At!==Lt?At=xt:At=Lt;let Fr=xt&Ot;if(br>At)if(Wn>=minDictionaryWordLength&&Wn<=maxDictionaryWordLength){let Cr=offsetsByLength[Wn];const dr=br-At-1,_r=sizeBitsByLength[Wn],pr=(1<<_r)-1,wr=dr&pr,xr=dr>>_r;if(Cr+=wr*Wn,xr<kNumTransforms){const Dr=transformDictionaryWord(Mt,Fr,Cr,Wn,xr);if(Fr+=Dr,xt+=Dr,jt-=Dr,Fr>=It){Et.write(Mt,kt);for(let ar=0;ar<Fr-It;ar++)Mt[ar]=Mt[It+ar]}}else throw new Error("Invalid backward reference")}else throw new Error("Invalid backward reference");else{if(xn>0&&(Ft[Ct&3]=br,Ct++),Wn>jt)throw new Error("Invalid backward reference");for(let Cr=0;Cr<Wn;Cr++)Mt[xt&Ot]=Mt[xt-br&Ot],(xt&Ot)===Ot&&Et.write(Mt,kt),xt++,jt--}wt=Mt[xt-1&Ot],St=Mt[xt-2&Ot]}xt&=1073741823}Et.write(Mt,xt&Ot)}function translateShortCodes(yt,Et,xt){return yt<NUM_DISTANCE_SHORT_CODES?(xt+=kDistanceShortCodeIndexOffset[yt],xt&=3,Et[xt]+kDistanceShortCodeValueOffset[yt]):yt-NUM_DISTANCE_SHORT_CODES+1}function decompressLz4(yt,Et){const xt=new Uint8Array(Et);try{let vt=0,bt=0;for(;vt<yt.length-8;){const At=yt[vt++]<<24|yt[vt++]<<16|yt[vt++]<<8|yt[vt++],Ft=yt[vt++]<<24|yt[vt++]<<16|yt[vt++]<<8|yt[vt++];if(yt.length-vt<Ft)throw new Error("lz4 not hadoop");if(xt.length<At)throw new Error("lz4 not hadoop");if(lz4basic(yt.subarray(vt,vt+Ft),xt,bt)!==At)throw new Error("lz4 not hadoop");if(vt+=Ft,bt+=At,vt===yt.length)return xt}if(vt<yt.length)throw new Error("lz4 not hadoop")}catch(vt){if(vt instanceof Error&&vt.message!=="lz4 not hadoop")throw vt;lz4basic(yt,xt,0)}return xt}function decompressLz4Raw(yt,Et){const xt=new Uint8Array(Et);return lz4basic(yt,xt,0),xt}function lz4basic(yt,Et,xt){let vt=xt;for(let bt=0;bt<yt.length;){const At=yt[bt++];let Ft=At>>4;if(Ft){let Pt=Ft+240;for(;Pt===255;)Ft+=Pt=yt[bt++];if(Et.set(yt.subarray(bt,bt+Ft),vt),vt+=Ft,bt+=Ft,bt>=yt.length)return vt-xt}const Ct=yt[bt++]|yt[bt++]<<8;if(!Ct||Ct>vt)throw new Error(`lz4 offset out of range ${Ct}`);let wt=(At&15)+4,St=wt+240;for(;St===255;)wt+=St=yt[bt++];let Tt=vt-Ct;const Rt=vt+wt;for(;vt<Rt;)Et[vt++]=Et[Tt++]}return vt-xt}const compressors={SNAPPY:snappyUncompressor(),GZIP:(yt,Et)=>gunzip(yt,new Uint8Array(Et)),BROTLI:decompressBrotli,ZSTD:yt=>decompress(yt),LZ4:decompressLz4,LZ4_RAW:decompressLz4Raw};function decompressGzip(yt,Et){return gunzip(yt,new Uint8Array(Et))}const index=Object.freeze(Object.defineProperty({__proto__:null,compressors,decompressBrotli,decompressGzip,decompressLz4,decompressLz4Raw,decompressSnappy:snappyUncompress,decompressZstd:decompress,gunzip},Symbol.toStringTag,{value:"Module"}));const Z_FIXED$1=4,Z_BINARY=0,Z_TEXT=1,Z_UNKNOWN$1=2;function zero$1(yt){let Et=yt.length;for(;--Et>=0;)yt[Et]=0}const STORED_BLOCK=0,STATIC_TREES=1,DYN_TREES=2,MIN_MATCH$1=3,MAX_MATCH$1=258,LENGTH_CODES$1=29,LITERALS$1=256,L_CODES$1=LITERALS$1+1+LENGTH_CODES$1,D_CODES$1=30,BL_CODES$1=19,HEAP_SIZE$1=2*L_CODES$1+1,MAX_BITS$1=15,Buf_size=16,MAX_BL_BITS=7,END_BLOCK=256,REP_3_6=16,REPZ_3_10=17,REPZ_11_138=18,extra_lbits=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),extra_dbits=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),extra_blbits=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),bl_order=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),DIST_CODE_LEN=512,static_ltree=new Array((L_CODES$1+2)*2);zero$1(static_ltree);const static_dtree=new Array(D_CODES$1*2);zero$1(static_dtree);const _dist_code=new Array(DIST_CODE_LEN);zero$1(_dist_code);const _length_code=new Array(MAX_MATCH$1-MIN_MATCH$1+1);zero$1(_length_code);const base_length=new Array(LENGTH_CODES$1);zero$1(base_length);const base_dist=new Array(D_CODES$1);zero$1(base_dist);function StaticTreeDesc(yt,Et,xt,vt,bt){this.static_tree=yt,this.extra_bits=Et,this.extra_base=xt,this.elems=vt,this.max_length=bt,this.has_stree=yt&&yt.length}let static_l_desc,static_d_desc,static_bl_desc;function TreeDesc(yt,Et){this.dyn_tree=yt,this.max_code=0,this.stat_desc=Et}const d_code=yt=>yt<256?_dist_code[yt]:_dist_code[256+(yt>>>7)],put_short=(yt,Et)=>{yt.pending_buf[yt.pending++]=Et&255,yt.pending_buf[yt.pending++]=Et>>>8&255},send_bits=(yt,Et,xt)=>{yt.bi_valid>Buf_size-xt?(yt.bi_buf|=Et<<yt.bi_valid&65535,put_short(yt,yt.bi_buf),yt.bi_buf=Et>>Buf_size-yt.bi_valid,yt.bi_valid+=xt-Buf_size):(yt.bi_buf|=Et<<yt.bi_valid&65535,yt.bi_valid+=xt)},send_code=(yt,Et,xt)=>{send_bits(yt,xt[Et*2],xt[Et*2+1])},bi_reverse=(yt,Et)=>{let xt=0;do xt|=yt&1,yt>>>=1,xt<<=1;while(--Et>0);return xt>>>1},bi_flush=yt=>{yt.bi_valid===16?(put_short(yt,yt.bi_buf),yt.bi_buf=0,yt.bi_valid=0):yt.bi_valid>=8&&(yt.pending_buf[yt.pending++]=yt.bi_buf&255,yt.bi_buf>>=8,yt.bi_valid-=8)},gen_bitlen=(yt,Et)=>{const xt=Et.dyn_tree,vt=Et.max_code,bt=Et.stat_desc.static_tree,At=Et.stat_desc.has_stree,Ft=Et.stat_desc.extra_bits,Ct=Et.stat_desc.extra_base,wt=Et.stat_desc.max_length;let St,Tt,Rt,Pt,Lt,kt,Ot=0;for(Pt=0;Pt<=MAX_BITS$1;Pt++)yt.bl_count[Pt]=0;for(xt[yt.heap[yt.heap_max]*2+1]=0,St=yt.heap_max+1;St<HEAP_SIZE$1;St++)Tt=yt.heap[St],Pt=xt[xt[Tt*2+1]*2+1]+1,Pt>wt&&(Pt=wt,Ot++),xt[Tt*2+1]=Pt,!(Tt>vt)&&(yt.bl_count[Pt]++,Lt=0,Tt>=Ct&&(Lt=Ft[Tt-Ct]),kt=xt[Tt*2],yt.opt_len+=kt*(Pt+Lt),At&&(yt.static_len+=kt*(bt[Tt*2+1]+Lt)));if(Ot!==0){do{for(Pt=wt-1;yt.bl_count[Pt]===0;)Pt--;yt.bl_count[Pt]--,yt.bl_count[Pt+1]+=2,yt.bl_count[wt]--,Ot-=2}while(Ot>0);for(Pt=wt;Pt!==0;Pt--)for(Tt=yt.bl_count[Pt];Tt!==0;)Rt=yt.heap[--St],!(Rt>vt)&&(xt[Rt*2+1]!==Pt&&(yt.opt_len+=(Pt-xt[Rt*2+1])*xt[Rt*2],xt[Rt*2+1]=Pt),Tt--)}},gen_codes=(yt,Et,xt)=>{const vt=new Array(MAX_BITS$1+1);let bt=0,At,Ft;for(At=1;At<=MAX_BITS$1;At++)bt=bt+xt[At-1]<<1,vt[At]=bt;for(Ft=0;Ft<=Et;Ft++){let Ct=yt[Ft*2+1];Ct!==0&&(yt[Ft*2]=bi_reverse(vt[Ct]++,Ct))}},tr_static_init=()=>{let yt,Et,xt,vt,bt;const At=new Array(MAX_BITS$1+1);for(xt=0,vt=0;vt<LENGTH_CODES$1-1;vt++)for(base_length[vt]=xt,yt=0;yt<1<<extra_lbits[vt];yt++)_length_code[xt++]=vt;for(_length_code[xt-1]=vt,bt=0,vt=0;vt<16;vt++)for(base_dist[vt]=bt,yt=0;yt<1<<extra_dbits[vt];yt++)_dist_code[bt++]=vt;for(bt>>=7;vt<D_CODES$1;vt++)for(base_dist[vt]=bt<<7,yt=0;yt<1<<extra_dbits[vt]-7;yt++)_dist_code[256+bt++]=vt;for(Et=0;Et<=MAX_BITS$1;Et++)At[Et]=0;for(yt=0;yt<=143;)static_ltree[yt*2+1]=8,yt++,At[8]++;for(;yt<=255;)static_ltree[yt*2+1]=9,yt++,At[9]++;for(;yt<=279;)static_ltree[yt*2+1]=7,yt++,At[7]++;for(;yt<=287;)static_ltree[yt*2+1]=8,yt++,At[8]++;for(gen_codes(static_ltree,L_CODES$1+1,At),yt=0;yt<D_CODES$1;yt++)static_dtree[yt*2+1]=5,static_dtree[yt*2]=bi_reverse(yt,5);static_l_desc=new StaticTreeDesc(static_ltree,extra_lbits,LITERALS$1+1,L_CODES$1,MAX_BITS$1),static_d_desc=new StaticTreeDesc(static_dtree,extra_dbits,0,D_CODES$1,MAX_BITS$1),static_bl_desc=new StaticTreeDesc(new Array(0),extra_blbits,0,BL_CODES$1,MAX_BL_BITS)},init_block=yt=>{let Et;for(Et=0;Et<L_CODES$1;Et++)yt.dyn_ltree[Et*2]=0;for(Et=0;Et<D_CODES$1;Et++)yt.dyn_dtree[Et*2]=0;for(Et=0;Et<BL_CODES$1;Et++)yt.bl_tree[Et*2]=0;yt.dyn_ltree[END_BLOCK*2]=1,yt.opt_len=yt.static_len=0,yt.sym_next=yt.matches=0},bi_windup=yt=>{yt.bi_valid>8?put_short(yt,yt.bi_buf):yt.bi_valid>0&&(yt.pending_buf[yt.pending++]=yt.bi_buf),yt.bi_buf=0,yt.bi_valid=0},smaller=(yt,Et,xt,vt)=>{const bt=Et*2,At=xt*2;return yt[bt]<yt[At]||yt[bt]===yt[At]&&vt[Et]<=vt[xt]},pqdownheap=(yt,Et,xt)=>{const vt=yt.heap[xt];let bt=xt<<1;for(;bt<=yt.heap_len&&(bt<yt.heap_len&&smaller(Et,yt.heap[bt+1],yt.heap[bt],yt.depth)&&bt++,!smaller(Et,vt,yt.heap[bt],yt.depth));)yt.heap[xt]=yt.heap[bt],xt=bt,bt<<=1;yt.heap[xt]=vt},compress_block=(yt,Et,xt)=>{let vt,bt,At=0,Ft,Ct;if(yt.sym_next!==0)do vt=yt.pending_buf[yt.sym_buf+At++]&255,vt+=(yt.pending_buf[yt.sym_buf+At++]&255)<<8,bt=yt.pending_buf[yt.sym_buf+At++],vt===0?send_code(yt,bt,Et):(Ft=_length_code[bt],send_code(yt,Ft+LITERALS$1+1,Et),Ct=extra_lbits[Ft],Ct!==0&&(bt-=base_length[Ft],send_bits(yt,bt,Ct)),vt--,Ft=d_code(vt),send_code(yt,Ft,xt),Ct=extra_dbits[Ft],Ct!==0&&(vt-=base_dist[Ft],send_bits(yt,vt,Ct)));while(At<yt.sym_next);send_code(yt,END_BLOCK,Et)},build_tree=(yt,Et)=>{const xt=Et.dyn_tree,vt=Et.stat_desc.static_tree,bt=Et.stat_desc.has_stree,At=Et.stat_desc.elems;let Ft,Ct,wt=-1,St;for(yt.heap_len=0,yt.heap_max=HEAP_SIZE$1,Ft=0;Ft<At;Ft++)xt[Ft*2]!==0?(yt.heap[++yt.heap_len]=wt=Ft,yt.depth[Ft]=0):xt[Ft*2+1]=0;for(;yt.heap_len<2;)St=yt.heap[++yt.heap_len]=wt<2?++wt:0,xt[St*2]=1,yt.depth[St]=0,yt.opt_len--,bt&&(yt.static_len-=vt[St*2+1]);for(Et.max_code=wt,Ft=yt.heap_len>>1;Ft>=1;Ft--)pqdownheap(yt,xt,Ft);St=At;do Ft=yt.heap[1],yt.heap[1]=yt.heap[yt.heap_len--],pqdownheap(yt,xt,1),Ct=yt.heap[1],yt.heap[--yt.heap_max]=Ft,yt.heap[--yt.heap_max]=Ct,xt[St*2]=xt[Ft*2]+xt[Ct*2],yt.depth[St]=(yt.depth[Ft]>=yt.depth[Ct]?yt.depth[Ft]:yt.depth[Ct])+1,xt[Ft*2+1]=xt[Ct*2+1]=St,yt.heap[1]=St++,pqdownheap(yt,xt,1);while(yt.heap_len>=2);yt.heap[--yt.heap_max]=yt.heap[1],gen_bitlen(yt,Et),gen_codes(xt,wt,yt.bl_count)},scan_tree=(yt,Et,xt)=>{let vt,bt=-1,At,Ft=Et[1],Ct=0,wt=7,St=4;for(Ft===0&&(wt=138,St=3),Et[(xt+1)*2+1]=65535,vt=0;vt<=xt;vt++)At=Ft,Ft=Et[(vt+1)*2+1],!(++Ct<wt&&At===Ft)&&(Ct<St?yt.bl_tree[At*2]+=Ct:At!==0?(At!==bt&&yt.bl_tree[At*2]++,yt.bl_tree[REP_3_6*2]++):Ct<=10?yt.bl_tree[REPZ_3_10*2]++:yt.bl_tree[REPZ_11_138*2]++,Ct=0,bt=At,Ft===0?(wt=138,St=3):At===Ft?(wt=6,St=3):(wt=7,St=4))},send_tree=(yt,Et,xt)=>{let vt,bt=-1,At,Ft=Et[1],Ct=0,wt=7,St=4;for(Ft===0&&(wt=138,St=3),vt=0;vt<=xt;vt++)if(At=Ft,Ft=Et[(vt+1)*2+1],!(++Ct<wt&&At===Ft)){if(Ct<St)do send_code(yt,At,yt.bl_tree);while(--Ct!==0);else At!==0?(At!==bt&&(send_code(yt,At,yt.bl_tree),Ct--),send_code(yt,REP_3_6,yt.bl_tree),send_bits(yt,Ct-3,2)):Ct<=10?(send_code(yt,REPZ_3_10,yt.bl_tree),send_bits(yt,Ct-3,3)):(send_code(yt,REPZ_11_138,yt.bl_tree),send_bits(yt,Ct-11,7));Ct=0,bt=At,Ft===0?(wt=138,St=3):At===Ft?(wt=6,St=3):(wt=7,St=4)}},build_bl_tree=yt=>{let Et;for(scan_tree(yt,yt.dyn_ltree,yt.l_desc.max_code),scan_tree(yt,yt.dyn_dtree,yt.d_desc.max_code),build_tree(yt,yt.bl_desc),Et=BL_CODES$1-1;Et>=3&&yt.bl_tree[bl_order[Et]*2+1]===0;Et--);return yt.opt_len+=3*(Et+1)+5+5+4,Et},send_all_trees=(yt,Et,xt,vt)=>{let bt;for(send_bits(yt,Et-257,5),send_bits(yt,xt-1,5),send_bits(yt,vt-4,4),bt=0;bt<vt;bt++)send_bits(yt,yt.bl_tree[bl_order[bt]*2+1],3);send_tree(yt,yt.dyn_ltree,Et-1),send_tree(yt,yt.dyn_dtree,xt-1)},detect_data_type=yt=>{let Et=4093624447,xt;for(xt=0;xt<=31;xt++,Et>>>=1)if(Et&1&&yt.dyn_ltree[xt*2]!==0)return Z_BINARY;if(yt.dyn_ltree[18]!==0||yt.dyn_ltree[20]!==0||yt.dyn_ltree[26]!==0)return Z_TEXT;for(xt=32;xt<LITERALS$1;xt++)if(yt.dyn_ltree[xt*2]!==0)return Z_TEXT;return Z_BINARY};let static_init_done=!1;const _tr_init$1=yt=>{static_init_done||(tr_static_init(),static_init_done=!0),yt.l_desc=new TreeDesc(yt.dyn_ltree,static_l_desc),yt.d_desc=new TreeDesc(yt.dyn_dtree,static_d_desc),yt.bl_desc=new TreeDesc(yt.bl_tree,static_bl_desc),yt.bi_buf=0,yt.bi_valid=0,init_block(yt)},_tr_stored_block$1=(yt,Et,xt,vt)=>{send_bits(yt,(STORED_BLOCK<<1)+(vt?1:0),3),bi_windup(yt),put_short(yt,xt),put_short(yt,~xt),xt&&yt.pending_buf.set(yt.window.subarray(Et,Et+xt),yt.pending),yt.pending+=xt},_tr_align$1=yt=>{send_bits(yt,STATIC_TREES<<1,3),send_code(yt,END_BLOCK,static_ltree),bi_flush(yt)},_tr_flush_block$1=(yt,Et,xt,vt)=>{let bt,At,Ft=0;yt.level>0?(yt.strm.data_type===Z_UNKNOWN$1&&(yt.strm.data_type=detect_data_type(yt)),build_tree(yt,yt.l_desc),build_tree(yt,yt.d_desc),Ft=build_bl_tree(yt),bt=yt.opt_len+3+7>>>3,At=yt.static_len+3+7>>>3,At<=bt&&(bt=At)):bt=At=xt+5,xt+4<=bt&&Et!==-1?_tr_stored_block$1(yt,Et,xt,vt):yt.strategy===Z_FIXED$1||At===bt?(send_bits(yt,(STATIC_TREES<<1)+(vt?1:0),3),compress_block(yt,static_ltree,static_dtree)):(send_bits(yt,(DYN_TREES<<1)+(vt?1:0),3),send_all_trees(yt,yt.l_desc.max_code+1,yt.d_desc.max_code+1,Ft+1),compress_block(yt,yt.dyn_ltree,yt.dyn_dtree)),init_block(yt),vt&&bi_windup(yt)},_tr_tally$1=(yt,Et,xt)=>(yt.pending_buf[yt.sym_buf+yt.sym_next++]=Et,yt.pending_buf[yt.sym_buf+yt.sym_next++]=Et>>8,yt.pending_buf[yt.sym_buf+yt.sym_next++]=xt,Et===0?yt.dyn_ltree[xt*2]++:(yt.matches++,Et--,yt.dyn_ltree[(_length_code[xt]+LITERALS$1+1)*2]++,yt.dyn_dtree[d_code(Et)*2]++),yt.sym_next===yt.sym_end);var _tr_init_1=_tr_init$1,_tr_stored_block_1=_tr_stored_block$1,_tr_flush_block_1=_tr_flush_block$1,_tr_tally_1=_tr_tally$1,_tr_align_1=_tr_align$1,trees={_tr_init:_tr_init_1,_tr_stored_block:_tr_stored_block_1,_tr_flush_block:_tr_flush_block_1,_tr_tally:_tr_tally_1,_tr_align:_tr_align_1};const adler32=(yt,Et,xt,vt)=>{let bt=yt&65535|0,At=yt>>>16&65535|0,Ft=0;for(;xt!==0;){Ft=xt>2e3?2e3:xt,xt-=Ft;do bt=bt+Et[vt++]|0,At=At+bt|0;while(--Ft);bt%=65521,At%=65521}return bt|At<<16|0};var adler32_1=adler32;const makeTable=()=>{let yt,Et=[];for(var xt=0;xt<256;xt++){yt=xt;for(var vt=0;vt<8;vt++)yt=yt&1?3988292384^yt>>>1:yt>>>1;Et[xt]=yt}return Et},crcTable=new Uint32Array(makeTable()),crc32=(yt,Et,xt,vt)=>{const bt=crcTable,At=vt+xt;yt^=-1;for(let Ft=vt;Ft<At;Ft++)yt=yt>>>8^bt[(yt^Et[Ft])&255];return yt^-1};var crc32_1=crc32,messages={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},constants$2={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init,_tr_stored_block,_tr_flush_block,_tr_tally,_tr_align}=trees,{Z_NO_FLUSH:Z_NO_FLUSH$2,Z_PARTIAL_FLUSH,Z_FULL_FLUSH:Z_FULL_FLUSH$1,Z_FINISH:Z_FINISH$3,Z_BLOCK:Z_BLOCK$1,Z_OK:Z_OK$3,Z_STREAM_END:Z_STREAM_END$3,Z_STREAM_ERROR:Z_STREAM_ERROR$2,Z_DATA_ERROR:Z_DATA_ERROR$2,Z_BUF_ERROR:Z_BUF_ERROR$1,Z_DEFAULT_COMPRESSION:Z_DEFAULT_COMPRESSION$1,Z_FILTERED,Z_HUFFMAN_ONLY,Z_RLE,Z_FIXED,Z_DEFAULT_STRATEGY:Z_DEFAULT_STRATEGY$1,Z_UNKNOWN,Z_DEFLATED:Z_DEFLATED$2}=constants$2,MAX_MEM_LEVEL=9,MAX_WBITS$1=15,DEF_MEM_LEVEL=8,LENGTH_CODES=29,LITERALS=256,L_CODES=LITERALS+1+LENGTH_CODES,D_CODES=30,BL_CODES=19,HEAP_SIZE=2*L_CODES+1,MAX_BITS=15,MIN_MATCH=3,MAX_MATCH=258,MIN_LOOKAHEAD=MAX_MATCH+MIN_MATCH+1,PRESET_DICT=32,INIT_STATE=42,GZIP_STATE=57,EXTRA_STATE=69,NAME_STATE=73,COMMENT_STATE=91,HCRC_STATE=103,BUSY_STATE=113,FINISH_STATE=666,BS_NEED_MORE=1,BS_BLOCK_DONE=2,BS_FINISH_STARTED=3,BS_FINISH_DONE=4,OS_CODE=3,err=(yt,Et)=>(yt.msg=messages[Et],Et),rank=yt=>yt*2-(yt>4?9:0),zero=yt=>{let Et=yt.length;for(;--Et>=0;)yt[Et]=0},slide_hash=yt=>{let Et,xt,vt,bt=yt.w_size;Et=yt.hash_size,vt=Et;do xt=yt.head[--vt],yt.head[vt]=xt>=bt?xt-bt:0;while(--Et);Et=bt,vt=Et;do xt=yt.prev[--vt],yt.prev[vt]=xt>=bt?xt-bt:0;while(--Et)};let HASH_ZLIB=(yt,Et,xt)=>(Et<<yt.hash_shift^xt)&yt.hash_mask,HASH=HASH_ZLIB;const flush_pending=yt=>{const Et=yt.state;let xt=Et.pending;xt>yt.avail_out&&(xt=yt.avail_out),xt!==0&&(yt.output.set(Et.pending_buf.subarray(Et.pending_out,Et.pending_out+xt),yt.next_out),yt.next_out+=xt,Et.pending_out+=xt,yt.total_out+=xt,yt.avail_out-=xt,Et.pending-=xt,Et.pending===0&&(Et.pending_out=0))},flush_block_only=(yt,Et)=>{_tr_flush_block(yt,yt.block_start>=0?yt.block_start:-1,yt.strstart-yt.block_start,Et),yt.block_start=yt.strstart,flush_pending(yt.strm)},put_byte=(yt,Et)=>{yt.pending_buf[yt.pending++]=Et},putShortMSB=(yt,Et)=>{yt.pending_buf[yt.pending++]=Et>>>8&255,yt.pending_buf[yt.pending++]=Et&255},read_buf=(yt,Et,xt,vt)=>{let bt=yt.avail_in;return bt>vt&&(bt=vt),bt===0?0:(yt.avail_in-=bt,Et.set(yt.input.subarray(yt.next_in,yt.next_in+bt),xt),yt.state.wrap===1?yt.adler=adler32_1(yt.adler,Et,bt,xt):yt.state.wrap===2&&(yt.adler=crc32_1(yt.adler,Et,bt,xt)),yt.next_in+=bt,yt.total_in+=bt,bt)},longest_match=(yt,Et)=>{let xt=yt.max_chain_length,vt=yt.strstart,bt,At,Ft=yt.prev_length,Ct=yt.nice_match;const wt=yt.strstart>yt.w_size-MIN_LOOKAHEAD?yt.strstart-(yt.w_size-MIN_LOOKAHEAD):0,St=yt.window,Tt=yt.w_mask,Rt=yt.prev,Pt=yt.strstart+MAX_MATCH;let Lt=St[vt+Ft-1],kt=St[vt+Ft];yt.prev_length>=yt.good_match&&(xt>>=2),Ct>yt.lookahead&&(Ct=yt.lookahead);do if(bt=Et,!(St[bt+Ft]!==kt||St[bt+Ft-1]!==Lt||St[bt]!==St[vt]||St[++bt]!==St[vt+1])){vt+=2,bt++;do;while(St[++vt]===St[++bt]&&St[++vt]===St[++bt]&&St[++vt]===St[++bt]&&St[++vt]===St[++bt]&&St[++vt]===St[++bt]&&St[++vt]===St[++bt]&&St[++vt]===St[++bt]&&St[++vt]===St[++bt]&&vt<Pt);if(At=MAX_MATCH-(Pt-vt),vt=Pt-MAX_MATCH,At>Ft){if(yt.match_start=Et,Ft=At,At>=Ct)break;Lt=St[vt+Ft-1],kt=St[vt+Ft]}}while((Et=Rt[Et&Tt])>wt&&--xt!==0);return Ft<=yt.lookahead?Ft:yt.lookahead},fill_window=yt=>{const Et=yt.w_size;let xt,vt,bt;do{if(vt=yt.window_size-yt.lookahead-yt.strstart,yt.strstart>=Et+(Et-MIN_LOOKAHEAD)&&(yt.window.set(yt.window.subarray(Et,Et+Et-vt),0),yt.match_start-=Et,yt.strstart-=Et,yt.block_start-=Et,yt.insert>yt.strstart&&(yt.insert=yt.strstart),slide_hash(yt),vt+=Et),yt.strm.avail_in===0)break;if(xt=read_buf(yt.strm,yt.window,yt.strstart+yt.lookahead,vt),yt.lookahead+=xt,yt.lookahead+yt.insert>=MIN_MATCH)for(bt=yt.strstart-yt.insert,yt.ins_h=yt.window[bt],yt.ins_h=HASH(yt,yt.ins_h,yt.window[bt+1]);yt.insert&&(yt.ins_h=HASH(yt,yt.ins_h,yt.window[bt+MIN_MATCH-1]),yt.prev[bt&yt.w_mask]=yt.head[yt.ins_h],yt.head[yt.ins_h]=bt,bt++,yt.insert--,!(yt.lookahead+yt.insert<MIN_MATCH)););}while(yt.lookahead<MIN_LOOKAHEAD&&yt.strm.avail_in!==0)},deflate_stored=(yt,Et)=>{let xt=yt.pending_buf_size-5>yt.w_size?yt.w_size:yt.pending_buf_size-5,vt,bt,At,Ft=0,Ct=yt.strm.avail_in;do{if(vt=65535,At=yt.bi_valid+42>>3,yt.strm.avail_out<At||(At=yt.strm.avail_out-At,bt=yt.strstart-yt.block_start,vt>bt+yt.strm.avail_in&&(vt=bt+yt.strm.avail_in),vt>At&&(vt=At),vt<xt&&(vt===0&&Et!==Z_FINISH$3||Et===Z_NO_FLUSH$2||vt!==bt+yt.strm.avail_in)))break;Ft=Et===Z_FINISH$3&&vt===bt+yt.strm.avail_in?1:0,_tr_stored_block(yt,0,0,Ft),yt.pending_buf[yt.pending-4]=vt,yt.pending_buf[yt.pending-3]=vt>>8,yt.pending_buf[yt.pending-2]=~vt,yt.pending_buf[yt.pending-1]=~vt>>8,flush_pending(yt.strm),bt&&(bt>vt&&(bt=vt),yt.strm.output.set(yt.window.subarray(yt.block_start,yt.block_start+bt),yt.strm.next_out),yt.strm.next_out+=bt,yt.strm.avail_out-=bt,yt.strm.total_out+=bt,yt.block_start+=bt,vt-=bt),vt&&(read_buf(yt.strm,yt.strm.output,yt.strm.next_out,vt),yt.strm.next_out+=vt,yt.strm.avail_out-=vt,yt.strm.total_out+=vt)}while(Ft===0);return Ct-=yt.strm.avail_in,Ct&&(Ct>=yt.w_size?(yt.matches=2,yt.window.set(yt.strm.input.subarray(yt.strm.next_in-yt.w_size,yt.strm.next_in),0),yt.strstart=yt.w_size,yt.insert=yt.strstart):(yt.window_size-yt.strstart<=Ct&&(yt.strstart-=yt.w_size,yt.window.set(yt.window.subarray(yt.w_size,yt.w_size+yt.strstart),0),yt.matches<2&&yt.matches++,yt.insert>yt.strstart&&(yt.insert=yt.strstart)),yt.window.set(yt.strm.input.subarray(yt.strm.next_in-Ct,yt.strm.next_in),yt.strstart),yt.strstart+=Ct,yt.insert+=Ct>yt.w_size-yt.insert?yt.w_size-yt.insert:Ct),yt.block_start=yt.strstart),yt.high_water<yt.strstart&&(yt.high_water=yt.strstart),Ft?BS_FINISH_DONE:Et!==Z_NO_FLUSH$2&&Et!==Z_FINISH$3&&yt.strm.avail_in===0&&yt.strstart===yt.block_start?BS_BLOCK_DONE:(At=yt.window_size-yt.strstart,yt.strm.avail_in>At&&yt.block_start>=yt.w_size&&(yt.block_start-=yt.w_size,yt.strstart-=yt.w_size,yt.window.set(yt.window.subarray(yt.w_size,yt.w_size+yt.strstart),0),yt.matches<2&&yt.matches++,At+=yt.w_size,yt.insert>yt.strstart&&(yt.insert=yt.strstart)),At>yt.strm.avail_in&&(At=yt.strm.avail_in),At&&(read_buf(yt.strm,yt.window,yt.strstart,At),yt.strstart+=At,yt.insert+=At>yt.w_size-yt.insert?yt.w_size-yt.insert:At),yt.high_water<yt.strstart&&(yt.high_water=yt.strstart),At=yt.bi_valid+42>>3,At=yt.pending_buf_size-At>65535?65535:yt.pending_buf_size-At,xt=At>yt.w_size?yt.w_size:At,bt=yt.strstart-yt.block_start,(bt>=xt||(bt||Et===Z_FINISH$3)&&Et!==Z_NO_FLUSH$2&&yt.strm.avail_in===0&&bt<=At)&&(vt=bt>At?At:bt,Ft=Et===Z_FINISH$3&&yt.strm.avail_in===0&&vt===bt?1:0,_tr_stored_block(yt,yt.block_start,vt,Ft),yt.block_start+=vt,flush_pending(yt.strm)),Ft?BS_FINISH_STARTED:BS_NEED_MORE)},deflate_fast=(yt,Et)=>{let xt,vt;for(;;){if(yt.lookahead<MIN_LOOKAHEAD){if(fill_window(yt),yt.lookahead<MIN_LOOKAHEAD&&Et===Z_NO_FLUSH$2)return BS_NEED_MORE;if(yt.lookahead===0)break}if(xt=0,yt.lookahead>=MIN_MATCH&&(yt.ins_h=HASH(yt,yt.ins_h,yt.window[yt.strstart+MIN_MATCH-1]),xt=yt.prev[yt.strstart&yt.w_mask]=yt.head[yt.ins_h],yt.head[yt.ins_h]=yt.strstart),xt!==0&&yt.strstart-xt<=yt.w_size-MIN_LOOKAHEAD&&(yt.match_length=longest_match(yt,xt)),yt.match_length>=MIN_MATCH)if(vt=_tr_tally(yt,yt.strstart-yt.match_start,yt.match_length-MIN_MATCH),yt.lookahead-=yt.match_length,yt.match_length<=yt.max_lazy_match&&yt.lookahead>=MIN_MATCH){yt.match_length--;do yt.strstart++,yt.ins_h=HASH(yt,yt.ins_h,yt.window[yt.strstart+MIN_MATCH-1]),xt=yt.prev[yt.strstart&yt.w_mask]=yt.head[yt.ins_h],yt.head[yt.ins_h]=yt.strstart;while(--yt.match_length!==0);yt.strstart++}else yt.strstart+=yt.match_length,yt.match_length=0,yt.ins_h=yt.window[yt.strstart],yt.ins_h=HASH(yt,yt.ins_h,yt.window[yt.strstart+1]);else vt=_tr_tally(yt,0,yt.window[yt.strstart]),yt.lookahead--,yt.strstart++;if(vt&&(flush_block_only(yt,!1),yt.strm.avail_out===0))return BS_NEED_MORE}return yt.insert=yt.strstart<MIN_MATCH-1?yt.strstart:MIN_MATCH-1,Et===Z_FINISH$3?(flush_block_only(yt,!0),yt.strm.avail_out===0?BS_FINISH_STARTED:BS_FINISH_DONE):yt.sym_next&&(flush_block_only(yt,!1),yt.strm.avail_out===0)?BS_NEED_MORE:BS_BLOCK_DONE},deflate_slow=(yt,Et)=>{let xt,vt,bt;for(;;){if(yt.lookahead<MIN_LOOKAHEAD){if(fill_window(yt),yt.lookahead<MIN_LOOKAHEAD&&Et===Z_NO_FLUSH$2)return BS_NEED_MORE;if(yt.lookahead===0)break}if(xt=0,yt.lookahead>=MIN_MATCH&&(yt.ins_h=HASH(yt,yt.ins_h,yt.window[yt.strstart+MIN_MATCH-1]),xt=yt.prev[yt.strstart&yt.w_mask]=yt.head[yt.ins_h],yt.head[yt.ins_h]=yt.strstart),yt.prev_length=yt.match_length,yt.prev_match=yt.match_start,yt.match_length=MIN_MATCH-1,xt!==0&&yt.prev_length<yt.max_lazy_match&&yt.strstart-xt<=yt.w_size-MIN_LOOKAHEAD&&(yt.match_length=longest_match(yt,xt),yt.match_length<=5&&(yt.strategy===Z_FILTERED||yt.match_length===MIN_MATCH&&yt.strstart-yt.match_start>4096)&&(yt.match_length=MIN_MATCH-1)),yt.prev_length>=MIN_MATCH&&yt.match_length<=yt.prev_length){bt=yt.strstart+yt.lookahead-MIN_MATCH,vt=_tr_tally(yt,yt.strstart-1-yt.prev_match,yt.prev_length-MIN_MATCH),yt.lookahead-=yt.prev_length-1,yt.prev_length-=2;do++yt.strstart<=bt&&(yt.ins_h=HASH(yt,yt.ins_h,yt.window[yt.strstart+MIN_MATCH-1]),xt=yt.prev[yt.strstart&yt.w_mask]=yt.head[yt.ins_h],yt.head[yt.ins_h]=yt.strstart);while(--yt.prev_length!==0);if(yt.match_available=0,yt.match_length=MIN_MATCH-1,yt.strstart++,vt&&(flush_block_only(yt,!1),yt.strm.avail_out===0))return BS_NEED_MORE}else if(yt.match_available){if(vt=_tr_tally(yt,0,yt.window[yt.strstart-1]),vt&&flush_block_only(yt,!1),yt.strstart++,yt.lookahead--,yt.strm.avail_out===0)return BS_NEED_MORE}else yt.match_available=1,yt.strstart++,yt.lookahead--}return yt.match_available&&(vt=_tr_tally(yt,0,yt.window[yt.strstart-1]),yt.match_available=0),yt.insert=yt.strstart<MIN_MATCH-1?yt.strstart:MIN_MATCH-1,Et===Z_FINISH$3?(flush_block_only(yt,!0),yt.strm.avail_out===0?BS_FINISH_STARTED:BS_FINISH_DONE):yt.sym_next&&(flush_block_only(yt,!1),yt.strm.avail_out===0)?BS_NEED_MORE:BS_BLOCK_DONE},deflate_rle=(yt,Et)=>{let xt,vt,bt,At;const Ft=yt.window;for(;;){if(yt.lookahead<=MAX_MATCH){if(fill_window(yt),yt.lookahead<=MAX_MATCH&&Et===Z_NO_FLUSH$2)return BS_NEED_MORE;if(yt.lookahead===0)break}if(yt.match_length=0,yt.lookahead>=MIN_MATCH&&yt.strstart>0&&(bt=yt.strstart-1,vt=Ft[bt],vt===Ft[++bt]&&vt===Ft[++bt]&&vt===Ft[++bt])){At=yt.strstart+MAX_MATCH;do;while(vt===Ft[++bt]&&vt===Ft[++bt]&&vt===Ft[++bt]&&vt===Ft[++bt]&&vt===Ft[++bt]&&vt===Ft[++bt]&&vt===Ft[++bt]&&vt===Ft[++bt]&&bt<At);yt.match_length=MAX_MATCH-(At-bt),yt.match_length>yt.lookahead&&(yt.match_length=yt.lookahead)}if(yt.match_length>=MIN_MATCH?(xt=_tr_tally(yt,1,yt.match_length-MIN_MATCH),yt.lookahead-=yt.match_length,yt.strstart+=yt.match_length,yt.match_length=0):(xt=_tr_tally(yt,0,yt.window[yt.strstart]),yt.lookahead--,yt.strstart++),xt&&(flush_block_only(yt,!1),yt.strm.avail_out===0))return BS_NEED_MORE}return yt.insert=0,Et===Z_FINISH$3?(flush_block_only(yt,!0),yt.strm.avail_out===0?BS_FINISH_STARTED:BS_FINISH_DONE):yt.sym_next&&(flush_block_only(yt,!1),yt.strm.avail_out===0)?BS_NEED_MORE:BS_BLOCK_DONE},deflate_huff=(yt,Et)=>{let xt;for(;;){if(yt.lookahead===0&&(fill_window(yt),yt.lookahead===0)){if(Et===Z_NO_FLUSH$2)return BS_NEED_MORE;break}if(yt.match_length=0,xt=_tr_tally(yt,0,yt.window[yt.strstart]),yt.lookahead--,yt.strstart++,xt&&(flush_block_only(yt,!1),yt.strm.avail_out===0))return BS_NEED_MORE}return yt.insert=0,Et===Z_FINISH$3?(flush_block_only(yt,!0),yt.strm.avail_out===0?BS_FINISH_STARTED:BS_FINISH_DONE):yt.sym_next&&(flush_block_only(yt,!1),yt.strm.avail_out===0)?BS_NEED_MORE:BS_BLOCK_DONE};function Config(yt,Et,xt,vt,bt){this.good_length=yt,this.max_lazy=Et,this.nice_length=xt,this.max_chain=vt,this.func=bt}const configuration_table=[new Config(0,0,0,0,deflate_stored),new Config(4,4,8,4,deflate_fast),new Config(4,5,16,8,deflate_fast),new Config(4,6,32,32,deflate_fast),new Config(4,4,16,16,deflate_slow),new Config(8,16,32,32,deflate_slow),new Config(8,16,128,128,deflate_slow),new Config(8,32,128,256,deflate_slow),new Config(32,128,258,1024,deflate_slow),new Config(32,258,258,4096,deflate_slow)],lm_init=yt=>{yt.window_size=2*yt.w_size,zero(yt.head),yt.max_lazy_match=configuration_table[yt.level].max_lazy,yt.good_match=configuration_table[yt.level].good_length,yt.nice_match=configuration_table[yt.level].nice_length,yt.max_chain_length=configuration_table[yt.level].max_chain,yt.strstart=0,yt.block_start=0,yt.lookahead=0,yt.insert=0,yt.match_length=yt.prev_length=MIN_MATCH-1,yt.match_available=0,yt.ins_h=0};function DeflateState(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Z_DEFLATED$2,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(HEAP_SIZE*2),this.dyn_dtree=new Uint16Array((2*D_CODES+1)*2),this.bl_tree=new Uint16Array((2*BL_CODES+1)*2),zero(this.dyn_ltree),zero(this.dyn_dtree),zero(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(MAX_BITS+1),this.heap=new Uint16Array(2*L_CODES+1),zero(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*L_CODES+1),zero(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const deflateStateCheck=yt=>{if(!yt)return 1;const Et=yt.state;return!Et||Et.strm!==yt||Et.status!==INIT_STATE&&Et.status!==GZIP_STATE&&Et.status!==EXTRA_STATE&&Et.status!==NAME_STATE&&Et.status!==COMMENT_STATE&&Et.status!==HCRC_STATE&&Et.status!==BUSY_STATE&&Et.status!==FINISH_STATE?1:0},deflateResetKeep=yt=>{if(deflateStateCheck(yt))return err(yt,Z_STREAM_ERROR$2);yt.total_in=yt.total_out=0,yt.data_type=Z_UNKNOWN;const Et=yt.state;return Et.pending=0,Et.pending_out=0,Et.wrap<0&&(Et.wrap=-Et.wrap),Et.status=Et.wrap===2?GZIP_STATE:Et.wrap?INIT_STATE:BUSY_STATE,yt.adler=Et.wrap===2?0:1,Et.last_flush=-2,_tr_init(Et),Z_OK$3},deflateReset=yt=>{const Et=deflateResetKeep(yt);return Et===Z_OK$3&&lm_init(yt.state),Et},deflateSetHeader=(yt,Et)=>deflateStateCheck(yt)||yt.state.wrap!==2?Z_STREAM_ERROR$2:(yt.state.gzhead=Et,Z_OK$3),deflateInit2=(yt,Et,xt,vt,bt,At)=>{if(!yt)return Z_STREAM_ERROR$2;let Ft=1;if(Et===Z_DEFAULT_COMPRESSION$1&&(Et=6),vt<0?(Ft=0,vt=-vt):vt>15&&(Ft=2,vt-=16),bt<1||bt>MAX_MEM_LEVEL||xt!==Z_DEFLATED$2||vt<8||vt>15||Et<0||Et>9||At<0||At>Z_FIXED||vt===8&&Ft!==1)return err(yt,Z_STREAM_ERROR$2);vt===8&&(vt=9);const Ct=new DeflateState;return yt.state=Ct,Ct.strm=yt,Ct.status=INIT_STATE,Ct.wrap=Ft,Ct.gzhead=null,Ct.w_bits=vt,Ct.w_size=1<<Ct.w_bits,Ct.w_mask=Ct.w_size-1,Ct.hash_bits=bt+7,Ct.hash_size=1<<Ct.hash_bits,Ct.hash_mask=Ct.hash_size-1,Ct.hash_shift=~~((Ct.hash_bits+MIN_MATCH-1)/MIN_MATCH),Ct.window=new Uint8Array(Ct.w_size*2),Ct.head=new Uint16Array(Ct.hash_size),Ct.prev=new Uint16Array(Ct.w_size),Ct.lit_bufsize=1<<bt+6,Ct.pending_buf_size=Ct.lit_bufsize*4,Ct.pending_buf=new Uint8Array(Ct.pending_buf_size),Ct.sym_buf=Ct.lit_bufsize,Ct.sym_end=(Ct.lit_bufsize-1)*3,Ct.level=Et,Ct.strategy=At,Ct.method=xt,deflateReset(yt)},deflateInit=(yt,Et)=>deflateInit2(yt,Et,Z_DEFLATED$2,MAX_WBITS$1,DEF_MEM_LEVEL,Z_DEFAULT_STRATEGY$1),deflate$2=(yt,Et)=>{if(deflateStateCheck(yt)||Et>Z_BLOCK$1||Et<0)return yt?err(yt,Z_STREAM_ERROR$2):Z_STREAM_ERROR$2;const xt=yt.state;if(!yt.output||yt.avail_in!==0&&!yt.input||xt.status===FINISH_STATE&&Et!==Z_FINISH$3)return err(yt,yt.avail_out===0?Z_BUF_ERROR$1:Z_STREAM_ERROR$2);const vt=xt.last_flush;if(xt.last_flush=Et,xt.pending!==0){if(flush_pending(yt),yt.avail_out===0)return xt.last_flush=-1,Z_OK$3}else if(yt.avail_in===0&&rank(Et)<=rank(vt)&&Et!==Z_FINISH$3)return err(yt,Z_BUF_ERROR$1);if(xt.status===FINISH_STATE&&yt.avail_in!==0)return err(yt,Z_BUF_ERROR$1);if(xt.status===INIT_STATE&&xt.wrap===0&&(xt.status=BUSY_STATE),xt.status===INIT_STATE){let bt=Z_DEFLATED$2+(xt.w_bits-8<<4)<<8,At=-1;if(xt.strategy>=Z_HUFFMAN_ONLY||xt.level<2?At=0:xt.level<6?At=1:xt.level===6?At=2:At=3,bt|=At<<6,xt.strstart!==0&&(bt|=PRESET_DICT),bt+=31-bt%31,putShortMSB(xt,bt),xt.strstart!==0&&(putShortMSB(xt,yt.adler>>>16),putShortMSB(xt,yt.adler&65535)),yt.adler=1,xt.status=BUSY_STATE,flush_pending(yt),xt.pending!==0)return xt.last_flush=-1,Z_OK$3}if(xt.status===GZIP_STATE){if(yt.adler=0,put_byte(xt,31),put_byte(xt,139),put_byte(xt,8),xt.gzhead)put_byte(xt,(xt.gzhead.text?1:0)+(xt.gzhead.hcrc?2:0)+(xt.gzhead.extra?4:0)+(xt.gzhead.name?8:0)+(xt.gzhead.comment?16:0)),put_byte(xt,xt.gzhead.time&255),put_byte(xt,xt.gzhead.time>>8&255),put_byte(xt,xt.gzhead.time>>16&255),put_byte(xt,xt.gzhead.time>>24&255),put_byte(xt,xt.level===9?2:xt.strategy>=Z_HUFFMAN_ONLY||xt.level<2?4:0),put_byte(xt,xt.gzhead.os&255),xt.gzhead.extra&&xt.gzhead.extra.length&&(put_byte(xt,xt.gzhead.extra.length&255),put_byte(xt,xt.gzhead.extra.length>>8&255)),xt.gzhead.hcrc&&(yt.adler=crc32_1(yt.adler,xt.pending_buf,xt.pending,0)),xt.gzindex=0,xt.status=EXTRA_STATE;else if(put_byte(xt,0),put_byte(xt,0),put_byte(xt,0),put_byte(xt,0),put_byte(xt,0),put_byte(xt,xt.level===9?2:xt.strategy>=Z_HUFFMAN_ONLY||xt.level<2?4:0),put_byte(xt,OS_CODE),xt.status=BUSY_STATE,flush_pending(yt),xt.pending!==0)return xt.last_flush=-1,Z_OK$3}if(xt.status===EXTRA_STATE){if(xt.gzhead.extra){let bt=xt.pending,At=(xt.gzhead.extra.length&65535)-xt.gzindex;for(;xt.pending+At>xt.pending_buf_size;){let Ct=xt.pending_buf_size-xt.pending;if(xt.pending_buf.set(xt.gzhead.extra.subarray(xt.gzindex,xt.gzindex+Ct),xt.pending),xt.pending=xt.pending_buf_size,xt.gzhead.hcrc&&xt.pending>bt&&(yt.adler=crc32_1(yt.adler,xt.pending_buf,xt.pending-bt,bt)),xt.gzindex+=Ct,flush_pending(yt),xt.pending!==0)return xt.last_flush=-1,Z_OK$3;bt=0,At-=Ct}let Ft=new Uint8Array(xt.gzhead.extra);xt.pending_buf.set(Ft.subarray(xt.gzindex,xt.gzindex+At),xt.pending),xt.pending+=At,xt.gzhead.hcrc&&xt.pending>bt&&(yt.adler=crc32_1(yt.adler,xt.pending_buf,xt.pending-bt,bt)),xt.gzindex=0}xt.status=NAME_STATE}if(xt.status===NAME_STATE){if(xt.gzhead.name){let bt=xt.pending,At;do{if(xt.pending===xt.pending_buf_size){if(xt.gzhead.hcrc&&xt.pending>bt&&(yt.adler=crc32_1(yt.adler,xt.pending_buf,xt.pending-bt,bt)),flush_pending(yt),xt.pending!==0)return xt.last_flush=-1,Z_OK$3;bt=0}xt.gzindex<xt.gzhead.name.length?At=xt.gzhead.name.charCodeAt(xt.gzindex++)&255:At=0,put_byte(xt,At)}while(At!==0);xt.gzhead.hcrc&&xt.pending>bt&&(yt.adler=crc32_1(yt.adler,xt.pending_buf,xt.pending-bt,bt)),xt.gzindex=0}xt.status=COMMENT_STATE}if(xt.status===COMMENT_STATE){if(xt.gzhead.comment){let bt=xt.pending,At;do{if(xt.pending===xt.pending_buf_size){if(xt.gzhead.hcrc&&xt.pending>bt&&(yt.adler=crc32_1(yt.adler,xt.pending_buf,xt.pending-bt,bt)),flush_pending(yt),xt.pending!==0)return xt.last_flush=-1,Z_OK$3;bt=0}xt.gzindex<xt.gzhead.comment.length?At=xt.gzhead.comment.charCodeAt(xt.gzindex++)&255:At=0,put_byte(xt,At)}while(At!==0);xt.gzhead.hcrc&&xt.pending>bt&&(yt.adler=crc32_1(yt.adler,xt.pending_buf,xt.pending-bt,bt))}xt.status=HCRC_STATE}if(xt.status===HCRC_STATE){if(xt.gzhead.hcrc){if(xt.pending+2>xt.pending_buf_size&&(flush_pending(yt),xt.pending!==0))return xt.last_flush=-1,Z_OK$3;put_byte(xt,yt.adler&255),put_byte(xt,yt.adler>>8&255),yt.adler=0}if(xt.status=BUSY_STATE,flush_pending(yt),xt.pending!==0)return xt.last_flush=-1,Z_OK$3}if(yt.avail_in!==0||xt.lookahead!==0||Et!==Z_NO_FLUSH$2&&xt.status!==FINISH_STATE){let bt=xt.level===0?deflate_stored(xt,Et):xt.strategy===Z_HUFFMAN_ONLY?deflate_huff(xt,Et):xt.strategy===Z_RLE?deflate_rle(xt,Et):configuration_table[xt.level].func(xt,Et);if((bt===BS_FINISH_STARTED||bt===BS_FINISH_DONE)&&(xt.status=FINISH_STATE),bt===BS_NEED_MORE||bt===BS_FINISH_STARTED)return yt.avail_out===0&&(xt.last_flush=-1),Z_OK$3;if(bt===BS_BLOCK_DONE&&(Et===Z_PARTIAL_FLUSH?_tr_align(xt):Et!==Z_BLOCK$1&&(_tr_stored_block(xt,0,0,!1),Et===Z_FULL_FLUSH$1&&(zero(xt.head),xt.lookahead===0&&(xt.strstart=0,xt.block_start=0,xt.insert=0))),flush_pending(yt),yt.avail_out===0))return xt.last_flush=-1,Z_OK$3}return Et!==Z_FINISH$3?Z_OK$3:xt.wrap<=0?Z_STREAM_END$3:(xt.wrap===2?(put_byte(xt,yt.adler&255),put_byte(xt,yt.adler>>8&255),put_byte(xt,yt.adler>>16&255),put_byte(xt,yt.adler>>24&255),put_byte(xt,yt.total_in&255),put_byte(xt,yt.total_in>>8&255),put_byte(xt,yt.total_in>>16&255),put_byte(xt,yt.total_in>>24&255)):(putShortMSB(xt,yt.adler>>>16),putShortMSB(xt,yt.adler&65535)),flush_pending(yt),xt.wrap>0&&(xt.wrap=-xt.wrap),xt.pending!==0?Z_OK$3:Z_STREAM_END$3)},deflateEnd=yt=>{if(deflateStateCheck(yt))return Z_STREAM_ERROR$2;const Et=yt.state.status;return yt.state=null,Et===BUSY_STATE?err(yt,Z_DATA_ERROR$2):Z_OK$3},deflateSetDictionary=(yt,Et)=>{let xt=Et.length;if(deflateStateCheck(yt))return Z_STREAM_ERROR$2;const vt=yt.state,bt=vt.wrap;if(bt===2||bt===1&&vt.status!==INIT_STATE||vt.lookahead)return Z_STREAM_ERROR$2;if(bt===1&&(yt.adler=adler32_1(yt.adler,Et,xt,0)),vt.wrap=0,xt>=vt.w_size){bt===0&&(zero(vt.head),vt.strstart=0,vt.block_start=0,vt.insert=0);let wt=new Uint8Array(vt.w_size);wt.set(Et.subarray(xt-vt.w_size,xt),0),Et=wt,xt=vt.w_size}const At=yt.avail_in,Ft=yt.next_in,Ct=yt.input;for(yt.avail_in=xt,yt.next_in=0,yt.input=Et,fill_window(vt);vt.lookahead>=MIN_MATCH;){let wt=vt.strstart,St=vt.lookahead-(MIN_MATCH-1);do vt.ins_h=HASH(vt,vt.ins_h,vt.window[wt+MIN_MATCH-1]),vt.prev[wt&vt.w_mask]=vt.head[vt.ins_h],vt.head[vt.ins_h]=wt,wt++;while(--St);vt.strstart=wt,vt.lookahead=MIN_MATCH-1,fill_window(vt)}return vt.strstart+=vt.lookahead,vt.block_start=vt.strstart,vt.insert=vt.lookahead,vt.lookahead=0,vt.match_length=vt.prev_length=MIN_MATCH-1,vt.match_available=0,yt.next_in=Ft,yt.input=Ct,yt.avail_in=At,vt.wrap=bt,Z_OK$3};var deflateInit_1=deflateInit,deflateInit2_1=deflateInit2,deflateReset_1=deflateReset,deflateResetKeep_1=deflateResetKeep,deflateSetHeader_1=deflateSetHeader,deflate_2$1=deflate$2,deflateEnd_1=deflateEnd,deflateSetDictionary_1=deflateSetDictionary,deflateInfo="pako deflate (from Nodeca project)",deflate_1$2={deflateInit:deflateInit_1,deflateInit2:deflateInit2_1,deflateReset:deflateReset_1,deflateResetKeep:deflateResetKeep_1,deflateSetHeader:deflateSetHeader_1,deflate:deflate_2$1,deflateEnd:deflateEnd_1,deflateSetDictionary:deflateSetDictionary_1,deflateInfo};const _has=(yt,Et)=>Object.prototype.hasOwnProperty.call(yt,Et);var assign=function(yt){const Et=Array.prototype.slice.call(arguments,1);for(;Et.length;){const xt=Et.shift();if(xt){if(typeof xt!="object")throw new TypeError(xt+"must be non-object");for(const vt in xt)_has(xt,vt)&&(yt[vt]=xt[vt])}}return yt},flattenChunks=yt=>{let Et=0;for(let vt=0,bt=yt.length;vt<bt;vt++)Et+=yt[vt].length;const xt=new Uint8Array(Et);for(let vt=0,bt=0,At=yt.length;vt<At;vt++){let Ft=yt[vt];xt.set(Ft,bt),bt+=Ft.length}return xt},common={assign,flattenChunks};let STR_APPLY_UIA_OK=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(yt){STR_APPLY_UIA_OK=!1}const _utf8len=new Uint8Array(256);for(let yt=0;yt<256;yt++)_utf8len[yt]=yt>=252?6:yt>=248?5:yt>=240?4:yt>=224?3:yt>=192?2:1;_utf8len[254]=_utf8len[254]=1;var string2buf=yt=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(yt);let Et,xt,vt,bt,At,Ft=yt.length,Ct=0;for(bt=0;bt<Ft;bt++)xt=yt.charCodeAt(bt),(xt&64512)===55296&&bt+1<Ft&&(vt=yt.charCodeAt(bt+1),(vt&64512)===56320&&(xt=65536+(xt-55296<<10)+(vt-56320),bt++)),Ct+=xt<128?1:xt<2048?2:xt<65536?3:4;for(Et=new Uint8Array(Ct),At=0,bt=0;At<Ct;bt++)xt=yt.charCodeAt(bt),(xt&64512)===55296&&bt+1<Ft&&(vt=yt.charCodeAt(bt+1),(vt&64512)===56320&&(xt=65536+(xt-55296<<10)+(vt-56320),bt++)),xt<128?Et[At++]=xt:xt<2048?(Et[At++]=192|xt>>>6,Et[At++]=128|xt&63):xt<65536?(Et[At++]=224|xt>>>12,Et[At++]=128|xt>>>6&63,Et[At++]=128|xt&63):(Et[At++]=240|xt>>>18,Et[At++]=128|xt>>>12&63,Et[At++]=128|xt>>>6&63,Et[At++]=128|xt&63);return Et};const buf2binstring=(yt,Et)=>{if(Et<65534&&yt.subarray&&STR_APPLY_UIA_OK)return String.fromCharCode.apply(null,yt.length===Et?yt:yt.subarray(0,Et));let xt="";for(let vt=0;vt<Et;vt++)xt+=String.fromCharCode(yt[vt]);return xt};var buf2string=(yt,Et)=>{const xt=Et||yt.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(yt.subarray(0,Et));let vt,bt;const At=new Array(xt*2);for(bt=0,vt=0;vt<xt;){let Ft=yt[vt++];if(Ft<128){At[bt++]=Ft;continue}let Ct=_utf8len[Ft];if(Ct>4){At[bt++]=65533,vt+=Ct-1;continue}for(Ft&=Ct===2?31:Ct===3?15:7;Ct>1&&vt<xt;)Ft=Ft<<6|yt[vt++]&63,Ct--;if(Ct>1){At[bt++]=65533;continue}Ft<65536?At[bt++]=Ft:(Ft-=65536,At[bt++]=55296|Ft>>10&1023,At[bt++]=56320|Ft&1023)}return buf2binstring(At,bt)},utf8border=(yt,Et)=>{Et=Et||yt.length,Et>yt.length&&(Et=yt.length);let xt=Et-1;for(;xt>=0&&(yt[xt]&192)===128;)xt--;return xt<0||xt===0?Et:xt+_utf8len[yt[xt]]>Et?xt:Et},strings={string2buf,buf2string,utf8border};function ZStream(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var zstream=ZStream;const toString$1=Object.prototype.toString,{Z_NO_FLUSH:Z_NO_FLUSH$1,Z_SYNC_FLUSH,Z_FULL_FLUSH,Z_FINISH:Z_FINISH$2,Z_OK:Z_OK$2,Z_STREAM_END:Z_STREAM_END$2,Z_DEFAULT_COMPRESSION,Z_DEFAULT_STRATEGY,Z_DEFLATED:Z_DEFLATED$1}=constants$2;function Deflate$1(yt){this.options=common.assign({level:Z_DEFAULT_COMPRESSION,method:Z_DEFLATED$1,chunkSize:16384,windowBits:15,memLevel:8,strategy:Z_DEFAULT_STRATEGY},yt||{});let Et=this.options;Et.raw&&Et.windowBits>0?Et.windowBits=-Et.windowBits:Et.gzip&&Et.windowBits>0&&Et.windowBits<16&&(Et.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new zstream,this.strm.avail_out=0;let xt=deflate_1$2.deflateInit2(this.strm,Et.level,Et.method,Et.windowBits,Et.memLevel,Et.strategy);if(xt!==Z_OK$2)throw new Error(messages[xt]);if(Et.header&&deflate_1$2.deflateSetHeader(this.strm,Et.header),Et.dictionary){let vt;if(typeof Et.dictionary=="string"?vt=strings.string2buf(Et.dictionary):toString$1.call(Et.dictionary)==="[object ArrayBuffer]"?vt=new Uint8Array(Et.dictionary):vt=Et.dictionary,xt=deflate_1$2.deflateSetDictionary(this.strm,vt),xt!==Z_OK$2)throw new Error(messages[xt]);this._dict_set=!0}}Deflate$1.prototype.push=function(yt,Et){const xt=this.strm,vt=this.options.chunkSize;let bt,At;if(this.ended)return!1;for(Et===~~Et?At=Et:At=Et===!0?Z_FINISH$2:Z_NO_FLUSH$1,typeof yt=="string"?xt.input=strings.string2buf(yt):toString$1.call(yt)==="[object ArrayBuffer]"?xt.input=new Uint8Array(yt):xt.input=yt,xt.next_in=0,xt.avail_in=xt.input.length;;){if(xt.avail_out===0&&(xt.output=new Uint8Array(vt),xt.next_out=0,xt.avail_out=vt),(At===Z_SYNC_FLUSH||At===Z_FULL_FLUSH)&&xt.avail_out<=6){this.onData(xt.output.subarray(0,xt.next_out)),xt.avail_out=0;continue}if(bt=deflate_1$2.deflate(xt,At),bt===Z_STREAM_END$2)return xt.next_out>0&&this.onData(xt.output.subarray(0,xt.next_out)),bt=deflate_1$2.deflateEnd(this.strm),this.onEnd(bt),this.ended=!0,bt===Z_OK$2;if(xt.avail_out===0){this.onData(xt.output);continue}if(At>0&&xt.next_out>0){this.onData(xt.output.subarray(0,xt.next_out)),xt.avail_out=0;continue}if(xt.avail_in===0)break}return!0},Deflate$1.prototype.onData=function(yt){this.chunks.push(yt)},Deflate$1.prototype.onEnd=function(yt){yt===Z_OK$2&&(this.result=common.flattenChunks(this.chunks)),this.chunks=[],this.err=yt,this.msg=this.strm.msg};function deflate$1(yt,Et){const xt=new Deflate$1(Et);if(xt.push(yt,!0),xt.err)throw xt.msg||messages[xt.err];return xt.result}function deflateRaw$1(yt,Et){return Et=Et||{},Et.raw=!0,deflate$1(yt,Et)}function gzip$1(yt,Et){return Et=Et||{},Et.gzip=!0,deflate$1(yt,Et)}var Deflate_1$1=Deflate$1,deflate_2=deflate$1,deflateRaw_1$1=deflateRaw$1,gzip_1$1=gzip$1,deflate_1$1={Deflate:Deflate_1$1,deflate:deflate_2,deflateRaw:deflateRaw_1$1,gzip:gzip_1$1};const BAD$1=16209,TYPE$1=16191;var inffast=function yt(Et,xt){let vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt,It,Nt,Ut,jt,Vt,zt,Ht,Wt,Gt,qt;const Xt=Et.state;vt=Et.next_in,Gt=Et.input,bt=vt+(Et.avail_in-5),At=Et.next_out,qt=Et.output,Ft=At-(xt-Et.avail_out),Ct=At+(Et.avail_out-257),wt=Xt.dmax,St=Xt.wsize,Tt=Xt.whave,Rt=Xt.wnext,Pt=Xt.window,Lt=Xt.hold,kt=Xt.bits,Ot=Xt.lencode,Mt=Xt.distcode,It=(1<<Xt.lenbits)-1,Nt=(1<<Xt.distbits)-1;e:do{kt<15&&(Lt+=Gt[vt++]<<kt,kt+=8,Lt+=Gt[vt++]<<kt,kt+=8),Ut=Ot[Lt&It];t:for(;;){if(jt=Ut>>>24,Lt>>>=jt,kt-=jt,jt=Ut>>>16&255,jt===0)qt[At++]=Ut&65535;else if(jt&16){Vt=Ut&65535,jt&=15,jt&&(kt<jt&&(Lt+=Gt[vt++]<<kt,kt+=8),Vt+=Lt&(1<<jt)-1,Lt>>>=jt,kt-=jt),kt<15&&(Lt+=Gt[vt++]<<kt,kt+=8,Lt+=Gt[vt++]<<kt,kt+=8),Ut=Mt[Lt&Nt];n:for(;;){if(jt=Ut>>>24,Lt>>>=jt,kt-=jt,jt=Ut>>>16&255,jt&16){if(zt=Ut&65535,jt&=15,kt<jt&&(Lt+=Gt[vt++]<<kt,kt+=8,kt<jt&&(Lt+=Gt[vt++]<<kt,kt+=8)),zt+=Lt&(1<<jt)-1,zt>wt){Et.msg="invalid distance too far back",Xt.mode=BAD$1;break e}if(Lt>>>=jt,kt-=jt,jt=At-Ft,zt>jt){if(jt=zt-jt,jt>Tt&&Xt.sane){Et.msg="invalid distance too far back",Xt.mode=BAD$1;break e}if(Ht=0,Wt=Pt,Rt===0){if(Ht+=St-jt,jt<Vt){Vt-=jt;do qt[At++]=Pt[Ht++];while(--jt);Ht=At-zt,Wt=qt}}else if(Rt<jt){if(Ht+=St+Rt-jt,jt-=Rt,jt<Vt){Vt-=jt;do qt[At++]=Pt[Ht++];while(--jt);if(Ht=0,Rt<Vt){jt=Rt,Vt-=jt;do qt[At++]=Pt[Ht++];while(--jt);Ht=At-zt,Wt=qt}}}else if(Ht+=Rt-jt,jt<Vt){Vt-=jt;do qt[At++]=Pt[Ht++];while(--jt);Ht=At-zt,Wt=qt}for(;Vt>2;)qt[At++]=Wt[Ht++],qt[At++]=Wt[Ht++],qt[At++]=Wt[Ht++],Vt-=3;Vt&&(qt[At++]=Wt[Ht++],Vt>1&&(qt[At++]=Wt[Ht++]))}else{Ht=At-zt;do qt[At++]=qt[Ht++],qt[At++]=qt[Ht++],qt[At++]=qt[Ht++],Vt-=3;while(Vt>2);Vt&&(qt[At++]=qt[Ht++],Vt>1&&(qt[At++]=qt[Ht++]))}}else if((jt&64)===0){Ut=Mt[(Ut&65535)+(Lt&(1<<jt)-1)];continue n}else{Et.msg="invalid distance code",Xt.mode=BAD$1;break e}break}}else if((jt&64)===0){Ut=Ot[(Ut&65535)+(Lt&(1<<jt)-1)];continue t}else if(jt&32){Xt.mode=TYPE$1;break e}else{Et.msg="invalid literal/length code",Xt.mode=BAD$1;break e}break}}while(vt<bt&&At<Ct);Vt=kt>>3,vt-=Vt,kt-=Vt<<3,Lt&=(1<<kt)-1,Et.next_in=vt,Et.next_out=At,Et.avail_in=vt<bt?5+(bt-vt):5-(vt-bt),Et.avail_out=At<Ct?257+(Ct-At):257-(At-Ct),Xt.hold=Lt,Xt.bits=kt};const MAXBITS=15,ENOUGH_LENS$1=852,ENOUGH_DISTS$1=592,CODES$1=0,LENS$1=1,DISTS$1=2,lbase=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),lext=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),dbase=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),dext=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),inflate_table=(yt,Et,xt,vt,bt,At,Ft,Ct)=>{const wt=Ct.bits;let St=0,Tt=0,Rt=0,Pt=0,Lt=0,kt=0,Ot=0,Mt=0,It=0,Nt=0,Ut,jt,Vt,zt,Ht,Wt=null,Gt;const qt=new Uint16Array(MAXBITS+1),Xt=new Uint16Array(MAXBITS+1);let Kt=null,Jt,tn,sn;for(St=0;St<=MAXBITS;St++)qt[St]=0;for(Tt=0;Tt<vt;Tt++)qt[Et[xt+Tt]]++;for(Lt=wt,Pt=MAXBITS;Pt>=1&&qt[Pt]===0;Pt--);if(Lt>Pt&&(Lt=Pt),Pt===0)return bt[At++]=1<<24|64<<16|0,bt[At++]=1<<24|64<<16|0,Ct.bits=1,0;for(Rt=1;Rt<Pt&&qt[Rt]===0;Rt++);for(Lt<Rt&&(Lt=Rt),Mt=1,St=1;St<=MAXBITS;St++)if(Mt<<=1,Mt-=qt[St],Mt<0)return-1;if(Mt>0&&(yt===CODES$1||Pt!==1))return-1;for(Xt[1]=0,St=1;St<MAXBITS;St++)Xt[St+1]=Xt[St]+qt[St];for(Tt=0;Tt<vt;Tt++)Et[xt+Tt]!==0&&(Ft[Xt[Et[xt+Tt]]++]=Tt);if(yt===CODES$1?(Wt=Kt=Ft,Gt=20):yt===LENS$1?(Wt=lbase,Kt=lext,Gt=257):(Wt=dbase,Kt=dext,Gt=0),Nt=0,Tt=0,St=Rt,Ht=At,kt=Lt,Ot=0,Vt=-1,It=1<<Lt,zt=It-1,yt===LENS$1&&It>ENOUGH_LENS$1||yt===DISTS$1&&It>ENOUGH_DISTS$1)return 1;for(;;){Jt=St-Ot,Ft[Tt]+1<Gt?(tn=0,sn=Ft[Tt]):Ft[Tt]>=Gt?(tn=Kt[Ft[Tt]-Gt],sn=Wt[Ft[Tt]-Gt]):(tn=96,sn=0),Ut=1<<St-Ot,jt=1<<kt,Rt=jt;do jt-=Ut,bt[Ht+(Nt>>Ot)+jt]=Jt<<24|tn<<16|sn|0;while(jt!==0);for(Ut=1<<St-1;Nt&Ut;)Ut>>=1;if(Ut!==0?(Nt&=Ut-1,Nt+=Ut):Nt=0,Tt++,--qt[St]===0){if(St===Pt)break;St=Et[xt+Ft[Tt]]}if(St>Lt&&(Nt&zt)!==Vt){for(Ot===0&&(Ot=Lt),Ht+=Rt,kt=St-Ot,Mt=1<<kt;kt+Ot<Pt&&(Mt-=qt[kt+Ot],!(Mt<=0));)kt++,Mt<<=1;if(It+=1<<kt,yt===LENS$1&&It>ENOUGH_LENS$1||yt===DISTS$1&&It>ENOUGH_DISTS$1)return 1;Vt=Nt&zt,bt[Vt]=Lt<<24|kt<<16|Ht-At|0}}return Nt!==0&&(bt[Ht+Nt]=St-Ot<<24|64<<16|0),Ct.bits=Lt,0};var inftrees=inflate_table;const CODES=0,LENS=1,DISTS=2,{Z_FINISH:Z_FINISH$1,Z_BLOCK,Z_TREES,Z_OK:Z_OK$1,Z_STREAM_END:Z_STREAM_END$1,Z_NEED_DICT:Z_NEED_DICT$1,Z_STREAM_ERROR:Z_STREAM_ERROR$1,Z_DATA_ERROR:Z_DATA_ERROR$1,Z_MEM_ERROR:Z_MEM_ERROR$1,Z_BUF_ERROR,Z_DEFLATED}=constants$2,HEAD=16180,FLAGS=16181,TIME=16182,OS=16183,EXLEN=16184,EXTRA=16185,NAME=16186,COMMENT=16187,HCRC=16188,DICTID=16189,DICT=16190,TYPE=16191,TYPEDO=16192,STORED=16193,COPY_=16194,COPY=16195,TABLE=16196,LENLENS=16197,CODELENS=16198,LEN_=16199,LEN=16200,LENEXT=16201,DIST=16202,DISTEXT=16203,MATCH=16204,LIT=16205,CHECK=16206,LENGTH=16207,DONE=16208,BAD=16209,MEM=16210,SYNC=16211,ENOUGH_LENS=852,ENOUGH_DISTS=592,MAX_WBITS=15,DEF_WBITS=MAX_WBITS,zswap32=yt=>(yt>>>24&255)+(yt>>>8&65280)+((yt&65280)<<8)+((yt&255)<<24);function InflateState(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const inflateStateCheck=yt=>{if(!yt)return 1;const Et=yt.state;return!Et||Et.strm!==yt||Et.mode<HEAD||Et.mode>SYNC?1:0},inflateResetKeep=yt=>{if(inflateStateCheck(yt))return Z_STREAM_ERROR$1;const Et=yt.state;return yt.total_in=yt.total_out=Et.total=0,yt.msg="",Et.wrap&&(yt.adler=Et.wrap&1),Et.mode=HEAD,Et.last=0,Et.havedict=0,Et.flags=-1,Et.dmax=32768,Et.head=null,Et.hold=0,Et.bits=0,Et.lencode=Et.lendyn=new Int32Array(ENOUGH_LENS),Et.distcode=Et.distdyn=new Int32Array(ENOUGH_DISTS),Et.sane=1,Et.back=-1,Z_OK$1},inflateReset=yt=>{if(inflateStateCheck(yt))return Z_STREAM_ERROR$1;const Et=yt.state;return Et.wsize=0,Et.whave=0,Et.wnext=0,inflateResetKeep(yt)},inflateReset2=(yt,Et)=>{let xt;if(inflateStateCheck(yt))return Z_STREAM_ERROR$1;const vt=yt.state;return Et<0?(xt=0,Et=-Et):(xt=(Et>>4)+5,Et<48&&(Et&=15)),Et&&(Et<8||Et>15)?Z_STREAM_ERROR$1:(vt.window!==null&&vt.wbits!==Et&&(vt.window=null),vt.wrap=xt,vt.wbits=Et,inflateReset(yt))},inflateInit2=(yt,Et)=>{if(!yt)return Z_STREAM_ERROR$1;const xt=new InflateState;yt.state=xt,xt.strm=yt,xt.window=null,xt.mode=HEAD;const vt=inflateReset2(yt,Et);return vt!==Z_OK$1&&(yt.state=null),vt},inflateInit=yt=>inflateInit2(yt,DEF_WBITS);let virgin=!0,lenfix,distfix;const fixedtables=yt=>{if(virgin){lenfix=new Int32Array(512),distfix=new Int32Array(32);let Et=0;for(;Et<144;)yt.lens[Et++]=8;for(;Et<256;)yt.lens[Et++]=9;for(;Et<280;)yt.lens[Et++]=7;for(;Et<288;)yt.lens[Et++]=8;for(inftrees(LENS,yt.lens,0,288,lenfix,0,yt.work,{bits:9}),Et=0;Et<32;)yt.lens[Et++]=5;inftrees(DISTS,yt.lens,0,32,distfix,0,yt.work,{bits:5}),virgin=!1}yt.lencode=lenfix,yt.lenbits=9,yt.distcode=distfix,yt.distbits=5},updatewindow=(yt,Et,xt,vt)=>{let bt;const At=yt.state;return At.window===null&&(At.wsize=1<<At.wbits,At.wnext=0,At.whave=0,At.window=new Uint8Array(At.wsize)),vt>=At.wsize?(At.window.set(Et.subarray(xt-At.wsize,xt),0),At.wnext=0,At.whave=At.wsize):(bt=At.wsize-At.wnext,bt>vt&&(bt=vt),At.window.set(Et.subarray(xt-vt,xt-vt+bt),At.wnext),vt-=bt,vt?(At.window.set(Et.subarray(xt-vt,xt),0),At.wnext=vt,At.whave=At.wsize):(At.wnext+=bt,At.wnext===At.wsize&&(At.wnext=0),At.whave<At.wsize&&(At.whave+=bt))),0},inflate$2=(yt,Et)=>{let xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt=0,It,Nt,Ut,jt,Vt,zt,Ht,Wt;const Gt=new Uint8Array(4);let qt,Xt;const Kt=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(inflateStateCheck(yt)||!yt.output||!yt.input&&yt.avail_in!==0)return Z_STREAM_ERROR$1;xt=yt.state,xt.mode===TYPE&&(xt.mode=TYPEDO),Ft=yt.next_out,bt=yt.output,wt=yt.avail_out,At=yt.next_in,vt=yt.input,Ct=yt.avail_in,St=xt.hold,Tt=xt.bits,Rt=Ct,Pt=wt,Wt=Z_OK$1;e:for(;;)switch(xt.mode){case HEAD:if(xt.wrap===0){xt.mode=TYPEDO;break}for(;Tt<16;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}if(xt.wrap&2&&St===35615){xt.wbits===0&&(xt.wbits=15),xt.check=0,Gt[0]=St&255,Gt[1]=St>>>8&255,xt.check=crc32_1(xt.check,Gt,2,0),St=0,Tt=0,xt.mode=FLAGS;break}if(xt.head&&(xt.head.done=!1),!(xt.wrap&1)||(((St&255)<<8)+(St>>8))%31){yt.msg="incorrect header check",xt.mode=BAD;break}if((St&15)!==Z_DEFLATED){yt.msg="unknown compression method",xt.mode=BAD;break}if(St>>>=4,Tt-=4,Ht=(St&15)+8,xt.wbits===0&&(xt.wbits=Ht),Ht>15||Ht>xt.wbits){yt.msg="invalid window size",xt.mode=BAD;break}xt.dmax=1<<xt.wbits,xt.flags=0,yt.adler=xt.check=1,xt.mode=St&512?DICTID:TYPE,St=0,Tt=0;break;case FLAGS:for(;Tt<16;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}if(xt.flags=St,(xt.flags&255)!==Z_DEFLATED){yt.msg="unknown compression method",xt.mode=BAD;break}if(xt.flags&57344){yt.msg="unknown header flags set",xt.mode=BAD;break}xt.head&&(xt.head.text=St>>8&1),xt.flags&512&&xt.wrap&4&&(Gt[0]=St&255,Gt[1]=St>>>8&255,xt.check=crc32_1(xt.check,Gt,2,0)),St=0,Tt=0,xt.mode=TIME;case TIME:for(;Tt<32;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}xt.head&&(xt.head.time=St),xt.flags&512&&xt.wrap&4&&(Gt[0]=St&255,Gt[1]=St>>>8&255,Gt[2]=St>>>16&255,Gt[3]=St>>>24&255,xt.check=crc32_1(xt.check,Gt,4,0)),St=0,Tt=0,xt.mode=OS;case OS:for(;Tt<16;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}xt.head&&(xt.head.xflags=St&255,xt.head.os=St>>8),xt.flags&512&&xt.wrap&4&&(Gt[0]=St&255,Gt[1]=St>>>8&255,xt.check=crc32_1(xt.check,Gt,2,0)),St=0,Tt=0,xt.mode=EXLEN;case EXLEN:if(xt.flags&1024){for(;Tt<16;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}xt.length=St,xt.head&&(xt.head.extra_len=St),xt.flags&512&&xt.wrap&4&&(Gt[0]=St&255,Gt[1]=St>>>8&255,xt.check=crc32_1(xt.check,Gt,2,0)),St=0,Tt=0}else xt.head&&(xt.head.extra=null);xt.mode=EXTRA;case EXTRA:if(xt.flags&1024&&(Lt=xt.length,Lt>Ct&&(Lt=Ct),Lt&&(xt.head&&(Ht=xt.head.extra_len-xt.length,xt.head.extra||(xt.head.extra=new Uint8Array(xt.head.extra_len)),xt.head.extra.set(vt.subarray(At,At+Lt),Ht)),xt.flags&512&&xt.wrap&4&&(xt.check=crc32_1(xt.check,vt,Lt,At)),Ct-=Lt,At+=Lt,xt.length-=Lt),xt.length))break e;xt.length=0,xt.mode=NAME;case NAME:if(xt.flags&2048){if(Ct===0)break e;Lt=0;do Ht=vt[At+Lt++],xt.head&&Ht&&xt.length<65536&&(xt.head.name+=String.fromCharCode(Ht));while(Ht&&Lt<Ct);if(xt.flags&512&&xt.wrap&4&&(xt.check=crc32_1(xt.check,vt,Lt,At)),Ct-=Lt,At+=Lt,Ht)break e}else xt.head&&(xt.head.name=null);xt.length=0,xt.mode=COMMENT;case COMMENT:if(xt.flags&4096){if(Ct===0)break e;Lt=0;do Ht=vt[At+Lt++],xt.head&&Ht&&xt.length<65536&&(xt.head.comment+=String.fromCharCode(Ht));while(Ht&&Lt<Ct);if(xt.flags&512&&xt.wrap&4&&(xt.check=crc32_1(xt.check,vt,Lt,At)),Ct-=Lt,At+=Lt,Ht)break e}else xt.head&&(xt.head.comment=null);xt.mode=HCRC;case HCRC:if(xt.flags&512){for(;Tt<16;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}if(xt.wrap&4&&St!==(xt.check&65535)){yt.msg="header crc mismatch",xt.mode=BAD;break}St=0,Tt=0}xt.head&&(xt.head.hcrc=xt.flags>>9&1,xt.head.done=!0),yt.adler=xt.check=0,xt.mode=TYPE;break;case DICTID:for(;Tt<32;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}yt.adler=xt.check=zswap32(St),St=0,Tt=0,xt.mode=DICT;case DICT:if(xt.havedict===0)return yt.next_out=Ft,yt.avail_out=wt,yt.next_in=At,yt.avail_in=Ct,xt.hold=St,xt.bits=Tt,Z_NEED_DICT$1;yt.adler=xt.check=1,xt.mode=TYPE;case TYPE:if(Et===Z_BLOCK||Et===Z_TREES)break e;case TYPEDO:if(xt.last){St>>>=Tt&7,Tt-=Tt&7,xt.mode=CHECK;break}for(;Tt<3;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}switch(xt.last=St&1,St>>>=1,Tt-=1,St&3){case 0:xt.mode=STORED;break;case 1:if(fixedtables(xt),xt.mode=LEN_,Et===Z_TREES){St>>>=2,Tt-=2;break e}break;case 2:xt.mode=TABLE;break;case 3:yt.msg="invalid block type",xt.mode=BAD}St>>>=2,Tt-=2;break;case STORED:for(St>>>=Tt&7,Tt-=Tt&7;Tt<32;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}if((St&65535)!==(St>>>16^65535)){yt.msg="invalid stored block lengths",xt.mode=BAD;break}if(xt.length=St&65535,St=0,Tt=0,xt.mode=COPY_,Et===Z_TREES)break e;case COPY_:xt.mode=COPY;case COPY:if(Lt=xt.length,Lt){if(Lt>Ct&&(Lt=Ct),Lt>wt&&(Lt=wt),Lt===0)break e;bt.set(vt.subarray(At,At+Lt),Ft),Ct-=Lt,At+=Lt,wt-=Lt,Ft+=Lt,xt.length-=Lt;break}xt.mode=TYPE;break;case TABLE:for(;Tt<14;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}if(xt.nlen=(St&31)+257,St>>>=5,Tt-=5,xt.ndist=(St&31)+1,St>>>=5,Tt-=5,xt.ncode=(St&15)+4,St>>>=4,Tt-=4,xt.nlen>286||xt.ndist>30){yt.msg="too many length or distance symbols",xt.mode=BAD;break}xt.have=0,xt.mode=LENLENS;case LENLENS:for(;xt.have<xt.ncode;){for(;Tt<3;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}xt.lens[Kt[xt.have++]]=St&7,St>>>=3,Tt-=3}for(;xt.have<19;)xt.lens[Kt[xt.have++]]=0;if(xt.lencode=xt.lendyn,xt.lenbits=7,qt={bits:xt.lenbits},Wt=inftrees(CODES,xt.lens,0,19,xt.lencode,0,xt.work,qt),xt.lenbits=qt.bits,Wt){yt.msg="invalid code lengths set",xt.mode=BAD;break}xt.have=0,xt.mode=CODELENS;case CODELENS:for(;xt.have<xt.nlen+xt.ndist;){for(;Mt=xt.lencode[St&(1<<xt.lenbits)-1],It=Mt>>>24,Nt=Mt>>>16&255,Ut=Mt&65535,!(It<=Tt);){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}if(Ut<16)St>>>=It,Tt-=It,xt.lens[xt.have++]=Ut;else{if(Ut===16){for(Xt=It+2;Tt<Xt;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}if(St>>>=It,Tt-=It,xt.have===0){yt.msg="invalid bit length repeat",xt.mode=BAD;break}Ht=xt.lens[xt.have-1],Lt=3+(St&3),St>>>=2,Tt-=2}else if(Ut===17){for(Xt=It+3;Tt<Xt;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}St>>>=It,Tt-=It,Ht=0,Lt=3+(St&7),St>>>=3,Tt-=3}else{for(Xt=It+7;Tt<Xt;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}St>>>=It,Tt-=It,Ht=0,Lt=11+(St&127),St>>>=7,Tt-=7}if(xt.have+Lt>xt.nlen+xt.ndist){yt.msg="invalid bit length repeat",xt.mode=BAD;break}for(;Lt--;)xt.lens[xt.have++]=Ht}}if(xt.mode===BAD)break;if(xt.lens[256]===0){yt.msg="invalid code -- missing end-of-block",xt.mode=BAD;break}if(xt.lenbits=9,qt={bits:xt.lenbits},Wt=inftrees(LENS,xt.lens,0,xt.nlen,xt.lencode,0,xt.work,qt),xt.lenbits=qt.bits,Wt){yt.msg="invalid literal/lengths set",xt.mode=BAD;break}if(xt.distbits=6,xt.distcode=xt.distdyn,qt={bits:xt.distbits},Wt=inftrees(DISTS,xt.lens,xt.nlen,xt.ndist,xt.distcode,0,xt.work,qt),xt.distbits=qt.bits,Wt){yt.msg="invalid distances set",xt.mode=BAD;break}if(xt.mode=LEN_,Et===Z_TREES)break e;case LEN_:xt.mode=LEN;case LEN:if(Ct>=6&&wt>=258){yt.next_out=Ft,yt.avail_out=wt,yt.next_in=At,yt.avail_in=Ct,xt.hold=St,xt.bits=Tt,inffast(yt,Pt),Ft=yt.next_out,bt=yt.output,wt=yt.avail_out,At=yt.next_in,vt=yt.input,Ct=yt.avail_in,St=xt.hold,Tt=xt.bits,xt.mode===TYPE&&(xt.back=-1);break}for(xt.back=0;Mt=xt.lencode[St&(1<<xt.lenbits)-1],It=Mt>>>24,Nt=Mt>>>16&255,Ut=Mt&65535,!(It<=Tt);){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}if(Nt&&(Nt&240)===0){for(jt=It,Vt=Nt,zt=Ut;Mt=xt.lencode[zt+((St&(1<<jt+Vt)-1)>>jt)],It=Mt>>>24,Nt=Mt>>>16&255,Ut=Mt&65535,!(jt+It<=Tt);){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}St>>>=jt,Tt-=jt,xt.back+=jt}if(St>>>=It,Tt-=It,xt.back+=It,xt.length=Ut,Nt===0){xt.mode=LIT;break}if(Nt&32){xt.back=-1,xt.mode=TYPE;break}if(Nt&64){yt.msg="invalid literal/length code",xt.mode=BAD;break}xt.extra=Nt&15,xt.mode=LENEXT;case LENEXT:if(xt.extra){for(Xt=xt.extra;Tt<Xt;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}xt.length+=St&(1<<xt.extra)-1,St>>>=xt.extra,Tt-=xt.extra,xt.back+=xt.extra}xt.was=xt.length,xt.mode=DIST;case DIST:for(;Mt=xt.distcode[St&(1<<xt.distbits)-1],It=Mt>>>24,Nt=Mt>>>16&255,Ut=Mt&65535,!(It<=Tt);){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}if((Nt&240)===0){for(jt=It,Vt=Nt,zt=Ut;Mt=xt.distcode[zt+((St&(1<<jt+Vt)-1)>>jt)],It=Mt>>>24,Nt=Mt>>>16&255,Ut=Mt&65535,!(jt+It<=Tt);){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}St>>>=jt,Tt-=jt,xt.back+=jt}if(St>>>=It,Tt-=It,xt.back+=It,Nt&64){yt.msg="invalid distance code",xt.mode=BAD;break}xt.offset=Ut,xt.extra=Nt&15,xt.mode=DISTEXT;case DISTEXT:if(xt.extra){for(Xt=xt.extra;Tt<Xt;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}xt.offset+=St&(1<<xt.extra)-1,St>>>=xt.extra,Tt-=xt.extra,xt.back+=xt.extra}if(xt.offset>xt.dmax){yt.msg="invalid distance too far back",xt.mode=BAD;break}xt.mode=MATCH;case MATCH:if(wt===0)break e;if(Lt=Pt-wt,xt.offset>Lt){if(Lt=xt.offset-Lt,Lt>xt.whave&&xt.sane){yt.msg="invalid distance too far back",xt.mode=BAD;break}Lt>xt.wnext?(Lt-=xt.wnext,kt=xt.wsize-Lt):kt=xt.wnext-Lt,Lt>xt.length&&(Lt=xt.length),Ot=xt.window}else Ot=bt,kt=Ft-xt.offset,Lt=xt.length;Lt>wt&&(Lt=wt),wt-=Lt,xt.length-=Lt;do bt[Ft++]=Ot[kt++];while(--Lt);xt.length===0&&(xt.mode=LEN);break;case LIT:if(wt===0)break e;bt[Ft++]=xt.length,wt--,xt.mode=LEN;break;case CHECK:if(xt.wrap){for(;Tt<32;){if(Ct===0)break e;Ct--,St|=vt[At++]<<Tt,Tt+=8}if(Pt-=wt,yt.total_out+=Pt,xt.total+=Pt,xt.wrap&4&&Pt&&(yt.adler=xt.check=xt.flags?crc32_1(xt.check,bt,Pt,Ft-Pt):adler32_1(xt.check,bt,Pt,Ft-Pt)),Pt=wt,xt.wrap&4&&(xt.flags?St:zswap32(St))!==xt.check){yt.msg="incorrect data check",xt.mode=BAD;break}St=0,Tt=0}xt.mode=LENGTH;case LENGTH:if(xt.wrap&&xt.flags){for(;Tt<32;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}if(xt.wrap&4&&St!==(xt.total&4294967295)){yt.msg="incorrect length check",xt.mode=BAD;break}St=0,Tt=0}xt.mode=DONE;case DONE:Wt=Z_STREAM_END$1;break e;case BAD:Wt=Z_DATA_ERROR$1;break e;case MEM:return Z_MEM_ERROR$1;case SYNC:default:return Z_STREAM_ERROR$1}return yt.next_out=Ft,yt.avail_out=wt,yt.next_in=At,yt.avail_in=Ct,xt.hold=St,xt.bits=Tt,(xt.wsize||Pt!==yt.avail_out&&xt.mode<BAD&&(xt.mode<CHECK||Et!==Z_FINISH$1))&&updatewindow(yt,yt.output,yt.next_out,Pt-yt.avail_out),Rt-=yt.avail_in,Pt-=yt.avail_out,yt.total_in+=Rt,yt.total_out+=Pt,xt.total+=Pt,xt.wrap&4&&Pt&&(yt.adler=xt.check=xt.flags?crc32_1(xt.check,bt,Pt,yt.next_out-Pt):adler32_1(xt.check,bt,Pt,yt.next_out-Pt)),yt.data_type=xt.bits+(xt.last?64:0)+(xt.mode===TYPE?128:0)+(xt.mode===LEN_||xt.mode===COPY_?256:0),(Rt===0&&Pt===0||Et===Z_FINISH$1)&&Wt===Z_OK$1&&(Wt=Z_BUF_ERROR),Wt},inflateEnd=yt=>{if(inflateStateCheck(yt))return Z_STREAM_ERROR$1;let Et=yt.state;return Et.window&&(Et.window=null),yt.state=null,Z_OK$1},inflateGetHeader=(yt,Et)=>{if(inflateStateCheck(yt))return Z_STREAM_ERROR$1;const xt=yt.state;return(xt.wrap&2)===0?Z_STREAM_ERROR$1:(xt.head=Et,Et.done=!1,Z_OK$1)},inflateSetDictionary=(yt,Et)=>{const xt=Et.length;let vt,bt,At;return inflateStateCheck(yt)||(vt=yt.state,vt.wrap!==0&&vt.mode!==DICT)?Z_STREAM_ERROR$1:vt.mode===DICT&&(bt=1,bt=adler32_1(bt,Et,xt,0),bt!==vt.check)?Z_DATA_ERROR$1:(At=updatewindow(yt,Et,xt,xt),At?(vt.mode=MEM,Z_MEM_ERROR$1):(vt.havedict=1,Z_OK$1))};var inflateReset_1=inflateReset,inflateReset2_1=inflateReset2,inflateResetKeep_1=inflateResetKeep,inflateInit_1=inflateInit,inflateInit2_1=inflateInit2,inflate_2$1=inflate$2,inflateEnd_1=inflateEnd,inflateGetHeader_1=inflateGetHeader,inflateSetDictionary_1=inflateSetDictionary,inflateInfo="pako inflate (from Nodeca project)",inflate_1$2={inflateReset:inflateReset_1,inflateReset2:inflateReset2_1,inflateResetKeep:inflateResetKeep_1,inflateInit:inflateInit_1,inflateInit2:inflateInit2_1,inflate:inflate_2$1,inflateEnd:inflateEnd_1,inflateGetHeader:inflateGetHeader_1,inflateSetDictionary:inflateSetDictionary_1,inflateInfo};function GZheader(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var gzheader=GZheader;const toString=Object.prototype.toString,{Z_NO_FLUSH,Z_FINISH,Z_OK,Z_STREAM_END,Z_NEED_DICT,Z_STREAM_ERROR,Z_DATA_ERROR,Z_MEM_ERROR}=constants$2;function Inflate$1(yt){this.options=common.assign({chunkSize:1024*64,windowBits:15,to:""},yt||{});const Et=this.options;Et.raw&&Et.windowBits>=0&&Et.windowBits<16&&(Et.windowBits=-Et.windowBits,Et.windowBits===0&&(Et.windowBits=-15)),Et.windowBits>=0&&Et.windowBits<16&&!(yt&&yt.windowBits)&&(Et.windowBits+=32),Et.windowBits>15&&Et.windowBits<48&&(Et.windowBits&15)===0&&(Et.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new zstream,this.strm.avail_out=0;let xt=inflate_1$2.inflateInit2(this.strm,Et.windowBits);if(xt!==Z_OK)throw new Error(messages[xt]);if(this.header=new gzheader,inflate_1$2.inflateGetHeader(this.strm,this.header),Et.dictionary&&(typeof Et.dictionary=="string"?Et.dictionary=strings.string2buf(Et.dictionary):toString.call(Et.dictionary)==="[object ArrayBuffer]"&&(Et.dictionary=new Uint8Array(Et.dictionary)),Et.raw&&(xt=inflate_1$2.inflateSetDictionary(this.strm,Et.dictionary),xt!==Z_OK)))throw new Error(messages[xt])}Inflate$1.prototype.push=function(yt,Et){const xt=this.strm,vt=this.options.chunkSize,bt=this.options.dictionary;let At,Ft,Ct;if(this.ended)return!1;for(Et===~~Et?Ft=Et:Ft=Et===!0?Z_FINISH:Z_NO_FLUSH,toString.call(yt)==="[object ArrayBuffer]"?xt.input=new Uint8Array(yt):xt.input=yt,xt.next_in=0,xt.avail_in=xt.input.length;;){for(xt.avail_out===0&&(xt.output=new Uint8Array(vt),xt.next_out=0,xt.avail_out=vt),At=inflate_1$2.inflate(xt,Ft),At===Z_NEED_DICT&&bt&&(At=inflate_1$2.inflateSetDictionary(xt,bt),At===Z_OK?At=inflate_1$2.inflate(xt,Ft):At===Z_DATA_ERROR&&(At=Z_NEED_DICT));xt.avail_in>0&&At===Z_STREAM_END&&xt.state.wrap>0&&yt[xt.next_in]!==0;)inflate_1$2.inflateReset(xt),At=inflate_1$2.inflate(xt,Ft);switch(At){case Z_STREAM_ERROR:case Z_DATA_ERROR:case Z_NEED_DICT:case Z_MEM_ERROR:return this.onEnd(At),this.ended=!0,!1}if(Ct=xt.avail_out,xt.next_out&&(xt.avail_out===0||At===Z_STREAM_END))if(this.options.to==="string"){let wt=strings.utf8border(xt.output,xt.next_out),St=xt.next_out-wt,Tt=strings.buf2string(xt.output,wt);xt.next_out=St,xt.avail_out=vt-St,St&&xt.output.set(xt.output.subarray(wt,wt+St),0),this.onData(Tt)}else this.onData(xt.output.length===xt.next_out?xt.output:xt.output.subarray(0,xt.next_out));if(!(At===Z_OK&&Ct===0)){if(At===Z_STREAM_END)return At=inflate_1$2.inflateEnd(this.strm),this.onEnd(At),this.ended=!0,!0;if(xt.avail_in===0)break}}return!0},Inflate$1.prototype.onData=function(yt){this.chunks.push(yt)},Inflate$1.prototype.onEnd=function(yt){yt===Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=common.flattenChunks(this.chunks)),this.chunks=[],this.err=yt,this.msg=this.strm.msg};function inflate$1(yt,Et){const xt=new Inflate$1(Et);if(xt.push(yt),xt.err)throw xt.msg||messages[xt.err];return xt.result}function inflateRaw$1(yt,Et){return Et=Et||{},Et.raw=!0,inflate$1(yt,Et)}var Inflate_1$1=Inflate$1,inflate_2=inflate$1,inflateRaw_1$1=inflateRaw$1,ungzip$1=inflate$1,inflate_1$1={Inflate:Inflate_1$1,inflate:inflate_2,inflateRaw:inflateRaw_1$1,ungzip:ungzip$1};const{Deflate,deflate,deflateRaw,gzip}=deflate_1$1,{Inflate,inflate,inflateRaw,ungzip}=inflate_1$1;var Deflate_1=Deflate,deflate_1=deflate,deflateRaw_1=deflateRaw,gzip_1=gzip,Inflate_1=Inflate,inflate_1=inflate,inflateRaw_1=inflateRaw,ungzip_1=ungzip,constants_1=constants$2,pako={Deflate:Deflate_1,deflate:deflate_1,deflateRaw:deflateRaw_1,gzip:gzip_1,Inflate:Inflate_1,inflate:inflate_1,inflateRaw:inflateRaw_1,ungzip:ungzip_1,constants:constants_1};const pako_esm=Object.freeze(Object.defineProperty({__proto__:null,Deflate:Deflate_1,Inflate:Inflate_1,constants:constants_1,default:pako,deflate:deflate_1,deflateRaw:deflateRaw_1,gzip:gzip_1,inflate:inflate_1,inflateRaw:inflateRaw_1,ungzip:ungzip_1},Symbol.toStringTag,{value:"Module"}));exports.DEFAULT_CONFIG=DEFAULT_CONFIG$1,exports.Domain=Domain,exports.FORMAT_PRESETS=FORMAT_PRESETS,exports.Gene=Gene,exports.GenomeView=GenomeView,exports.HoodiniDashboard=HoodiniDashboard,exports.HoodiniDashboardDefault=HoodiniDashboard,exports.HoodiniViz=HoodiniViz,exports.PhyloNode=PhyloNode,exports.PhyloTree=PhyloTree,exports.React=React,exports.ReactDOM=client,exports.getPaletteColors=getPaletteColors,exports.getQualitativePalettes=getQualitativePalettes,exports.getSequentialPalettes=getSequentialPalettes,Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})}));
5522
+ `),new Transform("",kIdentity,":"),new Transform(" ",kIdentity,". "),new Transform("",kIdentity,"ed "),new Transform("",kOmitFirst9,""),new Transform("",kOmitFirst7,""),new Transform("",kOmitLast6,""),new Transform("",kIdentity,"("),new Transform("",kUppercaseFirst,", "),new Transform("",kOmitLast8,""),new Transform("",kIdentity," at "),new Transform("",kIdentity,"ly "),new Transform(" the ",kIdentity," of "),new Transform("",kOmitLast5,""),new Transform("",kOmitLast9,""),new Transform(" ",kUppercaseFirst,", "),new Transform("",kUppercaseFirst,'"'),new Transform(".",kIdentity,"("),new Transform("",kUppercaseAll," "),new Transform("",kUppercaseFirst,'">'),new Transform("",kIdentity,'="'),new Transform(" ",kIdentity,"."),new Transform(".com/",kIdentity,""),new Transform(" the ",kIdentity," of the "),new Transform("",kUppercaseFirst,"'"),new Transform("",kIdentity,". This "),new Transform("",kIdentity,","),new Transform(".",kIdentity," "),new Transform("",kUppercaseFirst,"("),new Transform("",kUppercaseFirst,"."),new Transform("",kIdentity," not "),new Transform(" ",kIdentity,'="'),new Transform("",kIdentity,"er "),new Transform(" ",kUppercaseAll," "),new Transform("",kIdentity,"al "),new Transform(" ",kUppercaseAll,""),new Transform("",kIdentity,"='"),new Transform("",kUppercaseAll,'"'),new Transform("",kUppercaseFirst,". "),new Transform(" ",kIdentity,"("),new Transform("",kIdentity,"ful "),new Transform(" ",kUppercaseFirst,". "),new Transform("",kIdentity,"ive "),new Transform("",kIdentity,"less "),new Transform("",kUppercaseAll,"'"),new Transform("",kIdentity,"est "),new Transform(" ",kUppercaseFirst,"."),new Transform("",kUppercaseAll,'">'),new Transform(" ",kIdentity,"='"),new Transform("",kUppercaseFirst,","),new Transform("",kIdentity,"ize "),new Transform("",kUppercaseAll,"."),new Transform(" ",kIdentity,""),new Transform(" ",kIdentity,","),new Transform("",kUppercaseFirst,'="'),new Transform("",kUppercaseAll,'="'),new Transform("",kIdentity,"ous "),new Transform("",kUppercaseAll,", "),new Transform("",kUppercaseFirst,"='"),new Transform(" ",kUppercaseFirst,","),new Transform(" ",kUppercaseAll,'="'),new Transform(" ",kUppercaseAll,", "),new Transform("",kUppercaseAll,","),new Transform("",kUppercaseAll,"("),new Transform("",kUppercaseAll,". "),new Transform(" ",kUppercaseAll,"."),new Transform("",kUppercaseAll,"='"),new Transform(" ",kUppercaseAll,". "),new Transform(" ",kUppercaseFirst,'="'),new Transform(" ",kUppercaseAll,"='"),new Transform(" ",kUppercaseFirst,"='")],kNumTransforms=kTransforms.length;function ToUpperCase(yt,Et){return yt[Et]<192?(yt[Et]>=97&&yt[Et]<=122&&(yt[Et]^=32),1):yt[Et]<224?(yt[Et+1]^=32,2):(yt[Et+2]^=5,3)}function transformDictionaryWord(yt,Et,xt,vt,bt){const At=getDictionary(),{prefix:Ft}=kTransforms[bt],{suffix:Ct}=kTransforms[bt],wt=kTransforms[bt].transform;let St=wt<kOmitFirst1?0:wt-(kOmitFirst1-1);const Tt=Et;St>vt&&(St=vt);let Rt=0;for(;Rt<Ft.length;)yt[Et++]=Ft[Rt++];xt+=St,vt-=St,wt<=kOmitLast9&&(vt-=wt);for(let kt=0;kt<vt;kt++)yt[Et++]=At[xt+kt];let Pt=Et-vt;if(wt===kUppercaseFirst)ToUpperCase(yt,Pt);else if(wt===kUppercaseAll)for(;vt>0;){const kt=ToUpperCase(yt,Pt);Pt+=kt,vt-=kt}let Lt=0;for(;Lt<Ct.length;)yt[Et++]=Ct[Lt++];return Et-Tt}const kNumLiteralCodes=256,kNumInsertAndCopyCodes=704,kNumBlockLengthCodes=26,kLiteralContextBits=6,kDistanceContextBits=2,NUM_DISTANCE_SHORT_CODES=16,kDistanceShortCodeIndexOffset=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),kDistanceShortCodeValueOffset=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),offsetsByLength=new Uint32Array([0,0,0,0,0,4096,9216,21504,35840,44032,53248,63488,74752,87040,93696,100864,104704,106752,108928,113536,115968,118528,119872,121280,122016]),sizeBitsByLength=new Uint8Array([0,0,0,0,10,10,11,11,10,10,10,10,10,9,9,8,7,7,8,7,7,6,6,5,5]),minDictionaryWordLength=4,maxDictionaryWordLength=24;function decompressBrotli(yt,Et){const xt=new Uint8Array(Et),vt=new BrotliInput(yt),bt=new BrotliOutput(xt);return brotli(vt,bt),xt}function brotli(yt,Et){let xt=0,vt=0,bt=0,At=0;const Ft=[16,15,11,4];let Ct=0,wt=0,St=0;const Tt=[new HuffmanTreeGroup(0,0),new HuffmanTreeGroup(0,0),new HuffmanTreeGroup(0,0)],Rt=128+BrotliBitReader.READ_SIZE,Pt=new BrotliBitReader(yt);bt=decodeWindowBits(Pt);const Lt=(1<<bt)-16,kt=1<<bt,Ot=kt-1,Mt=new Uint8Array(kt+Rt+maxDictionaryWordLength),It=kt,Nt=[],Ut=[];for(let jt=0;jt<3*HUFFMAN_MAX_TABLE_SIZE;jt++)Nt[jt]=new HuffmanCode(0,0),Ut[jt]=new HuffmanCode(0,0);for(;!vt;){let jt=0;const Vt=[1<<28,1<<28,1<<28],zt=[0],Ht=[1,1,1],Wt=[0,1,0,1,0,1],Gt=[0];let qt=0;for(let xn=0;xn<3;xn++)Tt[xn].codes=[],Tt[xn].htrees=new Uint32Array;Pt.readMoreInput();const Xt=decodeMetaBlockLength(Pt);if(jt=Xt.meta_block_length,xt+jt>Et.buffer.length){const xn=new Uint8Array(xt+jt);xn.set(Et.buffer),Et.buffer=xn}if(vt=Xt.input_end,Xt.is_metadata){for(jumpToByteBoundary(Pt);jt>0;--jt)Pt.readMoreInput(),Pt.readBits(8);continue}if(jt===0)continue;if(Xt.is_uncompressed){Pt.bit_pos_=Pt.bit_pos_+7&-8,copyUncompressedBlockToOutput(Et,jt,xt,Mt,Ot,Pt),xt+=jt;continue}for(let xn=0;xn<3;xn++)Ht[xn]=decodeVarLenUint8(Pt)+1,Ht[xn]>=2&&(readHuffmanCode(Ht[xn]+2,Nt,xn*HUFFMAN_MAX_TABLE_SIZE,Pt),readHuffmanCode(kNumBlockLengthCodes,Ut,xn*HUFFMAN_MAX_TABLE_SIZE,Pt),Vt[xn]=readBlockLength(Ut,xn*HUFFMAN_MAX_TABLE_SIZE,Pt),Gt[xn]=1);Pt.readMoreInput();const Kt=Pt.readBits(2),Jt=NUM_DISTANCE_SHORT_CODES+(Pt.readBits(4)<<Kt),tn=(1<<Kt)-1,sn=Jt+(48<<Kt),Zt=new Uint8Array(Ht[0]);for(let xn=0;xn<Ht[0];xn++)Pt.readMoreInput(),Zt[xn]=Pt.readBits(2)<<1;const[nn,rn]=decodeContextMap(Ht[0]<<kLiteralContextBits,Pt),[on,ln]=decodeContextMap(Ht[2]<<kDistanceContextBits,Pt);Tt[0]=new HuffmanTreeGroup(kNumLiteralCodes,nn),Tt[1]=new HuffmanTreeGroup(kNumInsertAndCopyCodes,Ht[1]),Tt[2]=new HuffmanTreeGroup(sn,on);for(let xn=0;xn<3;++xn)Tt[xn].decode(Pt);let Qt=0,fn=0,pn=Zt[zt[0]],mn=lookupOffsets[pn],vn=lookupOffsets[pn+1],yn=Tt[1].htrees[0];for(;jt>0;){let xn;Pt.readMoreInput(),Vt[1]===0&&(decodeBlockType(Ht[1],Nt,1,zt,Wt,Gt,Pt),Vt[1]=readBlockLength(Ut,HUFFMAN_MAX_TABLE_SIZE,Pt),yn=Tt[1].htrees[zt[1]]),Vt[1]--;const Mn=readSymbol(Tt[1].codes,yn,Pt);let $n=Mn>>6;$n>=2?($n-=2,xn=-1):xn=0;const Rn=kInsertRangeLut[$n]+(Mn>>3&7),Tn=kInsertLengthPrefixCode[Rn],ir=Tn.offset+Pt.readBits(Tn.nbits),Jn=kCopyRangeLut[$n]+(Mn&7),jn=kCopyLengthPrefixCode[Jn],Wn=jn.offset+Pt.readBits(jn.nbits);wt=Mt[xt-1&Ot],St=Mt[xt-2&Ot];for(let Cr=0;Cr<ir;Cr++){Pt.readMoreInput(),Vt[0]===0&&(decodeBlockType(Ht[0],Nt,0,zt,Wt,Gt,Pt),Vt[0]=readBlockLength(Ut,0,Pt),qt=zt[0]<<kLiteralContextBits,Qt=qt,pn=Zt[zt[0]],mn=lookupOffsets[pn],vn=lookupOffsets[pn+1]);const dr=lookup[mn+wt]|lookup[vn+St],_r=rn[Qt+dr];Vt[0]--,St=wt,wt=readSymbol(Tt[0].codes,Tt[0].htrees[_r],Pt),Mt[xt&Ot]=wt,(xt&Ot)===Ot&&Et.write(Mt,kt),xt++}if(jt-=ir,jt<=0)break;if(xn<0){Pt.readMoreInput(),Vt[2]===0&&(decodeBlockType(Ht[2],Nt,2,zt,Wt,Gt,Pt),Vt[2]=readBlockLength(Ut,2*HUFFMAN_MAX_TABLE_SIZE,Pt),fn=zt[2]<<kDistanceContextBits),Vt[2]--;const Cr=(Wn>4?3:Wn-2)&255,dr=ln[fn+Cr];if(xn=readSymbol(Tt[2].codes,Tt[2].htrees[dr],Pt),xn>=Jt){xn-=Jt;const _r=xn&tn;xn>>=Kt;const pr=(xn>>1)+1,wr=(2+(xn&1)<<pr)-4;xn=Jt+(wr+Pt.readBits(pr)<<Kt)+_r}}const br=translateShortCodes(xn,Ft,Ct);if(br<0)throw new Error("[BrotliDecompress] invalid distance");xt<Lt&&At!==Lt?At=xt:At=Lt;let Fr=xt&Ot;if(br>At)if(Wn>=minDictionaryWordLength&&Wn<=maxDictionaryWordLength){let Cr=offsetsByLength[Wn];const dr=br-At-1,_r=sizeBitsByLength[Wn],pr=(1<<_r)-1,wr=dr&pr,xr=dr>>_r;if(Cr+=wr*Wn,xr<kNumTransforms){const Dr=transformDictionaryWord(Mt,Fr,Cr,Wn,xr);if(Fr+=Dr,xt+=Dr,jt-=Dr,Fr>=It){Et.write(Mt,kt);for(let ar=0;ar<Fr-It;ar++)Mt[ar]=Mt[It+ar]}}else throw new Error("Invalid backward reference")}else throw new Error("Invalid backward reference");else{if(xn>0&&(Ft[Ct&3]=br,Ct++),Wn>jt)throw new Error("Invalid backward reference");for(let Cr=0;Cr<Wn;Cr++)Mt[xt&Ot]=Mt[xt-br&Ot],(xt&Ot)===Ot&&Et.write(Mt,kt),xt++,jt--}wt=Mt[xt-1&Ot],St=Mt[xt-2&Ot]}xt&=1073741823}Et.write(Mt,xt&Ot)}function translateShortCodes(yt,Et,xt){return yt<NUM_DISTANCE_SHORT_CODES?(xt+=kDistanceShortCodeIndexOffset[yt],xt&=3,Et[xt]+kDistanceShortCodeValueOffset[yt]):yt-NUM_DISTANCE_SHORT_CODES+1}function decompressLz4(yt,Et){const xt=new Uint8Array(Et);try{let vt=0,bt=0;for(;vt<yt.length-8;){const At=yt[vt++]<<24|yt[vt++]<<16|yt[vt++]<<8|yt[vt++],Ft=yt[vt++]<<24|yt[vt++]<<16|yt[vt++]<<8|yt[vt++];if(yt.length-vt<Ft)throw new Error("lz4 not hadoop");if(xt.length<At)throw new Error("lz4 not hadoop");if(lz4basic(yt.subarray(vt,vt+Ft),xt,bt)!==At)throw new Error("lz4 not hadoop");if(vt+=Ft,bt+=At,vt===yt.length)return xt}if(vt<yt.length)throw new Error("lz4 not hadoop")}catch(vt){if(vt instanceof Error&&vt.message!=="lz4 not hadoop")throw vt;lz4basic(yt,xt,0)}return xt}function decompressLz4Raw(yt,Et){const xt=new Uint8Array(Et);return lz4basic(yt,xt,0),xt}function lz4basic(yt,Et,xt){let vt=xt;for(let bt=0;bt<yt.length;){const At=yt[bt++];let Ft=At>>4;if(Ft){let Pt=Ft+240;for(;Pt===255;)Ft+=Pt=yt[bt++];if(Et.set(yt.subarray(bt,bt+Ft),vt),vt+=Ft,bt+=Ft,bt>=yt.length)return vt-xt}const Ct=yt[bt++]|yt[bt++]<<8;if(!Ct||Ct>vt)throw new Error(`lz4 offset out of range ${Ct}`);let wt=(At&15)+4,St=wt+240;for(;St===255;)wt+=St=yt[bt++];let Tt=vt-Ct;const Rt=vt+wt;for(;vt<Rt;)Et[vt++]=Et[Tt++]}return vt-xt}const compressors={SNAPPY:snappyUncompressor(),GZIP:(yt,Et)=>gunzip(yt,new Uint8Array(Et)),BROTLI:decompressBrotli,ZSTD:yt=>decompress(yt),LZ4:decompressLz4,LZ4_RAW:decompressLz4Raw};function decompressGzip(yt,Et){return gunzip(yt,new Uint8Array(Et))}const index=Object.freeze(Object.defineProperty({__proto__:null,compressors,decompressBrotli,decompressGzip,decompressLz4,decompressLz4Raw,decompressSnappy:snappyUncompress,decompressZstd:decompress,gunzip},Symbol.toStringTag,{value:"Module"}));const Z_FIXED$1=4,Z_BINARY=0,Z_TEXT=1,Z_UNKNOWN$1=2;function zero$1(yt){let Et=yt.length;for(;--Et>=0;)yt[Et]=0}const STORED_BLOCK=0,STATIC_TREES=1,DYN_TREES=2,MIN_MATCH$1=3,MAX_MATCH$1=258,LENGTH_CODES$1=29,LITERALS$1=256,L_CODES$1=LITERALS$1+1+LENGTH_CODES$1,D_CODES$1=30,BL_CODES$1=19,HEAP_SIZE$1=2*L_CODES$1+1,MAX_BITS$1=15,Buf_size=16,MAX_BL_BITS=7,END_BLOCK=256,REP_3_6=16,REPZ_3_10=17,REPZ_11_138=18,extra_lbits=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),extra_dbits=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),extra_blbits=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),bl_order=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),DIST_CODE_LEN=512,static_ltree=new Array((L_CODES$1+2)*2);zero$1(static_ltree);const static_dtree=new Array(D_CODES$1*2);zero$1(static_dtree);const _dist_code=new Array(DIST_CODE_LEN);zero$1(_dist_code);const _length_code=new Array(MAX_MATCH$1-MIN_MATCH$1+1);zero$1(_length_code);const base_length=new Array(LENGTH_CODES$1);zero$1(base_length);const base_dist=new Array(D_CODES$1);zero$1(base_dist);function StaticTreeDesc(yt,Et,xt,vt,bt){this.static_tree=yt,this.extra_bits=Et,this.extra_base=xt,this.elems=vt,this.max_length=bt,this.has_stree=yt&&yt.length}let static_l_desc,static_d_desc,static_bl_desc;function TreeDesc(yt,Et){this.dyn_tree=yt,this.max_code=0,this.stat_desc=Et}const d_code=yt=>yt<256?_dist_code[yt]:_dist_code[256+(yt>>>7)],put_short=(yt,Et)=>{yt.pending_buf[yt.pending++]=Et&255,yt.pending_buf[yt.pending++]=Et>>>8&255},send_bits=(yt,Et,xt)=>{yt.bi_valid>Buf_size-xt?(yt.bi_buf|=Et<<yt.bi_valid&65535,put_short(yt,yt.bi_buf),yt.bi_buf=Et>>Buf_size-yt.bi_valid,yt.bi_valid+=xt-Buf_size):(yt.bi_buf|=Et<<yt.bi_valid&65535,yt.bi_valid+=xt)},send_code=(yt,Et,xt)=>{send_bits(yt,xt[Et*2],xt[Et*2+1])},bi_reverse=(yt,Et)=>{let xt=0;do xt|=yt&1,yt>>>=1,xt<<=1;while(--Et>0);return xt>>>1},bi_flush=yt=>{yt.bi_valid===16?(put_short(yt,yt.bi_buf),yt.bi_buf=0,yt.bi_valid=0):yt.bi_valid>=8&&(yt.pending_buf[yt.pending++]=yt.bi_buf&255,yt.bi_buf>>=8,yt.bi_valid-=8)},gen_bitlen=(yt,Et)=>{const xt=Et.dyn_tree,vt=Et.max_code,bt=Et.stat_desc.static_tree,At=Et.stat_desc.has_stree,Ft=Et.stat_desc.extra_bits,Ct=Et.stat_desc.extra_base,wt=Et.stat_desc.max_length;let St,Tt,Rt,Pt,Lt,kt,Ot=0;for(Pt=0;Pt<=MAX_BITS$1;Pt++)yt.bl_count[Pt]=0;for(xt[yt.heap[yt.heap_max]*2+1]=0,St=yt.heap_max+1;St<HEAP_SIZE$1;St++)Tt=yt.heap[St],Pt=xt[xt[Tt*2+1]*2+1]+1,Pt>wt&&(Pt=wt,Ot++),xt[Tt*2+1]=Pt,!(Tt>vt)&&(yt.bl_count[Pt]++,Lt=0,Tt>=Ct&&(Lt=Ft[Tt-Ct]),kt=xt[Tt*2],yt.opt_len+=kt*(Pt+Lt),At&&(yt.static_len+=kt*(bt[Tt*2+1]+Lt)));if(Ot!==0){do{for(Pt=wt-1;yt.bl_count[Pt]===0;)Pt--;yt.bl_count[Pt]--,yt.bl_count[Pt+1]+=2,yt.bl_count[wt]--,Ot-=2}while(Ot>0);for(Pt=wt;Pt!==0;Pt--)for(Tt=yt.bl_count[Pt];Tt!==0;)Rt=yt.heap[--St],!(Rt>vt)&&(xt[Rt*2+1]!==Pt&&(yt.opt_len+=(Pt-xt[Rt*2+1])*xt[Rt*2],xt[Rt*2+1]=Pt),Tt--)}},gen_codes=(yt,Et,xt)=>{const vt=new Array(MAX_BITS$1+1);let bt=0,At,Ft;for(At=1;At<=MAX_BITS$1;At++)bt=bt+xt[At-1]<<1,vt[At]=bt;for(Ft=0;Ft<=Et;Ft++){let Ct=yt[Ft*2+1];Ct!==0&&(yt[Ft*2]=bi_reverse(vt[Ct]++,Ct))}},tr_static_init=()=>{let yt,Et,xt,vt,bt;const At=new Array(MAX_BITS$1+1);for(xt=0,vt=0;vt<LENGTH_CODES$1-1;vt++)for(base_length[vt]=xt,yt=0;yt<1<<extra_lbits[vt];yt++)_length_code[xt++]=vt;for(_length_code[xt-1]=vt,bt=0,vt=0;vt<16;vt++)for(base_dist[vt]=bt,yt=0;yt<1<<extra_dbits[vt];yt++)_dist_code[bt++]=vt;for(bt>>=7;vt<D_CODES$1;vt++)for(base_dist[vt]=bt<<7,yt=0;yt<1<<extra_dbits[vt]-7;yt++)_dist_code[256+bt++]=vt;for(Et=0;Et<=MAX_BITS$1;Et++)At[Et]=0;for(yt=0;yt<=143;)static_ltree[yt*2+1]=8,yt++,At[8]++;for(;yt<=255;)static_ltree[yt*2+1]=9,yt++,At[9]++;for(;yt<=279;)static_ltree[yt*2+1]=7,yt++,At[7]++;for(;yt<=287;)static_ltree[yt*2+1]=8,yt++,At[8]++;for(gen_codes(static_ltree,L_CODES$1+1,At),yt=0;yt<D_CODES$1;yt++)static_dtree[yt*2+1]=5,static_dtree[yt*2]=bi_reverse(yt,5);static_l_desc=new StaticTreeDesc(static_ltree,extra_lbits,LITERALS$1+1,L_CODES$1,MAX_BITS$1),static_d_desc=new StaticTreeDesc(static_dtree,extra_dbits,0,D_CODES$1,MAX_BITS$1),static_bl_desc=new StaticTreeDesc(new Array(0),extra_blbits,0,BL_CODES$1,MAX_BL_BITS)},init_block=yt=>{let Et;for(Et=0;Et<L_CODES$1;Et++)yt.dyn_ltree[Et*2]=0;for(Et=0;Et<D_CODES$1;Et++)yt.dyn_dtree[Et*2]=0;for(Et=0;Et<BL_CODES$1;Et++)yt.bl_tree[Et*2]=0;yt.dyn_ltree[END_BLOCK*2]=1,yt.opt_len=yt.static_len=0,yt.sym_next=yt.matches=0},bi_windup=yt=>{yt.bi_valid>8?put_short(yt,yt.bi_buf):yt.bi_valid>0&&(yt.pending_buf[yt.pending++]=yt.bi_buf),yt.bi_buf=0,yt.bi_valid=0},smaller=(yt,Et,xt,vt)=>{const bt=Et*2,At=xt*2;return yt[bt]<yt[At]||yt[bt]===yt[At]&&vt[Et]<=vt[xt]},pqdownheap=(yt,Et,xt)=>{const vt=yt.heap[xt];let bt=xt<<1;for(;bt<=yt.heap_len&&(bt<yt.heap_len&&smaller(Et,yt.heap[bt+1],yt.heap[bt],yt.depth)&&bt++,!smaller(Et,vt,yt.heap[bt],yt.depth));)yt.heap[xt]=yt.heap[bt],xt=bt,bt<<=1;yt.heap[xt]=vt},compress_block=(yt,Et,xt)=>{let vt,bt,At=0,Ft,Ct;if(yt.sym_next!==0)do vt=yt.pending_buf[yt.sym_buf+At++]&255,vt+=(yt.pending_buf[yt.sym_buf+At++]&255)<<8,bt=yt.pending_buf[yt.sym_buf+At++],vt===0?send_code(yt,bt,Et):(Ft=_length_code[bt],send_code(yt,Ft+LITERALS$1+1,Et),Ct=extra_lbits[Ft],Ct!==0&&(bt-=base_length[Ft],send_bits(yt,bt,Ct)),vt--,Ft=d_code(vt),send_code(yt,Ft,xt),Ct=extra_dbits[Ft],Ct!==0&&(vt-=base_dist[Ft],send_bits(yt,vt,Ct)));while(At<yt.sym_next);send_code(yt,END_BLOCK,Et)},build_tree=(yt,Et)=>{const xt=Et.dyn_tree,vt=Et.stat_desc.static_tree,bt=Et.stat_desc.has_stree,At=Et.stat_desc.elems;let Ft,Ct,wt=-1,St;for(yt.heap_len=0,yt.heap_max=HEAP_SIZE$1,Ft=0;Ft<At;Ft++)xt[Ft*2]!==0?(yt.heap[++yt.heap_len]=wt=Ft,yt.depth[Ft]=0):xt[Ft*2+1]=0;for(;yt.heap_len<2;)St=yt.heap[++yt.heap_len]=wt<2?++wt:0,xt[St*2]=1,yt.depth[St]=0,yt.opt_len--,bt&&(yt.static_len-=vt[St*2+1]);for(Et.max_code=wt,Ft=yt.heap_len>>1;Ft>=1;Ft--)pqdownheap(yt,xt,Ft);St=At;do Ft=yt.heap[1],yt.heap[1]=yt.heap[yt.heap_len--],pqdownheap(yt,xt,1),Ct=yt.heap[1],yt.heap[--yt.heap_max]=Ft,yt.heap[--yt.heap_max]=Ct,xt[St*2]=xt[Ft*2]+xt[Ct*2],yt.depth[St]=(yt.depth[Ft]>=yt.depth[Ct]?yt.depth[Ft]:yt.depth[Ct])+1,xt[Ft*2+1]=xt[Ct*2+1]=St,yt.heap[1]=St++,pqdownheap(yt,xt,1);while(yt.heap_len>=2);yt.heap[--yt.heap_max]=yt.heap[1],gen_bitlen(yt,Et),gen_codes(xt,wt,yt.bl_count)},scan_tree=(yt,Et,xt)=>{let vt,bt=-1,At,Ft=Et[1],Ct=0,wt=7,St=4;for(Ft===0&&(wt=138,St=3),Et[(xt+1)*2+1]=65535,vt=0;vt<=xt;vt++)At=Ft,Ft=Et[(vt+1)*2+1],!(++Ct<wt&&At===Ft)&&(Ct<St?yt.bl_tree[At*2]+=Ct:At!==0?(At!==bt&&yt.bl_tree[At*2]++,yt.bl_tree[REP_3_6*2]++):Ct<=10?yt.bl_tree[REPZ_3_10*2]++:yt.bl_tree[REPZ_11_138*2]++,Ct=0,bt=At,Ft===0?(wt=138,St=3):At===Ft?(wt=6,St=3):(wt=7,St=4))},send_tree=(yt,Et,xt)=>{let vt,bt=-1,At,Ft=Et[1],Ct=0,wt=7,St=4;for(Ft===0&&(wt=138,St=3),vt=0;vt<=xt;vt++)if(At=Ft,Ft=Et[(vt+1)*2+1],!(++Ct<wt&&At===Ft)){if(Ct<St)do send_code(yt,At,yt.bl_tree);while(--Ct!==0);else At!==0?(At!==bt&&(send_code(yt,At,yt.bl_tree),Ct--),send_code(yt,REP_3_6,yt.bl_tree),send_bits(yt,Ct-3,2)):Ct<=10?(send_code(yt,REPZ_3_10,yt.bl_tree),send_bits(yt,Ct-3,3)):(send_code(yt,REPZ_11_138,yt.bl_tree),send_bits(yt,Ct-11,7));Ct=0,bt=At,Ft===0?(wt=138,St=3):At===Ft?(wt=6,St=3):(wt=7,St=4)}},build_bl_tree=yt=>{let Et;for(scan_tree(yt,yt.dyn_ltree,yt.l_desc.max_code),scan_tree(yt,yt.dyn_dtree,yt.d_desc.max_code),build_tree(yt,yt.bl_desc),Et=BL_CODES$1-1;Et>=3&&yt.bl_tree[bl_order[Et]*2+1]===0;Et--);return yt.opt_len+=3*(Et+1)+5+5+4,Et},send_all_trees=(yt,Et,xt,vt)=>{let bt;for(send_bits(yt,Et-257,5),send_bits(yt,xt-1,5),send_bits(yt,vt-4,4),bt=0;bt<vt;bt++)send_bits(yt,yt.bl_tree[bl_order[bt]*2+1],3);send_tree(yt,yt.dyn_ltree,Et-1),send_tree(yt,yt.dyn_dtree,xt-1)},detect_data_type=yt=>{let Et=4093624447,xt;for(xt=0;xt<=31;xt++,Et>>>=1)if(Et&1&&yt.dyn_ltree[xt*2]!==0)return Z_BINARY;if(yt.dyn_ltree[18]!==0||yt.dyn_ltree[20]!==0||yt.dyn_ltree[26]!==0)return Z_TEXT;for(xt=32;xt<LITERALS$1;xt++)if(yt.dyn_ltree[xt*2]!==0)return Z_TEXT;return Z_BINARY};let static_init_done=!1;const _tr_init$1=yt=>{static_init_done||(tr_static_init(),static_init_done=!0),yt.l_desc=new TreeDesc(yt.dyn_ltree,static_l_desc),yt.d_desc=new TreeDesc(yt.dyn_dtree,static_d_desc),yt.bl_desc=new TreeDesc(yt.bl_tree,static_bl_desc),yt.bi_buf=0,yt.bi_valid=0,init_block(yt)},_tr_stored_block$1=(yt,Et,xt,vt)=>{send_bits(yt,(STORED_BLOCK<<1)+(vt?1:0),3),bi_windup(yt),put_short(yt,xt),put_short(yt,~xt),xt&&yt.pending_buf.set(yt.window.subarray(Et,Et+xt),yt.pending),yt.pending+=xt},_tr_align$1=yt=>{send_bits(yt,STATIC_TREES<<1,3),send_code(yt,END_BLOCK,static_ltree),bi_flush(yt)},_tr_flush_block$1=(yt,Et,xt,vt)=>{let bt,At,Ft=0;yt.level>0?(yt.strm.data_type===Z_UNKNOWN$1&&(yt.strm.data_type=detect_data_type(yt)),build_tree(yt,yt.l_desc),build_tree(yt,yt.d_desc),Ft=build_bl_tree(yt),bt=yt.opt_len+3+7>>>3,At=yt.static_len+3+7>>>3,At<=bt&&(bt=At)):bt=At=xt+5,xt+4<=bt&&Et!==-1?_tr_stored_block$1(yt,Et,xt,vt):yt.strategy===Z_FIXED$1||At===bt?(send_bits(yt,(STATIC_TREES<<1)+(vt?1:0),3),compress_block(yt,static_ltree,static_dtree)):(send_bits(yt,(DYN_TREES<<1)+(vt?1:0),3),send_all_trees(yt,yt.l_desc.max_code+1,yt.d_desc.max_code+1,Ft+1),compress_block(yt,yt.dyn_ltree,yt.dyn_dtree)),init_block(yt),vt&&bi_windup(yt)},_tr_tally$1=(yt,Et,xt)=>(yt.pending_buf[yt.sym_buf+yt.sym_next++]=Et,yt.pending_buf[yt.sym_buf+yt.sym_next++]=Et>>8,yt.pending_buf[yt.sym_buf+yt.sym_next++]=xt,Et===0?yt.dyn_ltree[xt*2]++:(yt.matches++,Et--,yt.dyn_ltree[(_length_code[xt]+LITERALS$1+1)*2]++,yt.dyn_dtree[d_code(Et)*2]++),yt.sym_next===yt.sym_end);var _tr_init_1=_tr_init$1,_tr_stored_block_1=_tr_stored_block$1,_tr_flush_block_1=_tr_flush_block$1,_tr_tally_1=_tr_tally$1,_tr_align_1=_tr_align$1,trees={_tr_init:_tr_init_1,_tr_stored_block:_tr_stored_block_1,_tr_flush_block:_tr_flush_block_1,_tr_tally:_tr_tally_1,_tr_align:_tr_align_1};const adler32=(yt,Et,xt,vt)=>{let bt=yt&65535|0,At=yt>>>16&65535|0,Ft=0;for(;xt!==0;){Ft=xt>2e3?2e3:xt,xt-=Ft;do bt=bt+Et[vt++]|0,At=At+bt|0;while(--Ft);bt%=65521,At%=65521}return bt|At<<16|0};var adler32_1=adler32;const makeTable=()=>{let yt,Et=[];for(var xt=0;xt<256;xt++){yt=xt;for(var vt=0;vt<8;vt++)yt=yt&1?3988292384^yt>>>1:yt>>>1;Et[xt]=yt}return Et},crcTable=new Uint32Array(makeTable()),crc32=(yt,Et,xt,vt)=>{const bt=crcTable,At=vt+xt;yt^=-1;for(let Ft=vt;Ft<At;Ft++)yt=yt>>>8^bt[(yt^Et[Ft])&255];return yt^-1};var crc32_1=crc32,messages={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},constants$2={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init,_tr_stored_block,_tr_flush_block,_tr_tally,_tr_align}=trees,{Z_NO_FLUSH:Z_NO_FLUSH$2,Z_PARTIAL_FLUSH,Z_FULL_FLUSH:Z_FULL_FLUSH$1,Z_FINISH:Z_FINISH$3,Z_BLOCK:Z_BLOCK$1,Z_OK:Z_OK$3,Z_STREAM_END:Z_STREAM_END$3,Z_STREAM_ERROR:Z_STREAM_ERROR$2,Z_DATA_ERROR:Z_DATA_ERROR$2,Z_BUF_ERROR:Z_BUF_ERROR$1,Z_DEFAULT_COMPRESSION:Z_DEFAULT_COMPRESSION$1,Z_FILTERED,Z_HUFFMAN_ONLY,Z_RLE,Z_FIXED,Z_DEFAULT_STRATEGY:Z_DEFAULT_STRATEGY$1,Z_UNKNOWN,Z_DEFLATED:Z_DEFLATED$2}=constants$2,MAX_MEM_LEVEL=9,MAX_WBITS$1=15,DEF_MEM_LEVEL=8,LENGTH_CODES=29,LITERALS=256,L_CODES=LITERALS+1+LENGTH_CODES,D_CODES=30,BL_CODES=19,HEAP_SIZE=2*L_CODES+1,MAX_BITS=15,MIN_MATCH=3,MAX_MATCH=258,MIN_LOOKAHEAD=MAX_MATCH+MIN_MATCH+1,PRESET_DICT=32,INIT_STATE=42,GZIP_STATE=57,EXTRA_STATE=69,NAME_STATE=73,COMMENT_STATE=91,HCRC_STATE=103,BUSY_STATE=113,FINISH_STATE=666,BS_NEED_MORE=1,BS_BLOCK_DONE=2,BS_FINISH_STARTED=3,BS_FINISH_DONE=4,OS_CODE=3,err=(yt,Et)=>(yt.msg=messages[Et],Et),rank=yt=>yt*2-(yt>4?9:0),zero=yt=>{let Et=yt.length;for(;--Et>=0;)yt[Et]=0},slide_hash=yt=>{let Et,xt,vt,bt=yt.w_size;Et=yt.hash_size,vt=Et;do xt=yt.head[--vt],yt.head[vt]=xt>=bt?xt-bt:0;while(--Et);Et=bt,vt=Et;do xt=yt.prev[--vt],yt.prev[vt]=xt>=bt?xt-bt:0;while(--Et)};let HASH_ZLIB=(yt,Et,xt)=>(Et<<yt.hash_shift^xt)&yt.hash_mask,HASH=HASH_ZLIB;const flush_pending=yt=>{const Et=yt.state;let xt=Et.pending;xt>yt.avail_out&&(xt=yt.avail_out),xt!==0&&(yt.output.set(Et.pending_buf.subarray(Et.pending_out,Et.pending_out+xt),yt.next_out),yt.next_out+=xt,Et.pending_out+=xt,yt.total_out+=xt,yt.avail_out-=xt,Et.pending-=xt,Et.pending===0&&(Et.pending_out=0))},flush_block_only=(yt,Et)=>{_tr_flush_block(yt,yt.block_start>=0?yt.block_start:-1,yt.strstart-yt.block_start,Et),yt.block_start=yt.strstart,flush_pending(yt.strm)},put_byte=(yt,Et)=>{yt.pending_buf[yt.pending++]=Et},putShortMSB=(yt,Et)=>{yt.pending_buf[yt.pending++]=Et>>>8&255,yt.pending_buf[yt.pending++]=Et&255},read_buf=(yt,Et,xt,vt)=>{let bt=yt.avail_in;return bt>vt&&(bt=vt),bt===0?0:(yt.avail_in-=bt,Et.set(yt.input.subarray(yt.next_in,yt.next_in+bt),xt),yt.state.wrap===1?yt.adler=adler32_1(yt.adler,Et,bt,xt):yt.state.wrap===2&&(yt.adler=crc32_1(yt.adler,Et,bt,xt)),yt.next_in+=bt,yt.total_in+=bt,bt)},longest_match=(yt,Et)=>{let xt=yt.max_chain_length,vt=yt.strstart,bt,At,Ft=yt.prev_length,Ct=yt.nice_match;const wt=yt.strstart>yt.w_size-MIN_LOOKAHEAD?yt.strstart-(yt.w_size-MIN_LOOKAHEAD):0,St=yt.window,Tt=yt.w_mask,Rt=yt.prev,Pt=yt.strstart+MAX_MATCH;let Lt=St[vt+Ft-1],kt=St[vt+Ft];yt.prev_length>=yt.good_match&&(xt>>=2),Ct>yt.lookahead&&(Ct=yt.lookahead);do if(bt=Et,!(St[bt+Ft]!==kt||St[bt+Ft-1]!==Lt||St[bt]!==St[vt]||St[++bt]!==St[vt+1])){vt+=2,bt++;do;while(St[++vt]===St[++bt]&&St[++vt]===St[++bt]&&St[++vt]===St[++bt]&&St[++vt]===St[++bt]&&St[++vt]===St[++bt]&&St[++vt]===St[++bt]&&St[++vt]===St[++bt]&&St[++vt]===St[++bt]&&vt<Pt);if(At=MAX_MATCH-(Pt-vt),vt=Pt-MAX_MATCH,At>Ft){if(yt.match_start=Et,Ft=At,At>=Ct)break;Lt=St[vt+Ft-1],kt=St[vt+Ft]}}while((Et=Rt[Et&Tt])>wt&&--xt!==0);return Ft<=yt.lookahead?Ft:yt.lookahead},fill_window=yt=>{const Et=yt.w_size;let xt,vt,bt;do{if(vt=yt.window_size-yt.lookahead-yt.strstart,yt.strstart>=Et+(Et-MIN_LOOKAHEAD)&&(yt.window.set(yt.window.subarray(Et,Et+Et-vt),0),yt.match_start-=Et,yt.strstart-=Et,yt.block_start-=Et,yt.insert>yt.strstart&&(yt.insert=yt.strstart),slide_hash(yt),vt+=Et),yt.strm.avail_in===0)break;if(xt=read_buf(yt.strm,yt.window,yt.strstart+yt.lookahead,vt),yt.lookahead+=xt,yt.lookahead+yt.insert>=MIN_MATCH)for(bt=yt.strstart-yt.insert,yt.ins_h=yt.window[bt],yt.ins_h=HASH(yt,yt.ins_h,yt.window[bt+1]);yt.insert&&(yt.ins_h=HASH(yt,yt.ins_h,yt.window[bt+MIN_MATCH-1]),yt.prev[bt&yt.w_mask]=yt.head[yt.ins_h],yt.head[yt.ins_h]=bt,bt++,yt.insert--,!(yt.lookahead+yt.insert<MIN_MATCH)););}while(yt.lookahead<MIN_LOOKAHEAD&&yt.strm.avail_in!==0)},deflate_stored=(yt,Et)=>{let xt=yt.pending_buf_size-5>yt.w_size?yt.w_size:yt.pending_buf_size-5,vt,bt,At,Ft=0,Ct=yt.strm.avail_in;do{if(vt=65535,At=yt.bi_valid+42>>3,yt.strm.avail_out<At||(At=yt.strm.avail_out-At,bt=yt.strstart-yt.block_start,vt>bt+yt.strm.avail_in&&(vt=bt+yt.strm.avail_in),vt>At&&(vt=At),vt<xt&&(vt===0&&Et!==Z_FINISH$3||Et===Z_NO_FLUSH$2||vt!==bt+yt.strm.avail_in)))break;Ft=Et===Z_FINISH$3&&vt===bt+yt.strm.avail_in?1:0,_tr_stored_block(yt,0,0,Ft),yt.pending_buf[yt.pending-4]=vt,yt.pending_buf[yt.pending-3]=vt>>8,yt.pending_buf[yt.pending-2]=~vt,yt.pending_buf[yt.pending-1]=~vt>>8,flush_pending(yt.strm),bt&&(bt>vt&&(bt=vt),yt.strm.output.set(yt.window.subarray(yt.block_start,yt.block_start+bt),yt.strm.next_out),yt.strm.next_out+=bt,yt.strm.avail_out-=bt,yt.strm.total_out+=bt,yt.block_start+=bt,vt-=bt),vt&&(read_buf(yt.strm,yt.strm.output,yt.strm.next_out,vt),yt.strm.next_out+=vt,yt.strm.avail_out-=vt,yt.strm.total_out+=vt)}while(Ft===0);return Ct-=yt.strm.avail_in,Ct&&(Ct>=yt.w_size?(yt.matches=2,yt.window.set(yt.strm.input.subarray(yt.strm.next_in-yt.w_size,yt.strm.next_in),0),yt.strstart=yt.w_size,yt.insert=yt.strstart):(yt.window_size-yt.strstart<=Ct&&(yt.strstart-=yt.w_size,yt.window.set(yt.window.subarray(yt.w_size,yt.w_size+yt.strstart),0),yt.matches<2&&yt.matches++,yt.insert>yt.strstart&&(yt.insert=yt.strstart)),yt.window.set(yt.strm.input.subarray(yt.strm.next_in-Ct,yt.strm.next_in),yt.strstart),yt.strstart+=Ct,yt.insert+=Ct>yt.w_size-yt.insert?yt.w_size-yt.insert:Ct),yt.block_start=yt.strstart),yt.high_water<yt.strstart&&(yt.high_water=yt.strstart),Ft?BS_FINISH_DONE:Et!==Z_NO_FLUSH$2&&Et!==Z_FINISH$3&&yt.strm.avail_in===0&&yt.strstart===yt.block_start?BS_BLOCK_DONE:(At=yt.window_size-yt.strstart,yt.strm.avail_in>At&&yt.block_start>=yt.w_size&&(yt.block_start-=yt.w_size,yt.strstart-=yt.w_size,yt.window.set(yt.window.subarray(yt.w_size,yt.w_size+yt.strstart),0),yt.matches<2&&yt.matches++,At+=yt.w_size,yt.insert>yt.strstart&&(yt.insert=yt.strstart)),At>yt.strm.avail_in&&(At=yt.strm.avail_in),At&&(read_buf(yt.strm,yt.window,yt.strstart,At),yt.strstart+=At,yt.insert+=At>yt.w_size-yt.insert?yt.w_size-yt.insert:At),yt.high_water<yt.strstart&&(yt.high_water=yt.strstart),At=yt.bi_valid+42>>3,At=yt.pending_buf_size-At>65535?65535:yt.pending_buf_size-At,xt=At>yt.w_size?yt.w_size:At,bt=yt.strstart-yt.block_start,(bt>=xt||(bt||Et===Z_FINISH$3)&&Et!==Z_NO_FLUSH$2&&yt.strm.avail_in===0&&bt<=At)&&(vt=bt>At?At:bt,Ft=Et===Z_FINISH$3&&yt.strm.avail_in===0&&vt===bt?1:0,_tr_stored_block(yt,yt.block_start,vt,Ft),yt.block_start+=vt,flush_pending(yt.strm)),Ft?BS_FINISH_STARTED:BS_NEED_MORE)},deflate_fast=(yt,Et)=>{let xt,vt;for(;;){if(yt.lookahead<MIN_LOOKAHEAD){if(fill_window(yt),yt.lookahead<MIN_LOOKAHEAD&&Et===Z_NO_FLUSH$2)return BS_NEED_MORE;if(yt.lookahead===0)break}if(xt=0,yt.lookahead>=MIN_MATCH&&(yt.ins_h=HASH(yt,yt.ins_h,yt.window[yt.strstart+MIN_MATCH-1]),xt=yt.prev[yt.strstart&yt.w_mask]=yt.head[yt.ins_h],yt.head[yt.ins_h]=yt.strstart),xt!==0&&yt.strstart-xt<=yt.w_size-MIN_LOOKAHEAD&&(yt.match_length=longest_match(yt,xt)),yt.match_length>=MIN_MATCH)if(vt=_tr_tally(yt,yt.strstart-yt.match_start,yt.match_length-MIN_MATCH),yt.lookahead-=yt.match_length,yt.match_length<=yt.max_lazy_match&&yt.lookahead>=MIN_MATCH){yt.match_length--;do yt.strstart++,yt.ins_h=HASH(yt,yt.ins_h,yt.window[yt.strstart+MIN_MATCH-1]),xt=yt.prev[yt.strstart&yt.w_mask]=yt.head[yt.ins_h],yt.head[yt.ins_h]=yt.strstart;while(--yt.match_length!==0);yt.strstart++}else yt.strstart+=yt.match_length,yt.match_length=0,yt.ins_h=yt.window[yt.strstart],yt.ins_h=HASH(yt,yt.ins_h,yt.window[yt.strstart+1]);else vt=_tr_tally(yt,0,yt.window[yt.strstart]),yt.lookahead--,yt.strstart++;if(vt&&(flush_block_only(yt,!1),yt.strm.avail_out===0))return BS_NEED_MORE}return yt.insert=yt.strstart<MIN_MATCH-1?yt.strstart:MIN_MATCH-1,Et===Z_FINISH$3?(flush_block_only(yt,!0),yt.strm.avail_out===0?BS_FINISH_STARTED:BS_FINISH_DONE):yt.sym_next&&(flush_block_only(yt,!1),yt.strm.avail_out===0)?BS_NEED_MORE:BS_BLOCK_DONE},deflate_slow=(yt,Et)=>{let xt,vt,bt;for(;;){if(yt.lookahead<MIN_LOOKAHEAD){if(fill_window(yt),yt.lookahead<MIN_LOOKAHEAD&&Et===Z_NO_FLUSH$2)return BS_NEED_MORE;if(yt.lookahead===0)break}if(xt=0,yt.lookahead>=MIN_MATCH&&(yt.ins_h=HASH(yt,yt.ins_h,yt.window[yt.strstart+MIN_MATCH-1]),xt=yt.prev[yt.strstart&yt.w_mask]=yt.head[yt.ins_h],yt.head[yt.ins_h]=yt.strstart),yt.prev_length=yt.match_length,yt.prev_match=yt.match_start,yt.match_length=MIN_MATCH-1,xt!==0&&yt.prev_length<yt.max_lazy_match&&yt.strstart-xt<=yt.w_size-MIN_LOOKAHEAD&&(yt.match_length=longest_match(yt,xt),yt.match_length<=5&&(yt.strategy===Z_FILTERED||yt.match_length===MIN_MATCH&&yt.strstart-yt.match_start>4096)&&(yt.match_length=MIN_MATCH-1)),yt.prev_length>=MIN_MATCH&&yt.match_length<=yt.prev_length){bt=yt.strstart+yt.lookahead-MIN_MATCH,vt=_tr_tally(yt,yt.strstart-1-yt.prev_match,yt.prev_length-MIN_MATCH),yt.lookahead-=yt.prev_length-1,yt.prev_length-=2;do++yt.strstart<=bt&&(yt.ins_h=HASH(yt,yt.ins_h,yt.window[yt.strstart+MIN_MATCH-1]),xt=yt.prev[yt.strstart&yt.w_mask]=yt.head[yt.ins_h],yt.head[yt.ins_h]=yt.strstart);while(--yt.prev_length!==0);if(yt.match_available=0,yt.match_length=MIN_MATCH-1,yt.strstart++,vt&&(flush_block_only(yt,!1),yt.strm.avail_out===0))return BS_NEED_MORE}else if(yt.match_available){if(vt=_tr_tally(yt,0,yt.window[yt.strstart-1]),vt&&flush_block_only(yt,!1),yt.strstart++,yt.lookahead--,yt.strm.avail_out===0)return BS_NEED_MORE}else yt.match_available=1,yt.strstart++,yt.lookahead--}return yt.match_available&&(vt=_tr_tally(yt,0,yt.window[yt.strstart-1]),yt.match_available=0),yt.insert=yt.strstart<MIN_MATCH-1?yt.strstart:MIN_MATCH-1,Et===Z_FINISH$3?(flush_block_only(yt,!0),yt.strm.avail_out===0?BS_FINISH_STARTED:BS_FINISH_DONE):yt.sym_next&&(flush_block_only(yt,!1),yt.strm.avail_out===0)?BS_NEED_MORE:BS_BLOCK_DONE},deflate_rle=(yt,Et)=>{let xt,vt,bt,At;const Ft=yt.window;for(;;){if(yt.lookahead<=MAX_MATCH){if(fill_window(yt),yt.lookahead<=MAX_MATCH&&Et===Z_NO_FLUSH$2)return BS_NEED_MORE;if(yt.lookahead===0)break}if(yt.match_length=0,yt.lookahead>=MIN_MATCH&&yt.strstart>0&&(bt=yt.strstart-1,vt=Ft[bt],vt===Ft[++bt]&&vt===Ft[++bt]&&vt===Ft[++bt])){At=yt.strstart+MAX_MATCH;do;while(vt===Ft[++bt]&&vt===Ft[++bt]&&vt===Ft[++bt]&&vt===Ft[++bt]&&vt===Ft[++bt]&&vt===Ft[++bt]&&vt===Ft[++bt]&&vt===Ft[++bt]&&bt<At);yt.match_length=MAX_MATCH-(At-bt),yt.match_length>yt.lookahead&&(yt.match_length=yt.lookahead)}if(yt.match_length>=MIN_MATCH?(xt=_tr_tally(yt,1,yt.match_length-MIN_MATCH),yt.lookahead-=yt.match_length,yt.strstart+=yt.match_length,yt.match_length=0):(xt=_tr_tally(yt,0,yt.window[yt.strstart]),yt.lookahead--,yt.strstart++),xt&&(flush_block_only(yt,!1),yt.strm.avail_out===0))return BS_NEED_MORE}return yt.insert=0,Et===Z_FINISH$3?(flush_block_only(yt,!0),yt.strm.avail_out===0?BS_FINISH_STARTED:BS_FINISH_DONE):yt.sym_next&&(flush_block_only(yt,!1),yt.strm.avail_out===0)?BS_NEED_MORE:BS_BLOCK_DONE},deflate_huff=(yt,Et)=>{let xt;for(;;){if(yt.lookahead===0&&(fill_window(yt),yt.lookahead===0)){if(Et===Z_NO_FLUSH$2)return BS_NEED_MORE;break}if(yt.match_length=0,xt=_tr_tally(yt,0,yt.window[yt.strstart]),yt.lookahead--,yt.strstart++,xt&&(flush_block_only(yt,!1),yt.strm.avail_out===0))return BS_NEED_MORE}return yt.insert=0,Et===Z_FINISH$3?(flush_block_only(yt,!0),yt.strm.avail_out===0?BS_FINISH_STARTED:BS_FINISH_DONE):yt.sym_next&&(flush_block_only(yt,!1),yt.strm.avail_out===0)?BS_NEED_MORE:BS_BLOCK_DONE};function Config(yt,Et,xt,vt,bt){this.good_length=yt,this.max_lazy=Et,this.nice_length=xt,this.max_chain=vt,this.func=bt}const configuration_table=[new Config(0,0,0,0,deflate_stored),new Config(4,4,8,4,deflate_fast),new Config(4,5,16,8,deflate_fast),new Config(4,6,32,32,deflate_fast),new Config(4,4,16,16,deflate_slow),new Config(8,16,32,32,deflate_slow),new Config(8,16,128,128,deflate_slow),new Config(8,32,128,256,deflate_slow),new Config(32,128,258,1024,deflate_slow),new Config(32,258,258,4096,deflate_slow)],lm_init=yt=>{yt.window_size=2*yt.w_size,zero(yt.head),yt.max_lazy_match=configuration_table[yt.level].max_lazy,yt.good_match=configuration_table[yt.level].good_length,yt.nice_match=configuration_table[yt.level].nice_length,yt.max_chain_length=configuration_table[yt.level].max_chain,yt.strstart=0,yt.block_start=0,yt.lookahead=0,yt.insert=0,yt.match_length=yt.prev_length=MIN_MATCH-1,yt.match_available=0,yt.ins_h=0};function DeflateState(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Z_DEFLATED$2,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(HEAP_SIZE*2),this.dyn_dtree=new Uint16Array((2*D_CODES+1)*2),this.bl_tree=new Uint16Array((2*BL_CODES+1)*2),zero(this.dyn_ltree),zero(this.dyn_dtree),zero(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(MAX_BITS+1),this.heap=new Uint16Array(2*L_CODES+1),zero(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*L_CODES+1),zero(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const deflateStateCheck=yt=>{if(!yt)return 1;const Et=yt.state;return!Et||Et.strm!==yt||Et.status!==INIT_STATE&&Et.status!==GZIP_STATE&&Et.status!==EXTRA_STATE&&Et.status!==NAME_STATE&&Et.status!==COMMENT_STATE&&Et.status!==HCRC_STATE&&Et.status!==BUSY_STATE&&Et.status!==FINISH_STATE?1:0},deflateResetKeep=yt=>{if(deflateStateCheck(yt))return err(yt,Z_STREAM_ERROR$2);yt.total_in=yt.total_out=0,yt.data_type=Z_UNKNOWN;const Et=yt.state;return Et.pending=0,Et.pending_out=0,Et.wrap<0&&(Et.wrap=-Et.wrap),Et.status=Et.wrap===2?GZIP_STATE:Et.wrap?INIT_STATE:BUSY_STATE,yt.adler=Et.wrap===2?0:1,Et.last_flush=-2,_tr_init(Et),Z_OK$3},deflateReset=yt=>{const Et=deflateResetKeep(yt);return Et===Z_OK$3&&lm_init(yt.state),Et},deflateSetHeader=(yt,Et)=>deflateStateCheck(yt)||yt.state.wrap!==2?Z_STREAM_ERROR$2:(yt.state.gzhead=Et,Z_OK$3),deflateInit2=(yt,Et,xt,vt,bt,At)=>{if(!yt)return Z_STREAM_ERROR$2;let Ft=1;if(Et===Z_DEFAULT_COMPRESSION$1&&(Et=6),vt<0?(Ft=0,vt=-vt):vt>15&&(Ft=2,vt-=16),bt<1||bt>MAX_MEM_LEVEL||xt!==Z_DEFLATED$2||vt<8||vt>15||Et<0||Et>9||At<0||At>Z_FIXED||vt===8&&Ft!==1)return err(yt,Z_STREAM_ERROR$2);vt===8&&(vt=9);const Ct=new DeflateState;return yt.state=Ct,Ct.strm=yt,Ct.status=INIT_STATE,Ct.wrap=Ft,Ct.gzhead=null,Ct.w_bits=vt,Ct.w_size=1<<Ct.w_bits,Ct.w_mask=Ct.w_size-1,Ct.hash_bits=bt+7,Ct.hash_size=1<<Ct.hash_bits,Ct.hash_mask=Ct.hash_size-1,Ct.hash_shift=~~((Ct.hash_bits+MIN_MATCH-1)/MIN_MATCH),Ct.window=new Uint8Array(Ct.w_size*2),Ct.head=new Uint16Array(Ct.hash_size),Ct.prev=new Uint16Array(Ct.w_size),Ct.lit_bufsize=1<<bt+6,Ct.pending_buf_size=Ct.lit_bufsize*4,Ct.pending_buf=new Uint8Array(Ct.pending_buf_size),Ct.sym_buf=Ct.lit_bufsize,Ct.sym_end=(Ct.lit_bufsize-1)*3,Ct.level=Et,Ct.strategy=At,Ct.method=xt,deflateReset(yt)},deflateInit=(yt,Et)=>deflateInit2(yt,Et,Z_DEFLATED$2,MAX_WBITS$1,DEF_MEM_LEVEL,Z_DEFAULT_STRATEGY$1),deflate$2=(yt,Et)=>{if(deflateStateCheck(yt)||Et>Z_BLOCK$1||Et<0)return yt?err(yt,Z_STREAM_ERROR$2):Z_STREAM_ERROR$2;const xt=yt.state;if(!yt.output||yt.avail_in!==0&&!yt.input||xt.status===FINISH_STATE&&Et!==Z_FINISH$3)return err(yt,yt.avail_out===0?Z_BUF_ERROR$1:Z_STREAM_ERROR$2);const vt=xt.last_flush;if(xt.last_flush=Et,xt.pending!==0){if(flush_pending(yt),yt.avail_out===0)return xt.last_flush=-1,Z_OK$3}else if(yt.avail_in===0&&rank(Et)<=rank(vt)&&Et!==Z_FINISH$3)return err(yt,Z_BUF_ERROR$1);if(xt.status===FINISH_STATE&&yt.avail_in!==0)return err(yt,Z_BUF_ERROR$1);if(xt.status===INIT_STATE&&xt.wrap===0&&(xt.status=BUSY_STATE),xt.status===INIT_STATE){let bt=Z_DEFLATED$2+(xt.w_bits-8<<4)<<8,At=-1;if(xt.strategy>=Z_HUFFMAN_ONLY||xt.level<2?At=0:xt.level<6?At=1:xt.level===6?At=2:At=3,bt|=At<<6,xt.strstart!==0&&(bt|=PRESET_DICT),bt+=31-bt%31,putShortMSB(xt,bt),xt.strstart!==0&&(putShortMSB(xt,yt.adler>>>16),putShortMSB(xt,yt.adler&65535)),yt.adler=1,xt.status=BUSY_STATE,flush_pending(yt),xt.pending!==0)return xt.last_flush=-1,Z_OK$3}if(xt.status===GZIP_STATE){if(yt.adler=0,put_byte(xt,31),put_byte(xt,139),put_byte(xt,8),xt.gzhead)put_byte(xt,(xt.gzhead.text?1:0)+(xt.gzhead.hcrc?2:0)+(xt.gzhead.extra?4:0)+(xt.gzhead.name?8:0)+(xt.gzhead.comment?16:0)),put_byte(xt,xt.gzhead.time&255),put_byte(xt,xt.gzhead.time>>8&255),put_byte(xt,xt.gzhead.time>>16&255),put_byte(xt,xt.gzhead.time>>24&255),put_byte(xt,xt.level===9?2:xt.strategy>=Z_HUFFMAN_ONLY||xt.level<2?4:0),put_byte(xt,xt.gzhead.os&255),xt.gzhead.extra&&xt.gzhead.extra.length&&(put_byte(xt,xt.gzhead.extra.length&255),put_byte(xt,xt.gzhead.extra.length>>8&255)),xt.gzhead.hcrc&&(yt.adler=crc32_1(yt.adler,xt.pending_buf,xt.pending,0)),xt.gzindex=0,xt.status=EXTRA_STATE;else if(put_byte(xt,0),put_byte(xt,0),put_byte(xt,0),put_byte(xt,0),put_byte(xt,0),put_byte(xt,xt.level===9?2:xt.strategy>=Z_HUFFMAN_ONLY||xt.level<2?4:0),put_byte(xt,OS_CODE),xt.status=BUSY_STATE,flush_pending(yt),xt.pending!==0)return xt.last_flush=-1,Z_OK$3}if(xt.status===EXTRA_STATE){if(xt.gzhead.extra){let bt=xt.pending,At=(xt.gzhead.extra.length&65535)-xt.gzindex;for(;xt.pending+At>xt.pending_buf_size;){let Ct=xt.pending_buf_size-xt.pending;if(xt.pending_buf.set(xt.gzhead.extra.subarray(xt.gzindex,xt.gzindex+Ct),xt.pending),xt.pending=xt.pending_buf_size,xt.gzhead.hcrc&&xt.pending>bt&&(yt.adler=crc32_1(yt.adler,xt.pending_buf,xt.pending-bt,bt)),xt.gzindex+=Ct,flush_pending(yt),xt.pending!==0)return xt.last_flush=-1,Z_OK$3;bt=0,At-=Ct}let Ft=new Uint8Array(xt.gzhead.extra);xt.pending_buf.set(Ft.subarray(xt.gzindex,xt.gzindex+At),xt.pending),xt.pending+=At,xt.gzhead.hcrc&&xt.pending>bt&&(yt.adler=crc32_1(yt.adler,xt.pending_buf,xt.pending-bt,bt)),xt.gzindex=0}xt.status=NAME_STATE}if(xt.status===NAME_STATE){if(xt.gzhead.name){let bt=xt.pending,At;do{if(xt.pending===xt.pending_buf_size){if(xt.gzhead.hcrc&&xt.pending>bt&&(yt.adler=crc32_1(yt.adler,xt.pending_buf,xt.pending-bt,bt)),flush_pending(yt),xt.pending!==0)return xt.last_flush=-1,Z_OK$3;bt=0}xt.gzindex<xt.gzhead.name.length?At=xt.gzhead.name.charCodeAt(xt.gzindex++)&255:At=0,put_byte(xt,At)}while(At!==0);xt.gzhead.hcrc&&xt.pending>bt&&(yt.adler=crc32_1(yt.adler,xt.pending_buf,xt.pending-bt,bt)),xt.gzindex=0}xt.status=COMMENT_STATE}if(xt.status===COMMENT_STATE){if(xt.gzhead.comment){let bt=xt.pending,At;do{if(xt.pending===xt.pending_buf_size){if(xt.gzhead.hcrc&&xt.pending>bt&&(yt.adler=crc32_1(yt.adler,xt.pending_buf,xt.pending-bt,bt)),flush_pending(yt),xt.pending!==0)return xt.last_flush=-1,Z_OK$3;bt=0}xt.gzindex<xt.gzhead.comment.length?At=xt.gzhead.comment.charCodeAt(xt.gzindex++)&255:At=0,put_byte(xt,At)}while(At!==0);xt.gzhead.hcrc&&xt.pending>bt&&(yt.adler=crc32_1(yt.adler,xt.pending_buf,xt.pending-bt,bt))}xt.status=HCRC_STATE}if(xt.status===HCRC_STATE){if(xt.gzhead.hcrc){if(xt.pending+2>xt.pending_buf_size&&(flush_pending(yt),xt.pending!==0))return xt.last_flush=-1,Z_OK$3;put_byte(xt,yt.adler&255),put_byte(xt,yt.adler>>8&255),yt.adler=0}if(xt.status=BUSY_STATE,flush_pending(yt),xt.pending!==0)return xt.last_flush=-1,Z_OK$3}if(yt.avail_in!==0||xt.lookahead!==0||Et!==Z_NO_FLUSH$2&&xt.status!==FINISH_STATE){let bt=xt.level===0?deflate_stored(xt,Et):xt.strategy===Z_HUFFMAN_ONLY?deflate_huff(xt,Et):xt.strategy===Z_RLE?deflate_rle(xt,Et):configuration_table[xt.level].func(xt,Et);if((bt===BS_FINISH_STARTED||bt===BS_FINISH_DONE)&&(xt.status=FINISH_STATE),bt===BS_NEED_MORE||bt===BS_FINISH_STARTED)return yt.avail_out===0&&(xt.last_flush=-1),Z_OK$3;if(bt===BS_BLOCK_DONE&&(Et===Z_PARTIAL_FLUSH?_tr_align(xt):Et!==Z_BLOCK$1&&(_tr_stored_block(xt,0,0,!1),Et===Z_FULL_FLUSH$1&&(zero(xt.head),xt.lookahead===0&&(xt.strstart=0,xt.block_start=0,xt.insert=0))),flush_pending(yt),yt.avail_out===0))return xt.last_flush=-1,Z_OK$3}return Et!==Z_FINISH$3?Z_OK$3:xt.wrap<=0?Z_STREAM_END$3:(xt.wrap===2?(put_byte(xt,yt.adler&255),put_byte(xt,yt.adler>>8&255),put_byte(xt,yt.adler>>16&255),put_byte(xt,yt.adler>>24&255),put_byte(xt,yt.total_in&255),put_byte(xt,yt.total_in>>8&255),put_byte(xt,yt.total_in>>16&255),put_byte(xt,yt.total_in>>24&255)):(putShortMSB(xt,yt.adler>>>16),putShortMSB(xt,yt.adler&65535)),flush_pending(yt),xt.wrap>0&&(xt.wrap=-xt.wrap),xt.pending!==0?Z_OK$3:Z_STREAM_END$3)},deflateEnd=yt=>{if(deflateStateCheck(yt))return Z_STREAM_ERROR$2;const Et=yt.state.status;return yt.state=null,Et===BUSY_STATE?err(yt,Z_DATA_ERROR$2):Z_OK$3},deflateSetDictionary=(yt,Et)=>{let xt=Et.length;if(deflateStateCheck(yt))return Z_STREAM_ERROR$2;const vt=yt.state,bt=vt.wrap;if(bt===2||bt===1&&vt.status!==INIT_STATE||vt.lookahead)return Z_STREAM_ERROR$2;if(bt===1&&(yt.adler=adler32_1(yt.adler,Et,xt,0)),vt.wrap=0,xt>=vt.w_size){bt===0&&(zero(vt.head),vt.strstart=0,vt.block_start=0,vt.insert=0);let wt=new Uint8Array(vt.w_size);wt.set(Et.subarray(xt-vt.w_size,xt),0),Et=wt,xt=vt.w_size}const At=yt.avail_in,Ft=yt.next_in,Ct=yt.input;for(yt.avail_in=xt,yt.next_in=0,yt.input=Et,fill_window(vt);vt.lookahead>=MIN_MATCH;){let wt=vt.strstart,St=vt.lookahead-(MIN_MATCH-1);do vt.ins_h=HASH(vt,vt.ins_h,vt.window[wt+MIN_MATCH-1]),vt.prev[wt&vt.w_mask]=vt.head[vt.ins_h],vt.head[vt.ins_h]=wt,wt++;while(--St);vt.strstart=wt,vt.lookahead=MIN_MATCH-1,fill_window(vt)}return vt.strstart+=vt.lookahead,vt.block_start=vt.strstart,vt.insert=vt.lookahead,vt.lookahead=0,vt.match_length=vt.prev_length=MIN_MATCH-1,vt.match_available=0,yt.next_in=Ft,yt.input=Ct,yt.avail_in=At,vt.wrap=bt,Z_OK$3};var deflateInit_1=deflateInit,deflateInit2_1=deflateInit2,deflateReset_1=deflateReset,deflateResetKeep_1=deflateResetKeep,deflateSetHeader_1=deflateSetHeader,deflate_2$1=deflate$2,deflateEnd_1=deflateEnd,deflateSetDictionary_1=deflateSetDictionary,deflateInfo="pako deflate (from Nodeca project)",deflate_1$2={deflateInit:deflateInit_1,deflateInit2:deflateInit2_1,deflateReset:deflateReset_1,deflateResetKeep:deflateResetKeep_1,deflateSetHeader:deflateSetHeader_1,deflate:deflate_2$1,deflateEnd:deflateEnd_1,deflateSetDictionary:deflateSetDictionary_1,deflateInfo};const _has=(yt,Et)=>Object.prototype.hasOwnProperty.call(yt,Et);var assign=function(yt){const Et=Array.prototype.slice.call(arguments,1);for(;Et.length;){const xt=Et.shift();if(xt){if(typeof xt!="object")throw new TypeError(xt+"must be non-object");for(const vt in xt)_has(xt,vt)&&(yt[vt]=xt[vt])}}return yt},flattenChunks=yt=>{let Et=0;for(let vt=0,bt=yt.length;vt<bt;vt++)Et+=yt[vt].length;const xt=new Uint8Array(Et);for(let vt=0,bt=0,At=yt.length;vt<At;vt++){let Ft=yt[vt];xt.set(Ft,bt),bt+=Ft.length}return xt},common={assign,flattenChunks};let STR_APPLY_UIA_OK=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(yt){STR_APPLY_UIA_OK=!1}const _utf8len=new Uint8Array(256);for(let yt=0;yt<256;yt++)_utf8len[yt]=yt>=252?6:yt>=248?5:yt>=240?4:yt>=224?3:yt>=192?2:1;_utf8len[254]=_utf8len[254]=1;var string2buf=yt=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(yt);let Et,xt,vt,bt,At,Ft=yt.length,Ct=0;for(bt=0;bt<Ft;bt++)xt=yt.charCodeAt(bt),(xt&64512)===55296&&bt+1<Ft&&(vt=yt.charCodeAt(bt+1),(vt&64512)===56320&&(xt=65536+(xt-55296<<10)+(vt-56320),bt++)),Ct+=xt<128?1:xt<2048?2:xt<65536?3:4;for(Et=new Uint8Array(Ct),At=0,bt=0;At<Ct;bt++)xt=yt.charCodeAt(bt),(xt&64512)===55296&&bt+1<Ft&&(vt=yt.charCodeAt(bt+1),(vt&64512)===56320&&(xt=65536+(xt-55296<<10)+(vt-56320),bt++)),xt<128?Et[At++]=xt:xt<2048?(Et[At++]=192|xt>>>6,Et[At++]=128|xt&63):xt<65536?(Et[At++]=224|xt>>>12,Et[At++]=128|xt>>>6&63,Et[At++]=128|xt&63):(Et[At++]=240|xt>>>18,Et[At++]=128|xt>>>12&63,Et[At++]=128|xt>>>6&63,Et[At++]=128|xt&63);return Et};const buf2binstring=(yt,Et)=>{if(Et<65534&&yt.subarray&&STR_APPLY_UIA_OK)return String.fromCharCode.apply(null,yt.length===Et?yt:yt.subarray(0,Et));let xt="";for(let vt=0;vt<Et;vt++)xt+=String.fromCharCode(yt[vt]);return xt};var buf2string=(yt,Et)=>{const xt=Et||yt.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(yt.subarray(0,Et));let vt,bt;const At=new Array(xt*2);for(bt=0,vt=0;vt<xt;){let Ft=yt[vt++];if(Ft<128){At[bt++]=Ft;continue}let Ct=_utf8len[Ft];if(Ct>4){At[bt++]=65533,vt+=Ct-1;continue}for(Ft&=Ct===2?31:Ct===3?15:7;Ct>1&&vt<xt;)Ft=Ft<<6|yt[vt++]&63,Ct--;if(Ct>1){At[bt++]=65533;continue}Ft<65536?At[bt++]=Ft:(Ft-=65536,At[bt++]=55296|Ft>>10&1023,At[bt++]=56320|Ft&1023)}return buf2binstring(At,bt)},utf8border=(yt,Et)=>{Et=Et||yt.length,Et>yt.length&&(Et=yt.length);let xt=Et-1;for(;xt>=0&&(yt[xt]&192)===128;)xt--;return xt<0||xt===0?Et:xt+_utf8len[yt[xt]]>Et?xt:Et},strings={string2buf,buf2string,utf8border};function ZStream(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var zstream=ZStream;const toString$1=Object.prototype.toString,{Z_NO_FLUSH:Z_NO_FLUSH$1,Z_SYNC_FLUSH,Z_FULL_FLUSH,Z_FINISH:Z_FINISH$2,Z_OK:Z_OK$2,Z_STREAM_END:Z_STREAM_END$2,Z_DEFAULT_COMPRESSION,Z_DEFAULT_STRATEGY,Z_DEFLATED:Z_DEFLATED$1}=constants$2;function Deflate$1(yt){this.options=common.assign({level:Z_DEFAULT_COMPRESSION,method:Z_DEFLATED$1,chunkSize:16384,windowBits:15,memLevel:8,strategy:Z_DEFAULT_STRATEGY},yt||{});let Et=this.options;Et.raw&&Et.windowBits>0?Et.windowBits=-Et.windowBits:Et.gzip&&Et.windowBits>0&&Et.windowBits<16&&(Et.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new zstream,this.strm.avail_out=0;let xt=deflate_1$2.deflateInit2(this.strm,Et.level,Et.method,Et.windowBits,Et.memLevel,Et.strategy);if(xt!==Z_OK$2)throw new Error(messages[xt]);if(Et.header&&deflate_1$2.deflateSetHeader(this.strm,Et.header),Et.dictionary){let vt;if(typeof Et.dictionary=="string"?vt=strings.string2buf(Et.dictionary):toString$1.call(Et.dictionary)==="[object ArrayBuffer]"?vt=new Uint8Array(Et.dictionary):vt=Et.dictionary,xt=deflate_1$2.deflateSetDictionary(this.strm,vt),xt!==Z_OK$2)throw new Error(messages[xt]);this._dict_set=!0}}Deflate$1.prototype.push=function(yt,Et){const xt=this.strm,vt=this.options.chunkSize;let bt,At;if(this.ended)return!1;for(Et===~~Et?At=Et:At=Et===!0?Z_FINISH$2:Z_NO_FLUSH$1,typeof yt=="string"?xt.input=strings.string2buf(yt):toString$1.call(yt)==="[object ArrayBuffer]"?xt.input=new Uint8Array(yt):xt.input=yt,xt.next_in=0,xt.avail_in=xt.input.length;;){if(xt.avail_out===0&&(xt.output=new Uint8Array(vt),xt.next_out=0,xt.avail_out=vt),(At===Z_SYNC_FLUSH||At===Z_FULL_FLUSH)&&xt.avail_out<=6){this.onData(xt.output.subarray(0,xt.next_out)),xt.avail_out=0;continue}if(bt=deflate_1$2.deflate(xt,At),bt===Z_STREAM_END$2)return xt.next_out>0&&this.onData(xt.output.subarray(0,xt.next_out)),bt=deflate_1$2.deflateEnd(this.strm),this.onEnd(bt),this.ended=!0,bt===Z_OK$2;if(xt.avail_out===0){this.onData(xt.output);continue}if(At>0&&xt.next_out>0){this.onData(xt.output.subarray(0,xt.next_out)),xt.avail_out=0;continue}if(xt.avail_in===0)break}return!0},Deflate$1.prototype.onData=function(yt){this.chunks.push(yt)},Deflate$1.prototype.onEnd=function(yt){yt===Z_OK$2&&(this.result=common.flattenChunks(this.chunks)),this.chunks=[],this.err=yt,this.msg=this.strm.msg};function deflate$1(yt,Et){const xt=new Deflate$1(Et);if(xt.push(yt,!0),xt.err)throw xt.msg||messages[xt.err];return xt.result}function deflateRaw$1(yt,Et){return Et=Et||{},Et.raw=!0,deflate$1(yt,Et)}function gzip$1(yt,Et){return Et=Et||{},Et.gzip=!0,deflate$1(yt,Et)}var Deflate_1$1=Deflate$1,deflate_2=deflate$1,deflateRaw_1$1=deflateRaw$1,gzip_1$1=gzip$1,deflate_1$1={Deflate:Deflate_1$1,deflate:deflate_2,deflateRaw:deflateRaw_1$1,gzip:gzip_1$1};const BAD$1=16209,TYPE$1=16191;var inffast=function yt(Et,xt){let vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt,It,Nt,Ut,jt,Vt,zt,Ht,Wt,Gt,qt;const Xt=Et.state;vt=Et.next_in,Gt=Et.input,bt=vt+(Et.avail_in-5),At=Et.next_out,qt=Et.output,Ft=At-(xt-Et.avail_out),Ct=At+(Et.avail_out-257),wt=Xt.dmax,St=Xt.wsize,Tt=Xt.whave,Rt=Xt.wnext,Pt=Xt.window,Lt=Xt.hold,kt=Xt.bits,Ot=Xt.lencode,Mt=Xt.distcode,It=(1<<Xt.lenbits)-1,Nt=(1<<Xt.distbits)-1;e:do{kt<15&&(Lt+=Gt[vt++]<<kt,kt+=8,Lt+=Gt[vt++]<<kt,kt+=8),Ut=Ot[Lt&It];t:for(;;){if(jt=Ut>>>24,Lt>>>=jt,kt-=jt,jt=Ut>>>16&255,jt===0)qt[At++]=Ut&65535;else if(jt&16){Vt=Ut&65535,jt&=15,jt&&(kt<jt&&(Lt+=Gt[vt++]<<kt,kt+=8),Vt+=Lt&(1<<jt)-1,Lt>>>=jt,kt-=jt),kt<15&&(Lt+=Gt[vt++]<<kt,kt+=8,Lt+=Gt[vt++]<<kt,kt+=8),Ut=Mt[Lt&Nt];n:for(;;){if(jt=Ut>>>24,Lt>>>=jt,kt-=jt,jt=Ut>>>16&255,jt&16){if(zt=Ut&65535,jt&=15,kt<jt&&(Lt+=Gt[vt++]<<kt,kt+=8,kt<jt&&(Lt+=Gt[vt++]<<kt,kt+=8)),zt+=Lt&(1<<jt)-1,zt>wt){Et.msg="invalid distance too far back",Xt.mode=BAD$1;break e}if(Lt>>>=jt,kt-=jt,jt=At-Ft,zt>jt){if(jt=zt-jt,jt>Tt&&Xt.sane){Et.msg="invalid distance too far back",Xt.mode=BAD$1;break e}if(Ht=0,Wt=Pt,Rt===0){if(Ht+=St-jt,jt<Vt){Vt-=jt;do qt[At++]=Pt[Ht++];while(--jt);Ht=At-zt,Wt=qt}}else if(Rt<jt){if(Ht+=St+Rt-jt,jt-=Rt,jt<Vt){Vt-=jt;do qt[At++]=Pt[Ht++];while(--jt);if(Ht=0,Rt<Vt){jt=Rt,Vt-=jt;do qt[At++]=Pt[Ht++];while(--jt);Ht=At-zt,Wt=qt}}}else if(Ht+=Rt-jt,jt<Vt){Vt-=jt;do qt[At++]=Pt[Ht++];while(--jt);Ht=At-zt,Wt=qt}for(;Vt>2;)qt[At++]=Wt[Ht++],qt[At++]=Wt[Ht++],qt[At++]=Wt[Ht++],Vt-=3;Vt&&(qt[At++]=Wt[Ht++],Vt>1&&(qt[At++]=Wt[Ht++]))}else{Ht=At-zt;do qt[At++]=qt[Ht++],qt[At++]=qt[Ht++],qt[At++]=qt[Ht++],Vt-=3;while(Vt>2);Vt&&(qt[At++]=qt[Ht++],Vt>1&&(qt[At++]=qt[Ht++]))}}else if((jt&64)===0){Ut=Mt[(Ut&65535)+(Lt&(1<<jt)-1)];continue n}else{Et.msg="invalid distance code",Xt.mode=BAD$1;break e}break}}else if((jt&64)===0){Ut=Ot[(Ut&65535)+(Lt&(1<<jt)-1)];continue t}else if(jt&32){Xt.mode=TYPE$1;break e}else{Et.msg="invalid literal/length code",Xt.mode=BAD$1;break e}break}}while(vt<bt&&At<Ct);Vt=kt>>3,vt-=Vt,kt-=Vt<<3,Lt&=(1<<kt)-1,Et.next_in=vt,Et.next_out=At,Et.avail_in=vt<bt?5+(bt-vt):5-(vt-bt),Et.avail_out=At<Ct?257+(Ct-At):257-(At-Ct),Xt.hold=Lt,Xt.bits=kt};const MAXBITS=15,ENOUGH_LENS$1=852,ENOUGH_DISTS$1=592,CODES$1=0,LENS$1=1,DISTS$1=2,lbase=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),lext=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),dbase=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),dext=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),inflate_table=(yt,Et,xt,vt,bt,At,Ft,Ct)=>{const wt=Ct.bits;let St=0,Tt=0,Rt=0,Pt=0,Lt=0,kt=0,Ot=0,Mt=0,It=0,Nt=0,Ut,jt,Vt,zt,Ht,Wt=null,Gt;const qt=new Uint16Array(MAXBITS+1),Xt=new Uint16Array(MAXBITS+1);let Kt=null,Jt,tn,sn;for(St=0;St<=MAXBITS;St++)qt[St]=0;for(Tt=0;Tt<vt;Tt++)qt[Et[xt+Tt]]++;for(Lt=wt,Pt=MAXBITS;Pt>=1&&qt[Pt]===0;Pt--);if(Lt>Pt&&(Lt=Pt),Pt===0)return bt[At++]=1<<24|64<<16|0,bt[At++]=1<<24|64<<16|0,Ct.bits=1,0;for(Rt=1;Rt<Pt&&qt[Rt]===0;Rt++);for(Lt<Rt&&(Lt=Rt),Mt=1,St=1;St<=MAXBITS;St++)if(Mt<<=1,Mt-=qt[St],Mt<0)return-1;if(Mt>0&&(yt===CODES$1||Pt!==1))return-1;for(Xt[1]=0,St=1;St<MAXBITS;St++)Xt[St+1]=Xt[St]+qt[St];for(Tt=0;Tt<vt;Tt++)Et[xt+Tt]!==0&&(Ft[Xt[Et[xt+Tt]]++]=Tt);if(yt===CODES$1?(Wt=Kt=Ft,Gt=20):yt===LENS$1?(Wt=lbase,Kt=lext,Gt=257):(Wt=dbase,Kt=dext,Gt=0),Nt=0,Tt=0,St=Rt,Ht=At,kt=Lt,Ot=0,Vt=-1,It=1<<Lt,zt=It-1,yt===LENS$1&&It>ENOUGH_LENS$1||yt===DISTS$1&&It>ENOUGH_DISTS$1)return 1;for(;;){Jt=St-Ot,Ft[Tt]+1<Gt?(tn=0,sn=Ft[Tt]):Ft[Tt]>=Gt?(tn=Kt[Ft[Tt]-Gt],sn=Wt[Ft[Tt]-Gt]):(tn=96,sn=0),Ut=1<<St-Ot,jt=1<<kt,Rt=jt;do jt-=Ut,bt[Ht+(Nt>>Ot)+jt]=Jt<<24|tn<<16|sn|0;while(jt!==0);for(Ut=1<<St-1;Nt&Ut;)Ut>>=1;if(Ut!==0?(Nt&=Ut-1,Nt+=Ut):Nt=0,Tt++,--qt[St]===0){if(St===Pt)break;St=Et[xt+Ft[Tt]]}if(St>Lt&&(Nt&zt)!==Vt){for(Ot===0&&(Ot=Lt),Ht+=Rt,kt=St-Ot,Mt=1<<kt;kt+Ot<Pt&&(Mt-=qt[kt+Ot],!(Mt<=0));)kt++,Mt<<=1;if(It+=1<<kt,yt===LENS$1&&It>ENOUGH_LENS$1||yt===DISTS$1&&It>ENOUGH_DISTS$1)return 1;Vt=Nt&zt,bt[Vt]=Lt<<24|kt<<16|Ht-At|0}}return Nt!==0&&(bt[Ht+Nt]=St-Ot<<24|64<<16|0),Ct.bits=Lt,0};var inftrees=inflate_table;const CODES=0,LENS=1,DISTS=2,{Z_FINISH:Z_FINISH$1,Z_BLOCK,Z_TREES,Z_OK:Z_OK$1,Z_STREAM_END:Z_STREAM_END$1,Z_NEED_DICT:Z_NEED_DICT$1,Z_STREAM_ERROR:Z_STREAM_ERROR$1,Z_DATA_ERROR:Z_DATA_ERROR$1,Z_MEM_ERROR:Z_MEM_ERROR$1,Z_BUF_ERROR,Z_DEFLATED}=constants$2,HEAD=16180,FLAGS=16181,TIME=16182,OS=16183,EXLEN=16184,EXTRA=16185,NAME=16186,COMMENT=16187,HCRC=16188,DICTID=16189,DICT=16190,TYPE=16191,TYPEDO=16192,STORED=16193,COPY_=16194,COPY=16195,TABLE=16196,LENLENS=16197,CODELENS=16198,LEN_=16199,LEN=16200,LENEXT=16201,DIST=16202,DISTEXT=16203,MATCH=16204,LIT=16205,CHECK=16206,LENGTH=16207,DONE=16208,BAD=16209,MEM=16210,SYNC=16211,ENOUGH_LENS=852,ENOUGH_DISTS=592,MAX_WBITS=15,DEF_WBITS=MAX_WBITS,zswap32=yt=>(yt>>>24&255)+(yt>>>8&65280)+((yt&65280)<<8)+((yt&255)<<24);function InflateState(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const inflateStateCheck=yt=>{if(!yt)return 1;const Et=yt.state;return!Et||Et.strm!==yt||Et.mode<HEAD||Et.mode>SYNC?1:0},inflateResetKeep=yt=>{if(inflateStateCheck(yt))return Z_STREAM_ERROR$1;const Et=yt.state;return yt.total_in=yt.total_out=Et.total=0,yt.msg="",Et.wrap&&(yt.adler=Et.wrap&1),Et.mode=HEAD,Et.last=0,Et.havedict=0,Et.flags=-1,Et.dmax=32768,Et.head=null,Et.hold=0,Et.bits=0,Et.lencode=Et.lendyn=new Int32Array(ENOUGH_LENS),Et.distcode=Et.distdyn=new Int32Array(ENOUGH_DISTS),Et.sane=1,Et.back=-1,Z_OK$1},inflateReset=yt=>{if(inflateStateCheck(yt))return Z_STREAM_ERROR$1;const Et=yt.state;return Et.wsize=0,Et.whave=0,Et.wnext=0,inflateResetKeep(yt)},inflateReset2=(yt,Et)=>{let xt;if(inflateStateCheck(yt))return Z_STREAM_ERROR$1;const vt=yt.state;return Et<0?(xt=0,Et=-Et):(xt=(Et>>4)+5,Et<48&&(Et&=15)),Et&&(Et<8||Et>15)?Z_STREAM_ERROR$1:(vt.window!==null&&vt.wbits!==Et&&(vt.window=null),vt.wrap=xt,vt.wbits=Et,inflateReset(yt))},inflateInit2=(yt,Et)=>{if(!yt)return Z_STREAM_ERROR$1;const xt=new InflateState;yt.state=xt,xt.strm=yt,xt.window=null,xt.mode=HEAD;const vt=inflateReset2(yt,Et);return vt!==Z_OK$1&&(yt.state=null),vt},inflateInit=yt=>inflateInit2(yt,DEF_WBITS);let virgin=!0,lenfix,distfix;const fixedtables=yt=>{if(virgin){lenfix=new Int32Array(512),distfix=new Int32Array(32);let Et=0;for(;Et<144;)yt.lens[Et++]=8;for(;Et<256;)yt.lens[Et++]=9;for(;Et<280;)yt.lens[Et++]=7;for(;Et<288;)yt.lens[Et++]=8;for(inftrees(LENS,yt.lens,0,288,lenfix,0,yt.work,{bits:9}),Et=0;Et<32;)yt.lens[Et++]=5;inftrees(DISTS,yt.lens,0,32,distfix,0,yt.work,{bits:5}),virgin=!1}yt.lencode=lenfix,yt.lenbits=9,yt.distcode=distfix,yt.distbits=5},updatewindow=(yt,Et,xt,vt)=>{let bt;const At=yt.state;return At.window===null&&(At.wsize=1<<At.wbits,At.wnext=0,At.whave=0,At.window=new Uint8Array(At.wsize)),vt>=At.wsize?(At.window.set(Et.subarray(xt-At.wsize,xt),0),At.wnext=0,At.whave=At.wsize):(bt=At.wsize-At.wnext,bt>vt&&(bt=vt),At.window.set(Et.subarray(xt-vt,xt-vt+bt),At.wnext),vt-=bt,vt?(At.window.set(Et.subarray(xt-vt,xt),0),At.wnext=vt,At.whave=At.wsize):(At.wnext+=bt,At.wnext===At.wsize&&(At.wnext=0),At.whave<At.wsize&&(At.whave+=bt))),0},inflate$2=(yt,Et)=>{let xt,vt,bt,At,Ft,Ct,wt,St,Tt,Rt,Pt,Lt,kt,Ot,Mt=0,It,Nt,Ut,jt,Vt,zt,Ht,Wt;const Gt=new Uint8Array(4);let qt,Xt;const Kt=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(inflateStateCheck(yt)||!yt.output||!yt.input&&yt.avail_in!==0)return Z_STREAM_ERROR$1;xt=yt.state,xt.mode===TYPE&&(xt.mode=TYPEDO),Ft=yt.next_out,bt=yt.output,wt=yt.avail_out,At=yt.next_in,vt=yt.input,Ct=yt.avail_in,St=xt.hold,Tt=xt.bits,Rt=Ct,Pt=wt,Wt=Z_OK$1;e:for(;;)switch(xt.mode){case HEAD:if(xt.wrap===0){xt.mode=TYPEDO;break}for(;Tt<16;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}if(xt.wrap&2&&St===35615){xt.wbits===0&&(xt.wbits=15),xt.check=0,Gt[0]=St&255,Gt[1]=St>>>8&255,xt.check=crc32_1(xt.check,Gt,2,0),St=0,Tt=0,xt.mode=FLAGS;break}if(xt.head&&(xt.head.done=!1),!(xt.wrap&1)||(((St&255)<<8)+(St>>8))%31){yt.msg="incorrect header check",xt.mode=BAD;break}if((St&15)!==Z_DEFLATED){yt.msg="unknown compression method",xt.mode=BAD;break}if(St>>>=4,Tt-=4,Ht=(St&15)+8,xt.wbits===0&&(xt.wbits=Ht),Ht>15||Ht>xt.wbits){yt.msg="invalid window size",xt.mode=BAD;break}xt.dmax=1<<xt.wbits,xt.flags=0,yt.adler=xt.check=1,xt.mode=St&512?DICTID:TYPE,St=0,Tt=0;break;case FLAGS:for(;Tt<16;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}if(xt.flags=St,(xt.flags&255)!==Z_DEFLATED){yt.msg="unknown compression method",xt.mode=BAD;break}if(xt.flags&57344){yt.msg="unknown header flags set",xt.mode=BAD;break}xt.head&&(xt.head.text=St>>8&1),xt.flags&512&&xt.wrap&4&&(Gt[0]=St&255,Gt[1]=St>>>8&255,xt.check=crc32_1(xt.check,Gt,2,0)),St=0,Tt=0,xt.mode=TIME;case TIME:for(;Tt<32;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}xt.head&&(xt.head.time=St),xt.flags&512&&xt.wrap&4&&(Gt[0]=St&255,Gt[1]=St>>>8&255,Gt[2]=St>>>16&255,Gt[3]=St>>>24&255,xt.check=crc32_1(xt.check,Gt,4,0)),St=0,Tt=0,xt.mode=OS;case OS:for(;Tt<16;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}xt.head&&(xt.head.xflags=St&255,xt.head.os=St>>8),xt.flags&512&&xt.wrap&4&&(Gt[0]=St&255,Gt[1]=St>>>8&255,xt.check=crc32_1(xt.check,Gt,2,0)),St=0,Tt=0,xt.mode=EXLEN;case EXLEN:if(xt.flags&1024){for(;Tt<16;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}xt.length=St,xt.head&&(xt.head.extra_len=St),xt.flags&512&&xt.wrap&4&&(Gt[0]=St&255,Gt[1]=St>>>8&255,xt.check=crc32_1(xt.check,Gt,2,0)),St=0,Tt=0}else xt.head&&(xt.head.extra=null);xt.mode=EXTRA;case EXTRA:if(xt.flags&1024&&(Lt=xt.length,Lt>Ct&&(Lt=Ct),Lt&&(xt.head&&(Ht=xt.head.extra_len-xt.length,xt.head.extra||(xt.head.extra=new Uint8Array(xt.head.extra_len)),xt.head.extra.set(vt.subarray(At,At+Lt),Ht)),xt.flags&512&&xt.wrap&4&&(xt.check=crc32_1(xt.check,vt,Lt,At)),Ct-=Lt,At+=Lt,xt.length-=Lt),xt.length))break e;xt.length=0,xt.mode=NAME;case NAME:if(xt.flags&2048){if(Ct===0)break e;Lt=0;do Ht=vt[At+Lt++],xt.head&&Ht&&xt.length<65536&&(xt.head.name+=String.fromCharCode(Ht));while(Ht&&Lt<Ct);if(xt.flags&512&&xt.wrap&4&&(xt.check=crc32_1(xt.check,vt,Lt,At)),Ct-=Lt,At+=Lt,Ht)break e}else xt.head&&(xt.head.name=null);xt.length=0,xt.mode=COMMENT;case COMMENT:if(xt.flags&4096){if(Ct===0)break e;Lt=0;do Ht=vt[At+Lt++],xt.head&&Ht&&xt.length<65536&&(xt.head.comment+=String.fromCharCode(Ht));while(Ht&&Lt<Ct);if(xt.flags&512&&xt.wrap&4&&(xt.check=crc32_1(xt.check,vt,Lt,At)),Ct-=Lt,At+=Lt,Ht)break e}else xt.head&&(xt.head.comment=null);xt.mode=HCRC;case HCRC:if(xt.flags&512){for(;Tt<16;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}if(xt.wrap&4&&St!==(xt.check&65535)){yt.msg="header crc mismatch",xt.mode=BAD;break}St=0,Tt=0}xt.head&&(xt.head.hcrc=xt.flags>>9&1,xt.head.done=!0),yt.adler=xt.check=0,xt.mode=TYPE;break;case DICTID:for(;Tt<32;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}yt.adler=xt.check=zswap32(St),St=0,Tt=0,xt.mode=DICT;case DICT:if(xt.havedict===0)return yt.next_out=Ft,yt.avail_out=wt,yt.next_in=At,yt.avail_in=Ct,xt.hold=St,xt.bits=Tt,Z_NEED_DICT$1;yt.adler=xt.check=1,xt.mode=TYPE;case TYPE:if(Et===Z_BLOCK||Et===Z_TREES)break e;case TYPEDO:if(xt.last){St>>>=Tt&7,Tt-=Tt&7,xt.mode=CHECK;break}for(;Tt<3;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}switch(xt.last=St&1,St>>>=1,Tt-=1,St&3){case 0:xt.mode=STORED;break;case 1:if(fixedtables(xt),xt.mode=LEN_,Et===Z_TREES){St>>>=2,Tt-=2;break e}break;case 2:xt.mode=TABLE;break;case 3:yt.msg="invalid block type",xt.mode=BAD}St>>>=2,Tt-=2;break;case STORED:for(St>>>=Tt&7,Tt-=Tt&7;Tt<32;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}if((St&65535)!==(St>>>16^65535)){yt.msg="invalid stored block lengths",xt.mode=BAD;break}if(xt.length=St&65535,St=0,Tt=0,xt.mode=COPY_,Et===Z_TREES)break e;case COPY_:xt.mode=COPY;case COPY:if(Lt=xt.length,Lt){if(Lt>Ct&&(Lt=Ct),Lt>wt&&(Lt=wt),Lt===0)break e;bt.set(vt.subarray(At,At+Lt),Ft),Ct-=Lt,At+=Lt,wt-=Lt,Ft+=Lt,xt.length-=Lt;break}xt.mode=TYPE;break;case TABLE:for(;Tt<14;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}if(xt.nlen=(St&31)+257,St>>>=5,Tt-=5,xt.ndist=(St&31)+1,St>>>=5,Tt-=5,xt.ncode=(St&15)+4,St>>>=4,Tt-=4,xt.nlen>286||xt.ndist>30){yt.msg="too many length or distance symbols",xt.mode=BAD;break}xt.have=0,xt.mode=LENLENS;case LENLENS:for(;xt.have<xt.ncode;){for(;Tt<3;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}xt.lens[Kt[xt.have++]]=St&7,St>>>=3,Tt-=3}for(;xt.have<19;)xt.lens[Kt[xt.have++]]=0;if(xt.lencode=xt.lendyn,xt.lenbits=7,qt={bits:xt.lenbits},Wt=inftrees(CODES,xt.lens,0,19,xt.lencode,0,xt.work,qt),xt.lenbits=qt.bits,Wt){yt.msg="invalid code lengths set",xt.mode=BAD;break}xt.have=0,xt.mode=CODELENS;case CODELENS:for(;xt.have<xt.nlen+xt.ndist;){for(;Mt=xt.lencode[St&(1<<xt.lenbits)-1],It=Mt>>>24,Nt=Mt>>>16&255,Ut=Mt&65535,!(It<=Tt);){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}if(Ut<16)St>>>=It,Tt-=It,xt.lens[xt.have++]=Ut;else{if(Ut===16){for(Xt=It+2;Tt<Xt;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}if(St>>>=It,Tt-=It,xt.have===0){yt.msg="invalid bit length repeat",xt.mode=BAD;break}Ht=xt.lens[xt.have-1],Lt=3+(St&3),St>>>=2,Tt-=2}else if(Ut===17){for(Xt=It+3;Tt<Xt;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}St>>>=It,Tt-=It,Ht=0,Lt=3+(St&7),St>>>=3,Tt-=3}else{for(Xt=It+7;Tt<Xt;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}St>>>=It,Tt-=It,Ht=0,Lt=11+(St&127),St>>>=7,Tt-=7}if(xt.have+Lt>xt.nlen+xt.ndist){yt.msg="invalid bit length repeat",xt.mode=BAD;break}for(;Lt--;)xt.lens[xt.have++]=Ht}}if(xt.mode===BAD)break;if(xt.lens[256]===0){yt.msg="invalid code -- missing end-of-block",xt.mode=BAD;break}if(xt.lenbits=9,qt={bits:xt.lenbits},Wt=inftrees(LENS,xt.lens,0,xt.nlen,xt.lencode,0,xt.work,qt),xt.lenbits=qt.bits,Wt){yt.msg="invalid literal/lengths set",xt.mode=BAD;break}if(xt.distbits=6,xt.distcode=xt.distdyn,qt={bits:xt.distbits},Wt=inftrees(DISTS,xt.lens,xt.nlen,xt.ndist,xt.distcode,0,xt.work,qt),xt.distbits=qt.bits,Wt){yt.msg="invalid distances set",xt.mode=BAD;break}if(xt.mode=LEN_,Et===Z_TREES)break e;case LEN_:xt.mode=LEN;case LEN:if(Ct>=6&&wt>=258){yt.next_out=Ft,yt.avail_out=wt,yt.next_in=At,yt.avail_in=Ct,xt.hold=St,xt.bits=Tt,inffast(yt,Pt),Ft=yt.next_out,bt=yt.output,wt=yt.avail_out,At=yt.next_in,vt=yt.input,Ct=yt.avail_in,St=xt.hold,Tt=xt.bits,xt.mode===TYPE&&(xt.back=-1);break}for(xt.back=0;Mt=xt.lencode[St&(1<<xt.lenbits)-1],It=Mt>>>24,Nt=Mt>>>16&255,Ut=Mt&65535,!(It<=Tt);){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}if(Nt&&(Nt&240)===0){for(jt=It,Vt=Nt,zt=Ut;Mt=xt.lencode[zt+((St&(1<<jt+Vt)-1)>>jt)],It=Mt>>>24,Nt=Mt>>>16&255,Ut=Mt&65535,!(jt+It<=Tt);){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}St>>>=jt,Tt-=jt,xt.back+=jt}if(St>>>=It,Tt-=It,xt.back+=It,xt.length=Ut,Nt===0){xt.mode=LIT;break}if(Nt&32){xt.back=-1,xt.mode=TYPE;break}if(Nt&64){yt.msg="invalid literal/length code",xt.mode=BAD;break}xt.extra=Nt&15,xt.mode=LENEXT;case LENEXT:if(xt.extra){for(Xt=xt.extra;Tt<Xt;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}xt.length+=St&(1<<xt.extra)-1,St>>>=xt.extra,Tt-=xt.extra,xt.back+=xt.extra}xt.was=xt.length,xt.mode=DIST;case DIST:for(;Mt=xt.distcode[St&(1<<xt.distbits)-1],It=Mt>>>24,Nt=Mt>>>16&255,Ut=Mt&65535,!(It<=Tt);){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}if((Nt&240)===0){for(jt=It,Vt=Nt,zt=Ut;Mt=xt.distcode[zt+((St&(1<<jt+Vt)-1)>>jt)],It=Mt>>>24,Nt=Mt>>>16&255,Ut=Mt&65535,!(jt+It<=Tt);){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}St>>>=jt,Tt-=jt,xt.back+=jt}if(St>>>=It,Tt-=It,xt.back+=It,Nt&64){yt.msg="invalid distance code",xt.mode=BAD;break}xt.offset=Ut,xt.extra=Nt&15,xt.mode=DISTEXT;case DISTEXT:if(xt.extra){for(Xt=xt.extra;Tt<Xt;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}xt.offset+=St&(1<<xt.extra)-1,St>>>=xt.extra,Tt-=xt.extra,xt.back+=xt.extra}if(xt.offset>xt.dmax){yt.msg="invalid distance too far back",xt.mode=BAD;break}xt.mode=MATCH;case MATCH:if(wt===0)break e;if(Lt=Pt-wt,xt.offset>Lt){if(Lt=xt.offset-Lt,Lt>xt.whave&&xt.sane){yt.msg="invalid distance too far back",xt.mode=BAD;break}Lt>xt.wnext?(Lt-=xt.wnext,kt=xt.wsize-Lt):kt=xt.wnext-Lt,Lt>xt.length&&(Lt=xt.length),Ot=xt.window}else Ot=bt,kt=Ft-xt.offset,Lt=xt.length;Lt>wt&&(Lt=wt),wt-=Lt,xt.length-=Lt;do bt[Ft++]=Ot[kt++];while(--Lt);xt.length===0&&(xt.mode=LEN);break;case LIT:if(wt===0)break e;bt[Ft++]=xt.length,wt--,xt.mode=LEN;break;case CHECK:if(xt.wrap){for(;Tt<32;){if(Ct===0)break e;Ct--,St|=vt[At++]<<Tt,Tt+=8}if(Pt-=wt,yt.total_out+=Pt,xt.total+=Pt,xt.wrap&4&&Pt&&(yt.adler=xt.check=xt.flags?crc32_1(xt.check,bt,Pt,Ft-Pt):adler32_1(xt.check,bt,Pt,Ft-Pt)),Pt=wt,xt.wrap&4&&(xt.flags?St:zswap32(St))!==xt.check){yt.msg="incorrect data check",xt.mode=BAD;break}St=0,Tt=0}xt.mode=LENGTH;case LENGTH:if(xt.wrap&&xt.flags){for(;Tt<32;){if(Ct===0)break e;Ct--,St+=vt[At++]<<Tt,Tt+=8}if(xt.wrap&4&&St!==(xt.total&4294967295)){yt.msg="incorrect length check",xt.mode=BAD;break}St=0,Tt=0}xt.mode=DONE;case DONE:Wt=Z_STREAM_END$1;break e;case BAD:Wt=Z_DATA_ERROR$1;break e;case MEM:return Z_MEM_ERROR$1;case SYNC:default:return Z_STREAM_ERROR$1}return yt.next_out=Ft,yt.avail_out=wt,yt.next_in=At,yt.avail_in=Ct,xt.hold=St,xt.bits=Tt,(xt.wsize||Pt!==yt.avail_out&&xt.mode<BAD&&(xt.mode<CHECK||Et!==Z_FINISH$1))&&updatewindow(yt,yt.output,yt.next_out,Pt-yt.avail_out),Rt-=yt.avail_in,Pt-=yt.avail_out,yt.total_in+=Rt,yt.total_out+=Pt,xt.total+=Pt,xt.wrap&4&&Pt&&(yt.adler=xt.check=xt.flags?crc32_1(xt.check,bt,Pt,yt.next_out-Pt):adler32_1(xt.check,bt,Pt,yt.next_out-Pt)),yt.data_type=xt.bits+(xt.last?64:0)+(xt.mode===TYPE?128:0)+(xt.mode===LEN_||xt.mode===COPY_?256:0),(Rt===0&&Pt===0||Et===Z_FINISH$1)&&Wt===Z_OK$1&&(Wt=Z_BUF_ERROR),Wt},inflateEnd=yt=>{if(inflateStateCheck(yt))return Z_STREAM_ERROR$1;let Et=yt.state;return Et.window&&(Et.window=null),yt.state=null,Z_OK$1},inflateGetHeader=(yt,Et)=>{if(inflateStateCheck(yt))return Z_STREAM_ERROR$1;const xt=yt.state;return(xt.wrap&2)===0?Z_STREAM_ERROR$1:(xt.head=Et,Et.done=!1,Z_OK$1)},inflateSetDictionary=(yt,Et)=>{const xt=Et.length;let vt,bt,At;return inflateStateCheck(yt)||(vt=yt.state,vt.wrap!==0&&vt.mode!==DICT)?Z_STREAM_ERROR$1:vt.mode===DICT&&(bt=1,bt=adler32_1(bt,Et,xt,0),bt!==vt.check)?Z_DATA_ERROR$1:(At=updatewindow(yt,Et,xt,xt),At?(vt.mode=MEM,Z_MEM_ERROR$1):(vt.havedict=1,Z_OK$1))};var inflateReset_1=inflateReset,inflateReset2_1=inflateReset2,inflateResetKeep_1=inflateResetKeep,inflateInit_1=inflateInit,inflateInit2_1=inflateInit2,inflate_2$1=inflate$2,inflateEnd_1=inflateEnd,inflateGetHeader_1=inflateGetHeader,inflateSetDictionary_1=inflateSetDictionary,inflateInfo="pako inflate (from Nodeca project)",inflate_1$2={inflateReset:inflateReset_1,inflateReset2:inflateReset2_1,inflateResetKeep:inflateResetKeep_1,inflateInit:inflateInit_1,inflateInit2:inflateInit2_1,inflate:inflate_2$1,inflateEnd:inflateEnd_1,inflateGetHeader:inflateGetHeader_1,inflateSetDictionary:inflateSetDictionary_1,inflateInfo};function GZheader(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var gzheader=GZheader;const toString=Object.prototype.toString,{Z_NO_FLUSH,Z_FINISH,Z_OK,Z_STREAM_END,Z_NEED_DICT,Z_STREAM_ERROR,Z_DATA_ERROR,Z_MEM_ERROR}=constants$2;function Inflate$1(yt){this.options=common.assign({chunkSize:1024*64,windowBits:15,to:""},yt||{});const Et=this.options;Et.raw&&Et.windowBits>=0&&Et.windowBits<16&&(Et.windowBits=-Et.windowBits,Et.windowBits===0&&(Et.windowBits=-15)),Et.windowBits>=0&&Et.windowBits<16&&!(yt&&yt.windowBits)&&(Et.windowBits+=32),Et.windowBits>15&&Et.windowBits<48&&(Et.windowBits&15)===0&&(Et.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new zstream,this.strm.avail_out=0;let xt=inflate_1$2.inflateInit2(this.strm,Et.windowBits);if(xt!==Z_OK)throw new Error(messages[xt]);if(this.header=new gzheader,inflate_1$2.inflateGetHeader(this.strm,this.header),Et.dictionary&&(typeof Et.dictionary=="string"?Et.dictionary=strings.string2buf(Et.dictionary):toString.call(Et.dictionary)==="[object ArrayBuffer]"&&(Et.dictionary=new Uint8Array(Et.dictionary)),Et.raw&&(xt=inflate_1$2.inflateSetDictionary(this.strm,Et.dictionary),xt!==Z_OK)))throw new Error(messages[xt])}Inflate$1.prototype.push=function(yt,Et){const xt=this.strm,vt=this.options.chunkSize,bt=this.options.dictionary;let At,Ft,Ct;if(this.ended)return!1;for(Et===~~Et?Ft=Et:Ft=Et===!0?Z_FINISH:Z_NO_FLUSH,toString.call(yt)==="[object ArrayBuffer]"?xt.input=new Uint8Array(yt):xt.input=yt,xt.next_in=0,xt.avail_in=xt.input.length;;){for(xt.avail_out===0&&(xt.output=new Uint8Array(vt),xt.next_out=0,xt.avail_out=vt),At=inflate_1$2.inflate(xt,Ft),At===Z_NEED_DICT&&bt&&(At=inflate_1$2.inflateSetDictionary(xt,bt),At===Z_OK?At=inflate_1$2.inflate(xt,Ft):At===Z_DATA_ERROR&&(At=Z_NEED_DICT));xt.avail_in>0&&At===Z_STREAM_END&&xt.state.wrap>0&&yt[xt.next_in]!==0;)inflate_1$2.inflateReset(xt),At=inflate_1$2.inflate(xt,Ft);switch(At){case Z_STREAM_ERROR:case Z_DATA_ERROR:case Z_NEED_DICT:case Z_MEM_ERROR:return this.onEnd(At),this.ended=!0,!1}if(Ct=xt.avail_out,xt.next_out&&(xt.avail_out===0||At===Z_STREAM_END))if(this.options.to==="string"){let wt=strings.utf8border(xt.output,xt.next_out),St=xt.next_out-wt,Tt=strings.buf2string(xt.output,wt);xt.next_out=St,xt.avail_out=vt-St,St&&xt.output.set(xt.output.subarray(wt,wt+St),0),this.onData(Tt)}else this.onData(xt.output.length===xt.next_out?xt.output:xt.output.subarray(0,xt.next_out));if(!(At===Z_OK&&Ct===0)){if(At===Z_STREAM_END)return At=inflate_1$2.inflateEnd(this.strm),this.onEnd(At),this.ended=!0,!0;if(xt.avail_in===0)break}}return!0},Inflate$1.prototype.onData=function(yt){this.chunks.push(yt)},Inflate$1.prototype.onEnd=function(yt){yt===Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=common.flattenChunks(this.chunks)),this.chunks=[],this.err=yt,this.msg=this.strm.msg};function inflate$1(yt,Et){const xt=new Inflate$1(Et);if(xt.push(yt),xt.err)throw xt.msg||messages[xt.err];return xt.result}function inflateRaw$1(yt,Et){return Et=Et||{},Et.raw=!0,inflate$1(yt,Et)}var Inflate_1$1=Inflate$1,inflate_2=inflate$1,inflateRaw_1$1=inflateRaw$1,ungzip$1=inflate$1,inflate_1$1={Inflate:Inflate_1$1,inflate:inflate_2,inflateRaw:inflateRaw_1$1,ungzip:ungzip$1};const{Deflate,deflate,deflateRaw,gzip}=deflate_1$1,{Inflate,inflate,inflateRaw,ungzip}=inflate_1$1;var Deflate_1=Deflate,deflate_1=deflate,deflateRaw_1=deflateRaw,gzip_1=gzip,Inflate_1=Inflate,inflate_1=inflate,inflateRaw_1=inflateRaw,ungzip_1=ungzip,constants_1=constants$2,pako={Deflate:Deflate_1,deflate:deflate_1,deflateRaw:deflateRaw_1,gzip:gzip_1,Inflate:Inflate_1,inflate:inflate_1,inflateRaw:inflateRaw_1,ungzip:ungzip_1,constants:constants_1};const pako_esm=Object.freeze(Object.defineProperty({__proto__:null,Deflate:Deflate_1,Inflate:Inflate_1,constants:constants_1,default:pako,deflate:deflate_1,deflateRaw:deflateRaw_1,gzip:gzip_1,inflate:inflate_1,inflateRaw:inflateRaw_1,ungzip:ungzip_1},Symbol.toStringTag,{value:"Module"}));exports.DEFAULT_CONFIG=DEFAULT_CONFIG$1,exports.Domain=Domain,exports.FORMAT_PRESETS=FORMAT_PRESETS,exports.Gene=Gene,exports.GenomeView=GenomeView,exports.HoodiniDashboard=HoodiniDashboard,exports.HoodiniDashboardDefault=HoodiniDashboard,exports.HoodiniViz=HoodiniViz,exports.PhyloNode=PhyloNode,exports.PhyloTree=PhyloTree,exports.React=React,exports.ReactDOM=ReactDOM$1,exports.create=create,exports.createDashboard=createDashboard,exports.createViz=createViz,exports.getPaletteColors=getPaletteColors,exports.getQualitativePalettes=getQualitativePalettes,exports.getSequentialPalettes=getSequentialPalettes,Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})}));