From 9764fe289d4eed2688b4a9447ad62f2be17826c7 Mon Sep 17 00:00:00 2001 From: Dohun-Lee-Sena Date: Fri, 7 Aug 2026 20:12:39 +0900 Subject: [PATCH] frontend build: cd frontend --> npm install --> npm run build --- .../{index-DSvBmaOe.js => index-B1ZmLQnV.js} | 144 +++++++++--------- frontend/dist/assets/index-DDnZ8aJk.css | 1 - frontend/dist/assets/index-GQ-xEw_u.css | 1 + frontend/dist/index.html | 4 +- 4 files changed, 75 insertions(+), 75 deletions(-) rename frontend/dist/assets/{index-DSvBmaOe.js => index-B1ZmLQnV.js} (50%) delete mode 100644 frontend/dist/assets/index-DDnZ8aJk.css create mode 100644 frontend/dist/assets/index-GQ-xEw_u.css diff --git a/frontend/dist/assets/index-DSvBmaOe.js b/frontend/dist/assets/index-B1ZmLQnV.js similarity index 50% rename from frontend/dist/assets/index-DSvBmaOe.js rename to frontend/dist/assets/index-B1ZmLQnV.js index f33beb8b..cd4126b7 100644 --- a/frontend/dist/assets/index-DSvBmaOe.js +++ b/frontend/dist/assets/index-B1ZmLQnV.js @@ -50,11 +50,11 @@ Error generating stack: `+e.message+` If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component. -For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return _.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},fu=`DialogDescriptionWarning`,pu=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${uu(fu).contentName}}.`;return _.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},mu=zl,hu=Vl,gu=Gl,_u=ql,vu=Zl,yu=nu,bu=iu,xu=ou,Su=mu,Cu=gu,wu=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(_u,{ref:n,className:G(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...t}));wu.displayName=_u.displayName;var Tu=_.forwardRef(({className:e,children:t,hideClose:n,...r},i)=>(0,V.jsxs)(Cu,{children:[(0,V.jsx)(wu,{}),(0,V.jsxs)(vu,{ref:i,className:G(`fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg`,e),...r,children:[t,!n&&(0,V.jsxs)(xu,{className:`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground`,children:[(0,V.jsx)(ho,{className:`h-4 w-4`}),(0,V.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]}));Tu.displayName=vu.displayName;var Eu=({className:e,...t})=>(0,V.jsx)(`div`,{className:G(`flex flex-col space-y-1.5 text-center sm:text-left`,e),...t});Eu.displayName=`DialogHeader`;var Du=({className:e,...t})=>(0,V.jsx)(`div`,{className:G(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,e),...t});Du.displayName=`DialogFooter`;var Ou=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(yu,{ref:n,className:G(`text-lg font-semibold leading-none tracking-tight`,e),...t}));Ou.displayName=yu.displayName;var ku=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(bu,{ref:n,className:G(`text-sm text-muted-foreground`,e),...t}));ku.displayName=bu.displayName;var Au=({open:e,onOpenChange:t})=>{let{auth:n,refetch:r}=Hs(),[i,a]=(0,_.useState)(!1),[o,s]=(0,_.useState)(!1);return n.status===`unauthenticated`?(0,V.jsx)(Su,{open:e,onOpenChange:t,children:(0,V.jsxs)(Tu,{className:`bg-gray-900 border-gray-800 text-white`,children:[(0,V.jsxs)(Eu,{children:[(0,V.jsx)(Ou,{className:`text-amber-200`,children:`Hugging Face CLI not configured`}),(0,V.jsx)(ku,{className:`text-gray-400`,children:`Uploads, training, and replay-from-Hub require a logged-in HF CLI. Run this in a terminal:`})]}),(0,V.jsxs)(`pre`,{className:`bg-gray-950 p-3 rounded border border-gray-700 text-xs sm:text-sm overflow-x-auto flex items-center justify-between gap-2`,children:[(0,V.jsx)(`code`,{className:`text-green-400`,children:n.loginCommand}),(0,V.jsx)(`button`,{type:`button`,onClick:async()=>{try{await navigator.clipboard.writeText(n.loginCommand),a(!0),setTimeout(()=>a(!1),1500)}catch(e){console.warn(`Clipboard write failed:`,e)}},className:`flex-shrink-0 text-gray-400 hover:text-gray-200 transition-colors`,"aria-label":`Copy command`,children:i?(0,V.jsx)(Da,{className:`w-4 h-4 text-green-400`}):(0,V.jsx)(za,{className:`w-4 h-4`})})]}),(0,V.jsxs)(K,{variant:`outline`,size:`sm`,onClick:async()=>{s(!0);try{await r()}finally{s(!1)}},disabled:o,className:`border-amber-700 bg-transparent text-amber-100 hover:bg-amber-900/40 hover:text-amber-50`,children:[(0,V.jsx)($a,{className:`w-4 h-4 mr-2 ${o?`animate-spin`:``}`}),`I've logged in — recheck`]})]})}):null},ju=()=>{let{auth:e}=Hs(),[t,n]=(0,_.useState)(!1);return e.status===`loading`?(0,V.jsxs)(`div`,{className:`inline-flex items-center gap-2 rounded-full border border-gray-800 bg-gray-900/60 px-3 py-1 text-xs text-gray-400`,children:[(0,V.jsx)(Ja,{className:`w-3 h-3 animate-spin`}),(0,V.jsx)(`span`,{children:`Checking HF…`})]}):e.status===`authenticated`?(0,V.jsxs)(`div`,{className:`inline-flex items-center gap-2 rounded-full border border-gray-800 bg-gray-900/60 px-3 py-1 text-xs text-gray-200`,title:`Hugging Face authenticated`,children:[(0,V.jsx)(`span`,{className:`h-2 w-2 rounded-full bg-emerald-400`,"aria-hidden":`true`}),(0,V.jsx)(`span`,{children:e.username})]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`button`,{type:`button`,onClick:()=>n(!0),className:`inline-flex items-center gap-2 rounded-full border border-amber-700/60 bg-amber-950/40 px-3 py-1 text-xs text-amber-100 hover:bg-amber-900/40 transition-colors`,"aria-label":`Hugging Face not configured — show login instructions`,children:[(0,V.jsx)(`span`,{className:`h-2 w-2 rounded-full bg-amber-400`,"aria-hidden":`true`}),(0,V.jsx)(`span`,{children:`HF not configured`})]}),(0,V.jsx)(Au,{open:t,onOpenChange:n})]})},Mu=()=>(0,V.jsx)(`header`,{className:`sticky top-0 z-30 w-full border-b border-gray-800 bg-black/95 backdrop-blur supports-[backdrop-filter]:bg-black/70`,children:(0,V.jsxs)(`div`,{className:`mx-auto flex h-12 max-w-7xl items-center justify-between px-4`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`img`,{src:`/lovable-uploads/5e648747-34b7-4d8f-93fd-4dbd00aeeefc.png`,alt:`LeLab`,className:`h-7 w-7`}),(0,V.jsx)(`span`,{className:`text-base font-semibold tracking-tight text-white`,children:`LeLab`})]}),(0,V.jsx)(ju,{})]})}),Nu=[{href:`https://github.com/huggingface/lerobot`,label:`GitHub`,Icon:qa},{href:`https://huggingface.co/docs/lerobot`,label:`Documentation`,Icon:Ta},{href:`https://discord.com/invite/s3KuuzsPFb`,label:`Discord`,Icon:({className:e})=>(0,V.jsx)(`svg`,{role:`img`,viewBox:`0 0 24 24`,xmlns:`http://www.w3.org/2000/svg`,fill:`currentColor`,className:e,children:(0,V.jsx)(`path`,{d:`M20.317 4.369A19.79 19.79 0 0 0 16.558 3.2a.07.07 0 0 0-.074.035c-.211.375-.444.864-.608 1.249a18.27 18.27 0 0 0-5.487 0 12.51 12.51 0 0 0-.617-1.249.077.077 0 0 0-.074-.035 19.736 19.736 0 0 0-3.76 1.169.07.07 0 0 0-.032.027C2.533 8.046 1.79 11.624 2.155 15.157a.082.082 0 0 0 .031.056 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.027c.462-.63.873-1.295 1.226-1.994a.076.076 0 0 0-.041-.105 13.13 13.13 0 0 1-1.873-.892.077.077 0 0 1-.008-.128c.126-.094.252-.192.372-.291a.074.074 0 0 1 .077-.01c3.927 1.793 8.18 1.793 12.061 0a.074.074 0 0 1 .078.009c.12.099.246.198.373.292a.077.077 0 0 1-.006.128 12.32 12.32 0 0 1-1.873.891.077.077 0 0 0-.04.106c.36.698.772 1.363 1.225 1.993a.076.076 0 0 0 .084.028 19.84 19.84 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-4.087-.838-7.636-3.548-10.787a.061.061 0 0 0-.031-.028zM8.02 12.997c-1.182 0-2.156-1.085-2.156-2.419 0-1.333.955-2.419 2.156-2.419 1.21 0 2.175 1.095 2.156 2.42 0 1.333-.955 2.418-2.156 2.418zm7.974 0c-1.182 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.175 1.095 2.156 2.42 0 1.333-.946 2.418-2.156 2.418z`})})}],Pu=()=>(0,V.jsx)(`footer`,{className:`fixed inset-x-0 bottom-0 z-30 border-t border-gray-800 bg-black/95`,children:(0,V.jsxs)(`div`,{className:`mx-auto flex max-w-7xl flex-col items-center justify-between gap-3 px-4 py-4 text-sm text-gray-400 sm:flex-row`,children:[(0,V.jsxs)(`span`,{children:[`Powered by`,` `,(0,V.jsx)(`a`,{href:`https://github.com/huggingface/lerobot`,target:`_blank`,rel:`noopener noreferrer`,className:`font-medium text-gray-200 hover:text-white`,children:`LeRobot`})]}),(0,V.jsx)(`nav`,{className:`flex items-center gap-4`,children:Nu.map(({href:e,label:t,Icon:n})=>(0,V.jsxs)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-1.5 text-gray-400 hover:text-white`,children:[(0,V.jsx)(n,{className:`h-4 w-4`}),(0,V.jsx)(`span`,{children:t})]},t))})]})}),Fu=[`top`,`right`,`bottom`,`left`],Iu=Math.min,Lu=Math.max,Ru=Math.round,zu=Math.floor,Bu=e=>({x:e,y:e}),eee={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Vu(e,t,n){return Lu(e,Iu(t,n))}function Hu(e,t){return typeof e==`function`?e(t):e}function Uu(e){return e.split(`-`)[0]}function Wu(e){return e.split(`-`)[1]}function Gu(e){return e===`x`?`y`:`x`}function Ku(e){return e===`y`?`height`:`width`}function qu(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Ju(e){return Gu(qu(e))}function tee(e,t,n){n===void 0&&(n=!1);let r=Wu(e),i=Ju(e),a=Ku(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=nd(o)),[o,nd(o)]}function nee(e){let t=nd(e);return[Yu(e),t,Yu(t)]}function Yu(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Xu=[`left`,`right`],Zu=[`right`,`left`],Qu=[`top`,`bottom`],$u=[`bottom`,`top`];function ed(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Zu:Xu:t?Xu:Zu;case`left`:case`right`:return t?Qu:$u;default:return[]}}function td(e,t,n,r){let i=Wu(e),a=ed(Uu(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Yu)))),a}function nd(e){let t=Uu(e);return eee[t]+e.slice(t.length)}function rd(e){return{top:0,right:0,bottom:0,left:0,...e}}function id(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:rd(e)}function ad(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function od(e,t,n){let{reference:r,floating:i}=e,a=qu(t),o=Ju(t),s=Ku(o),c=Uu(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Wu(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function ree(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Hu(t,e),p=id(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=ad(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=ad(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var iee=50,aee=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:ree},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=od(l,r,c),f=r,p=0,m={};for(let n=0;n({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=Hu(e,t)||{};if(l==null)return{};let d=id(u),f={x:n,y:r},p=Ju(i),m=Ku(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=Iu(d[_],T),D=Iu(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=Vu(O,A,k),M=!c.arrow&&Wu(i)!=null&&A!==j&&a.reference[m]/2-(Ae<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==qu(t))||T.every(e=>qu(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=qu(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function sd(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function cd(e){return Fu.some(t=>e[t]>=0)}var cee=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=Hu(e,t);switch(i){case`referenceHidden`:{let e=sd(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:cd(e)}}}case`escaped`:{let e=sd(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:cd(e)}}}default:return{}}}}},ld=new Set([`left`,`top`]);async function ud(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Uu(n),s=Wu(n),c=qu(n)===`y`,l=ld.has(o)?-1:1,u=a&&c?-1:1,d=Hu(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var dd=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await ud(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},fd=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Hu(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=qu(Uu(i)),p=Gu(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=Vu(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=Vu(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},pd=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=Hu(e,t),u={x:n,y:r},d=qu(i),f=Gu(d),p=u[f],m=u[d],h=Hu(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;pn&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=ld.has(Uu(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);mr&&(m=r)}return{[f]:p,[d]:m}}}},md=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=Hu(e,t),u=await o.detectOverflow(t,l),d=Uu(i),f=Wu(i),p=qu(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=Iu(h-u[g],v),x=Iu(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=Lu(u.left,0),t=Lu(u.right,0),n=Lu(u.top,0),r=Lu(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:Lu(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:Lu(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function hd(){return typeof window<`u`}function gd(e){return yd(e)?(e.nodeName||``).toLowerCase():`#document`}function _d(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function vd(e){return((yd(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function yd(e){return hd()?e instanceof Node||e instanceof _d(e).Node:!1}function bd(e){return hd()?e instanceof Element||e instanceof _d(e).Element:!1}function xd(e){return hd()?e instanceof HTMLElement||e instanceof _d(e).HTMLElement:!1}function Sd(e){return!hd()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof _d(e).ShadowRoot}function Cd(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Nd(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function wd(e){return/^(table|td|th)$/.test(gd(e))}function Td(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Ed=/transform|translate|scale|rotate|perspective|filter/,Dd=/paint|layout|strict|content/,Od=e=>!!e&&e!==`none`,kd;function Ad(e){let t=bd(e)?Nd(e):e;return Od(t.transform)||Od(t.translate)||Od(t.scale)||Od(t.rotate)||Od(t.perspective)||!jd()&&(Od(t.backdropFilter)||Od(t.filter))||Ed.test(t.willChange||``)||Dd.test(t.contain||``)}function lee(e){let t=Fd(e);for(;xd(t)&&!Md(t);){if(Ad(t))return t;if(Td(t))return null;t=Fd(t)}return null}function jd(){return kd??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),kd}function Md(e){return/^(html|body|#document)$/.test(gd(e))}function Nd(e){return _d(e).getComputedStyle(e)}function Pd(e){return bd(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Fd(e){if(gd(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Sd(e)&&e.host||vd(e);return Sd(t)?t.host:t}function Id(e){let t=Fd(e);return Md(t)?e.ownerDocument?e.ownerDocument.body:e.body:xd(t)&&Cd(t)?t:Id(t)}function Ld(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Id(e),i=r===e.ownerDocument?.body,a=_d(r);if(i){let e=Rd(a);return t.concat(a,a.visualViewport||[],Cd(r)?r:[],e&&n?Ld(e):[])}else return t.concat(r,Ld(r,[],n))}function Rd(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function zd(e){let t=Nd(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=xd(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Ru(n)!==a||Ru(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Bd(e){return bd(e)?e:e.contextElement}function Vd(e){let t=Bd(e);if(!xd(t))return Bu(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=zd(t),o=(a?Ru(n.width):n.width)/r,s=(a?Ru(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Hd=Bu(0);function Ud(e){let t=_d(e);return!jd()||!t.visualViewport?Hd:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Wd(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==_d(e)?!1:t}function Gd(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Bd(e),o=Bu(1);t&&(r?bd(r)&&(o=Vd(r)):o=Vd(e));let s=Wd(a,n,r)?Ud(a):Bu(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=_d(a),t=r&&bd(r)?_d(r):r,n=e,i=Rd(n);for(;i&&r&&t!==n;){let e=Vd(i),t=i.getBoundingClientRect(),r=Nd(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=_d(i),i=Rd(n)}}return ad({width:u,height:d,x:c,y:l})}function Kd(e,t){let n=Pd(e).scrollLeft;return t?t.left+n:Gd(vd(e)).left+n}function qd(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Kd(e,n),y:n.top+t.scrollTop}}function Jd(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=vd(r),s=t?Td(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Bu(1),u=Bu(0),d=xd(r);if((d||!d&&!a)&&((gd(r)!==`body`||Cd(o))&&(c=Pd(r)),d)){let e=Gd(r);l=Vd(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?qd(o,c):Bu(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Yd(e){return Array.from(e.getClientRects())}function Xd(e){let t=vd(e),n=Pd(e),r=e.ownerDocument.body,i=Lu(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=Lu(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Kd(e),s=-n.scrollTop;return Nd(r).direction===`rtl`&&(o+=Lu(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Zd=25;function Qd(e,t){let n=_d(e),r=vd(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=jd();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Kd(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=Zd&&(a-=o)}else l<=Zd&&(a+=l);return{width:a,height:o,x:s,y:c}}function $d(e,t){let n=Gd(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=xd(e)?Vd(e):Bu(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function ef(e,t,n){let r;if(t===`viewport`)r=Qd(e,n);else if(t===`document`)r=Xd(vd(e));else if(bd(t))r=$d(t,n);else{let n=Ud(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return ad(r)}function tf(e,t){let n=Fd(e);return n===t||!bd(n)||Md(n)?!1:Nd(n).position===`fixed`||tf(n,t)}function nf(e,t){let n=t.get(e);if(n)return n;let r=Ld(e,[],!1).filter(e=>bd(e)&&gd(e)!==`body`),i=null,a=Nd(e).position===`fixed`,o=a?Fd(e):e;for(;bd(o)&&!Md(o);){let t=Nd(o),n=Ad(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Cd(o)&&!n&&tf(e,o))?r=r.filter(e=>e!==o):i=t,o=Fd(o)}return t.set(e,r),r}function rf(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Td(t)?[]:nf(t,this._c):[].concat(n),r],o=ef(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e{o(!1,1e-7)},1e3)}n===1&&!pf(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function hf(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Bd(e),u=i||a?[...l?Ld(l):[],...t?Ld(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?mf(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Gd(e):null;c&&g();function g(){let t=Gd(e);h&&!pf(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var gf=dd,_f=fd,vf=see,yf=md,bf=cee,xf=oee,Sf=pd,Cf=(e,t,n)=>{let r=new Map,i={platform:ff,...n},a={...i.platform,_c:r};return aee(e,t,{...i,platform:a})},wf=typeof document<`u`?_.useLayoutEffect:function(){};function Tf(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!Tf(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!Tf(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function Ef(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Df(e,t){let n=Ef(e);return Math.round(t*n)/n}function Of(e){let t=_.useRef(e);return wf(()=>{t.current=e}),t}function kf(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=_.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=_.useState(r);Tf(f,r)||p(r);let[m,h]=_.useState(null),[g,y]=_.useState(null),b=_.useCallback(e=>{e!==w.current&&(w.current=e,h(e))},[]),x=_.useCallback(e=>{e!==T.current&&(T.current=e,y(e))},[]),S=a||m,C=o||g,w=_.useRef(null),T=_.useRef(null),E=_.useRef(u),D=c!=null,O=Of(c),k=Of(i),A=Of(l),j=_.useCallback(()=>{if(!w.current||!T.current)return;let e={placement:t,strategy:n,middleware:f};k.current&&(e.platform=k.current),Cf(w.current,T.current,e).then(e=>{let t={...e,isPositioned:A.current!==!1};M.current&&!Tf(E.current,t)&&(E.current=t,v.flushSync(()=>{d(t)}))})},[f,t,n,k,A]);wf(()=>{l===!1&&E.current.isPositioned&&(E.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let M=_.useRef(!1);wf(()=>(M.current=!0,()=>{M.current=!1}),[]),wf(()=>{if(S&&(w.current=S),C&&(T.current=C),S&&C){if(O.current)return O.current(S,C,j);j()}},[S,C,j,O,D]);let N=_.useMemo(()=>({reference:w,floating:T,setReference:b,setFloating:x}),[b,x]),P=_.useMemo(()=>({reference:S,floating:C}),[S,C]),F=_.useMemo(()=>{let e={position:n,left:0,top:0};if(!P.floating)return e;let t=Df(P.floating,u.x),r=Df(P.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...Ef(P.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,P.floating,u.x,u.y]);return _.useMemo(()=>({...u,update:j,refs:N,elements:P,floatingStyles:F}),[u,j,N,P,F])}var Af=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:xf({element:r.current,padding:i}).fn(n):r?xf({element:r,padding:i}).fn(n):{}}}},jf=(e,t)=>{let n=gf(e);return{name:n.name,fn:n.fn,options:[e,t]}},Mf=(e,t)=>{let n=_f(e);return{name:n.name,fn:n.fn,options:[e,t]}},Nf=(e,t)=>({fn:Sf(e).fn,options:[e,t]}),Pf=(e,t)=>{let n=vf(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ff=(e,t)=>{let n=yf(e);return{name:n.name,fn:n.fn,options:[e,t]}},If=(e,t)=>{let n=bf(e);return{name:n.name,fn:n.fn,options:[e,t]}},Lf=(e,t)=>{let n=Af(e);return{name:n.name,fn:n.fn,options:[e,t]}},uee=`Arrow`,Rf=_.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,V.jsx)(U.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,V.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});Rf.displayName=uee;var dee=Rf;function zf(e){let[t,n]=_.useState(void 0);return ri(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var Bf=`Popper`,[Vf,Hf]=wr(Bf),[fee,Uf]=Vf(Bf),Wf=e=>{let{__scopePopper:t,children:n}=e,[r,i]=_.useState(null);return(0,V.jsx)(fee,{scope:t,anchor:r,onAnchorChange:i,children:n})};Wf.displayName=Bf;var Gf=`PopperAnchor`,Kf=_.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=Uf(Gf,n),o=_.useRef(null),s=Sr(t,o),c=_.useRef(null);return _.useEffect(()=>{let e=c.current;c.current=r?.current||o.current,e!==c.current&&a.onAnchorChange(c.current)}),r?null:(0,V.jsx)(U.div,{...i,ref:s})});Kf.displayName=Gf;var qf=`PopperContent`,[Jf,Yf]=Vf(qf),Xf=_.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=`partial`,hideWhenDetached:f=!1,updatePositionStrategy:p=`optimized`,onPlaced:m,...h}=e,g=Uf(qf,n),[v,y]=_.useState(null),b=Sr(t,e=>y(e)),[x,S]=_.useState(null),C=zf(x),w=C?.width??0,T=C?.height??0,E=r+(a===`center`?``:`-`+a),D=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},O=Array.isArray(l)?l:[l],k=O.length>0,A={padding:D,boundary:O.filter(ep),altBoundary:k},{refs:j,floatingStyles:M,placement:N,isPositioned:P,middlewareData:F}=kf({strategy:`fixed`,placement:E,whileElementsMounted:(...e)=>hf(...e,{animationFrame:p===`always`}),elements:{reference:g.anchor},middleware:[jf({mainAxis:i+T,alignmentAxis:o}),c&&Mf({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?Nf():void 0,...A}),c&&Pf({...A}),Ff({...A,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),x&&Lf({element:x,padding:s}),tp({arrowWidth:w,arrowHeight:T}),f&&If({strategy:`referenceHidden`,...A})]}),[ee,te]=np(N),I=Br(m);ri(()=>{P&&I?.()},[P,I]);let ne=F.arrow?.x,re=F.arrow?.y,ie=F.arrow?.centerOffset!==0,[ae,oe]=_.useState();return ri(()=>{v&&oe(window.getComputedStyle(v).zIndex)},[v]),(0,V.jsx)(`div`,{ref:j.setFloating,"data-radix-popper-content-wrapper":``,style:{...M,transform:P?M.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ae,"--radix-popper-transform-origin":[F.transformOrigin?.x,F.transformOrigin?.y].join(` `),...F.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,V.jsx)(Jf,{scope:n,placedSide:ee,onArrowChange:S,arrowX:ne,arrowY:re,shouldHideArrow:ie,children:(0,V.jsx)(U.div,{"data-side":ee,"data-align":te,...h,ref:b,style:{...h.style,animation:P?void 0:`none`}})})})});Xf.displayName=qf;var Zf=`PopperArrow`,Qf={top:`bottom`,right:`left`,bottom:`top`,left:`right`},$f=_.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=Yf(Zf,n),a=Qf[i.placedSide];return(0,V.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,V.jsx)(dee,{...r,ref:t,style:{...r.style,display:`block`}})})});$f.displayName=Zf;function ep(e){return e!==null}var tp=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=np(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function np(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var rp=Wf,ip=Kf,ap=Xf,op=$f,sp=Symbol(`radix.slottable`);function cp(e){let t=({children:e})=>(0,V.jsx)(V.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=sp,t}var[lp,pee]=wr(`Tooltip`,[Hf]),up=Hf(),dp=`TooltipProvider`,fp=700,pp=`tooltip.open`,[mp,hp]=lp(dp),gp=e=>{let{__scopeTooltip:t,delayDuration:n=fp,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=_.useRef(!0),s=_.useRef(!1),c=_.useRef(0);return _.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,V.jsx)(mp,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:_.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:_.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:s,onPointerInTransitChange:_.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};gp.displayName=dp;var _p=`Tooltip`,[vp,yp]=lp(_p),bp=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=hp(_p,e.__scopeTooltip),l=up(t),[u,d]=_.useState(null),f=Gs(),p=_.useRef(0),m=o??c.disableHoverableContent,h=s??c.delayDuration,g=_.useRef(!1),[v,y]=fi({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(pp))):c.onClose(),a?.(e)},caller:_p}),b=_.useMemo(()=>v?g.current?`delayed-open`:`instant-open`:`closed`,[v]),x=_.useCallback(()=>{window.clearTimeout(p.current),p.current=0,g.current=!1,y(!0)},[y]),S=_.useCallback(()=>{window.clearTimeout(p.current),p.current=0,y(!1)},[y]),C=_.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{g.current=!0,y(!0),p.current=0},h)},[h,y]);return _.useEffect(()=>()=>{p.current&&=(window.clearTimeout(p.current),0)},[]),(0,V.jsx)(rp,{...l,children:(0,V.jsx)(vp,{scope:t,contentId:f,open:v,stateAttribute:b,trigger:u,onTriggerChange:d,onTriggerEnter:_.useCallback(()=>{c.isOpenDelayedRef.current?C():x()},[c.isOpenDelayedRef,C,x]),onTriggerLeave:_.useCallback(()=>{m?S():(window.clearTimeout(p.current),p.current=0)},[S,m]),onOpen:x,onClose:S,disableHoverableContent:m,children:n})})};bp.displayName=_p;var xp=`TooltipTrigger`,Sp=_.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=yp(xp,n),a=hp(xp,n),o=up(n),s=Sr(t,_.useRef(null),i.onTriggerChange),c=_.useRef(!1),l=_.useRef(!1),u=_.useCallback(()=>c.current=!1,[]);return _.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,V.jsx)(ip,{asChild:!0,...o,children:(0,V.jsx)(U.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:H(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:H(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:H(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:H(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:H(e.onBlur,i.onClose),onClick:H(e.onClick,i.onClose)})})});Sp.displayName=xp;var Cp=`TooltipPortal`,[wp,Tp]=lp(Cp,{forceMount:void 0}),Ep=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=yp(Cp,t);return(0,V.jsx)(wp,{scope:t,forceMount:n,children:(0,V.jsx)(si,{present:n||a.open,children:(0,V.jsx)(ai,{asChild:!0,container:i,children:r})})})};Ep.displayName=Cp;var Dp=`TooltipContent`,Op=_.forwardRef((e,t)=>{let n=Tp(Dp,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=yp(Dp,e.__scopeTooltip);return(0,V.jsx)(si,{present:r||o.open,children:o.disableHoverableContent?(0,V.jsx)(Np,{side:i,...a,ref:t}):(0,V.jsx)(kp,{side:i,...a,ref:t})})}),kp=_.forwardRef((e,t)=>{let n=yp(Dp,e.__scopeTooltip),r=hp(Dp,e.__scopeTooltip),i=_.useRef(null),a=Sr(t,i),[o,s]=_.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=_.useCallback(()=>{s(null),d(!1)},[d]),p=_.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=Lp(r,Ip(r,n.getBoundingClientRect())),a=Rp(t.getBoundingClientRect());s(Bp([...i,...a])),d(!0)},[d]);return _.useEffect(()=>()=>f(),[f]),_.useEffect(()=>{if(c&&u){let e=e=>p(e,u),t=e=>p(e,c);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),_.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!zp(n,o);r?f():i&&(f(),l())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,V.jsx)(Np,{...e,ref:a})}),[Ap,jp]=lp(_p,{isInside:!1}),Mp=cp(`TooltipContent`),Np=_.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=yp(Dp,n),l=up(n),{onClose:u}=c;return _.useEffect(()=>(document.addEventListener(pp,u),()=>document.removeEventListener(pp,u)),[u]),_.useEffect(()=>{if(c.trigger){let e=e=>{e.target?.contains(c.trigger)&&u()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,u]),(0,V.jsx)(Jr,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,V.jsxs)(ap,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.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:[(0,V.jsx)(Mp,{children:r}),(0,V.jsx)(Ap,{scope:n,isInside:!0,children:(0,V.jsx)(vi,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});Op.displayName=Dp;var Pp=`TooltipArrow`,Fp=_.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=up(n);return jp(Pp,n).isInside?null:(0,V.jsx)(op,{...i,...r,ref:t})});Fp.displayName=Pp;function Ip(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function Lp(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function Rp(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function zp(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;er!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function Bp(e){let t=e.slice();return t.sort((e,t)=>e.xt.x?1:e.yt.y)),Vp(t)}function Vp(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var Hp=bp,Up=Sp,Wp=Op,Gp=Hp,Kp=Up,qp=_.forwardRef(({className:e,sideOffset:t=4,...n},r)=>(0,V.jsx)(Wp,{ref:r,sideOffset:t,className:G(`z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...n}));qp.displayName=Wp.displayName;function Jp(e){let t=Yp(e),n=_.forwardRef((e,n)=>{let{children:r,...i}=e,a=_.Children.toArray(r),o=a.find(Zp);if(o){let e=o.props.children,r=a.map(t=>t===o?_.Children.count(e)>1?_.Children.only(null):_.isValidElement(e)?e.props.children:null:t);return(0,V.jsx)(t,{...i,ref:n,children:_.isValidElement(e)?_.cloneElement(e,void 0,r):null})}return(0,V.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function Yp(e){let t=_.forwardRef((e,t)=>{let{children:n,...r}=e;if(_.isValidElement(n)){let e=$p(n),i=Qp(r,n.props);return n.type!==_.Fragment&&(i.ref=t?xr(t,e):e),_.cloneElement(n,i)}return _.Children.count(n)>1?_.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Xp=Symbol(`radix.slottable`);function Zp(e){return _.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===Xp}function Qp(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function $p(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var em=`Popover`,[tm,mee]=wr(em,[Hf]),nm=Hf(),[rm,im]=tm(em),am=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=nm(t),c=_.useRef(null),[l,u]=_.useState(!1),[d,f]=fi({prop:r,defaultProp:i??!1,onChange:a,caller:em});return(0,V.jsx)(rp,{...s,children:(0,V.jsx)(rm,{scope:t,contentId:Gs(),triggerRef:c,open:d,onOpenChange:f,onOpenToggle:_.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:l,onCustomAnchorAdd:_.useCallback(()=>u(!0),[]),onCustomAnchorRemove:_.useCallback(()=>u(!1),[]),modal:o,children:n})})};am.displayName=em;var om=`PopoverAnchor`,sm=_.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=im(om,n),a=nm(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return _.useEffect(()=>(o(),()=>s()),[o,s]),(0,V.jsx)(ip,{...a,...r,ref:t})});sm.displayName=om;var cm=`PopoverTrigger`,lm=_.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=im(cm,n),a=nm(n),o=Sr(t,i.triggerRef),s=(0,V.jsx)(U.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.contentId,"data-state":wm(i.open),...r,ref:o,onClick:H(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,V.jsx)(ip,{asChild:!0,...a,children:s})});lm.displayName=cm;var um=`PopoverPortal`,[dm,fm]=tm(um,{forceMount:void 0}),pm=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=im(um,t);return(0,V.jsx)(dm,{scope:t,forceMount:n,children:(0,V.jsx)(si,{present:n||a.open,children:(0,V.jsx)(ai,{asChild:!0,container:i,children:r})})})};pm.displayName=um;var mm=`PopoverContent`,hm=_.forwardRef((e,t)=>{let n=fm(mm,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=im(mm,e.__scopePopover);return(0,V.jsx)(si,{present:r||a.open,children:a.modal?(0,V.jsx)(_m,{...i,ref:t}):(0,V.jsx)(vm,{...i,ref:t})})});hm.displayName=mm;var gm=Jp(`PopoverContent.RemoveScroll`),_m=_.forwardRef((e,t)=>{let n=im(mm,e.__scopePopover),r=_.useRef(null),i=Sr(t,r),a=_.useRef(!1);return _.useEffect(()=>{let e=r.current;if(e)return Dl(e)},[]),(0,V.jsx)(vl,{as:gm,allowPinchZoom:!0,children:(0,V.jsx)(ym,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:H(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:H(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;a.current=t.button===2||n},{checkForDefaultPrevented:!1}),onFocusOutside:H(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),vm=_.forwardRef((e,t)=>{let n=im(mm,e.__scopePopover),r=_.useRef(!1),i=_.useRef(!1);return(0,V.jsx)(ym,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),ym=_.forwardRef((e,t)=>{let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:u,...d}=e,f=im(mm,n),p=nm(n);return lc(),(0,V.jsx)(Xs,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,V.jsx)(Jr,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),children:(0,V.jsx)(ap,{"data-state":wm(f.open),role:`dialog`,id:f.contentId,...p,...d,ref:t,style:{...d.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})}),bm=`PopoverClose`,xm=_.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=im(bm,n);return(0,V.jsx)(U.button,{type:`button`,...r,ref:t,onClick:H(e.onClick,()=>i.onOpenChange(!1))})});xm.displayName=bm;var Sm=`PopoverArrow`,Cm=_.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=nm(n);return(0,V.jsx)(op,{...i,...r,ref:t})});Cm.displayName=Sm;function wm(e){return e?`open`:`closed`}var Tm=am,Em=lm,Dm=pm,Om=hm,km=Tm,Am=Em,jm=_.forwardRef(({className:e,align:t=`center`,sideOffset:n=4,...r},i)=>(0,V.jsx)(Dm,{children:(0,V.jsx)(Om,{ref:i,align:t,sideOffset:n,className:G(`z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...r})}));jm.displayName=Om.displayName;var Mm=1,Nm=.9,Pm=.8,Fm=.17,Im=.1,Lm=.999,Rm=.9999,zm=.99,Bm=/[\\\/_+.#"@\[\(\{&]/,Vm=/[\\\/_+.#"@\[\(\{&]/g,Hm=/[\s-]/,Um=/[\s-]/g;function Wm(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?Mm:zm;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),l=n.indexOf(c,i),u=0,d,f,p,m;l>=0;)d=Wm(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=Mm:Bm.test(e.charAt(l-1))?(d*=Pm,p=e.slice(i,l-1).match(Vm),p&&i>0&&(d*=Lm**+p.length)):Hm.test(e.charAt(l-1))?(d*=Nm,m=e.slice(i,l-1).match(Um),m&&i>0&&(d*=Lm**+m.length)):(d*=Fm,i>0&&(d*=Lm**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=Rm)),(dd&&(d=f*Im)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function Gm(e){return e.toLowerCase().replace(Um,` `)}function hee(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,Wm(e,t,Gm(e),Gm(t),0,0,{})}var Km=`[cmdk-group=""]`,qm=`[cmdk-group-items=""]`,gee=`[cmdk-group-heading=""]`,Jm=`[cmdk-item=""]`,Ym=`${Jm}:not([aria-disabled="true"])`,Xm=`cmdk-item-select`,Zm=`data-value`,_ee=(e,t,n)=>hee(e,t,n),Qm=_.createContext(void 0),$m=()=>_.useContext(Qm),eh=_.createContext(void 0),th=()=>_.useContext(eh),nh=_.createContext(void 0),rh=_.forwardRef((e,t)=>{let n=mh(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=mh(()=>new Set),i=mh(()=>new Map),a=mh(()=>new Map),o=mh(()=>new Set),s=fh(e),{label:c,children:l,value:u,onValueChange:d,filter:f,shouldFilter:p,loop:m,disablePointerSelection:h=!1,vimBindings:g=!0,...v}=e,y=Gs(),b=Gs(),x=Gs(),S=_.useRef(null),C=_h();ph(()=>{if(u!==void 0){let e=u.trim();n.current.value=e,w.emit()}},[u]),ph(()=>{C(6,A)},[]);let w=_.useMemo(()=>({subscribe:e=>(o.current.add(e),()=>o.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)k(),D(),C(1,O);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(x);e?e.focus():(i=document.getElementById(y))==null||i.focus()}if(C(7,()=>{n.current.selectedItemId=j()?.id,w.emit()}),r||C(5,A),s.current?.value!==void 0){let e=t??``;(o=(a=s.current).onValueChange)==null||o.call(a,e);return}}w.emit()}},emit:()=>{o.current.forEach(e=>e())}}),[]),T=_.useMemo(()=>({value:(e,t,r)=>{t!==a.current.get(e)?.value&&(a.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,E(t,r)),C(2,()=>{D(),w.emit()}))},item:(e,t)=>(r.current.add(e),t&&(i.current.has(t)?i.current.get(t).add(e):i.current.set(t,new Set([e]))),C(3,()=>{k(),D(),n.current.value||O(),w.emit()}),()=>{a.current.delete(e),r.current.delete(e),n.current.filtered.items.delete(e);let t=j();C(4,()=>{k(),t?.getAttribute(`id`)===e&&O(),w.emit()})}),group:e=>(i.current.has(e)||i.current.set(e,new Set),()=>{a.current.delete(e),i.current.delete(e)}),filter:()=>s.current.shouldFilter,label:c||e[`aria-label`],getDisablePointerSelection:()=>s.current.disablePointerSelection,listId:y,inputId:x,labelId:b,listInnerRef:S}),[]);function E(e,t){let r=s.current?.filter??_ee;return e?r(e,n.current.search,t):0}function D(){if(!n.current.search||s.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=i.current.get(n),a=0;r.forEach(t=>{let n=e.get(t);a=Math.max(n,a)}),t.push([n,a])});let r=S.current;M().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(qm);t?t.appendChild(e.parentElement===t?e:e.closest(`${qm} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${qm} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=S.current?.querySelector(`${Km}[${Zm}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function O(){let e=M().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(Zm);w.setState(`value`,e||void 0)}function k(){if(!n.current.search||s.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of r.current){let r=E(a.current.get(t)?.value??``,a.current.get(t)?.keywords??[]);n.current.filtered.items.set(t,r),r>0&&e++}for(let[e,t]of i.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function A(){var e;let t=j();t&&(t.parentElement?.firstChild===t&&((e=t.closest(Km)?.querySelector(gee))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function j(){return S.current?.querySelector(`${Jm}[aria-selected="true"]`)}function M(){return Array.from(S.current?.querySelectorAll(Ym)||[])}function N(e){let t=M()[e];t&&w.setState(`value`,t.getAttribute(Zm))}function P(e){var t;let n=j(),r=M(),i=r.findIndex(e=>e===n),a=r[i+e];(t=s.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&w.setState(`value`,a.getAttribute(Zm))}function F(e){let t=j()?.closest(Km),n;for(;t&&!n;)t=e>0?uh(t,Km):dh(t,Km),n=t?.querySelector(Ym);n?w.setState(`value`,n.getAttribute(Zm)):P(e)}let ee=()=>N(M().length-1),te=e=>{e.preventDefault(),e.metaKey?ee():e.altKey?F(1):P(1)},I=e=>{e.preventDefault(),e.metaKey?N(0):e.altKey?F(-1):P(-1)};return _.createElement(U.div,{ref:t,tabIndex:-1,...v,"cmdk-root":``,onKeyDown:e=>{var t;(t=v.onKeyDown)==null||t.call(v,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:g&&e.ctrlKey&&te(e);break;case`ArrowDown`:te(e);break;case`p`:case`k`:g&&e.ctrlKey&&I(e);break;case`ArrowUp`:I(e);break;case`Home`:e.preventDefault(),N(0);break;case`End`:e.preventDefault(),ee();break;case`Enter`:{e.preventDefault();let t=j();if(t){let e=new Event(Xm);t.dispatchEvent(e)}}}}},_.createElement(`label`,{"cmdk-label":``,htmlFor:T.inputId,id:T.labelId,style:bh},c),yh(e,e=>_.createElement(eh.Provider,{value:w},_.createElement(Qm.Provider,{value:T},e))))}),vee=_.forwardRef((e,t)=>{let n=Gs(),r=_.useRef(null),i=_.useContext(nh),a=$m(),o=fh(e),s=o.current?.forceMount??i?.forceMount;ph(()=>{if(!s)return a.item(n,i?.id)},[s]);let c=gh(n,r,[e.value,e.children,r],e.keywords),l=th(),u=hh(e=>e.value&&e.value===c.current),d=hh(e=>s||a.filter()===!1?!0:e.search?e.filtered.items.get(n)>0:!0);_.useEffect(()=>{let t=r.current;if(!(!t||e.disabled))return t.addEventListener(Xm,f),()=>t.removeEventListener(Xm,f)},[d,e.onSelect,e.disabled]);function f(){var e,t;p(),(t=(e=o.current).onSelect)==null||t.call(e,c.current)}function p(){l.setState(`value`,c.current,!0)}if(!d)return null;let{disabled:m,value:h,onSelect:g,forceMount:v,keywords:y,...b}=e;return _.createElement(U.div,{ref:xr(r,t),...b,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!m,"aria-selected":!!u,"data-disabled":!!m,"data-selected":!!u,onPointerMove:m||a.getDisablePointerSelection()?void 0:p,onClick:m?void 0:f},e.children)}),yee=_.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...a}=e,o=Gs(),s=_.useRef(null),c=_.useRef(null),l=Gs(),u=$m(),d=hh(e=>i||u.filter()===!1?!0:e.search?e.filtered.groups.has(o):!0);ph(()=>u.group(o),[]),gh(o,s,[e.value,e.heading,c]);let f=_.useMemo(()=>({id:o,forceMount:i}),[i]);return _.createElement(U.div,{ref:xr(s,t),...a,"cmdk-group":``,role:`presentation`,hidden:d?void 0:!0},n&&_.createElement(`div`,{ref:c,"cmdk-group-heading":``,"aria-hidden":!0,id:l},n),yh(e,e=>_.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?l:void 0},_.createElement(nh.Provider,{value:f},e))))}),bee=_.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=_.useRef(null),a=hh(e=>!e.search);return!n&&!a?null:_.createElement(U.div,{ref:xr(i,t),...r,"cmdk-separator":``,role:`separator`})}),ih=_.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=th(),o=hh(e=>e.search),s=hh(e=>e.selectedItemId),c=$m();return _.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),_.createElement(U.input,{ref:t,...r,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":c.listId,"aria-labelledby":c.labelId,"aria-activedescendant":s,id:c.inputId,type:`text`,value:i?e.value:o,onChange:e=>{i||a.setState(`search`,e.target.value),n?.(e.target.value)}})}),ah=_.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,a=_.useRef(null),o=_.useRef(null),s=hh(e=>e.selectedItemId),c=$m();return _.useEffect(()=>{if(o.current&&a.current){let e=o.current,t=a.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),_.createElement(U.div,{ref:xr(a,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":s,"aria-label":r,id:c.listId},yh(e,e=>_.createElement(`div`,{ref:xr(o,c.listInnerRef),"cmdk-list-sizer":``},e)))}),oh=_.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return _.createElement(mu,{open:n,onOpenChange:r},_.createElement(gu,{container:o},_.createElement(_u,{"cmdk-overlay":``,className:i}),_.createElement(vu,{"aria-label":e.label,"cmdk-dialog":``,className:a},_.createElement(rh,{ref:t,...s}))))}),sh=_.forwardRef((e,t)=>hh(e=>e.filtered.count===0)?_.createElement(U.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),ch=_.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return _.createElement(U.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},yh(e,e=>_.createElement(`div`,{"aria-hidden":!0},e)))}),lh=Object.assign(rh,{List:ah,Item:vee,Input:ih,Group:yee,Separator:bee,Dialog:oh,Empty:sh,Loading:ch});function uh(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function dh(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function fh(e){let t=_.useRef(e);return ph(()=>{t.current=e}),t}var ph=typeof window>`u`?_.useEffect:_.useLayoutEffect;function mh(e){let t=_.useRef();return t.current===void 0&&(t.current=e()),t}function hh(e){let t=th(),n=()=>e(t.snapshot());return _.useSyncExternalStore(t.subscribe,n,n)}function gh(e,t,n,r=[]){let i=_.useRef(),a=$m();return ph(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(Zm,s),i.current=s}),i}var _h=()=>{let[e,t]=_.useState(),n=mh(()=>new Map);return ph(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function vh(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function yh({asChild:e,children:t},n){return e&&_.isValidElement(t)?_.cloneElement(vh(t),{ref:t.ref},n(t.props.children)):n(t)}var bh={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`},xh=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(lh,{ref:n,className:G(`flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground`,e),...t}));xh.displayName=lh.displayName;var Sh=_.forwardRef(({className:e,...t},n)=>(0,V.jsxs)(`div`,{className:`flex items-center border-b px-3`,"cmdk-input-wrapper":``,children:[(0,V.jsx)(to,{className:`mr-2 h-4 w-4 shrink-0 text-slate-400`}),(0,V.jsx)(lh.Input,{ref:n,className:G(`flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50`,e),...t})]}));Sh.displayName=lh.Input.displayName;var Ch=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(lh.List,{ref:n,className:G(`max-h-[300px] overflow-y-auto overflow-x-hidden`,e),...t}));Ch.displayName=lh.List.displayName;var wh=_.forwardRef((e,t)=>(0,V.jsx)(lh.Empty,{ref:t,className:`py-6 text-center text-sm`,...e}));wh.displayName=lh.Empty.displayName;var Th=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(lh.Group,{ref:n,className:G(`overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground`,e),...t}));Th.displayName=lh.Group.displayName;var Eh=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(lh.Separator,{ref:n,className:G(`-mx-1 h-px bg-border`,e),...t}));Eh.displayName=lh.Separator.displayName;var Dh=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(lh.Item,{ref:n,className:G(`relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50`,e),...t}));Dh.displayName=lh.Item.displayName;var Oh=({className:e,...t})=>(0,V.jsx)(`span`,{className:G(`ml-auto text-xs tracking-widest text-muted-foreground`,e),...t});Oh.displayName=`CommandShortcut`;var kh=[{value:`so101`,label:`SO-101`},{value:`omx_ai`,label:`OMX-AI`}],Ah=({selectedName:e,availableNames:t,onSelect:n,onCreateNew:r,isLoading:i})=>{let[a,o]=(0,_.useState)(!1),[s,c]=(0,_.useState)(``),[l,u]=(0,_.useState)(`so101`),d=s.trim(),f=t.some(e=>e.toLowerCase()===d.toLowerCase()),p=d.length>0&&!f,m=!p,h=f?`Already exists`:d===``?`Create new robot…`:`Create "${d}"`,g=()=>{c(``),o(!1)},v=e=>{n(e),g()},y=async()=>{p&&await r(d,l)&&g()};return(0,V.jsxs)(km,{open:a,onOpenChange:o,children:[(0,V.jsx)(Am,{asChild:!0,children:(0,V.jsxs)(K,{variant:`outline`,role:`combobox`,"aria-expanded":a,disabled:i,className:`w-full justify-between bg-gray-900 border-gray-700 text-white hover:bg-gray-700 hover:text-white font-normal`,children:[(0,V.jsx)(`span`,{className:G(`truncate`,e?``:`text-gray-400`),children:i?`Loading...`:e??`Select a robot or type a new name`}),(0,V.jsx)(ja,{className:`ml-2 h-4 w-4 shrink-0 opacity-50`})]})}),(0,V.jsx)(jm,{className:`p-0 bg-gray-800 border-gray-700 text-white`,style:{width:`var(--radix-popover-trigger-width)`},align:`start`,children:(0,V.jsxs)(xh,{className:`bg-gray-800`,children:[(0,V.jsx)(Sh,{placeholder:`Search or type new name...`,value:s,onValueChange:c,onKeyDown:e=>{e.key===`Enter`&&p&&(e.preventDefault(),y())},className:`text-white`}),(0,V.jsxs)(Ch,{children:[t.length===0&&(0,V.jsx)(wh,{className:`py-4 text-sm text-gray-400 text-center`,children:`No robots yet. Type a name to create one.`}),t.length>0&&(0,V.jsx)(Th,{heading:`Existing`,children:t.map(t=>(0,V.jsxs)(Dh,{value:t,onSelect:()=>v(t),className:`text-white aria-selected:bg-gray-700`,children:[(0,V.jsx)(Da,{className:G(`mr-2 h-4 w-4`,e===t?`opacity-100`:`opacity-0`)}),t]},t))})]}),(0,V.jsxs)(`div`,{className:`border-t border-gray-700`,children:[p&&(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 px-3 pt-2`,children:[(0,V.jsx)(`span`,{className:`text-xs text-gray-400`,children:`Model:`}),kh.map(e=>(0,V.jsx)(`button`,{type:`button`,onClick:()=>u(e.value),className:G(`rounded-full border px-2.5 py-0.5 text-xs`,l===e.value?`border-blue-400 bg-blue-500/20 text-blue-300`:`border-gray-600 text-gray-400 hover:border-gray-500 hover:text-gray-300`),children:e.label},e.value))]}),(0,V.jsxs)(`button`,{type:`button`,onClick:y,disabled:m,className:`flex w-full items-center gap-2 px-3 py-2 text-sm text-white hover:bg-gray-700 disabled:cursor-not-allowed disabled:text-gray-500 disabled:hover:bg-transparent`,children:[(0,V.jsx)(Qa,{className:`h-4 w-4`}),h]})]})]})})]})},jh=({robot:e,selectedName:t,availableNames:n,isLoading:r,onSelect:i,onCreateNew:a,onConfigure:o,onTeleop:s,onDelete:c})=>{let[l,u]=(0,_.useState)(!1),d=e?e.is_clean?`Ready`:`Needs configuration`:null,f=!e||!e.is_clean;return(0,V.jsxs)(`div`,{className:`bg-gray-800 rounded-lg border border-gray-700 p-3 flex flex-col gap-2 relative`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,V.jsx)(Ah,{selectedName:t,availableNames:n,onSelect:i,onCreateNew:a,isLoading:r})}),d&&(0,V.jsx)(`p`,{className:`text-xs truncate shrink-0 ${e.is_clean?`text-green-400`:`text-amber-400`}`,children:d}),e&&(0,V.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0`,children:[(0,V.jsxs)(Gp,{children:[(0,V.jsx)(Kp,{asChild:!0,children:(0,V.jsx)(K,{size:`icon`,variant:`ghost`,className:`h-8 w-8 text-gray-300 hover:text-white`,onClick:()=>o(e.name),"aria-label":`Configure`,children:(0,V.jsx)(no,{className:`w-4 h-4`})})}),(0,V.jsx)(qp,{children:`Configure (calibrate)`})]}),(0,V.jsxs)(Gp,{children:[(0,V.jsx)(Kp,{asChild:!0,children:(0,V.jsx)(K,{size:`icon`,variant:`ghost`,className:`h-8 w-8 text-red-400 hover:text-red-300 hover:bg-red-900/20`,onClick:()=>u(!0),"aria-label":`Delete robot`,children:(0,V.jsx)(co,{className:`w-4 h-4`})})}),(0,V.jsx)(qp,{children:`Delete robot config`})]})]})]}),e&&(0,V.jsxs)(Gp,{children:[(0,V.jsx)(Kp,{asChild:!0,children:(0,V.jsx)(`div`,{className:`w-full`,children:(0,V.jsx)(K,{onClick:()=>s(e),disabled:f,className:`w-full ${f?`bg-red-500/30 hover:bg-red-500/30 text-red-200 cursor-not-allowed`:`bg-yellow-500 hover:bg-yellow-600 text-white`}`,children:`Teleoperation`})})}),f&&(0,V.jsx)(qp,{children:`Configure the robot first.`})]}),e&&(0,V.jsx)(Su,{open:l,onOpenChange:u,children:(0,V.jsxs)(Tu,{className:`bg-gray-900 border-gray-800 text-white`,children:[(0,V.jsxs)(Eu,{children:[(0,V.jsx)(Ou,{children:`Delete robot config?`}),(0,V.jsx)(ku,{className:`text-gray-400`,children:`This deletes the robot config file from disk. Calibration files are not removed. This cannot be undone.`})]}),(0,V.jsxs)(Du,{className:`flex gap-2 justify-end`,children:[(0,V.jsx)(K,{variant:`outline`,className:`border-gray-600 text-gray-300`,onClick:()=>u(!1),children:`Cancel`}),(0,V.jsx)(K,{className:`bg-red-500 hover:bg-red-600 text-white`,onClick:async()=>{u(!1),await c(e.name)},children:`Delete`})]})]})})]})},Mh=({selectedName:e,selectedRecord:t,availableNames:n,isLoading:r,selectRobot:i,createRobot:a,deleteRobot:o})=>{let s=Re(),{baseUrl:c,fetchWithHeaders:l}=zs(),{toast:u}=yr();return(0,V.jsx)(jh,{robot:t,selectedName:e,availableNames:n,isLoading:r,onSelect:i,onCreateNew:a,onConfigure:e=>{s(`/calibration`,{state:{robot_name:e}})},onTeleop:async e=>{try{let t=await l(`${c}/move-arm`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({leader_port:e.leader_port,follower_port:e.follower_port,leader_config:e.leader_config,follower_config:e.follower_config,robot_type:e.robot_type||`so101`})}),n=await t.json();t.ok&&n.success?(u({title:`Teleoperation Started`,description:n.message||`Started teleoperation for ${e.name}.`}),s(`/teleoperation`)):u({title:`Error Starting Teleoperation`,description:n.message||`Failed to start.`,variant:`destructive`})}catch{u({title:`Connection Error`,description:`Could not connect to the backend server.`,variant:`destructive`})}},onDelete:o})},Nh=_.forwardRef(({className:e,type:t,...n},r)=>(0,V.jsx)(`input`,{type:t,className:G(`flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,e),ref:r,...n}));Nh.displayName=`Input`;var Ph=_.forwardRef(({value:e,onChange:t,integer:n=!0,className:r,...i},a)=>{let[o,s]=_.useState(e==null?``:String(e)),c=_.useRef(e);return _.useEffect(()=>{e!==c.current&&(c.current=e,s(e==null?``:String(e)))},[e]),(0,V.jsx)(Nh,{ref:a,type:`number`,inputMode:n?`numeric`:`decimal`,value:o,onChange:e=>{let r=e.target.value;if(s(r),r===``){t(void 0);return}let i=n?parseInt(r,10):parseFloat(r);Number.isFinite(i)&&t(i)},className:G(`[appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:m-0 [&::-webkit-outer-spin-button]:m-0`,r),...i})});Ph.displayName=`NumberInput`;var Fh=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=Ts(`Primitive.${t}`),r=_.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,V.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),Ih=`Label`,Lh=_.forwardRef((e,t)=>(0,V.jsx)(Fh.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));Lh.displayName=Ih;var Rh=Lh,zh=va(`text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70`),Bh=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(Rh,{ref:n,className:G(zh(),e),...t}));Bh.displayName=Rh.displayName;function Vh(e){let t=_.useRef({value:e,previous:e});return _.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var Hh=`Checkbox`,[Uh,xee]=wr(Hh),[Wh,Gh]=Uh(Hh);function Kh(e){let{__scopeCheckbox:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:c,required:l,value:u=`on`,internal_do_not_use_render:d}=e,[f,p]=fi({prop:n,defaultProp:i??!1,onChange:c,caller:Hh}),[m,h]=_.useState(null),[g,v]=_.useState(null),y=_.useRef(!1),b=m?!!o||!!m.closest(`form`):!0,x={checked:f,disabled:a,setChecked:p,control:m,setControl:h,name:s,form:o,value:u,hasConsumerStoppedPropagationRef:y,required:l,defaultChecked:tg(i)?!1:i,isFormControl:b,bubbleInput:g,setBubbleInput:v};return(0,V.jsx)(Wh,{scope:t,...x,children:eg(d)?d(x):r})}var qh=`CheckboxTrigger`,Jh=_.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},i)=>{let{control:a,value:o,disabled:s,checked:c,required:l,setControl:u,setChecked:d,hasConsumerStoppedPropagationRef:f,isFormControl:p,bubbleInput:m}=Gh(qh,e),h=Sr(i,u),g=_.useRef(c);return _.useEffect(()=>{let e=a?.form;if(e){let t=()=>d(g.current);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[a,d]),(0,V.jsx)(U.button,{type:`button`,role:`checkbox`,"aria-checked":tg(c)?`mixed`:c,"aria-required":l,"data-state":ng(c),"data-disabled":s?``:void 0,disabled:s,value:o,...r,ref:h,onKeyDown:H(t,e=>{e.key===`Enter`&&e.preventDefault()}),onClick:H(n,e=>{d(e=>tg(e)?!0:!e),m&&p&&(f.current=e.isPropagationStopped(),f.current||e.stopPropagation())})})});Jh.displayName=qh;var Yh=_.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,V.jsx)(Kh,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Jh,{...d,ref:t,__scopeCheckbox:n}),e&&(0,V.jsx)($h,{__scopeCheckbox:n})]})})});Yh.displayName=Hh;var Xh=`CheckboxIndicator`,Zh=_.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...i}=e,a=Gh(Xh,n);return(0,V.jsx)(si,{present:r||tg(a.checked)||a.checked===!0,children:(0,V.jsx)(U.span,{"data-state":ng(a.checked),"data-disabled":a.disabled?``:void 0,...i,ref:t,style:{pointerEvents:`none`,...e.style}})})});Zh.displayName=Xh;var Qh=`CheckboxBubbleInput`,$h=_.forwardRef(({__scopeCheckbox:e,...t},n)=>{let{control:r,hasConsumerStoppedPropagationRef:i,checked:a,defaultChecked:o,required:s,disabled:c,name:l,value:u,form:d,bubbleInput:f,setBubbleInput:p}=Gh(Qh,e),m=Sr(n,p),h=Vh(a),g=zf(r);_.useEffect(()=>{let e=f;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=!i.current;if(h!==a&&n){let t=new Event(`click`,{bubbles:r});e.indeterminate=tg(a),n.call(e,tg(a)?!1:a),e.dispatchEvent(t)}},[f,h,a,i]);let v=_.useRef(tg(a)?!1:a);return(0,V.jsx)(U.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:o??v.current,required:s,disabled:c,name:l,value:u,form:d,...t,tabIndex:-1,ref:m,style:{...t.style,...g,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})});$h.displayName=Qh;function eg(e){return typeof e==`function`}function tg(e){return e===`indeterminate`}function ng(e){return tg(e)?`indeterminate`:e?`checked`:`unchecked`}var rg=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(Yh,{ref:n,className:G(`peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground`,e),...t,children:(0,V.jsx)(Zh,{className:G(`flex items-center justify-center text-current`),children:(0,V.jsx)(Da,{className:`h-4 w-4`})})}));rg.displayName=Yh.displayName;var ig=`Collapsible`,[ag,See]=wr(ig),[og,sg]=ag(ig),cg=_.forwardRef((e,t)=>{let{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:a,onOpenChange:o,...s}=e,[c,l]=fi({prop:r,defaultProp:i??!1,onChange:o,caller:ig});return(0,V.jsx)(og,{scope:n,disabled:a,contentId:Gs(),open:c,onOpenToggle:_.useCallback(()=>l(e=>!e),[l]),children:(0,V.jsx)(U.div,{"data-state":mg(c),"data-disabled":a?``:void 0,...s,ref:t})})});cg.displayName=ig;var lg=`CollapsibleTrigger`,ug=_.forwardRef((e,t)=>{let{__scopeCollapsible:n,...r}=e,i=sg(lg,n);return(0,V.jsx)(U.button,{type:`button`,"aria-controls":i.contentId,"aria-expanded":i.open||!1,"data-state":mg(i.open),"data-disabled":i.disabled?``:void 0,disabled:i.disabled,...r,ref:t,onClick:H(e.onClick,i.onOpenToggle)})});ug.displayName=lg;var dg=`CollapsibleContent`,fg=_.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=sg(dg,e.__scopeCollapsible);return(0,V.jsx)(si,{present:n||i.open,children:({present:e})=>(0,V.jsx)(pg,{...r,ref:t,present:e})})});fg.displayName=dg;var pg=_.forwardRef((e,t)=>{let{__scopeCollapsible:n,present:r,children:i,...a}=e,o=sg(dg,n),[s,c]=_.useState(r),l=_.useRef(null),u=Sr(t,l),d=_.useRef(0),f=d.current,p=_.useRef(0),m=p.current,h=o.open||s,g=_.useRef(h),v=_.useRef(void 0);return _.useEffect(()=>{let e=requestAnimationFrame(()=>g.current=!1);return()=>cancelAnimationFrame(e)},[]),ri(()=>{let e=l.current;if(e){v.current=v.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();d.current=t.height,p.current=t.width,g.current||(e.style.transitionDuration=v.current.transitionDuration,e.style.animationName=v.current.animationName),c(r)}},[o.open,r]),(0,V.jsx)(U.div,{"data-state":mg(o.open),"data-disabled":o.disabled?``:void 0,id:o.contentId,hidden:!h,...a,ref:u,style:{"--radix-collapsible-content-height":f?`${f}px`:void 0,"--radix-collapsible-content-width":m?`${m}px`:void 0,...e.style},children:h&&i})});function mg(e){return e?`open`:`closed`}var hg=cg,gg=ug,_g=fg,vg=va(`relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground`,{variants:{variant:{default:`bg-background text-foreground`,destructive:`border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive`}},defaultVariants:{variant:`default`}}),yg=_.forwardRef(({className:e,variant:t,...n},r)=>(0,V.jsx)(`div`,{ref:r,role:`alert`,className:G(vg({variant:t}),e),...n}));yg.displayName=`Alert`;var bg=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(`h5`,{ref:n,className:G(`mb-1 font-medium leading-none tracking-tight`,e),...t}));bg.displayName=`AlertTitle`;var xg=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(`div`,{ref:n,className:G(`text-sm [&_p]:leading-relaxed`,e),...t}));xg.displayName=`AlertDescription`;function Sg(e,[t,n]){return Math.min(n,Math.max(t,e))}var Cg=_.createContext(void 0);function wg(e){let t=_.useContext(Cg);return e||t||`ltr`}function Tg(e){let t=Eg(e),n=_.forwardRef((e,n)=>{let{children:r,...i}=e,a=_.Children.toArray(r),o=a.find(Og);if(o){let e=o.props.children,r=a.map(t=>t===o?_.Children.count(e)>1?_.Children.only(null):_.isValidElement(e)?e.props.children:null:t);return(0,V.jsx)(t,{...i,ref:n,children:_.isValidElement(e)?_.cloneElement(e,void 0,r):null})}return(0,V.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function Eg(e){let t=_.forwardRef((e,t)=>{let{children:n,...r}=e;if(_.isValidElement(n)){let e=Ag(n),i=kg(r,n.props);return n.type!==_.Fragment&&(i.ref=t?xr(t,e):e),_.cloneElement(n,i)}return _.Children.count(n)>1?_.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Dg=Symbol(`radix.slottable`);function Og(e){return _.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===Dg}function kg(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function Ag(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var jg=[` `,`Enter`,`ArrowUp`,`ArrowDown`],Mg=[` `,`Enter`],Ng=`Select`,[Pg,Fg,Ig]=Mr(Ng),[Lg,Cee]=wr(Ng,[Ig,Hf]),Rg=Hf(),[zg,Bg]=Lg(Ng),[Vg,Hg]=Lg(Ng),Ug=e=>{let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:c,dir:l,name:u,autoComplete:d,disabled:f,required:p,form:m}=e,h=Rg(t),[g,v]=_.useState(null),[y,b]=_.useState(null),[x,S]=_.useState(!1),C=wg(l),[w,T]=fi({prop:r,defaultProp:i??!1,onChange:a,caller:Ng}),[E,D]=fi({prop:o,defaultProp:s,onChange:c,caller:Ng}),O=_.useRef(null),k=g?m||!!g.closest(`form`):!0,[A,j]=_.useState(new Set),M=Array.from(A).map(e=>e.props.value).join(`;`);return(0,V.jsx)(rp,{...h,children:(0,V.jsxs)(zg,{required:p,scope:t,trigger:g,onTriggerChange:v,valueNode:y,onValueNodeChange:b,valueNodeHasChildren:x,onValueNodeHasChildrenChange:S,contentId:Gs(),value:E,onValueChange:D,open:w,onOpenChange:T,dir:C,triggerPointerDownPosRef:O,disabled:f,children:[(0,V.jsx)(Pg.Provider,{scope:t,children:(0,V.jsx)(Vg,{scope:e.__scopeSelect,onNativeOptionAdd:_.useCallback(e=>{j(t=>new Set(t).add(e))},[]),onNativeOptionRemove:_.useCallback(e=>{j(t=>{let n=new Set(t);return n.delete(e),n})},[]),children:n})}),k?(0,V.jsxs)(R_,{"aria-hidden":!0,required:p,tabIndex:-1,name:u,autoComplete:d,value:E,onChange:e=>D(e.target.value),disabled:f,form:m,children:[E===void 0?(0,V.jsx)(`option`,{value:``}):null,Array.from(A)]},M):null]})})};Ug.displayName=Ng;var Wg=`SelectTrigger`,Gg=_.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:r=!1,...i}=e,a=Rg(n),o=Bg(Wg,n),s=o.disabled||r,c=Sr(t,o.onTriggerChange),l=Fg(n),u=_.useRef(`touch`),[d,f,p]=B_(e=>{let t=l().filter(e=>!e.disabled),n=V_(t,e,t.find(e=>e.value===o.value));n!==void 0&&o.onValueChange(n.value)}),m=e=>{s||(o.onOpenChange(!0),p()),e&&(o.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,V.jsx)(ip,{asChild:!0,...a,children:(0,V.jsx)(U.button,{type:`button`,role:`combobox`,"aria-controls":o.contentId,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":`none`,dir:o.dir,"data-state":o.open?`open`:`closed`,disabled:s,"data-disabled":s?``:void 0,"data-placeholder":z_(o.value)?``:void 0,...i,ref:c,onClick:H(i.onClick,e=>{e.currentTarget.focus(),u.current!==`mouse`&&m(e)}),onPointerDown:H(i.onPointerDown,e=>{u.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(m(e),e.preventDefault())}),onKeyDown:H(i.onKeyDown,e=>{let t=d.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&f(e.key),!(t&&e.key===` `)&&jg.includes(e.key)&&(m(),e.preventDefault())})})})});Gg.displayName=Wg;var Kg=`SelectValue`,qg=_.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,children:a,placeholder:o=``,...s}=e,c=Bg(Kg,n),{onValueNodeHasChildrenChange:l}=c,u=a!==void 0,d=Sr(t,c.onValueNodeChange);return ri(()=>{l(u)},[l,u]),(0,V.jsx)(U.span,{...s,ref:d,style:{pointerEvents:`none`},children:z_(c.value)?(0,V.jsx)(V.Fragment,{children:o}):a})});qg.displayName=Kg;var Jg=`SelectIcon`,Yg=_.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...i}=e;return(0,V.jsx)(U.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})});Yg.displayName=Jg;var Xg=`SelectPortal`,Zg=e=>(0,V.jsx)(ai,{asChild:!0,...e});Zg.displayName=Xg;var Qg=`SelectContent`,$g=_.forwardRef((e,t)=>{let n=Bg(Qg,e.__scopeSelect),[r,i]=_.useState();if(ri(()=>{i(new DocumentFragment)},[]),!n.open){let t=r;return t?v.createPortal((0,V.jsx)(t_,{scope:e.__scopeSelect,children:(0,V.jsx)(Pg.Slot,{scope:e.__scopeSelect,children:(0,V.jsx)(`div`,{children:e.children})})}),t):null}return(0,V.jsx)(a_,{...e,ref:t})});$g.displayName=Qg;var e_=10,[t_,n_]=Lg(Qg),r_=`SelectContentImpl`,i_=Tg(`SelectContent.RemoveScroll`),a_=_.forwardRef((e,t)=>{let{__scopeSelect:n,position:r=`item-aligned`,onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:o,side:s,sideOffset:c,align:l,alignOffset:u,arrowPadding:d,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:h,avoidCollisions:g,...v}=e,y=Bg(Qg,n),[b,x]=_.useState(null),[S,C]=_.useState(null),w=Sr(t,e=>x(e)),[T,E]=_.useState(null),[D,O]=_.useState(null),k=Fg(n),[A,j]=_.useState(!1),M=_.useRef(!1);_.useEffect(()=>{if(b)return Dl(b)},[b]),lc();let N=_.useCallback(e=>{let[t,...n]=k().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&S&&(S.scrollTop=0),n===r&&S&&(S.scrollTop=S.scrollHeight),n?.focus(),document.activeElement!==i))return},[k,S]),P=_.useCallback(()=>N([T,b]),[N,T,b]);_.useEffect(()=>{A&&P()},[A,P]);let{onOpenChange:F,triggerPointerDownPosRef:ee}=y;_.useEffect(()=>{if(b){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(ee.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(ee.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():b.contains(n.target)||F(!1),document.removeEventListener(`pointermove`,t),ee.current=null};return ee.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[b,F,ee]),_.useEffect(()=>{let e=()=>F(!1);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[F]);let[te,I]=B_(e=>{let t=k().filter(e=>!e.disabled),n=V_(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current.focus())}),ne=_.useCallback((e,t,n)=>{let r=!M.current&&!n;(y.value!==void 0&&y.value===t||r)&&(E(e),r&&(M.current=!0))},[y.value]),re=_.useCallback(()=>b?.focus(),[b]),ie=_.useCallback((e,t,n)=>{let r=!M.current&&!n;(y.value!==void 0&&y.value===t||r)&&O(e)},[y.value]),ae=r===`popper`?l_:s_,oe=ae===l_?{side:s,sideOffset:c,align:l,alignOffset:u,arrowPadding:d,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:h,avoidCollisions:g}:{};return(0,V.jsx)(t_,{scope:n,content:b,viewport:S,onViewportChange:C,itemRefCallback:ne,selectedItem:T,onItemLeave:re,itemTextRefCallback:ie,focusSelectedItem:P,selectedItemText:D,position:r,isPositioned:A,searchRef:te,children:(0,V.jsx)(vl,{as:i_,allowPinchZoom:!0,children:(0,V.jsx)(Xs,{asChild:!0,trapped:y.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:H(i,e=>{y.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,V.jsx)(Jr,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>y.onOpenChange(!1),children:(0,V.jsx)(ae,{role:`listbox`,id:y.contentId,"data-state":y.open?`open`:`closed`,dir:y.dir,onContextMenu:e=>e.preventDefault(),...v,...oe,onPlaced:()=>j(!0),ref:w,style:{display:`flex`,flexDirection:`column`,outline:`none`,...v.style},onKeyDown:H(v.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&I(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=k().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>N(t)),e.preventDefault()}})})})})})})});a_.displayName=r_;var o_=`SelectItemAlignedPosition`,s_=_.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:r,...i}=e,a=Bg(Qg,n),o=n_(Qg,n),[s,c]=_.useState(null),[l,u]=_.useState(null),d=Sr(t,e=>u(e)),f=Fg(n),p=_.useRef(!1),m=_.useRef(!0),{viewport:h,selectedItem:g,selectedItemText:v,focusSelectedItem:y}=o,b=_.useCallback(()=>{if(a.trigger&&a.valueNode&&s&&l&&h&&g&&v){let e=a.trigger.getBoundingClientRect(),t=l.getBoundingClientRect(),n=a.valueNode.getBoundingClientRect(),i=v.getBoundingClientRect();if(a.dir!==`rtl`){let r=i.left-t.left,a=n.left-r,o=e.left-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-e_,d=Sg(a,[e_,Math.max(e_,u-l)]);s.style.minWidth=c+`px`,s.style.left=d+`px`}else{let r=t.right-i.right,a=window.innerWidth-n.right-r,o=window.innerWidth-e.right-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-e_,d=Sg(a,[e_,Math.max(e_,u-l)]);s.style.minWidth=c+`px`,s.style.right=d+`px`}let o=f(),c=window.innerHeight-e_*2,u=h.scrollHeight,d=window.getComputedStyle(l),m=parseInt(d.borderTopWidth,10),_=parseInt(d.paddingTop,10),y=parseInt(d.borderBottomWidth,10),b=parseInt(d.paddingBottom,10),x=m+_+u+b+y,S=Math.min(g.offsetHeight*5,x),C=window.getComputedStyle(h),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-e_,D=c-E,O=g.offsetHeight/2,k=g.offsetTop+O,A=m+_+k,j=x-A;if(A<=E){let e=o.length>0&&g===o[o.length-1].ref.current;s.style.bottom=`0px`;let t=l.clientHeight-h.offsetTop-h.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+y);s.style.height=n+`px`}else{let e=o.length>0&&g===o[0].ref.current;s.style.top=`0px`;let t=Math.max(E,m+h.offsetTop+(e?w:0)+O)+j;s.style.height=t+`px`,h.scrollTop=A-E+h.offsetTop}s.style.margin=`${e_}px 0`,s.style.minHeight=S+`px`,s.style.maxHeight=c+`px`,r?.(),requestAnimationFrame(()=>p.current=!0)}},[f,a.trigger,a.valueNode,s,l,h,g,v,a.dir,r]);ri(()=>b(),[b]);let[x,S]=_.useState();return ri(()=>{l&&S(window.getComputedStyle(l).zIndex)},[l]),(0,V.jsx)(u_,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:p,onScrollButtonChange:_.useCallback(e=>{e&&m.current===!0&&(b(),y?.(),m.current=!1)},[b,y]),children:(0,V.jsx)(`div`,{ref:c,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:x},children:(0,V.jsx)(U.div,{...i,ref:d,style:{boxSizing:`border-box`,maxHeight:`100%`,...i.style}})})})});s_.displayName=o_;var c_=`SelectPopperPosition`,l_=_.forwardRef((e,t)=>{let{__scopeSelect:n,align:r=`start`,collisionPadding:i=e_,...a}=e,o=Rg(n);return(0,V.jsx)(ap,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})});l_.displayName=c_;var[u_,d_]=Lg(Qg,{}),f_=`SelectViewport`,p_=_.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:r,...i}=e,a=n_(f_,n),o=d_(f_,n),s=Sr(t,a.onViewportChange),c=_.useRef(0);return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:r}),(0,V.jsx)(Pg.Slot,{scope:n,children:(0,V.jsx)(U.div,{"data-radix-select-viewport":``,role:`presentation`,...i,ref:s,style:{position:`relative`,flex:1,overflow:`hidden auto`,...i.style},onScroll:H(i.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=o;if(r?.current&&n){let e=Math.abs(c.current-t.scrollTop);if(e>0){let r=window.innerHeight-e_*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o0?s:0,n.style.justifyContent=`flex-end`)}}}c.current=t.scrollTop})})})]})});p_.displayName=f_;var m_=`SelectGroup`,[h_,g_]=Lg(m_),__=_.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=Gs();return(0,V.jsx)(h_,{scope:n,id:i,children:(0,V.jsx)(U.div,{role:`group`,"aria-labelledby":i,...r,ref:t})})});__.displayName=m_;var v_=`SelectLabel`,y_=_.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=g_(v_,n);return(0,V.jsx)(U.div,{id:i.id,...r,ref:t})});y_.displayName=v_;var b_=`SelectItem`,[x_,S_]=Lg(b_),C_=_.forwardRef((e,t)=>{let{__scopeSelect:n,value:r,disabled:i=!1,textValue:a,...o}=e,s=Bg(b_,n),c=n_(b_,n),l=s.value===r,[u,d]=_.useState(a??``),[f,p]=_.useState(!1),m=Sr(t,e=>c.itemRefCallback?.(e,r,i)),h=Gs(),g=_.useRef(`touch`),v=()=>{i||(s.onValueChange(r),s.onOpenChange(!1))};if(r===``)throw Error(`A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return(0,V.jsx)(x_,{scope:n,value:r,disabled:i,textId:h,isSelected:l,onItemTextChange:_.useCallback(e=>{d(t=>t||(e?.textContent??``).trim())},[]),children:(0,V.jsx)(Pg.ItemSlot,{scope:n,value:r,disabled:i,textValue:u,children:(0,V.jsx)(U.div,{role:`option`,"aria-labelledby":h,"data-highlighted":f?``:void 0,"aria-selected":l&&f,"data-state":l?`checked`:`unchecked`,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,tabIndex:i?void 0:-1,...o,ref:m,onFocus:H(o.onFocus,()=>p(!0)),onBlur:H(o.onBlur,()=>p(!1)),onClick:H(o.onClick,()=>{g.current!==`mouse`&&v()}),onPointerUp:H(o.onPointerUp,()=>{g.current===`mouse`&&v()}),onPointerDown:H(o.onPointerDown,e=>{g.current=e.pointerType}),onPointerMove:H(o.onPointerMove,e=>{g.current=e.pointerType,i?c.onItemLeave?.():g.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:H(o.onPointerLeave,e=>{e.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:H(o.onKeyDown,e=>{c.searchRef?.current!==``&&e.key===` `||(Mg.includes(e.key)&&v(),e.key===` `&&e.preventDefault())})})})})});C_.displayName=b_;var w_=`SelectItemText`,T_=_.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,...a}=e,o=Bg(w_,n),s=n_(w_,n),c=S_(w_,n),l=Hg(w_,n),[u,d]=_.useState(null),f=Sr(t,e=>d(e),c.onItemTextChange,e=>s.itemTextRefCallback?.(e,c.value,c.disabled)),p=u?.textContent,m=_.useMemo(()=>(0,V.jsx)(`option`,{value:c.value,disabled:c.disabled,children:p},c.value),[c.disabled,c.value,p]),{onNativeOptionAdd:h,onNativeOptionRemove:g}=l;return ri(()=>(h(m),()=>g(m)),[h,g,m]),(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(U.span,{id:c.textId,...a,ref:f}),c.isSelected&&o.valueNode&&!o.valueNodeHasChildren?v.createPortal(a.children,o.valueNode):null]})});T_.displayName=w_;var E_=`SelectItemIndicator`,D_=_.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return S_(E_,n).isSelected?(0,V.jsx)(U.span,{"aria-hidden":!0,...r,ref:t}):null});D_.displayName=E_;var O_=`SelectScrollUpButton`,k_=_.forwardRef((e,t)=>{let n=n_(O_,e.__scopeSelect),r=d_(O_,e.__scopeSelect),[i,a]=_.useState(!1),o=Sr(t,r.onScrollButtonChange);return ri(()=>{if(n.viewport&&n.isPositioned){let e=function(){a(t.scrollTop>0)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,V.jsx)(M_,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null});k_.displayName=O_;var A_=`SelectScrollDownButton`,j_=_.forwardRef((e,t)=>{let n=n_(A_,e.__scopeSelect),r=d_(A_,e.__scopeSelect),[i,a]=_.useState(!1),o=Sr(t,r.onScrollButtonChange);return ri(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;a(Math.ceil(t.scrollTop)t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,V.jsx)(M_,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null});j_.displayName=A_;var M_=_.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=n_(`SelectScrollButton`,n),o=_.useRef(null),s=Fg(n),c=_.useCallback(()=>{o.current!==null&&(window.clearInterval(o.current),o.current=null)},[]);return _.useEffect(()=>()=>c(),[c]),ri(()=>{s().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[s]),(0,V.jsx)(U.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:H(i.onPointerDown,()=>{o.current===null&&(o.current=window.setInterval(r,50))}),onPointerMove:H(i.onPointerMove,()=>{a.onItemLeave?.(),o.current===null&&(o.current=window.setInterval(r,50))}),onPointerLeave:H(i.onPointerLeave,()=>{c()})})}),N_=`SelectSeparator`,P_=_.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,V.jsx)(U.div,{"aria-hidden":!0,...r,ref:t})});P_.displayName=N_;var F_=`SelectArrow`,I_=_.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=Rg(n),a=Bg(F_,n),o=n_(F_,n);return a.open&&o.position===`popper`?(0,V.jsx)(op,{...i,...r,ref:t}):null});I_.displayName=F_;var L_=`SelectBubbleInput`,R_=_.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{let i=_.useRef(null),a=Sr(r,i),o=Vh(t);return _.useEffect(()=>{let e=i.current;if(!e)return;let n=window.HTMLSelectElement.prototype,r=Object.getOwnPropertyDescriptor(n,`value`).set;if(o!==t&&r){let n=new Event(`change`,{bubbles:!0});r.call(e,t),e.dispatchEvent(n)}},[o,t]),(0,V.jsx)(U.select,{...n,style:{...hi,...n.style},ref:a,defaultValue:t})});R_.displayName=L_;function z_(e){return e===``||e===void 0}function B_(e){let t=Br(e),n=_.useRef(``),r=_.useRef(0),i=_.useCallback(e=>{let i=n.current+e;t(i),(function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))})(i)},[t]),a=_.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return _.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}function V_(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=H_(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function H_(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var U_=Ug,W_=Gg,G_=qg,K_=Yg,q_=Zg,J_=$g,Y_=p_,X_=y_,Z_=C_,Q_=T_,$_=D_,ev=k_,tv=j_,nv=P_,rv=U_,iv=G_,av=_.forwardRef(({className:e,children:t,...n},r)=>(0,V.jsxs)(W_,{ref:r,className:G(`flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1`,e),...n,children:[t,(0,V.jsx)(K_,{asChild:!0,children:(0,V.jsx)(Oa,{className:`h-4 w-4 text-slate-400`})})]}));av.displayName=W_.displayName;var ov=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(ev,{ref:n,className:G(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,V.jsx)(Aa,{className:`h-4 w-4`})}));ov.displayName=ev.displayName;var sv=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(tv,{ref:n,className:G(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,V.jsx)(Oa,{className:`h-4 w-4`})}));sv.displayName=tv.displayName;var cv=_.forwardRef(({className:e,children:t,position:n=`popper`,...r},i)=>(0,V.jsx)(q_,{children:(0,V.jsxs)(J_,{ref:i,className:G(`relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,...r,children:[(0,V.jsx)(ov,{}),(0,V.jsx)(Y_,{className:G(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]`),children:t}),(0,V.jsx)(sv,{})]})}));cv.displayName=J_.displayName;var lv=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(X_,{ref:n,className:G(`py-1.5 pl-8 pr-2 text-sm font-semibold`,e),...t}));lv.displayName=X_.displayName;var uv=_.forwardRef(({className:e,children:t,...n},r)=>(0,V.jsxs)(Z_,{ref:r,className:G(`relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,V.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,V.jsx)($_,{children:(0,V.jsx)(Da,{className:`h-4 w-4`})})}),(0,V.jsx)(Q_,{children:t})]}));uv.displayName=Z_.displayName;var dv=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(nv,{ref:n,className:G(`-mx-1 my-1 h-px bg-muted`,e),...t}));dv.displayName=nv.displayName;var fv=e=>e.toLowerCase().replace(/\s+/g,` `).trim();function pv({enabled:e=!0}={}){let{baseUrl:t,fetchWithHeaders:n}=zs(),[r,i]=(0,_.useState)([]),[a,o]=(0,_.useState)(!1),s=(0,_.useCallback)(async()=>{o(!0);try{try{(await navigator.mediaDevices.getUserMedia({video:!0})).getTracks().forEach(e=>e.stop())}catch{}let e=(await navigator.mediaDevices.enumerateDevices()).filter(e=>e.kind===`videoinput`).map(e=>({deviceId:e.deviceId,label:e.label})),r=await n(`${t}/available-cameras`);if(!r.ok)return i([]),[];let a=(await r.json()).cameras??[],o=new Set,s=a.map(t=>{let n=t.name||`Camera ${t.index}`,r=fv(n),i=e.filter(e=>!o.has(e.deviceId)&&e.label),a=i.find(e=>fv(e.label)===r)||i.find(e=>fv(e.label).startsWith(r))||i.find(e=>fv(e.label).includes(r)||r.includes(fv(e.label)));return a&&o.add(a.deviceId),{index:t.index,name:n,deviceId:a?.deviceId??``,available:t.available}});return i(s),s}catch{return i([]),[]}finally{o(!1)}},[t,n]);return(0,_.useEffect)(()=>{if(!e)return;s();let t=()=>s();return navigator.mediaDevices.addEventListener(`devicechange`,t),()=>navigator.mediaDevices.removeEventListener(`devicechange`,t)},[e,s]),{cameras:r,isLoading:a,refresh:s}}var mv=4,wee=300,Tee=new Set([`NotReadableError`,`AbortError`]);function hv(e,t){let n=(0,_.useRef)(null),[r,i]=(0,_.useState)(!1),[a,o]=(0,_.useState)(0),s=(0,_.useRef)(!1);return s.current=r,(0,_.useEffect)(()=>{let e=()=>{s.current&&o(e=>e+1)};return navigator.mediaDevices.addEventListener(`devicechange`,e),()=>navigator.mediaDevices.removeEventListener(`devicechange`,e)},[]),(0,_.useEffect)(()=>{if(t||!e){e||i(!0);return}let r=!1,a=null,o=null;i(!1);let s=async t=>{try{if(a=await navigator.mediaDevices.getUserMedia({video:{deviceId:{exact:e}}}),r){a.getTracks().forEach(e=>e.stop());return}n.current&&(n.current.srcObject=a,await n.current.play().catch(()=>{}))}catch(e){if(r)return;let n=e instanceof DOMException?e.name:``;ts(t+1),wee*2**t):i(!0)}};return s(0),()=>{r=!0,o&&clearTimeout(o),a&&a.getTracks().forEach(e=>e.stop())}},[e,t,a]),{videoRef:n,hasError:r}}var gv=`__auto__`,_v=`__default__`,Eee=[`MJPG`,`YUYV`,`I420`,`NV12`,`H264`,`MP4V`],Dee=[`ANY`,`V4L2`,`DSHOW`,`PVAPI`,`ANDROID`,`AVFOUNDATION`,`MSMF`],vv=({cameras:e,onCamerasChange:t,releaseStreamsRef:n,readOnly:r=!1})=>{let{toast:i}=yr(),{cameras:a,isLoading:o,refresh:s}=pv(),[c,l]=(0,_.useState)(``),[u,d]=(0,_.useState)(``);(0,_.useEffect)(()=>{if(a.length===0||e.length===0)return;let n=!1,r=e.map(e=>{if(!e.device_id)return e;let t=a.find(t=>t.deviceId===e.device_id);return t&&t.index!==e.camera_index?(n=!0,{...e,camera_index:t.index}):e});n&&t(r)},[a]);let f=()=>{if(!c||!u.trim()){i({title:`Missing Information`,description:`Please select a camera and provide a name.`,variant:`destructive`});return}let n=parseInt(c),r=a.find(e=>e.index===n);if(!r){i({title:`Invalid Camera`,description:`Selected camera is not available.`,variant:`destructive`});return}if(e.some(e=>e.camera_index===r.index||r.deviceId&&e.device_id===r.deviceId)){i({title:`Camera Already Added`,description:`This camera is already in the configuration.`,variant:`destructive`});return}let o={id:`camera_${Date.now()}`,name:u.trim(),type:`opencv`,camera_index:r.index,device_id:r.deviceId,width:640,height:480,fps:30};t([...e,o]),l(``),d(``),i({title:`Camera Added`,description:`${o.name} has been added to the configuration.`})},p=n=>{t(e.filter(e=>e.id!==n)),i({title:`Camera Removed`,description:`Camera has been removed from the configuration.`})},m=(n,r)=>{t(e.map(e=>e.id===n?{...e,...r}:e))},[h,g]=(0,_.useState)(!1),v=(0,_.useCallback)(()=>{g(!0)},[]);return(0,_.useEffect)(()=>{n&&(n.current=v)},[n,v]),(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsx)(`h3`,{className:`text-lg font-semibold text-white border-b border-gray-700 pb-2`,children:r?`Cameras`:`Camera Configuration`}),!r&&(0,V.jsxs)(`div`,{className:`bg-gray-800/50 rounded-lg p-4 space-y-4`,children:[(0,V.jsx)(`h4`,{className:`text-md font-medium text-gray-300`,children:`Add Camera`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-3 gap-4`,children:[(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsx)(Bh,{className:`text-sm font-medium text-gray-300`,children:`Available Cameras`}),(0,V.jsx)(K,{type:`button`,variant:`ghost`,size:`icon`,onClick:()=>s(),disabled:o,className:`h-6 w-6 text-gray-400 hover:text-white`,title:`Rescan for cameras (e.g. after plugging in a new USB camera)`,"aria-label":`Rescan for cameras`,children:(0,V.jsx)($a,{className:`w-3.5 h-3.5 ${o?`animate-spin`:``}`})})]}),(0,V.jsxs)(rv,{value:c,onValueChange:l,disabled:o,children:[(0,V.jsx)(av,{className:`bg-gray-800 border-gray-700 text-white`,children:(0,V.jsx)(iv,{placeholder:o?`Loading cameras...`:`Select camera`})}),(0,V.jsx)(cv,{className:`bg-gray-800 border-gray-700`,children:a.map(t=>{let n=e.some(e=>e.camera_index===t.index||t.deviceId&&e.device_id===t.deviceId);return(0,V.jsx)(uv,{value:t.index.toString(),className:`text-white hover:bg-gray-700`,disabled:!t.available||n,children:(0,V.jsxs)(`div`,{className:`flex flex-col`,children:[(0,V.jsx)(`span`,{className:`font-medium`,children:t.name}),(0,V.jsxs)(`span`,{className:`text-xs text-gray-400`,children:[`Index `,t.index,n&&` · already added`]})]})},t.index)})})]})]}),(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Bh,{className:`text-sm font-medium text-gray-300`,children:`Camera Name`}),(0,V.jsx)(Nh,{value:u,onChange:e=>d(e.target.value),placeholder:`e.g., workspace_cam`,className:`bg-gray-800 border-gray-700 text-white`})]}),(0,V.jsx)(`div`,{className:`space-y-2 flex flex-col justify-end`,children:(0,V.jsxs)(K,{onClick:f,className:`bg-blue-500 hover:bg-blue-600 text-white`,disabled:!c||!u.trim(),children:[(0,V.jsx)(Qa,{className:`w-4 h-4 mr-2`}),`Add Camera`]})})]})]}),e.length>0&&(0,V.jsxs)(`div`,{className:`space-y-4`,children:[!r&&(0,V.jsxs)(`h4`,{className:`text-md font-medium text-gray-300`,children:[`Configured Cameras (`,e.length,`)`]}),(0,V.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-2 gap-4`,children:e.map(e=>(0,V.jsx)(Oee,{camera:e,paused:h,readOnly:r,onRemove:()=>p(e.id),onUpdate:t=>m(e.id,t)},e.id))})]}),e.length===0&&(0,V.jsxs)(`div`,{className:`text-center py-8 text-gray-500`,children:[(0,V.jsx)(Ea,{className:`w-12 h-12 mx-auto mb-4 text-gray-600`}),(0,V.jsx)(`p`,{children:r?`No cameras are configured for this robot.`:`No cameras configured. Add a camera to get started.`})]})]})},Oee=({camera:e,paused:t,readOnly:n,onRemove:r,onUpdate:i})=>{let{videoRef:a,hasError:o}=hv(e.device_id,t);return(0,V.jsxs)(`div`,{className:`bg-gray-900 rounded-lg border border-gray-700 overflow-hidden`,children:[(0,V.jsx)(`div`,{className:`aspect-[4/3] bg-gray-800 relative`,children:!t&&e.device_id&&!o?(0,V.jsx)(`video`,{ref:a,autoPlay:!0,muted:!0,playsInline:!0,className:`w-full h-full object-cover`}):(0,V.jsxs)(`div`,{className:`w-full h-full flex flex-col items-center justify-center`,children:[(0,V.jsx)(fo,{className:`w-8 h-8 text-gray-500 mb-2`}),(0,V.jsx)(`span`,{className:`text-gray-500 text-sm`,children:t?`Preview paused`:e.device_id?`Preview failed`:`No browser match`})]})}),(0,V.jsxs)(`div`,{className:`p-3 space-y-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsx)(`h5`,{className:`font-medium text-white truncate`,children:e.name}),!n&&(0,V.jsx)(K,{onClick:r,size:`sm`,variant:`ghost`,className:`text-red-400 hover:text-red-300 hover:bg-red-900/20 p-1`,children:(0,V.jsx)(ho,{className:`w-4 h-4`})})]}),n?(0,V.jsxs)(`p`,{className:`text-xs text-gray-400`,children:[e.width,`×`,e.height,e.fps?` · ${e.fps} fps`:``]}):(0,V.jsxs)(hg,{children:[(0,V.jsxs)(gg,{className:`group flex items-center gap-1.5 text-xs font-medium text-gray-300 hover:text-white transition-colors`,children:[(0,V.jsx)(ka,{className:`w-3.5 h-3.5 transition-transform group-data-[state=open]:rotate-90`}),`Configuration`]}),(0,V.jsxs)(_g,{className:`pt-2 space-y-2`,children:[(0,V.jsxs)(`div`,{className:`grid grid-cols-1 gap-2 text-xs text-gray-400`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`span`,{className:`w-16`,children:`Resolution:`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,V.jsx)(Ph,{value:e.width,onChange:e=>{e!==void 0&&i({width:e})},className:`bg-gray-800 border-gray-700 text-white text-xs h-6 px-2 w-16`,min:`320`,max:`1920`}),(0,V.jsx)(`span`,{className:`flex items-center`,children:`×`}),(0,V.jsx)(Ph,{value:e.height,onChange:e=>{e!==void 0&&i({height:e})},className:`bg-gray-800 border-gray-700 text-white text-xs h-6 px-2 w-16`,min:`240`,max:`1080`})]})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`span`,{className:`w-16`,children:`FPS:`}),(0,V.jsx)(Ph,{value:e.fps??30,onChange:e=>{e!==void 0&&i({fps:e})},className:`bg-gray-800 border-gray-700 text-white text-xs h-6 px-2 w-16`,min:`10`,max:`60`})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`span`,{className:`w-16`,children:`FOURCC:`}),(0,V.jsxs)(rv,{value:e.fourcc??gv,onValueChange:e=>i({fourcc:e===gv?void 0:e}),children:[(0,V.jsx)(av,{className:`bg-gray-800 border-gray-700 text-white text-xs h-6 px-2 w-28`,children:(0,V.jsx)(iv,{})}),(0,V.jsxs)(cv,{className:`bg-gray-800 border-gray-700`,children:[(0,V.jsx)(uv,{value:gv,className:`text-white hover:bg-gray-700 text-xs`,children:`Auto`}),Eee.map(e=>(0,V.jsx)(uv,{value:e,className:`text-white hover:bg-gray-700 text-xs`,children:e},e))]})]})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`span`,{className:`w-16`,children:`Backend:`}),(0,V.jsxs)(rv,{value:e.backend??_v,onValueChange:e=>i({backend:e===_v?void 0:e}),children:[(0,V.jsx)(av,{className:`bg-gray-800 border-gray-700 text-white text-xs h-6 px-2 w-28`,children:(0,V.jsx)(iv,{})}),(0,V.jsxs)(cv,{className:`bg-gray-800 border-gray-700`,children:[(0,V.jsx)(uv,{value:_v,className:`text-white hover:bg-gray-700 text-xs`,children:`Default`}),Dee.map(e=>(0,V.jsx)(uv,{value:e,className:`text-white hover:bg-gray-700 text-xs`,children:e},e))]})]})]}),(0,V.jsx)(`p`,{className:`text-[10px] text-gray-500 leading-tight`,children:`Overriding the backend can reorder camera indices on macOS.`})]}),(0,V.jsxs)(`div`,{className:`text-xs text-gray-500`,children:[`Type: `,e.type,` | Device:`,` `,e.device_id?.substring(0,10),`...`]})]})]})]})]})},kee=({open:e,onOpenChange:t,robot:n,datasetName:r,setDatasetName:i,singleTask:a,setSingleTask:o,numEpisodes:s,setNumEpisodes:c,episodeTimeS:l,setEpisodeTimeS:u,resetTimeS:d,setResetTimeS:f,streamingEncoding:p,setStreamingEncoding:m,cameras:h,setCameras:g,onStart:_,releaseStreamsRef:v})=>{let{auth:y}=Hs(),b=!!n&&n.is_clean;return(0,V.jsx)(Su,{open:e,onOpenChange:t,children:(0,V.jsxs)(Tu,{className:`bg-gray-900 border-gray-800 text-white sm:max-w-[600px] p-8 max-h-[90vh] overflow-y-auto`,children:[(0,V.jsxs)(Eu,{children:[(0,V.jsx)(`div`,{className:`flex justify-center items-center mb-4`,children:(0,V.jsx)(`div`,{className:`w-8 h-8 bg-red-500 rounded-full flex items-center justify-center`,children:(0,V.jsx)(`span`,{className:`text-white font-bold text-sm`,children:`REC`})})}),(0,V.jsx)(Ou,{className:`text-white text-center text-2xl font-bold`,children:`Configure Recording`})]}),(0,V.jsxs)(`div`,{className:`space-y-6 py-4`,children:[(0,V.jsx)(ku,{className:`text-gray-400 text-base leading-relaxed text-center`,children:`Pick a configured robot and dataset parameters for recording.`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 gap-6`,children:[(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsx)(`h3`,{className:`text-lg font-semibold text-white border-b border-gray-700 pb-2`,children:`Robot Configuration`}),n?n.is_clean?(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[(0,V.jsx)(Na,{className:`w-4 h-4 text-green-400`}),(0,V.jsxs)(`span`,{className:`text-slate-200`,children:[`Recording with `,(0,V.jsx)(`strong`,{children:n.name})]})]}):(0,V.jsxs)(yg,{className:`bg-amber-900/40 border-amber-700 text-amber-100`,children:[(0,V.jsx)(lo,{className:`h-4 w-4`}),(0,V.jsxs)(xg,{children:[(0,V.jsx)(`strong`,{children:n.name}),` is missing a calibration. Configure it before recording.`]})]}):(0,V.jsxs)(yg,{className:`bg-amber-900/40 border-amber-700 text-amber-100`,children:[(0,V.jsx)(lo,{className:`h-4 w-4`}),(0,V.jsx)(xg,{children:`Select and configure a robot on the Landing page before recording.`})]})]}),(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsx)(`h3`,{className:`text-lg font-semibold text-white border-b border-gray-700 pb-2`,children:`Dataset Configuration`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 gap-4`,children:[(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Bh,{htmlFor:`datasetName`,className:`text-sm font-medium text-gray-300`,children:`Dataset Name *`}),(0,V.jsx)(Nh,{id:`datasetName`,value:r,onChange:e=>i(e.target.value.replace(/[^A-Za-z0-9._-]/g,`_`)),placeholder:`my_dataset`,className:`bg-gray-800 border-gray-700 text-white`}),(0,V.jsxs)(`p`,{className:`text-xs text-gray-500`,children:[`Letters, numbers, `,(0,V.jsx)(`code`,{children:`.`}),` `,(0,V.jsx)(`code`,{children:`_`}),` `,(0,V.jsx)(`code`,{children:`-`}),` only — other characters become`,` `,(0,V.jsx)(`code`,{children:`_`}),`.`]}),r&&(y.status===`authenticated`?(0,V.jsxs)(`p`,{className:`text-xs text-gray-500`,children:[`Will be saved as`,` `,(0,V.jsxs)(`span`,{className:`text-gray-300 font-mono`,children:[y.username,`/`,r]})]}):y.status===`unauthenticated`?(0,V.jsx)(`p`,{className:`text-xs text-amber-400/80`,children:`Log in to Hugging Face to set the repository owner.`}):null)]}),(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Bh,{htmlFor:`singleTask`,className:`text-sm font-medium text-gray-300`,children:`Task Description *`}),(0,V.jsx)(Nh,{id:`singleTask`,value:a,onChange:e=>o(e.target.value),placeholder:`e.g., pick up the red block and place it on the blue square`,className:`bg-gray-800 border-gray-700 text-white`})]}),(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Bh,{htmlFor:`numEpisodes`,className:`text-sm font-medium text-gray-300`,children:`Number of Episodes`}),(0,V.jsx)(Ph,{id:`numEpisodes`,min:`1`,max:`100`,value:s,onChange:e=>{e!==void 0&&c(e)},className:`bg-gray-800 border-gray-700 text-white`})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-4`,children:[(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Bh,{htmlFor:`episodeTimeS`,className:`text-sm font-medium text-gray-300`,children:`Episode duration (seconds)`}),(0,V.jsx)(Ph,{id:`episodeTimeS`,min:`1`,value:l,onChange:e=>{e!==void 0&&u(e)},className:`bg-gray-800 border-gray-700 text-white`})]}),(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Bh,{htmlFor:`resetTimeS`,className:`text-sm font-medium text-gray-300`,children:`Reset duration (seconds)`}),(0,V.jsx)(Ph,{id:`resetTimeS`,min:`1`,value:d,onChange:e=>{e!==void 0&&f(e)},className:`bg-gray-800 border-gray-700 text-white`})]})]})]})]}),(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsx)(vv,{cameras:h,onCamerasChange:g,releaseStreamsRef:v,readOnly:!0}),(0,V.jsx)(`p`,{className:`text-xs text-gray-500`,children:`These are the cameras set up for this robot. To add or change a camera, configure it on the Calibration page.`})]}),(0,V.jsxs)(hg,{className:`space-y-4 group`,children:[(0,V.jsxs)(gg,{className:`flex items-center justify-between w-full text-lg font-semibold text-white border-b border-gray-700 pb-2`,children:[(0,V.jsx)(`span`,{children:`Advanced Parameters`}),(0,V.jsx)(Oa,{className:`w-4 h-4 transition-transform group-data-[state=open]:rotate-180`})]}),(0,V.jsx)(_g,{className:`space-y-3`,children:(0,V.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,V.jsx)(rg,{id:`streamingEncoding`,checked:p,onCheckedChange:e=>m(e===!0),className:`mt-0.5 border-gray-500 data-[state=checked]:bg-red-500 data-[state=checked]:border-red-500`}),(0,V.jsxs)(`div`,{className:`space-y-1`,children:[(0,V.jsx)(Bh,{htmlFor:`streamingEncoding`,className:`text-sm font-medium text-gray-200 cursor-pointer`,children:`Streaming video encoding`}),(0,V.jsx)(`p`,{className:`text-xs text-gray-500`,children:`Encodes frames in real time during capture so each episode saves almost instantly. Uncheck to fall back to the slower PNG-then-encode flow.`})]})]})})]})]}),(0,V.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-4 justify-center pt-4`,children:[(0,V.jsx)(K,{onClick:_,disabled:!b,className:`w-full sm:w-auto bg-red-500 hover:bg-red-600 text-white px-10 py-6 text-lg transition-all shadow-md shadow-red-500/30 hover:shadow-lg hover:shadow-red-500/40 disabled:opacity-40 disabled:cursor-not-allowed`,children:`Start Recording`}),(0,V.jsx)(K,{onClick:()=>t(!1),variant:`outline`,className:`w-full sm:w-auto border-gray-500 hover:border-gray-200 px-10 py-6 text-lg text-zinc-500 bg-zinc-900 hover:bg-zinc-800`,children:`Cancel`})]})]})]})})},Aee=/^[\w.\-]+\/[\w.\-]+$/,jee=/^[A-Za-z0-9._-]+$/,Mee=({datasets:e,loading:t,onPickExisting:n,onCreateNew:r,onOpenCustom:i,children:a})=>{let[o,s]=(0,_.useState)(!1),[c,l]=(0,_.useState)(``),u=c.trim(),d=e.some(e=>e.repo_id.toLowerCase()===u.toLowerCase()),f=Aee.test(u),p=jee.test(u)&&!u.includes(`/`),m=u.length>0&&p&&!d,h=f&&!d,g=d||u!==``&&!m,v=d?`Already exists`:u===``?`Create new dataset…`:m?`Create "${u}"`:`Use a name without "/"`,y=()=>{g||(r(u),S())},b=e.filter(e=>e.source===`local`||e.source===`both`),x=e.filter(e=>e.source===`hub`),S=()=>{l(``),s(!1)},C=e=>{n(e),S()},w=()=>{m&&(r(u),S())},T=()=>{h&&(i(u),S())},E=e=>(0,V.jsxs)(Dh,{value:e.repo_id,onSelect:()=>C(e),className:`text-white aria-selected:bg-gray-700`,children:[(0,V.jsx)(`span`,{className:`flex-1 truncate`,children:e.repo_id}),e.source===`both`&&(0,V.jsx)(`span`,{className:`text-xs text-gray-400 mr-2`,children:`on Hub`}),e.private&&(0,V.jsx)(`span`,{className:`text-xs text-amber-400`,children:`private`})]},e.repo_id);return(0,V.jsxs)(km,{open:o,onOpenChange:s,children:[(0,V.jsx)(Am,{asChild:!0,children:a}),(0,V.jsx)(jm,{className:`w-[320px] p-0 bg-gray-800 border-gray-700 text-white`,align:`end`,children:(0,V.jsxs)(xh,{className:`bg-gray-800`,children:[(0,V.jsx)(Sh,{placeholder:`Search, type a new name, or org/name…`,value:c,onValueChange:e=>l(e.replace(/[^A-Za-z0-9._\-/]/g,`_`)),onKeyDown:e=>{e.key===`Enter`&&(m?(e.preventDefault(),w()):h&&(e.preventDefault(),T()))},className:`text-white`}),(0,V.jsxs)(Ch,{children:[e.length===0&&!m&&!h&&(0,V.jsx)(wh,{className:`py-4 text-sm text-gray-400 text-center`,children:t?`Loading datasets…`:`No datasets yet. Type a name to create one.`}),b.length>0&&(0,V.jsx)(Th,{heading:`Local`,children:b.map(E)}),x.length>0&&(0,V.jsx)(Th,{heading:`Hugging Face`,children:x.map(E)}),h&&(0,V.jsx)(Th,{heading:`Custom repo`,children:(0,V.jsxs)(Dh,{value:`__open__${u}`,onSelect:T,className:`text-white aria-selected:bg-gray-700`,children:[(0,V.jsx)(Ua,{className:`mr-2 h-4 w-4`}),`Open "`,u,`" in viewer`]})})]}),(0,V.jsxs)(`button`,{type:`button`,onClick:y,disabled:g,className:`flex w-full items-center gap-2 border-t border-gray-700 px-3 py-2 text-sm text-white hover:bg-gray-700 disabled:cursor-not-allowed disabled:text-gray-500 disabled:hover:bg-transparent`,children:[(0,V.jsx)(Qa,{className:`h-4 w-4`}),v]})]})})]})},Nee=(e,t)=>{let{wsBaseUrl:n}=zs(),r=(0,_.useRef)(e);r.current=e;let i=(0,_.useRef)(t);i.current=t,(0,_.useEffect)(()=>{let e=!1,t=null,a=null,o=()=>{if(!e){try{t=new WebSocket(`${n}/ws/joint-data`)}catch{a=setTimeout(o,3e3);return}t.onmessage=e=>{try{let t=JSON.parse(e.data);t?.type===`jobs_changed`?r.current():t?.type===`job_progress`&&i.current&&Array.isArray(t?.jobs)&&i.current(t.jobs)}catch{}},t.onclose=()=>{e||(a=setTimeout(o,3e3))}}};return o(),()=>{e=!0,a&&clearTimeout(a),t&&t.close()}},[n])},yv=class extends Error{status;detail;constructor(e,t,n){super(e),this.name=`ApiError`,this.status=t,this.detail=n}};async function bv(e,t,n,{method:r=`GET`,body:i,signal:a,action:o}={}){let s={method:r,signal:a};i!==void 0&&(s.body=JSON.stringify(i));let c=await t(`${e}${n}`,s);if(!c.ok){let e=null;try{let t=await c.json();e=t?.detail??t?.message??null}catch{}throw new yv(`${o||`${r} ${n}`} failed: ${e??c.status}`,c.status,e)}if(c.status!==204)return c.json()}async function xv(e,t,n=10,r){return(await bv(e,t,`/jobs?limit=${n}`,{signal:r,action:`List jobs`})).jobs}async function Pee(e,t,n,r){return bv(e,t,`/jobs/${n}`,{signal:r,action:`Get job`})}async function Fee(e,t,n,r){return(await bv(e,t,`/jobs/${n}/logs`,{signal:r,action:`Get job logs`})).logs}async function Iee(e,t,n,r){return(await bv(e,t,`/jobs/${n}/log-file`,{signal:r,action:`Get job log file`})).logs}async function Lee(e,t,n,r){return(await bv(e,t,`/jobs/${n}/metrics-history`,{signal:r,action:`Get job metrics history`})).points}async function Ree(e,t,n){let{target:r,...i}=n,a=r?{config:i,target:r}:i;try{return await bv(e,t,`/jobs/training`,{method:`POST`,body:a,action:`Start training`})}catch(e){throw e instanceof yv&&e.status===409?Error(`Another training is already running. Stop it first.`):e}}async function zee(e,t,n,r){return bv(e,t,`/jobs/import`,{method:`POST`,body:r?{source:n,name:r}:{source:n},action:`Import model`})}async function Sv(e,t,n){return bv(e,t,`/jobs/${n}/stop`,{method:`POST`,action:`Stop job`})}async function Cv(e,t,n){await bv(e,t,`/jobs/${n}`,{method:`DELETE`,action:`Delete job`})}var Bee={authenticated:!1,username:null,flavors:[]};async function Vee(e,t,n){try{return await bv(e,t,`/jobs/runners/hardware`,{signal:n,action:`List runner hardware`})}catch(e){if(e instanceof yv)return Bee;throw e}}var Hee={authenticated:!1,jobs:[],models:[]};async function Uee(e,t,n){try{return await bv(e,t,`/jobs/hub`,{signal:n,action:`List hub jobs`})}catch(e){if(e instanceof yv)return Hee;throw e}}var wv=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(`div`,{ref:n,className:G(`rounded-lg border bg-card text-card-foreground shadow-sm`,e),...t}));wv.displayName=`Card`;var Tv=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(`div`,{ref:n,className:G(`flex flex-col space-y-1.5 p-6`,e),...t}));Tv.displayName=`CardHeader`;var Ev=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(`h3`,{ref:n,className:G(`text-2xl font-semibold leading-none tracking-tight`,e),...t}));Ev.displayName=`CardTitle`;var Wee=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(`p`,{ref:n,className:G(`text-sm text-muted-foreground`,e),...t}));Wee.displayName=`CardDescription`;var Dv=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(`div`,{ref:n,className:G(`p-6 pt-0`,e),...t}));Dv.displayName=`CardContent`;var Gee=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(`div`,{ref:n,className:G(`flex items-center p-6 pt-0`,e),...t}));Gee.displayName=`CardFooter`;async function Ov(e,t,n,r){return(await bv(e,t,`/jobs/${n}/checkpoints`,{signal:r,action:`List checkpoints`})).checkpoints}async function Kee(e,t,n,r,i){return bv(e,t,`/jobs/${n}/checkpoints/${r}/policy-config`,{signal:i,action:`Load policy config`})}var kv=({checkpoints:e,selectedStep:t,onChange:n,disabled:r,placeholder:i=`Select checkpoint`})=>{let a=e=>e===0?`latest`:`step ${e}`;return(0,V.jsxs)(rv,{value:t==null?void 0:String(t),onValueChange:e=>n(Number(e)),disabled:r||e.length===0,children:[(0,V.jsx)(av,{className:`bg-slate-800 border-slate-700 text-white h-8 text-xs px-2 w-auto min-w-[110px]`,onClick:e=>e.stopPropagation(),children:(0,V.jsx)(iv,{placeholder:i})}),(0,V.jsx)(cv,{className:`bg-slate-900 border-slate-700 text-white`,children:e.map(e=>(0,V.jsx)(uv,{value:String(e.step),onClick:e=>e.stopPropagation(),children:a(e.step)},e.step))})]})};function Av(e){let t=Math.max(0,Date.now()/1e3-e);return t<60?`${Math.floor(t)}s ago`:t<3600?`${Math.floor(t/60)}m ago`:t<86400?`${Math.floor(t/3600)}h ago`:`${Math.floor(t/86400)}d ago`}var qee={running:{label:`Running`,color:`text-green-400`,Icon:Ja},done:{label:`Done`,color:`text-slate-400`,Icon:Pa},failed:{label:`Failed`,color:`text-red-400`,Icon:Ia},interrupted:{label:`Interrupted`,color:`text-amber-400`,Icon:lo}},jv=({job:e,onStop:t,onDelete:n,onPlay:r})=>{let i=Re(),{baseUrl:a,fetchWithHeaders:o}=zs(),s=qee[e.state],c=s.Icon,l=e.state===`running`,u=e.runner===`imported`,d=e.hf_repo_id||e.output_dir,f=u?`Imported`:s.label,p=l&&e.metrics.total_steps===0,m=e.metrics.total_steps>0?Math.min(100,e.metrics.current_step/e.metrics.total_steps*100):0,h=u?d:p?`starting…`:l?`started ${Av(e.started_at)}`:e.ended_at==null?s.label.toLowerCase():`ended ${Av(e.ended_at)}`,[g,v]=(0,_.useState)([]),[y,b]=(0,_.useState)(null);(0,_.useEffect)(()=>{if(e.checkpoint_count<=0){v([]),b(null);return}let t=!1;return Ov(a,o,e.id).then(e=>{if(!t)if(v(e),e.length>0){let t=e[e.length-1].step;b(n=>n!=null&&e.some(e=>e.step===n)?n:t)}else b(null)}).catch(()=>{t||(v([]),b(null))}),()=>{t=!0}},[a,o,e.id,e.checkpoint_count]);let x=r=>{r.stopPropagation(),l?window.confirm(`Stop this run?`)&&t(e.id):u?window.confirm(`Remove this imported model? The source files are left untouched.`)&&n(e.id):window.confirm(`Delete this run? This wipes the output directory.`)&&n(e.id)},S=t=>{t.stopPropagation(),y!=null&&r(e,y)},C=l,w=g.length>0&&y!=null;return(0,V.jsx)(wv,{onClick:()=>{u||i(`/training/${e.id}`)},className:`bg-slate-800/50 border-slate-700 rounded-xl transition-colors ${u?``:`cursor-pointer hover:border-slate-500`}`,children:(0,V.jsxs)(Dv,{className:`p-4 space-y-3`,children:[(0,V.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs font-semibold ${s.color}`,children:[(0,V.jsx)(c,{className:`w-3.5 h-3.5 ${l?`animate-spin`:``}`}),f]}),e.runner===`hf_cloud`&&e.hf_job_url?(0,V.jsx)(K,{variant:`ghost`,size:`icon`,asChild:!0,className:`h-7 w-7 text-slate-400 hover:text-white`,"aria-label":`Open Hub job page`,children:(0,V.jsx)(`a`,{href:e.hf_job_url,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>e.stopPropagation(),children:(0,V.jsx)(Ua,{className:`w-3.5 h-3.5`})})}):(0,V.jsx)(K,{variant:`ghost`,size:`icon`,onClick:x,className:`h-7 w-7 text-slate-400 hover:text-white`,"aria-label":l?`Stop job`:`Delete job`,children:l?(0,V.jsx)(oo,{className:`w-3.5 h-3.5`}):(0,V.jsx)(ho,{className:`w-3.5 h-3.5`})})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`text-white font-semibold truncate`,title:e.name,children:e.name}),(0,V.jsx)(`div`,{className:`text-xs text-slate-400 truncate`,title:h,style:u?{direction:`rtl`,textAlign:`left`}:void 0,children:u?`‎`+h:h})]}),C?(0,V.jsxs)(`div`,{className:`relative h-5 w-full overflow-hidden rounded-md bg-slate-900 border border-slate-700`,children:[(0,V.jsx)(`div`,{className:`h-full bg-gradient-to-r from-blue-500 to-sky-400 transition-[width] duration-500`,style:{width:`${m}%`}}),(0,V.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center text-xs font-semibold text-white tabular-nums drop-shadow`,children:p?`Training starting…`:`${m.toFixed(1)}%`})]}):null,w?(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(kv,{checkpoints:g,selectedStep:y,onChange:b}),(0,V.jsx)(K,{size:`icon`,onClick:S,className:`h-8 w-8 bg-green-500 hover:bg-green-600 text-white`,"aria-label":`Run inference with this checkpoint`,children:(0,V.jsx)(Za,{className:`w-4 h-4`})})]}):null]})})};function Jee(e){if(!e)return`—`;let t=Date.parse(e);if(Number.isNaN(t))return`—`;let n=Math.max(0,(Date.now()-t)/1e3);return n<60?`${Math.floor(n)}s ago`:n<3600?`${Math.floor(n/60)}m ago`:n<86400?`${Math.floor(n/3600)}h ago`:`${Math.floor(n/86400)}d ago`}var Yee={RUNNING:{label:`Running`,color:`text-green-400`,Icon:Ja,spin:!0},QUEUED:{label:`Queued`,color:`text-amber-400`,Icon:Ra},SCHEDULING:{label:`Scheduling`,color:`text-amber-400`,Icon:Ra},COMPLETED:{label:`Done`,color:`text-slate-400`,Icon:Pa},FAILED:{label:`Failed`,color:`text-red-400`,Icon:Ia},CANCELED:{label:`Cancelled`,color:`text-amber-400`,Icon:lo},CANCELLED:{label:`Cancelled`,color:`text-amber-400`,Icon:lo}},Mv=({job:e})=>{let t=e.status?.stage?.toUpperCase()??``,n=Yee[t]??{label:t||`Unknown`,color:`text-slate-400`,Icon:Fa},r=n.Icon,i=e.docker_image??e.space_id??`Job ${e.id.slice(0,12)}…`;return(0,V.jsx)(wv,{onClick:()=>window.open(e.url,`_blank`,`noopener,noreferrer`),className:`bg-slate-800/50 border-slate-700 rounded-xl cursor-pointer hover:border-slate-500 transition-colors`,children:(0,V.jsxs)(Dv,{className:`p-4 space-y-3`,children:[(0,V.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs font-semibold ${n.color}`,children:[(0,V.jsx)(r,{className:`w-3.5 h-3.5 ${n.spin?`animate-spin`:``}`}),n.label]}),(0,V.jsx)(K,{variant:`ghost`,size:`icon`,asChild:!0,className:`h-7 w-7 text-slate-400 hover:text-white`,"aria-label":`View on Hub`,children:(0,V.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>e.stopPropagation(),children:(0,V.jsx)(Ua,{className:`w-3.5 h-3.5`})})})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`text-white font-semibold truncate`,title:i,children:i}),(0,V.jsxs)(`div`,{className:`text-xs text-slate-400 truncate`,children:[e.flavor??`—`,` · `,Jee(e.created_at),e.owner?` · ${e.owner}`:``]})]}),e.status?.message?(0,V.jsx)(`div`,{className:`text-xs text-slate-500 truncate`,title:e.status.message,children:e.status.message}):null]})})};function Xee(e){if(!e)return`—`;let t=Date.parse(e);if(Number.isNaN(t))return`—`;let n=Math.max(0,(Date.now()-t)/1e3);return n<60?`${Math.floor(n)}s ago`:n<3600?`${Math.floor(n/60)}m ago`:n<86400?`${Math.floor(n/3600)}h ago`:`${Math.floor(n/86400)}d ago`}var Zee=({model:e})=>{let t=`https://huggingface.co/${e.repo_id}`,n=e.repo_id.includes(`/`)?e.repo_id.split(`/`).slice(1).join(`/`):e.repo_id;return(0,V.jsx)(wv,{onClick:()=>window.open(t,`_blank`,`noopener,noreferrer`),className:`bg-slate-800/50 border-slate-700 rounded-xl cursor-pointer hover:border-slate-500 transition-colors`,children:(0,V.jsxs)(Dv,{className:`p-4 space-y-3`,children:[(0,V.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs font-semibold text-sky-400`,children:[(0,V.jsx)(uo,{className:`w-3.5 h-3.5`}),`Uploaded`]}),(0,V.jsx)(K,{variant:`ghost`,size:`icon`,asChild:!0,className:`h-7 w-7 text-slate-400 hover:text-white`,"aria-label":`View on Hub`,children:(0,V.jsx)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>e.stopPropagation(),children:(0,V.jsx)(Ua,{className:`w-3.5 h-3.5`})})})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`div`,{className:`text-white font-semibold truncate flex items-center gap-1.5`,title:e.repo_id,children:[e.private?(0,V.jsx)(Ya,{className:`w-3.5 h-3.5 text-slate-400 shrink-0`}):null,(0,V.jsx)(`span`,{className:`truncate`,children:n})]}),(0,V.jsxs)(`div`,{className:`text-xs text-slate-400 truncate`,title:e.repo_id,children:[e.repo_id,` · updated `,Xee(e.last_modified)]})]})]})})};async function Qee(e,t,n){return bv(e,t,`/start-inference`,{method:`POST`,body:n,action:`Start inference`})}async function Nv(e,t){return bv(e,t,`/stop-inference`,{method:`POST`,action:`Stop inference`})}async function $ee(e,t,n){return bv(e,t,`/inference-status`,{signal:n,action:`Get inference status`})}var Pv=({deviceId:e,paused:t})=>{let{videoRef:n,hasError:r}=hv(e,t);return t||r||!e?(0,V.jsxs)(`div`,{className:`w-32 h-24 bg-gray-800 rounded border border-gray-700 flex flex-col items-center justify-center`,children:[(0,V.jsx)(fo,{className:`w-5 h-5 text-gray-500 mb-1`}),(0,V.jsx)(`span`,{className:`text-[10px] text-gray-500`,children:t?`Released`:`No preview`})]}):(0,V.jsx)(`video`,{ref:n,autoPlay:!0,muted:!0,playsInline:!0,className:`w-32 h-24 object-cover rounded border border-gray-700 bg-black`})},Fv=30,Iv=({open:e,onOpenChange:t,robot:n,jobId:r,initialStep:i})=>{let{baseUrl:a,fetchWithHeaders:o}=zs(),{toast:s}=yr(),c=Re(),[l,u]=(0,_.useState)([]),[d,f]=(0,_.useState)(i),[p,m]=(0,_.useState)(``),[h,g]=(0,_.useState)(60),[v,y]=(0,_.useState)(!1),[b,x]=(0,_.useState)(null),[S,C]=(0,_.useState)(!1),[w,T]=(0,_.useState)(null),[E,D]=(0,_.useState)({}),{cameras:O}=pv({enabled:e});(0,_.useEffect)(()=>{if(!e)return;let t=!1;return Ov(a,o,r).then(e=>{if(!t&&(u(e),e.length>0)){let t=e[e.length-1].step;f(e=>e??t)}}).catch(()=>{t||u([])}),()=>{t=!0}},[e,a,o,r]),(0,_.useEffect)(()=>{if(!e||d==null){x(null),T(null);return}let t=!1;return C(!0),T(null),Kee(a,o,r,d).then(e=>{t||(x(e),D(t=>{let n={};for(let r of Object.keys(e.image_features))n[r]=t[r]??null;return n}))}).catch(e=>{t||(x(null),T(e instanceof Error?e.message:String(e)))}).finally(()=>{t||C(!1)}),()=>{t=!0}},[e,a,o,r,d]),(0,_.useEffect)(()=>{if(!b)return;let e=n?.cameras??[];e.length===0||O.length===0||D(t=>{let n=!1,r={...t};for(let t of Object.keys(b.image_features)){if(r[t]!=null)continue;let i=e.find(e=>e.name.toLowerCase()===t.toLowerCase());if(!i)continue;let a=i.device_id&&O.find(e=>e.deviceId===i.device_id)||O.find(e=>e.index===i.camera_index);a&&(r[t]=a.index,n=!0)}return n?r:t})},[b,n,O]);let k=d==null?null:l.find(e=>e.step===d)?.ref??null,A=b?Object.keys(b.image_features):[],j=A.every(e=>E[e]!=null),M=!!n&&n.is_clean&&k!=null&&!!b&&j&&!v,N=async()=>{if(!n||k==null||!b)return;y(!0),await new Promise(e=>setTimeout(e,300));let e={};for(let[t,n]of Object.entries(b.image_features)){let r=E[t];r!=null&&(e[t]={type:`opencv`,camera_index:r,width:n.width,height:n.height,fps:Fv})}try{await Qee(a,o,{follower_port:n.follower_port,follower_config:n.follower_config,policy_ref:k,task:p,cameras:e,duration_s:h,robot_type:n.robot_type||`so101`}),t(!1),c(`/inference`)}catch(e){s({title:`Couldn't start inference`,description:e instanceof Error?e.message:String(e),variant:`destructive`}),y(!1)}},P=(e,t)=>{let n=Number(t);D(t=>({...t,[e]:n}))};return(0,V.jsx)(Su,{open:e,onOpenChange:t,children:(0,V.jsxs)(Tu,{className:`bg-gray-900 border-gray-800 text-white sm:max-w-[600px] p-8 max-h-[90vh] overflow-y-auto`,children:[(0,V.jsxs)(Eu,{children:[(0,V.jsx)(`div`,{className:`flex justify-center items-center mb-4`,children:(0,V.jsx)(`div`,{className:`w-8 h-8 bg-green-500 rounded-full flex items-center justify-center`,children:(0,V.jsx)(Za,{className:`w-4 h-4 text-white`})})}),(0,V.jsx)(Ou,{className:`text-white text-center text-2xl font-bold`,children:`Configure Inference`})]}),(0,V.jsxs)(`div`,{className:`space-y-6 py-4`,children:[(0,V.jsx)(ku,{className:`text-gray-400 text-base leading-relaxed text-center`,children:`Pick a checkpoint and confirm hardware. The selected policy will drive the follower autonomously for the configured duration.`}),(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsx)(`h3`,{className:`text-lg font-semibold text-white border-b border-gray-700 pb-2`,children:`Robot Configuration`}),n?n.is_clean?(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[(0,V.jsx)(Na,{className:`w-4 h-4 text-green-400`}),(0,V.jsxs)(`span`,{className:`text-slate-200`,children:[`Running on `,(0,V.jsx)(`strong`,{children:n.name})]})]}):(0,V.jsxs)(yg,{className:`bg-amber-900/40 border-amber-700 text-amber-100`,children:[(0,V.jsx)(lo,{className:`h-4 w-4`}),(0,V.jsxs)(xg,{children:[(0,V.jsx)(`strong`,{children:n.name}),` is missing a calibration. Configure it before running inference.`]})]}):(0,V.jsxs)(yg,{className:`bg-amber-900/40 border-amber-700 text-amber-100`,children:[(0,V.jsx)(lo,{className:`h-4 w-4`}),(0,V.jsx)(xg,{children:`Select and configure a robot on the Landing page first.`})]})]}),(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsx)(`h3`,{className:`text-lg font-semibold text-white border-b border-gray-700 pb-2`,children:`Checkpoint`}),l.length===0?(0,V.jsxs)(yg,{className:`bg-amber-900/40 border-amber-700 text-amber-100`,children:[(0,V.jsx)(lo,{className:`h-4 w-4`}),(0,V.jsx)(xg,{children:`No checkpoints available for this job yet.`})]}):(0,V.jsx)(kv,{checkpoints:l,selectedStep:d,onChange:f})]}),(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsx)(`h3`,{className:`text-lg font-semibold text-white border-b border-gray-700 pb-2`,children:`Run parameters`}),b?.requires_task?(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Bh,{htmlFor:`task`,className:`text-sm font-medium text-gray-300`,children:`Task description`}),(0,V.jsx)(Nh,{id:`task`,value:p,onChange:e=>m(e.target.value),placeholder:`e.g., pick up the red block`,className:`bg-gray-800 border-gray-700 text-white`}),(0,V.jsxs)(`p`,{className:`text-xs text-gray-500`,children:[`This policy is language-conditioned (`,b.policy_type,`).`]})]}):null,(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Bh,{htmlFor:`durationS`,className:`text-sm font-medium text-gray-300`,children:`Max duration (seconds)`}),(0,V.jsx)(Ph,{id:`durationS`,min:1,value:h,onChange:e=>{e!==void 0&&g(e)},className:`bg-gray-800 border-gray-700 text-white`})]})]}),(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsx)(`h3`,{className:`text-lg font-semibold text-white border-b border-gray-700 pb-2`,children:`Cameras`}),S?(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-slate-400`,children:[(0,V.jsx)(Ja,{className:`w-4 h-4 animate-spin`}),`Reading policy config…`]}):w?(0,V.jsxs)(yg,{className:`bg-red-900/40 border-red-700 text-red-100`,children:[(0,V.jsx)(lo,{className:`h-4 w-4`}),(0,V.jsxs)(xg,{children:[`Couldn't load policy config: `,w]})]}):b?A.length===0?(0,V.jsx)(`p`,{className:`text-xs text-gray-500`,children:`This policy doesn't use cameras.`}):(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsx)(`p`,{className:`text-xs text-gray-500`,children:`Bind a physical camera to each name the policy was trained with. Resolution comes from the checkpoint.`}),A.map(e=>{let t=b.image_features[e],n=E[e],r=n==null?void 0:O.find(e=>e.index===n);return(0,V.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,V.jsxs)(`div`,{className:`flex-1`,children:[(0,V.jsx)(Bh,{className:`text-sm font-medium text-gray-200`,children:e}),(0,V.jsxs)(`p`,{className:`text-xs text-gray-500`,children:[t.width,`×`,t.height]})]}),(0,V.jsxs)(rv,{value:n==null?void 0:String(n),onValueChange:t=>P(e,t),children:[(0,V.jsx)(av,{className:`bg-gray-800 border-gray-700 text-white w-56`,children:(0,V.jsx)(iv,{placeholder:`Select a camera`})}),(0,V.jsx)(cv,{className:`bg-gray-900 border-gray-700 text-white`,children:O.length===0?(0,V.jsx)(`div`,{className:`px-2 py-1.5 text-xs text-gray-500`,children:`No cameras detected`}):O.map(e=>(0,V.jsxs)(uv,{value:String(e.index),children:[`#`,e.index,` — `,e.name]},e.index))})]}),(0,V.jsx)(Pv,{deviceId:r?.deviceId??``,paused:v})]},e)})]}):null]}),(0,V.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-4 justify-center pt-4`,children:[(0,V.jsxs)(K,{onClick:N,disabled:!M,className:`w-full sm:w-auto bg-green-500 hover:bg-green-600 text-white px-10 py-6 text-lg disabled:opacity-40 disabled:cursor-not-allowed`,children:[(0,V.jsx)(Za,{className:`w-5 h-5 mr-2`}),v?`Starting…`:`Start Inference`]}),(0,V.jsx)(K,{onClick:()=>t(!1),variant:`outline`,className:`w-full sm:w-auto border-gray-500 hover:border-gray-200 px-10 py-6 text-lg text-zinc-500 bg-zinc-900 hover:bg-zinc-800`,children:`Cancel`})]})]})]})})},Lv=({open:e,onOpenChange:t,onImported:n})=>{let{baseUrl:r,fetchWithHeaders:i}=zs(),[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)(``),[l,u]=(0,_.useState)(!1),[d,f]=(0,_.useState)(null);return(0,V.jsx)(Su,{open:e,onOpenChange:t,children:(0,V.jsxs)(Tu,{className:`bg-gray-900 border-gray-800 text-white sm:max-w-[520px] p-8`,children:[(0,V.jsxs)(Eu,{children:[(0,V.jsx)(Ou,{className:`text-white text-center text-2xl font-bold`,children:`Import a model`}),(0,V.jsx)(ku,{className:`text-gray-400 text-center`,children:`Point at a local directory or a Hugging Face repo. It appears as a job you can run inference on.`})]}),(0,V.jsxs)(`div`,{className:`space-y-4 py-4`,children:[(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Bh,{htmlFor:`source`,className:`text-sm font-medium text-gray-300`,children:`Local path or Hugging Face repo id`}),(0,V.jsx)(Nh,{id:`source`,value:a,onChange:e=>o(e.target.value),placeholder:`/path/to/pretrained_model or user/my-policy`,className:`bg-gray-800 border-gray-700 text-white`})]}),(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Bh,{htmlFor:`name`,className:`text-sm font-medium text-gray-300`,children:`Display name (optional)`}),(0,V.jsx)(Nh,{id:`name`,value:s,onChange:e=>c(e.target.value),placeholder:`My imported policy`,className:`bg-gray-800 border-gray-700 text-white`})]}),d?(0,V.jsxs)(yg,{className:`bg-red-900/40 border-red-700 text-red-100`,children:[(0,V.jsx)(lo,{className:`h-4 w-4`}),(0,V.jsx)(xg,{children:d})]}):null,(0,V.jsxs)(`div`,{className:`flex gap-3 justify-center pt-2`,children:[(0,V.jsxs)(K,{onClick:async()=>{let e=a.trim();if(e){u(!0),f(null);try{await zee(r,i,e,s.trim()||void 0),o(``),c(``),t(!1),n()}catch(e){f(e instanceof Error?e.message:String(e))}finally{u(!1)}}},disabled:!a.trim()||l,className:`bg-green-500 hover:bg-green-600 text-white px-8 disabled:opacity-40`,children:[l?(0,V.jsx)(Ja,{className:`w-4 h-4 mr-2 animate-spin`}):(0,V.jsx)(Va,{className:`w-4 h-4 mr-2`}),l?`Importing…`:`Import`]}),(0,V.jsx)(K,{onClick:()=>t(!1),variant:`outline`,className:`border-gray-500 px-8 text-zinc-400 bg-zinc-900 hover:bg-zinc-800`,children:`Cancel`})]})]})]})})},Rv=`lelab.selectedRobot`,zv=()=>{try{let e=localStorage.getItem(Rv);return e&&typeof e==`string`?e:null}catch{return null}},Bv=e=>{try{e?localStorage.setItem(Rv,e):localStorage.removeItem(Rv)}catch{}},Vv=()=>{let{baseUrl:e,fetchWithHeaders:t}=zs(),{toast:n}=yr(),r=Ie(),[i,a]=(0,_.useState)({}),[o,s]=(0,_.useState)(()=>zv()),[c,l]=(0,_.useState)(!1);(0,_.useEffect)(()=>{let n=!1;return(async()=>{l(!0);try{let r=await(await t(`${e}/robots`)).json();if(n)return;let i={};for(let e of r.robots??[])i[e.name]=e;a(i),s(e=>e&&e in i?e:null)}catch(e){n||console.error(`Failed to fetch robots:`,e)}finally{n||l(!1)}})(),()=>{n=!0}},[e,t,r.key]),(0,_.useEffect)(()=>{Bv(o)},[o]);let u=(0,_.useCallback)(e=>{s(e)},[]),d=(0,_.useCallback)(()=>{s(null)},[]),f=(0,_.useCallback)(async(r,i=`so101`)=>{let o=r.trim();if(!o)return n({title:`Missing name`,description:`Robot name cannot be empty.`,variant:`destructive`}),!1;if(/[/\\]|\.\./.test(o))return n({title:`Invalid name`,description:`Robot names cannot contain '/', '\\', or '..'`,variant:`destructive`}),!1;try{let r=await t(`${e}/robots/${encodeURIComponent(o)}?create=true`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({robot_type:i})});if(r.status===409)return n({title:`Already exists`,description:`A robot named "${o}" already exists. Pick it from the dropdown or choose a different name.`,variant:`destructive`}),!1;if(!r.ok)return n({title:`Failed to create`,description:await r.text(),variant:`destructive`}),!1;let c=await r.json();return c.robot&&(a(e=>({...e,[o]:c.robot})),s(o)),!0}catch(e){return n({title:`Network error`,description:String(e),variant:`destructive`}),!1}},[e,t,n]),p=(0,_.useCallback)(async r=>{try{let i=await t(`${e}/robots/${encodeURIComponent(r)}`,{method:`DELETE`});return i.ok?(a(e=>{let{[r]:t,...n}=e;return n}),s(e=>e===r?null:e),!0):(n({title:`Failed to delete`,description:await i.text(),variant:`destructive`}),!1)}catch(e){return n({title:`Network error`,description:String(e),variant:`destructive`}),!1}},[e,t,n]);return{records:i,selectedName:o,selectedRecord:(0,_.useMemo)(()=>o?i[o]??null:null,[o,i]),availableNames:(0,_.useMemo)(()=>Object.keys(i).sort(),[i]),isLoading:c,selectRobot:u,clearSelection:d,createRobot:f,deleteRobot:p}},Hv=10,Uv=new Set([`RUNNING`,`QUEUED`,`SCHEDULING`]),Wv=e=>e.state===`running`||e.checkpoint_count>0,Gv=e=>Uv.has((e.status?.stage??``).toUpperCase()),Kv=()=>{let{baseUrl:e,fetchWithHeaders:t}=zs(),{toast:n}=yr(),[r,i]=(0,_.useState)([]),[a,o]=(0,_.useState)([]),[s,c]=(0,_.useState)([]),[l,u]=(0,_.useState)(!1),[d,f]=(0,_.useState)(null),[p,m]=(0,_.useState)(``),{selectedRecord:h}=Vv(),[g,v]=(0,_.useState)(!1),[y,b]=(0,_.useState)(!1),[x,S]=(0,_.useState)(null),[C,w]=(0,_.useState)(null),T=(0,_.useCallback)(async()=>{try{let[n,r]=await Promise.all([xv(e,t,Hv),Uee(e,t)]);i(n),o(r.jobs),c(r.models),u(r.authenticated),f(null)}catch(e){f(e instanceof Error?e.message:String(e))}},[e,t]);(0,_.useEffect)(()=>{T();let e=()=>{document.visibilityState===`visible`&&T()};return document.addEventListener(`visibilitychange`,e),window.addEventListener(`focus`,T),()=>{document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`focus`,T)}},[T]),Nee(T,(0,_.useCallback)(e=>{e.length!==0&&i(t=>{if(t.length===0)return t;let n=new Map(e.map(e=>[e.id,e])),r=!1,i=t.map(e=>{let t=n.get(e.id);return t?(r=!0,{...e,state:t.state,metrics:t.metrics,wandb_run_url:t.wandb_run_url,checkpoint_count:t.checkpoint_count}):e});return r?i:t})},[]));let E=async r=>{try{await Sv(e,t,r),n({title:`Job stopping`}),T()}catch(e){n({title:`Stop failed`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}},D=(e,t)=>{S(e),w(t),v(!0)},O=async r=>{try{await Cv(e,t,r),n({title:`Job removed`}),T()}catch(e){n({title:`Delete failed`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}},k=p.trim().toLowerCase(),A=(0,_.useCallback)(e=>!k||(e??``).toLowerCase().includes(k),[k]),j=(0,_.useMemo)(()=>r.filter(e=>A(e.name)),[r,A]),M=(0,_.useMemo)(()=>a.filter(e=>A(e.docker_image??e.space_id??e.id)),[a,A]),N=(0,_.useMemo)(()=>s.filter(e=>A(e.repo_id)),[s,A]),P=(0,_.useMemo)(()=>j.filter(e=>e.runner===`local`),[j]),F=(0,_.useMemo)(()=>j.filter(e=>e.runner===`hf_cloud`),[j]),ee=(0,_.useMemo)(()=>j.filter(e=>e.runner===`imported`),[j]),te=(0,_.useMemo)(()=>new Set(F.map(e=>e.hf_job_id).filter(e=>!!e)),[F]),I=(0,_.useMemo)(()=>M.filter(e=>!te.has(e.id)),[M,te]),ne=(0,_.useMemo)(()=>new Set(F.map(e=>e.hf_repo_id).filter(e=>!!e)),[F]),re=(0,_.useMemo)(()=>N.filter(e=>!ne.has(e.repo_id)),[N,ne]),ie=(0,_.useMemo)(()=>P.filter(Wv),[P]),ae=(0,_.useMemo)(()=>P.filter(e=>!Wv(e)),[P]),oe=(0,_.useMemo)(()=>F.filter(Wv),[F]),se=(0,_.useMemo)(()=>F.filter(e=>!Wv(e)),[F]),ce=(0,_.useMemo)(()=>I.filter(Gv),[I]),le=(0,_.useMemo)(()=>I.filter(e=>!Gv(e)),[I]),ue=ae.length+se.length+le.length;return(0,V.jsxs)(`section`,{className:`space-y-6`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,V.jsx)(`h2`,{className:`text-lg font-semibold text-white`,children:`Jobs`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsxs)(`div`,{className:`relative`,children:[(0,V.jsx)(to,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-slate-400 pointer-events-none`}),(0,V.jsx)(Nh,{value:p,onChange:e=>m(e.target.value),placeholder:`Search jobs`,className:`h-8 w-48 sm:w-60 pl-8 bg-slate-800/50 border-slate-700 text-sm text-white placeholder:text-slate-500`,"aria-label":`Search jobs`})]}),(0,V.jsxs)(K,{variant:`outline`,size:`sm`,onClick:()=>b(!0),className:`h-8 border-slate-700 bg-slate-800/50 text-slate-200 hover:text-white`,children:[(0,V.jsx)(Va,{className:`w-3.5 h-3.5 mr-1.5`}),`Import model`]}),(0,V.jsx)(K,{variant:`ghost`,size:`icon`,onClick:T,className:`h-7 w-7 text-slate-400 hover:text-white`,"aria-label":`Refresh jobs`,children:(0,V.jsx)($a,{className:`w-4 h-4`})})]})]}),d?(0,V.jsxs)(`p`,{className:`text-sm text-red-300`,children:[`Couldn't load jobs: `,d]}):null,(0,V.jsxs)(hg,{defaultOpen:!0,children:[(0,V.jsxs)(gg,{className:`group flex items-center gap-1.5 text-sm font-semibold uppercase tracking-wide text-slate-400 hover:text-white transition-colors`,children:[(0,V.jsx)(ka,{className:`w-3.5 h-3.5 transition-transform group-data-[state=open]:rotate-90`}),`Local jobs (`,ie.length,`)`]}),(0,V.jsx)(_g,{className:`pt-3`,children:ie.length===0?(0,V.jsx)(`p`,{className:`text-sm text-slate-500`,children:k?`No local jobs match your search.`:`No active local jobs. Start one from the Training page.`}):(0,V.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4`,children:ie.map(e=>(0,V.jsx)(jv,{job:e,onStop:E,onDelete:O,onPlay:D},e.id))})})]}),ee.length>0?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{className:`border-t border-slate-700`}),(0,V.jsxs)(hg,{defaultOpen:!0,children:[(0,V.jsxs)(gg,{className:`group flex items-center gap-1.5 text-sm font-semibold uppercase tracking-wide text-slate-400 hover:text-white transition-colors`,children:[(0,V.jsx)(ka,{className:`w-3.5 h-3.5 transition-transform group-data-[state=open]:rotate-90`}),`Imported models (`,ee.length,`)`]}),(0,V.jsx)(_g,{className:`pt-3`,children:(0,V.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4`,children:ee.map(e=>(0,V.jsx)(jv,{job:e,onStop:E,onDelete:O,onPlay:D},e.id))})})]})]}):null,(0,V.jsx)(`div`,{className:`border-t border-slate-700`}),(0,V.jsxs)(hg,{defaultOpen:!0,children:[(0,V.jsxs)(gg,{className:`group flex items-center gap-1.5 text-sm font-semibold uppercase tracking-wide text-slate-400 hover:text-white transition-colors`,children:[(0,V.jsx)(ka,{className:`w-3.5 h-3.5 transition-transform group-data-[state=open]:rotate-90`}),`Online jobs (`,oe.length+ce.length+re.length,`)`]}),(0,V.jsx)(_g,{className:`pt-3`,children:!l&&F.length===0?(0,V.jsx)(`p`,{className:`text-sm text-slate-500`,children:`Sign in with Hugging Face to see your cloud jobs.`}):oe.length===0&&ce.length===0&&re.length===0?(0,V.jsx)(`p`,{className:`text-sm text-slate-500`,children:k?`No online jobs match your search.`:`No active cloud jobs.`}):(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4`,children:[oe.map(e=>(0,V.jsx)(jv,{job:e,onStop:E,onDelete:O,onPlay:D},e.id)),ce.map(e=>(0,V.jsx)(Mv,{job:e},e.id)),re.map(e=>(0,V.jsx)(Zee,{model:e},e.repo_id))]})})]}),ue>0?(0,V.jsxs)(hg,{children:[(0,V.jsxs)(gg,{className:`group flex items-center gap-1.5 text-xs font-semibold uppercase tracking-wide text-slate-400 hover:text-white transition-colors`,children:[(0,V.jsx)(ka,{className:`w-3.5 h-3.5 transition-transform group-data-[state=open]:rotate-90`}),`Untracked (`,ue,`)`]}),(0,V.jsx)(_g,{className:`pt-3`,children:(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4`,children:[ae.map(e=>(0,V.jsx)(jv,{job:e,onStop:E,onDelete:O,onPlay:D},e.id)),se.map(e=>(0,V.jsx)(jv,{job:e,onStop:E,onDelete:O,onPlay:D},e.id)),le.map(e=>(0,V.jsx)(Mv,{job:e},e.id))]})})]}):null,x?(0,V.jsx)(Iv,{open:g,onOpenChange:v,robot:h,jobId:x.id,initialStep:C}):null,(0,V.jsx)(Lv,{open:y,onOpenChange:b,onImported:T})]})},qv=`uv tool install git+https://github.com/huggingface/leLab.git && lelab`,Jv=`http://localhost:8000/`,Yv=({open:e,onOpenChange:t,dismissible:n=!0})=>{let[r,i]=(0,_.useState)(!1),a=e=>{n||e.preventDefault()};return(0,V.jsx)(Su,{open:e,onOpenChange:n?t:()=>void 0,children:(0,V.jsxs)(Tu,{className:`bg-gray-900 border-gray-700 text-gray-300 sm:max-w-xl`,hideClose:!n,onEscapeKeyDown:a,onPointerDownOutside:a,onInteractOutside:a,children:[(0,V.jsxs)(Eu,{className:`text-center sm:text-center min-w-0`,children:[(0,V.jsxs)(Ou,{className:`text-white flex items-center justify-center gap-2 text-xl`,children:[(0,V.jsx)(so,{className:`w-6 h-6`}),`Get Started with LeLab`]}),(0,V.jsx)(ku,{children:`LeLab runs on your machine. Click the command to copy it, then paste in a terminal:`})]}),(0,V.jsxs)(`div`,{className:`space-y-4 py-2 min-w-0`,children:[(0,V.jsxs)(`button`,{type:`button`,onClick:async()=>{try{await navigator.clipboard.writeText(qv),i(!0),setTimeout(()=>i(!1),1500)}catch(e){console.warn(`Clipboard write failed:`,e)}},"aria-label":`Copy command to clipboard`,className:`group relative w-full bg-gray-800 hover:bg-gray-750 rounded-lg border border-gray-700 hover:border-gray-600 text-left transition-colors cursor-pointer`,children:[(0,V.jsx)(`pre`,{className:`p-4 pr-12 text-xs sm:text-sm overflow-x-auto whitespace-pre-wrap break-all`,children:(0,V.jsx)(`code`,{className:`text-green-400`,children:qv})}),(0,V.jsx)(`span`,{className:`absolute right-2 top-2 flex items-center gap-1 px-2 py-1 rounded text-xs text-gray-400 group-hover:text-white bg-gray-900/80`,children:r?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Da,{className:`w-3.5 h-3.5 text-green-400`}),`Copied`]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(za,{className:`w-3.5 h-3.5`}),`Copy`]})})]}),(0,V.jsx)(`p`,{className:`text-gray-400 text-sm text-center`,children:`After running, your browser will open the local LeLab app.`}),(0,V.jsx)(K,{asChild:!0,className:`w-full bg-blue-600 hover:bg-blue-700 text-white`,children:(0,V.jsxs)(`a`,{href:Jv,target:`_blank`,rel:`noopener noreferrer`,children:[(0,V.jsx)(Ua,{className:`w-4 h-4 mr-2`}),`Open LeLab`]})})]})]})})};async function Xv(e,t,n){return bv(e,t,`/datasets`,{signal:n,action:`List datasets`})}var Zv=()=>{let{baseUrl:e,fetchWithHeaders:t}=zs(),[n,r]=(0,_.useState)([]),[i,a]=(0,_.useState)(!0),o=(0,_.useCallback)(()=>{a(!0),Xv(e,t).then(r).catch(()=>r([])).finally(()=>a(!1))},[e,t]);return(0,_.useEffect)(()=>{o()},[o]),{datasets:n,loading:i,refresh:o}},Qv=()=>typeof window<`u`&&window.location.hostname.endsWith(`.hf.space`),$v=Qv(),ey=()=>{let[e,t]=(0,_.useState)($v),{auth:n}=Hs(),{selectedName:r,selectedRecord:i,availableNames:a,isLoading:o,selectRobot:s,createRobot:c,deleteRobot:l}=Vv(),{datasets:u,loading:d}=Zv(),[f,p]=(0,_.useState)(!1),[m,h]=(0,_.useState)(``),[g,v]=(0,_.useState)(``),[y,b]=(0,_.useState)(5),[x,S]=(0,_.useState)(60),[C,w]=(0,_.useState)(15),[T,E]=(0,_.useState)(!0),[D,O]=(0,_.useState)([]),k=(0,_.useRef)(null),A=Re(),{toast:j}=yr();(0,_.useEffect)(()=>{D.length>0&&(console.log(`🧹 Landing page: Cleaning up camera state from previous session`),k.current&&k.current(),O([]))},[]),(0,_.useEffect)(()=>()=>{k.current&&(console.log(`🧹 Landing page: Cleaning up camera streams on unmount`),k.current())},[]);let M=()=>{O(i?[...i.cameras??[]]:[]),p(!0)},N=e=>{p(e),!e&&k.current&&(console.log(`🧹 Modal closed: Releasing camera streams`),k.current())},P=()=>A(`/training`),F=(e,t)=>{let n=`/spaces/lerobot/visualize_dataset?path=${encodeURIComponent(`/${e}`)}`,r=t?`https://huggingface.co/login?next=${encodeURIComponent(n)}`:`https://huggingface.co${n}`;window.open(r,`_blank`,`noopener,noreferrer`)};return(0,V.jsxs)(`div`,{className:`min-h-screen bg-black text-white pb-16`,style:{"--lelab-topbar-h":`48px`},children:[(0,V.jsx)(Mu,{}),(0,V.jsx)(`div`,{className:`sticky z-20 bg-black/95 backdrop-blur supports-[backdrop-filter]:bg-black/70 border-b border-gray-800`,style:{top:`var(--lelab-topbar-h)`},children:(0,V.jsxs)(`div`,{className:`mx-auto max-w-7xl px-4 py-4 grid gap-4 grid-cols-1 lg:grid-cols-[1.2fr_2fr]`,children:[(0,V.jsx)(Mh,{selectedName:r,selectedRecord:i,availableNames:a,isLoading:o,selectRobot:s,createRobot:c,deleteRobot:l}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{className:`bg-gray-800 rounded-lg border border-gray-700 p-3 flex flex-col gap-2`,children:[(0,V.jsx)(`h3`,{className:`font-semibold text-lg text-left h-10 flex items-center`,children:`Dataset`}),(0,V.jsx)(Mee,{datasets:u,loading:d,onPickExisting:e=>{if(e.source===`local`||e.source===`both`){A(`/upload`,{state:{datasetInfo:{dataset_repo_id:e.repo_id,source:e.source}}});return}F(e.repo_id,e.private)},onOpenCustom:e=>{F(e,!0)},onCreateNew:e=>{h(e),M()},children:(0,V.jsxs)(K,{variant:`outline`,role:`combobox`,className:`w-full justify-between bg-gray-800 border-gray-600 text-white hover:bg-gray-700`,children:[(0,V.jsx)(`span`,{className:`truncate text-gray-300`,children:d?`Loading datasets…`:`Select or create a dataset…`}),(0,V.jsx)(ja,{className:`ml-2 h-4 w-4 shrink-0 opacity-50`})]})})]}),(0,V.jsxs)(`div`,{className:`bg-gray-800 rounded-lg border border-gray-700 p-3 flex flex-col gap-2`,children:[(0,V.jsx)(`h3`,{className:`font-semibold text-lg text-left h-10 flex items-center`,children:`Create a model`}),(0,V.jsx)(K,{onClick:P,className:`w-full bg-green-500 hover:bg-green-600 text-white`,children:`Training`})]})]})]})}),(0,V.jsx)(`main`,{className:`mx-auto max-w-7xl px-4 py-6`,children:(0,V.jsx)(Kv,{})}),(0,V.jsx)(Pu,{}),(0,V.jsx)(Yv,{open:e,onOpenChange:t,dismissible:!$v}),(0,V.jsx)(kee,{open:f,onOpenChange:N,robot:i,datasetName:m,setDatasetName:h,singleTask:g,setSingleTask:v,numEpisodes:y,setNumEpisodes:b,episodeTimeS:x,setEpisodeTimeS:S,resetTimeS:C,setResetTimeS:w,streamingEncoding:T,setStreamingEncoding:E,cameras:D,setCameras:O,onStart:async()=>{if(!i){j({title:`No robot selected`,description:`Select or create a robot on the Landing page first.`,variant:`destructive`});return}let e=i;if(!e.is_clean){j({title:`Robot not ready`,description:`${e.name} is missing a calibration. Configure it before recording.`,variant:`destructive`});return}if(!m||!g){j({title:`Missing dataset details`,description:`Please enter a dataset name and task description.`,variant:`destructive`});return}let t=n.status===`authenticated`?`${n.username}/${m}`:m;D.length>0&&k.current&&(console.log(`🔓 Releasing camera streams before starting recording...`),j({title:`Preparing Camera Resources`,description:`Releasing ${D.length} camera stream(s) for recording...`}),k.current(),await new Promise(e=>setTimeout(e,500)),console.log(`✅ Camera streams released, proceeding with recording...`),j({title:`Camera Resources Ready`,description:`Camera streams released successfully. Starting recording...`}));let r=D.reduce((e,t)=>(e[t.name]={type:t.type,camera_index:t.camera_index,width:t.width,height:t.height,fps:t.fps,...t.fourcc?{fourcc:t.fourcc}:{},...t.backend?{backend:t.backend}:{}},e),{}),a={leader_port:e.leader_port,follower_port:e.follower_port,leader_config:e.leader_config,follower_config:e.follower_config,dataset_repo_id:t,single_task:g,num_episodes:y,episode_time_s:x,reset_time_s:C,fps:30,video:!0,push_to_hub:!1,resume:!1,streaming_encoding:T,cameras:r,robot_type:e.robot_type||`so101`};p(!1),A(`/recording`,{state:{recordingConfig:a}})},releaseStreamsRef:k})]})},ty={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},ny={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},ry=`attached`,iy=1e3,ay=1001,oy=1002,sy=1003,cy=1004,ly=1005,uy=1006,dy=1007,fy=1008,py=1009,my=1010,hy=1011,gy=1012,_y=1013,vy=1014,yy=1015,by=1016,xy=1017,Sy=1018,Cy=1020,wy=35902,Ty=1021,Ey=1022,Dy=1023,Oy=1026,ky=1027,Ay=1028,jy=1029,My=1030,Ny=1031,Py=1033,Fy=33776,Iy=33777,Ly=33778,Ry=33779,zy=35840,By=35841,Vy=35842,Hy=35843,Uy=36196,Wy=37492,Gy=37496,Ky=37808,qy=37809,Jy=37810,Yy=37811,Xy=37812,Zy=37813,Qy=37814,$y=37815,eb=37816,tb=37817,nb=37818,rb=37819,ib=37820,ab=37821,ob=36492,sb=36494,cb=36495,lb=36283,ub=36284,db=36285,fb=36286,pb=2300,mb=2301,hb=2302,gb=2400,_b=2401,vb=2402,yb=2500,bb=3200,xb=3201,Sb=`srgb`,Cb=`srgb-linear`,wb=`linear`,Tb=`srgb`,Eb=7680,Db=35044,Ob=2e3,kb=class{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});let n=this._listeners;n[e]===void 0&&(n[e]=[]),n[e].indexOf(t)===-1&&n[e].push(t)}hasEventListener(e,t){let n=this._listeners;return n===void 0?!1:n[e]!==void 0&&n[e].indexOf(t)!==-1}removeEventListener(e,t){let n=this._listeners;if(n===void 0)return;let r=n[e];if(r!==void 0){let e=r.indexOf(t);e!==-1&&r.splice(e,1)}}dispatchEvent(e){let t=this._listeners;if(t===void 0)return;let n=t[e.type];if(n!==void 0){e.target=this;let t=n.slice(0);for(let n=0,r=t.length;n>8&255]+Ab[e>>16&255]+Ab[e>>24&255]+`-`+Ab[t&255]+Ab[t>>8&255]+`-`+Ab[t>>16&15|64]+Ab[t>>24&255]+`-`+Ab[n&63|128]+Ab[n>>8&255]+`-`+Ab[n>>16&255]+Ab[n>>24&255]+Ab[r&255]+Ab[r>>8&255]+Ab[r>>16&255]+Ab[r>>24&255]).toLowerCase()}function Fb(e,t,n){return Math.max(t,Math.min(n,e))}function Ib(e,t){return(e%t+t)%t}function Lb(e,t,n,r,i){return r+(e-t)*(i-r)/(n-t)}function Rb(e,t,n){return e===t?0:(n-e)/(t-e)}function zb(e,t,n){return(1-n)*e+n*t}function Bb(e,t,n,r){return zb(e,t,1-Math.exp(-n*r))}function Vb(e,t=1){return t-Math.abs(Ib(e,t*2)-t)}function Hb(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t),e*e*(3-2*e))}function Ub(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t),e*e*e*(e*(e*6-15)+10))}function Wb(e,t){return e+Math.floor(Math.random()*(t-e+1))}function Gb(e,t){return e+Math.random()*(t-e)}function Kb(e){return e*(.5-Math.random())}function qb(e){e!==void 0&&(jb=e);let t=jb+=1831565813;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}function Jb(e){return e*Mb}function Yb(e){return e*Nb}function Xb(e){return(e&e-1)==0&&e!==0}function Zb(e){return 2**Math.ceil(Math.log(e)/Math.LN2)}function Qb(e){return 2**Math.floor(Math.log(e)/Math.LN2)}function $b(e,t,n,r,i){let a=Math.cos,o=Math.sin,s=a(n/2),c=o(n/2),l=a((t+r)/2),u=o((t+r)/2),d=a((t-r)/2),f=o((t-r)/2),p=a((r-t)/2),m=o((r-t)/2);switch(i){case`XYX`:e.set(s*u,c*d,c*f,s*l);break;case`YZY`:e.set(c*f,s*u,c*d,s*l);break;case`ZXZ`:e.set(c*d,c*f,s*u,s*l);break;case`XZX`:e.set(s*u,c*m,c*p,s*l);break;case`YXY`:e.set(c*p,s*u,c*m,s*l);break;case`ZYZ`:e.set(c*m,c*p,s*u,s*l);break;default:console.warn(`THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: `+i)}}function ex(e,t){switch(t.constructor){case Float32Array:return e;case Uint32Array:return e/4294967295;case Uint16Array:return e/65535;case Uint8Array:return e/255;case Int32Array:return Math.max(e/2147483647,-1);case Int16Array:return Math.max(e/32767,-1);case Int8Array:return Math.max(e/127,-1);default:throw Error(`Invalid component type.`)}}function tx(e,t){switch(t.constructor){case Float32Array:return e;case Uint32Array:return Math.round(e*4294967295);case Uint16Array:return Math.round(e*65535);case Uint8Array:return Math.round(e*255);case Int32Array:return Math.round(e*2147483647);case Int16Array:return Math.round(e*32767);case Int8Array:return Math.round(e*127);default:throw Error(`Invalid component type.`)}}var nx={DEG2RAD:Mb,RAD2DEG:Nb,generateUUID:Pb,clamp:Fb,euclideanModulo:Ib,mapLinear:Lb,inverseLerp:Rb,lerp:zb,damp:Bb,pingpong:Vb,smoothstep:Hb,smootherstep:Ub,randInt:Wb,randFloat:Gb,randFloatSpread:Kb,seededRandom:qb,degToRad:Jb,radToDeg:Yb,isPowerOfTwo:Xb,ceilPowerOfTwo:Zb,floorPowerOfTwo:Qb,setQuaternionFromProperEuler:$b,normalize:tx,denormalize:ex},rx=class e{constructor(t=0,n=0){e.prototype.isVector2=!0,this.x=t,this.y=n}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw Error(`index is out of range: `+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw Error(`index is out of range: `+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){let t=this.x,n=this.y,r=e.elements;return this.x=r[0]*t+r[3]*n+r[6],this.y=r[1]*t+r[4]*n+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Fb(this.x,e.x,t.x),this.y=Fb(this.y,e.y,t.y),this}clampScalar(e,t){return this.x=Fb(this.x,e,t),this.y=Fb(this.y,e,t),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(Fb(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){let t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;let n=this.dot(e)/t;return Math.acos(Fb(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){let n=Math.cos(t),r=Math.sin(t),i=this.x-e.x,a=this.y-e.y;return this.x=i*n-a*r+e.x,this.y=i*r+a*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}},ix=class{constructor(e=0,t=0,n=0,r=1){this.isQuaternion=!0,this._x=e,this._y=t,this._z=n,this._w=r}static slerpFlat(e,t,n,r,i,a,o){let s=n[r+0],c=n[r+1],l=n[r+2],u=n[r+3],d=i[a+0],f=i[a+1],p=i[a+2],m=i[a+3];if(o===0){e[t+0]=s,e[t+1]=c,e[t+2]=l,e[t+3]=u;return}if(o===1){e[t+0]=d,e[t+1]=f,e[t+2]=p,e[t+3]=m;return}if(u!==m||s!==d||c!==f||l!==p){let e=1-o,t=s*d+c*f+l*p+u*m,n=t>=0?1:-1,r=1-t*t;if(r>2**-52){let i=Math.sqrt(r),a=Math.atan2(i,t*n);e=Math.sin(e*a)/i,o=Math.sin(o*a)/i}let i=o*n;if(s=s*e+d*i,c=c*e+f*i,l=l*e+p*i,u=u*e+m*i,e===1-o){let e=1/Math.sqrt(s*s+c*c+l*l+u*u);s*=e,c*=e,l*=e,u*=e}}e[t]=s,e[t+1]=c,e[t+2]=l,e[t+3]=u}static multiplyQuaternionsFlat(e,t,n,r,i,a){let o=n[r],s=n[r+1],c=n[r+2],l=n[r+3],u=i[a],d=i[a+1],f=i[a+2],p=i[a+3];return e[t]=o*p+l*u+s*f-c*d,e[t+1]=s*p+l*d+c*u-o*f,e[t+2]=c*p+l*f+o*d-s*u,e[t+3]=l*p-o*u-s*d-c*f,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,n,r){return this._x=e,this._y=t,this._z=n,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){let n=e._x,r=e._y,i=e._z,a=e._order,o=Math.cos,s=Math.sin,c=o(n/2),l=o(r/2),u=o(i/2),d=s(n/2),f=s(r/2),p=s(i/2);switch(a){case`XYZ`:this._x=d*l*u+c*f*p,this._y=c*f*u-d*l*p,this._z=c*l*p+d*f*u,this._w=c*l*u-d*f*p;break;case`YXZ`:this._x=d*l*u+c*f*p,this._y=c*f*u-d*l*p,this._z=c*l*p-d*f*u,this._w=c*l*u+d*f*p;break;case`ZXY`:this._x=d*l*u-c*f*p,this._y=c*f*u+d*l*p,this._z=c*l*p+d*f*u,this._w=c*l*u-d*f*p;break;case`ZYX`:this._x=d*l*u-c*f*p,this._y=c*f*u+d*l*p,this._z=c*l*p-d*f*u,this._w=c*l*u+d*f*p;break;case`YZX`:this._x=d*l*u+c*f*p,this._y=c*f*u+d*l*p,this._z=c*l*p-d*f*u,this._w=c*l*u-d*f*p;break;case`XZY`:this._x=d*l*u-c*f*p,this._y=c*f*u-d*l*p,this._z=c*l*p+d*f*u,this._w=c*l*u+d*f*p;break;default:console.warn(`THREE.Quaternion: .setFromEuler() encountered an unknown order: `+a)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){let n=t/2,r=Math.sin(n);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){let t=e.elements,n=t[0],r=t[4],i=t[8],a=t[1],o=t[5],s=t[9],c=t[2],l=t[6],u=t[10],d=n+o+u;if(d>0){let e=.5/Math.sqrt(d+1);this._w=.25/e,this._x=(l-s)*e,this._y=(i-c)*e,this._z=(a-r)*e}else if(n>o&&n>u){let e=2*Math.sqrt(1+n-o-u);this._w=(l-s)/e,this._x=.25*e,this._y=(r+a)/e,this._z=(i+c)/e}else if(o>u){let e=2*Math.sqrt(1+o-n-u);this._w=(i-c)/e,this._x=(r+a)/e,this._y=.25*e,this._z=(s+l)/e}else{let e=2*Math.sqrt(1+u-n-o);this._w=(a-r)/e,this._x=(i+c)/e,this._y=(s+l)/e,this._z=.25*e}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return n<2**-52?(n=0,Math.abs(e.x)>Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(Fb(this.dot(e),-1,1)))}rotateTowards(e,t){let n=this.angleTo(e);if(n===0)return this;let r=Math.min(1,t/n);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x*=e,this._y*=e,this._z*=e,this._w*=e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){let n=e._x,r=e._y,i=e._z,a=e._w,o=t._x,s=t._y,c=t._z,l=t._w;return this._x=n*l+a*o+r*c-i*s,this._y=r*l+a*s+i*o-n*c,this._z=i*l+a*c+n*s-r*o,this._w=a*l-n*o-r*s-i*c,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);let n=this._x,r=this._y,i=this._z,a=this._w,o=a*e._w+n*e._x+r*e._y+i*e._z;if(o<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,o=-o):this.copy(e),o>=1)return this._w=a,this._x=n,this._y=r,this._z=i,this;let s=1-o*o;if(s<=2**-52){let e=1-t;return this._w=e*a+t*this._w,this._x=e*n+t*this._x,this._y=e*r+t*this._y,this._z=e*i+t*this._z,this.normalize(),this}let c=Math.sqrt(s),l=Math.atan2(c,o),u=Math.sin((1-t)*l)/c,d=Math.sin(t*l)/c;return this._w=a*u+this._w*d,this._x=n*u+this._x*d,this._y=r*u+this._y*d,this._z=i*u+this._z*d,this._onChangeCallback(),this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){let e=2*Math.PI*Math.random(),t=2*Math.PI*Math.random(),n=Math.random(),r=Math.sqrt(1-n),i=Math.sqrt(n);return this.set(r*Math.sin(e),r*Math.cos(e),i*Math.sin(t),i*Math.cos(t))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}},J=class e{constructor(t=0,n=0,r=0){e.prototype.isVector3=!0,this.x=t,this.y=n,this.z=r}set(e,t,n){return n===void 0&&(n=this.z),this.x=e,this.y=t,this.z=n,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw Error(`index is out of range: `+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw Error(`index is out of range: `+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(ox.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(ox.setFromAxisAngle(e,t))}applyMatrix3(e){let t=this.x,n=this.y,r=this.z,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6]*r,this.y=i[1]*t+i[4]*n+i[7]*r,this.z=i[2]*t+i[5]*n+i[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){let t=this.x,n=this.y,r=this.z,i=e.elements,a=1/(i[3]*t+i[7]*n+i[11]*r+i[15]);return this.x=(i[0]*t+i[4]*n+i[8]*r+i[12])*a,this.y=(i[1]*t+i[5]*n+i[9]*r+i[13])*a,this.z=(i[2]*t+i[6]*n+i[10]*r+i[14])*a,this}applyQuaternion(e){let t=this.x,n=this.y,r=this.z,i=e.x,a=e.y,o=e.z,s=e.w,c=2*(a*r-o*n),l=2*(o*t-i*r),u=2*(i*n-a*t);return this.x=t+s*c+a*u-o*l,this.y=n+s*l+o*c-i*u,this.z=r+s*u+i*l-a*c,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){let t=this.x,n=this.y,r=this.z,i=e.elements;return this.x=i[0]*t+i[4]*n+i[8]*r,this.y=i[1]*t+i[5]*n+i[9]*r,this.z=i[2]*t+i[6]*n+i[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Fb(this.x,e.x,t.x),this.y=Fb(this.y,e.y,t.y),this.z=Fb(this.z,e.z,t.z),this}clampScalar(e,t){return this.x=Fb(this.x,e,t),this.y=Fb(this.y,e,t),this.z=Fb(this.z,e,t),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(Fb(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){let n=e.x,r=e.y,i=e.z,a=t.x,o=t.y,s=t.z;return this.x=r*s-i*o,this.y=i*a-n*s,this.z=n*o-r*a,this}projectOnVector(e){let t=e.lengthSq();if(t===0)return this.set(0,0,0);let n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return ax.copy(this).projectOnVector(e),this.sub(ax)}reflect(e){return this.sub(ax.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){let t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;let n=this.dot(e)/t;return Math.acos(Fb(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y,r=this.z-e.z;return t*t+n*n+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,n){let r=Math.sin(t)*e;return this.x=r*Math.sin(n),this.y=Math.cos(t)*e,this.z=r*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){let t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){let t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=r,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){let e=Math.random()*Math.PI*2,t=Math.random()*2-1,n=Math.sqrt(1-t*t);return this.x=n*Math.cos(e),this.y=t,this.z=n*Math.sin(e),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}},ax=new J,ox=new ix,sx=class e{constructor(t,n,r,i,a,o,s,c,l){e.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],t!==void 0&&this.set(t,n,r,i,a,o,s,c,l)}set(e,t,n,r,i,a,o,s,c){let l=this.elements;return l[0]=e,l[1]=r,l[2]=o,l[3]=t,l[4]=i,l[5]=s,l[6]=n,l[7]=a,l[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){let t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){let t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let n=e.elements,r=t.elements,i=this.elements,a=n[0],o=n[3],s=n[6],c=n[1],l=n[4],u=n[7],d=n[2],f=n[5],p=n[8],m=r[0],h=r[3],g=r[6],_=r[1],v=r[4],y=r[7],b=r[2],x=r[5],S=r[8];return i[0]=a*m+o*_+s*b,i[3]=a*h+o*v+s*x,i[6]=a*g+o*y+s*S,i[1]=c*m+l*_+u*b,i[4]=c*h+l*v+u*x,i[7]=c*g+l*y+u*S,i[2]=d*m+f*_+p*b,i[5]=d*h+f*v+p*x,i[8]=d*g+f*y+p*S,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){let e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],o=e[5],s=e[6],c=e[7],l=e[8];return t*a*l-t*o*c-n*i*l+n*o*s+r*i*c-r*a*s}invert(){let e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],o=e[5],s=e[6],c=e[7],l=e[8],u=l*a-o*c,d=o*s-l*i,f=c*i-a*s,p=t*u+n*d+r*f;if(p===0)return this.set(0,0,0,0,0,0,0,0,0);let m=1/p;return e[0]=u*m,e[1]=(r*c-l*n)*m,e[2]=(o*n-r*a)*m,e[3]=d*m,e[4]=(l*t-r*s)*m,e[5]=(r*i-o*t)*m,e[6]=f*m,e[7]=(n*s-c*t)*m,e[8]=(a*t-n*i)*m,this}transpose(){let e,t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){let t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,n,r,i,a,o){let s=Math.cos(i),c=Math.sin(i);return this.set(n*s,n*c,-n*(s*a+c*o)+a+e,-r*c,r*s,-r*(-c*a+s*o)+o+t,0,0,1),this}scale(e,t){return this.premultiply(cx.makeScale(e,t)),this}rotate(e){return this.premultiply(cx.makeRotation(-e)),this}translate(e,t){return this.premultiply(cx.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,n,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){let t=this.elements,n=e.elements;for(let e=0;e<9;e++)if(t[e]!==n[e])return!1;return!0}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){let n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return new this.constructor().fromArray(this.elements)}},cx=new sx;function lx(e){for(let t=e.length-1;t>=0;--t)if(e[t]>=65535)return!0;return!1}function ux(e){return document.createElementNS(`http://www.w3.org/1999/xhtml`,e)}function dx(){let e=ux(`canvas`);return e.style.display=`block`,e}var fx={};function px(e){e in fx||(fx[e]=!0,console.warn(e))}function mx(e,t,n){return new Promise(function(r,i){function a(){switch(e.clientWaitSync(t,e.SYNC_FLUSH_COMMANDS_BIT,0)){case e.WAIT_FAILED:i();break;case e.TIMEOUT_EXPIRED:setTimeout(a,n);break;default:r()}}setTimeout(a,n)})}function hx(e){let t=e.elements;t[2]=.5*t[2]+.5*t[3],t[6]=.5*t[6]+.5*t[7],t[10]=.5*t[10]+.5*t[11],t[14]=.5*t[14]+.5*t[15]}function gx(e){let t=e.elements;t[11]===-1?(t[10]=-t[10]-1,t[14]=-t[14]):(t[10]=-t[10],t[14]=-t[14]+1)}var _x=new sx().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),vx=new sx().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function yx(){let e={enabled:!0,workingColorSpace:Cb,spaces:{},convert:function(e,t,n){return this.enabled===!1||t===n||!t||!n?e:(this.spaces[t].transfer===`srgb`&&(e.r=xx(e.r),e.g=xx(e.g),e.b=xx(e.b)),this.spaces[t].primaries!==this.spaces[n].primaries&&(e.applyMatrix3(this.spaces[t].toXYZ),e.applyMatrix3(this.spaces[n].fromXYZ)),this.spaces[n].transfer===`srgb`&&(e.r=Sx(e.r),e.g=Sx(e.g),e.b=Sx(e.b)),e)},workingToColorSpace:function(e,t){return this.convert(e,this.workingColorSpace,t)},colorSpaceToWorking:function(e,t){return this.convert(e,t,this.workingColorSpace)},getPrimaries:function(e){return this.spaces[e].primaries},getTransfer:function(e){return e===``?wb:this.spaces[e].transfer},getLuminanceCoefficients:function(e,t=this.workingColorSpace){return e.fromArray(this.spaces[t].luminanceCoefficients)},define:function(e){Object.assign(this.spaces,e)},_getMatrix:function(e,t,n){return e.copy(this.spaces[t].toXYZ).multiply(this.spaces[n].fromXYZ)},_getDrawingBufferColorSpace:function(e){return this.spaces[e].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(e=this.workingColorSpace){return this.spaces[e].workingColorSpaceConfig.unpackColorSpace},fromWorkingColorSpace:function(t,n){return px(`THREE.ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace().`),e.workingToColorSpace(t,n)},toWorkingColorSpace:function(t,n){return px(`THREE.ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking().`),e.colorSpaceToWorking(t,n)}},t=[.64,.33,.3,.6,.15,.06],n=[.2126,.7152,.0722],r=[.3127,.329];return e.define({[Cb]:{primaries:t,whitePoint:r,transfer:wb,toXYZ:_x,fromXYZ:vx,luminanceCoefficients:n,workingColorSpaceConfig:{unpackColorSpace:Sb},outputColorSpaceConfig:{drawingBufferColorSpace:Sb}},[Sb]:{primaries:t,whitePoint:r,transfer:Tb,toXYZ:_x,fromXYZ:vx,luminanceCoefficients:n,outputColorSpaceConfig:{drawingBufferColorSpace:Sb}}}),e}var bx=yx();function xx(e){return e<.04045?e*.0773993808:(e*.9478672986+.0521327014)**2.4}function Sx(e){return e<.0031308?e*12.92:1.055*e**.41666-.055}var Cx,wx=class{static getDataURL(e,t=`image/png`){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>`u`)return e.src;let n;if(e instanceof HTMLCanvasElement)n=e;else{Cx===void 0&&(Cx=ux(`canvas`)),Cx.width=e.width,Cx.height=e.height;let t=Cx.getContext(`2d`);e instanceof ImageData?t.putImageData(e,0,0):t.drawImage(e,0,0,e.width,e.height),n=Cx}return n.toDataURL(t)}static sRGBToLinear(e){if(typeof HTMLImageElement<`u`&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<`u`&&e instanceof HTMLCanvasElement||typeof ImageBitmap<`u`&&e instanceof ImageBitmap){let t=ux(`canvas`);t.width=e.width,t.height=e.height;let n=t.getContext(`2d`);n.drawImage(e,0,0,e.width,e.height);let r=n.getImageData(0,0,e.width,e.height),i=r.data;for(let e=0;e1),this.pmremVersion=0}get width(){return this.source.getSize(kx).x}get height(){return this.source.getSize(kx).y}get depth(){return this.source.getSize(kx).z}get image(){return this.source.data}set image(e=null){this.source.data=e}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}clone(){return new this.constructor().copy(this)}copy(e){return this.name=e.name,this.source=e.source,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.channel=e.channel,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.colorSpace=e.colorSpace,this.renderTarget=e.renderTarget,this.isRenderTargetTexture=e.isRenderTargetTexture,this.isArrayTexture=e.isArrayTexture,this.userData=JSON.parse(JSON.stringify(e.userData)),this.needsUpdate=!0,this}setValues(e){for(let t in e){let n=e[t];if(n===void 0){console.warn(`THREE.Texture.setValues(): parameter '${t}' has value of undefined.`);continue}let r=this[t];if(r===void 0){console.warn(`THREE.Texture.setValues(): property '${t}' does not exist.`);continue}r&&n&&r.isVector2&&n.isVector2||r&&n&&r.isVector3&&n.isVector3||r&&n&&r.isMatrix3&&n.isMatrix3?r.copy(n):this[t]=n}}toJSON(e){let t=e===void 0||typeof e==`string`;if(!t&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];let n={metadata:{version:4.7,type:`Texture`,generator:`Texture.toJSON`},uuid:this.uuid,name:this.name,image:this.source.toJSON(e).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(n.userData=this.userData),t||(e.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:`dispose`})}transformUv(e){if(this.mapping!==300)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case iy:e.x-=Math.floor(e.x);break;case ay:e.x=e.x<0?0:1;break;case oy:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x-=Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case iy:e.y-=Math.floor(e.y);break;case ay:e.y=e.y<0?0:1;break;case oy:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y-=Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}};Ax.DEFAULT_IMAGE=null,Ax.DEFAULT_MAPPING=300,Ax.DEFAULT_ANISOTROPY=1;var jx=class e{constructor(t=0,n=0,r=0,i=1){e.prototype.isVector4=!0,this.x=t,this.y=n,this.z=r,this.w=i}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,r){return this.x=e,this.y=t,this.z=n,this.w=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw Error(`index is out of range: `+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw Error(`index is out of range: `+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w===void 0?1:e.w,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){let t=this.x,n=this.y,r=this.z,i=this.w,a=e.elements;return this.x=a[0]*t+a[4]*n+a[8]*r+a[12]*i,this.y=a[1]*t+a[5]*n+a[9]*r+a[13]*i,this.z=a[2]*t+a[6]*n+a[10]*r+a[14]*i,this.w=a[3]*t+a[7]*n+a[11]*r+a[15]*i,this}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this.w/=e.w,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);let t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,n,r,i,a=.01,o=.1,s=e.elements,c=s[0],l=s[4],u=s[8],d=s[1],f=s[5],p=s[9],m=s[2],h=s[6],g=s[10];if(Math.abs(l-d)s&&e>_?e_?s1;this.dispose()}this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.textures.length=0;for(let t=0,n=e.textures.length;t=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y&&e.z>=this.min.z&&e.z<=this.max.z}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y&&e.max.z>=this.min.z&&e.min.z<=this.max.z}intersectsSphere(e){return this.clampPoint(e.center,Rx),Rx.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(Kx),qx.subVectors(this.max,Kx),Bx.subVectors(e.a,Kx),Vx.subVectors(e.b,Kx),Hx.subVectors(e.c,Kx),Ux.subVectors(Vx,Bx),Wx.subVectors(Hx,Vx),Gx.subVectors(Bx,Hx);let t=[0,-Ux.z,Ux.y,0,-Wx.z,Wx.y,0,-Gx.z,Gx.y,Ux.z,0,-Ux.x,Wx.z,0,-Wx.x,Gx.z,0,-Gx.x,-Ux.y,Ux.x,0,-Wx.y,Wx.x,0,-Gx.y,Gx.x,0];return!Xx(t,Bx,Vx,Hx,qx)||(t=[1,0,0,0,1,0,0,0,1],!Xx(t,Bx,Vx,Hx,qx))?!1:(Jx.crossVectors(Ux,Wx),t=[Jx.x,Jx.y,Jx.z],Xx(t,Bx,Vx,Hx,qx))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Rx).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Rx).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(Lx[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Lx[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Lx[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Lx[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Lx[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Lx[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Lx[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Lx[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Lx),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}toJSON(){return{min:this.min.toArray(),max:this.max.toArray()}}fromJSON(e){return this.min.fromArray(e.min),this.max.fromArray(e.max),this}},Lx=[new J,new J,new J,new J,new J,new J,new J,new J],Rx=new J,zx=new Ix,Bx=new J,Vx=new J,Hx=new J,Ux=new J,Wx=new J,Gx=new J,Kx=new J,qx=new J,Jx=new J,Yx=new J;function Xx(e,t,n,r,i){for(let a=0,o=e.length-3;a<=o;a+=3){Yx.fromArray(e,a);let o=i.x*Math.abs(Yx.x)+i.y*Math.abs(Yx.y)+i.z*Math.abs(Yx.z),s=t.dot(Yx),c=n.dot(Yx),l=r.dot(Yx);if(Math.max(-Math.max(s,c,l),Math.min(s,c,l))>o)return!1}return!0}var Zx=new Ix,Qx=new J,$x=new J,eS=class{constructor(e=new J,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){let n=this.center;t===void 0?Zx.setFromPoints(e).getCenter(n):n.copy(t);let r=0;for(let t=0,i=e.length;tthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius*=e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;Qx.subVectors(e,this.center);let t=Qx.lengthSq();if(t>this.radius*this.radius){let e=Math.sqrt(t),n=(e-this.radius)*.5;this.center.addScaledVector(Qx,n/e),this.radius+=n}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):($x.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(Qx.copy(e.center).add($x)),this.expandByPoint(Qx.copy(e.center).sub($x))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}toJSON(){return{radius:this.radius,center:this.center.toArray()}}fromJSON(e){return this.radius=e.radius,this.center.fromArray(e.center),this}},tS=new J,nS=new J,rS=new J,iS=new J,aS=new J,oS=new J,sS=new J,cS=class{constructor(e=new J,t=new J(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,tS)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);let n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){let t=tS.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(tS.copy(this.origin).addScaledVector(this.direction,t),tS.distanceToSquared(e))}distanceSqToSegment(e,t,n,r){nS.copy(e).add(t).multiplyScalar(.5),rS.copy(t).sub(e).normalize(),iS.copy(this.origin).sub(nS);let i=e.distanceTo(t)*.5,a=-this.direction.dot(rS),o=iS.dot(this.direction),s=-iS.dot(rS),c=iS.lengthSq(),l=Math.abs(1-a*a),u,d,f,p;if(l>0)if(u=a*s-o,d=a*o-s,p=i*l,u>=0)if(d>=-p)if(d<=p){let e=1/l;u*=e,d*=e,f=u*(u+a*d+2*o)+d*(a*u+d+2*s)+c}else d=i,u=Math.max(0,-(a*d+o)),f=-u*u+d*(d+2*s)+c;else d=-i,u=Math.max(0,-(a*d+o)),f=-u*u+d*(d+2*s)+c;else d<=-p?(u=Math.max(0,-(-a*i+o)),d=u>0?-i:Math.min(Math.max(-i,-s),i),f=-u*u+d*(d+2*s)+c):d<=p?(u=0,d=Math.min(Math.max(-i,-s),i),f=d*(d+2*s)+c):(u=Math.max(0,-(a*i+o)),d=u>0?i:Math.min(Math.max(-i,-s),i),f=-u*u+d*(d+2*s)+c);else d=a>0?-i:i,u=Math.max(0,-(a*d+o)),f=-u*u+d*(d+2*s)+c;return n&&n.copy(this.origin).addScaledVector(this.direction,u),r&&r.copy(nS).addScaledVector(rS,d),f}intersectSphere(e,t){tS.subVectors(e.center,this.origin);let n=tS.dot(this.direction),r=tS.dot(tS)-n*n,i=e.radius*e.radius;if(r>i)return null;let a=Math.sqrt(i-r),o=n-a,s=n+a;return s<0?null:o<0?this.at(s,t):this.at(o,t)}intersectsSphere(e){return e.radius<0?!1:this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){let t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;let n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){let n=this.distanceToPlane(e);return n===null?null:this.at(n,t)}intersectsPlane(e){let t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,r,i,a,o,s,c=1/this.direction.x,l=1/this.direction.y,u=1/this.direction.z,d=this.origin;return c>=0?(n=(e.min.x-d.x)*c,r=(e.max.x-d.x)*c):(n=(e.max.x-d.x)*c,r=(e.min.x-d.x)*c),l>=0?(i=(e.min.y-d.y)*l,a=(e.max.y-d.y)*l):(i=(e.max.y-d.y)*l,a=(e.min.y-d.y)*l),n>a||i>r||((i>n||isNaN(n))&&(n=i),(a=0?(o=(e.min.z-d.z)*u,s=(e.max.z-d.z)*u):(o=(e.max.z-d.z)*u,s=(e.min.z-d.z)*u),n>s||o>r)||((o>n||n!==n)&&(n=o),(s=0?n:r,t)}intersectsBox(e){return this.intersectBox(e,tS)!==null}intersectTriangle(e,t,n,r,i){aS.subVectors(t,e),oS.subVectors(n,e),sS.crossVectors(aS,oS);let a=this.direction.dot(sS),o;if(a>0){if(r)return null;o=1}else if(a<0)o=-1,a=-a;else return null;iS.subVectors(this.origin,e);let s=o*this.direction.dot(oS.crossVectors(iS,oS));if(s<0)return null;let c=o*this.direction.dot(aS.cross(iS));if(c<0||s+c>a)return null;let l=-o*iS.dot(sS);return l<0?null:this.at(l/a,i)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}},Y=class e{constructor(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g){e.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],t!==void 0&&this.set(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g)}set(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){let g=this.elements;return g[0]=e,g[4]=t,g[8]=n,g[12]=r,g[1]=i,g[5]=a,g[9]=o,g[13]=s,g[2]=c,g[6]=l,g[10]=u,g[14]=d,g[3]=f,g[7]=p,g[11]=m,g[15]=h,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new e().fromArray(this.elements)}copy(e){let t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this}copyPosition(e){let t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this}setFromMatrix3(e){let t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this}extractRotation(e){let t=this.elements,n=e.elements,r=1/lS.setFromMatrixColumn(e,0).length(),i=1/lS.setFromMatrixColumn(e,1).length(),a=1/lS.setFromMatrixColumn(e,2).length();return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=0,t[4]=n[4]*i,t[5]=n[5]*i,t[6]=n[6]*i,t[7]=0,t[8]=n[8]*a,t[9]=n[9]*a,t[10]=n[10]*a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){let t=this.elements,n=e.x,r=e.y,i=e.z,a=Math.cos(n),o=Math.sin(n),s=Math.cos(r),c=Math.sin(r),l=Math.cos(i),u=Math.sin(i);if(e.order===`XYZ`){let e=a*l,n=a*u,r=o*l,i=o*u;t[0]=s*l,t[4]=-s*u,t[8]=c,t[1]=n+r*c,t[5]=e-i*c,t[9]=-o*s,t[2]=i-e*c,t[6]=r+n*c,t[10]=a*s}else if(e.order===`YXZ`){let e=s*l,n=s*u,r=c*l,i=c*u;t[0]=e+i*o,t[4]=r*o-n,t[8]=a*c,t[1]=a*u,t[5]=a*l,t[9]=-o,t[2]=n*o-r,t[6]=i+e*o,t[10]=a*s}else if(e.order===`ZXY`){let e=s*l,n=s*u,r=c*l,i=c*u;t[0]=e-i*o,t[4]=-a*u,t[8]=r+n*o,t[1]=n+r*o,t[5]=a*l,t[9]=i-e*o,t[2]=-a*c,t[6]=o,t[10]=a*s}else if(e.order===`ZYX`){let e=a*l,n=a*u,r=o*l,i=o*u;t[0]=s*l,t[4]=r*c-n,t[8]=e*c+i,t[1]=s*u,t[5]=i*c+e,t[9]=n*c-r,t[2]=-c,t[6]=o*s,t[10]=a*s}else if(e.order===`YZX`){let e=a*s,n=a*c,r=o*s,i=o*c;t[0]=s*l,t[4]=i-e*u,t[8]=r*u+n,t[1]=u,t[5]=a*l,t[9]=-o*l,t[2]=-c*l,t[6]=n*u+r,t[10]=e-i*u}else if(e.order===`XZY`){let e=a*s,n=a*c,r=o*s,i=o*c;t[0]=s*l,t[4]=-u,t[8]=c*l,t[1]=e*u+i,t[5]=a*l,t[9]=n*u-r,t[2]=r*u-n,t[6]=o*l,t[10]=i*u+e}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(dS,e,fS)}lookAt(e,t,n){let r=this.elements;return hS.subVectors(e,t),hS.lengthSq()===0&&(hS.z=1),hS.normalize(),pS.crossVectors(n,hS),pS.lengthSq()===0&&(Math.abs(n.z)===1?hS.x+=1e-4:hS.z+=1e-4,hS.normalize(),pS.crossVectors(n,hS)),pS.normalize(),mS.crossVectors(hS,pS),r[0]=pS.x,r[4]=mS.x,r[8]=hS.x,r[1]=pS.y,r[5]=mS.y,r[9]=hS.y,r[2]=pS.z,r[6]=mS.z,r[10]=hS.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let n=e.elements,r=t.elements,i=this.elements,a=n[0],o=n[4],s=n[8],c=n[12],l=n[1],u=n[5],d=n[9],f=n[13],p=n[2],m=n[6],h=n[10],g=n[14],_=n[3],v=n[7],y=n[11],b=n[15],x=r[0],S=r[4],C=r[8],w=r[12],T=r[1],E=r[5],D=r[9],O=r[13],k=r[2],A=r[6],j=r[10],M=r[14],N=r[3],P=r[7],F=r[11],ee=r[15];return i[0]=a*x+o*T+s*k+c*N,i[4]=a*S+o*E+s*A+c*P,i[8]=a*C+o*D+s*j+c*F,i[12]=a*w+o*O+s*M+c*ee,i[1]=l*x+u*T+d*k+f*N,i[5]=l*S+u*E+d*A+f*P,i[9]=l*C+u*D+d*j+f*F,i[13]=l*w+u*O+d*M+f*ee,i[2]=p*x+m*T+h*k+g*N,i[6]=p*S+m*E+h*A+g*P,i[10]=p*C+m*D+h*j+g*F,i[14]=p*w+m*O+h*M+g*ee,i[3]=_*x+v*T+y*k+b*N,i[7]=_*S+v*E+y*A+b*P,i[11]=_*C+v*D+y*j+b*F,i[15]=_*w+v*O+y*M+b*ee,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){let e=this.elements,t=e[0],n=e[4],r=e[8],i=e[12],a=e[1],o=e[5],s=e[9],c=e[13],l=e[2],u=e[6],d=e[10],f=e[14],p=e[3],m=e[7],h=e[11],g=e[15];return p*(+i*s*u-r*c*u-i*o*d+n*c*d+r*o*f-n*s*f)+m*(+t*s*f-t*c*d+i*a*d-r*a*f+r*c*l-i*s*l)+h*(+t*c*u-t*o*f-i*a*u+n*a*f+i*o*l-n*c*l)+g*(-r*o*l-t*s*u+t*o*d+r*a*u-n*a*d+n*s*l)}transpose(){let e=this.elements,t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,n){let r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=n),this}invert(){let e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],o=e[5],s=e[6],c=e[7],l=e[8],u=e[9],d=e[10],f=e[11],p=e[12],m=e[13],h=e[14],g=e[15],_=u*h*c-m*d*c+m*s*f-o*h*f-u*s*g+o*d*g,v=p*d*c-l*h*c-p*s*f+a*h*f+l*s*g-a*d*g,y=l*m*c-p*u*c+p*o*f-a*m*f-l*o*g+a*u*g,b=p*u*s-l*m*s-p*o*d+a*m*d+l*o*h-a*u*h,x=t*_+n*v+r*y+i*b;if(x===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);let S=1/x;return e[0]=_*S,e[1]=(m*d*i-u*h*i-m*r*f+n*h*f+u*r*g-n*d*g)*S,e[2]=(o*h*i-m*s*i+m*r*c-n*h*c-o*r*g+n*s*g)*S,e[3]=(u*s*i-o*d*i-u*r*c+n*d*c+o*r*f-n*s*f)*S,e[4]=v*S,e[5]=(l*h*i-p*d*i+p*r*f-t*h*f-l*r*g+t*d*g)*S,e[6]=(p*s*i-a*h*i-p*r*c+t*h*c+a*r*g-t*s*g)*S,e[7]=(a*d*i-l*s*i+l*r*c-t*d*c-a*r*f+t*s*f)*S,e[8]=y*S,e[9]=(p*u*i-l*m*i-p*n*f+t*m*f+l*n*g-t*u*g)*S,e[10]=(a*m*i-p*o*i+p*n*c-t*m*c-a*n*g+t*o*g)*S,e[11]=(l*o*i-a*u*i-l*n*c+t*u*c+a*n*f-t*o*f)*S,e[12]=b*S,e[13]=(l*m*r-p*u*r+p*n*d-t*m*d-l*n*h+t*u*h)*S,e[14]=(p*o*r-a*m*r-p*n*s+t*m*s+a*n*h-t*o*h)*S,e[15]=(a*u*r-l*o*r+l*n*s-t*u*s-a*n*d+t*o*d)*S,this}scale(e){let t=this.elements,n=e.x,r=e.y,i=e.z;return t[0]*=n,t[4]*=r,t[8]*=i,t[1]*=n,t[5]*=r,t[9]*=i,t[2]*=n,t[6]*=r,t[10]*=i,t[3]*=n,t[7]*=r,t[11]*=i,this}getMaxScaleOnAxis(){let e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,r))}makeTranslation(e,t,n){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this}makeRotationX(e){let t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){let n=Math.cos(t),r=Math.sin(t),i=1-n,a=e.x,o=e.y,s=e.z,c=i*a,l=i*o;return this.set(c*a+n,c*o-r*s,c*s+r*o,0,c*o+r*s,l*o+n,l*s-r*a,0,c*s-r*o,l*s+r*a,i*s*s+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,r,i,a){return this.set(1,n,i,0,e,1,a,0,t,r,1,0,0,0,0,1),this}compose(e,t,n){let r=this.elements,i=t._x,a=t._y,o=t._z,s=t._w,c=i+i,l=a+a,u=o+o,d=i*c,f=i*l,p=i*u,m=a*l,h=a*u,g=o*u,_=s*c,v=s*l,y=s*u,b=n.x,x=n.y,S=n.z;return r[0]=(1-(m+g))*b,r[1]=(f+y)*b,r[2]=(p-v)*b,r[3]=0,r[4]=(f-y)*x,r[5]=(1-(d+g))*x,r[6]=(h+_)*x,r[7]=0,r[8]=(p+v)*S,r[9]=(h-_)*S,r[10]=(1-(d+m))*S,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,t,n){let r=this.elements,i=lS.set(r[0],r[1],r[2]).length(),a=lS.set(r[4],r[5],r[6]).length(),o=lS.set(r[8],r[9],r[10]).length();this.determinant()<0&&(i=-i),e.x=r[12],e.y=r[13],e.z=r[14],uS.copy(this);let s=1/i,c=1/a,l=1/o;return uS.elements[0]*=s,uS.elements[1]*=s,uS.elements[2]*=s,uS.elements[4]*=c,uS.elements[5]*=c,uS.elements[6]*=c,uS.elements[8]*=l,uS.elements[9]*=l,uS.elements[10]*=l,t.setFromRotationMatrix(uS),n.x=i,n.y=a,n.z=o,this}makePerspective(e,t,n,r,i,a,o=Ob){let s=this.elements,c=2*i/(t-e),l=2*i/(n-r),u=(t+e)/(t-e),d=(n+r)/(n-r),f,p;if(o===2e3)f=-(a+i)/(a-i),p=-2*a*i/(a-i);else if(o===2001)f=-a/(a-i),p=-a*i/(a-i);else throw Error(`THREE.Matrix4.makePerspective(): Invalid coordinate system: `+o);return s[0]=c,s[4]=0,s[8]=u,s[12]=0,s[1]=0,s[5]=l,s[9]=d,s[13]=0,s[2]=0,s[6]=0,s[10]=f,s[14]=p,s[3]=0,s[7]=0,s[11]=-1,s[15]=0,this}makeOrthographic(e,t,n,r,i,a,o=Ob){let s=this.elements,c=1/(t-e),l=1/(n-r),u=1/(a-i),d=(t+e)*c,f=(n+r)*l,p,m;if(o===2e3)p=(a+i)*u,m=-2*u;else if(o===2001)p=i*u,m=-1*u;else throw Error(`THREE.Matrix4.makeOrthographic(): Invalid coordinate system: `+o);return s[0]=2*c,s[4]=0,s[8]=0,s[12]=-d,s[1]=0,s[5]=2*l,s[9]=0,s[13]=-f,s[2]=0,s[6]=0,s[10]=m,s[14]=-p,s[3]=0,s[7]=0,s[11]=0,s[15]=1,this}equals(e){let t=this.elements,n=e.elements;for(let e=0;e<16;e++)if(t[e]!==n[e])return!1;return!0}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){let n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}},lS=new J,uS=new Y,dS=new J(0,0,0),fS=new J(1,1,1),pS=new J,mS=new J,hS=new J,gS=new Y,_S=new ix,vS=class e{constructor(t=0,n=0,r=0,i=e.DEFAULT_ORDER){this.isEuler=!0,this._x=t,this._y=n,this._z=r,this._order=i}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,n,r=this._order){return this._x=e,this._y=t,this._z=n,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,n=!0){let r=e.elements,i=r[0],a=r[4],o=r[8],s=r[1],c=r[5],l=r[9],u=r[2],d=r[6],f=r[10];switch(t){case`XYZ`:this._y=Math.asin(Fb(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-l,f),this._z=Math.atan2(-a,i)):(this._x=Math.atan2(d,c),this._z=0);break;case`YXZ`:this._x=Math.asin(-Fb(l,-1,1)),Math.abs(l)<.9999999?(this._y=Math.atan2(o,f),this._z=Math.atan2(s,c)):(this._y=Math.atan2(-u,i),this._z=0);break;case`ZXY`:this._x=Math.asin(Fb(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-u,f),this._z=Math.atan2(-a,c)):(this._y=0,this._z=Math.atan2(s,i));break;case`ZYX`:this._y=Math.asin(-Fb(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(d,f),this._z=Math.atan2(s,i)):(this._x=0,this._z=Math.atan2(-a,c));break;case`YZX`:this._z=Math.asin(Fb(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-l,c),this._y=Math.atan2(-u,i)):(this._x=0,this._y=Math.atan2(o,f));break;case`XZY`:this._z=Math.asin(-Fb(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(d,c),this._y=Math.atan2(o,i)):(this._x=Math.atan2(-l,f),this._y=0);break;default:console.warn(`THREE.Euler: .setFromRotationMatrix() encountered an unknown order: `+t)}return this._order=t,n===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return gS.makeRotationFromQuaternion(e),this.setFromRotationMatrix(gS,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return _S.setFromEuler(this),this.setFromQuaternion(_S,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}};vS.DEFAULT_ORDER=`XYZ`;var yS=class{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let e=0;e1){for(let e=0;e0&&(r.userData=this.userData),r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),r.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(r.matrixAutoUpdate=!1),this.isInstancedMesh&&(r.type=`InstancedMesh`,r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(r.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(r.type=`BatchedMesh`,r.perObjectFrustumCulled=this.perObjectFrustumCulled,r.sortObjects=this.sortObjects,r.drawRanges=this._drawRanges,r.reservedRanges=this._reservedRanges,r.geometryInfo=this._geometryInfo.map(e=>({...e,boundingBox:e.boundingBox?e.boundingBox.toJSON():void 0,boundingSphere:e.boundingSphere?e.boundingSphere.toJSON():void 0})),r.instanceInfo=this._instanceInfo.map(e=>({...e})),r.availableInstanceIds=this._availableInstanceIds.slice(),r.availableGeometryIds=this._availableGeometryIds.slice(),r.nextIndexStart=this._nextIndexStart,r.nextVertexStart=this._nextVertexStart,r.geometryCount=this._geometryCount,r.maxInstanceCount=this._maxInstanceCount,r.maxVertexCount=this._maxVertexCount,r.maxIndexCount=this._maxIndexCount,r.geometryInitialized=this._geometryInitialized,r.matricesTexture=this._matricesTexture.toJSON(e),r.indirectTexture=this._indirectTexture.toJSON(e),this._colorsTexture!==null&&(r.colorsTexture=this._colorsTexture.toJSON(e)),this.boundingSphere!==null&&(r.boundingSphere=this.boundingSphere.toJSON()),this.boundingBox!==null&&(r.boundingBox=this.boundingBox.toJSON()));function i(t,n){return t[n.uuid]===void 0&&(t[n.uuid]=n.toJSON(e)),n.uuid}if(this.isScene)this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(r.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){r.geometry=i(e.geometries,this.geometry);let t=this.geometry.parameters;if(t!==void 0&&t.shapes!==void 0){let n=t.shapes;if(Array.isArray(n))for(let t=0,r=n.length;t0){r.children=[];for(let t=0;t0){r.animations=[];for(let t=0;t0&&(n.geometries=t),r.length>0&&(n.materials=r),i.length>0&&(n.textures=i),o.length>0&&(n.images=o),s.length>0&&(n.shapes=s),c.length>0&&(n.skeletons=c),l.length>0&&(n.animations=l),u.length>0&&(n.nodes=u)}return n.object=r,n;function a(e){let t=[];for(let n in e){let r=e[n];delete r.metadata,t.push(r)}return t}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let t=0;t0?r.multiplyScalar(1/Math.sqrt(i)):r.set(0,0,0)}static getBarycoord(e,t,n,r,i){IS.subVectors(r,t),LS.subVectors(n,t),RS.subVectors(e,t);let a=IS.dot(IS),o=IS.dot(LS),s=IS.dot(RS),c=LS.dot(LS),l=LS.dot(RS),u=a*c-o*o;if(u===0)return i.set(0,0,0),null;let d=1/u,f=(c*s-o*l)*d,p=(a*l-o*s)*d;return i.set(1-f-p,p,f)}static containsPoint(e,t,n,r){return this.getBarycoord(e,t,n,r,zS)===null?!1:zS.x>=0&&zS.y>=0&&zS.x+zS.y<=1}static getInterpolation(e,t,n,r,i,a,o,s){return this.getBarycoord(e,t,n,r,zS)===null?(s.x=0,s.y=0,`z`in s&&(s.z=0),`w`in s&&(s.w=0),null):(s.setScalar(0),s.addScaledVector(i,zS.x),s.addScaledVector(a,zS.y),s.addScaledVector(o,zS.z),s)}static getInterpolatedAttribute(e,t,n,r,i,a){return KS.setScalar(0),qS.setScalar(0),JS.setScalar(0),KS.fromBufferAttribute(e,t),qS.fromBufferAttribute(e,n),JS.fromBufferAttribute(e,r),a.setScalar(0),a.addScaledVector(KS,i.x),a.addScaledVector(qS,i.y),a.addScaledVector(JS,i.z),a}static isFrontFacing(e,t,n,r){return IS.subVectors(n,t),LS.subVectors(e,t),IS.cross(LS).dot(r)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,r){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,t,n,r){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),this.c.fromBufferAttribute(e,r),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return IS.subVectors(this.c,this.b),LS.subVectors(this.a,this.b),IS.cross(LS).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return e.getNormal(this.a,this.b,this.c,t)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,n){return e.getBarycoord(t,this.a,this.b,this.c,n)}getInterpolation(t,n,r,i,a){return e.getInterpolation(t,this.a,this.b,this.c,n,r,i,a)}containsPoint(t){return e.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return e.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){let n=this.a,r=this.b,i=this.c,a,o;BS.subVectors(r,n),VS.subVectors(i,n),US.subVectors(e,n);let s=BS.dot(US),c=VS.dot(US);if(s<=0&&c<=0)return t.copy(n);WS.subVectors(e,r);let l=BS.dot(WS),u=VS.dot(WS);if(l>=0&&u<=l)return t.copy(r);let d=s*u-l*c;if(d<=0&&s>=0&&l<=0)return a=s/(s-l),t.copy(n).addScaledVector(BS,a);GS.subVectors(e,i);let f=BS.dot(GS),p=VS.dot(GS);if(p>=0&&f<=p)return t.copy(i);let m=f*c-s*p;if(m<=0&&c>=0&&p<=0)return o=c/(c-p),t.copy(n).addScaledVector(VS,o);let h=l*p-f*u;if(h<=0&&u-l>=0&&f-p>=0)return HS.subVectors(i,r),o=(u-l)/(u-l+(f-p)),t.copy(r).addScaledVector(HS,o);let g=1/(h+m+d);return a=m*g,o=d*g,t.copy(n).addScaledVector(BS,a).addScaledVector(VS,o)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}},XS={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},ZS={h:0,s:0,l:0},QS={h:0,s:0,l:0};function $S(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*6*(2/3-n):e}var X=class{constructor(e,t,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,n)}set(e,t,n){if(t===void 0&&n===void 0){let t=e;t&&t.isColor?this.copy(t):typeof t==`number`?this.setHex(t):typeof t==`string`&&this.setStyle(t)}else this.setRGB(e,t,n);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=Sb){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,bx.colorSpaceToWorking(this,t),this}setRGB(e,t,n,r=bx.workingColorSpace){return this.r=e,this.g=t,this.b=n,bx.colorSpaceToWorking(this,r),this}setHSL(e,t,n,r=bx.workingColorSpace){if(e=Ib(e,1),t=Fb(t,0,1),n=Fb(n,0,1),t===0)this.r=this.g=this.b=n;else{let r=n<=.5?n*(1+t):n+t-n*t,i=2*n-r;this.r=$S(i,r,e+1/3),this.g=$S(i,r,e),this.b=$S(i,r,e-1/3)}return bx.colorSpaceToWorking(this,r),this}setStyle(e,t=Sb){function n(t){t!==void 0&&parseFloat(t)<1&&console.warn(`THREE.Color: Alpha component of `+e+` will be ignored.`)}let r;if(r=/^(\w+)\(([^\)]*)\)/.exec(e)){let i,a=r[1],o=r[2];switch(a){case`rgb`:case`rgba`:if(i=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(i[4]),this.setRGB(Math.min(255,parseInt(i[1],10))/255,Math.min(255,parseInt(i[2],10))/255,Math.min(255,parseInt(i[3],10))/255,t);if(i=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(i[4]),this.setRGB(Math.min(100,parseInt(i[1],10))/100,Math.min(100,parseInt(i[2],10))/100,Math.min(100,parseInt(i[3],10))/100,t);break;case`hsl`:case`hsla`:if(i=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(i[4]),this.setHSL(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,t);break;default:console.warn(`THREE.Color: Unknown color model `+e)}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(e)){let n=r[1],i=n.length;if(i===3)return this.setRGB(parseInt(n.charAt(0),16)/15,parseInt(n.charAt(1),16)/15,parseInt(n.charAt(2),16)/15,t);if(i===6)return this.setHex(parseInt(n,16),t);console.warn(`THREE.Color: Invalid hex color `+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=Sb){let n=XS[e.toLowerCase()];return n===void 0?console.warn(`THREE.Color: Unknown color `+e):this.setHex(n,t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=xx(e.r),this.g=xx(e.g),this.b=xx(e.b),this}copyLinearToSRGB(e){return this.r=Sx(e.r),this.g=Sx(e.g),this.b=Sx(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Sb){return bx.workingToColorSpace(eC.copy(this),e),Math.round(Fb(eC.r*255,0,255))*65536+Math.round(Fb(eC.g*255,0,255))*256+Math.round(Fb(eC.b*255,0,255))}getHexString(e=Sb){return(`000000`+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=bx.workingColorSpace){bx.workingToColorSpace(eC.copy(this),t);let n=eC.r,r=eC.g,i=eC.b,a=Math.max(n,r,i),o=Math.min(n,r,i),s,c,l=(o+a)/2;if(o===a)s=0,c=0;else{let e=a-o;switch(c=l<=.5?e/(a+o):e/(2-a-o),a){case n:s=(r-i)/e+(r0!=e>0&&this.version++,this._alphaTest=e}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(let t in e){let n=e[t];if(n===void 0){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}let r=this[t];if(r===void 0){console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(n):r&&r.isVector3&&n&&n.isVector3?r.copy(n):this[t]=n}}toJSON(e){let t=e===void 0||typeof e==`string`;t&&(e={textures:{},images:{}});let n={metadata:{version:4.7,type:`Material`,generator:`Material.toJSON`}};n.uuid=this.uuid,n.type=this.type,this.name!==``&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),this.roughness!==void 0&&(n.roughness=this.roughness),this.metalness!==void 0&&(n.metalness=this.metalness),this.sheen!==void 0&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(n.shininess=this.shininess),this.clearcoat!==void 0&&(n.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.dispersion!==void 0&&(n.dispersion=this.dispersion),this.iridescence!==void 0&&(n.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(n.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(n.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(n.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(n.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(n.combine=this.combine)),this.envMapRotation!==void 0&&(n.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(n.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(n.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(n.size=this.size),this.shadowSide!==null&&(n.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==1&&(n.blending=this.blending),this.side!==0&&(n.side=this.side),this.vertexColors===!0&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.transparent===!0&&(n.transparent=!0),this.blendSrc!==204&&(n.blendSrc=this.blendSrc),this.blendDst!==205&&(n.blendDst=this.blendDst),this.blendEquation!==100&&(n.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(n.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(n.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(n.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(n.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(n.blendAlpha=this.blendAlpha),this.depthFunc!==3&&(n.depthFunc=this.depthFunc),this.depthTest===!1&&(n.depthTest=this.depthTest),this.depthWrite===!1&&(n.depthWrite=this.depthWrite),this.colorWrite===!1&&(n.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(n.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==519&&(n.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(n.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(n.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==7680&&(n.stencilFail=this.stencilFail),this.stencilZFail!==7680&&(n.stencilZFail=this.stencilZFail),this.stencilZPass!==7680&&(n.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(n.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(n.rotation=this.rotation),this.polygonOffset===!0&&(n.polygonOffset=!0),this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(n.linewidth=this.linewidth),this.dashSize!==void 0&&(n.dashSize=this.dashSize),this.gapSize!==void 0&&(n.gapSize=this.gapSize),this.scale!==void 0&&(n.scale=this.scale),this.dithering===!0&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),this.alphaHash===!0&&(n.alphaHash=!0),this.alphaToCoverage===!0&&(n.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=!0),this.forceSinglePass===!0&&(n.forceSinglePass=!0),this.wireframe===!0&&(n.wireframe=!0),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!==`round`&&(n.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!==`round`&&(n.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(n.flatShading=!0),this.visible===!1&&(n.visible=!1),this.toneMapped===!1&&(n.toneMapped=!1),this.fog===!1&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData);function r(e){let t=[];for(let n in e){let r=e[n];delete r.metadata,t.push(r)}return t}if(t){let t=r(e.textures),i=r(e.images);t.length>0&&(n.textures=t),i.length>0&&(n.images=i)}return n}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;let t=e.clippingPlanes,n=null;if(t!==null){let e=t.length;n=Array(e);for(let r=0;r!==e;++r)n[r]=t[r].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:`dispose`})}set needsUpdate(e){e===!0&&this.version++}},rC=class extends nC{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type=`MeshBasicMaterial`,this.color=new X(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new vS,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=`round`,this.wireframeLinejoin=`round`,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}},iC=new J,aC=new rx,oC=0,sC=class{constructor(e,t,n=!1){if(Array.isArray(e))throw TypeError(`THREE.BufferAttribute: array should be a Typed Array.`);this.isBufferAttribute=!0,Object.defineProperty(this,"id",{value:oC++}),this.name=``,this.array=e,this.itemSize=t,this.count=e===void 0?0:e.length/t,this.normalized=n,this.usage=Db,this.updateRanges=[],this.gpuType=yy,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,t,n){e*=this.itemSize,n*=t.itemSize;for(let r=0,i=this.itemSize;rt.count&&console.warn(`THREE.BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry.`),t.needsUpdate=!0}return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Ix);let e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error(`THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.`,this),this.boundingBox.set(new J(-1/0,-1/0,-1/0),new J(1/0,1/0,1/0));return}if(e!==void 0){if(this.boundingBox.setFromBufferAttribute(e),t)for(let e=0,n=t.length;e0&&(e.userData=this.userData),this.parameters!==void 0){let t=this.parameters;for(let n in t)t[n]!==void 0&&(e[n]=t[n]);return e}e.data={attributes:{}};let t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});let n=this.attributes;for(let t in n){let r=n[t];e.data.attributes[t]=r.toJSON(e.data)}let r={},i=!1;for(let t in this.morphAttributes){let n=this.morphAttributes[t],a=[];for(let t=0,r=n.length;t0&&(r[t]=a,i=!0)}i&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);let a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));let o=this.boundingSphere;return o!==null&&(e.data.boundingSphere=o.toJSON()),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;let t={};this.name=e.name;let n=e.index;n!==null&&this.setIndex(n.clone());let r=e.attributes;for(let e in r){let n=r[e];this.setAttribute(e,n.clone(t))}let i=e.morphAttributes;for(let e in i){let n=[],r=i[e];for(let e=0,i=r.length;e0){let n=e[t[0]];if(n!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;e(e.far-e.near)**2))&&(yC.copy(i).invert(),bC.copy(e.ray).applyMatrix4(yC),!(n.boundingBox!==null&&bC.intersectsBox(n.boundingBox)===!1)&&this._computeIntersections(e,t,bC)))}_computeIntersections(e,t,n){let r,i=this.geometry,a=this.material,o=i.index,s=i.attributes.position,c=i.attributes.uv,l=i.attributes.uv1,u=i.attributes.normal,d=i.groups,f=i.drawRange;if(o!==null)if(Array.isArray(a))for(let i=0,s=d.length;in.far?null:{distance:l,point:kC.clone(),object:e}}function MC(e,t,n,r,i,a,o,s,c,l){e.getVertexPosition(s,CC),e.getVertexPosition(c,wC),e.getVertexPosition(l,TC);let u=jC(e,t,n,r,CC,wC,TC,OC);if(u){let e=new J;YS.getBarycoord(OC,CC,wC,TC,e),i&&(u.uv=YS.getInterpolatedAttribute(i,s,c,l,e,new rx)),a&&(u.uv1=YS.getInterpolatedAttribute(a,s,c,l,e,new rx)),o&&(u.normal=YS.getInterpolatedAttribute(o,s,c,l,e,new J),u.normal.dot(r.direction)>0&&u.normal.multiplyScalar(-1));let t={a:s,b:c,c:l,normal:new J,materialIndex:0};YS.getNormal(CC,wC,TC,t.normal),u.face=t,u.barycoord=e}return u}var NC=class e extends vC{constructor(e=1,t=1,n=1,r=1,i=1,a=1){super(),this.type=`BoxGeometry`,this.parameters={width:e,height:t,depth:n,widthSegments:r,heightSegments:i,depthSegments:a};let o=this;r=Math.floor(r),i=Math.floor(i),a=Math.floor(a);let s=[],c=[],l=[],u=[],d=0,f=0;p(`z`,`y`,`x`,-1,-1,n,t,e,a,i,0),p(`z`,`y`,`x`,1,-1,n,t,-e,a,i,1),p(`x`,`z`,`y`,1,1,e,n,t,r,a,2),p(`x`,`z`,`y`,1,-1,e,n,-t,r,a,3),p(`x`,`y`,`z`,1,-1,e,t,n,r,i,4),p(`x`,`y`,`z`,-1,-1,e,t,-n,r,i,5),this.setIndex(s),this.setAttribute(`position`,new uC(c,3)),this.setAttribute(`normal`,new uC(l,3)),this.setAttribute(`uv`,new uC(u,2));function p(e,t,n,r,i,a,p,m,h,g,_){let v=a/h,y=p/g,b=a/2,x=p/2,S=m/2,C=h+1,w=g+1,T=0,E=0,D=new J;for(let a=0;a0?1:-1,l.push(D.x,D.y,D.z),u.push(s/h),u.push(1-a/g),T+=1}for(let e=0;e{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},fu=`DialogDescriptionWarning`,pu=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${uu(fu).contentName}}.`;return _.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},mu=zl,hu=Vl,gu=Gl,_u=ql,vu=Zl,yu=nu,bu=iu,xu=ou,Su=mu,Cu=gu,wu=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(_u,{ref:n,className:G(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...t}));wu.displayName=_u.displayName;var Tu=_.forwardRef(({className:e,children:t,hideClose:n,...r},i)=>(0,V.jsxs)(Cu,{children:[(0,V.jsx)(wu,{}),(0,V.jsxs)(vu,{ref:i,className:G(`fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg`,e),...r,children:[t,!n&&(0,V.jsxs)(xu,{className:`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground`,children:[(0,V.jsx)(ho,{className:`h-4 w-4`}),(0,V.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]}));Tu.displayName=vu.displayName;var Eu=({className:e,...t})=>(0,V.jsx)(`div`,{className:G(`flex flex-col space-y-1.5 text-center sm:text-left`,e),...t});Eu.displayName=`DialogHeader`;var Du=({className:e,...t})=>(0,V.jsx)(`div`,{className:G(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,e),...t});Du.displayName=`DialogFooter`;var Ou=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(yu,{ref:n,className:G(`text-lg font-semibold leading-none tracking-tight`,e),...t}));Ou.displayName=yu.displayName;var ku=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(bu,{ref:n,className:G(`text-sm text-muted-foreground`,e),...t}));ku.displayName=bu.displayName;var Au=({open:e,onOpenChange:t})=>{let{auth:n,refetch:r}=Hs(),[i,a]=(0,_.useState)(!1),[o,s]=(0,_.useState)(!1);return n.status===`unauthenticated`?(0,V.jsx)(Su,{open:e,onOpenChange:t,children:(0,V.jsxs)(Tu,{className:`bg-gray-900 border-gray-800 text-white`,children:[(0,V.jsxs)(Eu,{children:[(0,V.jsx)(Ou,{className:`text-amber-200`,children:`Hugging Face CLI not configured`}),(0,V.jsx)(ku,{className:`text-gray-400`,children:`Uploads, training, and replay-from-Hub require a logged-in HF CLI. Run this in a terminal:`})]}),(0,V.jsxs)(`pre`,{className:`bg-gray-950 p-3 rounded border border-gray-700 text-xs sm:text-sm overflow-x-auto flex items-center justify-between gap-2`,children:[(0,V.jsx)(`code`,{className:`text-green-400`,children:n.loginCommand}),(0,V.jsx)(`button`,{type:`button`,onClick:async()=>{try{await navigator.clipboard.writeText(n.loginCommand),a(!0),setTimeout(()=>a(!1),1500)}catch(e){console.warn(`Clipboard write failed:`,e)}},className:`flex-shrink-0 text-gray-400 hover:text-gray-200 transition-colors`,"aria-label":`Copy command`,children:i?(0,V.jsx)(Da,{className:`w-4 h-4 text-green-400`}):(0,V.jsx)(za,{className:`w-4 h-4`})})]}),(0,V.jsxs)(K,{variant:`outline`,size:`sm`,onClick:async()=>{s(!0);try{await r()}finally{s(!1)}},disabled:o,className:`border-amber-700 bg-transparent text-amber-100 hover:bg-amber-900/40 hover:text-amber-50`,children:[(0,V.jsx)($a,{className:`w-4 h-4 mr-2 ${o?`animate-spin`:``}`}),`I've logged in — recheck`]})]})}):null},ju=()=>{let{auth:e}=Hs(),[t,n]=(0,_.useState)(!1);return e.status===`loading`?(0,V.jsxs)(`div`,{className:`inline-flex items-center gap-2 rounded-full border border-gray-800 bg-gray-900/60 px-3 py-1 text-xs text-gray-400`,children:[(0,V.jsx)(Ja,{className:`w-3 h-3 animate-spin`}),(0,V.jsx)(`span`,{children:`Checking HF…`})]}):e.status===`authenticated`?(0,V.jsxs)(`div`,{className:`inline-flex items-center gap-2 rounded-full border border-gray-800 bg-gray-900/60 px-3 py-1 text-xs text-gray-200`,title:`Hugging Face authenticated`,children:[(0,V.jsx)(`span`,{className:`h-2 w-2 rounded-full bg-emerald-400`,"aria-hidden":`true`}),(0,V.jsx)(`span`,{children:e.username})]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`button`,{type:`button`,onClick:()=>n(!0),className:`inline-flex items-center gap-2 rounded-full border border-amber-700/60 bg-amber-950/40 px-3 py-1 text-xs text-amber-100 hover:bg-amber-900/40 transition-colors`,"aria-label":`Hugging Face not configured — show login instructions`,children:[(0,V.jsx)(`span`,{className:`h-2 w-2 rounded-full bg-amber-400`,"aria-hidden":`true`}),(0,V.jsx)(`span`,{children:`HF not configured`})]}),(0,V.jsx)(Au,{open:t,onOpenChange:n})]})},Mu=()=>(0,V.jsx)(`header`,{className:`sticky top-0 z-30 w-full border-b border-gray-800 bg-black/95 backdrop-blur supports-[backdrop-filter]:bg-black/70`,children:(0,V.jsxs)(`div`,{className:`mx-auto flex h-12 max-w-7xl items-center justify-between px-4`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`img`,{src:`/lovable-uploads/5e648747-34b7-4d8f-93fd-4dbd00aeeefc.png`,alt:`LeLab`,className:`h-7 w-7`}),(0,V.jsx)(`span`,{className:`text-base font-semibold tracking-tight text-white`,children:`LeLab`})]}),(0,V.jsx)(ju,{})]})}),Nu=[{href:`https://github.com/huggingface/lerobot`,label:`GitHub`,Icon:qa},{href:`https://huggingface.co/docs/lerobot`,label:`Documentation`,Icon:Ta},{href:`https://discord.com/invite/s3KuuzsPFb`,label:`Discord`,Icon:({className:e})=>(0,V.jsx)(`svg`,{role:`img`,viewBox:`0 0 24 24`,xmlns:`http://www.w3.org/2000/svg`,fill:`currentColor`,className:e,children:(0,V.jsx)(`path`,{d:`M20.317 4.369A19.79 19.79 0 0 0 16.558 3.2a.07.07 0 0 0-.074.035c-.211.375-.444.864-.608 1.249a18.27 18.27 0 0 0-5.487 0 12.51 12.51 0 0 0-.617-1.249.077.077 0 0 0-.074-.035 19.736 19.736 0 0 0-3.76 1.169.07.07 0 0 0-.032.027C2.533 8.046 1.79 11.624 2.155 15.157a.082.082 0 0 0 .031.056 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.027c.462-.63.873-1.295 1.226-1.994a.076.076 0 0 0-.041-.105 13.13 13.13 0 0 1-1.873-.892.077.077 0 0 1-.008-.128c.126-.094.252-.192.372-.291a.074.074 0 0 1 .077-.01c3.927 1.793 8.18 1.793 12.061 0a.074.074 0 0 1 .078.009c.12.099.246.198.373.292a.077.077 0 0 1-.006.128 12.32 12.32 0 0 1-1.873.891.077.077 0 0 0-.04.106c.36.698.772 1.363 1.225 1.993a.076.076 0 0 0 .084.028 19.84 19.84 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-4.087-.838-7.636-3.548-10.787a.061.061 0 0 0-.031-.028zM8.02 12.997c-1.182 0-2.156-1.085-2.156-2.419 0-1.333.955-2.419 2.156-2.419 1.21 0 2.175 1.095 2.156 2.42 0 1.333-.955 2.418-2.156 2.418zm7.974 0c-1.182 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.175 1.095 2.156 2.42 0 1.333-.946 2.418-2.156 2.418z`})})}],Pu=()=>(0,V.jsx)(`footer`,{className:`fixed inset-x-0 bottom-0 z-30 border-t border-gray-800 bg-black/95`,children:(0,V.jsxs)(`div`,{className:`mx-auto flex max-w-7xl flex-col items-center justify-between gap-3 px-4 py-4 text-sm text-gray-400 sm:flex-row`,children:[(0,V.jsxs)(`span`,{children:[`Powered by`,` `,(0,V.jsx)(`a`,{href:`https://github.com/huggingface/lerobot`,target:`_blank`,rel:`noopener noreferrer`,className:`font-medium text-gray-200 hover:text-white`,children:`LeRobot`})]}),(0,V.jsx)(`nav`,{className:`flex items-center gap-4`,children:Nu.map(({href:e,label:t,Icon:n})=>(0,V.jsxs)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-1.5 text-gray-400 hover:text-white`,children:[(0,V.jsx)(n,{className:`h-4 w-4`}),(0,V.jsx)(`span`,{children:t})]},t))})]})}),Fu=[`top`,`right`,`bottom`,`left`],Iu=Math.min,Lu=Math.max,Ru=Math.round,zu=Math.floor,Bu=e=>({x:e,y:e}),eee={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Vu(e,t,n){return Lu(e,Iu(t,n))}function Hu(e,t){return typeof e==`function`?e(t):e}function Uu(e){return e.split(`-`)[0]}function Wu(e){return e.split(`-`)[1]}function Gu(e){return e===`x`?`y`:`x`}function Ku(e){return e===`y`?`height`:`width`}function qu(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Ju(e){return Gu(qu(e))}function Yu(e,t,n){n===void 0&&(n=!1);let r=Wu(e),i=Ju(e),a=Ku(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=id(o)),[o,id(o)]}function Xu(e){let t=id(e);return[Zu(e),t,Zu(t)]}function Zu(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Qu=[`left`,`right`],$u=[`right`,`left`],ed=[`top`,`bottom`],td=[`bottom`,`top`];function nd(e,t,n){switch(e){case`top`:case`bottom`:return n?t?$u:Qu:t?Qu:$u;case`left`:case`right`:return t?ed:td;default:return[]}}function rd(e,t,n,r){let i=Wu(e),a=nd(Uu(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Zu)))),a}function id(e){let t=Uu(e);return eee[t]+e.slice(t.length)}function ad(e){return{top:0,right:0,bottom:0,left:0,...e}}function od(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:ad(e)}function sd(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function cd(e,t,n){let{reference:r,floating:i}=e,a=qu(t),o=Ju(t),s=Ku(o),c=Uu(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Wu(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function ld(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Hu(t,e),p=od(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=sd(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=sd(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var ud=50,dd=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:ld},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=cd(l,r,c),f=r,p=0,m={};for(let n=0;n({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=Hu(e,t)||{};if(l==null)return{};let d=od(u),f={x:n,y:r},p=Ju(i),m=Ku(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=Iu(d[_],T),D=Iu(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=Vu(O,A,k),M=!c.arrow&&Wu(i)!=null&&A!==j&&a.reference[m]/2-(Ae<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==qu(t))||T.every(e=>qu(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=qu(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function md(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function hd(e){return Fu.some(t=>e[t]>=0)}var gd=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=Hu(e,t);switch(i){case`referenceHidden`:{let e=md(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:hd(e)}}}case`escaped`:{let e=md(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:hd(e)}}}default:return{}}}}},_d=new Set([`left`,`top`]);async function vd(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Uu(n),s=Wu(n),c=qu(n)===`y`,l=_d.has(o)?-1:1,u=a&&c?-1:1,d=Hu(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var yd=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await vd(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},bd=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Hu(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=qu(Uu(i)),p=Gu(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=Vu(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=Vu(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},xd=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=Hu(e,t),u={x:n,y:r},d=qu(i),f=Gu(d),p=u[f],m=u[d],h=Hu(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;pn&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=_d.has(Uu(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);mr&&(m=r)}return{[f]:p,[d]:m}}}},Sd=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=Hu(e,t),u=await o.detectOverflow(t,l),d=Uu(i),f=Wu(i),p=qu(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=Iu(h-u[g],v),x=Iu(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=Lu(u.left,0),t=Lu(u.right,0),n=Lu(u.top,0),r=Lu(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:Lu(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:Lu(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function Cd(){return typeof window<`u`}function wd(e){return Dd(e)?(e.nodeName||``).toLowerCase():`#document`}function Td(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Ed(e){return((Dd(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Dd(e){return Cd()?e instanceof Node||e instanceof Td(e).Node:!1}function Od(e){return Cd()?e instanceof Element||e instanceof Td(e).Element:!1}function kd(e){return Cd()?e instanceof HTMLElement||e instanceof Td(e).HTMLElement:!1}function Ad(e){return!Cd()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Td(e).ShadowRoot}function jd(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Hd(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Md(e){return/^(table|td|th)$/.test(wd(e))}function Nd(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Pd=/transform|translate|scale|rotate|perspective|filter/,Fd=/paint|layout|strict|content/,Id=e=>!!e&&e!==`none`,Ld;function Rd(e){let t=Od(e)?Hd(e):e;return Id(t.transform)||Id(t.translate)||Id(t.scale)||Id(t.rotate)||Id(t.perspective)||!Bd()&&(Id(t.backdropFilter)||Id(t.filter))||Pd.test(t.willChange||``)||Fd.test(t.contain||``)}function zd(e){let t=Wd(e);for(;kd(t)&&!Vd(t);){if(Rd(t))return t;if(Nd(t))return null;t=Wd(t)}return null}function Bd(){return Ld??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Ld}function Vd(e){return/^(html|body|#document)$/.test(wd(e))}function Hd(e){return Td(e).getComputedStyle(e)}function Ud(e){return Od(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Wd(e){if(wd(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Ad(e)&&e.host||Ed(e);return Ad(t)?t.host:t}function Gd(e){let t=Wd(e);return Vd(t)?e.ownerDocument?e.ownerDocument.body:e.body:kd(t)&&jd(t)?t:Gd(t)}function Kd(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Gd(e),i=r===e.ownerDocument?.body,a=Td(r);if(i){let e=qd(a);return t.concat(a,a.visualViewport||[],jd(r)?r:[],e&&n?Kd(e):[])}else return t.concat(r,Kd(r,[],n))}function qd(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Jd(e){let t=Hd(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=kd(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Ru(n)!==a||Ru(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Yd(e){return Od(e)?e:e.contextElement}function Xd(e){let t=Yd(e);if(!kd(t))return Bu(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Jd(t),o=(a?Ru(n.width):n.width)/r,s=(a?Ru(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Zd=Bu(0);function Qd(e){let t=Td(e);return!Bd()||!t.visualViewport?Zd:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function $d(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Td(e)?!1:t}function ef(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Yd(e),o=Bu(1);t&&(r?Od(r)&&(o=Xd(r)):o=Xd(e));let s=$d(a,n,r)?Qd(a):Bu(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=Td(a),t=r&&Od(r)?Td(r):r,n=e,i=qd(n);for(;i&&r&&t!==n;){let e=Xd(i),t=i.getBoundingClientRect(),r=Hd(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=Td(i),i=qd(n)}}return sd({width:u,height:d,x:c,y:l})}function tf(e,t){let n=Ud(e).scrollLeft;return t?t.left+n:ef(Ed(e)).left+n}function nf(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-tf(e,n),y:n.top+t.scrollTop}}function rf(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Ed(r),s=t?Nd(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Bu(1),u=Bu(0),d=kd(r);if((d||!d&&!a)&&((wd(r)!==`body`||jd(o))&&(c=Ud(r)),d)){let e=ef(r);l=Xd(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?nf(o,c):Bu(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function af(e){return Array.from(e.getClientRects())}function of(e){let t=Ed(e),n=Ud(e),r=e.ownerDocument.body,i=Lu(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=Lu(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+tf(e),s=-n.scrollTop;return Hd(r).direction===`rtl`&&(o+=Lu(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var sf=25;function cf(e,t){let n=Td(e),r=Ed(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Bd();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=tf(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=sf&&(a-=o)}else l<=sf&&(a+=l);return{width:a,height:o,x:s,y:c}}function lf(e,t){let n=ef(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=kd(e)?Xd(e):Bu(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function uf(e,t,n){let r;if(t===`viewport`)r=cf(e,n);else if(t===`document`)r=of(Ed(e));else if(Od(t))r=lf(t,n);else{let n=Qd(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return sd(r)}function df(e,t){let n=Wd(e);return n===t||!Od(n)||Vd(n)?!1:Hd(n).position===`fixed`||df(n,t)}function ff(e,t){let n=t.get(e);if(n)return n;let r=Kd(e,[],!1).filter(e=>Od(e)&&wd(e)!==`body`),i=null,a=Hd(e).position===`fixed`,o=a?Wd(e):e;for(;Od(o)&&!Vd(o);){let t=Hd(o),n=Rd(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||jd(o)&&!n&&df(e,o))?r=r.filter(e=>e!==o):i=t,o=Wd(o)}return t.set(e,r),r}function pf(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Nd(t)?[]:ff(t,this._c):[].concat(n),r],o=uf(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e{o(!1,1e-7)},1e3)}n===1&&!bf(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function iee(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Yd(e),u=i||a?[...l?Kd(l):[],...t?Kd(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?ree(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?ef(e):null;c&&g();function g(){let t=ef(e);h&&!bf(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var aee=yd,oee=bd,xf=pd,see=Sd,cee=gd,Sf=fd,lee=xd,uee=(e,t,n)=>{let r=new Map,i={platform:nee,...n},a={...i.platform,_c:r};return dd(e,t,{...i,platform:a})},Cf=typeof document<`u`?_.useLayoutEffect:function(){};function wf(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!wf(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!wf(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function Tf(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Ef(e,t){let n=Tf(e);return Math.round(t*n)/n}function Df(e){let t=_.useRef(e);return Cf(()=>{t.current=e}),t}function Of(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=_.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=_.useState(r);wf(f,r)||p(r);let[m,h]=_.useState(null),[g,y]=_.useState(null),b=_.useCallback(e=>{e!==w.current&&(w.current=e,h(e))},[]),x=_.useCallback(e=>{e!==T.current&&(T.current=e,y(e))},[]),S=a||m,C=o||g,w=_.useRef(null),T=_.useRef(null),E=_.useRef(u),D=c!=null,O=Df(c),k=Df(i),A=Df(l),j=_.useCallback(()=>{if(!w.current||!T.current)return;let e={placement:t,strategy:n,middleware:f};k.current&&(e.platform=k.current),uee(w.current,T.current,e).then(e=>{let t={...e,isPositioned:A.current!==!1};M.current&&!wf(E.current,t)&&(E.current=t,v.flushSync(()=>{d(t)}))})},[f,t,n,k,A]);Cf(()=>{l===!1&&E.current.isPositioned&&(E.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let M=_.useRef(!1);Cf(()=>(M.current=!0,()=>{M.current=!1}),[]),Cf(()=>{if(S&&(w.current=S),C&&(T.current=C),S&&C){if(O.current)return O.current(S,C,j);j()}},[S,C,j,O,D]);let N=_.useMemo(()=>({reference:w,floating:T,setReference:b,setFloating:x}),[b,x]),P=_.useMemo(()=>({reference:S,floating:C}),[S,C]),F=_.useMemo(()=>{let e={position:n,left:0,top:0};if(!P.floating)return e;let t=Ef(P.floating,u.x),r=Ef(P.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...Tf(P.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,P.floating,u.x,u.y]);return _.useMemo(()=>({...u,update:j,refs:N,elements:P,floatingStyles:F}),[u,j,N,P,F])}var kf=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:Sf({element:r.current,padding:i}).fn(n):r?Sf({element:r,padding:i}).fn(n):{}}}},Af=(e,t)=>{let n=aee(e);return{name:n.name,fn:n.fn,options:[e,t]}},jf=(e,t)=>{let n=oee(e);return{name:n.name,fn:n.fn,options:[e,t]}},Mf=(e,t)=>({fn:lee(e).fn,options:[e,t]}),Nf=(e,t)=>{let n=xf(e);return{name:n.name,fn:n.fn,options:[e,t]}},Pf=(e,t)=>{let n=see(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ff=(e,t)=>{let n=cee(e);return{name:n.name,fn:n.fn,options:[e,t]}},If=(e,t)=>{let n=kf(e);return{name:n.name,fn:n.fn,options:[e,t]}},Lf=`Arrow`,Rf=_.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,V.jsx)(U.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,V.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});Rf.displayName=Lf;var zf=Rf;function Bf(e){let[t,n]=_.useState(void 0);return ri(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var Vf=`Popper`,[Hf,Uf]=wr(Vf),[Wf,Gf]=Hf(Vf),Kf=e=>{let{__scopePopper:t,children:n}=e,[r,i]=_.useState(null);return(0,V.jsx)(Wf,{scope:t,anchor:r,onAnchorChange:i,children:n})};Kf.displayName=Vf;var qf=`PopperAnchor`,Jf=_.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=Gf(qf,n),o=_.useRef(null),s=Sr(t,o),c=_.useRef(null);return _.useEffect(()=>{let e=c.current;c.current=r?.current||o.current,e!==c.current&&a.onAnchorChange(c.current)}),r?null:(0,V.jsx)(U.div,{...i,ref:s})});Jf.displayName=qf;var Yf=`PopperContent`,[Xf,Zf]=Hf(Yf),Qf=_.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=`partial`,hideWhenDetached:f=!1,updatePositionStrategy:p=`optimized`,onPlaced:m,...h}=e,g=Gf(Yf,n),[v,y]=_.useState(null),b=Sr(t,e=>y(e)),[x,S]=_.useState(null),C=Bf(x),w=C?.width??0,T=C?.height??0,E=r+(a===`center`?``:`-`+a),D=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},O=Array.isArray(l)?l:[l],k=O.length>0,A={padding:D,boundary:O.filter(np),altBoundary:k},{refs:j,floatingStyles:M,placement:N,isPositioned:P,middlewareData:F}=Of({strategy:`fixed`,placement:E,whileElementsMounted:(...e)=>iee(...e,{animationFrame:p===`always`}),elements:{reference:g.anchor},middleware:[Af({mainAxis:i+T,alignmentAxis:o}),c&&jf({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?Mf():void 0,...A}),c&&Nf({...A}),Pf({...A,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),x&&If({element:x,padding:s}),rp({arrowWidth:w,arrowHeight:T}),f&&Ff({strategy:`referenceHidden`,...A})]}),[ee,te]=ip(N),I=Br(m);ri(()=>{P&&I?.()},[P,I]);let ne=F.arrow?.x,re=F.arrow?.y,ie=F.arrow?.centerOffset!==0,[ae,oe]=_.useState();return ri(()=>{v&&oe(window.getComputedStyle(v).zIndex)},[v]),(0,V.jsx)(`div`,{ref:j.setFloating,"data-radix-popper-content-wrapper":``,style:{...M,transform:P?M.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ae,"--radix-popper-transform-origin":[F.transformOrigin?.x,F.transformOrigin?.y].join(` `),...F.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,V.jsx)(Xf,{scope:n,placedSide:ee,onArrowChange:S,arrowX:ne,arrowY:re,shouldHideArrow:ie,children:(0,V.jsx)(U.div,{"data-side":ee,"data-align":te,...h,ref:b,style:{...h.style,animation:P?void 0:`none`}})})})});Qf.displayName=Yf;var $f=`PopperArrow`,ep={top:`bottom`,right:`left`,bottom:`top`,left:`right`},tp=_.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=Zf($f,n),a=ep[i.placedSide];return(0,V.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,V.jsx)(zf,{...r,ref:t,style:{...r.style,display:`block`}})})});tp.displayName=$f;function np(e){return e!==null}var rp=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=ip(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function ip(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var ap=Kf,op=Jf,sp=Qf,cp=tp,lp=Symbol(`radix.slottable`);function up(e){let t=({children:e})=>(0,V.jsx)(V.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=lp,t}var[dp,dee]=wr(`Tooltip`,[Uf]),fp=Uf(),pp=`TooltipProvider`,mp=700,hp=`tooltip.open`,[gp,_p]=dp(pp),vp=e=>{let{__scopeTooltip:t,delayDuration:n=mp,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=_.useRef(!0),s=_.useRef(!1),c=_.useRef(0);return _.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,V.jsx)(gp,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:_.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:_.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:s,onPointerInTransitChange:_.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};vp.displayName=pp;var yp=`Tooltip`,[bp,xp]=dp(yp),Sp=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=_p(yp,e.__scopeTooltip),l=fp(t),[u,d]=_.useState(null),f=Gs(),p=_.useRef(0),m=o??c.disableHoverableContent,h=s??c.delayDuration,g=_.useRef(!1),[v,y]=fi({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(hp))):c.onClose(),a?.(e)},caller:yp}),b=_.useMemo(()=>v?g.current?`delayed-open`:`instant-open`:`closed`,[v]),x=_.useCallback(()=>{window.clearTimeout(p.current),p.current=0,g.current=!1,y(!0)},[y]),S=_.useCallback(()=>{window.clearTimeout(p.current),p.current=0,y(!1)},[y]),C=_.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{g.current=!0,y(!0),p.current=0},h)},[h,y]);return _.useEffect(()=>()=>{p.current&&=(window.clearTimeout(p.current),0)},[]),(0,V.jsx)(ap,{...l,children:(0,V.jsx)(bp,{scope:t,contentId:f,open:v,stateAttribute:b,trigger:u,onTriggerChange:d,onTriggerEnter:_.useCallback(()=>{c.isOpenDelayedRef.current?C():x()},[c.isOpenDelayedRef,C,x]),onTriggerLeave:_.useCallback(()=>{m?S():(window.clearTimeout(p.current),p.current=0)},[S,m]),onOpen:x,onClose:S,disableHoverableContent:m,children:n})})};Sp.displayName=yp;var Cp=`TooltipTrigger`,wp=_.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=xp(Cp,n),a=_p(Cp,n),o=fp(n),s=Sr(t,_.useRef(null),i.onTriggerChange),c=_.useRef(!1),l=_.useRef(!1),u=_.useCallback(()=>c.current=!1,[]);return _.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,V.jsx)(op,{asChild:!0,...o,children:(0,V.jsx)(U.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:H(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:H(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:H(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:H(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:H(e.onBlur,i.onClose),onClick:H(e.onClick,i.onClose)})})});wp.displayName=Cp;var Tp=`TooltipPortal`,[Ep,Dp]=dp(Tp,{forceMount:void 0}),Op=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=xp(Tp,t);return(0,V.jsx)(Ep,{scope:t,forceMount:n,children:(0,V.jsx)(si,{present:n||a.open,children:(0,V.jsx)(ai,{asChild:!0,container:i,children:r})})})};Op.displayName=Tp;var kp=`TooltipContent`,Ap=_.forwardRef((e,t)=>{let n=Dp(kp,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=xp(kp,e.__scopeTooltip);return(0,V.jsx)(si,{present:r||o.open,children:o.disableHoverableContent?(0,V.jsx)(Fp,{side:i,...a,ref:t}):(0,V.jsx)(jp,{side:i,...a,ref:t})})}),jp=_.forwardRef((e,t)=>{let n=xp(kp,e.__scopeTooltip),r=_p(kp,e.__scopeTooltip),i=_.useRef(null),a=Sr(t,i),[o,s]=_.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=_.useCallback(()=>{s(null),d(!1)},[d]),p=_.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=zp(r,Rp(r,n.getBoundingClientRect())),a=Bp(t.getBoundingClientRect());s(Hp([...i,...a])),d(!0)},[d]);return _.useEffect(()=>()=>f(),[f]),_.useEffect(()=>{if(c&&u){let e=e=>p(e,u),t=e=>p(e,c);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),_.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!Vp(n,o);r?f():i&&(f(),l())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,V.jsx)(Fp,{...e,ref:a})}),[Mp,Np]=dp(yp,{isInside:!1}),Pp=up(`TooltipContent`),Fp=_.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=xp(kp,n),l=fp(n),{onClose:u}=c;return _.useEffect(()=>(document.addEventListener(hp,u),()=>document.removeEventListener(hp,u)),[u]),_.useEffect(()=>{if(c.trigger){let e=e=>{e.target?.contains(c.trigger)&&u()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,u]),(0,V.jsx)(Jr,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,V.jsxs)(sp,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.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:[(0,V.jsx)(Pp,{children:r}),(0,V.jsx)(Mp,{scope:n,isInside:!0,children:(0,V.jsx)(vi,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});Ap.displayName=kp;var Ip=`TooltipArrow`,Lp=_.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=fp(n);return Np(Ip,n).isInside?null:(0,V.jsx)(cp,{...i,...r,ref:t})});Lp.displayName=Ip;function Rp(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function zp(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function Bp(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function Vp(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;er!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function Hp(e){let t=e.slice();return t.sort((e,t)=>e.xt.x?1:e.yt.y)),Up(t)}function Up(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var Wp=Sp,Gp=wp,Kp=Ap,qp=Wp,Jp=Gp,Yp=_.forwardRef(({className:e,sideOffset:t=4,...n},r)=>(0,V.jsx)(Kp,{ref:r,sideOffset:t,className:G(`z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...n}));Yp.displayName=Kp.displayName;function Xp(e){let t=Zp(e),n=_.forwardRef((e,n)=>{let{children:r,...i}=e,a=_.Children.toArray(r),o=a.find($p);if(o){let e=o.props.children,r=a.map(t=>t===o?_.Children.count(e)>1?_.Children.only(null):_.isValidElement(e)?e.props.children:null:t);return(0,V.jsx)(t,{...i,ref:n,children:_.isValidElement(e)?_.cloneElement(e,void 0,r):null})}return(0,V.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function Zp(e){let t=_.forwardRef((e,t)=>{let{children:n,...r}=e;if(_.isValidElement(n)){let e=tm(n),i=em(r,n.props);return n.type!==_.Fragment&&(i.ref=t?xr(t,e):e),_.cloneElement(n,i)}return _.Children.count(n)>1?_.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Qp=Symbol(`radix.slottable`);function $p(e){return _.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===Qp}function em(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function tm(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var nm=`Popover`,[rm,fee]=wr(nm,[Uf]),im=Uf(),[am,om]=rm(nm),sm=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=im(t),c=_.useRef(null),[l,u]=_.useState(!1),[d,f]=fi({prop:r,defaultProp:i??!1,onChange:a,caller:nm});return(0,V.jsx)(ap,{...s,children:(0,V.jsx)(am,{scope:t,contentId:Gs(),triggerRef:c,open:d,onOpenChange:f,onOpenToggle:_.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:l,onCustomAnchorAdd:_.useCallback(()=>u(!0),[]),onCustomAnchorRemove:_.useCallback(()=>u(!1),[]),modal:o,children:n})})};sm.displayName=nm;var cm=`PopoverAnchor`,pee=_.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=om(cm,n),a=im(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return _.useEffect(()=>(o(),()=>s()),[o,s]),(0,V.jsx)(op,{...a,...r,ref:t})});pee.displayName=cm;var lm=`PopoverTrigger`,um=_.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=om(lm,n),a=im(n),o=Sr(t,i.triggerRef),s=(0,V.jsx)(U.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.contentId,"data-state":bm(i.open),...r,ref:o,onClick:H(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,V.jsx)(op,{asChild:!0,...a,children:s})});um.displayName=lm;var dm=`PopoverPortal`,[mee,hee]=rm(dm,{forceMount:void 0}),fm=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=om(dm,t);return(0,V.jsx)(mee,{scope:t,forceMount:n,children:(0,V.jsx)(si,{present:n||a.open,children:(0,V.jsx)(ai,{asChild:!0,container:i,children:r})})})};fm.displayName=dm;var pm=`PopoverContent`,mm=_.forwardRef((e,t)=>{let n=hee(pm,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=om(pm,e.__scopePopover);return(0,V.jsx)(si,{present:r||a.open,children:a.modal?(0,V.jsx)(_ee,{...i,ref:t}):(0,V.jsx)(vee,{...i,ref:t})})});mm.displayName=pm;var gee=Xp(`PopoverContent.RemoveScroll`),_ee=_.forwardRef((e,t)=>{let n=om(pm,e.__scopePopover),r=_.useRef(null),i=Sr(t,r),a=_.useRef(!1);return _.useEffect(()=>{let e=r.current;if(e)return Dl(e)},[]),(0,V.jsx)(vl,{as:gee,allowPinchZoom:!0,children:(0,V.jsx)(hm,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:H(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:H(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;a.current=t.button===2||n},{checkForDefaultPrevented:!1}),onFocusOutside:H(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),vee=_.forwardRef((e,t)=>{let n=om(pm,e.__scopePopover),r=_.useRef(!1),i=_.useRef(!1);return(0,V.jsx)(hm,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),hm=_.forwardRef((e,t)=>{let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:u,...d}=e,f=om(pm,n),p=im(n);return lc(),(0,V.jsx)(Xs,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,V.jsx)(Jr,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),children:(0,V.jsx)(sp,{"data-state":bm(f.open),role:`dialog`,id:f.contentId,...p,...d,ref:t,style:{...d.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})}),gm=`PopoverClose`,_m=_.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=om(gm,n);return(0,V.jsx)(U.button,{type:`button`,...r,ref:t,onClick:H(e.onClick,()=>i.onOpenChange(!1))})});_m.displayName=gm;var vm=`PopoverArrow`,ym=_.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=im(n);return(0,V.jsx)(cp,{...i,...r,ref:t})});ym.displayName=vm;function bm(e){return e?`open`:`closed`}var xm=sm,Sm=um,Cm=fm,wm=mm,Tm=xm,Em=Sm,Dm=_.forwardRef(({className:e,align:t=`center`,sideOffset:n=4,...r},i)=>(0,V.jsx)(Cm,{children:(0,V.jsx)(wm,{ref:i,align:t,sideOffset:n,className:G(`z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...r})}));Dm.displayName=wm.displayName;var Om=1,km=.9,Am=.8,jm=.17,Mm=.1,Nm=.999,Pm=.9999,Fm=.99,Im=/[\\\/_+.#"@\[\(\{&]/,Lm=/[\\\/_+.#"@\[\(\{&]/g,Rm=/[\s-]/,zm=/[\s-]/g;function Bm(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?Om:Fm;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),l=n.indexOf(c,i),u=0,d,f,p,m;l>=0;)d=Bm(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=Om:Im.test(e.charAt(l-1))?(d*=Am,p=e.slice(i,l-1).match(Lm),p&&i>0&&(d*=Nm**+p.length)):Rm.test(e.charAt(l-1))?(d*=km,m=e.slice(i,l-1).match(zm),m&&i>0&&(d*=Nm**+m.length)):(d*=jm,i>0&&(d*=Nm**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=Pm)),(dd&&(d=f*Mm)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function Vm(e){return e.toLowerCase().replace(zm,` `)}function Hm(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,Bm(e,t,Vm(e),Vm(t),0,0,{})}var Um=`[cmdk-group=""]`,Wm=`[cmdk-group-items=""]`,Gm=`[cmdk-group-heading=""]`,Km=`[cmdk-item=""]`,qm=`${Km}:not([aria-disabled="true"])`,Jm=`cmdk-item-select`,Ym=`data-value`,Xm=(e,t,n)=>Hm(e,t,n),Zm=_.createContext(void 0),Qm=()=>_.useContext(Zm),$m=_.createContext(void 0),eh=()=>_.useContext($m),th=_.createContext(void 0),nh=_.forwardRef((e,t)=>{let n=gh(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=gh(()=>new Set),i=gh(()=>new Map),a=gh(()=>new Map),o=gh(()=>new Set),s=mh(e),{label:c,children:l,value:u,onValueChange:d,filter:f,shouldFilter:p,loop:m,disablePointerSelection:h=!1,vimBindings:g=!0,...v}=e,y=Gs(),b=Gs(),x=Gs(),S=_.useRef(null),C=yh();hh(()=>{if(u!==void 0){let e=u.trim();n.current.value=e,w.emit()}},[u]),hh(()=>{C(6,A)},[]);let w=_.useMemo(()=>({subscribe:e=>(o.current.add(e),()=>o.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)k(),D(),C(1,O);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(x);e?e.focus():(i=document.getElementById(y))==null||i.focus()}if(C(7,()=>{n.current.selectedItemId=j()?.id,w.emit()}),r||C(5,A),s.current?.value!==void 0){let e=t??``;(o=(a=s.current).onValueChange)==null||o.call(a,e);return}}w.emit()}},emit:()=>{o.current.forEach(e=>e())}}),[]),T=_.useMemo(()=>({value:(e,t,r)=>{t!==a.current.get(e)?.value&&(a.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,E(t,r)),C(2,()=>{D(),w.emit()}))},item:(e,t)=>(r.current.add(e),t&&(i.current.has(t)?i.current.get(t).add(e):i.current.set(t,new Set([e]))),C(3,()=>{k(),D(),n.current.value||O(),w.emit()}),()=>{a.current.delete(e),r.current.delete(e),n.current.filtered.items.delete(e);let t=j();C(4,()=>{k(),t?.getAttribute(`id`)===e&&O(),w.emit()})}),group:e=>(i.current.has(e)||i.current.set(e,new Set),()=>{a.current.delete(e),i.current.delete(e)}),filter:()=>s.current.shouldFilter,label:c||e[`aria-label`],getDisablePointerSelection:()=>s.current.disablePointerSelection,listId:y,inputId:x,labelId:b,listInnerRef:S}),[]);function E(e,t){let r=s.current?.filter??Xm;return e?r(e,n.current.search,t):0}function D(){if(!n.current.search||s.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=i.current.get(n),a=0;r.forEach(t=>{let n=e.get(t);a=Math.max(n,a)}),t.push([n,a])});let r=S.current;M().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(Wm);t?t.appendChild(e.parentElement===t?e:e.closest(`${Wm} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${Wm} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=S.current?.querySelector(`${Um}[${Ym}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function O(){let e=M().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(Ym);w.setState(`value`,e||void 0)}function k(){if(!n.current.search||s.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of r.current){let r=E(a.current.get(t)?.value??``,a.current.get(t)?.keywords??[]);n.current.filtered.items.set(t,r),r>0&&e++}for(let[e,t]of i.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function A(){var e;let t=j();t&&(t.parentElement?.firstChild===t&&((e=t.closest(Um)?.querySelector(Gm))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function j(){return S.current?.querySelector(`${Km}[aria-selected="true"]`)}function M(){return Array.from(S.current?.querySelectorAll(qm)||[])}function N(e){let t=M()[e];t&&w.setState(`value`,t.getAttribute(Ym))}function P(e){var t;let n=j(),r=M(),i=r.findIndex(e=>e===n),a=r[i+e];(t=s.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&w.setState(`value`,a.getAttribute(Ym))}function F(e){let t=j()?.closest(Um),n;for(;t&&!n;)t=e>0?fh(t,Um):ph(t,Um),n=t?.querySelector(qm);n?w.setState(`value`,n.getAttribute(Ym)):P(e)}let ee=()=>N(M().length-1),te=e=>{e.preventDefault(),e.metaKey?ee():e.altKey?F(1):P(1)},I=e=>{e.preventDefault(),e.metaKey?N(0):e.altKey?F(-1):P(-1)};return _.createElement(U.div,{ref:t,tabIndex:-1,...v,"cmdk-root":``,onKeyDown:e=>{var t;(t=v.onKeyDown)==null||t.call(v,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:g&&e.ctrlKey&&te(e);break;case`ArrowDown`:te(e);break;case`p`:case`k`:g&&e.ctrlKey&&I(e);break;case`ArrowUp`:I(e);break;case`Home`:e.preventDefault(),N(0);break;case`End`:e.preventDefault(),ee();break;case`Enter`:{e.preventDefault();let t=j();if(t){let e=new Event(Jm);t.dispatchEvent(e)}}}}},_.createElement(`label`,{"cmdk-label":``,htmlFor:T.inputId,id:T.labelId,style:Sh},c),xh(e,e=>_.createElement($m.Provider,{value:w},_.createElement(Zm.Provider,{value:T},e))))}),rh=_.forwardRef((e,t)=>{let n=Gs(),r=_.useRef(null),i=_.useContext(th),a=Qm(),o=mh(e),s=o.current?.forceMount??i?.forceMount;hh(()=>{if(!s)return a.item(n,i?.id)},[s]);let c=vh(n,r,[e.value,e.children,r],e.keywords),l=eh(),u=_h(e=>e.value&&e.value===c.current),d=_h(e=>s||a.filter()===!1?!0:e.search?e.filtered.items.get(n)>0:!0);_.useEffect(()=>{let t=r.current;if(!(!t||e.disabled))return t.addEventListener(Jm,f),()=>t.removeEventListener(Jm,f)},[d,e.onSelect,e.disabled]);function f(){var e,t;p(),(t=(e=o.current).onSelect)==null||t.call(e,c.current)}function p(){l.setState(`value`,c.current,!0)}if(!d)return null;let{disabled:m,value:h,onSelect:g,forceMount:v,keywords:y,...b}=e;return _.createElement(U.div,{ref:xr(r,t),...b,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!m,"aria-selected":!!u,"data-disabled":!!m,"data-selected":!!u,onPointerMove:m||a.getDisablePointerSelection()?void 0:p,onClick:m?void 0:f},e.children)}),ih=_.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...a}=e,o=Gs(),s=_.useRef(null),c=_.useRef(null),l=Gs(),u=Qm(),d=_h(e=>i||u.filter()===!1?!0:e.search?e.filtered.groups.has(o):!0);hh(()=>u.group(o),[]),vh(o,s,[e.value,e.heading,c]);let f=_.useMemo(()=>({id:o,forceMount:i}),[i]);return _.createElement(U.div,{ref:xr(s,t),...a,"cmdk-group":``,role:`presentation`,hidden:d?void 0:!0},n&&_.createElement(`div`,{ref:c,"cmdk-group-heading":``,"aria-hidden":!0,id:l},n),xh(e,e=>_.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?l:void 0},_.createElement(th.Provider,{value:f},e))))}),ah=_.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=_.useRef(null),a=_h(e=>!e.search);return!n&&!a?null:_.createElement(U.div,{ref:xr(i,t),...r,"cmdk-separator":``,role:`separator`})}),oh=_.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=eh(),o=_h(e=>e.search),s=_h(e=>e.selectedItemId),c=Qm();return _.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),_.createElement(U.input,{ref:t,...r,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":c.listId,"aria-labelledby":c.labelId,"aria-activedescendant":s,id:c.inputId,type:`text`,value:i?e.value:o,onChange:e=>{i||a.setState(`search`,e.target.value),n?.(e.target.value)}})}),sh=_.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,a=_.useRef(null),o=_.useRef(null),s=_h(e=>e.selectedItemId),c=Qm();return _.useEffect(()=>{if(o.current&&a.current){let e=o.current,t=a.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),_.createElement(U.div,{ref:xr(a,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":s,"aria-label":r,id:c.listId},xh(e,e=>_.createElement(`div`,{ref:xr(o,c.listInnerRef),"cmdk-list-sizer":``},e)))}),ch=_.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return _.createElement(mu,{open:n,onOpenChange:r},_.createElement(gu,{container:o},_.createElement(_u,{"cmdk-overlay":``,className:i}),_.createElement(vu,{"aria-label":e.label,"cmdk-dialog":``,className:a},_.createElement(nh,{ref:t,...s}))))}),lh=_.forwardRef((e,t)=>_h(e=>e.filtered.count===0)?_.createElement(U.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),uh=_.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return _.createElement(U.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},xh(e,e=>_.createElement(`div`,{"aria-hidden":!0},e)))}),dh=Object.assign(nh,{List:sh,Item:rh,Input:oh,Group:ih,Separator:ah,Dialog:ch,Empty:lh,Loading:uh});function fh(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function ph(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function mh(e){let t=_.useRef(e);return hh(()=>{t.current=e}),t}var hh=typeof window>`u`?_.useEffect:_.useLayoutEffect;function gh(e){let t=_.useRef();return t.current===void 0&&(t.current=e()),t}function _h(e){let t=eh(),n=()=>e(t.snapshot());return _.useSyncExternalStore(t.subscribe,n,n)}function vh(e,t,n,r=[]){let i=_.useRef(),a=Qm();return hh(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(Ym,s),i.current=s}),i}var yh=()=>{let[e,t]=_.useState(),n=gh(()=>new Map);return hh(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function bh(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function xh({asChild:e,children:t},n){return e&&_.isValidElement(t)?_.cloneElement(bh(t),{ref:t.ref},n(t.props.children)):n(t)}var Sh={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`},Ch=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(dh,{ref:n,className:G(`flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground`,e),...t}));Ch.displayName=dh.displayName;var wh=_.forwardRef(({className:e,...t},n)=>(0,V.jsxs)(`div`,{className:`flex items-center border-b px-3`,"cmdk-input-wrapper":``,children:[(0,V.jsx)(to,{className:`mr-2 h-4 w-4 shrink-0 text-slate-400`}),(0,V.jsx)(dh.Input,{ref:n,className:G(`flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50`,e),...t})]}));wh.displayName=dh.Input.displayName;var Th=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(dh.List,{ref:n,className:G(`max-h-[300px] overflow-y-auto overflow-x-hidden`,e),...t}));Th.displayName=dh.List.displayName;var Eh=_.forwardRef((e,t)=>(0,V.jsx)(dh.Empty,{ref:t,className:`py-6 text-center text-sm`,...e}));Eh.displayName=dh.Empty.displayName;var Dh=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(dh.Group,{ref:n,className:G(`overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground`,e),...t}));Dh.displayName=dh.Group.displayName;var Oh=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(dh.Separator,{ref:n,className:G(`-mx-1 h-px bg-border`,e),...t}));Oh.displayName=dh.Separator.displayName;var kh=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(dh.Item,{ref:n,className:G(`relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50`,e),...t}));kh.displayName=dh.Item.displayName;var Ah=({className:e,...t})=>(0,V.jsx)(`span`,{className:G(`ml-auto text-xs tracking-widest text-muted-foreground`,e),...t});Ah.displayName=`CommandShortcut`;var jh=[{value:`so101`,label:`SO-101`},{value:`omx_ai`,label:`OMX-AI`}],Mh=({selectedName:e,availableNames:t,onSelect:n,onCreateNew:r,isLoading:i})=>{let[a,o]=(0,_.useState)(!1),[s,c]=(0,_.useState)(``),[l,u]=(0,_.useState)(`so101`),[d,f]=(0,_.useState)(!1),[p,m]=(0,_.useState)(`so101`),h=s.trim(),g=t.some(e=>e.toLowerCase()===h.toLowerCase()),v=h.length>0&&!g,y=!v,b=g?`Already exists`:h===``?`Create new robot…`:`Create "${h}"`,x=()=>{c(``),o(!1),f(!1)},S=e=>{n(e),x()},C=async()=>{v&&await r(h,l,d?{bimanual:!0,rightRobotType:p}:void 0)&&x()};return(0,V.jsxs)(Tm,{open:a,onOpenChange:o,children:[(0,V.jsx)(Em,{asChild:!0,children:(0,V.jsxs)(K,{variant:`outline`,role:`combobox`,"aria-expanded":a,disabled:i,className:`w-full justify-between bg-gray-900 border-gray-700 text-white hover:bg-gray-700 hover:text-white font-normal`,children:[(0,V.jsx)(`span`,{className:G(`truncate`,e?``:`text-gray-400`),children:i?`Loading...`:e??`Select a robot or type a new name`}),(0,V.jsx)(ja,{className:`ml-2 h-4 w-4 shrink-0 opacity-50`})]})}),(0,V.jsx)(Dm,{className:`p-0 bg-gray-800 border-gray-700 text-white`,style:{width:`var(--radix-popover-trigger-width)`},align:`start`,children:(0,V.jsxs)(Ch,{className:`bg-gray-800`,children:[(0,V.jsx)(wh,{placeholder:`Search or type new name...`,value:s,onValueChange:c,onKeyDown:e=>{e.key===`Enter`&&v&&(e.preventDefault(),C())},className:`text-white`}),(0,V.jsxs)(Th,{children:[t.length===0&&(0,V.jsx)(Eh,{className:`py-4 text-sm text-gray-400 text-center`,children:`No robots yet. Type a name to create one.`}),t.length>0&&(0,V.jsx)(Dh,{heading:`Existing`,children:t.map(t=>(0,V.jsxs)(kh,{value:t,onSelect:()=>S(t),className:`text-white aria-selected:bg-gray-700`,children:[(0,V.jsx)(Da,{className:G(`mr-2 h-4 w-4`,e===t?`opacity-100`:`opacity-0`)}),t]},t))})]}),(0,V.jsxs)(`div`,{className:`border-t border-gray-700`,children:[v&&(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 px-3 pt-2`,children:[(0,V.jsx)(`span`,{className:`text-xs text-gray-400`,children:d?`Left arm:`:`Model:`}),jh.map(e=>(0,V.jsx)(`button`,{type:`button`,onClick:()=>u(e.value),className:G(`rounded-full border px-2.5 py-0.5 text-xs`,l===e.value?`border-blue-400 bg-blue-500/20 text-blue-300`:`border-gray-600 text-gray-400 hover:border-gray-500 hover:text-gray-300`),children:e.label},e.value))]}),v&&(0,V.jsxs)(`label`,{className:`flex items-center gap-1.5 px-3 pt-2 text-xs text-gray-400`,children:[(0,V.jsx)(`input`,{type:`checkbox`,checked:d,onChange:e=>f(e.target.checked),className:`h-3.5 w-3.5 accent-blue-500`}),`Bimanual (2 arms)`]}),v&&d&&(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 px-3 pt-2`,children:[(0,V.jsx)(`span`,{className:`text-xs text-gray-400`,children:`Right arm:`}),jh.map(e=>(0,V.jsx)(`button`,{type:`button`,onClick:()=>m(e.value),className:G(`rounded-full border px-2.5 py-0.5 text-xs`,p===e.value?`border-blue-400 bg-blue-500/20 text-blue-300`:`border-gray-600 text-gray-400 hover:border-gray-500 hover:text-gray-300`),children:e.label},e.value))]}),(0,V.jsxs)(`button`,{type:`button`,onClick:C,disabled:y,className:`flex w-full items-center gap-2 px-3 py-2 text-sm text-white hover:bg-gray-700 disabled:cursor-not-allowed disabled:text-gray-500 disabled:hover:bg-transparent`,children:[(0,V.jsx)(Qa,{className:`h-4 w-4`}),b]})]})]})})]})},Nh=({robot:e,selectedName:t,availableNames:n,isLoading:r,onSelect:i,onCreateNew:a,onConfigure:o,onTeleop:s,onDelete:c})=>{let[l,u]=(0,_.useState)(!1),d=e?e.is_clean?`Ready`:`Needs configuration`:null,f=!e||!e.is_clean;return(0,V.jsxs)(`div`,{className:`bg-gray-800 rounded-lg border border-gray-700 p-3 flex flex-col gap-2 relative`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,V.jsx)(Mh,{selectedName:t,availableNames:n,onSelect:i,onCreateNew:a,isLoading:r})}),d&&(0,V.jsx)(`p`,{className:`text-xs truncate shrink-0 ${e.is_clean?`text-green-400`:`text-amber-400`}`,children:d}),e&&(0,V.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0`,children:[(0,V.jsxs)(qp,{children:[(0,V.jsx)(Jp,{asChild:!0,children:(0,V.jsx)(K,{size:`icon`,variant:`ghost`,className:`h-8 w-8 text-gray-300 hover:text-white`,onClick:()=>o(e.name),"aria-label":`Configure`,children:(0,V.jsx)(no,{className:`w-4 h-4`})})}),(0,V.jsx)(Yp,{children:`Configure (calibrate)`})]}),(0,V.jsxs)(qp,{children:[(0,V.jsx)(Jp,{asChild:!0,children:(0,V.jsx)(K,{size:`icon`,variant:`ghost`,className:`h-8 w-8 text-red-400 hover:text-red-300 hover:bg-red-900/20`,onClick:()=>u(!0),"aria-label":`Delete robot`,children:(0,V.jsx)(co,{className:`w-4 h-4`})})}),(0,V.jsx)(Yp,{children:`Delete robot config`})]})]})]}),e&&(0,V.jsxs)(qp,{children:[(0,V.jsx)(Jp,{asChild:!0,children:(0,V.jsx)(`div`,{className:`w-full`,children:(0,V.jsx)(K,{onClick:()=>s(e),disabled:f,className:`w-full ${f?`bg-red-500/30 hover:bg-red-500/30 text-red-200 cursor-not-allowed`:`bg-yellow-500 hover:bg-yellow-600 text-white`}`,children:`Teleoperation`})})}),f&&(0,V.jsx)(Yp,{children:`Configure the robot first.`})]}),e&&(0,V.jsx)(Su,{open:l,onOpenChange:u,children:(0,V.jsxs)(Tu,{className:`bg-gray-900 border-gray-800 text-white`,children:[(0,V.jsxs)(Eu,{children:[(0,V.jsx)(Ou,{children:`Delete robot config?`}),(0,V.jsx)(ku,{className:`text-gray-400`,children:`This deletes the robot config file from disk. Calibration files are not removed. This cannot be undone.`})]}),(0,V.jsxs)(Du,{className:`flex gap-2 justify-end`,children:[(0,V.jsx)(K,{variant:`outline`,className:`border-gray-600 text-gray-300`,onClick:()=>u(!1),children:`Cancel`}),(0,V.jsx)(K,{className:`bg-red-500 hover:bg-red-600 text-white`,onClick:async()=>{u(!1),await c(e.name)},children:`Delete`})]})]})})]})},Ph=({selectedName:e,selectedRecord:t,availableNames:n,isLoading:r,selectRobot:i,createRobot:a,deleteRobot:o})=>{let s=Re(),{baseUrl:c,fetchWithHeaders:l}=zs(),{toast:u}=yr();return(0,V.jsx)(Nh,{robot:t,selectedName:e,availableNames:n,isLoading:r,onSelect:i,onCreateNew:a,onConfigure:e=>{s(`/calibration`,{state:{robot_name:e}})},onTeleop:async e=>{try{let t=await l(`${c}/move-arm`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({leader_port:e.leader_port,follower_port:e.follower_port,leader_config:e.leader_config,follower_config:e.follower_config,robot_type:e.robot_type||`so101`,...e.mode===`bimanual`?{right_leader_port:e.right_leader_port,right_follower_port:e.right_follower_port,right_leader_config:e.right_leader_config,right_follower_config:e.right_follower_config,right_robot_type:e.right_robot_type||`so101`}:{}})}),n=await t.json();t.ok&&n.success?(u({title:`Teleoperation Started`,description:n.message||`Started teleoperation for ${e.name}.`}),s(`/teleoperation`)):u({title:`Error Starting Teleoperation`,description:n.message||`Failed to start.`,variant:`destructive`})}catch{u({title:`Connection Error`,description:`Could not connect to the backend server.`,variant:`destructive`})}},onDelete:o})},Fh=_.forwardRef(({className:e,type:t,...n},r)=>(0,V.jsx)(`input`,{type:t,className:G(`flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,e),ref:r,...n}));Fh.displayName=`Input`;var Ih=_.forwardRef(({value:e,onChange:t,integer:n=!0,className:r,...i},a)=>{let[o,s]=_.useState(e==null?``:String(e)),c=_.useRef(e);return _.useEffect(()=>{e!==c.current&&(c.current=e,s(e==null?``:String(e)))},[e]),(0,V.jsx)(Fh,{ref:a,type:`number`,inputMode:n?`numeric`:`decimal`,value:o,onChange:e=>{let r=e.target.value;if(s(r),r===``){t(void 0);return}let i=n?parseInt(r,10):parseFloat(r);Number.isFinite(i)&&t(i)},className:G(`[appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:m-0 [&::-webkit-outer-spin-button]:m-0`,r),...i})});Ih.displayName=`NumberInput`;var Lh=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=Ts(`Primitive.${t}`),r=_.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,V.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),Rh=`Label`,zh=_.forwardRef((e,t)=>(0,V.jsx)(Lh.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));zh.displayName=Rh;var Bh=zh,Vh=va(`text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70`),Hh=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(Bh,{ref:n,className:G(Vh(),e),...t}));Hh.displayName=Bh.displayName;function Uh(e){let t=_.useRef({value:e,previous:e});return _.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var Wh=`Checkbox`,[Gh,yee]=wr(Wh),[Kh,qh]=Gh(Wh);function Jh(e){let{__scopeCheckbox:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:c,required:l,value:u=`on`,internal_do_not_use_render:d}=e,[f,p]=fi({prop:n,defaultProp:i??!1,onChange:c,caller:Wh}),[m,h]=_.useState(null),[g,v]=_.useState(null),y=_.useRef(!1),b=m?!!o||!!m.closest(`form`):!0,x={checked:f,disabled:a,setChecked:p,control:m,setControl:h,name:s,form:o,value:u,hasConsumerStoppedPropagationRef:y,required:l,defaultChecked:rg(i)?!1:i,isFormControl:b,bubbleInput:g,setBubbleInput:v};return(0,V.jsx)(Kh,{scope:t,...x,children:ng(d)?d(x):r})}var Yh=`CheckboxTrigger`,Xh=_.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},i)=>{let{control:a,value:o,disabled:s,checked:c,required:l,setControl:u,setChecked:d,hasConsumerStoppedPropagationRef:f,isFormControl:p,bubbleInput:m}=qh(Yh,e),h=Sr(i,u),g=_.useRef(c);return _.useEffect(()=>{let e=a?.form;if(e){let t=()=>d(g.current);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[a,d]),(0,V.jsx)(U.button,{type:`button`,role:`checkbox`,"aria-checked":rg(c)?`mixed`:c,"aria-required":l,"data-state":ig(c),"data-disabled":s?``:void 0,disabled:s,value:o,...r,ref:h,onKeyDown:H(t,e=>{e.key===`Enter`&&e.preventDefault()}),onClick:H(n,e=>{d(e=>rg(e)?!0:!e),m&&p&&(f.current=e.isPropagationStopped(),f.current||e.stopPropagation())})})});Xh.displayName=Yh;var Zh=_.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,V.jsx)(Jh,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Xh,{...d,ref:t,__scopeCheckbox:n}),e&&(0,V.jsx)(tg,{__scopeCheckbox:n})]})})});Zh.displayName=Wh;var Qh=`CheckboxIndicator`,$h=_.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...i}=e,a=qh(Qh,n);return(0,V.jsx)(si,{present:r||rg(a.checked)||a.checked===!0,children:(0,V.jsx)(U.span,{"data-state":ig(a.checked),"data-disabled":a.disabled?``:void 0,...i,ref:t,style:{pointerEvents:`none`,...e.style}})})});$h.displayName=Qh;var eg=`CheckboxBubbleInput`,tg=_.forwardRef(({__scopeCheckbox:e,...t},n)=>{let{control:r,hasConsumerStoppedPropagationRef:i,checked:a,defaultChecked:o,required:s,disabled:c,name:l,value:u,form:d,bubbleInput:f,setBubbleInput:p}=qh(eg,e),m=Sr(n,p),h=Uh(a),g=Bf(r);_.useEffect(()=>{let e=f;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=!i.current;if(h!==a&&n){let t=new Event(`click`,{bubbles:r});e.indeterminate=rg(a),n.call(e,rg(a)?!1:a),e.dispatchEvent(t)}},[f,h,a,i]);let v=_.useRef(rg(a)?!1:a);return(0,V.jsx)(U.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:o??v.current,required:s,disabled:c,name:l,value:u,form:d,...t,tabIndex:-1,ref:m,style:{...t.style,...g,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})});tg.displayName=eg;function ng(e){return typeof e==`function`}function rg(e){return e===`indeterminate`}function ig(e){return rg(e)?`indeterminate`:e?`checked`:`unchecked`}var ag=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(Zh,{ref:n,className:G(`peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground`,e),...t,children:(0,V.jsx)($h,{className:G(`flex items-center justify-center text-current`),children:(0,V.jsx)(Da,{className:`h-4 w-4`})})}));ag.displayName=Zh.displayName;var og=`Collapsible`,[sg,bee]=wr(og),[cg,lg]=sg(og),ug=_.forwardRef((e,t)=>{let{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:a,onOpenChange:o,...s}=e,[c,l]=fi({prop:r,defaultProp:i??!1,onChange:o,caller:og});return(0,V.jsx)(cg,{scope:n,disabled:a,contentId:Gs(),open:c,onOpenToggle:_.useCallback(()=>l(e=>!e),[l]),children:(0,V.jsx)(U.div,{"data-state":gg(c),"data-disabled":a?``:void 0,...s,ref:t})})});ug.displayName=og;var dg=`CollapsibleTrigger`,fg=_.forwardRef((e,t)=>{let{__scopeCollapsible:n,...r}=e,i=lg(dg,n);return(0,V.jsx)(U.button,{type:`button`,"aria-controls":i.contentId,"aria-expanded":i.open||!1,"data-state":gg(i.open),"data-disabled":i.disabled?``:void 0,disabled:i.disabled,...r,ref:t,onClick:H(e.onClick,i.onOpenToggle)})});fg.displayName=dg;var pg=`CollapsibleContent`,mg=_.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=lg(pg,e.__scopeCollapsible);return(0,V.jsx)(si,{present:n||i.open,children:({present:e})=>(0,V.jsx)(hg,{...r,ref:t,present:e})})});mg.displayName=pg;var hg=_.forwardRef((e,t)=>{let{__scopeCollapsible:n,present:r,children:i,...a}=e,o=lg(pg,n),[s,c]=_.useState(r),l=_.useRef(null),u=Sr(t,l),d=_.useRef(0),f=d.current,p=_.useRef(0),m=p.current,h=o.open||s,g=_.useRef(h),v=_.useRef(void 0);return _.useEffect(()=>{let e=requestAnimationFrame(()=>g.current=!1);return()=>cancelAnimationFrame(e)},[]),ri(()=>{let e=l.current;if(e){v.current=v.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();d.current=t.height,p.current=t.width,g.current||(e.style.transitionDuration=v.current.transitionDuration,e.style.animationName=v.current.animationName),c(r)}},[o.open,r]),(0,V.jsx)(U.div,{"data-state":gg(o.open),"data-disabled":o.disabled?``:void 0,id:o.contentId,hidden:!h,...a,ref:u,style:{"--radix-collapsible-content-height":f?`${f}px`:void 0,"--radix-collapsible-content-width":m?`${m}px`:void 0,...e.style},children:h&&i})});function gg(e){return e?`open`:`closed`}var _g=ug,vg=fg,yg=mg,bg=va(`relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground`,{variants:{variant:{default:`bg-background text-foreground`,destructive:`border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive`}},defaultVariants:{variant:`default`}}),xg=_.forwardRef(({className:e,variant:t,...n},r)=>(0,V.jsx)(`div`,{ref:r,role:`alert`,className:G(bg({variant:t}),e),...n}));xg.displayName=`Alert`;var Sg=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(`h5`,{ref:n,className:G(`mb-1 font-medium leading-none tracking-tight`,e),...t}));Sg.displayName=`AlertTitle`;var Cg=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(`div`,{ref:n,className:G(`text-sm [&_p]:leading-relaxed`,e),...t}));Cg.displayName=`AlertDescription`;function wg(e,[t,n]){return Math.min(n,Math.max(t,e))}var Tg=_.createContext(void 0);function Eg(e){let t=_.useContext(Tg);return e||t||`ltr`}function Dg(e){let t=Og(e),n=_.forwardRef((e,n)=>{let{children:r,...i}=e,a=_.Children.toArray(r),o=a.find(Ag);if(o){let e=o.props.children,r=a.map(t=>t===o?_.Children.count(e)>1?_.Children.only(null):_.isValidElement(e)?e.props.children:null:t);return(0,V.jsx)(t,{...i,ref:n,children:_.isValidElement(e)?_.cloneElement(e,void 0,r):null})}return(0,V.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function Og(e){let t=_.forwardRef((e,t)=>{let{children:n,...r}=e;if(_.isValidElement(n)){let e=Mg(n),i=jg(r,n.props);return n.type!==_.Fragment&&(i.ref=t?xr(t,e):e),_.cloneElement(n,i)}return _.Children.count(n)>1?_.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var kg=Symbol(`radix.slottable`);function Ag(e){return _.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===kg}function jg(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function Mg(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Ng=[` `,`Enter`,`ArrowUp`,`ArrowDown`],Pg=[` `,`Enter`],Fg=`Select`,[Ig,Lg,Rg]=Mr(Fg),[zg,xee]=wr(Fg,[Rg,Uf]),Bg=Uf(),[Vg,Hg]=zg(Fg),[Ug,Wg]=zg(Fg),Gg=e=>{let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:c,dir:l,name:u,autoComplete:d,disabled:f,required:p,form:m}=e,h=Bg(t),[g,v]=_.useState(null),[y,b]=_.useState(null),[x,S]=_.useState(!1),C=Eg(l),[w,T]=fi({prop:r,defaultProp:i??!1,onChange:a,caller:Fg}),[E,D]=fi({prop:o,defaultProp:s,onChange:c,caller:Fg}),O=_.useRef(null),k=g?m||!!g.closest(`form`):!0,[A,j]=_.useState(new Set),M=Array.from(A).map(e=>e.props.value).join(`;`);return(0,V.jsx)(ap,{...h,children:(0,V.jsxs)(Vg,{required:p,scope:t,trigger:g,onTriggerChange:v,valueNode:y,onValueNodeChange:b,valueNodeHasChildren:x,onValueNodeHasChildrenChange:S,contentId:Gs(),value:E,onValueChange:D,open:w,onOpenChange:T,dir:C,triggerPointerDownPosRef:O,disabled:f,children:[(0,V.jsx)(Ig.Provider,{scope:t,children:(0,V.jsx)(Ug,{scope:e.__scopeSelect,onNativeOptionAdd:_.useCallback(e=>{j(t=>new Set(t).add(e))},[]),onNativeOptionRemove:_.useCallback(e=>{j(t=>{let n=new Set(t);return n.delete(e),n})},[]),children:n})}),k?(0,V.jsxs)(B_,{"aria-hidden":!0,required:p,tabIndex:-1,name:u,autoComplete:d,value:E,onChange:e=>D(e.target.value),disabled:f,form:m,children:[E===void 0?(0,V.jsx)(`option`,{value:``}):null,Array.from(A)]},M):null]})})};Gg.displayName=Fg;var Kg=`SelectTrigger`,qg=_.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:r=!1,...i}=e,a=Bg(n),o=Hg(Kg,n),s=o.disabled||r,c=Sr(t,o.onTriggerChange),l=Lg(n),u=_.useRef(`touch`),[d,f,p]=H_(e=>{let t=l().filter(e=>!e.disabled),n=U_(t,e,t.find(e=>e.value===o.value));n!==void 0&&o.onValueChange(n.value)}),m=e=>{s||(o.onOpenChange(!0),p()),e&&(o.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,V.jsx)(op,{asChild:!0,...a,children:(0,V.jsx)(U.button,{type:`button`,role:`combobox`,"aria-controls":o.contentId,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":`none`,dir:o.dir,"data-state":o.open?`open`:`closed`,disabled:s,"data-disabled":s?``:void 0,"data-placeholder":V_(o.value)?``:void 0,...i,ref:c,onClick:H(i.onClick,e=>{e.currentTarget.focus(),u.current!==`mouse`&&m(e)}),onPointerDown:H(i.onPointerDown,e=>{u.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(m(e),e.preventDefault())}),onKeyDown:H(i.onKeyDown,e=>{let t=d.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&f(e.key),!(t&&e.key===` `)&&Ng.includes(e.key)&&(m(),e.preventDefault())})})})});qg.displayName=Kg;var Jg=`SelectValue`,Yg=_.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,children:a,placeholder:o=``,...s}=e,c=Hg(Jg,n),{onValueNodeHasChildrenChange:l}=c,u=a!==void 0,d=Sr(t,c.onValueNodeChange);return ri(()=>{l(u)},[l,u]),(0,V.jsx)(U.span,{...s,ref:d,style:{pointerEvents:`none`},children:V_(c.value)?(0,V.jsx)(V.Fragment,{children:o}):a})});Yg.displayName=Jg;var Xg=`SelectIcon`,Zg=_.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...i}=e;return(0,V.jsx)(U.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})});Zg.displayName=Xg;var Qg=`SelectPortal`,$g=e=>(0,V.jsx)(ai,{asChild:!0,...e});$g.displayName=Qg;var e_=`SelectContent`,t_=_.forwardRef((e,t)=>{let n=Hg(e_,e.__scopeSelect),[r,i]=_.useState();if(ri(()=>{i(new DocumentFragment)},[]),!n.open){let t=r;return t?v.createPortal((0,V.jsx)(r_,{scope:e.__scopeSelect,children:(0,V.jsx)(Ig.Slot,{scope:e.__scopeSelect,children:(0,V.jsx)(`div`,{children:e.children})})}),t):null}return(0,V.jsx)(s_,{...e,ref:t})});t_.displayName=e_;var n_=10,[r_,i_]=zg(e_),a_=`SelectContentImpl`,o_=Dg(`SelectContent.RemoveScroll`),s_=_.forwardRef((e,t)=>{let{__scopeSelect:n,position:r=`item-aligned`,onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:o,side:s,sideOffset:c,align:l,alignOffset:u,arrowPadding:d,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:h,avoidCollisions:g,...v}=e,y=Hg(e_,n),[b,x]=_.useState(null),[S,C]=_.useState(null),w=Sr(t,e=>x(e)),[T,E]=_.useState(null),[D,O]=_.useState(null),k=Lg(n),[A,j]=_.useState(!1),M=_.useRef(!1);_.useEffect(()=>{if(b)return Dl(b)},[b]),lc();let N=_.useCallback(e=>{let[t,...n]=k().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&S&&(S.scrollTop=0),n===r&&S&&(S.scrollTop=S.scrollHeight),n?.focus(),document.activeElement!==i))return},[k,S]),P=_.useCallback(()=>N([T,b]),[N,T,b]);_.useEffect(()=>{A&&P()},[A,P]);let{onOpenChange:F,triggerPointerDownPosRef:ee}=y;_.useEffect(()=>{if(b){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(ee.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(ee.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():b.contains(n.target)||F(!1),document.removeEventListener(`pointermove`,t),ee.current=null};return ee.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[b,F,ee]),_.useEffect(()=>{let e=()=>F(!1);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[F]);let[te,I]=H_(e=>{let t=k().filter(e=>!e.disabled),n=U_(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current.focus())}),ne=_.useCallback((e,t,n)=>{let r=!M.current&&!n;(y.value!==void 0&&y.value===t||r)&&(E(e),r&&(M.current=!0))},[y.value]),re=_.useCallback(()=>b?.focus(),[b]),ie=_.useCallback((e,t,n)=>{let r=!M.current&&!n;(y.value!==void 0&&y.value===t||r)&&O(e)},[y.value]),ae=r===`popper`?d_:l_,oe=ae===d_?{side:s,sideOffset:c,align:l,alignOffset:u,arrowPadding:d,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:h,avoidCollisions:g}:{};return(0,V.jsx)(r_,{scope:n,content:b,viewport:S,onViewportChange:C,itemRefCallback:ne,selectedItem:T,onItemLeave:re,itemTextRefCallback:ie,focusSelectedItem:P,selectedItemText:D,position:r,isPositioned:A,searchRef:te,children:(0,V.jsx)(vl,{as:o_,allowPinchZoom:!0,children:(0,V.jsx)(Xs,{asChild:!0,trapped:y.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:H(i,e=>{y.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,V.jsx)(Jr,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>y.onOpenChange(!1),children:(0,V.jsx)(ae,{role:`listbox`,id:y.contentId,"data-state":y.open?`open`:`closed`,dir:y.dir,onContextMenu:e=>e.preventDefault(),...v,...oe,onPlaced:()=>j(!0),ref:w,style:{display:`flex`,flexDirection:`column`,outline:`none`,...v.style},onKeyDown:H(v.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&I(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=k().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>N(t)),e.preventDefault()}})})})})})})});s_.displayName=a_;var c_=`SelectItemAlignedPosition`,l_=_.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:r,...i}=e,a=Hg(e_,n),o=i_(e_,n),[s,c]=_.useState(null),[l,u]=_.useState(null),d=Sr(t,e=>u(e)),f=Lg(n),p=_.useRef(!1),m=_.useRef(!0),{viewport:h,selectedItem:g,selectedItemText:v,focusSelectedItem:y}=o,b=_.useCallback(()=>{if(a.trigger&&a.valueNode&&s&&l&&h&&g&&v){let e=a.trigger.getBoundingClientRect(),t=l.getBoundingClientRect(),n=a.valueNode.getBoundingClientRect(),i=v.getBoundingClientRect();if(a.dir!==`rtl`){let r=i.left-t.left,a=n.left-r,o=e.left-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-n_,d=wg(a,[n_,Math.max(n_,u-l)]);s.style.minWidth=c+`px`,s.style.left=d+`px`}else{let r=t.right-i.right,a=window.innerWidth-n.right-r,o=window.innerWidth-e.right-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-n_,d=wg(a,[n_,Math.max(n_,u-l)]);s.style.minWidth=c+`px`,s.style.right=d+`px`}let o=f(),c=window.innerHeight-n_*2,u=h.scrollHeight,d=window.getComputedStyle(l),m=parseInt(d.borderTopWidth,10),_=parseInt(d.paddingTop,10),y=parseInt(d.borderBottomWidth,10),b=parseInt(d.paddingBottom,10),x=m+_+u+b+y,S=Math.min(g.offsetHeight*5,x),C=window.getComputedStyle(h),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-n_,D=c-E,O=g.offsetHeight/2,k=g.offsetTop+O,A=m+_+k,j=x-A;if(A<=E){let e=o.length>0&&g===o[o.length-1].ref.current;s.style.bottom=`0px`;let t=l.clientHeight-h.offsetTop-h.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+y);s.style.height=n+`px`}else{let e=o.length>0&&g===o[0].ref.current;s.style.top=`0px`;let t=Math.max(E,m+h.offsetTop+(e?w:0)+O)+j;s.style.height=t+`px`,h.scrollTop=A-E+h.offsetTop}s.style.margin=`${n_}px 0`,s.style.minHeight=S+`px`,s.style.maxHeight=c+`px`,r?.(),requestAnimationFrame(()=>p.current=!0)}},[f,a.trigger,a.valueNode,s,l,h,g,v,a.dir,r]);ri(()=>b(),[b]);let[x,S]=_.useState();return ri(()=>{l&&S(window.getComputedStyle(l).zIndex)},[l]),(0,V.jsx)(f_,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:p,onScrollButtonChange:_.useCallback(e=>{e&&m.current===!0&&(b(),y?.(),m.current=!1)},[b,y]),children:(0,V.jsx)(`div`,{ref:c,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:x},children:(0,V.jsx)(U.div,{...i,ref:d,style:{boxSizing:`border-box`,maxHeight:`100%`,...i.style}})})})});l_.displayName=c_;var u_=`SelectPopperPosition`,d_=_.forwardRef((e,t)=>{let{__scopeSelect:n,align:r=`start`,collisionPadding:i=n_,...a}=e,o=Bg(n);return(0,V.jsx)(sp,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})});d_.displayName=u_;var[f_,p_]=zg(e_,{}),m_=`SelectViewport`,h_=_.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:r,...i}=e,a=i_(m_,n),o=p_(m_,n),s=Sr(t,a.onViewportChange),c=_.useRef(0);return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:r}),(0,V.jsx)(Ig.Slot,{scope:n,children:(0,V.jsx)(U.div,{"data-radix-select-viewport":``,role:`presentation`,...i,ref:s,style:{position:`relative`,flex:1,overflow:`hidden auto`,...i.style},onScroll:H(i.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=o;if(r?.current&&n){let e=Math.abs(c.current-t.scrollTop);if(e>0){let r=window.innerHeight-n_*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o0?s:0,n.style.justifyContent=`flex-end`)}}}c.current=t.scrollTop})})})]})});h_.displayName=m_;var g_=`SelectGroup`,[__,v_]=zg(g_),y_=_.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=Gs();return(0,V.jsx)(__,{scope:n,id:i,children:(0,V.jsx)(U.div,{role:`group`,"aria-labelledby":i,...r,ref:t})})});y_.displayName=g_;var b_=`SelectLabel`,x_=_.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=v_(b_,n);return(0,V.jsx)(U.div,{id:i.id,...r,ref:t})});x_.displayName=b_;var S_=`SelectItem`,[C_,w_]=zg(S_),T_=_.forwardRef((e,t)=>{let{__scopeSelect:n,value:r,disabled:i=!1,textValue:a,...o}=e,s=Hg(S_,n),c=i_(S_,n),l=s.value===r,[u,d]=_.useState(a??``),[f,p]=_.useState(!1),m=Sr(t,e=>c.itemRefCallback?.(e,r,i)),h=Gs(),g=_.useRef(`touch`),v=()=>{i||(s.onValueChange(r),s.onOpenChange(!1))};if(r===``)throw Error(`A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return(0,V.jsx)(C_,{scope:n,value:r,disabled:i,textId:h,isSelected:l,onItemTextChange:_.useCallback(e=>{d(t=>t||(e?.textContent??``).trim())},[]),children:(0,V.jsx)(Ig.ItemSlot,{scope:n,value:r,disabled:i,textValue:u,children:(0,V.jsx)(U.div,{role:`option`,"aria-labelledby":h,"data-highlighted":f?``:void 0,"aria-selected":l&&f,"data-state":l?`checked`:`unchecked`,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,tabIndex:i?void 0:-1,...o,ref:m,onFocus:H(o.onFocus,()=>p(!0)),onBlur:H(o.onBlur,()=>p(!1)),onClick:H(o.onClick,()=>{g.current!==`mouse`&&v()}),onPointerUp:H(o.onPointerUp,()=>{g.current===`mouse`&&v()}),onPointerDown:H(o.onPointerDown,e=>{g.current=e.pointerType}),onPointerMove:H(o.onPointerMove,e=>{g.current=e.pointerType,i?c.onItemLeave?.():g.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:H(o.onPointerLeave,e=>{e.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:H(o.onKeyDown,e=>{c.searchRef?.current!==``&&e.key===` `||(Pg.includes(e.key)&&v(),e.key===` `&&e.preventDefault())})})})})});T_.displayName=S_;var E_=`SelectItemText`,D_=_.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,...a}=e,o=Hg(E_,n),s=i_(E_,n),c=w_(E_,n),l=Wg(E_,n),[u,d]=_.useState(null),f=Sr(t,e=>d(e),c.onItemTextChange,e=>s.itemTextRefCallback?.(e,c.value,c.disabled)),p=u?.textContent,m=_.useMemo(()=>(0,V.jsx)(`option`,{value:c.value,disabled:c.disabled,children:p},c.value),[c.disabled,c.value,p]),{onNativeOptionAdd:h,onNativeOptionRemove:g}=l;return ri(()=>(h(m),()=>g(m)),[h,g,m]),(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(U.span,{id:c.textId,...a,ref:f}),c.isSelected&&o.valueNode&&!o.valueNodeHasChildren?v.createPortal(a.children,o.valueNode):null]})});D_.displayName=E_;var O_=`SelectItemIndicator`,k_=_.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return w_(O_,n).isSelected?(0,V.jsx)(U.span,{"aria-hidden":!0,...r,ref:t}):null});k_.displayName=O_;var A_=`SelectScrollUpButton`,j_=_.forwardRef((e,t)=>{let n=i_(A_,e.__scopeSelect),r=p_(A_,e.__scopeSelect),[i,a]=_.useState(!1),o=Sr(t,r.onScrollButtonChange);return ri(()=>{if(n.viewport&&n.isPositioned){let e=function(){a(t.scrollTop>0)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,V.jsx)(P_,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null});j_.displayName=A_;var M_=`SelectScrollDownButton`,N_=_.forwardRef((e,t)=>{let n=i_(M_,e.__scopeSelect),r=p_(M_,e.__scopeSelect),[i,a]=_.useState(!1),o=Sr(t,r.onScrollButtonChange);return ri(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;a(Math.ceil(t.scrollTop)t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,V.jsx)(P_,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null});N_.displayName=M_;var P_=_.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=i_(`SelectScrollButton`,n),o=_.useRef(null),s=Lg(n),c=_.useCallback(()=>{o.current!==null&&(window.clearInterval(o.current),o.current=null)},[]);return _.useEffect(()=>()=>c(),[c]),ri(()=>{s().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[s]),(0,V.jsx)(U.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:H(i.onPointerDown,()=>{o.current===null&&(o.current=window.setInterval(r,50))}),onPointerMove:H(i.onPointerMove,()=>{a.onItemLeave?.(),o.current===null&&(o.current=window.setInterval(r,50))}),onPointerLeave:H(i.onPointerLeave,()=>{c()})})}),F_=`SelectSeparator`,I_=_.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,V.jsx)(U.div,{"aria-hidden":!0,...r,ref:t})});I_.displayName=F_;var L_=`SelectArrow`,R_=_.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=Bg(n),a=Hg(L_,n),o=i_(L_,n);return a.open&&o.position===`popper`?(0,V.jsx)(cp,{...i,...r,ref:t}):null});R_.displayName=L_;var z_=`SelectBubbleInput`,B_=_.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{let i=_.useRef(null),a=Sr(r,i),o=Uh(t);return _.useEffect(()=>{let e=i.current;if(!e)return;let n=window.HTMLSelectElement.prototype,r=Object.getOwnPropertyDescriptor(n,`value`).set;if(o!==t&&r){let n=new Event(`change`,{bubbles:!0});r.call(e,t),e.dispatchEvent(n)}},[o,t]),(0,V.jsx)(U.select,{...n,style:{...hi,...n.style},ref:a,defaultValue:t})});B_.displayName=z_;function V_(e){return e===``||e===void 0}function H_(e){let t=Br(e),n=_.useRef(``),r=_.useRef(0),i=_.useCallback(e=>{let i=n.current+e;t(i),(function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))})(i)},[t]),a=_.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return _.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}function U_(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=W_(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function W_(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var G_=Gg,K_=qg,q_=Yg,J_=Zg,Y_=$g,X_=t_,Z_=h_,Q_=x_,$_=T_,ev=D_,tv=k_,nv=j_,rv=N_,iv=I_,av=G_,ov=q_,sv=_.forwardRef(({className:e,children:t,...n},r)=>(0,V.jsxs)(K_,{ref:r,className:G(`flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1`,e),...n,children:[t,(0,V.jsx)(J_,{asChild:!0,children:(0,V.jsx)(Oa,{className:`h-4 w-4 text-slate-400`})})]}));sv.displayName=K_.displayName;var cv=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(nv,{ref:n,className:G(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,V.jsx)(Aa,{className:`h-4 w-4`})}));cv.displayName=nv.displayName;var lv=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(rv,{ref:n,className:G(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,V.jsx)(Oa,{className:`h-4 w-4`})}));lv.displayName=rv.displayName;var uv=_.forwardRef(({className:e,children:t,position:n=`popper`,...r},i)=>(0,V.jsx)(Y_,{children:(0,V.jsxs)(X_,{ref:i,className:G(`relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,...r,children:[(0,V.jsx)(cv,{}),(0,V.jsx)(Z_,{className:G(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]`),children:t}),(0,V.jsx)(lv,{})]})}));uv.displayName=X_.displayName;var dv=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(Q_,{ref:n,className:G(`py-1.5 pl-8 pr-2 text-sm font-semibold`,e),...t}));dv.displayName=Q_.displayName;var fv=_.forwardRef(({className:e,children:t,...n},r)=>(0,V.jsxs)($_,{ref:r,className:G(`relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,V.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,V.jsx)(tv,{children:(0,V.jsx)(Da,{className:`h-4 w-4`})})}),(0,V.jsx)(ev,{children:t})]}));fv.displayName=$_.displayName;var pv=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(iv,{ref:n,className:G(`-mx-1 my-1 h-px bg-muted`,e),...t}));pv.displayName=iv.displayName;var mv=e=>e.toLowerCase().replace(/\s+/g,` `).trim();function hv({enabled:e=!0}={}){let{baseUrl:t,fetchWithHeaders:n}=zs(),[r,i]=(0,_.useState)([]),[a,o]=(0,_.useState)(!1),s=(0,_.useCallback)(async()=>{o(!0);try{try{(await navigator.mediaDevices.getUserMedia({video:!0})).getTracks().forEach(e=>e.stop())}catch{}let e=(await navigator.mediaDevices.enumerateDevices()).filter(e=>e.kind===`videoinput`).map(e=>({deviceId:e.deviceId,label:e.label})),r=await n(`${t}/available-cameras`);if(!r.ok)return i([]),[];let a=(await r.json()).cameras??[],o=new Set,s=a.map(t=>{let n=t.name||`Camera ${t.index}`,r=mv(n),i=e.filter(e=>!o.has(e.deviceId)&&e.label),a=i.find(e=>mv(e.label)===r)||i.find(e=>mv(e.label).startsWith(r))||i.find(e=>mv(e.label).includes(r)||r.includes(mv(e.label)));return a&&o.add(a.deviceId),{index:t.index,name:n,deviceId:a?.deviceId??``,available:t.available}});return i(s),s}catch{return i([]),[]}finally{o(!1)}},[t,n]);return(0,_.useEffect)(()=>{if(!e)return;s();let t=()=>s();return navigator.mediaDevices.addEventListener(`devicechange`,t),()=>navigator.mediaDevices.removeEventListener(`devicechange`,t)},[e,s]),{cameras:r,isLoading:a,refresh:s}}var gv=4,_v=300,vv=new Set([`NotReadableError`,`AbortError`]);function yv(e,t){let n=(0,_.useRef)(null),[r,i]=(0,_.useState)(!1),[a,o]=(0,_.useState)(0),s=(0,_.useRef)(!1);return s.current=r,(0,_.useEffect)(()=>{let e=()=>{s.current&&o(e=>e+1)};return navigator.mediaDevices.addEventListener(`devicechange`,e),()=>navigator.mediaDevices.removeEventListener(`devicechange`,e)},[]),(0,_.useEffect)(()=>{if(t||!e){e||i(!0);return}let r=!1,a=null,o=null;i(!1);let s=async t=>{try{if(a=await navigator.mediaDevices.getUserMedia({video:{deviceId:{exact:e}}}),r){a.getTracks().forEach(e=>e.stop());return}n.current&&(n.current.srcObject=a,await n.current.play().catch(()=>{}))}catch(e){if(r)return;let n=e instanceof DOMException?e.name:``;ts(t+1),_v*2**t):i(!0)}};return s(0),()=>{r=!0,o&&clearTimeout(o),a&&a.getTracks().forEach(e=>e.stop())}},[e,t,a]),{videoRef:n,hasError:r}}var bv=`__auto__`,xv=`__default__`,See=[`MJPG`,`YUYV`,`I420`,`NV12`,`H264`,`MP4V`],Cee=[`ANY`,`V4L2`,`DSHOW`,`PVAPI`,`ANDROID`,`AVFOUNDATION`,`MSMF`],Sv=({cameras:e,onCamerasChange:t,releaseStreamsRef:n,readOnly:r=!1})=>{let{toast:i}=yr(),{cameras:a,isLoading:o,refresh:s}=hv(),[c,l]=(0,_.useState)(``),[u,d]=(0,_.useState)(``);(0,_.useEffect)(()=>{if(a.length===0||e.length===0)return;let n=!1,r=e.map(e=>{if(!e.device_id)return e;let t=a.find(t=>t.deviceId===e.device_id);return t&&t.index!==e.camera_index?(n=!0,{...e,camera_index:t.index}):e});n&&t(r)},[a]);let f=()=>{if(!c||!u.trim()){i({title:`Missing Information`,description:`Please select a camera and provide a name.`,variant:`destructive`});return}let n=parseInt(c),r=a.find(e=>e.index===n);if(!r){i({title:`Invalid Camera`,description:`Selected camera is not available.`,variant:`destructive`});return}if(e.some(e=>e.camera_index===r.index||r.deviceId&&e.device_id===r.deviceId)){i({title:`Camera Already Added`,description:`This camera is already in the configuration.`,variant:`destructive`});return}let o={id:`camera_${Date.now()}`,name:u.trim(),type:`opencv`,camera_index:r.index,device_id:r.deviceId,width:640,height:480,fps:30};t([...e,o]),l(``),d(``),i({title:`Camera Added`,description:`${o.name} has been added to the configuration.`})},p=n=>{t(e.filter(e=>e.id!==n)),i({title:`Camera Removed`,description:`Camera has been removed from the configuration.`})},m=(n,r)=>{t(e.map(e=>e.id===n?{...e,...r}:e))},[h,g]=(0,_.useState)(!1),v=(0,_.useCallback)(()=>{g(!0)},[]);(0,_.useEffect)(()=>{n&&(n.current=v)},[n,v]);let y=(0,_.useCallback)(async()=>{let t=e.length>0&&!h;t&&(g(!0),await new Promise(e=>setTimeout(e,400))),await s(),t&&g(!1)},[e.length,h,s]);return(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsx)(`h3`,{className:`text-lg font-semibold text-white border-b border-gray-700 pb-2`,children:r?`Cameras`:`Camera Configuration`}),!r&&(0,V.jsxs)(`div`,{className:`bg-gray-800/50 rounded-lg p-4 space-y-4`,children:[(0,V.jsx)(`h4`,{className:`text-md font-medium text-gray-300`,children:`Add Camera`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-3 gap-4`,children:[(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsx)(Hh,{className:`text-sm font-medium text-gray-300`,children:`Available Cameras`}),(0,V.jsx)(K,{type:`button`,variant:`ghost`,size:`icon`,onClick:()=>y(),disabled:o,className:`h-6 w-6 text-gray-400 hover:text-white`,title:`Rescan for cameras (briefly pauses previews so an already-added camera doesn't hide a new one sharing its model)`,"aria-label":`Rescan for cameras`,children:(0,V.jsx)($a,{className:`w-3.5 h-3.5 ${o?`animate-spin`:``}`})})]}),(0,V.jsxs)(av,{value:c,onValueChange:l,disabled:o,children:[(0,V.jsx)(sv,{className:`bg-gray-800 border-gray-700 text-white`,children:(0,V.jsx)(ov,{placeholder:o?`Loading cameras...`:`Select camera`})}),(0,V.jsx)(uv,{className:`bg-gray-800 border-gray-700`,children:a.map(t=>{let n=e.some(e=>e.camera_index===t.index||t.deviceId&&e.device_id===t.deviceId);return(0,V.jsx)(fv,{value:t.index.toString(),className:`text-white hover:bg-gray-700`,disabled:!t.available||n,children:(0,V.jsxs)(`div`,{className:`flex flex-col`,children:[(0,V.jsx)(`span`,{className:`font-medium`,children:t.name}),(0,V.jsxs)(`span`,{className:`text-xs text-gray-400`,children:[`Index `,t.index,n&&` · already added`]})]})},t.index)})})]})]}),(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Hh,{className:`text-sm font-medium text-gray-300`,children:`Camera Name`}),(0,V.jsx)(Fh,{value:u,onChange:e=>d(e.target.value),placeholder:`e.g., workspace_cam`,className:`bg-gray-800 border-gray-700 text-white`})]}),(0,V.jsx)(`div`,{className:`space-y-2 flex flex-col justify-end`,children:(0,V.jsxs)(K,{onClick:f,className:`bg-blue-500 hover:bg-blue-600 text-white`,disabled:!c||!u.trim(),children:[(0,V.jsx)(Qa,{className:`w-4 h-4 mr-2`}),`Add Camera`]})})]})]}),e.length>0&&(0,V.jsxs)(`div`,{className:`space-y-4`,children:[!r&&(0,V.jsxs)(`h4`,{className:`text-md font-medium text-gray-300`,children:[`Configured Cameras (`,e.length,`)`]}),(0,V.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-2 gap-4`,children:e.map(e=>(0,V.jsx)(wee,{camera:e,paused:h,readOnly:r,onRemove:()=>p(e.id),onUpdate:t=>m(e.id,t)},e.id))})]}),e.length===0&&(0,V.jsxs)(`div`,{className:`text-center py-8 text-gray-500`,children:[(0,V.jsx)(Ea,{className:`w-12 h-12 mx-auto mb-4 text-gray-600`}),(0,V.jsx)(`p`,{children:r?`No cameras are configured for this robot.`:`No cameras configured. Add a camera to get started.`})]})]})},wee=({camera:e,paused:t,readOnly:n,onRemove:r,onUpdate:i})=>{let{videoRef:a,hasError:o}=yv(e.device_id,t);return(0,V.jsxs)(`div`,{className:`bg-gray-900 rounded-lg border border-gray-700 overflow-hidden`,children:[(0,V.jsx)(`div`,{className:`aspect-[4/3] bg-gray-800 relative`,children:!t&&e.device_id&&!o?(0,V.jsx)(`video`,{ref:a,autoPlay:!0,muted:!0,playsInline:!0,className:`w-full h-full object-cover`}):(0,V.jsxs)(`div`,{className:`w-full h-full flex flex-col items-center justify-center`,children:[(0,V.jsx)(fo,{className:`w-8 h-8 text-gray-500 mb-2`}),(0,V.jsx)(`span`,{className:`text-gray-500 text-sm`,children:t?`Preview paused`:e.device_id?`Preview failed`:`No browser match`})]})}),(0,V.jsxs)(`div`,{className:`p-3 space-y-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsx)(`h5`,{className:`font-medium text-white truncate`,children:e.name}),!n&&(0,V.jsx)(K,{onClick:r,size:`sm`,variant:`ghost`,className:`text-red-400 hover:text-red-300 hover:bg-red-900/20 p-1`,children:(0,V.jsx)(ho,{className:`w-4 h-4`})})]}),n?(0,V.jsxs)(`p`,{className:`text-xs text-gray-400`,children:[e.width,`×`,e.height,e.fps?` · ${e.fps} fps`:``]}):(0,V.jsxs)(_g,{children:[(0,V.jsxs)(vg,{className:`group flex items-center gap-1.5 text-xs font-medium text-gray-300 hover:text-white transition-colors`,children:[(0,V.jsx)(ka,{className:`w-3.5 h-3.5 transition-transform group-data-[state=open]:rotate-90`}),`Configuration`]}),(0,V.jsxs)(yg,{className:`pt-2 space-y-2`,children:[(0,V.jsxs)(`div`,{className:`grid grid-cols-1 gap-2 text-xs text-gray-400`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`span`,{className:`w-16`,children:`Resolution:`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,V.jsx)(Ih,{value:e.width,onChange:e=>{e!==void 0&&i({width:e})},className:`bg-gray-800 border-gray-700 text-white text-xs h-6 px-2 w-16`,min:`320`,max:`1920`}),(0,V.jsx)(`span`,{className:`flex items-center`,children:`×`}),(0,V.jsx)(Ih,{value:e.height,onChange:e=>{e!==void 0&&i({height:e})},className:`bg-gray-800 border-gray-700 text-white text-xs h-6 px-2 w-16`,min:`240`,max:`1080`})]})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`span`,{className:`w-16`,children:`FPS:`}),(0,V.jsx)(Ih,{value:e.fps??30,onChange:e=>{e!==void 0&&i({fps:e})},className:`bg-gray-800 border-gray-700 text-white text-xs h-6 px-2 w-16`,min:`10`,max:`60`})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`span`,{className:`w-16`,children:`FOURCC:`}),(0,V.jsxs)(av,{value:e.fourcc??bv,onValueChange:e=>i({fourcc:e===bv?void 0:e}),children:[(0,V.jsx)(sv,{className:`bg-gray-800 border-gray-700 text-white text-xs h-6 px-2 w-28`,children:(0,V.jsx)(ov,{})}),(0,V.jsxs)(uv,{className:`bg-gray-800 border-gray-700`,children:[(0,V.jsx)(fv,{value:bv,className:`text-white hover:bg-gray-700 text-xs`,children:`Auto`}),See.map(e=>(0,V.jsx)(fv,{value:e,className:`text-white hover:bg-gray-700 text-xs`,children:e},e))]})]})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`span`,{className:`w-16`,children:`Backend:`}),(0,V.jsxs)(av,{value:e.backend??xv,onValueChange:e=>i({backend:e===xv?void 0:e}),children:[(0,V.jsx)(sv,{className:`bg-gray-800 border-gray-700 text-white text-xs h-6 px-2 w-28`,children:(0,V.jsx)(ov,{})}),(0,V.jsxs)(uv,{className:`bg-gray-800 border-gray-700`,children:[(0,V.jsx)(fv,{value:xv,className:`text-white hover:bg-gray-700 text-xs`,children:`Default`}),Cee.map(e=>(0,V.jsx)(fv,{value:e,className:`text-white hover:bg-gray-700 text-xs`,children:e},e))]})]})]}),(0,V.jsx)(`p`,{className:`text-[10px] text-gray-500 leading-tight`,children:`Overriding the backend can reorder camera indices on macOS.`})]}),(0,V.jsxs)(`div`,{className:`text-xs text-gray-500`,children:[`Type: `,e.type,` | Device:`,` `,e.device_id?.substring(0,10),`...`]})]})]})]})]})},Tee=({open:e,onOpenChange:t,robot:n,datasetName:r,setDatasetName:i,singleTask:a,setSingleTask:o,numEpisodes:s,setNumEpisodes:c,episodeTimeS:l,setEpisodeTimeS:u,resetTimeS:d,setResetTimeS:f,streamingEncoding:p,setStreamingEncoding:m,cameras:h,setCameras:g,onStart:_,releaseStreamsRef:v})=>{let{auth:y}=Hs(),b=!!n&&n.is_clean;return(0,V.jsx)(Su,{open:e,onOpenChange:t,children:(0,V.jsxs)(Tu,{className:`bg-gray-900 border-gray-800 text-white sm:max-w-[600px] p-8 max-h-[90vh] overflow-y-auto`,children:[(0,V.jsxs)(Eu,{children:[(0,V.jsx)(`div`,{className:`flex justify-center items-center mb-4`,children:(0,V.jsx)(`div`,{className:`w-8 h-8 bg-red-500 rounded-full flex items-center justify-center`,children:(0,V.jsx)(`span`,{className:`text-white font-bold text-sm`,children:`REC`})})}),(0,V.jsx)(Ou,{className:`text-white text-center text-2xl font-bold`,children:`Configure Recording`})]}),(0,V.jsxs)(`div`,{className:`space-y-6 py-4`,children:[(0,V.jsx)(ku,{className:`text-gray-400 text-base leading-relaxed text-center`,children:`Pick a configured robot and dataset parameters for recording.`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 gap-6`,children:[(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsx)(`h3`,{className:`text-lg font-semibold text-white border-b border-gray-700 pb-2`,children:`Robot Configuration`}),n?n.is_clean?(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[(0,V.jsx)(Na,{className:`w-4 h-4 text-green-400`}),(0,V.jsxs)(`span`,{className:`text-slate-200`,children:[`Recording with `,(0,V.jsx)(`strong`,{children:n.name})]})]}):(0,V.jsxs)(xg,{className:`bg-amber-900/40 border-amber-700 text-amber-100`,children:[(0,V.jsx)(lo,{className:`h-4 w-4`}),(0,V.jsxs)(Cg,{children:[(0,V.jsx)(`strong`,{children:n.name}),` is missing a calibration. Configure it before recording.`]})]}):(0,V.jsxs)(xg,{className:`bg-amber-900/40 border-amber-700 text-amber-100`,children:[(0,V.jsx)(lo,{className:`h-4 w-4`}),(0,V.jsx)(Cg,{children:`Select and configure a robot on the Landing page before recording.`})]})]}),(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsx)(`h3`,{className:`text-lg font-semibold text-white border-b border-gray-700 pb-2`,children:`Dataset Configuration`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 gap-4`,children:[(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Hh,{htmlFor:`datasetName`,className:`text-sm font-medium text-gray-300`,children:`Dataset Name *`}),(0,V.jsx)(Fh,{id:`datasetName`,value:r,onChange:e=>i(e.target.value.replace(/[^A-Za-z0-9._-]/g,`_`)),placeholder:`my_dataset`,className:`bg-gray-800 border-gray-700 text-white`}),(0,V.jsxs)(`p`,{className:`text-xs text-gray-500`,children:[`Letters, numbers, `,(0,V.jsx)(`code`,{children:`.`}),` `,(0,V.jsx)(`code`,{children:`_`}),` `,(0,V.jsx)(`code`,{children:`-`}),` only — other characters become`,` `,(0,V.jsx)(`code`,{children:`_`}),`.`]}),r&&(y.status===`authenticated`?(0,V.jsxs)(`p`,{className:`text-xs text-gray-500`,children:[`Will be saved as`,` `,(0,V.jsxs)(`span`,{className:`text-gray-300 font-mono`,children:[y.username,`/`,r]})]}):y.status===`unauthenticated`?(0,V.jsx)(`p`,{className:`text-xs text-amber-400/80`,children:`Log in to Hugging Face to set the repository owner.`}):null)]}),(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Hh,{htmlFor:`singleTask`,className:`text-sm font-medium text-gray-300`,children:`Task Description *`}),(0,V.jsx)(Fh,{id:`singleTask`,value:a,onChange:e=>o(e.target.value),placeholder:`e.g., pick up the red block and place it on the blue square`,className:`bg-gray-800 border-gray-700 text-white`})]}),(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Hh,{htmlFor:`numEpisodes`,className:`text-sm font-medium text-gray-300`,children:`Number of Episodes`}),(0,V.jsx)(Ih,{id:`numEpisodes`,min:`1`,max:`100`,value:s,onChange:e=>{e!==void 0&&c(e)},className:`bg-gray-800 border-gray-700 text-white`})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-4`,children:[(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Hh,{htmlFor:`episodeTimeS`,className:`text-sm font-medium text-gray-300`,children:`Episode duration (seconds)`}),(0,V.jsx)(Ih,{id:`episodeTimeS`,min:`1`,value:l,onChange:e=>{e!==void 0&&u(e)},className:`bg-gray-800 border-gray-700 text-white`})]}),(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Hh,{htmlFor:`resetTimeS`,className:`text-sm font-medium text-gray-300`,children:`Reset duration (seconds)`}),(0,V.jsx)(Ih,{id:`resetTimeS`,min:`1`,value:d,onChange:e=>{e!==void 0&&f(e)},className:`bg-gray-800 border-gray-700 text-white`})]})]})]})]}),(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsx)(Sv,{cameras:h,onCamerasChange:g,releaseStreamsRef:v,readOnly:!0}),(0,V.jsx)(`p`,{className:`text-xs text-gray-500`,children:`These are the cameras set up for this robot. To add or change a camera, configure it on the Calibration page.`})]}),(0,V.jsxs)(_g,{className:`space-y-4 group`,children:[(0,V.jsxs)(vg,{className:`flex items-center justify-between w-full text-lg font-semibold text-white border-b border-gray-700 pb-2`,children:[(0,V.jsx)(`span`,{children:`Advanced Parameters`}),(0,V.jsx)(Oa,{className:`w-4 h-4 transition-transform group-data-[state=open]:rotate-180`})]}),(0,V.jsx)(yg,{className:`space-y-3`,children:(0,V.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,V.jsx)(ag,{id:`streamingEncoding`,checked:p,onCheckedChange:e=>m(e===!0),className:`mt-0.5 border-gray-500 data-[state=checked]:bg-red-500 data-[state=checked]:border-red-500`}),(0,V.jsxs)(`div`,{className:`space-y-1`,children:[(0,V.jsx)(Hh,{htmlFor:`streamingEncoding`,className:`text-sm font-medium text-gray-200 cursor-pointer`,children:`Streaming video encoding`}),(0,V.jsx)(`p`,{className:`text-xs text-gray-500`,children:`Encodes frames in real time during capture so each episode saves almost instantly. Uncheck to fall back to the slower PNG-then-encode flow.`})]})]})})]})]}),(0,V.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-4 justify-center pt-4`,children:[(0,V.jsx)(K,{onClick:_,disabled:!b,className:`w-full sm:w-auto bg-red-500 hover:bg-red-600 text-white px-10 py-6 text-lg transition-all shadow-md shadow-red-500/30 hover:shadow-lg hover:shadow-red-500/40 disabled:opacity-40 disabled:cursor-not-allowed`,children:`Start Recording`}),(0,V.jsx)(K,{onClick:()=>t(!1),variant:`outline`,className:`w-full sm:w-auto border-gray-500 hover:border-gray-200 px-10 py-6 text-lg text-zinc-500 bg-zinc-900 hover:bg-zinc-800`,children:`Cancel`})]})]})]})})},Eee=/^[\w.\-]+\/[\w.\-]+$/,Dee=/^[A-Za-z0-9._-]+$/,Oee=({datasets:e,loading:t,onPickExisting:n,onCreateNew:r,onOpenCustom:i,children:a})=>{let[o,s]=(0,_.useState)(!1),[c,l]=(0,_.useState)(``),u=c.trim(),d=e.some(e=>e.repo_id.toLowerCase()===u.toLowerCase()),f=Eee.test(u),p=Dee.test(u)&&!u.includes(`/`),m=u.length>0&&p&&!d,h=f&&!d,g=d||u!==``&&!m,v=d?`Already exists`:u===``?`Create new dataset…`:m?`Create "${u}"`:`Use a name without "/"`,y=()=>{g||(r(u),S())},b=e.filter(e=>e.source===`local`||e.source===`both`),x=e.filter(e=>e.source===`hub`),S=()=>{l(``),s(!1)},C=e=>{n(e),S()},w=()=>{m&&(r(u),S())},T=()=>{h&&(i(u),S())},E=e=>(0,V.jsxs)(kh,{value:e.repo_id,onSelect:()=>C(e),className:`text-white aria-selected:bg-gray-700`,children:[(0,V.jsx)(`span`,{className:`flex-1 truncate`,children:e.repo_id}),e.source===`both`&&(0,V.jsx)(`span`,{className:`text-xs text-gray-400 mr-2`,children:`on Hub`}),e.private&&(0,V.jsx)(`span`,{className:`text-xs text-amber-400`,children:`private`})]},e.repo_id);return(0,V.jsxs)(Tm,{open:o,onOpenChange:s,children:[(0,V.jsx)(Em,{asChild:!0,children:a}),(0,V.jsx)(Dm,{className:`w-[320px] p-0 bg-gray-800 border-gray-700 text-white`,align:`end`,children:(0,V.jsxs)(Ch,{className:`bg-gray-800`,children:[(0,V.jsx)(wh,{placeholder:`Search, type a new name, or org/name…`,value:c,onValueChange:e=>l(e.replace(/[^A-Za-z0-9._\-/]/g,`_`)),onKeyDown:e=>{e.key===`Enter`&&(m?(e.preventDefault(),w()):h&&(e.preventDefault(),T()))},className:`text-white`}),(0,V.jsxs)(Th,{children:[e.length===0&&!m&&!h&&(0,V.jsx)(Eh,{className:`py-4 text-sm text-gray-400 text-center`,children:t?`Loading datasets…`:`No datasets yet. Type a name to create one.`}),b.length>0&&(0,V.jsx)(Dh,{heading:`Local`,children:b.map(E)}),x.length>0&&(0,V.jsx)(Dh,{heading:`Hugging Face`,children:x.map(E)}),h&&(0,V.jsx)(Dh,{heading:`Custom repo`,children:(0,V.jsxs)(kh,{value:`__open__${u}`,onSelect:T,className:`text-white aria-selected:bg-gray-700`,children:[(0,V.jsx)(Ua,{className:`mr-2 h-4 w-4`}),`Open "`,u,`" in viewer`]})})]}),(0,V.jsxs)(`button`,{type:`button`,onClick:y,disabled:g,className:`flex w-full items-center gap-2 border-t border-gray-700 px-3 py-2 text-sm text-white hover:bg-gray-700 disabled:cursor-not-allowed disabled:text-gray-500 disabled:hover:bg-transparent`,children:[(0,V.jsx)(Qa,{className:`h-4 w-4`}),v]})]})})]})},kee=(e,t)=>{let{wsBaseUrl:n}=zs(),r=(0,_.useRef)(e);r.current=e;let i=(0,_.useRef)(t);i.current=t,(0,_.useEffect)(()=>{let e=!1,t=null,a=null,o=()=>{if(!e){try{t=new WebSocket(`${n}/ws/joint-data`)}catch{a=setTimeout(o,3e3);return}t.onmessage=e=>{try{let t=JSON.parse(e.data);t?.type===`jobs_changed`?r.current():t?.type===`job_progress`&&i.current&&Array.isArray(t?.jobs)&&i.current(t.jobs)}catch{}},t.onclose=()=>{e||(a=setTimeout(o,3e3))}}};return o(),()=>{e=!0,a&&clearTimeout(a),t&&t.close()}},[n])},Cv=class extends Error{status;detail;constructor(e,t,n){super(e),this.name=`ApiError`,this.status=t,this.detail=n}};async function wv(e,t,n,{method:r=`GET`,body:i,signal:a,action:o}={}){let s={method:r,signal:a};i!==void 0&&(s.body=JSON.stringify(i));let c=await t(`${e}${n}`,s);if(!c.ok){let e=null;try{let t=await c.json();e=t?.detail??t?.message??null}catch{}throw new Cv(`${o||`${r} ${n}`} failed: ${e??c.status}`,c.status,e)}if(c.status!==204)return c.json()}async function Tv(e,t,n=10,r){return(await wv(e,t,`/jobs?limit=${n}`,{signal:r,action:`List jobs`})).jobs}async function Aee(e,t,n,r){return wv(e,t,`/jobs/${n}`,{signal:r,action:`Get job`})}async function jee(e,t,n,r){return(await wv(e,t,`/jobs/${n}/logs`,{signal:r,action:`Get job logs`})).logs}async function Mee(e,t,n,r){return(await wv(e,t,`/jobs/${n}/log-file`,{signal:r,action:`Get job log file`})).logs}async function Nee(e,t,n,r){return(await wv(e,t,`/jobs/${n}/metrics-history`,{signal:r,action:`Get job metrics history`})).points}async function Pee(e,t,n){let{target:r,...i}=n,a=r?{config:i,target:r}:i;try{return await wv(e,t,`/jobs/training`,{method:`POST`,body:a,action:`Start training`})}catch(e){throw e instanceof Cv&&e.status===409?Error(`Another training is already running. Stop it first.`):e}}async function Fee(e,t,n,r){return wv(e,t,`/jobs/import`,{method:`POST`,body:r?{source:n,name:r}:{source:n},action:`Import model`})}async function Ev(e,t,n){return wv(e,t,`/jobs/${n}/stop`,{method:`POST`,action:`Stop job`})}async function Dv(e,t,n){await wv(e,t,`/jobs/${n}`,{method:`DELETE`,action:`Delete job`})}var Iee={authenticated:!1,username:null,flavors:[]};async function Lee(e,t,n){try{return await wv(e,t,`/jobs/runners/hardware`,{signal:n,action:`List runner hardware`})}catch(e){if(e instanceof Cv)return Iee;throw e}}var Ree={authenticated:!1,jobs:[],models:[]};async function zee(e,t,n){try{return await wv(e,t,`/jobs/hub`,{signal:n,action:`List hub jobs`})}catch(e){if(e instanceof Cv)return Ree;throw e}}var Ov=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(`div`,{ref:n,className:G(`rounded-lg border bg-card text-card-foreground shadow-sm`,e),...t}));Ov.displayName=`Card`;var kv=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(`div`,{ref:n,className:G(`flex flex-col space-y-1.5 p-6`,e),...t}));kv.displayName=`CardHeader`;var Av=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(`h3`,{ref:n,className:G(`text-2xl font-semibold leading-none tracking-tight`,e),...t}));Av.displayName=`CardTitle`;var Bee=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(`p`,{ref:n,className:G(`text-sm text-muted-foreground`,e),...t}));Bee.displayName=`CardDescription`;var jv=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(`div`,{ref:n,className:G(`p-6 pt-0`,e),...t}));jv.displayName=`CardContent`;var Vee=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(`div`,{ref:n,className:G(`flex items-center p-6 pt-0`,e),...t}));Vee.displayName=`CardFooter`;async function Mv(e,t,n,r){return(await wv(e,t,`/jobs/${n}/checkpoints`,{signal:r,action:`List checkpoints`})).checkpoints}async function Hee(e,t,n,r,i){return wv(e,t,`/jobs/${n}/checkpoints/${r}/policy-config`,{signal:i,action:`Load policy config`})}var Nv=({checkpoints:e,selectedStep:t,onChange:n,disabled:r,placeholder:i=`Select checkpoint`})=>{let a=e=>e===0?`latest`:`step ${e}`;return(0,V.jsxs)(av,{value:t==null?void 0:String(t),onValueChange:e=>n(Number(e)),disabled:r||e.length===0,children:[(0,V.jsx)(sv,{className:`bg-slate-800 border-slate-700 text-white h-8 text-xs px-2 w-auto min-w-[110px]`,onClick:e=>e.stopPropagation(),children:(0,V.jsx)(ov,{placeholder:i})}),(0,V.jsx)(uv,{className:`bg-slate-900 border-slate-700 text-white`,children:e.map(e=>(0,V.jsx)(fv,{value:String(e.step),onClick:e=>e.stopPropagation(),children:a(e.step)},e.step))})]})};function Pv(e){let t=Math.max(0,Date.now()/1e3-e);return t<60?`${Math.floor(t)}s ago`:t<3600?`${Math.floor(t/60)}m ago`:t<86400?`${Math.floor(t/3600)}h ago`:`${Math.floor(t/86400)}d ago`}var Uee={running:{label:`Running`,color:`text-green-400`,Icon:Ja},done:{label:`Done`,color:`text-slate-400`,Icon:Pa},failed:{label:`Failed`,color:`text-red-400`,Icon:Ia},interrupted:{label:`Interrupted`,color:`text-amber-400`,Icon:lo}},Fv=({job:e,onStop:t,onDelete:n,onPlay:r})=>{let i=Re(),{baseUrl:a,fetchWithHeaders:o}=zs(),s=Uee[e.state],c=s.Icon,l=e.state===`running`,u=e.runner===`imported`,d=e.hf_repo_id||e.output_dir,f=u?`Imported`:s.label,p=l&&e.metrics.total_steps===0,m=e.metrics.total_steps>0?Math.min(100,e.metrics.current_step/e.metrics.total_steps*100):0,h=u?d:p?`starting…`:l?`started ${Pv(e.started_at)}`:e.ended_at==null?s.label.toLowerCase():`ended ${Pv(e.ended_at)}`,[g,v]=(0,_.useState)([]),[y,b]=(0,_.useState)(null);(0,_.useEffect)(()=>{if(e.checkpoint_count<=0){v([]),b(null);return}let t=!1;return Mv(a,o,e.id).then(e=>{if(!t)if(v(e),e.length>0){let t=e[e.length-1].step;b(n=>n!=null&&e.some(e=>e.step===n)?n:t)}else b(null)}).catch(()=>{t||(v([]),b(null))}),()=>{t=!0}},[a,o,e.id,e.checkpoint_count]);let x=r=>{r.stopPropagation(),l?window.confirm(`Stop this run?`)&&t(e.id):u?window.confirm(`Remove this imported model? The source files are left untouched.`)&&n(e.id):window.confirm(`Delete this run? This wipes the output directory.`)&&n(e.id)},S=t=>{t.stopPropagation(),y!=null&&r(e,y)},C=l,w=g.length>0&&y!=null;return(0,V.jsx)(Ov,{onClick:()=>{u||i(`/training/${e.id}`)},className:`bg-slate-800/50 border-slate-700 rounded-xl transition-colors ${u?``:`cursor-pointer hover:border-slate-500`}`,children:(0,V.jsxs)(jv,{className:`p-4 space-y-3`,children:[(0,V.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs font-semibold ${s.color}`,children:[(0,V.jsx)(c,{className:`w-3.5 h-3.5 ${l?`animate-spin`:``}`}),f]}),e.runner===`hf_cloud`&&e.hf_job_url?(0,V.jsx)(K,{variant:`ghost`,size:`icon`,asChild:!0,className:`h-7 w-7 text-slate-400 hover:text-white`,"aria-label":`Open Hub job page`,children:(0,V.jsx)(`a`,{href:e.hf_job_url,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>e.stopPropagation(),children:(0,V.jsx)(Ua,{className:`w-3.5 h-3.5`})})}):(0,V.jsx)(K,{variant:`ghost`,size:`icon`,onClick:x,className:`h-7 w-7 text-slate-400 hover:text-white`,"aria-label":l?`Stop job`:`Delete job`,children:l?(0,V.jsx)(oo,{className:`w-3.5 h-3.5`}):(0,V.jsx)(ho,{className:`w-3.5 h-3.5`})})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`text-white font-semibold truncate`,title:e.name,children:e.name}),(0,V.jsx)(`div`,{className:`text-xs text-slate-400 truncate`,title:h,style:u?{direction:`rtl`,textAlign:`left`}:void 0,children:u?`‎`+h:h})]}),C?(0,V.jsxs)(`div`,{className:`relative h-5 w-full overflow-hidden rounded-md bg-slate-900 border border-slate-700`,children:[(0,V.jsx)(`div`,{className:`h-full bg-gradient-to-r from-blue-500 to-sky-400 transition-[width] duration-500`,style:{width:`${m}%`}}),(0,V.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center text-xs font-semibold text-white tabular-nums drop-shadow`,children:p?`Training starting…`:`${m.toFixed(1)}%`})]}):null,w?(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(Nv,{checkpoints:g,selectedStep:y,onChange:b}),(0,V.jsx)(K,{size:`icon`,onClick:S,className:`h-8 w-8 bg-green-500 hover:bg-green-600 text-white`,"aria-label":`Run inference with this checkpoint`,children:(0,V.jsx)(Za,{className:`w-4 h-4`})})]}):null]})})};function Wee(e){if(!e)return`—`;let t=Date.parse(e);if(Number.isNaN(t))return`—`;let n=Math.max(0,(Date.now()-t)/1e3);return n<60?`${Math.floor(n)}s ago`:n<3600?`${Math.floor(n/60)}m ago`:n<86400?`${Math.floor(n/3600)}h ago`:`${Math.floor(n/86400)}d ago`}var Gee={RUNNING:{label:`Running`,color:`text-green-400`,Icon:Ja,spin:!0},QUEUED:{label:`Queued`,color:`text-amber-400`,Icon:Ra},SCHEDULING:{label:`Scheduling`,color:`text-amber-400`,Icon:Ra},COMPLETED:{label:`Done`,color:`text-slate-400`,Icon:Pa},FAILED:{label:`Failed`,color:`text-red-400`,Icon:Ia},CANCELED:{label:`Cancelled`,color:`text-amber-400`,Icon:lo},CANCELLED:{label:`Cancelled`,color:`text-amber-400`,Icon:lo}},Iv=({job:e})=>{let t=e.status?.stage?.toUpperCase()??``,n=Gee[t]??{label:t||`Unknown`,color:`text-slate-400`,Icon:Fa},r=n.Icon,i=e.docker_image??e.space_id??`Job ${e.id.slice(0,12)}…`;return(0,V.jsx)(Ov,{onClick:()=>window.open(e.url,`_blank`,`noopener,noreferrer`),className:`bg-slate-800/50 border-slate-700 rounded-xl cursor-pointer hover:border-slate-500 transition-colors`,children:(0,V.jsxs)(jv,{className:`p-4 space-y-3`,children:[(0,V.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs font-semibold ${n.color}`,children:[(0,V.jsx)(r,{className:`w-3.5 h-3.5 ${n.spin?`animate-spin`:``}`}),n.label]}),(0,V.jsx)(K,{variant:`ghost`,size:`icon`,asChild:!0,className:`h-7 w-7 text-slate-400 hover:text-white`,"aria-label":`View on Hub`,children:(0,V.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>e.stopPropagation(),children:(0,V.jsx)(Ua,{className:`w-3.5 h-3.5`})})})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`text-white font-semibold truncate`,title:i,children:i}),(0,V.jsxs)(`div`,{className:`text-xs text-slate-400 truncate`,children:[e.flavor??`—`,` · `,Wee(e.created_at),e.owner?` · ${e.owner}`:``]})]}),e.status?.message?(0,V.jsx)(`div`,{className:`text-xs text-slate-500 truncate`,title:e.status.message,children:e.status.message}):null]})})};function Kee(e){if(!e)return`—`;let t=Date.parse(e);if(Number.isNaN(t))return`—`;let n=Math.max(0,(Date.now()-t)/1e3);return n<60?`${Math.floor(n)}s ago`:n<3600?`${Math.floor(n/60)}m ago`:n<86400?`${Math.floor(n/3600)}h ago`:`${Math.floor(n/86400)}d ago`}var Lv=({model:e})=>{let t=`https://huggingface.co/${e.repo_id}`,n=e.repo_id.includes(`/`)?e.repo_id.split(`/`).slice(1).join(`/`):e.repo_id;return(0,V.jsx)(Ov,{onClick:()=>window.open(t,`_blank`,`noopener,noreferrer`),className:`bg-slate-800/50 border-slate-700 rounded-xl cursor-pointer hover:border-slate-500 transition-colors`,children:(0,V.jsxs)(jv,{className:`p-4 space-y-3`,children:[(0,V.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs font-semibold text-sky-400`,children:[(0,V.jsx)(uo,{className:`w-3.5 h-3.5`}),`Uploaded`]}),(0,V.jsx)(K,{variant:`ghost`,size:`icon`,asChild:!0,className:`h-7 w-7 text-slate-400 hover:text-white`,"aria-label":`View on Hub`,children:(0,V.jsx)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>e.stopPropagation(),children:(0,V.jsx)(Ua,{className:`w-3.5 h-3.5`})})})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`div`,{className:`text-white font-semibold truncate flex items-center gap-1.5`,title:e.repo_id,children:[e.private?(0,V.jsx)(Ya,{className:`w-3.5 h-3.5 text-slate-400 shrink-0`}):null,(0,V.jsx)(`span`,{className:`truncate`,children:n})]}),(0,V.jsxs)(`div`,{className:`text-xs text-slate-400 truncate`,title:e.repo_id,children:[e.repo_id,` · updated `,Kee(e.last_modified)]})]})]})})};async function qee(e,t,n){return wv(e,t,`/start-inference`,{method:`POST`,body:n,action:`Start inference`})}async function Rv(e,t){return wv(e,t,`/stop-inference`,{method:`POST`,action:`Stop inference`})}async function Jee(e,t,n){return wv(e,t,`/inference-status`,{signal:n,action:`Get inference status`})}var zv=({deviceId:e,paused:t})=>{let{videoRef:n,hasError:r}=yv(e,t);return t||r||!e?(0,V.jsxs)(`div`,{className:`w-32 h-24 bg-gray-800 rounded border border-gray-700 flex flex-col items-center justify-center`,children:[(0,V.jsx)(fo,{className:`w-5 h-5 text-gray-500 mb-1`}),(0,V.jsx)(`span`,{className:`text-[10px] text-gray-500`,children:t?`Released`:`No preview`})]}):(0,V.jsx)(`video`,{ref:n,autoPlay:!0,muted:!0,playsInline:!0,className:`w-32 h-24 object-cover rounded border border-gray-700 bg-black`})},Bv=30,Vv=({open:e,onOpenChange:t,robot:n,jobId:r,initialStep:i})=>{let{baseUrl:a,fetchWithHeaders:o}=zs(),{toast:s}=yr(),c=Re(),[l,u]=(0,_.useState)([]),[d,f]=(0,_.useState)(i),[p,m]=(0,_.useState)(``),[h,g]=(0,_.useState)(60),[v,y]=(0,_.useState)(!1),[b,x]=(0,_.useState)(null),[S,C]=(0,_.useState)(!1),[w,T]=(0,_.useState)(null),[E,D]=(0,_.useState)({}),{cameras:O}=hv({enabled:e});(0,_.useEffect)(()=>{if(!e)return;let t=!1;return Mv(a,o,r).then(e=>{if(!t&&(u(e),e.length>0)){let t=e[e.length-1].step;f(e=>e??t)}}).catch(()=>{t||u([])}),()=>{t=!0}},[e,a,o,r]),(0,_.useEffect)(()=>{if(!e||d==null){x(null),T(null);return}let t=!1;return C(!0),T(null),Hee(a,o,r,d).then(e=>{t||(x(e),D(t=>{let n={};for(let r of Object.keys(e.image_features))n[r]=t[r]??null;return n}))}).catch(e=>{t||(x(null),T(e instanceof Error?e.message:String(e)))}).finally(()=>{t||C(!1)}),()=>{t=!0}},[e,a,o,r,d]),(0,_.useEffect)(()=>{if(!b)return;let e=n?.cameras??[];e.length===0||O.length===0||D(t=>{let n=!1,r={...t};for(let t of Object.keys(b.image_features)){if(r[t]!=null)continue;let i=e.find(e=>e.name.toLowerCase()===t.toLowerCase());if(!i)continue;let a=i.device_id&&O.find(e=>e.deviceId===i.device_id)||O.find(e=>e.index===i.camera_index);a&&(r[t]=a.index,n=!0)}return n?r:t})},[b,n,O]);let k=d==null?null:l.find(e=>e.step===d)?.ref??null,A=b?Object.keys(b.image_features):[],j=A.every(e=>E[e]!=null),M=!!n&&n.is_clean&&k!=null&&!!b&&j&&!v,N=async()=>{if(!n||k==null||!b)return;y(!0),await new Promise(e=>setTimeout(e,300));let e={};for(let[t,n]of Object.entries(b.image_features)){let r=E[t];r!=null&&(e[t]={type:`opencv`,camera_index:r,width:n.width,height:n.height,fps:Bv})}try{await qee(a,o,{follower_port:n.follower_port,follower_config:n.follower_config,policy_ref:k,task:p,cameras:e,duration_s:h,robot_type:n.robot_type||`so101`}),t(!1),c(`/inference`)}catch(e){s({title:`Couldn't start inference`,description:e instanceof Error?e.message:String(e),variant:`destructive`}),y(!1)}},P=(e,t)=>{let n=Number(t);D(t=>({...t,[e]:n}))};return(0,V.jsx)(Su,{open:e,onOpenChange:t,children:(0,V.jsxs)(Tu,{className:`bg-gray-900 border-gray-800 text-white sm:max-w-[600px] p-8 max-h-[90vh] overflow-y-auto`,children:[(0,V.jsxs)(Eu,{children:[(0,V.jsx)(`div`,{className:`flex justify-center items-center mb-4`,children:(0,V.jsx)(`div`,{className:`w-8 h-8 bg-green-500 rounded-full flex items-center justify-center`,children:(0,V.jsx)(Za,{className:`w-4 h-4 text-white`})})}),(0,V.jsx)(Ou,{className:`text-white text-center text-2xl font-bold`,children:`Configure Inference`})]}),(0,V.jsxs)(`div`,{className:`space-y-6 py-4`,children:[(0,V.jsx)(ku,{className:`text-gray-400 text-base leading-relaxed text-center`,children:`Pick a checkpoint and confirm hardware. The selected policy will drive the follower autonomously for the configured duration.`}),(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsx)(`h3`,{className:`text-lg font-semibold text-white border-b border-gray-700 pb-2`,children:`Robot Configuration`}),n?n.is_clean?(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[(0,V.jsx)(Na,{className:`w-4 h-4 text-green-400`}),(0,V.jsxs)(`span`,{className:`text-slate-200`,children:[`Running on `,(0,V.jsx)(`strong`,{children:n.name})]})]}):(0,V.jsxs)(xg,{className:`bg-amber-900/40 border-amber-700 text-amber-100`,children:[(0,V.jsx)(lo,{className:`h-4 w-4`}),(0,V.jsxs)(Cg,{children:[(0,V.jsx)(`strong`,{children:n.name}),` is missing a calibration. Configure it before running inference.`]})]}):(0,V.jsxs)(xg,{className:`bg-amber-900/40 border-amber-700 text-amber-100`,children:[(0,V.jsx)(lo,{className:`h-4 w-4`}),(0,V.jsx)(Cg,{children:`Select and configure a robot on the Landing page first.`})]})]}),(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsx)(`h3`,{className:`text-lg font-semibold text-white border-b border-gray-700 pb-2`,children:`Checkpoint`}),l.length===0?(0,V.jsxs)(xg,{className:`bg-amber-900/40 border-amber-700 text-amber-100`,children:[(0,V.jsx)(lo,{className:`h-4 w-4`}),(0,V.jsx)(Cg,{children:`No checkpoints available for this job yet.`})]}):(0,V.jsx)(Nv,{checkpoints:l,selectedStep:d,onChange:f})]}),(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsx)(`h3`,{className:`text-lg font-semibold text-white border-b border-gray-700 pb-2`,children:`Run parameters`}),b?.requires_task?(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Hh,{htmlFor:`task`,className:`text-sm font-medium text-gray-300`,children:`Task description`}),(0,V.jsx)(Fh,{id:`task`,value:p,onChange:e=>m(e.target.value),placeholder:`e.g., pick up the red block`,className:`bg-gray-800 border-gray-700 text-white`}),(0,V.jsxs)(`p`,{className:`text-xs text-gray-500`,children:[`This policy is language-conditioned (`,b.policy_type,`).`]})]}):null,(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Hh,{htmlFor:`durationS`,className:`text-sm font-medium text-gray-300`,children:`Max duration (seconds)`}),(0,V.jsx)(Ih,{id:`durationS`,min:1,value:h,onChange:e=>{e!==void 0&&g(e)},className:`bg-gray-800 border-gray-700 text-white`})]})]}),(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsx)(`h3`,{className:`text-lg font-semibold text-white border-b border-gray-700 pb-2`,children:`Cameras`}),S?(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-slate-400`,children:[(0,V.jsx)(Ja,{className:`w-4 h-4 animate-spin`}),`Reading policy config…`]}):w?(0,V.jsxs)(xg,{className:`bg-red-900/40 border-red-700 text-red-100`,children:[(0,V.jsx)(lo,{className:`h-4 w-4`}),(0,V.jsxs)(Cg,{children:[`Couldn't load policy config: `,w]})]}):b?A.length===0?(0,V.jsx)(`p`,{className:`text-xs text-gray-500`,children:`This policy doesn't use cameras.`}):(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsx)(`p`,{className:`text-xs text-gray-500`,children:`Bind a physical camera to each name the policy was trained with. Resolution comes from the checkpoint.`}),A.map(e=>{let t=b.image_features[e],n=E[e],r=n==null?void 0:O.find(e=>e.index===n);return(0,V.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,V.jsxs)(`div`,{className:`flex-1`,children:[(0,V.jsx)(Hh,{className:`text-sm font-medium text-gray-200`,children:e}),(0,V.jsxs)(`p`,{className:`text-xs text-gray-500`,children:[t.width,`×`,t.height]})]}),(0,V.jsxs)(av,{value:n==null?void 0:String(n),onValueChange:t=>P(e,t),children:[(0,V.jsx)(sv,{className:`bg-gray-800 border-gray-700 text-white w-56`,children:(0,V.jsx)(ov,{placeholder:`Select a camera`})}),(0,V.jsx)(uv,{className:`bg-gray-900 border-gray-700 text-white`,children:O.length===0?(0,V.jsx)(`div`,{className:`px-2 py-1.5 text-xs text-gray-500`,children:`No cameras detected`}):O.map(e=>(0,V.jsxs)(fv,{value:String(e.index),children:[`#`,e.index,` — `,e.name]},e.index))})]}),(0,V.jsx)(zv,{deviceId:r?.deviceId??``,paused:v})]},e)})]}):null]}),(0,V.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-4 justify-center pt-4`,children:[(0,V.jsxs)(K,{onClick:N,disabled:!M,className:`w-full sm:w-auto bg-green-500 hover:bg-green-600 text-white px-10 py-6 text-lg disabled:opacity-40 disabled:cursor-not-allowed`,children:[(0,V.jsx)(Za,{className:`w-5 h-5 mr-2`}),v?`Starting…`:`Start Inference`]}),(0,V.jsx)(K,{onClick:()=>t(!1),variant:`outline`,className:`w-full sm:w-auto border-gray-500 hover:border-gray-200 px-10 py-6 text-lg text-zinc-500 bg-zinc-900 hover:bg-zinc-800`,children:`Cancel`})]})]})]})})},Hv=({open:e,onOpenChange:t,onImported:n})=>{let{baseUrl:r,fetchWithHeaders:i}=zs(),[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)(``),[l,u]=(0,_.useState)(!1),[d,f]=(0,_.useState)(null);return(0,V.jsx)(Su,{open:e,onOpenChange:t,children:(0,V.jsxs)(Tu,{className:`bg-gray-900 border-gray-800 text-white sm:max-w-[520px] p-8`,children:[(0,V.jsxs)(Eu,{children:[(0,V.jsx)(Ou,{className:`text-white text-center text-2xl font-bold`,children:`Import a model`}),(0,V.jsx)(ku,{className:`text-gray-400 text-center`,children:`Point at a local directory or a Hugging Face repo. It appears as a job you can run inference on.`})]}),(0,V.jsxs)(`div`,{className:`space-y-4 py-4`,children:[(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Hh,{htmlFor:`source`,className:`text-sm font-medium text-gray-300`,children:`Local path or Hugging Face repo id`}),(0,V.jsx)(Fh,{id:`source`,value:a,onChange:e=>o(e.target.value),placeholder:`/path/to/pretrained_model or user/my-policy`,className:`bg-gray-800 border-gray-700 text-white`})]}),(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Hh,{htmlFor:`name`,className:`text-sm font-medium text-gray-300`,children:`Display name (optional)`}),(0,V.jsx)(Fh,{id:`name`,value:s,onChange:e=>c(e.target.value),placeholder:`My imported policy`,className:`bg-gray-800 border-gray-700 text-white`})]}),d?(0,V.jsxs)(xg,{className:`bg-red-900/40 border-red-700 text-red-100`,children:[(0,V.jsx)(lo,{className:`h-4 w-4`}),(0,V.jsx)(Cg,{children:d})]}):null,(0,V.jsxs)(`div`,{className:`flex gap-3 justify-center pt-2`,children:[(0,V.jsxs)(K,{onClick:async()=>{let e=a.trim();if(e){u(!0),f(null);try{await Fee(r,i,e,s.trim()||void 0),o(``),c(``),t(!1),n()}catch(e){f(e instanceof Error?e.message:String(e))}finally{u(!1)}}},disabled:!a.trim()||l,className:`bg-green-500 hover:bg-green-600 text-white px-8 disabled:opacity-40`,children:[l?(0,V.jsx)(Ja,{className:`w-4 h-4 mr-2 animate-spin`}):(0,V.jsx)(Va,{className:`w-4 h-4 mr-2`}),l?`Importing…`:`Import`]}),(0,V.jsx)(K,{onClick:()=>t(!1),variant:`outline`,className:`border-gray-500 px-8 text-zinc-400 bg-zinc-900 hover:bg-zinc-800`,children:`Cancel`})]})]})]})})},Uv=`lelab.selectedRobot`,Wv=()=>{try{let e=localStorage.getItem(Uv);return e&&typeof e==`string`?e:null}catch{return null}},Yee=e=>{try{e?localStorage.setItem(Uv,e):localStorage.removeItem(Uv)}catch{}},Gv=()=>{let{baseUrl:e,fetchWithHeaders:t}=zs(),{toast:n}=yr(),r=Ie(),[i,a]=(0,_.useState)({}),[o,s]=(0,_.useState)(()=>Wv()),[c,l]=(0,_.useState)(!1);(0,_.useEffect)(()=>{let n=!1;return(async()=>{l(!0);try{let r=await(await t(`${e}/robots`)).json();if(n)return;let i={};for(let e of r.robots??[])i[e.name]=e;a(i),s(e=>e&&e in i?e:null)}catch(e){n||console.error(`Failed to fetch robots:`,e)}finally{n||l(!1)}})(),()=>{n=!0}},[e,t,r.key]),(0,_.useEffect)(()=>{Yee(o)},[o]);let u=(0,_.useCallback)(e=>{s(e)},[]),d=(0,_.useCallback)(()=>{s(null)},[]),f=(0,_.useCallback)(async(r,i=`so101`,o)=>{let c=r.trim();if(!c)return n({title:`Missing name`,description:`Robot name cannot be empty.`,variant:`destructive`}),!1;if(/[/\\]|\.\./.test(c))return n({title:`Invalid name`,description:`Robot names cannot contain '/', '\\', or '..'`,variant:`destructive`}),!1;let l={robot_type:i};o?.bimanual&&(l.mode=`bimanual`,l.right_robot_type=o.rightRobotType??`so101`);try{let r=await t(`${e}/robots/${encodeURIComponent(c)}?create=true`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(l)});if(r.status===409)return n({title:`Already exists`,description:`A robot named "${c}" already exists. Pick it from the dropdown or choose a different name.`,variant:`destructive`}),!1;if(!r.ok)return n({title:`Failed to create`,description:await r.text(),variant:`destructive`}),!1;let i=await r.json();return i.robot&&(a(e=>({...e,[c]:i.robot})),s(c)),!0}catch(e){return n({title:`Network error`,description:String(e),variant:`destructive`}),!1}},[e,t,n]),p=(0,_.useCallback)(async r=>{try{let i=await t(`${e}/robots/${encodeURIComponent(r)}`,{method:`DELETE`});return i.ok?(a(e=>{let{[r]:t,...n}=e;return n}),s(e=>e===r?null:e),!0):(n({title:`Failed to delete`,description:await i.text(),variant:`destructive`}),!1)}catch(e){return n({title:`Network error`,description:String(e),variant:`destructive`}),!1}},[e,t,n]);return{records:i,selectedName:o,selectedRecord:(0,_.useMemo)(()=>o?i[o]??null:null,[o,i]),availableNames:(0,_.useMemo)(()=>Object.keys(i).sort(),[i]),isLoading:c,selectRobot:u,clearSelection:d,createRobot:f,deleteRobot:p}},Kv=10,qv=new Set([`RUNNING`,`QUEUED`,`SCHEDULING`]),Jv=e=>e.state===`running`||e.checkpoint_count>0,Yv=e=>qv.has((e.status?.stage??``).toUpperCase()),Xee=()=>{let{baseUrl:e,fetchWithHeaders:t}=zs(),{toast:n}=yr(),[r,i]=(0,_.useState)([]),[a,o]=(0,_.useState)([]),[s,c]=(0,_.useState)([]),[l,u]=(0,_.useState)(!1),[d,f]=(0,_.useState)(null),[p,m]=(0,_.useState)(``),{selectedRecord:h}=Gv(),[g,v]=(0,_.useState)(!1),[y,b]=(0,_.useState)(!1),[x,S]=(0,_.useState)(null),[C,w]=(0,_.useState)(null),T=(0,_.useCallback)(async()=>{try{let[n,r]=await Promise.all([Tv(e,t,Kv),zee(e,t)]);i(n),o(r.jobs),c(r.models),u(r.authenticated),f(null)}catch(e){f(e instanceof Error?e.message:String(e))}},[e,t]);(0,_.useEffect)(()=>{T();let e=()=>{document.visibilityState===`visible`&&T()};return document.addEventListener(`visibilitychange`,e),window.addEventListener(`focus`,T),()=>{document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`focus`,T)}},[T]),kee(T,(0,_.useCallback)(e=>{e.length!==0&&i(t=>{if(t.length===0)return t;let n=new Map(e.map(e=>[e.id,e])),r=!1,i=t.map(e=>{let t=n.get(e.id);return t?(r=!0,{...e,state:t.state,metrics:t.metrics,wandb_run_url:t.wandb_run_url,checkpoint_count:t.checkpoint_count}):e});return r?i:t})},[]));let E=async r=>{try{await Ev(e,t,r),n({title:`Job stopping`}),T()}catch(e){n({title:`Stop failed`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}},D=(e,t)=>{S(e),w(t),v(!0)},O=async r=>{try{await Dv(e,t,r),n({title:`Job removed`}),T()}catch(e){n({title:`Delete failed`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}},k=p.trim().toLowerCase(),A=(0,_.useCallback)(e=>!k||(e??``).toLowerCase().includes(k),[k]),j=(0,_.useMemo)(()=>r.filter(e=>A(e.name)),[r,A]),M=(0,_.useMemo)(()=>a.filter(e=>A(e.docker_image??e.space_id??e.id)),[a,A]),N=(0,_.useMemo)(()=>s.filter(e=>A(e.repo_id)),[s,A]),P=(0,_.useMemo)(()=>j.filter(e=>e.runner===`local`),[j]),F=(0,_.useMemo)(()=>j.filter(e=>e.runner===`hf_cloud`),[j]),ee=(0,_.useMemo)(()=>j.filter(e=>e.runner===`imported`),[j]),te=(0,_.useMemo)(()=>new Set(F.map(e=>e.hf_job_id).filter(e=>!!e)),[F]),I=(0,_.useMemo)(()=>M.filter(e=>!te.has(e.id)),[M,te]),ne=(0,_.useMemo)(()=>new Set(F.map(e=>e.hf_repo_id).filter(e=>!!e)),[F]),re=(0,_.useMemo)(()=>N.filter(e=>!ne.has(e.repo_id)),[N,ne]),ie=(0,_.useMemo)(()=>P.filter(Jv),[P]),ae=(0,_.useMemo)(()=>P.filter(e=>!Jv(e)),[P]),oe=(0,_.useMemo)(()=>F.filter(Jv),[F]),se=(0,_.useMemo)(()=>F.filter(e=>!Jv(e)),[F]),ce=(0,_.useMemo)(()=>I.filter(Yv),[I]),le=(0,_.useMemo)(()=>I.filter(e=>!Yv(e)),[I]),ue=ae.length+se.length+le.length;return(0,V.jsxs)(`section`,{className:`space-y-6`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,V.jsx)(`h2`,{className:`text-lg font-semibold text-white`,children:`Jobs`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsxs)(`div`,{className:`relative`,children:[(0,V.jsx)(to,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-slate-400 pointer-events-none`}),(0,V.jsx)(Fh,{value:p,onChange:e=>m(e.target.value),placeholder:`Search jobs`,className:`h-8 w-48 sm:w-60 pl-8 bg-slate-800/50 border-slate-700 text-sm text-white placeholder:text-slate-500`,"aria-label":`Search jobs`})]}),(0,V.jsxs)(K,{variant:`outline`,size:`sm`,onClick:()=>b(!0),className:`h-8 border-slate-700 bg-slate-800/50 text-slate-200 hover:text-white`,children:[(0,V.jsx)(Va,{className:`w-3.5 h-3.5 mr-1.5`}),`Import model`]}),(0,V.jsx)(K,{variant:`ghost`,size:`icon`,onClick:T,className:`h-7 w-7 text-slate-400 hover:text-white`,"aria-label":`Refresh jobs`,children:(0,V.jsx)($a,{className:`w-4 h-4`})})]})]}),d?(0,V.jsxs)(`p`,{className:`text-sm text-red-300`,children:[`Couldn't load jobs: `,d]}):null,(0,V.jsxs)(_g,{defaultOpen:!0,children:[(0,V.jsxs)(vg,{className:`group flex items-center gap-1.5 text-sm font-semibold uppercase tracking-wide text-slate-400 hover:text-white transition-colors`,children:[(0,V.jsx)(ka,{className:`w-3.5 h-3.5 transition-transform group-data-[state=open]:rotate-90`}),`Local jobs (`,ie.length,`)`]}),(0,V.jsx)(yg,{className:`pt-3`,children:ie.length===0?(0,V.jsx)(`p`,{className:`text-sm text-slate-500`,children:k?`No local jobs match your search.`:`No active local jobs. Start one from the Training page.`}):(0,V.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4`,children:ie.map(e=>(0,V.jsx)(Fv,{job:e,onStop:E,onDelete:O,onPlay:D},e.id))})})]}),ee.length>0?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{className:`border-t border-slate-700`}),(0,V.jsxs)(_g,{defaultOpen:!0,children:[(0,V.jsxs)(vg,{className:`group flex items-center gap-1.5 text-sm font-semibold uppercase tracking-wide text-slate-400 hover:text-white transition-colors`,children:[(0,V.jsx)(ka,{className:`w-3.5 h-3.5 transition-transform group-data-[state=open]:rotate-90`}),`Imported models (`,ee.length,`)`]}),(0,V.jsx)(yg,{className:`pt-3`,children:(0,V.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4`,children:ee.map(e=>(0,V.jsx)(Fv,{job:e,onStop:E,onDelete:O,onPlay:D},e.id))})})]})]}):null,(0,V.jsx)(`div`,{className:`border-t border-slate-700`}),(0,V.jsxs)(_g,{defaultOpen:!0,children:[(0,V.jsxs)(vg,{className:`group flex items-center gap-1.5 text-sm font-semibold uppercase tracking-wide text-slate-400 hover:text-white transition-colors`,children:[(0,V.jsx)(ka,{className:`w-3.5 h-3.5 transition-transform group-data-[state=open]:rotate-90`}),`Online jobs (`,oe.length+ce.length+re.length,`)`]}),(0,V.jsx)(yg,{className:`pt-3`,children:!l&&F.length===0?(0,V.jsx)(`p`,{className:`text-sm text-slate-500`,children:`Sign in with Hugging Face to see your cloud jobs.`}):oe.length===0&&ce.length===0&&re.length===0?(0,V.jsx)(`p`,{className:`text-sm text-slate-500`,children:k?`No online jobs match your search.`:`No active cloud jobs.`}):(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4`,children:[oe.map(e=>(0,V.jsx)(Fv,{job:e,onStop:E,onDelete:O,onPlay:D},e.id)),ce.map(e=>(0,V.jsx)(Iv,{job:e},e.id)),re.map(e=>(0,V.jsx)(Lv,{model:e},e.repo_id))]})})]}),ue>0?(0,V.jsxs)(_g,{children:[(0,V.jsxs)(vg,{className:`group flex items-center gap-1.5 text-xs font-semibold uppercase tracking-wide text-slate-400 hover:text-white transition-colors`,children:[(0,V.jsx)(ka,{className:`w-3.5 h-3.5 transition-transform group-data-[state=open]:rotate-90`}),`Untracked (`,ue,`)`]}),(0,V.jsx)(yg,{className:`pt-3`,children:(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4`,children:[ae.map(e=>(0,V.jsx)(Fv,{job:e,onStop:E,onDelete:O,onPlay:D},e.id)),se.map(e=>(0,V.jsx)(Fv,{job:e,onStop:E,onDelete:O,onPlay:D},e.id)),le.map(e=>(0,V.jsx)(Iv,{job:e},e.id))]})})]}):null,x?(0,V.jsx)(Vv,{open:g,onOpenChange:v,robot:h,jobId:x.id,initialStep:C}):null,(0,V.jsx)(Hv,{open:y,onOpenChange:b,onImported:T})]})},Xv=`uv tool install git+https://github.com/huggingface/leLab.git && lelab`,Zee=`http://localhost:8000/`,Zv=({open:e,onOpenChange:t,dismissible:n=!0})=>{let[r,i]=(0,_.useState)(!1),a=e=>{n||e.preventDefault()};return(0,V.jsx)(Su,{open:e,onOpenChange:n?t:()=>void 0,children:(0,V.jsxs)(Tu,{className:`bg-gray-900 border-gray-700 text-gray-300 sm:max-w-xl`,hideClose:!n,onEscapeKeyDown:a,onPointerDownOutside:a,onInteractOutside:a,children:[(0,V.jsxs)(Eu,{className:`text-center sm:text-center min-w-0`,children:[(0,V.jsxs)(Ou,{className:`text-white flex items-center justify-center gap-2 text-xl`,children:[(0,V.jsx)(so,{className:`w-6 h-6`}),`Get Started with LeLab`]}),(0,V.jsx)(ku,{children:`LeLab runs on your machine. Click the command to copy it, then paste in a terminal:`})]}),(0,V.jsxs)(`div`,{className:`space-y-4 py-2 min-w-0`,children:[(0,V.jsxs)(`button`,{type:`button`,onClick:async()=>{try{await navigator.clipboard.writeText(Xv),i(!0),setTimeout(()=>i(!1),1500)}catch(e){console.warn(`Clipboard write failed:`,e)}},"aria-label":`Copy command to clipboard`,className:`group relative w-full bg-gray-800 hover:bg-gray-750 rounded-lg border border-gray-700 hover:border-gray-600 text-left transition-colors cursor-pointer`,children:[(0,V.jsx)(`pre`,{className:`p-4 pr-12 text-xs sm:text-sm overflow-x-auto whitespace-pre-wrap break-all`,children:(0,V.jsx)(`code`,{className:`text-green-400`,children:Xv})}),(0,V.jsx)(`span`,{className:`absolute right-2 top-2 flex items-center gap-1 px-2 py-1 rounded text-xs text-gray-400 group-hover:text-white bg-gray-900/80`,children:r?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Da,{className:`w-3.5 h-3.5 text-green-400`}),`Copied`]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(za,{className:`w-3.5 h-3.5`}),`Copy`]})})]}),(0,V.jsx)(`p`,{className:`text-gray-400 text-sm text-center`,children:`After running, your browser will open the local LeLab app.`}),(0,V.jsx)(K,{asChild:!0,className:`w-full bg-blue-600 hover:bg-blue-700 text-white`,children:(0,V.jsxs)(`a`,{href:Zee,target:`_blank`,rel:`noopener noreferrer`,children:[(0,V.jsx)(Ua,{className:`w-4 h-4 mr-2`}),`Open LeLab`]})})]})]})})};async function Qv(e,t,n){return wv(e,t,`/datasets`,{signal:n,action:`List datasets`})}var $v=()=>{let{baseUrl:e,fetchWithHeaders:t}=zs(),[n,r]=(0,_.useState)([]),[i,a]=(0,_.useState)(!0),o=(0,_.useCallback)(()=>{a(!0),Qv(e,t).then(r).catch(()=>r([])).finally(()=>a(!1))},[e,t]);return(0,_.useEffect)(()=>{o()},[o]),{datasets:n,loading:i,refresh:o}},ey=()=>typeof window<`u`&&window.location.hostname.endsWith(`.hf.space`),ty=ey(),Qee=()=>{let[e,t]=(0,_.useState)(ty),{auth:n}=Hs(),{selectedName:r,selectedRecord:i,availableNames:a,isLoading:o,selectRobot:s,createRobot:c,deleteRobot:l}=Gv(),{datasets:u,loading:d}=$v(),[f,p]=(0,_.useState)(!1),[m,h]=(0,_.useState)(``),[g,v]=(0,_.useState)(``),[y,b]=(0,_.useState)(5),[x,S]=(0,_.useState)(60),[C,w]=(0,_.useState)(15),[T,E]=(0,_.useState)(!0),[D,O]=(0,_.useState)([]),k=(0,_.useRef)(null),A=Re(),{toast:j}=yr();(0,_.useEffect)(()=>{D.length>0&&(console.log(`🧹 Landing page: Cleaning up camera state from previous session`),k.current&&k.current(),O([]))},[]),(0,_.useEffect)(()=>()=>{k.current&&(console.log(`🧹 Landing page: Cleaning up camera streams on unmount`),k.current())},[]);let M=()=>{O(i?[...i.cameras??[]]:[]),p(!0)},N=e=>{p(e),!e&&k.current&&(console.log(`🧹 Modal closed: Releasing camera streams`),k.current())},P=()=>A(`/training`),F=(e,t)=>{let n=`/spaces/lerobot/visualize_dataset?path=${encodeURIComponent(`/${e}`)}`,r=t?`https://huggingface.co/login?next=${encodeURIComponent(n)}`:`https://huggingface.co${n}`;window.open(r,`_blank`,`noopener,noreferrer`)};return(0,V.jsxs)(`div`,{className:`min-h-screen bg-black text-white pb-16`,style:{"--lelab-topbar-h":`48px`},children:[(0,V.jsx)(Mu,{}),(0,V.jsx)(`div`,{className:`sticky z-20 bg-black/95 backdrop-blur supports-[backdrop-filter]:bg-black/70 border-b border-gray-800`,style:{top:`var(--lelab-topbar-h)`},children:(0,V.jsxs)(`div`,{className:`mx-auto max-w-7xl px-4 py-4 grid gap-4 grid-cols-1 lg:grid-cols-[1.2fr_2fr]`,children:[(0,V.jsx)(Ph,{selectedName:r,selectedRecord:i,availableNames:a,isLoading:o,selectRobot:s,createRobot:c,deleteRobot:l}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{className:`bg-gray-800 rounded-lg border border-gray-700 p-3 flex flex-col gap-2`,children:[(0,V.jsx)(`h3`,{className:`font-semibold text-lg text-left h-10 flex items-center`,children:`Dataset`}),(0,V.jsx)(Oee,{datasets:u,loading:d,onPickExisting:e=>{if(e.source===`local`||e.source===`both`){A(`/upload`,{state:{datasetInfo:{dataset_repo_id:e.repo_id,source:e.source}}});return}F(e.repo_id,e.private)},onOpenCustom:e=>{F(e,!0)},onCreateNew:e=>{h(e),M()},children:(0,V.jsxs)(K,{variant:`outline`,role:`combobox`,className:`w-full justify-between bg-gray-800 border-gray-600 text-white hover:bg-gray-700`,children:[(0,V.jsx)(`span`,{className:`truncate text-gray-300`,children:d?`Loading datasets…`:`Select or create a dataset…`}),(0,V.jsx)(ja,{className:`ml-2 h-4 w-4 shrink-0 opacity-50`})]})})]}),(0,V.jsxs)(`div`,{className:`bg-gray-800 rounded-lg border border-gray-700 p-3 flex flex-col gap-2`,children:[(0,V.jsx)(`h3`,{className:`font-semibold text-lg text-left h-10 flex items-center`,children:`Create a model`}),(0,V.jsx)(K,{onClick:P,className:`w-full bg-green-500 hover:bg-green-600 text-white`,children:`Training`})]})]})]})}),(0,V.jsx)(`main`,{className:`mx-auto max-w-7xl px-4 py-6`,children:(0,V.jsx)(Xee,{})}),(0,V.jsx)(Pu,{}),(0,V.jsx)(Zv,{open:e,onOpenChange:t,dismissible:!ty}),(0,V.jsx)(Tee,{open:f,onOpenChange:N,robot:i,datasetName:m,setDatasetName:h,singleTask:g,setSingleTask:v,numEpisodes:y,setNumEpisodes:b,episodeTimeS:x,setEpisodeTimeS:S,resetTimeS:C,setResetTimeS:w,streamingEncoding:T,setStreamingEncoding:E,cameras:D,setCameras:O,onStart:async()=>{if(!i){j({title:`No robot selected`,description:`Select or create a robot on the Landing page first.`,variant:`destructive`});return}let e=i;if(!e.is_clean){j({title:`Robot not ready`,description:`${e.name} is missing a calibration. Configure it before recording.`,variant:`destructive`});return}if(!m||!g){j({title:`Missing dataset details`,description:`Please enter a dataset name and task description.`,variant:`destructive`});return}let t=n.status===`authenticated`?`${n.username}/${m}`:`local/${m}`;D.length>0&&k.current&&(console.log(`🔓 Releasing camera streams before starting recording...`),j({title:`Preparing Camera Resources`,description:`Releasing ${D.length} camera stream(s) for recording...`}),k.current(),await new Promise(e=>setTimeout(e,500)),console.log(`✅ Camera streams released, proceeding with recording...`),j({title:`Camera Resources Ready`,description:`Camera streams released successfully. Starting recording...`}));let r=D.reduce((e,t)=>(e[t.name]={type:t.type,camera_index:t.camera_index,width:t.width,height:t.height,fps:t.fps,...t.fourcc?{fourcc:t.fourcc}:{},...t.backend?{backend:t.backend}:{}},e),{}),a={leader_port:e.leader_port,follower_port:e.follower_port,leader_config:e.leader_config,follower_config:e.follower_config,dataset_repo_id:t,single_task:g,num_episodes:y,episode_time_s:x,reset_time_s:C,fps:30,video:!0,push_to_hub:!1,resume:!1,streaming_encoding:T,cameras:r,robot_type:e.robot_type||`so101`,...e.mode===`bimanual`?{right_leader_port:e.right_leader_port,right_follower_port:e.right_follower_port,right_leader_config:e.right_leader_config,right_follower_config:e.right_follower_config,right_robot_type:e.right_robot_type||`so101`}:{}};p(!1),A(`/recording`,{state:{recordingConfig:a}})},releaseStreamsRef:k})]})},ny={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},ry={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},iy=`attached`,ay=1e3,oy=1001,sy=1002,cy=1003,ly=1004,uy=1005,dy=1006,fy=1007,py=1008,my=1009,$ee=1010,ete=1011,hy=1012,gy=1013,_y=1014,vy=1015,yy=1016,by=1017,xy=1018,Sy=1020,Cy=35902,wy=1021,Ty=1022,Ey=1023,Dy=1026,Oy=1027,ky=1028,Ay=1029,jy=1030,My=1031,Ny=1033,Py=33776,Fy=33777,Iy=33778,Ly=33779,Ry=35840,zy=35841,By=35842,Vy=35843,Hy=36196,Uy=37492,Wy=37496,Gy=37808,Ky=37809,qy=37810,Jy=37811,Yy=37812,Xy=37813,Zy=37814,Qy=37815,$y=37816,eb=37817,tb=37818,nb=37819,rb=37820,ib=37821,ab=36492,ob=36494,sb=36495,cb=36283,lb=36284,ub=36285,db=36286,fb=2300,pb=2301,mb=2302,hb=2400,gb=2401,_b=2402,vb=2500,yb=3200,bb=3201,xb=`srgb`,Sb=`srgb-linear`,Cb=`linear`,wb=`srgb`,Tb=7680,Eb=35044,Db=2e3,Ob=class{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});let n=this._listeners;n[e]===void 0&&(n[e]=[]),n[e].indexOf(t)===-1&&n[e].push(t)}hasEventListener(e,t){let n=this._listeners;return n===void 0?!1:n[e]!==void 0&&n[e].indexOf(t)!==-1}removeEventListener(e,t){let n=this._listeners;if(n===void 0)return;let r=n[e];if(r!==void 0){let e=r.indexOf(t);e!==-1&&r.splice(e,1)}}dispatchEvent(e){let t=this._listeners;if(t===void 0)return;let n=t[e.type];if(n!==void 0){e.target=this;let t=n.slice(0);for(let n=0,r=t.length;n>8&255]+kb[e>>16&255]+kb[e>>24&255]+`-`+kb[t&255]+kb[t>>8&255]+`-`+kb[t>>16&15|64]+kb[t>>24&255]+`-`+kb[n&63|128]+kb[n>>8&255]+`-`+kb[n>>16&255]+kb[n>>24&255]+kb[r&255]+kb[r>>8&255]+kb[r>>16&255]+kb[r>>24&255]).toLowerCase()}function Pb(e,t,n){return Math.max(t,Math.min(n,e))}function Fb(e,t){return(e%t+t)%t}function Ib(e,t,n,r,i){return r+(e-t)*(i-r)/(n-t)}function Lb(e,t,n){return e===t?0:(n-e)/(t-e)}function Rb(e,t,n){return(1-n)*e+n*t}function zb(e,t,n,r){return Rb(e,t,1-Math.exp(-n*r))}function Bb(e,t=1){return t-Math.abs(Fb(e,t*2)-t)}function Vb(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t),e*e*(3-2*e))}function Hb(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t),e*e*e*(e*(e*6-15)+10))}function Ub(e,t){return e+Math.floor(Math.random()*(t-e+1))}function Wb(e,t){return e+Math.random()*(t-e)}function Gb(e){return e*(.5-Math.random())}function Kb(e){e!==void 0&&(Ab=e);let t=Ab+=1831565813;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}function qb(e){return e*jb}function Jb(e){return e*Mb}function Yb(e){return(e&e-1)==0&&e!==0}function Xb(e){return 2**Math.ceil(Math.log(e)/Math.LN2)}function Zb(e){return 2**Math.floor(Math.log(e)/Math.LN2)}function Qb(e,t,n,r,i){let a=Math.cos,o=Math.sin,s=a(n/2),c=o(n/2),l=a((t+r)/2),u=o((t+r)/2),d=a((t-r)/2),f=o((t-r)/2),p=a((r-t)/2),m=o((r-t)/2);switch(i){case`XYX`:e.set(s*u,c*d,c*f,s*l);break;case`YZY`:e.set(c*f,s*u,c*d,s*l);break;case`ZXZ`:e.set(c*d,c*f,s*u,s*l);break;case`XZX`:e.set(s*u,c*m,c*p,s*l);break;case`YXY`:e.set(c*p,s*u,c*m,s*l);break;case`ZYZ`:e.set(c*m,c*p,s*u,s*l);break;default:console.warn(`THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: `+i)}}function $b(e,t){switch(t.constructor){case Float32Array:return e;case Uint32Array:return e/4294967295;case Uint16Array:return e/65535;case Uint8Array:return e/255;case Int32Array:return Math.max(e/2147483647,-1);case Int16Array:return Math.max(e/32767,-1);case Int8Array:return Math.max(e/127,-1);default:throw Error(`Invalid component type.`)}}function ex(e,t){switch(t.constructor){case Float32Array:return e;case Uint32Array:return Math.round(e*4294967295);case Uint16Array:return Math.round(e*65535);case Uint8Array:return Math.round(e*255);case Int32Array:return Math.round(e*2147483647);case Int16Array:return Math.round(e*32767);case Int8Array:return Math.round(e*127);default:throw Error(`Invalid component type.`)}}var tx={DEG2RAD:jb,RAD2DEG:Mb,generateUUID:Nb,clamp:Pb,euclideanModulo:Fb,mapLinear:Ib,inverseLerp:Lb,lerp:Rb,damp:zb,pingpong:Bb,smoothstep:Vb,smootherstep:Hb,randInt:Ub,randFloat:Wb,randFloatSpread:Gb,seededRandom:Kb,degToRad:qb,radToDeg:Jb,isPowerOfTwo:Yb,ceilPowerOfTwo:Xb,floorPowerOfTwo:Zb,setQuaternionFromProperEuler:Qb,normalize:ex,denormalize:$b},nx=class e{constructor(t=0,n=0){e.prototype.isVector2=!0,this.x=t,this.y=n}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw Error(`index is out of range: `+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw Error(`index is out of range: `+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){let t=this.x,n=this.y,r=e.elements;return this.x=r[0]*t+r[3]*n+r[6],this.y=r[1]*t+r[4]*n+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Pb(this.x,e.x,t.x),this.y=Pb(this.y,e.y,t.y),this}clampScalar(e,t){return this.x=Pb(this.x,e,t),this.y=Pb(this.y,e,t),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(Pb(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){let t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;let n=this.dot(e)/t;return Math.acos(Pb(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){let n=Math.cos(t),r=Math.sin(t),i=this.x-e.x,a=this.y-e.y;return this.x=i*n-a*r+e.x,this.y=i*r+a*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}},rx=class{constructor(e=0,t=0,n=0,r=1){this.isQuaternion=!0,this._x=e,this._y=t,this._z=n,this._w=r}static slerpFlat(e,t,n,r,i,a,o){let s=n[r+0],c=n[r+1],l=n[r+2],u=n[r+3],d=i[a+0],f=i[a+1],p=i[a+2],m=i[a+3];if(o===0){e[t+0]=s,e[t+1]=c,e[t+2]=l,e[t+3]=u;return}if(o===1){e[t+0]=d,e[t+1]=f,e[t+2]=p,e[t+3]=m;return}if(u!==m||s!==d||c!==f||l!==p){let e=1-o,t=s*d+c*f+l*p+u*m,n=t>=0?1:-1,r=1-t*t;if(r>2**-52){let i=Math.sqrt(r),a=Math.atan2(i,t*n);e=Math.sin(e*a)/i,o=Math.sin(o*a)/i}let i=o*n;if(s=s*e+d*i,c=c*e+f*i,l=l*e+p*i,u=u*e+m*i,e===1-o){let e=1/Math.sqrt(s*s+c*c+l*l+u*u);s*=e,c*=e,l*=e,u*=e}}e[t]=s,e[t+1]=c,e[t+2]=l,e[t+3]=u}static multiplyQuaternionsFlat(e,t,n,r,i,a){let o=n[r],s=n[r+1],c=n[r+2],l=n[r+3],u=i[a],d=i[a+1],f=i[a+2],p=i[a+3];return e[t]=o*p+l*u+s*f-c*d,e[t+1]=s*p+l*d+c*u-o*f,e[t+2]=c*p+l*f+o*d-s*u,e[t+3]=l*p-o*u-s*d-c*f,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,n,r){return this._x=e,this._y=t,this._z=n,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){let n=e._x,r=e._y,i=e._z,a=e._order,o=Math.cos,s=Math.sin,c=o(n/2),l=o(r/2),u=o(i/2),d=s(n/2),f=s(r/2),p=s(i/2);switch(a){case`XYZ`:this._x=d*l*u+c*f*p,this._y=c*f*u-d*l*p,this._z=c*l*p+d*f*u,this._w=c*l*u-d*f*p;break;case`YXZ`:this._x=d*l*u+c*f*p,this._y=c*f*u-d*l*p,this._z=c*l*p-d*f*u,this._w=c*l*u+d*f*p;break;case`ZXY`:this._x=d*l*u-c*f*p,this._y=c*f*u+d*l*p,this._z=c*l*p+d*f*u,this._w=c*l*u-d*f*p;break;case`ZYX`:this._x=d*l*u-c*f*p,this._y=c*f*u+d*l*p,this._z=c*l*p-d*f*u,this._w=c*l*u+d*f*p;break;case`YZX`:this._x=d*l*u+c*f*p,this._y=c*f*u+d*l*p,this._z=c*l*p-d*f*u,this._w=c*l*u-d*f*p;break;case`XZY`:this._x=d*l*u-c*f*p,this._y=c*f*u-d*l*p,this._z=c*l*p+d*f*u,this._w=c*l*u+d*f*p;break;default:console.warn(`THREE.Quaternion: .setFromEuler() encountered an unknown order: `+a)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){let n=t/2,r=Math.sin(n);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){let t=e.elements,n=t[0],r=t[4],i=t[8],a=t[1],o=t[5],s=t[9],c=t[2],l=t[6],u=t[10],d=n+o+u;if(d>0){let e=.5/Math.sqrt(d+1);this._w=.25/e,this._x=(l-s)*e,this._y=(i-c)*e,this._z=(a-r)*e}else if(n>o&&n>u){let e=2*Math.sqrt(1+n-o-u);this._w=(l-s)/e,this._x=.25*e,this._y=(r+a)/e,this._z=(i+c)/e}else if(o>u){let e=2*Math.sqrt(1+o-n-u);this._w=(i-c)/e,this._x=(r+a)/e,this._y=.25*e,this._z=(s+l)/e}else{let e=2*Math.sqrt(1+u-n-o);this._w=(a-r)/e,this._x=(i+c)/e,this._y=(s+l)/e,this._z=.25*e}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return n<2**-52?(n=0,Math.abs(e.x)>Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(Pb(this.dot(e),-1,1)))}rotateTowards(e,t){let n=this.angleTo(e);if(n===0)return this;let r=Math.min(1,t/n);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x*=e,this._y*=e,this._z*=e,this._w*=e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){let n=e._x,r=e._y,i=e._z,a=e._w,o=t._x,s=t._y,c=t._z,l=t._w;return this._x=n*l+a*o+r*c-i*s,this._y=r*l+a*s+i*o-n*c,this._z=i*l+a*c+n*s-r*o,this._w=a*l-n*o-r*s-i*c,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);let n=this._x,r=this._y,i=this._z,a=this._w,o=a*e._w+n*e._x+r*e._y+i*e._z;if(o<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,o=-o):this.copy(e),o>=1)return this._w=a,this._x=n,this._y=r,this._z=i,this;let s=1-o*o;if(s<=2**-52){let e=1-t;return this._w=e*a+t*this._w,this._x=e*n+t*this._x,this._y=e*r+t*this._y,this._z=e*i+t*this._z,this.normalize(),this}let c=Math.sqrt(s),l=Math.atan2(c,o),u=Math.sin((1-t)*l)/c,d=Math.sin(t*l)/c;return this._w=a*u+this._w*d,this._x=n*u+this._x*d,this._y=r*u+this._y*d,this._z=i*u+this._z*d,this._onChangeCallback(),this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){let e=2*Math.PI*Math.random(),t=2*Math.PI*Math.random(),n=Math.random(),r=Math.sqrt(1-n),i=Math.sqrt(n);return this.set(r*Math.sin(e),r*Math.cos(e),i*Math.sin(t),i*Math.cos(t))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}},J=class e{constructor(t=0,n=0,r=0){e.prototype.isVector3=!0,this.x=t,this.y=n,this.z=r}set(e,t,n){return n===void 0&&(n=this.z),this.x=e,this.y=t,this.z=n,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw Error(`index is out of range: `+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw Error(`index is out of range: `+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(ax.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(ax.setFromAxisAngle(e,t))}applyMatrix3(e){let t=this.x,n=this.y,r=this.z,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6]*r,this.y=i[1]*t+i[4]*n+i[7]*r,this.z=i[2]*t+i[5]*n+i[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){let t=this.x,n=this.y,r=this.z,i=e.elements,a=1/(i[3]*t+i[7]*n+i[11]*r+i[15]);return this.x=(i[0]*t+i[4]*n+i[8]*r+i[12])*a,this.y=(i[1]*t+i[5]*n+i[9]*r+i[13])*a,this.z=(i[2]*t+i[6]*n+i[10]*r+i[14])*a,this}applyQuaternion(e){let t=this.x,n=this.y,r=this.z,i=e.x,a=e.y,o=e.z,s=e.w,c=2*(a*r-o*n),l=2*(o*t-i*r),u=2*(i*n-a*t);return this.x=t+s*c+a*u-o*l,this.y=n+s*l+o*c-i*u,this.z=r+s*u+i*l-a*c,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){let t=this.x,n=this.y,r=this.z,i=e.elements;return this.x=i[0]*t+i[4]*n+i[8]*r,this.y=i[1]*t+i[5]*n+i[9]*r,this.z=i[2]*t+i[6]*n+i[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Pb(this.x,e.x,t.x),this.y=Pb(this.y,e.y,t.y),this.z=Pb(this.z,e.z,t.z),this}clampScalar(e,t){return this.x=Pb(this.x,e,t),this.y=Pb(this.y,e,t),this.z=Pb(this.z,e,t),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(Pb(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){let n=e.x,r=e.y,i=e.z,a=t.x,o=t.y,s=t.z;return this.x=r*s-i*o,this.y=i*a-n*s,this.z=n*o-r*a,this}projectOnVector(e){let t=e.lengthSq();if(t===0)return this.set(0,0,0);let n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return ix.copy(this).projectOnVector(e),this.sub(ix)}reflect(e){return this.sub(ix.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){let t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;let n=this.dot(e)/t;return Math.acos(Pb(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y,r=this.z-e.z;return t*t+n*n+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,n){let r=Math.sin(t)*e;return this.x=r*Math.sin(n),this.y=Math.cos(t)*e,this.z=r*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){let t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){let t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=r,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){let e=Math.random()*Math.PI*2,t=Math.random()*2-1,n=Math.sqrt(1-t*t);return this.x=n*Math.cos(e),this.y=t,this.z=n*Math.sin(e),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}},ix=new J,ax=new rx,ox=class e{constructor(t,n,r,i,a,o,s,c,l){e.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],t!==void 0&&this.set(t,n,r,i,a,o,s,c,l)}set(e,t,n,r,i,a,o,s,c){let l=this.elements;return l[0]=e,l[1]=r,l[2]=o,l[3]=t,l[4]=i,l[5]=s,l[6]=n,l[7]=a,l[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){let t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){let t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let n=e.elements,r=t.elements,i=this.elements,a=n[0],o=n[3],s=n[6],c=n[1],l=n[4],u=n[7],d=n[2],f=n[5],p=n[8],m=r[0],h=r[3],g=r[6],_=r[1],v=r[4],y=r[7],b=r[2],x=r[5],S=r[8];return i[0]=a*m+o*_+s*b,i[3]=a*h+o*v+s*x,i[6]=a*g+o*y+s*S,i[1]=c*m+l*_+u*b,i[4]=c*h+l*v+u*x,i[7]=c*g+l*y+u*S,i[2]=d*m+f*_+p*b,i[5]=d*h+f*v+p*x,i[8]=d*g+f*y+p*S,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){let e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],o=e[5],s=e[6],c=e[7],l=e[8];return t*a*l-t*o*c-n*i*l+n*o*s+r*i*c-r*a*s}invert(){let e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],o=e[5],s=e[6],c=e[7],l=e[8],u=l*a-o*c,d=o*s-l*i,f=c*i-a*s,p=t*u+n*d+r*f;if(p===0)return this.set(0,0,0,0,0,0,0,0,0);let m=1/p;return e[0]=u*m,e[1]=(r*c-l*n)*m,e[2]=(o*n-r*a)*m,e[3]=d*m,e[4]=(l*t-r*s)*m,e[5]=(r*i-o*t)*m,e[6]=f*m,e[7]=(n*s-c*t)*m,e[8]=(a*t-n*i)*m,this}transpose(){let e,t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){let t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,n,r,i,a,o){let s=Math.cos(i),c=Math.sin(i);return this.set(n*s,n*c,-n*(s*a+c*o)+a+e,-r*c,r*s,-r*(-c*a+s*o)+o+t,0,0,1),this}scale(e,t){return this.premultiply(sx.makeScale(e,t)),this}rotate(e){return this.premultiply(sx.makeRotation(-e)),this}translate(e,t){return this.premultiply(sx.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,n,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){let t=this.elements,n=e.elements;for(let e=0;e<9;e++)if(t[e]!==n[e])return!1;return!0}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){let n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return new this.constructor().fromArray(this.elements)}},sx=new ox;function cx(e){for(let t=e.length-1;t>=0;--t)if(e[t]>=65535)return!0;return!1}function lx(e){return document.createElementNS(`http://www.w3.org/1999/xhtml`,e)}function ux(){let e=lx(`canvas`);return e.style.display=`block`,e}var dx={};function fx(e){e in dx||(dx[e]=!0,console.warn(e))}function px(e,t,n){return new Promise(function(r,i){function a(){switch(e.clientWaitSync(t,e.SYNC_FLUSH_COMMANDS_BIT,0)){case e.WAIT_FAILED:i();break;case e.TIMEOUT_EXPIRED:setTimeout(a,n);break;default:r()}}setTimeout(a,n)})}function mx(e){let t=e.elements;t[2]=.5*t[2]+.5*t[3],t[6]=.5*t[6]+.5*t[7],t[10]=.5*t[10]+.5*t[11],t[14]=.5*t[14]+.5*t[15]}function hx(e){let t=e.elements;t[11]===-1?(t[10]=-t[10]-1,t[14]=-t[14]):(t[10]=-t[10],t[14]=-t[14]+1)}var gx=new ox().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),_x=new ox().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function vx(){let e={enabled:!0,workingColorSpace:Sb,spaces:{},convert:function(e,t,n){return this.enabled===!1||t===n||!t||!n?e:(this.spaces[t].transfer===`srgb`&&(e.r=bx(e.r),e.g=bx(e.g),e.b=bx(e.b)),this.spaces[t].primaries!==this.spaces[n].primaries&&(e.applyMatrix3(this.spaces[t].toXYZ),e.applyMatrix3(this.spaces[n].fromXYZ)),this.spaces[n].transfer===`srgb`&&(e.r=xx(e.r),e.g=xx(e.g),e.b=xx(e.b)),e)},workingToColorSpace:function(e,t){return this.convert(e,this.workingColorSpace,t)},colorSpaceToWorking:function(e,t){return this.convert(e,t,this.workingColorSpace)},getPrimaries:function(e){return this.spaces[e].primaries},getTransfer:function(e){return e===``?Cb:this.spaces[e].transfer},getLuminanceCoefficients:function(e,t=this.workingColorSpace){return e.fromArray(this.spaces[t].luminanceCoefficients)},define:function(e){Object.assign(this.spaces,e)},_getMatrix:function(e,t,n){return e.copy(this.spaces[t].toXYZ).multiply(this.spaces[n].fromXYZ)},_getDrawingBufferColorSpace:function(e){return this.spaces[e].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(e=this.workingColorSpace){return this.spaces[e].workingColorSpaceConfig.unpackColorSpace},fromWorkingColorSpace:function(t,n){return fx(`THREE.ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace().`),e.workingToColorSpace(t,n)},toWorkingColorSpace:function(t,n){return fx(`THREE.ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking().`),e.colorSpaceToWorking(t,n)}},t=[.64,.33,.3,.6,.15,.06],n=[.2126,.7152,.0722],r=[.3127,.329];return e.define({[Sb]:{primaries:t,whitePoint:r,transfer:Cb,toXYZ:gx,fromXYZ:_x,luminanceCoefficients:n,workingColorSpaceConfig:{unpackColorSpace:xb},outputColorSpaceConfig:{drawingBufferColorSpace:xb}},[xb]:{primaries:t,whitePoint:r,transfer:wb,toXYZ:gx,fromXYZ:_x,luminanceCoefficients:n,outputColorSpaceConfig:{drawingBufferColorSpace:xb}}}),e}var yx=vx();function bx(e){return e<.04045?e*.0773993808:(e*.9478672986+.0521327014)**2.4}function xx(e){return e<.0031308?e*12.92:1.055*e**.41666-.055}var Sx,tte=class{static getDataURL(e,t=`image/png`){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>`u`)return e.src;let n;if(e instanceof HTMLCanvasElement)n=e;else{Sx===void 0&&(Sx=lx(`canvas`)),Sx.width=e.width,Sx.height=e.height;let t=Sx.getContext(`2d`);e instanceof ImageData?t.putImageData(e,0,0):t.drawImage(e,0,0,e.width,e.height),n=Sx}return n.toDataURL(t)}static sRGBToLinear(e){if(typeof HTMLImageElement<`u`&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<`u`&&e instanceof HTMLCanvasElement||typeof ImageBitmap<`u`&&e instanceof ImageBitmap){let t=lx(`canvas`);t.width=e.width,t.height=e.height;let n=t.getContext(`2d`);n.drawImage(e,0,0,e.width,e.height);let r=n.getImageData(0,0,e.width,e.height),i=r.data;for(let e=0;e1),this.pmremVersion=0}get width(){return this.source.getSize(Tx).x}get height(){return this.source.getSize(Tx).y}get depth(){return this.source.getSize(Tx).z}get image(){return this.source.data}set image(e=null){this.source.data=e}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}clone(){return new this.constructor().copy(this)}copy(e){return this.name=e.name,this.source=e.source,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.channel=e.channel,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.colorSpace=e.colorSpace,this.renderTarget=e.renderTarget,this.isRenderTargetTexture=e.isRenderTargetTexture,this.isArrayTexture=e.isArrayTexture,this.userData=JSON.parse(JSON.stringify(e.userData)),this.needsUpdate=!0,this}setValues(e){for(let t in e){let n=e[t];if(n===void 0){console.warn(`THREE.Texture.setValues(): parameter '${t}' has value of undefined.`);continue}let r=this[t];if(r===void 0){console.warn(`THREE.Texture.setValues(): property '${t}' does not exist.`);continue}r&&n&&r.isVector2&&n.isVector2||r&&n&&r.isVector3&&n.isVector3||r&&n&&r.isMatrix3&&n.isMatrix3?r.copy(n):this[t]=n}}toJSON(e){let t=e===void 0||typeof e==`string`;if(!t&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];let n={metadata:{version:4.7,type:`Texture`,generator:`Texture.toJSON`},uuid:this.uuid,name:this.name,image:this.source.toJSON(e).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(n.userData=this.userData),t||(e.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:`dispose`})}transformUv(e){if(this.mapping!==300)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case ay:e.x-=Math.floor(e.x);break;case oy:e.x=e.x<0?0:1;break;case sy:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x-=Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case ay:e.y-=Math.floor(e.y);break;case oy:e.y=e.y<0?0:1;break;case sy:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y-=Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}};Ex.DEFAULT_IMAGE=null,Ex.DEFAULT_MAPPING=300,Ex.DEFAULT_ANISOTROPY=1;var Dx=class e{constructor(t=0,n=0,r=0,i=1){e.prototype.isVector4=!0,this.x=t,this.y=n,this.z=r,this.w=i}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,r){return this.x=e,this.y=t,this.z=n,this.w=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw Error(`index is out of range: `+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw Error(`index is out of range: `+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w===void 0?1:e.w,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){let t=this.x,n=this.y,r=this.z,i=this.w,a=e.elements;return this.x=a[0]*t+a[4]*n+a[8]*r+a[12]*i,this.y=a[1]*t+a[5]*n+a[9]*r+a[13]*i,this.z=a[2]*t+a[6]*n+a[10]*r+a[14]*i,this.w=a[3]*t+a[7]*n+a[11]*r+a[15]*i,this}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this.w/=e.w,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);let t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,n,r,i,a=.01,o=.1,s=e.elements,c=s[0],l=s[4],u=s[8],d=s[1],f=s[5],p=s[9],m=s[2],h=s[6],g=s[10];if(Math.abs(l-d)s&&e>_?e_?s1;this.dispose()}this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.textures.length=0;for(let t=0,n=e.textures.length;t=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y&&e.z>=this.min.z&&e.z<=this.max.z}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y&&e.max.z>=this.min.z&&e.min.z<=this.max.z}intersectsSphere(e){return this.clampPoint(e.center,Nx),Nx.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(Vx),Hx.subVectors(this.max,Vx),Fx.subVectors(e.a,Vx),Ix.subVectors(e.b,Vx),Lx.subVectors(e.c,Vx),Rx.subVectors(Ix,Fx),zx.subVectors(Lx,Ix),Bx.subVectors(Fx,Lx);let t=[0,-Rx.z,Rx.y,0,-zx.z,zx.y,0,-Bx.z,Bx.y,Rx.z,0,-Rx.x,zx.z,0,-zx.x,Bx.z,0,-Bx.x,-Rx.y,Rx.x,0,-zx.y,zx.x,0,-Bx.y,Bx.x,0];return!Gx(t,Fx,Ix,Lx,Hx)||(t=[1,0,0,0,1,0,0,0,1],!Gx(t,Fx,Ix,Lx,Hx))?!1:(Ux.crossVectors(Rx,zx),t=[Ux.x,Ux.y,Ux.z],Gx(t,Fx,Ix,Lx,Hx))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Nx).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Nx).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(Mx[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Mx[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Mx[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Mx[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Mx[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Mx[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Mx[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Mx[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Mx),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}toJSON(){return{min:this.min.toArray(),max:this.max.toArray()}}fromJSON(e){return this.min.fromArray(e.min),this.max.fromArray(e.max),this}},Mx=[new J,new J,new J,new J,new J,new J,new J,new J],Nx=new J,Px=new jx,Fx=new J,Ix=new J,Lx=new J,Rx=new J,zx=new J,Bx=new J,Vx=new J,Hx=new J,Ux=new J,Wx=new J;function Gx(e,t,n,r,i){for(let a=0,o=e.length-3;a<=o;a+=3){Wx.fromArray(e,a);let o=i.x*Math.abs(Wx.x)+i.y*Math.abs(Wx.y)+i.z*Math.abs(Wx.z),s=t.dot(Wx),c=n.dot(Wx),l=r.dot(Wx);if(Math.max(-Math.max(s,c,l),Math.min(s,c,l))>o)return!1}return!0}var Kx=new jx,qx=new J,Jx=new J,Yx=class{constructor(e=new J,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){let n=this.center;t===void 0?Kx.setFromPoints(e).getCenter(n):n.copy(t);let r=0;for(let t=0,i=e.length;tthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius*=e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;qx.subVectors(e,this.center);let t=qx.lengthSq();if(t>this.radius*this.radius){let e=Math.sqrt(t),n=(e-this.radius)*.5;this.center.addScaledVector(qx,n/e),this.radius+=n}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(Jx.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(qx.copy(e.center).add(Jx)),this.expandByPoint(qx.copy(e.center).sub(Jx))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}toJSON(){return{radius:this.radius,center:this.center.toArray()}}fromJSON(e){return this.radius=e.radius,this.center.fromArray(e.center),this}},Xx=new J,Zx=new J,Qx=new J,$x=new J,eS=new J,tS=new J,nS=new J,rS=class{constructor(e=new J,t=new J(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,Xx)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);let n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){let t=Xx.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Xx.copy(this.origin).addScaledVector(this.direction,t),Xx.distanceToSquared(e))}distanceSqToSegment(e,t,n,r){Zx.copy(e).add(t).multiplyScalar(.5),Qx.copy(t).sub(e).normalize(),$x.copy(this.origin).sub(Zx);let i=e.distanceTo(t)*.5,a=-this.direction.dot(Qx),o=$x.dot(this.direction),s=-$x.dot(Qx),c=$x.lengthSq(),l=Math.abs(1-a*a),u,d,f,p;if(l>0)if(u=a*s-o,d=a*o-s,p=i*l,u>=0)if(d>=-p)if(d<=p){let e=1/l;u*=e,d*=e,f=u*(u+a*d+2*o)+d*(a*u+d+2*s)+c}else d=i,u=Math.max(0,-(a*d+o)),f=-u*u+d*(d+2*s)+c;else d=-i,u=Math.max(0,-(a*d+o)),f=-u*u+d*(d+2*s)+c;else d<=-p?(u=Math.max(0,-(-a*i+o)),d=u>0?-i:Math.min(Math.max(-i,-s),i),f=-u*u+d*(d+2*s)+c):d<=p?(u=0,d=Math.min(Math.max(-i,-s),i),f=d*(d+2*s)+c):(u=Math.max(0,-(a*i+o)),d=u>0?i:Math.min(Math.max(-i,-s),i),f=-u*u+d*(d+2*s)+c);else d=a>0?-i:i,u=Math.max(0,-(a*d+o)),f=-u*u+d*(d+2*s)+c;return n&&n.copy(this.origin).addScaledVector(this.direction,u),r&&r.copy(Zx).addScaledVector(Qx,d),f}intersectSphere(e,t){Xx.subVectors(e.center,this.origin);let n=Xx.dot(this.direction),r=Xx.dot(Xx)-n*n,i=e.radius*e.radius;if(r>i)return null;let a=Math.sqrt(i-r),o=n-a,s=n+a;return s<0?null:o<0?this.at(s,t):this.at(o,t)}intersectsSphere(e){return e.radius<0?!1:this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){let t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;let n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){let n=this.distanceToPlane(e);return n===null?null:this.at(n,t)}intersectsPlane(e){let t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,r,i,a,o,s,c=1/this.direction.x,l=1/this.direction.y,u=1/this.direction.z,d=this.origin;return c>=0?(n=(e.min.x-d.x)*c,r=(e.max.x-d.x)*c):(n=(e.max.x-d.x)*c,r=(e.min.x-d.x)*c),l>=0?(i=(e.min.y-d.y)*l,a=(e.max.y-d.y)*l):(i=(e.max.y-d.y)*l,a=(e.min.y-d.y)*l),n>a||i>r||((i>n||isNaN(n))&&(n=i),(a=0?(o=(e.min.z-d.z)*u,s=(e.max.z-d.z)*u):(o=(e.max.z-d.z)*u,s=(e.min.z-d.z)*u),n>s||o>r)||((o>n||n!==n)&&(n=o),(s=0?n:r,t)}intersectsBox(e){return this.intersectBox(e,Xx)!==null}intersectTriangle(e,t,n,r,i){eS.subVectors(t,e),tS.subVectors(n,e),nS.crossVectors(eS,tS);let a=this.direction.dot(nS),o;if(a>0){if(r)return null;o=1}else if(a<0)o=-1,a=-a;else return null;$x.subVectors(this.origin,e);let s=o*this.direction.dot(tS.crossVectors($x,tS));if(s<0)return null;let c=o*this.direction.dot(eS.cross($x));if(c<0||s+c>a)return null;let l=-o*$x.dot(nS);return l<0?null:this.at(l/a,i)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}},Y=class e{constructor(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g){e.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],t!==void 0&&this.set(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g)}set(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){let g=this.elements;return g[0]=e,g[4]=t,g[8]=n,g[12]=r,g[1]=i,g[5]=a,g[9]=o,g[13]=s,g[2]=c,g[6]=l,g[10]=u,g[14]=d,g[3]=f,g[7]=p,g[11]=m,g[15]=h,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new e().fromArray(this.elements)}copy(e){let t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this}copyPosition(e){let t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this}setFromMatrix3(e){let t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this}extractRotation(e){let t=this.elements,n=e.elements,r=1/iS.setFromMatrixColumn(e,0).length(),i=1/iS.setFromMatrixColumn(e,1).length(),a=1/iS.setFromMatrixColumn(e,2).length();return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=0,t[4]=n[4]*i,t[5]=n[5]*i,t[6]=n[6]*i,t[7]=0,t[8]=n[8]*a,t[9]=n[9]*a,t[10]=n[10]*a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){let t=this.elements,n=e.x,r=e.y,i=e.z,a=Math.cos(n),o=Math.sin(n),s=Math.cos(r),c=Math.sin(r),l=Math.cos(i),u=Math.sin(i);if(e.order===`XYZ`){let e=a*l,n=a*u,r=o*l,i=o*u;t[0]=s*l,t[4]=-s*u,t[8]=c,t[1]=n+r*c,t[5]=e-i*c,t[9]=-o*s,t[2]=i-e*c,t[6]=r+n*c,t[10]=a*s}else if(e.order===`YXZ`){let e=s*l,n=s*u,r=c*l,i=c*u;t[0]=e+i*o,t[4]=r*o-n,t[8]=a*c,t[1]=a*u,t[5]=a*l,t[9]=-o,t[2]=n*o-r,t[6]=i+e*o,t[10]=a*s}else if(e.order===`ZXY`){let e=s*l,n=s*u,r=c*l,i=c*u;t[0]=e-i*o,t[4]=-a*u,t[8]=r+n*o,t[1]=n+r*o,t[5]=a*l,t[9]=i-e*o,t[2]=-a*c,t[6]=o,t[10]=a*s}else if(e.order===`ZYX`){let e=a*l,n=a*u,r=o*l,i=o*u;t[0]=s*l,t[4]=r*c-n,t[8]=e*c+i,t[1]=s*u,t[5]=i*c+e,t[9]=n*c-r,t[2]=-c,t[6]=o*s,t[10]=a*s}else if(e.order===`YZX`){let e=a*s,n=a*c,r=o*s,i=o*c;t[0]=s*l,t[4]=i-e*u,t[8]=r*u+n,t[1]=u,t[5]=a*l,t[9]=-o*l,t[2]=-c*l,t[6]=n*u+r,t[10]=e-i*u}else if(e.order===`XZY`){let e=a*s,n=a*c,r=o*s,i=o*c;t[0]=s*l,t[4]=-u,t[8]=c*l,t[1]=e*u+i,t[5]=a*l,t[9]=n*u-r,t[2]=r*u-n,t[6]=o*l,t[10]=i*u+e}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(oS,e,sS)}lookAt(e,t,n){let r=this.elements;return uS.subVectors(e,t),uS.lengthSq()===0&&(uS.z=1),uS.normalize(),cS.crossVectors(n,uS),cS.lengthSq()===0&&(Math.abs(n.z)===1?uS.x+=1e-4:uS.z+=1e-4,uS.normalize(),cS.crossVectors(n,uS)),cS.normalize(),lS.crossVectors(uS,cS),r[0]=cS.x,r[4]=lS.x,r[8]=uS.x,r[1]=cS.y,r[5]=lS.y,r[9]=uS.y,r[2]=cS.z,r[6]=lS.z,r[10]=uS.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let n=e.elements,r=t.elements,i=this.elements,a=n[0],o=n[4],s=n[8],c=n[12],l=n[1],u=n[5],d=n[9],f=n[13],p=n[2],m=n[6],h=n[10],g=n[14],_=n[3],v=n[7],y=n[11],b=n[15],x=r[0],S=r[4],C=r[8],w=r[12],T=r[1],E=r[5],D=r[9],O=r[13],k=r[2],A=r[6],j=r[10],M=r[14],N=r[3],P=r[7],F=r[11],ee=r[15];return i[0]=a*x+o*T+s*k+c*N,i[4]=a*S+o*E+s*A+c*P,i[8]=a*C+o*D+s*j+c*F,i[12]=a*w+o*O+s*M+c*ee,i[1]=l*x+u*T+d*k+f*N,i[5]=l*S+u*E+d*A+f*P,i[9]=l*C+u*D+d*j+f*F,i[13]=l*w+u*O+d*M+f*ee,i[2]=p*x+m*T+h*k+g*N,i[6]=p*S+m*E+h*A+g*P,i[10]=p*C+m*D+h*j+g*F,i[14]=p*w+m*O+h*M+g*ee,i[3]=_*x+v*T+y*k+b*N,i[7]=_*S+v*E+y*A+b*P,i[11]=_*C+v*D+y*j+b*F,i[15]=_*w+v*O+y*M+b*ee,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){let e=this.elements,t=e[0],n=e[4],r=e[8],i=e[12],a=e[1],o=e[5],s=e[9],c=e[13],l=e[2],u=e[6],d=e[10],f=e[14],p=e[3],m=e[7],h=e[11],g=e[15];return p*(+i*s*u-r*c*u-i*o*d+n*c*d+r*o*f-n*s*f)+m*(+t*s*f-t*c*d+i*a*d-r*a*f+r*c*l-i*s*l)+h*(+t*c*u-t*o*f-i*a*u+n*a*f+i*o*l-n*c*l)+g*(-r*o*l-t*s*u+t*o*d+r*a*u-n*a*d+n*s*l)}transpose(){let e=this.elements,t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,n){let r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=n),this}invert(){let e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],o=e[5],s=e[6],c=e[7],l=e[8],u=e[9],d=e[10],f=e[11],p=e[12],m=e[13],h=e[14],g=e[15],_=u*h*c-m*d*c+m*s*f-o*h*f-u*s*g+o*d*g,v=p*d*c-l*h*c-p*s*f+a*h*f+l*s*g-a*d*g,y=l*m*c-p*u*c+p*o*f-a*m*f-l*o*g+a*u*g,b=p*u*s-l*m*s-p*o*d+a*m*d+l*o*h-a*u*h,x=t*_+n*v+r*y+i*b;if(x===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);let S=1/x;return e[0]=_*S,e[1]=(m*d*i-u*h*i-m*r*f+n*h*f+u*r*g-n*d*g)*S,e[2]=(o*h*i-m*s*i+m*r*c-n*h*c-o*r*g+n*s*g)*S,e[3]=(u*s*i-o*d*i-u*r*c+n*d*c+o*r*f-n*s*f)*S,e[4]=v*S,e[5]=(l*h*i-p*d*i+p*r*f-t*h*f-l*r*g+t*d*g)*S,e[6]=(p*s*i-a*h*i-p*r*c+t*h*c+a*r*g-t*s*g)*S,e[7]=(a*d*i-l*s*i+l*r*c-t*d*c-a*r*f+t*s*f)*S,e[8]=y*S,e[9]=(p*u*i-l*m*i-p*n*f+t*m*f+l*n*g-t*u*g)*S,e[10]=(a*m*i-p*o*i+p*n*c-t*m*c-a*n*g+t*o*g)*S,e[11]=(l*o*i-a*u*i-l*n*c+t*u*c+a*n*f-t*o*f)*S,e[12]=b*S,e[13]=(l*m*r-p*u*r+p*n*d-t*m*d-l*n*h+t*u*h)*S,e[14]=(p*o*r-a*m*r-p*n*s+t*m*s+a*n*h-t*o*h)*S,e[15]=(a*u*r-l*o*r+l*n*s-t*u*s-a*n*d+t*o*d)*S,this}scale(e){let t=this.elements,n=e.x,r=e.y,i=e.z;return t[0]*=n,t[4]*=r,t[8]*=i,t[1]*=n,t[5]*=r,t[9]*=i,t[2]*=n,t[6]*=r,t[10]*=i,t[3]*=n,t[7]*=r,t[11]*=i,this}getMaxScaleOnAxis(){let e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,r))}makeTranslation(e,t,n){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this}makeRotationX(e){let t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){let n=Math.cos(t),r=Math.sin(t),i=1-n,a=e.x,o=e.y,s=e.z,c=i*a,l=i*o;return this.set(c*a+n,c*o-r*s,c*s+r*o,0,c*o+r*s,l*o+n,l*s-r*a,0,c*s-r*o,l*s+r*a,i*s*s+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,r,i,a){return this.set(1,n,i,0,e,1,a,0,t,r,1,0,0,0,0,1),this}compose(e,t,n){let r=this.elements,i=t._x,a=t._y,o=t._z,s=t._w,c=i+i,l=a+a,u=o+o,d=i*c,f=i*l,p=i*u,m=a*l,h=a*u,g=o*u,_=s*c,v=s*l,y=s*u,b=n.x,x=n.y,S=n.z;return r[0]=(1-(m+g))*b,r[1]=(f+y)*b,r[2]=(p-v)*b,r[3]=0,r[4]=(f-y)*x,r[5]=(1-(d+g))*x,r[6]=(h+_)*x,r[7]=0,r[8]=(p+v)*S,r[9]=(h-_)*S,r[10]=(1-(d+m))*S,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,t,n){let r=this.elements,i=iS.set(r[0],r[1],r[2]).length(),a=iS.set(r[4],r[5],r[6]).length(),o=iS.set(r[8],r[9],r[10]).length();this.determinant()<0&&(i=-i),e.x=r[12],e.y=r[13],e.z=r[14],aS.copy(this);let s=1/i,c=1/a,l=1/o;return aS.elements[0]*=s,aS.elements[1]*=s,aS.elements[2]*=s,aS.elements[4]*=c,aS.elements[5]*=c,aS.elements[6]*=c,aS.elements[8]*=l,aS.elements[9]*=l,aS.elements[10]*=l,t.setFromRotationMatrix(aS),n.x=i,n.y=a,n.z=o,this}makePerspective(e,t,n,r,i,a,o=Db){let s=this.elements,c=2*i/(t-e),l=2*i/(n-r),u=(t+e)/(t-e),d=(n+r)/(n-r),f,p;if(o===2e3)f=-(a+i)/(a-i),p=-2*a*i/(a-i);else if(o===2001)f=-a/(a-i),p=-a*i/(a-i);else throw Error(`THREE.Matrix4.makePerspective(): Invalid coordinate system: `+o);return s[0]=c,s[4]=0,s[8]=u,s[12]=0,s[1]=0,s[5]=l,s[9]=d,s[13]=0,s[2]=0,s[6]=0,s[10]=f,s[14]=p,s[3]=0,s[7]=0,s[11]=-1,s[15]=0,this}makeOrthographic(e,t,n,r,i,a,o=Db){let s=this.elements,c=1/(t-e),l=1/(n-r),u=1/(a-i),d=(t+e)*c,f=(n+r)*l,p,m;if(o===2e3)p=(a+i)*u,m=-2*u;else if(o===2001)p=i*u,m=-1*u;else throw Error(`THREE.Matrix4.makeOrthographic(): Invalid coordinate system: `+o);return s[0]=2*c,s[4]=0,s[8]=0,s[12]=-d,s[1]=0,s[5]=2*l,s[9]=0,s[13]=-f,s[2]=0,s[6]=0,s[10]=m,s[14]=-p,s[3]=0,s[7]=0,s[11]=0,s[15]=1,this}equals(e){let t=this.elements,n=e.elements;for(let e=0;e<16;e++)if(t[e]!==n[e])return!1;return!0}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){let n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}},iS=new J,aS=new Y,oS=new J(0,0,0),sS=new J(1,1,1),cS=new J,lS=new J,uS=new J,dS=new Y,fS=new rx,pS=class e{constructor(t=0,n=0,r=0,i=e.DEFAULT_ORDER){this.isEuler=!0,this._x=t,this._y=n,this._z=r,this._order=i}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,n,r=this._order){return this._x=e,this._y=t,this._z=n,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,n=!0){let r=e.elements,i=r[0],a=r[4],o=r[8],s=r[1],c=r[5],l=r[9],u=r[2],d=r[6],f=r[10];switch(t){case`XYZ`:this._y=Math.asin(Pb(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-l,f),this._z=Math.atan2(-a,i)):(this._x=Math.atan2(d,c),this._z=0);break;case`YXZ`:this._x=Math.asin(-Pb(l,-1,1)),Math.abs(l)<.9999999?(this._y=Math.atan2(o,f),this._z=Math.atan2(s,c)):(this._y=Math.atan2(-u,i),this._z=0);break;case`ZXY`:this._x=Math.asin(Pb(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-u,f),this._z=Math.atan2(-a,c)):(this._y=0,this._z=Math.atan2(s,i));break;case`ZYX`:this._y=Math.asin(-Pb(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(d,f),this._z=Math.atan2(s,i)):(this._x=0,this._z=Math.atan2(-a,c));break;case`YZX`:this._z=Math.asin(Pb(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-l,c),this._y=Math.atan2(-u,i)):(this._x=0,this._y=Math.atan2(o,f));break;case`XZY`:this._z=Math.asin(-Pb(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(d,c),this._y=Math.atan2(o,i)):(this._x=Math.atan2(-l,f),this._y=0);break;default:console.warn(`THREE.Euler: .setFromRotationMatrix() encountered an unknown order: `+t)}return this._order=t,n===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return dS.makeRotationFromQuaternion(e),this.setFromRotationMatrix(dS,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return fS.setFromEuler(this),this.setFromQuaternion(fS,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}};pS.DEFAULT_ORDER=`XYZ`;var mS=class{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let e=0;e1){for(let e=0;e0&&(r.userData=this.userData),r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),r.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(r.matrixAutoUpdate=!1),this.isInstancedMesh&&(r.type=`InstancedMesh`,r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(r.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(r.type=`BatchedMesh`,r.perObjectFrustumCulled=this.perObjectFrustumCulled,r.sortObjects=this.sortObjects,r.drawRanges=this._drawRanges,r.reservedRanges=this._reservedRanges,r.geometryInfo=this._geometryInfo.map(e=>({...e,boundingBox:e.boundingBox?e.boundingBox.toJSON():void 0,boundingSphere:e.boundingSphere?e.boundingSphere.toJSON():void 0})),r.instanceInfo=this._instanceInfo.map(e=>({...e})),r.availableInstanceIds=this._availableInstanceIds.slice(),r.availableGeometryIds=this._availableGeometryIds.slice(),r.nextIndexStart=this._nextIndexStart,r.nextVertexStart=this._nextVertexStart,r.geometryCount=this._geometryCount,r.maxInstanceCount=this._maxInstanceCount,r.maxVertexCount=this._maxVertexCount,r.maxIndexCount=this._maxIndexCount,r.geometryInitialized=this._geometryInitialized,r.matricesTexture=this._matricesTexture.toJSON(e),r.indirectTexture=this._indirectTexture.toJSON(e),this._colorsTexture!==null&&(r.colorsTexture=this._colorsTexture.toJSON(e)),this.boundingSphere!==null&&(r.boundingSphere=this.boundingSphere.toJSON()),this.boundingBox!==null&&(r.boundingBox=this.boundingBox.toJSON()));function i(t,n){return t[n.uuid]===void 0&&(t[n.uuid]=n.toJSON(e)),n.uuid}if(this.isScene)this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(r.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){r.geometry=i(e.geometries,this.geometry);let t=this.geometry.parameters;if(t!==void 0&&t.shapes!==void 0){let n=t.shapes;if(Array.isArray(n))for(let t=0,r=n.length;t0){r.children=[];for(let t=0;t0){r.animations=[];for(let t=0;t0&&(n.geometries=t),r.length>0&&(n.materials=r),i.length>0&&(n.textures=i),o.length>0&&(n.images=o),s.length>0&&(n.shapes=s),c.length>0&&(n.skeletons=c),l.length>0&&(n.animations=l),u.length>0&&(n.nodes=u)}return n.object=r,n;function a(e){let t=[];for(let n in e){let r=e[n];delete r.metadata,t.push(r)}return t}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let t=0;t0?r.multiplyScalar(1/Math.sqrt(i)):r.set(0,0,0)}static getBarycoord(e,t,n,r,i){jS.subVectors(r,t),MS.subVectors(n,t),NS.subVectors(e,t);let a=jS.dot(jS),o=jS.dot(MS),s=jS.dot(NS),c=MS.dot(MS),l=MS.dot(NS),u=a*c-o*o;if(u===0)return i.set(0,0,0),null;let d=1/u,f=(c*s-o*l)*d,p=(a*l-o*s)*d;return i.set(1-f-p,p,f)}static containsPoint(e,t,n,r){return this.getBarycoord(e,t,n,r,PS)===null?!1:PS.x>=0&&PS.y>=0&&PS.x+PS.y<=1}static getInterpolation(e,t,n,r,i,a,o,s){return this.getBarycoord(e,t,n,r,PS)===null?(s.x=0,s.y=0,`z`in s&&(s.z=0),`w`in s&&(s.w=0),null):(s.setScalar(0),s.addScaledVector(i,PS.x),s.addScaledVector(a,PS.y),s.addScaledVector(o,PS.z),s)}static getInterpolatedAttribute(e,t,n,r,i,a){return VS.setScalar(0),HS.setScalar(0),US.setScalar(0),VS.fromBufferAttribute(e,t),HS.fromBufferAttribute(e,n),US.fromBufferAttribute(e,r),a.setScalar(0),a.addScaledVector(VS,i.x),a.addScaledVector(HS,i.y),a.addScaledVector(US,i.z),a}static isFrontFacing(e,t,n,r){return jS.subVectors(n,t),MS.subVectors(e,t),jS.cross(MS).dot(r)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,r){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,t,n,r){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),this.c.fromBufferAttribute(e,r),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return jS.subVectors(this.c,this.b),MS.subVectors(this.a,this.b),jS.cross(MS).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return e.getNormal(this.a,this.b,this.c,t)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,n){return e.getBarycoord(t,this.a,this.b,this.c,n)}getInterpolation(t,n,r,i,a){return e.getInterpolation(t,this.a,this.b,this.c,n,r,i,a)}containsPoint(t){return e.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return e.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){let n=this.a,r=this.b,i=this.c,a,o;FS.subVectors(r,n),IS.subVectors(i,n),RS.subVectors(e,n);let s=FS.dot(RS),c=IS.dot(RS);if(s<=0&&c<=0)return t.copy(n);zS.subVectors(e,r);let l=FS.dot(zS),u=IS.dot(zS);if(l>=0&&u<=l)return t.copy(r);let d=s*u-l*c;if(d<=0&&s>=0&&l<=0)return a=s/(s-l),t.copy(n).addScaledVector(FS,a);BS.subVectors(e,i);let f=FS.dot(BS),p=IS.dot(BS);if(p>=0&&f<=p)return t.copy(i);let m=f*c-s*p;if(m<=0&&c>=0&&p<=0)return o=c/(c-p),t.copy(n).addScaledVector(IS,o);let h=l*p-f*u;if(h<=0&&u-l>=0&&f-p>=0)return LS.subVectors(i,r),o=(u-l)/(u-l+(f-p)),t.copy(r).addScaledVector(LS,o);let g=1/(h+m+d);return a=m*g,o=d*g,t.copy(n).addScaledVector(FS,a).addScaledVector(IS,o)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}},GS={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},KS={h:0,s:0,l:0},qS={h:0,s:0,l:0};function JS(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*6*(2/3-n):e}var X=class{constructor(e,t,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,n)}set(e,t,n){if(t===void 0&&n===void 0){let t=e;t&&t.isColor?this.copy(t):typeof t==`number`?this.setHex(t):typeof t==`string`&&this.setStyle(t)}else this.setRGB(e,t,n);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=xb){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,yx.colorSpaceToWorking(this,t),this}setRGB(e,t,n,r=yx.workingColorSpace){return this.r=e,this.g=t,this.b=n,yx.colorSpaceToWorking(this,r),this}setHSL(e,t,n,r=yx.workingColorSpace){if(e=Fb(e,1),t=Pb(t,0,1),n=Pb(n,0,1),t===0)this.r=this.g=this.b=n;else{let r=n<=.5?n*(1+t):n+t-n*t,i=2*n-r;this.r=JS(i,r,e+1/3),this.g=JS(i,r,e),this.b=JS(i,r,e-1/3)}return yx.colorSpaceToWorking(this,r),this}setStyle(e,t=xb){function n(t){t!==void 0&&parseFloat(t)<1&&console.warn(`THREE.Color: Alpha component of `+e+` will be ignored.`)}let r;if(r=/^(\w+)\(([^\)]*)\)/.exec(e)){let i,a=r[1],o=r[2];switch(a){case`rgb`:case`rgba`:if(i=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(i[4]),this.setRGB(Math.min(255,parseInt(i[1],10))/255,Math.min(255,parseInt(i[2],10))/255,Math.min(255,parseInt(i[3],10))/255,t);if(i=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(i[4]),this.setRGB(Math.min(100,parseInt(i[1],10))/100,Math.min(100,parseInt(i[2],10))/100,Math.min(100,parseInt(i[3],10))/100,t);break;case`hsl`:case`hsla`:if(i=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(i[4]),this.setHSL(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,t);break;default:console.warn(`THREE.Color: Unknown color model `+e)}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(e)){let n=r[1],i=n.length;if(i===3)return this.setRGB(parseInt(n.charAt(0),16)/15,parseInt(n.charAt(1),16)/15,parseInt(n.charAt(2),16)/15,t);if(i===6)return this.setHex(parseInt(n,16),t);console.warn(`THREE.Color: Invalid hex color `+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=xb){let n=GS[e.toLowerCase()];return n===void 0?console.warn(`THREE.Color: Unknown color `+e):this.setHex(n,t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=bx(e.r),this.g=bx(e.g),this.b=bx(e.b),this}copyLinearToSRGB(e){return this.r=xx(e.r),this.g=xx(e.g),this.b=xx(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=xb){return yx.workingToColorSpace(YS.copy(this),e),Math.round(Pb(YS.r*255,0,255))*65536+Math.round(Pb(YS.g*255,0,255))*256+Math.round(Pb(YS.b*255,0,255))}getHexString(e=xb){return(`000000`+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=yx.workingColorSpace){yx.workingToColorSpace(YS.copy(this),t);let n=YS.r,r=YS.g,i=YS.b,a=Math.max(n,r,i),o=Math.min(n,r,i),s,c,l=(o+a)/2;if(o===a)s=0,c=0;else{let e=a-o;switch(c=l<=.5?e/(a+o):e/(2-a-o),a){case n:s=(r-i)/e+(r0!=e>0&&this.version++,this._alphaTest=e}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(let t in e){let n=e[t];if(n===void 0){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}let r=this[t];if(r===void 0){console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(n):r&&r.isVector3&&n&&n.isVector3?r.copy(n):this[t]=n}}toJSON(e){let t=e===void 0||typeof e==`string`;t&&(e={textures:{},images:{}});let n={metadata:{version:4.7,type:`Material`,generator:`Material.toJSON`}};n.uuid=this.uuid,n.type=this.type,this.name!==``&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),this.roughness!==void 0&&(n.roughness=this.roughness),this.metalness!==void 0&&(n.metalness=this.metalness),this.sheen!==void 0&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(n.shininess=this.shininess),this.clearcoat!==void 0&&(n.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.dispersion!==void 0&&(n.dispersion=this.dispersion),this.iridescence!==void 0&&(n.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(n.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(n.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(n.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(n.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(n.combine=this.combine)),this.envMapRotation!==void 0&&(n.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(n.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(n.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(n.size=this.size),this.shadowSide!==null&&(n.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==1&&(n.blending=this.blending),this.side!==0&&(n.side=this.side),this.vertexColors===!0&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.transparent===!0&&(n.transparent=!0),this.blendSrc!==204&&(n.blendSrc=this.blendSrc),this.blendDst!==205&&(n.blendDst=this.blendDst),this.blendEquation!==100&&(n.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(n.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(n.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(n.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(n.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(n.blendAlpha=this.blendAlpha),this.depthFunc!==3&&(n.depthFunc=this.depthFunc),this.depthTest===!1&&(n.depthTest=this.depthTest),this.depthWrite===!1&&(n.depthWrite=this.depthWrite),this.colorWrite===!1&&(n.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(n.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==519&&(n.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(n.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(n.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==7680&&(n.stencilFail=this.stencilFail),this.stencilZFail!==7680&&(n.stencilZFail=this.stencilZFail),this.stencilZPass!==7680&&(n.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(n.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(n.rotation=this.rotation),this.polygonOffset===!0&&(n.polygonOffset=!0),this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(n.linewidth=this.linewidth),this.dashSize!==void 0&&(n.dashSize=this.dashSize),this.gapSize!==void 0&&(n.gapSize=this.gapSize),this.scale!==void 0&&(n.scale=this.scale),this.dithering===!0&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),this.alphaHash===!0&&(n.alphaHash=!0),this.alphaToCoverage===!0&&(n.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=!0),this.forceSinglePass===!0&&(n.forceSinglePass=!0),this.wireframe===!0&&(n.wireframe=!0),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!==`round`&&(n.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!==`round`&&(n.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(n.flatShading=!0),this.visible===!1&&(n.visible=!1),this.toneMapped===!1&&(n.toneMapped=!1),this.fog===!1&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData);function r(e){let t=[];for(let n in e){let r=e[n];delete r.metadata,t.push(r)}return t}if(t){let t=r(e.textures),i=r(e.images);t.length>0&&(n.textures=t),i.length>0&&(n.images=i)}return n}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;let t=e.clippingPlanes,n=null;if(t!==null){let e=t.length;n=Array(e);for(let r=0;r!==e;++r)n[r]=t[r].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:`dispose`})}set needsUpdate(e){e===!0&&this.version++}},QS=class extends ZS{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type=`MeshBasicMaterial`,this.color=new X(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new pS,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=`round`,this.wireframeLinejoin=`round`,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}},$S=new J,eC=new nx,tC=0,nC=class{constructor(e,t,n=!1){if(Array.isArray(e))throw TypeError(`THREE.BufferAttribute: array should be a Typed Array.`);this.isBufferAttribute=!0,Object.defineProperty(this,"id",{value:tC++}),this.name=``,this.array=e,this.itemSize=t,this.count=e===void 0?0:e.length/t,this.normalized=n,this.usage=Eb,this.updateRanges=[],this.gpuType=vy,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,t,n){e*=this.itemSize,n*=t.itemSize;for(let r=0,i=this.itemSize;rt.count&&console.warn(`THREE.BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry.`),t.needsUpdate=!0}return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new jx);let e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error(`THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.`,this),this.boundingBox.set(new J(-1/0,-1/0,-1/0),new J(1/0,1/0,1/0));return}if(e!==void 0){if(this.boundingBox.setFromBufferAttribute(e),t)for(let e=0,n=t.length;e0&&(e.userData=this.userData),this.parameters!==void 0){let t=this.parameters;for(let n in t)t[n]!==void 0&&(e[n]=t[n]);return e}e.data={attributes:{}};let t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});let n=this.attributes;for(let t in n){let r=n[t];e.data.attributes[t]=r.toJSON(e.data)}let r={},i=!1;for(let t in this.morphAttributes){let n=this.morphAttributes[t],a=[];for(let t=0,r=n.length;t0&&(r[t]=a,i=!0)}i&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);let a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));let o=this.boundingSphere;return o!==null&&(e.data.boundingSphere=o.toJSON()),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;let t={};this.name=e.name;let n=e.index;n!==null&&this.setIndex(n.clone());let r=e.attributes;for(let e in r){let n=r[e];this.setAttribute(e,n.clone(t))}let i=e.morphAttributes;for(let e in i){let n=[],r=i[e];for(let e=0,i=r.length;e0){let n=e[t[0]];if(n!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;e(e.far-e.near)**2))&&(mC.copy(i).invert(),hC.copy(e.ray).applyMatrix4(mC),!(n.boundingBox!==null&&hC.intersectsBox(n.boundingBox)===!1)&&this._computeIntersections(e,t,hC)))}_computeIntersections(e,t,n){let r,i=this.geometry,a=this.material,o=i.index,s=i.attributes.position,c=i.attributes.uv,l=i.attributes.uv1,u=i.attributes.normal,d=i.groups,f=i.drawRange;if(o!==null)if(Array.isArray(a))for(let i=0,s=d.length;in.far?null:{distance:l,point:wC.clone(),object:e}}function DC(e,t,n,r,i,a,o,s,c,l){e.getVertexPosition(s,vC),e.getVertexPosition(c,yC),e.getVertexPosition(l,bC);let u=EC(e,t,n,r,vC,yC,bC,CC);if(u){let e=new J;WS.getBarycoord(CC,vC,yC,bC,e),i&&(u.uv=WS.getInterpolatedAttribute(i,s,c,l,e,new nx)),a&&(u.uv1=WS.getInterpolatedAttribute(a,s,c,l,e,new nx)),o&&(u.normal=WS.getInterpolatedAttribute(o,s,c,l,e,new J),u.normal.dot(r.direction)>0&&u.normal.multiplyScalar(-1));let t={a:s,b:c,c:l,normal:new J,materialIndex:0};WS.getNormal(vC,yC,bC,t.normal),u.face=t,u.barycoord=e}return u}var OC=class e extends pC{constructor(e=1,t=1,n=1,r=1,i=1,a=1){super(),this.type=`BoxGeometry`,this.parameters={width:e,height:t,depth:n,widthSegments:r,heightSegments:i,depthSegments:a};let o=this;r=Math.floor(r),i=Math.floor(i),a=Math.floor(a);let s=[],c=[],l=[],u=[],d=0,f=0;p(`z`,`y`,`x`,-1,-1,n,t,e,a,i,0),p(`z`,`y`,`x`,1,-1,n,t,-e,a,i,1),p(`x`,`z`,`y`,1,1,e,n,t,r,a,2),p(`x`,`z`,`y`,1,-1,e,n,-t,r,a,3),p(`x`,`y`,`z`,1,-1,e,t,n,r,i,4),p(`x`,`y`,`z`,-1,-1,e,t,-n,r,i,5),this.setIndex(s),this.setAttribute(`position`,new aC(c,3)),this.setAttribute(`normal`,new aC(l,3)),this.setAttribute(`uv`,new aC(u,2));function p(e,t,n,r,i,a,p,m,h,g,_){let v=a/h,y=p/g,b=a/2,x=p/2,S=m/2,C=h+1,w=g+1,T=0,E=0,D=new J;for(let a=0;a0?1:-1,l.push(D.x,D.y,D.z),u.push(s/h),u.push(1-a/g),T+=1}for(let e=0;e0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;let n={};for(let e in this.extensions)this.extensions[e]===!0&&(n[e]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}},zC=class extends FS{constructor(){super(),this.isCamera=!0,this.type=`Camera`,this.matrixWorldInverse=new Y,this.projectionMatrix=new Y,this.projectionMatrixInverse=new Y,this.coordinateSystem=Ob}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}},BC=new J,VC=new rx,HC=new rx,UC=class extends zC{constructor(e=50,t=1,n=.1,r=2e3){super(),this.isPerspectiveCamera=!0,this.type=`PerspectiveCamera`,this.fov=e,this.zoom=1,this.near=n,this.far=r,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){let t=.5*this.getFilmHeight()/e;this.fov=Nb*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){let e=Math.tan(Mb*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return Nb*2*Math.atan(Math.tan(Mb*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(e,t,n){BC.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(BC.x,BC.y).multiplyScalar(-e/BC.z),BC.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),n.set(BC.x,BC.y).multiplyScalar(-e/BC.z)}getViewSize(e,t){return this.getViewBounds(e,VC,HC),t.subVectors(HC,VC)}setViewOffset(e,t,n,r,i,a){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=r,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let e=this.near,t=e*Math.tan(Mb*.5*this.fov)/this.zoom,n=2*t,r=this.aspect*n,i=-.5*r,a=this.view;if(this.view!==null&&this.view.enabled){let e=a.fullWidth,o=a.fullHeight;i+=a.offsetX*r/e,t-=a.offsetY*n/o,r*=a.width/e,n*=a.height/o}let o=this.filmOffset;o!==0&&(i+=e*o/this.getFilmWidth()),this.projectionMatrix.makePerspective(i,i+r,t,t-n,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){let t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}},WC=-90,GC=1,rte=class extends FS{constructor(e,t,n){super(),this.type=`CubeCamera`,this.renderTarget=n,this.coordinateSystem=null,this.activeMipmapLevel=0;let r=new UC(WC,GC,e,t);r.layers=this.layers,this.add(r);let i=new UC(WC,GC,e,t);i.layers=this.layers,this.add(i);let a=new UC(WC,GC,e,t);a.layers=this.layers,this.add(a);let o=new UC(WC,GC,e,t);o.layers=this.layers,this.add(o);let s=new UC(WC,GC,e,t);s.layers=this.layers,this.add(s);let c=new UC(WC,GC,e,t);c.layers=this.layers,this.add(c)}updateCoordinateSystem(){let e=this.coordinateSystem,t=this.children.concat(),[n,r,i,a,o,s]=t;for(let e of t)this.remove(e);if(e===2e3)n.up.set(0,1,0),n.lookAt(1,0,0),r.up.set(0,1,0),r.lookAt(-1,0,0),i.up.set(0,0,-1),i.lookAt(0,1,0),a.up.set(0,0,1),a.lookAt(0,-1,0),o.up.set(0,1,0),o.lookAt(0,0,1),s.up.set(0,1,0),s.lookAt(0,0,-1);else if(e===2001)n.up.set(0,-1,0),n.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),i.up.set(0,0,1),i.lookAt(0,1,0),a.up.set(0,0,-1),a.lookAt(0,-1,0),o.up.set(0,-1,0),o.lookAt(0,0,1),s.up.set(0,-1,0),s.lookAt(0,0,-1);else throw Error(`THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: `+e);for(let e of t)this.add(e),e.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();let{renderTarget:n,activeMipmapLevel:r}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());let[i,a,o,s,c,l]=this.children,u=e.getRenderTarget(),d=e.getActiveCubeFace(),f=e.getActiveMipmapLevel(),p=e.xr.enabled;e.xr.enabled=!1;let m=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0,r),e.render(t,i),e.setRenderTarget(n,1,r),e.render(t,a),e.setRenderTarget(n,2,r),e.render(t,o),e.setRenderTarget(n,3,r),e.render(t,s),e.setRenderTarget(n,4,r),e.render(t,c),n.texture.generateMipmaps=m,e.setRenderTarget(n,5,r),e.render(t,l),e.setRenderTarget(u,d,f),e.xr.enabled=p,n.texture.needsPMREMUpdate=!0}},KC=class extends Ax{constructor(e=[],t=301,n,r,i,a,o,s,c,l){super(e,t,n,r,i,a,o,s,c,l),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}},ite=class extends Nx{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;let n={width:e,height:e,depth:1},r=[n,n,n,n,n,n];this.texture=new KC(r),this._setTextureOptions(t),this.texture.isRenderTargetTexture=!0}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;let n={uniforms:{tEquirect:{value:null}},vertexShader:` +}`,IC=class extends ZS{constructor(e){super(),this.isShaderMaterial=!0,this.type=`ShaderMaterial`,this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=PC,this.fragmentShader=FC,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={clipCullDistance:!1,multiDraw:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,e!==void 0&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=kC(e.uniforms),this.uniformsGroups=jC(e.uniformsGroups),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.fog=e.fog,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){let t=super.toJSON(e);t.glslVersion=this.glslVersion,t.uniforms={};for(let n in this.uniforms){let r=this.uniforms[n].value;r&&r.isTexture?t.uniforms[n]={type:`t`,value:r.toJSON(e).uuid}:r&&r.isColor?t.uniforms[n]={type:`c`,value:r.getHex()}:r&&r.isVector2?t.uniforms[n]={type:`v2`,value:r.toArray()}:r&&r.isVector3?t.uniforms[n]={type:`v3`,value:r.toArray()}:r&&r.isVector4?t.uniforms[n]={type:`v4`,value:r.toArray()}:r&&r.isMatrix3?t.uniforms[n]={type:`m3`,value:r.toArray()}:r&&r.isMatrix4?t.uniforms[n]={type:`m4`,value:r.toArray()}:t.uniforms[n]={value:r}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;let n={};for(let e in this.extensions)this.extensions[e]===!0&&(n[e]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}},LC=class extends AS{constructor(){super(),this.isCamera=!0,this.type=`Camera`,this.matrixWorldInverse=new Y,this.projectionMatrix=new Y,this.projectionMatrixInverse=new Y,this.coordinateSystem=Db}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}},RC=new J,zC=new nx,BC=new nx,VC=class extends LC{constructor(e=50,t=1,n=.1,r=2e3){super(),this.isPerspectiveCamera=!0,this.type=`PerspectiveCamera`,this.fov=e,this.zoom=1,this.near=n,this.far=r,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){let t=.5*this.getFilmHeight()/e;this.fov=Mb*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){let e=Math.tan(jb*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return Mb*2*Math.atan(Math.tan(jb*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(e,t,n){RC.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(RC.x,RC.y).multiplyScalar(-e/RC.z),RC.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),n.set(RC.x,RC.y).multiplyScalar(-e/RC.z)}getViewSize(e,t){return this.getViewBounds(e,zC,BC),t.subVectors(BC,zC)}setViewOffset(e,t,n,r,i,a){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=r,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let e=this.near,t=e*Math.tan(jb*.5*this.fov)/this.zoom,n=2*t,r=this.aspect*n,i=-.5*r,a=this.view;if(this.view!==null&&this.view.enabled){let e=a.fullWidth,o=a.fullHeight;i+=a.offsetX*r/e,t-=a.offsetY*n/o,r*=a.width/e,n*=a.height/o}let o=this.filmOffset;o!==0&&(i+=e*o/this.getFilmWidth()),this.projectionMatrix.makePerspective(i,i+r,t,t-n,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){let t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}},HC=-90,UC=1,WC=class extends AS{constructor(e,t,n){super(),this.type=`CubeCamera`,this.renderTarget=n,this.coordinateSystem=null,this.activeMipmapLevel=0;let r=new VC(HC,UC,e,t);r.layers=this.layers,this.add(r);let i=new VC(HC,UC,e,t);i.layers=this.layers,this.add(i);let a=new VC(HC,UC,e,t);a.layers=this.layers,this.add(a);let o=new VC(HC,UC,e,t);o.layers=this.layers,this.add(o);let s=new VC(HC,UC,e,t);s.layers=this.layers,this.add(s);let c=new VC(HC,UC,e,t);c.layers=this.layers,this.add(c)}updateCoordinateSystem(){let e=this.coordinateSystem,t=this.children.concat(),[n,r,i,a,o,s]=t;for(let e of t)this.remove(e);if(e===2e3)n.up.set(0,1,0),n.lookAt(1,0,0),r.up.set(0,1,0),r.lookAt(-1,0,0),i.up.set(0,0,-1),i.lookAt(0,1,0),a.up.set(0,0,1),a.lookAt(0,-1,0),o.up.set(0,1,0),o.lookAt(0,0,1),s.up.set(0,1,0),s.lookAt(0,0,-1);else if(e===2001)n.up.set(0,-1,0),n.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),i.up.set(0,0,1),i.lookAt(0,1,0),a.up.set(0,0,-1),a.lookAt(0,-1,0),o.up.set(0,-1,0),o.lookAt(0,0,1),s.up.set(0,-1,0),s.lookAt(0,0,-1);else throw Error(`THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: `+e);for(let e of t)this.add(e),e.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();let{renderTarget:n,activeMipmapLevel:r}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());let[i,a,o,s,c,l]=this.children,u=e.getRenderTarget(),d=e.getActiveCubeFace(),f=e.getActiveMipmapLevel(),p=e.xr.enabled;e.xr.enabled=!1;let m=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0,r),e.render(t,i),e.setRenderTarget(n,1,r),e.render(t,a),e.setRenderTarget(n,2,r),e.render(t,o),e.setRenderTarget(n,3,r),e.render(t,s),e.setRenderTarget(n,4,r),e.render(t,c),n.texture.generateMipmaps=m,e.setRenderTarget(n,5,r),e.render(t,l),e.setRenderTarget(u,d,f),e.xr.enabled=p,n.texture.needsPMREMUpdate=!0}},GC=class extends Ex{constructor(e=[],t=301,n,r,i,a,o,s,c,l){super(e,t,n,r,i,a,o,s,c,l),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}},KC=class extends Ox{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;let n={width:e,height:e,depth:1},r=[n,n,n,n,n,n];this.texture=new GC(r),this._setTextureOptions(t),this.texture.isRenderTargetTexture=!0}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;let n={uniforms:{tEquirect:{value:null}},vertexShader:` varying vec3 vWorldDirection; @@ -89,7 +89,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${t.do gl_FragColor = texture2D( tEquirect, sampleUV ); } - `},r=new NC(5,5,5),i=new RC({name:`CubemapFromEquirect`,uniforms:PC(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:1,blending:0});i.uniforms.tEquirect.value=t;let a=new AC(r,i),o=t.minFilter;return t.minFilter===1008&&(t.minFilter=uy),new rte(1,10,this).update(e,a),t.minFilter=o,a.geometry.dispose(),a.material.dispose(),this}clear(e,t=!0,n=!0,r=!0){let i=e.getRenderTarget();for(let i=0;i<6;i++)e.setRenderTarget(this,i),e.clear(t,n,r);e.setRenderTarget(i)}},qC=class extends FS{constructor(){super(),this.isGroup=!0,this.type=`Group`}},ate={type:`move`},JC=class{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new qC,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new qC,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new J,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new J),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new qC,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new J,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new J),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){let t=this._hand;if(t)for(let n of e.hand.values())this._getHandJoint(t,n)}return this.dispatchEvent({type:`connected`,data:e}),this}disconnect(e){return this.dispatchEvent({type:`disconnected`,data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,n){let r=null,i=null,a=null,o=this._targetRay,s=this._grip,c=this._hand;if(e&&t.session.visibilityState!==`visible-blurred`){if(c&&e.hand){a=!0;for(let r of e.hand.values()){let e=t.getJointPose(r,n),i=this._getHandJoint(c,r);e!==null&&(i.matrix.fromArray(e.transform.matrix),i.matrix.decompose(i.position,i.rotation,i.scale),i.matrixWorldNeedsUpdate=!0,i.jointRadius=e.radius),i.visible=e!==null}let r=c.joints[`index-finger-tip`],i=c.joints[`thumb-tip`],o=r.position.distanceTo(i.position);c.inputState.pinching&&o>.025?(c.inputState.pinching=!1,this.dispatchEvent({type:`pinchend`,handedness:e.handedness,target:this})):!c.inputState.pinching&&o<=.015&&(c.inputState.pinching=!0,this.dispatchEvent({type:`pinchstart`,handedness:e.handedness,target:this}))}else s!==null&&e.gripSpace&&(i=t.getPose(e.gripSpace,n),i!==null&&(s.matrix.fromArray(i.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),s.matrixWorldNeedsUpdate=!0,i.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(i.linearVelocity)):s.hasLinearVelocity=!1,i.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(i.angularVelocity)):s.hasAngularVelocity=!1));o!==null&&(r=t.getPose(e.targetRaySpace,n),r===null&&i!==null&&(r=i),r!==null&&(o.matrix.fromArray(r.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),o.matrixWorldNeedsUpdate=!0,r.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(r.linearVelocity)):o.hasLinearVelocity=!1,r.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(r.angularVelocity)):o.hasAngularVelocity=!1,this.dispatchEvent(ate)))}return o!==null&&(o.visible=r!==null),s!==null&&(s.visible=i!==null),c!==null&&(c.visible=a!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){let n=new qC;n.matrixAutoUpdate=!1,n.visible=!1,e.joints[t.jointName]=n,e.add(n)}return e.joints[t.jointName]}},YC=class extends FS{constructor(){super(),this.isScene=!0,this.type=`Scene`,this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new vS,this.environmentIntensity=1,this.environmentRotation=new vS,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<`u`&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(`observe`,{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){let t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}},ote=class{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e===void 0?0:e.length/t,this.usage=Db,this.updateRanges=[],this.version=0,this.uuid=Pb()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,n){e*=this.stride,n*=t.stride;for(let r=0,i=this.stride;r1?null:t.copy(e.start).addScaledVector(n,i)}intersectsLine(e){let t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){let n=t||pte.getNormalMatrix(e),r=this.coplanarPoint(_w).applyMatrix4(e),i=this.normal.applyMatrix3(n).normalize();return this.constant=-r.dot(i),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}},yw=new eS,bw=new J,xw=class{constructor(e=new vw,t=new vw,n=new vw,r=new vw,i=new vw,a=new vw){this.planes=[e,t,n,r,i,a]}set(e,t,n,r,i,a){let o=this.planes;return o[0].copy(e),o[1].copy(t),o[2].copy(n),o[3].copy(r),o[4].copy(i),o[5].copy(a),this}copy(e){let t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e,t=Ob){let n=this.planes,r=e.elements,i=r[0],a=r[1],o=r[2],s=r[3],c=r[4],l=r[5],u=r[6],d=r[7],f=r[8],p=r[9],m=r[10],h=r[11],g=r[12],_=r[13],v=r[14],y=r[15];if(n[0].setComponents(s-i,d-c,h-f,y-g).normalize(),n[1].setComponents(s+i,d+c,h+f,y+g).normalize(),n[2].setComponents(s+a,d+l,h+p,y+_).normalize(),n[3].setComponents(s-a,d-l,h-p,y-_).normalize(),n[4].setComponents(s-o,d-u,h-m,y-v).normalize(),t===2e3)n[5].setComponents(s+o,d+u,h+m,y+v).normalize();else if(t===2001)n[5].setComponents(o,u,m,v).normalize();else throw Error(`THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: `+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),yw.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{let t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),yw.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(yw)}intersectsSprite(e){return yw.center.set(0,0,0),yw.radius=.7071067811865476,yw.applyMatrix4(e.matrixWorld),this.intersectsSphere(yw)}intersectsSphere(e){let t=this.planes,n=e.center,r=-e.radius;for(let e=0;e<6;e++)if(t[e].distanceToPoint(n)0?e.max.x:e.min.x,bw.y=r.normal.y>0?e.max.y:e.min.y,bw.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(bw)<0)return!1}return!0}containsPoint(e){let t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}},Sw=class extends nC{constructor(e){super(),this.isLineBasicMaterial=!0,this.type=`LineBasicMaterial`,this.color=new X(16777215),this.map=null,this.linewidth=1,this.linecap=`round`,this.linejoin=`round`,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this.fog=e.fog,this}},Cw=new J,ww=new J,Tw=new Y,Ew=new cS,Dw=new eS,Ow=new J,kw=new J,Aw=class extends FS{constructor(e=new vC,t=new Sw){super(),this.isLine=!0,this.type=`Line`,this.geometry=e,this.material=t,this.morphTargetDictionary=void 0,this.morphTargetInfluences=void 0,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}computeLineDistances(){let e=this.geometry;if(e.index===null){let t=e.attributes.position,n=[0];for(let e=1,r=t.count;e0){let n=e[t[0]];if(n!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;er)return;Ow.applyMatrix4(e.matrixWorld);let c=t.ray.origin.distanceTo(Ow);if(!(ct.far))return{distance:c,point:kw.clone().applyMatrix4(e.matrixWorld),index:o,face:null,faceIndex:null,barycoord:null,object:e}}var Mw=new J,Nw=new J,Pw=class extends Aw{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type=`LineSegments`}computeLineDistances(){let e=this.geometry;if(e.index===null){let t=e.attributes.position,n=[];for(let e=0,r=t.count;e0){let n=e[t[0]];if(n!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;ei.far)return;a.push({distance:c,distanceToRay:Math.sqrt(s),point:n,index:t,face:null,faceIndex:null,barycoord:null,object:o})}}var Uw=class extends Ax{constructor(e,t,n=vy,r,i,a,o=sy,s=sy,c,l=Oy,u=1){if(l!==1026&&l!==1027)throw Error(`DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat`);super({width:e,height:t,depth:u},r,i,a,o,s,l,n,c),this.isDepthTexture=!0,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.source=new Ex(Object.assign({},e.image)),this.compareFunction=e.compareFunction,this}toJSON(e){let t=super.toJSON(e);return this.compareFunction!==null&&(t.compareFunction=this.compareFunction),t}},Ww=class e extends vC{constructor(e=1,t=1,n=1,r=32,i=1,a=!1,o=0,s=Math.PI*2){super(),this.type=`CylinderGeometry`,this.parameters={radiusTop:e,radiusBottom:t,height:n,radialSegments:r,heightSegments:i,openEnded:a,thetaStart:o,thetaLength:s};let c=this;r=Math.floor(r),i=Math.floor(i);let l=[],u=[],d=[],f=[],p=0,m=[],h=n/2,g=0;_(),a===!1&&(e>0&&v(!0),t>0&&v(!1)),this.setIndex(l),this.setAttribute(`position`,new uC(u,3)),this.setAttribute(`normal`,new uC(d,3)),this.setAttribute(`uv`,new uC(f,2));function _(){let a=new J,_=new J,v=0,y=(t-e)/n;for(let c=0;c<=i;c++){let l=[],g=c/i,v=g*(t-e)+e;for(let e=0;e<=r;e++){let t=e/r,i=t*s+o,c=Math.sin(i),m=Math.cos(i);_.x=v*c,_.y=-g*n+h,_.z=v*m,u.push(_.x,_.y,_.z),a.set(c,y,m).normalize(),d.push(a.x,a.y,a.z),f.push(t,1-g),l.push(p++)}m.push(l)}for(let n=0;n0||r!==0)&&(l.push(a,o,c),v+=3),(t>0||r!==i-1)&&(l.push(o,s,c),v+=3)}c.addGroup(g,v,0),g+=v}function v(n){let i=p,a=new rx,m=new J,_=0,v=n===!0?e:t,y=n===!0?1:-1;for(let e=1;e<=r;e++)u.push(0,h*y,0),d.push(0,y,0),f.push(.5,.5),p++;let b=p;for(let e=0;e<=r;e++){let t=e/r*s+o,n=Math.cos(t),i=Math.sin(t);m.x=v*i,m.y=h*y,m.z=v*n,u.push(m.x,m.y,m.z),d.push(0,y,0),a.x=n*.5+.5,a.y=i*.5*y+.5,f.push(a.x,a.y),p++}for(let e=0;e0)&&f.push(t,i,c),(e!==n-1||s0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:``,PHYSICAL:``},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}},Xw=class extends nC{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type=`MeshPhongMaterial`,this.color=new X(16777215),this.specular=new X(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new X(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new rx(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new vS,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=`round`,this.wireframeLinejoin=`round`,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}},Zw=class extends nC{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type=`MeshLambertMaterial`,this.color=new X(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new X(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new rx(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new vS,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=`round`,this.wireframeLinejoin=`round`,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}},Qw=class extends nC{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type=`MeshDepthMaterial`,this.depthPacking=bb,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}},$w=class extends nC{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type=`MeshDistanceMaterial`,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}};function eT(e,t){return!e||e.constructor===t?e:typeof t.BYTES_PER_ELEMENT==`number`?new t(e):Array.prototype.slice.call(e)}function tT(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function nT(e){function t(t,n){return e[t]-e[n]}let n=e.length,r=Array(n);for(let e=0;e!==n;++e)r[e]=e;return r.sort(t),r}function rT(e,t,n){let r=e.length,i=new e.constructor(r);for(let a=0,o=0;o!==r;++a){let r=n[a]*t;for(let n=0;n!==t;++n)i[o++]=e[r+n]}return i}function iT(e,t,n,r){let i=1,a=e[0];for(;a!==void 0&&a[r]===void 0;)a=e[i++];if(a===void 0)return;let o=a[r];if(o!==void 0)if(Array.isArray(o))do o=a[r],o!==void 0&&(t.push(a.time),n.push(...o)),a=e[i++];while(a!==void 0);else if(o.toArray!==void 0)do o=a[r],o!==void 0&&(t.push(a.time),o.toArray(n,n.length)),a=e[i++];while(a!==void 0);else do o=a[r],o!==void 0&&(t.push(a.time),n.push(o)),a=e[i++];while(a!==void 0)}var aT=class{constructor(e,t,n,r){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=r===void 0?new t.constructor(n):r,this.sampleValues=t,this.valueSize=n,this.settings=null,this.DefaultSettings_={}}evaluate(e){let t=this.parameterPositions,n=this._cachedIndex,r=t[n],i=t[n-1];validate_interval:{seek:{let a;linear_scan:{forward_scan:if(!(e=i)){let o=t[1];e=i)break seek}a=n,n=0;break linear_scan}break validate_interval}for(;n>>1;et;)--a;if(++a,i!==0||a!==r){i>=a&&(a=Math.max(a,1),i=a-1);let e=this.getValueSize();this.times=n.slice(i,a),this.values=this.values.slice(i*e,a*e)}return this}validate(){let e=!0,t=this.getValueSize();t-Math.floor(t)!==0&&(console.error(`THREE.KeyframeTrack: Invalid value size in track.`,this),e=!1);let n=this.times,r=this.values,i=n.length;i===0&&(console.error(`THREE.KeyframeTrack: Track is empty.`,this),e=!1);let a=null;for(let t=0;t!==i;t++){let r=n[t];if(typeof r==`number`&&isNaN(r)){console.error(`THREE.KeyframeTrack: Time is not a valid number.`,this,t,r),e=!1;break}if(a!==null&&a>r){console.error(`THREE.KeyframeTrack: Out of order keys.`,this,t,r,a),e=!1;break}a=r}if(r!==void 0&&tT(r))for(let t=0,n=r.length;t!==n;++t){let n=r[t];if(isNaN(n)){console.error(`THREE.KeyframeTrack: Value is not a valid number.`,this,t,n),e=!1;break}}return e}optimize(){let e=this.times.slice(),t=this.values.slice(),n=this.getValueSize(),r=this.getInterpolation()===hb,i=e.length-1,a=1;for(let o=1;o0){e[a]=e[i];for(let e=i*n,r=a*n,o=0;o!==n;++o)t[r+o]=t[e+o];++a}return a===e.length?(this.times=e,this.values=t):(this.times=e.slice(0,a),this.values=t.slice(0,a*n)),this}clone(){let e=this.times.slice(),t=this.values.slice(),n=this.constructor,r=new n(this.name,e,t);return r.createInterpolant=this.createInterpolant,r}};lT.prototype.ValueTypeName=``,lT.prototype.TimeBufferType=Float32Array,lT.prototype.ValueBufferType=Float32Array,lT.prototype.DefaultInterpolation=mb;var uT=class extends lT{constructor(e,t,n){super(e,t,n)}};uT.prototype.ValueTypeName=`bool`,uT.prototype.ValueBufferType=Array,uT.prototype.DefaultInterpolation=pb,uT.prototype.InterpolantFactoryMethodLinear=void 0,uT.prototype.InterpolantFactoryMethodSmooth=void 0;var dT=class extends lT{constructor(e,t,n,r){super(e,t,n,r)}};dT.prototype.ValueTypeName=`color`;var fT=class extends lT{constructor(e,t,n,r){super(e,t,n,r)}};fT.prototype.ValueTypeName=`number`;var pT=class extends aT{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){let i=this.resultBuffer,a=this.sampleValues,o=this.valueSize,s=(n-t)/(r-t),c=e*o;for(let e=c+o;c!==e;c+=4)ix.slerpFlat(i,0,a,c-o,a,c,s);return i}},mT=class extends lT{constructor(e,t,n,r){super(e,t,n,r)}InterpolantFactoryMethodLinear(e){return new pT(this.times,this.values,this.getValueSize(),e)}};mT.prototype.ValueTypeName=`quaternion`,mT.prototype.InterpolantFactoryMethodSmooth=void 0;var hT=class extends lT{constructor(e,t,n){super(e,t,n)}};hT.prototype.ValueTypeName=`string`,hT.prototype.ValueBufferType=Array,hT.prototype.DefaultInterpolation=pb,hT.prototype.InterpolantFactoryMethodLinear=void 0,hT.prototype.InterpolantFactoryMethodSmooth=void 0;var gT=class extends lT{constructor(e,t,n,r){super(e,t,n,r)}};gT.prototype.ValueTypeName=`vector`;var _T=class{constructor(e=``,t=-1,n=[],r=yb){this.name=e,this.tracks=n,this.duration=t,this.blendMode=r,this.uuid=Pb(),this.duration<0&&this.resetDuration()}static parse(e){let t=[],n=e.tracks,r=1/(e.fps||1);for(let e=0,i=n.length;e!==i;++e)t.push(yT(n[e]).scale(r));let i=new this(e.name,e.duration,t,e.blendMode);return i.uuid=e.uuid,i}static toJSON(e){let t=[],n=e.tracks,r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let e=0,r=n.length;e!==r;++e)t.push(lT.toJSON(n[e]));return r}static CreateFromMorphTargetSequence(e,t,n,r){let i=t.length,a=[];for(let e=0;e1){let e=a[1],t=r[e];t||(r[e]=t=[]),t.push(n)}}let a=[];for(let e in r)a.push(this.CreateFromMorphTargetSequence(e,r[e],t,n));return a}static parseAnimation(e,t){if(console.warn(`THREE.AnimationClip: parseAnimation() is deprecated and will be removed with r185`),!e)return console.error(`THREE.AnimationClip: No animation in JSONLoader data.`),null;let n=function(e,t,n,r,i){if(n.length!==0){let a=[],o=[];iT(n,a,o,r),a.length!==0&&i.push(new e(t,a,o))}},r=[],i=e.name||`default`,a=e.fps||30,o=e.blendMode,s=e.length||-1,c=e.hierarchy||[];for(let e=0;e{t&&t(i),this.manager.itemEnd(e)},0),i;if(wT[e]!==void 0){wT[e].push({onLoad:t,onProgress:n,onError:r});return}wT[e]=[],wT[e].push({onLoad:t,onProgress:n,onError:r});let a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?`include`:`same-origin`}),o=this.mimeType,s=this.responseType;fetch(a).then(t=>{if(t.status===200||t.status===0){if(t.status===0&&console.warn(`THREE.FileLoader: HTTP Status 0 received.`),typeof ReadableStream>`u`||t.body===void 0||t.body.getReader===void 0)return t;let n=wT[e],r=t.body.getReader(),i=t.headers.get(`X-File-Size`)||t.headers.get(`Content-Length`),a=i?parseInt(i):0,o=a!==0,s=0,c=new ReadableStream({start(e){t();function t(){r.read().then(({done:r,value:i})=>{if(r)e.close();else{s+=i.byteLength;let r=new ProgressEvent(`progress`,{lengthComputable:o,loaded:s,total:a});for(let e=0,t=n.length;e{e.error(t)})}}});return new Response(c)}else throw new TT(`fetch for "${t.url}" responded with ${t.status}: ${t.statusText}`,t)}).then(e=>{switch(s){case`arraybuffer`:return e.arrayBuffer();case`blob`:return e.blob();case`document`:return e.text().then(e=>new DOMParser().parseFromString(e,o));case`json`:return e.json();default:if(o===``)return e.text();{let t=/charset="?([^;"\s]*)"?/i.exec(o),n=t&&t[1]?t[1].toLowerCase():void 0,r=new TextDecoder(n);return e.arrayBuffer().then(e=>r.decode(e))}}}).then(t=>{bT.add(e,t);let n=wT[e];delete wT[e];for(let e=0,r=n.length;e{let n=wT[e];if(n===void 0)throw this.manager.itemError(e),t;delete wT[e];for(let e=0,r=n.length;e{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}},DT=class extends CT{constructor(e){super(e)}load(e,t,n,r){this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);let i=this,a=bT.get(e);if(a!==void 0)return i.manager.itemStart(e),setTimeout(function(){t&&t(a),i.manager.itemEnd(e)},0),a;let o=ux(`img`);function s(){l(),bT.add(e,this),t&&t(this),i.manager.itemEnd(e)}function c(t){l(),r&&r(t),i.manager.itemError(e),i.manager.itemEnd(e)}function l(){o.removeEventListener(`load`,s,!1),o.removeEventListener(`error`,c,!1)}return o.addEventListener(`load`,s,!1),o.addEventListener(`error`,c,!1),e.slice(0,5)!==`data:`&&this.crossOrigin!==void 0&&(o.crossOrigin=this.crossOrigin),i.manager.itemStart(e),o.src=e,o}},OT=class extends CT{constructor(e){super(e)}load(e,t,n,r){let i=this,a=new sw,o=new ET(this.manager);return o.setResponseType(`arraybuffer`),o.setRequestHeader(this.requestHeader),o.setPath(this.path),o.setWithCredentials(i.withCredentials),o.load(e,function(e){let n;try{n=i.parse(e)}catch(e){if(r!==void 0)r(e);else{console.error(e);return}}n.image===void 0?n.data!==void 0&&(a.image.width=n.width,a.image.height=n.height,a.image.data=n.data):a.image=n.image,a.wrapS=n.wrapS===void 0?ay:n.wrapS,a.wrapT=n.wrapT===void 0?ay:n.wrapT,a.magFilter=n.magFilter===void 0?uy:n.magFilter,a.minFilter=n.minFilter===void 0?uy:n.minFilter,a.anisotropy=n.anisotropy===void 0?1:n.anisotropy,n.colorSpace!==void 0&&(a.colorSpace=n.colorSpace),n.flipY!==void 0&&(a.flipY=n.flipY),n.format!==void 0&&(a.format=n.format),n.type!==void 0&&(a.type=n.type),n.mipmaps!==void 0&&(a.mipmaps=n.mipmaps,a.minFilter=fy),n.mipmapCount===1&&(a.minFilter=uy),n.generateMipmaps!==void 0&&(a.generateMipmaps=n.generateMipmaps),a.needsUpdate=!0,t&&t(a,n)},n,r),a}},kT=class extends CT{constructor(e){super(e)}load(e,t,n,r){let i=new Ax,a=new DT(this.manager);return a.setCrossOrigin(this.crossOrigin),a.setPath(this.path),a.load(e,function(e){i.image=e,i.needsUpdate=!0,t!==void 0&&t(i)},n,r),i}},AT=class extends FS{constructor(e,t=1){super(),this.isLight=!0,this.type=`Light`,this.color=new X(e),this.intensity=t}dispose(){}copy(e,t){return super.copy(e,t),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){let t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,this.groundColor!==void 0&&(t.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(t.object.distance=this.distance),this.angle!==void 0&&(t.object.angle=this.angle),this.decay!==void 0&&(t.object.decay=this.decay),this.penumbra!==void 0&&(t.object.penumbra=this.penumbra),this.shadow!==void 0&&(t.object.shadow=this.shadow.toJSON()),this.target!==void 0&&(t.object.target=this.target.uuid),t}},jT=class extends AT{constructor(e,t,n){super(e,n),this.isHemisphereLight=!0,this.type=`HemisphereLight`,this.position.copy(FS.DEFAULT_UP),this.updateMatrix(),this.groundColor=new X(t)}copy(e,t){return super.copy(e,t),this.groundColor.copy(e.groundColor),this}},MT=new Y,NT=new J,PT=new J,FT=class{constructor(e){this.camera=e,this.intensity=1,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new rx(512,512),this.mapType=py,this.map=null,this.mapPass=null,this.matrix=new Y,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new xw,this._frameExtents=new rx(1,1),this._viewportCount=1,this._viewports=[new jx(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){let t=this.camera,n=this.matrix;NT.setFromMatrixPosition(e.matrixWorld),t.position.copy(NT),PT.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(PT),t.updateMatrixWorld(),MT.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(MT),n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),n.multiply(MT)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.intensity=e.intensity,this.bias=e.bias,this.radius=e.radius,this.autoUpdate=e.autoUpdate,this.needsUpdate=e.needsUpdate,this.normalBias=e.normalBias,this.blurSamples=e.blurSamples,this.mapSize.copy(e.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){let e={};return this.intensity!==1&&(e.intensity=this.intensity),this.bias!==0&&(e.bias=this.bias),this.normalBias!==0&&(e.normalBias=this.normalBias),this.radius!==1&&(e.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}},IT=class extends FT{constructor(){super(new UC(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1,this.aspect=1}updateMatrices(e){let t=this.camera,n=Nb*2*e.angle*this.focus,r=this.mapSize.width/this.mapSize.height*this.aspect,i=e.distance||t.far;(n!==t.fov||r!==t.aspect||i!==t.far)&&(t.fov=n,t.aspect=r,t.far=i,t.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}},LT=class extends AT{constructor(e,t,n=0,r=Math.PI/3,i=0,a=2){super(e,t),this.isSpotLight=!0,this.type=`SpotLight`,this.position.copy(FS.DEFAULT_UP),this.updateMatrix(),this.target=new FS,this.distance=n,this.angle=r,this.penumbra=i,this.decay=a,this.map=null,this.shadow=new IT}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}},RT=new Y,zT=new J,BT=new J,VT=class extends FT{constructor(){super(new UC(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new rx(4,2),this._viewportCount=6,this._viewports=[new jx(2,1,1,1),new jx(0,1,1,1),new jx(3,1,1,1),new jx(1,1,1,1),new jx(3,0,1,1),new jx(1,0,1,1)],this._cubeDirections=[new J(1,0,0),new J(-1,0,0),new J(0,0,1),new J(0,0,-1),new J(0,1,0),new J(0,-1,0)],this._cubeUps=[new J(0,1,0),new J(0,1,0),new J(0,1,0),new J(0,1,0),new J(0,0,1),new J(0,0,-1)]}updateMatrices(e,t=0){let n=this.camera,r=this.matrix,i=e.distance||n.far;i!==n.far&&(n.far=i,n.updateProjectionMatrix()),zT.setFromMatrixPosition(e.matrixWorld),n.position.copy(zT),BT.copy(n.position),BT.add(this._cubeDirections[t]),n.up.copy(this._cubeUps[t]),n.lookAt(BT),n.updateMatrixWorld(),r.makeTranslation(-zT.x,-zT.y,-zT.z),RT.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse),this._frustum.setFromProjectionMatrix(RT)}},HT=class extends AT{constructor(e,t,n=0,r=2){super(e,t),this.isPointLight=!0,this.type=`PointLight`,this.distance=n,this.decay=r,this.shadow=new VT}get power(){return this.intensity*4*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}},UT=class extends zC{constructor(e=-1,t=1,n=1,r=-1,i=.1,a=2e3){super(),this.isOrthographicCamera=!0,this.type=`OrthographicCamera`,this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=n,this.bottom=r,this.near=i,this.far=a,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,n,r,i,a){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=r,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,r=(this.top+this.bottom)/2,i=n-e,a=n+e,o=r+t,s=r-t;if(this.view!==null&&this.view.enabled){let e=(this.right-this.left)/this.view.fullWidth/this.zoom,t=(this.top-this.bottom)/this.view.fullHeight/this.zoom;i+=e*this.view.offsetX,a=i+e*this.view.width,o-=t*this.view.offsetY,s=o-t*this.view.height}this.projectionMatrix.makeOrthographic(i,a,o,s,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){let t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}},WT=class extends FT{constructor(){super(new UT(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}},GT=class extends AT{constructor(e,t){super(e,t),this.isDirectionalLight=!0,this.type=`DirectionalLight`,this.position.copy(FS.DEFAULT_UP),this.updateMatrix(),this.target=new FS,this.shadow=new WT}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}},KT=class extends AT{constructor(e,t){super(e,t),this.isAmbientLight=!0,this.type=`AmbientLight`}},qT=class{static extractUrlBase(e){let t=e.lastIndexOf(`/`);return t===-1?`./`:e.slice(0,t+1)}static resolveURL(e,t){return typeof e!=`string`||e===``?``:(/^https?:\/\//i.test(t)&&/^\//.test(e)&&(t=t.replace(/(^https?:\/\/[^\/]+).*/i,`$1`)),/^(https?:)?\/\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:t+e)}},JT=new WeakMap,YT=class extends CT{constructor(e){super(e),this.isImageBitmapLoader=!0,typeof createImageBitmap>`u`&&console.warn(`THREE.ImageBitmapLoader: createImageBitmap() not supported.`),typeof fetch>`u`&&console.warn(`THREE.ImageBitmapLoader: fetch() not supported.`),this.options={premultiplyAlpha:`none`}}setOptions(e){return this.options=e,this}load(e,t,n,r){e===void 0&&(e=``),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);let i=this,a=bT.get(e);if(a!==void 0){if(i.manager.itemStart(e),a.then){a.then(n=>{if(JT.has(a)===!0)r&&r(JT.get(a)),i.manager.itemError(e),i.manager.itemEnd(e);else return t&&t(n),i.manager.itemEnd(e),n});return}return setTimeout(function(){t&&t(a),i.manager.itemEnd(e)},0),a}let o={};o.credentials=this.crossOrigin===`anonymous`?`same-origin`:`include`,o.headers=this.requestHeader;let s=fetch(e,o).then(function(e){return e.blob()}).then(function(e){return createImageBitmap(e,Object.assign(i.options,{colorSpaceConversion:`none`}))}).then(function(n){return bT.add(e,n),t&&t(n),i.manager.itemEnd(e),n}).catch(function(t){r&&r(t),JT.set(s,t),bT.remove(e),i.manager.itemError(e),i.manager.itemEnd(e)});bT.add(e,s),i.manager.itemStart(e)}},XT=class extends UC{constructor(e=[]){super(),this.isArrayCamera=!0,this.isMultiViewCamera=!1,this.cameras=e}},ZT=`\\[\\]\\.:\\/`,QT=RegExp(`[\\[\\]\\.:\\/]`,`g`),$T=`[^\\[\\]\\.:\\/]`,eE=`[^`+ZT.replace(`\\.`,``)+`]`,tE=`((?:WC+[\\/:])*)`.replace(`WC`,$T),nE=`(WCOD+)?`.replace(`WCOD`,eE),rE=`(?:\\.(WC+)(?:\\[(.+)\\])?)?`.replace(`WC`,$T),iE=`\\.(WC+)(?:\\[(.+)\\])?`.replace(`WC`,$T),aE=RegExp(`^`+tE+nE+rE+iE+`$`),oE=[`material`,`materials`,`bones`,`map`],sE=class{constructor(e,t,n){let r=n||cE.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();let n=this._targetGroup.nCachedObjects_,r=this._bindings[n];r!==void 0&&r.getValue(e,t)}setValue(e,t){let n=this._bindings;for(let r=this._targetGroup.nCachedObjects_,i=n.length;r!==i;++r)n[r].setValue(e,t)}bind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}},cE=class e{constructor(t,n,r){this.path=n,this.parsedPath=r||e.parseTrackName(n),this.node=e.findNode(t,this.parsedPath.nodeName),this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,n,r){return t&&t.isAnimationObjectGroup?new e.Composite(t,n,r):new e(t,n,r)}static sanitizeNodeName(e){return e.replace(/\s/g,`_`).replace(QT,``)}static parseTrackName(e){let t=aE.exec(e);if(t===null)throw Error(`PropertyBinding: Cannot parse trackName: `+e);let n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=n.nodeName&&n.nodeName.lastIndexOf(`.`);if(r!==void 0&&r!==-1){let e=n.nodeName.substring(r+1);oE.indexOf(e)!==-1&&(n.nodeName=n.nodeName.substring(0,r),n.objectName=e)}if(n.propertyName===null||n.propertyName.length===0)throw Error(`PropertyBinding: can not parse propertyName from trackName: `+e);return n}static findNode(e,t){if(t===void 0||t===``||t===`.`||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){let n=e.skeleton.getBoneByName(t);if(n!==void 0)return n}if(e.children){let n=function(e){for(let r=0;re.start-t.start);let t=0;for(let e=1;e.025?(c.inputState.pinching=!1,this.dispatchEvent({type:`pinchend`,handedness:e.handedness,target:this})):!c.inputState.pinching&&o<=.015&&(c.inputState.pinching=!0,this.dispatchEvent({type:`pinchstart`,handedness:e.handedness,target:this}))}else s!==null&&e.gripSpace&&(i=t.getPose(e.gripSpace,n),i!==null&&(s.matrix.fromArray(i.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),s.matrixWorldNeedsUpdate=!0,i.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(i.linearVelocity)):s.hasLinearVelocity=!1,i.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(i.angularVelocity)):s.hasAngularVelocity=!1));o!==null&&(r=t.getPose(e.targetRaySpace,n),r===null&&i!==null&&(r=i),r!==null&&(o.matrix.fromArray(r.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),o.matrixWorldNeedsUpdate=!0,r.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(r.linearVelocity)):o.hasLinearVelocity=!1,r.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(r.angularVelocity)):o.hasAngularVelocity=!1,this.dispatchEvent(JC)))}return o!==null&&(o.visible=r!==null),s!==null&&(s.visible=i!==null),c!==null&&(c.visible=a!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){let n=new qC;n.matrixAutoUpdate=!1,n.visible=!1,e.joints[t.jointName]=n,e.add(n)}return e.joints[t.jointName]}},XC=class extends AS{constructor(){super(),this.isScene=!0,this.type=`Scene`,this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new pS,this.environmentIntensity=1,this.environmentRotation=new pS,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<`u`&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(`observe`,{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){let t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}},ZC=class{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e===void 0?0:e.length/t,this.usage=Eb,this.updateRanges=[],this.version=0,this.uuid=Nb()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,n){e*=this.stride,n*=t.stride;for(let r=0,i=this.stride;r1?null:t.copy(e.start).addScaledVector(n,i)}intersectsLine(e){let t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){let n=t||Ew.getNormalMatrix(e),r=this.coplanarPoint(ww).applyMatrix4(e),i=this.normal.applyMatrix3(n).normalize();return this.constant=-r.dot(i),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}},Ow=new Yx,kw=new J,Aw=class{constructor(e=new Dw,t=new Dw,n=new Dw,r=new Dw,i=new Dw,a=new Dw){this.planes=[e,t,n,r,i,a]}set(e,t,n,r,i,a){let o=this.planes;return o[0].copy(e),o[1].copy(t),o[2].copy(n),o[3].copy(r),o[4].copy(i),o[5].copy(a),this}copy(e){let t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e,t=Db){let n=this.planes,r=e.elements,i=r[0],a=r[1],o=r[2],s=r[3],c=r[4],l=r[5],u=r[6],d=r[7],f=r[8],p=r[9],m=r[10],h=r[11],g=r[12],_=r[13],v=r[14],y=r[15];if(n[0].setComponents(s-i,d-c,h-f,y-g).normalize(),n[1].setComponents(s+i,d+c,h+f,y+g).normalize(),n[2].setComponents(s+a,d+l,h+p,y+_).normalize(),n[3].setComponents(s-a,d-l,h-p,y-_).normalize(),n[4].setComponents(s-o,d-u,h-m,y-v).normalize(),t===2e3)n[5].setComponents(s+o,d+u,h+m,y+v).normalize();else if(t===2001)n[5].setComponents(o,u,m,v).normalize();else throw Error(`THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: `+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),Ow.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{let t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Ow.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Ow)}intersectsSprite(e){return Ow.center.set(0,0,0),Ow.radius=.7071067811865476,Ow.applyMatrix4(e.matrixWorld),this.intersectsSphere(Ow)}intersectsSphere(e){let t=this.planes,n=e.center,r=-e.radius;for(let e=0;e<6;e++)if(t[e].distanceToPoint(n)0?e.max.x:e.min.x,kw.y=r.normal.y>0?e.max.y:e.min.y,kw.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(kw)<0)return!1}return!0}containsPoint(e){let t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}},jw=class extends ZS{constructor(e){super(),this.isLineBasicMaterial=!0,this.type=`LineBasicMaterial`,this.color=new X(16777215),this.map=null,this.linewidth=1,this.linecap=`round`,this.linejoin=`round`,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this.fog=e.fog,this}},Mw=new J,Nw=new J,Pw=new Y,Fw=new rS,Iw=new Yx,Lw=new J,Rw=new J,zw=class extends AS{constructor(e=new pC,t=new jw){super(),this.isLine=!0,this.type=`Line`,this.geometry=e,this.material=t,this.morphTargetDictionary=void 0,this.morphTargetInfluences=void 0,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}computeLineDistances(){let e=this.geometry;if(e.index===null){let t=e.attributes.position,n=[0];for(let e=1,r=t.count;e0){let n=e[t[0]];if(n!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;er)return;Lw.applyMatrix4(e.matrixWorld);let c=t.ray.origin.distanceTo(Lw);if(!(ct.far))return{distance:c,point:Rw.clone().applyMatrix4(e.matrixWorld),index:o,face:null,faceIndex:null,barycoord:null,object:e}}var Vw=new J,Hw=new J,Uw=class extends zw{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type=`LineSegments`}computeLineDistances(){let e=this.geometry;if(e.index===null){let t=e.attributes.position,n=[];for(let e=0,r=t.count;e0){let n=e[t[0]];if(n!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;ei.far)return;a.push({distance:c,distanceToRay:Math.sqrt(s),point:n,index:t,face:null,faceIndex:null,barycoord:null,object:o})}}var Zw=class extends Ex{constructor(e,t,n=_y,r,i,a,o=cy,s=cy,c,l=Dy,u=1){if(l!==1026&&l!==1027)throw Error(`DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat`);super({width:e,height:t,depth:u},r,i,a,o,s,l,n,c),this.isDepthTexture=!0,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.source=new Cx(Object.assign({},e.image)),this.compareFunction=e.compareFunction,this}toJSON(e){let t=super.toJSON(e);return this.compareFunction!==null&&(t.compareFunction=this.compareFunction),t}},ote=class e extends pC{constructor(e=1,t=1,n=1,r=32,i=1,a=!1,o=0,s=Math.PI*2){super(),this.type=`CylinderGeometry`,this.parameters={radiusTop:e,radiusBottom:t,height:n,radialSegments:r,heightSegments:i,openEnded:a,thetaStart:o,thetaLength:s};let c=this;r=Math.floor(r),i=Math.floor(i);let l=[],u=[],d=[],f=[],p=0,m=[],h=n/2,g=0;_(),a===!1&&(e>0&&v(!0),t>0&&v(!1)),this.setIndex(l),this.setAttribute(`position`,new aC(u,3)),this.setAttribute(`normal`,new aC(d,3)),this.setAttribute(`uv`,new aC(f,2));function _(){let a=new J,_=new J,v=0,y=(t-e)/n;for(let c=0;c<=i;c++){let l=[],g=c/i,v=g*(t-e)+e;for(let e=0;e<=r;e++){let t=e/r,i=t*s+o,c=Math.sin(i),m=Math.cos(i);_.x=v*c,_.y=-g*n+h,_.z=v*m,u.push(_.x,_.y,_.z),a.set(c,y,m).normalize(),d.push(a.x,a.y,a.z),f.push(t,1-g),l.push(p++)}m.push(l)}for(let n=0;n0||r!==0)&&(l.push(a,o,c),v+=3),(t>0||r!==i-1)&&(l.push(o,s,c),v+=3)}c.addGroup(g,v,0),g+=v}function v(n){let i=p,a=new nx,m=new J,_=0,v=n===!0?e:t,y=n===!0?1:-1;for(let e=1;e<=r;e++)u.push(0,h*y,0),d.push(0,y,0),f.push(.5,.5),p++;let b=p;for(let e=0;e<=r;e++){let t=e/r*s+o,n=Math.cos(t),i=Math.sin(t);m.x=v*i,m.y=h*y,m.z=v*n,u.push(m.x,m.y,m.z),d.push(0,y,0),a.x=n*.5+.5,a.y=i*.5*y+.5,f.push(a.x,a.y),p++}for(let e=0;e0)&&f.push(t,i,c),(e!==n-1||s0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:``,PHYSICAL:``},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}},tT=class extends ZS{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type=`MeshPhongMaterial`,this.color=new X(16777215),this.specular=new X(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new X(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new nx(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new pS,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=`round`,this.wireframeLinejoin=`round`,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}},lte=class extends ZS{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type=`MeshLambertMaterial`,this.color=new X(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new X(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new nx(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new pS,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=`round`,this.wireframeLinejoin=`round`,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}},ute=class extends ZS{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type=`MeshDepthMaterial`,this.depthPacking=yb,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}},dte=class extends ZS{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type=`MeshDistanceMaterial`,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}};function nT(e,t){return!e||e.constructor===t?e:typeof t.BYTES_PER_ELEMENT==`number`?new t(e):Array.prototype.slice.call(e)}function rT(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function iT(e){function t(t,n){return e[t]-e[n]}let n=e.length,r=Array(n);for(let e=0;e!==n;++e)r[e]=e;return r.sort(t),r}function aT(e,t,n){let r=e.length,i=new e.constructor(r);for(let a=0,o=0;o!==r;++a){let r=n[a]*t;for(let n=0;n!==t;++n)i[o++]=e[r+n]}return i}function oT(e,t,n,r){let i=1,a=e[0];for(;a!==void 0&&a[r]===void 0;)a=e[i++];if(a===void 0)return;let o=a[r];if(o!==void 0)if(Array.isArray(o))do o=a[r],o!==void 0&&(t.push(a.time),n.push(...o)),a=e[i++];while(a!==void 0);else if(o.toArray!==void 0)do o=a[r],o!==void 0&&(t.push(a.time),o.toArray(n,n.length)),a=e[i++];while(a!==void 0);else do o=a[r],o!==void 0&&(t.push(a.time),n.push(o)),a=e[i++];while(a!==void 0)}var sT=class{constructor(e,t,n,r){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=r===void 0?new t.constructor(n):r,this.sampleValues=t,this.valueSize=n,this.settings=null,this.DefaultSettings_={}}evaluate(e){let t=this.parameterPositions,n=this._cachedIndex,r=t[n],i=t[n-1];validate_interval:{seek:{let a;linear_scan:{forward_scan:if(!(e=i)){let o=t[1];e=i)break seek}a=n,n=0;break linear_scan}break validate_interval}for(;n>>1;et;)--a;if(++a,i!==0||a!==r){i>=a&&(a=Math.max(a,1),i=a-1);let e=this.getValueSize();this.times=n.slice(i,a),this.values=this.values.slice(i*e,a*e)}return this}validate(){let e=!0,t=this.getValueSize();t-Math.floor(t)!==0&&(console.error(`THREE.KeyframeTrack: Invalid value size in track.`,this),e=!1);let n=this.times,r=this.values,i=n.length;i===0&&(console.error(`THREE.KeyframeTrack: Track is empty.`,this),e=!1);let a=null;for(let t=0;t!==i;t++){let r=n[t];if(typeof r==`number`&&isNaN(r)){console.error(`THREE.KeyframeTrack: Time is not a valid number.`,this,t,r),e=!1;break}if(a!==null&&a>r){console.error(`THREE.KeyframeTrack: Out of order keys.`,this,t,r,a),e=!1;break}a=r}if(r!==void 0&&rT(r))for(let t=0,n=r.length;t!==n;++t){let n=r[t];if(isNaN(n)){console.error(`THREE.KeyframeTrack: Value is not a valid number.`,this,t,n),e=!1;break}}return e}optimize(){let e=this.times.slice(),t=this.values.slice(),n=this.getValueSize(),r=this.getInterpolation()===mb,i=e.length-1,a=1;for(let o=1;o0){e[a]=e[i];for(let e=i*n,r=a*n,o=0;o!==n;++o)t[r+o]=t[e+o];++a}return a===e.length?(this.times=e,this.values=t):(this.times=e.slice(0,a),this.values=t.slice(0,a*n)),this}clone(){let e=this.times.slice(),t=this.values.slice(),n=this.constructor,r=new n(this.name,e,t);return r.createInterpolant=this.createInterpolant,r}};uT.prototype.ValueTypeName=``,uT.prototype.TimeBufferType=Float32Array,uT.prototype.ValueBufferType=Float32Array,uT.prototype.DefaultInterpolation=pb;var dT=class extends uT{constructor(e,t,n){super(e,t,n)}};dT.prototype.ValueTypeName=`bool`,dT.prototype.ValueBufferType=Array,dT.prototype.DefaultInterpolation=fb,dT.prototype.InterpolantFactoryMethodLinear=void 0,dT.prototype.InterpolantFactoryMethodSmooth=void 0;var fT=class extends uT{constructor(e,t,n,r){super(e,t,n,r)}};fT.prototype.ValueTypeName=`color`;var pT=class extends uT{constructor(e,t,n,r){super(e,t,n,r)}};pT.prototype.ValueTypeName=`number`;var mT=class extends sT{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){let i=this.resultBuffer,a=this.sampleValues,o=this.valueSize,s=(n-t)/(r-t),c=e*o;for(let e=c+o;c!==e;c+=4)rx.slerpFlat(i,0,a,c-o,a,c,s);return i}},hT=class extends uT{constructor(e,t,n,r){super(e,t,n,r)}InterpolantFactoryMethodLinear(e){return new mT(this.times,this.values,this.getValueSize(),e)}};hT.prototype.ValueTypeName=`quaternion`,hT.prototype.InterpolantFactoryMethodSmooth=void 0;var gT=class extends uT{constructor(e,t,n){super(e,t,n)}};gT.prototype.ValueTypeName=`string`,gT.prototype.ValueBufferType=Array,gT.prototype.DefaultInterpolation=fb,gT.prototype.InterpolantFactoryMethodLinear=void 0,gT.prototype.InterpolantFactoryMethodSmooth=void 0;var _T=class extends uT{constructor(e,t,n,r){super(e,t,n,r)}};_T.prototype.ValueTypeName=`vector`;var vT=class{constructor(e=``,t=-1,n=[],r=vb){this.name=e,this.tracks=n,this.duration=t,this.blendMode=r,this.uuid=Nb(),this.duration<0&&this.resetDuration()}static parse(e){let t=[],n=e.tracks,r=1/(e.fps||1);for(let e=0,i=n.length;e!==i;++e)t.push(bT(n[e]).scale(r));let i=new this(e.name,e.duration,t,e.blendMode);return i.uuid=e.uuid,i}static toJSON(e){let t=[],n=e.tracks,r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let e=0,r=n.length;e!==r;++e)t.push(uT.toJSON(n[e]));return r}static CreateFromMorphTargetSequence(e,t,n,r){let i=t.length,a=[];for(let e=0;e1){let e=a[1],t=r[e];t||(r[e]=t=[]),t.push(n)}}let a=[];for(let e in r)a.push(this.CreateFromMorphTargetSequence(e,r[e],t,n));return a}static parseAnimation(e,t){if(console.warn(`THREE.AnimationClip: parseAnimation() is deprecated and will be removed with r185`),!e)return console.error(`THREE.AnimationClip: No animation in JSONLoader data.`),null;let n=function(e,t,n,r,i){if(n.length!==0){let a=[],o=[];oT(n,a,o,r),a.length!==0&&i.push(new e(t,a,o))}},r=[],i=e.name||`default`,a=e.fps||30,o=e.blendMode,s=e.length||-1,c=e.hierarchy||[];for(let e=0;e{t&&t(i),this.manager.itemEnd(e)},0),i;if(TT[e]!==void 0){TT[e].push({onLoad:t,onProgress:n,onError:r});return}TT[e]=[],TT[e].push({onLoad:t,onProgress:n,onError:r});let a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?`include`:`same-origin`}),o=this.mimeType,s=this.responseType;fetch(a).then(t=>{if(t.status===200||t.status===0){if(t.status===0&&console.warn(`THREE.FileLoader: HTTP Status 0 received.`),typeof ReadableStream>`u`||t.body===void 0||t.body.getReader===void 0)return t;let n=TT[e],r=t.body.getReader(),i=t.headers.get(`X-File-Size`)||t.headers.get(`Content-Length`),a=i?parseInt(i):0,o=a!==0,s=0,c=new ReadableStream({start(e){t();function t(){r.read().then(({done:r,value:i})=>{if(r)e.close();else{s+=i.byteLength;let r=new ProgressEvent(`progress`,{lengthComputable:o,loaded:s,total:a});for(let e=0,t=n.length;e{e.error(t)})}}});return new Response(c)}else throw new ET(`fetch for "${t.url}" responded with ${t.status}: ${t.statusText}`,t)}).then(e=>{switch(s){case`arraybuffer`:return e.arrayBuffer();case`blob`:return e.blob();case`document`:return e.text().then(e=>new DOMParser().parseFromString(e,o));case`json`:return e.json();default:if(o===``)return e.text();{let t=/charset="?([^;"\s]*)"?/i.exec(o),n=t&&t[1]?t[1].toLowerCase():void 0,r=new TextDecoder(n);return e.arrayBuffer().then(e=>r.decode(e))}}}).then(t=>{xT.add(e,t);let n=TT[e];delete TT[e];for(let e=0,r=n.length;e{let n=TT[e];if(n===void 0)throw this.manager.itemError(e),t;delete TT[e];for(let e=0,r=n.length;e{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}},OT=class extends wT{constructor(e){super(e)}load(e,t,n,r){this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);let i=this,a=xT.get(e);if(a!==void 0)return i.manager.itemStart(e),setTimeout(function(){t&&t(a),i.manager.itemEnd(e)},0),a;let o=lx(`img`);function s(){l(),xT.add(e,this),t&&t(this),i.manager.itemEnd(e)}function c(t){l(),r&&r(t),i.manager.itemError(e),i.manager.itemEnd(e)}function l(){o.removeEventListener(`load`,s,!1),o.removeEventListener(`error`,c,!1)}return o.addEventListener(`load`,s,!1),o.addEventListener(`error`,c,!1),e.slice(0,5)!==`data:`&&this.crossOrigin!==void 0&&(o.crossOrigin=this.crossOrigin),i.manager.itemStart(e),o.src=e,o}},kT=class extends wT{constructor(e){super(e)}load(e,t,n,r){let i=this,a=new dw,o=new DT(this.manager);return o.setResponseType(`arraybuffer`),o.setRequestHeader(this.requestHeader),o.setPath(this.path),o.setWithCredentials(i.withCredentials),o.load(e,function(e){let n;try{n=i.parse(e)}catch(e){if(r!==void 0)r(e);else{console.error(e);return}}n.image===void 0?n.data!==void 0&&(a.image.width=n.width,a.image.height=n.height,a.image.data=n.data):a.image=n.image,a.wrapS=n.wrapS===void 0?oy:n.wrapS,a.wrapT=n.wrapT===void 0?oy:n.wrapT,a.magFilter=n.magFilter===void 0?dy:n.magFilter,a.minFilter=n.minFilter===void 0?dy:n.minFilter,a.anisotropy=n.anisotropy===void 0?1:n.anisotropy,n.colorSpace!==void 0&&(a.colorSpace=n.colorSpace),n.flipY!==void 0&&(a.flipY=n.flipY),n.format!==void 0&&(a.format=n.format),n.type!==void 0&&(a.type=n.type),n.mipmaps!==void 0&&(a.mipmaps=n.mipmaps,a.minFilter=py),n.mipmapCount===1&&(a.minFilter=dy),n.generateMipmaps!==void 0&&(a.generateMipmaps=n.generateMipmaps),a.needsUpdate=!0,t&&t(a,n)},n,r),a}},AT=class extends wT{constructor(e){super(e)}load(e,t,n,r){let i=new Ex,a=new OT(this.manager);return a.setCrossOrigin(this.crossOrigin),a.setPath(this.path),a.load(e,function(e){i.image=e,i.needsUpdate=!0,t!==void 0&&t(i)},n,r),i}},jT=class extends AS{constructor(e,t=1){super(),this.isLight=!0,this.type=`Light`,this.color=new X(e),this.intensity=t}dispose(){}copy(e,t){return super.copy(e,t),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){let t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,this.groundColor!==void 0&&(t.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(t.object.distance=this.distance),this.angle!==void 0&&(t.object.angle=this.angle),this.decay!==void 0&&(t.object.decay=this.decay),this.penumbra!==void 0&&(t.object.penumbra=this.penumbra),this.shadow!==void 0&&(t.object.shadow=this.shadow.toJSON()),this.target!==void 0&&(t.object.target=this.target.uuid),t}},MT=class extends jT{constructor(e,t,n){super(e,n),this.isHemisphereLight=!0,this.type=`HemisphereLight`,this.position.copy(AS.DEFAULT_UP),this.updateMatrix(),this.groundColor=new X(t)}copy(e,t){return super.copy(e,t),this.groundColor.copy(e.groundColor),this}},NT=new Y,PT=new J,FT=new J,IT=class{constructor(e){this.camera=e,this.intensity=1,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new nx(512,512),this.mapType=my,this.map=null,this.mapPass=null,this.matrix=new Y,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new Aw,this._frameExtents=new nx(1,1),this._viewportCount=1,this._viewports=[new Dx(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){let t=this.camera,n=this.matrix;PT.setFromMatrixPosition(e.matrixWorld),t.position.copy(PT),FT.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(FT),t.updateMatrixWorld(),NT.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(NT),n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),n.multiply(NT)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.intensity=e.intensity,this.bias=e.bias,this.radius=e.radius,this.autoUpdate=e.autoUpdate,this.needsUpdate=e.needsUpdate,this.normalBias=e.normalBias,this.blurSamples=e.blurSamples,this.mapSize.copy(e.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){let e={};return this.intensity!==1&&(e.intensity=this.intensity),this.bias!==0&&(e.bias=this.bias),this.normalBias!==0&&(e.normalBias=this.normalBias),this.radius!==1&&(e.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}},LT=class extends IT{constructor(){super(new VC(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1,this.aspect=1}updateMatrices(e){let t=this.camera,n=Mb*2*e.angle*this.focus,r=this.mapSize.width/this.mapSize.height*this.aspect,i=e.distance||t.far;(n!==t.fov||r!==t.aspect||i!==t.far)&&(t.fov=n,t.aspect=r,t.far=i,t.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}},RT=class extends jT{constructor(e,t,n=0,r=Math.PI/3,i=0,a=2){super(e,t),this.isSpotLight=!0,this.type=`SpotLight`,this.position.copy(AS.DEFAULT_UP),this.updateMatrix(),this.target=new AS,this.distance=n,this.angle=r,this.penumbra=i,this.decay=a,this.map=null,this.shadow=new LT}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}},zT=new Y,BT=new J,VT=new J,HT=class extends IT{constructor(){super(new VC(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new nx(4,2),this._viewportCount=6,this._viewports=[new Dx(2,1,1,1),new Dx(0,1,1,1),new Dx(3,1,1,1),new Dx(1,1,1,1),new Dx(3,0,1,1),new Dx(1,0,1,1)],this._cubeDirections=[new J(1,0,0),new J(-1,0,0),new J(0,0,1),new J(0,0,-1),new J(0,1,0),new J(0,-1,0)],this._cubeUps=[new J(0,1,0),new J(0,1,0),new J(0,1,0),new J(0,1,0),new J(0,0,1),new J(0,0,-1)]}updateMatrices(e,t=0){let n=this.camera,r=this.matrix,i=e.distance||n.far;i!==n.far&&(n.far=i,n.updateProjectionMatrix()),BT.setFromMatrixPosition(e.matrixWorld),n.position.copy(BT),VT.copy(n.position),VT.add(this._cubeDirections[t]),n.up.copy(this._cubeUps[t]),n.lookAt(VT),n.updateMatrixWorld(),r.makeTranslation(-BT.x,-BT.y,-BT.z),zT.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse),this._frustum.setFromProjectionMatrix(zT)}},UT=class extends jT{constructor(e,t,n=0,r=2){super(e,t),this.isPointLight=!0,this.type=`PointLight`,this.distance=n,this.decay=r,this.shadow=new HT}get power(){return this.intensity*4*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}},WT=class extends LC{constructor(e=-1,t=1,n=1,r=-1,i=.1,a=2e3){super(),this.isOrthographicCamera=!0,this.type=`OrthographicCamera`,this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=n,this.bottom=r,this.near=i,this.far=a,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,n,r,i,a){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=r,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,r=(this.top+this.bottom)/2,i=n-e,a=n+e,o=r+t,s=r-t;if(this.view!==null&&this.view.enabled){let e=(this.right-this.left)/this.view.fullWidth/this.zoom,t=(this.top-this.bottom)/this.view.fullHeight/this.zoom;i+=e*this.view.offsetX,a=i+e*this.view.width,o-=t*this.view.offsetY,s=o-t*this.view.height}this.projectionMatrix.makeOrthographic(i,a,o,s,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){let t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}},GT=class extends IT{constructor(){super(new WT(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}},KT=class extends jT{constructor(e,t){super(e,t),this.isDirectionalLight=!0,this.type=`DirectionalLight`,this.position.copy(AS.DEFAULT_UP),this.updateMatrix(),this.target=new AS,this.shadow=new GT}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}},qT=class extends jT{constructor(e,t){super(e,t),this.isAmbientLight=!0,this.type=`AmbientLight`}},JT=class{static extractUrlBase(e){let t=e.lastIndexOf(`/`);return t===-1?`./`:e.slice(0,t+1)}static resolveURL(e,t){return typeof e!=`string`||e===``?``:(/^https?:\/\//i.test(t)&&/^\//.test(e)&&(t=t.replace(/(^https?:\/\/[^\/]+).*/i,`$1`)),/^(https?:)?\/\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:t+e)}},YT=new WeakMap,XT=class extends wT{constructor(e){super(e),this.isImageBitmapLoader=!0,typeof createImageBitmap>`u`&&console.warn(`THREE.ImageBitmapLoader: createImageBitmap() not supported.`),typeof fetch>`u`&&console.warn(`THREE.ImageBitmapLoader: fetch() not supported.`),this.options={premultiplyAlpha:`none`}}setOptions(e){return this.options=e,this}load(e,t,n,r){e===void 0&&(e=``),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);let i=this,a=xT.get(e);if(a!==void 0){if(i.manager.itemStart(e),a.then){a.then(n=>{if(YT.has(a)===!0)r&&r(YT.get(a)),i.manager.itemError(e),i.manager.itemEnd(e);else return t&&t(n),i.manager.itemEnd(e),n});return}return setTimeout(function(){t&&t(a),i.manager.itemEnd(e)},0),a}let o={};o.credentials=this.crossOrigin===`anonymous`?`same-origin`:`include`,o.headers=this.requestHeader;let s=fetch(e,o).then(function(e){return e.blob()}).then(function(e){return createImageBitmap(e,Object.assign(i.options,{colorSpaceConversion:`none`}))}).then(function(n){return xT.add(e,n),t&&t(n),i.manager.itemEnd(e),n}).catch(function(t){r&&r(t),YT.set(s,t),xT.remove(e),i.manager.itemError(e),i.manager.itemEnd(e)});xT.add(e,s),i.manager.itemStart(e)}},ZT=class extends VC{constructor(e=[]){super(),this.isArrayCamera=!0,this.isMultiViewCamera=!1,this.cameras=e}},QT=`\\[\\]\\.:\\/`,$T=RegExp(`[\\[\\]\\.:\\/]`,`g`),eE=`[^\\[\\]\\.:\\/]`,tE=`[^`+QT.replace(`\\.`,``)+`]`,nE=`((?:WC+[\\/:])*)`.replace(`WC`,eE),rE=`(WCOD+)?`.replace(`WCOD`,tE),iE=`(?:\\.(WC+)(?:\\[(.+)\\])?)?`.replace(`WC`,eE),aE=`\\.(WC+)(?:\\[(.+)\\])?`.replace(`WC`,eE),oE=RegExp(`^`+nE+rE+iE+aE+`$`),sE=[`material`,`materials`,`bones`,`map`],cE=class{constructor(e,t,n){let r=n||lE.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();let n=this._targetGroup.nCachedObjects_,r=this._bindings[n];r!==void 0&&r.getValue(e,t)}setValue(e,t){let n=this._bindings;for(let r=this._targetGroup.nCachedObjects_,i=n.length;r!==i;++r)n[r].setValue(e,t)}bind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}},lE=class e{constructor(t,n,r){this.path=n,this.parsedPath=r||e.parseTrackName(n),this.node=e.findNode(t,this.parsedPath.nodeName),this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,n,r){return t&&t.isAnimationObjectGroup?new e.Composite(t,n,r):new e(t,n,r)}static sanitizeNodeName(e){return e.replace(/\s/g,`_`).replace($T,``)}static parseTrackName(e){let t=oE.exec(e);if(t===null)throw Error(`PropertyBinding: Cannot parse trackName: `+e);let n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=n.nodeName&&n.nodeName.lastIndexOf(`.`);if(r!==void 0&&r!==-1){let e=n.nodeName.substring(r+1);sE.indexOf(e)!==-1&&(n.nodeName=n.nodeName.substring(0,r),n.objectName=e)}if(n.propertyName===null||n.propertyName.length===0)throw Error(`PropertyBinding: can not parse propertyName from trackName: `+e);return n}static findNode(e,t){if(t===void 0||t===``||t===`.`||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){let n=e.skeleton.getBoneByName(t);if(n!==void 0)return n}if(e.children){let n=function(e){for(let r=0;re.start-t.start);let t=0;for(let e=1;e #include #include -}`},Z={common:{diffuse:{value:new X(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new sx},alphaMap:{value:null},alphaMapTransform:{value:new sx},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new sx}},envmap:{envMap:{value:null},envMapRotation:{value:new sx},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new sx}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new sx}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new sx},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new sx},normalScale:{value:new rx(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new sx},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new sx}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new sx}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new sx}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new X(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new X(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new sx},alphaTest:{value:0},uvTransform:{value:new sx}},sprite:{diffuse:{value:new X(16777215)},opacity:{value:1},center:{value:new rx(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new sx},alphaMap:{value:null},alphaMapTransform:{value:new sx},alphaTest:{value:0}}},bE={basic:{uniforms:FC([Z.common,Z.specularmap,Z.envmap,Z.aomap,Z.lightmap,Z.fog]),vertexShader:yE.meshbasic_vert,fragmentShader:yE.meshbasic_frag},lambert:{uniforms:FC([Z.common,Z.specularmap,Z.envmap,Z.aomap,Z.lightmap,Z.emissivemap,Z.bumpmap,Z.normalmap,Z.displacementmap,Z.fog,Z.lights,{emissive:{value:new X(0)}}]),vertexShader:yE.meshlambert_vert,fragmentShader:yE.meshlambert_frag},phong:{uniforms:FC([Z.common,Z.specularmap,Z.envmap,Z.aomap,Z.lightmap,Z.emissivemap,Z.bumpmap,Z.normalmap,Z.displacementmap,Z.fog,Z.lights,{emissive:{value:new X(0)},specular:{value:new X(1118481)},shininess:{value:30}}]),vertexShader:yE.meshphong_vert,fragmentShader:yE.meshphong_frag},standard:{uniforms:FC([Z.common,Z.envmap,Z.aomap,Z.lightmap,Z.emissivemap,Z.bumpmap,Z.normalmap,Z.displacementmap,Z.roughnessmap,Z.metalnessmap,Z.fog,Z.lights,{emissive:{value:new X(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:yE.meshphysical_vert,fragmentShader:yE.meshphysical_frag},toon:{uniforms:FC([Z.common,Z.aomap,Z.lightmap,Z.emissivemap,Z.bumpmap,Z.normalmap,Z.displacementmap,Z.gradientmap,Z.fog,Z.lights,{emissive:{value:new X(0)}}]),vertexShader:yE.meshtoon_vert,fragmentShader:yE.meshtoon_frag},matcap:{uniforms:FC([Z.common,Z.bumpmap,Z.normalmap,Z.displacementmap,Z.fog,{matcap:{value:null}}]),vertexShader:yE.meshmatcap_vert,fragmentShader:yE.meshmatcap_frag},points:{uniforms:FC([Z.points,Z.fog]),vertexShader:yE.points_vert,fragmentShader:yE.points_frag},dashed:{uniforms:FC([Z.common,Z.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:yE.linedashed_vert,fragmentShader:yE.linedashed_frag},depth:{uniforms:FC([Z.common,Z.displacementmap]),vertexShader:yE.depth_vert,fragmentShader:yE.depth_frag},normal:{uniforms:FC([Z.common,Z.bumpmap,Z.normalmap,Z.displacementmap,{opacity:{value:1}}]),vertexShader:yE.meshnormal_vert,fragmentShader:yE.meshnormal_frag},sprite:{uniforms:FC([Z.sprite,Z.fog]),vertexShader:yE.sprite_vert,fragmentShader:yE.sprite_frag},background:{uniforms:{uvTransform:{value:new sx},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:yE.background_vert,fragmentShader:yE.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new sx}},vertexShader:yE.backgroundCube_vert,fragmentShader:yE.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:yE.cube_vert,fragmentShader:yE.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:yE.equirect_vert,fragmentShader:yE.equirect_frag},distanceRGBA:{uniforms:FC([Z.common,Z.displacementmap,{referencePosition:{value:new J},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:yE.distanceRGBA_vert,fragmentShader:yE.distanceRGBA_frag},shadow:{uniforms:FC([Z.lights,Z.fog,{color:{value:new X(0)},opacity:{value:1}}]),vertexShader:yE.shadow_vert,fragmentShader:yE.shadow_frag}};bE.physical={uniforms:FC([bE.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new sx},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new sx},clearcoatNormalScale:{value:new rx(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new sx},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new sx},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new sx},sheen:{value:0},sheenColor:{value:new X(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new sx},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new sx},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new sx},transmissionSamplerSize:{value:new rx},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new sx},attenuationDistance:{value:0},attenuationColor:{value:new X(0)},specularColor:{value:new X(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new sx},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new sx},anisotropyVector:{value:new rx},anisotropyMap:{value:null},anisotropyMapTransform:{value:new sx}}]),vertexShader:yE.meshphysical_vert,fragmentShader:yE.meshphysical_frag};var xE={r:0,b:0,g:0},SE=new vS,CE=new Y;function wE(e,t,n,r,i,a,o){let s=new X(0),c=a===!0?0:1,l,u,d=null,f=0,p=null;function m(e){let r=e.isScene===!0?e.background:null;return r&&r.isTexture&&(r=(e.backgroundBlurriness>0?n:t).get(r)),r}function h(t){let n=!1,i=m(t);i===null?_(s,c):i&&i.isColor&&(_(i,1),n=!0);let a=e.xr.getEnvironmentBlendMode();a===`additive`?r.buffers.color.setClear(0,0,0,1,o):a===`alpha-blend`&&r.buffers.color.setClear(0,0,0,0,o),(e.autoClear||n)&&(r.buffers.depth.setTest(!0),r.buffers.depth.setMask(!0),r.buffers.color.setMask(!0),e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil))}function g(t,n){let r=m(n);r&&(r.isCubeTexture||r.mapping===306)?(u===void 0&&(u=new AC(new NC(1,1,1),new RC({name:`BackgroundCubeMaterial`,uniforms:PC(bE.backgroundCube.uniforms),vertexShader:bE.backgroundCube.vertexShader,fragmentShader:bE.backgroundCube.fragmentShader,side:1,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),u.geometry.deleteAttribute(`normal`),u.geometry.deleteAttribute(`uv`),u.onBeforeRender=function(e,t,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(u.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(u)),SE.copy(n.backgroundRotation),SE.x*=-1,SE.y*=-1,SE.z*=-1,r.isCubeTexture&&r.isRenderTargetTexture===!1&&(SE.y*=-1,SE.z*=-1),u.material.uniforms.envMap.value=r,u.material.uniforms.flipEnvMap.value=r.isCubeTexture&&r.isRenderTargetTexture===!1?-1:1,u.material.uniforms.backgroundBlurriness.value=n.backgroundBlurriness,u.material.uniforms.backgroundIntensity.value=n.backgroundIntensity,u.material.uniforms.backgroundRotation.value.setFromMatrix4(CE.makeRotationFromEuler(SE)),u.material.toneMapped=bx.getTransfer(r.colorSpace)!==Tb,(d!==r||f!==r.version||p!==e.toneMapping)&&(u.material.needsUpdate=!0,d=r,f=r.version,p=e.toneMapping),u.layers.enableAll(),t.unshift(u,u.geometry,u.material,0,0,null)):r&&r.isTexture&&(l===void 0&&(l=new AC(new Gw(2,2),new RC({name:`BackgroundMaterial`,uniforms:PC(bE.background.uniforms),vertexShader:bE.background.vertexShader,fragmentShader:bE.background.fragmentShader,side:0,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),l.geometry.deleteAttribute(`normal`),Object.defineProperty(l.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(l)),l.material.uniforms.t2D.value=r,l.material.uniforms.backgroundIntensity.value=n.backgroundIntensity,l.material.toneMapped=bx.getTransfer(r.colorSpace)!==Tb,r.matrixAutoUpdate===!0&&r.updateMatrix(),l.material.uniforms.uvTransform.value.copy(r.matrix),(d!==r||f!==r.version||p!==e.toneMapping)&&(l.material.needsUpdate=!0,d=r,f=r.version,p=e.toneMapping),l.layers.enableAll(),t.unshift(l,l.geometry,l.material,0,0,null))}function _(t,n){t.getRGB(xE,LC(e)),r.buffers.color.setClear(xE.r,xE.g,xE.b,n,o)}function v(){u!==void 0&&(u.geometry.dispose(),u.material.dispose(),u=void 0),l!==void 0&&(l.geometry.dispose(),l.material.dispose(),l=void 0)}return{getClearColor:function(){return s},setClearColor:function(e,t=1){s.set(e),c=t,_(s,c)},getClearAlpha:function(){return c},setClearAlpha:function(e){c=e,_(s,c)},render:h,addToRenderList:g,dispose:v}}function TE(e,t){let n=e.getParameter(e.MAX_VERTEX_ATTRIBS),r={},i=f(null),a=i,o=!1;function s(n,r,i,s,c){let u=!1,f=d(s,i,r);a!==f&&(a=f,l(a.object)),u=p(n,s,i,c),u&&m(n,s,i,c),c!==null&&t.update(c,e.ELEMENT_ARRAY_BUFFER),(u||o)&&(o=!1,b(n,r,i,s),c!==null&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t.get(c).buffer))}function c(){return e.createVertexArray()}function l(t){return e.bindVertexArray(t)}function u(t){return e.deleteVertexArray(t)}function d(e,t,n){let i=n.wireframe===!0,a=r[e.id];a===void 0&&(a={},r[e.id]=a);let o=a[t.id];o===void 0&&(o={},a[t.id]=o);let s=o[i];return s===void 0&&(s=f(c()),o[i]=s),s}function f(e){let t=[],r=[],i=[];for(let e=0;e=0){let n=i[t],r=o[t];if(r===void 0&&(t===`instanceMatrix`&&e.instanceMatrix&&(r=e.instanceMatrix),t===`instanceColor`&&e.instanceColor&&(r=e.instanceColor)),n===void 0||n.attribute!==r||r&&n.data!==r.data)return!0;s++}return a.attributesNum!==s||a.index!==r}function m(e,t,n,r){let i={},o=t.attributes,s=0,c=n.getAttributes();for(let t in c)if(c[t].location>=0){let n=o[t];n===void 0&&(t===`instanceMatrix`&&e.instanceMatrix&&(n=e.instanceMatrix),t===`instanceColor`&&e.instanceColor&&(n=e.instanceColor));let r={};r.attribute=n,n&&n.data&&(r.data=n.data),i[t]=r,s++}a.attributes=i,a.attributesNum=s,a.index=r}function h(){let e=a.newAttributes;for(let t=0,n=e.length;t=0){let s=o[r];if(s===void 0&&(r===`instanceMatrix`&&n.instanceMatrix&&(s=n.instanceMatrix),r===`instanceColor`&&n.instanceColor&&(s=n.instanceColor)),s!==void 0){let r=s.normalized,o=s.itemSize,c=t.get(s);if(c===void 0)continue;let l=c.buffer,u=c.type,d=c.bytesPerElement,f=u===e.INT||u===e.UNSIGNED_INT||s.gpuType===1013;if(s.isInterleavedBufferAttribute){let t=s.data,c=t.stride,p=s.offset;if(t.isInstancedInterleavedBuffer){for(let e=0;e0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.HIGH_FLOAT).precision>0)return`highp`;t=`mediump`}return t===`mediump`&&e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.MEDIUM_FLOAT).precision>0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?`mediump`:`lowp`}let l=n.precision===void 0?`highp`:n.precision,u=c(l);u!==l&&(console.warn(`THREE.WebGLRenderer:`,l,`not supported, using`,u,`instead.`),l=u);let d=n.logarithmicDepthBuffer===!0,f=n.reverseDepthBuffer===!0&&t.has(`EXT_clip_control`),p=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),m=e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS),h=e.getParameter(e.MAX_TEXTURE_SIZE),g=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),_=e.getParameter(e.MAX_VERTEX_ATTRIBS),v=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),y=e.getParameter(e.MAX_VARYING_VECTORS),b=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),x=m>0,S=e.getParameter(e.MAX_SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:a,getMaxPrecision:c,textureFormatReadable:o,textureTypeReadable:s,precision:l,logarithmicDepthBuffer:d,reverseDepthBuffer:f,maxTextures:p,maxVertexTextures:m,maxTextureSize:h,maxCubemapSize:g,maxAttributes:_,maxVertexUniforms:v,maxVaryings:y,maxFragmentUniforms:b,vertexTextures:x,maxSamples:S}}function OE(e){let t=this,n=null,r=0,i=!1,a=!1,o=new vw,s=new sx,c={value:null,needsUpdate:!1};this.uniform=c,this.numPlanes=0,this.numIntersection=0,this.init=function(e,t){let n=e.length!==0||t||r!==0||i;return i=t,r=e.length,n},this.beginShadows=function(){a=!0,u(null)},this.endShadows=function(){a=!1},this.setGlobalState=function(e,t){n=u(e,t,0)},this.setState=function(t,o,s){let d=t.clippingPlanes,f=t.clipIntersection,p=t.clipShadows,m=e.get(t);if(!i||d===null||d.length===0||a&&!p)a?u(null):l();else{let e=a?0:r,t=e*4,i=m.clippingState||null;c.value=i,i=u(d,o,t,s);for(let e=0;e!==t;++e)i[e]=n[e];m.clippingState=i,this.numIntersection=f?this.numPlanes:0,this.numPlanes+=e}};function l(){c.value!==n&&(c.value=n,c.needsUpdate=r>0),t.numPlanes=r,t.numIntersection=0}function u(e,n,r,i){let a=e===null?0:e.length,l=null;if(a!==0){if(l=c.value,i!==!0||l===null){let t=r+a*4,i=n.matrixWorldInverse;s.getNormalMatrix(i),(l===null||l.length0){let o=new ite(a.height);return o.fromEquirectangularTexture(e,r),t.set(r,o),r.addEventListener(`dispose`,i),n(o.texture,r.mapping)}else return null}}return r}function i(e){let n=e.target;n.removeEventListener(`dispose`,i);let r=t.get(n);r!==void 0&&(t.delete(n),r.dispose())}function a(){t=new WeakMap}return{get:r,dispose:a}}var AE=4,jE=[.125,.215,.35,.446,.526,.582],ME=20,NE=new UT,PE=new X,FE=null,IE=0,LE=0,RE=!1,zE=(1+Math.sqrt(5))/2,BE=1/zE,VE=[new J(-zE,BE,0),new J(zE,BE,0),new J(-BE,0,zE),new J(BE,0,zE),new J(0,zE,-BE),new J(0,zE,BE),new J(-1,1,-1),new J(1,1,-1),new J(-1,1,1),new J(1,1,1)],HE=new J,UE=class{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,n=.1,r=100,i={}){let{size:a=256,position:o=HE}=i;FE=this._renderer.getRenderTarget(),IE=this._renderer.getActiveCubeFace(),LE=this._renderer.getActiveMipmapLevel(),RE=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(a);let s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,n,r,s,o),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=YE(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=JE(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=2**this._lodMax}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?l:0,l,l),c.setRenderTarget(r),p&&c.render(f,a),c.render(e,a)}f.geometry.dispose(),f.material.dispose(),c.toneMapping=u,c.autoClear=l,e.background=m}_textureToCubeUV(e,t){let n=this._renderer,r=e.mapping===301||e.mapping===302;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=YE()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=JE());let i=r?this._cubemapMaterial:this._equirectMaterial,a=new AC(this._lodPlanes[0],i),o=i.uniforms;o.envMap.value=e;let s=this._cubeSize;KE(t,0,0,3*s,2*s),n.setRenderTarget(t),n.render(a,NE)}_applyPMREM(e){let t=this._renderer,n=t.autoClear;t.autoClear=!1;let r=this._lodPlanes.length;for(let t=1;tME&&console.warn(`sigmaRadians, ${i}, is too large and will clip, as it requested ${m} samples when the maximum is set to ${ME}`);let h=[],g=0;for(let e=0;e_-AE?r-_+AE:0),4*(this._cubeSize-v),3*v,2*v),s.setRenderTarget(t),s.render(l,NE)}};function WE(e){let t=[],n=[],r=[],i=e,a=e-AE+1+jE.length;for(let o=0;oe-AE?s=jE[o-e+AE-1]:o===0&&(s=0),r.push(s);let c=1/(a-2),l=-c,u=1+c,d=[l,l,u,l,u,u,l,l,u,u,l,u],f=new Float32Array(108),p=new Float32Array(72),m=new Float32Array(36);for(let e=0;e<6;e++){let t=e%3*2/3-1,n=e>2?0:-1,r=[t,n,0,t+2/3,n,0,t+2/3,n+1,0,t,n,0,t+2/3,n+1,0,t,n+1,0];f.set(r,18*e),p.set(d,12*e);let i=[e,e,e,e,e,e];m.set(i,6*e)}let h=new vC;h.setAttribute(`position`,new sC(f,3)),h.setAttribute(`uv`,new sC(p,2)),h.setAttribute(`faceIndex`,new sC(m,1)),t.push(h),i>AE&&i--}return{lodPlanes:t,sizeLods:n,sigmas:r}}function GE(e,t,n){let r=new Nx(e,t,n);return r.texture.mapping=306,r.texture.name=`PMREM.cubeUv`,r.scissorTest=!0,r}function KE(e,t,n,r,i){e.viewport.set(t,n,r,i),e.scissor.set(t,n,r,i)}function qE(e,t,n){let r=new Float32Array(ME),i=new J(0,1,0);return new RC({name:`SphericalGaussianBlur`,defines:{n:ME,CUBEUV_TEXEL_WIDTH:1/t,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${e}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:r},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:XE(),fragmentShader:` +}`},Z={common:{diffuse:{value:new X(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new ox},alphaMap:{value:null},alphaMapTransform:{value:new ox},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new ox}},envmap:{envMap:{value:null},envMapRotation:{value:new ox},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new ox}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new ox}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new ox},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new ox},normalScale:{value:new nx(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new ox},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new ox}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new ox}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new ox}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new X(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new X(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new ox},alphaTest:{value:0},uvTransform:{value:new ox}},sprite:{diffuse:{value:new X(16777215)},opacity:{value:1},center:{value:new nx(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new ox},alphaMap:{value:null},alphaMapTransform:{value:new ox},alphaTest:{value:0}}},xE={basic:{uniforms:AC([Z.common,Z.specularmap,Z.envmap,Z.aomap,Z.lightmap,Z.fog]),vertexShader:bE.meshbasic_vert,fragmentShader:bE.meshbasic_frag},lambert:{uniforms:AC([Z.common,Z.specularmap,Z.envmap,Z.aomap,Z.lightmap,Z.emissivemap,Z.bumpmap,Z.normalmap,Z.displacementmap,Z.fog,Z.lights,{emissive:{value:new X(0)}}]),vertexShader:bE.meshlambert_vert,fragmentShader:bE.meshlambert_frag},phong:{uniforms:AC([Z.common,Z.specularmap,Z.envmap,Z.aomap,Z.lightmap,Z.emissivemap,Z.bumpmap,Z.normalmap,Z.displacementmap,Z.fog,Z.lights,{emissive:{value:new X(0)},specular:{value:new X(1118481)},shininess:{value:30}}]),vertexShader:bE.meshphong_vert,fragmentShader:bE.meshphong_frag},standard:{uniforms:AC([Z.common,Z.envmap,Z.aomap,Z.lightmap,Z.emissivemap,Z.bumpmap,Z.normalmap,Z.displacementmap,Z.roughnessmap,Z.metalnessmap,Z.fog,Z.lights,{emissive:{value:new X(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:bE.meshphysical_vert,fragmentShader:bE.meshphysical_frag},toon:{uniforms:AC([Z.common,Z.aomap,Z.lightmap,Z.emissivemap,Z.bumpmap,Z.normalmap,Z.displacementmap,Z.gradientmap,Z.fog,Z.lights,{emissive:{value:new X(0)}}]),vertexShader:bE.meshtoon_vert,fragmentShader:bE.meshtoon_frag},matcap:{uniforms:AC([Z.common,Z.bumpmap,Z.normalmap,Z.displacementmap,Z.fog,{matcap:{value:null}}]),vertexShader:bE.meshmatcap_vert,fragmentShader:bE.meshmatcap_frag},points:{uniforms:AC([Z.points,Z.fog]),vertexShader:bE.points_vert,fragmentShader:bE.points_frag},dashed:{uniforms:AC([Z.common,Z.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:bE.linedashed_vert,fragmentShader:bE.linedashed_frag},depth:{uniforms:AC([Z.common,Z.displacementmap]),vertexShader:bE.depth_vert,fragmentShader:bE.depth_frag},normal:{uniforms:AC([Z.common,Z.bumpmap,Z.normalmap,Z.displacementmap,{opacity:{value:1}}]),vertexShader:bE.meshnormal_vert,fragmentShader:bE.meshnormal_frag},sprite:{uniforms:AC([Z.sprite,Z.fog]),vertexShader:bE.sprite_vert,fragmentShader:bE.sprite_frag},background:{uniforms:{uvTransform:{value:new ox},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:bE.background_vert,fragmentShader:bE.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new ox}},vertexShader:bE.backgroundCube_vert,fragmentShader:bE.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:bE.cube_vert,fragmentShader:bE.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:bE.equirect_vert,fragmentShader:bE.equirect_frag},distanceRGBA:{uniforms:AC([Z.common,Z.displacementmap,{referencePosition:{value:new J},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:bE.distanceRGBA_vert,fragmentShader:bE.distanceRGBA_frag},shadow:{uniforms:AC([Z.lights,Z.fog,{color:{value:new X(0)},opacity:{value:1}}]),vertexShader:bE.shadow_vert,fragmentShader:bE.shadow_frag}};xE.physical={uniforms:AC([xE.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new ox},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new ox},clearcoatNormalScale:{value:new nx(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new ox},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new ox},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new ox},sheen:{value:0},sheenColor:{value:new X(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new ox},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new ox},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new ox},transmissionSamplerSize:{value:new nx},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new ox},attenuationDistance:{value:0},attenuationColor:{value:new X(0)},specularColor:{value:new X(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new ox},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new ox},anisotropyVector:{value:new nx},anisotropyMap:{value:null},anisotropyMapTransform:{value:new ox}}]),vertexShader:bE.meshphysical_vert,fragmentShader:bE.meshphysical_frag};var SE={r:0,b:0,g:0},CE=new pS,wE=new Y;function TE(e,t,n,r,i,a,o){let s=new X(0),c=a===!0?0:1,l,u,d=null,f=0,p=null;function m(e){let r=e.isScene===!0?e.background:null;return r&&r.isTexture&&(r=(e.backgroundBlurriness>0?n:t).get(r)),r}function h(t){let n=!1,i=m(t);i===null?_(s,c):i&&i.isColor&&(_(i,1),n=!0);let a=e.xr.getEnvironmentBlendMode();a===`additive`?r.buffers.color.setClear(0,0,0,1,o):a===`alpha-blend`&&r.buffers.color.setClear(0,0,0,0,o),(e.autoClear||n)&&(r.buffers.depth.setTest(!0),r.buffers.depth.setMask(!0),r.buffers.color.setMask(!0),e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil))}function g(t,n){let r=m(n);r&&(r.isCubeTexture||r.mapping===306)?(u===void 0&&(u=new TC(new OC(1,1,1),new IC({name:`BackgroundCubeMaterial`,uniforms:kC(xE.backgroundCube.uniforms),vertexShader:xE.backgroundCube.vertexShader,fragmentShader:xE.backgroundCube.fragmentShader,side:1,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),u.geometry.deleteAttribute(`normal`),u.geometry.deleteAttribute(`uv`),u.onBeforeRender=function(e,t,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(u.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(u)),CE.copy(n.backgroundRotation),CE.x*=-1,CE.y*=-1,CE.z*=-1,r.isCubeTexture&&r.isRenderTargetTexture===!1&&(CE.y*=-1,CE.z*=-1),u.material.uniforms.envMap.value=r,u.material.uniforms.flipEnvMap.value=r.isCubeTexture&&r.isRenderTargetTexture===!1?-1:1,u.material.uniforms.backgroundBlurriness.value=n.backgroundBlurriness,u.material.uniforms.backgroundIntensity.value=n.backgroundIntensity,u.material.uniforms.backgroundRotation.value.setFromMatrix4(wE.makeRotationFromEuler(CE)),u.material.toneMapped=yx.getTransfer(r.colorSpace)!==wb,(d!==r||f!==r.version||p!==e.toneMapping)&&(u.material.needsUpdate=!0,d=r,f=r.version,p=e.toneMapping),u.layers.enableAll(),t.unshift(u,u.geometry,u.material,0,0,null)):r&&r.isTexture&&(l===void 0&&(l=new TC(new Qw(2,2),new IC({name:`BackgroundMaterial`,uniforms:kC(xE.background.uniforms),vertexShader:xE.background.vertexShader,fragmentShader:xE.background.fragmentShader,side:0,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),l.geometry.deleteAttribute(`normal`),Object.defineProperty(l.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(l)),l.material.uniforms.t2D.value=r,l.material.uniforms.backgroundIntensity.value=n.backgroundIntensity,l.material.toneMapped=yx.getTransfer(r.colorSpace)!==wb,r.matrixAutoUpdate===!0&&r.updateMatrix(),l.material.uniforms.uvTransform.value.copy(r.matrix),(d!==r||f!==r.version||p!==e.toneMapping)&&(l.material.needsUpdate=!0,d=r,f=r.version,p=e.toneMapping),l.layers.enableAll(),t.unshift(l,l.geometry,l.material,0,0,null))}function _(t,n){t.getRGB(SE,MC(e)),r.buffers.color.setClear(SE.r,SE.g,SE.b,n,o)}function v(){u!==void 0&&(u.geometry.dispose(),u.material.dispose(),u=void 0),l!==void 0&&(l.geometry.dispose(),l.material.dispose(),l=void 0)}return{getClearColor:function(){return s},setClearColor:function(e,t=1){s.set(e),c=t,_(s,c)},getClearAlpha:function(){return c},setClearAlpha:function(e){c=e,_(s,c)},render:h,addToRenderList:g,dispose:v}}function EE(e,t){let n=e.getParameter(e.MAX_VERTEX_ATTRIBS),r={},i=f(null),a=i,o=!1;function s(n,r,i,s,c){let u=!1,f=d(s,i,r);a!==f&&(a=f,l(a.object)),u=p(n,s,i,c),u&&m(n,s,i,c),c!==null&&t.update(c,e.ELEMENT_ARRAY_BUFFER),(u||o)&&(o=!1,b(n,r,i,s),c!==null&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t.get(c).buffer))}function c(){return e.createVertexArray()}function l(t){return e.bindVertexArray(t)}function u(t){return e.deleteVertexArray(t)}function d(e,t,n){let i=n.wireframe===!0,a=r[e.id];a===void 0&&(a={},r[e.id]=a);let o=a[t.id];o===void 0&&(o={},a[t.id]=o);let s=o[i];return s===void 0&&(s=f(c()),o[i]=s),s}function f(e){let t=[],r=[],i=[];for(let e=0;e=0){let n=i[t],r=o[t];if(r===void 0&&(t===`instanceMatrix`&&e.instanceMatrix&&(r=e.instanceMatrix),t===`instanceColor`&&e.instanceColor&&(r=e.instanceColor)),n===void 0||n.attribute!==r||r&&n.data!==r.data)return!0;s++}return a.attributesNum!==s||a.index!==r}function m(e,t,n,r){let i={},o=t.attributes,s=0,c=n.getAttributes();for(let t in c)if(c[t].location>=0){let n=o[t];n===void 0&&(t===`instanceMatrix`&&e.instanceMatrix&&(n=e.instanceMatrix),t===`instanceColor`&&e.instanceColor&&(n=e.instanceColor));let r={};r.attribute=n,n&&n.data&&(r.data=n.data),i[t]=r,s++}a.attributes=i,a.attributesNum=s,a.index=r}function h(){let e=a.newAttributes;for(let t=0,n=e.length;t=0){let s=o[r];if(s===void 0&&(r===`instanceMatrix`&&n.instanceMatrix&&(s=n.instanceMatrix),r===`instanceColor`&&n.instanceColor&&(s=n.instanceColor)),s!==void 0){let r=s.normalized,o=s.itemSize,c=t.get(s);if(c===void 0)continue;let l=c.buffer,u=c.type,d=c.bytesPerElement,f=u===e.INT||u===e.UNSIGNED_INT||s.gpuType===1013;if(s.isInterleavedBufferAttribute){let t=s.data,c=t.stride,p=s.offset;if(t.isInstancedInterleavedBuffer){for(let e=0;e0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.HIGH_FLOAT).precision>0)return`highp`;t=`mediump`}return t===`mediump`&&e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.MEDIUM_FLOAT).precision>0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?`mediump`:`lowp`}let l=n.precision===void 0?`highp`:n.precision,u=c(l);u!==l&&(console.warn(`THREE.WebGLRenderer:`,l,`not supported, using`,u,`instead.`),l=u);let d=n.logarithmicDepthBuffer===!0,f=n.reverseDepthBuffer===!0&&t.has(`EXT_clip_control`),p=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),m=e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS),h=e.getParameter(e.MAX_TEXTURE_SIZE),g=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),_=e.getParameter(e.MAX_VERTEX_ATTRIBS),v=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),y=e.getParameter(e.MAX_VARYING_VECTORS),b=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),x=m>0,S=e.getParameter(e.MAX_SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:a,getMaxPrecision:c,textureFormatReadable:o,textureTypeReadable:s,precision:l,logarithmicDepthBuffer:d,reverseDepthBuffer:f,maxTextures:p,maxVertexTextures:m,maxTextureSize:h,maxCubemapSize:g,maxAttributes:_,maxVertexUniforms:v,maxVaryings:y,maxFragmentUniforms:b,vertexTextures:x,maxSamples:S}}function kE(e){let t=this,n=null,r=0,i=!1,a=!1,o=new Dw,s=new ox,c={value:null,needsUpdate:!1};this.uniform=c,this.numPlanes=0,this.numIntersection=0,this.init=function(e,t){let n=e.length!==0||t||r!==0||i;return i=t,r=e.length,n},this.beginShadows=function(){a=!0,u(null)},this.endShadows=function(){a=!1},this.setGlobalState=function(e,t){n=u(e,t,0)},this.setState=function(t,o,s){let d=t.clippingPlanes,f=t.clipIntersection,p=t.clipShadows,m=e.get(t);if(!i||d===null||d.length===0||a&&!p)a?u(null):l();else{let e=a?0:r,t=e*4,i=m.clippingState||null;c.value=i,i=u(d,o,t,s);for(let e=0;e!==t;++e)i[e]=n[e];m.clippingState=i,this.numIntersection=f?this.numPlanes:0,this.numPlanes+=e}};function l(){c.value!==n&&(c.value=n,c.needsUpdate=r>0),t.numPlanes=r,t.numIntersection=0}function u(e,n,r,i){let a=e===null?0:e.length,l=null;if(a!==0){if(l=c.value,i!==!0||l===null){let t=r+a*4,i=n.matrixWorldInverse;s.getNormalMatrix(i),(l===null||l.length0){let o=new KC(a.height);return o.fromEquirectangularTexture(e,r),t.set(r,o),r.addEventListener(`dispose`,i),n(o.texture,r.mapping)}else return null}}return r}function i(e){let n=e.target;n.removeEventListener(`dispose`,i);let r=t.get(n);r!==void 0&&(t.delete(n),r.dispose())}function a(){t=new WeakMap}return{get:r,dispose:a}}var jE=4,ME=[.125,.215,.35,.446,.526,.582],NE=20,PE=new WT,FE=new X,IE=null,LE=0,RE=0,zE=!1,BE=(1+Math.sqrt(5))/2,VE=1/BE,HE=[new J(-BE,VE,0),new J(BE,VE,0),new J(-VE,0,BE),new J(VE,0,BE),new J(0,BE,-VE),new J(0,BE,VE),new J(-1,1,-1),new J(1,1,-1),new J(-1,1,1),new J(1,1,1)],UE=new J,WE=class{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,n=.1,r=100,i={}){let{size:a=256,position:o=UE}=i;IE=this._renderer.getRenderTarget(),LE=this._renderer.getActiveCubeFace(),RE=this._renderer.getActiveMipmapLevel(),zE=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(a);let s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,n,r,s,o),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=XE(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=YE(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=2**this._lodMax}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?l:0,l,l),c.setRenderTarget(r),p&&c.render(f,a),c.render(e,a)}f.geometry.dispose(),f.material.dispose(),c.toneMapping=u,c.autoClear=l,e.background=m}_textureToCubeUV(e,t){let n=this._renderer,r=e.mapping===301||e.mapping===302;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=XE()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=YE());let i=r?this._cubemapMaterial:this._equirectMaterial,a=new TC(this._lodPlanes[0],i),o=i.uniforms;o.envMap.value=e;let s=this._cubeSize;qE(t,0,0,3*s,2*s),n.setRenderTarget(t),n.render(a,PE)}_applyPMREM(e){let t=this._renderer,n=t.autoClear;t.autoClear=!1;let r=this._lodPlanes.length;for(let t=1;tNE&&console.warn(`sigmaRadians, ${i}, is too large and will clip, as it requested ${m} samples when the maximum is set to ${NE}`);let h=[],g=0;for(let e=0;e_-jE?r-_+jE:0),4*(this._cubeSize-v),3*v,2*v),s.setRenderTarget(t),s.render(l,PE)}};function GE(e){let t=[],n=[],r=[],i=e,a=e-jE+1+ME.length;for(let o=0;oe-jE?s=ME[o-e+jE-1]:o===0&&(s=0),r.push(s);let c=1/(a-2),l=-c,u=1+c,d=[l,l,u,l,u,u,l,l,u,u,l,u],f=new Float32Array(108),p=new Float32Array(72),m=new Float32Array(36);for(let e=0;e<6;e++){let t=e%3*2/3-1,n=e>2?0:-1,r=[t,n,0,t+2/3,n,0,t+2/3,n+1,0,t,n,0,t+2/3,n+1,0,t,n+1,0];f.set(r,18*e),p.set(d,12*e);let i=[e,e,e,e,e,e];m.set(i,6*e)}let h=new pC;h.setAttribute(`position`,new nC(f,3)),h.setAttribute(`uv`,new nC(p,2)),h.setAttribute(`faceIndex`,new nC(m,1)),t.push(h),i>jE&&i--}return{lodPlanes:t,sizeLods:n,sigmas:r}}function KE(e,t,n){let r=new Ox(e,t,n);return r.texture.mapping=306,r.texture.name=`PMREM.cubeUv`,r.scissorTest=!0,r}function qE(e,t,n,r,i){e.viewport.set(t,n,r,i),e.scissor.set(t,n,r,i)}function JE(e,t,n){let r=new Float32Array(NE),i=new J(0,1,0);return new IC({name:`SphericalGaussianBlur`,defines:{n:NE,CUBEUV_TEXEL_WIDTH:1/t,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${e}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:r},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:ZE(),fragmentShader:` precision mediump float; precision mediump int; @@ -3675,7 +3675,7 @@ void main() { } } - `,blending:0,depthTest:!1,depthWrite:!1})}function JE(){return new RC({name:`EquirectangularToCubeUV`,uniforms:{envMap:{value:null}},vertexShader:XE(),fragmentShader:` + `,blending:0,depthTest:!1,depthWrite:!1})}function YE(){return new IC({name:`EquirectangularToCubeUV`,uniforms:{envMap:{value:null}},vertexShader:ZE(),fragmentShader:` precision mediump float; precision mediump int; @@ -3694,7 +3694,7 @@ void main() { gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); } - `,blending:0,depthTest:!1,depthWrite:!1})}function YE(){return new RC({name:`CubemapToCubeUV`,uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:XE(),fragmentShader:` + `,blending:0,depthTest:!1,depthWrite:!1})}function XE(){return new IC({name:`CubemapToCubeUV`,uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:ZE(),fragmentShader:` precision mediump float; precision mediump int; @@ -3710,7 +3710,7 @@ void main() { gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); } - `,blending:0,depthTest:!1,depthWrite:!1})}function XE(){return` + `,blending:0,depthTest:!1,depthWrite:!1})}function ZE(){return` precision mediump float; precision mediump int; @@ -3765,17 +3765,17 @@ void main() { gl_Position = vec4( position, 1.0 ); } - `}function ZE(e){let t=new WeakMap,n=null;function r(r){if(r&&r.isTexture){let o=r.mapping,s=o===303||o===304,c=o===301||o===302;if(s||c){let o=t.get(r),l=o===void 0?0:o.texture.pmremVersion;if(r.isRenderTargetTexture&&r.pmremVersion!==l)return n===null&&(n=new UE(e)),o=s?n.fromEquirectangular(r,o):n.fromCubemap(r,o),o.texture.pmremVersion=r.pmremVersion,t.set(r,o),o.texture;if(o!==void 0)return o.texture;{let l=r.image;return s&&l&&l.height>0||c&&l&&i(l)?(n===null&&(n=new UE(e)),o=s?n.fromEquirectangular(r):n.fromCubemap(r),o.texture.pmremVersion=r.pmremVersion,t.set(r,o),r.addEventListener(`dispose`,a),o.texture):null}}}return r}function i(e){let t=0;for(let n=0;n<6;n++)e[n]!==void 0&&t++;return t===6}function a(e){let n=e.target;n.removeEventListener(`dispose`,a);let r=t.get(n);r!==void 0&&(t.delete(n),r.dispose())}function o(){t=new WeakMap,n!==null&&(n.dispose(),n=null)}return{get:r,dispose:o}}function QE(e){let t={};function n(n){if(t[n]!==void 0)return t[n];let r;switch(n){case`WEBGL_depth_texture`:r=e.getExtension(`WEBGL_depth_texture`)||e.getExtension(`MOZ_WEBGL_depth_texture`)||e.getExtension(`WEBKIT_WEBGL_depth_texture`);break;case`EXT_texture_filter_anisotropic`:r=e.getExtension(`EXT_texture_filter_anisotropic`)||e.getExtension(`MOZ_EXT_texture_filter_anisotropic`)||e.getExtension(`WEBKIT_EXT_texture_filter_anisotropic`);break;case`WEBGL_compressed_texture_s3tc`:r=e.getExtension(`WEBGL_compressed_texture_s3tc`)||e.getExtension(`MOZ_WEBGL_compressed_texture_s3tc`)||e.getExtension(`WEBKIT_WEBGL_compressed_texture_s3tc`);break;case`WEBGL_compressed_texture_pvrtc`:r=e.getExtension(`WEBGL_compressed_texture_pvrtc`)||e.getExtension(`WEBKIT_WEBGL_compressed_texture_pvrtc`);break;default:r=e.getExtension(n)}return t[n]=r,r}return{has:function(e){return n(e)!==null},init:function(){n(`EXT_color_buffer_float`),n(`WEBGL_clip_cull_distance`),n(`OES_texture_float_linear`),n(`EXT_color_buffer_half_float`),n(`WEBGL_multisampled_render_to_texture`),n(`WEBGL_render_shared_exponent`)},get:function(e){let t=n(e);return t===null&&px(`THREE.WebGLRenderer: `+e+` extension not supported.`),t}}}function $E(e,t,n,r){let i={},a=new WeakMap;function o(e){let s=e.target;s.index!==null&&t.remove(s.index);for(let e in s.attributes)t.remove(s.attributes[e]);s.removeEventListener(`dispose`,o),delete i[s.id];let c=a.get(s);c&&(t.remove(c),a.delete(s)),r.releaseStatesOfGeometry(s),s.isInstancedBufferGeometry===!0&&delete s._maxInstanceCount,n.memory.geometries--}function s(e,t){return i[t.id]===!0?t:(t.addEventListener(`dispose`,o),i[t.id]=!0,n.memory.geometries++,t)}function c(n){let r=n.attributes;for(let n in r)t.update(r[n],e.ARRAY_BUFFER)}function l(e){let n=[],r=e.index,i=e.attributes.position,o=0;if(r!==null){let e=r.array;o=r.version;for(let t=0,r=e.length;tt.maxTextureSize&&(m=Math.ceil(p/t.maxTextureSize),p=t.maxTextureSize);let h=new Float32Array(p*m*4*u),g=new Px(h,p,m,u);g.type=yy,g.needsUpdate=!0;let _=f*4;for(let t=0;t0)return e;let i=t*n,a=lD[i];if(a===void 0&&(a=new Float32Array(i),lD[i]=a),t!==0){r.toArray(a,0);for(let r=1,i=0;r!==t;++r)i+=n,e[r].toArray(a,i)}return a}function hD(e,t){if(e.length!==t.length)return!1;for(let n=0,r=e.length;n0||c&&l&&i(l)?(n===null&&(n=new WE(e)),o=s?n.fromEquirectangular(r):n.fromCubemap(r),o.texture.pmremVersion=r.pmremVersion,t.set(r,o),r.addEventListener(`dispose`,a),o.texture):null}}}return r}function i(e){let t=0;for(let n=0;n<6;n++)e[n]!==void 0&&t++;return t===6}function a(e){let n=e.target;n.removeEventListener(`dispose`,a);let r=t.get(n);r!==void 0&&(t.delete(n),r.dispose())}function o(){t=new WeakMap,n!==null&&(n.dispose(),n=null)}return{get:r,dispose:o}}function $E(e){let t={};function n(n){if(t[n]!==void 0)return t[n];let r;switch(n){case`WEBGL_depth_texture`:r=e.getExtension(`WEBGL_depth_texture`)||e.getExtension(`MOZ_WEBGL_depth_texture`)||e.getExtension(`WEBKIT_WEBGL_depth_texture`);break;case`EXT_texture_filter_anisotropic`:r=e.getExtension(`EXT_texture_filter_anisotropic`)||e.getExtension(`MOZ_EXT_texture_filter_anisotropic`)||e.getExtension(`WEBKIT_EXT_texture_filter_anisotropic`);break;case`WEBGL_compressed_texture_s3tc`:r=e.getExtension(`WEBGL_compressed_texture_s3tc`)||e.getExtension(`MOZ_WEBGL_compressed_texture_s3tc`)||e.getExtension(`WEBKIT_WEBGL_compressed_texture_s3tc`);break;case`WEBGL_compressed_texture_pvrtc`:r=e.getExtension(`WEBGL_compressed_texture_pvrtc`)||e.getExtension(`WEBKIT_WEBGL_compressed_texture_pvrtc`);break;default:r=e.getExtension(n)}return t[n]=r,r}return{has:function(e){return n(e)!==null},init:function(){n(`EXT_color_buffer_float`),n(`WEBGL_clip_cull_distance`),n(`OES_texture_float_linear`),n(`EXT_color_buffer_half_float`),n(`WEBGL_multisampled_render_to_texture`),n(`WEBGL_render_shared_exponent`)},get:function(e){let t=n(e);return t===null&&fx(`THREE.WebGLRenderer: `+e+` extension not supported.`),t}}}function eD(e,t,n,r){let i={},a=new WeakMap;function o(e){let s=e.target;s.index!==null&&t.remove(s.index);for(let e in s.attributes)t.remove(s.attributes[e]);s.removeEventListener(`dispose`,o),delete i[s.id];let c=a.get(s);c&&(t.remove(c),a.delete(s)),r.releaseStatesOfGeometry(s),s.isInstancedBufferGeometry===!0&&delete s._maxInstanceCount,n.memory.geometries--}function s(e,t){return i[t.id]===!0?t:(t.addEventListener(`dispose`,o),i[t.id]=!0,n.memory.geometries++,t)}function c(n){let r=n.attributes;for(let n in r)t.update(r[n],e.ARRAY_BUFFER)}function l(e){let n=[],r=e.index,i=e.attributes.position,o=0;if(r!==null){let e=r.array;o=r.version;for(let t=0,r=e.length;tt.maxTextureSize&&(m=Math.ceil(p/t.maxTextureSize),p=t.maxTextureSize);let h=new Float32Array(p*m*4*u),g=new kx(h,p,m,u);g.type=vy,g.needsUpdate=!0;let _=f*4;for(let t=0;t0)return e;let i=t*n,a=uD[i];if(a===void 0&&(a=new Float32Array(i),uD[i]=a),t!==0){r.toArray(a,0);for(let r=1,i=0;r!==t;++r)i+=n,e[r].toArray(a,i)}return a}function gD(e,t){if(e.length!==t.length)return!1;for(let n=0,r=e.length;n`:` `} ${i}: ${n[e]}`)}return r.join(` -`)}var hO=new sx;function gO(e){bx._getMatrix(hO,bx.workingColorSpace,e);let t=`mat3( ${hO.elements.map(e=>e.toFixed(4))} )`;switch(bx.getTransfer(e)){case wb:return[t,`LinearTransferOETF`];case Tb:return[t,`sRGBTransferOETF`];default:return console.warn(`THREE.WebGLProgram: Unsupported color space: `,e),[t,`LinearTransferOETF`]}}function _O(e,t,n){let r=e.getShaderParameter(t,e.COMPILE_STATUS),i=e.getShaderInfoLog(t).trim();if(r&&i===``)return``;let a=/ERROR: 0:(\d+)/.exec(i);if(a){let r=parseInt(a[1]);return n.toUpperCase()+` +`)}var gO=new ox;function _O(e){yx._getMatrix(gO,yx.workingColorSpace,e);let t=`mat3( ${gO.elements.map(e=>e.toFixed(4))} )`;switch(yx.getTransfer(e)){case Cb:return[t,`LinearTransferOETF`];case wb:return[t,`sRGBTransferOETF`];default:return console.warn(`THREE.WebGLProgram: Unsupported color space: `,e),[t,`LinearTransferOETF`]}}function vO(e,t,n){let r=e.getShaderParameter(t,e.COMPILE_STATUS),i=e.getShaderInfoLog(t).trim();if(r&&i===``)return``;let a=/ERROR: 0:(\d+)/.exec(i);if(a){let r=parseInt(a[1]);return n.toUpperCase()+` `+i+` -`+mO(e.getShaderSource(t),r)}else return i}function vO(e,t){let n=gO(t);return[`vec4 ${e}( vec4 value ) {`,` return ${n[1]}( vec4( value.rgb * ${n[0]}, value.a ) );`,`}`].join(` -`)}function yO(e,t){let n;switch(t){case 1:n=`Linear`;break;case 2:n=`Reinhard`;break;case 3:n=`Cineon`;break;case 4:n=`ACESFilmic`;break;case 6:n=`AgX`;break;case 7:n=`Neutral`;break;case 5:n=`Custom`;break;default:console.warn(`THREE.WebGLProgram: Unsupported toneMapping:`,t),n=`Linear`}return`vec3 `+e+`( vec3 color ) { return `+n+`ToneMapping( color ); }`}var bO=new J;function xO(){return bx.getLuminanceCoefficients(bO),[`float luminance( const in vec3 rgb ) {`,` const vec3 weights = vec3( ${bO.x.toFixed(4)}, ${bO.y.toFixed(4)}, ${bO.z.toFixed(4)} );`,` return dot( weights, rgb );`,`}`].join(` -`)}function SO(e){return[e.extensionClipCullDistance?`#extension GL_ANGLE_clip_cull_distance : require`:``,e.extensionMultiDraw?`#extension GL_ANGLE_multi_draw : require`:``].filter(TO).join(` -`)}function CO(e){let t=[];for(let n in e){let r=e[n];r!==!1&&t.push(`#define `+n+` `+r)}return t.join(` -`)}function wO(e,t){let n={},r=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES);for(let i=0;i/gm;function kO(e){return e.replace(OO,jO)}var AO=new Map;function jO(e,t){let n=yE[t];if(n===void 0){let e=AO.get(t);if(e!==void 0)n=yE[e],console.warn(`THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.`,t,e);else throw Error(`Can not resolve #include <`+t+`>`)}return kO(n)}var MO=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function NO(e){return e.replace(MO,PO)}function PO(e,t,n,r){let i=``;for(let e=parseInt(t);e/gm;function AO(e){return e.replace(kO,MO)}var jO=new Map;function MO(e,t){let n=bE[t];if(n===void 0){let e=jO.get(t);if(e!==void 0)n=bE[e],console.warn(`THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.`,t,e);else throw Error(`Can not resolve #include <`+t+`>`)}return AO(n)}var NO=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function PO(e){return e.replace(NO,FO)}function FO(e,t,n,r){let i=``;for(let e=parseInt(t);e0&&(g+=` -`),_=[`#define SHADER_TYPE `+n.shaderType,`#define SHADER_NAME `+n.shaderName,m].filter(TO).join(` +`),_=[`#define SHADER_TYPE `+n.shaderType,`#define SHADER_NAME `+n.shaderName,m].filter(EO).join(` `),_.length>0&&(_+=` -`)):(g=[FO(n),`#define SHADER_TYPE `+n.shaderType,`#define SHADER_NAME `+n.shaderName,m,n.extensionClipCullDistance?`#define USE_CLIP_DISTANCE`:``,n.batching?`#define USE_BATCHING`:``,n.batchingColor?`#define USE_BATCHING_COLOR`:``,n.instancing?`#define USE_INSTANCING`:``,n.instancingColor?`#define USE_INSTANCING_COLOR`:``,n.instancingMorph?`#define USE_INSTANCING_MORPH`:``,n.useFog&&n.fog?`#define USE_FOG`:``,n.useFog&&n.fogExp2?`#define FOG_EXP2`:``,n.map?`#define USE_MAP`:``,n.envMap?`#define USE_ENVMAP`:``,n.envMap?`#define `+u:``,n.lightMap?`#define USE_LIGHTMAP`:``,n.aoMap?`#define USE_AOMAP`:``,n.bumpMap?`#define USE_BUMPMAP`:``,n.normalMap?`#define USE_NORMALMAP`:``,n.normalMapObjectSpace?`#define USE_NORMALMAP_OBJECTSPACE`:``,n.normalMapTangentSpace?`#define USE_NORMALMAP_TANGENTSPACE`:``,n.displacementMap?`#define USE_DISPLACEMENTMAP`:``,n.emissiveMap?`#define USE_EMISSIVEMAP`:``,n.anisotropy?`#define USE_ANISOTROPY`:``,n.anisotropyMap?`#define USE_ANISOTROPYMAP`:``,n.clearcoatMap?`#define USE_CLEARCOATMAP`:``,n.clearcoatRoughnessMap?`#define USE_CLEARCOAT_ROUGHNESSMAP`:``,n.clearcoatNormalMap?`#define USE_CLEARCOAT_NORMALMAP`:``,n.iridescenceMap?`#define USE_IRIDESCENCEMAP`:``,n.iridescenceThicknessMap?`#define USE_IRIDESCENCE_THICKNESSMAP`:``,n.specularMap?`#define USE_SPECULARMAP`:``,n.specularColorMap?`#define USE_SPECULAR_COLORMAP`:``,n.specularIntensityMap?`#define USE_SPECULAR_INTENSITYMAP`:``,n.roughnessMap?`#define USE_ROUGHNESSMAP`:``,n.metalnessMap?`#define USE_METALNESSMAP`:``,n.alphaMap?`#define USE_ALPHAMAP`:``,n.alphaHash?`#define USE_ALPHAHASH`:``,n.transmission?`#define USE_TRANSMISSION`:``,n.transmissionMap?`#define USE_TRANSMISSIONMAP`:``,n.thicknessMap?`#define USE_THICKNESSMAP`:``,n.sheenColorMap?`#define USE_SHEEN_COLORMAP`:``,n.sheenRoughnessMap?`#define USE_SHEEN_ROUGHNESSMAP`:``,n.mapUv?`#define MAP_UV `+n.mapUv:``,n.alphaMapUv?`#define ALPHAMAP_UV `+n.alphaMapUv:``,n.lightMapUv?`#define LIGHTMAP_UV `+n.lightMapUv:``,n.aoMapUv?`#define AOMAP_UV `+n.aoMapUv:``,n.emissiveMapUv?`#define EMISSIVEMAP_UV `+n.emissiveMapUv:``,n.bumpMapUv?`#define BUMPMAP_UV `+n.bumpMapUv:``,n.normalMapUv?`#define NORMALMAP_UV `+n.normalMapUv:``,n.displacementMapUv?`#define DISPLACEMENTMAP_UV `+n.displacementMapUv:``,n.metalnessMapUv?`#define METALNESSMAP_UV `+n.metalnessMapUv:``,n.roughnessMapUv?`#define ROUGHNESSMAP_UV `+n.roughnessMapUv:``,n.anisotropyMapUv?`#define ANISOTROPYMAP_UV `+n.anisotropyMapUv:``,n.clearcoatMapUv?`#define CLEARCOATMAP_UV `+n.clearcoatMapUv:``,n.clearcoatNormalMapUv?`#define CLEARCOAT_NORMALMAP_UV `+n.clearcoatNormalMapUv:``,n.clearcoatRoughnessMapUv?`#define CLEARCOAT_ROUGHNESSMAP_UV `+n.clearcoatRoughnessMapUv:``,n.iridescenceMapUv?`#define IRIDESCENCEMAP_UV `+n.iridescenceMapUv:``,n.iridescenceThicknessMapUv?`#define IRIDESCENCE_THICKNESSMAP_UV `+n.iridescenceThicknessMapUv:``,n.sheenColorMapUv?`#define SHEEN_COLORMAP_UV `+n.sheenColorMapUv:``,n.sheenRoughnessMapUv?`#define SHEEN_ROUGHNESSMAP_UV `+n.sheenRoughnessMapUv:``,n.specularMapUv?`#define SPECULARMAP_UV `+n.specularMapUv:``,n.specularColorMapUv?`#define SPECULAR_COLORMAP_UV `+n.specularColorMapUv:``,n.specularIntensityMapUv?`#define SPECULAR_INTENSITYMAP_UV `+n.specularIntensityMapUv:``,n.transmissionMapUv?`#define TRANSMISSIONMAP_UV `+n.transmissionMapUv:``,n.thicknessMapUv?`#define THICKNESSMAP_UV `+n.thicknessMapUv:``,n.vertexTangents&&n.flatShading===!1?`#define USE_TANGENT`:``,n.vertexColors?`#define USE_COLOR`:``,n.vertexAlphas?`#define USE_COLOR_ALPHA`:``,n.vertexUv1s?`#define USE_UV1`:``,n.vertexUv2s?`#define USE_UV2`:``,n.vertexUv3s?`#define USE_UV3`:``,n.pointsUvs?`#define USE_POINTS_UV`:``,n.flatShading?`#define FLAT_SHADED`:``,n.skinning?`#define USE_SKINNING`:``,n.morphTargets?`#define USE_MORPHTARGETS`:``,n.morphNormals&&n.flatShading===!1?`#define USE_MORPHNORMALS`:``,n.morphColors?`#define USE_MORPHCOLORS`:``,n.morphTargetsCount>0?`#define MORPHTARGETS_TEXTURE_STRIDE `+n.morphTextureStride:``,n.morphTargetsCount>0?`#define MORPHTARGETS_COUNT `+n.morphTargetsCount:``,n.doubleSided?`#define DOUBLE_SIDED`:``,n.flipSided?`#define FLIP_SIDED`:``,n.shadowMapEnabled?`#define USE_SHADOWMAP`:``,n.shadowMapEnabled?`#define `+c:``,n.sizeAttenuation?`#define USE_SIZEATTENUATION`:``,n.numLightProbes>0?`#define USE_LIGHT_PROBES`:``,n.logarithmicDepthBuffer?`#define USE_LOGDEPTHBUF`:``,n.reverseDepthBuffer?`#define USE_REVERSEDEPTHBUF`:``,`uniform mat4 modelMatrix;`,`uniform mat4 modelViewMatrix;`,`uniform mat4 projectionMatrix;`,`uniform mat4 viewMatrix;`,`uniform mat3 normalMatrix;`,`uniform vec3 cameraPosition;`,`uniform bool isOrthographic;`,`#ifdef USE_INSTANCING`,` attribute mat4 instanceMatrix;`,`#endif`,`#ifdef USE_INSTANCING_COLOR`,` attribute vec3 instanceColor;`,`#endif`,`#ifdef USE_INSTANCING_MORPH`,` uniform sampler2D morphTexture;`,`#endif`,`attribute vec3 position;`,`attribute vec3 normal;`,`attribute vec2 uv;`,`#ifdef USE_UV1`,` attribute vec2 uv1;`,`#endif`,`#ifdef USE_UV2`,` attribute vec2 uv2;`,`#endif`,`#ifdef USE_UV3`,` attribute vec2 uv3;`,`#endif`,`#ifdef USE_TANGENT`,` attribute vec4 tangent;`,`#endif`,`#if defined( USE_COLOR_ALPHA )`,` attribute vec4 color;`,`#elif defined( USE_COLOR )`,` attribute vec3 color;`,`#endif`,`#ifdef USE_SKINNING`,` attribute vec4 skinIndex;`,` attribute vec4 skinWeight;`,`#endif`,` -`].filter(TO).join(` -`),_=[FO(n),`#define SHADER_TYPE `+n.shaderType,`#define SHADER_NAME `+n.shaderName,m,n.useFog&&n.fog?`#define USE_FOG`:``,n.useFog&&n.fogExp2?`#define FOG_EXP2`:``,n.alphaToCoverage?`#define ALPHA_TO_COVERAGE`:``,n.map?`#define USE_MAP`:``,n.matcap?`#define USE_MATCAP`:``,n.envMap?`#define USE_ENVMAP`:``,n.envMap?`#define `+l:``,n.envMap?`#define `+u:``,n.envMap?`#define `+d:``,f?`#define CUBEUV_TEXEL_WIDTH `+f.texelWidth:``,f?`#define CUBEUV_TEXEL_HEIGHT `+f.texelHeight:``,f?`#define CUBEUV_MAX_MIP `+f.maxMip+`.0`:``,n.lightMap?`#define USE_LIGHTMAP`:``,n.aoMap?`#define USE_AOMAP`:``,n.bumpMap?`#define USE_BUMPMAP`:``,n.normalMap?`#define USE_NORMALMAP`:``,n.normalMapObjectSpace?`#define USE_NORMALMAP_OBJECTSPACE`:``,n.normalMapTangentSpace?`#define USE_NORMALMAP_TANGENTSPACE`:``,n.emissiveMap?`#define USE_EMISSIVEMAP`:``,n.anisotropy?`#define USE_ANISOTROPY`:``,n.anisotropyMap?`#define USE_ANISOTROPYMAP`:``,n.clearcoat?`#define USE_CLEARCOAT`:``,n.clearcoatMap?`#define USE_CLEARCOATMAP`:``,n.clearcoatRoughnessMap?`#define USE_CLEARCOAT_ROUGHNESSMAP`:``,n.clearcoatNormalMap?`#define USE_CLEARCOAT_NORMALMAP`:``,n.dispersion?`#define USE_DISPERSION`:``,n.iridescence?`#define USE_IRIDESCENCE`:``,n.iridescenceMap?`#define USE_IRIDESCENCEMAP`:``,n.iridescenceThicknessMap?`#define USE_IRIDESCENCE_THICKNESSMAP`:``,n.specularMap?`#define USE_SPECULARMAP`:``,n.specularColorMap?`#define USE_SPECULAR_COLORMAP`:``,n.specularIntensityMap?`#define USE_SPECULAR_INTENSITYMAP`:``,n.roughnessMap?`#define USE_ROUGHNESSMAP`:``,n.metalnessMap?`#define USE_METALNESSMAP`:``,n.alphaMap?`#define USE_ALPHAMAP`:``,n.alphaTest?`#define USE_ALPHATEST`:``,n.alphaHash?`#define USE_ALPHAHASH`:``,n.sheen?`#define USE_SHEEN`:``,n.sheenColorMap?`#define USE_SHEEN_COLORMAP`:``,n.sheenRoughnessMap?`#define USE_SHEEN_ROUGHNESSMAP`:``,n.transmission?`#define USE_TRANSMISSION`:``,n.transmissionMap?`#define USE_TRANSMISSIONMAP`:``,n.thicknessMap?`#define USE_THICKNESSMAP`:``,n.vertexTangents&&n.flatShading===!1?`#define USE_TANGENT`:``,n.vertexColors||n.instancingColor||n.batchingColor?`#define USE_COLOR`:``,n.vertexAlphas?`#define USE_COLOR_ALPHA`:``,n.vertexUv1s?`#define USE_UV1`:``,n.vertexUv2s?`#define USE_UV2`:``,n.vertexUv3s?`#define USE_UV3`:``,n.pointsUvs?`#define USE_POINTS_UV`:``,n.gradientMap?`#define USE_GRADIENTMAP`:``,n.flatShading?`#define FLAT_SHADED`:``,n.doubleSided?`#define DOUBLE_SIDED`:``,n.flipSided?`#define FLIP_SIDED`:``,n.shadowMapEnabled?`#define USE_SHADOWMAP`:``,n.shadowMapEnabled?`#define `+c:``,n.premultipliedAlpha?`#define PREMULTIPLIED_ALPHA`:``,n.numLightProbes>0?`#define USE_LIGHT_PROBES`:``,n.decodeVideoTexture?`#define DECODE_VIDEO_TEXTURE`:``,n.decodeVideoTextureEmissive?`#define DECODE_VIDEO_TEXTURE_EMISSIVE`:``,n.logarithmicDepthBuffer?`#define USE_LOGDEPTHBUF`:``,n.reverseDepthBuffer?`#define USE_REVERSEDEPTHBUF`:``,`uniform mat4 viewMatrix;`,`uniform vec3 cameraPosition;`,`uniform bool isOrthographic;`,n.toneMapping===0?``:`#define TONE_MAPPING`,n.toneMapping===0?``:yE.tonemapping_pars_fragment,n.toneMapping===0?``:yO(`toneMapping`,n.toneMapping),n.dithering?`#define DITHERING`:``,n.opaque?`#define OPAQUE`:``,yE.colorspace_pars_fragment,vO(`linearToOutputTexel`,n.outputColorSpace),xO(),n.useDepthPacking?`#define DEPTH_PACKING `+n.depthPacking:``,` -`].filter(TO).join(` -`)),o=kO(o),o=EO(o,n),o=DO(o,n),s=kO(s),s=EO(s,n),s=DO(s,n),o=NO(o),s=NO(s),n.isRawShaderMaterial!==!0&&(v=`#version 300 es +`)):(g=[IO(n),`#define SHADER_TYPE `+n.shaderType,`#define SHADER_NAME `+n.shaderName,m,n.extensionClipCullDistance?`#define USE_CLIP_DISTANCE`:``,n.batching?`#define USE_BATCHING`:``,n.batchingColor?`#define USE_BATCHING_COLOR`:``,n.instancing?`#define USE_INSTANCING`:``,n.instancingColor?`#define USE_INSTANCING_COLOR`:``,n.instancingMorph?`#define USE_INSTANCING_MORPH`:``,n.useFog&&n.fog?`#define USE_FOG`:``,n.useFog&&n.fogExp2?`#define FOG_EXP2`:``,n.map?`#define USE_MAP`:``,n.envMap?`#define USE_ENVMAP`:``,n.envMap?`#define `+u:``,n.lightMap?`#define USE_LIGHTMAP`:``,n.aoMap?`#define USE_AOMAP`:``,n.bumpMap?`#define USE_BUMPMAP`:``,n.normalMap?`#define USE_NORMALMAP`:``,n.normalMapObjectSpace?`#define USE_NORMALMAP_OBJECTSPACE`:``,n.normalMapTangentSpace?`#define USE_NORMALMAP_TANGENTSPACE`:``,n.displacementMap?`#define USE_DISPLACEMENTMAP`:``,n.emissiveMap?`#define USE_EMISSIVEMAP`:``,n.anisotropy?`#define USE_ANISOTROPY`:``,n.anisotropyMap?`#define USE_ANISOTROPYMAP`:``,n.clearcoatMap?`#define USE_CLEARCOATMAP`:``,n.clearcoatRoughnessMap?`#define USE_CLEARCOAT_ROUGHNESSMAP`:``,n.clearcoatNormalMap?`#define USE_CLEARCOAT_NORMALMAP`:``,n.iridescenceMap?`#define USE_IRIDESCENCEMAP`:``,n.iridescenceThicknessMap?`#define USE_IRIDESCENCE_THICKNESSMAP`:``,n.specularMap?`#define USE_SPECULARMAP`:``,n.specularColorMap?`#define USE_SPECULAR_COLORMAP`:``,n.specularIntensityMap?`#define USE_SPECULAR_INTENSITYMAP`:``,n.roughnessMap?`#define USE_ROUGHNESSMAP`:``,n.metalnessMap?`#define USE_METALNESSMAP`:``,n.alphaMap?`#define USE_ALPHAMAP`:``,n.alphaHash?`#define USE_ALPHAHASH`:``,n.transmission?`#define USE_TRANSMISSION`:``,n.transmissionMap?`#define USE_TRANSMISSIONMAP`:``,n.thicknessMap?`#define USE_THICKNESSMAP`:``,n.sheenColorMap?`#define USE_SHEEN_COLORMAP`:``,n.sheenRoughnessMap?`#define USE_SHEEN_ROUGHNESSMAP`:``,n.mapUv?`#define MAP_UV `+n.mapUv:``,n.alphaMapUv?`#define ALPHAMAP_UV `+n.alphaMapUv:``,n.lightMapUv?`#define LIGHTMAP_UV `+n.lightMapUv:``,n.aoMapUv?`#define AOMAP_UV `+n.aoMapUv:``,n.emissiveMapUv?`#define EMISSIVEMAP_UV `+n.emissiveMapUv:``,n.bumpMapUv?`#define BUMPMAP_UV `+n.bumpMapUv:``,n.normalMapUv?`#define NORMALMAP_UV `+n.normalMapUv:``,n.displacementMapUv?`#define DISPLACEMENTMAP_UV `+n.displacementMapUv:``,n.metalnessMapUv?`#define METALNESSMAP_UV `+n.metalnessMapUv:``,n.roughnessMapUv?`#define ROUGHNESSMAP_UV `+n.roughnessMapUv:``,n.anisotropyMapUv?`#define ANISOTROPYMAP_UV `+n.anisotropyMapUv:``,n.clearcoatMapUv?`#define CLEARCOATMAP_UV `+n.clearcoatMapUv:``,n.clearcoatNormalMapUv?`#define CLEARCOAT_NORMALMAP_UV `+n.clearcoatNormalMapUv:``,n.clearcoatRoughnessMapUv?`#define CLEARCOAT_ROUGHNESSMAP_UV `+n.clearcoatRoughnessMapUv:``,n.iridescenceMapUv?`#define IRIDESCENCEMAP_UV `+n.iridescenceMapUv:``,n.iridescenceThicknessMapUv?`#define IRIDESCENCE_THICKNESSMAP_UV `+n.iridescenceThicknessMapUv:``,n.sheenColorMapUv?`#define SHEEN_COLORMAP_UV `+n.sheenColorMapUv:``,n.sheenRoughnessMapUv?`#define SHEEN_ROUGHNESSMAP_UV `+n.sheenRoughnessMapUv:``,n.specularMapUv?`#define SPECULARMAP_UV `+n.specularMapUv:``,n.specularColorMapUv?`#define SPECULAR_COLORMAP_UV `+n.specularColorMapUv:``,n.specularIntensityMapUv?`#define SPECULAR_INTENSITYMAP_UV `+n.specularIntensityMapUv:``,n.transmissionMapUv?`#define TRANSMISSIONMAP_UV `+n.transmissionMapUv:``,n.thicknessMapUv?`#define THICKNESSMAP_UV `+n.thicknessMapUv:``,n.vertexTangents&&n.flatShading===!1?`#define USE_TANGENT`:``,n.vertexColors?`#define USE_COLOR`:``,n.vertexAlphas?`#define USE_COLOR_ALPHA`:``,n.vertexUv1s?`#define USE_UV1`:``,n.vertexUv2s?`#define USE_UV2`:``,n.vertexUv3s?`#define USE_UV3`:``,n.pointsUvs?`#define USE_POINTS_UV`:``,n.flatShading?`#define FLAT_SHADED`:``,n.skinning?`#define USE_SKINNING`:``,n.morphTargets?`#define USE_MORPHTARGETS`:``,n.morphNormals&&n.flatShading===!1?`#define USE_MORPHNORMALS`:``,n.morphColors?`#define USE_MORPHCOLORS`:``,n.morphTargetsCount>0?`#define MORPHTARGETS_TEXTURE_STRIDE `+n.morphTextureStride:``,n.morphTargetsCount>0?`#define MORPHTARGETS_COUNT `+n.morphTargetsCount:``,n.doubleSided?`#define DOUBLE_SIDED`:``,n.flipSided?`#define FLIP_SIDED`:``,n.shadowMapEnabled?`#define USE_SHADOWMAP`:``,n.shadowMapEnabled?`#define `+c:``,n.sizeAttenuation?`#define USE_SIZEATTENUATION`:``,n.numLightProbes>0?`#define USE_LIGHT_PROBES`:``,n.logarithmicDepthBuffer?`#define USE_LOGDEPTHBUF`:``,n.reverseDepthBuffer?`#define USE_REVERSEDEPTHBUF`:``,`uniform mat4 modelMatrix;`,`uniform mat4 modelViewMatrix;`,`uniform mat4 projectionMatrix;`,`uniform mat4 viewMatrix;`,`uniform mat3 normalMatrix;`,`uniform vec3 cameraPosition;`,`uniform bool isOrthographic;`,`#ifdef USE_INSTANCING`,` attribute mat4 instanceMatrix;`,`#endif`,`#ifdef USE_INSTANCING_COLOR`,` attribute vec3 instanceColor;`,`#endif`,`#ifdef USE_INSTANCING_MORPH`,` uniform sampler2D morphTexture;`,`#endif`,`attribute vec3 position;`,`attribute vec3 normal;`,`attribute vec2 uv;`,`#ifdef USE_UV1`,` attribute vec2 uv1;`,`#endif`,`#ifdef USE_UV2`,` attribute vec2 uv2;`,`#endif`,`#ifdef USE_UV3`,` attribute vec2 uv3;`,`#endif`,`#ifdef USE_TANGENT`,` attribute vec4 tangent;`,`#endif`,`#if defined( USE_COLOR_ALPHA )`,` attribute vec4 color;`,`#elif defined( USE_COLOR )`,` attribute vec3 color;`,`#endif`,`#ifdef USE_SKINNING`,` attribute vec4 skinIndex;`,` attribute vec4 skinWeight;`,`#endif`,` +`].filter(EO).join(` +`),_=[IO(n),`#define SHADER_TYPE `+n.shaderType,`#define SHADER_NAME `+n.shaderName,m,n.useFog&&n.fog?`#define USE_FOG`:``,n.useFog&&n.fogExp2?`#define FOG_EXP2`:``,n.alphaToCoverage?`#define ALPHA_TO_COVERAGE`:``,n.map?`#define USE_MAP`:``,n.matcap?`#define USE_MATCAP`:``,n.envMap?`#define USE_ENVMAP`:``,n.envMap?`#define `+l:``,n.envMap?`#define `+u:``,n.envMap?`#define `+d:``,f?`#define CUBEUV_TEXEL_WIDTH `+f.texelWidth:``,f?`#define CUBEUV_TEXEL_HEIGHT `+f.texelHeight:``,f?`#define CUBEUV_MAX_MIP `+f.maxMip+`.0`:``,n.lightMap?`#define USE_LIGHTMAP`:``,n.aoMap?`#define USE_AOMAP`:``,n.bumpMap?`#define USE_BUMPMAP`:``,n.normalMap?`#define USE_NORMALMAP`:``,n.normalMapObjectSpace?`#define USE_NORMALMAP_OBJECTSPACE`:``,n.normalMapTangentSpace?`#define USE_NORMALMAP_TANGENTSPACE`:``,n.emissiveMap?`#define USE_EMISSIVEMAP`:``,n.anisotropy?`#define USE_ANISOTROPY`:``,n.anisotropyMap?`#define USE_ANISOTROPYMAP`:``,n.clearcoat?`#define USE_CLEARCOAT`:``,n.clearcoatMap?`#define USE_CLEARCOATMAP`:``,n.clearcoatRoughnessMap?`#define USE_CLEARCOAT_ROUGHNESSMAP`:``,n.clearcoatNormalMap?`#define USE_CLEARCOAT_NORMALMAP`:``,n.dispersion?`#define USE_DISPERSION`:``,n.iridescence?`#define USE_IRIDESCENCE`:``,n.iridescenceMap?`#define USE_IRIDESCENCEMAP`:``,n.iridescenceThicknessMap?`#define USE_IRIDESCENCE_THICKNESSMAP`:``,n.specularMap?`#define USE_SPECULARMAP`:``,n.specularColorMap?`#define USE_SPECULAR_COLORMAP`:``,n.specularIntensityMap?`#define USE_SPECULAR_INTENSITYMAP`:``,n.roughnessMap?`#define USE_ROUGHNESSMAP`:``,n.metalnessMap?`#define USE_METALNESSMAP`:``,n.alphaMap?`#define USE_ALPHAMAP`:``,n.alphaTest?`#define USE_ALPHATEST`:``,n.alphaHash?`#define USE_ALPHAHASH`:``,n.sheen?`#define USE_SHEEN`:``,n.sheenColorMap?`#define USE_SHEEN_COLORMAP`:``,n.sheenRoughnessMap?`#define USE_SHEEN_ROUGHNESSMAP`:``,n.transmission?`#define USE_TRANSMISSION`:``,n.transmissionMap?`#define USE_TRANSMISSIONMAP`:``,n.thicknessMap?`#define USE_THICKNESSMAP`:``,n.vertexTangents&&n.flatShading===!1?`#define USE_TANGENT`:``,n.vertexColors||n.instancingColor||n.batchingColor?`#define USE_COLOR`:``,n.vertexAlphas?`#define USE_COLOR_ALPHA`:``,n.vertexUv1s?`#define USE_UV1`:``,n.vertexUv2s?`#define USE_UV2`:``,n.vertexUv3s?`#define USE_UV3`:``,n.pointsUvs?`#define USE_POINTS_UV`:``,n.gradientMap?`#define USE_GRADIENTMAP`:``,n.flatShading?`#define FLAT_SHADED`:``,n.doubleSided?`#define DOUBLE_SIDED`:``,n.flipSided?`#define FLIP_SIDED`:``,n.shadowMapEnabled?`#define USE_SHADOWMAP`:``,n.shadowMapEnabled?`#define `+c:``,n.premultipliedAlpha?`#define PREMULTIPLIED_ALPHA`:``,n.numLightProbes>0?`#define USE_LIGHT_PROBES`:``,n.decodeVideoTexture?`#define DECODE_VIDEO_TEXTURE`:``,n.decodeVideoTextureEmissive?`#define DECODE_VIDEO_TEXTURE_EMISSIVE`:``,n.logarithmicDepthBuffer?`#define USE_LOGDEPTHBUF`:``,n.reverseDepthBuffer?`#define USE_REVERSEDEPTHBUF`:``,`uniform mat4 viewMatrix;`,`uniform vec3 cameraPosition;`,`uniform bool isOrthographic;`,n.toneMapping===0?``:`#define TONE_MAPPING`,n.toneMapping===0?``:bE.tonemapping_pars_fragment,n.toneMapping===0?``:bO(`toneMapping`,n.toneMapping),n.dithering?`#define DITHERING`:``,n.opaque?`#define OPAQUE`:``,bE.colorspace_pars_fragment,yO(`linearToOutputTexel`,n.outputColorSpace),SO(),n.useDepthPacking?`#define DEPTH_PACKING `+n.depthPacking:``,` +`].filter(EO).join(` +`)),o=AO(o),o=DO(o,n),o=OO(o,n),s=AO(s),s=DO(s,n),s=OO(s,n),o=PO(o),s=PO(s),n.isRawShaderMaterial!==!0&&(v=`#version 300 es `,g=[p,`#define attribute in`,`#define varying out`,`#define texture2D texture`].join(` `)+` `+g,_=[`#define varying in`,n.glslVersion===`300 es`?``:`layout(location = 0) out highp vec4 pc_fragColor;`,n.glslVersion===`300 es`?``:`#define gl_FragColor pc_fragColor`,`#define gl_FragDepthEXT gl_FragDepth`,`#define texture2D texture`,`#define textureCube texture`,`#define texture2DProj textureProj`,`#define texture2DLodEXT textureLod`,`#define texture2DProjLodEXT textureProjLod`,`#define textureCubeLodEXT textureLod`,`#define texture2DGradEXT textureGrad`,`#define texture2DProjGradEXT textureProjGrad`,`#define textureCubeGradEXT textureGrad`].join(` `)+` -`+_);let y=v+g+o,b=v+_+s,x=dO(i,i.VERTEX_SHADER,y),S=dO(i,i.FRAGMENT_SHADER,b);i.attachShader(h,x),i.attachShader(h,S),n.index0AttributeName===void 0?n.morphTargets===!0&&i.bindAttribLocation(h,0,`position`):i.bindAttribLocation(h,0,n.index0AttributeName),i.linkProgram(h);function C(t){if(e.debug.checkShaderErrors){let n=i.getProgramInfoLog(h).trim(),r=i.getShaderInfoLog(x).trim(),a=i.getShaderInfoLog(S).trim(),o=!0,s=!0;if(i.getProgramParameter(h,i.LINK_STATUS)===!1)if(o=!1,typeof e.debug.onShaderError==`function`)e.debug.onShaderError(i,h,x,S);else{let e=_O(i,x,`vertex`),r=_O(i,S,`fragment`);console.error(`THREE.WebGLProgram: Shader Error `+i.getError()+` - VALIDATE_STATUS `+i.getProgramParameter(h,i.VALIDATE_STATUS)+` +`+_);let y=v+g+o,b=v+_+s,x=fO(i,i.VERTEX_SHADER,y),S=fO(i,i.FRAGMENT_SHADER,b);i.attachShader(h,x),i.attachShader(h,S),n.index0AttributeName===void 0?n.morphTargets===!0&&i.bindAttribLocation(h,0,`position`):i.bindAttribLocation(h,0,n.index0AttributeName),i.linkProgram(h);function C(t){if(e.debug.checkShaderErrors){let n=i.getProgramInfoLog(h).trim(),r=i.getShaderInfoLog(x).trim(),a=i.getShaderInfoLog(S).trim(),o=!0,s=!0;if(i.getProgramParameter(h,i.LINK_STATUS)===!1)if(o=!1,typeof e.debug.onShaderError==`function`)e.debug.onShaderError(i,h,x,S);else{let e=vO(i,x,`vertex`),r=vO(i,S,`fragment`);console.error(`THREE.WebGLProgram: Shader Error `+i.getError()+` - VALIDATE_STATUS `+i.getProgramParameter(h,i.VALIDATE_STATUS)+` Material Name: `+t.name+` Material Type: `+t.type+` Program Info Log: `+n+` `+e+` -`+r)}else n===``?(r===``||a===``)&&(s=!1):console.warn(`THREE.WebGLProgram: Program Info Log:`,n);s&&(t.diagnostics={runnable:o,programLog:n,vertexShader:{log:r,prefix:g},fragmentShader:{log:a,prefix:_}})}i.deleteShader(x),i.deleteShader(S),w=new uO(i,h),T=wO(i,h)}let w;this.getUniforms=function(){return w===void 0&&C(this),w};let T;this.getAttributes=function(){return T===void 0&&C(this),T};let E=n.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return E===!1&&(E=i.getProgramParameter(h,fO)),E},this.destroy=function(){r.releaseStatesOfProgram(this),i.deleteProgram(h),this.program=void 0},this.type=n.shaderType,this.name=n.shaderName,this.id=pO++,this.cacheKey=t,this.usedTimes=1,this.program=h,this.vertexShader=x,this.fragmentShader=S,this}var HO=0,UO=class{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){let t=e.vertexShader,n=e.fragmentShader,r=this._getShaderStage(t),i=this._getShaderStage(n),a=this._getShaderCacheForMaterial(e);return a.has(r)===!1&&(a.add(r),r.usedTimes++),a.has(i)===!1&&(a.add(i),i.usedTimes++),this}remove(e){let t=this.materialCache.get(e);for(let e of t)e.usedTimes--,e.usedTimes===0&&this.shaderCache.delete(e.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){let t=this.materialCache,n=t.get(e);return n===void 0&&(n=new Set,t.set(e,n)),n}_getShaderStage(e){let t=this.shaderCache,n=t.get(e);return n===void 0&&(n=new WO(e),t.set(e,n)),n}},WO=class{constructor(e){this.id=HO++,this.code=e,this.usedTimes=0}};function GO(e,t,n,r,i,a,o){let s=new yS,c=new UO,l=new Set,u=[],d=i.logarithmicDepthBuffer,f=i.vertexTextures,p=i.precision,m={MeshDepthMaterial:`depth`,MeshDistanceMaterial:`distanceRGBA`,MeshNormalMaterial:`normal`,MeshBasicMaterial:`basic`,MeshLambertMaterial:`lambert`,MeshPhongMaterial:`phong`,MeshToonMaterial:`toon`,MeshStandardMaterial:`physical`,MeshPhysicalMaterial:`physical`,MeshMatcapMaterial:`matcap`,LineBasicMaterial:`basic`,LineDashedMaterial:`dashed`,PointsMaterial:`points`,ShadowMaterial:`shadow`,SpriteMaterial:`sprite`};function h(e){return l.add(e),e===0?`uv`:`uv${e}`}function g(a,s,u,g,_){let v=g.fog,y=_.geometry,b=a.isMeshStandardMaterial?g.environment:null,x=(a.isMeshStandardMaterial?n:t).get(a.envMap||b),S=x&&x.mapping===306?x.image.height:null,C=m[a.type];a.precision!==null&&(p=i.getMaxPrecision(a.precision),p!==a.precision&&console.warn(`THREE.WebGLProgram.getParameters:`,a.precision,`not supported, using`,p,`instead.`));let w=y.morphAttributes.position||y.morphAttributes.normal||y.morphAttributes.color,T=w===void 0?0:w.length,E=0;y.morphAttributes.position!==void 0&&(E=1),y.morphAttributes.normal!==void 0&&(E=2),y.morphAttributes.color!==void 0&&(E=3);let D,O,k,A;if(C){let e=bE[C];D=e.vertexShader,O=e.fragmentShader}else D=a.vertexShader,O=a.fragmentShader,c.update(a),k=c.getVertexShaderID(a),A=c.getFragmentShaderID(a);let j=e.getRenderTarget(),M=e.state.buffers.depth.getReversed(),N=_.isInstancedMesh===!0,P=_.isBatchedMesh===!0,F=!!a.map,ee=!!a.matcap,te=!!x,I=!!a.aoMap,ne=!!a.lightMap,re=!!a.bumpMap,ie=!!a.normalMap,ae=!!a.displacementMap,oe=!!a.emissiveMap,se=!!a.metalnessMap,ce=!!a.roughnessMap,le=a.anisotropy>0,ue=a.clearcoat>0,de=a.dispersion>0,L=a.iridescence>0,fe=a.sheen>0,pe=a.transmission>0,me=le&&!!a.anisotropyMap,R=ue&&!!a.clearcoatMap,he=ue&&!!a.clearcoatNormalMap,z=ue&&!!a.clearcoatRoughnessMap,ge=L&&!!a.iridescenceMap,_e=L&&!!a.iridescenceThicknessMap,ve=fe&&!!a.sheenColorMap,ye=fe&&!!a.sheenRoughnessMap,be=!!a.specularMap,xe=!!a.specularColorMap,Se=!!a.specularIntensityMap,Ce=pe&&!!a.transmissionMap,we=pe&&!!a.thicknessMap,Te=!!a.gradientMap,Ee=!!a.alphaMap,De=a.alphaTest>0,Oe=!!a.alphaHash,ke=!!a.extensions,Ae=0;a.toneMapped&&(j===null||j.isXRRenderTarget===!0)&&(Ae=e.toneMapping);let je={shaderID:C,shaderType:a.type,shaderName:a.name,vertexShader:D,fragmentShader:O,defines:a.defines,customVertexShaderID:k,customFragmentShaderID:A,isRawShaderMaterial:a.isRawShaderMaterial===!0,glslVersion:a.glslVersion,precision:p,batching:P,batchingColor:P&&_._colorsTexture!==null,instancing:N,instancingColor:N&&_.instanceColor!==null,instancingMorph:N&&_.morphTexture!==null,supportsVertexTextures:f,outputColorSpace:j===null?e.outputColorSpace:j.isXRRenderTarget===!0?j.texture.colorSpace:Cb,alphaToCoverage:!!a.alphaToCoverage,map:F,matcap:ee,envMap:te,envMapMode:te&&x.mapping,envMapCubeUVHeight:S,aoMap:I,lightMap:ne,bumpMap:re,normalMap:ie,displacementMap:f&&ae,emissiveMap:oe,normalMapObjectSpace:ie&&a.normalMapType===1,normalMapTangentSpace:ie&&a.normalMapType===0,metalnessMap:se,roughnessMap:ce,anisotropy:le,anisotropyMap:me,clearcoat:ue,clearcoatMap:R,clearcoatNormalMap:he,clearcoatRoughnessMap:z,dispersion:de,iridescence:L,iridescenceMap:ge,iridescenceThicknessMap:_e,sheen:fe,sheenColorMap:ve,sheenRoughnessMap:ye,specularMap:be,specularColorMap:xe,specularIntensityMap:Se,transmission:pe,transmissionMap:Ce,thicknessMap:we,gradientMap:Te,opaque:a.transparent===!1&&a.blending===1&&a.alphaToCoverage===!1,alphaMap:Ee,alphaTest:De,alphaHash:Oe,combine:a.combine,mapUv:F&&h(a.map.channel),aoMapUv:I&&h(a.aoMap.channel),lightMapUv:ne&&h(a.lightMap.channel),bumpMapUv:re&&h(a.bumpMap.channel),normalMapUv:ie&&h(a.normalMap.channel),displacementMapUv:ae&&h(a.displacementMap.channel),emissiveMapUv:oe&&h(a.emissiveMap.channel),metalnessMapUv:se&&h(a.metalnessMap.channel),roughnessMapUv:ce&&h(a.roughnessMap.channel),anisotropyMapUv:me&&h(a.anisotropyMap.channel),clearcoatMapUv:R&&h(a.clearcoatMap.channel),clearcoatNormalMapUv:he&&h(a.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:z&&h(a.clearcoatRoughnessMap.channel),iridescenceMapUv:ge&&h(a.iridescenceMap.channel),iridescenceThicknessMapUv:_e&&h(a.iridescenceThicknessMap.channel),sheenColorMapUv:ve&&h(a.sheenColorMap.channel),sheenRoughnessMapUv:ye&&h(a.sheenRoughnessMap.channel),specularMapUv:be&&h(a.specularMap.channel),specularColorMapUv:xe&&h(a.specularColorMap.channel),specularIntensityMapUv:Se&&h(a.specularIntensityMap.channel),transmissionMapUv:Ce&&h(a.transmissionMap.channel),thicknessMapUv:we&&h(a.thicknessMap.channel),alphaMapUv:Ee&&h(a.alphaMap.channel),vertexTangents:!!y.attributes.tangent&&(ie||le),vertexColors:a.vertexColors,vertexAlphas:a.vertexColors===!0&&!!y.attributes.color&&y.attributes.color.itemSize===4,pointsUvs:_.isPoints===!0&&!!y.attributes.uv&&(F||Ee),fog:!!v,useFog:a.fog===!0,fogExp2:!!v&&v.isFogExp2,flatShading:a.flatShading===!0,sizeAttenuation:a.sizeAttenuation===!0,logarithmicDepthBuffer:d,reverseDepthBuffer:M,skinning:_.isSkinnedMesh===!0,morphTargets:y.morphAttributes.position!==void 0,morphNormals:y.morphAttributes.normal!==void 0,morphColors:y.morphAttributes.color!==void 0,morphTargetsCount:T,morphTextureStride:E,numDirLights:s.directional.length,numPointLights:s.point.length,numSpotLights:s.spot.length,numSpotLightMaps:s.spotLightMap.length,numRectAreaLights:s.rectArea.length,numHemiLights:s.hemi.length,numDirLightShadows:s.directionalShadowMap.length,numPointLightShadows:s.pointShadowMap.length,numSpotLightShadows:s.spotShadowMap.length,numSpotLightShadowsWithMaps:s.numSpotLightShadowsWithMaps,numLightProbes:s.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:a.dithering,shadowMapEnabled:e.shadowMap.enabled&&u.length>0,shadowMapType:e.shadowMap.type,toneMapping:Ae,decodeVideoTexture:F&&a.map.isVideoTexture===!0&&bx.getTransfer(a.map.colorSpace)===`srgb`,decodeVideoTextureEmissive:oe&&a.emissiveMap.isVideoTexture===!0&&bx.getTransfer(a.emissiveMap.colorSpace)===`srgb`,premultipliedAlpha:a.premultipliedAlpha,doubleSided:a.side===2,flipSided:a.side===1,useDepthPacking:a.depthPacking>=0,depthPacking:a.depthPacking||0,index0AttributeName:a.index0AttributeName,extensionClipCullDistance:ke&&a.extensions.clipCullDistance===!0&&r.has(`WEBGL_clip_cull_distance`),extensionMultiDraw:(ke&&a.extensions.multiDraw===!0||P)&&r.has(`WEBGL_multi_draw`),rendererExtensionParallelShaderCompile:r.has(`KHR_parallel_shader_compile`),customProgramCacheKey:a.customProgramCacheKey()};return je.vertexUv1s=l.has(1),je.vertexUv2s=l.has(2),je.vertexUv3s=l.has(3),l.clear(),je}function _(t){let n=[];if(t.shaderID?n.push(t.shaderID):(n.push(t.customVertexShaderID),n.push(t.customFragmentShaderID)),t.defines!==void 0)for(let e in t.defines)n.push(e),n.push(t.defines[e]);return t.isRawShaderMaterial===!1&&(v(n,t),y(n,t),n.push(e.outputColorSpace)),n.push(t.customProgramCacheKey),n.join()}function v(e,t){e.push(t.precision),e.push(t.outputColorSpace),e.push(t.envMapMode),e.push(t.envMapCubeUVHeight),e.push(t.mapUv),e.push(t.alphaMapUv),e.push(t.lightMapUv),e.push(t.aoMapUv),e.push(t.bumpMapUv),e.push(t.normalMapUv),e.push(t.displacementMapUv),e.push(t.emissiveMapUv),e.push(t.metalnessMapUv),e.push(t.roughnessMapUv),e.push(t.anisotropyMapUv),e.push(t.clearcoatMapUv),e.push(t.clearcoatNormalMapUv),e.push(t.clearcoatRoughnessMapUv),e.push(t.iridescenceMapUv),e.push(t.iridescenceThicknessMapUv),e.push(t.sheenColorMapUv),e.push(t.sheenRoughnessMapUv),e.push(t.specularMapUv),e.push(t.specularColorMapUv),e.push(t.specularIntensityMapUv),e.push(t.transmissionMapUv),e.push(t.thicknessMapUv),e.push(t.combine),e.push(t.fogExp2),e.push(t.sizeAttenuation),e.push(t.morphTargetsCount),e.push(t.morphAttributeCount),e.push(t.numDirLights),e.push(t.numPointLights),e.push(t.numSpotLights),e.push(t.numSpotLightMaps),e.push(t.numHemiLights),e.push(t.numRectAreaLights),e.push(t.numDirLightShadows),e.push(t.numPointLightShadows),e.push(t.numSpotLightShadows),e.push(t.numSpotLightShadowsWithMaps),e.push(t.numLightProbes),e.push(t.shadowMapType),e.push(t.toneMapping),e.push(t.numClippingPlanes),e.push(t.numClipIntersection),e.push(t.depthPacking)}function y(e,t){s.disableAll(),t.supportsVertexTextures&&s.enable(0),t.instancing&&s.enable(1),t.instancingColor&&s.enable(2),t.instancingMorph&&s.enable(3),t.matcap&&s.enable(4),t.envMap&&s.enable(5),t.normalMapObjectSpace&&s.enable(6),t.normalMapTangentSpace&&s.enable(7),t.clearcoat&&s.enable(8),t.iridescence&&s.enable(9),t.alphaTest&&s.enable(10),t.vertexColors&&s.enable(11),t.vertexAlphas&&s.enable(12),t.vertexUv1s&&s.enable(13),t.vertexUv2s&&s.enable(14),t.vertexUv3s&&s.enable(15),t.vertexTangents&&s.enable(16),t.anisotropy&&s.enable(17),t.alphaHash&&s.enable(18),t.batching&&s.enable(19),t.dispersion&&s.enable(20),t.batchingColor&&s.enable(21),e.push(s.mask),s.disableAll(),t.fog&&s.enable(0),t.useFog&&s.enable(1),t.flatShading&&s.enable(2),t.logarithmicDepthBuffer&&s.enable(3),t.reverseDepthBuffer&&s.enable(4),t.skinning&&s.enable(5),t.morphTargets&&s.enable(6),t.morphNormals&&s.enable(7),t.morphColors&&s.enable(8),t.premultipliedAlpha&&s.enable(9),t.shadowMapEnabled&&s.enable(10),t.doubleSided&&s.enable(11),t.flipSided&&s.enable(12),t.useDepthPacking&&s.enable(13),t.dithering&&s.enable(14),t.transmission&&s.enable(15),t.sheen&&s.enable(16),t.opaque&&s.enable(17),t.pointsUvs&&s.enable(18),t.decodeVideoTexture&&s.enable(19),t.decodeVideoTextureEmissive&&s.enable(20),t.alphaToCoverage&&s.enable(21),e.push(s.mask)}function b(e){let t=m[e.type],n;if(t){let e=bE[t];n=ete.clone(e.uniforms)}else n=e.uniforms;return n}function x(t,n){let r;for(let e=0,t=u.length;e0?r.push(u):a.transparent===!0?i.push(u):n.push(u)}function c(e,t,a,s,c,l){let u=o(e,t,a,s,c,l);a.transmission>0?r.unshift(u):a.transparent===!0?i.unshift(u):n.unshift(u)}function l(e,t){n.length>1&&n.sort(e||qO),r.length>1&&r.sort(t||JO),i.length>1&&i.sort(t||JO)}function u(){for(let n=t,r=e.length;n=r.length?(i=new YO,r.push(i)):i=r[n],i}function n(){e=new WeakMap}return{get:t,dispose:n}}function ZO(){let e={};return{get:function(t){if(e[t.id]!==void 0)return e[t.id];let n;switch(t.type){case`DirectionalLight`:n={direction:new J,color:new X};break;case`SpotLight`:n={position:new J,direction:new J,color:new X,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case`PointLight`:n={position:new J,color:new X,distance:0,decay:0};break;case`HemisphereLight`:n={direction:new J,skyColor:new X,groundColor:new X};break;case`RectAreaLight`:n={color:new X,position:new J,halfWidth:new J,halfHeight:new J};break}return e[t.id]=n,n}}}function QO(){let e={};return{get:function(t){if(e[t.id]!==void 0)return e[t.id];let n;switch(t.type){case`DirectionalLight`:n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new rx};break;case`SpotLight`:n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new rx};break;case`PointLight`:n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new rx,shadowCameraNear:1,shadowCameraFar:1e3};break}return e[t.id]=n,n}}}var $O=0;function ek(e,t){return(t.castShadow?2:0)-(e.castShadow?2:0)+ +!!t.map-!!e.map}function tk(e){let t=new ZO,n=QO(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let e=0;e<9;e++)r.probe.push(new J);let i=new J,a=new Y,o=new Y;function s(i){let a=0,o=0,s=0;for(let e=0;e<9;e++)r.probe[e].set(0,0,0);let c=0,l=0,u=0,d=0,f=0,p=0,m=0,h=0,g=0,_=0,v=0;i.sort(ek);for(let e=0,y=i.length;e0&&(e.has(`OES_texture_float_linear`)===!0?(r.rectAreaLTC1=Z.LTC_FLOAT_1,r.rectAreaLTC2=Z.LTC_FLOAT_2):(r.rectAreaLTC1=Z.LTC_HALF_1,r.rectAreaLTC2=Z.LTC_HALF_2)),r.ambient[0]=a,r.ambient[1]=o,r.ambient[2]=s;let y=r.hash;(y.directionalLength!==c||y.pointLength!==l||y.spotLength!==u||y.rectAreaLength!==d||y.hemiLength!==f||y.numDirectionalShadows!==p||y.numPointShadows!==m||y.numSpotShadows!==h||y.numSpotMaps!==g||y.numLightProbes!==v)&&(r.directional.length=c,r.spot.length=u,r.rectArea.length=d,r.point.length=l,r.hemi.length=f,r.directionalShadow.length=p,r.directionalShadowMap.length=p,r.pointShadow.length=m,r.pointShadowMap.length=m,r.spotShadow.length=h,r.spotShadowMap.length=h,r.directionalShadowMatrix.length=p,r.pointShadowMatrix.length=m,r.spotLightMatrix.length=h+g-_,r.spotLightMap.length=g,r.numSpotLightShadowsWithMaps=_,r.numLightProbes=v,y.directionalLength=c,y.pointLength=l,y.spotLength=u,y.rectAreaLength=d,y.hemiLength=f,y.numDirectionalShadows=p,y.numPointShadows=m,y.numSpotShadows=h,y.numSpotMaps=g,y.numLightProbes=v,r.version=$O++)}function c(e,t){let n=0,s=0,c=0,l=0,u=0,d=t.matrixWorldInverse;for(let t=0,f=e.length;t=i.length?(a=new nk(e),i.push(a)):a=i[r],a}function r(){t=new WeakMap}return{get:n,dispose:r}}var ik=`void main() { +`+r)}else n===``?(r===``||a===``)&&(s=!1):console.warn(`THREE.WebGLProgram: Program Info Log:`,n);s&&(t.diagnostics={runnable:o,programLog:n,vertexShader:{log:r,prefix:g},fragmentShader:{log:a,prefix:_}})}i.deleteShader(x),i.deleteShader(S),w=new dO(i,h),T=TO(i,h)}let w;this.getUniforms=function(){return w===void 0&&C(this),w};let T;this.getAttributes=function(){return T===void 0&&C(this),T};let E=n.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return E===!1&&(E=i.getProgramParameter(h,pO)),E},this.destroy=function(){r.releaseStatesOfProgram(this),i.deleteProgram(h),this.program=void 0},this.type=n.shaderType,this.name=n.shaderName,this.id=mO++,this.cacheKey=t,this.usedTimes=1,this.program=h,this.vertexShader=x,this.fragmentShader=S,this}var UO=0,WO=class{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){let t=e.vertexShader,n=e.fragmentShader,r=this._getShaderStage(t),i=this._getShaderStage(n),a=this._getShaderCacheForMaterial(e);return a.has(r)===!1&&(a.add(r),r.usedTimes++),a.has(i)===!1&&(a.add(i),i.usedTimes++),this}remove(e){let t=this.materialCache.get(e);for(let e of t)e.usedTimes--,e.usedTimes===0&&this.shaderCache.delete(e.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){let t=this.materialCache,n=t.get(e);return n===void 0&&(n=new Set,t.set(e,n)),n}_getShaderStage(e){let t=this.shaderCache,n=t.get(e);return n===void 0&&(n=new GO(e),t.set(e,n)),n}},GO=class{constructor(e){this.id=UO++,this.code=e,this.usedTimes=0}};function KO(e,t,n,r,i,a,o){let s=new mS,c=new WO,l=new Set,u=[],d=i.logarithmicDepthBuffer,f=i.vertexTextures,p=i.precision,m={MeshDepthMaterial:`depth`,MeshDistanceMaterial:`distanceRGBA`,MeshNormalMaterial:`normal`,MeshBasicMaterial:`basic`,MeshLambertMaterial:`lambert`,MeshPhongMaterial:`phong`,MeshToonMaterial:`toon`,MeshStandardMaterial:`physical`,MeshPhysicalMaterial:`physical`,MeshMatcapMaterial:`matcap`,LineBasicMaterial:`basic`,LineDashedMaterial:`dashed`,PointsMaterial:`points`,ShadowMaterial:`shadow`,SpriteMaterial:`sprite`};function h(e){return l.add(e),e===0?`uv`:`uv${e}`}function g(a,s,u,g,_){let v=g.fog,y=_.geometry,b=a.isMeshStandardMaterial?g.environment:null,x=(a.isMeshStandardMaterial?n:t).get(a.envMap||b),S=x&&x.mapping===306?x.image.height:null,C=m[a.type];a.precision!==null&&(p=i.getMaxPrecision(a.precision),p!==a.precision&&console.warn(`THREE.WebGLProgram.getParameters:`,a.precision,`not supported, using`,p,`instead.`));let w=y.morphAttributes.position||y.morphAttributes.normal||y.morphAttributes.color,T=w===void 0?0:w.length,E=0;y.morphAttributes.position!==void 0&&(E=1),y.morphAttributes.normal!==void 0&&(E=2),y.morphAttributes.color!==void 0&&(E=3);let D,O,k,A;if(C){let e=xE[C];D=e.vertexShader,O=e.fragmentShader}else D=a.vertexShader,O=a.fragmentShader,c.update(a),k=c.getVertexShaderID(a),A=c.getFragmentShaderID(a);let j=e.getRenderTarget(),M=e.state.buffers.depth.getReversed(),N=_.isInstancedMesh===!0,P=_.isBatchedMesh===!0,F=!!a.map,ee=!!a.matcap,te=!!x,I=!!a.aoMap,ne=!!a.lightMap,re=!!a.bumpMap,ie=!!a.normalMap,ae=!!a.displacementMap,oe=!!a.emissiveMap,se=!!a.metalnessMap,ce=!!a.roughnessMap,le=a.anisotropy>0,ue=a.clearcoat>0,de=a.dispersion>0,L=a.iridescence>0,fe=a.sheen>0,pe=a.transmission>0,me=le&&!!a.anisotropyMap,R=ue&&!!a.clearcoatMap,he=ue&&!!a.clearcoatNormalMap,z=ue&&!!a.clearcoatRoughnessMap,ge=L&&!!a.iridescenceMap,_e=L&&!!a.iridescenceThicknessMap,ve=fe&&!!a.sheenColorMap,ye=fe&&!!a.sheenRoughnessMap,be=!!a.specularMap,xe=!!a.specularColorMap,Se=!!a.specularIntensityMap,Ce=pe&&!!a.transmissionMap,we=pe&&!!a.thicknessMap,Te=!!a.gradientMap,Ee=!!a.alphaMap,De=a.alphaTest>0,Oe=!!a.alphaHash,ke=!!a.extensions,Ae=0;a.toneMapped&&(j===null||j.isXRRenderTarget===!0)&&(Ae=e.toneMapping);let je={shaderID:C,shaderType:a.type,shaderName:a.name,vertexShader:D,fragmentShader:O,defines:a.defines,customVertexShaderID:k,customFragmentShaderID:A,isRawShaderMaterial:a.isRawShaderMaterial===!0,glslVersion:a.glslVersion,precision:p,batching:P,batchingColor:P&&_._colorsTexture!==null,instancing:N,instancingColor:N&&_.instanceColor!==null,instancingMorph:N&&_.morphTexture!==null,supportsVertexTextures:f,outputColorSpace:j===null?e.outputColorSpace:j.isXRRenderTarget===!0?j.texture.colorSpace:Sb,alphaToCoverage:!!a.alphaToCoverage,map:F,matcap:ee,envMap:te,envMapMode:te&&x.mapping,envMapCubeUVHeight:S,aoMap:I,lightMap:ne,bumpMap:re,normalMap:ie,displacementMap:f&&ae,emissiveMap:oe,normalMapObjectSpace:ie&&a.normalMapType===1,normalMapTangentSpace:ie&&a.normalMapType===0,metalnessMap:se,roughnessMap:ce,anisotropy:le,anisotropyMap:me,clearcoat:ue,clearcoatMap:R,clearcoatNormalMap:he,clearcoatRoughnessMap:z,dispersion:de,iridescence:L,iridescenceMap:ge,iridescenceThicknessMap:_e,sheen:fe,sheenColorMap:ve,sheenRoughnessMap:ye,specularMap:be,specularColorMap:xe,specularIntensityMap:Se,transmission:pe,transmissionMap:Ce,thicknessMap:we,gradientMap:Te,opaque:a.transparent===!1&&a.blending===1&&a.alphaToCoverage===!1,alphaMap:Ee,alphaTest:De,alphaHash:Oe,combine:a.combine,mapUv:F&&h(a.map.channel),aoMapUv:I&&h(a.aoMap.channel),lightMapUv:ne&&h(a.lightMap.channel),bumpMapUv:re&&h(a.bumpMap.channel),normalMapUv:ie&&h(a.normalMap.channel),displacementMapUv:ae&&h(a.displacementMap.channel),emissiveMapUv:oe&&h(a.emissiveMap.channel),metalnessMapUv:se&&h(a.metalnessMap.channel),roughnessMapUv:ce&&h(a.roughnessMap.channel),anisotropyMapUv:me&&h(a.anisotropyMap.channel),clearcoatMapUv:R&&h(a.clearcoatMap.channel),clearcoatNormalMapUv:he&&h(a.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:z&&h(a.clearcoatRoughnessMap.channel),iridescenceMapUv:ge&&h(a.iridescenceMap.channel),iridescenceThicknessMapUv:_e&&h(a.iridescenceThicknessMap.channel),sheenColorMapUv:ve&&h(a.sheenColorMap.channel),sheenRoughnessMapUv:ye&&h(a.sheenRoughnessMap.channel),specularMapUv:be&&h(a.specularMap.channel),specularColorMapUv:xe&&h(a.specularColorMap.channel),specularIntensityMapUv:Se&&h(a.specularIntensityMap.channel),transmissionMapUv:Ce&&h(a.transmissionMap.channel),thicknessMapUv:we&&h(a.thicknessMap.channel),alphaMapUv:Ee&&h(a.alphaMap.channel),vertexTangents:!!y.attributes.tangent&&(ie||le),vertexColors:a.vertexColors,vertexAlphas:a.vertexColors===!0&&!!y.attributes.color&&y.attributes.color.itemSize===4,pointsUvs:_.isPoints===!0&&!!y.attributes.uv&&(F||Ee),fog:!!v,useFog:a.fog===!0,fogExp2:!!v&&v.isFogExp2,flatShading:a.flatShading===!0,sizeAttenuation:a.sizeAttenuation===!0,logarithmicDepthBuffer:d,reverseDepthBuffer:M,skinning:_.isSkinnedMesh===!0,morphTargets:y.morphAttributes.position!==void 0,morphNormals:y.morphAttributes.normal!==void 0,morphColors:y.morphAttributes.color!==void 0,morphTargetsCount:T,morphTextureStride:E,numDirLights:s.directional.length,numPointLights:s.point.length,numSpotLights:s.spot.length,numSpotLightMaps:s.spotLightMap.length,numRectAreaLights:s.rectArea.length,numHemiLights:s.hemi.length,numDirLightShadows:s.directionalShadowMap.length,numPointLightShadows:s.pointShadowMap.length,numSpotLightShadows:s.spotShadowMap.length,numSpotLightShadowsWithMaps:s.numSpotLightShadowsWithMaps,numLightProbes:s.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:a.dithering,shadowMapEnabled:e.shadowMap.enabled&&u.length>0,shadowMapType:e.shadowMap.type,toneMapping:Ae,decodeVideoTexture:F&&a.map.isVideoTexture===!0&&yx.getTransfer(a.map.colorSpace)===`srgb`,decodeVideoTextureEmissive:oe&&a.emissiveMap.isVideoTexture===!0&&yx.getTransfer(a.emissiveMap.colorSpace)===`srgb`,premultipliedAlpha:a.premultipliedAlpha,doubleSided:a.side===2,flipSided:a.side===1,useDepthPacking:a.depthPacking>=0,depthPacking:a.depthPacking||0,index0AttributeName:a.index0AttributeName,extensionClipCullDistance:ke&&a.extensions.clipCullDistance===!0&&r.has(`WEBGL_clip_cull_distance`),extensionMultiDraw:(ke&&a.extensions.multiDraw===!0||P)&&r.has(`WEBGL_multi_draw`),rendererExtensionParallelShaderCompile:r.has(`KHR_parallel_shader_compile`),customProgramCacheKey:a.customProgramCacheKey()};return je.vertexUv1s=l.has(1),je.vertexUv2s=l.has(2),je.vertexUv3s=l.has(3),l.clear(),je}function _(t){let n=[];if(t.shaderID?n.push(t.shaderID):(n.push(t.customVertexShaderID),n.push(t.customFragmentShaderID)),t.defines!==void 0)for(let e in t.defines)n.push(e),n.push(t.defines[e]);return t.isRawShaderMaterial===!1&&(v(n,t),y(n,t),n.push(e.outputColorSpace)),n.push(t.customProgramCacheKey),n.join()}function v(e,t){e.push(t.precision),e.push(t.outputColorSpace),e.push(t.envMapMode),e.push(t.envMapCubeUVHeight),e.push(t.mapUv),e.push(t.alphaMapUv),e.push(t.lightMapUv),e.push(t.aoMapUv),e.push(t.bumpMapUv),e.push(t.normalMapUv),e.push(t.displacementMapUv),e.push(t.emissiveMapUv),e.push(t.metalnessMapUv),e.push(t.roughnessMapUv),e.push(t.anisotropyMapUv),e.push(t.clearcoatMapUv),e.push(t.clearcoatNormalMapUv),e.push(t.clearcoatRoughnessMapUv),e.push(t.iridescenceMapUv),e.push(t.iridescenceThicknessMapUv),e.push(t.sheenColorMapUv),e.push(t.sheenRoughnessMapUv),e.push(t.specularMapUv),e.push(t.specularColorMapUv),e.push(t.specularIntensityMapUv),e.push(t.transmissionMapUv),e.push(t.thicknessMapUv),e.push(t.combine),e.push(t.fogExp2),e.push(t.sizeAttenuation),e.push(t.morphTargetsCount),e.push(t.morphAttributeCount),e.push(t.numDirLights),e.push(t.numPointLights),e.push(t.numSpotLights),e.push(t.numSpotLightMaps),e.push(t.numHemiLights),e.push(t.numRectAreaLights),e.push(t.numDirLightShadows),e.push(t.numPointLightShadows),e.push(t.numSpotLightShadows),e.push(t.numSpotLightShadowsWithMaps),e.push(t.numLightProbes),e.push(t.shadowMapType),e.push(t.toneMapping),e.push(t.numClippingPlanes),e.push(t.numClipIntersection),e.push(t.depthPacking)}function y(e,t){s.disableAll(),t.supportsVertexTextures&&s.enable(0),t.instancing&&s.enable(1),t.instancingColor&&s.enable(2),t.instancingMorph&&s.enable(3),t.matcap&&s.enable(4),t.envMap&&s.enable(5),t.normalMapObjectSpace&&s.enable(6),t.normalMapTangentSpace&&s.enable(7),t.clearcoat&&s.enable(8),t.iridescence&&s.enable(9),t.alphaTest&&s.enable(10),t.vertexColors&&s.enable(11),t.vertexAlphas&&s.enable(12),t.vertexUv1s&&s.enable(13),t.vertexUv2s&&s.enable(14),t.vertexUv3s&&s.enable(15),t.vertexTangents&&s.enable(16),t.anisotropy&&s.enable(17),t.alphaHash&&s.enable(18),t.batching&&s.enable(19),t.dispersion&&s.enable(20),t.batchingColor&&s.enable(21),e.push(s.mask),s.disableAll(),t.fog&&s.enable(0),t.useFog&&s.enable(1),t.flatShading&&s.enable(2),t.logarithmicDepthBuffer&&s.enable(3),t.reverseDepthBuffer&&s.enable(4),t.skinning&&s.enable(5),t.morphTargets&&s.enable(6),t.morphNormals&&s.enable(7),t.morphColors&&s.enable(8),t.premultipliedAlpha&&s.enable(9),t.shadowMapEnabled&&s.enable(10),t.doubleSided&&s.enable(11),t.flipSided&&s.enable(12),t.useDepthPacking&&s.enable(13),t.dithering&&s.enable(14),t.transmission&&s.enable(15),t.sheen&&s.enable(16),t.opaque&&s.enable(17),t.pointsUvs&&s.enable(18),t.decodeVideoTexture&&s.enable(19),t.decodeVideoTextureEmissive&&s.enable(20),t.alphaToCoverage&&s.enable(21),e.push(s.mask)}function b(e){let t=m[e.type],n;if(t){let e=xE[t];n=NC.clone(e.uniforms)}else n=e.uniforms;return n}function x(t,n){let r;for(let e=0,t=u.length;e0?r.push(u):a.transparent===!0?i.push(u):n.push(u)}function c(e,t,a,s,c,l){let u=o(e,t,a,s,c,l);a.transmission>0?r.unshift(u):a.transparent===!0?i.unshift(u):n.unshift(u)}function l(e,t){n.length>1&&n.sort(e||JO),r.length>1&&r.sort(t||YO),i.length>1&&i.sort(t||YO)}function u(){for(let n=t,r=e.length;n=r.length?(i=new XO,r.push(i)):i=r[n],i}function n(){e=new WeakMap}return{get:t,dispose:n}}function mte(){let e={};return{get:function(t){if(e[t.id]!==void 0)return e[t.id];let n;switch(t.type){case`DirectionalLight`:n={direction:new J,color:new X};break;case`SpotLight`:n={position:new J,direction:new J,color:new X,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case`PointLight`:n={position:new J,color:new X,distance:0,decay:0};break;case`HemisphereLight`:n={direction:new J,skyColor:new X,groundColor:new X};break;case`RectAreaLight`:n={color:new X,position:new J,halfWidth:new J,halfHeight:new J};break}return e[t.id]=n,n}}}function hte(){let e={};return{get:function(t){if(e[t.id]!==void 0)return e[t.id];let n;switch(t.type){case`DirectionalLight`:n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new nx};break;case`SpotLight`:n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new nx};break;case`PointLight`:n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new nx,shadowCameraNear:1,shadowCameraFar:1e3};break}return e[t.id]=n,n}}}var gte=0;function _te(e,t){return(t.castShadow?2:0)-(e.castShadow?2:0)+ +!!t.map-!!e.map}function vte(e){let t=new mte,n=hte(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let e=0;e<9;e++)r.probe.push(new J);let i=new J,a=new Y,o=new Y;function s(i){let a=0,o=0,s=0;for(let e=0;e<9;e++)r.probe[e].set(0,0,0);let c=0,l=0,u=0,d=0,f=0,p=0,m=0,h=0,g=0,_=0,v=0;i.sort(_te);for(let e=0,y=i.length;e0&&(e.has(`OES_texture_float_linear`)===!0?(r.rectAreaLTC1=Z.LTC_FLOAT_1,r.rectAreaLTC2=Z.LTC_FLOAT_2):(r.rectAreaLTC1=Z.LTC_HALF_1,r.rectAreaLTC2=Z.LTC_HALF_2)),r.ambient[0]=a,r.ambient[1]=o,r.ambient[2]=s;let y=r.hash;(y.directionalLength!==c||y.pointLength!==l||y.spotLength!==u||y.rectAreaLength!==d||y.hemiLength!==f||y.numDirectionalShadows!==p||y.numPointShadows!==m||y.numSpotShadows!==h||y.numSpotMaps!==g||y.numLightProbes!==v)&&(r.directional.length=c,r.spot.length=u,r.rectArea.length=d,r.point.length=l,r.hemi.length=f,r.directionalShadow.length=p,r.directionalShadowMap.length=p,r.pointShadow.length=m,r.pointShadowMap.length=m,r.spotShadow.length=h,r.spotShadowMap.length=h,r.directionalShadowMatrix.length=p,r.pointShadowMatrix.length=m,r.spotLightMatrix.length=h+g-_,r.spotLightMap.length=g,r.numSpotLightShadowsWithMaps=_,r.numLightProbes=v,y.directionalLength=c,y.pointLength=l,y.spotLength=u,y.rectAreaLength=d,y.hemiLength=f,y.numDirectionalShadows=p,y.numPointShadows=m,y.numSpotShadows=h,y.numSpotMaps=g,y.numLightProbes=v,r.version=gte++)}function c(e,t){let n=0,s=0,c=0,l=0,u=0,d=t.matrixWorldInverse;for(let t=0,f=e.length;t=i.length?(a=new ZO(e),i.push(a)):a=i[r],a}function r(){t=new WeakMap}return{get:n,dispose:r}}var bte=`void main() { gl_Position = vec4( position, 1.0 ); -}`,ak=`uniform sampler2D shadow_pass; +}`,xte=`uniform sampler2D shadow_pass; uniform vec2 resolution; uniform float radius; #include @@ -3844,12 +3844,12 @@ void main() { squared_mean = squared_mean / samples; float std_dev = sqrt( squared_mean - mean * mean ); gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); -}`;function ok(e,t,n){let r=new xw,i=new rx,a=new rx,o=new jx,s=new Qw({depthPacking:xb}),c=new $w,l={},u=n.maxTextureSize,d={0:1,1:0,2:2},f=new RC({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new rx},radius:{value:4}},vertexShader:ik,fragmentShader:ak}),p=f.clone();p.defines.HORIZONTAL_PASS=1;let m=new vC;m.setAttribute(`position`,new sC(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));let h=new AC(m,f),g=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=1;let _=this.type;this.render=function(t,n,s){if(g.enabled===!1||g.autoUpdate===!1&&g.needsUpdate===!1||t.length===0)return;let c=e.getRenderTarget(),l=e.getActiveCubeFace(),d=e.getActiveMipmapLevel(),f=e.state;f.setBlending(0),f.buffers.color.setClear(1,1,1,1),f.buffers.depth.setTest(!0),f.setScissorTest(!1);let p=_!==3&&this.type===3,m=_===3&&this.type!==3;for(let c=0,l=t.length;cu||i.y>u)&&(i.x>u&&(a.x=Math.floor(u/h.x),i.x=a.x*h.x,d.mapSize.x=a.x),i.y>u&&(a.y=Math.floor(u/h.y),i.y=a.y*h.y,d.mapSize.y=a.y)),d.map===null||p===!0||m===!0){let e=this.type===3?{}:{minFilter:sy,magFilter:sy};d.map!==null&&d.map.dispose(),d.map=new Nx(i.x,i.y,e),d.map.texture.name=l.name+`.shadowMap`,d.camera.updateProjectionMatrix()}e.setRenderTarget(d.map),e.clear();let g=d.getViewportCount();for(let e=0;e0||n.map&&n.alphaTest>0||n.alphaToCoverage===!0){let e=a.uuid,t=n.uuid,r=l[e];r===void 0&&(r={},l[e]=r);let i=r[t];i===void 0&&(i=a.clone(),r[t]=i,n.addEventListener(`dispose`,x)),a=i}if(a.visible=n.visible,a.wireframe=n.wireframe,i===3?a.side=n.shadowSide===null?n.side:n.shadowSide:a.side=n.shadowSide===null?d[n.side]:n.shadowSide,a.alphaMap=n.alphaMap,a.alphaTest=n.alphaToCoverage===!0?.5:n.alphaTest,a.map=n.map,a.clipShadows=n.clipShadows,a.clippingPlanes=n.clippingPlanes,a.clipIntersection=n.clipIntersection,a.displacementMap=n.displacementMap,a.displacementScale=n.displacementScale,a.displacementBias=n.displacementBias,a.wireframeLinewidth=n.wireframeLinewidth,a.linewidth=n.linewidth,r.isPointLight===!0&&a.isMeshDistanceMaterial===!0){let t=e.properties.get(a);t.light=r}return a}function b(n,i,a,o,s){if(n.visible===!1)return;if(n.layers.test(i.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&s===3)&&(!n.frustumCulled||r.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(a.matrixWorldInverse,n.matrixWorld);let r=t.update(n),c=n.material;if(Array.isArray(c)){let t=r.groups;for(let l=0,u=t.length;l=2):(N=parseFloat(/^WebGL (\d)/.exec(P)[1]),M=N>=1);let F=null,ee={},te=e.getParameter(e.SCISSOR_BOX),I=e.getParameter(e.VIEWPORT),ne=new jx().fromArray(te),re=new jx().fromArray(I);function ie(t,n,r,i){let a=new Uint8Array(4),o=e.createTexture();e.bindTexture(t,o),e.texParameteri(t,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(t,e.TEXTURE_MAG_FILTER,e.NEAREST);for(let o=0;o`u`?!1:/OculusBrowser/g.test(navigator.userAgent),l=new rx,u=new WeakMap,d,f=new WeakMap,p=!1;try{p=typeof OffscreenCanvas<`u`&&new OffscreenCanvas(1,1).getContext(`2d`)!==null}catch{}function m(e,t){return p?new OffscreenCanvas(e,t):ux(`canvas`)}function h(e,t,n){let r=1,i=ve(e);if((i.width>n||i.height>n)&&(r=n/Math.max(i.width,i.height)),r<1)if(typeof HTMLImageElement<`u`&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<`u`&&e instanceof HTMLCanvasElement||typeof ImageBitmap<`u`&&e instanceof ImageBitmap||typeof VideoFrame<`u`&&e instanceof VideoFrame){let n=Math.floor(r*i.width),a=Math.floor(r*i.height);d===void 0&&(d=m(n,a));let o=t?m(n,a):d;return o.width=n,o.height=a,o.getContext(`2d`).drawImage(e,0,0,n,a),console.warn(`THREE.WebGLRenderer: Texture has been resized from (`+i.width+`x`+i.height+`) to (`+n+`x`+a+`).`),o}else return`data`in e&&console.warn(`THREE.WebGLRenderer: Image in DataTexture is too big (`+i.width+`x`+i.height+`).`),e;return e}function g(e){return e.generateMipmaps}function _(t){e.generateMipmap(t)}function v(t){return t.isWebGLCubeRenderTarget?e.TEXTURE_CUBE_MAP:t.isWebGL3DRenderTarget?e.TEXTURE_3D:t.isWebGLArrayRenderTarget||t.isCompressedArrayTexture?e.TEXTURE_2D_ARRAY:e.TEXTURE_2D}function y(n,r,i,a,o=!1){if(n!==null){if(e[n]!==void 0)return e[n];console.warn(`THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '`+n+`'`)}let s=r;if(r===e.RED&&(i===e.FLOAT&&(s=e.R32F),i===e.HALF_FLOAT&&(s=e.R16F),i===e.UNSIGNED_BYTE&&(s=e.R8)),r===e.RED_INTEGER&&(i===e.UNSIGNED_BYTE&&(s=e.R8UI),i===e.UNSIGNED_SHORT&&(s=e.R16UI),i===e.UNSIGNED_INT&&(s=e.R32UI),i===e.BYTE&&(s=e.R8I),i===e.SHORT&&(s=e.R16I),i===e.INT&&(s=e.R32I)),r===e.RG&&(i===e.FLOAT&&(s=e.RG32F),i===e.HALF_FLOAT&&(s=e.RG16F),i===e.UNSIGNED_BYTE&&(s=e.RG8)),r===e.RG_INTEGER&&(i===e.UNSIGNED_BYTE&&(s=e.RG8UI),i===e.UNSIGNED_SHORT&&(s=e.RG16UI),i===e.UNSIGNED_INT&&(s=e.RG32UI),i===e.BYTE&&(s=e.RG8I),i===e.SHORT&&(s=e.RG16I),i===e.INT&&(s=e.RG32I)),r===e.RGB_INTEGER&&(i===e.UNSIGNED_BYTE&&(s=e.RGB8UI),i===e.UNSIGNED_SHORT&&(s=e.RGB16UI),i===e.UNSIGNED_INT&&(s=e.RGB32UI),i===e.BYTE&&(s=e.RGB8I),i===e.SHORT&&(s=e.RGB16I),i===e.INT&&(s=e.RGB32I)),r===e.RGBA_INTEGER&&(i===e.UNSIGNED_BYTE&&(s=e.RGBA8UI),i===e.UNSIGNED_SHORT&&(s=e.RGBA16UI),i===e.UNSIGNED_INT&&(s=e.RGBA32UI),i===e.BYTE&&(s=e.RGBA8I),i===e.SHORT&&(s=e.RGBA16I),i===e.INT&&(s=e.RGBA32I)),r===e.RGB&&i===e.UNSIGNED_INT_5_9_9_9_REV&&(s=e.RGB9_E5),r===e.RGBA){let t=o?wb:bx.getTransfer(a);i===e.FLOAT&&(s=e.RGBA32F),i===e.HALF_FLOAT&&(s=e.RGBA16F),i===e.UNSIGNED_BYTE&&(s=t===`srgb`?e.SRGB8_ALPHA8:e.RGBA8),i===e.UNSIGNED_SHORT_4_4_4_4&&(s=e.RGBA4),i===e.UNSIGNED_SHORT_5_5_5_1&&(s=e.RGB5_A1)}return(s===e.R16F||s===e.R32F||s===e.RG16F||s===e.RG32F||s===e.RGBA16F||s===e.RGBA32F)&&t.get(`EXT_color_buffer_float`),s}function b(t,n){let r;return t?n===null||n===1014||n===1020?r=e.DEPTH24_STENCIL8:n===1015?r=e.DEPTH32F_STENCIL8:n===1012&&(r=e.DEPTH24_STENCIL8,console.warn(`DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.`)):n===null||n===1014||n===1020?r=e.DEPTH_COMPONENT24:n===1015?r=e.DEPTH_COMPONENT32F:n===1012&&(r=e.DEPTH_COMPONENT16),r}function x(e,t){return g(e)===!0||e.isFramebufferTexture&&e.minFilter!==1003&&e.minFilter!==1006?Math.log2(Math.max(t.width,t.height))+1:e.mipmaps!==void 0&&e.mipmaps.length>0?e.mipmaps.length:e.isCompressedTexture&&Array.isArray(e.image)?t.mipmaps.length:1}function S(e){let t=e.target;t.removeEventListener(`dispose`,S),w(t),t.isVideoTexture&&u.delete(t)}function C(e){let t=e.target;t.removeEventListener(`dispose`,C),E(t)}function w(e){let t=r.get(e);if(t.__webglInit===void 0)return;let n=e.source,i=f.get(n);if(i){let r=i[t.__cacheKey];r.usedTimes--,r.usedTimes===0&&T(e),Object.keys(i).length===0&&f.delete(n)}r.remove(e)}function T(t){let n=r.get(t);e.deleteTexture(n.__webglTexture);let i=t.source,a=f.get(i);delete a[n.__cacheKey],o.memory.textures--}function E(t){let n=r.get(t);if(t.depthTexture&&(t.depthTexture.dispose(),r.remove(t.depthTexture)),t.isWebGLCubeRenderTarget)for(let t=0;t<6;t++){if(Array.isArray(n.__webglFramebuffer[t]))for(let r=0;r=i.maxTextures&&console.warn(`THREE.WebGLTextures: Trying to use `+e+` texture units while this GPU supports only `+i.maxTextures),D+=1,e}function A(e){let t=[];return t.push(e.wrapS),t.push(e.wrapT),t.push(e.wrapR||0),t.push(e.magFilter),t.push(e.minFilter),t.push(e.anisotropy),t.push(e.internalFormat),t.push(e.format),t.push(e.type),t.push(e.generateMipmaps),t.push(e.premultiplyAlpha),t.push(e.flipY),t.push(e.unpackAlignment),t.push(e.colorSpace),t.join()}function j(t,i){let a=r.get(t);if(t.isVideoTexture&&ge(t),t.isRenderTargetTexture===!1&&t.version>0&&a.__version!==t.version){let e=t.image;if(e===null)console.warn(`THREE.WebGLRenderer: Texture marked for update but no image data found.`);else if(e.complete===!1)console.warn(`THREE.WebGLRenderer: Texture marked for update but image is incomplete`);else{ae(a,t,i);return}}n.bindTexture(e.TEXTURE_2D,a.__webglTexture,e.TEXTURE0+i)}function M(t,i){let a=r.get(t);if(t.version>0&&a.__version!==t.version){ae(a,t,i);return}n.bindTexture(e.TEXTURE_2D_ARRAY,a.__webglTexture,e.TEXTURE0+i)}function N(t,i){let a=r.get(t);if(t.version>0&&a.__version!==t.version){ae(a,t,i);return}n.bindTexture(e.TEXTURE_3D,a.__webglTexture,e.TEXTURE0+i)}function P(t,i){let a=r.get(t);if(t.version>0&&a.__version!==t.version){oe(a,t,i);return}n.bindTexture(e.TEXTURE_CUBE_MAP,a.__webglTexture,e.TEXTURE0+i)}let F={[iy]:e.REPEAT,[ay]:e.CLAMP_TO_EDGE,[oy]:e.MIRRORED_REPEAT},ee={[sy]:e.NEAREST,[cy]:e.NEAREST_MIPMAP_NEAREST,[ly]:e.NEAREST_MIPMAP_LINEAR,[uy]:e.LINEAR,[dy]:e.LINEAR_MIPMAP_NEAREST,[fy]:e.LINEAR_MIPMAP_LINEAR},te={512:e.NEVER,519:e.ALWAYS,513:e.LESS,515:e.LEQUAL,514:e.EQUAL,518:e.GEQUAL,516:e.GREATER,517:e.NOTEQUAL};function I(n,a){if(a.type===1015&&t.has(`OES_texture_float_linear`)===!1&&(a.magFilter===1006||a.magFilter===1007||a.magFilter===1005||a.magFilter===1008||a.minFilter===1006||a.minFilter===1007||a.minFilter===1005||a.minFilter===1008)&&console.warn(`THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device.`),e.texParameteri(n,e.TEXTURE_WRAP_S,F[a.wrapS]),e.texParameteri(n,e.TEXTURE_WRAP_T,F[a.wrapT]),(n===e.TEXTURE_3D||n===e.TEXTURE_2D_ARRAY)&&e.texParameteri(n,e.TEXTURE_WRAP_R,F[a.wrapR]),e.texParameteri(n,e.TEXTURE_MAG_FILTER,ee[a.magFilter]),e.texParameteri(n,e.TEXTURE_MIN_FILTER,ee[a.minFilter]),a.compareFunction&&(e.texParameteri(n,e.TEXTURE_COMPARE_MODE,e.COMPARE_REF_TO_TEXTURE),e.texParameteri(n,e.TEXTURE_COMPARE_FUNC,te[a.compareFunction])),t.has(`EXT_texture_filter_anisotropic`)===!0){if(a.magFilter===1003||a.minFilter!==1005&&a.minFilter!==1008||a.type===1015&&t.has(`OES_texture_float_linear`)===!1)return;if(a.anisotropy>1||r.get(a).__currentAnisotropy){let o=t.get(`EXT_texture_filter_anisotropic`);e.texParameterf(n,o.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(a.anisotropy,i.getMaxAnisotropy())),r.get(a).__currentAnisotropy=a.anisotropy}}}function ne(t,n){let r=!1;t.__webglInit===void 0&&(t.__webglInit=!0,n.addEventListener(`dispose`,S));let i=n.source,a=f.get(i);a===void 0&&(a={},f.set(i,a));let s=A(n);if(s!==t.__cacheKey){a[s]===void 0&&(a[s]={texture:e.createTexture(),usedTimes:0},o.memory.textures++,r=!0),a[s].usedTimes++;let i=a[t.__cacheKey];i!==void 0&&(a[t.__cacheKey].usedTimes--,i.usedTimes===0&&T(n)),t.__cacheKey=s,t.__webglTexture=a[s].texture}return r}function re(e,t,n){return Math.floor(Math.floor(e/n)/t)}function ie(t,r,i,a){let o=t.updateRanges;if(o.length===0)n.texSubImage2D(e.TEXTURE_2D,0,0,0,r.width,r.height,i,a,r.data);else{o.sort((e,t)=>e.start-t.start);let s=0;for(let e=1;e0){T&&E&&n.texStorage2D(e.TEXTURE_2D,O,S,w[0].width,w[0].height);for(let t=0,r=w.length;t0){let r=hE(C.width,C.height,o.format,o.type);for(let i of o.layerUpdates){let a=C.data.subarray(i*r/C.data.BYTES_PER_ELEMENT,(i+1)*r/C.data.BYTES_PER_ELEMENT);n.compressedTexSubImage3D(e.TEXTURE_2D_ARRAY,t,0,0,i,C.width,C.height,1,m,a)}o.clearLayerUpdates()}else n.compressedTexSubImage3D(e.TEXTURE_2D_ARRAY,t,0,0,0,C.width,C.height,p.depth,m,C.data)}else n.compressedTexImage3D(e.TEXTURE_2D_ARRAY,t,S,C.width,C.height,p.depth,0,C.data,0,0);else console.warn(`THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()`);else T?D&&n.texSubImage3D(e.TEXTURE_2D_ARRAY,t,0,0,0,C.width,C.height,p.depth,m,v,C.data):n.texImage3D(e.TEXTURE_2D_ARRAY,t,S,C.width,C.height,p.depth,0,m,v,C.data)}else{T&&E&&n.texStorage2D(e.TEXTURE_2D,O,S,w[0].width,w[0].height);for(let t=0,r=w.length;t0){let t=hE(p.width,p.height,o.format,o.type);for(let r of o.layerUpdates){let i=p.data.subarray(r*t/p.data.BYTES_PER_ELEMENT,(r+1)*t/p.data.BYTES_PER_ELEMENT);n.texSubImage3D(e.TEXTURE_2D_ARRAY,0,0,0,r,p.width,p.height,1,m,v,i)}o.clearLayerUpdates()}else n.texSubImage3D(e.TEXTURE_2D_ARRAY,0,0,0,0,p.width,p.height,p.depth,m,v,p.data)}else n.texImage3D(e.TEXTURE_2D_ARRAY,0,S,p.width,p.height,p.depth,0,m,v,p.data);else if(o.isData3DTexture)T?(E&&n.texStorage3D(e.TEXTURE_3D,O,S,p.width,p.height,p.depth),D&&n.texSubImage3D(e.TEXTURE_3D,0,0,0,0,p.width,p.height,p.depth,m,v,p.data)):n.texImage3D(e.TEXTURE_3D,0,S,p.width,p.height,p.depth,0,m,v,p.data);else if(o.isFramebufferTexture){if(E)if(T)n.texStorage2D(e.TEXTURE_2D,O,S,p.width,p.height);else{let t=p.width,r=p.height;for(let i=0;i>=1,r>>=1}}else if(w.length>0){if(T&&E){let t=ve(w[0]);n.texStorage2D(e.TEXTURE_2D,O,S,t.width,t.height)}for(let t=0,r=w.length;t0&&D++;let t=ve(m[0]);n.texStorage2D(e.TEXTURE_CUBE_MAP,D,C,t.width,t.height)}for(let t=0;t<6;t++)if(p){w?E&&n.texSubImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,0,0,m[t].width,m[t].height,b,S,m[t].data):n.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,C,m[t].width,m[t].height,0,b,S,m[t].data);for(let r=0;r>u),r=Math.max(1,i.height>>u);l===e.TEXTURE_3D||l===e.TEXTURE_2D_ARRAY?n.texImage3D(l,u,p,t,r,i.depth,0,d,f,null):n.texImage2D(l,u,p,t,r,0,d,f,null)}n.bindFramebuffer(e.FRAMEBUFFER,t),z(i)?s.framebufferTexture2DMultisampleEXT(e.FRAMEBUFFER,c,l,h.__webglTexture,0,he(i)):(l===e.TEXTURE_2D||l>=e.TEXTURE_CUBE_MAP_POSITIVE_X&&l<=e.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&e.framebufferTexture2D(e.FRAMEBUFFER,c,l,h.__webglTexture,u),n.bindFramebuffer(e.FRAMEBUFFER,null)}function ce(t,n,r){if(e.bindRenderbuffer(e.RENDERBUFFER,t),n.depthBuffer){let i=n.depthTexture,a=i&&i.isDepthTexture?i.type:null,o=b(n.stencilBuffer,a),c=n.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,l=he(n);z(n)?s.renderbufferStorageMultisampleEXT(e.RENDERBUFFER,l,o,n.width,n.height):r?e.renderbufferStorageMultisample(e.RENDERBUFFER,l,o,n.width,n.height):e.renderbufferStorage(e.RENDERBUFFER,o,n.width,n.height),e.framebufferRenderbuffer(e.FRAMEBUFFER,c,e.RENDERBUFFER,t)}else{let t=n.textures;for(let i=0;i{delete i.__boundDepthTexture,delete i.__depthDisposeCallback,e.removeEventListener(`dispose`,t)};e.addEventListener(`dispose`,t),i.__depthDisposeCallback=t}i.__boundDepthTexture=e}if(t.depthTexture&&!i.__autoAllocateDepthBuffer){if(a)throw Error(`target.depthTexture not supported in Cube render targets`);let e=t.texture.mipmaps;e&&e.length>0?le(i.__webglFramebuffer[0],t):le(i.__webglFramebuffer,t)}else if(a){i.__webglDepthbuffer=[];for(let r=0;r<6;r++)if(n.bindFramebuffer(e.FRAMEBUFFER,i.__webglFramebuffer[r]),i.__webglDepthbuffer[r]===void 0)i.__webglDepthbuffer[r]=e.createRenderbuffer(),ce(i.__webglDepthbuffer[r],t,!1);else{let n=t.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,a=i.__webglDepthbuffer[r];e.bindRenderbuffer(e.RENDERBUFFER,a),e.framebufferRenderbuffer(e.FRAMEBUFFER,n,e.RENDERBUFFER,a)}}else{let r=t.texture.mipmaps;if(r&&r.length>0?n.bindFramebuffer(e.FRAMEBUFFER,i.__webglFramebuffer[0]):n.bindFramebuffer(e.FRAMEBUFFER,i.__webglFramebuffer),i.__webglDepthbuffer===void 0)i.__webglDepthbuffer=e.createRenderbuffer(),ce(i.__webglDepthbuffer,t,!1);else{let n=t.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,r=i.__webglDepthbuffer;e.bindRenderbuffer(e.RENDERBUFFER,r),e.framebufferRenderbuffer(e.FRAMEBUFFER,n,e.RENDERBUFFER,r)}}n.bindFramebuffer(e.FRAMEBUFFER,null)}function de(t,n,i){let a=r.get(t);n!==void 0&&se(a.__webglFramebuffer,t,t.texture,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,0),i!==void 0&&ue(t)}function L(t){let i=t.texture,s=r.get(t),c=r.get(i);t.addEventListener(`dispose`,C);let l=t.textures,u=t.isWebGLCubeRenderTarget===!0,d=l.length>1;if(d||(c.__webglTexture===void 0&&(c.__webglTexture=e.createTexture()),c.__version=i.version,o.memory.textures++),u){s.__webglFramebuffer=[];for(let t=0;t<6;t++)if(i.mipmaps&&i.mipmaps.length>0){s.__webglFramebuffer[t]=[];for(let n=0;n0){s.__webglFramebuffer=[];for(let t=0;t0&&z(t)===!1){s.__webglMultisampledFramebuffer=e.createFramebuffer(),s.__webglColorRenderbuffer=[],n.bindFramebuffer(e.FRAMEBUFFER,s.__webglMultisampledFramebuffer);for(let n=0;n0)for(let r=0;r0)for(let n=0;n0){if(z(t)===!1){let i=t.textures,a=t.width,o=t.height,s=e.COLOR_BUFFER_BIT,l=t.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,u=r.get(t),d=i.length>1;if(d)for(let t=0;t0?n.bindFramebuffer(e.DRAW_FRAMEBUFFER,u.__webglFramebuffer[0]):n.bindFramebuffer(e.DRAW_FRAMEBUFFER,u.__webglFramebuffer);for(let n=0;n0&&t.has(`WEBGL_multisampled_render_to_texture`)===!0&&n.__useRenderToTexture!==!1}function ge(e){let t=o.render.frame;u.get(e)!==t&&(u.set(e,t),e.update())}function _e(e,t){let n=e.colorSpace,r=e.format,i=e.type;return e.isCompressedTexture===!0||e.isVideoTexture===!0||n!==`srgb-linear`&&n!==``&&(bx.getTransfer(n)===`srgb`?(r!==1023||i!==1009)&&console.warn(`THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType.`):console.error(`THREE.WebGLTextures: Unsupported texture color space:`,n)),t}function ve(e){return typeof HTMLImageElement<`u`&&e instanceof HTMLImageElement?(l.width=e.naturalWidth||e.width,l.height=e.naturalHeight||e.height):typeof VideoFrame<`u`&&e instanceof VideoFrame?(l.width=e.displayWidth,l.height=e.displayHeight):(l.width=e.width,l.height=e.height),l}this.allocateTextureUnit=k,this.resetTextureUnits=O,this.setTexture2D=j,this.setTexture2DArray=M,this.setTexture3D=N,this.setTextureCube=P,this.rebindTextures=de,this.setupRenderTarget=L,this.updateRenderTargetMipmap=fe,this.updateMultisampleRenderTarget=R,this.setupDepthRenderbuffer=ue,this.setupFrameBufferTexture=se,this.useMultisampledRTT=z}function uk(e,t){function n(n,r=``){let i,a=bx.getTransfer(r);if(n===1009)return e.UNSIGNED_BYTE;if(n===1017)return e.UNSIGNED_SHORT_4_4_4_4;if(n===1018)return e.UNSIGNED_SHORT_5_5_5_1;if(n===35902)return e.UNSIGNED_INT_5_9_9_9_REV;if(n===1010)return e.BYTE;if(n===1011)return e.SHORT;if(n===1012)return e.UNSIGNED_SHORT;if(n===1013)return e.INT;if(n===1014)return e.UNSIGNED_INT;if(n===1015)return e.FLOAT;if(n===1016)return e.HALF_FLOAT;if(n===1021)return e.ALPHA;if(n===1022)return e.RGB;if(n===1023)return e.RGBA;if(n===1026)return e.DEPTH_COMPONENT;if(n===1027)return e.DEPTH_STENCIL;if(n===1028)return e.RED;if(n===1029)return e.RED_INTEGER;if(n===1030)return e.RG;if(n===1031)return e.RG_INTEGER;if(n===1033)return e.RGBA_INTEGER;if(n===33776||n===33777||n===33778||n===33779)if(a===`srgb`)if(i=t.get(`WEBGL_compressed_texture_s3tc_srgb`),i!==null){if(n===33776)return i.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(n===33777)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(n===33778)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(n===33779)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(i=t.get(`WEBGL_compressed_texture_s3tc`),i!==null){if(n===33776)return i.COMPRESSED_RGB_S3TC_DXT1_EXT;if(n===33777)return i.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(n===33778)return i.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(n===33779)return i.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(n===35840||n===35841||n===35842||n===35843)if(i=t.get(`WEBGL_compressed_texture_pvrtc`),i!==null){if(n===35840)return i.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(n===35841)return i.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(n===35842)return i.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(n===35843)return i.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(n===36196||n===37492||n===37496)if(i=t.get(`WEBGL_compressed_texture_etc`),i!==null){if(n===36196||n===37492)return a===`srgb`?i.COMPRESSED_SRGB8_ETC2:i.COMPRESSED_RGB8_ETC2;if(n===37496)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:i.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(n===37808||n===37809||n===37810||n===37811||n===37812||n===37813||n===37814||n===37815||n===37816||n===37817||n===37818||n===37819||n===37820||n===37821)if(i=t.get(`WEBGL_compressed_texture_astc`),i!==null){if(n===37808)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:i.COMPRESSED_RGBA_ASTC_4x4_KHR;if(n===37809)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:i.COMPRESSED_RGBA_ASTC_5x4_KHR;if(n===37810)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:i.COMPRESSED_RGBA_ASTC_5x5_KHR;if(n===37811)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:i.COMPRESSED_RGBA_ASTC_6x5_KHR;if(n===37812)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:i.COMPRESSED_RGBA_ASTC_6x6_KHR;if(n===37813)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:i.COMPRESSED_RGBA_ASTC_8x5_KHR;if(n===37814)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:i.COMPRESSED_RGBA_ASTC_8x6_KHR;if(n===37815)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:i.COMPRESSED_RGBA_ASTC_8x8_KHR;if(n===37816)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:i.COMPRESSED_RGBA_ASTC_10x5_KHR;if(n===37817)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:i.COMPRESSED_RGBA_ASTC_10x6_KHR;if(n===37818)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:i.COMPRESSED_RGBA_ASTC_10x8_KHR;if(n===37819)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:i.COMPRESSED_RGBA_ASTC_10x10_KHR;if(n===37820)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:i.COMPRESSED_RGBA_ASTC_12x10_KHR;if(n===37821)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:i.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(n===36492||n===36494||n===36495)if(i=t.get(`EXT_texture_compression_bptc`),i!==null){if(n===36492)return a===`srgb`?i.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:i.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(n===36494)return i.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(n===36495)return i.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(n===36283||n===36284||n===36285||n===36286)if(i=t.get(`EXT_texture_compression_rgtc`),i!==null){if(n===36492)return i.COMPRESSED_RED_RGTC1_EXT;if(n===36284)return i.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(n===36285)return i.COMPRESSED_RED_GREEN_RGTC2_EXT;if(n===36286)return i.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return n===1020?e.UNSIGNED_INT_24_8:e[n]===void 0?null:e[n]}return{convert:n}}var dk=` +}`;function Ste(e,t,n){let r=new Aw,i=new nx,a=new nx,o=new Dx,s=new ute({depthPacking:bb}),c=new dte,l={},u=n.maxTextureSize,d={0:1,1:0,2:2},f=new IC({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new nx},radius:{value:4}},vertexShader:bte,fragmentShader:xte}),p=f.clone();p.defines.HORIZONTAL_PASS=1;let m=new pC;m.setAttribute(`position`,new nC(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));let h=new TC(m,f),g=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=1;let _=this.type;this.render=function(t,n,s){if(g.enabled===!1||g.autoUpdate===!1&&g.needsUpdate===!1||t.length===0)return;let c=e.getRenderTarget(),l=e.getActiveCubeFace(),d=e.getActiveMipmapLevel(),f=e.state;f.setBlending(0),f.buffers.color.setClear(1,1,1,1),f.buffers.depth.setTest(!0),f.setScissorTest(!1);let p=_!==3&&this.type===3,m=_===3&&this.type!==3;for(let c=0,l=t.length;cu||i.y>u)&&(i.x>u&&(a.x=Math.floor(u/h.x),i.x=a.x*h.x,d.mapSize.x=a.x),i.y>u&&(a.y=Math.floor(u/h.y),i.y=a.y*h.y,d.mapSize.y=a.y)),d.map===null||p===!0||m===!0){let e=this.type===3?{}:{minFilter:cy,magFilter:cy};d.map!==null&&d.map.dispose(),d.map=new Ox(i.x,i.y,e),d.map.texture.name=l.name+`.shadowMap`,d.camera.updateProjectionMatrix()}e.setRenderTarget(d.map),e.clear();let g=d.getViewportCount();for(let e=0;e0||n.map&&n.alphaTest>0||n.alphaToCoverage===!0){let e=a.uuid,t=n.uuid,r=l[e];r===void 0&&(r={},l[e]=r);let i=r[t];i===void 0&&(i=a.clone(),r[t]=i,n.addEventListener(`dispose`,x)),a=i}if(a.visible=n.visible,a.wireframe=n.wireframe,i===3?a.side=n.shadowSide===null?n.side:n.shadowSide:a.side=n.shadowSide===null?d[n.side]:n.shadowSide,a.alphaMap=n.alphaMap,a.alphaTest=n.alphaToCoverage===!0?.5:n.alphaTest,a.map=n.map,a.clipShadows=n.clipShadows,a.clippingPlanes=n.clippingPlanes,a.clipIntersection=n.clipIntersection,a.displacementMap=n.displacementMap,a.displacementScale=n.displacementScale,a.displacementBias=n.displacementBias,a.wireframeLinewidth=n.wireframeLinewidth,a.linewidth=n.linewidth,r.isPointLight===!0&&a.isMeshDistanceMaterial===!0){let t=e.properties.get(a);t.light=r}return a}function b(n,i,a,o,s){if(n.visible===!1)return;if(n.layers.test(i.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&s===3)&&(!n.frustumCulled||r.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(a.matrixWorldInverse,n.matrixWorld);let r=t.update(n),c=n.material;if(Array.isArray(c)){let t=r.groups;for(let l=0,u=t.length;l=2):(N=parseFloat(/^WebGL (\d)/.exec(P)[1]),M=N>=1);let F=null,ee={},te=e.getParameter(e.SCISSOR_BOX),I=e.getParameter(e.VIEWPORT),ne=new Dx().fromArray(te),re=new Dx().fromArray(I);function ie(t,n,r,i){let a=new Uint8Array(4),o=e.createTexture();e.bindTexture(t,o),e.texParameteri(t,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(t,e.TEXTURE_MAG_FILTER,e.NEAREST);for(let o=0;o`u`?!1:/OculusBrowser/g.test(navigator.userAgent),l=new nx,u=new WeakMap,d,f=new WeakMap,p=!1;try{p=typeof OffscreenCanvas<`u`&&new OffscreenCanvas(1,1).getContext(`2d`)!==null}catch{}function m(e,t){return p?new OffscreenCanvas(e,t):lx(`canvas`)}function h(e,t,n){let r=1,i=ve(e);if((i.width>n||i.height>n)&&(r=n/Math.max(i.width,i.height)),r<1)if(typeof HTMLImageElement<`u`&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<`u`&&e instanceof HTMLCanvasElement||typeof ImageBitmap<`u`&&e instanceof ImageBitmap||typeof VideoFrame<`u`&&e instanceof VideoFrame){let n=Math.floor(r*i.width),a=Math.floor(r*i.height);d===void 0&&(d=m(n,a));let o=t?m(n,a):d;return o.width=n,o.height=a,o.getContext(`2d`).drawImage(e,0,0,n,a),console.warn(`THREE.WebGLRenderer: Texture has been resized from (`+i.width+`x`+i.height+`) to (`+n+`x`+a+`).`),o}else return`data`in e&&console.warn(`THREE.WebGLRenderer: Image in DataTexture is too big (`+i.width+`x`+i.height+`).`),e;return e}function g(e){return e.generateMipmaps}function _(t){e.generateMipmap(t)}function v(t){return t.isWebGLCubeRenderTarget?e.TEXTURE_CUBE_MAP:t.isWebGL3DRenderTarget?e.TEXTURE_3D:t.isWebGLArrayRenderTarget||t.isCompressedArrayTexture?e.TEXTURE_2D_ARRAY:e.TEXTURE_2D}function y(n,r,i,a,o=!1){if(n!==null){if(e[n]!==void 0)return e[n];console.warn(`THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '`+n+`'`)}let s=r;if(r===e.RED&&(i===e.FLOAT&&(s=e.R32F),i===e.HALF_FLOAT&&(s=e.R16F),i===e.UNSIGNED_BYTE&&(s=e.R8)),r===e.RED_INTEGER&&(i===e.UNSIGNED_BYTE&&(s=e.R8UI),i===e.UNSIGNED_SHORT&&(s=e.R16UI),i===e.UNSIGNED_INT&&(s=e.R32UI),i===e.BYTE&&(s=e.R8I),i===e.SHORT&&(s=e.R16I),i===e.INT&&(s=e.R32I)),r===e.RG&&(i===e.FLOAT&&(s=e.RG32F),i===e.HALF_FLOAT&&(s=e.RG16F),i===e.UNSIGNED_BYTE&&(s=e.RG8)),r===e.RG_INTEGER&&(i===e.UNSIGNED_BYTE&&(s=e.RG8UI),i===e.UNSIGNED_SHORT&&(s=e.RG16UI),i===e.UNSIGNED_INT&&(s=e.RG32UI),i===e.BYTE&&(s=e.RG8I),i===e.SHORT&&(s=e.RG16I),i===e.INT&&(s=e.RG32I)),r===e.RGB_INTEGER&&(i===e.UNSIGNED_BYTE&&(s=e.RGB8UI),i===e.UNSIGNED_SHORT&&(s=e.RGB16UI),i===e.UNSIGNED_INT&&(s=e.RGB32UI),i===e.BYTE&&(s=e.RGB8I),i===e.SHORT&&(s=e.RGB16I),i===e.INT&&(s=e.RGB32I)),r===e.RGBA_INTEGER&&(i===e.UNSIGNED_BYTE&&(s=e.RGBA8UI),i===e.UNSIGNED_SHORT&&(s=e.RGBA16UI),i===e.UNSIGNED_INT&&(s=e.RGBA32UI),i===e.BYTE&&(s=e.RGBA8I),i===e.SHORT&&(s=e.RGBA16I),i===e.INT&&(s=e.RGBA32I)),r===e.RGB&&i===e.UNSIGNED_INT_5_9_9_9_REV&&(s=e.RGB9_E5),r===e.RGBA){let t=o?Cb:yx.getTransfer(a);i===e.FLOAT&&(s=e.RGBA32F),i===e.HALF_FLOAT&&(s=e.RGBA16F),i===e.UNSIGNED_BYTE&&(s=t===`srgb`?e.SRGB8_ALPHA8:e.RGBA8),i===e.UNSIGNED_SHORT_4_4_4_4&&(s=e.RGBA4),i===e.UNSIGNED_SHORT_5_5_5_1&&(s=e.RGB5_A1)}return(s===e.R16F||s===e.R32F||s===e.RG16F||s===e.RG32F||s===e.RGBA16F||s===e.RGBA32F)&&t.get(`EXT_color_buffer_float`),s}function b(t,n){let r;return t?n===null||n===1014||n===1020?r=e.DEPTH24_STENCIL8:n===1015?r=e.DEPTH32F_STENCIL8:n===1012&&(r=e.DEPTH24_STENCIL8,console.warn(`DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.`)):n===null||n===1014||n===1020?r=e.DEPTH_COMPONENT24:n===1015?r=e.DEPTH_COMPONENT32F:n===1012&&(r=e.DEPTH_COMPONENT16),r}function x(e,t){return g(e)===!0||e.isFramebufferTexture&&e.minFilter!==1003&&e.minFilter!==1006?Math.log2(Math.max(t.width,t.height))+1:e.mipmaps!==void 0&&e.mipmaps.length>0?e.mipmaps.length:e.isCompressedTexture&&Array.isArray(e.image)?t.mipmaps.length:1}function S(e){let t=e.target;t.removeEventListener(`dispose`,S),w(t),t.isVideoTexture&&u.delete(t)}function C(e){let t=e.target;t.removeEventListener(`dispose`,C),E(t)}function w(e){let t=r.get(e);if(t.__webglInit===void 0)return;let n=e.source,i=f.get(n);if(i){let r=i[t.__cacheKey];r.usedTimes--,r.usedTimes===0&&T(e),Object.keys(i).length===0&&f.delete(n)}r.remove(e)}function T(t){let n=r.get(t);e.deleteTexture(n.__webglTexture);let i=t.source,a=f.get(i);delete a[n.__cacheKey],o.memory.textures--}function E(t){let n=r.get(t);if(t.depthTexture&&(t.depthTexture.dispose(),r.remove(t.depthTexture)),t.isWebGLCubeRenderTarget)for(let t=0;t<6;t++){if(Array.isArray(n.__webglFramebuffer[t]))for(let r=0;r=i.maxTextures&&console.warn(`THREE.WebGLTextures: Trying to use `+e+` texture units while this GPU supports only `+i.maxTextures),D+=1,e}function A(e){let t=[];return t.push(e.wrapS),t.push(e.wrapT),t.push(e.wrapR||0),t.push(e.magFilter),t.push(e.minFilter),t.push(e.anisotropy),t.push(e.internalFormat),t.push(e.format),t.push(e.type),t.push(e.generateMipmaps),t.push(e.premultiplyAlpha),t.push(e.flipY),t.push(e.unpackAlignment),t.push(e.colorSpace),t.join()}function j(t,i){let a=r.get(t);if(t.isVideoTexture&&ge(t),t.isRenderTargetTexture===!1&&t.version>0&&a.__version!==t.version){let e=t.image;if(e===null)console.warn(`THREE.WebGLRenderer: Texture marked for update but no image data found.`);else if(e.complete===!1)console.warn(`THREE.WebGLRenderer: Texture marked for update but image is incomplete`);else{ae(a,t,i);return}}n.bindTexture(e.TEXTURE_2D,a.__webglTexture,e.TEXTURE0+i)}function M(t,i){let a=r.get(t);if(t.version>0&&a.__version!==t.version){ae(a,t,i);return}n.bindTexture(e.TEXTURE_2D_ARRAY,a.__webglTexture,e.TEXTURE0+i)}function N(t,i){let a=r.get(t);if(t.version>0&&a.__version!==t.version){ae(a,t,i);return}n.bindTexture(e.TEXTURE_3D,a.__webglTexture,e.TEXTURE0+i)}function P(t,i){let a=r.get(t);if(t.version>0&&a.__version!==t.version){oe(a,t,i);return}n.bindTexture(e.TEXTURE_CUBE_MAP,a.__webglTexture,e.TEXTURE0+i)}let F={[ay]:e.REPEAT,[oy]:e.CLAMP_TO_EDGE,[sy]:e.MIRRORED_REPEAT},ee={[cy]:e.NEAREST,[ly]:e.NEAREST_MIPMAP_NEAREST,[uy]:e.NEAREST_MIPMAP_LINEAR,[dy]:e.LINEAR,[fy]:e.LINEAR_MIPMAP_NEAREST,[py]:e.LINEAR_MIPMAP_LINEAR},te={512:e.NEVER,519:e.ALWAYS,513:e.LESS,515:e.LEQUAL,514:e.EQUAL,518:e.GEQUAL,516:e.GREATER,517:e.NOTEQUAL};function I(n,a){if(a.type===1015&&t.has(`OES_texture_float_linear`)===!1&&(a.magFilter===1006||a.magFilter===1007||a.magFilter===1005||a.magFilter===1008||a.minFilter===1006||a.minFilter===1007||a.minFilter===1005||a.minFilter===1008)&&console.warn(`THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device.`),e.texParameteri(n,e.TEXTURE_WRAP_S,F[a.wrapS]),e.texParameteri(n,e.TEXTURE_WRAP_T,F[a.wrapT]),(n===e.TEXTURE_3D||n===e.TEXTURE_2D_ARRAY)&&e.texParameteri(n,e.TEXTURE_WRAP_R,F[a.wrapR]),e.texParameteri(n,e.TEXTURE_MAG_FILTER,ee[a.magFilter]),e.texParameteri(n,e.TEXTURE_MIN_FILTER,ee[a.minFilter]),a.compareFunction&&(e.texParameteri(n,e.TEXTURE_COMPARE_MODE,e.COMPARE_REF_TO_TEXTURE),e.texParameteri(n,e.TEXTURE_COMPARE_FUNC,te[a.compareFunction])),t.has(`EXT_texture_filter_anisotropic`)===!0){if(a.magFilter===1003||a.minFilter!==1005&&a.minFilter!==1008||a.type===1015&&t.has(`OES_texture_float_linear`)===!1)return;if(a.anisotropy>1||r.get(a).__currentAnisotropy){let o=t.get(`EXT_texture_filter_anisotropic`);e.texParameterf(n,o.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(a.anisotropy,i.getMaxAnisotropy())),r.get(a).__currentAnisotropy=a.anisotropy}}}function ne(t,n){let r=!1;t.__webglInit===void 0&&(t.__webglInit=!0,n.addEventListener(`dispose`,S));let i=n.source,a=f.get(i);a===void 0&&(a={},f.set(i,a));let s=A(n);if(s!==t.__cacheKey){a[s]===void 0&&(a[s]={texture:e.createTexture(),usedTimes:0},o.memory.textures++,r=!0),a[s].usedTimes++;let i=a[t.__cacheKey];i!==void 0&&(a[t.__cacheKey].usedTimes--,i.usedTimes===0&&T(n)),t.__cacheKey=s,t.__webglTexture=a[s].texture}return r}function re(e,t,n){return Math.floor(Math.floor(e/n)/t)}function ie(t,r,i,a){let o=t.updateRanges;if(o.length===0)n.texSubImage2D(e.TEXTURE_2D,0,0,0,r.width,r.height,i,a,r.data);else{o.sort((e,t)=>e.start-t.start);let s=0;for(let e=1;e0){T&&E&&n.texStorage2D(e.TEXTURE_2D,O,S,w[0].width,w[0].height);for(let t=0,r=w.length;t0){let r=gE(C.width,C.height,o.format,o.type);for(let i of o.layerUpdates){let a=C.data.subarray(i*r/C.data.BYTES_PER_ELEMENT,(i+1)*r/C.data.BYTES_PER_ELEMENT);n.compressedTexSubImage3D(e.TEXTURE_2D_ARRAY,t,0,0,i,C.width,C.height,1,m,a)}o.clearLayerUpdates()}else n.compressedTexSubImage3D(e.TEXTURE_2D_ARRAY,t,0,0,0,C.width,C.height,p.depth,m,C.data)}else n.compressedTexImage3D(e.TEXTURE_2D_ARRAY,t,S,C.width,C.height,p.depth,0,C.data,0,0);else console.warn(`THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()`);else T?D&&n.texSubImage3D(e.TEXTURE_2D_ARRAY,t,0,0,0,C.width,C.height,p.depth,m,v,C.data):n.texImage3D(e.TEXTURE_2D_ARRAY,t,S,C.width,C.height,p.depth,0,m,v,C.data)}else{T&&E&&n.texStorage2D(e.TEXTURE_2D,O,S,w[0].width,w[0].height);for(let t=0,r=w.length;t0){let t=gE(p.width,p.height,o.format,o.type);for(let r of o.layerUpdates){let i=p.data.subarray(r*t/p.data.BYTES_PER_ELEMENT,(r+1)*t/p.data.BYTES_PER_ELEMENT);n.texSubImage3D(e.TEXTURE_2D_ARRAY,0,0,0,r,p.width,p.height,1,m,v,i)}o.clearLayerUpdates()}else n.texSubImage3D(e.TEXTURE_2D_ARRAY,0,0,0,0,p.width,p.height,p.depth,m,v,p.data)}else n.texImage3D(e.TEXTURE_2D_ARRAY,0,S,p.width,p.height,p.depth,0,m,v,p.data);else if(o.isData3DTexture)T?(E&&n.texStorage3D(e.TEXTURE_3D,O,S,p.width,p.height,p.depth),D&&n.texSubImage3D(e.TEXTURE_3D,0,0,0,0,p.width,p.height,p.depth,m,v,p.data)):n.texImage3D(e.TEXTURE_3D,0,S,p.width,p.height,p.depth,0,m,v,p.data);else if(o.isFramebufferTexture){if(E)if(T)n.texStorage2D(e.TEXTURE_2D,O,S,p.width,p.height);else{let t=p.width,r=p.height;for(let i=0;i>=1,r>>=1}}else if(w.length>0){if(T&&E){let t=ve(w[0]);n.texStorage2D(e.TEXTURE_2D,O,S,t.width,t.height)}for(let t=0,r=w.length;t0&&D++;let t=ve(m[0]);n.texStorage2D(e.TEXTURE_CUBE_MAP,D,C,t.width,t.height)}for(let t=0;t<6;t++)if(p){w?E&&n.texSubImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,0,0,m[t].width,m[t].height,b,S,m[t].data):n.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,C,m[t].width,m[t].height,0,b,S,m[t].data);for(let r=0;r>u),r=Math.max(1,i.height>>u);l===e.TEXTURE_3D||l===e.TEXTURE_2D_ARRAY?n.texImage3D(l,u,p,t,r,i.depth,0,d,f,null):n.texImage2D(l,u,p,t,r,0,d,f,null)}n.bindFramebuffer(e.FRAMEBUFFER,t),z(i)?s.framebufferTexture2DMultisampleEXT(e.FRAMEBUFFER,c,l,h.__webglTexture,0,he(i)):(l===e.TEXTURE_2D||l>=e.TEXTURE_CUBE_MAP_POSITIVE_X&&l<=e.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&e.framebufferTexture2D(e.FRAMEBUFFER,c,l,h.__webglTexture,u),n.bindFramebuffer(e.FRAMEBUFFER,null)}function ce(t,n,r){if(e.bindRenderbuffer(e.RENDERBUFFER,t),n.depthBuffer){let i=n.depthTexture,a=i&&i.isDepthTexture?i.type:null,o=b(n.stencilBuffer,a),c=n.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,l=he(n);z(n)?s.renderbufferStorageMultisampleEXT(e.RENDERBUFFER,l,o,n.width,n.height):r?e.renderbufferStorageMultisample(e.RENDERBUFFER,l,o,n.width,n.height):e.renderbufferStorage(e.RENDERBUFFER,o,n.width,n.height),e.framebufferRenderbuffer(e.FRAMEBUFFER,c,e.RENDERBUFFER,t)}else{let t=n.textures;for(let i=0;i{delete i.__boundDepthTexture,delete i.__depthDisposeCallback,e.removeEventListener(`dispose`,t)};e.addEventListener(`dispose`,t),i.__depthDisposeCallback=t}i.__boundDepthTexture=e}if(t.depthTexture&&!i.__autoAllocateDepthBuffer){if(a)throw Error(`target.depthTexture not supported in Cube render targets`);let e=t.texture.mipmaps;e&&e.length>0?le(i.__webglFramebuffer[0],t):le(i.__webglFramebuffer,t)}else if(a){i.__webglDepthbuffer=[];for(let r=0;r<6;r++)if(n.bindFramebuffer(e.FRAMEBUFFER,i.__webglFramebuffer[r]),i.__webglDepthbuffer[r]===void 0)i.__webglDepthbuffer[r]=e.createRenderbuffer(),ce(i.__webglDepthbuffer[r],t,!1);else{let n=t.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,a=i.__webglDepthbuffer[r];e.bindRenderbuffer(e.RENDERBUFFER,a),e.framebufferRenderbuffer(e.FRAMEBUFFER,n,e.RENDERBUFFER,a)}}else{let r=t.texture.mipmaps;if(r&&r.length>0?n.bindFramebuffer(e.FRAMEBUFFER,i.__webglFramebuffer[0]):n.bindFramebuffer(e.FRAMEBUFFER,i.__webglFramebuffer),i.__webglDepthbuffer===void 0)i.__webglDepthbuffer=e.createRenderbuffer(),ce(i.__webglDepthbuffer,t,!1);else{let n=t.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,r=i.__webglDepthbuffer;e.bindRenderbuffer(e.RENDERBUFFER,r),e.framebufferRenderbuffer(e.FRAMEBUFFER,n,e.RENDERBUFFER,r)}}n.bindFramebuffer(e.FRAMEBUFFER,null)}function de(t,n,i){let a=r.get(t);n!==void 0&&se(a.__webglFramebuffer,t,t.texture,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,0),i!==void 0&&ue(t)}function L(t){let i=t.texture,s=r.get(t),c=r.get(i);t.addEventListener(`dispose`,C);let l=t.textures,u=t.isWebGLCubeRenderTarget===!0,d=l.length>1;if(d||(c.__webglTexture===void 0&&(c.__webglTexture=e.createTexture()),c.__version=i.version,o.memory.textures++),u){s.__webglFramebuffer=[];for(let t=0;t<6;t++)if(i.mipmaps&&i.mipmaps.length>0){s.__webglFramebuffer[t]=[];for(let n=0;n0){s.__webglFramebuffer=[];for(let t=0;t0&&z(t)===!1){s.__webglMultisampledFramebuffer=e.createFramebuffer(),s.__webglColorRenderbuffer=[],n.bindFramebuffer(e.FRAMEBUFFER,s.__webglMultisampledFramebuffer);for(let n=0;n0)for(let r=0;r0)for(let n=0;n0){if(z(t)===!1){let i=t.textures,a=t.width,o=t.height,s=e.COLOR_BUFFER_BIT,l=t.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,u=r.get(t),d=i.length>1;if(d)for(let t=0;t0?n.bindFramebuffer(e.DRAW_FRAMEBUFFER,u.__webglFramebuffer[0]):n.bindFramebuffer(e.DRAW_FRAMEBUFFER,u.__webglFramebuffer);for(let n=0;n0&&t.has(`WEBGL_multisampled_render_to_texture`)===!0&&n.__useRenderToTexture!==!1}function ge(e){let t=o.render.frame;u.get(e)!==t&&(u.set(e,t),e.update())}function _e(e,t){let n=e.colorSpace,r=e.format,i=e.type;return e.isCompressedTexture===!0||e.isVideoTexture===!0||n!==`srgb-linear`&&n!==``&&(yx.getTransfer(n)===`srgb`?(r!==1023||i!==1009)&&console.warn(`THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType.`):console.error(`THREE.WebGLTextures: Unsupported texture color space:`,n)),t}function ve(e){return typeof HTMLImageElement<`u`&&e instanceof HTMLImageElement?(l.width=e.naturalWidth||e.width,l.height=e.naturalHeight||e.height):typeof VideoFrame<`u`&&e instanceof VideoFrame?(l.width=e.displayWidth,l.height=e.displayHeight):(l.width=e.width,l.height=e.height),l}this.allocateTextureUnit=k,this.resetTextureUnits=O,this.setTexture2D=j,this.setTexture2DArray=M,this.setTexture3D=N,this.setTextureCube=P,this.rebindTextures=de,this.setupRenderTarget=L,this.updateRenderTargetMipmap=fe,this.updateMultisampleRenderTarget=R,this.setupDepthRenderbuffer=ue,this.setupFrameBufferTexture=se,this.useMultisampledRTT=z}function Ete(e,t){function n(n,r=``){let i,a=yx.getTransfer(r);if(n===1009)return e.UNSIGNED_BYTE;if(n===1017)return e.UNSIGNED_SHORT_4_4_4_4;if(n===1018)return e.UNSIGNED_SHORT_5_5_5_1;if(n===35902)return e.UNSIGNED_INT_5_9_9_9_REV;if(n===1010)return e.BYTE;if(n===1011)return e.SHORT;if(n===1012)return e.UNSIGNED_SHORT;if(n===1013)return e.INT;if(n===1014)return e.UNSIGNED_INT;if(n===1015)return e.FLOAT;if(n===1016)return e.HALF_FLOAT;if(n===1021)return e.ALPHA;if(n===1022)return e.RGB;if(n===1023)return e.RGBA;if(n===1026)return e.DEPTH_COMPONENT;if(n===1027)return e.DEPTH_STENCIL;if(n===1028)return e.RED;if(n===1029)return e.RED_INTEGER;if(n===1030)return e.RG;if(n===1031)return e.RG_INTEGER;if(n===1033)return e.RGBA_INTEGER;if(n===33776||n===33777||n===33778||n===33779)if(a===`srgb`)if(i=t.get(`WEBGL_compressed_texture_s3tc_srgb`),i!==null){if(n===33776)return i.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(n===33777)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(n===33778)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(n===33779)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(i=t.get(`WEBGL_compressed_texture_s3tc`),i!==null){if(n===33776)return i.COMPRESSED_RGB_S3TC_DXT1_EXT;if(n===33777)return i.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(n===33778)return i.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(n===33779)return i.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(n===35840||n===35841||n===35842||n===35843)if(i=t.get(`WEBGL_compressed_texture_pvrtc`),i!==null){if(n===35840)return i.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(n===35841)return i.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(n===35842)return i.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(n===35843)return i.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(n===36196||n===37492||n===37496)if(i=t.get(`WEBGL_compressed_texture_etc`),i!==null){if(n===36196||n===37492)return a===`srgb`?i.COMPRESSED_SRGB8_ETC2:i.COMPRESSED_RGB8_ETC2;if(n===37496)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:i.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(n===37808||n===37809||n===37810||n===37811||n===37812||n===37813||n===37814||n===37815||n===37816||n===37817||n===37818||n===37819||n===37820||n===37821)if(i=t.get(`WEBGL_compressed_texture_astc`),i!==null){if(n===37808)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:i.COMPRESSED_RGBA_ASTC_4x4_KHR;if(n===37809)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:i.COMPRESSED_RGBA_ASTC_5x4_KHR;if(n===37810)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:i.COMPRESSED_RGBA_ASTC_5x5_KHR;if(n===37811)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:i.COMPRESSED_RGBA_ASTC_6x5_KHR;if(n===37812)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:i.COMPRESSED_RGBA_ASTC_6x6_KHR;if(n===37813)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:i.COMPRESSED_RGBA_ASTC_8x5_KHR;if(n===37814)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:i.COMPRESSED_RGBA_ASTC_8x6_KHR;if(n===37815)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:i.COMPRESSED_RGBA_ASTC_8x8_KHR;if(n===37816)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:i.COMPRESSED_RGBA_ASTC_10x5_KHR;if(n===37817)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:i.COMPRESSED_RGBA_ASTC_10x6_KHR;if(n===37818)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:i.COMPRESSED_RGBA_ASTC_10x8_KHR;if(n===37819)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:i.COMPRESSED_RGBA_ASTC_10x10_KHR;if(n===37820)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:i.COMPRESSED_RGBA_ASTC_12x10_KHR;if(n===37821)return a===`srgb`?i.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:i.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(n===36492||n===36494||n===36495)if(i=t.get(`EXT_texture_compression_bptc`),i!==null){if(n===36492)return a===`srgb`?i.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:i.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(n===36494)return i.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(n===36495)return i.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(n===36283||n===36284||n===36285||n===36286)if(i=t.get(`EXT_texture_compression_rgtc`),i!==null){if(n===36492)return i.COMPRESSED_RED_RGTC1_EXT;if(n===36284)return i.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(n===36285)return i.COMPRESSED_RED_GREEN_RGTC2_EXT;if(n===36286)return i.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return n===1020?e.UNSIGNED_INT_24_8:e[n]===void 0?null:e[n]}return{convert:n}}var Dte=` void main() { gl_Position = vec4( position, 1.0 ); -}`,fk=` +}`,Ote=` uniform sampler2DArray depthColor; uniform float depthWidth; uniform float depthHeight; @@ -3868,76 +3868,76 @@ void main() { } -}`,pk=class{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,n){if(this.texture===null){let r=new Ax,i=e.properties.get(r);i.__webglTexture=t.texture,(t.depthNear!==n.depthNear||t.depthFar!==n.depthFar)&&(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=r}}getMesh(e){if(this.texture!==null&&this.mesh===null){let t=e.cameras[0].viewport,n=new RC({vertexShader:dk,fragmentShader:fk,uniforms:{depthColor:{value:this.texture},depthWidth:{value:t.z},depthHeight:{value:t.w}}});this.mesh=new AC(new Gw(20,20),n)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}},mk=class extends kb{constructor(e,t){super();let n=this,r=null,i=1,a=null,o=`local-floor`,s=1,c=null,l=null,u=null,d=null,f=null,p=null,m=new pk,h=t.getContextAttributes(),g=null,_=null,v=[],y=[],b=new rx,x=null,S=new UC;S.viewport=new jx;let C=new UC;C.viewport=new jx;let w=[S,C],T=new XT,E=null,D=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(e){let t=v[e];return t===void 0&&(t=new JC,v[e]=t),t.getTargetRaySpace()},this.getControllerGrip=function(e){let t=v[e];return t===void 0&&(t=new JC,v[e]=t),t.getGripSpace()},this.getHand=function(e){let t=v[e];return t===void 0&&(t=new JC,v[e]=t),t.getHandSpace()};function O(e){let t=y.indexOf(e.inputSource);if(t===-1)return;let n=v[t];n!==void 0&&(n.update(e.inputSource,e.frame,c||a),n.dispatchEvent({type:e.type,data:e.inputSource}))}function k(){r.removeEventListener(`select`,O),r.removeEventListener(`selectstart`,O),r.removeEventListener(`selectend`,O),r.removeEventListener(`squeeze`,O),r.removeEventListener(`squeezestart`,O),r.removeEventListener(`squeezeend`,O),r.removeEventListener(`end`,k),r.removeEventListener(`inputsourceschange`,A);for(let e=0;e=0&&(y[r]=null,v[r].disconnect(n))}for(let t=0;t=y.length){y.push(n),r=e;break}else if(y[e]===null){y[e]=n,r=e;break}if(r===-1)break}let i=v[r];i&&i.connect(n)}}let j=new J,M=new J;function N(e,t,n){j.setFromMatrixPosition(t.matrixWorld),M.setFromMatrixPosition(n.matrixWorld);let r=j.distanceTo(M),i=t.projectionMatrix.elements,a=n.projectionMatrix.elements,o=i[14]/(i[10]-1),s=i[14]/(i[10]+1),c=(i[9]+1)/i[5],l=(i[9]-1)/i[5],u=(i[8]-1)/i[0],d=(a[8]+1)/a[0],f=o*u,p=o*d,m=r/(-u+d),h=m*-u;if(t.matrixWorld.decompose(e.position,e.quaternion,e.scale),e.translateX(h),e.translateZ(m),e.matrixWorld.compose(e.position,e.quaternion,e.scale),e.matrixWorldInverse.copy(e.matrixWorld).invert(),i[10]===-1)e.projectionMatrix.copy(t.projectionMatrix),e.projectionMatrixInverse.copy(t.projectionMatrixInverse);else{let t=o+m,n=s+m,i=f-h,a=p+(r-h),u=c*s/n*t,d=l*s/n*t;e.projectionMatrix.makePerspective(i,a,u,d,t,n),e.projectionMatrixInverse.copy(e.projectionMatrix).invert()}}function P(e,t){t===null?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.updateCamera=function(e){if(r===null)return;let t=e.near,n=e.far;m.texture!==null&&(m.depthNear>0&&(t=m.depthNear),m.depthFar>0&&(n=m.depthFar)),T.near=C.near=S.near=t,T.far=C.far=S.far=n,(E!==T.near||D!==T.far)&&(r.updateRenderState({depthNear:T.near,depthFar:T.far}),E=T.near,D=T.far),S.layers.mask=e.layers.mask|2,C.layers.mask=e.layers.mask|4,T.layers.mask=S.layers.mask|C.layers.mask;let i=e.parent,a=T.cameras;P(T,i);for(let e=0;e0&&(e.alphaTest.value=r.alphaTest);let i=t.get(r),a=i.envMap,o=i.envMapRotation;a&&(e.envMap.value=a,hk.copy(o),hk.x*=-1,hk.y*=-1,hk.z*=-1,a.isCubeTexture&&a.isRenderTargetTexture===!1&&(hk.y*=-1,hk.z*=-1),e.envMapRotation.value.setFromMatrix4(gk.makeRotationFromEuler(hk)),e.flipEnvMap.value=a.isCubeTexture&&a.isRenderTargetTexture===!1?-1:1,e.reflectivity.value=r.reflectivity,e.ior.value=r.ior,e.refractionRatio.value=r.refractionRatio),r.lightMap&&(e.lightMap.value=r.lightMap,e.lightMapIntensity.value=r.lightMapIntensity,n(r.lightMap,e.lightMapTransform)),r.aoMap&&(e.aoMap.value=r.aoMap,e.aoMapIntensity.value=r.aoMapIntensity,n(r.aoMap,e.aoMapTransform))}function o(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform))}function s(e,t){e.dashSize.value=t.dashSize,e.totalSize.value=t.dashSize+t.gapSize,e.scale.value=t.scale}function c(e,t,r,i){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.size.value=t.size*r,e.scale.value=i*.5,t.map&&(e.map.value=t.map,n(t.map,e.uvTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,n(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}function l(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.rotation.value=t.rotation,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,n(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}function u(e,t){e.specular.value.copy(t.specular),e.shininess.value=Math.max(t.shininess,1e-4)}function d(e,t){t.gradientMap&&(e.gradientMap.value=t.gradientMap)}function f(e,t){e.metalness.value=t.metalness,t.metalnessMap&&(e.metalnessMap.value=t.metalnessMap,n(t.metalnessMap,e.metalnessMapTransform)),e.roughness.value=t.roughness,t.roughnessMap&&(e.roughnessMap.value=t.roughnessMap,n(t.roughnessMap,e.roughnessMapTransform)),t.envMap&&(e.envMapIntensity.value=t.envMapIntensity)}function p(e,t,r){e.ior.value=t.ior,t.sheen>0&&(e.sheenColor.value.copy(t.sheenColor).multiplyScalar(t.sheen),e.sheenRoughness.value=t.sheenRoughness,t.sheenColorMap&&(e.sheenColorMap.value=t.sheenColorMap,n(t.sheenColorMap,e.sheenColorMapTransform)),t.sheenRoughnessMap&&(e.sheenRoughnessMap.value=t.sheenRoughnessMap,n(t.sheenRoughnessMap,e.sheenRoughnessMapTransform))),t.clearcoat>0&&(e.clearcoat.value=t.clearcoat,e.clearcoatRoughness.value=t.clearcoatRoughness,t.clearcoatMap&&(e.clearcoatMap.value=t.clearcoatMap,n(t.clearcoatMap,e.clearcoatMapTransform)),t.clearcoatRoughnessMap&&(e.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap,n(t.clearcoatRoughnessMap,e.clearcoatRoughnessMapTransform)),t.clearcoatNormalMap&&(e.clearcoatNormalMap.value=t.clearcoatNormalMap,n(t.clearcoatNormalMap,e.clearcoatNormalMapTransform),e.clearcoatNormalScale.value.copy(t.clearcoatNormalScale),t.side===1&&e.clearcoatNormalScale.value.negate())),t.dispersion>0&&(e.dispersion.value=t.dispersion),t.iridescence>0&&(e.iridescence.value=t.iridescence,e.iridescenceIOR.value=t.iridescenceIOR,e.iridescenceThicknessMinimum.value=t.iridescenceThicknessRange[0],e.iridescenceThicknessMaximum.value=t.iridescenceThicknessRange[1],t.iridescenceMap&&(e.iridescenceMap.value=t.iridescenceMap,n(t.iridescenceMap,e.iridescenceMapTransform)),t.iridescenceThicknessMap&&(e.iridescenceThicknessMap.value=t.iridescenceThicknessMap,n(t.iridescenceThicknessMap,e.iridescenceThicknessMapTransform))),t.transmission>0&&(e.transmission.value=t.transmission,e.transmissionSamplerMap.value=r.texture,e.transmissionSamplerSize.value.set(r.width,r.height),t.transmissionMap&&(e.transmissionMap.value=t.transmissionMap,n(t.transmissionMap,e.transmissionMapTransform)),e.thickness.value=t.thickness,t.thicknessMap&&(e.thicknessMap.value=t.thicknessMap,n(t.thicknessMap,e.thicknessMapTransform)),e.attenuationDistance.value=t.attenuationDistance,e.attenuationColor.value.copy(t.attenuationColor)),t.anisotropy>0&&(e.anisotropyVector.value.set(t.anisotropy*Math.cos(t.anisotropyRotation),t.anisotropy*Math.sin(t.anisotropyRotation)),t.anisotropyMap&&(e.anisotropyMap.value=t.anisotropyMap,n(t.anisotropyMap,e.anisotropyMapTransform))),e.specularIntensity.value=t.specularIntensity,e.specularColor.value.copy(t.specularColor),t.specularColorMap&&(e.specularColorMap.value=t.specularColorMap,n(t.specularColorMap,e.specularColorMapTransform)),t.specularIntensityMap&&(e.specularIntensityMap.value=t.specularIntensityMap,n(t.specularIntensityMap,e.specularIntensityMapTransform))}function m(e,t){t.matcap&&(e.matcap.value=t.matcap)}function h(e,n){let r=t.get(n).light;e.referencePosition.value.setFromMatrixPosition(r.matrixWorld),e.nearDistance.value=r.shadow.camera.near,e.farDistance.value=r.shadow.camera.far}return{refreshFogUniforms:r,refreshMaterialUniforms:i}}function vk(e,t,n,r){let i={},a={},o=[],s=e.getParameter(e.MAX_UNIFORM_BUFFER_BINDINGS);function c(e,t){let n=t.program;r.uniformBlockBinding(e,n)}function l(e,n){let o=i[e.id];o===void 0&&(m(e),o=u(e),i[e.id]=o,e.addEventListener(`dispose`,g));let s=n.program;r.updateUBOMapping(e,s);let c=t.render.frame;a[e.id]!==c&&(f(e),a[e.id]=c)}function u(t){let n=d();t.__bindingPointIndex=n;let r=e.createBuffer(),i=t.__size,a=t.usage;return e.bindBuffer(e.UNIFORM_BUFFER,r),e.bufferData(e.UNIFORM_BUFFER,i,a),e.bindBuffer(e.UNIFORM_BUFFER,null),e.bindBufferBase(e.UNIFORM_BUFFER,n,r),r}function d(){for(let e=0;e0&&(n+=16-r),e.__size=n,e.__cache={},this}function h(e){let t={boundary:0,storage:0};return typeof e==`number`||typeof e==`boolean`?(t.boundary=4,t.storage=4):e.isVector2?(t.boundary=8,t.storage=8):e.isVector3||e.isColor?(t.boundary=16,t.storage=12):e.isVector4?(t.boundary=16,t.storage=16):e.isMatrix3?(t.boundary=48,t.storage=48):e.isMatrix4?(t.boundary=64,t.storage=64):e.isTexture?console.warn(`THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group.`):console.warn(`THREE.WebGLRenderer: Unsupported uniform value type.`,e),t}function g(t){let n=t.target;n.removeEventListener(`dispose`,g);let r=o.indexOf(n.__bindingPointIndex);o.splice(r,1),e.deleteBuffer(i[n.id]),delete i[n.id],delete a[n.id]}function _(){for(let t in i)e.deleteBuffer(i[t]);o=[],i={},a={}}return{bind:c,update:l,dispose:_}}var yk=class{constructor(e={}){let{canvas:t=dx(),context:n=null,depth:r=!0,stencil:i=!1,alpha:a=!1,antialias:o=!1,premultipliedAlpha:s=!0,preserveDrawingBuffer:c=!1,powerPreference:l=`default`,failIfMajorPerformanceCaveat:u=!1,reverseDepthBuffer:d=!1}=e;this.isWebGLRenderer=!0;let f;if(n!==null){if(typeof WebGLRenderingContext<`u`&&n instanceof WebGLRenderingContext)throw Error(`THREE.WebGLRenderer: WebGL 1 is not supported since r163.`);f=n.getContextAttributes().alpha}else f=a;let p=new Uint32Array(4),m=new Int32Array(4),h=null,g=null,_=[],v=[];this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.toneMapping=0,this.toneMappingExposure=1,this.transmissionResolutionScale=1;let y=this,b=!1;this._outputColorSpace=Sb;let x=0,S=0,C=null,w=-1,T=null,E=new jx,D=new jx,O=null,k=new X(0),A=0,j=t.width,M=t.height,N=1,P=null,F=null,ee=new jx(0,0,j,M),te=new jx(0,0,j,M),I=!1,ne=new xw,re=!1,ie=!1,ae=new Y,oe=new Y,se=new J,ce=new jx,le={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0},ue=!1;function de(){return C===null?N:1}let L=n;function fe(e,n){return t.getContext(e,n)}try{let e={alpha:!0,depth:r,stencil:i,antialias:o,premultipliedAlpha:s,preserveDrawingBuffer:c,powerPreference:l,failIfMajorPerformanceCaveat:u};if(`setAttribute`in t&&t.setAttribute(`data-engine`,`three.js r177`),t.addEventListener(`webglcontextlost`,Le,!1),t.addEventListener(`webglcontextrestored`,Re,!1),t.addEventListener(`webglcontextcreationerror`,ze,!1),L===null){let t=`webgl2`;if(L=fe(t,e),L===null)throw fe(t)?Error(`Error creating WebGL context with your selected attributes.`):Error(`Error creating WebGL context.`)}}catch(e){throw console.error(`THREE.WebGLRenderer: `+e.message),e}let pe,me,R,he,z,ge,_e,ve,ye,be,xe,Se,Ce,we,Te,Ee,De,Oe,ke,Ae,je,Me,Ne,Pe;function Fe(){pe=new QE(L),pe.init(),Me=new uk(L,pe),me=new DE(L,pe,e,Me),R=new ck(L,pe),me.reverseDepthBuffer&&d&&R.buffers.depth.setReversed(!0),he=new tD(L),z=new KO,ge=new lk(L,pe,R,z,me,Me,he),_e=new kE(y),ve=new ZE(y),ye=new vE(L),Ne=new TE(L,ye),be=new $E(L,ye,he,Ne),xe=new rD(L,be,ye,he),ke=new nD(L,me,ge),Ee=new OE(z),Se=new GO(y,_e,ve,pe,me,Ne,Ee),Ce=new _k(y,z),we=new XO,Te=new rk(pe),Oe=new wE(y,_e,ve,R,xe,f,s),De=new ok(y,xe,me),Pe=new vk(L,he,me,R),Ae=new EE(L,pe,he),je=new eD(L,pe,he),he.programs=Se.programs,y.capabilities=me,y.extensions=pe,y.properties=z,y.renderLists=we,y.shadowMap=De,y.state=R,y.info=he}Fe();let Ie=new mk(y,L);this.xr=Ie,this.getContext=function(){return L},this.getContextAttributes=function(){return L.getContextAttributes()},this.forceContextLoss=function(){let e=pe.get(`WEBGL_lose_context`);e&&e.loseContext()},this.forceContextRestore=function(){let e=pe.get(`WEBGL_lose_context`);e&&e.restoreContext()},this.getPixelRatio=function(){return N},this.setPixelRatio=function(e){e!==void 0&&(N=e,this.setSize(j,M,!1))},this.getSize=function(e){return e.set(j,M)},this.setSize=function(e,n,r=!0){if(Ie.isPresenting){console.warn(`THREE.WebGLRenderer: Can't change size while VR device is presenting.`);return}j=e,M=n,t.width=Math.floor(e*N),t.height=Math.floor(n*N),r===!0&&(t.style.width=e+`px`,t.style.height=n+`px`),this.setViewport(0,0,e,n)},this.getDrawingBufferSize=function(e){return e.set(j*N,M*N).floor()},this.setDrawingBufferSize=function(e,n,r){j=e,M=n,N=r,t.width=Math.floor(e*r),t.height=Math.floor(n*r),this.setViewport(0,0,e,n)},this.getCurrentViewport=function(e){return e.copy(E)},this.getViewport=function(e){return e.copy(ee)},this.setViewport=function(e,t,n,r){e.isVector4?ee.set(e.x,e.y,e.z,e.w):ee.set(e,t,n,r),R.viewport(E.copy(ee).multiplyScalar(N).round())},this.getScissor=function(e){return e.copy(te)},this.setScissor=function(e,t,n,r){e.isVector4?te.set(e.x,e.y,e.z,e.w):te.set(e,t,n,r),R.scissor(D.copy(te).multiplyScalar(N).round())},this.getScissorTest=function(){return I},this.setScissorTest=function(e){R.setScissorTest(I=e)},this.setOpaqueSort=function(e){P=e},this.setTransparentSort=function(e){F=e},this.getClearColor=function(e){return e.copy(Oe.getClearColor())},this.setClearColor=function(){Oe.setClearColor(...arguments)},this.getClearAlpha=function(){return Oe.getClearAlpha()},this.setClearAlpha=function(){Oe.setClearAlpha(...arguments)},this.clear=function(e=!0,t=!0,n=!0){let r=0;if(e){let e=!1;if(C!==null){let t=C.texture.format;e=t===1033||t===1031||t===1029}if(e){let e=C.texture.type,t=e===1009||e===1014||e===1012||e===1020||e===1017||e===1018,n=Oe.getClearColor(),r=Oe.getClearAlpha(),i=n.r,a=n.g,o=n.b;t?(p[0]=i,p[1]=a,p[2]=o,p[3]=r,L.clearBufferuiv(L.COLOR,0,p)):(m[0]=i,m[1]=a,m[2]=o,m[3]=r,L.clearBufferiv(L.COLOR,0,m))}else r|=L.COLOR_BUFFER_BIT}t&&(r|=L.DEPTH_BUFFER_BIT),n&&(r|=L.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),L.clear(r)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){t.removeEventListener(`webglcontextlost`,Le,!1),t.removeEventListener(`webglcontextrestored`,Re,!1),t.removeEventListener(`webglcontextcreationerror`,ze,!1),Oe.dispose(),we.dispose(),Te.dispose(),z.dispose(),_e.dispose(),ve.dispose(),xe.dispose(),Ne.dispose(),Pe.dispose(),Se.dispose(),Ie.dispose(),Ie.removeEventListener(`sessionstart`,Ke),Ie.removeEventListener(`sessionend`,qe),Je.stop()};function Le(e){e.preventDefault(),console.log(`THREE.WebGLRenderer: Context Lost.`),b=!0}function Re(){console.log(`THREE.WebGLRenderer: Context Restored.`),b=!1;let e=he.autoReset,t=De.enabled,n=De.autoUpdate,r=De.needsUpdate,i=De.type;Fe(),he.autoReset=e,De.enabled=t,De.autoUpdate=n,De.needsUpdate=r,De.type=i}function ze(e){console.error(`THREE.WebGLRenderer: A WebGL context could not be created. Reason: `,e.statusMessage)}function Be(e){let t=e.target;t.removeEventListener(`dispose`,Be),Ve(t)}function Ve(e){He(e),z.remove(e)}function He(e){let t=z.get(e).programs;t!==void 0&&(t.forEach(function(e){Se.releaseProgram(e)}),e.isShaderMaterial&&Se.releaseShaderCache(e))}this.renderBufferDirect=function(e,t,n,r,i,a){t===null&&(t=le);let o=i.isMesh&&i.matrixWorld.determinant()<0,s=rt(e,t,n,r,i);R.setMaterial(r,o);let c=n.index,l=1;if(r.wireframe===!0){if(c=be.getWireframeAttribute(n),c===void 0)return;l=2}let u=n.drawRange,d=n.attributes.position,f=u.start*l,p=(u.start+u.count)*l;a!==null&&(f=Math.max(f,a.start*l),p=Math.min(p,(a.start+a.count)*l)),c===null?d!=null&&(f=Math.max(f,0),p=Math.min(p,d.count)):(f=Math.max(f,0),p=Math.min(p,c.count));let m=p-f;if(m<0||m===1/0)return;Ne.setup(i,r,s,n,c);let h,g=Ae;if(c!==null&&(h=ye.get(c),g=je,g.setIndex(h)),i.isMesh)r.wireframe===!0?(R.setLineWidth(r.wireframeLinewidth*de()),g.setMode(L.LINES)):g.setMode(L.TRIANGLES);else if(i.isLine){let e=r.linewidth;e===void 0&&(e=1),R.setLineWidth(e*de()),i.isLineSegments?g.setMode(L.LINES):i.isLineLoop?g.setMode(L.LINE_LOOP):g.setMode(L.LINE_STRIP)}else i.isPoints?g.setMode(L.POINTS):i.isSprite&&g.setMode(L.TRIANGLES);if(i.isBatchedMesh)if(i._multiDrawInstances!==null)px(`THREE.WebGLRenderer: renderMultiDrawInstances has been deprecated and will be removed in r184. Append to renderMultiDraw arguments and use indirection.`),g.renderMultiDrawInstances(i._multiDrawStarts,i._multiDrawCounts,i._multiDrawCount,i._multiDrawInstances);else if(pe.get(`WEBGL_multi_draw`))g.renderMultiDraw(i._multiDrawStarts,i._multiDrawCounts,i._multiDrawCount);else{let e=i._multiDrawStarts,t=i._multiDrawCounts,n=i._multiDrawCount,a=c?ye.get(c).bytesPerElement:1,o=z.get(r).currentProgram.getUniforms();for(let r=0;r{function n(){if(r.forEach(function(e){z.get(e).currentProgram.isReady()&&r.delete(e)}),r.size===0){t(e);return}setTimeout(n,10)}pe.get(`KHR_parallel_shader_compile`)===null?setTimeout(n,10):n()})};let We=null;function Ge(e){We&&We(e)}function Ke(){Je.stop()}function qe(){Je.start()}let Je=new _E;Je.setAnimationLoop(Ge),typeof self<`u`&&Je.setContext(self),this.setAnimationLoop=function(e){We=e,Ie.setAnimationLoop(e),e===null?Je.stop():Je.start()},Ie.addEventListener(`sessionstart`,Ke),Ie.addEventListener(`sessionend`,qe),this.render=function(e,t){if(t!==void 0&&t.isCamera!==!0){console.error(`THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.`);return}if(b===!0)return;if(e.matrixWorldAutoUpdate===!0&&e.updateMatrixWorld(),t.parent===null&&t.matrixWorldAutoUpdate===!0&&t.updateMatrixWorld(),Ie.enabled===!0&&Ie.isPresenting===!0&&(Ie.cameraAutoUpdate===!0&&Ie.updateCamera(t),t=Ie.getCamera()),e.isScene===!0&&e.onBeforeRender(y,e,t,C),g=Te.get(e,v.length),g.init(t),v.push(g),oe.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),ne.setFromProjectionMatrix(oe),ie=this.localClippingEnabled,re=Ee.init(this.clippingPlanes,ie),h=we.get(e,_.length),h.init(),_.push(h),Ie.enabled===!0&&Ie.isPresenting===!0){let e=y.xr.getDepthSensingMesh();e!==null&&Ye(e,t,-1/0,y.sortObjects)}Ye(e,t,0,y.sortObjects),h.finish(),y.sortObjects===!0&&h.sort(P,F),ue=Ie.enabled===!1||Ie.isPresenting===!1||Ie.hasDepthSensing()===!1,ue&&Oe.addToRenderList(h,e),this.info.render.frame++,re===!0&&Ee.beginShadows();let n=g.state.shadowsArray;De.render(n,e,t),re===!0&&Ee.endShadows(),this.info.autoReset===!0&&this.info.reset();let r=h.opaque,i=h.transmissive;if(g.setupLights(),t.isArrayCamera){let n=t.cameras;if(i.length>0)for(let t=0,a=n.length;t0&&Ze(r,i,e,t),ue&&Oe.render(e),Xe(h,e,t);C!==null&&S===0&&(ge.updateMultisampleRenderTarget(C),ge.updateRenderTargetMipmap(C)),e.isScene===!0&&e.onAfterRender(y,e,t),Ne.resetDefaultState(),w=-1,T=null,v.pop(),v.length>0?(g=v[v.length-1],re===!0&&Ee.setGlobalState(y.clippingPlanes,g.state.camera)):g=null,_.pop(),h=_.length>0?_[_.length-1]:null};function Ye(e,t,n,r){if(e.visible===!1)return;if(e.layers.test(t.layers)){if(e.isGroup)n=e.renderOrder;else if(e.isLOD)e.autoUpdate===!0&&e.update(t);else if(e.isLight)g.pushLight(e),e.castShadow&&g.pushShadow(e);else if(e.isSprite){if(!e.frustumCulled||ne.intersectsSprite(e)){r&&ce.setFromMatrixPosition(e.matrixWorld).applyMatrix4(oe);let t=xe.update(e),i=e.material;i.visible&&h.push(e,t,i,n,ce.z,null)}}else if((e.isMesh||e.isLine||e.isPoints)&&(!e.frustumCulled||ne.intersectsObject(e))){let t=xe.update(e),i=e.material;if(r&&(e.boundingSphere===void 0?(t.boundingSphere===null&&t.computeBoundingSphere(),ce.copy(t.boundingSphere.center)):(e.boundingSphere===null&&e.computeBoundingSphere(),ce.copy(e.boundingSphere.center)),ce.applyMatrix4(e.matrixWorld).applyMatrix4(oe)),Array.isArray(i)){let r=t.groups;for(let a=0,o=r.length;a0&&Qe(i,t,n),a.length>0&&Qe(a,t,n),o.length>0&&Qe(o,t,n),R.buffers.depth.setTest(!0),R.buffers.depth.setMask(!0),R.buffers.color.setMask(!0),R.setPolygonOffset(!1)}function Ze(e,t,n,r){if((n.isScene===!0?n.overrideMaterial:null)!==null)return;g.state.transmissionRenderTarget[r.id]===void 0&&(g.state.transmissionRenderTarget[r.id]=new Nx(1,1,{generateMipmaps:!0,type:pe.has(`EXT_color_buffer_half_float`)||pe.has(`EXT_color_buffer_float`)?by:py,minFilter:fy,samples:4,stencilBuffer:i,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:bx.workingColorSpace}));let a=g.state.transmissionRenderTarget[r.id],o=r.viewport||E;a.setSize(o.z*y.transmissionResolutionScale,o.w*y.transmissionResolutionScale);let s=y.getRenderTarget();y.setRenderTarget(a),y.getClearColor(k),A=y.getClearAlpha(),A<1&&y.setClearColor(16777215,.5),y.clear(),ue&&Oe.render(n);let c=y.toneMapping;y.toneMapping=0;let l=r.viewport;if(r.viewport!==void 0&&(r.viewport=void 0),g.setupLightsView(r),re===!0&&Ee.setGlobalState(y.clippingPlanes,r),Qe(e,n,r),ge.updateMultisampleRenderTarget(a),ge.updateRenderTargetMipmap(a),pe.has(`WEBGL_multisampled_render_to_texture`)===!1){let e=!1;for(let i=0,a=t.length;i0),d=!!n.morphAttributes.position,f=!!n.morphAttributes.normal,p=!!n.morphAttributes.color,m=0;r.toneMapped&&(C===null||C.isXRRenderTarget===!0)&&(m=y.toneMapping);let h=n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color,_=h===void 0?0:h.length,v=z.get(r),b=g.state.lights;if(re===!0&&(ie===!0||e!==T)){let t=e===T&&r.id===w;Ee.setState(r,e,t)}let x=!1;r.version===v.__version?v.needsLights&&v.lightsStateVersion!==b.state.version?x=!0:v.outputColorSpace===s?i.isBatchedMesh&&v.batching===!1||!i.isBatchedMesh&&v.batching===!0||i.isBatchedMesh&&v.batchingColor===!0&&i.colorTexture===null||i.isBatchedMesh&&v.batchingColor===!1&&i.colorTexture!==null||i.isInstancedMesh&&v.instancing===!1||!i.isInstancedMesh&&v.instancing===!0||i.isSkinnedMesh&&v.skinning===!1||!i.isSkinnedMesh&&v.skinning===!0||i.isInstancedMesh&&v.instancingColor===!0&&i.instanceColor===null||i.isInstancedMesh&&v.instancingColor===!1&&i.instanceColor!==null||i.isInstancedMesh&&v.instancingMorph===!0&&i.morphTexture===null||i.isInstancedMesh&&v.instancingMorph===!1&&i.morphTexture!==null?x=!0:v.envMap===c?r.fog===!0&&v.fog!==a||v.numClippingPlanes!==void 0&&(v.numClippingPlanes!==Ee.numPlanes||v.numIntersection!==Ee.numIntersection)?x=!0:v.vertexAlphas===l&&v.vertexTangents===u&&v.morphTargets===d&&v.morphNormals===f&&v.morphColors===p&&v.toneMapping===m?v.morphTargetsCount!==_&&(x=!0):x=!0:x=!0:x=!0:(x=!0,v.__version=r.version);let S=v.currentProgram;x===!0&&(S=et(r,t,i));let E=!1,D=!1,O=!1,k=S.getUniforms(),A=v.uniforms;if(R.useProgram(S.program)&&(E=!0,D=!0,O=!0),r.id!==w&&(w=r.id,D=!0),E||T!==e){R.buffers.depth.getReversed()?(ae.copy(e.projectionMatrix),hx(ae),gx(ae),k.setValue(L,`projectionMatrix`,ae)):k.setValue(L,`projectionMatrix`,e.projectionMatrix),k.setValue(L,`viewMatrix`,e.matrixWorldInverse);let t=k.map.cameraPosition;t!==void 0&&t.setValue(L,se.setFromMatrixPosition(e.matrixWorld)),me.logarithmicDepthBuffer&&k.setValue(L,`logDepthBufFC`,2/(Math.log(e.far+1)/Math.LN2)),(r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshLambertMaterial||r.isMeshBasicMaterial||r.isMeshStandardMaterial||r.isShaderMaterial)&&k.setValue(L,`isOrthographic`,e.isOrthographicCamera===!0),T!==e&&(T=e,D=!0,O=!0)}if(i.isSkinnedMesh){k.setOptional(L,i,`bindMatrix`),k.setOptional(L,i,`bindMatrixInverse`);let e=i.skeleton;e&&(e.boneTexture===null&&e.computeBoneTexture(),k.setValue(L,`boneTexture`,e.boneTexture,ge))}i.isBatchedMesh&&(k.setOptional(L,i,`batchingTexture`),k.setValue(L,`batchingTexture`,i._matricesTexture,ge),k.setOptional(L,i,`batchingIdTexture`),k.setValue(L,`batchingIdTexture`,i._indirectTexture,ge),k.setOptional(L,i,`batchingColorTexture`),i._colorsTexture!==null&&k.setValue(L,`batchingColorTexture`,i._colorsTexture,ge));let j=n.morphAttributes;if((j.position!==void 0||j.normal!==void 0||j.color!==void 0)&&ke.update(i,n,S),(D||v.receiveShadow!==i.receiveShadow)&&(v.receiveShadow=i.receiveShadow,k.setValue(L,`receiveShadow`,i.receiveShadow)),r.isMeshGouraudMaterial&&r.envMap!==null&&(A.envMap.value=c,A.flipEnvMap.value=c.isCubeTexture&&c.isRenderTargetTexture===!1?-1:1),r.isMeshStandardMaterial&&r.envMap===null&&t.environment!==null&&(A.envMapIntensity.value=t.environmentIntensity),D&&(k.setValue(L,`toneMappingExposure`,y.toneMappingExposure),v.needsLights&&it(A,O),a&&r.fog===!0&&Ce.refreshFogUniforms(A,a),Ce.refreshMaterialUniforms(A,r,N,M,g.state.transmissionRenderTarget[e.id]),uO.upload(L,tt(v),A,ge)),r.isShaderMaterial&&r.uniformsNeedUpdate===!0&&(uO.upload(L,tt(v),A,ge),r.uniformsNeedUpdate=!1),r.isSpriteMaterial&&k.setValue(L,`center`,i.center),k.setValue(L,`modelViewMatrix`,i.modelViewMatrix),k.setValue(L,`normalMatrix`,i.normalMatrix),k.setValue(L,`modelMatrix`,i.matrixWorld),r.isShaderMaterial||r.isRawShaderMaterial){let e=r.uniformsGroups;for(let t=0,n=e.length;t0&&ge.useMultisampledRTT(e)===!1?z.get(e).__webglMultisampledFramebuffer:Array.isArray(l)?l[n]:l,E.copy(e.viewport),D.copy(e.scissor),O=e.scissorTest}else E.copy(ee).multiplyScalar(N).floor(),D.copy(te).multiplyScalar(N).floor(),O=I;if(n!==0&&(i=ot),R.bindFramebuffer(L.FRAMEBUFFER,i)&&r&&R.drawBuffers(e,i),R.viewport(E),R.scissor(D),R.setScissorTest(O),a){let r=z.get(e.texture);L.framebufferTexture2D(L.FRAMEBUFFER,L.COLOR_ATTACHMENT0,L.TEXTURE_CUBE_MAP_POSITIVE_X+t,r.__webglTexture,n)}else if(o){let r=z.get(e.texture),i=t;L.framebufferTextureLayer(L.FRAMEBUFFER,L.COLOR_ATTACHMENT0,r.__webglTexture,n,i)}else if(e!==null&&n!==0){let t=z.get(e.texture);L.framebufferTexture2D(L.FRAMEBUFFER,L.COLOR_ATTACHMENT0,L.TEXTURE_2D,t.__webglTexture,n)}w=-1},this.readRenderTargetPixels=function(e,t,n,r,i,a,o,s=0){if(!(e&&e.isWebGLRenderTarget)){console.error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.`);return}let c=z.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&o!==void 0&&(c=c[o]),c){R.bindFramebuffer(L.FRAMEBUFFER,c);try{let o=e.textures[s],c=o.format,l=o.type;if(!me.textureFormatReadable(c)){console.error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.`);return}if(!me.textureTypeReadable(l)){console.error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.`);return}t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i&&(e.textures.length>1&&L.readBuffer(L.COLOR_ATTACHMENT0+s),L.readPixels(t,n,r,i,Me.convert(c),Me.convert(l),a))}finally{let e=C===null?null:z.get(C).__webglFramebuffer;R.bindFramebuffer(L.FRAMEBUFFER,e)}}},this.readRenderTargetPixelsAsync=async function(e,t,n,r,i,a,o,s=0){if(!(e&&e.isWebGLRenderTarget))throw Error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.`);let c=z.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&o!==void 0&&(c=c[o]),c)if(t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i){R.bindFramebuffer(L.FRAMEBUFFER,c);let o=e.textures[s],l=o.format,u=o.type;if(!me.textureFormatReadable(l))throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.`);if(!me.textureTypeReadable(u))throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.`);let d=L.createBuffer();L.bindBuffer(L.PIXEL_PACK_BUFFER,d),L.bufferData(L.PIXEL_PACK_BUFFER,a.byteLength,L.STREAM_READ),e.textures.length>1&&L.readBuffer(L.COLOR_ATTACHMENT0+s),L.readPixels(t,n,r,i,Me.convert(l),Me.convert(u),0);let f=C===null?null:z.get(C).__webglFramebuffer;R.bindFramebuffer(L.FRAMEBUFFER,f);let p=L.fenceSync(L.SYNC_GPU_COMMANDS_COMPLETE,0);return L.flush(),await mx(L,p,4),L.bindBuffer(L.PIXEL_PACK_BUFFER,d),L.getBufferSubData(L.PIXEL_PACK_BUFFER,0,a),L.deleteBuffer(d),L.deleteSync(p),a}else throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.`)},this.copyFramebufferToTexture=function(e,t=null,n=0){let r=2**-n,i=Math.floor(e.image.width*r),a=Math.floor(e.image.height*r),o=t===null?0:t.x,s=t===null?0:t.y;ge.setTexture2D(e,0),L.copyTexSubImage2D(L.TEXTURE_2D,n,0,0,o,s,i,a),R.unbindTexture()};let st=L.createFramebuffer(),ct=L.createFramebuffer();this.copyTextureToTexture=function(e,t,n=null,r=null,i=0,a=null){a===null&&(i===0?a=0:(px(`WebGLRenderer: copyTextureToTexture function signature has changed to support src and dst mipmap levels.`),a=i,i=0));let o,s,c,l,u,d,f,p,m,h=e.isCompressedTexture?e.mipmaps[a]:e.image;if(n!==null)o=n.max.x-n.min.x,s=n.max.y-n.min.y,c=n.isBox3?n.max.z-n.min.z:1,l=n.min.x,u=n.min.y,d=n.isBox3?n.min.z:0;else{let t=2**-i;o=Math.floor(h.width*t),s=Math.floor(h.height*t),c=e.isDataArrayTexture?h.depth:e.isData3DTexture?Math.floor(h.depth*t):1,l=0,u=0,d=0}r===null?(f=0,p=0,m=0):(f=r.x,p=r.y,m=r.z);let g=Me.convert(t.format),_=Me.convert(t.type),v;t.isData3DTexture?(ge.setTexture3D(t,0),v=L.TEXTURE_3D):t.isDataArrayTexture||t.isCompressedArrayTexture?(ge.setTexture2DArray(t,0),v=L.TEXTURE_2D_ARRAY):(ge.setTexture2D(t,0),v=L.TEXTURE_2D),L.pixelStorei(L.UNPACK_FLIP_Y_WEBGL,t.flipY),L.pixelStorei(L.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultiplyAlpha),L.pixelStorei(L.UNPACK_ALIGNMENT,t.unpackAlignment);let y=L.getParameter(L.UNPACK_ROW_LENGTH),b=L.getParameter(L.UNPACK_IMAGE_HEIGHT),x=L.getParameter(L.UNPACK_SKIP_PIXELS),S=L.getParameter(L.UNPACK_SKIP_ROWS),C=L.getParameter(L.UNPACK_SKIP_IMAGES);L.pixelStorei(L.UNPACK_ROW_LENGTH,h.width),L.pixelStorei(L.UNPACK_IMAGE_HEIGHT,h.height),L.pixelStorei(L.UNPACK_SKIP_PIXELS,l),L.pixelStorei(L.UNPACK_SKIP_ROWS,u),L.pixelStorei(L.UNPACK_SKIP_IMAGES,d);let w=e.isDataArrayTexture||e.isData3DTexture,T=t.isDataArrayTexture||t.isData3DTexture;if(e.isDepthTexture){let n=z.get(e),r=z.get(t),h=z.get(n.__renderTarget),g=z.get(r.__renderTarget);R.bindFramebuffer(L.READ_FRAMEBUFFER,h.__webglFramebuffer),R.bindFramebuffer(L.DRAW_FRAMEBUFFER,g.__webglFramebuffer);for(let n=0;nMath.PI&&(n-=Dk),r<-Math.PI?r+=Dk:r>Math.PI&&(r-=Dk),n<=r?this._spherical.theta=Math.max(n,Math.min(r,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(n+r)/2?Math.max(n,this._spherical.theta):Math.min(r,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let i=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{let e=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),i=e!=this._spherical.radius}if(Ek.setFromSpherical(this._spherical),Ek.applyQuaternion(this._quatInverse),t.copy(this.target).add(Ek),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let e=null;if(this.object.isPerspectiveCamera){let t=Ek.length();e=this._clampDistance(t*this._scale);let n=t-e;this.object.position.addScaledVector(this._dollyDirection,n),this.object.updateMatrixWorld(),i=!!n}else if(this.object.isOrthographicCamera){let t=new J(this._mouse.x,this._mouse.y,0);t.unproject(this.object);let n=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),i=n!==this.object.zoom;let r=new J(this._mouse.x,this._mouse.y,0);r.unproject(this.object),this.object.position.sub(r).add(t),this.object.updateMatrixWorld(),e=Ek.length()}else console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled.`),this.zoomToCursor=!1;e!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(e).add(this.object.position):(Ck.origin.copy(this.object.position),Ck.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(Ck.direction))kk||8*(1-this._lastQuaternion.dot(this.object.quaternion))>kk||this._lastTargetPosition.distanceToSquared(this.target)>kk?(this.dispatchEvent(bk),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(e){return e===null?Dk/60/60*this.autoRotateSpeed:Dk/60*this.autoRotateSpeed*e}_getZoomScale(e){let t=Math.abs(e*.01);return .95**(this.zoomSpeed*t)}_rotateLeft(e){this._sphericalDelta.theta-=e}_rotateUp(e){this._sphericalDelta.phi-=e}_panLeft(e,t){Ek.setFromMatrixColumn(t,0),Ek.multiplyScalar(-e),this._panOffset.add(Ek)}_panUp(e,t){this.screenSpacePanning===!0?Ek.setFromMatrixColumn(t,1):(Ek.setFromMatrixColumn(t,0),Ek.crossVectors(this.object.up,Ek)),Ek.multiplyScalar(e),this._panOffset.add(Ek)}_pan(e,t){let n=this.domElement;if(this.object.isPerspectiveCamera){let r=this.object.position;Ek.copy(r).sub(this.target);let i=Ek.length();i*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*e*i/n.clientHeight,this.object.matrix),this._panUp(2*t*i/n.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(e*(this.object.right-this.object.left)/this.object.zoom/n.clientWidth,this.object.matrix),this._panUp(t*(this.object.top-this.object.bottom)/this.object.zoom/n.clientHeight,this.object.matrix)):(console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.`),this.enablePan=!1)}_dollyOut(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=e:(console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.`),this.enableZoom=!1)}_dollyIn(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=e:(console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.`),this.enableZoom=!1)}_updateZoomParameters(e,t){if(!this.zoomToCursor)return;this._performCursorZoom=!0;let n=this.domElement.getBoundingClientRect(),r=e-n.left,i=t-n.top,a=n.width,o=n.height;this._mouse.x=r/a*2-1,this._mouse.y=-(i/o)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(e){return Math.max(this.minDistance,Math.min(this.maxDistance,e))}_handleMouseDownRotate(e){this._rotateStart.set(e.clientX,e.clientY)}_handleMouseDownDolly(e){this._updateZoomParameters(e.clientX,e.clientX),this._dollyStart.set(e.clientX,e.clientY)}_handleMouseDownPan(e){this._panStart.set(e.clientX,e.clientY)}_handleMouseMoveRotate(e){this._rotateEnd.set(e.clientX,e.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);let t=this.domElement;this._rotateLeft(Dk*this._rotateDelta.x/t.clientHeight),this._rotateUp(Dk*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(e){this._dollyEnd.set(e.clientX,e.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(e){this._panEnd.set(e.clientX,e.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(e){this._updateZoomParameters(e.clientX,e.clientY),e.deltaY<0?this._dollyIn(this._getZoomScale(e.deltaY)):e.deltaY>0&&this._dollyOut(this._getZoomScale(e.deltaY)),this.update()}_handleKeyDown(e){let t=!1;switch(e.code){case this.keys.UP:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(Dk*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),t=!0;break;case this.keys.BOTTOM:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(-Dk*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),t=!0;break;case this.keys.LEFT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(Dk*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),t=!0;break;case this.keys.RIGHT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(-Dk*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),t=!0;break}t&&(e.preventDefault(),this.update())}_handleTouchStartRotate(e){if(this._pointers.length===1)this._rotateStart.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._rotateStart.set(n,r)}}_handleTouchStartPan(e){if(this._pointers.length===1)this._panStart.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._panStart.set(n,r)}}_handleTouchStartDolly(e){let t=this._getSecondPointerPosition(e),n=e.pageX-t.x,r=e.pageY-t.y,i=Math.sqrt(n*n+r*r);this._dollyStart.set(0,i)}_handleTouchStartDollyPan(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enablePan&&this._handleTouchStartPan(e)}_handleTouchStartDollyRotate(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enableRotate&&this._handleTouchStartRotate(e)}_handleTouchMoveRotate(e){if(this._pointers.length==1)this._rotateEnd.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._rotateEnd.set(n,r)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);let t=this.domElement;this._rotateLeft(Dk*this._rotateDelta.x/t.clientHeight),this._rotateUp(Dk*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(e){if(this._pointers.length===1)this._panEnd.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._panEnd.set(n,r)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(e){let t=this._getSecondPointerPosition(e),n=e.pageX-t.x,r=e.pageY-t.y,i=Math.sqrt(n*n+r*r);this._dollyEnd.set(0,i),this._dollyDelta.set(0,(this._dollyEnd.y/this._dollyStart.y)**+this.zoomSpeed),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);let a=(e.pageX+t.x)*.5,o=(e.pageY+t.y)*.5;this._updateZoomParameters(a,o)}_handleTouchMoveDollyPan(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enablePan&&this._handleTouchMovePan(e)}_handleTouchMoveDollyRotate(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enableRotate&&this._handleTouchMoveRotate(e)}_addPointer(e){this._pointers.push(e.pointerId)}_removePointer(e){delete this._pointerPositions[e.pointerId];for(let t=0;t>5&31)/31,a=(e>>10&31)/31)}for(let c=1;c<=3;c++){let l=n+c*12,u=e*3*3+(c-1)*3;p[u]=t.getFloat32(l,!0),p[u+1]=t.getFloat32(l+4,!0),p[u+2]=t.getFloat32(l+8,!0),m[u]=d,m[u+1]=f,m[u+2]=g,o&&(h.setRGB(r,i,a,Sb),s[u]=h.r,s[u+1]=h.g,s[u+2]=h.b)}}return f.setAttribute(`position`,new sC(p,3)),f.setAttribute(`normal`,new sC(m,3)),o&&(f.setAttribute(`color`,new sC(s,3)),f.hasColors=!0,f.alpha=d),f}function i(e){let t=new vC,n=/solid([\s\S]*?)endsolid/g,r=/facet([\s\S]*?)endfacet/g,i=/solid\s(.+)/,a=0,o=RegExp(`vertex[\\s]+([+-]?(?:\\d*)(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)[\\s]+([+-]?(?:\\d*)(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)[\\s]+([+-]?(?:\\d*)(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)`,`g`),s=RegExp(`normal[\\s]+([+-]?(?:\\d*)(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)[\\s]+([+-]?(?:\\d*)(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)[\\s]+([+-]?(?:\\d*)(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)`,`g`),c=[],l=[],u=[],d=new J,f,p=0,m=0,h=0;for(;(f=n.exec(e))!==null;){m=h;let e=f[0],n=(f=i.exec(e))===null?``:f[1];for(u.push(n);(f=r.exec(e))!==null;){let e=0,t=0,n=f[0];for(;(f=s.exec(n))!==null;)d.x=parseFloat(f[1]),d.y=parseFloat(f[2]),d.z=parseFloat(f[3]),t++;for(;(f=o.exec(n))!==null;)c.push(parseFloat(f[1]),parseFloat(f[2]),parseFloat(f[3])),l.push(d.x,d.y,d.z),e++,h++;t!==1&&console.error(`THREE.STLLoader: Something isn't right with the normal of face number `+a),e!==3&&console.error(`THREE.STLLoader: Something isn't right with the vertices of face number `+a),a++}let g=m,_=h-m;t.userData.groupNames=u,t.addGroup(g,_,p),p++}return t.setAttribute(`position`,new uC(c,3)),t.setAttribute(`normal`,new uC(l,3)),t}function a(e){return typeof e==`string`?e:new TextDecoder().decode(e)}function o(e){if(typeof e==`string`){let t=new Uint8Array(e.length);for(let n=0;n256||e.colormap_size!==24||e.colormap_type!==1)throw Error(`THREE.TGALoader: Invalid type colormap data for indexed type.`);break;case f:case p:case h:case g:if(e.colormap_type)throw Error(`THREE.TGALoader: Invalid type colormap data for colormap type.`);break;case u:throw Error(`THREE.TGALoader: No data.`);default:throw Error(`THREE.TGALoader: Invalid type `+e.image_type)}if(e.width<=0||e.height<=0)throw Error(`THREE.TGALoader: Invalid image size.`);if(e.pixel_size!==8&&e.pixel_size!==16&&e.pixel_size!==24&&e.pixel_size!==32)throw Error(`THREE.TGALoader: Invalid pixel size `+e.pixel_size)}function n(e,t,n,r,i){let a,o,s=n.pixel_size>>3,c=n.width*n.height*s;if(t&&(o=i.subarray(r,r+=n.colormap_length*(n.colormap_size>>3))),e){a=new Uint8Array(c);let e,t,n,o=0,l=new Uint8Array(s);for(;o>7,e[(u+f*d)*4+1]=(c&992)>>2,e[(u+f*d)*4+2]=(c&31)<<3,e[(u+f*d)*4+3]=c&32768?0:255;return e}function a(e,t,n,r,i,a,o,s){let c=0,l,u,d=T.width;for(u=t;u!==r;u+=n)for(l=i;l!==o;l+=a,c+=3)e[(l+d*u)*4+3]=255,e[(l+d*u)*4+2]=s[c+0],e[(l+d*u)*4+1]=s[c+1],e[(l+d*u)*4+0]=s[c+2];return e}function o(e,t,n,r,i,a,o,s){let c=0,l,u,d=T.width;for(u=t;u!==r;u+=n)for(l=i;l!==o;l+=a,c+=4)e[(l+d*u)*4+2]=s[c+0],e[(l+d*u)*4+1]=s[c+1],e[(l+d*u)*4+0]=s[c+2],e[(l+d*u)*4+3]=s[c+3];return e}function s(e,t,n,r,i,a,o,s){let c,l=0,u,d,f=T.width;for(d=t;d!==r;d+=n)for(u=i;u!==o;u+=a,l++)c=s[l],e[(u+f*d)*4+0]=c,e[(u+f*d)*4+1]=c,e[(u+f*d)*4+2]=c,e[(u+f*d)*4+3]=255;return e}function c(e,t,n,r,i,a,o,s){let c=0,l,u,d=T.width;for(u=t;u!==r;u+=n)for(l=i;l!==o;l+=a,c+=2)e[(l+d*u)*4+0]=s[c+0],e[(l+d*u)*4+1]=s[c+0],e[(l+d*u)*4+2]=s[c+0],e[(l+d*u)*4+3]=s[c+1];return e}function l(e,t,n,l,u){let d,f,p,m,h,g;switch((T.flags&_)>>v){default:case x:d=0,p=1,h=t,f=0,m=1,g=n;break;case y:d=0,p=1,h=t,f=n-1,m=-1,g=-1;break;case S:d=t-1,p=-1,h=-1,f=0,m=1,g=n;break;case b:d=t-1,p=-1,h=-1,f=n-1,m=-1,g=-1;break}if(O)switch(T.pixel_size){case 8:s(e,f,m,g,d,p,h,l);break;case 16:c(e,f,m,g,d,p,h,l);break;default:throw Error(`THREE.TGALoader: Format not supported.`)}else switch(T.pixel_size){case 8:r(e,f,m,g,d,p,h,l,u);break;case 16:i(e,f,m,g,d,p,h,l);break;case 24:a(e,f,m,g,d,p,h,l);break;case 32:o(e,f,m,g,d,p,h,l);break;default:throw Error(`THREE.TGALoader: Format not supported.`)}return e}let u=0,d=1,f=2,p=3,m=9,h=10,g=11,_=48,v=4,y=0,b=1,x=2,S=3;if(e.length<19)throw Error(`THREE.TGALoader: Not enough data to contain header.`);let C=0,w=new Uint8Array(e),T={id_length:w[C++],colormap_type:w[C++],image_type:w[C++],colormap_index:w[C++]|w[C++]<<8,colormap_length:w[C++]|w[C++]<<8,colormap_size:w[C++],origin:[w[C++]|w[C++]<<8,w[C++]|w[C++]<<8],width:w[C++]|w[C++]<<8,height:w[C++]|w[C++]<<8,pixel_size:w[C++],flags:w[C++]};if(t(T),T.id_length+C>e.length)throw Error(`THREE.TGALoader: No data.`);C+=T.id_length;let E=!1,D=!1,O=!1;switch(T.image_type){case 9:E=!0,D=!0;break;case 1:D=!0;break;case 10:E=!0;break;case 2:break;case 11:E=!0,O=!0;break;case 3:O=!0;break}let k=new Uint8Array(T.width*T.height*4),A=n(E,D,T,C,w);return l(k,T.width,T.height,A.pixel_data,A.palettes),{data:k,width:T.width,height:T.height,flipY:!0,generateMipmaps:!0,minFilter:fy}}},Gk=class extends CT{load(e,t,n,r){let i=this,a=i.path===``?qT.extractUrlBase(e):i.path,o=new ET(i.manager);o.setPath(i.path),o.setRequestHeader(i.requestHeader),o.setWithCredentials(i.withCredentials),o.load(e,function(n){try{t(i.parse(n,a))}catch(t){r?r(t):console.error(t),i.manager.itemError(e)}},n,r)}parse(e,t){function n(e,t){let n=[],r=e.childNodes;for(let e=0,i=r.length;e0&&t.push(new gT(r+`.position`,i,a)),o.length>0&&t.push(new mT(r+`.quaternion`,i,o)),s.length>0&&t.push(new gT(r+`.scale`,i,s)),t}function E(e,t,n){let r,i=!0,a,o;for(a=0,o=e.length;a=0;){let r=e[t];if(r.value[n]!==null)return r;t--}return null}function k(e,t,n){for(;t>>0)+2);switch(n=n.toLowerCase(),n){case`tga`:t=Ft;break;default:t=Pt}return t}function Se(e){let t=ye(e.url),n=t.profile.technique,r;switch(n.type){case`phong`:case`blinn`:r=new Xw;break;case`lambert`:r=new Zw;break;default:r=new rC;break}r.name=e.name||``;function i(e,n=null){let r=t.profile.samplers[e.id],i=null;if(r!==void 0){let e=t.profile.surfaces[r.source];i=oe(e.init_from)}else console.warn(`THREE.ColladaLoader: Undefined sampler. Access image directly (see #12530).`),i=oe(e.id);if(i!==null){let t=xe(i);if(t!==void 0){let r=t.load(i),a=e.extra;if(a!==void 0&&a.technique!==void 0&&c(a.technique)===!1){let e=a.technique;r.wrapS=e.wrapU?iy:ay,r.wrapT=e.wrapV?iy:ay,r.offset.set(e.offsetU||0,e.offsetV||0),r.repeat.set(e.repeatU||1,e.repeatV||1)}else r.wrapS=iy,r.wrapT=iy;return n!==null&&(r.colorSpace=n),r}else return console.warn(`THREE.ColladaLoader: Loader for texture %s not found.`,i),null}else return console.warn(`THREE.ColladaLoader: Couldn't create texture with ID:`,e.id),null}let a=n.parameters;for(let e in a){let t=a[e];switch(e){case`diffuse`:t.color&&r.color.fromArray(t.color),t.texture&&(r.map=i(t.texture,Sb));break;case`specular`:t.color&&r.specular&&r.specular.fromArray(t.color),t.texture&&(r.specularMap=i(t.texture));break;case`bump`:t.texture&&(r.normalMap=i(t.texture));break;case`ambient`:t.texture&&(r.lightMap=i(t.texture,Sb));break;case`shininess`:t.float&&r.shininess&&(r.shininess=t.float);break;case`emission`:t.color&&r.emissive&&r.emissive.fromArray(t.color),t.texture&&(r.emissiveMap=i(t.texture,Sb));break}}bx.colorSpaceToWorking(r.color,Sb),r.specular&&bx.colorSpaceToWorking(r.specular,Sb),r.emissive&&bx.colorSpaceToWorking(r.emissive,Sb);let o=a.transparent,s=a.transparency;if(s===void 0&&o&&(s={float:1}),o===void 0&&s&&(o={opaque:`A_ONE`,data:{color:[1,1,1,1]}}),o&&s)if(o.data.texture)r.transparent=!0;else{let e=o.data.color;switch(o.opaque){case`A_ONE`:r.opacity=e[3]*s.float;break;case`RGB_ZERO`:r.opacity=1-e[0]*s.float;break;case`A_ZERO`:r.opacity=1-e[3]*s.float;break;case`RGB_ONE`:r.opacity=e[0]*s.float;break;default:console.warn(`THREE.ColladaLoader: Invalid opaque type "%s" of transparent tag.`,o.opaque)}r.opacity<1&&(r.transparent=!0)}if(n.extra!==void 0&&n.extra.technique!==void 0){let e=n.extra.technique;for(let t in e){let n=e[t];switch(t){case`double_sided`:r.side=n===1?2:0;break;case`bump`:r.normalMap=i(n.texture),r.normalScale=new rx(1,1);break}}}return r}function Ce(e){return m(B.materials[e],Se)}function we(e){let t={name:e.getAttribute(`name`)};for(let n=0,r=e.childNodes.length;n0?n+s:n;t.inputs[c]={id:e,offset:i},t.stride=Math.max(t.stride,i+1),n===`TEXCOORD`&&(t.hasUV=!0);break;case`vcount`:t.vcount=a(r.textContent);break;case`p`:t.p=a(r.textContent);break}}return t}function ze(e){let t={};for(let n=0;n0&&t0&&d.setAttribute(`position`,new uC(i.array,i.stride)),a.array.length>0&&d.setAttribute(`normal`,new uC(a.array,a.stride)),c.array.length>0&&d.setAttribute(`color`,new uC(c.array,c.stride)),o.array.length>0&&d.setAttribute(`uv`,new uC(o.array,o.stride)),s.array.length>0&&d.setAttribute(`uv1`,new uC(s.array,s.stride)),l.array.length>0&&d.setAttribute(`skinIndex`,new uC(l.array,l.stride)),u.array.length>0&&d.setAttribute(`skinWeight`,new uC(u.array,u.stride)),r.data=d,r.type=e[0].type,r.materialKeys=f,r}function Ue(e,t,n,r,i=!1){let a=e.p,o=e.stride,s=e.vcount;function c(e){let t=a[e+n]*u,o=t+u;for(;t4)for(let t=1,r=n-2;t<=r;t++){let n=e+o*0,r=e+o*t,i=e+o*(t+1);c(n),c(r),c(i)}e+=o*n}}else for(let e=0,t=a.length;e=t.limits.max&&(t.static=!0),t.middlePosition=(t.limits.min+t.limits.max)/2,t}function Ze(e){let t={sid:e.getAttribute(`sid`),name:e.getAttribute(`name`)||``,attachments:[],transforms:[]};for(let n=0;nr.limits.max||te===null?null:parseFloat(e)),(!this.origPosition||!this.origQuaternion)&&(this.origPosition=this.position.clone(),this.origQuaternion=this.quaternion.clone());let t=!1;switch(this.mimicJoints.forEach(n=>{t=n.updateFromMimickedJoint(...e)||t}),this.jointType){case`fixed`:return t;case`continuous`:case`revolute`:{let n=e[0];return n==null||n===this.jointValue[0]?t:(!this.ignoreLimits&&this.jointType===`revolute`&&(n=Math.min(this.limit.upper,n),n=Math.max(this.limit.lower,n)),this.quaternion.setFromAxisAngle(this.axis,n).premultiply(this.origQuaternion),this.jointValue[0]===n?t:(this.jointValue[0]=n,this.matrixWorldNeedsUpdate=!0,!0))}case`prismatic`:{let n=e[0];return n==null||n===this.jointValue[0]?t:(this.ignoreLimits||(n=Math.min(this.limit.upper,n),n=Math.max(this.limit.lower,n)),this.position.copy(this.origPosition),Kk.copy(this.axis).applyEuler(this.rotation),this.position.addScaledVector(Kk,n),this.jointValue[0]===n?t:(this.jointValue[0]=n,this.matrixWorldNeedsUpdate=!0,!0))}case`floating`:return this.jointValue.every((t,n)=>e[n]===t||e[n]===null)?t:(this.jointValue[0]=e[0]===null?this.jointValue[0]:e[0],this.jointValue[1]=e[1]===null?this.jointValue[1]:e[1],this.jointValue[2]=e[2]===null?this.jointValue[2]:e[2],this.jointValue[3]=e[3]===null?this.jointValue[3]:e[3],this.jointValue[4]=e[4]===null?this.jointValue[4]:e[4],this.jointValue[5]=e[5]===null?this.jointValue[5]:e[5],Yk.compose(this.origPosition,this.origQuaternion,Zk),Xk.setFromEuler(qk.set(this.jointValue[3],this.jointValue[4],this.jointValue[5],`XYZ`)),Qk.set(this.jointValue[0],this.jointValue[1],this.jointValue[2]),Jk.compose(Qk,Xk,Zk),Yk.premultiply(Jk),this.position.setFromMatrixPosition(Yk),this.rotation.setFromRotationMatrix(Yk),this.matrixWorldNeedsUpdate=!0,!0);case`planar`:return this.jointValue.every((t,n)=>e[n]===t||e[n]===null)?t:(this.jointValue[0]=e[0]===null?this.jointValue[0]:e[0],this.jointValue[1]=e[1]===null?this.jointValue[1]:e[1],this.jointValue[2]=e[2]===null?this.jointValue[2]:e[2],Yk.compose(this.origPosition,this.origQuaternion,Zk),Xk.setFromAxisAngle(this.axis,this.jointValue[2]),Qk.set(this.jointValue[0],this.jointValue[1],0),Jk.compose(Qk,Xk,Zk),Yk.premultiply(Jk),this.position.setFromMatrixPosition(Yk),this.rotation.setFromRotationMatrix(Yk),this.matrixWorldNeedsUpdate=!0,!0)}return t}},iA=class extends rA{constructor(...e){super(...e),this.type=`URDFMimicJoint`,this.mimicJoint=null,this.offset=0,this.multiplier=1}updateFromMimickedJoint(...e){let t=e.map(e=>e===null?null:e*this.multiplier+this.offset);return super.setJointValue(...t)}copy(e,t){return super.copy(e,t),this.mimicJoint=e.mimicJoint,this.offset=e.offset,this.multiplier=e.multiplier,this}},aA=class extends nA{constructor(...e){super(...e),this.isURDFRobot=!0,this.urdfNode=null,this.urdfRobotNode=null,this.robotName=null,this.links=null,this.joints=null,this.colliders=null,this.visual=null,this.frames=null}copy(e,t){super.copy(e,t),this.urdfRobotNode=e.urdfRobotNode,this.robotName=e.robotName,this.links={},this.joints={},this.colliders={},this.visual={},this.traverse(t=>{t.isURDFJoint&&t.urdfName in e.joints&&(this.joints[t.urdfName]=t),t.isURDFLink&&t.urdfName in e.links&&(this.links[t.urdfName]=t),t.isURDFCollider&&t.urdfName in e.colliders&&(this.colliders[t.urdfName]=t),t.isURDFVisual&&t.urdfName in e.visual&&(this.visual[t.urdfName]=t)});for(let e in this.joints)this.joints[e].mimicJoints=this.joints[e].mimicJoints.map(e=>this.joints[e.name]);return this.frames={...this.colliders,...this.visual,...this.links,...this.joints},this}getFrame(e){return this.frames[e]}setJointValue(e,...t){let n=this.joints[e];return n?n.setJointValue(...t):!1}setJointValues(e){let t=!1;for(let n in e){let r=e[n];t=Array.isArray(r)?this.setJointValue(n,...r)||t:this.setJointValue(n,r)||t}return t}},oA=new ix,sA=new vS;function cA(e){return e?e.trim().split(/\s+/g).map(e=>parseFloat(e)):[0,0,0]}function lA(e,t,n=!1){n||e.rotation.set(0,0,0),sA.set(t[0],t[1],t[2],`ZYX`),oA.setFromEuler(sA),oA.multiply(e.quaternion),e.quaternion.copy(oA)}var uA=class{constructor(e){this.manager=e||ST,this.loadMeshCb=this.defaultMeshLoader.bind(this),this.parseVisual=!0,this.parseCollision=!1,this.packages=``,this.workingPath=``,this.fetchOptions={}}loadAsync(e){return new Promise((t,n)=>{this.load(e,t,null,n)})}load(e,t,n,r){let i=this.manager,a=qT.extractUrlBase(e),o=this.manager.resolveURL(e);i.itemStart(o),fetch(o,this.fetchOptions).then(e=>{if(e.ok)return n&&n(null),e.text();throw Error(`URDFLoader: Failed to load url '${o}' with error code ${e.status} : ${e.statusText}.`)}).then(e=>{t(this.parse(e,this.workingPath||a)),i.itemEnd(o)}).catch(e=>{r?r(e):console.error(`URDFLoader: Error loading file.`,e),i.itemError(o),i.itemEnd(o)})}parse(e,t=this.workingPath){let n=this.packages,r=this.loadMeshCb,i=this.parseVisual,a=this.parseCollision,o=this.manager,s={},c={},l={};function u(e){if(!/^package:\/\//.test(e))return t?t+e:e;let[r,i]=e.replace(/^package:\/\//,``).split(/\/(.+)/);if(typeof n==`string`)return n.endsWith(r)?n+`/`+i:n+`/`+r+`/`+i;if(typeof n==`function`)return n(r)+`/`+i;if(typeof n==`object`)return r in n?n[r]+`/`+i:(console.error(`URDFLoader : ${r} not found in provided package list.`),null)}function d(e){let t;return t=e instanceof Document?[...e.children]:e instanceof Element?[e]:[...new DOMParser().parseFromString(e,`text/xml`).children],f(t.filter(e=>e.nodeName===`robot`).pop())}function f(e){let t=[...e.children],n=t.filter(e=>e.nodeName.toLowerCase()===`link`),r=t.filter(e=>e.nodeName.toLowerCase()===`joint`),i=t.filter(e=>e.nodeName.toLowerCase()===`material`),a=new aA;a.robotName=e.getAttribute(`name`),a.urdfRobotNode=e,i.forEach(e=>{let t=e.getAttribute(`name`);l[t]=h(e)});let o={},u={};n.forEach(t=>{let n=t.getAttribute(`name`);s[n]=m(t,o,u,e.querySelector(`child[link="${n}"]`)===null?a:null)}),r.forEach(e=>{let t=e.getAttribute(`name`);c[t]=p(e)}),a.joints=c,a.links=s,a.colliders=u,a.visual=o;let d=Object.values(c);return d.forEach(e=>{e instanceof iA&&c[e.mimicJoint].mimicJoints.push(e)}),d.forEach(e=>{let t=new Set,n=e=>{if(t.has(e))throw Error(`URDFLoader: Detected an infinite loop of mimic joints.`);t.add(e),e.mimicJoints.forEach(e=>{n(e)})};n(e)}),a.frames={...u,...o,...s,...c},a}function p(e){let t=[...e.children],n=e.getAttribute(`type`),r,i=t.find(e=>e.nodeName.toLowerCase()===`mimic`);i?(r=new iA,r.mimicJoint=i.getAttribute(`joint`),r.multiplier=parseFloat(i.getAttribute(`multiplier`)||1),r.offset=parseFloat(i.getAttribute(`offset`)||0)):r=new rA,r.urdfNode=e,r.name=e.getAttribute(`name`),r.urdfName=r.name,r.jointType=n;let a=null,o=null,c=[0,0,0],l=[0,0,0];t.forEach(e=>{let t=e.nodeName.toLowerCase();t===`origin`?(c=cA(e.getAttribute(`xyz`)),l=cA(e.getAttribute(`rpy`))):t===`child`?o=s[e.getAttribute(`link`)]:t===`parent`?a=s[e.getAttribute(`link`)]:t===`limit`&&(r.limit.lower=parseFloat(e.getAttribute(`lower`)||r.limit.lower),r.limit.upper=parseFloat(e.getAttribute(`upper`)||r.limit.upper),r.limit.effort=parseFloat(e.getAttribute(`effort`)||r.limit.effort),r.limit.velocity=parseFloat(e.getAttribute(`velocity`)||r.limit.velocity))}),a.add(r),r.add(o),lA(r,l),r.position.set(c[0],c[1],c[2]);let u=t.filter(e=>e.nodeName.toLowerCase()===`axis`)[0];if(u){let e=u.getAttribute(`xyz`).split(/\s+/g).map(e=>parseFloat(e));r.axis=new J(e[0],e[1],e[2]),r.axis.normalize()}return r}function m(e,t,n,r=null){r===null&&(r=new nA);let o=[...e.children];r.name=e.getAttribute(`name`),r.urdfName=r.name,r.urdfNode=e;let s=o.find(e=>e.nodeName.toLowerCase()===`inertial`);return s&&[...s.children].forEach(e=>{let t=e.nodeName.toLowerCase();t===`origin`?(r.inertial.origin.xyz=cA(e.getAttribute(`xyz`)),r.inertial.origin.rpy=cA(e.getAttribute(`rpy`))):t===`mass`?r.inertial.mass=parseFloat(e.getAttribute(`value`))||0:t===`inertia`&&(r.inertial.inertia.ixx=parseFloat(e.getAttribute(`ixx`))||0,r.inertial.inertia.ixy=parseFloat(e.getAttribute(`ixy`))||0,r.inertial.inertia.ixz=parseFloat(e.getAttribute(`ixz`))||0,r.inertial.inertia.iyy=parseFloat(e.getAttribute(`iyy`))||0,r.inertial.inertia.iyz=parseFloat(e.getAttribute(`iyz`))||0,r.inertial.inertia.izz=parseFloat(e.getAttribute(`izz`))||0)}),i&&o.filter(e=>e.nodeName.toLowerCase()===`visual`).forEach(e=>{let n=g(e,l);if(r.add(n),e.hasAttribute(`name`)){let r=e.getAttribute(`name`);n.name=r,n.urdfName=r,t[r]=n}}),a&&o.filter(e=>e.nodeName.toLowerCase()===`collision`).forEach(e=>{let t=g(e);if(r.add(t),e.hasAttribute(`name`)){let r=e.getAttribute(`name`);t.name=r,t.urdfName=r,n[r]=t}}),r}function h(e){let t=[...e.children],n=new Xw;return n.name=e.getAttribute(`name`)||``,t.forEach(e=>{let t=e.nodeName.toLowerCase();if(t===`color`){let t=e.getAttribute(`rgba`).split(/\s/g).map(e=>parseFloat(e));n.color.setRGB(t[0],t[1],t[2]),n.opacity=t[3],n.transparent=t[3]<1,n.depthWrite=!n.transparent}else if(t===`texture`){let t=e.getAttribute(`filename`);if(t){let e=new kT(o),r=u(t);n.map=e.load(r),n.map.colorSpace=Sb}}}),n}function g(e,t={}){let n=e.nodeName.toLowerCase()===`collision`,i=[...e.children],a=null,s=i.filter(e=>e.nodeName.toLowerCase()===`material`)[0];if(s){let e=s.getAttribute(`name`);a=e&&e in t?t[e]:h(s)}else a=new Xw;let c=n?new eA:new tA;return c.urdfNode=e,i.forEach(e=>{let t=e.nodeName.toLowerCase();if(t===`geometry`){let t=e.children[0].nodeName.toLowerCase();if(t===`mesh`){let t=u(e.children[0].getAttribute(`filename`));if(t!==null){let n=e.children[0].getAttribute(`scale`);if(n){let e=cA(n);c.scale.set(e[0],e[1],e[2])}r(t,o,(e,t)=>{t?console.error(`URDFLoader: Error loading mesh.`,t):e&&(e instanceof AC&&(e.material=a),e.position.set(0,0,0),e.quaternion.identity(),c.add(e))})}}else if(t===`box`){let t=new AC;t.geometry=new NC(1,1,1),t.material=a;let n=cA(e.children[0].getAttribute(`size`));t.scale.set(n[0],n[1],n[2]),c.add(t)}else if(t===`sphere`){let t=new AC;t.geometry=new Kw(1,30,30),t.material=a;let n=parseFloat(e.children[0].getAttribute(`radius`))||0;t.scale.set(n,n,n),c.add(t)}else if(t===`cylinder`){let t=new AC;t.geometry=new Ww(1,1,1,30),t.material=a;let n=parseFloat(e.children[0].getAttribute(`radius`))||0,r=parseFloat(e.children[0].getAttribute(`length`))||0;t.scale.set(n,r,n),t.rotation.set(Math.PI/2,0,0),c.add(t)}}else if(t===`origin`){let t=cA(e.getAttribute(`xyz`)),n=cA(e.getAttribute(`rpy`));c.position.set(t[0],t[1],t[2]),c.rotation.set(0,0,0),lA(c,n)}}),c}return d(e)}defaultMeshLoader(e,t,n){/\.stl$/i.test(e)?new Uk(t).load(e,e=>{n(new AC(e,new Xw))},null,e=>n(null,e)):/\.dae$/i.test(e)?new Gk(t).load(e,e=>n(e.scene),null,e=>n(null,e)):console.warn(`URDFLoader: Could not load model at ${e}.\nNo loader available`)}},dA=new rx,fA=()=>{},pA=class extends HTMLElement{static get observedAttributes(){return[`package`,`urdf`,`up`,`display-shadow`,`ambient-color`,`ignore-limits`,`show-collision`]}get package(){return this.getAttribute(`package`)||``}set package(e){this.setAttribute(`package`,e)}get urdf(){return this.getAttribute(`urdf`)||``}set urdf(e){this.setAttribute(`urdf`,e)}get ignoreLimits(){return this.hasAttribute(`ignore-limits`)||!1}set ignoreLimits(e){e?this.setAttribute(`ignore-limits`,e):this.removeAttribute(`ignore-limits`)}get up(){return this.getAttribute(`up`)||`+Z`}set up(e){this.setAttribute(`up`,e)}get displayShadow(){return this.hasAttribute(`display-shadow`)||!1}set displayShadow(e){e?this.setAttribute(`display-shadow`,``):this.removeAttribute(`display-shadow`)}get ambientColor(){return this.getAttribute(`ambient-color`)||`#8ea0a8`}set ambientColor(e){e?this.setAttribute(`ambient-color`,e):this.removeAttribute(`ambient-color`)}get autoRedraw(){return this.hasAttribute(`auto-redraw`)||!1}set autoRedraw(e){e?this.setAttribute(`auto-redraw`,!0):this.removeAttribute(`auto-redraw`)}get noAutoRecenter(){return this.hasAttribute(`no-auto-recenter`)||!1}set noAutoRecenter(e){e?this.setAttribute(`no-auto-recenter`,!0):this.removeAttribute(`no-auto-recenter`)}get showCollision(){return this.hasAttribute(`show-collision`)||!1}set showCollision(e){e?this.setAttribute(`show-collision`,!0):this.removeAttribute(`show-collision`)}get jointValues(){let e={};if(this.robot)for(let t in this.robot.joints){let n=this.robot.joints[t];e[t]=n.jointValue.length===1?n.angle:[...n.jointValue]}return e}set jointValues(e){this.setJointValues(e)}get angles(){return this.jointValues}set angles(e){this.jointValues=e}constructor(){super(),this._requestId=0,this._dirty=!1,this._loadScheduled=!1,this.robot=null,this.loadMeshFunc=null,this.urlModifierFunc=null;let e=new YC,t=new jT(this.ambientColor,`#000`);t.groundColor.lerp(t.color,.5*Math.PI),t.intensity=.5,t.position.set(0,1,0),e.add(t);let n=new GT(16777215,Math.PI);n.position.set(4,10,1),n.shadow.mapSize.width=2048,n.shadow.mapSize.height=2048,n.shadow.normalBias=.001,n.castShadow=!0,e.add(n),e.add(n.target);let r=new yk({antialias:!0,alpha:!0});r.setClearColor(16777215),r.setClearAlpha(0),r.shadowMap.enabled=!0,r.shadowMap.type=2,r.outputColorSpace=Sb;let i=new UC(75,1,.1,1e3);i.position.z=-10;let a=new FS;e.add(a);let o=new AC(new Gw(40,40),new qw({side:2,transparent:!0,opacity:.25}));o.rotation.x=-Math.PI/2,o.position.y=-.5,o.receiveShadow=!0,o.scale.set(10,10,10),e.add(o);let s=new Ak(i,r.domElement);s.rotateSpeed=2,s.zoomSpeed=5,s.panSpeed=2,s.enableZoom=!0,s.enableDamping=!1,s.maxDistance=50,s.minDistance=.25,s.addEventListener(`change`,()=>this.recenter()),this.scene=e,this.world=a,this.renderer=r,this.camera=i,this.controls=s,this.plane=o,this.directionalLight=n,this.ambientLight=t,this._setUp(this.up),this._collisionMaterial=new Xw({transparent:!0,opacity:.35,shininess:2.5,premultipliedAlpha:!0,color:16760376,polygonOffset:!0,polygonOffsetFactor:-1,polygonOffsetUnits:-1});let c=()=>{this.parentNode&&(this.updateSize(),(this._dirty||this.autoRedraw)&&(this.noAutoRecenter||this._updateEnvironment(),this.renderer.render(e,i),this._dirty=!1),this.controls.update()),this._renderLoopId=requestAnimationFrame(c)};c()}connectedCallback(){if(!this.constructor._styletag){let e=document.createElement(`style`);e.innerHTML=` +}`,QO=class{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,n){if(this.texture===null){let r=new Ex,i=e.properties.get(r);i.__webglTexture=t.texture,(t.depthNear!==n.depthNear||t.depthFar!==n.depthFar)&&(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=r}}getMesh(e){if(this.texture!==null&&this.mesh===null){let t=e.cameras[0].viewport,n=new IC({vertexShader:Dte,fragmentShader:Ote,uniforms:{depthColor:{value:this.texture},depthWidth:{value:t.z},depthHeight:{value:t.w}}});this.mesh=new TC(new Qw(20,20),n)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}},$O=class extends Ob{constructor(e,t){super();let n=this,r=null,i=1,a=null,o=`local-floor`,s=1,c=null,l=null,u=null,d=null,f=null,p=null,m=new QO,h=t.getContextAttributes(),g=null,_=null,v=[],y=[],b=new nx,x=null,S=new VC;S.viewport=new Dx;let C=new VC;C.viewport=new Dx;let w=[S,C],T=new ZT,E=null,D=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(e){let t=v[e];return t===void 0&&(t=new YC,v[e]=t),t.getTargetRaySpace()},this.getControllerGrip=function(e){let t=v[e];return t===void 0&&(t=new YC,v[e]=t),t.getGripSpace()},this.getHand=function(e){let t=v[e];return t===void 0&&(t=new YC,v[e]=t),t.getHandSpace()};function O(e){let t=y.indexOf(e.inputSource);if(t===-1)return;let n=v[t];n!==void 0&&(n.update(e.inputSource,e.frame,c||a),n.dispatchEvent({type:e.type,data:e.inputSource}))}function k(){r.removeEventListener(`select`,O),r.removeEventListener(`selectstart`,O),r.removeEventListener(`selectend`,O),r.removeEventListener(`squeeze`,O),r.removeEventListener(`squeezestart`,O),r.removeEventListener(`squeezeend`,O),r.removeEventListener(`end`,k),r.removeEventListener(`inputsourceschange`,A);for(let e=0;e=0&&(y[r]=null,v[r].disconnect(n))}for(let t=0;t=y.length){y.push(n),r=e;break}else if(y[e]===null){y[e]=n,r=e;break}if(r===-1)break}let i=v[r];i&&i.connect(n)}}let j=new J,M=new J;function N(e,t,n){j.setFromMatrixPosition(t.matrixWorld),M.setFromMatrixPosition(n.matrixWorld);let r=j.distanceTo(M),i=t.projectionMatrix.elements,a=n.projectionMatrix.elements,o=i[14]/(i[10]-1),s=i[14]/(i[10]+1),c=(i[9]+1)/i[5],l=(i[9]-1)/i[5],u=(i[8]-1)/i[0],d=(a[8]+1)/a[0],f=o*u,p=o*d,m=r/(-u+d),h=m*-u;if(t.matrixWorld.decompose(e.position,e.quaternion,e.scale),e.translateX(h),e.translateZ(m),e.matrixWorld.compose(e.position,e.quaternion,e.scale),e.matrixWorldInverse.copy(e.matrixWorld).invert(),i[10]===-1)e.projectionMatrix.copy(t.projectionMatrix),e.projectionMatrixInverse.copy(t.projectionMatrixInverse);else{let t=o+m,n=s+m,i=f-h,a=p+(r-h),u=c*s/n*t,d=l*s/n*t;e.projectionMatrix.makePerspective(i,a,u,d,t,n),e.projectionMatrixInverse.copy(e.projectionMatrix).invert()}}function P(e,t){t===null?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.updateCamera=function(e){if(r===null)return;let t=e.near,n=e.far;m.texture!==null&&(m.depthNear>0&&(t=m.depthNear),m.depthFar>0&&(n=m.depthFar)),T.near=C.near=S.near=t,T.far=C.far=S.far=n,(E!==T.near||D!==T.far)&&(r.updateRenderState({depthNear:T.near,depthFar:T.far}),E=T.near,D=T.far),S.layers.mask=e.layers.mask|2,C.layers.mask=e.layers.mask|4,T.layers.mask=S.layers.mask|C.layers.mask;let i=e.parent,a=T.cameras;P(T,i);for(let e=0;e0&&(e.alphaTest.value=r.alphaTest);let i=t.get(r),a=i.envMap,o=i.envMapRotation;a&&(e.envMap.value=a,ek.copy(o),ek.x*=-1,ek.y*=-1,ek.z*=-1,a.isCubeTexture&&a.isRenderTargetTexture===!1&&(ek.y*=-1,ek.z*=-1),e.envMapRotation.value.setFromMatrix4(tk.makeRotationFromEuler(ek)),e.flipEnvMap.value=a.isCubeTexture&&a.isRenderTargetTexture===!1?-1:1,e.reflectivity.value=r.reflectivity,e.ior.value=r.ior,e.refractionRatio.value=r.refractionRatio),r.lightMap&&(e.lightMap.value=r.lightMap,e.lightMapIntensity.value=r.lightMapIntensity,n(r.lightMap,e.lightMapTransform)),r.aoMap&&(e.aoMap.value=r.aoMap,e.aoMapIntensity.value=r.aoMapIntensity,n(r.aoMap,e.aoMapTransform))}function o(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform))}function s(e,t){e.dashSize.value=t.dashSize,e.totalSize.value=t.dashSize+t.gapSize,e.scale.value=t.scale}function c(e,t,r,i){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.size.value=t.size*r,e.scale.value=i*.5,t.map&&(e.map.value=t.map,n(t.map,e.uvTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,n(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}function l(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.rotation.value=t.rotation,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,n(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}function u(e,t){e.specular.value.copy(t.specular),e.shininess.value=Math.max(t.shininess,1e-4)}function d(e,t){t.gradientMap&&(e.gradientMap.value=t.gradientMap)}function f(e,t){e.metalness.value=t.metalness,t.metalnessMap&&(e.metalnessMap.value=t.metalnessMap,n(t.metalnessMap,e.metalnessMapTransform)),e.roughness.value=t.roughness,t.roughnessMap&&(e.roughnessMap.value=t.roughnessMap,n(t.roughnessMap,e.roughnessMapTransform)),t.envMap&&(e.envMapIntensity.value=t.envMapIntensity)}function p(e,t,r){e.ior.value=t.ior,t.sheen>0&&(e.sheenColor.value.copy(t.sheenColor).multiplyScalar(t.sheen),e.sheenRoughness.value=t.sheenRoughness,t.sheenColorMap&&(e.sheenColorMap.value=t.sheenColorMap,n(t.sheenColorMap,e.sheenColorMapTransform)),t.sheenRoughnessMap&&(e.sheenRoughnessMap.value=t.sheenRoughnessMap,n(t.sheenRoughnessMap,e.sheenRoughnessMapTransform))),t.clearcoat>0&&(e.clearcoat.value=t.clearcoat,e.clearcoatRoughness.value=t.clearcoatRoughness,t.clearcoatMap&&(e.clearcoatMap.value=t.clearcoatMap,n(t.clearcoatMap,e.clearcoatMapTransform)),t.clearcoatRoughnessMap&&(e.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap,n(t.clearcoatRoughnessMap,e.clearcoatRoughnessMapTransform)),t.clearcoatNormalMap&&(e.clearcoatNormalMap.value=t.clearcoatNormalMap,n(t.clearcoatNormalMap,e.clearcoatNormalMapTransform),e.clearcoatNormalScale.value.copy(t.clearcoatNormalScale),t.side===1&&e.clearcoatNormalScale.value.negate())),t.dispersion>0&&(e.dispersion.value=t.dispersion),t.iridescence>0&&(e.iridescence.value=t.iridescence,e.iridescenceIOR.value=t.iridescenceIOR,e.iridescenceThicknessMinimum.value=t.iridescenceThicknessRange[0],e.iridescenceThicknessMaximum.value=t.iridescenceThicknessRange[1],t.iridescenceMap&&(e.iridescenceMap.value=t.iridescenceMap,n(t.iridescenceMap,e.iridescenceMapTransform)),t.iridescenceThicknessMap&&(e.iridescenceThicknessMap.value=t.iridescenceThicknessMap,n(t.iridescenceThicknessMap,e.iridescenceThicknessMapTransform))),t.transmission>0&&(e.transmission.value=t.transmission,e.transmissionSamplerMap.value=r.texture,e.transmissionSamplerSize.value.set(r.width,r.height),t.transmissionMap&&(e.transmissionMap.value=t.transmissionMap,n(t.transmissionMap,e.transmissionMapTransform)),e.thickness.value=t.thickness,t.thicknessMap&&(e.thicknessMap.value=t.thicknessMap,n(t.thicknessMap,e.thicknessMapTransform)),e.attenuationDistance.value=t.attenuationDistance,e.attenuationColor.value.copy(t.attenuationColor)),t.anisotropy>0&&(e.anisotropyVector.value.set(t.anisotropy*Math.cos(t.anisotropyRotation),t.anisotropy*Math.sin(t.anisotropyRotation)),t.anisotropyMap&&(e.anisotropyMap.value=t.anisotropyMap,n(t.anisotropyMap,e.anisotropyMapTransform))),e.specularIntensity.value=t.specularIntensity,e.specularColor.value.copy(t.specularColor),t.specularColorMap&&(e.specularColorMap.value=t.specularColorMap,n(t.specularColorMap,e.specularColorMapTransform)),t.specularIntensityMap&&(e.specularIntensityMap.value=t.specularIntensityMap,n(t.specularIntensityMap,e.specularIntensityMapTransform))}function m(e,t){t.matcap&&(e.matcap.value=t.matcap)}function h(e,n){let r=t.get(n).light;e.referencePosition.value.setFromMatrixPosition(r.matrixWorld),e.nearDistance.value=r.shadow.camera.near,e.farDistance.value=r.shadow.camera.far}return{refreshFogUniforms:r,refreshMaterialUniforms:i}}function rk(e,t,n,r){let i={},a={},o=[],s=e.getParameter(e.MAX_UNIFORM_BUFFER_BINDINGS);function c(e,t){let n=t.program;r.uniformBlockBinding(e,n)}function l(e,n){let o=i[e.id];o===void 0&&(m(e),o=u(e),i[e.id]=o,e.addEventListener(`dispose`,g));let s=n.program;r.updateUBOMapping(e,s);let c=t.render.frame;a[e.id]!==c&&(f(e),a[e.id]=c)}function u(t){let n=d();t.__bindingPointIndex=n;let r=e.createBuffer(),i=t.__size,a=t.usage;return e.bindBuffer(e.UNIFORM_BUFFER,r),e.bufferData(e.UNIFORM_BUFFER,i,a),e.bindBuffer(e.UNIFORM_BUFFER,null),e.bindBufferBase(e.UNIFORM_BUFFER,n,r),r}function d(){for(let e=0;e0&&(n+=16-r),e.__size=n,e.__cache={},this}function h(e){let t={boundary:0,storage:0};return typeof e==`number`||typeof e==`boolean`?(t.boundary=4,t.storage=4):e.isVector2?(t.boundary=8,t.storage=8):e.isVector3||e.isColor?(t.boundary=16,t.storage=12):e.isVector4?(t.boundary=16,t.storage=16):e.isMatrix3?(t.boundary=48,t.storage=48):e.isMatrix4?(t.boundary=64,t.storage=64):e.isTexture?console.warn(`THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group.`):console.warn(`THREE.WebGLRenderer: Unsupported uniform value type.`,e),t}function g(t){let n=t.target;n.removeEventListener(`dispose`,g);let r=o.indexOf(n.__bindingPointIndex);o.splice(r,1),e.deleteBuffer(i[n.id]),delete i[n.id],delete a[n.id]}function _(){for(let t in i)e.deleteBuffer(i[t]);o=[],i={},a={}}return{bind:c,update:l,dispose:_}}var ik=class{constructor(e={}){let{canvas:t=ux(),context:n=null,depth:r=!0,stencil:i=!1,alpha:a=!1,antialias:o=!1,premultipliedAlpha:s=!0,preserveDrawingBuffer:c=!1,powerPreference:l=`default`,failIfMajorPerformanceCaveat:u=!1,reverseDepthBuffer:d=!1}=e;this.isWebGLRenderer=!0;let f;if(n!==null){if(typeof WebGLRenderingContext<`u`&&n instanceof WebGLRenderingContext)throw Error(`THREE.WebGLRenderer: WebGL 1 is not supported since r163.`);f=n.getContextAttributes().alpha}else f=a;let p=new Uint32Array(4),m=new Int32Array(4),h=null,g=null,_=[],v=[];this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.toneMapping=0,this.toneMappingExposure=1,this.transmissionResolutionScale=1;let y=this,b=!1;this._outputColorSpace=xb;let x=0,S=0,C=null,w=-1,T=null,E=new Dx,D=new Dx,O=null,k=new X(0),A=0,j=t.width,M=t.height,N=1,P=null,F=null,ee=new Dx(0,0,j,M),te=new Dx(0,0,j,M),I=!1,ne=new Aw,re=!1,ie=!1,ae=new Y,oe=new Y,se=new J,ce=new Dx,le={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0},ue=!1;function de(){return C===null?N:1}let L=n;function fe(e,n){return t.getContext(e,n)}try{let e={alpha:!0,depth:r,stencil:i,antialias:o,premultipliedAlpha:s,preserveDrawingBuffer:c,powerPreference:l,failIfMajorPerformanceCaveat:u};if(`setAttribute`in t&&t.setAttribute(`data-engine`,`three.js r177`),t.addEventListener(`webglcontextlost`,Le,!1),t.addEventListener(`webglcontextrestored`,Re,!1),t.addEventListener(`webglcontextcreationerror`,ze,!1),L===null){let t=`webgl2`;if(L=fe(t,e),L===null)throw fe(t)?Error(`Error creating WebGL context with your selected attributes.`):Error(`Error creating WebGL context.`)}}catch(e){throw console.error(`THREE.WebGLRenderer: `+e.message),e}let pe,me,R,he,z,ge,_e,ve,ye,be,xe,Se,Ce,we,Te,Ee,De,Oe,ke,Ae,je,Me,Ne,Pe;function Fe(){pe=new $E(L),pe.init(),Me=new Ete(L,pe),me=new OE(L,pe,e,Me),R=new wte(L,pe),me.reverseDepthBuffer&&d&&R.buffers.depth.setReversed(!0),he=new nD(L),z=new qO,ge=new Tte(L,pe,R,z,me,Me,he),_e=new AE(y),ve=new QE(y),ye=new yE(L),Ne=new EE(L,ye),be=new eD(L,ye,he,Ne),xe=new iD(L,be,ye,he),ke=new rD(L,me,ge),Ee=new kE(z),Se=new KO(y,_e,ve,pe,me,Ne,Ee),Ce=new nk(y,z),we=new pte,Te=new yte(pe),Oe=new TE(y,_e,ve,R,xe,f,s),De=new Ste(y,xe,me),Pe=new rk(L,he,me,R),Ae=new DE(L,pe,he),je=new tD(L,pe,he),he.programs=Se.programs,y.capabilities=me,y.extensions=pe,y.properties=z,y.renderLists=we,y.shadowMap=De,y.state=R,y.info=he}Fe();let Ie=new $O(y,L);this.xr=Ie,this.getContext=function(){return L},this.getContextAttributes=function(){return L.getContextAttributes()},this.forceContextLoss=function(){let e=pe.get(`WEBGL_lose_context`);e&&e.loseContext()},this.forceContextRestore=function(){let e=pe.get(`WEBGL_lose_context`);e&&e.restoreContext()},this.getPixelRatio=function(){return N},this.setPixelRatio=function(e){e!==void 0&&(N=e,this.setSize(j,M,!1))},this.getSize=function(e){return e.set(j,M)},this.setSize=function(e,n,r=!0){if(Ie.isPresenting){console.warn(`THREE.WebGLRenderer: Can't change size while VR device is presenting.`);return}j=e,M=n,t.width=Math.floor(e*N),t.height=Math.floor(n*N),r===!0&&(t.style.width=e+`px`,t.style.height=n+`px`),this.setViewport(0,0,e,n)},this.getDrawingBufferSize=function(e){return e.set(j*N,M*N).floor()},this.setDrawingBufferSize=function(e,n,r){j=e,M=n,N=r,t.width=Math.floor(e*r),t.height=Math.floor(n*r),this.setViewport(0,0,e,n)},this.getCurrentViewport=function(e){return e.copy(E)},this.getViewport=function(e){return e.copy(ee)},this.setViewport=function(e,t,n,r){e.isVector4?ee.set(e.x,e.y,e.z,e.w):ee.set(e,t,n,r),R.viewport(E.copy(ee).multiplyScalar(N).round())},this.getScissor=function(e){return e.copy(te)},this.setScissor=function(e,t,n,r){e.isVector4?te.set(e.x,e.y,e.z,e.w):te.set(e,t,n,r),R.scissor(D.copy(te).multiplyScalar(N).round())},this.getScissorTest=function(){return I},this.setScissorTest=function(e){R.setScissorTest(I=e)},this.setOpaqueSort=function(e){P=e},this.setTransparentSort=function(e){F=e},this.getClearColor=function(e){return e.copy(Oe.getClearColor())},this.setClearColor=function(){Oe.setClearColor(...arguments)},this.getClearAlpha=function(){return Oe.getClearAlpha()},this.setClearAlpha=function(){Oe.setClearAlpha(...arguments)},this.clear=function(e=!0,t=!0,n=!0){let r=0;if(e){let e=!1;if(C!==null){let t=C.texture.format;e=t===1033||t===1031||t===1029}if(e){let e=C.texture.type,t=e===1009||e===1014||e===1012||e===1020||e===1017||e===1018,n=Oe.getClearColor(),r=Oe.getClearAlpha(),i=n.r,a=n.g,o=n.b;t?(p[0]=i,p[1]=a,p[2]=o,p[3]=r,L.clearBufferuiv(L.COLOR,0,p)):(m[0]=i,m[1]=a,m[2]=o,m[3]=r,L.clearBufferiv(L.COLOR,0,m))}else r|=L.COLOR_BUFFER_BIT}t&&(r|=L.DEPTH_BUFFER_BIT),n&&(r|=L.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),L.clear(r)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){t.removeEventListener(`webglcontextlost`,Le,!1),t.removeEventListener(`webglcontextrestored`,Re,!1),t.removeEventListener(`webglcontextcreationerror`,ze,!1),Oe.dispose(),we.dispose(),Te.dispose(),z.dispose(),_e.dispose(),ve.dispose(),xe.dispose(),Ne.dispose(),Pe.dispose(),Se.dispose(),Ie.dispose(),Ie.removeEventListener(`sessionstart`,Ke),Ie.removeEventListener(`sessionend`,qe),Je.stop()};function Le(e){e.preventDefault(),console.log(`THREE.WebGLRenderer: Context Lost.`),b=!0}function Re(){console.log(`THREE.WebGLRenderer: Context Restored.`),b=!1;let e=he.autoReset,t=De.enabled,n=De.autoUpdate,r=De.needsUpdate,i=De.type;Fe(),he.autoReset=e,De.enabled=t,De.autoUpdate=n,De.needsUpdate=r,De.type=i}function ze(e){console.error(`THREE.WebGLRenderer: A WebGL context could not be created. Reason: `,e.statusMessage)}function Be(e){let t=e.target;t.removeEventListener(`dispose`,Be),Ve(t)}function Ve(e){He(e),z.remove(e)}function He(e){let t=z.get(e).programs;t!==void 0&&(t.forEach(function(e){Se.releaseProgram(e)}),e.isShaderMaterial&&Se.releaseShaderCache(e))}this.renderBufferDirect=function(e,t,n,r,i,a){t===null&&(t=le);let o=i.isMesh&&i.matrixWorld.determinant()<0,s=rt(e,t,n,r,i);R.setMaterial(r,o);let c=n.index,l=1;if(r.wireframe===!0){if(c=be.getWireframeAttribute(n),c===void 0)return;l=2}let u=n.drawRange,d=n.attributes.position,f=u.start*l,p=(u.start+u.count)*l;a!==null&&(f=Math.max(f,a.start*l),p=Math.min(p,(a.start+a.count)*l)),c===null?d!=null&&(f=Math.max(f,0),p=Math.min(p,d.count)):(f=Math.max(f,0),p=Math.min(p,c.count));let m=p-f;if(m<0||m===1/0)return;Ne.setup(i,r,s,n,c);let h,g=Ae;if(c!==null&&(h=ye.get(c),g=je,g.setIndex(h)),i.isMesh)r.wireframe===!0?(R.setLineWidth(r.wireframeLinewidth*de()),g.setMode(L.LINES)):g.setMode(L.TRIANGLES);else if(i.isLine){let e=r.linewidth;e===void 0&&(e=1),R.setLineWidth(e*de()),i.isLineSegments?g.setMode(L.LINES):i.isLineLoop?g.setMode(L.LINE_LOOP):g.setMode(L.LINE_STRIP)}else i.isPoints?g.setMode(L.POINTS):i.isSprite&&g.setMode(L.TRIANGLES);if(i.isBatchedMesh)if(i._multiDrawInstances!==null)fx(`THREE.WebGLRenderer: renderMultiDrawInstances has been deprecated and will be removed in r184. Append to renderMultiDraw arguments and use indirection.`),g.renderMultiDrawInstances(i._multiDrawStarts,i._multiDrawCounts,i._multiDrawCount,i._multiDrawInstances);else if(pe.get(`WEBGL_multi_draw`))g.renderMultiDraw(i._multiDrawStarts,i._multiDrawCounts,i._multiDrawCount);else{let e=i._multiDrawStarts,t=i._multiDrawCounts,n=i._multiDrawCount,a=c?ye.get(c).bytesPerElement:1,o=z.get(r).currentProgram.getUniforms();for(let r=0;r{function n(){if(r.forEach(function(e){z.get(e).currentProgram.isReady()&&r.delete(e)}),r.size===0){t(e);return}setTimeout(n,10)}pe.get(`KHR_parallel_shader_compile`)===null?setTimeout(n,10):n()})};let We=null;function Ge(e){We&&We(e)}function Ke(){Je.stop()}function qe(){Je.start()}let Je=new vE;Je.setAnimationLoop(Ge),typeof self<`u`&&Je.setContext(self),this.setAnimationLoop=function(e){We=e,Ie.setAnimationLoop(e),e===null?Je.stop():Je.start()},Ie.addEventListener(`sessionstart`,Ke),Ie.addEventListener(`sessionend`,qe),this.render=function(e,t){if(t!==void 0&&t.isCamera!==!0){console.error(`THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.`);return}if(b===!0)return;if(e.matrixWorldAutoUpdate===!0&&e.updateMatrixWorld(),t.parent===null&&t.matrixWorldAutoUpdate===!0&&t.updateMatrixWorld(),Ie.enabled===!0&&Ie.isPresenting===!0&&(Ie.cameraAutoUpdate===!0&&Ie.updateCamera(t),t=Ie.getCamera()),e.isScene===!0&&e.onBeforeRender(y,e,t,C),g=Te.get(e,v.length),g.init(t),v.push(g),oe.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),ne.setFromProjectionMatrix(oe),ie=this.localClippingEnabled,re=Ee.init(this.clippingPlanes,ie),h=we.get(e,_.length),h.init(),_.push(h),Ie.enabled===!0&&Ie.isPresenting===!0){let e=y.xr.getDepthSensingMesh();e!==null&&Ye(e,t,-1/0,y.sortObjects)}Ye(e,t,0,y.sortObjects),h.finish(),y.sortObjects===!0&&h.sort(P,F),ue=Ie.enabled===!1||Ie.isPresenting===!1||Ie.hasDepthSensing()===!1,ue&&Oe.addToRenderList(h,e),this.info.render.frame++,re===!0&&Ee.beginShadows();let n=g.state.shadowsArray;De.render(n,e,t),re===!0&&Ee.endShadows(),this.info.autoReset===!0&&this.info.reset();let r=h.opaque,i=h.transmissive;if(g.setupLights(),t.isArrayCamera){let n=t.cameras;if(i.length>0)for(let t=0,a=n.length;t0&&Ze(r,i,e,t),ue&&Oe.render(e),Xe(h,e,t);C!==null&&S===0&&(ge.updateMultisampleRenderTarget(C),ge.updateRenderTargetMipmap(C)),e.isScene===!0&&e.onAfterRender(y,e,t),Ne.resetDefaultState(),w=-1,T=null,v.pop(),v.length>0?(g=v[v.length-1],re===!0&&Ee.setGlobalState(y.clippingPlanes,g.state.camera)):g=null,_.pop(),h=_.length>0?_[_.length-1]:null};function Ye(e,t,n,r){if(e.visible===!1)return;if(e.layers.test(t.layers)){if(e.isGroup)n=e.renderOrder;else if(e.isLOD)e.autoUpdate===!0&&e.update(t);else if(e.isLight)g.pushLight(e),e.castShadow&&g.pushShadow(e);else if(e.isSprite){if(!e.frustumCulled||ne.intersectsSprite(e)){r&&ce.setFromMatrixPosition(e.matrixWorld).applyMatrix4(oe);let t=xe.update(e),i=e.material;i.visible&&h.push(e,t,i,n,ce.z,null)}}else if((e.isMesh||e.isLine||e.isPoints)&&(!e.frustumCulled||ne.intersectsObject(e))){let t=xe.update(e),i=e.material;if(r&&(e.boundingSphere===void 0?(t.boundingSphere===null&&t.computeBoundingSphere(),ce.copy(t.boundingSphere.center)):(e.boundingSphere===null&&e.computeBoundingSphere(),ce.copy(e.boundingSphere.center)),ce.applyMatrix4(e.matrixWorld).applyMatrix4(oe)),Array.isArray(i)){let r=t.groups;for(let a=0,o=r.length;a0&&Qe(i,t,n),a.length>0&&Qe(a,t,n),o.length>0&&Qe(o,t,n),R.buffers.depth.setTest(!0),R.buffers.depth.setMask(!0),R.buffers.color.setMask(!0),R.setPolygonOffset(!1)}function Ze(e,t,n,r){if((n.isScene===!0?n.overrideMaterial:null)!==null)return;g.state.transmissionRenderTarget[r.id]===void 0&&(g.state.transmissionRenderTarget[r.id]=new Ox(1,1,{generateMipmaps:!0,type:pe.has(`EXT_color_buffer_half_float`)||pe.has(`EXT_color_buffer_float`)?yy:my,minFilter:py,samples:4,stencilBuffer:i,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:yx.workingColorSpace}));let a=g.state.transmissionRenderTarget[r.id],o=r.viewport||E;a.setSize(o.z*y.transmissionResolutionScale,o.w*y.transmissionResolutionScale);let s=y.getRenderTarget();y.setRenderTarget(a),y.getClearColor(k),A=y.getClearAlpha(),A<1&&y.setClearColor(16777215,.5),y.clear(),ue&&Oe.render(n);let c=y.toneMapping;y.toneMapping=0;let l=r.viewport;if(r.viewport!==void 0&&(r.viewport=void 0),g.setupLightsView(r),re===!0&&Ee.setGlobalState(y.clippingPlanes,r),Qe(e,n,r),ge.updateMultisampleRenderTarget(a),ge.updateRenderTargetMipmap(a),pe.has(`WEBGL_multisampled_render_to_texture`)===!1){let e=!1;for(let i=0,a=t.length;i0),d=!!n.morphAttributes.position,f=!!n.morphAttributes.normal,p=!!n.morphAttributes.color,m=0;r.toneMapped&&(C===null||C.isXRRenderTarget===!0)&&(m=y.toneMapping);let h=n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color,_=h===void 0?0:h.length,v=z.get(r),b=g.state.lights;if(re===!0&&(ie===!0||e!==T)){let t=e===T&&r.id===w;Ee.setState(r,e,t)}let x=!1;r.version===v.__version?v.needsLights&&v.lightsStateVersion!==b.state.version?x=!0:v.outputColorSpace===s?i.isBatchedMesh&&v.batching===!1||!i.isBatchedMesh&&v.batching===!0||i.isBatchedMesh&&v.batchingColor===!0&&i.colorTexture===null||i.isBatchedMesh&&v.batchingColor===!1&&i.colorTexture!==null||i.isInstancedMesh&&v.instancing===!1||!i.isInstancedMesh&&v.instancing===!0||i.isSkinnedMesh&&v.skinning===!1||!i.isSkinnedMesh&&v.skinning===!0||i.isInstancedMesh&&v.instancingColor===!0&&i.instanceColor===null||i.isInstancedMesh&&v.instancingColor===!1&&i.instanceColor!==null||i.isInstancedMesh&&v.instancingMorph===!0&&i.morphTexture===null||i.isInstancedMesh&&v.instancingMorph===!1&&i.morphTexture!==null?x=!0:v.envMap===c?r.fog===!0&&v.fog!==a||v.numClippingPlanes!==void 0&&(v.numClippingPlanes!==Ee.numPlanes||v.numIntersection!==Ee.numIntersection)?x=!0:v.vertexAlphas===l&&v.vertexTangents===u&&v.morphTargets===d&&v.morphNormals===f&&v.morphColors===p&&v.toneMapping===m?v.morphTargetsCount!==_&&(x=!0):x=!0:x=!0:x=!0:(x=!0,v.__version=r.version);let S=v.currentProgram;x===!0&&(S=et(r,t,i));let E=!1,D=!1,O=!1,k=S.getUniforms(),A=v.uniforms;if(R.useProgram(S.program)&&(E=!0,D=!0,O=!0),r.id!==w&&(w=r.id,D=!0),E||T!==e){R.buffers.depth.getReversed()?(ae.copy(e.projectionMatrix),mx(ae),hx(ae),k.setValue(L,`projectionMatrix`,ae)):k.setValue(L,`projectionMatrix`,e.projectionMatrix),k.setValue(L,`viewMatrix`,e.matrixWorldInverse);let t=k.map.cameraPosition;t!==void 0&&t.setValue(L,se.setFromMatrixPosition(e.matrixWorld)),me.logarithmicDepthBuffer&&k.setValue(L,`logDepthBufFC`,2/(Math.log(e.far+1)/Math.LN2)),(r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshLambertMaterial||r.isMeshBasicMaterial||r.isMeshStandardMaterial||r.isShaderMaterial)&&k.setValue(L,`isOrthographic`,e.isOrthographicCamera===!0),T!==e&&(T=e,D=!0,O=!0)}if(i.isSkinnedMesh){k.setOptional(L,i,`bindMatrix`),k.setOptional(L,i,`bindMatrixInverse`);let e=i.skeleton;e&&(e.boneTexture===null&&e.computeBoneTexture(),k.setValue(L,`boneTexture`,e.boneTexture,ge))}i.isBatchedMesh&&(k.setOptional(L,i,`batchingTexture`),k.setValue(L,`batchingTexture`,i._matricesTexture,ge),k.setOptional(L,i,`batchingIdTexture`),k.setValue(L,`batchingIdTexture`,i._indirectTexture,ge),k.setOptional(L,i,`batchingColorTexture`),i._colorsTexture!==null&&k.setValue(L,`batchingColorTexture`,i._colorsTexture,ge));let j=n.morphAttributes;if((j.position!==void 0||j.normal!==void 0||j.color!==void 0)&&ke.update(i,n,S),(D||v.receiveShadow!==i.receiveShadow)&&(v.receiveShadow=i.receiveShadow,k.setValue(L,`receiveShadow`,i.receiveShadow)),r.isMeshGouraudMaterial&&r.envMap!==null&&(A.envMap.value=c,A.flipEnvMap.value=c.isCubeTexture&&c.isRenderTargetTexture===!1?-1:1),r.isMeshStandardMaterial&&r.envMap===null&&t.environment!==null&&(A.envMapIntensity.value=t.environmentIntensity),D&&(k.setValue(L,`toneMappingExposure`,y.toneMappingExposure),v.needsLights&&it(A,O),a&&r.fog===!0&&Ce.refreshFogUniforms(A,a),Ce.refreshMaterialUniforms(A,r,N,M,g.state.transmissionRenderTarget[e.id]),dO.upload(L,tt(v),A,ge)),r.isShaderMaterial&&r.uniformsNeedUpdate===!0&&(dO.upload(L,tt(v),A,ge),r.uniformsNeedUpdate=!1),r.isSpriteMaterial&&k.setValue(L,`center`,i.center),k.setValue(L,`modelViewMatrix`,i.modelViewMatrix),k.setValue(L,`normalMatrix`,i.normalMatrix),k.setValue(L,`modelMatrix`,i.matrixWorld),r.isShaderMaterial||r.isRawShaderMaterial){let e=r.uniformsGroups;for(let t=0,n=e.length;t0&&ge.useMultisampledRTT(e)===!1?z.get(e).__webglMultisampledFramebuffer:Array.isArray(l)?l[n]:l,E.copy(e.viewport),D.copy(e.scissor),O=e.scissorTest}else E.copy(ee).multiplyScalar(N).floor(),D.copy(te).multiplyScalar(N).floor(),O=I;if(n!==0&&(i=ot),R.bindFramebuffer(L.FRAMEBUFFER,i)&&r&&R.drawBuffers(e,i),R.viewport(E),R.scissor(D),R.setScissorTest(O),a){let r=z.get(e.texture);L.framebufferTexture2D(L.FRAMEBUFFER,L.COLOR_ATTACHMENT0,L.TEXTURE_CUBE_MAP_POSITIVE_X+t,r.__webglTexture,n)}else if(o){let r=z.get(e.texture),i=t;L.framebufferTextureLayer(L.FRAMEBUFFER,L.COLOR_ATTACHMENT0,r.__webglTexture,n,i)}else if(e!==null&&n!==0){let t=z.get(e.texture);L.framebufferTexture2D(L.FRAMEBUFFER,L.COLOR_ATTACHMENT0,L.TEXTURE_2D,t.__webglTexture,n)}w=-1},this.readRenderTargetPixels=function(e,t,n,r,i,a,o,s=0){if(!(e&&e.isWebGLRenderTarget)){console.error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.`);return}let c=z.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&o!==void 0&&(c=c[o]),c){R.bindFramebuffer(L.FRAMEBUFFER,c);try{let o=e.textures[s],c=o.format,l=o.type;if(!me.textureFormatReadable(c)){console.error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.`);return}if(!me.textureTypeReadable(l)){console.error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.`);return}t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i&&(e.textures.length>1&&L.readBuffer(L.COLOR_ATTACHMENT0+s),L.readPixels(t,n,r,i,Me.convert(c),Me.convert(l),a))}finally{let e=C===null?null:z.get(C).__webglFramebuffer;R.bindFramebuffer(L.FRAMEBUFFER,e)}}},this.readRenderTargetPixelsAsync=async function(e,t,n,r,i,a,o,s=0){if(!(e&&e.isWebGLRenderTarget))throw Error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.`);let c=z.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&o!==void 0&&(c=c[o]),c)if(t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i){R.bindFramebuffer(L.FRAMEBUFFER,c);let o=e.textures[s],l=o.format,u=o.type;if(!me.textureFormatReadable(l))throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.`);if(!me.textureTypeReadable(u))throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.`);let d=L.createBuffer();L.bindBuffer(L.PIXEL_PACK_BUFFER,d),L.bufferData(L.PIXEL_PACK_BUFFER,a.byteLength,L.STREAM_READ),e.textures.length>1&&L.readBuffer(L.COLOR_ATTACHMENT0+s),L.readPixels(t,n,r,i,Me.convert(l),Me.convert(u),0);let f=C===null?null:z.get(C).__webglFramebuffer;R.bindFramebuffer(L.FRAMEBUFFER,f);let p=L.fenceSync(L.SYNC_GPU_COMMANDS_COMPLETE,0);return L.flush(),await px(L,p,4),L.bindBuffer(L.PIXEL_PACK_BUFFER,d),L.getBufferSubData(L.PIXEL_PACK_BUFFER,0,a),L.deleteBuffer(d),L.deleteSync(p),a}else throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.`)},this.copyFramebufferToTexture=function(e,t=null,n=0){let r=2**-n,i=Math.floor(e.image.width*r),a=Math.floor(e.image.height*r),o=t===null?0:t.x,s=t===null?0:t.y;ge.setTexture2D(e,0),L.copyTexSubImage2D(L.TEXTURE_2D,n,0,0,o,s,i,a),R.unbindTexture()};let st=L.createFramebuffer(),ct=L.createFramebuffer();this.copyTextureToTexture=function(e,t,n=null,r=null,i=0,a=null){a===null&&(i===0?a=0:(fx(`WebGLRenderer: copyTextureToTexture function signature has changed to support src and dst mipmap levels.`),a=i,i=0));let o,s,c,l,u,d,f,p,m,h=e.isCompressedTexture?e.mipmaps[a]:e.image;if(n!==null)o=n.max.x-n.min.x,s=n.max.y-n.min.y,c=n.isBox3?n.max.z-n.min.z:1,l=n.min.x,u=n.min.y,d=n.isBox3?n.min.z:0;else{let t=2**-i;o=Math.floor(h.width*t),s=Math.floor(h.height*t),c=e.isDataArrayTexture?h.depth:e.isData3DTexture?Math.floor(h.depth*t):1,l=0,u=0,d=0}r===null?(f=0,p=0,m=0):(f=r.x,p=r.y,m=r.z);let g=Me.convert(t.format),_=Me.convert(t.type),v;t.isData3DTexture?(ge.setTexture3D(t,0),v=L.TEXTURE_3D):t.isDataArrayTexture||t.isCompressedArrayTexture?(ge.setTexture2DArray(t,0),v=L.TEXTURE_2D_ARRAY):(ge.setTexture2D(t,0),v=L.TEXTURE_2D),L.pixelStorei(L.UNPACK_FLIP_Y_WEBGL,t.flipY),L.pixelStorei(L.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultiplyAlpha),L.pixelStorei(L.UNPACK_ALIGNMENT,t.unpackAlignment);let y=L.getParameter(L.UNPACK_ROW_LENGTH),b=L.getParameter(L.UNPACK_IMAGE_HEIGHT),x=L.getParameter(L.UNPACK_SKIP_PIXELS),S=L.getParameter(L.UNPACK_SKIP_ROWS),C=L.getParameter(L.UNPACK_SKIP_IMAGES);L.pixelStorei(L.UNPACK_ROW_LENGTH,h.width),L.pixelStorei(L.UNPACK_IMAGE_HEIGHT,h.height),L.pixelStorei(L.UNPACK_SKIP_PIXELS,l),L.pixelStorei(L.UNPACK_SKIP_ROWS,u),L.pixelStorei(L.UNPACK_SKIP_IMAGES,d);let w=e.isDataArrayTexture||e.isData3DTexture,T=t.isDataArrayTexture||t.isData3DTexture;if(e.isDepthTexture){let n=z.get(e),r=z.get(t),h=z.get(n.__renderTarget),g=z.get(r.__renderTarget);R.bindFramebuffer(L.READ_FRAMEBUFFER,h.__webglFramebuffer),R.bindFramebuffer(L.DRAW_FRAMEBUFFER,g.__webglFramebuffer);for(let n=0;nMath.PI&&(n-=fk),r<-Math.PI?r+=fk:r>Math.PI&&(r-=fk),n<=r?this._spherical.theta=Math.max(n,Math.min(r,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(n+r)/2?Math.max(n,this._spherical.theta):Math.min(r,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let i=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{let e=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),i=e!=this._spherical.radius}if(dk.setFromSpherical(this._spherical),dk.applyQuaternion(this._quatInverse),t.copy(this.target).add(dk),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let e=null;if(this.object.isPerspectiveCamera){let t=dk.length();e=this._clampDistance(t*this._scale);let n=t-e;this.object.position.addScaledVector(this._dollyDirection,n),this.object.updateMatrixWorld(),i=!!n}else if(this.object.isOrthographicCamera){let t=new J(this._mouse.x,this._mouse.y,0);t.unproject(this.object);let n=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),i=n!==this.object.zoom;let r=new J(this._mouse.x,this._mouse.y,0);r.unproject(this.object),this.object.position.sub(r).add(t),this.object.updateMatrixWorld(),e=dk.length()}else console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled.`),this.zoomToCursor=!1;e!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(e).add(this.object.position):(ck.origin.copy(this.object.position),ck.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(ck.direction))mk||8*(1-this._lastQuaternion.dot(this.object.quaternion))>mk||this._lastTargetPosition.distanceToSquared(this.target)>mk?(this.dispatchEvent(ak),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(e){return e===null?fk/60/60*this.autoRotateSpeed:fk/60*this.autoRotateSpeed*e}_getZoomScale(e){let t=Math.abs(e*.01);return .95**(this.zoomSpeed*t)}_rotateLeft(e){this._sphericalDelta.theta-=e}_rotateUp(e){this._sphericalDelta.phi-=e}_panLeft(e,t){dk.setFromMatrixColumn(t,0),dk.multiplyScalar(-e),this._panOffset.add(dk)}_panUp(e,t){this.screenSpacePanning===!0?dk.setFromMatrixColumn(t,1):(dk.setFromMatrixColumn(t,0),dk.crossVectors(this.object.up,dk)),dk.multiplyScalar(e),this._panOffset.add(dk)}_pan(e,t){let n=this.domElement;if(this.object.isPerspectiveCamera){let r=this.object.position;dk.copy(r).sub(this.target);let i=dk.length();i*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*e*i/n.clientHeight,this.object.matrix),this._panUp(2*t*i/n.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(e*(this.object.right-this.object.left)/this.object.zoom/n.clientWidth,this.object.matrix),this._panUp(t*(this.object.top-this.object.bottom)/this.object.zoom/n.clientHeight,this.object.matrix)):(console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.`),this.enablePan=!1)}_dollyOut(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=e:(console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.`),this.enableZoom=!1)}_dollyIn(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=e:(console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.`),this.enableZoom=!1)}_updateZoomParameters(e,t){if(!this.zoomToCursor)return;this._performCursorZoom=!0;let n=this.domElement.getBoundingClientRect(),r=e-n.left,i=t-n.top,a=n.width,o=n.height;this._mouse.x=r/a*2-1,this._mouse.y=-(i/o)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(e){return Math.max(this.minDistance,Math.min(this.maxDistance,e))}_handleMouseDownRotate(e){this._rotateStart.set(e.clientX,e.clientY)}_handleMouseDownDolly(e){this._updateZoomParameters(e.clientX,e.clientX),this._dollyStart.set(e.clientX,e.clientY)}_handleMouseDownPan(e){this._panStart.set(e.clientX,e.clientY)}_handleMouseMoveRotate(e){this._rotateEnd.set(e.clientX,e.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);let t=this.domElement;this._rotateLeft(fk*this._rotateDelta.x/t.clientHeight),this._rotateUp(fk*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(e){this._dollyEnd.set(e.clientX,e.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(e){this._panEnd.set(e.clientX,e.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(e){this._updateZoomParameters(e.clientX,e.clientY),e.deltaY<0?this._dollyIn(this._getZoomScale(e.deltaY)):e.deltaY>0&&this._dollyOut(this._getZoomScale(e.deltaY)),this.update()}_handleKeyDown(e){let t=!1;switch(e.code){case this.keys.UP:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(fk*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),t=!0;break;case this.keys.BOTTOM:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(-fk*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),t=!0;break;case this.keys.LEFT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(fk*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),t=!0;break;case this.keys.RIGHT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(-fk*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),t=!0;break}t&&(e.preventDefault(),this.update())}_handleTouchStartRotate(e){if(this._pointers.length===1)this._rotateStart.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._rotateStart.set(n,r)}}_handleTouchStartPan(e){if(this._pointers.length===1)this._panStart.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._panStart.set(n,r)}}_handleTouchStartDolly(e){let t=this._getSecondPointerPosition(e),n=e.pageX-t.x,r=e.pageY-t.y,i=Math.sqrt(n*n+r*r);this._dollyStart.set(0,i)}_handleTouchStartDollyPan(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enablePan&&this._handleTouchStartPan(e)}_handleTouchStartDollyRotate(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enableRotate&&this._handleTouchStartRotate(e)}_handleTouchMoveRotate(e){if(this._pointers.length==1)this._rotateEnd.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._rotateEnd.set(n,r)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);let t=this.domElement;this._rotateLeft(fk*this._rotateDelta.x/t.clientHeight),this._rotateUp(fk*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(e){if(this._pointers.length===1)this._panEnd.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._panEnd.set(n,r)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(e){let t=this._getSecondPointerPosition(e),n=e.pageX-t.x,r=e.pageY-t.y,i=Math.sqrt(n*n+r*r);this._dollyEnd.set(0,i),this._dollyDelta.set(0,(this._dollyEnd.y/this._dollyStart.y)**+this.zoomSpeed),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);let a=(e.pageX+t.x)*.5,o=(e.pageY+t.y)*.5;this._updateZoomParameters(a,o)}_handleTouchMoveDollyPan(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enablePan&&this._handleTouchMovePan(e)}_handleTouchMoveDollyRotate(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enableRotate&&this._handleTouchMoveRotate(e)}_addPointer(e){this._pointers.push(e.pointerId)}_removePointer(e){delete this._pointerPositions[e.pointerId];for(let t=0;t>5&31)/31,a=(e>>10&31)/31)}for(let c=1;c<=3;c++){let l=n+c*12,u=e*3*3+(c-1)*3;p[u]=t.getFloat32(l,!0),p[u+1]=t.getFloat32(l+4,!0),p[u+2]=t.getFloat32(l+8,!0),m[u]=d,m[u+1]=f,m[u+2]=g,o&&(h.setRGB(r,i,a,xb),s[u]=h.r,s[u+1]=h.g,s[u+2]=h.b)}}return f.setAttribute(`position`,new nC(p,3)),f.setAttribute(`normal`,new nC(m,3)),o&&(f.setAttribute(`color`,new nC(s,3)),f.hasColors=!0,f.alpha=d),f}function i(e){let t=new pC,n=/solid([\s\S]*?)endsolid/g,r=/facet([\s\S]*?)endfacet/g,i=/solid\s(.+)/,a=0,o=RegExp(`vertex[\\s]+([+-]?(?:\\d*)(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)[\\s]+([+-]?(?:\\d*)(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)[\\s]+([+-]?(?:\\d*)(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)`,`g`),s=RegExp(`normal[\\s]+([+-]?(?:\\d*)(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)[\\s]+([+-]?(?:\\d*)(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)[\\s]+([+-]?(?:\\d*)(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)`,`g`),c=[],l=[],u=[],d=new J,f,p=0,m=0,h=0;for(;(f=n.exec(e))!==null;){m=h;let e=f[0],n=(f=i.exec(e))===null?``:f[1];for(u.push(n);(f=r.exec(e))!==null;){let e=0,t=0,n=f[0];for(;(f=s.exec(n))!==null;)d.x=parseFloat(f[1]),d.y=parseFloat(f[2]),d.z=parseFloat(f[3]),t++;for(;(f=o.exec(n))!==null;)c.push(parseFloat(f[1]),parseFloat(f[2]),parseFloat(f[3])),l.push(d.x,d.y,d.z),e++,h++;t!==1&&console.error(`THREE.STLLoader: Something isn't right with the normal of face number `+a),e!==3&&console.error(`THREE.STLLoader: Something isn't right with the vertices of face number `+a),a++}let g=m,_=h-m;t.userData.groupNames=u,t.addGroup(g,_,p),p++}return t.setAttribute(`position`,new aC(c,3)),t.setAttribute(`normal`,new aC(l,3)),t}function a(e){return typeof e==`string`?e:new TextDecoder().decode(e)}function o(e){if(typeof e==`string`){let t=new Uint8Array(e.length);for(let n=0;n256||e.colormap_size!==24||e.colormap_type!==1)throw Error(`THREE.TGALoader: Invalid type colormap data for indexed type.`);break;case f:case p:case h:case g:if(e.colormap_type)throw Error(`THREE.TGALoader: Invalid type colormap data for colormap type.`);break;case u:throw Error(`THREE.TGALoader: No data.`);default:throw Error(`THREE.TGALoader: Invalid type `+e.image_type)}if(e.width<=0||e.height<=0)throw Error(`THREE.TGALoader: Invalid image size.`);if(e.pixel_size!==8&&e.pixel_size!==16&&e.pixel_size!==24&&e.pixel_size!==32)throw Error(`THREE.TGALoader: Invalid pixel size `+e.pixel_size)}function n(e,t,n,r,i){let a,o,s=n.pixel_size>>3,c=n.width*n.height*s;if(t&&(o=i.subarray(r,r+=n.colormap_length*(n.colormap_size>>3))),e){a=new Uint8Array(c);let e,t,n,o=0,l=new Uint8Array(s);for(;o>7,e[(u+f*d)*4+1]=(c&992)>>2,e[(u+f*d)*4+2]=(c&31)<<3,e[(u+f*d)*4+3]=c&32768?0:255;return e}function a(e,t,n,r,i,a,o,s){let c=0,l,u,d=T.width;for(u=t;u!==r;u+=n)for(l=i;l!==o;l+=a,c+=3)e[(l+d*u)*4+3]=255,e[(l+d*u)*4+2]=s[c+0],e[(l+d*u)*4+1]=s[c+1],e[(l+d*u)*4+0]=s[c+2];return e}function o(e,t,n,r,i,a,o,s){let c=0,l,u,d=T.width;for(u=t;u!==r;u+=n)for(l=i;l!==o;l+=a,c+=4)e[(l+d*u)*4+2]=s[c+0],e[(l+d*u)*4+1]=s[c+1],e[(l+d*u)*4+0]=s[c+2],e[(l+d*u)*4+3]=s[c+3];return e}function s(e,t,n,r,i,a,o,s){let c,l=0,u,d,f=T.width;for(d=t;d!==r;d+=n)for(u=i;u!==o;u+=a,l++)c=s[l],e[(u+f*d)*4+0]=c,e[(u+f*d)*4+1]=c,e[(u+f*d)*4+2]=c,e[(u+f*d)*4+3]=255;return e}function c(e,t,n,r,i,a,o,s){let c=0,l,u,d=T.width;for(u=t;u!==r;u+=n)for(l=i;l!==o;l+=a,c+=2)e[(l+d*u)*4+0]=s[c+0],e[(l+d*u)*4+1]=s[c+0],e[(l+d*u)*4+2]=s[c+0],e[(l+d*u)*4+3]=s[c+1];return e}function l(e,t,n,l,u){let d,f,p,m,h,g;switch((T.flags&_)>>v){default:case x:d=0,p=1,h=t,f=0,m=1,g=n;break;case y:d=0,p=1,h=t,f=n-1,m=-1,g=-1;break;case S:d=t-1,p=-1,h=-1,f=0,m=1,g=n;break;case b:d=t-1,p=-1,h=-1,f=n-1,m=-1,g=-1;break}if(O)switch(T.pixel_size){case 8:s(e,f,m,g,d,p,h,l);break;case 16:c(e,f,m,g,d,p,h,l);break;default:throw Error(`THREE.TGALoader: Format not supported.`)}else switch(T.pixel_size){case 8:r(e,f,m,g,d,p,h,l,u);break;case 16:i(e,f,m,g,d,p,h,l);break;case 24:a(e,f,m,g,d,p,h,l);break;case 32:o(e,f,m,g,d,p,h,l);break;default:throw Error(`THREE.TGALoader: Format not supported.`)}return e}let u=0,d=1,f=2,p=3,m=9,h=10,g=11,_=48,v=4,y=0,b=1,x=2,S=3;if(e.length<19)throw Error(`THREE.TGALoader: Not enough data to contain header.`);let C=0,w=new Uint8Array(e),T={id_length:w[C++],colormap_type:w[C++],image_type:w[C++],colormap_index:w[C++]|w[C++]<<8,colormap_length:w[C++]|w[C++]<<8,colormap_size:w[C++],origin:[w[C++]|w[C++]<<8,w[C++]|w[C++]<<8],width:w[C++]|w[C++]<<8,height:w[C++]|w[C++]<<8,pixel_size:w[C++],flags:w[C++]};if(t(T),T.id_length+C>e.length)throw Error(`THREE.TGALoader: No data.`);C+=T.id_length;let E=!1,D=!1,O=!1;switch(T.image_type){case 9:E=!0,D=!0;break;case 1:D=!0;break;case 10:E=!0;break;case 2:break;case 11:E=!0,O=!0;break;case 3:O=!0;break}let k=new Uint8Array(T.width*T.height*4),A=n(E,D,T,C,w);return l(k,T.width,T.height,A.pixel_data,A.palettes),{data:k,width:T.width,height:T.height,flipY:!0,generateMipmaps:!0,minFilter:py}}},Ak=class extends wT{load(e,t,n,r){let i=this,a=i.path===``?JT.extractUrlBase(e):i.path,o=new DT(i.manager);o.setPath(i.path),o.setRequestHeader(i.requestHeader),o.setWithCredentials(i.withCredentials),o.load(e,function(n){try{t(i.parse(n,a))}catch(t){r?r(t):console.error(t),i.manager.itemError(e)}},n,r)}parse(e,t){function n(e,t){let n=[],r=e.childNodes;for(let e=0,i=r.length;e0&&t.push(new _T(r+`.position`,i,a)),o.length>0&&t.push(new hT(r+`.quaternion`,i,o)),s.length>0&&t.push(new _T(r+`.scale`,i,s)),t}function E(e,t,n){let r,i=!0,a,o;for(a=0,o=e.length;a=0;){let r=e[t];if(r.value[n]!==null)return r;t--}return null}function k(e,t,n){for(;t>>0)+2);switch(n=n.toLowerCase(),n){case`tga`:t=Ft;break;default:t=Pt}return t}function Se(e){let t=ye(e.url),n=t.profile.technique,r;switch(n.type){case`phong`:case`blinn`:r=new tT;break;case`lambert`:r=new lte;break;default:r=new QS;break}r.name=e.name||``;function i(e,n=null){let r=t.profile.samplers[e.id],i=null;if(r!==void 0){let e=t.profile.surfaces[r.source];i=oe(e.init_from)}else console.warn(`THREE.ColladaLoader: Undefined sampler. Access image directly (see #12530).`),i=oe(e.id);if(i!==null){let t=xe(i);if(t!==void 0){let r=t.load(i),a=e.extra;if(a!==void 0&&a.technique!==void 0&&c(a.technique)===!1){let e=a.technique;r.wrapS=e.wrapU?ay:oy,r.wrapT=e.wrapV?ay:oy,r.offset.set(e.offsetU||0,e.offsetV||0),r.repeat.set(e.repeatU||1,e.repeatV||1)}else r.wrapS=ay,r.wrapT=ay;return n!==null&&(r.colorSpace=n),r}else return console.warn(`THREE.ColladaLoader: Loader for texture %s not found.`,i),null}else return console.warn(`THREE.ColladaLoader: Couldn't create texture with ID:`,e.id),null}let a=n.parameters;for(let e in a){let t=a[e];switch(e){case`diffuse`:t.color&&r.color.fromArray(t.color),t.texture&&(r.map=i(t.texture,xb));break;case`specular`:t.color&&r.specular&&r.specular.fromArray(t.color),t.texture&&(r.specularMap=i(t.texture));break;case`bump`:t.texture&&(r.normalMap=i(t.texture));break;case`ambient`:t.texture&&(r.lightMap=i(t.texture,xb));break;case`shininess`:t.float&&r.shininess&&(r.shininess=t.float);break;case`emission`:t.color&&r.emissive&&r.emissive.fromArray(t.color),t.texture&&(r.emissiveMap=i(t.texture,xb));break}}yx.colorSpaceToWorking(r.color,xb),r.specular&&yx.colorSpaceToWorking(r.specular,xb),r.emissive&&yx.colorSpaceToWorking(r.emissive,xb);let o=a.transparent,s=a.transparency;if(s===void 0&&o&&(s={float:1}),o===void 0&&s&&(o={opaque:`A_ONE`,data:{color:[1,1,1,1]}}),o&&s)if(o.data.texture)r.transparent=!0;else{let e=o.data.color;switch(o.opaque){case`A_ONE`:r.opacity=e[3]*s.float;break;case`RGB_ZERO`:r.opacity=1-e[0]*s.float;break;case`A_ZERO`:r.opacity=1-e[3]*s.float;break;case`RGB_ONE`:r.opacity=e[0]*s.float;break;default:console.warn(`THREE.ColladaLoader: Invalid opaque type "%s" of transparent tag.`,o.opaque)}r.opacity<1&&(r.transparent=!0)}if(n.extra!==void 0&&n.extra.technique!==void 0){let e=n.extra.technique;for(let t in e){let n=e[t];switch(t){case`double_sided`:r.side=n===1?2:0;break;case`bump`:r.normalMap=i(n.texture),r.normalScale=new nx(1,1);break}}}return r}function Ce(e){return m(B.materials[e],Se)}function we(e){let t={name:e.getAttribute(`name`)};for(let n=0,r=e.childNodes.length;n0?n+s:n;t.inputs[c]={id:e,offset:i},t.stride=Math.max(t.stride,i+1),n===`TEXCOORD`&&(t.hasUV=!0);break;case`vcount`:t.vcount=a(r.textContent);break;case`p`:t.p=a(r.textContent);break}}return t}function ze(e){let t={};for(let n=0;n0&&t0&&d.setAttribute(`position`,new aC(i.array,i.stride)),a.array.length>0&&d.setAttribute(`normal`,new aC(a.array,a.stride)),c.array.length>0&&d.setAttribute(`color`,new aC(c.array,c.stride)),o.array.length>0&&d.setAttribute(`uv`,new aC(o.array,o.stride)),s.array.length>0&&d.setAttribute(`uv1`,new aC(s.array,s.stride)),l.array.length>0&&d.setAttribute(`skinIndex`,new aC(l.array,l.stride)),u.array.length>0&&d.setAttribute(`skinWeight`,new aC(u.array,u.stride)),r.data=d,r.type=e[0].type,r.materialKeys=f,r}function Ue(e,t,n,r,i=!1){let a=e.p,o=e.stride,s=e.vcount;function c(e){let t=a[e+n]*u,o=t+u;for(;t4)for(let t=1,r=n-2;t<=r;t++){let n=e+o*0,r=e+o*t,i=e+o*(t+1);c(n),c(r),c(i)}e+=o*n}}else for(let e=0,t=a.length;e=t.limits.max&&(t.static=!0),t.middlePosition=(t.limits.min+t.limits.max)/2,t}function Ze(e){let t={sid:e.getAttribute(`sid`),name:e.getAttribute(`name`)||``,attachments:[],transforms:[]};for(let n=0;nr.limits.max||te===null?null:parseFloat(e)),(!this.origPosition||!this.origQuaternion)&&(this.origPosition=this.position.clone(),this.origQuaternion=this.quaternion.clone());let t=!1;switch(this.mimicJoints.forEach(n=>{t=n.updateFromMimickedJoint(...e)||t}),this.jointType){case`fixed`:return t;case`continuous`:case`revolute`:{let n=e[0];return n==null||n===this.jointValue[0]?t:(!this.ignoreLimits&&this.jointType===`revolute`&&(n=Math.min(this.limit.upper,n),n=Math.max(this.limit.lower,n)),this.quaternion.setFromAxisAngle(this.axis,n).premultiply(this.origQuaternion),this.jointValue[0]===n?t:(this.jointValue[0]=n,this.matrixWorldNeedsUpdate=!0,!0))}case`prismatic`:{let n=e[0];return n==null||n===this.jointValue[0]?t:(this.ignoreLimits||(n=Math.min(this.limit.upper,n),n=Math.max(this.limit.lower,n)),this.position.copy(this.origPosition),jk.copy(this.axis).applyEuler(this.rotation),this.position.addScaledVector(jk,n),this.jointValue[0]===n?t:(this.jointValue[0]=n,this.matrixWorldNeedsUpdate=!0,!0))}case`floating`:return this.jointValue.every((t,n)=>e[n]===t||e[n]===null)?t:(this.jointValue[0]=e[0]===null?this.jointValue[0]:e[0],this.jointValue[1]=e[1]===null?this.jointValue[1]:e[1],this.jointValue[2]=e[2]===null?this.jointValue[2]:e[2],this.jointValue[3]=e[3]===null?this.jointValue[3]:e[3],this.jointValue[4]=e[4]===null?this.jointValue[4]:e[4],this.jointValue[5]=e[5]===null?this.jointValue[5]:e[5],Pk.compose(this.origPosition,this.origQuaternion,Ik),Fk.setFromEuler(Mk.set(this.jointValue[3],this.jointValue[4],this.jointValue[5],`XYZ`)),Lk.set(this.jointValue[0],this.jointValue[1],this.jointValue[2]),Nk.compose(Lk,Fk,Ik),Pk.premultiply(Nk),this.position.setFromMatrixPosition(Pk),this.rotation.setFromRotationMatrix(Pk),this.matrixWorldNeedsUpdate=!0,!0);case`planar`:return this.jointValue.every((t,n)=>e[n]===t||e[n]===null)?t:(this.jointValue[0]=e[0]===null?this.jointValue[0]:e[0],this.jointValue[1]=e[1]===null?this.jointValue[1]:e[1],this.jointValue[2]=e[2]===null?this.jointValue[2]:e[2],Pk.compose(this.origPosition,this.origQuaternion,Ik),Fk.setFromAxisAngle(this.axis,this.jointValue[2]),Lk.set(this.jointValue[0],this.jointValue[1],0),Nk.compose(Lk,Fk,Ik),Pk.premultiply(Nk),this.position.setFromMatrixPosition(Pk),this.rotation.setFromRotationMatrix(Pk),this.matrixWorldNeedsUpdate=!0,!0)}return t}},Uk=class extends Hk{constructor(...e){super(...e),this.type=`URDFMimicJoint`,this.mimicJoint=null,this.offset=0,this.multiplier=1}updateFromMimickedJoint(...e){let t=e.map(e=>e===null?null:e*this.multiplier+this.offset);return super.setJointValue(...t)}copy(e,t){return super.copy(e,t),this.mimicJoint=e.mimicJoint,this.offset=e.offset,this.multiplier=e.multiplier,this}},Wk=class extends Vk{constructor(...e){super(...e),this.isURDFRobot=!0,this.urdfNode=null,this.urdfRobotNode=null,this.robotName=null,this.links=null,this.joints=null,this.colliders=null,this.visual=null,this.frames=null}copy(e,t){super.copy(e,t),this.urdfRobotNode=e.urdfRobotNode,this.robotName=e.robotName,this.links={},this.joints={},this.colliders={},this.visual={},this.traverse(t=>{t.isURDFJoint&&t.urdfName in e.joints&&(this.joints[t.urdfName]=t),t.isURDFLink&&t.urdfName in e.links&&(this.links[t.urdfName]=t),t.isURDFCollider&&t.urdfName in e.colliders&&(this.colliders[t.urdfName]=t),t.isURDFVisual&&t.urdfName in e.visual&&(this.visual[t.urdfName]=t)});for(let e in this.joints)this.joints[e].mimicJoints=this.joints[e].mimicJoints.map(e=>this.joints[e.name]);return this.frames={...this.colliders,...this.visual,...this.links,...this.joints},this}getFrame(e){return this.frames[e]}setJointValue(e,...t){let n=this.joints[e];return n?n.setJointValue(...t):!1}setJointValues(e){let t=!1;for(let n in e){let r=e[n];t=Array.isArray(r)?this.setJointValue(n,...r)||t:this.setJointValue(n,r)||t}return t}},Gk=new rx,Kk=new pS;function qk(e){return e?e.trim().split(/\s+/g).map(e=>parseFloat(e)):[0,0,0]}function Jk(e,t,n=!1){n||e.rotation.set(0,0,0),Kk.set(t[0],t[1],t[2],`ZYX`),Gk.setFromEuler(Kk),Gk.multiply(e.quaternion),e.quaternion.copy(Gk)}var Yk=class{constructor(e){this.manager=e||CT,this.loadMeshCb=this.defaultMeshLoader.bind(this),this.parseVisual=!0,this.parseCollision=!1,this.packages=``,this.workingPath=``,this.fetchOptions={}}loadAsync(e){return new Promise((t,n)=>{this.load(e,t,null,n)})}load(e,t,n,r){let i=this.manager,a=JT.extractUrlBase(e),o=this.manager.resolveURL(e);i.itemStart(o),fetch(o,this.fetchOptions).then(e=>{if(e.ok)return n&&n(null),e.text();throw Error(`URDFLoader: Failed to load url '${o}' with error code ${e.status} : ${e.statusText}.`)}).then(e=>{t(this.parse(e,this.workingPath||a)),i.itemEnd(o)}).catch(e=>{r?r(e):console.error(`URDFLoader: Error loading file.`,e),i.itemError(o),i.itemEnd(o)})}parse(e,t=this.workingPath){let n=this.packages,r=this.loadMeshCb,i=this.parseVisual,a=this.parseCollision,o=this.manager,s={},c={},l={};function u(e){if(!/^package:\/\//.test(e))return t?t+e:e;let[r,i]=e.replace(/^package:\/\//,``).split(/\/(.+)/);if(typeof n==`string`)return n.endsWith(r)?n+`/`+i:n+`/`+r+`/`+i;if(typeof n==`function`)return n(r)+`/`+i;if(typeof n==`object`)return r in n?n[r]+`/`+i:(console.error(`URDFLoader : ${r} not found in provided package list.`),null)}function d(e){let t;return t=e instanceof Document?[...e.children]:e instanceof Element?[e]:[...new DOMParser().parseFromString(e,`text/xml`).children],f(t.filter(e=>e.nodeName===`robot`).pop())}function f(e){let t=[...e.children],n=t.filter(e=>e.nodeName.toLowerCase()===`link`),r=t.filter(e=>e.nodeName.toLowerCase()===`joint`),i=t.filter(e=>e.nodeName.toLowerCase()===`material`),a=new Wk;a.robotName=e.getAttribute(`name`),a.urdfRobotNode=e,i.forEach(e=>{let t=e.getAttribute(`name`);l[t]=h(e)});let o={},u={};n.forEach(t=>{let n=t.getAttribute(`name`);s[n]=m(t,o,u,e.querySelector(`child[link="${n}"]`)===null?a:null)}),r.forEach(e=>{let t=e.getAttribute(`name`);c[t]=p(e)}),a.joints=c,a.links=s,a.colliders=u,a.visual=o;let d=Object.values(c);return d.forEach(e=>{e instanceof Uk&&c[e.mimicJoint].mimicJoints.push(e)}),d.forEach(e=>{let t=new Set,n=e=>{if(t.has(e))throw Error(`URDFLoader: Detected an infinite loop of mimic joints.`);t.add(e),e.mimicJoints.forEach(e=>{n(e)})};n(e)}),a.frames={...u,...o,...s,...c},a}function p(e){let t=[...e.children],n=e.getAttribute(`type`),r,i=t.find(e=>e.nodeName.toLowerCase()===`mimic`);i?(r=new Uk,r.mimicJoint=i.getAttribute(`joint`),r.multiplier=parseFloat(i.getAttribute(`multiplier`)||1),r.offset=parseFloat(i.getAttribute(`offset`)||0)):r=new Hk,r.urdfNode=e,r.name=e.getAttribute(`name`),r.urdfName=r.name,r.jointType=n;let a=null,o=null,c=[0,0,0],l=[0,0,0];t.forEach(e=>{let t=e.nodeName.toLowerCase();t===`origin`?(c=qk(e.getAttribute(`xyz`)),l=qk(e.getAttribute(`rpy`))):t===`child`?o=s[e.getAttribute(`link`)]:t===`parent`?a=s[e.getAttribute(`link`)]:t===`limit`&&(r.limit.lower=parseFloat(e.getAttribute(`lower`)||r.limit.lower),r.limit.upper=parseFloat(e.getAttribute(`upper`)||r.limit.upper),r.limit.effort=parseFloat(e.getAttribute(`effort`)||r.limit.effort),r.limit.velocity=parseFloat(e.getAttribute(`velocity`)||r.limit.velocity))}),a.add(r),r.add(o),Jk(r,l),r.position.set(c[0],c[1],c[2]);let u=t.filter(e=>e.nodeName.toLowerCase()===`axis`)[0];if(u){let e=u.getAttribute(`xyz`).split(/\s+/g).map(e=>parseFloat(e));r.axis=new J(e[0],e[1],e[2]),r.axis.normalize()}return r}function m(e,t,n,r=null){r===null&&(r=new Vk);let o=[...e.children];r.name=e.getAttribute(`name`),r.urdfName=r.name,r.urdfNode=e;let s=o.find(e=>e.nodeName.toLowerCase()===`inertial`);return s&&[...s.children].forEach(e=>{let t=e.nodeName.toLowerCase();t===`origin`?(r.inertial.origin.xyz=qk(e.getAttribute(`xyz`)),r.inertial.origin.rpy=qk(e.getAttribute(`rpy`))):t===`mass`?r.inertial.mass=parseFloat(e.getAttribute(`value`))||0:t===`inertia`&&(r.inertial.inertia.ixx=parseFloat(e.getAttribute(`ixx`))||0,r.inertial.inertia.ixy=parseFloat(e.getAttribute(`ixy`))||0,r.inertial.inertia.ixz=parseFloat(e.getAttribute(`ixz`))||0,r.inertial.inertia.iyy=parseFloat(e.getAttribute(`iyy`))||0,r.inertial.inertia.iyz=parseFloat(e.getAttribute(`iyz`))||0,r.inertial.inertia.izz=parseFloat(e.getAttribute(`izz`))||0)}),i&&o.filter(e=>e.nodeName.toLowerCase()===`visual`).forEach(e=>{let n=g(e,l);if(r.add(n),e.hasAttribute(`name`)){let r=e.getAttribute(`name`);n.name=r,n.urdfName=r,t[r]=n}}),a&&o.filter(e=>e.nodeName.toLowerCase()===`collision`).forEach(e=>{let t=g(e);if(r.add(t),e.hasAttribute(`name`)){let r=e.getAttribute(`name`);t.name=r,t.urdfName=r,n[r]=t}}),r}function h(e){let t=[...e.children],n=new tT;return n.name=e.getAttribute(`name`)||``,t.forEach(e=>{let t=e.nodeName.toLowerCase();if(t===`color`){let t=e.getAttribute(`rgba`).split(/\s/g).map(e=>parseFloat(e));n.color.setRGB(t[0],t[1],t[2]),n.opacity=t[3],n.transparent=t[3]<1,n.depthWrite=!n.transparent}else if(t===`texture`){let t=e.getAttribute(`filename`);if(t){let e=new AT(o),r=u(t);n.map=e.load(r),n.map.colorSpace=xb}}}),n}function g(e,t={}){let n=e.nodeName.toLowerCase()===`collision`,i=[...e.children],a=null,s=i.filter(e=>e.nodeName.toLowerCase()===`material`)[0];if(s){let e=s.getAttribute(`name`);a=e&&e in t?t[e]:h(s)}else a=new tT;let c=n?new zk:new Bk;return c.urdfNode=e,i.forEach(e=>{let t=e.nodeName.toLowerCase();if(t===`geometry`){let t=e.children[0].nodeName.toLowerCase();if(t===`mesh`){let t=u(e.children[0].getAttribute(`filename`));if(t!==null){let n=e.children[0].getAttribute(`scale`);if(n){let e=qk(n);c.scale.set(e[0],e[1],e[2])}r(t,o,(e,t)=>{t?console.error(`URDFLoader: Error loading mesh.`,t):e&&(e instanceof TC&&(e.material=a),e.position.set(0,0,0),e.quaternion.identity(),c.add(e))})}}else if(t===`box`){let t=new TC;t.geometry=new OC(1,1,1),t.material=a;let n=qk(e.children[0].getAttribute(`size`));t.scale.set(n[0],n[1],n[2]),c.add(t)}else if(t===`sphere`){let t=new TC;t.geometry=new ste(1,30,30),t.material=a;let n=parseFloat(e.children[0].getAttribute(`radius`))||0;t.scale.set(n,n,n),c.add(t)}else if(t===`cylinder`){let t=new TC;t.geometry=new ote(1,1,1,30),t.material=a;let n=parseFloat(e.children[0].getAttribute(`radius`))||0,r=parseFloat(e.children[0].getAttribute(`length`))||0;t.scale.set(n,r,n),t.rotation.set(Math.PI/2,0,0),c.add(t)}}else if(t===`origin`){let t=qk(e.getAttribute(`xyz`)),n=qk(e.getAttribute(`rpy`));c.position.set(t[0],t[1],t[2]),c.rotation.set(0,0,0),Jk(c,n)}}),c}return d(e)}defaultMeshLoader(e,t,n){/\.stl$/i.test(e)?new Ok(t).load(e,e=>{n(new TC(e,new tT))},null,e=>n(null,e)):/\.dae$/i.test(e)?new Ak(t).load(e,e=>n(e.scene),null,e=>n(null,e)):console.warn(`URDFLoader: Could not load model at ${e}.\nNo loader available`)}},Xk=new nx,Zk=()=>{},Qk=class extends HTMLElement{static get observedAttributes(){return[`package`,`urdf`,`up`,`display-shadow`,`ambient-color`,`ignore-limits`,`show-collision`]}get package(){return this.getAttribute(`package`)||``}set package(e){this.setAttribute(`package`,e)}get urdf(){return this.getAttribute(`urdf`)||``}set urdf(e){this.setAttribute(`urdf`,e)}get ignoreLimits(){return this.hasAttribute(`ignore-limits`)||!1}set ignoreLimits(e){e?this.setAttribute(`ignore-limits`,e):this.removeAttribute(`ignore-limits`)}get up(){return this.getAttribute(`up`)||`+Z`}set up(e){this.setAttribute(`up`,e)}get displayShadow(){return this.hasAttribute(`display-shadow`)||!1}set displayShadow(e){e?this.setAttribute(`display-shadow`,``):this.removeAttribute(`display-shadow`)}get ambientColor(){return this.getAttribute(`ambient-color`)||`#8ea0a8`}set ambientColor(e){e?this.setAttribute(`ambient-color`,e):this.removeAttribute(`ambient-color`)}get autoRedraw(){return this.hasAttribute(`auto-redraw`)||!1}set autoRedraw(e){e?this.setAttribute(`auto-redraw`,!0):this.removeAttribute(`auto-redraw`)}get noAutoRecenter(){return this.hasAttribute(`no-auto-recenter`)||!1}set noAutoRecenter(e){e?this.setAttribute(`no-auto-recenter`,!0):this.removeAttribute(`no-auto-recenter`)}get showCollision(){return this.hasAttribute(`show-collision`)||!1}set showCollision(e){e?this.setAttribute(`show-collision`,!0):this.removeAttribute(`show-collision`)}get jointValues(){let e={};if(this.robot)for(let t in this.robot.joints){let n=this.robot.joints[t];e[t]=n.jointValue.length===1?n.angle:[...n.jointValue]}return e}set jointValues(e){this.setJointValues(e)}get angles(){return this.jointValues}set angles(e){this.jointValues=e}constructor(){super(),this._requestId=0,this._dirty=!1,this._loadScheduled=!1,this.robot=null,this.loadMeshFunc=null,this.urlModifierFunc=null;let e=new XC,t=new MT(this.ambientColor,`#000`);t.groundColor.lerp(t.color,.5*Math.PI),t.intensity=.5,t.position.set(0,1,0),e.add(t);let n=new KT(16777215,Math.PI);n.position.set(4,10,1),n.shadow.mapSize.width=2048,n.shadow.mapSize.height=2048,n.shadow.normalBias=.001,n.castShadow=!0,e.add(n),e.add(n.target);let r=new ik({antialias:!0,alpha:!0});r.setClearColor(16777215),r.setClearAlpha(0),r.shadowMap.enabled=!0,r.shadowMap.type=2,r.outputColorSpace=xb;let i=new VC(75,1,.1,1e3);i.position.z=-10;let a=new AS;e.add(a);let o=new TC(new Qw(40,40),new cte({side:2,transparent:!0,opacity:.25}));o.rotation.x=-Math.PI/2,o.position.y=-.5,o.receiveShadow=!0,o.scale.set(10,10,10),e.add(o);let s=new hk(i,r.domElement);s.rotateSpeed=2,s.zoomSpeed=5,s.panSpeed=2,s.enableZoom=!0,s.enableDamping=!1,s.maxDistance=50,s.minDistance=.25,s.addEventListener(`change`,()=>this.recenter()),this.scene=e,this.world=a,this.renderer=r,this.camera=i,this.controls=s,this.plane=o,this.directionalLight=n,this.ambientLight=t,this._setUp(this.up),this._collisionMaterial=new tT({transparent:!0,opacity:.35,shininess:2.5,premultipliedAlpha:!0,color:16760376,polygonOffset:!0,polygonOffsetFactor:-1,polygonOffsetUnits:-1});let c=()=>{this.parentNode&&(this.updateSize(),(this._dirty||this.autoRedraw)&&(this.noAutoRecenter||this._updateEnvironment(),this.renderer.render(e,i),this._dirty=!1),this.controls.update()),this._renderLoopId=requestAnimationFrame(c)};c()}connectedCallback(){if(!this.constructor._styletag){let e=document.createElement(`style`);e.innerHTML=` ${this.tagName} { display: block; } ${this.tagName} canvas { width: 100%; height: 100%; } - `,document.head.appendChild(e),this.constructor._styletag=e}this.childElementCount===0&&this.appendChild(this.renderer.domElement),this.updateSize(),requestAnimationFrame(()=>this.updateSize())}disconnectedCallback(){cancelAnimationFrame(this._renderLoopId)}attributeChangedCallback(e,t,n){switch(this._updateCollisionVisibility(),this.noAutoRecenter||this.recenter(),e){case`package`:case`urdf`:this._scheduleLoad();break;case`up`:this._setUp(this.up);break;case`ambient-color`:this.ambientLight.color.set(this.ambientColor),this.ambientLight.groundColor.set(`#000`).lerp(this.ambientLight.color,.5);break;case`ignore-limits`:this._setIgnoreLimits(this.ignoreLimits,!0);break}}updateSize(){let e=this.renderer,t=this.clientWidth,n=this.clientHeight,r=e.getSize(dA);(r.width!==t||r.height!==n)&&this.recenter(),e.setPixelRatio(window.devicePixelRatio),e.setSize(t,n,!1),this.camera.aspect=t/n,this.camera.updateProjectionMatrix()}redraw(){this._dirty=!0}recenter(){this._updateEnvironment(),this.redraw()}setJointValue(e,...t){this.robot&&this.robot.joints[e]&&this.robot.joints[e].setJointValue(...t)&&(this.redraw(),this.dispatchEvent(new CustomEvent(`angle-change`,{bubbles:!0,cancelable:!0,detail:e})))}setJointValues(e){for(let t in e)Array.isArray(e[t])?this.setJointValue(t,...e[t]):this.setJointValue(t,e[t])}_updateEnvironment(){let e=this.robot;if(!e)return;this.world.updateMatrixWorld();let t=new Ix;t.makeEmpty(),e.traverse(e=>{e.isURDFVisual&&t.expandByObject(e)});let n=t.getCenter(new J);this.controls.target.y=n.y,this.plane.position.y=t.min.y-.001;let r=this.directionalLight;if(r.castShadow=this.displayShadow,this.displayShadow){let e=t.getBoundingSphere(new eS).radius,i=r.shadow.camera;i.left=i.bottom=-e,i.right=i.top=e;let a=r.position.clone().sub(r.target.position);r.target.position.copy(n),r.position.copy(n).add(a),i.updateProjectionMatrix()}}_scheduleLoad(){this._prevload!==`${this.package}|${this.urdf}`&&(this._prevload=`${this.package}|${this.urdf}`,!this._loadScheduled&&(this._loadScheduled=!0,this.robot&&=(this.robot.traverse(e=>e.dispose&&e.dispose()),this.robot.parent.remove(this.robot),null),requestAnimationFrame(()=>{this._loadUrdf(this.package,this.urdf),this._loadScheduled=!1})))}_loadUrdf(e,t){if(this.dispatchEvent(new CustomEvent(`urdf-change`,{bubbles:!0,cancelable:!0,composed:!0})),t){this._requestId++;let n=this._requestId,r=e=>{e.traverse(e=>{if(e.isMesh&&(e.castShadow=!0,e.receiveShadow=!0,e.material)){let t=(Array.isArray(e.material)?e.material:[e.material]).map(e=>(e instanceof rC&&(e=new Xw),e.map&&(e.map.colorSpace=Sb),e));e.material=t.length===1?t[0]:t}})};e.includes(`:`)&&e.split(`:`)[1].substring(0,2)!==`//`&&(e=e.split(`,`).reduce((e,t)=>{let n=t.split(/:/).filter(e=>!!e),r=n.shift().trim();return e[r]=n.join(`:`).trim(),e},{}));let i=null,a=new xT;a.onLoad=()=>{if(this._requestId!==n){i.traverse(e=>e.dispose&&e.dispose());return}this.robot=i,this.world.add(i),r(i),this._setIgnoreLimits(this.ignoreLimits),this._updateCollisionVisibility(),this.dispatchEvent(new CustomEvent(`urdf-processed`,{bubbles:!0,cancelable:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`geometry-loaded`,{bubbles:!0,cancelable:!0,composed:!0})),this.recenter()},this.urlModifierFunc&&a.setURLModifier(this.urlModifierFunc);let o=new uA(a);o.packages=e,o.loadMeshCb=this.loadMeshFunc,o.fetchOptions={mode:`cors`,credentials:`same-origin`},o.parseCollision=!0,o.load(t,e=>i=e)}}_updateCollisionVisibility(){let e=this.showCollision,t=this._collisionMaterial,n=this.robot;if(n===null)return;let r=[];n.traverse(t=>{t.isURDFCollider&&(t.visible=e,r.push(t))}),r.forEach(e=>{e.traverse(e=>{e.isMesh&&(e.raycast=fA,e.material=t,e.castShadow=!1)})})}_setUp(e){e||=`+Z`,e=e.toUpperCase();let t=e.replace(/[^-+]/g,``)[0]||`+`,n=e.replace(/[^XYZ]/gi,``)[0]||`Z`,r=Math.PI,i=r/2;n===`X`&&this.world.rotation.set(0,0,t===`+`?i:-i),n===`Z`&&this.world.rotation.set(t===`+`?-i:i,0,0),n===`Y`&&this.world.rotation.set(t===`+`?0:r,0,0)}_setIgnoreLimits(e,t=!1){this.robot&&Object.values(this.robot.joints).forEach(t=>{t.ignoreLimits=e,t.setJointValue(...t.jointValue)}),t&&this.dispatchEvent(new CustomEvent(`ignore-limits-change`,{bubbles:!0,cancelable:!0,composed:!0}))}};function mA(e){return e.isURDFJoint&&e.jointType!==`fixed`}function hA(e){let t=e;for(;t;){if(mA(t))return t;t=t.parent}return t}var gA=new J,_A=new J,vA=new J,yA=new J,bA=new J,xA=new J,SA=new J,CA=new vw,wA=class{constructor(e){this.enabled=!0,this.scene=e,this.raycaster=new uE,this.initialGrabPoint=new J,this.hitDistance=-1,this.hovered=null,this.manipulating=null}update(){let{raycaster:e,hovered:t,manipulating:n,scene:r}=this;if(n)return;let i=null,a=e.intersectObject(r,!0);if(a.length!==0){let e=a[0];this.hitDistance=e.distance,i=hA(e.object),this.initialGrabPoint.copy(e.point)}i!==t&&(t&&this.onUnhover(t),this.hovered=i,i&&this.onHover(i))}updateJoint(e,t){e.setJointValue(t)}onDragStart(e){}onDragEnd(e){}onHover(e){}onUnhover(e){}getRevoluteDelta(e,t,n){return yA.copy(e.axis).transformDirection(e.matrixWorld).normalize(),vA.set(0,0,0).applyMatrix4(e.matrixWorld),CA.setFromNormalAndCoplanarPoint(yA,vA),CA.projectPoint(t,xA),CA.projectPoint(n,SA),xA.sub(vA),SA.sub(vA),yA.crossVectors(xA,SA),Math.sign(yA.dot(CA.normal))*SA.angleTo(xA)}getPrismaticDelta(e,t,n){return yA.subVectors(n,t),CA.normal.copy(e.axis).transformDirection(e.parent.matrixWorld).normalize(),yA.dot(CA.normal)}moveRay(e){let{raycaster:t,hitDistance:n,manipulating:r}=this,{ray:i}=t;if(r){i.at(n,gA),e.at(n,_A);let t=0;r.jointType===`revolute`||r.jointType===`continuous`?t=this.getRevoluteDelta(r,gA,_A):r.jointType===`prismatic`&&(t=this.getPrismaticDelta(r,gA,_A)),t&&this.updateJoint(r,r.angle+t)}this.raycaster.ray.copy(e),this.update()}setGrabbed(e){let{hovered:t,manipulating:n}=this;if(e){if(n!==null||t===null)return;this.manipulating=t,this.onDragStart(t)}else{if(this.manipulating===null)return;this.onDragEnd(this.manipulating),this.manipulating=null,this.update()}}},TA=class extends wA{constructor(e,t,n){super(e),this.camera=t,this.domElement=n;let r=new uE,i=new rx;function a(e){let t=n.getBoundingClientRect();i.x=(e.clientX-t.left)/t.width*2-1,i.y=-((e.clientY-t.top)/t.height)*2+1}this._mouseDown=e=>{a(e),r.setFromCamera(i,this.camera),this.moveRay(r.ray),this.setGrabbed(!0)},this._mouseMove=e=>{a(e),r.setFromCamera(i,this.camera),this.moveRay(r.ray)},this._mouseUp=e=>{a(e),r.setFromCamera(i,this.camera),this.moveRay(r.ray),this.setGrabbed(!1)},n.addEventListener(`mousedown`,this._mouseDown),n.addEventListener(`mousemove`,this._mouseMove),n.addEventListener(`mouseup`,this._mouseUp)}getRevoluteDelta(e,t,n){let{camera:r,initialGrabPoint:i}=this;return yA.copy(e.axis).transformDirection(e.matrixWorld).normalize(),vA.set(0,0,0).applyMatrix4(e.matrixWorld),CA.setFromNormalAndCoplanarPoint(yA,vA),yA.copy(r.position).sub(i).normalize(),Math.abs(yA.dot(CA.normal))>.3?super.getRevoluteDelta(e,t,n):(yA.set(0,1,0).transformDirection(r.matrixWorld),CA.projectPoint(t,xA),CA.projectPoint(n,SA),yA.set(0,0,-1).transformDirection(r.matrixWorld),yA.cross(CA.normal),bA.subVectors(n,t),yA.dot(bA))}dispose(){let{domElement:e}=this;e.removeEventListener(`mousedown`,this._mouseDown),e.removeEventListener(`mousemove`,this._mouseMove),e.removeEventListener(`mouseup`,this._mouseUp)}},EA=class extends pA{static get observedAttributes(){return[`highlight-color`,...super.observedAttributes]}get disableDragging(){return this.hasAttribute(`disable-dragging`)}set disableDragging(e){e?this.setAttribute(`disable-dragging`,!!e):this.removeAttribute(`disable-dragging`)}get highlightColor(){return this.getAttribute(`highlight-color`)||`#FFFFFF`}set highlightColor(e){e?this.setAttribute(`highlight-color`,e):this.removeAttribute(`highlight-color`)}constructor(...e){super(...e),this.highlightMaterial=new Xw({shininess:10,color:this.highlightColor,emissive:this.highlightColor,emissiveIntensity:.25});let t=e=>e.isURDFJoint&&e.jointType!==`fixed`,n=(e,n)=>{let r=i=>{if(i.type===`Mesh`&&(n?(i.material=i.__origMaterial,delete i.__origMaterial):(i.__origMaterial=i.material,i.material=this.highlightMaterial)),i===e||!t(i))for(let e=0;e{this.dispatchEvent(new CustomEvent(`manipulate-start`,{bubbles:!0,cancelable:!0,detail:e.name})),this.controls.enabled=!1,this.redraw()},i.onDragEnd=e=>{this.dispatchEvent(new CustomEvent(`manipulate-end`,{bubbles:!0,cancelable:!0,detail:e.name})),this.controls.enabled=!0,this.redraw()},i.updateJoint=(e,t)=>{this.setJointValue(e.name,t)},i.onHover=e=>{n(e,!1),this.dispatchEvent(new CustomEvent(`joint-mouseover`,{bubbles:!0,cancelable:!0,detail:e.name})),this.redraw()},i.onUnhover=e=>{n(e,!0),this.dispatchEvent(new CustomEvent(`joint-mouseout`,{bubbles:!0,cancelable:!0,detail:e.name})),this.redraw()},this.dragControls=i}disconnectedCallback(){super.disconnectedCallback(),this.dragControls.dispose()}attributeChangedCallback(e,t,n){switch(super.attributeChangedCallback(e,t,n),e){case`highlight-color`:this.highlightMaterial.color.set(this.highlightColor),this.highlightMaterial.emissive.set(this.highlightColor);break}}},DA=1e3,OA=3e4,kA=({viewerRef:e,enabled:t=!0,websocketUrl:n})=>{let{wsBaseUrl:r}=zs(),i=n||`${r}/ws/joint-data`,a=(0,_.useRef)(null),o=(0,_.useRef)(null),s=(0,_.useRef)(DA),c=(0,_.useRef)(!1),[l,u]=(0,_.useState)(!1),d=(0,_.useCallback)(t=>{let n=e.current;!n||typeof n.setJointValue!=`function`||Object.entries(t).forEach(([e,t])=>{try{n.setJointValue(e,t)}catch(t){console.warn(`Failed to set joint ${e}:`,t)}})},[e]);return(0,_.useEffect)(()=>{if(!t)return;c.current=!1;let e=()=>{if(c.current)return;let e;try{e=new WebSocket(i)}catch(e){console.error(`Failed to create WebSocket:`,e),n();return}a.current=e,e.onopen=()=>{u(!0),s.current=DA,o.current&&=(clearTimeout(o.current),null)},e.onmessage=e=>{try{let t=JSON.parse(e.data);t.type===`joint_update`&&t.joints&&d(t.joints)}catch(e){console.error(`Error parsing WebSocket message:`,e)}},e.onclose=e=>{u(!1),a.current=null,!c.current&&e.code!==1e3&&n()},e.onerror=()=>{u(!1)}},n=()=>{if(o.current)return;let t=s.current;s.current=Math.min(t*2,OA),o.current=setTimeout(()=>{o.current=null,e()},t)};return e(),()=>{c.current=!0,o.current&&=(clearTimeout(o.current),null),a.current&&=(a.current.close(1e3),null),u(!1)}},[t,i,d]),{isConnected:l}},AA=[`light`,`dark`],jA=`(prefers-color-scheme: dark)`;_.createContext(void 0),_.memo(({forcedTheme:e,storageKey:t,attribute:n,enableSystem:r,enableColorScheme:i,defaultTheme:a,value:o,attrs:s,nonce:c})=>{let l=a===`system`,u=n===`class`?`var d=document.documentElement,c=d.classList;${`c.remove(${s.map(e=>`'${e}'`).join(`,`)})`};`:`var d=document.documentElement,n='${n}',s='setAttribute';`,d=i?AA.includes(a)&&a?`if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${a}'`:`if(e==='light'||e==='dark')d.style.colorScheme=e`:``,f=(e,t=!1,r=!0)=>{let a=o?o[e]:e,s=t?e+`|| ''`:`'${a}'`,c=``;return i&&r&&!t&&AA.includes(e)&&(c+=`d.style.colorScheme = '${e}';`),n===`class`?t||a?c+=`c.add(${s})`:c+=`null`:a&&(c+=`d[s](n,${s})`),c},p=e?`!function(){${u}${f(e)}}()`:r?`!function(){try{${u}var e=localStorage.getItem('${t}');if('system'===e||(!e&&${l})){var t='${jA}',m=window.matchMedia(t);if(m.media!==t||m.matches){${f(`dark`)}}else{${f(`light`)}}}else if(e){${o?`var x=${JSON.stringify(o)};`:``}${f(o?`x[e]`:`e`,!0)}}${l?``:`else{`+f(a,!1,!1)+`}`}${d}}catch(e){}}()`:`!function(){try{${u}var e=localStorage.getItem('${t}');if(e){${o?`var x=${JSON.stringify(o)};`:``}${f(o?`x[e]`:`e`,!0)}}else{${f(a,!1,!1)};}${d}}catch(t){}}();`;return _.createElement(`script`,{nonce:c,dangerouslySetInnerHTML:{__html:p}})});function MA(e,t){if(t===0)return console.warn(`THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles.`),e;if(t===2||t===1){let n=e.getIndex();if(n===null){let t=[],r=e.getAttribute(`position`);if(r!==void 0){for(let e=0;e=2.0 are supported.`));return}let c=new kj(i,{path:t||this.resourcePath||``,crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});c.fileLoader.setRequestHeader(this.requestHeader);for(let e=0;e=0&&o[t]===void 0&&console.warn(`THREE.GLTFLoader: Unknown extension "`+t+`".`)}}c.setExtensions(a),c.setPlugins(o),c.parse(n,r)}parseAsync(e,t){let n=this;return new Promise(function(r,i){n.parse(e,t,r,i)})}};function PA(){let e={};return{get:function(t){return e[t]},add:function(t,n){e[t]=n},remove:function(t){delete e[t]},removeAll:function(){e={}}}}var FA={KHR_BINARY_GLTF:`KHR_binary_glTF`,KHR_DRACO_MESH_COMPRESSION:`KHR_draco_mesh_compression`,KHR_LIGHTS_PUNCTUAL:`KHR_lights_punctual`,KHR_MATERIALS_CLEARCOAT:`KHR_materials_clearcoat`,KHR_MATERIALS_DISPERSION:`KHR_materials_dispersion`,KHR_MATERIALS_IOR:`KHR_materials_ior`,KHR_MATERIALS_SHEEN:`KHR_materials_sheen`,KHR_MATERIALS_SPECULAR:`KHR_materials_specular`,KHR_MATERIALS_TRANSMISSION:`KHR_materials_transmission`,KHR_MATERIALS_IRIDESCENCE:`KHR_materials_iridescence`,KHR_MATERIALS_ANISOTROPY:`KHR_materials_anisotropy`,KHR_MATERIALS_UNLIT:`KHR_materials_unlit`,KHR_MATERIALS_VOLUME:`KHR_materials_volume`,KHR_TEXTURE_BASISU:`KHR_texture_basisu`,KHR_TEXTURE_TRANSFORM:`KHR_texture_transform`,KHR_MESH_QUANTIZATION:`KHR_mesh_quantization`,KHR_MATERIALS_EMISSIVE_STRENGTH:`KHR_materials_emissive_strength`,EXT_MATERIALS_BUMP:`EXT_materials_bump`,EXT_TEXTURE_WEBP:`EXT_texture_webp`,EXT_TEXTURE_AVIF:`EXT_texture_avif`,EXT_MESHOPT_COMPRESSION:`EXT_meshopt_compression`,EXT_MESH_GPU_INSTANCING:`EXT_mesh_gpu_instancing`},IA=class{constructor(e){this.parser=e,this.name=FA.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){let e=this.parser,t=this.parser.json.nodes||[];for(let n=0,r=t.length;n=0)throw Error(`THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures`);return null}return t.loadTextureImage(e,i.source,a)}},XA=class{constructor(e){this.parser=e,this.name=FA.EXT_TEXTURE_WEBP}loadTexture(e){let t=this.name,n=this.parser,r=n.json,i=r.textures[e];if(!i.extensions||!i.extensions[t])return null;let a=i.extensions[t],o=r.images[a.source],s=n.textureLoader;if(o.uri){let e=n.options.manager.getHandler(o.uri);e!==null&&(s=e)}return n.loadTextureImage(e,a.source,s)}},ZA=class{constructor(e){this.parser=e,this.name=FA.EXT_TEXTURE_AVIF}loadTexture(e){let t=this.name,n=this.parser,r=n.json,i=r.textures[e];if(!i.extensions||!i.extensions[t])return null;let a=i.extensions[t],o=r.images[a.source],s=n.textureLoader;if(o.uri){let e=n.options.manager.getHandler(o.uri);e!==null&&(s=e)}return n.loadTextureImage(e,a.source,s)}},QA=class{constructor(e){this.name=FA.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){let t=this.parser.json,n=t.bufferViews[e];if(n.extensions&&n.extensions[this.name]){let e=n.extensions[this.name],r=this.parser.getDependency(`buffer`,e.buffer),i=this.parser.options.meshoptDecoder;if(!i||!i.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw Error(`THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files`);return null}return r.then(function(t){let n=e.byteOffset||0,r=e.byteLength||0,a=e.count,o=e.byteStride,s=new Uint8Array(t,n,r);return i.decodeGltfBufferAsync?i.decodeGltfBufferAsync(a,o,s,e.mode,e.filter).then(function(e){return e.buffer}):i.ready.then(function(){let t=new ArrayBuffer(a*o);return i.decodeGltfBuffer(new Uint8Array(t),a,o,s,e.mode,e.filter),t})})}else return null}},$A=class{constructor(e){this.name=FA.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){let t=this.parser.json,n=t.nodes[e];if(!n.extensions||!n.extensions[this.name]||n.mesh===void 0)return null;let r=t.meshes[n.mesh];for(let e of r.primitives)if(e.mode!==uj.TRIANGLES&&e.mode!==uj.TRIANGLE_STRIP&&e.mode!==uj.TRIANGLE_FAN&&e.mode!==void 0)return null;let i=n.extensions[this.name].attributes,a=[],o={};for(let e in i)a.push(this.parser.getDependency(`accessor`,i[e]).then(t=>(o[e]=t,o[e])));return a.length<1?null:(a.push(this.parser.createNodeMesh(e)),Promise.all(a).then(e=>{let t=e.pop(),n=t.isGroup?t.children:[t],r=e[0].count,i=[];for(let e of n){let t=new Y,n=new J,a=new ix,s=new J(1,1,1),c=new dte(e.geometry,e.material,r);for(let e=0;e0||e.search(/^data\:image\/jpeg/)===0?`image/jpeg`:e.search(/\.webp($|\?)/i)>0||e.search(/^data\:image\/webp/)===0?`image/webp`:e.search(/\.ktx2($|\?)/i)>0||e.search(/^data\:image\/ktx2/)===0?`image/ktx2`:`image/png`}var Oj=new Y,kj=class{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new PA,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let n=!1,r=-1,i=!1,a=-1;if(typeof navigator<`u`){let e=navigator.userAgent;n=/^((?!chrome|android).)*safari/i.test(e)===!0;let t=e.match(/Version\/(\d+)/);r=n&&t?parseInt(t[1],10):-1,i=e.indexOf(`Firefox`)>-1,a=i?e.match(/Firefox\/([0-9]+)\./)[1]:-1}typeof createImageBitmap>`u`||n&&r<17||i&&a<98?this.textureLoader=new kT(this.options.manager):this.textureLoader=new YT(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new ET(this.options.manager),this.fileLoader.setResponseType(`arraybuffer`),this.options.crossOrigin===`use-credentials`&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){let n=this,r=this.json,i=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(e){return e._markDefs&&e._markDefs()}),Promise.all(this._invokeAll(function(e){return e.beforeRoot&&e.beforeRoot()})).then(function(){return Promise.all([n.getDependencies(`scene`),n.getDependencies(`animation`),n.getDependencies(`camera`)])}).then(function(t){let a={scene:t[0][r.scene||0],scenes:t[0],animations:t[1],cameras:t[2],asset:r.asset,parser:n,userData:{}};return bj(i,a,r),xj(a,r),Promise.all(n._invokeAll(function(e){return e.afterRoot&&e.afterRoot(a)})).then(function(){for(let e of a.scenes)e.updateMatrixWorld();e(a)})}).catch(t)}_markDefs(){let e=this.json.nodes||[],t=this.json.skins||[],n=this.json.meshes||[];for(let n=0,r=t.length;n{let n=this.associations.get(e);n!=null&&this.associations.set(t,n);for(let[n,r]of e.children.entries())i(r,t.children[n])};return i(n,r),r.name+=`_instance_`+ e.uses[t]++,r}_invokeOne(e){let t=Object.values(this.plugins);t.push(this);for(let n=0;n=2&&p.setY(t,u[e*a+1]),a>=3&&p.setZ(t,u[e*a+2]),a>=4&&p.setW(t,u[e*a+3]),a>=5)throw Error(`THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.`)}p.normalized=d}return p})}loadTexture(e){let t=this.json,n=this.options,r=t.textures[e].source,i=t.images[r],a=this.textureLoader;if(i.uri){let e=n.manager.getHandler(i.uri);e!==null&&(a=e)}return this.loadTextureImage(e,r,a)}loadTextureImage(e,t,n){let r=this,i=this.json,a=i.textures[e],o=i.images[t],s=(o.uri||o.bufferView)+`:`+a.sampler;if(this.textureCache[s])return this.textureCache[s];let c=this.loadImageSource(t,n).then(function(t){t.flipY=!1,t.name=a.name||o.name||``,t.name===``&&typeof o.uri==`string`&&o.uri.startsWith(`data:image/`)===!1&&(t.name=o.uri);let n=(i.samplers||{})[a.sampler]||{};return t.magFilter=fj[n.magFilter]||1006,t.minFilter=fj[n.minFilter]||1008,t.wrapS=pj[n.wrapS]||1e3,t.wrapT=pj[n.wrapT]||1e3,t.generateMipmaps=!t.isCompressedTexture&&t.minFilter!==1003&&t.minFilter!==1006,r.associations.set(t,{textures:e}),t}).catch(function(){return null});return this.textureCache[s]=c,c}loadImageSource(e,t){let n=this,r=this.json,i=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(e=>e.clone());let a=r.images[e],o=self.URL||self.webkitURL,s=a.uri||``,c=!1;if(a.bufferView!==void 0)s=n.getDependency(`bufferView`,a.bufferView).then(function(e){c=!0;let t=new Blob([e],{type:a.mimeType});return s=o.createObjectURL(t),s});else if(a.uri===void 0)throw Error(`THREE.GLTFLoader: Image `+e+` is missing URI and bufferView`);let l=Promise.resolve(s).then(function(e){return new Promise(function(n,r){let a=n;t.isImageBitmapLoader===!0&&(a=function(e){let t=new Ax(e);t.needsUpdate=!0,n(t)}),t.load(qT.resolveURL(e,i.path),a,void 0,r)})}).then(function(e){return c===!0&&o.revokeObjectURL(s),xj(e,a),e.userData.mimeType=a.mimeType||Dj(a.uri),e}).catch(function(e){throw console.error(`THREE.GLTFLoader: Couldn't load texture`,s),e});return this.sourceCache[e]=l,l}assignTexture(e,t,n,r){let i=this;return this.getDependency(`texture`,n.index).then(function(a){if(!a)return null;if(n.texCoord!==void 0&&n.texCoord>0&&(a=a.clone(),a.channel=n.texCoord),i.extensions[FA.KHR_TEXTURE_TRANSFORM]){let e=n.extensions===void 0?void 0:n.extensions[FA.KHR_TEXTURE_TRANSFORM];if(e){let t=i.associations.get(a);a=i.extensions[FA.KHR_TEXTURE_TRANSFORM].extendTexture(a,e),i.associations.set(a,t)}}return r!==void 0&&(a.colorSpace=r),e[t]=a,a})}assignFinalMaterial(e){let t=e.geometry,n=e.material,r=t.attributes.tangent===void 0,i=t.attributes.color!==void 0,a=t.attributes.normal===void 0;if(e.isPoints){let e=`PointsMaterial:`+n.uuid,t=this.cache.get(e);t||(t=new Iw,nC.prototype.copy.call(t,n),t.color.copy(n.color),t.map=n.map,t.sizeAttenuation=!1,this.cache.add(e,t)),n=t}else if(e.isLine){let e=`LineBasicMaterial:`+n.uuid,t=this.cache.get(e);t||(t=new Sw,nC.prototype.copy.call(t,n),t.color.copy(n.color),t.map=n.map,this.cache.add(e,t)),n=t}if(r||i||a){let e=`ClonedMaterial:`+n.uuid+`:`;r&&(e+=`derivative-tangents:`),i&&(e+=`vertex-colors:`),a&&(e+=`flat-shading:`);let t=this.cache.get(e);t||(t=n.clone(),i&&(t.vertexColors=!0),a&&(t.flatShading=!0),r&&(t.normalScale&&(t.normalScale.y*=-1),t.clearcoatNormalScale&&(t.clearcoatNormalScale.y*=-1)),this.cache.add(e,t),this.associations.set(t,this.associations.get(n))),n=t}e.material=n}getMaterialType(){return Jw}loadMaterial(e){let t=this,n=this.json,r=this.extensions,i=n.materials[e],a,o={},s=i.extensions||{},c=[];if(s[FA.KHR_MATERIALS_UNLIT]){let e=r[FA.KHR_MATERIALS_UNLIT];a=e.getMaterialType(),c.push(e.extendParams(o,i,t))}else{let n=i.pbrMetallicRoughness||{};if(o.color=new X(1,1,1),o.opacity=1,Array.isArray(n.baseColorFactor)){let e=n.baseColorFactor;o.color.setRGB(e[0],e[1],e[2],Cb),o.opacity=e[3]}n.baseColorTexture!==void 0&&c.push(t.assignTexture(o,`map`,n.baseColorTexture,Sb)),o.metalness=n.metallicFactor===void 0?1:n.metallicFactor,o.roughness=n.roughnessFactor===void 0?1:n.roughnessFactor,n.metallicRoughnessTexture!==void 0&&(c.push(t.assignTexture(o,`metalnessMap`,n.metallicRoughnessTexture)),c.push(t.assignTexture(o,`roughnessMap`,n.metallicRoughnessTexture))),a=this._invokeOne(function(t){return t.getMaterialType&&t.getMaterialType(e)}),c.push(Promise.all(this._invokeAll(function(t){return t.extendMaterialParams&&t.extendMaterialParams(e,o)})))}i.doubleSided===!0&&(o.side=2);let l=i.alphaMode||vj.OPAQUE;if(l===vj.BLEND?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,l===vj.MASK&&(o.alphaTest=i.alphaCutoff===void 0?.5:i.alphaCutoff)),i.normalTexture!==void 0&&a!==rC&&(c.push(t.assignTexture(o,`normalMap`,i.normalTexture)),o.normalScale=new rx(1,1),i.normalTexture.scale!==void 0)){let e=i.normalTexture.scale;o.normalScale.set(e,e)}if(i.occlusionTexture!==void 0&&a!==rC&&(c.push(t.assignTexture(o,`aoMap`,i.occlusionTexture)),i.occlusionTexture.strength!==void 0&&(o.aoMapIntensity=i.occlusionTexture.strength)),i.emissiveFactor!==void 0&&a!==rC){let e=i.emissiveFactor;o.emissive=new X().setRGB(e[0],e[1],e[2],Cb)}return i.emissiveTexture!==void 0&&a!==rC&&c.push(t.assignTexture(o,`emissiveMap`,i.emissiveTexture,Sb)),Promise.all(c).then(function(){let n=new a(o);return i.name&&(n.name=i.name),xj(n,i),t.associations.set(n,{materials:e}),i.extensions&&bj(r,n,i),n})}createUniqueName(e){let t=cE.sanitizeNodeName(e||``);return t in this.nodeNamesUsed?t+`_`+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){let t=this,n=this.extensions,r=this.primitiveCache;function i(e){return n[FA.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(e,t).then(function(n){return jj(n,e,t)})}let a=[];for(let n=0,o=e.length;n0&&Cj(d,i),d.name=t.createUniqueName(i.name||`mesh_`+e),xj(d,i),u.extensions&&bj(r,d,u),t.assignFinalMaterial(d),c.push(d)}for(let n=0,r=c.length;n1?new qC:t.length===1?t[0]:new FS,o!==t[0])for(let e=0,n=t.length;e1){let e=r.associations.get(o);r.associations.set(o,{...e})}return r.associations.get(o).nodes=e,o}),this.nodeCache[e]}loadScene(e){let t=this.extensions,n=this.json.scenes[e],r=this,i=new qC;n.name&&(i.name=r.createUniqueName(n.name)),xj(i,n),n.extensions&&bj(t,i,n);let a=n.nodes||[],o=[];for(let e=0,t=a.length;e{let t=new Map;for(let[e,n]of r.associations)(e instanceof nC||e instanceof Ax)&&t.set(e,n);return e.traverse(e=>{let n=r.associations.get(e);n!=null&&t.set(e,n)}),t})(i),i})}_createAnimationTracks(e,t,n,r,i){let a=[],o=e.name?e.name:e.uuid,s=[];gj[i.path]===gj.weights?e.traverse(function(e){e.morphTargetInfluences&&s.push(e.name?e.name:e.uuid)}):s.push(o);let c;switch(gj[i.path]){case gj.weights:c=fT;break;case gj.rotation:c=mT;break;case gj.translation:case gj.scale:c=gT;break;default:switch(n.itemSize){case 1:c=fT;break;default:c=gT;break}break}let l=r.interpolation===void 0?mb:_j[r.interpolation],u=this._getArrayFromAccessor(n);for(let e=0,n=s.length;e0?t[t.length-1]:``,smooth:n===void 0?this.smooth:n.smooth,groupStart:n===void 0?0:n.groupEnd,groupEnd:-1,groupCount:-1,inherited:!1,clone:function(e){let t={index:typeof e==`number`?e:this.index,name:this.name,mtllib:this.mtllib,smooth:this.smooth,groupStart:0,groupEnd:-1,groupCount:-1,inherited:!1};return t.clone=this.clone.bind(t),t}};return this.materials.push(r),r},currentMaterial:function(){if(this.materials.length>0)return this.materials[this.materials.length-1]},_finalize:function(e){let t=this.currentMaterial();if(t&&t.groupEnd===-1&&(t.groupEnd=this.geometry.vertices.length/3,t.groupCount=t.groupEnd-t.groupStart,t.inherited=!1),e&&this.materials.length>1)for(let e=this.materials.length-1;e>=0;e--)this.materials[e].groupCount<=0&&this.materials.splice(e,1);return e&&this.materials.length===0&&this.materials.push({name:``,smooth:this.smooth}),t}},n&&n.name&&typeof n.clone==`function`){let e=n.clone(0);e.inherited=!0,this.object.materials.push(e)}this.objects.push(this.object)},finalize:function(){this.object&&typeof this.object._finalize==`function`&&this.object._finalize(!0)},parseVertexIndex:function(e,t){let n=parseInt(e,10);return(n>=0?n-1:n+t/3)*3},parseNormalIndex:function(e,t){let n=parseInt(e,10);return(n>=0?n-1:n+t/3)*3},parseUVIndex:function(e,t){let n=parseInt(e,10);return(n>=0?n-1:n+t/2)*2},addVertex:function(e,t,n){let r=this.vertices,i=this.object.geometry.vertices;i.push(r[e+0],r[e+1],r[e+2]),i.push(r[t+0],r[t+1],r[t+2]),i.push(r[n+0],r[n+1],r[n+2])},addVertexPoint:function(e){let t=this.vertices;this.object.geometry.vertices.push(t[e+0],t[e+1],t[e+2])},addVertexLine:function(e){let t=this.vertices;this.object.geometry.vertices.push(t[e+0],t[e+1],t[e+2])},addNormal:function(e,t,n){let r=this.normals,i=this.object.geometry.normals;i.push(r[e+0],r[e+1],r[e+2]),i.push(r[t+0],r[t+1],r[t+2]),i.push(r[n+0],r[n+1],r[n+2])},addFaceNormal:function(e,t,n){let r=this.vertices,i=this.object.geometry.normals;Lj.fromArray(r,e),Rj.fromArray(r,t),zj.fromArray(r,n),Vj.subVectors(zj,Rj),Bj.subVectors(Lj,Rj),Vj.cross(Bj),Vj.normalize(),i.push(Vj.x,Vj.y,Vj.z),i.push(Vj.x,Vj.y,Vj.z),i.push(Vj.x,Vj.y,Vj.z)},addColor:function(e,t,n){let r=this.colors,i=this.object.geometry.colors;r[e]!==void 0&&i.push(r[e+0],r[e+1],r[e+2]),r[t]!==void 0&&i.push(r[t+0],r[t+1],r[t+2]),r[n]!==void 0&&i.push(r[n+0],r[n+1],r[n+2])},addUV:function(e,t,n){let r=this.uvs,i=this.object.geometry.uvs;i.push(r[e+0],r[e+1]),i.push(r[t+0],r[t+1]),i.push(r[n+0],r[n+1])},addDefaultUV:function(){let e=this.object.geometry.uvs;e.push(0,0),e.push(0,0),e.push(0,0)},addUVLine:function(e){let t=this.uvs;this.object.geometry.uvs.push(t[e+0],t[e+1])},addFace:function(e,t,n,r,i,a,o,s,c){let l=this.vertices.length,u=this.parseVertexIndex(e,l),d=this.parseVertexIndex(t,l),f=this.parseVertexIndex(n,l);if(this.addVertex(u,d,f),this.addColor(u,d,f),o!==void 0&&o!==``){let e=this.normals.length;u=this.parseNormalIndex(o,e),d=this.parseNormalIndex(s,e),f=this.parseNormalIndex(c,e),this.addNormal(u,d,f)}else this.addFaceNormal(u,d,f);if(r!==void 0&&r!==``){let e=this.uvs.length;u=this.parseUVIndex(r,e),d=this.parseUVIndex(i,e),f=this.parseUVIndex(a,e),this.addUV(u,d,f),this.object.geometry.hasUVIndices=!0}else this.addDefaultUV()},addPointGeometry:function(e){this.object.geometry.type=`Points`;let t=this.vertices.length;for(let n=0,r=e.length;nthis.updateSize())}disconnectedCallback(){cancelAnimationFrame(this._renderLoopId)}attributeChangedCallback(e,t,n){switch(this._updateCollisionVisibility(),this.noAutoRecenter||this.recenter(),e){case`package`:case`urdf`:this._scheduleLoad();break;case`up`:this._setUp(this.up);break;case`ambient-color`:this.ambientLight.color.set(this.ambientColor),this.ambientLight.groundColor.set(`#000`).lerp(this.ambientLight.color,.5);break;case`ignore-limits`:this._setIgnoreLimits(this.ignoreLimits,!0);break}}updateSize(){let e=this.renderer,t=this.clientWidth,n=this.clientHeight,r=e.getSize(Xk);(r.width!==t||r.height!==n)&&this.recenter(),e.setPixelRatio(window.devicePixelRatio),e.setSize(t,n,!1),this.camera.aspect=t/n,this.camera.updateProjectionMatrix()}redraw(){this._dirty=!0}recenter(){this._updateEnvironment(),this.redraw()}setJointValue(e,...t){this.robot&&this.robot.joints[e]&&this.robot.joints[e].setJointValue(...t)&&(this.redraw(),this.dispatchEvent(new CustomEvent(`angle-change`,{bubbles:!0,cancelable:!0,detail:e})))}setJointValues(e){for(let t in e)Array.isArray(e[t])?this.setJointValue(t,...e[t]):this.setJointValue(t,e[t])}_updateEnvironment(){let e=this.robot;if(!e)return;this.world.updateMatrixWorld();let t=new jx;t.makeEmpty(),e.traverse(e=>{e.isURDFVisual&&t.expandByObject(e)});let n=t.getCenter(new J);this.controls.target.y=n.y,this.plane.position.y=t.min.y-.001;let r=this.directionalLight;if(r.castShadow=this.displayShadow,this.displayShadow){let e=t.getBoundingSphere(new Yx).radius,i=r.shadow.camera;i.left=i.bottom=-e,i.right=i.top=e;let a=r.position.clone().sub(r.target.position);r.target.position.copy(n),r.position.copy(n).add(a),i.updateProjectionMatrix()}}_scheduleLoad(){this._prevload!==`${this.package}|${this.urdf}`&&(this._prevload=`${this.package}|${this.urdf}`,!this._loadScheduled&&(this._loadScheduled=!0,this.robot&&=(this.robot.traverse(e=>e.dispose&&e.dispose()),this.robot.parent.remove(this.robot),null),requestAnimationFrame(()=>{this._loadUrdf(this.package,this.urdf),this._loadScheduled=!1})))}_loadUrdf(e,t){if(this.dispatchEvent(new CustomEvent(`urdf-change`,{bubbles:!0,cancelable:!0,composed:!0})),t){this._requestId++;let n=this._requestId,r=e=>{e.traverse(e=>{if(e.isMesh&&(e.castShadow=!0,e.receiveShadow=!0,e.material)){let t=(Array.isArray(e.material)?e.material:[e.material]).map(e=>(e instanceof QS&&(e=new tT),e.map&&(e.map.colorSpace=xb),e));e.material=t.length===1?t[0]:t}})};e.includes(`:`)&&e.split(`:`)[1].substring(0,2)!==`//`&&(e=e.split(`,`).reduce((e,t)=>{let n=t.split(/:/).filter(e=>!!e),r=n.shift().trim();return e[r]=n.join(`:`).trim(),e},{}));let i=null,a=new ST;a.onLoad=()=>{if(this._requestId!==n){i.traverse(e=>e.dispose&&e.dispose());return}this.robot=i,this.world.add(i),r(i),this._setIgnoreLimits(this.ignoreLimits),this._updateCollisionVisibility(),this.dispatchEvent(new CustomEvent(`urdf-processed`,{bubbles:!0,cancelable:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`geometry-loaded`,{bubbles:!0,cancelable:!0,composed:!0})),this.recenter()},this.urlModifierFunc&&a.setURLModifier(this.urlModifierFunc);let o=new Yk(a);o.packages=e,o.loadMeshCb=this.loadMeshFunc,o.fetchOptions={mode:`cors`,credentials:`same-origin`},o.parseCollision=!0,o.load(t,e=>i=e)}}_updateCollisionVisibility(){let e=this.showCollision,t=this._collisionMaterial,n=this.robot;if(n===null)return;let r=[];n.traverse(t=>{t.isURDFCollider&&(t.visible=e,r.push(t))}),r.forEach(e=>{e.traverse(e=>{e.isMesh&&(e.raycast=Zk,e.material=t,e.castShadow=!1)})})}_setUp(e){e||=`+Z`,e=e.toUpperCase();let t=e.replace(/[^-+]/g,``)[0]||`+`,n=e.replace(/[^XYZ]/gi,``)[0]||`Z`,r=Math.PI,i=r/2;n===`X`&&this.world.rotation.set(0,0,t===`+`?i:-i),n===`Z`&&this.world.rotation.set(t===`+`?-i:i,0,0),n===`Y`&&this.world.rotation.set(t===`+`?0:r,0,0)}_setIgnoreLimits(e,t=!1){this.robot&&Object.values(this.robot.joints).forEach(t=>{t.ignoreLimits=e,t.setJointValue(...t.jointValue)}),t&&this.dispatchEvent(new CustomEvent(`ignore-limits-change`,{bubbles:!0,cancelable:!0,composed:!0}))}};function $k(e){return e.isURDFJoint&&e.jointType!==`fixed`}function eA(e){let t=e;for(;t;){if($k(t))return t;t=t.parent}return t}var tA=new J,nA=new J,rA=new J,iA=new J,aA=new J,oA=new J,sA=new J,cA=new Dw,lA=class{constructor(e){this.enabled=!0,this.scene=e,this.raycaster=new dE,this.initialGrabPoint=new J,this.hitDistance=-1,this.hovered=null,this.manipulating=null}update(){let{raycaster:e,hovered:t,manipulating:n,scene:r}=this;if(n)return;let i=null,a=e.intersectObject(r,!0);if(a.length!==0){let e=a[0];this.hitDistance=e.distance,i=eA(e.object),this.initialGrabPoint.copy(e.point)}i!==t&&(t&&this.onUnhover(t),this.hovered=i,i&&this.onHover(i))}updateJoint(e,t){e.setJointValue(t)}onDragStart(e){}onDragEnd(e){}onHover(e){}onUnhover(e){}getRevoluteDelta(e,t,n){return iA.copy(e.axis).transformDirection(e.matrixWorld).normalize(),rA.set(0,0,0).applyMatrix4(e.matrixWorld),cA.setFromNormalAndCoplanarPoint(iA,rA),cA.projectPoint(t,oA),cA.projectPoint(n,sA),oA.sub(rA),sA.sub(rA),iA.crossVectors(oA,sA),Math.sign(iA.dot(cA.normal))*sA.angleTo(oA)}getPrismaticDelta(e,t,n){return iA.subVectors(n,t),cA.normal.copy(e.axis).transformDirection(e.parent.matrixWorld).normalize(),iA.dot(cA.normal)}moveRay(e){let{raycaster:t,hitDistance:n,manipulating:r}=this,{ray:i}=t;if(r){i.at(n,tA),e.at(n,nA);let t=0;r.jointType===`revolute`||r.jointType===`continuous`?t=this.getRevoluteDelta(r,tA,nA):r.jointType===`prismatic`&&(t=this.getPrismaticDelta(r,tA,nA)),t&&this.updateJoint(r,r.angle+t)}this.raycaster.ray.copy(e),this.update()}setGrabbed(e){let{hovered:t,manipulating:n}=this;if(e){if(n!==null||t===null)return;this.manipulating=t,this.onDragStart(t)}else{if(this.manipulating===null)return;this.onDragEnd(this.manipulating),this.manipulating=null,this.update()}}},uA=class extends lA{constructor(e,t,n){super(e),this.camera=t,this.domElement=n;let r=new dE,i=new nx;function a(e){let t=n.getBoundingClientRect();i.x=(e.clientX-t.left)/t.width*2-1,i.y=-((e.clientY-t.top)/t.height)*2+1}this._mouseDown=e=>{a(e),r.setFromCamera(i,this.camera),this.moveRay(r.ray),this.setGrabbed(!0)},this._mouseMove=e=>{a(e),r.setFromCamera(i,this.camera),this.moveRay(r.ray)},this._mouseUp=e=>{a(e),r.setFromCamera(i,this.camera),this.moveRay(r.ray),this.setGrabbed(!1)},n.addEventListener(`mousedown`,this._mouseDown),n.addEventListener(`mousemove`,this._mouseMove),n.addEventListener(`mouseup`,this._mouseUp)}getRevoluteDelta(e,t,n){let{camera:r,initialGrabPoint:i}=this;return iA.copy(e.axis).transformDirection(e.matrixWorld).normalize(),rA.set(0,0,0).applyMatrix4(e.matrixWorld),cA.setFromNormalAndCoplanarPoint(iA,rA),iA.copy(r.position).sub(i).normalize(),Math.abs(iA.dot(cA.normal))>.3?super.getRevoluteDelta(e,t,n):(iA.set(0,1,0).transformDirection(r.matrixWorld),cA.projectPoint(t,oA),cA.projectPoint(n,sA),iA.set(0,0,-1).transformDirection(r.matrixWorld),iA.cross(cA.normal),aA.subVectors(n,t),iA.dot(aA))}dispose(){let{domElement:e}=this;e.removeEventListener(`mousedown`,this._mouseDown),e.removeEventListener(`mousemove`,this._mouseMove),e.removeEventListener(`mouseup`,this._mouseUp)}},dA=class extends Qk{static get observedAttributes(){return[`highlight-color`,...super.observedAttributes]}get disableDragging(){return this.hasAttribute(`disable-dragging`)}set disableDragging(e){e?this.setAttribute(`disable-dragging`,!!e):this.removeAttribute(`disable-dragging`)}get highlightColor(){return this.getAttribute(`highlight-color`)||`#FFFFFF`}set highlightColor(e){e?this.setAttribute(`highlight-color`,e):this.removeAttribute(`highlight-color`)}constructor(...e){super(...e),this.highlightMaterial=new tT({shininess:10,color:this.highlightColor,emissive:this.highlightColor,emissiveIntensity:.25});let t=e=>e.isURDFJoint&&e.jointType!==`fixed`,n=(e,n)=>{let r=i=>{if(i.type===`Mesh`&&(n?(i.material=i.__origMaterial,delete i.__origMaterial):(i.__origMaterial=i.material,i.material=this.highlightMaterial)),i===e||!t(i))for(let e=0;e{this.dispatchEvent(new CustomEvent(`manipulate-start`,{bubbles:!0,cancelable:!0,detail:e.name})),this.controls.enabled=!1,this.redraw()},i.onDragEnd=e=>{this.dispatchEvent(new CustomEvent(`manipulate-end`,{bubbles:!0,cancelable:!0,detail:e.name})),this.controls.enabled=!0,this.redraw()},i.updateJoint=(e,t)=>{this.setJointValue(e.name,t)},i.onHover=e=>{n(e,!1),this.dispatchEvent(new CustomEvent(`joint-mouseover`,{bubbles:!0,cancelable:!0,detail:e.name})),this.redraw()},i.onUnhover=e=>{n(e,!0),this.dispatchEvent(new CustomEvent(`joint-mouseout`,{bubbles:!0,cancelable:!0,detail:e.name})),this.redraw()},this.dragControls=i}disconnectedCallback(){super.disconnectedCallback(),this.dragControls.dispose()}attributeChangedCallback(e,t,n){switch(super.attributeChangedCallback(e,t,n),e){case`highlight-color`:this.highlightMaterial.color.set(this.highlightColor),this.highlightMaterial.emissive.set(this.highlightColor);break}}},fA=1e3,pA=3e4,mA=({viewerRef:e,enabled:t=!0,websocketUrl:n,jointPrefix:r})=>{let{wsBaseUrl:i}=zs(),a=n||`${i}/ws/joint-data`,o=(0,_.useRef)(null),s=(0,_.useRef)(null),c=(0,_.useRef)(fA),l=(0,_.useRef)(!1),[u,d]=(0,_.useState)(!1),f=(0,_.useCallback)(t=>{let n=e.current;!n||typeof n.setJointValue!=`function`||Object.entries(t).forEach(([e,t])=>{if(r&&!e.startsWith(r))return;let i=r?e.slice(r.length):e;try{n.setJointValue(i,t)}catch(e){console.warn(`Failed to set joint ${i}:`,e)}})},[e,r]);return(0,_.useEffect)(()=>{if(!t)return;l.current=!1;let e=()=>{if(l.current)return;let e;try{e=new WebSocket(a)}catch(e){console.error(`Failed to create WebSocket:`,e),n();return}o.current=e,e.onopen=()=>{d(!0),c.current=fA,s.current&&=(clearTimeout(s.current),null)},e.onmessage=e=>{try{let t=JSON.parse(e.data);t.type===`joint_update`&&t.joints&&f(t.joints)}catch(e){console.error(`Error parsing WebSocket message:`,e)}},e.onclose=e=>{d(!1),o.current=null,!l.current&&e.code!==1e3&&n()},e.onerror=()=>{d(!1)}},n=()=>{if(s.current)return;let t=c.current;c.current=Math.min(t*2,pA),s.current=setTimeout(()=>{s.current=null,e()},t)};return e(),()=>{l.current=!0,s.current&&=(clearTimeout(s.current),null),o.current&&=(o.current.close(1e3),null),d(!1)}},[t,a,f]),{isConnected:u}},hA=[`light`,`dark`],gA=`(prefers-color-scheme: dark)`;_.createContext(void 0),_.memo(({forcedTheme:e,storageKey:t,attribute:n,enableSystem:r,enableColorScheme:i,defaultTheme:a,value:o,attrs:s,nonce:c})=>{let l=a===`system`,u=n===`class`?`var d=document.documentElement,c=d.classList;${`c.remove(${s.map(e=>`'${e}'`).join(`,`)})`};`:`var d=document.documentElement,n='${n}',s='setAttribute';`,d=i?hA.includes(a)&&a?`if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${a}'`:`if(e==='light'||e==='dark')d.style.colorScheme=e`:``,f=(e,t=!1,r=!0)=>{let a=o?o[e]:e,s=t?e+`|| ''`:`'${a}'`,c=``;return i&&r&&!t&&hA.includes(e)&&(c+=`d.style.colorScheme = '${e}';`),n===`class`?t||a?c+=`c.add(${s})`:c+=`null`:a&&(c+=`d[s](n,${s})`),c},p=e?`!function(){${u}${f(e)}}()`:r?`!function(){try{${u}var e=localStorage.getItem('${t}');if('system'===e||(!e&&${l})){var t='${gA}',m=window.matchMedia(t);if(m.media!==t||m.matches){${f(`dark`)}}else{${f(`light`)}}}else if(e){${o?`var x=${JSON.stringify(o)};`:``}${f(o?`x[e]`:`e`,!0)}}${l?``:`else{`+f(a,!1,!1)+`}`}${d}}catch(e){}}()`:`!function(){try{${u}var e=localStorage.getItem('${t}');if(e){${o?`var x=${JSON.stringify(o)};`:``}${f(o?`x[e]`:`e`,!0)}}else{${f(a,!1,!1)};}${d}}catch(t){}}();`;return _.createElement(`script`,{nonce:c,dangerouslySetInnerHTML:{__html:p}})});function _A(e,t){if(t===0)return console.warn(`THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles.`),e;if(t===2||t===1){let n=e.getIndex();if(n===null){let t=[],r=e.getAttribute(`position`);if(r!==void 0){for(let e=0;e=2.0 are supported.`));return}let c=new mj(i,{path:t||this.resourcePath||``,crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});c.fileLoader.setRequestHeader(this.requestHeader);for(let e=0;e=0&&o[t]===void 0&&console.warn(`THREE.GLTFLoader: Unknown extension "`+t+`".`)}}c.setExtensions(a),c.setPlugins(o),c.parse(n,r)}parseAsync(e,t){let n=this;return new Promise(function(r,i){n.parse(e,t,r,i)})}};function yA(){let e={};return{get:function(t){return e[t]},add:function(t,n){e[t]=n},remove:function(t){delete e[t]},removeAll:function(){e={}}}}var bA={KHR_BINARY_GLTF:`KHR_binary_glTF`,KHR_DRACO_MESH_COMPRESSION:`KHR_draco_mesh_compression`,KHR_LIGHTS_PUNCTUAL:`KHR_lights_punctual`,KHR_MATERIALS_CLEARCOAT:`KHR_materials_clearcoat`,KHR_MATERIALS_DISPERSION:`KHR_materials_dispersion`,KHR_MATERIALS_IOR:`KHR_materials_ior`,KHR_MATERIALS_SHEEN:`KHR_materials_sheen`,KHR_MATERIALS_SPECULAR:`KHR_materials_specular`,KHR_MATERIALS_TRANSMISSION:`KHR_materials_transmission`,KHR_MATERIALS_IRIDESCENCE:`KHR_materials_iridescence`,KHR_MATERIALS_ANISOTROPY:`KHR_materials_anisotropy`,KHR_MATERIALS_UNLIT:`KHR_materials_unlit`,KHR_MATERIALS_VOLUME:`KHR_materials_volume`,KHR_TEXTURE_BASISU:`KHR_texture_basisu`,KHR_TEXTURE_TRANSFORM:`KHR_texture_transform`,KHR_MESH_QUANTIZATION:`KHR_mesh_quantization`,KHR_MATERIALS_EMISSIVE_STRENGTH:`KHR_materials_emissive_strength`,EXT_MATERIALS_BUMP:`EXT_materials_bump`,EXT_TEXTURE_WEBP:`EXT_texture_webp`,EXT_TEXTURE_AVIF:`EXT_texture_avif`,EXT_MESHOPT_COMPRESSION:`EXT_meshopt_compression`,EXT_MESH_GPU_INSTANCING:`EXT_mesh_gpu_instancing`},xA=class{constructor(e){this.parser=e,this.name=bA.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){let e=this.parser,t=this.parser.json.nodes||[];for(let n=0,r=t.length;n=0)throw Error(`THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures`);return null}return t.loadTextureImage(e,i.source,a)}},FA=class{constructor(e){this.parser=e,this.name=bA.EXT_TEXTURE_WEBP}loadTexture(e){let t=this.name,n=this.parser,r=n.json,i=r.textures[e];if(!i.extensions||!i.extensions[t])return null;let a=i.extensions[t],o=r.images[a.source],s=n.textureLoader;if(o.uri){let e=n.options.manager.getHandler(o.uri);e!==null&&(s=e)}return n.loadTextureImage(e,a.source,s)}},IA=class{constructor(e){this.parser=e,this.name=bA.EXT_TEXTURE_AVIF}loadTexture(e){let t=this.name,n=this.parser,r=n.json,i=r.textures[e];if(!i.extensions||!i.extensions[t])return null;let a=i.extensions[t],o=r.images[a.source],s=n.textureLoader;if(o.uri){let e=n.options.manager.getHandler(o.uri);e!==null&&(s=e)}return n.loadTextureImage(e,a.source,s)}},LA=class{constructor(e){this.name=bA.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){let t=this.parser.json,n=t.bufferViews[e];if(n.extensions&&n.extensions[this.name]){let e=n.extensions[this.name],r=this.parser.getDependency(`buffer`,e.buffer),i=this.parser.options.meshoptDecoder;if(!i||!i.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw Error(`THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files`);return null}return r.then(function(t){let n=e.byteOffset||0,r=e.byteLength||0,a=e.count,o=e.byteStride,s=new Uint8Array(t,n,r);return i.decodeGltfBufferAsync?i.decodeGltfBufferAsync(a,o,s,e.mode,e.filter).then(function(e){return e.buffer}):i.ready.then(function(){let t=new ArrayBuffer(a*o);return i.decodeGltfBuffer(new Uint8Array(t),a,o,s,e.mode,e.filter),t})})}else return null}},RA=class{constructor(e){this.name=bA.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){let t=this.parser.json,n=t.nodes[e];if(!n.extensions||!n.extensions[this.name]||n.mesh===void 0)return null;let r=t.meshes[n.mesh];for(let e of r.primitives)if(e.mode!==YA.TRIANGLES&&e.mode!==YA.TRIANGLE_STRIP&&e.mode!==YA.TRIANGLE_FAN&&e.mode!==void 0)return null;let i=n.extensions[this.name].attributes,a=[],o={};for(let e in i)a.push(this.parser.getDependency(`accessor`,i[e]).then(t=>(o[e]=t,o[e])));return a.length<1?null:(a.push(this.parser.createNodeMesh(e)),Promise.all(a).then(e=>{let t=e.pop(),n=t.isGroup?t.children:[t],r=e[0].count,i=[];for(let e of n){let t=new Y,n=new J,a=new rx,s=new J(1,1,1),c=new Cw(e.geometry,e.material,r);for(let e=0;e0||e.search(/^data\:image\/jpeg/)===0?`image/jpeg`:e.search(/\.webp($|\?)/i)>0||e.search(/^data\:image\/webp/)===0?`image/webp`:e.search(/\.ktx2($|\?)/i)>0||e.search(/^data\:image\/ktx2/)===0?`image/ktx2`:`image/png`}var pj=new Y,mj=class{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new yA,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let n=!1,r=-1,i=!1,a=-1;if(typeof navigator<`u`){let e=navigator.userAgent;n=/^((?!chrome|android).)*safari/i.test(e)===!0;let t=e.match(/Version\/(\d+)/);r=n&&t?parseInt(t[1],10):-1,i=e.indexOf(`Firefox`)>-1,a=i?e.match(/Firefox\/([0-9]+)\./)[1]:-1}typeof createImageBitmap>`u`||n&&r<17||i&&a<98?this.textureLoader=new AT(this.options.manager):this.textureLoader=new XT(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new DT(this.options.manager),this.fileLoader.setResponseType(`arraybuffer`),this.options.crossOrigin===`use-credentials`&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){let n=this,r=this.json,i=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(e){return e._markDefs&&e._markDefs()}),Promise.all(this._invokeAll(function(e){return e.beforeRoot&&e.beforeRoot()})).then(function(){return Promise.all([n.getDependencies(`scene`),n.getDependencies(`animation`),n.getDependencies(`camera`)])}).then(function(t){let a={scene:t[0][r.scene||0],scenes:t[0],animations:t[1],cameras:t[2],asset:r.asset,parser:n,userData:{}};return aj(i,a,r),oj(a,r),Promise.all(n._invokeAll(function(e){return e.afterRoot&&e.afterRoot(a)})).then(function(){for(let e of a.scenes)e.updateMatrixWorld();e(a)})}).catch(t)}_markDefs(){let e=this.json.nodes||[],t=this.json.skins||[],n=this.json.meshes||[];for(let n=0,r=t.length;n{let n=this.associations.get(e);n!=null&&this.associations.set(t,n);for(let[n,r]of e.children.entries())i(r,t.children[n])};return i(n,r),r.name+=`_instance_`+ e.uses[t]++,r}_invokeOne(e){let t=Object.values(this.plugins);t.push(this);for(let n=0;n=2&&p.setY(t,u[e*a+1]),a>=3&&p.setZ(t,u[e*a+2]),a>=4&&p.setW(t,u[e*a+3]),a>=5)throw Error(`THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.`)}p.normalized=d}return p})}loadTexture(e){let t=this.json,n=this.options,r=t.textures[e].source,i=t.images[r],a=this.textureLoader;if(i.uri){let e=n.manager.getHandler(i.uri);e!==null&&(a=e)}return this.loadTextureImage(e,r,a)}loadTextureImage(e,t,n){let r=this,i=this.json,a=i.textures[e],o=i.images[t],s=(o.uri||o.bufferView)+`:`+a.sampler;if(this.textureCache[s])return this.textureCache[s];let c=this.loadImageSource(t,n).then(function(t){t.flipY=!1,t.name=a.name||o.name||``,t.name===``&&typeof o.uri==`string`&&o.uri.startsWith(`data:image/`)===!1&&(t.name=o.uri);let n=(i.samplers||{})[a.sampler]||{};return t.magFilter=ZA[n.magFilter]||1006,t.minFilter=ZA[n.minFilter]||1008,t.wrapS=QA[n.wrapS]||1e3,t.wrapT=QA[n.wrapT]||1e3,t.generateMipmaps=!t.isCompressedTexture&&t.minFilter!==1003&&t.minFilter!==1006,r.associations.set(t,{textures:e}),t}).catch(function(){return null});return this.textureCache[s]=c,c}loadImageSource(e,t){let n=this,r=this.json,i=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(e=>e.clone());let a=r.images[e],o=self.URL||self.webkitURL,s=a.uri||``,c=!1;if(a.bufferView!==void 0)s=n.getDependency(`bufferView`,a.bufferView).then(function(e){c=!0;let t=new Blob([e],{type:a.mimeType});return s=o.createObjectURL(t),s});else if(a.uri===void 0)throw Error(`THREE.GLTFLoader: Image `+e+` is missing URI and bufferView`);let l=Promise.resolve(s).then(function(e){return new Promise(function(n,r){let a=n;t.isImageBitmapLoader===!0&&(a=function(e){let t=new Ex(e);t.needsUpdate=!0,n(t)}),t.load(JT.resolveURL(e,i.path),a,void 0,r)})}).then(function(e){return c===!0&&o.revokeObjectURL(s),oj(e,a),e.userData.mimeType=a.mimeType||fj(a.uri),e}).catch(function(e){throw console.error(`THREE.GLTFLoader: Couldn't load texture`,s),e});return this.sourceCache[e]=l,l}assignTexture(e,t,n,r){let i=this;return this.getDependency(`texture`,n.index).then(function(a){if(!a)return null;if(n.texCoord!==void 0&&n.texCoord>0&&(a=a.clone(),a.channel=n.texCoord),i.extensions[bA.KHR_TEXTURE_TRANSFORM]){let e=n.extensions===void 0?void 0:n.extensions[bA.KHR_TEXTURE_TRANSFORM];if(e){let t=i.associations.get(a);a=i.extensions[bA.KHR_TEXTURE_TRANSFORM].extendTexture(a,e),i.associations.set(a,t)}}return r!==void 0&&(a.colorSpace=r),e[t]=a,a})}assignFinalMaterial(e){let t=e.geometry,n=e.material,r=t.attributes.tangent===void 0,i=t.attributes.color!==void 0,a=t.attributes.normal===void 0;if(e.isPoints){let e=`PointsMaterial:`+n.uuid,t=this.cache.get(e);t||(t=new Ww,ZS.prototype.copy.call(t,n),t.color.copy(n.color),t.map=n.map,t.sizeAttenuation=!1,this.cache.add(e,t)),n=t}else if(e.isLine){let e=`LineBasicMaterial:`+n.uuid,t=this.cache.get(e);t||(t=new jw,ZS.prototype.copy.call(t,n),t.color.copy(n.color),t.map=n.map,this.cache.add(e,t)),n=t}if(r||i||a){let e=`ClonedMaterial:`+n.uuid+`:`;r&&(e+=`derivative-tangents:`),i&&(e+=`vertex-colors:`),a&&(e+=`flat-shading:`);let t=this.cache.get(e);t||(t=n.clone(),i&&(t.vertexColors=!0),a&&(t.flatShading=!0),r&&(t.normalScale&&(t.normalScale.y*=-1),t.clearcoatNormalScale&&(t.clearcoatNormalScale.y*=-1)),this.cache.add(e,t),this.associations.set(t,this.associations.get(n))),n=t}e.material=n}getMaterialType(){return $w}loadMaterial(e){let t=this,n=this.json,r=this.extensions,i=n.materials[e],a,o={},s=i.extensions||{},c=[];if(s[bA.KHR_MATERIALS_UNLIT]){let e=r[bA.KHR_MATERIALS_UNLIT];a=e.getMaterialType(),c.push(e.extendParams(o,i,t))}else{let n=i.pbrMetallicRoughness||{};if(o.color=new X(1,1,1),o.opacity=1,Array.isArray(n.baseColorFactor)){let e=n.baseColorFactor;o.color.setRGB(e[0],e[1],e[2],Sb),o.opacity=e[3]}n.baseColorTexture!==void 0&&c.push(t.assignTexture(o,`map`,n.baseColorTexture,xb)),o.metalness=n.metallicFactor===void 0?1:n.metallicFactor,o.roughness=n.roughnessFactor===void 0?1:n.roughnessFactor,n.metallicRoughnessTexture!==void 0&&(c.push(t.assignTexture(o,`metalnessMap`,n.metallicRoughnessTexture)),c.push(t.assignTexture(o,`roughnessMap`,n.metallicRoughnessTexture))),a=this._invokeOne(function(t){return t.getMaterialType&&t.getMaterialType(e)}),c.push(Promise.all(this._invokeAll(function(t){return t.extendMaterialParams&&t.extendMaterialParams(e,o)})))}i.doubleSided===!0&&(o.side=2);let l=i.alphaMode||rj.OPAQUE;if(l===rj.BLEND?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,l===rj.MASK&&(o.alphaTest=i.alphaCutoff===void 0?.5:i.alphaCutoff)),i.normalTexture!==void 0&&a!==QS&&(c.push(t.assignTexture(o,`normalMap`,i.normalTexture)),o.normalScale=new nx(1,1),i.normalTexture.scale!==void 0)){let e=i.normalTexture.scale;o.normalScale.set(e,e)}if(i.occlusionTexture!==void 0&&a!==QS&&(c.push(t.assignTexture(o,`aoMap`,i.occlusionTexture)),i.occlusionTexture.strength!==void 0&&(o.aoMapIntensity=i.occlusionTexture.strength)),i.emissiveFactor!==void 0&&a!==QS){let e=i.emissiveFactor;o.emissive=new X().setRGB(e[0],e[1],e[2],Sb)}return i.emissiveTexture!==void 0&&a!==QS&&c.push(t.assignTexture(o,`emissiveMap`,i.emissiveTexture,xb)),Promise.all(c).then(function(){let n=new a(o);return i.name&&(n.name=i.name),oj(n,i),t.associations.set(n,{materials:e}),i.extensions&&aj(r,n,i),n})}createUniqueName(e){let t=lE.sanitizeNodeName(e||``);return t in this.nodeNamesUsed?t+`_`+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){let t=this,n=this.extensions,r=this.primitiveCache;function i(e){return n[bA.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(e,t).then(function(n){return gj(n,e,t)})}let a=[];for(let n=0,o=e.length;n0&&cj(d,i),d.name=t.createUniqueName(i.name||`mesh_`+e),oj(d,i),u.extensions&&aj(r,d,u),t.assignFinalMaterial(d),c.push(d)}for(let n=0,r=c.length;n1?new qC:t.length===1?t[0]:new AS,o!==t[0])for(let e=0,n=t.length;e1){let e=r.associations.get(o);r.associations.set(o,{...e})}return r.associations.get(o).nodes=e,o}),this.nodeCache[e]}loadScene(e){let t=this.extensions,n=this.json.scenes[e],r=this,i=new qC;n.name&&(i.name=r.createUniqueName(n.name)),oj(i,n),n.extensions&&aj(t,i,n);let a=n.nodes||[],o=[];for(let e=0,t=a.length;e{let t=new Map;for(let[e,n]of r.associations)(e instanceof ZS||e instanceof Ex)&&t.set(e,n);return e.traverse(e=>{let n=r.associations.get(e);n!=null&&t.set(e,n)}),t})(i),i})}_createAnimationTracks(e,t,n,r,i){let a=[],o=e.name?e.name:e.uuid,s=[];tj[i.path]===tj.weights?e.traverse(function(e){e.morphTargetInfluences&&s.push(e.name?e.name:e.uuid)}):s.push(o);let c;switch(tj[i.path]){case tj.weights:c=pT;break;case tj.rotation:c=hT;break;case tj.translation:case tj.scale:c=_T;break;default:switch(n.itemSize){case 1:c=pT;break;default:c=_T;break}break}let l=r.interpolation===void 0?pb:nj[r.interpolation],u=this._getArrayFromAccessor(n);for(let e=0,n=s.length;e0?t[t.length-1]:``,smooth:n===void 0?this.smooth:n.smooth,groupStart:n===void 0?0:n.groupEnd,groupEnd:-1,groupCount:-1,inherited:!1,clone:function(e){let t={index:typeof e==`number`?e:this.index,name:this.name,mtllib:this.mtllib,smooth:this.smooth,groupStart:0,groupEnd:-1,groupCount:-1,inherited:!1};return t.clone=this.clone.bind(t),t}};return this.materials.push(r),r},currentMaterial:function(){if(this.materials.length>0)return this.materials[this.materials.length-1]},_finalize:function(e){let t=this.currentMaterial();if(t&&t.groupEnd===-1&&(t.groupEnd=this.geometry.vertices.length/3,t.groupCount=t.groupEnd-t.groupStart,t.inherited=!1),e&&this.materials.length>1)for(let e=this.materials.length-1;e>=0;e--)this.materials[e].groupCount<=0&&this.materials.splice(e,1);return e&&this.materials.length===0&&this.materials.push({name:``,smooth:this.smooth}),t}},n&&n.name&&typeof n.clone==`function`){let e=n.clone(0);e.inherited=!0,this.object.materials.push(e)}this.objects.push(this.object)},finalize:function(){this.object&&typeof this.object._finalize==`function`&&this.object._finalize(!0)},parseVertexIndex:function(e,t){let n=parseInt(e,10);return(n>=0?n-1:n+t/3)*3},parseNormalIndex:function(e,t){let n=parseInt(e,10);return(n>=0?n-1:n+t/3)*3},parseUVIndex:function(e,t){let n=parseInt(e,10);return(n>=0?n-1:n+t/2)*2},addVertex:function(e,t,n){let r=this.vertices,i=this.object.geometry.vertices;i.push(r[e+0],r[e+1],r[e+2]),i.push(r[t+0],r[t+1],r[t+2]),i.push(r[n+0],r[n+1],r[n+2])},addVertexPoint:function(e){let t=this.vertices;this.object.geometry.vertices.push(t[e+0],t[e+1],t[e+2])},addVertexLine:function(e){let t=this.vertices;this.object.geometry.vertices.push(t[e+0],t[e+1],t[e+2])},addNormal:function(e,t,n){let r=this.normals,i=this.object.geometry.normals;i.push(r[e+0],r[e+1],r[e+2]),i.push(r[t+0],r[t+1],r[t+2]),i.push(r[n+0],r[n+1],r[n+2])},addFaceNormal:function(e,t,n){let r=this.vertices,i=this.object.geometry.normals;Sj.fromArray(r,e),Cj.fromArray(r,t),wj.fromArray(r,n),Ej.subVectors(wj,Cj),Tj.subVectors(Sj,Cj),Ej.cross(Tj),Ej.normalize(),i.push(Ej.x,Ej.y,Ej.z),i.push(Ej.x,Ej.y,Ej.z),i.push(Ej.x,Ej.y,Ej.z)},addColor:function(e,t,n){let r=this.colors,i=this.object.geometry.colors;r[e]!==void 0&&i.push(r[e+0],r[e+1],r[e+2]),r[t]!==void 0&&i.push(r[t+0],r[t+1],r[t+2]),r[n]!==void 0&&i.push(r[n+0],r[n+1],r[n+2])},addUV:function(e,t,n){let r=this.uvs,i=this.object.geometry.uvs;i.push(r[e+0],r[e+1]),i.push(r[t+0],r[t+1]),i.push(r[n+0],r[n+1])},addDefaultUV:function(){let e=this.object.geometry.uvs;e.push(0,0),e.push(0,0),e.push(0,0)},addUVLine:function(e){let t=this.uvs;this.object.geometry.uvs.push(t[e+0],t[e+1])},addFace:function(e,t,n,r,i,a,o,s,c){let l=this.vertices.length,u=this.parseVertexIndex(e,l),d=this.parseVertexIndex(t,l),f=this.parseVertexIndex(n,l);if(this.addVertex(u,d,f),this.addColor(u,d,f),o!==void 0&&o!==``){let e=this.normals.length;u=this.parseNormalIndex(o,e),d=this.parseNormalIndex(s,e),f=this.parseNormalIndex(c,e),this.addNormal(u,d,f)}else this.addFaceNormal(u,d,f);if(r!==void 0&&r!==``){let e=this.uvs.length;u=this.parseUVIndex(r,e),d=this.parseUVIndex(i,e),f=this.parseUVIndex(a,e),this.addUV(u,d,f),this.object.geometry.hasUVIndices=!0}else this.addDefaultUV()},addPointGeometry:function(e){this.object.geometry.type=`Points`;let t=this.vertices.length;for(let n=0,r=e.length;n=7?(Hj.setRGB(parseFloat(e[4]),parseFloat(e[5]),parseFloat(e[6]),Sb),t.colors.push(Hj.r,Hj.g,Hj.b)):t.colors.push(void 0,void 0,void 0);break;case`vn`:t.normals.push(parseFloat(e[1]),parseFloat(e[2]),parseFloat(e[3]));break;case`vt`:t.uvs.push(parseFloat(e[1]),parseFloat(e[2]));break}}else if(a===`f`){let e=i.slice(1).trim().split(Ij),n=[];for(let t=0,r=e.length;t0){let e=r.split(`/`);n.push(e)}}let r=n[0];for(let e=1,i=n.length-1;e1){let e=r[1].trim().toLowerCase();t.object.smooth=e!==`0`&&e!==`off`}else t.object.smooth=!0;let e=t.object.currentMaterial();e&&(e.smooth=t.object.smooth)}else{if(i===`\0`)continue;console.warn(`THREE.OBJLoader: Unexpected line: "`+i+`"`)}}t.finalize();let i=new qC;if(i.materialLibraries=[].concat(t.materialLibraries),!(t.objects.length===1&&t.objects[0].geometry.vertices.length===0))for(let e=0,n=t.objects.length;e0&&l.setAttribute(`normal`,new uC(r.normals,3)),r.colors.length>0&&(c=!0,l.setAttribute(`color`,new uC(r.colors,3))),r.hasUVIndices===!0&&l.setAttribute(`uv`,new uC(r.uvs,2));let u=[];for(let e=0,n=a.length;e1){for(let e=0,t=a.length;e0){let e=new Iw({size:1,sizeAttenuation:!1}),n=new vC;n.setAttribute(`position`,new uC(t.vertices,3)),t.colors.length>0&&t.colors[0]!==void 0&&(n.setAttribute(`color`,new uC(t.colors,3)),e.vertexColors=!0);let r=new Vw(n,e);i.add(r)}return i}},Gj=(e,t,n)=>{let r=e.split(/\./g).pop()?.toLowerCase();if(e.startsWith(`blob:`)&&e.includes(`#.`)){let t=e.split(`#.`).pop();t&&(r=t.toLowerCase())}if(!r){console.error(`Could not determine file extension for: ${e}`),n(null,Error(`Unsupported file format: ${e}`));return}switch(r){case`gltf`:case`glb`:new NA(t).load(e,e=>n(e.scene),void 0,e=>n(null,e));break;case`obj`:new Wj(t).load(e,e=>n(e),()=>{},e=>n(null,e));break;case`dae`:new Gk(t).load(e,e=>n(e.scene),void 0,e=>n(null,e));break;case`stl`:console.log(`🔧 Loading STL file: ${e}`),new Uk(t).load(e,t=>{console.log(`✅ STL loaded successfully: ${e}`),n(new AC(t,new Xw))},t=>{console.log(`📊 STL loading progress: ${e}`,t)},t=>{console.error(`❌ STL loading failed: ${e}`,t),console.log(`🔄 Creating fallback geometry for: ${e}`),n(new AC(new NC(.05,.05,.05),new Xw({color:16739125,transparent:!0,opacity:.7})))});break;default:n(null,Error(`Unsupported file format: ${r}`))}};function Kj(e,t){e.innerHTML=``;let n=document.createElement(`urdf-viewer`);n.classList.add(`w-full`,`h-full`),e.appendChild(n),n.setAttribute(`up`,`Z`),Xj(n,t?`#2c2b3a`:`#eff4ff`),n.setAttribute(`highlight-color`,t?`#df6dd4`:`#b05ffe`),n.setAttribute(`auto-redraw`,`true`);let r=new KT(14079702,1);n.scene.add(r);let i=new GT(16777215,.8);return i.position.set(5,30,5),i.castShadow=!0,n.scene.add(i),n}function qj(e,t){`loadMeshFunc`in e&&(e.loadMeshFunc=(e,n,r)=>{let i=t?t(e):e;try{Gj(i,n,(e,t)=>{t?(console.warn(`Error loading mesh ${i}:`,t),r(null)):r(e)})}catch(e){console.error(`Exception loading mesh ${i}:`,e),r(null,e)}})}function Jj(e,t){let n=e=>{t(e.detail)},r=()=>{t(null)};return e.addEventListener(`joint-mouseover`,n),e.addEventListener(`joint-mouseout`,r),()=>{e.removeEventListener(`joint-mouseover`,n),e.removeEventListener(`joint-mouseout`,r)}}function Yj(e,t,n,r,i=[]){let a=t.startsWith(`blob:`)&&!t.includes(`#.`)?t+`#.urdf`:t;e.setAttribute(`urdf`,a),e.setAttribute(`package`,n);let o=()=>{if(i.length>0){let e=i[0];e&&(r(e),Nn.info(`Trying alternative model...`,{description:`First model failed to load. Trying ${e.split(`/`).pop()||`alternative model`}`,duration:2e3}))}};return e.addEventListener(`error`,o),()=>{e.removeEventListener(`error`,o)}}function Xj(e,t){let n=e.parentElement;n&&(n.style.backgroundColor=t)}typeof window<`u`&&!customElements.get(`urdf-viewer`)&&customElements.define(`urdf-viewer`,EA);var Zj=(0,_.memo)(()=>{let e=(0,_.useRef)(null),[t,n]=(0,_.useState)(null),{registerUrdfProcessor:r,alternativeUrdfModels:i,isDefaultModel:a,defaultRobotType:o}=ar(),s=(0,_.useRef)(null),c=(0,_.useRef)(null),l=(0,_.useRef)(!1),{isConnected:u}=kA({viewerRef:c,enabled:a}),[d,f]=(0,_.useState)(null),[p,m]=(0,_.useState)(null),h=(0,_.useRef)(``),g=(0,_.useMemo)(()=>({loadUrdf:e=>{f(e)},setUrlModifierFunc:e=>{m(()=>e)},getPackage:()=>h.current}),[]);(0,_.useEffect)(()=>{r(g)},[r,g]);let v=(0,_.useCallback)(e=>{console.log(`🔗 defaultUrlModifier called with: ${e}`);let t=o===`omx`?`/omx-urdf/meshes/`:`/so-101-urdf/meshes/`,n=o===`omx`?`open_manipulator_description`:`so_arm_description`;if(e.startsWith(`package://${n}/meshes/`)){let r=e.replace(`package://${n}/meshes/`,t);return console.log(`🔗 Modified URL (package): ${r}`),r}if(e.includes(`${n}/meshes/`)){let r=e.replace(RegExp(`.*${n}\\/meshes\\/`),t);return console.log(`🔗 Modified URL (partial): ${r}`),r}if(e.includes(`${t}${n}/meshes/`)){let r=e.replace(`${t}${n}/meshes/`,t);return console.log(`🔗 Modified URL (problematic path): ${r}`),r}if(e.endsWith(`.stl`)&&!e.startsWith(`/`)&&!e.startsWith(`http`)){let n=`${t}${e}`;return console.log(`🔗 Modified URL (relative): ${n}`),n}return console.log(`🔗 Unmodified URL: ${e}`),e},[o]);return(0,_.useEffect)(()=>{if(!e.current)return;let t=Kj(e.current,!0);c.current=t,qj(t,a?v:p);let r=a?tr[o]:d||``;a&&(h.current=`/`);let u=()=>{};r&&(u=Yj(t,r,h.current,f,i));let m=Jj(t,n),g=e=>{if(!e||!e.robot){console.log(`[RobotViewer] Cannot fit to view: No viewer or robot available`);return}try{let t=new Ix().setFromObject(e.robot),n=new J;t.getCenter(n);let r=new J;t.getSize(r);let i=Math.max(r.x,r.y,r.z);e.camera.position.copy(n);let a=new J;e.up===`+Z`||e.up===`Z`||e.up===`+Y`||e.up,a.set(1,1,1),a.normalize().multiplyScalar(i*1.3),e.camera.position.add(a),e.controls.target.copy(n),e.controls.update(),e.redraw(),console.log(`[RobotViewer] Robot auto-fitted to view`)}catch(e){console.error(`[RobotViewer] Error fitting robot to view:`,e)}},_=()=>{g(t)},y=()=>{l.current=!0,`setJointValue`in t&&(s.current&&=(s.current(),null)),_()};return t.addEventListener(`urdf-processed`,y),()=>{s.current&&=(s.current(),null),l.current=!1,m(),u(),t.removeEventListener(`urdf-processed`,y)}},[a,o,d,p,v,i]),(0,V.jsxs)(`div`,{className:G(`w-full h-full transition-all duration-300 ease-in-out relative`,`bg-gradient-to-br from-gray-900 to-gray-800`),children:[(0,V.jsx)(`div`,{ref:e,className:`w-full h-full`}),t&&(0,V.jsxs)(`div`,{className:`absolute bottom-4 right-4 bg-black/70 text-white px-3 py-2 rounded-md text-sm font-mono z-10`,children:[`Joint: `,t]}),a&&(0,V.jsx)(`div`,{className:`absolute top-4 right-4 z-10`,children:(0,V.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 rounded-md text-sm font-mono ${u?`bg-green-900/70 text-green-300`:`bg-red-900/70 text-red-300`}`,children:[(0,V.jsx)(`div`,{className:`w-2 h-2 rounded-full ${u?`bg-green-400`:`bg-red-400`}`}),u?`Live Robot Data`:`Disconnected`]})})]})}),Qj=({className:e,iconOnly:t=!1})=>(0,V.jsxs)(`div`,{className:G(`flex items-center gap-2`,e),children:[(0,V.jsx)(`img`,{src:`/lovable-uploads/5e648747-34b7-4d8f-93fd-4dbd00aeeefc.png`,alt:`LeLab Logo`,className:`h-8 w-8`}),!t&&(0,V.jsx)(`span`,{className:`font-bold text-white text-2xl`,children:`LeLab`})]}),$j=({onGoBack:e,className:t,rightSlot:n})=>(0,V.jsxs)(`div`,{className:G(`w-full p-2 sm:p-4 space-y-4 lg:space-y-0 lg:space-x-4 flex flex-col lg:flex-row`,t),children:[(0,V.jsxs)(`div`,{className:`bg-gray-900 rounded-lg p-4 flex-1 flex flex-col`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-4 mb-4`,children:[(0,V.jsx)(K,{variant:`ghost`,size:`icon`,onClick:e,className:`text-gray-400 hover:text-white hover:bg-gray-800 flex-shrink-0`,children:(0,V.jsx)(wa,{className:`h-5 w-5`})}),(0,V.jsx)(Qj,{iconOnly:!0}),(0,V.jsx)(`div`,{className:`w-px h-6 bg-gray-700`}),(0,V.jsx)(`h2`,{className:`text-xl font-medium text-gray-200`,children:`Teleoperation`})]}),(0,V.jsx)(`div`,{className:`flex-1 bg-black rounded border border-gray-800 min-h-[50vh] lg:min-h-0`,children:(0,V.jsx)(Zj,{})})]}),n&&(0,V.jsx)(`div`,{className:`lg:w-96 flex flex-col`,children:n})]}),eM=`Switch`,[tM,mte]=wr(eM),[nM,rM]=tM(eM),iM=_.forwardRef((e,t)=>{let{__scopeSwitch:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c=`on`,onCheckedChange:l,form:u,...d}=e,[f,p]=_.useState(null),m=Sr(t,e=>p(e)),h=_.useRef(!1),g=f?u||!!f.closest(`form`):!0,[v,y]=fi({prop:i,defaultProp:a??!1,onChange:l,caller:eM});return(0,V.jsxs)(nM,{scope:n,checked:v,disabled:s,children:[(0,V.jsx)(U.button,{type:`button`,role:`switch`,"aria-checked":v,"aria-required":o,"data-state":lM(v),"data-disabled":s?``:void 0,disabled:s,value:c,...d,ref:m,onClick:H(e.onClick,e=>{y(e=>!e),g&&(h.current=e.isPropagationStopped(),h.current||e.stopPropagation())})}),g&&(0,V.jsx)(cM,{control:f,bubbles:!h.current,name:r,value:c,checked:v,required:o,disabled:s,form:u,style:{transform:`translateX(-100%)`}})]})});iM.displayName=eM;var aM=`SwitchThumb`,oM=_.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,i=rM(aM,n);return(0,V.jsx)(U.span,{"data-state":lM(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})});oM.displayName=aM;var sM=`SwitchBubbleInput`,cM=_.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...i},a)=>{let o=_.useRef(null),s=Sr(o,a),c=Vh(n),l=zf(t);return _.useEffect(()=>{let e=o.current;if(!e)return;let t=window.HTMLInputElement.prototype,i=Object.getOwnPropertyDescriptor(t,`checked`).set;if(c!==n&&i){let t=new Event(`click`,{bubbles:r});i.call(e,n),e.dispatchEvent(t)}},[c,n,r]),(0,V.jsx)(`input`,{type:`checkbox`,"aria-hidden":!0,defaultChecked:n,...i,tabIndex:-1,ref:s,style:{...i.style,...l,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0}})});cM.displayName=sM;function lM(e){return e?`checked`:`unchecked`}var uM=iM,dM=oM,fM=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(uM,{className:G(`peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input`,e),...t,ref:n,children:(0,V.jsx)(dM,{className:G(`pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0`)})}));fM.displayName=uM.displayName;var pM=({deviceId:e,label:t})=>{let{videoRef:n,hasError:r}=hv(e,!1);return(0,V.jsxs)(`div`,{className:`bg-gray-900 rounded-lg border border-gray-700 overflow-hidden`,children:[(0,V.jsx)(`div`,{className:`aspect-[4/3] bg-gray-800 relative`,children:e&&!r?(0,V.jsx)(`video`,{ref:n,autoPlay:!0,muted:!0,playsInline:!0,className:`w-full h-full object-cover`}):(0,V.jsxs)(`div`,{className:`w-full h-full flex flex-col items-center justify-center`,children:[(0,V.jsx)(fo,{className:`w-8 h-8 text-gray-500 mb-2`}),(0,V.jsx)(`span`,{className:`text-gray-500 text-sm`,children:e?`Preview failed`:`No camera selected`})]})}),t&&(0,V.jsx)(`div`,{className:`p-2 text-sm text-gray-300 truncate border-t border-gray-800`,children:t})]})},mM=()=>{let[e,t]=(0,_.useState)(!1),[n,r]=(0,_.useState)(0),{selectedRecord:i,isLoading:a}=Vv(),o=(i?.cameras??[]).map(e=>({key:e.id,name:e.name,deviceId:e.device_id}));return(0,V.jsxs)(`div`,{className:`bg-gray-900 rounded-lg p-4 flex flex-col gap-4 h-full`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsx)(`h2`,{className:`text-xl font-medium text-gray-200`,children:`Cameras`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e&&o.length>0&&(0,V.jsx)(K,{type:`button`,variant:`ghost`,size:`icon`,onClick:()=>r(e=>e+1),className:`h-9 w-9 text-gray-400 hover:text-white flex-shrink-0`,title:`Retry camera feeds (e.g. after reconnecting a camera)`,"aria-label":`Retry camera feeds`,children:(0,V.jsx)($a,{className:`w-4 h-4`})}),(0,V.jsx)(Bh,{htmlFor:`teleop-camera-toggle`,className:`text-sm text-gray-400`,children:e?`On`:`Off`}),(0,V.jsx)(fM,{id:`teleop-camera-toggle`,checked:e,onCheckedChange:t})]})]}),e?o.length>0?(0,V.jsx)(`div`,{className:`flex flex-col gap-3 overflow-y-auto`,children:o.map(e=>(0,V.jsx)(pM,{deviceId:e.deviceId,label:e.name},`${e.key}:${n}`))}):(0,V.jsx)(`p`,{className:`text-sm text-gray-500`,children:a?`Loading robot...`:`No cameras configured for this robot. Add them during calibration to see live feeds here.`}):(0,V.jsx)(`p`,{className:`text-sm text-gray-500`,children:`Turn on to watch your cameras while you teleoperate.`})]})},hM=`lelab.selectedRobot`,gM=()=>{let e=Re(),{toast:t}=yr(),{baseUrl:n,fetchWithHeaders:r}=zs(),{setDefaultRobotType:i}=ar();(0,_.useEffect)(()=>{let e=!1;return(async()=>{let t=null;try{t=localStorage.getItem(hM)}catch{}if(t)try{let a=await(await r(`${n}/robots/${encodeURIComponent(t)}`)).json();!e&&a?.robot?.robot_type&&i(nr(a.robot.robot_type))}catch{}})(),()=>{e=!0}},[n,r,i]);let a=(0,_.useRef)(!1),o=(0,_.useCallback)(async()=>{if(!a.current){a.current=!0;try{(await(await r(`${n}/stop-teleoperation`,{method:`POST`})).json())?.success&&t({title:`Teleoperation stopped`,description:`The arm was disconnected cleanly.`})}catch{}}},[n,r,t]);return(0,_.useEffect)(()=>{let e=()=>{try{sessionStorage.setItem(`lelab:teleop-stopped`,`1`)}catch{}fetch(`${n}/stop-teleoperation`,{method:`POST`,keepalive:!0}).catch(()=>{})};return window.addEventListener(`pagehide`,e),()=>{window.removeEventListener(`pagehide`,e),o()}},[n,o]),(0,V.jsx)(`div`,{className:`min-h-screen bg-black flex items-center justify-center p-2 sm:p-4`,children:(0,V.jsx)(`div`,{className:`w-full h-[95vh] flex`,children:(0,V.jsx)($j,{onGoBack:async()=>{await o(),e(`/`)},className:`lg:w-full`,rightSlot:(0,V.jsx)(mM,{})})})})},_M=va(`inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground hover:bg-primary/80`,secondary:`border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80`,destructive:`border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80`,outline:`text-foreground`}},defaultVariants:{variant:`default`}});function vM({className:e,variant:t,...n}){return(0,V.jsx)(`div`,{className:G(_M({variant:t}),e),...n})}var yM=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=Ts(`Primitive.${t}`),r=_.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,V.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),bM=`Separator`,xM=`horizontal`,SM=[`horizontal`,`vertical`],CM=_.forwardRef((e,t)=>{let{decorative:n,orientation:r=xM,...i}=e,a=wM(r)?r:xM,o=n?{role:`none`}:{"aria-orientation":a===`vertical`?a:void 0,role:`separator`};return(0,V.jsx)(yM.div,{"data-orientation":a,...o,...i,ref:t})});CM.displayName=bM;function wM(e){return SM.includes(e)}var TM=CM,EM=_.forwardRef(({className:e,orientation:t=`horizontal`,decorative:n=!0,...r},i)=>(0,V.jsx)(TM,{ref:i,decorative:n,orientation:t,className:G(`shrink-0 bg-border`,t===`horizontal`?`h-[1px] w-full`:`h-full w-[1px]`,e),...r}));EM.displayName=TM.displayName;var DM=({onClick:e,robotType:t,className:n=``})=>(0,V.jsxs)(K,{type:`button`,onClick:e,variant:`outline`,size:`sm`,className:` +`),r=[];for(let e=0,i=n.length;e=7?(Dj.setRGB(parseFloat(e[4]),parseFloat(e[5]),parseFloat(e[6]),xb),t.colors.push(Dj.r,Dj.g,Dj.b)):t.colors.push(void 0,void 0,void 0);break;case`vn`:t.normals.push(parseFloat(e[1]),parseFloat(e[2]),parseFloat(e[3]));break;case`vt`:t.uvs.push(parseFloat(e[1]),parseFloat(e[2]));break}}else if(a===`f`){let e=i.slice(1).trim().split(xj),n=[];for(let t=0,r=e.length;t0){let e=r.split(`/`);n.push(e)}}let r=n[0];for(let e=1,i=n.length-1;e1){let e=r[1].trim().toLowerCase();t.object.smooth=e!==`0`&&e!==`off`}else t.object.smooth=!0;let e=t.object.currentMaterial();e&&(e.smooth=t.object.smooth)}else{if(i===`\0`)continue;console.warn(`THREE.OBJLoader: Unexpected line: "`+i+`"`)}}t.finalize();let i=new qC;if(i.materialLibraries=[].concat(t.materialLibraries),!(t.objects.length===1&&t.objects[0].geometry.vertices.length===0))for(let e=0,n=t.objects.length;e0&&l.setAttribute(`normal`,new aC(r.normals,3)),r.colors.length>0&&(c=!0,l.setAttribute(`color`,new aC(r.colors,3))),r.hasUVIndices===!0&&l.setAttribute(`uv`,new aC(r.uvs,2));let u=[];for(let e=0,n=a.length;e1){for(let e=0,t=a.length;e0){let e=new Ww({size:1,sizeAttenuation:!1}),n=new pC;n.setAttribute(`position`,new aC(t.vertices,3)),t.colors.length>0&&t.colors[0]!==void 0&&(n.setAttribute(`color`,new aC(t.colors,3)),e.vertexColors=!0);let r=new Yw(n,e);i.add(r)}return i}},Aj=(e,t,n)=>{let r=e.split(/\./g).pop()?.toLowerCase();if(e.startsWith(`blob:`)&&e.includes(`#.`)){let t=e.split(`#.`).pop();t&&(r=t.toLowerCase())}if(!r){console.error(`Could not determine file extension for: ${e}`),n(null,Error(`Unsupported file format: ${e}`));return}switch(r){case`gltf`:case`glb`:new vA(t).load(e,e=>n(e.scene),void 0,e=>n(null,e));break;case`obj`:new kj(t).load(e,e=>n(e),()=>{},e=>n(null,e));break;case`dae`:new Ak(t).load(e,e=>n(e.scene),void 0,e=>n(null,e));break;case`stl`:console.log(`🔧 Loading STL file: ${e}`),new Ok(t).load(e,t=>{console.log(`✅ STL loaded successfully: ${e}`),n(new TC(t,new tT))},t=>{console.log(`📊 STL loading progress: ${e}`,t)},t=>{console.error(`❌ STL loading failed: ${e}`,t),console.log(`🔄 Creating fallback geometry for: ${e}`),n(new TC(new OC(.05,.05,.05),new tT({color:16739125,transparent:!0,opacity:.7})))});break;default:n(null,Error(`Unsupported file format: ${r}`))}};function jj(e,t){e.innerHTML=``;let n=document.createElement(`urdf-viewer`);n.classList.add(`w-full`,`h-full`),e.appendChild(n),n.setAttribute(`up`,`Z`),Fj(n,t?`#2c2b3a`:`#eff4ff`),n.setAttribute(`highlight-color`,t?`#df6dd4`:`#b05ffe`),n.setAttribute(`auto-redraw`,`true`);let r=new qT(14079702,1);n.scene.add(r);let i=new KT(16777215,.8);return i.position.set(5,30,5),i.castShadow=!0,n.scene.add(i),n}function Mj(e,t){`loadMeshFunc`in e&&(e.loadMeshFunc=(e,n,r)=>{let i=t?t(e):e;try{Aj(i,n,(e,t)=>{t?(console.warn(`Error loading mesh ${i}:`,t),r(null)):r(e)})}catch(e){console.error(`Exception loading mesh ${i}:`,e),r(null,e)}})}function Nj(e,t){let n=e=>{t(e.detail)},r=()=>{t(null)};return e.addEventListener(`joint-mouseover`,n),e.addEventListener(`joint-mouseout`,r),()=>{e.removeEventListener(`joint-mouseover`,n),e.removeEventListener(`joint-mouseout`,r)}}function Pj(e,t,n,r,i=[]){let a=t.startsWith(`blob:`)&&!t.includes(`#.`)?t+`#.urdf`:t;e.setAttribute(`urdf`,a),e.setAttribute(`package`,n);let o=()=>{if(i.length>0){let e=i[0];e&&(r(e),Nn.info(`Trying alternative model...`,{description:`First model failed to load. Trying ${e.split(`/`).pop()||`alternative model`}`,duration:2e3}))}};return e.addEventListener(`error`,o),()=>{e.removeEventListener(`error`,o)}}function Fj(e,t){let n=e.parentElement;n&&(n.style.backgroundColor=t)}typeof window<`u`&&!customElements.get(`urdf-viewer`)&&customElements.define(`urdf-viewer`,dA);var Ij=(0,_.memo)(({robotType:e,jointPrefix:t})=>{let n=(0,_.useRef)(null),[r,i]=(0,_.useState)(null),{registerUrdfProcessor:a,alternativeUrdfModels:o,isDefaultModel:s,defaultRobotType:c}=ar(),l=e??c,u=(0,_.useRef)(null),d=(0,_.useRef)(null),f=(0,_.useRef)(!1),{isConnected:p}=mA({viewerRef:d,enabled:s,jointPrefix:t}),[m,h]=(0,_.useState)(null),[g,v]=(0,_.useState)(null),y=(0,_.useRef)(``),b=(0,_.useMemo)(()=>({loadUrdf:e=>{h(e)},setUrlModifierFunc:e=>{v(()=>e)},getPackage:()=>y.current}),[]);(0,_.useEffect)(()=>{a(b)},[a,b]);let x=(0,_.useCallback)(e=>{console.log(`🔗 defaultUrlModifier called with: ${e}`);let t=l===`omx`?`/omx-urdf/meshes/`:`/so-101-urdf/meshes/`,n=l===`omx`?`open_manipulator_description`:`so_arm_description`;if(e.startsWith(`package://${n}/meshes/`)){let r=e.replace(`package://${n}/meshes/`,t);return console.log(`🔗 Modified URL (package): ${r}`),r}if(e.includes(`${n}/meshes/`)){let r=e.replace(RegExp(`.*${n}\\/meshes\\/`),t);return console.log(`🔗 Modified URL (partial): ${r}`),r}if(e.includes(`${t}${n}/meshes/`)){let r=e.replace(`${t}${n}/meshes/`,t);return console.log(`🔗 Modified URL (problematic path): ${r}`),r}if(e.endsWith(`.stl`)&&!e.startsWith(`/`)&&!e.startsWith(`http`)){let n=`${t}${e}`;return console.log(`🔗 Modified URL (relative): ${n}`),n}return console.log(`🔗 Unmodified URL: ${e}`),e},[l]);return(0,_.useEffect)(()=>{if(!n.current)return;let e=jj(n.current,!0);d.current=e,Mj(e,s?x:g);let t=s?tr[l]:m||``;s&&(y.current=`/`);let r=()=>{};t&&(r=Pj(e,t,y.current,h,o));let a=Nj(e,i),c=e=>{if(!e||!e.robot){console.log(`[RobotViewer] Cannot fit to view: No viewer or robot available`);return}try{let t=new jx().setFromObject(e.robot),n=new J;t.getCenter(n);let r=new J;t.getSize(r);let i=Math.max(r.x,r.y,r.z);e.camera.position.copy(n);let a=new J;e.up===`+Z`||e.up===`Z`||e.up===`+Y`||e.up,a.set(1,1,1),a.normalize().multiplyScalar(i*1.3),e.camera.position.add(a),e.controls.target.copy(n),e.controls.update(),e.redraw(),console.log(`[RobotViewer] Robot auto-fitted to view`)}catch(e){console.error(`[RobotViewer] Error fitting robot to view:`,e)}},p=()=>{c(e)},_=()=>{f.current=!0,`setJointValue`in e&&(u.current&&=(u.current(),null)),p()};return e.addEventListener(`urdf-processed`,_),()=>{u.current&&=(u.current(),null),f.current=!1,a(),r(),e.removeEventListener(`urdf-processed`,_)}},[s,l,m,g,x,o]),(0,V.jsxs)(`div`,{className:G(`w-full h-full transition-all duration-300 ease-in-out relative`,`bg-gradient-to-br from-gray-900 to-gray-800`),children:[(0,V.jsx)(`div`,{ref:n,className:`w-full h-full`}),r&&(0,V.jsxs)(`div`,{className:`absolute bottom-4 right-4 bg-black/70 text-white px-3 py-2 rounded-md text-sm font-mono z-10`,children:[`Joint: `,r]}),s&&(0,V.jsx)(`div`,{className:`absolute top-4 right-4 z-10`,children:(0,V.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 rounded-md text-sm font-mono ${p?`bg-green-900/70 text-green-300`:`bg-red-900/70 text-red-300`}`,children:[(0,V.jsx)(`div`,{className:`w-2 h-2 rounded-full ${p?`bg-green-400`:`bg-red-400`}`}),p?`Live Robot Data`:`Disconnected`]})})]})}),Lj=({className:e,iconOnly:t=!1})=>(0,V.jsxs)(`div`,{className:G(`flex items-center gap-2`,e),children:[(0,V.jsx)(`img`,{src:`/lovable-uploads/5e648747-34b7-4d8f-93fd-4dbd00aeeefc.png`,alt:`LeLab Logo`,className:`h-8 w-8`}),!t&&(0,V.jsx)(`span`,{className:`font-bold text-white text-2xl`,children:`LeLab`})]}),Rj=({onGoBack:e,className:t,rightSlot:n,bimanualViewers:r})=>(0,V.jsxs)(`div`,{className:G(`w-full p-2 sm:p-4 space-y-4 lg:space-y-0 lg:space-x-4 flex flex-col lg:flex-row`,t),children:[(0,V.jsxs)(`div`,{className:`bg-gray-900 rounded-lg p-4 flex-1 flex flex-col`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-4 mb-4`,children:[(0,V.jsx)(K,{variant:`ghost`,size:`icon`,onClick:e,className:`text-gray-400 hover:text-white hover:bg-gray-800 flex-shrink-0`,children:(0,V.jsx)(wa,{className:`h-5 w-5`})}),(0,V.jsx)(Lj,{iconOnly:!0}),(0,V.jsx)(`div`,{className:`w-px h-6 bg-gray-700`}),(0,V.jsx)(`h2`,{className:`text-xl font-medium text-gray-200`,children:`Teleoperation`})]}),(0,V.jsx)(`div`,{className:`flex-1 bg-black rounded border border-gray-800 min-h-[50vh] lg:min-h-0`,children:r?(0,V.jsx)(`div`,{className:`w-full h-full flex flex-col md:flex-row gap-2`,children:r.map(e=>(0,V.jsxs)(`div`,{className:`flex-1 flex flex-col min-h-[25vh] md:min-h-0`,children:[(0,V.jsx)(`div`,{className:`text-xs text-gray-400 px-2 pt-1`,children:e.label}),(0,V.jsx)(`div`,{className:`flex-1`,children:(0,V.jsx)(Ij,{robotType:e.robotType,jointPrefix:e.jointPrefix})})]},e.label))}):(0,V.jsx)(Ij,{})})]}),n&&(0,V.jsx)(`div`,{className:`lg:w-96 flex flex-col`,children:n})]}),zj=`Switch`,[Bj,kte]=wr(zj),[Vj,Hj]=Bj(zj),Uj=_.forwardRef((e,t)=>{let{__scopeSwitch:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c=`on`,onCheckedChange:l,form:u,...d}=e,[f,p]=_.useState(null),m=Sr(t,e=>p(e)),h=_.useRef(!1),g=f?u||!!f.closest(`form`):!0,[v,y]=fi({prop:i,defaultProp:a??!1,onChange:l,caller:zj});return(0,V.jsxs)(Vj,{scope:n,checked:v,disabled:s,children:[(0,V.jsx)(U.button,{type:`button`,role:`switch`,"aria-checked":v,"aria-required":o,"data-state":Jj(v),"data-disabled":s?``:void 0,disabled:s,value:c,...d,ref:m,onClick:H(e.onClick,e=>{y(e=>!e),g&&(h.current=e.isPropagationStopped(),h.current||e.stopPropagation())})}),g&&(0,V.jsx)(qj,{control:f,bubbles:!h.current,name:r,value:c,checked:v,required:o,disabled:s,form:u,style:{transform:`translateX(-100%)`}})]})});Uj.displayName=zj;var Wj=`SwitchThumb`,Gj=_.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,i=Hj(Wj,n);return(0,V.jsx)(U.span,{"data-state":Jj(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})});Gj.displayName=Wj;var Kj=`SwitchBubbleInput`,qj=_.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...i},a)=>{let o=_.useRef(null),s=Sr(o,a),c=Uh(n),l=Bf(t);return _.useEffect(()=>{let e=o.current;if(!e)return;let t=window.HTMLInputElement.prototype,i=Object.getOwnPropertyDescriptor(t,`checked`).set;if(c!==n&&i){let t=new Event(`click`,{bubbles:r});i.call(e,n),e.dispatchEvent(t)}},[c,n,r]),(0,V.jsx)(`input`,{type:`checkbox`,"aria-hidden":!0,defaultChecked:n,...i,tabIndex:-1,ref:s,style:{...i.style,...l,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0}})});qj.displayName=Kj;function Jj(e){return e?`checked`:`unchecked`}var Yj=Uj,Xj=Gj,Zj=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(Yj,{className:G(`peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input`,e),...t,ref:n,children:(0,V.jsx)(Xj,{className:G(`pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0`)})}));Zj.displayName=Yj.displayName;var Qj=({deviceId:e,label:t})=>{let{videoRef:n,hasError:r}=yv(e,!1);return(0,V.jsxs)(`div`,{className:`bg-gray-900 rounded-lg border border-gray-700 overflow-hidden`,children:[(0,V.jsx)(`div`,{className:`aspect-[4/3] bg-gray-800 relative`,children:e&&!r?(0,V.jsx)(`video`,{ref:n,autoPlay:!0,muted:!0,playsInline:!0,className:`w-full h-full object-cover`}):(0,V.jsxs)(`div`,{className:`w-full h-full flex flex-col items-center justify-center`,children:[(0,V.jsx)(fo,{className:`w-8 h-8 text-gray-500 mb-2`}),(0,V.jsx)(`span`,{className:`text-gray-500 text-sm`,children:e?`Preview failed`:`No camera selected`})]})}),t&&(0,V.jsx)(`div`,{className:`p-2 text-sm text-gray-300 truncate border-t border-gray-800`,children:t})]})},$j=()=>{let[e,t]=(0,_.useState)(!1),[n,r]=(0,_.useState)(0),{selectedRecord:i,isLoading:a}=Gv(),o=(i?.cameras??[]).map(e=>({key:e.id,name:e.name,deviceId:e.device_id}));return(0,V.jsxs)(`div`,{className:`bg-gray-900 rounded-lg p-4 flex flex-col gap-4 h-full`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsx)(`h2`,{className:`text-xl font-medium text-gray-200`,children:`Cameras`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e&&o.length>0&&(0,V.jsx)(K,{type:`button`,variant:`ghost`,size:`icon`,onClick:()=>r(e=>e+1),className:`h-9 w-9 text-gray-400 hover:text-white flex-shrink-0`,title:`Retry camera feeds (e.g. after reconnecting a camera)`,"aria-label":`Retry camera feeds`,children:(0,V.jsx)($a,{className:`w-4 h-4`})}),(0,V.jsx)(Hh,{htmlFor:`teleop-camera-toggle`,className:`text-sm text-gray-400`,children:e?`On`:`Off`}),(0,V.jsx)(Zj,{id:`teleop-camera-toggle`,checked:e,onCheckedChange:t})]})]}),e?o.length>0?(0,V.jsx)(`div`,{className:`flex flex-col gap-3 overflow-y-auto`,children:o.map(e=>(0,V.jsx)(Qj,{deviceId:e.deviceId,label:e.name},`${e.key}:${n}`))}):(0,V.jsx)(`p`,{className:`text-sm text-gray-500`,children:a?`Loading robot...`:`No cameras configured for this robot. Add them during calibration to see live feeds here.`}):(0,V.jsx)(`p`,{className:`text-sm text-gray-500`,children:`Turn on to watch your cameras while you teleoperate.`})]})},eM=`lelab.selectedRobot`,tM=()=>{let e=Re(),{toast:t}=yr(),{baseUrl:n,fetchWithHeaders:r}=zs(),{setDefaultRobotType:i}=ar(),[a,o]=(0,_.useState)(null);(0,_.useEffect)(()=>{let e=!1;return(async()=>{let t=null;try{t=localStorage.getItem(eM)}catch{}if(t)try{let a=(await(await r(`${n}/robots/${encodeURIComponent(t)}`)).json())?.robot;if(e||!a)return;a.mode===`bimanual`?o([{robotType:nr(a.robot_type),jointPrefix:`left_`,label:`Left`},{robotType:nr(a.right_robot_type),jointPrefix:`right_`,label:`Right`}]):a.robot_type&&i(nr(a.robot_type))}catch{}})(),()=>{e=!0}},[n,r,i]);let s=(0,_.useRef)(!1),c=(0,_.useCallback)(async()=>{if(!s.current){s.current=!0;try{(await(await r(`${n}/stop-teleoperation`,{method:`POST`})).json())?.success&&t({title:`Teleoperation stopped`,description:`The arm was disconnected cleanly.`})}catch{}}},[n,r,t]);return(0,_.useEffect)(()=>{let e=()=>{try{sessionStorage.setItem(`lelab:teleop-stopped`,`1`)}catch{}fetch(`${n}/stop-teleoperation`,{method:`POST`,keepalive:!0}).catch(()=>{})};return window.addEventListener(`pagehide`,e),()=>{window.removeEventListener(`pagehide`,e),c()}},[n,c]),(0,V.jsx)(`div`,{className:`min-h-screen bg-black flex items-center justify-center p-2 sm:p-4`,children:(0,V.jsx)(`div`,{className:`w-full h-[95vh] flex`,children:(0,V.jsx)(Rj,{onGoBack:async()=>{await c(),e(`/`)},className:`lg:w-full`,rightSlot:(0,V.jsx)($j,{}),bimanualViewers:a??void 0})})})},nM=va(`inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground hover:bg-primary/80`,secondary:`border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80`,destructive:`border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80`,outline:`text-foreground`}},defaultVariants:{variant:`default`}});function rM({className:e,variant:t,...n}){return(0,V.jsx)(`div`,{className:G(nM({variant:t}),e),...n})}var iM=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=Ts(`Primitive.${t}`),r=_.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,V.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),aM=`Separator`,oM=`horizontal`,sM=[`horizontal`,`vertical`],cM=_.forwardRef((e,t)=>{let{decorative:n,orientation:r=oM,...i}=e,a=lM(r)?r:oM,o=n?{role:`none`}:{"aria-orientation":a===`vertical`?a:void 0,role:`separator`};return(0,V.jsx)(iM.div,{"data-orientation":a,...o,...i,ref:t})});cM.displayName=aM;function lM(e){return sM.includes(e)}var uM=cM,dM=_.forwardRef(({className:e,orientation:t=`horizontal`,decorative:n=!0,...r},i)=>(0,V.jsx)(uM,{ref:i,decorative:n,orientation:t,className:G(`shrink-0 bg-border`,t===`horizontal`?`h-[1px] w-full`:`h-full w-[1px]`,e),...r}));dM.displayName=uM.displayName;var fM=({onClick:e,robotType:t,className:n=``})=>(0,V.jsxs)(K,{type:`button`,onClick:e,variant:`outline`,size:`sm`,className:` h-8 px-2 border-gray-600 hover:border-blue-500 text-gray-400 hover:text-blue-400 bg-gray-800 hover:bg-gray-700 transition-all duration-200 ${n} - `,title:`Find ${t||`robot`} port automatically`,children:[(0,V.jsx)(to,{className:`w-3 h-3 mr-1`}),`Find`]}),OM=2e3,kM=({open:e,onOpenChange:t,robotType:n,onPortDetected:r})=>{let[i,a]=(0,_.useState)(`detecting`),[o,s]=(0,_.useState)(``),[c,l]=(0,_.useState)(``),u=(0,_.useRef)(!1),d=(0,_.useRef)(null),f=(0,_.useRef)(null),{toast:p}=yr(),{baseUrl:m,fetchWithHeaders:h}=zs(),g=async()=>{try{d.current=new AbortController;let e=await(await h(`${m}/start-port-detection`,{method:`POST`,body:JSON.stringify({robot_type:n}),signal:d.current.signal})).json();if(u.current)return;if(e.status!==`success`)throw Error(e.message||`Failed to start port detection`);let i=e.data.ports_before;for(;!u.current;){d.current=new AbortController;let e=await(await h(`${m}/detect-port-after-disconnect`,{method:`POST`,body:JSON.stringify({ports_before:i}),signal:d.current.signal})).json();if(u.current)return;if(e.status===`success`){if(s(e.port),await v(e.port),u.current)return;a(`success`),p({title:`Port Detected Successfully`,description:`${n} port detected: ${e.port}`}),f.current=window.setTimeout(()=>{u.current||(r(e.port),t(!1))},OM);return}let o=typeof e.message==`string`?e.message:``;if(!o.includes(`Timed out`))throw Error(o||`Failed to detect port`)}}catch(e){if(u.current||e instanceof DOMException&&e.name===`AbortError`)return;console.error(`Port detection failed:`,e),l(e instanceof Error?e.message:`Unknown error`),a(`error`)}},v=async e=>{try{await h(`${m}/save-robot-port`,{method:`POST`,body:JSON.stringify({robot_type:n,port:e})})}catch(e){console.error(`Error saving port:`,e)}};(0,_.useEffect)(()=>{if(e)return u.current=!1,a(`detecting`),l(``),s(``),g(),()=>{u.current=!0,d.current?.abort(),f.current!==null&&(window.clearTimeout(f.current),f.current=null)}},[e]);let y=()=>{t(!1)},b=()=>{u.current=!1,d.current?.abort(),a(`detecting`),l(``),s(``),g()};return(0,V.jsx)(Su,{open:e,onOpenChange:t,children:(0,V.jsxs)(Tu,{className:`bg-gray-900 border-gray-800 text-white sm:max-w-[500px] p-8`,children:[(0,V.jsxs)(Eu,{children:[(0,V.jsx)(Ou,{className:`text-white text-center text-xl font-bold`,children:`Port Detection`}),(0,V.jsxs)(ku,{className:`text-gray-400 text-center`,children:[`Detect the USB port for your `,n,` arm`]})]}),(0,V.jsx)(`div`,{className:`py-4`,children:(()=>{switch(i){case`detecting`:return(0,V.jsxs)(`div`,{className:`space-y-6 text-center`,children:[(0,V.jsx)(Ja,{className:`w-16 h-16 text-blue-500 mx-auto animate-spin`}),(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsxs)(`h3`,{className:`text-lg font-semibold text-white`,children:[`Unplug the `,n,` arm`]}),(0,V.jsxs)(`p`,{className:`text-gray-400`,children:[`Disconnect the `,n,` robot arm from USB. The port will be detected automatically.`]})]}),(0,V.jsx)(`div`,{className:`flex justify-center`,children:(0,V.jsx)(K,{onClick:y,variant:`outline`,className:`border-gray-500 hover:border-gray-200 text-gray-300 hover:text-white px-8 py-2`,children:`Cancel`})})]});case`success`:return(0,V.jsxs)(`div`,{className:`space-y-6 text-center`,children:[(0,V.jsx)(Na,{className:`w-16 h-16 text-green-500 mx-auto`}),(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(`h3`,{className:`text-lg font-semibold text-white`,children:`Port Detected`}),(0,V.jsx)(`p`,{className:`text-xl font-mono text-green-400 bg-gray-800 px-4 py-2 rounded inline-block`,children:o})]})]});case`error`:return(0,V.jsxs)(`div`,{className:`space-y-6 text-center`,children:[(0,V.jsx)(Ma,{className:`w-16 h-16 text-red-500 mx-auto`}),(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(`h3`,{className:`text-lg font-semibold text-white`,children:`Detection Failed`}),(0,V.jsx)(`div`,{className:`bg-red-900/20 border border-red-800 rounded-lg p-3`,children:(0,V.jsx)(`p`,{className:`text-red-400 text-sm`,children:c})})]}),(0,V.jsxs)(`div`,{className:`flex gap-4 justify-center`,children:[(0,V.jsx)(K,{onClick:b,className:`bg-blue-500 hover:bg-blue-600 text-white px-8 py-2`,children:`Try Again`}),(0,V.jsx)(K,{onClick:y,variant:`outline`,className:`border-gray-500 hover:border-gray-200 text-gray-300 hover:text-white px-8 py-2`,children:`Cancel`})]})]});default:return null}})()})]})})},AM={shoulder_pan:2400,shoulder_lift:2300,elbow_flex:2150,wrist_flex:2250,wrist_roll:3700,gripper:1150},jM={shoulder_pan:2400,shoulder_lift:2300,elbow_flex:2150,wrist_flex:2250,wrist_roll:3700,gripper:1400},MM={shoulder_pan:2e3,shoulder_lift:2e3,elbow_flex:2e3,wrist_flex:2e3,wrist_roll:3e3,gripper:1e3},NM={shoulder_pan:2e3,shoulder_lift:2e3,elbow_flex:2e3,wrist_flex:2e3,wrist_roll:3e3,gripper:1e3},PM=.98;function FM(e,t,n,r){if(!e)return!1;let i=(r&&r.toLowerCase().includes(`omx`)?e===`teleop`?MM:NM:e===`teleop`?AM:jM)[t];return i?n>=i*PM:!1}var IM=`Motor discontinuity detected`,LM=()=>{let e=Re(),t=Ie().state?.robot_name??null,{toast:n}=yr(),{baseUrl:r,fetchWithHeaders:i}=zs();(0,_.useRef)(null);let a=(0,_.useRef)(null),[o,s]=(0,_.useState)(`teleop`),[c,l]=(0,_.useState)(``),[u,d]=(0,_.useState)(`so101`),[f,p]=(0,_.useState)(null),[m,h]=(0,_.useState)([]),[g,v]=(0,_.useState)(!1),y=(0,_.useRef)(null),b=(0,_.useCallback)(async()=>{if(!t)return null;try{let e=await i(`${r}/robots/${encodeURIComponent(t)}`);if(!e.ok)return null;let n=(await e.json()).robot??null;return p(n),n&&n.robot_type&&d(n.robot_type),n}catch(e){return console.error(`Failed to load robot record:`,e),null}},[t,r,i]);(0,_.useEffect)(()=>{if(!t)return;let e=!1;return(async()=>{let t=await b();if(!t||e)return;let n=t.leader_config?t.follower_config?`teleop`:`robot`:`teleop`;s(n),l(n===`teleop`?t.leader_port||``:t.follower_port||``),t.robot_type&&d(t.robot_type),h(t.cameras??[])})(),()=>{e=!0}},[t,b]);let x=e=>{h(e),t&&(y.current&&clearTimeout(y.current),y.current=setTimeout(async()=>{try{await i(`${r}/robots/${encodeURIComponent(t)}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cameras:e})})}catch(e){console.error(`Failed to save cameras to robot record:`,e)}},500))};(0,_.useEffect)(()=>()=>{y.current&&clearTimeout(y.current)},[]);let[S,C]=(0,_.useState)(!1),[w,T]=(0,_.useState)(`leader`),[E,D]=(0,_.useState)({calibration_active:!1,status:`idle`,device_type:null,error:null,message:``,step:0,total_steps:1,current_positions:null,recorded_ranges:null}),[O,k]=(0,_.useState)(!1),A=(0,_.useRef)(!1);(0,_.useEffect)(()=>{A.current=E.calibration_active},[E.calibration_active]),(0,_.useEffect)(()=>()=>{A.current&&i(`${r}/stop-calibration`,{method:`POST`}).catch(e=>console.error(`Failed to stop calibration on unmount:`,e))},[r,i]);let j=async()=>{try{let e=await i(`${r}/calibration-status`);if(e.ok){let t=await e.json();D(t),!t.calibration_active&&(t.status===`completed`||t.status===`error`||t.status===`idle`)&&k(!1)}}catch(e){console.error(`Error polling status:`,e)}},M=async()=>{if(!t){n({title:`No robot selected`,description:`Open Calibration from a robot's gear icon on the Landing page.`,variant:`destructive`});return}if(!c){n({title:`Missing port`,description:`Set the device's serial port before starting.`,variant:`destructive`});return}let e={device_type:o,port:c,config_file:t,robot_name:t,robot_type:u};A.current=!0;try{let t=await(await i(`${r}/start-calibration`,{method:`POST`,body:JSON.stringify(e)})).json();t.success?(n({title:`Calibration Started`,description:`Calibration started for ${o}`}),k(!0)):(A.current=!1,n({title:`Calibration Failed`,description:t.message||`Failed to start calibration`,variant:`destructive`}))}catch(e){A.current=!1,console.error(`Error starting calibration:`,e),n({title:`Error`,description:`Failed to start calibration`,variant:`destructive`})}},N=async()=>{try{let e=await(await i(`${r}/stop-calibration`,{method:`POST`})).json();e.success?n({title:`Calibration Stopped`,description:`Calibration has been stopped`}):n({title:`Error`,description:e.message||`Failed to stop calibration`,variant:`destructive`})}catch(e){console.error(`Error stopping calibration:`,e),n({title:`Error`,description:`Failed to stop calibration`,variant:`destructive`})}},P=async()=>{if(E.calibration_active)try{let e=await(await i(`${r}/complete-calibration-step`,{method:`POST`})).json();e.success?n({title:`Step Completed`,description:e.message}):n({title:`Step Failed`,description:e.message||`Could not complete step`,variant:`destructive`})}catch(e){console.error(`Error completing step:`,e),n({title:`Error`,description:`Could not complete calibration step`,variant:`destructive`})}};(0,_.useEffect)(()=>{E.status===`error`&&E.error?.startsWith(IM)&&a.current?.scrollIntoView({behavior:`smooth`,block:`center`})},[E.status,E.error]),(0,_.useEffect)(()=>{if(!O)return;j();let e=setInterval(()=>{j()},200);return()=>clearInterval(e)},[O]),(0,_.useEffect)(()=>{(async()=>{if(o&&!t)try{let e=await(await i(`${r}/robot-port/${o===`robot`?`follower`:`leader`}`)).json();if(e.status===`success`){let t=e.saved_port||e.default_port;t&&l(t)}}catch(e){console.error(`Error loading default port:`,e)}})()},[o,t,r,i]);let F=e=>{s(e),f&&l(e===`teleop`?f.leader_port||``:f.follower_port||``)};(0,_.useEffect)(()=>{E.status===`completed`&&(async()=>{let e=await b();if(!e)return;let t=e.leader_config?e.follower_config?`teleop`:`robot`:`teleop`;s(t),l(t===`teleop`?e.leader_port||``:e.follower_port||``)})()},[E.status,b]);let ee=()=>{T(o===`robot`?`follower`:`leader`),C(!0)},te=(0,_.useCallback)(async e=>{if(!t||!e)return;let n=o===`robot`?`follower_port`:`leader_port`;if(!(f&&f[n]===e))try{let a=await(await i(`${r}/robots/${encodeURIComponent(t)}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({[n]:e})})).json();a.robot&&p(a.robot)}catch(e){console.error(`Failed to save port to robot record:`,e)}},[t,o,f,r,i]),I=(0,_.useCallback)(async e=>{if(!(!t||!e)&&!(f&&f.robot_type===e))try{let n=await(await i(`${r}/robots/${encodeURIComponent(t)}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({robot_type:e})})).json();n.robot&&p(n.robot)}catch(e){console.error(`Failed to save robot type to robot record:`,e)}},[t,f,r,i]),ne=e=>{l(e),te(e)},re=(()=>{switch(E.status){case`idle`:return{color:`bg-slate-500`,icon:(0,V.jsx)(no,{className:`w-4 h-4`}),text:`Idle`};case`connecting`:return{color:`bg-yellow-500`,icon:(0,V.jsx)(Ja,{className:`w-4 h-4 animate-spin`}),text:`Connecting`};case`recording`:return{color:`bg-purple-500`,icon:(0,V.jsx)(Ca,{className:`w-4 h-4`}),text:`Recording Ranges`};case`completed`:return{color:`bg-green-500`,icon:(0,V.jsx)(Na,{className:`w-4 h-4`}),text:`Completed`};case`error`:return{color:`bg-red-500`,icon:(0,V.jsx)(Ia,{className:`w-4 h-4`}),text:`Error`};case`stopping`:return{color:`bg-orange-500`,icon:(0,V.jsx)(oo,{className:`w-4 h-4`}),text:`Stopping`};default:return{color:`bg-slate-500`,icon:(0,V.jsx)(no,{className:`w-4 h-4`}),text:`Unknown`}}})();return(0,V.jsxs)(`div`,{className:`min-h-screen bg-slate-900 text-white p-4`,children:[(0,V.jsxs)(`div`,{className:`max-w-4xl mx-auto`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-4 mb-6`,children:[(0,V.jsx)(K,{variant:`ghost`,size:`icon`,onClick:()=>e(-1),className:`text-slate-400 hover:text-white hover:bg-slate-800`,children:(0,V.jsx)(wa,{className:`w-5 h-5`})}),(0,V.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,V.jsx)(Qj,{iconOnly:!0}),(0,V.jsx)(`h1`,{className:`text-3xl font-bold`,children:t?`Calibrate "${t}"`:`Device Calibration`})]})]}),!t&&(0,V.jsxs)(yg,{className:`mb-6 bg-amber-900/40 border-amber-700 text-amber-100`,children:[(0,V.jsx)(Ma,{className:`h-4 w-4`}),(0,V.jsx)(xg,{children:`Open Calibration from a robot's gear icon on the Landing page. Each robot has its own calibration; running this page directly is not supported.`})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 lg:grid-cols-2 gap-6`,children:[(0,V.jsxs)(wv,{className:`bg-slate-800/60 border-slate-700 backdrop-blur-sm`,children:[(0,V.jsx)(Tv,{children:(0,V.jsxs)(Ev,{className:`flex items-center gap-2 text-slate-200`,children:[(0,V.jsx)(no,{className:`w-5 h-5 text-blue-400`}),`Configuration`]})}),(0,V.jsxs)(Dv,{className:`space-y-6`,children:[(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Bh,{htmlFor:`robotType`,className:`text-sm font-medium text-slate-300`,children:`Robot Model *`}),(0,V.jsxs)(rv,{value:u,onValueChange:e=>{d(e),I(e)},children:[(0,V.jsx)(av,{className:`bg-slate-700 border-slate-600 text-white rounded-md`,children:(0,V.jsx)(iv,{placeholder:`Select robot model`})}),(0,V.jsxs)(cv,{className:`bg-slate-800 border-slate-700 text-white`,children:[(0,V.jsx)(uv,{value:`so101`,className:`hover:bg-slate-700`,children:`SO-101 (or SO-100 series)`}),(0,V.jsx)(uv,{value:`omx_ai`,className:`hover:bg-slate-700`,children:`OMX-AI`})]})]})]}),(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Bh,{htmlFor:`deviceType`,className:`text-sm font-medium text-slate-300`,children:`Device Type *`}),(0,V.jsxs)(rv,{value:o,onValueChange:F,children:[(0,V.jsx)(av,{className:`bg-slate-700 border-slate-600 text-white rounded-md`,children:(0,V.jsx)(iv,{placeholder:`Select device type`})}),(0,V.jsxs)(cv,{className:`bg-slate-800 border-slate-700 text-white`,children:[(0,V.jsx)(uv,{value:`teleop`,className:`hover:bg-slate-700`,children:`Teleoperator (Leader)`}),(0,V.jsx)(uv,{value:`robot`,className:`hover:bg-slate-700`,children:`Robot (Follower)`})]})]})]}),(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Bh,{htmlFor:`port`,className:`text-sm font-medium text-slate-300`,children:`Port *`}),(0,V.jsxs)(`div`,{className:`flex gap-2`,children:[(0,V.jsx)(Nh,{id:`port`,value:c,onChange:e=>l(e.target.value),onBlur:e=>te(e.target.value),placeholder:`/dev/tty.usbmodem...`,className:`bg-slate-700 border-slate-600 text-white rounded-md flex-1`}),(0,V.jsx)(DM,{onClick:ee,robotType:o===`robot`?`follower`:`leader`,className:`border-slate-600 hover:border-blue-500 text-slate-400 hover:text-blue-400 bg-slate-700 hover:bg-slate-600`})]})]}),(0,V.jsx)(EM,{className:`bg-slate-700`}),(0,V.jsx)(`div`,{className:`flex flex-col gap-3`,children:E.calibration_active?(0,V.jsxs)(K,{onClick:N,variant:`destructive`,className:`w-full rounded-full py-6 text-lg`,children:[(0,V.jsx)(oo,{className:`w-5 h-5 mr-2`}),`Cancel Calibration`]}):(0,V.jsxs)(K,{onClick:M,className:`w-full bg-blue-600 hover:bg-blue-700 text-white rounded-full py-6 text-lg`,disabled:!t||!o||!c,children:[(0,V.jsx)(Za,{className:`w-5 h-5 mr-2`}),`Start Calibration`]})}),f&&(0,V.jsxs)(`div`,{className:`space-y-2 pt-2`,children:[(0,V.jsx)(`div`,{className:`text-sm font-medium text-slate-300`,children:`Robot calibration`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[f.leader_config?(0,V.jsx)(Na,{className:`w-4 h-4 text-green-400`}):(0,V.jsx)(La,{className:`w-4 h-4 text-slate-500`}),(0,V.jsx)(`span`,{className:f.leader_config?`text-slate-200`:`text-slate-400`,children:`Leader (Teleoperator)`})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[f.follower_config?(0,V.jsx)(Na,{className:`w-4 h-4 text-green-400`}):(0,V.jsx)(La,{className:`w-4 h-4 text-slate-500`}),(0,V.jsx)(`span`,{className:f.follower_config?`text-slate-200`:`text-slate-400`,children:`Follower (Robot)`})]})]})]})]}),(0,V.jsxs)(wv,{className:`bg-slate-800/60 border-slate-700 backdrop-blur-sm`,children:[(0,V.jsx)(Tv,{children:(0,V.jsxs)(Ev,{className:`flex items-center gap-2 text-slate-200`,children:[(0,V.jsx)(Ca,{className:`w-5 h-5 text-teal-400`}),`Status`]})}),(0,V.jsxs)(Dv,{className:`space-y-4`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between p-3 bg-slate-900/50 rounded-md`,children:[(0,V.jsx)(`span`,{className:`text-slate-300`,children:`Status:`}),(0,V.jsxs)(vM,{className:`${re.color} text-white rounded-md`,children:[re.icon,(0,V.jsx)(`span`,{className:`ml-2`,children:re.text})]})]}),E.status===`recording`&&E.recorded_ranges&&(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(Ca,{className:`w-4 h-4 text-purple-400`}),(0,V.jsx)(`span`,{className:`text-sm font-medium text-slate-300`,children:`Live Position Data`})]}),(0,V.jsx)(`div`,{className:`bg-slate-800 rounded-lg p-4 border border-slate-700`,children:(0,V.jsx)(`div`,{className:`space-y-3`,children:Object.entries(E.recorded_ranges).map(([e,t])=>{let n=t.max-t.min,r=t.current-t.min,i=n>0?r/n*100:50,a=FM(E.device_type,e,n,u);return(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`span`,{className:`text-white font-semibold text-sm`,children:e}),a&&(0,V.jsx)(Na,{className:`w-4 h-4 text-green-400`,"aria-label":`Range complete`})]}),(0,V.jsx)(`span`,{className:`text-slate-300 text-xs font-mono`,children:t.current})]}),(0,V.jsxs)(`div`,{className:`relative`,children:[(0,V.jsx)(`div`,{className:`w-full bg-slate-700 rounded-full h-3`,children:(0,V.jsx)(`div`,{className:`bg-slate-600 h-3 rounded-full relative`,style:{width:`100%`},children:(0,V.jsx)(`div`,{className:`absolute top-0 w-1 h-3 rounded-full transition-all duration-100 ${a?`bg-green-400`:`bg-yellow-400`}`,style:{left:`${Math.max(0,Math.min(100,i))}%`,transform:`translateX(-50%)`}})})}),(0,V.jsxs)(`div`,{className:`flex justify-between text-xs text-slate-400 mt-1`,children:[(0,V.jsx)(`span`,{children:t.min}),(0,V.jsx)(`span`,{children:t.max})]})]})]},e)})})})]}),E.status===`connecting`&&(0,V.jsxs)(yg,{className:`bg-yellow-900/50 border-yellow-700 text-yellow-200`,children:[(0,V.jsx)(Ma,{className:`h-4 w-4`}),(0,V.jsx)(xg,{children:`Connecting to the device. Please ensure it's connected.`})]}),E.status===`recording`&&(()=>{let e=E.recorded_ranges??{},t=Object.entries(e),n=t.length>0&&t.every(([e,t])=>FM(E.device_type,e,t.max-t.min,u));return(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsx)(`div`,{className:`flex justify-center`,children:(0,V.jsxs)(K,{onClick:P,disabled:!E.calibration_active,className:`px-8 py-3 rounded-full transition-colors ${n?`bg-green-600 hover:bg-green-700`:`bg-orange-500 hover:bg-orange-600`}`,children:[n?(0,V.jsx)(Na,{className:`w-4 h-4 mr-2`}):(0,V.jsx)(Ma,{className:`w-4 h-4 mr-2`}),`Save Calibration`]})}),(0,V.jsxs)(yg,{className:`bg-purple-900/50 border-purple-700 text-purple-200`,children:[(0,V.jsx)(Ca,{className:`h-4 w-4`}),(0,V.jsxs)(xg,{children:[(0,V.jsx)(`strong`,{children:`Important:`}),` Move EACH joint through its full range. A check appears next to each joint once its range is wide enough.`]})]})]})})(),E.status===`completed`&&(0,V.jsxs)(yg,{className:`bg-green-900/50 border-green-700 text-green-200`,children:[(0,V.jsx)(Na,{className:`h-4 w-4`}),(0,V.jsx)(xg,{children:`Calibration completed successfully!`})]}),E.status===`error`&&E.error&&(E.error.startsWith(IM)?(0,V.jsxs)(yg,{className:`bg-red-900/50 border-red-700 text-red-200`,children:[(0,V.jsx)(Ia,{className:`h-4 w-4`}),(0,V.jsxs)(xg,{children:[(0,V.jsx)(`div`,{className:`font-semibold text-base mb-1`,children:`Motor discontinuity detected`}),(0,V.jsx)(`div`,{children:`Make sure to start the calibration with the robot in a middle position — all joints in the middle of their ranges. See the calibration demo below for the correct starting pose.`})]})]}):(0,V.jsxs)(yg,{className:`bg-red-900/50 border-red-700 text-red-200`,children:[(0,V.jsx)(Ia,{className:`h-4 w-4`}),(0,V.jsxs)(xg,{children:[(0,V.jsx)(`strong`,{children:`Error:`}),` `,E.error]})]})),(0,V.jsxs)(`div`,{ref:a,className:`bg-slate-900/50 p-4 rounded-lg border border-slate-700`,children:[(0,V.jsx)(`h4`,{className:`font-semibold mb-3 text-slate-200`,children:`Calibration Demo:`}),(0,V.jsx)(`div`,{className:`relative rounded-lg overflow-hidden bg-slate-800`,children:(0,V.jsxs)(`video`,{className:`w-full h-auto rounded-md`,controls:!0,preload:`auto`,muted:!0,children:[(0,V.jsx)(`source`,{src:`https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/calibrate_so101_2.mp4`,type:`video/mp4`}),(0,V.jsxs)(`p`,{className:`text-slate-400 text-sm text-center py-4`,children:[`Your browser does not support the video tag.`,(0,V.jsx)(`br`,{}),(0,V.jsx)(`a`,{href:`https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/calibrate_so101_2.mp4`,className:`text-blue-400 hover:text-blue-300 underline`,target:`_blank`,rel:`noopener noreferrer`,children:`Click here to view the calibration video`})]})]})})]})]})]})]}),t&&(0,V.jsxs)(wv,{className:`bg-slate-800/60 border-slate-700 backdrop-blur-sm mt-6`,children:[(0,V.jsxs)(Tv,{className:`flex-row items-center justify-between space-y-0`,children:[(0,V.jsxs)(Ev,{className:`flex items-center gap-2 text-slate-200`,children:[(0,V.jsx)(no,{className:`w-5 h-5 text-blue-400`}),`Attached cameras`]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(Bh,{htmlFor:`cameras-toggle`,className:`text-sm text-slate-400 cursor-pointer`,children:g?`On`:`Off`}),(0,V.jsx)(fM,{id:`cameras-toggle`,checked:g,onCheckedChange:v,className:`data-[state=checked]:bg-green-500`,"aria-label":`Turn cameras on or off`})]})]}),(0,V.jsx)(Dv,{children:g?(0,V.jsx)(vv,{cameras:m,onCamerasChange:x}):(0,V.jsxs)(`div`,{className:`rounded-lg border border-slate-700 bg-slate-900/40 p-6 text-center space-y-3`,children:[(0,V.jsx)(Ea,{className:`w-10 h-10 mx-auto text-slate-500`}),(0,V.jsxs)(`div`,{className:`space-y-1`,children:[(0,V.jsx)(`p`,{className:`text-slate-200 font-medium`,children:`Cameras are off`}),(0,V.jsx)(`p`,{className:`text-sm text-slate-400 max-w-md mx-auto`,children:`Turn cameras on to scan for connected devices and preview them. The browser may briefly open a camera to read device labels, and configured cameras stay active while previews are visible; your browser will ask for camera permission. Nothing is recorded.`}),m.length>0&&(0,V.jsxs)(`p`,{className:`text-xs text-slate-500 pt-1`,children:[m.length,` camera`,m.length===1?``:`s`,` saved to this robot.`]})]}),(0,V.jsxs)(`p`,{className:`flex items-center justify-center gap-1.5 text-xs text-slate-500`,children:[(0,V.jsx)(ro,{className:`w-3.5 h-3.5`}),`You'll be asked to grant camera access.`]})]})})]})]}),(0,V.jsx)(kM,{open:S,onOpenChange:C,robotType:w,onPortDetected:ne})]})},RM=`rovingFocusGroup.onEntryFocus`,zM={bubbles:!1,cancelable:!0},BM=`RovingFocusGroup`,[VM,HM,UM]=Mr(BM),[WM,GM]=wr(BM,[UM]),[KM,qM]=WM(BM),JM=_.forwardRef((e,t)=>(0,V.jsx)(VM.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,V.jsx)(VM.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,V.jsx)(YM,{...e,ref:t})})}));JM.displayName=BM;var YM=_.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:l,preventScrollOnEntryFocus:u=!1,...d}=e,f=_.useRef(null),p=Sr(t,f),m=wg(a),[h,g]=fi({prop:o,defaultProp:s??null,onChange:c,caller:BM}),[v,y]=_.useState(!1),b=Br(l),x=HM(n),S=_.useRef(!1),[C,w]=_.useState(0);return _.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(RM,b),()=>e.removeEventListener(RM,b)},[b]),(0,V.jsx)(KM,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:_.useCallback(e=>g(e),[g]),onItemShiftTab:_.useCallback(()=>y(!0),[]),onFocusableItemAdd:_.useCallback(()=>w(e=>e+1),[]),onFocusableItemRemove:_.useCallback(()=>w(e=>e-1),[]),children:(0,V.jsx)(U.div,{tabIndex:v||C===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:H(e.onMouseDown,()=>{S.current=!0}),onFocus:H(e.onFocus,e=>{let t=!S.current;if(e.target===e.currentTarget&&t&&!v){let t=new CustomEvent(RM,zM);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=x().filter(e=>e.focusable);tN([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}S.current=!1}),onBlur:H(e.onBlur,()=>y(!1))})})}),XM=`RovingFocusGroupItem`,ZM=_.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=Gs(),l=a||c,u=qM(XM,n),d=u.currentTabStopId===l,f=HM(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u;return _.useEffect(()=>{if(r)return p(),()=>m()},[r,p,m]),(0,V.jsx)(VM.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,V.jsx)(U.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:H(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:H(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:H(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=eN(e,u.orientation,u.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=u.loop?nN(n,r+1):n.slice(r+1)}setTimeout(()=>tN(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})});ZM.displayName=XM;var QM={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function $M(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function eN(e,t,n){let r=$M(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return QM[r]}function tN(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function nN(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var rN=JM,iN=ZM;function aN(e){let t=oN(e),n=_.forwardRef((e,n)=>{let{children:r,...i}=e,a=_.Children.toArray(r),o=a.find(cN);if(o){let e=o.props.children,r=a.map(t=>t===o?_.Children.count(e)>1?_.Children.only(null):_.isValidElement(e)?e.props.children:null:t);return(0,V.jsx)(t,{...i,ref:n,children:_.isValidElement(e)?_.cloneElement(e,void 0,r):null})}return(0,V.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function oN(e){let t=_.forwardRef((e,t)=>{let{children:n,...r}=e;if(_.isValidElement(n)){let e=uN(n),i=lN(r,n.props);return n.type!==_.Fragment&&(i.ref=t?xr(t,e):e),_.cloneElement(n,i)}return _.Children.count(n)>1?_.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var sN=Symbol(`radix.slottable`);function cN(e){return _.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===sN}function lN(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function uN(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var dN=[`Enter`,` `],fN=[`ArrowDown`,`PageUp`,`Home`],pN=[`ArrowUp`,`PageDown`,`End`],mN=[...fN,...pN],hN={ltr:[...dN,`ArrowRight`],rtl:[...dN,`ArrowLeft`]},gN={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},_N=`Menu`,[vN,yN,bN]=Mr(_N),[xN,SN]=wr(_N,[bN,Hf,GM]),CN=Hf(),wN=GM(),[TN,EN]=xN(_N),[DN,ON]=xN(_N),kN=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=CN(t),[c,l]=_.useState(null),u=_.useRef(!1),d=Br(a),f=wg(i);return _.useEffect(()=>{let e=()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},t=()=>u.current=!1;return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),(0,V.jsx)(rp,{...s,children:(0,V.jsx)(TN,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,V.jsx)(DN,{scope:t,onClose:_.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})};kN.displayName=_N;var AN=`MenuAnchor`,jN=_.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=CN(n);return(0,V.jsx)(ip,{...i,...r,ref:t})});jN.displayName=AN;var MN=`MenuPortal`,[NN,PN]=xN(MN,{forceMount:void 0}),FN=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=EN(MN,t);return(0,V.jsx)(NN,{scope:t,forceMount:n,children:(0,V.jsx)(si,{present:n||a.open,children:(0,V.jsx)(ai,{asChild:!0,container:i,children:r})})})};FN.displayName=MN;var IN=`MenuContent`,[LN,RN]=xN(IN),zN=_.forwardRef((e,t)=>{let n=PN(IN,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=EN(IN,e.__scopeMenu),o=ON(IN,e.__scopeMenu);return(0,V.jsx)(vN.Provider,{scope:e.__scopeMenu,children:(0,V.jsx)(si,{present:r||a.open,children:(0,V.jsx)(vN.Slot,{scope:e.__scopeMenu,children:o.modal?(0,V.jsx)(BN,{...i,ref:t}):(0,V.jsx)(VN,{...i,ref:t})})})})}),BN=_.forwardRef((e,t)=>{let n=EN(IN,e.__scopeMenu),r=_.useRef(null),i=Sr(t,r);return _.useEffect(()=>{let e=r.current;if(e)return Dl(e)},[]),(0,V.jsx)(UN,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:H(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),VN=_.forwardRef((e,t)=>{let n=EN(IN,e.__scopeMenu);return(0,V.jsx)(UN,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),HN=aN(`MenuContent.ScrollLock`),UN=_.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:o,disableOutsidePointerEvents:s,onEntryFocus:c,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,disableOutsideScroll:m,...h}=e,g=EN(IN,n),v=ON(IN,n),y=CN(n),b=wN(n),x=yN(n),[S,C]=_.useState(null),w=_.useRef(null),T=Sr(t,w,g.onContentChange),E=_.useRef(0),D=_.useRef(``),O=_.useRef(0),k=_.useRef(null),A=_.useRef(`right`),j=_.useRef(0),M=m?vl:_.Fragment,N=m?{as:HN,allowPinchZoom:!0}:void 0,P=e=>{let t=D.current+e,n=x().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=DP(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){D.current=t,window.clearTimeout(E.current),t!==``&&(E.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};_.useEffect(()=>()=>window.clearTimeout(E.current),[]),lc();let F=_.useCallback(e=>A.current===k.current?.side&&kP(e,k.current?.area),[]);return(0,V.jsx)(LN,{scope:n,searchRef:D,onItemEnter:_.useCallback(e=>{F(e)&&e.preventDefault()},[F]),onItemLeave:_.useCallback(e=>{F(e)||(w.current?.focus(),C(null))},[F]),onTriggerLeave:_.useCallback(e=>{F(e)&&e.preventDefault()},[F]),pointerGraceTimerRef:O,onPointerGraceIntentChange:_.useCallback(e=>{k.current=e},[]),children:(0,V.jsx)(M,{...N,children:(0,V.jsx)(Xs,{asChild:!0,trapped:i,onMountAutoFocus:H(a,e=>{e.preventDefault(),w.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,V.jsx)(Jr,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:(0,V.jsx)(rN,{asChild:!0,...b,dir:v.dir,orientation:`vertical`,loop:r,currentTabStopId:S,onCurrentTabStopIdChange:C,onEntryFocus:H(c,e=>{v.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,V.jsx)(ap,{role:`menu`,"aria-orientation":`vertical`,"data-state":SP(g.open),"data-radix-menu-content":``,dir:v.dir,...y,...h,ref:T,style:{outline:`none`,...h.style},onKeyDown:H(h.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&P(e.key));let i=w.current;if(e.target!==i||!mN.includes(e.key))return;e.preventDefault();let a=x().filter(e=>!e.disabled).map(e=>e.ref.current);pN.includes(e.key)&&a.reverse(),TP(a)}),onBlur:H(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(E.current),D.current=``)}),onPointerMove:H(e.onPointerMove,AP(e=>{let t=e.target,n=j.current!==e.clientX;e.currentTarget.contains(t)&&n&&(A.current=e.clientX>j.current?`right`:`left`,j.current=e.clientX)}))})})})})})})});zN.displayName=IN;var WN=`MenuGroup`,GN=_.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,V.jsx)(U.div,{role:`group`,...r,ref:t})});GN.displayName=WN;var KN=`MenuLabel`,qN=_.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,V.jsx)(U.div,{...r,ref:t})});qN.displayName=KN;var JN=`MenuItem`,YN=`menu.itemSelect`,XN=_.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...i}=e,a=_.useRef(null),o=ON(JN,e.__scopeMenu),s=RN(JN,e.__scopeMenu),c=Sr(t,a),l=_.useRef(!1),u=()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(YN,{bubbles:!0,cancelable:!0});e.addEventListener(YN,e=>r?.(e),{once:!0}),zr(e,t),t.defaultPrevented?l.current=!1:o.onClose()}};return(0,V.jsx)(ZN,{...i,ref:c,disabled:n,onClick:H(e.onClick,u),onPointerDown:t=>{e.onPointerDown?.(t),l.current=!0},onPointerUp:H(e.onPointerUp,e=>{l.current||e.currentTarget?.click()}),onKeyDown:H(e.onKeyDown,e=>{let t=s.searchRef.current!==``;n||t&&e.key===` `||dN.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});XN.displayName=JN;var ZN=_.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=RN(JN,n),s=wN(n),c=_.useRef(null),l=Sr(t,c),[u,d]=_.useState(!1),[f,p]=_.useState(``);return _.useEffect(()=>{let e=c.current;e&&p((e.textContent??``).trim())},[a.children]),(0,V.jsx)(vN.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:(0,V.jsx)(iN,{asChild:!0,...s,focusable:!r,children:(0,V.jsx)(U.div,{role:`menuitem`,"data-highlighted":u?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:l,onPointerMove:H(e.onPointerMove,AP(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:H(e.onPointerLeave,AP(e=>o.onItemLeave(e))),onFocus:H(e.onFocus,()=>d(!0)),onBlur:H(e.onBlur,()=>d(!1))})})})}),QN=`MenuCheckboxItem`,$N=_.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,V.jsx)(sP,{scope:e.__scopeMenu,checked:n,children:(0,V.jsx)(XN,{role:`menuitemcheckbox`,"aria-checked":CP(n)?`mixed`:n,...i,ref:t,"data-state":wP(n),onSelect:H(i.onSelect,()=>r?.(CP(n)?!0:!n),{checkForDefaultPrevented:!1})})})});$N.displayName=QN;var eP=`MenuRadioGroup`,[tP,nP]=xN(eP,{value:void 0,onValueChange:()=>{}}),rP=_.forwardRef((e,t)=>{let{value:n,onValueChange:r,...i}=e,a=Br(r);return(0,V.jsx)(tP,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,V.jsx)(GN,{...i,ref:t})})});rP.displayName=eP;var iP=`MenuRadioItem`,aP=_.forwardRef((e,t)=>{let{value:n,...r}=e,i=nP(iP,e.__scopeMenu),a=n===i.value;return(0,V.jsx)(sP,{scope:e.__scopeMenu,checked:a,children:(0,V.jsx)(XN,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":wP(a),onSelect:H(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});aP.displayName=iP;var oP=`MenuItemIndicator`,[sP,cP]=xN(oP,{checked:!1}),lP=_.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...i}=e,a=cP(oP,n);return(0,V.jsx)(si,{present:r||CP(a.checked)||a.checked===!0,children:(0,V.jsx)(U.span,{...i,ref:t,"data-state":wP(a.checked)})})});lP.displayName=oP;var uP=`MenuSeparator`,dP=_.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,V.jsx)(U.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});dP.displayName=uP;var fP=`MenuArrow`,pP=_.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=CN(n);return(0,V.jsx)(op,{...i,...r,ref:t})});pP.displayName=fP;var mP=`MenuSub`,[hP,gP]=xN(mP),_P=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=EN(mP,t),o=CN(t),[s,c]=_.useState(null),[l,u]=_.useState(null),d=Br(i);return _.useEffect(()=>(a.open===!1&&d(!1),()=>d(!1)),[a.open,d]),(0,V.jsx)(rp,{...o,children:(0,V.jsx)(TN,{scope:t,open:r,onOpenChange:d,content:l,onContentChange:u,children:(0,V.jsx)(hP,{scope:t,contentId:Gs(),triggerId:Gs(),trigger:s,onTriggerChange:c,children:n})})})};_P.displayName=mP;var vP=`MenuSubTrigger`,yP=_.forwardRef((e,t)=>{let n=EN(vP,e.__scopeMenu),r=ON(vP,e.__scopeMenu),i=gP(vP,e.__scopeMenu),a=RN(vP,e.__scopeMenu),o=_.useRef(null),{pointerGraceTimerRef:s,onPointerGraceIntentChange:c}=a,l={__scopeMenu:e.__scopeMenu},u=_.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return _.useEffect(()=>u,[u]),_.useEffect(()=>{let e=s.current;return()=>{window.clearTimeout(e),c(null)}},[s,c]),(0,V.jsx)(jN,{asChild:!0,...l,children:(0,V.jsx)(ZN,{id:i.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":i.contentId,"data-state":SP(n.open),...e,ref:xr(t,i.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:H(e.onPointerMove,AP(t=>{a.onItemEnter(t),!t.defaultPrevented&&!e.disabled&&!n.open&&!o.current&&(a.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{n.onOpenChange(!0),u()},100))})),onPointerLeave:H(e.onPointerLeave,AP(e=>{u();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,o=i?-5:5,c=t[i?`left`:`right`],l=t[i?`right`:`left`];a.onPointerGraceIntentChange({area:[{x:e.clientX+o,y:e.clientY},{x:c,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:c,y:t.bottom}],side:r}),window.clearTimeout(s.current),s.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:H(e.onKeyDown,t=>{let i=a.searchRef.current!==``;e.disabled||i&&t.key===` `||hN[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});yP.displayName=vP;var bP=`MenuSubContent`,xP=_.forwardRef((e,t)=>{let n=PN(IN,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=EN(IN,e.__scopeMenu),o=ON(IN,e.__scopeMenu),s=gP(bP,e.__scopeMenu),c=_.useRef(null),l=Sr(t,c);return(0,V.jsx)(vN.Provider,{scope:e.__scopeMenu,children:(0,V.jsx)(si,{present:r||a.open,children:(0,V.jsx)(vN.Slot,{scope:e.__scopeMenu,children:(0,V.jsx)(UN,{id:s.contentId,"aria-labelledby":s.triggerId,...i,ref:l,align:`start`,side:o.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{o.isUsingKeyboardRef.current&&c.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:H(e.onFocusOutside,e=>{e.target!==s.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:H(e.onEscapeKeyDown,e=>{o.onClose(),e.preventDefault()}),onKeyDown:H(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=gN[o.dir].includes(e.key);t&&n&&(a.onOpenChange(!1),s.trigger?.focus(),e.preventDefault())})})})})})});xP.displayName=bP;function SP(e){return e?`open`:`closed`}function CP(e){return e===`indeterminate`}function wP(e){return CP(e)?`indeterminate`:e?`checked`:`unchecked`}function TP(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function EP(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function DP(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=EP(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function OP(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;er!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function kP(e,t){return t?OP({x:e.clientX,y:e.clientY},t):!1}function AP(e){return t=>t.pointerType===`mouse`?e(t):void 0}var jP=kN,MP=jN,NP=FN,PP=zN,FP=GN,IP=qN,LP=XN,RP=$N,zP=rP,BP=aP,VP=lP,HP=dP,UP=pP,WP=yP,GP=xP,KP=`DropdownMenu`,[qP,hte]=wr(KP,[SN]),JP=SN(),[YP,XP]=qP(KP),ZP=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=JP(t),l=_.useRef(null),[u,d]=fi({prop:i,defaultProp:a??!1,onChange:o,caller:KP});return(0,V.jsx)(YP,{scope:t,triggerId:Gs(),triggerRef:l,contentId:Gs(),open:u,onOpenChange:d,onOpenToggle:_.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,V.jsx)(jP,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})};ZP.displayName=KP;var QP=`DropdownMenuTrigger`,$P=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=XP(QP,n),o=JP(n);return(0,V.jsx)(MP,{asChild:!0,...o,children:(0,V.jsx)(U.button,{type:`button`,id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:xr(t,a.triggerRef),onPointerDown:H(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:H(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});$P.displayName=QP;var eF=`DropdownMenuPortal`,tF=e=>{let{__scopeDropdownMenu:t,...n}=e,r=JP(t);return(0,V.jsx)(NP,{...r,...n})};tF.displayName=eF;var nF=`DropdownMenuContent`,rF=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=XP(nF,n),a=JP(n),o=_.useRef(!1);return(0,V.jsx)(PP,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:H(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:H(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});rF.displayName=nF;var iF=`DropdownMenuGroup`,aF=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=JP(n);return(0,V.jsx)(FP,{...i,...r,ref:t})});aF.displayName=iF;var oF=`DropdownMenuLabel`,sF=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=JP(n);return(0,V.jsx)(IP,{...i,...r,ref:t})});sF.displayName=oF;var cF=`DropdownMenuItem`,lF=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=JP(n);return(0,V.jsx)(LP,{...i,...r,ref:t})});lF.displayName=cF;var uF=`DropdownMenuCheckboxItem`,dF=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=JP(n);return(0,V.jsx)(RP,{...i,...r,ref:t})});dF.displayName=uF;var fF=`DropdownMenuRadioGroup`,pF=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=JP(n);return(0,V.jsx)(zP,{...i,...r,ref:t})});pF.displayName=fF;var mF=`DropdownMenuRadioItem`,hF=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=JP(n);return(0,V.jsx)(BP,{...i,...r,ref:t})});hF.displayName=mF;var gF=`DropdownMenuItemIndicator`,_F=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=JP(n);return(0,V.jsx)(VP,{...i,...r,ref:t})});_F.displayName=gF;var vF=`DropdownMenuSeparator`,yF=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=JP(n);return(0,V.jsx)(HP,{...i,...r,ref:t})});yF.displayName=vF;var bF=`DropdownMenuArrow`,xF=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=JP(n);return(0,V.jsx)(UP,{...i,...r,ref:t})});xF.displayName=bF;var SF=`DropdownMenuSubTrigger`,CF=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=JP(n);return(0,V.jsx)(WP,{...i,...r,ref:t})});CF.displayName=SF;var wF=`DropdownMenuSubContent`,TF=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=JP(n);return(0,V.jsx)(GP,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});TF.displayName=wF;var EF=ZP,DF=$P,OF=tF,kF=rF,AF=sF,jF=lF,MF=dF,NF=hF,PF=_F,FF=yF,IF=CF,LF=TF,RF=EF,zF=DF,BF=_.forwardRef(({className:e,inset:t,children:n,...r},i)=>(0,V.jsxs)(IF,{ref:i,className:G(`flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent`,t&&`pl-8`,e),...r,children:[n,(0,V.jsx)(ka,{className:`ml-auto h-4 w-4`})]}));BF.displayName=IF.displayName;var VF=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(LF,{ref:n,className:G(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...t}));VF.displayName=LF.displayName;var HF=_.forwardRef(({className:e,sideOffset:t=4,...n},r)=>(0,V.jsx)(OF,{children:(0,V.jsx)(kF,{ref:r,sideOffset:t,className:G(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...n})}));HF.displayName=kF.displayName;var UF=_.forwardRef(({className:e,inset:t,...n},r)=>(0,V.jsx)(jF,{ref:r,className:G(`relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,t&&`pl-8`,e),...n}));UF.displayName=jF.displayName;var WF=_.forwardRef(({className:e,children:t,checked:n,...r},i)=>(0,V.jsxs)(MF,{ref:i,className:G(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),checked:n,...r,children:[(0,V.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,V.jsx)(PF,{children:(0,V.jsx)(Da,{className:`h-4 w-4`})})}),t]}));WF.displayName=MF.displayName;var GF=_.forwardRef(({className:e,children:t,...n},r)=>(0,V.jsxs)(NF,{ref:r,className:G(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,V.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,V.jsx)(PF,{children:(0,V.jsx)(La,{className:`h-2 w-2 fill-current`})})}),t]}));GF.displayName=NF.displayName;var KF=_.forwardRef(({className:e,inset:t,...n},r)=>(0,V.jsx)(AF,{ref:r,className:G(`px-2 py-1.5 text-sm font-semibold`,t&&`pl-8`,e),...n}));KF.displayName=AF.displayName;var qF=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(FF,{ref:n,className:G(`-mx-1 my-1 h-px bg-muted`,e),...t}));qF.displayName=FF.displayName;var JF=({className:e,...t})=>(0,V.jsx)(`span`,{className:G(`ml-auto text-xs tracking-widest opacity-60`,e),...t});JF.displayName=`DropdownMenuShortcut`;var YF=`lelab.recording.muted`,XF=null,ZF=()=>(XF||=new AudioContext,XF),QF=()=>localStorage.getItem(YF)===`1`,$F=e=>{localStorage.setItem(YF,e?`1`:`0`)},eI=(e,t,n=0)=>{if(QF())return;let r=ZF(),i=r.createOscillator(),a=r.createGain();i.frequency.value=e,i.type=`sine`,a.gain.value=0,i.connect(a),a.connect(r.destination);let o=r.currentTime+n/1e3,s=o+t/1e3;a.gain.setValueAtTime(0,o),a.gain.linearRampToValueAtTime(.2,o+.01),a.gain.setValueAtTime(.2,s-.02),a.gain.linearRampToValueAtTime(0,s),i.start(o),i.stop(s)},tI=()=>{eI(660,80,0),eI(880,80,90)},nI=()=>{eI(660,80,0),eI(440,80,90)},rI=()=>{eI(880,70,0),eI(880,70,1e3),eI(880,70,2e3)},iI=Symbol(`radix.slottable`);function aI(e){let t=({children:e})=>(0,V.jsx)(V.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=iI,t}var oI=`AlertDialog`,[gte,_te]=wr(oI,[Il]),sI=Il(),cI=e=>{let{__scopeAlertDialog:t,...n}=e,r=sI(t);return(0,V.jsx)(mu,{...r,...n,modal:!0})};cI.displayName=oI;var vte=`AlertDialogTrigger`,yte=_.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=sI(n);return(0,V.jsx)(hu,{...i,...r,ref:t})});yte.displayName=vte;var bte=`AlertDialogPortal`,lI=e=>{let{__scopeAlertDialog:t,...n}=e,r=sI(t);return(0,V.jsx)(gu,{...r,...n})};lI.displayName=bte;var xte=`AlertDialogOverlay`,uI=_.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=sI(n);return(0,V.jsx)(_u,{...i,...r,ref:t})});uI.displayName=xte;var dI=`AlertDialogContent`,[Ste,Cte]=gte(dI),wte=aI(`AlertDialogContent`),fI=_.forwardRef((e,t)=>{let{__scopeAlertDialog:n,children:r,...i}=e,a=sI(n),o=_.useRef(null),s=Sr(t,o),c=_.useRef(null);return(0,V.jsx)(lu,{contentName:dI,titleName:pI,docsSlug:`alert-dialog`,children:(0,V.jsx)(Ste,{scope:n,cancelRef:c,children:(0,V.jsxs)(vu,{role:`alertdialog`,...a,...i,ref:s,onOpenAutoFocus:H(i.onOpenAutoFocus,e=>{e.preventDefault(),c.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,V.jsx)(wte,{children:r}),(0,V.jsx)(Ete,{contentRef:o})]})})})});fI.displayName=dI;var pI=`AlertDialogTitle`,mI=_.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=sI(n);return(0,V.jsx)(yu,{...i,...r,ref:t})});mI.displayName=pI;var hI=`AlertDialogDescription`,gI=_.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=sI(n);return(0,V.jsx)(bu,{...i,...r,ref:t})});gI.displayName=hI;var Tte=`AlertDialogAction`,_I=_.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=sI(n);return(0,V.jsx)(xu,{...i,...r,ref:t})});_I.displayName=Tte;var vI=`AlertDialogCancel`,yI=_.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,{cancelRef:i}=Cte(vI,n),a=sI(n),o=Sr(t,i);return(0,V.jsx)(xu,{...a,...r,ref:o})});yI.displayName=vI;var Ete=({contentRef:e})=>{let t=`\`${dI}\` requires a description for the component to be accessible for screen reader users. + `,title:`Find ${t||`robot`} port automatically`,children:[(0,V.jsx)(to,{className:`w-3 h-3 mr-1`}),`Find`]}),pM=2e3,mM=e=>e.replace(`_`,` `),hM=({open:e,onOpenChange:t,robotType:n,onPortDetected:r})=>{let[i,a]=(0,_.useState)(`detecting`),[o,s]=(0,_.useState)(``),[c,l]=(0,_.useState)(``),u=(0,_.useRef)(!1),d=(0,_.useRef)(null),f=(0,_.useRef)(null),{toast:p}=yr(),{baseUrl:m,fetchWithHeaders:h}=zs(),g=async()=>{try{d.current=new AbortController;let e=await(await h(`${m}/start-port-detection`,{method:`POST`,body:JSON.stringify({robot_type:n}),signal:d.current.signal})).json();if(u.current)return;if(e.status!==`success`)throw Error(e.message||`Failed to start port detection`);let i=e.data.ports_before;for(;!u.current;){d.current=new AbortController;let e=await(await h(`${m}/detect-port-after-disconnect`,{method:`POST`,body:JSON.stringify({ports_before:i}),signal:d.current.signal})).json();if(u.current)return;if(e.status===`success`){if(s(e.port),await v(e.port),u.current)return;a(`success`),p({title:`Port Detected Successfully`,description:`${mM(n)} port detected: ${e.port}`}),f.current=window.setTimeout(()=>{u.current||(r(e.port),t(!1))},pM);return}let o=typeof e.message==`string`?e.message:``;if(!o.includes(`Timed out`))throw Error(o||`Failed to detect port`)}}catch(e){if(u.current||e instanceof DOMException&&e.name===`AbortError`)return;console.error(`Port detection failed:`,e),l(e instanceof Error?e.message:`Unknown error`),a(`error`)}},v=async e=>{try{await h(`${m}/save-robot-port`,{method:`POST`,body:JSON.stringify({robot_type:n,port:e})})}catch(e){console.error(`Error saving port:`,e)}};(0,_.useEffect)(()=>{if(e)return u.current=!1,a(`detecting`),l(``),s(``),g(),()=>{u.current=!0,d.current?.abort(),f.current!==null&&(window.clearTimeout(f.current),f.current=null)}},[e]);let y=()=>{t(!1)},b=()=>{u.current=!1,d.current?.abort(),a(`detecting`),l(``),s(``),g()};return(0,V.jsx)(Su,{open:e,onOpenChange:t,children:(0,V.jsxs)(Tu,{className:`bg-gray-900 border-gray-800 text-white sm:max-w-[500px] p-8`,children:[(0,V.jsxs)(Eu,{children:[(0,V.jsx)(Ou,{className:`text-white text-center text-xl font-bold`,children:`Port Detection`}),(0,V.jsxs)(ku,{className:`text-gray-400 text-center`,children:[`Detect the USB port for your `,mM(n),` arm`]})]}),(0,V.jsx)(`div`,{className:`py-4`,children:(()=>{switch(i){case`detecting`:return(0,V.jsxs)(`div`,{className:`space-y-6 text-center`,children:[(0,V.jsx)(Ja,{className:`w-16 h-16 text-blue-500 mx-auto animate-spin`}),(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsxs)(`h3`,{className:`text-lg font-semibold text-white`,children:[`Unplug the `,mM(n),` arm`]}),(0,V.jsxs)(`p`,{className:`text-gray-400`,children:[`Disconnect the `,mM(n),` robot arm from USB. The port will be detected automatically.`]})]}),(0,V.jsx)(`div`,{className:`flex justify-center`,children:(0,V.jsx)(K,{onClick:y,variant:`outline`,className:`border-gray-500 hover:border-gray-200 text-gray-300 hover:text-white px-8 py-2`,children:`Cancel`})})]});case`success`:return(0,V.jsxs)(`div`,{className:`space-y-6 text-center`,children:[(0,V.jsx)(Na,{className:`w-16 h-16 text-green-500 mx-auto`}),(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(`h3`,{className:`text-lg font-semibold text-white`,children:`Port Detected`}),(0,V.jsx)(`p`,{className:`text-xl font-mono text-green-400 bg-gray-800 px-4 py-2 rounded inline-block`,children:o})]})]});case`error`:return(0,V.jsxs)(`div`,{className:`space-y-6 text-center`,children:[(0,V.jsx)(Ma,{className:`w-16 h-16 text-red-500 mx-auto`}),(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(`h3`,{className:`text-lg font-semibold text-white`,children:`Detection Failed`}),(0,V.jsx)(`div`,{className:`bg-red-900/20 border border-red-800 rounded-lg p-3`,children:(0,V.jsx)(`p`,{className:`text-red-400 text-sm`,children:c})})]}),(0,V.jsxs)(`div`,{className:`flex gap-4 justify-center`,children:[(0,V.jsx)(K,{onClick:b,className:`bg-blue-500 hover:bg-blue-600 text-white px-8 py-2`,children:`Try Again`}),(0,V.jsx)(K,{onClick:y,variant:`outline`,className:`border-gray-500 hover:border-gray-200 text-gray-300 hover:text-white px-8 py-2`,children:`Cancel`})]})]});default:return null}})()})]})})},gM={shoulder_pan:2400,shoulder_lift:2300,elbow_flex:2150,wrist_flex:2250,wrist_roll:3700,gripper:1150},_M={shoulder_pan:2400,shoulder_lift:2300,elbow_flex:2150,wrist_flex:2250,wrist_roll:3700,gripper:1400},vM={shoulder_pan:2e3,shoulder_lift:2e3,elbow_flex:2e3,wrist_flex:2e3,wrist_roll:3e3,gripper:1e3},yM={shoulder_pan:2e3,shoulder_lift:2e3,elbow_flex:2e3,wrist_flex:2e3,wrist_roll:3e3,gripper:1e3},bM=.98;function xM(e,t,n,r){if(!e)return!1;let i=(r&&r.toLowerCase().includes(`omx`)?e===`teleop`?vM:yM:e===`teleop`?gM:_M)[t];return i?n>=i*bM:!1}var SM=`Motor discontinuity detected`,CM=(e,t)=>e===`right`?`right_${t}`:t,wM=(e,t,n)=>e?e[CM(t,n)]??``:``,TM=e=>{if(!e.leader_config)return{side:`left`,deviceType:`teleop`};if(!e.follower_config)return{side:`left`,deviceType:`robot`};if(e.mode===`bimanual`){if(!e.right_leader_config)return{side:`right`,deviceType:`teleop`};if(!e.right_follower_config)return{side:`right`,deviceType:`robot`}}return{side:`left`,deviceType:`teleop`}},EM=(e,t)=>{let n=t===`robot`?`follower`:`leader`;return e===`right`?`right_${n}`:n},DM=()=>{let e=Re(),t=Ie().state?.robot_name??null,{toast:n}=yr(),{baseUrl:r,fetchWithHeaders:i}=zs();(0,_.useRef)(null);let a=(0,_.useRef)(null),[o,s]=(0,_.useState)(`teleop`),[c,l]=(0,_.useState)(`left`),[u,d]=(0,_.useState)(``),[f,p]=(0,_.useState)(`so101`),[m,h]=(0,_.useState)(null),g=m?.mode===`bimanual`,[v,y]=(0,_.useState)([]),[b,x]=(0,_.useState)(!1),S=(0,_.useRef)(null),C=(0,_.useCallback)(async()=>{if(!t)return null;try{let e=await i(`${r}/robots/${encodeURIComponent(t)}`);if(!e.ok)return null;let n=(await e.json()).robot??null;return h(n),n}catch(e){return console.error(`Failed to load robot record:`,e),null}},[t,r,i]);(0,_.useEffect)(()=>{if(!t)return;let e=!1;return(async()=>{let t=await C();if(!t||e)return;let{side:n,deviceType:r}=TM(t);l(n),s(r),d(wM(t,n,r===`robot`?`follower_port`:`leader_port`)),p(wM(t,n,`robot_type`)||`so101`),y(t.cameras??[])})(),()=>{e=!0}},[t,C]);let w=e=>{y(e),t&&(S.current&&clearTimeout(S.current),S.current=setTimeout(async()=>{try{await i(`${r}/robots/${encodeURIComponent(t)}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cameras:e})})}catch(e){console.error(`Failed to save cameras to robot record:`,e)}},500))};(0,_.useEffect)(()=>()=>{S.current&&clearTimeout(S.current)},[]);let[T,E]=(0,_.useState)(!1),[D,O]=(0,_.useState)(`leader`),[k,A]=(0,_.useState)({calibration_active:!1,status:`idle`,device_type:null,error:null,message:``,step:0,total_steps:1,current_positions:null,recorded_ranges:null}),[j,M]=(0,_.useState)(!1),N=(0,_.useRef)(!1);(0,_.useEffect)(()=>{N.current=k.calibration_active},[k.calibration_active]),(0,_.useEffect)(()=>()=>{N.current&&i(`${r}/stop-calibration`,{method:`POST`}).catch(e=>console.error(`Failed to stop calibration on unmount:`,e))},[r,i]);let P=async()=>{try{let e=await i(`${r}/calibration-status`);if(e.ok){let t=await e.json();A(t),!t.calibration_active&&(t.status===`completed`||t.status===`error`||t.status===`idle`)&&M(!1)}}catch(e){console.error(`Error polling status:`,e)}},F=async()=>{if(!t){n({title:`No robot selected`,description:`Open Calibration from a robot's gear icon on the Landing page.`,variant:`destructive`});return}if(!u){n({title:`Missing port`,description:`Set the device's serial port before starting.`,variant:`destructive`});return}let e={device_type:o,port:u,config_file:c===`right`?`${t}_right`:t,robot_name:t,robot_type:f,side:c};N.current=!0;try{let t=await(await i(`${r}/start-calibration`,{method:`POST`,body:JSON.stringify(e)})).json();t.success?(n({title:`Calibration Started`,description:g?`Calibration started for ${c} ${o}`:`Calibration started for ${o}`}),M(!0)):(N.current=!1,n({title:`Calibration Failed`,description:t.message||`Failed to start calibration`,variant:`destructive`}))}catch(e){N.current=!1,console.error(`Error starting calibration:`,e),n({title:`Error`,description:`Failed to start calibration`,variant:`destructive`})}},ee=async()=>{try{let e=await(await i(`${r}/stop-calibration`,{method:`POST`})).json();e.success?n({title:`Calibration Stopped`,description:`Calibration has been stopped`}):n({title:`Error`,description:e.message||`Failed to stop calibration`,variant:`destructive`})}catch(e){console.error(`Error stopping calibration:`,e),n({title:`Error`,description:`Failed to stop calibration`,variant:`destructive`})}},te=async()=>{if(k.calibration_active)try{let e=await(await i(`${r}/complete-calibration-step`,{method:`POST`})).json();e.success?n({title:`Step Completed`,description:e.message}):n({title:`Step Failed`,description:e.message||`Could not complete step`,variant:`destructive`})}catch(e){console.error(`Error completing step:`,e),n({title:`Error`,description:`Could not complete calibration step`,variant:`destructive`})}};(0,_.useEffect)(()=>{k.status===`error`&&k.error?.startsWith(SM)&&a.current?.scrollIntoView({behavior:`smooth`,block:`center`})},[k.status,k.error]),(0,_.useEffect)(()=>{if(!j)return;P();let e=setInterval(()=>{P()},200);return()=>clearInterval(e)},[j]),(0,_.useEffect)(()=>{(async()=>{if(o&&!t)try{let e=await(await i(`${r}/robot-port/${o===`robot`?`follower`:`leader`}`)).json();if(e.status===`success`){let t=e.saved_port||e.default_port;t&&d(t)}}catch(e){console.error(`Error loading default port:`,e)}})()},[o,t,r,i]);let I=e=>{s(e),m&&(d(wM(m,c,e===`robot`?`follower_port`:`leader_port`)),p(wM(m,c,`robot_type`)||`so101`))},ne=e=>{l(e),m&&(d(wM(m,e,o===`robot`?`follower_port`:`leader_port`)),p(wM(m,e,`robot_type`)||`so101`))},re=(e,t)=>{m&&(l(e),s(t),d(wM(m,e,t===`robot`?`follower_port`:`leader_port`)),p(wM(m,e,`robot_type`)||`so101`))};(0,_.useEffect)(()=>{k.status===`completed`&&(async()=>{let e=await C();if(!e)return;let{side:t,deviceType:n}=TM(e);l(t),s(n),d(wM(e,t,n===`robot`?`follower_port`:`leader_port`)),p(wM(e,t,`robot_type`)||`so101`)})()},[k.status,C]);let ie=()=>{O(EM(c,o)),E(!0)},ae=(0,_.useCallback)(async e=>{if(!t||!e)return;let n=CM(c,o===`robot`?`follower_port`:`leader_port`);if(!(m&&m[n]===e))try{let a=await(await i(`${r}/robots/${encodeURIComponent(t)}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({[n]:e})})).json();a.robot&&h(a.robot)}catch(e){console.error(`Failed to save port to robot record:`,e)}},[t,o,c,m,r,i]),oe=(0,_.useCallback)(async e=>{if(!t||!e)return;let n=CM(c,`robot_type`);if(!(m&&m[n]===e))try{let a=await(await i(`${r}/robots/${encodeURIComponent(t)}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({[n]:e})})).json();a.robot&&h(a.robot)}catch(e){console.error(`Failed to save robot type to robot record:`,e)}},[t,c,m,r,i]),se=(0,_.useCallback)(async e=>{if(t&&!(m&&(m.mode??`single`)===e))try{let n=(await(await i(`${r}/robots/${encodeURIComponent(t)}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({mode:e})})).json()).robot;n&&(h(n),e===`single`&&(l(`left`),d(wM(n,`left`,o===`robot`?`follower_port`:`leader_port`)),p(wM(n,`left`,`robot_type`)||`so101`)))}catch(e){console.error(`Failed to save mode to robot record:`,e)}},[t,m,o,r,i]),ce=e=>{d(e),ae(e)},le=(()=>{switch(k.status){case`idle`:return{color:`bg-slate-500`,icon:(0,V.jsx)(no,{className:`w-4 h-4`}),text:`Idle`};case`connecting`:return{color:`bg-yellow-500`,icon:(0,V.jsx)(Ja,{className:`w-4 h-4 animate-spin`}),text:`Connecting`};case`recording`:return{color:`bg-purple-500`,icon:(0,V.jsx)(Ca,{className:`w-4 h-4`}),text:`Recording Ranges`};case`completed`:return{color:`bg-green-500`,icon:(0,V.jsx)(Na,{className:`w-4 h-4`}),text:`Completed`};case`error`:return{color:`bg-red-500`,icon:(0,V.jsx)(Ia,{className:`w-4 h-4`}),text:`Error`};case`stopping`:return{color:`bg-orange-500`,icon:(0,V.jsx)(oo,{className:`w-4 h-4`}),text:`Stopping`};default:return{color:`bg-slate-500`,icon:(0,V.jsx)(no,{className:`w-4 h-4`}),text:`Unknown`}}})();return(0,V.jsxs)(`div`,{className:`min-h-screen bg-slate-900 text-white p-4`,children:[(0,V.jsxs)(`div`,{className:`max-w-4xl mx-auto`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-4 mb-6`,children:[(0,V.jsx)(K,{variant:`ghost`,size:`icon`,onClick:()=>e(-1),className:`text-slate-400 hover:text-white hover:bg-slate-800`,children:(0,V.jsx)(wa,{className:`w-5 h-5`})}),(0,V.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,V.jsx)(Lj,{iconOnly:!0}),(0,V.jsx)(`h1`,{className:`text-3xl font-bold`,children:t?`Calibrate "${t}"`:`Device Calibration`})]})]}),!t&&(0,V.jsxs)(xg,{className:`mb-6 bg-amber-900/40 border-amber-700 text-amber-100`,children:[(0,V.jsx)(Ma,{className:`h-4 w-4`}),(0,V.jsx)(Cg,{children:`Open Calibration from a robot's gear icon on the Landing page. Each robot has its own calibration; running this page directly is not supported.`})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 lg:grid-cols-2 gap-6`,children:[(0,V.jsxs)(Ov,{className:`bg-slate-800/60 border-slate-700 backdrop-blur-sm`,children:[(0,V.jsx)(kv,{children:(0,V.jsxs)(Av,{className:`flex items-center gap-2 text-slate-200`,children:[(0,V.jsx)(no,{className:`w-5 h-5 text-blue-400`}),`Configuration`]})}),(0,V.jsxs)(jv,{className:`space-y-6`,children:[(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Hh,{htmlFor:`robotType`,className:`text-sm font-medium text-slate-300`,children:`Robot Model *`}),(0,V.jsxs)(av,{value:f,onValueChange:e=>{p(e),oe(e)},children:[(0,V.jsx)(sv,{className:`bg-slate-700 border-slate-600 text-white rounded-md`,children:(0,V.jsx)(ov,{placeholder:`Select robot model`})}),(0,V.jsxs)(uv,{className:`bg-slate-800 border-slate-700 text-white`,children:[(0,V.jsx)(fv,{value:`so101`,className:`hover:bg-slate-700`,children:`SO-101 (or SO-100 series)`}),(0,V.jsx)(fv,{value:`omx_ai`,className:`hover:bg-slate-700`,children:`OMX-AI`})]})]})]}),(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,V.jsx)(Hh,{htmlFor:`bimanual-toggle`,className:`text-sm font-medium text-slate-300 cursor-pointer`,children:`Bimanual (2 arms)`}),(0,V.jsx)(Zj,{id:`bimanual-toggle`,checked:g,onCheckedChange:e=>se(e?`bimanual`:`single`),className:`data-[state=checked]:bg-green-500`})]}),g&&(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Hh,{htmlFor:`side`,className:`text-sm font-medium text-slate-300`,children:`Arm *`}),(0,V.jsxs)(av,{value:c,onValueChange:e=>ne(e),children:[(0,V.jsx)(sv,{className:`bg-slate-700 border-slate-600 text-white rounded-md`,children:(0,V.jsx)(ov,{placeholder:`Select arm`})}),(0,V.jsxs)(uv,{className:`bg-slate-800 border-slate-700 text-white`,children:[(0,V.jsx)(fv,{value:`left`,className:`hover:bg-slate-700`,children:`Left`}),(0,V.jsx)(fv,{value:`right`,className:`hover:bg-slate-700`,children:`Right`})]})]})]}),(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Hh,{htmlFor:`deviceType`,className:`text-sm font-medium text-slate-300`,children:`Device Type *`}),(0,V.jsxs)(av,{value:o,onValueChange:I,children:[(0,V.jsx)(sv,{className:`bg-slate-700 border-slate-600 text-white rounded-md`,children:(0,V.jsx)(ov,{placeholder:`Select device type`})}),(0,V.jsxs)(uv,{className:`bg-slate-800 border-slate-700 text-white`,children:[(0,V.jsx)(fv,{value:`teleop`,className:`hover:bg-slate-700`,children:`Teleoperator (Leader)`}),(0,V.jsx)(fv,{value:`robot`,className:`hover:bg-slate-700`,children:`Robot (Follower)`})]})]})]}),(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(Hh,{htmlFor:`port`,className:`text-sm font-medium text-slate-300`,children:`Port *`}),(0,V.jsxs)(`div`,{className:`flex gap-2`,children:[(0,V.jsx)(Fh,{id:`port`,value:u,onChange:e=>d(e.target.value),onBlur:e=>ae(e.target.value),placeholder:`/dev/tty.usbmodem...`,className:`bg-slate-700 border-slate-600 text-white rounded-md flex-1`}),(0,V.jsx)(fM,{onClick:ie,robotType:EM(c,o),className:`border-slate-600 hover:border-blue-500 text-slate-400 hover:text-blue-400 bg-slate-700 hover:bg-slate-600`})]})]}),(0,V.jsx)(dM,{className:`bg-slate-700`}),(0,V.jsx)(`div`,{className:`flex flex-col gap-3`,children:k.calibration_active?(0,V.jsxs)(K,{onClick:ee,variant:`destructive`,className:`w-full rounded-full py-6 text-lg`,children:[(0,V.jsx)(oo,{className:`w-5 h-5 mr-2`}),`Cancel Calibration`]}):(0,V.jsxs)(K,{onClick:F,className:`w-full bg-blue-600 hover:bg-blue-700 text-white rounded-full py-6 text-lg`,disabled:!t||!o||!u,children:[(0,V.jsx)(Za,{className:`w-5 h-5 mr-2`}),`Start Calibration`]})}),m&&(0,V.jsxs)(`div`,{className:`space-y-2 pt-2`,children:[(0,V.jsx)(`div`,{className:`text-sm font-medium text-slate-300`,children:`Robot calibration`}),[{side:`left`,deviceType:`teleop`,label:g?`Left leader`:`Leader (Teleoperator)`,done:!!m.leader_config},{side:`left`,deviceType:`robot`,label:g?`Left follower`:`Follower (Robot)`,done:!!m.follower_config},...g?[{side:`right`,deviceType:`teleop`,label:`Right leader`,done:!!m.right_leader_config},{side:`right`,deviceType:`robot`,label:`Right follower`,done:!!m.right_follower_config}]:[]].map(e=>(0,V.jsxs)(`button`,{type:`button`,onClick:()=>re(e.side,e.deviceType),className:`flex items-center gap-2 text-sm w-full text-left rounded-md px-1 -mx-1 py-0.5 hover:bg-slate-700/50 ${e.side===c&&e.deviceType===o?`bg-slate-700/40`:``}`,children:[e.done?(0,V.jsx)(Na,{className:`w-4 h-4 text-green-400`}):(0,V.jsx)(La,{className:`w-4 h-4 text-slate-500`}),(0,V.jsx)(`span`,{className:e.done?`text-slate-200`:`text-slate-400`,children:e.label})]},`${e.side}-${e.deviceType}`))]})]})]}),(0,V.jsxs)(Ov,{className:`bg-slate-800/60 border-slate-700 backdrop-blur-sm`,children:[(0,V.jsx)(kv,{children:(0,V.jsxs)(Av,{className:`flex items-center gap-2 text-slate-200`,children:[(0,V.jsx)(Ca,{className:`w-5 h-5 text-teal-400`}),`Status`]})}),(0,V.jsxs)(jv,{className:`space-y-4`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between p-3 bg-slate-900/50 rounded-md`,children:[(0,V.jsx)(`span`,{className:`text-slate-300`,children:`Status:`}),(0,V.jsxs)(rM,{className:`${le.color} text-white rounded-md`,children:[le.icon,(0,V.jsx)(`span`,{className:`ml-2`,children:le.text})]})]}),k.status===`recording`&&k.recorded_ranges&&(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(Ca,{className:`w-4 h-4 text-purple-400`}),(0,V.jsx)(`span`,{className:`text-sm font-medium text-slate-300`,children:`Live Position Data`})]}),(0,V.jsx)(`div`,{className:`bg-slate-800 rounded-lg p-4 border border-slate-700`,children:(0,V.jsx)(`div`,{className:`space-y-3`,children:Object.entries(k.recorded_ranges).map(([e,t])=>{let n=t.max-t.min,r=t.current-t.min,i=n>0?r/n*100:50,a=xM(k.device_type,e,n,f);return(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`span`,{className:`text-white font-semibold text-sm`,children:e}),a&&(0,V.jsx)(Na,{className:`w-4 h-4 text-green-400`,"aria-label":`Range complete`})]}),(0,V.jsx)(`span`,{className:`text-slate-300 text-xs font-mono`,children:t.current})]}),(0,V.jsxs)(`div`,{className:`relative`,children:[(0,V.jsx)(`div`,{className:`w-full bg-slate-700 rounded-full h-3`,children:(0,V.jsx)(`div`,{className:`bg-slate-600 h-3 rounded-full relative`,style:{width:`100%`},children:(0,V.jsx)(`div`,{className:`absolute top-0 w-1 h-3 rounded-full transition-all duration-100 ${a?`bg-green-400`:`bg-yellow-400`}`,style:{left:`${Math.max(0,Math.min(100,i))}%`,transform:`translateX(-50%)`}})})}),(0,V.jsxs)(`div`,{className:`flex justify-between text-xs text-slate-400 mt-1`,children:[(0,V.jsx)(`span`,{children:t.min}),(0,V.jsx)(`span`,{children:t.max})]})]})]},e)})})})]}),k.status===`connecting`&&(0,V.jsxs)(xg,{className:`bg-yellow-900/50 border-yellow-700 text-yellow-200`,children:[(0,V.jsx)(Ma,{className:`h-4 w-4`}),(0,V.jsx)(Cg,{children:`Connecting to the device. Please ensure it's connected.`})]}),k.status===`recording`&&(()=>{let e=k.recorded_ranges??{},t=Object.entries(e),n=t.length>0&&t.every(([e,t])=>xM(k.device_type,e,t.max-t.min,f));return(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsx)(`div`,{className:`flex justify-center`,children:(0,V.jsxs)(K,{onClick:te,disabled:!k.calibration_active,className:`px-8 py-3 rounded-full transition-colors ${n?`bg-green-600 hover:bg-green-700`:`bg-orange-500 hover:bg-orange-600`}`,children:[n?(0,V.jsx)(Na,{className:`w-4 h-4 mr-2`}):(0,V.jsx)(Ma,{className:`w-4 h-4 mr-2`}),`Save Calibration`]})}),(0,V.jsxs)(xg,{className:`bg-purple-900/50 border-purple-700 text-purple-200`,children:[(0,V.jsx)(Ca,{className:`h-4 w-4`}),(0,V.jsxs)(Cg,{children:[(0,V.jsx)(`strong`,{children:`Important:`}),` Move EACH joint through its full range. A check appears next to each joint once its range is wide enough.`]})]})]})})(),k.status===`completed`&&(0,V.jsxs)(xg,{className:`bg-green-900/50 border-green-700 text-green-200`,children:[(0,V.jsx)(Na,{className:`h-4 w-4`}),(0,V.jsx)(Cg,{children:`Calibration completed successfully!`})]}),k.status===`error`&&k.error&&(k.error.startsWith(SM)?(0,V.jsxs)(xg,{className:`bg-red-900/50 border-red-700 text-red-200`,children:[(0,V.jsx)(Ia,{className:`h-4 w-4`}),(0,V.jsxs)(Cg,{children:[(0,V.jsx)(`div`,{className:`font-semibold text-base mb-1`,children:`Motor discontinuity detected`}),(0,V.jsx)(`div`,{children:`Make sure to start the calibration with the robot in a middle position — all joints in the middle of their ranges. See the calibration demo below for the correct starting pose.`})]})]}):(0,V.jsxs)(xg,{className:`bg-red-900/50 border-red-700 text-red-200`,children:[(0,V.jsx)(Ia,{className:`h-4 w-4`}),(0,V.jsxs)(Cg,{children:[(0,V.jsx)(`strong`,{children:`Error:`}),` `,k.error]})]})),(0,V.jsxs)(`div`,{ref:a,className:`bg-slate-900/50 p-4 rounded-lg border border-slate-700`,children:[(0,V.jsx)(`h4`,{className:`font-semibold mb-3 text-slate-200`,children:`Calibration Demo:`}),(0,V.jsx)(`div`,{className:`relative rounded-lg overflow-hidden bg-slate-800`,children:(0,V.jsxs)(`video`,{className:`w-full h-auto rounded-md`,controls:!0,preload:`auto`,muted:!0,children:[(0,V.jsx)(`source`,{src:`https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/calibrate_so101_2.mp4`,type:`video/mp4`}),(0,V.jsxs)(`p`,{className:`text-slate-400 text-sm text-center py-4`,children:[`Your browser does not support the video tag.`,(0,V.jsx)(`br`,{}),(0,V.jsx)(`a`,{href:`https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/calibrate_so101_2.mp4`,className:`text-blue-400 hover:text-blue-300 underline`,target:`_blank`,rel:`noopener noreferrer`,children:`Click here to view the calibration video`})]})]})})]})]})]})]}),t&&(0,V.jsxs)(Ov,{className:`bg-slate-800/60 border-slate-700 backdrop-blur-sm mt-6`,children:[(0,V.jsxs)(kv,{className:`flex-row items-center justify-between space-y-0`,children:[(0,V.jsxs)(Av,{className:`flex items-center gap-2 text-slate-200`,children:[(0,V.jsx)(no,{className:`w-5 h-5 text-blue-400`}),`Attached cameras`]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(Hh,{htmlFor:`cameras-toggle`,className:`text-sm text-slate-400 cursor-pointer`,children:b?`On`:`Off`}),(0,V.jsx)(Zj,{id:`cameras-toggle`,checked:b,onCheckedChange:x,className:`data-[state=checked]:bg-green-500`,"aria-label":`Turn cameras on or off`})]})]}),(0,V.jsx)(jv,{children:b?(0,V.jsx)(Sv,{cameras:v,onCamerasChange:w}):(0,V.jsxs)(`div`,{className:`rounded-lg border border-slate-700 bg-slate-900/40 p-6 text-center space-y-3`,children:[(0,V.jsx)(Ea,{className:`w-10 h-10 mx-auto text-slate-500`}),(0,V.jsxs)(`div`,{className:`space-y-1`,children:[(0,V.jsx)(`p`,{className:`text-slate-200 font-medium`,children:`Cameras are off`}),(0,V.jsx)(`p`,{className:`text-sm text-slate-400 max-w-md mx-auto`,children:`Turn cameras on to scan for connected devices and preview them. The browser may briefly open a camera to read device labels, and configured cameras stay active while previews are visible; your browser will ask for camera permission. Nothing is recorded.`}),v.length>0&&(0,V.jsxs)(`p`,{className:`text-xs text-slate-500 pt-1`,children:[v.length,` camera`,v.length===1?``:`s`,` saved to this robot.`]})]}),(0,V.jsxs)(`p`,{className:`flex items-center justify-center gap-1.5 text-xs text-slate-500`,children:[(0,V.jsx)(ro,{className:`w-3.5 h-3.5`}),`You'll be asked to grant camera access.`]})]})})]})]}),(0,V.jsx)(hM,{open:T,onOpenChange:E,robotType:D,onPortDetected:ce})]})},OM=`rovingFocusGroup.onEntryFocus`,kM={bubbles:!1,cancelable:!0},AM=`RovingFocusGroup`,[jM,MM,NM]=Mr(AM),[PM,FM]=wr(AM,[NM]),[IM,LM]=PM(AM),RM=_.forwardRef((e,t)=>(0,V.jsx)(jM.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,V.jsx)(jM.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,V.jsx)(zM,{...e,ref:t})})}));RM.displayName=AM;var zM=_.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:l,preventScrollOnEntryFocus:u=!1,...d}=e,f=_.useRef(null),p=Sr(t,f),m=Eg(a),[h,g]=fi({prop:o,defaultProp:s??null,onChange:c,caller:AM}),[v,y]=_.useState(!1),b=Br(l),x=MM(n),S=_.useRef(!1),[C,w]=_.useState(0);return _.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(OM,b),()=>e.removeEventListener(OM,b)},[b]),(0,V.jsx)(IM,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:_.useCallback(e=>g(e),[g]),onItemShiftTab:_.useCallback(()=>y(!0),[]),onFocusableItemAdd:_.useCallback(()=>w(e=>e+1),[]),onFocusableItemRemove:_.useCallback(()=>w(e=>e-1),[]),children:(0,V.jsx)(U.div,{tabIndex:v||C===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:H(e.onMouseDown,()=>{S.current=!0}),onFocus:H(e.onFocus,e=>{let t=!S.current;if(e.target===e.currentTarget&&t&&!v){let t=new CustomEvent(OM,kM);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=x().filter(e=>e.focusable);GM([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}S.current=!1}),onBlur:H(e.onBlur,()=>y(!1))})})}),BM=`RovingFocusGroupItem`,VM=_.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=Gs(),l=a||c,u=LM(BM,n),d=u.currentTabStopId===l,f=MM(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u;return _.useEffect(()=>{if(r)return p(),()=>m()},[r,p,m]),(0,V.jsx)(jM.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,V.jsx)(U.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:H(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:H(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:H(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=WM(e,u.orientation,u.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=u.loop?KM(n,r+1):n.slice(r+1)}setTimeout(()=>GM(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})});VM.displayName=BM;var HM={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function UM(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function WM(e,t,n){let r=UM(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return HM[r]}function GM(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function KM(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var qM=RM,JM=VM;function YM(e){let t=XM(e),n=_.forwardRef((e,n)=>{let{children:r,...i}=e,a=_.Children.toArray(r),o=a.find(QM);if(o){let e=o.props.children,r=a.map(t=>t===o?_.Children.count(e)>1?_.Children.only(null):_.isValidElement(e)?e.props.children:null:t);return(0,V.jsx)(t,{...i,ref:n,children:_.isValidElement(e)?_.cloneElement(e,void 0,r):null})}return(0,V.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function XM(e){let t=_.forwardRef((e,t)=>{let{children:n,...r}=e;if(_.isValidElement(n)){let e=eN(n),i=$M(r,n.props);return n.type!==_.Fragment&&(i.ref=t?xr(t,e):e),_.cloneElement(n,i)}return _.Children.count(n)>1?_.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var ZM=Symbol(`radix.slottable`);function QM(e){return _.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===ZM}function $M(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function eN(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var tN=[`Enter`,` `],nN=[`ArrowDown`,`PageUp`,`Home`],rN=[`ArrowUp`,`PageDown`,`End`],iN=[...nN,...rN],aN={ltr:[...tN,`ArrowRight`],rtl:[...tN,`ArrowLeft`]},oN={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},sN=`Menu`,[cN,lN,uN]=Mr(sN),[dN,fN]=wr(sN,[uN,Uf,FM]),pN=Uf(),mN=FM(),[hN,gN]=dN(sN),[_N,vN]=dN(sN),yN=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=pN(t),[c,l]=_.useState(null),u=_.useRef(!1),d=Br(a),f=Eg(i);return _.useEffect(()=>{let e=()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},t=()=>u.current=!1;return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),(0,V.jsx)(ap,{...s,children:(0,V.jsx)(hN,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,V.jsx)(_N,{scope:t,onClose:_.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})};yN.displayName=sN;var bN=`MenuAnchor`,xN=_.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=pN(n);return(0,V.jsx)(op,{...i,...r,ref:t})});xN.displayName=bN;var SN=`MenuPortal`,[CN,wN]=dN(SN,{forceMount:void 0}),TN=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=gN(SN,t);return(0,V.jsx)(CN,{scope:t,forceMount:n,children:(0,V.jsx)(si,{present:n||a.open,children:(0,V.jsx)(ai,{asChild:!0,container:i,children:r})})})};TN.displayName=SN;var EN=`MenuContent`,[DN,ON]=dN(EN),kN=_.forwardRef((e,t)=>{let n=wN(EN,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=gN(EN,e.__scopeMenu),o=vN(EN,e.__scopeMenu);return(0,V.jsx)(cN.Provider,{scope:e.__scopeMenu,children:(0,V.jsx)(si,{present:r||a.open,children:(0,V.jsx)(cN.Slot,{scope:e.__scopeMenu,children:o.modal?(0,V.jsx)(AN,{...i,ref:t}):(0,V.jsx)(jN,{...i,ref:t})})})})}),AN=_.forwardRef((e,t)=>{let n=gN(EN,e.__scopeMenu),r=_.useRef(null),i=Sr(t,r);return _.useEffect(()=>{let e=r.current;if(e)return Dl(e)},[]),(0,V.jsx)(NN,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:H(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),jN=_.forwardRef((e,t)=>{let n=gN(EN,e.__scopeMenu);return(0,V.jsx)(NN,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),MN=YM(`MenuContent.ScrollLock`),NN=_.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:o,disableOutsidePointerEvents:s,onEntryFocus:c,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,disableOutsideScroll:m,...h}=e,g=gN(EN,n),v=vN(EN,n),y=pN(n),b=mN(n),x=lN(n),[S,C]=_.useState(null),w=_.useRef(null),T=Sr(t,w,g.onContentChange),E=_.useRef(0),D=_.useRef(``),O=_.useRef(0),k=_.useRef(null),A=_.useRef(`right`),j=_.useRef(0),M=m?vl:_.Fragment,N=m?{as:MN,allowPinchZoom:!0}:void 0,P=e=>{let t=D.current+e,n=x().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=_P(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){D.current=t,window.clearTimeout(E.current),t!==``&&(E.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};_.useEffect(()=>()=>window.clearTimeout(E.current),[]),lc();let F=_.useCallback(e=>A.current===k.current?.side&&yP(e,k.current?.area),[]);return(0,V.jsx)(DN,{scope:n,searchRef:D,onItemEnter:_.useCallback(e=>{F(e)&&e.preventDefault()},[F]),onItemLeave:_.useCallback(e=>{F(e)||(w.current?.focus(),C(null))},[F]),onTriggerLeave:_.useCallback(e=>{F(e)&&e.preventDefault()},[F]),pointerGraceTimerRef:O,onPointerGraceIntentChange:_.useCallback(e=>{k.current=e},[]),children:(0,V.jsx)(M,{...N,children:(0,V.jsx)(Xs,{asChild:!0,trapped:i,onMountAutoFocus:H(a,e=>{e.preventDefault(),w.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,V.jsx)(Jr,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:(0,V.jsx)(qM,{asChild:!0,...b,dir:v.dir,orientation:`vertical`,loop:r,currentTabStopId:S,onCurrentTabStopIdChange:C,onEntryFocus:H(c,e=>{v.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,V.jsx)(sp,{role:`menu`,"aria-orientation":`vertical`,"data-state":fP(g.open),"data-radix-menu-content":``,dir:v.dir,...y,...h,ref:T,style:{outline:`none`,...h.style},onKeyDown:H(h.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&P(e.key));let i=w.current;if(e.target!==i||!iN.includes(e.key))return;e.preventDefault();let a=x().filter(e=>!e.disabled).map(e=>e.ref.current);rN.includes(e.key)&&a.reverse(),hP(a)}),onBlur:H(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(E.current),D.current=``)}),onPointerMove:H(e.onPointerMove,bP(e=>{let t=e.target,n=j.current!==e.clientX;e.currentTarget.contains(t)&&n&&(A.current=e.clientX>j.current?`right`:`left`,j.current=e.clientX)}))})})})})})})});kN.displayName=EN;var PN=`MenuGroup`,FN=_.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,V.jsx)(U.div,{role:`group`,...r,ref:t})});FN.displayName=PN;var IN=`MenuLabel`,LN=_.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,V.jsx)(U.div,{...r,ref:t})});LN.displayName=IN;var RN=`MenuItem`,zN=`menu.itemSelect`,BN=_.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...i}=e,a=_.useRef(null),o=vN(RN,e.__scopeMenu),s=ON(RN,e.__scopeMenu),c=Sr(t,a),l=_.useRef(!1),u=()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(zN,{bubbles:!0,cancelable:!0});e.addEventListener(zN,e=>r?.(e),{once:!0}),zr(e,t),t.defaultPrevented?l.current=!1:o.onClose()}};return(0,V.jsx)(VN,{...i,ref:c,disabled:n,onClick:H(e.onClick,u),onPointerDown:t=>{e.onPointerDown?.(t),l.current=!0},onPointerUp:H(e.onPointerUp,e=>{l.current||e.currentTarget?.click()}),onKeyDown:H(e.onKeyDown,e=>{let t=s.searchRef.current!==``;n||t&&e.key===` `||tN.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});BN.displayName=RN;var VN=_.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=ON(RN,n),s=mN(n),c=_.useRef(null),l=Sr(t,c),[u,d]=_.useState(!1),[f,p]=_.useState(``);return _.useEffect(()=>{let e=c.current;e&&p((e.textContent??``).trim())},[a.children]),(0,V.jsx)(cN.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:(0,V.jsx)(JM,{asChild:!0,...s,focusable:!r,children:(0,V.jsx)(U.div,{role:`menuitem`,"data-highlighted":u?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:l,onPointerMove:H(e.onPointerMove,bP(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:H(e.onPointerLeave,bP(e=>o.onItemLeave(e))),onFocus:H(e.onFocus,()=>d(!0)),onBlur:H(e.onBlur,()=>d(!1))})})})}),HN=`MenuCheckboxItem`,UN=_.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,V.jsx)(ZN,{scope:e.__scopeMenu,checked:n,children:(0,V.jsx)(BN,{role:`menuitemcheckbox`,"aria-checked":pP(n)?`mixed`:n,...i,ref:t,"data-state":mP(n),onSelect:H(i.onSelect,()=>r?.(pP(n)?!0:!n),{checkForDefaultPrevented:!1})})})});UN.displayName=HN;var WN=`MenuRadioGroup`,[GN,KN]=dN(WN,{value:void 0,onValueChange:()=>{}}),qN=_.forwardRef((e,t)=>{let{value:n,onValueChange:r,...i}=e,a=Br(r);return(0,V.jsx)(GN,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,V.jsx)(FN,{...i,ref:t})})});qN.displayName=WN;var JN=`MenuRadioItem`,YN=_.forwardRef((e,t)=>{let{value:n,...r}=e,i=KN(JN,e.__scopeMenu),a=n===i.value;return(0,V.jsx)(ZN,{scope:e.__scopeMenu,checked:a,children:(0,V.jsx)(BN,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":mP(a),onSelect:H(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});YN.displayName=JN;var XN=`MenuItemIndicator`,[ZN,QN]=dN(XN,{checked:!1}),$N=_.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...i}=e,a=QN(XN,n);return(0,V.jsx)(si,{present:r||pP(a.checked)||a.checked===!0,children:(0,V.jsx)(U.span,{...i,ref:t,"data-state":mP(a.checked)})})});$N.displayName=XN;var eP=`MenuSeparator`,tP=_.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,V.jsx)(U.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});tP.displayName=eP;var nP=`MenuArrow`,rP=_.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=pN(n);return(0,V.jsx)(cp,{...i,...r,ref:t})});rP.displayName=nP;var iP=`MenuSub`,[aP,oP]=dN(iP),sP=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=gN(iP,t),o=pN(t),[s,c]=_.useState(null),[l,u]=_.useState(null),d=Br(i);return _.useEffect(()=>(a.open===!1&&d(!1),()=>d(!1)),[a.open,d]),(0,V.jsx)(ap,{...o,children:(0,V.jsx)(hN,{scope:t,open:r,onOpenChange:d,content:l,onContentChange:u,children:(0,V.jsx)(aP,{scope:t,contentId:Gs(),triggerId:Gs(),trigger:s,onTriggerChange:c,children:n})})})};sP.displayName=iP;var cP=`MenuSubTrigger`,lP=_.forwardRef((e,t)=>{let n=gN(cP,e.__scopeMenu),r=vN(cP,e.__scopeMenu),i=oP(cP,e.__scopeMenu),a=ON(cP,e.__scopeMenu),o=_.useRef(null),{pointerGraceTimerRef:s,onPointerGraceIntentChange:c}=a,l={__scopeMenu:e.__scopeMenu},u=_.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return _.useEffect(()=>u,[u]),_.useEffect(()=>{let e=s.current;return()=>{window.clearTimeout(e),c(null)}},[s,c]),(0,V.jsx)(xN,{asChild:!0,...l,children:(0,V.jsx)(VN,{id:i.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":i.contentId,"data-state":fP(n.open),...e,ref:xr(t,i.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:H(e.onPointerMove,bP(t=>{a.onItemEnter(t),!t.defaultPrevented&&!e.disabled&&!n.open&&!o.current&&(a.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{n.onOpenChange(!0),u()},100))})),onPointerLeave:H(e.onPointerLeave,bP(e=>{u();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,o=i?-5:5,c=t[i?`left`:`right`],l=t[i?`right`:`left`];a.onPointerGraceIntentChange({area:[{x:e.clientX+o,y:e.clientY},{x:c,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:c,y:t.bottom}],side:r}),window.clearTimeout(s.current),s.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:H(e.onKeyDown,t=>{let i=a.searchRef.current!==``;e.disabled||i&&t.key===` `||aN[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});lP.displayName=cP;var uP=`MenuSubContent`,dP=_.forwardRef((e,t)=>{let n=wN(EN,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=gN(EN,e.__scopeMenu),o=vN(EN,e.__scopeMenu),s=oP(uP,e.__scopeMenu),c=_.useRef(null),l=Sr(t,c);return(0,V.jsx)(cN.Provider,{scope:e.__scopeMenu,children:(0,V.jsx)(si,{present:r||a.open,children:(0,V.jsx)(cN.Slot,{scope:e.__scopeMenu,children:(0,V.jsx)(NN,{id:s.contentId,"aria-labelledby":s.triggerId,...i,ref:l,align:`start`,side:o.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{o.isUsingKeyboardRef.current&&c.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:H(e.onFocusOutside,e=>{e.target!==s.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:H(e.onEscapeKeyDown,e=>{o.onClose(),e.preventDefault()}),onKeyDown:H(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=oN[o.dir].includes(e.key);t&&n&&(a.onOpenChange(!1),s.trigger?.focus(),e.preventDefault())})})})})})});dP.displayName=uP;function fP(e){return e?`open`:`closed`}function pP(e){return e===`indeterminate`}function mP(e){return pP(e)?`indeterminate`:e?`checked`:`unchecked`}function hP(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function gP(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function _P(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=gP(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function vP(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;er!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function yP(e,t){return t?vP({x:e.clientX,y:e.clientY},t):!1}function bP(e){return t=>t.pointerType===`mouse`?e(t):void 0}var xP=yN,SP=xN,CP=TN,wP=kN,TP=FN,EP=LN,DP=BN,OP=UN,kP=qN,AP=YN,jP=$N,MP=tP,NP=rP,PP=lP,FP=dP,IP=`DropdownMenu`,[LP,Ate]=wr(IP,[fN]),RP=fN(),[zP,BP]=LP(IP),VP=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=RP(t),l=_.useRef(null),[u,d]=fi({prop:i,defaultProp:a??!1,onChange:o,caller:IP});return(0,V.jsx)(zP,{scope:t,triggerId:Gs(),triggerRef:l,contentId:Gs(),open:u,onOpenChange:d,onOpenToggle:_.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,V.jsx)(xP,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})};VP.displayName=IP;var HP=`DropdownMenuTrigger`,UP=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=BP(HP,n),o=RP(n);return(0,V.jsx)(SP,{asChild:!0,...o,children:(0,V.jsx)(U.button,{type:`button`,id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:xr(t,a.triggerRef),onPointerDown:H(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:H(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});UP.displayName=HP;var WP=`DropdownMenuPortal`,GP=e=>{let{__scopeDropdownMenu:t,...n}=e,r=RP(t);return(0,V.jsx)(CP,{...r,...n})};GP.displayName=WP;var KP=`DropdownMenuContent`,qP=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=BP(KP,n),a=RP(n),o=_.useRef(!1);return(0,V.jsx)(wP,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:H(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:H(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});qP.displayName=KP;var JP=`DropdownMenuGroup`,YP=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=RP(n);return(0,V.jsx)(TP,{...i,...r,ref:t})});YP.displayName=JP;var XP=`DropdownMenuLabel`,ZP=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=RP(n);return(0,V.jsx)(EP,{...i,...r,ref:t})});ZP.displayName=XP;var QP=`DropdownMenuItem`,$P=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=RP(n);return(0,V.jsx)(DP,{...i,...r,ref:t})});$P.displayName=QP;var eF=`DropdownMenuCheckboxItem`,tF=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=RP(n);return(0,V.jsx)(OP,{...i,...r,ref:t})});tF.displayName=eF;var nF=`DropdownMenuRadioGroup`,rF=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=RP(n);return(0,V.jsx)(kP,{...i,...r,ref:t})});rF.displayName=nF;var iF=`DropdownMenuRadioItem`,aF=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=RP(n);return(0,V.jsx)(AP,{...i,...r,ref:t})});aF.displayName=iF;var oF=`DropdownMenuItemIndicator`,sF=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=RP(n);return(0,V.jsx)(jP,{...i,...r,ref:t})});sF.displayName=oF;var cF=`DropdownMenuSeparator`,lF=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=RP(n);return(0,V.jsx)(MP,{...i,...r,ref:t})});lF.displayName=cF;var uF=`DropdownMenuArrow`,dF=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=RP(n);return(0,V.jsx)(NP,{...i,...r,ref:t})});dF.displayName=uF;var fF=`DropdownMenuSubTrigger`,pF=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=RP(n);return(0,V.jsx)(PP,{...i,...r,ref:t})});pF.displayName=fF;var mF=`DropdownMenuSubContent`,hF=_.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=RP(n);return(0,V.jsx)(FP,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});hF.displayName=mF;var gF=VP,_F=UP,vF=GP,yF=qP,bF=ZP,xF=$P,SF=tF,CF=aF,wF=sF,TF=lF,EF=pF,DF=hF,OF=gF,kF=_F,AF=_.forwardRef(({className:e,inset:t,children:n,...r},i)=>(0,V.jsxs)(EF,{ref:i,className:G(`flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent`,t&&`pl-8`,e),...r,children:[n,(0,V.jsx)(ka,{className:`ml-auto h-4 w-4`})]}));AF.displayName=EF.displayName;var jF=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(DF,{ref:n,className:G(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...t}));jF.displayName=DF.displayName;var MF=_.forwardRef(({className:e,sideOffset:t=4,...n},r)=>(0,V.jsx)(vF,{children:(0,V.jsx)(yF,{ref:r,sideOffset:t,className:G(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...n})}));MF.displayName=yF.displayName;var NF=_.forwardRef(({className:e,inset:t,...n},r)=>(0,V.jsx)(xF,{ref:r,className:G(`relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,t&&`pl-8`,e),...n}));NF.displayName=xF.displayName;var PF=_.forwardRef(({className:e,children:t,checked:n,...r},i)=>(0,V.jsxs)(SF,{ref:i,className:G(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),checked:n,...r,children:[(0,V.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,V.jsx)(wF,{children:(0,V.jsx)(Da,{className:`h-4 w-4`})})}),t]}));PF.displayName=SF.displayName;var FF=_.forwardRef(({className:e,children:t,...n},r)=>(0,V.jsxs)(CF,{ref:r,className:G(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,V.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,V.jsx)(wF,{children:(0,V.jsx)(La,{className:`h-2 w-2 fill-current`})})}),t]}));FF.displayName=CF.displayName;var IF=_.forwardRef(({className:e,inset:t,...n},r)=>(0,V.jsx)(bF,{ref:r,className:G(`px-2 py-1.5 text-sm font-semibold`,t&&`pl-8`,e),...n}));IF.displayName=bF.displayName;var LF=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(TF,{ref:n,className:G(`-mx-1 my-1 h-px bg-muted`,e),...t}));LF.displayName=TF.displayName;var RF=({className:e,...t})=>(0,V.jsx)(`span`,{className:G(`ml-auto text-xs tracking-widest opacity-60`,e),...t});RF.displayName=`DropdownMenuShortcut`;var zF=`lelab.recording.muted`,BF=null,VF=()=>(BF||=new AudioContext,BF),HF=()=>localStorage.getItem(zF)===`1`,UF=e=>{localStorage.setItem(zF,e?`1`:`0`)},WF=(e,t,n=0)=>{if(HF())return;let r=VF(),i=r.createOscillator(),a=r.createGain();i.frequency.value=e,i.type=`sine`,a.gain.value=0,i.connect(a),a.connect(r.destination);let o=r.currentTime+n/1e3,s=o+t/1e3;a.gain.setValueAtTime(0,o),a.gain.linearRampToValueAtTime(.2,o+.01),a.gain.setValueAtTime(.2,s-.02),a.gain.linearRampToValueAtTime(0,s),i.start(o),i.stop(s)},GF=()=>{WF(660,80,0),WF(880,80,90)},KF=()=>{WF(660,80,0),WF(440,80,90)},qF=()=>{WF(880,70,0),WF(880,70,1e3),WF(880,70,2e3)},JF=Symbol(`radix.slottable`);function YF(e){let t=({children:e})=>(0,V.jsx)(V.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=JF,t}var XF=`AlertDialog`,[ZF,jte]=wr(XF,[Il]),QF=Il(),$F=e=>{let{__scopeAlertDialog:t,...n}=e,r=QF(t);return(0,V.jsx)(mu,{...r,...n,modal:!0})};$F.displayName=XF;var eI=`AlertDialogTrigger`,tI=_.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=QF(n);return(0,V.jsx)(hu,{...i,...r,ref:t})});tI.displayName=eI;var nI=`AlertDialogPortal`,rI=e=>{let{__scopeAlertDialog:t,...n}=e,r=QF(t);return(0,V.jsx)(gu,{...r,...n})};rI.displayName=nI;var iI=`AlertDialogOverlay`,aI=_.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=QF(n);return(0,V.jsx)(_u,{...i,...r,ref:t})});aI.displayName=iI;var oI=`AlertDialogContent`,[sI,cI]=ZF(oI),lI=YF(`AlertDialogContent`),uI=_.forwardRef((e,t)=>{let{__scopeAlertDialog:n,children:r,...i}=e,a=QF(n),o=_.useRef(null),s=Sr(t,o),c=_.useRef(null);return(0,V.jsx)(lu,{contentName:oI,titleName:dI,docsSlug:`alert-dialog`,children:(0,V.jsx)(sI,{scope:n,cancelRef:c,children:(0,V.jsxs)(vu,{role:`alertdialog`,...a,...i,ref:s,onOpenAutoFocus:H(i.onOpenAutoFocus,e=>{e.preventDefault(),c.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,V.jsx)(lI,{children:r}),(0,V.jsx)(yI,{contentRef:o})]})})})});uI.displayName=oI;var dI=`AlertDialogTitle`,fI=_.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=QF(n);return(0,V.jsx)(yu,{...i,...r,ref:t})});fI.displayName=dI;var pI=`AlertDialogDescription`,mI=_.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=QF(n);return(0,V.jsx)(bu,{...i,...r,ref:t})});mI.displayName=pI;var hI=`AlertDialogAction`,gI=_.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=QF(n);return(0,V.jsx)(xu,{...i,...r,ref:t})});gI.displayName=hI;var _I=`AlertDialogCancel`,vI=_.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,{cancelRef:i}=cI(_I,n),a=QF(n),o=Sr(t,i);return(0,V.jsx)(xu,{...a,...r,ref:o})});vI.displayName=_I;var yI=({contentRef:e})=>{let t=`\`${oI}\` requires a description for the component to be accessible for screen reader users. -You can add a description to the \`${dI}\` by passing a \`${hI}\` component as a child, which also benefits sighted users by adding visible context to the dialog. +You can add a description to the \`${oI}\` by passing a \`${pI}\` component as a child, which also benefits sighted users by adding visible context to the dialog. -Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${dI}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component. +Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${oI}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component. -For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return _.useEffect(()=>{document.getElementById(e.current?.getAttribute(`aria-describedby`))||console.warn(t)},[t,e]),null},Dte=cI,Ote=lI,bI=uI,xI=fI,SI=_I,CI=yI,wI=mI,TI=gI,EI=Dte,kte=Ote,DI=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(bI,{className:G(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...t,ref:n}));DI.displayName=bI.displayName;var OI=_.forwardRef(({className:e,...t},n)=>(0,V.jsxs)(kte,{children:[(0,V.jsx)(DI,{}),(0,V.jsx)(xI,{ref:n,className:G(`fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg`,e),...t})]}));OI.displayName=xI.displayName;var kI=({className:e,...t})=>(0,V.jsx)(`div`,{className:G(`flex flex-col space-y-2 text-center sm:text-left`,e),...t});kI.displayName=`AlertDialogHeader`;var AI=({className:e,...t})=>(0,V.jsx)(`div`,{className:G(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,e),...t});AI.displayName=`AlertDialogFooter`;var jI=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(wI,{ref:n,className:G(`text-lg font-semibold`,e),...t}));jI.displayName=wI.displayName;var MI=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(TI,{ref:n,className:G(`text-sm text-muted-foreground`,e),...t}));MI.displayName=TI.displayName;var NI=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(SI,{ref:n,className:G(Ms(),e),...t}));NI.displayName=SI.displayName;var PI=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(CI,{ref:n,className:G(Ms({variant:`outline`}),`mt-2 sm:mt-0`,e),...t}));PI.displayName=CI.displayName;var Ate=()=>{let e=Ie(),t=Re(),{toast:n}=yr(),{baseUrl:r,wsBaseUrl:i,fetchWithHeaders:a}=zs(),o=e.state?.recordingConfig,[s,c]=(0,_.useState)(null),[l,u]=(0,_.useState)(!1),[d,f]=(0,_.useState)(null),[p,m]=(0,_.useState)(null),[h,g]=(0,_.useState)(!1),[v,y]=(0,_.useState)(()=>QF()),b=(0,_.useRef)(null),[x,S]=(0,_.useState)(0),C=(0,_.useRef)({phase:null,episode:null,tick:0}),w=(0,_.useRef)(!1),T=(0,_.useCallback)(()=>{y(e=>{let t=!e;return $F(t),t})},[]);(0,_.useEffect)(()=>{o||(n({title:`No Configuration`,description:`Please start recording from the main page.`,variant:`destructive`}),t(`/`))},[o,t,n]),(0,_.useEffect)(()=>{o&&!w.current&&(w.current=!0,k())},[o]);let E=(0,_.useRef)(p);E.current=p;let D=(0,_.useRef)(x);D.current=x,(0,_.useEffect)(()=>{if(!l||d!==null)return;let e=async()=>{try{let e=await a(`${r}/recording-status`);if(!e.ok)return;let n=await e.json();if(n.current_phase===`error`){f({error:n.error||`Recording session failed.`,hint:n.hint||null});return}c(n);let i=E.current;i&&n.current_phase===i&&m(null);let s=n.current_phase,l=b.current;l!==s&&(s===`recording`&&l!==null?tI():s===`resetting`&&nI(),b.current=s,C.current={phase:null,episode:null,tick:0});let u=n.phase_elapsed_seconds||0,d=n.phase_time_limit_s||0,p=d>3&&u>=d-3,h=n.current_episode??null,g=D.current,_=C.current;p&&i===null&&(_.phase!==s||_.episode!==h||_.tick!==g)&&(rI(),C.current={phase:s,episode:h,tick:g}),!n.recording_active&&n.session_ended&&t(`/upload`,{state:{datasetInfo:{dataset_repo_id:n.dataset_repo_id||o.dataset_repo_id,single_task:o.single_task,num_episodes:o.num_episodes,saved_episodes:n.saved_episodes||0,session_elapsed_seconds:n.session_elapsed_seconds||0}}})}catch(e){console.error(`Error polling recording status:`,e)}};e();let n=setInterval(e,1e3);return()=>clearInterval(n)},[l,o,t,r,a,d]);let O=e=>{let t=Math.floor(e/60),n=e%60;return`${t.toString().padStart(2,`0`)}:${n.toString().padStart(2,`0`)}`},k=async()=>{try{let e=await a(`${r}/start-recording`,{method:`POST`,body:JSON.stringify(o)}),i=await e.json();e.ok?(u(!0),n({title:`Recording Started`,description:`Started recording ${o.num_episodes} episodes`})):(n({title:`Error Starting Recording`,description:i.message||`Failed to start recording session.`,variant:`destructive`}),t(`/`))}catch{n({title:`Connection Error`,description:`Could not connect to the backend server.`,variant:`destructive`}),t(`/`)}},A=(0,_.useCallback)(async()=>{if(!s?.available_controls.exit_early||p!==null)return;let e=s.current_phase,t=e===`recording`?`resetting`:e===`resetting`?`recording`:null;if(t){m(t);try{let e=await a(`${r}/recording-exit-early`,{method:`POST`});if(!e.ok){let t=await e.json();m(null),n({title:`Error`,description:t.message,variant:`destructive`})}}catch{m(null),n({title:`Connection Error`,description:`Could not connect to the backend server.`,variant:`destructive`})}}},[s,p,r,a,n]),j=(0,_.useCallback)(async()=>{if(s?.available_controls.rerecord_episode)try{let e=await a(`${r}/recording-rerecord-episode`,{method:`POST`}),t=await e.json();e.ok?(S(e=>e+1),n({title:`Re-recording Episode`,description:`Episode ${s.current_episode} will be re-recorded.`})):n({title:`Error`,description:t.message,variant:`destructive`})}catch{n({title:`Connection Error`,description:`Could not connect to the backend server.`,variant:`destructive`})}},[s,r,a,n]),M=(0,_.useCallback)(async()=>{if(s?.available_controls.stop_recording)try{await a(`${r}/stop-recording`,{method:`POST`}),n({title:`Stopping recording`,description:`Finalizing dataset…`})}catch{n({title:`Error`,description:`Failed to stop recording.`,variant:`destructive`})}},[s,r,a,n]),N=(0,_.useCallback)(()=>{s?.available_controls.stop_recording&&g(!0)},[s]),P=(0,_.useCallback)(async()=>{g(!1),await M()},[M]),F=(0,_.useRef)({handleExitEarly:A,handleRerecordEpisode:j,requestStopRecording:N,showStopConfirm:h});(0,_.useEffect)(()=>{F.current={handleExitEarly:A,handleRerecordEpisode:j,requestStopRecording:N,showStopConfirm:h}});let ee=l&&s!==null;if((0,_.useEffect)(()=>{if(!ee)return;let e=e=>{let t=e.target;if(!(t&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable))){if(e.key===` `||e.code===`Space`||e.key===`ArrowRight`)e.preventDefault(),F.current.handleExitEarly();else if(e.key===`ArrowLeft`)e.preventDefault(),F.current.handleRerecordEpisode();else if(e.key===`Escape`){if(F.current.showStopConfirm)return;F.current.requestStopRecording()}}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[ee]),!o)return(0,V.jsx)(`div`,{className:`min-h-screen bg-black text-white flex items-center justify-center`,children:(0,V.jsxs)(`div`,{className:`text-center`,children:[(0,V.jsx)(`p`,{className:`text-lg`,children:`No recording configuration found.`}),(0,V.jsx)(K,{onClick:()=>t(`/`),className:`mt-4`,children:`Return to Home`})]})});if(!s)return(0,V.jsx)(`div`,{className:`min-h-screen bg-black text-white flex items-center justify-center`,children:(0,V.jsxs)(`div`,{className:`text-center`,children:[(0,V.jsx)(`div`,{className:`animate-spin rounded-full h-12 w-12 border-b-2 border-red-500 mx-auto mb-4`}),(0,V.jsx)(`p`,{className:`text-lg`,children:`Connecting to recording session...`})]})});let te=s.current_phase,I=p??te,ne=s.current_episode??1,re=s.total_episodes??o.num_episodes,ie=p?0:s.phase_elapsed_seconds||0,ae=I===`recording`?o.episode_time_s:I===`resetting`?o.reset_time_s:s.phase_time_limit_s||0,oe=s.session_elapsed_seconds||0,se=()=>I===`recording`?`RECORDING EPISODE ${ne}`:I===`resetting`?`RESET — GET READY`:I===`preparing`?`PREPARING SESSION`:`SESSION COMPLETE`,ce=I===`recording`?{dot:`bg-red-500`,pill:`bg-red-500/15 text-red-300`,timer:`text-green-400`,bar:`bg-green-500`,button:`bg-green-500 hover:bg-green-600`}:I===`resetting`?{dot:`bg-orange-500`,pill:`bg-orange-500/15 text-orange-300`,timer:`text-orange-400`,bar:`bg-orange-500`,button:`bg-orange-500 hover:bg-orange-600`}:{dot:`bg-gray-500`,pill:`bg-gray-500/15 text-gray-300`,timer:`text-gray-400`,bar:`bg-gray-500`,button:`bg-gray-500`},le=I===`recording`?`End Episode`:I===`resetting`?`Start Next Episode`:`Advance`,ue=I===`recording`?io:Za;return(0,V.jsxs)(`div`,{className:`min-h-screen bg-black text-white p-8`,children:[(0,V.jsxs)(`div`,{className:`max-w-2xl mx-auto`,children:[(0,V.jsx)(`div`,{className:`mb-8`,children:(0,V.jsxs)(K,{onClick:()=>t(`/`),variant:`outline`,className:`border-gray-500 hover:border-gray-200 text-gray-300 hover:text-white`,children:[(0,V.jsx)(wa,{className:`w-4 h-4 mr-2`}),`Back to Home`]})}),(0,V.jsxs)(`div`,{className:`bg-gray-900 rounded-lg border border-gray-700 p-8`,children:[(0,V.jsxs)(`div`,{className:`flex justify-end items-center gap-4 mb-6 text-sm text-gray-400`,children:[(0,V.jsxs)(`span`,{"aria-label":`Episode ${ne} of ${re}`,children:[`Episode `,(0,V.jsx)(`span`,{className:`text-white font-semibold`,children:ne}),` / `,re]}),(0,V.jsx)(`span`,{className:`font-mono`,"aria-label":`Total session time ${O(oe)}`,children:O(oe)}),(0,V.jsx)(K,{variant:`ghost`,size:`icon`,onClick:T,"aria-label":v?`Unmute`:`Mute`,className:`h-8 w-8 text-gray-400 hover:text-white hover:bg-gray-800`,children:v?(0,V.jsx)(mo,{className:`w-5 h-5`}):(0,V.jsx)(po,{className:`w-5 h-5`})}),(0,V.jsxs)(RF,{children:[(0,V.jsx)(zF,{asChild:!0,children:(0,V.jsx)(K,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-gray-400 hover:text-white hover:bg-gray-800`,"aria-label":`More actions`,children:(0,V.jsx)(Ha,{className:`w-5 h-5`})})}),(0,V.jsxs)(HF,{align:`end`,onCloseAutoFocus:e=>e.preventDefault(),className:`bg-gray-900 border-gray-700 text-white`,children:[(0,V.jsxs)(UF,{onClick:j,disabled:!s.available_controls.rerecord_episode,className:`focus:bg-gray-800 focus:text-white`,children:[(0,V.jsx)(eo,{className:`w-4 h-4 mr-2`}),`Re-record episode`]}),(0,V.jsxs)(UF,{onClick:N,disabled:!s.available_controls.stop_recording,className:`text-red-400 focus:bg-gray-800 focus:text-red-300`,children:[(0,V.jsx)(oo,{className:`w-4 h-4 mr-2`}),`Stop recording`]})]})]})]}),(0,V.jsx)(`div`,{className:`text-center mb-6`,children:(0,V.jsxs)(`div`,{role:`status`,"aria-live":`polite`,className:`inline-flex items-center gap-2 px-3 py-1 rounded-full text-xs font-bold tracking-widest ${ce.pill}`,children:[(0,V.jsx)(`span`,{className:`w-2 h-2 rounded-full ${ce.dot} ${I===`completed`?``:`animate-pulse`}`}),se()]})}),(0,V.jsxs)(`div`,{className:`text-center mb-4`,children:[(0,V.jsx)(`div`,{className:`text-7xl font-mono font-bold leading-none ${ce.timer}`,children:O(ie)}),(0,V.jsxs)(`div`,{className:`text-sm text-gray-500 mt-2`,children:[`/ `,O(ae)]})]}),(0,V.jsx)(`div`,{className:`w-full bg-gray-800 rounded-full h-1.5 mb-8`,children:(0,V.jsx)(`div`,{className:`h-1.5 rounded-full transition-all duration-500 ${ce.bar}`,style:{width:`${Math.min(ie/ae*100,100)}%`}})}),(0,V.jsxs)(K,{onClick:A,disabled:!s.available_controls.exit_early||p!==null||I===`completed`,className:`w-full text-white font-semibold py-6 text-lg disabled:opacity-50 ${ce.button}`,children:[(0,V.jsx)(ue,{className:`w-5 h-5 mr-2`}),le,I!==`completed`&&(0,V.jsx)(`span`,{className:`ml-3 px-2 py-0.5 rounded text-xs font-mono bg-black/30 text-white/70`,children:`SPACE / →`})]}),I===`completed`&&(0,V.jsx)(`p`,{className:`text-center text-sm text-gray-400 mt-6`,children:`Recording complete — redirecting to upload…`})]})]}),(0,V.jsx)(EI,{open:h,onOpenChange:g,children:(0,V.jsxs)(OI,{className:`bg-gray-900 border-gray-700 text-white`,children:[(0,V.jsxs)(kI,{children:[(0,V.jsx)(jI,{children:`Stop recording?`}),(0,V.jsx)(MI,{className:`text-gray-400`,children:`Saved episodes are kept. The session will end and you'll be taken to the upload page.`})]}),(0,V.jsxs)(AI,{children:[(0,V.jsx)(PI,{className:`bg-gray-800 border-gray-700 text-white hover:bg-gray-700`,children:`Keep recording`}),(0,V.jsx)(NI,{onClick:P,className:`bg-red-500 hover:bg-red-600 text-white`,children:`Stop`})]})]})}),(0,V.jsx)(EI,{open:d!==null,children:(0,V.jsxs)(OI,{className:`bg-gray-900 border-gray-700 text-white max-w-lg`,children:[(0,V.jsxs)(kI,{children:[(0,V.jsxs)(jI,{className:`text-red-500 flex items-center gap-2`,children:[(0,V.jsx)(`span`,{className:`w-2.5 h-2.5 rounded-full bg-red-500 animate-ping`}),`Recording Session Failed`]}),(0,V.jsxs)(MI,{className:`text-gray-300 space-y-4 mt-2`,children:[(0,V.jsx)(`p`,{children:`The recording session encountered an error and had to stop.`}),(0,V.jsx)(`div`,{className:`bg-black/50 p-4 rounded border border-red-900/50 font-mono text-xs text-red-400 max-h-40 overflow-y-auto break-all whitespace-pre-wrap`,children:d?.error}),d?.hint&&(0,V.jsxs)(`div`,{className:`bg-blue-950/40 p-4 rounded border border-blue-800/40 text-sm text-slate-200`,children:[(0,V.jsx)(`strong`,{className:`text-blue-400 block mb-1`,children:`Hardware Hint:`}),d.hint]})]})]}),(0,V.jsx)(AI,{children:(0,V.jsx)(NI,{onClick:()=>t(`/`),className:`bg-red-600 hover:bg-red-700 text-white`,children:`Return to Home`})})]})})]})},FI=()=>{let e=Re();return(0,V.jsx)(`div`,{className:`flex items-center justify-between mb-8`,children:(0,V.jsxs)(`div`,{className:`flex items-center gap-4 text-3xl`,children:[(0,V.jsx)(K,{variant:`ghost`,size:`icon`,onClick:()=>e(`/`),className:`text-slate-400 hover:bg-slate-800 hover:text-white rounded-lg`,children:(0,V.jsx)(wa,{className:`w-5 h-5`})}),(0,V.jsx)(Qj,{}),(0,V.jsx)(`h1`,{className:`font-bold text-white text-2xl`,children:`Training`})]})})},II=/^[\w.\-]+\/[\w.\-]+$/,jte=({datasets:e,loading:t,value:n,onChange:r})=>{let[i,a]=_.useState(!1),[o,s]=_.useState(!1),[c,l]=_.useState(``),u=()=>{let e=c.trim();II.test(e)&&(r(e),s(!1))},d=e.filter(e=>e.source===`local`||e.source===`both`),f=e.filter(e=>e.source===`hub`),p=e=>(0,V.jsxs)(Dh,{value:e.repo_id,onSelect:()=>{r(e.repo_id),a(!1)},className:`text-white aria-selected:bg-gray-700`,children:[(0,V.jsx)(Da,{className:G(`mr-2 h-4 w-4`,n===e.repo_id?`opacity-100`:`opacity-0`)}),(0,V.jsx)(`span`,{className:`flex-1 truncate`,children:e.repo_id}),e.source===`both`&&(0,V.jsx)(`span`,{className:`text-xs text-gray-400 mr-2`,children:`on Hub`}),e.private&&(0,V.jsx)(`span`,{className:`text-xs text-amber-400`,children:`private`})]},e.repo_id);return o?(0,V.jsxs)(`div`,{className:`flex gap-2`,children:[(0,V.jsx)(Nh,{autoFocus:!0,value:c,onChange:e=>l(e.target.value),onKeyDown:e=>{e.key===`Enter`&&u()},placeholder:`org/dataset-name`,className:`bg-gray-800 border-gray-600 text-white`}),(0,V.jsx)(K,{onClick:u,disabled:!II.test(c.trim()),children:`Use`}),(0,V.jsx)(K,{variant:`ghost`,onClick:()=>s(!1),children:`Cancel`})]}):(0,V.jsxs)(km,{open:i,onOpenChange:a,children:[(0,V.jsx)(Am,{asChild:!0,children:(0,V.jsxs)(K,{variant:`outline`,role:`combobox`,"aria-expanded":i,className:`w-full justify-between bg-gray-800 border-gray-600 text-white hover:bg-gray-700`,children:[n??(t?`Loading datasets…`:`Select a dataset…`),(0,V.jsx)(ja,{className:`ml-2 h-4 w-4 shrink-0 opacity-50`})]})}),(0,V.jsx)(jm,{className:`w-[--radix-popover-trigger-width] p-0 bg-gray-800 border-gray-700`,align:`start`,children:(0,V.jsxs)(xh,{className:`bg-gray-800 text-white`,children:[(0,V.jsx)(Sh,{placeholder:`Search datasets…`,className:`text-white`}),(0,V.jsxs)(Ch,{children:[(0,V.jsx)(wh,{children:t?`Loading…`:`No datasets.`}),d.length>0&&(0,V.jsx)(Th,{heading:`Local`,children:d.map(p)}),f.length>0&&(0,V.jsx)(Th,{heading:`Hugging Face`,children:f.map(p)}),(0,V.jsx)(Th,{children:(0,V.jsxs)(Dh,{onSelect:()=>{s(!0),a(!1)},className:`text-purple-300 aria-selected:bg-gray-700`,children:[(0,V.jsx)(Xa,{className:`mr-2 h-4 w-4`}),`Use custom repo ID…`]})})]})]})})]})},Mte=1500;function LI(e,t=!0){let{baseUrl:n,fetchWithHeaders:r}=zs(),[i,a]=(0,_.useState)(`idle`),[o,s]=(0,_.useState)(null),[c,l]=(0,_.useState)([]),u=(0,_.useRef)(null);return(0,_.useEffect)(()=>{if(!t)return;let i=!1;return r(`${n}/${e}/install-status`).then(e=>e.json()).then(e=>{i||(a(e.state),s(e.error),e.logs.length>0&&l(e.logs))}).catch(()=>{}),()=>{i=!0}},[t,n,r,e]),(0,_.useEffect)(()=>{if(i!==`installing`)return;let t=setInterval(async()=>{try{let t=await r(`${n}/${e}/install-status`);if(!t.ok)return;let i=await t.json();i.logs&&i.logs.length>0&&l(e=>[...e,...i.logs]),i.state!==`installing`&&(a(i.state),s(i.error))}catch{}},Mte);return()=>clearInterval(t)},[i,n,r,e]),(0,_.useEffect)(()=>{u.current&&(u.current.scrollTop=u.current.scrollHeight)},[c]),{state:i,error:o,logs:c,logBoxRef:u,handleInstall:(0,_.useCallback)(async()=>{a(`installing`),s(null),l([]);try{let t=await r(`${n}/${e}/install`,{method:`POST`}),i=await t.json();if(!i.started&&t.ok)return;t.ok||(a(`error`),s(i.message||`Install request failed (${t.status})`))}catch(e){a(`error`),s(`Install request failed: ${e instanceof Error?e.message:String(e)}`)}},[n,r,e]),handleRetry:(0,_.useCallback)(()=>{a(`idle`),s(null),l([])},[])}}function RI(e,t){switch(e){case`done`:return`Install Complete`;case`error`:return`Install Failed`;case`installing`:return`Installing…`;default:return t}}function zI({state:e}){return e===`done`?(0,V.jsx)(Pa,{className:`w-6 h-6 text-green-400`}):e===`error`?(0,V.jsx)(Ia,{className:`w-6 h-6 text-red-400`}):e===`installing`?(0,V.jsx)(Ja,{className:`w-6 h-6 text-sky-400 animate-spin`}):(0,V.jsx)(lo,{className:`w-6 h-6 text-amber-400`})}var BI=({state:e,error:t,logs:n,logBoxRef:r,onInstall:i,onRetry:a,installHint:o,packageName:s,idleDescription:c,doneDescription:l})=>{let{toast:u}=yr();return(0,V.jsxs)(V.Fragment,{children:[e===`idle`&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`p`,{className:`text-slate-300`,children:c}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`code`,{className:`flex-1 bg-slate-900 border border-slate-700 rounded-lg px-3 py-2 text-sm text-slate-200 font-mono`,children:o}),(0,V.jsx)(K,{variant:`ghost`,size:`icon`,onClick:async()=>{try{await navigator.clipboard.writeText(o),u({title:`Copied`,description:o})}catch{u({title:`Copy failed`,description:`Select the command and copy manually.`,variant:`destructive`})}},className:`text-slate-400 hover:text-white`,"aria-label":`Copy install command`,children:(0,V.jsx)(za,{className:`w-4 h-4`})})]}),(0,V.jsx)(K,{onClick:i,className:`bg-green-500 hover:bg-green-600 text-white font-semibold`,children:`Install Now`})]}),e===`installing`&&(0,V.jsxs)(`p`,{className:`text-slate-300`,children:[`Installing`,` `,(0,V.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-slate-900 text-sky-300`,children:s}),`. This usually takes about 10 seconds.`]}),e===`done`&&(0,V.jsx)(`div`,{className:`space-y-3 text-slate-300`,children:l}),e===`error`&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`p`,{className:`text-red-300`,children:t||`Install failed.`}),(0,V.jsx)(K,{onClick:a,className:`bg-slate-700 hover:bg-slate-600 text-white`,children:`Try again`})]}),e===`error`&&n.length>0&&(0,V.jsx)(`div`,{ref:r,className:`bg-slate-900 rounded-lg p-3 h-48 overflow-y-auto font-mono text-xs border border-slate-700 text-slate-300 whitespace-pre-wrap break-words`,children:n.map((e,t)=>(0,V.jsx)(`div`,{children:e.message},t))})]})},VI=({purpose:e})=>(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`p`,{children:[`Install complete. Restart`,` `,(0,V.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-slate-900 text-sky-300`,children:`lelab`}),` `,`to enable `,e,`:`]}),(0,V.jsxs)(`ol`,{className:`list-decimal list-inside space-y-2 pl-1`,children:[(0,V.jsxs)(`li`,{children:[`Press`,` `,(0,V.jsx)(`kbd`,{className:`px-1.5 py-0.5 rounded bg-slate-900 border border-slate-600 text-xs font-mono text-slate-200`,children:`Ctrl+C`}),` `,`in the terminal running`,` `,(0,V.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-slate-900 text-sky-300`,children:`lelab`}),`.`]}),(0,V.jsxs)(`li`,{children:[`Run`,` `,(0,V.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-slate-900 text-sky-300`,children:`lelab`}),` `,`again.`]})]})]}),Nte=({open:e,onOpenChange:t,installHint:n})=>{let r=LI(`system/wandb-extra`,e);return(0,V.jsx)(Su,{open:e,onOpenChange:t,children:(0,V.jsxs)(Tu,{className:`bg-slate-800 border-slate-700 text-white max-w-2xl`,children:[(0,V.jsxs)(Eu,{children:[(0,V.jsxs)(Ou,{className:`flex items-center gap-3 text-white`,children:[(0,V.jsx)(zI,{state:r.state}),RI(r.state,`Weights & Biases Not Installed`)]}),(0,V.jsx)(ku,{className:`sr-only`,children:`Install the wandb package to enable W&B logging.`})]}),(0,V.jsx)(`div`,{className:`space-y-4`,children:(0,V.jsx)(BI,{state:r.state,error:r.error,logs:r.logs,logBoxRef:r.logBoxRef,onInstall:r.handleInstall,onRetry:r.handleRetry,installHint:n,packageName:`wandb`,idleTitle:`Weights & Biases Not Installed`,idleDescription:(0,V.jsxs)(V.Fragment,{children:[`Enabling W&B logging requires the`,` `,(0,V.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-slate-900 text-sky-300`,children:`wandb`}),` `,`package, which isn't installed in this environment. Install it to log this run to W&B.`]}),doneDescription:(0,V.jsx)(VI,{purpose:`W&B logging`})})})]})})},Pte=({config:e,updateConfig:t,datasets:n,datasetsLoading:r})=>{let{baseUrl:i,fetchWithHeaders:a}=zs(),[o,s]=(0,_.useState)(!1),[c,l]=(0,_.useState)(`pip install wandb`);return(0,V.jsxs)(wv,{className:`bg-slate-800/50 border-slate-700 rounded-xl`,children:[(0,V.jsx)(Tv,{children:(0,V.jsx)(Ev,{className:`text-white`,children:`Run Configuration`})}),(0,V.jsxs)(Dv,{className:`space-y-6`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Bh,{className:`text-slate-300`,children:`Dataset Repository ID *`}),(0,V.jsx)(`div`,{className:`mt-1`,children:(0,V.jsx)(jte,{datasets:n,loading:r,value:e.dataset_repo_id||null,onChange:e=>{e&&t(`dataset_repo_id`,e)}})}),(0,V.jsx)(`p`,{className:`text-xs text-slate-500 mt-1`,children:`HuggingFace Hub dataset repository ID`})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-4`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Bh,{htmlFor:`policy_type`,className:`text-slate-300`,children:`Policy`}),(0,V.jsxs)(rv,{value:e.policy_type,onValueChange:e=>t(`policy_type`,e),children:[(0,V.jsx)(av,{id:`policy_type`,className:`bg-slate-900 border-slate-600 text-white rounded-lg`,children:(0,V.jsx)(iv,{})}),(0,V.jsxs)(cv,{className:`bg-slate-800 border-slate-600 text-white`,children:[(0,V.jsx)(uv,{value:`act`,children:`ACT (Action Chunking Transformer)`}),(0,V.jsx)(uv,{value:`diffusion`,children:`Diffusion Policy`}),(0,V.jsx)(uv,{value:`pi0`,children:`PI0`}),(0,V.jsx)(uv,{value:`smolvla`,children:`SmolVLA`}),(0,V.jsx)(uv,{value:`tdmpc`,children:`TD-MPC`}),(0,V.jsx)(uv,{value:`vqbet`,children:`VQ-BeT`}),(0,V.jsx)(uv,{value:`pi0_fast`,children:`PI0 Fast`}),(0,V.jsx)(uv,{value:`sac`,children:`SAC`}),(0,V.jsx)(uv,{value:`reward_classifier`,children:`Reward Classifier`})]})]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Bh,{htmlFor:`steps`,className:`text-slate-300`,children:`Training Steps`}),(0,V.jsx)(Ph,{id:`steps`,value:e.steps,onChange:e=>{e!==void 0&&t(`steps`,e)},className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Bh,{htmlFor:`batch_size`,className:`text-slate-300`,children:`Batch Size`}),(0,V.jsx)(Ph,{id:`batch_size`,value:e.batch_size,onChange:e=>{e!==void 0&&t(`batch_size`,e)},className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]}),(0,V.jsxs)(`div`,{className:`flex items-center space-x-3 pt-6`,children:[(0,V.jsx)(fM,{id:`wandb_enable`,checked:e.wandb_enable,onCheckedChange:async e=>{if(!e){t(`wandb_enable`,!1);return}try{let e=await(await a(`${i}/system/wandb-extra`)).json();e.available?t(`wandb_enable`,!0):(l(e.install_hint),s(!0))}catch{t(`wandb_enable`,!0)}},className:`data-[state=checked]:bg-green-500`}),(0,V.jsx)(Bh,{htmlFor:`wandb_enable`,className:`text-slate-300`,children:`Enable Weights & Biases`})]})]}),(0,V.jsx)(Nte,{open:o,onOpenChange:s,installHint:c}),e.wandb_enable&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Bh,{htmlFor:`wandb_project`,className:`text-slate-300`,children:`W&B Project Name`}),(0,V.jsx)(Nh,{id:`wandb_project`,value:e.wandb_project||``,onChange:e=>t(`wandb_project`,e.target.value||void 0),placeholder:`my-robotics-project`,className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]})]})]})},HI=({children:e})=>(0,V.jsx)(`h4`,{className:`text-xs font-semibold text-slate-400 uppercase tracking-wider`,children:e}),Fte=({config:e,updateConfig:t})=>{let[n,r]=(0,_.useState)(!1);return(0,V.jsxs)(wv,{className:`bg-slate-800/50 border-slate-700 rounded-xl`,children:[(0,V.jsxs)(Tv,{role:`button`,tabIndex:0,"aria-expanded":n,onClick:()=>r(e=>!e),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),r(e=>!e))},className:`cursor-pointer select-none flex flex-row items-center justify-between`,children:[(0,V.jsx)(`span`,{className:`text-white font-semibold`,children:`Advanced`}),(0,V.jsxs)(`span`,{className:`flex items-center gap-1 text-slate-400 text-sm`,children:[n?(0,V.jsx)(Oa,{className:`w-4 h-4`}):(0,V.jsx)(ka,{className:`w-4 h-4`}),n?`Hide`:`Show`]})]}),n&&(0,V.jsxs)(Dv,{className:`space-y-8`,children:[(0,V.jsxs)(`section`,{className:`space-y-4`,children:[(0,V.jsx)(HI,{children:`Policy`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-4`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Bh,{htmlFor:`policy_device`,className:`text-slate-300`,children:`Device`}),(0,V.jsxs)(rv,{value:e.policy_device||`cuda`,onValueChange:e=>t(`policy_device`,e),children:[(0,V.jsx)(av,{id:`policy_device`,className:`bg-slate-900 border-slate-600 text-white rounded-lg`,children:(0,V.jsx)(iv,{})}),(0,V.jsxs)(cv,{className:`bg-slate-800 border-slate-600 text-white`,children:[(0,V.jsx)(uv,{value:`cuda`,children:`CUDA (GPU)`}),(0,V.jsx)(uv,{value:`cpu`,children:`CPU`}),(0,V.jsx)(uv,{value:`mps`,children:`MPS (Apple Silicon)`})]})]})]}),(0,V.jsxs)(`div`,{className:`flex items-center space-x-3 pt-6`,children:[(0,V.jsx)(fM,{id:`policy_use_amp`,checked:e.policy_use_amp,onCheckedChange:e=>t(`policy_use_amp`,e)}),(0,V.jsx)(Bh,{htmlFor:`policy_use_amp`,className:`text-slate-300`,children:`Use Automatic Mixed Precision`})]})]})]}),(0,V.jsx)(EM,{className:`bg-slate-700`}),(0,V.jsxs)(`section`,{className:`space-y-4`,children:[(0,V.jsx)(HI,{children:`Training`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-4`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Bh,{htmlFor:`seed`,className:`text-slate-300`,children:`Random Seed`}),(0,V.jsx)(Ph,{id:`seed`,value:e.seed,onChange:e=>t(`seed`,e),className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Bh,{htmlFor:`num_workers`,className:`text-slate-300`,children:`Number of Workers`}),(0,V.jsx)(Ph,{id:`num_workers`,value:e.num_workers,onChange:e=>{e!==void 0&&t(`num_workers`,e)},className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]})]})]}),(0,V.jsx)(EM,{className:`bg-slate-700`}),(0,V.jsxs)(`section`,{className:`space-y-4`,children:[(0,V.jsx)(HI,{children:`Optimizer`}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Bh,{htmlFor:`optimizer_type`,className:`text-slate-300`,children:`Optimizer`}),(0,V.jsxs)(rv,{value:e.optimizer_type||`adam`,onValueChange:e=>t(`optimizer_type`,e),children:[(0,V.jsx)(av,{id:`optimizer_type`,className:`bg-slate-900 border-slate-600 text-white rounded-lg`,children:(0,V.jsx)(iv,{})}),(0,V.jsxs)(cv,{className:`bg-slate-800 border-slate-600 text-white`,children:[(0,V.jsx)(uv,{value:`adam`,children:`Adam`}),(0,V.jsx)(uv,{value:`adamw`,children:`AdamW`}),(0,V.jsx)(uv,{value:`sgd`,children:`SGD`}),(0,V.jsx)(uv,{value:`multi_adam`,children:`Multi Adam`})]})]})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-3 gap-4`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Bh,{htmlFor:`optimizer_lr`,className:`text-slate-300`,children:`Learning Rate`}),(0,V.jsx)(Ph,{id:`optimizer_lr`,integer:!1,step:`0.0001`,value:e.optimizer_lr,onChange:e=>t(`optimizer_lr`,e),placeholder:`Use policy default`,className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Bh,{htmlFor:`optimizer_weight_decay`,className:`text-slate-300`,children:`Weight Decay`}),(0,V.jsx)(Ph,{id:`optimizer_weight_decay`,integer:!1,step:`0.0001`,value:e.optimizer_weight_decay,onChange:e=>t(`optimizer_weight_decay`,e),placeholder:`Use policy default`,className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Bh,{htmlFor:`optimizer_grad_clip_norm`,className:`text-slate-300`,children:`Gradient Clipping`}),(0,V.jsx)(Ph,{id:`optimizer_grad_clip_norm`,integer:!1,step:`0.0001`,value:e.optimizer_grad_clip_norm,onChange:e=>t(`optimizer_grad_clip_norm`,e),placeholder:`Use policy default`,className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]})]})]}),(0,V.jsx)(EM,{className:`bg-slate-700`}),(0,V.jsxs)(`section`,{className:`space-y-4`,children:[(0,V.jsx)(HI,{children:`Logging & Checkpointing`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-4`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Bh,{htmlFor:`log_freq`,className:`text-slate-300`,children:`Log Frequency`}),(0,V.jsx)(Ph,{id:`log_freq`,value:e.log_freq,onChange:e=>{e!==void 0&&t(`log_freq`,e)},className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Bh,{htmlFor:`save_freq`,className:`text-slate-300`,children:`Save Frequency`}),(0,V.jsx)(Ph,{id:`save_freq`,value:e.save_freq,onChange:e=>{e!==void 0&&t(`save_freq`,e)},className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]})]}),(0,V.jsxs)(`div`,{className:`flex items-center space-x-3`,children:[(0,V.jsx)(fM,{id:`save_checkpoint`,checked:e.save_checkpoint,onCheckedChange:e=>t(`save_checkpoint`,e)}),(0,V.jsx)(Bh,{htmlFor:`save_checkpoint`,className:`text-slate-300`,children:`Save Checkpoints`})]}),(0,V.jsxs)(`div`,{className:`flex items-center space-x-3`,children:[(0,V.jsx)(fM,{id:`resume`,checked:e.resume,onCheckedChange:e=>t(`resume`,e)}),(0,V.jsx)(Bh,{htmlFor:`resume`,className:`text-slate-300`,children:`Resume from Checkpoint`})]})]}),e.wandb_enable&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(EM,{className:`bg-slate-700`}),(0,V.jsxs)(`section`,{className:`space-y-4`,children:[(0,V.jsx)(HI,{children:`Weights & Biases`}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Bh,{htmlFor:`wandb_entity`,className:`text-slate-300`,children:`W&B Entity (optional)`}),(0,V.jsx)(Nh,{id:`wandb_entity`,value:e.wandb_entity||``,onChange:e=>t(`wandb_entity`,e.target.value||void 0),placeholder:`your-username`,className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Bh,{htmlFor:`wandb_notes`,className:`text-slate-300`,children:`W&B Notes (optional)`}),(0,V.jsx)(Nh,{id:`wandb_notes`,value:e.wandb_notes||``,onChange:e=>t(`wandb_notes`,e.target.value||void 0),placeholder:`Training run notes...`,className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Bh,{htmlFor:`wandb_mode`,className:`text-slate-300`,children:`W&B Mode`}),(0,V.jsxs)(rv,{value:e.wandb_mode||`online`,onValueChange:e=>t(`wandb_mode`,e),children:[(0,V.jsx)(av,{id:`wandb_mode`,className:`bg-slate-900 border-slate-600 text-white rounded-lg`,children:(0,V.jsx)(iv,{})}),(0,V.jsxs)(cv,{className:`bg-slate-800 border-slate-600 text-white`,children:[(0,V.jsx)(uv,{value:`online`,children:`Online`}),(0,V.jsx)(uv,{value:`offline`,children:`Offline`}),(0,V.jsx)(uv,{value:`disabled`,children:`Disabled`})]})]})]}),(0,V.jsxs)(`div`,{className:`flex items-center space-x-3`,children:[(0,V.jsx)(fM,{id:`wandb_disable_artifact`,checked:e.wandb_disable_artifact,onCheckedChange:e=>t(`wandb_disable_artifact`,e)}),(0,V.jsx)(Bh,{htmlFor:`wandb_disable_artifact`,className:`text-slate-300`,children:`Disable Artifacts`})]})]})]}),!e.wandb_enable&&(0,V.jsx)(EM,{className:`bg-slate-700`}),(0,V.jsxs)(`section`,{className:`space-y-4`,children:[(0,V.jsx)(HI,{children:`Misc`}),(0,V.jsxs)(`div`,{className:`flex items-center space-x-3`,children:[(0,V.jsx)(fM,{id:`use_policy_training_preset`,checked:e.use_policy_training_preset,onCheckedChange:e=>t(`use_policy_training_preset`,e)}),(0,V.jsx)(Bh,{htmlFor:`use_policy_training_preset`,className:`text-slate-300`,children:`Use Policy Training Preset`})]})]})]})]})},Ite=(e,t)=>`$${(t===`minute`?e*60:e).toFixed(2)}/hr`,Lte=e=>{let t=e.accelerator?e.accelerator:e.cpu;return`${e.pretty_name} · ${t} · ${Ite(e.unit_cost_usd,e.unit_label)}`},Rte=({config:e,updateConfig:t,authenticated:n,flavors:r,loading:i})=>{let a=e.target,o=a.runner===`local`?`local`:`hf:${a.flavor??``}`;return(0,V.jsxs)(wv,{className:`bg-slate-800/50 border-slate-700 rounded-xl`,children:[(0,V.jsx)(Tv,{children:(0,V.jsx)(Ev,{className:`text-white`,children:`Compute target`})}),(0,V.jsx)(Dv,{className:`space-y-3`,children:(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Bh,{className:`text-slate-300`,children:`Run training on`}),(0,V.jsxs)(rv,{value:o,onValueChange:e=>{e===`local`?t(`target`,{runner:`local`}):e.startsWith(`hf:`)&&t(`target`,{runner:`hf_cloud`,flavor:e.slice(3)})},children:[(0,V.jsx)(av,{className:`bg-slate-900 border-slate-600 text-white rounded-lg mt-1`,children:(0,V.jsx)(iv,{placeholder:i?`Loading…`:`Select target`})}),(0,V.jsxs)(cv,{className:`bg-slate-800 border-slate-600 text-white`,children:[(0,V.jsx)(uv,{value:`local`,children:`Local — your machine (free)`}),r.map(e=>(0,V.jsxs)(uv,{value:`hf:${e.name}`,disabled:!n,children:[Lte(e),!n&&(0,V.jsx)(`span`,{className:`text-amber-300 ml-2 text-xs`,children:`log in to HF`})]},e.name))]})]}),(0,V.jsx)(`p`,{className:`text-xs text-slate-500 mt-1`,children:`Cost shown is per running hour. Final policy uploads to your HF account when training completes.`})]})})]})},zte=({config:e,updateConfig:t,datasets:n,datasetsLoading:r,authenticated:i,flavors:a,hardwareLoading:o})=>(0,V.jsxs)(`div`,{className:`max-w-3xl mx-auto space-y-6`,children:[(0,V.jsx)(Rte,{config:e,updateConfig:t,authenticated:i,flavors:a,loading:o}),(0,V.jsx)(Pte,{config:e,updateConfig:t,datasets:n,datasetsLoading:r}),(0,V.jsx)(Fte,{config:e,updateConfig:t})]}),UI=o(((e,t)=>{t.exports=Array.isArray})),WI=o(((e,t)=>{t.exports=typeof global==`object`&&global&&global.Object===Object&&global})),GI=o(((e,t)=>{var n=WI(),r=typeof self==`object`&&self&&self.Object===Object&&self;t.exports=n||r||Function(`return this`)()})),KI=o(((e,t)=>{t.exports=GI().Symbol})),Bte=o(((e,t)=>{var n=KI(),r=Object.prototype,i=r.hasOwnProperty,a=r.toString,o=n?n.toStringTag:void 0;function s(e){var t=i.call(e,o),n=e[o];try{e[o]=void 0;var r=!0}catch{}var s=a.call(e);return r&&(t?e[o]=n:delete e[o]),s}t.exports=s})),Vte=o(((e,t)=>{var n=Object.prototype.toString;function r(e){return n.call(e)}t.exports=r})),qI=o(((e,t)=>{var n=KI(),r=Bte(),i=Vte(),a=`[object Null]`,o=`[object Undefined]`,s=n?n.toStringTag:void 0;function c(e){return e==null?e===void 0?o:a:s&&s in Object(e)?r(e):i(e)}t.exports=c})),JI=o(((e,t)=>{function n(e){return typeof e==`object`&&!!e}t.exports=n})),YI=o(((e,t)=>{var n=qI(),r=JI(),i=`[object Symbol]`;function a(e){return typeof e==`symbol`||r(e)&&n(e)==i}t.exports=a})),XI=o(((e,t)=>{var n=UI(),r=YI(),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;function o(e,t){if(n(e))return!1;var o=typeof e;return o==`number`||o==`symbol`||o==`boolean`||e==null||r(e)?!0:a.test(e)||!i.test(e)||t!=null&&e in Object(t)}t.exports=o})),ZI=o(((e,t)=>{function n(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}t.exports=n})),QI=o(((e,t)=>{var n=qI(),r=ZI(),i=`[object AsyncFunction]`,a=`[object Function]`,o=`[object GeneratorFunction]`,s=`[object Proxy]`;function c(e){if(!r(e))return!1;var t=n(e);return t==a||t==o||t==i||t==s}t.exports=c})),Hte=o(((e,t)=>{t.exports=GI()[`__core-js_shared__`]})),Ute=o(((e,t)=>{var n=Hte(),r=function(){var e=/[^.]+$/.exec(n&&n.keys&&n.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}();function i(e){return!!r&&r in e}t.exports=i})),$I=o(((e,t)=>{var n=Function.prototype.toString;function r(e){if(e!=null){try{return n.call(e)}catch{}try{return e+``}catch{}}return``}t.exports=r})),Wte=o(((e,t)=>{var n=QI(),r=Ute(),i=ZI(),a=$I(),o=/[\\^$.*+?()[\]{}|]/g,s=/^\[object .+?Constructor\]$/,c=Function.prototype,l=Object.prototype,u=c.toString,d=l.hasOwnProperty,f=RegExp(`^`+u.call(d).replace(o,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`);function p(e){return!i(e)||r(e)?!1:(n(e)?f:s).test(a(e))}t.exports=p})),Gte=o(((e,t)=>{function n(e,t){return e?.[t]}t.exports=n})),eL=o(((e,t)=>{var n=Wte(),r=Gte();function i(e,t){var i=r(e,t);return n(i)?i:void 0}t.exports=i})),tL=o(((e,t)=>{t.exports=eL()(Object,`create`)})),Kte=o(((e,t)=>{var n=tL();function r(){this.__data__=n?n(null):{},this.size=0}t.exports=r})),qte=o(((e,t)=>{function n(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=+!!t,t}t.exports=n})),Jte=o(((e,t)=>{var n=tL(),r=`__lodash_hash_undefined__`,i=Object.prototype.hasOwnProperty;function a(e){var t=this.__data__;if(n){var a=t[e];return a===r?void 0:a}return i.call(t,e)?t[e]:void 0}t.exports=a})),Yte=o(((e,t)=>{var n=tL(),r=Object.prototype.hasOwnProperty;function i(e){var t=this.__data__;return n?t[e]!==void 0:r.call(t,e)}t.exports=i})),Xte=o(((e,t)=>{var n=tL(),r=`__lodash_hash_undefined__`;function i(e,t){var i=this.__data__;return this.size+=+!this.has(e),i[e]=n&&t===void 0?r:t,this}t.exports=i})),Zte=o(((e,t)=>{var n=Kte(),r=qte(),i=Jte(),a=Yte(),o=Xte();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t{function n(){this.__data__=[],this.size=0}t.exports=n})),nL=o(((e,t)=>{function n(e,t){return e===t||e!==e&&t!==t}t.exports=n})),rL=o(((e,t)=>{var n=nL();function r(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}t.exports=r})),$te=o(((e,t)=>{var n=rL(),r=Array.prototype.splice;function i(e){var t=this.__data__,i=n(t,e);return i<0?!1:(i==t.length-1?t.pop():r.call(t,i,1),--this.size,!0)}t.exports=i})),ene=o(((e,t)=>{var n=rL();function r(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}t.exports=r})),tne=o(((e,t)=>{var n=rL();function r(e){return n(this.__data__,e)>-1}t.exports=r})),nne=o(((e,t)=>{var n=rL();function r(e,t){var r=this.__data__,i=n(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}t.exports=r})),iL=o(((e,t)=>{var n=Qte(),r=$te(),i=ene(),a=tne(),o=nne();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t{t.exports=eL()(GI(),`Map`)})),rne=o(((e,t)=>{var n=Zte(),r=iL(),i=aL();function a(){this.size=0,this.__data__={hash:new n,map:new(i||r),string:new n}}t.exports=a})),ine=o(((e,t)=>{function n(e){var t=typeof e;return t==`string`||t==`number`||t==`symbol`||t==`boolean`?e!==`__proto__`:e===null}t.exports=n})),oL=o(((e,t)=>{var n=ine();function r(e,t){var r=e.__data__;return n(t)?r[typeof t==`string`?`string`:`hash`]:r.map}t.exports=r})),ane=o(((e,t)=>{var n=oL();function r(e){var t=n(this,e).delete(e);return this.size-=+!!t,t}t.exports=r})),one=o(((e,t)=>{var n=oL();function r(e){return n(this,e).get(e)}t.exports=r})),sne=o(((e,t)=>{var n=oL();function r(e){return n(this,e).has(e)}t.exports=r})),cne=o(((e,t)=>{var n=oL();function r(e,t){var r=n(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}t.exports=r})),sL=o(((e,t)=>{var n=rne(),r=ane(),i=one(),a=sne(),o=cne();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t{var n=sL(),r=`Expected a function`;function i(e,t){if(typeof e!=`function`||t!=null&&typeof t!=`function`)throw TypeError(r);var a=function(){var n=arguments,r=t?t.apply(this,n):n[0],i=a.cache;if(i.has(r))return i.get(r);var o=e.apply(this,n);return a.cache=i.set(r,o)||i,o};return a.cache=new(i.Cache||n),a}i.Cache=n,t.exports=i})),lne=o(((e,t)=>{var n=cL(),r=500;function i(e){var t=n(e,function(e){return i.size===r&&i.clear(),e}),i=t.cache;return t}t.exports=i})),une=o(((e,t)=>{var n=lne(),r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g;t.exports=n(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(``),e.replace(r,function(e,n,r,a){t.push(r?a.replace(i,`$1`):n||e)}),t})})),lL=o(((e,t)=>{function n(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n{var n=KI(),r=lL(),i=UI(),a=YI(),o=1/0,s=n?n.prototype:void 0,c=s?s.toString:void 0;function l(e){if(typeof e==`string`)return e;if(i(e))return r(e,l)+``;if(a(e))return c?c.call(e):``;var t=e+``;return t==`0`&&1/e==-o?`-0`:t}t.exports=l})),uL=o(((e,t)=>{var n=dne();function r(e){return e==null?``:n(e)}t.exports=r})),dL=o(((e,t)=>{var n=UI(),r=XI(),i=une(),a=uL();function o(e,t){return n(e)?e:r(e,t)?[e]:i(a(e))}t.exports=o})),fL=o(((e,t)=>{var n=YI(),r=1/0;function i(e){if(typeof e==`string`||n(e))return e;var t=e+``;return t==`0`&&1/e==-r?`-0`:t}t.exports=i})),pL=o(((e,t)=>{var n=dL(),r=fL();function i(e,t){t=n(t,e);for(var i=0,a=t.length;e!=null&&i{var n=pL();function r(e,t,r){var i=e==null?void 0:n(e,t);return i===void 0?r:i}t.exports=r})),fne=o(((e,t)=>{function n(e){return e==null}t.exports=n})),pne=o(((e,t)=>{var n=qI(),r=UI(),i=JI(),a=`[object String]`;function o(e){return typeof e==`string`||!r(e)&&i(e)&&n(e)==a}t.exports=o})),mne=o((e=>{var t=Symbol.for(`react.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.provider`),s=Symbol.for(`react.context`),c=Symbol.for(`react.server_context`),l=Symbol.for(`react.forward_ref`),u=Symbol.for(`react.suspense`),d=Symbol.for(`react.suspense_list`),f=Symbol.for(`react.memo`),p=Symbol.for(`react.lazy`);function m(e){if(typeof e==`object`&&e){var m=e.$$typeof;switch(m){case t:switch(e=e.type,e){case r:case a:case i:case u:case d:return e;default:switch(e&&=e.$$typeof,e){case c:case s:case l:case p:case f:case o:return e;default:return m}}case n:return m}}}e.isFragment=function(e){return m(e)===r}})),hL=o(((e,t)=>{t.exports=mne()})),gL=o(((e,t)=>{var n=qI(),r=JI(),i=`[object Number]`;function a(e){return typeof e==`number`||r(e)&&n(e)==i}t.exports=a})),_L=o(((e,t)=>{var n=gL();function r(e){return n(e)&&e!=+e}t.exports=r})),vL=l(pne()),yL=l(_L()),bL=l(mL()),xL=l(gL()),SL=l(fne()),CL=function(e){return e===0?0:e>0?1:-1},wL=function(e){return(0,vL.default)(e)&&e.indexOf(`%`)===e.length-1},Q=function(e){return(0,xL.default)(e)&&!(0,yL.default)(e)},TL=function(e){return(0,SL.default)(e)},EL=function(e){return Q(e)||(0,vL.default)(e)},DL=0,OL=function(e){var t=++DL;return`${e||``}${t}`},kL=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!Q(e)&&!(0,vL.default)(e))return n;var i;if(wL(e)){var a=e.indexOf(`%`);i=t*parseFloat(e.slice(0,a))/100}else i=+e;return(0,yL.default)(i)&&(i=n),r&&i>t&&(i=t),i},AL=function(e){if(!e)return null;var t=Object.keys(e);return t&&t.length?e[t[0]]:null},jL=function(e){if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function ZL(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function QL(e){"@babel/helpers - typeof";return QL=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},QL(e)}var $L={click:`onClick`,mousedown:`onMouseDown`,mouseup:`onMouseUp`,mouseover:`onMouseOver`,mousemove:`onMouseMove`,mouseout:`onMouseOut`,mouseenter:`onMouseEnter`,mouseleave:`onMouseLeave`,touchcancel:`onTouchCancel`,touchend:`onTouchEnd`,touchmove:`onTouchMove`,touchstart:`onTouchStart`,contextmenu:`onContextMenu`,dblclick:`onDoubleClick`},eR=function(e){return typeof e==`string`?e:e?e.displayName||e.name||`Component`:``},tR=null,nR=null,rR=function e(t){if(t===tR&&Array.isArray(nR))return nR;var n=[];return _.Children.forEach(t,function(t){(0,SL.default)(t)||((0,qL.isFragment)(t)?n=n.concat(e(t.props.children)):n.push(t))}),nR=n,tR=t,n};function iR(e,t){var n=[],r=[];return r=Array.isArray(t)?t.map(function(e){return eR(e)}):[eR(t)],rR(e).forEach(function(e){var t=(0,bL.default)(e,`type.displayName`)||(0,bL.default)(e,`type.name`);r.indexOf(t)!==-1&&n.push(e)}),n}function aR(e,t){var n=iR(e,t);return n&&n[0]}var oR=function(e){if(!e||!e.props)return!1;var t=e.props,n=t.width,r=t.height;return!(!Q(n)||n<=0||!Q(r)||r<=0)},sR=`a.altGlyph.altGlyphDef.altGlyphItem.animate.animateColor.animateMotion.animateTransform.circle.clipPath.color-profile.cursor.defs.desc.ellipse.feBlend.feColormatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feDistantLight.feFlood.feFuncA.feFuncB.feFuncG.feFuncR.feGaussianBlur.feImage.feMerge.feMergeNode.feMorphology.feOffset.fePointLight.feSpecularLighting.feSpotLight.feTile.feTurbulence.filter.font.font-face.font-face-format.font-face-name.font-face-url.foreignObject.g.glyph.glyphRef.hkern.image.line.lineGradient.marker.mask.metadata.missing-glyph.mpath.path.pattern.polygon.polyline.radialGradient.rect.script.set.stop.style.svg.switch.symbol.text.textPath.title.tref.tspan.use.view.vkern`.split(`.`),cR=function(e){return e&&e.type&&(0,vL.default)(e.type)&&sR.indexOf(e.type)>=0},lR=function(e){return e&&QL(e)===`object`&&`clipDot`in e},uR=function(e,t,n,r){var i=VL?.[r]??[];return t.startsWith(`data-`)||!(0,KL.default)(e)&&(r&&i.includes(t)||zL.includes(t))||n&&HL.includes(t)},dR=function(e,t,n){if(!e||typeof e==`function`||typeof e==`boolean`)return null;var r=e;if((0,_.isValidElement)(e)&&(r=e.props),!(0,IL.default)(r))return null;var i={};return Object.keys(r).forEach(function(e){uR(r?.[e],e,t,n)&&(i[e]=r[e])}),i},fR=function e(t,n){if(t===n)return!0;var r=_.Children.count(t);if(r!==_.Children.count(n))return!1;if(r===0)return!0;if(r===1)return pR(Array.isArray(t)?t[0]:t,Array.isArray(n)?n[0]:n);for(var i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function bR(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function xR(e){var t=e.children,n=e.width,r=e.height,i=e.viewBox,a=e.className,o=e.style,s=e.title,c=e.desc,l=yR(e,_R),u=i||{width:n,height:r,x:0,y:0},d=ha(`recharts-surface`,a);return _.createElement(`svg`,vR({},dR(l,!0,`svg`),{className:d,width:n,height:r,style:o,viewBox:`${u.x} ${u.y} ${u.width} ${u.height}`}),_.createElement(`title`,null,s),_.createElement(`desc`,null,c),t)}var SR=[`children`,`className`];function CR(){return CR=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function TR(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var ER=_.forwardRef(function(e,t){var n=e.children,r=e.className,i=wR(e,SR),a=ha(`recharts-layer`,r);return _.createElement(`g`,CR({className:a},dR(i,!0),{ref:t}),n)}),DR=!1,OR=function(e,t){var n=[...arguments].slice(2);if(DR&&typeof console<`u`&&console.warn&&(t===void 0&&console.warn(`LogUtils requires an error message argument`),!e))if(t===void 0)console.warn(`Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.`);else{var r=0;console.warn(t.replace(/%s/g,function(){return n[r++]}))}},kR=o(((e,t)=>{function n(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var a=Array(i);++r{var n=kR();function r(e,t,r){var i=e.length;return r=r===void 0?i:r,!t&&r>=i?e:n(e,t,r)}t.exports=r})),jR=o(((e,t)=>{var n=RegExp(`[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]`);function r(e){return n.test(e)}t.exports=r})),MR=o(((e,t)=>{function n(e){return e.split(``)}t.exports=n})),NR=o(((e,t)=>{var n=`\\ud800-\\udfff`,r=`\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff`,i=`\\ufe0e\\ufe0f`,a=`[`+n+`]`,o=`[`+r+`]`,s=`\\ud83c[\\udffb-\\udfff]`,c=`(?:`+o+`|`+s+`)`,l=`[^`+n+`]`,u=`(?:\\ud83c[\\udde6-\\uddff]){2}`,d=`[\\ud800-\\udbff][\\udc00-\\udfff]`,f=`\\u200d`,p=c+`?`,m=`[`+i+`]?`,h=`(?:`+f+`(?:`+[l,u,d].join(`|`)+`)`+m+p+`)*`,g=m+p+h,_=`(?:`+[l+o+`?`,o,u,d,a].join(`|`)+`)`,v=RegExp(s+`(?=`+s+`)|`+_+g,`g`);function y(e){return e.match(v)||[]}t.exports=y})),PR=o(((e,t)=>{var n=MR(),r=jR(),i=NR();function a(e){return r(e)?i(e):n(e)}t.exports=a})),FR=o(((e,t)=>{var n=AR(),r=jR(),i=PR(),a=uL();function o(e){return function(t){t=a(t);var o=r(t)?i(t):void 0,s=o?o[0]:t.charAt(0),c=o?n(o,1).join(``):t.slice(1);return s[e]()+c}}t.exports=o})),IR=o(((e,t)=>{t.exports=FR()(`toUpperCase`)}));function LR(e){return function(){return e}}var RR=Math.cos,zR=Math.sin,BR=Math.sqrt,VR=Math.PI;VR/2;var HR=2*VR,UR=Math.PI,WR=2*UR,GR=1e-6,KR=WR-GR;function qR(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw Error(`invalid digits: ${e}`);if(t>15)return qR;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;tGR)if(!(Math.abs(u*s-c*l)>GR)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((UR-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>GR&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>GR||Math.abs(this._y1-l)>GR)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%WR+WR),d>KR?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>GR&&this._append`A${n},${n},0,${+(d>=UR)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};function XR(){return new YR}XR.prototype=YR.prototype;function ZR(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new YR(t)}Array.prototype.slice;function QR(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function $R(e){this._context=e}$R.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function ez(e){return new $R(e)}function tz(e){return e[0]}function nz(e){return e[1]}function rz(e,t){var n=LR(!0),r=null,i=ez,a=null,o=ZR(s);e=typeof e==`function`?e:e===void 0?tz:LR(e),t=typeof t==`function`?t:t===void 0?nz:LR(t);function s(s){var c,l=(s=QR(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return rz().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:LR(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:LR(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:LR(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:LR(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:LR(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:LR(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:LR(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}var az=class{constructor(e,t){this._context=e,this._x=t}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,t,e,t):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+t)/2,e,this._y0,e,t);break}this._x0=e,this._y0=t}};function oz(e){return new az(e,!0)}function sz(e){return new az(e,!1)}var cz={draw(e,t){let n=BR(t/VR);e.moveTo(n,0),e.arc(0,0,n,0,HR)}},lz={draw(e,t){let n=BR(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},uz=BR(1/3),dz=uz*2,fz={draw(e,t){let n=BR(t/dz),r=n*uz;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},pz={draw(e,t){let n=BR(t),r=-n/2;e.rect(r,r,n,n)}},mz=.8908130915292852,hz=zR(VR/10)/zR(7*VR/10),gz=zR(HR/10)*hz,_z=-RR(HR/10)*hz,vz={draw(e,t){let n=BR(t*mz),r=gz*n,i=_z*n;e.moveTo(0,-n),e.lineTo(r,i);for(let t=1;t<5;++t){let a=HR*t/5,o=RR(a),s=zR(a);e.lineTo(s*n,-o*n),e.lineTo(o*r-s*i,s*r+o*i)}e.closePath()}},yz=BR(3),bz={draw(e,t){let n=-BR(t/(yz*3));e.moveTo(0,n*2),e.lineTo(-yz*n,-n),e.lineTo(yz*n,-n),e.closePath()}},xz=-.5,Sz=BR(3)/2,Cz=1/BR(12),wz=(Cz/2+1)*3,Tz={draw(e,t){let n=BR(t/wz),r=n/2,i=n*Cz,a=r,o=n*Cz+n,s=-a,c=o;e.moveTo(r,i),e.lineTo(a,o),e.lineTo(s,c),e.lineTo(xz*r-Sz*i,Sz*r+xz*i),e.lineTo(xz*a-Sz*o,Sz*a+xz*o),e.lineTo(xz*s-Sz*c,Sz*s+xz*c),e.lineTo(xz*r+Sz*i,xz*i-Sz*r),e.lineTo(xz*a+Sz*o,xz*o-Sz*a),e.lineTo(xz*s+Sz*c,xz*c-Sz*s),e.closePath()}};function Ez(e,t){let n=null,r=ZR(i);e=typeof e==`function`?e:LR(e||cz),t=typeof t==`function`?t:LR(t===void 0?64:+t);function i(){let i;if(n||=i=r(),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+``||null}return i.type=function(t){return arguments.length?(e=typeof t==`function`?t:LR(t),i):e},i.size=function(e){return arguments.length?(t=typeof e==`function`?e:LR(+e),i):t},i.context=function(e){return arguments.length?(n=e??null,i):n},i}function Dz(){}function Oz(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function kz(e){this._context=e}kz.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Oz(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Oz(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Az(e){return new kz(e)}function jz(e){this._context=e}jz.prototype={areaStart:Dz,areaEnd:Dz,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:Oz(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Mz(e){return new jz(e)}function Nz(e){this._context=e}Nz.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:Oz(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Pz(e){return new Nz(e)}function Fz(e){this._context=e}Fz.prototype={areaStart:Dz,areaEnd:Dz,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function Iz(e){return new Fz(e)}function Lz(e){return e<0?-1:1}function Rz(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(Lz(a)+Lz(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function zz(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function Bz(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function Vz(e){this._context=e}Vz.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Bz(this,this._t0,zz(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Bz(this,zz(this,n=Rz(this,e,t)),n);break;default:Bz(this,this._t0,n=Rz(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function Hz(e){this._context=new Uz(e)}(Hz.prototype=Object.create(Vz.prototype)).point=function(e,t){Vz.prototype.point.call(this,t,e)};function Uz(e){this._context=e}Uz.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,a){this._context.bezierCurveTo(t,e,r,n,a,i)}};function Wz(e){return new Vz(e)}function Gz(e){return new Hz(e)}function Kz(e){this._context=e}Kz.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=qz(e),i=qz(t),a=0,o=1;o=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}this._x=e,this._y=t}};function Xz(e){return new Yz(e,.5)}function Zz(e){return new Yz(e,0)}function Qz(e){return new Yz(e,1)}function $z(e,t){if((o=e.length)>1)for(var n=1,r,i,a=e[t[0]],o,s=a.length;n=0;)n[t]=t;return n}function tB(e,t){return e[t]}function nB(e){let t=[];return t.key=e,t}function rB(){var e=LR([]),t=eB,n=$z,r=tB;function i(i){var a=Array.from(e.apply(this,arguments),nB),o,s=a.length,c=-1,l;for(let e of i)for(o=0,++c;o0){for(var n,r,i=0,a=e[0].length,o;i0){for(var n=0,r=e[t[0]],i,a=r.length;n0)||!((a=(i=e[t[0]]).length)>0))){for(var n=0,r=1,i,a,o;r=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function _B(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var vB={symbolCircle:cz,symbolCross:lz,symbolDiamond:fz,symbolSquare:pz,symbolStar:vz,symbolTriangle:bz,symbolWye:Tz},yB=Math.PI/180,bB=function(e){return vB[`symbol${(0,sB.default)(e)}`]||cz},xB=function(e,t,n){if(t===`area`)return e;switch(n){case`cross`:return 5*e*e/9;case`diamond`:return .5*e*e/Math.sqrt(3);case`square`:return e*e;case`star`:var r=18*yB;return 1.25*e*e*(Math.tan(r)-Math.tan(r*2)*Math.tan(r)**2);case`triangle`:return Math.sqrt(3)*e*e/4;case`wye`:return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},SB=function(e,t){vB[`symbol${(0,sB.default)(e)}`]=t},CB=function(e){var t=e.type,n=t===void 0?`circle`:t,r=e.size,i=r===void 0?64:r,a=e.sizeType,o=a===void 0?`area`:a,s=fB(fB({},gB(e,lB)),{},{type:n,size:i,sizeType:o}),c=function(){var e=bB(n);return Ez().type(e).size(xB(i,o,n))()},l=s.className,u=s.cx,d=s.cy,f=dR(s,!0);return u===+u&&d===+d&&i===+i?_.createElement(`path`,uB({},f,{className:ha(`recharts-symbols`,l),transform:`translate(${u}, ${d})`,d:c()})):null};CB.registerSymbol=SB;function wB(e){"@babel/helpers - typeof";return wB=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},wB(e)}function TB(){return TB=Object.assign?Object.assign.bind():function(e){for(var t=1;t{document.getElementById(e.current?.getAttribute(`aria-describedby`))||console.warn(t)},[t,e]),null},bI=$F,xI=rI,SI=aI,CI=uI,wI=gI,TI=vI,EI=fI,DI=mI,OI=bI,kI=xI,AI=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(SI,{className:G(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...t,ref:n}));AI.displayName=SI.displayName;var jI=_.forwardRef(({className:e,...t},n)=>(0,V.jsxs)(kI,{children:[(0,V.jsx)(AI,{}),(0,V.jsx)(CI,{ref:n,className:G(`fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg`,e),...t})]}));jI.displayName=CI.displayName;var MI=({className:e,...t})=>(0,V.jsx)(`div`,{className:G(`flex flex-col space-y-2 text-center sm:text-left`,e),...t});MI.displayName=`AlertDialogHeader`;var NI=({className:e,...t})=>(0,V.jsx)(`div`,{className:G(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,e),...t});NI.displayName=`AlertDialogFooter`;var PI=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(EI,{ref:n,className:G(`text-lg font-semibold`,e),...t}));PI.displayName=EI.displayName;var FI=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(DI,{ref:n,className:G(`text-sm text-muted-foreground`,e),...t}));FI.displayName=DI.displayName;var II=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(wI,{ref:n,className:G(Ms(),e),...t}));II.displayName=wI.displayName;var LI=_.forwardRef(({className:e,...t},n)=>(0,V.jsx)(TI,{ref:n,className:G(Ms({variant:`outline`}),`mt-2 sm:mt-0`,e),...t}));LI.displayName=TI.displayName;var RI=()=>{let e=Ie(),t=Re(),{toast:n}=yr(),{baseUrl:r,wsBaseUrl:i,fetchWithHeaders:a}=zs(),o=e.state?.recordingConfig,[s,c]=(0,_.useState)(null),[l,u]=(0,_.useState)(!1),[d,f]=(0,_.useState)(null),[p,m]=(0,_.useState)(null),[h,g]=(0,_.useState)(!1),[v,y]=(0,_.useState)(()=>HF()),b=(0,_.useRef)(null),[x,S]=(0,_.useState)(0),C=(0,_.useRef)({phase:null,episode:null,tick:0}),w=(0,_.useRef)(!1),T=(0,_.useCallback)(()=>{y(e=>{let t=!e;return UF(t),t})},[]);(0,_.useEffect)(()=>{o||(n({title:`No Configuration`,description:`Please start recording from the main page.`,variant:`destructive`}),t(`/`))},[o,t,n]),(0,_.useEffect)(()=>{o&&!w.current&&(w.current=!0,k())},[o]);let E=(0,_.useRef)(p);E.current=p;let D=(0,_.useRef)(x);D.current=x,(0,_.useEffect)(()=>{if(!l||d!==null)return;let e=async()=>{try{let e=await a(`${r}/recording-status`);if(!e.ok)return;let n=await e.json();if(n.current_phase===`error`){f({error:n.error||`Recording session failed.`,hint:n.hint||null});return}c(n);let i=E.current;i&&n.current_phase===i&&m(null);let s=n.current_phase,l=b.current;l!==s&&(s===`recording`&&l!==null?GF():s===`resetting`&&KF(),b.current=s,C.current={phase:null,episode:null,tick:0});let u=n.phase_elapsed_seconds||0,d=n.phase_time_limit_s||0,p=d>3&&u>=d-3,h=n.current_episode??null,g=D.current,_=C.current;p&&i===null&&(_.phase!==s||_.episode!==h||_.tick!==g)&&(qF(),C.current={phase:s,episode:h,tick:g}),!n.recording_active&&n.session_ended&&t(`/upload`,{state:{datasetInfo:{dataset_repo_id:n.dataset_repo_id||o.dataset_repo_id,single_task:o.single_task,num_episodes:o.num_episodes,saved_episodes:n.saved_episodes||0,session_elapsed_seconds:n.session_elapsed_seconds||0}}})}catch(e){console.error(`Error polling recording status:`,e)}};e();let n=setInterval(e,1e3);return()=>clearInterval(n)},[l,o,t,r,a,d]);let O=e=>{let t=Math.floor(e/60),n=e%60;return`${t.toString().padStart(2,`0`)}:${n.toString().padStart(2,`0`)}`},k=async()=>{try{let e=await a(`${r}/start-recording`,{method:`POST`,body:JSON.stringify(o)}),i=await e.json();e.ok?(u(!0),n({title:`Recording Started`,description:`Started recording ${o.num_episodes} episodes`})):(n({title:`Error Starting Recording`,description:i.message||`Failed to start recording session.`,variant:`destructive`}),t(`/`))}catch{n({title:`Connection Error`,description:`Could not connect to the backend server.`,variant:`destructive`}),t(`/`)}},A=(0,_.useCallback)(async()=>{if(!s?.available_controls.exit_early||p!==null)return;let e=s.current_phase,t=e===`recording`?`resetting`:e===`resetting`?`recording`:null;if(t){m(t);try{let e=await a(`${r}/recording-exit-early`,{method:`POST`});if(!e.ok){let t=await e.json();m(null),n({title:`Error`,description:t.message,variant:`destructive`})}}catch{m(null),n({title:`Connection Error`,description:`Could not connect to the backend server.`,variant:`destructive`})}}},[s,p,r,a,n]),j=(0,_.useCallback)(async()=>{if(s?.available_controls.rerecord_episode)try{let e=await a(`${r}/recording-rerecord-episode`,{method:`POST`}),t=await e.json();e.ok?(S(e=>e+1),n({title:`Re-recording Episode`,description:`Episode ${s.current_episode} will be re-recorded.`})):n({title:`Error`,description:t.message,variant:`destructive`})}catch{n({title:`Connection Error`,description:`Could not connect to the backend server.`,variant:`destructive`})}},[s,r,a,n]),M=(0,_.useCallback)(async()=>{if(s?.available_controls.stop_recording)try{await a(`${r}/stop-recording`,{method:`POST`}),n({title:`Stopping recording`,description:`Finalizing dataset…`})}catch{n({title:`Error`,description:`Failed to stop recording.`,variant:`destructive`})}},[s,r,a,n]),N=(0,_.useCallback)(()=>{s?.available_controls.stop_recording&&g(!0)},[s]),P=(0,_.useCallback)(async()=>{g(!1),await M()},[M]),F=(0,_.useRef)({handleExitEarly:A,handleRerecordEpisode:j,requestStopRecording:N,showStopConfirm:h});(0,_.useEffect)(()=>{F.current={handleExitEarly:A,handleRerecordEpisode:j,requestStopRecording:N,showStopConfirm:h}});let ee=l&&s!==null;if((0,_.useEffect)(()=>{if(!ee)return;let e=e=>{let t=e.target;if(!(t&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable))){if(e.key===` `||e.code===`Space`||e.key===`ArrowRight`)e.preventDefault(),F.current.handleExitEarly();else if(e.key===`ArrowLeft`)e.preventDefault(),F.current.handleRerecordEpisode();else if(e.key===`Escape`){if(F.current.showStopConfirm)return;F.current.requestStopRecording()}}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[ee]),!o)return(0,V.jsx)(`div`,{className:`min-h-screen bg-black text-white flex items-center justify-center`,children:(0,V.jsxs)(`div`,{className:`text-center`,children:[(0,V.jsx)(`p`,{className:`text-lg`,children:`No recording configuration found.`}),(0,V.jsx)(K,{onClick:()=>t(`/`),className:`mt-4`,children:`Return to Home`})]})});if(!s)return(0,V.jsx)(`div`,{className:`min-h-screen bg-black text-white flex items-center justify-center`,children:(0,V.jsxs)(`div`,{className:`text-center`,children:[(0,V.jsx)(`div`,{className:`animate-spin rounded-full h-12 w-12 border-b-2 border-red-500 mx-auto mb-4`}),(0,V.jsx)(`p`,{className:`text-lg`,children:`Connecting to recording session...`})]})});let te=s.current_phase,I=p??te,ne=s.current_episode??1,re=s.total_episodes??o.num_episodes,ie=p?0:s.phase_elapsed_seconds||0,ae=I===`recording`?o.episode_time_s:I===`resetting`?o.reset_time_s:s.phase_time_limit_s||0,oe=s.session_elapsed_seconds||0,se=()=>I===`recording`?`RECORDING EPISODE ${ne}`:I===`resetting`?`RESET — GET READY`:I===`preparing`?`PREPARING SESSION`:`SESSION COMPLETE`,ce=I===`recording`?{dot:`bg-red-500`,pill:`bg-red-500/15 text-red-300`,timer:`text-green-400`,bar:`bg-green-500`,button:`bg-green-500 hover:bg-green-600`}:I===`resetting`?{dot:`bg-orange-500`,pill:`bg-orange-500/15 text-orange-300`,timer:`text-orange-400`,bar:`bg-orange-500`,button:`bg-orange-500 hover:bg-orange-600`}:{dot:`bg-gray-500`,pill:`bg-gray-500/15 text-gray-300`,timer:`text-gray-400`,bar:`bg-gray-500`,button:`bg-gray-500`},le=I===`recording`?`End Episode`:I===`resetting`?`Start Next Episode`:`Advance`,ue=I===`recording`?io:Za;return(0,V.jsxs)(`div`,{className:`min-h-screen bg-black text-white p-8`,children:[(0,V.jsxs)(`div`,{className:`max-w-2xl mx-auto`,children:[(0,V.jsx)(`div`,{className:`mb-8`,children:(0,V.jsxs)(K,{onClick:()=>t(`/`),variant:`outline`,className:`border-gray-500 hover:border-gray-200 text-gray-300 hover:text-white`,children:[(0,V.jsx)(wa,{className:`w-4 h-4 mr-2`}),`Back to Home`]})}),(0,V.jsxs)(`div`,{className:`bg-gray-900 rounded-lg border border-gray-700 p-8`,children:[(0,V.jsxs)(`div`,{className:`flex justify-end items-center gap-4 mb-6 text-sm text-gray-400`,children:[(0,V.jsxs)(`span`,{"aria-label":`Episode ${ne} of ${re}`,children:[`Episode `,(0,V.jsx)(`span`,{className:`text-white font-semibold`,children:ne}),` / `,re]}),(0,V.jsx)(`span`,{className:`font-mono`,"aria-label":`Total session time ${O(oe)}`,children:O(oe)}),(0,V.jsx)(K,{variant:`ghost`,size:`icon`,onClick:T,"aria-label":v?`Unmute`:`Mute`,className:`h-8 w-8 text-gray-400 hover:text-white hover:bg-gray-800`,children:v?(0,V.jsx)(mo,{className:`w-5 h-5`}):(0,V.jsx)(po,{className:`w-5 h-5`})}),(0,V.jsxs)(OF,{children:[(0,V.jsx)(kF,{asChild:!0,children:(0,V.jsx)(K,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-gray-400 hover:text-white hover:bg-gray-800`,"aria-label":`More actions`,children:(0,V.jsx)(Ha,{className:`w-5 h-5`})})}),(0,V.jsxs)(MF,{align:`end`,onCloseAutoFocus:e=>e.preventDefault(),className:`bg-gray-900 border-gray-700 text-white`,children:[(0,V.jsxs)(NF,{onClick:j,disabled:!s.available_controls.rerecord_episode,className:`focus:bg-gray-800 focus:text-white`,children:[(0,V.jsx)(eo,{className:`w-4 h-4 mr-2`}),`Re-record episode`]}),(0,V.jsxs)(NF,{onClick:N,disabled:!s.available_controls.stop_recording,className:`text-red-400 focus:bg-gray-800 focus:text-red-300`,children:[(0,V.jsx)(oo,{className:`w-4 h-4 mr-2`}),`Stop recording`]})]})]})]}),(0,V.jsx)(`div`,{className:`text-center mb-6`,children:(0,V.jsxs)(`div`,{role:`status`,"aria-live":`polite`,className:`inline-flex items-center gap-2 px-3 py-1 rounded-full text-xs font-bold tracking-widest ${ce.pill}`,children:[(0,V.jsx)(`span`,{className:`w-2 h-2 rounded-full ${ce.dot} ${I===`completed`?``:`animate-pulse`}`}),se()]})}),(0,V.jsxs)(`div`,{className:`text-center mb-4`,children:[(0,V.jsx)(`div`,{className:`text-7xl font-mono font-bold leading-none ${ce.timer}`,children:O(ie)}),(0,V.jsxs)(`div`,{className:`text-sm text-gray-500 mt-2`,children:[`/ `,O(ae)]})]}),(0,V.jsx)(`div`,{className:`w-full bg-gray-800 rounded-full h-1.5 mb-8`,children:(0,V.jsx)(`div`,{className:`h-1.5 rounded-full transition-all duration-500 ${ce.bar}`,style:{width:`${Math.min(ie/ae*100,100)}%`}})}),(0,V.jsxs)(K,{onClick:A,disabled:!s.available_controls.exit_early||p!==null||I===`completed`,className:`w-full text-white font-semibold py-6 text-lg disabled:opacity-50 ${ce.button}`,children:[(0,V.jsx)(ue,{className:`w-5 h-5 mr-2`}),le,I!==`completed`&&(0,V.jsx)(`span`,{className:`ml-3 px-2 py-0.5 rounded text-xs font-mono bg-black/30 text-white/70`,children:`SPACE / →`})]}),I===`completed`&&(0,V.jsx)(`p`,{className:`text-center text-sm text-gray-400 mt-6`,children:`Recording complete — redirecting to upload…`})]})]}),(0,V.jsx)(OI,{open:h,onOpenChange:g,children:(0,V.jsxs)(jI,{className:`bg-gray-900 border-gray-700 text-white`,children:[(0,V.jsxs)(MI,{children:[(0,V.jsx)(PI,{children:`Stop recording?`}),(0,V.jsx)(FI,{className:`text-gray-400`,children:`Saved episodes are kept. The session will end and you'll be taken to the upload page.`})]}),(0,V.jsxs)(NI,{children:[(0,V.jsx)(LI,{className:`bg-gray-800 border-gray-700 text-white hover:bg-gray-700`,children:`Keep recording`}),(0,V.jsx)(II,{onClick:P,className:`bg-red-500 hover:bg-red-600 text-white`,children:`Stop`})]})]})}),(0,V.jsx)(OI,{open:d!==null,children:(0,V.jsxs)(jI,{className:`bg-gray-900 border-gray-700 text-white max-w-lg`,children:[(0,V.jsxs)(MI,{children:[(0,V.jsxs)(PI,{className:`text-red-500 flex items-center gap-2`,children:[(0,V.jsx)(`span`,{className:`w-2.5 h-2.5 rounded-full bg-red-500 animate-ping`}),`Recording Session Failed`]}),(0,V.jsxs)(FI,{className:`text-gray-300 space-y-4 mt-2`,children:[(0,V.jsx)(`p`,{children:`The recording session encountered an error and had to stop.`}),(0,V.jsx)(`div`,{className:`bg-black/50 p-4 rounded border border-red-900/50 font-mono text-xs text-red-400 max-h-40 overflow-y-auto break-all whitespace-pre-wrap`,children:d?.error}),d?.hint&&(0,V.jsxs)(`div`,{className:`bg-blue-950/40 p-4 rounded border border-blue-800/40 text-sm text-slate-200`,children:[(0,V.jsx)(`strong`,{className:`text-blue-400 block mb-1`,children:`Hardware Hint:`}),d.hint]})]})]}),(0,V.jsx)(NI,{children:(0,V.jsx)(II,{onClick:()=>t(`/`),className:`bg-red-600 hover:bg-red-700 text-white`,children:`Return to Home`})})]})})]})},zI=()=>{let e=Re();return(0,V.jsx)(`div`,{className:`flex items-center justify-between mb-8`,children:(0,V.jsxs)(`div`,{className:`flex items-center gap-4 text-3xl`,children:[(0,V.jsx)(K,{variant:`ghost`,size:`icon`,onClick:()=>e(`/`),className:`text-slate-400 hover:bg-slate-800 hover:text-white rounded-lg`,children:(0,V.jsx)(wa,{className:`w-5 h-5`})}),(0,V.jsx)(Lj,{}),(0,V.jsx)(`h1`,{className:`font-bold text-white text-2xl`,children:`Training`})]})})},BI=/^[\w.\-]+\/[\w.\-]+$/,VI=({datasets:e,loading:t,value:n,onChange:r})=>{let[i,a]=_.useState(!1),[o,s]=_.useState(!1),[c,l]=_.useState(``),u=()=>{let e=c.trim();BI.test(e)&&(r(e),s(!1))},d=e.filter(e=>e.source===`local`||e.source===`both`),f=e.filter(e=>e.source===`hub`),p=e=>(0,V.jsxs)(kh,{value:e.repo_id,onSelect:()=>{r(e.repo_id),a(!1)},className:`text-white aria-selected:bg-gray-700`,children:[(0,V.jsx)(Da,{className:G(`mr-2 h-4 w-4`,n===e.repo_id?`opacity-100`:`opacity-0`)}),(0,V.jsx)(`span`,{className:`flex-1 truncate`,children:e.repo_id}),e.source===`both`&&(0,V.jsx)(`span`,{className:`text-xs text-gray-400 mr-2`,children:`on Hub`}),e.private&&(0,V.jsx)(`span`,{className:`text-xs text-amber-400`,children:`private`})]},e.repo_id);return o?(0,V.jsxs)(`div`,{className:`flex gap-2`,children:[(0,V.jsx)(Fh,{autoFocus:!0,value:c,onChange:e=>l(e.target.value),onKeyDown:e=>{e.key===`Enter`&&u()},placeholder:`org/dataset-name`,className:`bg-gray-800 border-gray-600 text-white`}),(0,V.jsx)(K,{onClick:u,disabled:!BI.test(c.trim()),children:`Use`}),(0,V.jsx)(K,{variant:`ghost`,onClick:()=>s(!1),children:`Cancel`})]}):(0,V.jsxs)(Tm,{open:i,onOpenChange:a,children:[(0,V.jsx)(Em,{asChild:!0,children:(0,V.jsxs)(K,{variant:`outline`,role:`combobox`,"aria-expanded":i,className:`w-full justify-between bg-gray-800 border-gray-600 text-white hover:bg-gray-700`,children:[n??(t?`Loading datasets…`:`Select a dataset…`),(0,V.jsx)(ja,{className:`ml-2 h-4 w-4 shrink-0 opacity-50`})]})}),(0,V.jsx)(Dm,{className:`w-[--radix-popover-trigger-width] p-0 bg-gray-800 border-gray-700`,align:`start`,children:(0,V.jsxs)(Ch,{className:`bg-gray-800 text-white`,children:[(0,V.jsx)(wh,{placeholder:`Search datasets…`,className:`text-white`}),(0,V.jsxs)(Th,{children:[(0,V.jsx)(Eh,{children:t?`Loading…`:`No datasets.`}),d.length>0&&(0,V.jsx)(Dh,{heading:`Local`,children:d.map(p)}),f.length>0&&(0,V.jsx)(Dh,{heading:`Hugging Face`,children:f.map(p)}),(0,V.jsx)(Dh,{children:(0,V.jsxs)(kh,{onSelect:()=>{s(!0),a(!1)},className:`text-purple-300 aria-selected:bg-gray-700`,children:[(0,V.jsx)(Xa,{className:`mr-2 h-4 w-4`}),`Use custom repo ID…`]})})]})]})})]})},Mte=1500;function HI(e,t=!0){let{baseUrl:n,fetchWithHeaders:r}=zs(),[i,a]=(0,_.useState)(`idle`),[o,s]=(0,_.useState)(null),[c,l]=(0,_.useState)([]),u=(0,_.useRef)(null);return(0,_.useEffect)(()=>{if(!t)return;let i=!1;return r(`${n}/${e}/install-status`).then(e=>e.json()).then(e=>{i||(a(e.state),s(e.error),e.logs.length>0&&l(e.logs))}).catch(()=>{}),()=>{i=!0}},[t,n,r,e]),(0,_.useEffect)(()=>{if(i!==`installing`)return;let t=setInterval(async()=>{try{let t=await r(`${n}/${e}/install-status`);if(!t.ok)return;let i=await t.json();i.logs&&i.logs.length>0&&l(e=>[...e,...i.logs]),i.state!==`installing`&&(a(i.state),s(i.error))}catch{}},Mte);return()=>clearInterval(t)},[i,n,r,e]),(0,_.useEffect)(()=>{u.current&&(u.current.scrollTop=u.current.scrollHeight)},[c]),{state:i,error:o,logs:c,logBoxRef:u,handleInstall:(0,_.useCallback)(async()=>{a(`installing`),s(null),l([]);try{let t=await r(`${n}/${e}/install`,{method:`POST`}),i=await t.json();if(!i.started&&t.ok)return;t.ok||(a(`error`),s(i.message||`Install request failed (${t.status})`))}catch(e){a(`error`),s(`Install request failed: ${e instanceof Error?e.message:String(e)}`)}},[n,r,e]),handleRetry:(0,_.useCallback)(()=>{a(`idle`),s(null),l([])},[])}}function UI(e,t){switch(e){case`done`:return`Install Complete`;case`error`:return`Install Failed`;case`installing`:return`Installing…`;default:return t}}function WI({state:e}){return e===`done`?(0,V.jsx)(Pa,{className:`w-6 h-6 text-green-400`}):e===`error`?(0,V.jsx)(Ia,{className:`w-6 h-6 text-red-400`}):e===`installing`?(0,V.jsx)(Ja,{className:`w-6 h-6 text-sky-400 animate-spin`}):(0,V.jsx)(lo,{className:`w-6 h-6 text-amber-400`})}var GI=({state:e,error:t,logs:n,logBoxRef:r,onInstall:i,onRetry:a,installHint:o,packageName:s,idleDescription:c,doneDescription:l})=>{let{toast:u}=yr();return(0,V.jsxs)(V.Fragment,{children:[e===`idle`&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`p`,{className:`text-slate-300`,children:c}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`code`,{className:`flex-1 bg-slate-900 border border-slate-700 rounded-lg px-3 py-2 text-sm text-slate-200 font-mono`,children:o}),(0,V.jsx)(K,{variant:`ghost`,size:`icon`,onClick:async()=>{try{await navigator.clipboard.writeText(o),u({title:`Copied`,description:o})}catch{u({title:`Copy failed`,description:`Select the command and copy manually.`,variant:`destructive`})}},className:`text-slate-400 hover:text-white`,"aria-label":`Copy install command`,children:(0,V.jsx)(za,{className:`w-4 h-4`})})]}),(0,V.jsx)(K,{onClick:i,className:`bg-green-500 hover:bg-green-600 text-white font-semibold`,children:`Install Now`})]}),e===`installing`&&(0,V.jsxs)(`p`,{className:`text-slate-300`,children:[`Installing`,` `,(0,V.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-slate-900 text-sky-300`,children:s}),`. This usually takes about 10 seconds.`]}),e===`done`&&(0,V.jsx)(`div`,{className:`space-y-3 text-slate-300`,children:l}),e===`error`&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`p`,{className:`text-red-300`,children:t||`Install failed.`}),(0,V.jsx)(K,{onClick:a,className:`bg-slate-700 hover:bg-slate-600 text-white`,children:`Try again`})]}),e===`error`&&n.length>0&&(0,V.jsx)(`div`,{ref:r,className:`bg-slate-900 rounded-lg p-3 h-48 overflow-y-auto font-mono text-xs border border-slate-700 text-slate-300 whitespace-pre-wrap break-words`,children:n.map((e,t)=>(0,V.jsx)(`div`,{children:e.message},t))})]})},KI=({purpose:e})=>(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`p`,{children:[`Install complete. Restart`,` `,(0,V.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-slate-900 text-sky-300`,children:`lelab`}),` `,`to enable `,e,`:`]}),(0,V.jsxs)(`ol`,{className:`list-decimal list-inside space-y-2 pl-1`,children:[(0,V.jsxs)(`li`,{children:[`Press`,` `,(0,V.jsx)(`kbd`,{className:`px-1.5 py-0.5 rounded bg-slate-900 border border-slate-600 text-xs font-mono text-slate-200`,children:`Ctrl+C`}),` `,`in the terminal running`,` `,(0,V.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-slate-900 text-sky-300`,children:`lelab`}),`.`]}),(0,V.jsxs)(`li`,{children:[`Run`,` `,(0,V.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-slate-900 text-sky-300`,children:`lelab`}),` `,`again.`]})]})]}),Nte=({open:e,onOpenChange:t,installHint:n})=>{let r=HI(`system/wandb-extra`,e);return(0,V.jsx)(Su,{open:e,onOpenChange:t,children:(0,V.jsxs)(Tu,{className:`bg-slate-800 border-slate-700 text-white max-w-2xl`,children:[(0,V.jsxs)(Eu,{children:[(0,V.jsxs)(Ou,{className:`flex items-center gap-3 text-white`,children:[(0,V.jsx)(WI,{state:r.state}),UI(r.state,`Weights & Biases Not Installed`)]}),(0,V.jsx)(ku,{className:`sr-only`,children:`Install the wandb package to enable W&B logging.`})]}),(0,V.jsx)(`div`,{className:`space-y-4`,children:(0,V.jsx)(GI,{state:r.state,error:r.error,logs:r.logs,logBoxRef:r.logBoxRef,onInstall:r.handleInstall,onRetry:r.handleRetry,installHint:n,packageName:`wandb`,idleTitle:`Weights & Biases Not Installed`,idleDescription:(0,V.jsxs)(V.Fragment,{children:[`Enabling W&B logging requires the`,` `,(0,V.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-slate-900 text-sky-300`,children:`wandb`}),` `,`package, which isn't installed in this environment. Install it to log this run to W&B.`]}),doneDescription:(0,V.jsx)(KI,{purpose:`W&B logging`})})})]})})},Pte=({config:e,updateConfig:t,datasets:n,datasetsLoading:r})=>{let{baseUrl:i,fetchWithHeaders:a}=zs(),[o,s]=(0,_.useState)(!1),[c,l]=(0,_.useState)(`pip install wandb`);return(0,V.jsxs)(Ov,{className:`bg-slate-800/50 border-slate-700 rounded-xl`,children:[(0,V.jsx)(kv,{children:(0,V.jsx)(Av,{className:`text-white`,children:`Run Configuration`})}),(0,V.jsxs)(jv,{className:`space-y-6`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Hh,{className:`text-slate-300`,children:`Dataset Repository ID *`}),(0,V.jsx)(`div`,{className:`mt-1`,children:(0,V.jsx)(VI,{datasets:n,loading:r,value:e.dataset_repo_id||null,onChange:e=>{e&&t(`dataset_repo_id`,e)}})}),(0,V.jsx)(`p`,{className:`text-xs text-slate-500 mt-1`,children:`HuggingFace Hub dataset repository ID`})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-4`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Hh,{htmlFor:`policy_type`,className:`text-slate-300`,children:`Policy`}),(0,V.jsxs)(av,{value:e.policy_type,onValueChange:e=>t(`policy_type`,e),children:[(0,V.jsx)(sv,{id:`policy_type`,className:`bg-slate-900 border-slate-600 text-white rounded-lg`,children:(0,V.jsx)(ov,{})}),(0,V.jsxs)(uv,{className:`bg-slate-800 border-slate-600 text-white`,children:[(0,V.jsx)(fv,{value:`act`,children:`ACT (Action Chunking Transformer)`}),(0,V.jsx)(fv,{value:`diffusion`,children:`Diffusion Policy`}),(0,V.jsx)(fv,{value:`pi0`,children:`PI0`}),(0,V.jsx)(fv,{value:`smolvla`,children:`SmolVLA`}),(0,V.jsx)(fv,{value:`tdmpc`,children:`TD-MPC`}),(0,V.jsx)(fv,{value:`vqbet`,children:`VQ-BeT`}),(0,V.jsx)(fv,{value:`pi0_fast`,children:`PI0 Fast`}),(0,V.jsx)(fv,{value:`sac`,children:`SAC`}),(0,V.jsx)(fv,{value:`reward_classifier`,children:`Reward Classifier`})]})]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Hh,{htmlFor:`steps`,className:`text-slate-300`,children:`Training Steps`}),(0,V.jsx)(Ih,{id:`steps`,value:e.steps,onChange:e=>{e!==void 0&&t(`steps`,e)},className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Hh,{htmlFor:`batch_size`,className:`text-slate-300`,children:`Batch Size`}),(0,V.jsx)(Ih,{id:`batch_size`,value:e.batch_size,onChange:e=>{e!==void 0&&t(`batch_size`,e)},className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]}),(0,V.jsxs)(`div`,{className:`flex items-center space-x-3 pt-6`,children:[(0,V.jsx)(Zj,{id:`wandb_enable`,checked:e.wandb_enable,onCheckedChange:async e=>{if(!e){t(`wandb_enable`,!1);return}try{let e=await(await a(`${i}/system/wandb-extra`)).json();e.available?t(`wandb_enable`,!0):(l(e.install_hint),s(!0))}catch{t(`wandb_enable`,!0)}},className:`data-[state=checked]:bg-green-500`}),(0,V.jsx)(Hh,{htmlFor:`wandb_enable`,className:`text-slate-300`,children:`Enable Weights & Biases`})]})]}),(0,V.jsx)(Nte,{open:o,onOpenChange:s,installHint:c}),e.wandb_enable&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Hh,{htmlFor:`wandb_project`,className:`text-slate-300`,children:`W&B Project Name`}),(0,V.jsx)(Fh,{id:`wandb_project`,value:e.wandb_project||``,onChange:e=>t(`wandb_project`,e.target.value||void 0),placeholder:`my-robotics-project`,className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]})]})]})},qI=({children:e})=>(0,V.jsx)(`h4`,{className:`text-xs font-semibold text-slate-400 uppercase tracking-wider`,children:e}),Fte=({config:e,updateConfig:t})=>{let[n,r]=(0,_.useState)(!1);return(0,V.jsxs)(Ov,{className:`bg-slate-800/50 border-slate-700 rounded-xl`,children:[(0,V.jsxs)(kv,{role:`button`,tabIndex:0,"aria-expanded":n,onClick:()=>r(e=>!e),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),r(e=>!e))},className:`cursor-pointer select-none flex flex-row items-center justify-between`,children:[(0,V.jsx)(`span`,{className:`text-white font-semibold`,children:`Advanced`}),(0,V.jsxs)(`span`,{className:`flex items-center gap-1 text-slate-400 text-sm`,children:[n?(0,V.jsx)(Oa,{className:`w-4 h-4`}):(0,V.jsx)(ka,{className:`w-4 h-4`}),n?`Hide`:`Show`]})]}),n&&(0,V.jsxs)(jv,{className:`space-y-8`,children:[(0,V.jsxs)(`section`,{className:`space-y-4`,children:[(0,V.jsx)(qI,{children:`Policy`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-4`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Hh,{htmlFor:`policy_device`,className:`text-slate-300`,children:`Device`}),(0,V.jsxs)(av,{value:e.policy_device||`cuda`,onValueChange:e=>t(`policy_device`,e),children:[(0,V.jsx)(sv,{id:`policy_device`,className:`bg-slate-900 border-slate-600 text-white rounded-lg`,children:(0,V.jsx)(ov,{})}),(0,V.jsxs)(uv,{className:`bg-slate-800 border-slate-600 text-white`,children:[(0,V.jsx)(fv,{value:`cuda`,children:`CUDA (GPU)`}),(0,V.jsx)(fv,{value:`cpu`,children:`CPU`}),(0,V.jsx)(fv,{value:`mps`,children:`MPS (Apple Silicon)`})]})]})]}),(0,V.jsxs)(`div`,{className:`flex items-center space-x-3 pt-6`,children:[(0,V.jsx)(Zj,{id:`policy_use_amp`,checked:e.policy_use_amp,onCheckedChange:e=>t(`policy_use_amp`,e)}),(0,V.jsx)(Hh,{htmlFor:`policy_use_amp`,className:`text-slate-300`,children:`Use Automatic Mixed Precision`})]})]})]}),(0,V.jsx)(dM,{className:`bg-slate-700`}),(0,V.jsxs)(`section`,{className:`space-y-4`,children:[(0,V.jsx)(qI,{children:`Training`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-4`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Hh,{htmlFor:`seed`,className:`text-slate-300`,children:`Random Seed`}),(0,V.jsx)(Ih,{id:`seed`,value:e.seed,onChange:e=>t(`seed`,e),className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Hh,{htmlFor:`num_workers`,className:`text-slate-300`,children:`Number of Workers`}),(0,V.jsx)(Ih,{id:`num_workers`,value:e.num_workers,onChange:e=>{e!==void 0&&t(`num_workers`,e)},className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]})]})]}),(0,V.jsx)(dM,{className:`bg-slate-700`}),(0,V.jsxs)(`section`,{className:`space-y-4`,children:[(0,V.jsx)(qI,{children:`Optimizer`}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Hh,{htmlFor:`optimizer_type`,className:`text-slate-300`,children:`Optimizer`}),(0,V.jsxs)(av,{value:e.optimizer_type||`adam`,onValueChange:e=>t(`optimizer_type`,e),children:[(0,V.jsx)(sv,{id:`optimizer_type`,className:`bg-slate-900 border-slate-600 text-white rounded-lg`,children:(0,V.jsx)(ov,{})}),(0,V.jsxs)(uv,{className:`bg-slate-800 border-slate-600 text-white`,children:[(0,V.jsx)(fv,{value:`adam`,children:`Adam`}),(0,V.jsx)(fv,{value:`adamw`,children:`AdamW`}),(0,V.jsx)(fv,{value:`sgd`,children:`SGD`}),(0,V.jsx)(fv,{value:`multi_adam`,children:`Multi Adam`})]})]})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-3 gap-4`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Hh,{htmlFor:`optimizer_lr`,className:`text-slate-300`,children:`Learning Rate`}),(0,V.jsx)(Ih,{id:`optimizer_lr`,integer:!1,step:`0.0001`,value:e.optimizer_lr,onChange:e=>t(`optimizer_lr`,e),placeholder:`Use policy default`,className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Hh,{htmlFor:`optimizer_weight_decay`,className:`text-slate-300`,children:`Weight Decay`}),(0,V.jsx)(Ih,{id:`optimizer_weight_decay`,integer:!1,step:`0.0001`,value:e.optimizer_weight_decay,onChange:e=>t(`optimizer_weight_decay`,e),placeholder:`Use policy default`,className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Hh,{htmlFor:`optimizer_grad_clip_norm`,className:`text-slate-300`,children:`Gradient Clipping`}),(0,V.jsx)(Ih,{id:`optimizer_grad_clip_norm`,integer:!1,step:`0.0001`,value:e.optimizer_grad_clip_norm,onChange:e=>t(`optimizer_grad_clip_norm`,e),placeholder:`Use policy default`,className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]})]})]}),(0,V.jsx)(dM,{className:`bg-slate-700`}),(0,V.jsxs)(`section`,{className:`space-y-4`,children:[(0,V.jsx)(qI,{children:`Logging & Checkpointing`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-4`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Hh,{htmlFor:`log_freq`,className:`text-slate-300`,children:`Log Frequency`}),(0,V.jsx)(Ih,{id:`log_freq`,value:e.log_freq,onChange:e=>{e!==void 0&&t(`log_freq`,e)},className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Hh,{htmlFor:`save_freq`,className:`text-slate-300`,children:`Save Frequency`}),(0,V.jsx)(Ih,{id:`save_freq`,value:e.save_freq,onChange:e=>{e!==void 0&&t(`save_freq`,e)},className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]})]}),(0,V.jsxs)(`div`,{className:`flex items-center space-x-3`,children:[(0,V.jsx)(Zj,{id:`save_checkpoint`,checked:e.save_checkpoint,onCheckedChange:e=>t(`save_checkpoint`,e)}),(0,V.jsx)(Hh,{htmlFor:`save_checkpoint`,className:`text-slate-300`,children:`Save Checkpoints`})]}),(0,V.jsxs)(`div`,{className:`flex items-center space-x-3`,children:[(0,V.jsx)(Zj,{id:`resume`,checked:e.resume,onCheckedChange:e=>t(`resume`,e)}),(0,V.jsx)(Hh,{htmlFor:`resume`,className:`text-slate-300`,children:`Resume from Checkpoint`})]})]}),e.wandb_enable&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(dM,{className:`bg-slate-700`}),(0,V.jsxs)(`section`,{className:`space-y-4`,children:[(0,V.jsx)(qI,{children:`Weights & Biases`}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Hh,{htmlFor:`wandb_entity`,className:`text-slate-300`,children:`W&B Entity (optional)`}),(0,V.jsx)(Fh,{id:`wandb_entity`,value:e.wandb_entity||``,onChange:e=>t(`wandb_entity`,e.target.value||void 0),placeholder:`your-username`,className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Hh,{htmlFor:`wandb_notes`,className:`text-slate-300`,children:`W&B Notes (optional)`}),(0,V.jsx)(Fh,{id:`wandb_notes`,value:e.wandb_notes||``,onChange:e=>t(`wandb_notes`,e.target.value||void 0),placeholder:`Training run notes...`,className:`bg-slate-900 border-slate-600 text-white rounded-lg`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Hh,{htmlFor:`wandb_mode`,className:`text-slate-300`,children:`W&B Mode`}),(0,V.jsxs)(av,{value:e.wandb_mode||`online`,onValueChange:e=>t(`wandb_mode`,e),children:[(0,V.jsx)(sv,{id:`wandb_mode`,className:`bg-slate-900 border-slate-600 text-white rounded-lg`,children:(0,V.jsx)(ov,{})}),(0,V.jsxs)(uv,{className:`bg-slate-800 border-slate-600 text-white`,children:[(0,V.jsx)(fv,{value:`online`,children:`Online`}),(0,V.jsx)(fv,{value:`offline`,children:`Offline`}),(0,V.jsx)(fv,{value:`disabled`,children:`Disabled`})]})]})]}),(0,V.jsxs)(`div`,{className:`flex items-center space-x-3`,children:[(0,V.jsx)(Zj,{id:`wandb_disable_artifact`,checked:e.wandb_disable_artifact,onCheckedChange:e=>t(`wandb_disable_artifact`,e)}),(0,V.jsx)(Hh,{htmlFor:`wandb_disable_artifact`,className:`text-slate-300`,children:`Disable Artifacts`})]})]})]}),!e.wandb_enable&&(0,V.jsx)(dM,{className:`bg-slate-700`}),(0,V.jsxs)(`section`,{className:`space-y-4`,children:[(0,V.jsx)(qI,{children:`Misc`}),(0,V.jsxs)(`div`,{className:`flex items-center space-x-3`,children:[(0,V.jsx)(Zj,{id:`use_policy_training_preset`,checked:e.use_policy_training_preset,onCheckedChange:e=>t(`use_policy_training_preset`,e)}),(0,V.jsx)(Hh,{htmlFor:`use_policy_training_preset`,className:`text-slate-300`,children:`Use Policy Training Preset`})]})]})]})]})},Ite=(e,t)=>`$${(t===`minute`?e*60:e).toFixed(2)}/hr`,Lte=e=>{let t=e.accelerator?e.accelerator:e.cpu;return`${e.pretty_name} · ${t} · ${Ite(e.unit_cost_usd,e.unit_label)}`},Rte=({config:e,updateConfig:t,authenticated:n,flavors:r,loading:i})=>{let a=e.target,o=a.runner===`local`?`local`:`hf:${a.flavor??``}`;return(0,V.jsxs)(Ov,{className:`bg-slate-800/50 border-slate-700 rounded-xl`,children:[(0,V.jsx)(kv,{children:(0,V.jsx)(Av,{className:`text-white`,children:`Compute target`})}),(0,V.jsx)(jv,{className:`space-y-3`,children:(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Hh,{className:`text-slate-300`,children:`Run training on`}),(0,V.jsxs)(av,{value:o,onValueChange:e=>{e===`local`?t(`target`,{runner:`local`}):e.startsWith(`hf:`)&&t(`target`,{runner:`hf_cloud`,flavor:e.slice(3)})},children:[(0,V.jsx)(sv,{className:`bg-slate-900 border-slate-600 text-white rounded-lg mt-1`,children:(0,V.jsx)(ov,{placeholder:i?`Loading…`:`Select target`})}),(0,V.jsxs)(uv,{className:`bg-slate-800 border-slate-600 text-white`,children:[(0,V.jsx)(fv,{value:`local`,children:`Local — your machine (free)`}),r.map(e=>(0,V.jsxs)(fv,{value:`hf:${e.name}`,disabled:!n,children:[Lte(e),!n&&(0,V.jsx)(`span`,{className:`text-amber-300 ml-2 text-xs`,children:`log in to HF`})]},e.name))]})]}),(0,V.jsx)(`p`,{className:`text-xs text-slate-500 mt-1`,children:`Cost shown is per running hour. Final policy uploads to your HF account when training completes.`})]})})]})},zte=({config:e,updateConfig:t,datasets:n,datasetsLoading:r,authenticated:i,flavors:a,hardwareLoading:o})=>(0,V.jsxs)(`div`,{className:`max-w-3xl mx-auto space-y-6`,children:[(0,V.jsx)(Rte,{config:e,updateConfig:t,authenticated:i,flavors:a,loading:o}),(0,V.jsx)(Pte,{config:e,updateConfig:t,datasets:n,datasetsLoading:r}),(0,V.jsx)(Fte,{config:e,updateConfig:t})]}),JI=o(((e,t)=>{t.exports=Array.isArray})),YI=o(((e,t)=>{t.exports=typeof global==`object`&&global&&global.Object===Object&&global})),XI=o(((e,t)=>{var n=YI(),r=typeof self==`object`&&self&&self.Object===Object&&self;t.exports=n||r||Function(`return this`)()})),ZI=o(((e,t)=>{t.exports=XI().Symbol})),Bte=o(((e,t)=>{var n=ZI(),r=Object.prototype,i=r.hasOwnProperty,a=r.toString,o=n?n.toStringTag:void 0;function s(e){var t=i.call(e,o),n=e[o];try{e[o]=void 0;var r=!0}catch{}var s=a.call(e);return r&&(t?e[o]=n:delete e[o]),s}t.exports=s})),Vte=o(((e,t)=>{var n=Object.prototype.toString;function r(e){return n.call(e)}t.exports=r})),QI=o(((e,t)=>{var n=ZI(),r=Bte(),i=Vte(),a=`[object Null]`,o=`[object Undefined]`,s=n?n.toStringTag:void 0;function c(e){return e==null?e===void 0?o:a:s&&s in Object(e)?r(e):i(e)}t.exports=c})),$I=o(((e,t)=>{function n(e){return typeof e==`object`&&!!e}t.exports=n})),eL=o(((e,t)=>{var n=QI(),r=$I(),i=`[object Symbol]`;function a(e){return typeof e==`symbol`||r(e)&&n(e)==i}t.exports=a})),tL=o(((e,t)=>{var n=JI(),r=eL(),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;function o(e,t){if(n(e))return!1;var o=typeof e;return o==`number`||o==`symbol`||o==`boolean`||e==null||r(e)?!0:a.test(e)||!i.test(e)||t!=null&&e in Object(t)}t.exports=o})),nL=o(((e,t)=>{function n(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}t.exports=n})),rL=o(((e,t)=>{var n=QI(),r=nL(),i=`[object AsyncFunction]`,a=`[object Function]`,o=`[object GeneratorFunction]`,s=`[object Proxy]`;function c(e){if(!r(e))return!1;var t=n(e);return t==a||t==o||t==i||t==s}t.exports=c})),Hte=o(((e,t)=>{t.exports=XI()[`__core-js_shared__`]})),Ute=o(((e,t)=>{var n=Hte(),r=function(){var e=/[^.]+$/.exec(n&&n.keys&&n.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}();function i(e){return!!r&&r in e}t.exports=i})),iL=o(((e,t)=>{var n=Function.prototype.toString;function r(e){if(e!=null){try{return n.call(e)}catch{}try{return e+``}catch{}}return``}t.exports=r})),Wte=o(((e,t)=>{var n=rL(),r=Ute(),i=nL(),a=iL(),o=/[\\^$.*+?()[\]{}|]/g,s=/^\[object .+?Constructor\]$/,c=Function.prototype,l=Object.prototype,u=c.toString,d=l.hasOwnProperty,f=RegExp(`^`+u.call(d).replace(o,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`);function p(e){return!i(e)||r(e)?!1:(n(e)?f:s).test(a(e))}t.exports=p})),Gte=o(((e,t)=>{function n(e,t){return e?.[t]}t.exports=n})),aL=o(((e,t)=>{var n=Wte(),r=Gte();function i(e,t){var i=r(e,t);return n(i)?i:void 0}t.exports=i})),oL=o(((e,t)=>{t.exports=aL()(Object,`create`)})),Kte=o(((e,t)=>{var n=oL();function r(){this.__data__=n?n(null):{},this.size=0}t.exports=r})),qte=o(((e,t)=>{function n(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=+!!t,t}t.exports=n})),Jte=o(((e,t)=>{var n=oL(),r=`__lodash_hash_undefined__`,i=Object.prototype.hasOwnProperty;function a(e){var t=this.__data__;if(n){var a=t[e];return a===r?void 0:a}return i.call(t,e)?t[e]:void 0}t.exports=a})),Yte=o(((e,t)=>{var n=oL(),r=Object.prototype.hasOwnProperty;function i(e){var t=this.__data__;return n?t[e]!==void 0:r.call(t,e)}t.exports=i})),Xte=o(((e,t)=>{var n=oL(),r=`__lodash_hash_undefined__`;function i(e,t){var i=this.__data__;return this.size+=+!this.has(e),i[e]=n&&t===void 0?r:t,this}t.exports=i})),Zte=o(((e,t)=>{var n=Kte(),r=qte(),i=Jte(),a=Yte(),o=Xte();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t{function n(){this.__data__=[],this.size=0}t.exports=n})),sL=o(((e,t)=>{function n(e,t){return e===t||e!==e&&t!==t}t.exports=n})),cL=o(((e,t)=>{var n=sL();function r(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}t.exports=r})),$te=o(((e,t)=>{var n=cL(),r=Array.prototype.splice;function i(e){var t=this.__data__,i=n(t,e);return i<0?!1:(i==t.length-1?t.pop():r.call(t,i,1),--this.size,!0)}t.exports=i})),ene=o(((e,t)=>{var n=cL();function r(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}t.exports=r})),tne=o(((e,t)=>{var n=cL();function r(e){return n(this.__data__,e)>-1}t.exports=r})),nne=o(((e,t)=>{var n=cL();function r(e,t){var r=this.__data__,i=n(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}t.exports=r})),lL=o(((e,t)=>{var n=Qte(),r=$te(),i=ene(),a=tne(),o=nne();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t{t.exports=aL()(XI(),`Map`)})),rne=o(((e,t)=>{var n=Zte(),r=lL(),i=uL();function a(){this.size=0,this.__data__={hash:new n,map:new(i||r),string:new n}}t.exports=a})),ine=o(((e,t)=>{function n(e){var t=typeof e;return t==`string`||t==`number`||t==`symbol`||t==`boolean`?e!==`__proto__`:e===null}t.exports=n})),dL=o(((e,t)=>{var n=ine();function r(e,t){var r=e.__data__;return n(t)?r[typeof t==`string`?`string`:`hash`]:r.map}t.exports=r})),ane=o(((e,t)=>{var n=dL();function r(e){var t=n(this,e).delete(e);return this.size-=+!!t,t}t.exports=r})),one=o(((e,t)=>{var n=dL();function r(e){return n(this,e).get(e)}t.exports=r})),sne=o(((e,t)=>{var n=dL();function r(e){return n(this,e).has(e)}t.exports=r})),cne=o(((e,t)=>{var n=dL();function r(e,t){var r=n(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}t.exports=r})),fL=o(((e,t)=>{var n=rne(),r=ane(),i=one(),a=sne(),o=cne();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t{var n=fL(),r=`Expected a function`;function i(e,t){if(typeof e!=`function`||t!=null&&typeof t!=`function`)throw TypeError(r);var a=function(){var n=arguments,r=t?t.apply(this,n):n[0],i=a.cache;if(i.has(r))return i.get(r);var o=e.apply(this,n);return a.cache=i.set(r,o)||i,o};return a.cache=new(i.Cache||n),a}i.Cache=n,t.exports=i})),lne=o(((e,t)=>{var n=pL(),r=500;function i(e){var t=n(e,function(e){return i.size===r&&i.clear(),e}),i=t.cache;return t}t.exports=i})),une=o(((e,t)=>{var n=lne(),r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g;t.exports=n(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(``),e.replace(r,function(e,n,r,a){t.push(r?a.replace(i,`$1`):n||e)}),t})})),mL=o(((e,t)=>{function n(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n{var n=ZI(),r=mL(),i=JI(),a=eL(),o=1/0,s=n?n.prototype:void 0,c=s?s.toString:void 0;function l(e){if(typeof e==`string`)return e;if(i(e))return r(e,l)+``;if(a(e))return c?c.call(e):``;var t=e+``;return t==`0`&&1/e==-o?`-0`:t}t.exports=l})),hL=o(((e,t)=>{var n=dne();function r(e){return e==null?``:n(e)}t.exports=r})),gL=o(((e,t)=>{var n=JI(),r=tL(),i=une(),a=hL();function o(e,t){return n(e)?e:r(e,t)?[e]:i(a(e))}t.exports=o})),_L=o(((e,t)=>{var n=eL(),r=1/0;function i(e){if(typeof e==`string`||n(e))return e;var t=e+``;return t==`0`&&1/e==-r?`-0`:t}t.exports=i})),vL=o(((e,t)=>{var n=gL(),r=_L();function i(e,t){t=n(t,e);for(var i=0,a=t.length;e!=null&&i{var n=vL();function r(e,t,r){var i=e==null?void 0:n(e,t);return i===void 0?r:i}t.exports=r})),fne=o(((e,t)=>{function n(e){return e==null}t.exports=n})),pne=o(((e,t)=>{var n=QI(),r=JI(),i=$I(),a=`[object String]`;function o(e){return typeof e==`string`||!r(e)&&i(e)&&n(e)==a}t.exports=o})),mne=o((e=>{var t=Symbol.for(`react.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.provider`),s=Symbol.for(`react.context`),c=Symbol.for(`react.server_context`),l=Symbol.for(`react.forward_ref`),u=Symbol.for(`react.suspense`),d=Symbol.for(`react.suspense_list`),f=Symbol.for(`react.memo`),p=Symbol.for(`react.lazy`);function m(e){if(typeof e==`object`&&e){var m=e.$$typeof;switch(m){case t:switch(e=e.type,e){case r:case a:case i:case u:case d:return e;default:switch(e&&=e.$$typeof,e){case c:case s:case l:case p:case f:case o:return e;default:return m}}case n:return m}}}e.isFragment=function(e){return m(e)===r}})),hne=o(((e,t)=>{t.exports=mne()})),bL=o(((e,t)=>{var n=QI(),r=$I(),i=`[object Number]`;function a(e){return typeof e==`number`||r(e)&&n(e)==i}t.exports=a})),xL=o(((e,t)=>{var n=bL();function r(e){return n(e)&&e!=+e}t.exports=r})),SL=l(pne()),CL=l(xL()),wL=l(yL()),TL=l(bL()),EL=l(fne()),DL=function(e){return e===0?0:e>0?1:-1},OL=function(e){return(0,SL.default)(e)&&e.indexOf(`%`)===e.length-1},Q=function(e){return(0,TL.default)(e)&&!(0,CL.default)(e)},kL=function(e){return(0,EL.default)(e)},AL=function(e){return Q(e)||(0,SL.default)(e)},jL=0,ML=function(e){var t=++jL;return`${e||``}${t}`},NL=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!Q(e)&&!(0,SL.default)(e))return n;var i;if(OL(e)){var a=e.indexOf(`%`);i=t*parseFloat(e.slice(0,a))/100}else i=+e;return(0,CL.default)(i)&&(i=n),r&&i>t&&(i=t),i},PL=function(e){if(!e)return null;var t=Object.keys(e);return t&&t.length?e[t[0]]:null},FL=function(e){if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function tR(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function nR(e){"@babel/helpers - typeof";return nR=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},nR(e)}var rR={click:`onClick`,mousedown:`onMouseDown`,mouseup:`onMouseUp`,mouseover:`onMouseOver`,mousemove:`onMouseMove`,mouseout:`onMouseOut`,mouseenter:`onMouseEnter`,mouseleave:`onMouseLeave`,touchcancel:`onTouchCancel`,touchend:`onTouchEnd`,touchmove:`onTouchMove`,touchstart:`onTouchStart`,contextmenu:`onContextMenu`,dblclick:`onDoubleClick`},iR=function(e){return typeof e==`string`?e:e?e.displayName||e.name||`Component`:``},aR=null,oR=null,sR=function e(t){if(t===aR&&Array.isArray(oR))return oR;var n=[];return _.Children.forEach(t,function(t){(0,EL.default)(t)||((0,ZL.isFragment)(t)?n=n.concat(e(t.props.children)):n.push(t))}),oR=n,aR=t,n};function cR(e,t){var n=[],r=[];return r=Array.isArray(t)?t.map(function(e){return iR(e)}):[iR(t)],sR(e).forEach(function(e){var t=(0,wL.default)(e,`type.displayName`)||(0,wL.default)(e,`type.name`);r.indexOf(t)!==-1&&n.push(e)}),n}function lR(e,t){var n=cR(e,t);return n&&n[0]}var uR=function(e){if(!e||!e.props)return!1;var t=e.props,n=t.width,r=t.height;return!(!Q(n)||n<=0||!Q(r)||r<=0)},dR=`a.altGlyph.altGlyphDef.altGlyphItem.animate.animateColor.animateMotion.animateTransform.circle.clipPath.color-profile.cursor.defs.desc.ellipse.feBlend.feColormatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feDistantLight.feFlood.feFuncA.feFuncB.feFuncG.feFuncR.feGaussianBlur.feImage.feMerge.feMergeNode.feMorphology.feOffset.fePointLight.feSpecularLighting.feSpotLight.feTile.feTurbulence.filter.font.font-face.font-face-format.font-face-name.font-face-url.foreignObject.g.glyph.glyphRef.hkern.image.line.lineGradient.marker.mask.metadata.missing-glyph.mpath.path.pattern.polygon.polyline.radialGradient.rect.script.set.stop.style.svg.switch.symbol.text.textPath.title.tref.tspan.use.view.vkern`.split(`.`),fR=function(e){return e&&e.type&&(0,SL.default)(e.type)&&dR.indexOf(e.type)>=0},pR=function(e){return e&&nR(e)===`object`&&`clipDot`in e},mR=function(e,t,n,r){var i=GL?.[r]??[];return t.startsWith(`data-`)||!(0,XL.default)(e)&&(r&&i.includes(t)||UL.includes(t))||n&&KL.includes(t)},hR=function(e,t,n){if(!e||typeof e==`function`||typeof e==`boolean`)return null;var r=e;if((0,_.isValidElement)(e)&&(r=e.props),!(0,BL.default)(r))return null;var i={};return Object.keys(r).forEach(function(e){mR(r?.[e],e,t,n)&&(i[e]=r[e])}),i},gR=function e(t,n){if(t===n)return!0;var r=_.Children.count(t);if(r!==_.Children.count(n))return!1;if(r===0)return!0;if(r===1)return _R(Array.isArray(t)?t[0]:t,Array.isArray(n)?n[0]:n);for(var i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function wR(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function TR(e){var t=e.children,n=e.width,r=e.height,i=e.viewBox,a=e.className,o=e.style,s=e.title,c=e.desc,l=CR(e,xR),u=i||{width:n,height:r,x:0,y:0},d=ha(`recharts-surface`,a);return _.createElement(`svg`,SR({},hR(l,!0,`svg`),{className:d,width:n,height:r,style:o,viewBox:`${u.x} ${u.y} ${u.width} ${u.height}`}),_.createElement(`title`,null,s),_.createElement(`desc`,null,c),t)}var ER=[`children`,`className`];function DR(){return DR=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function kR(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var AR=_.forwardRef(function(e,t){var n=e.children,r=e.className,i=OR(e,ER),a=ha(`recharts-layer`,r);return _.createElement(`g`,DR({className:a},hR(i,!0),{ref:t}),n)}),jR=!1,MR=function(e,t){var n=[...arguments].slice(2);if(jR&&typeof console<`u`&&console.warn&&(t===void 0&&console.warn(`LogUtils requires an error message argument`),!e))if(t===void 0)console.warn(`Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.`);else{var r=0;console.warn(t.replace(/%s/g,function(){return n[r++]}))}},NR=o(((e,t)=>{function n(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var a=Array(i);++r{var n=NR();function r(e,t,r){var i=e.length;return r=r===void 0?i:r,!t&&r>=i?e:n(e,t,r)}t.exports=r})),FR=o(((e,t)=>{var n=RegExp(`[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]`);function r(e){return n.test(e)}t.exports=r})),IR=o(((e,t)=>{function n(e){return e.split(``)}t.exports=n})),LR=o(((e,t)=>{var n=`\\ud800-\\udfff`,r=`\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff`,i=`\\ufe0e\\ufe0f`,a=`[`+n+`]`,o=`[`+r+`]`,s=`\\ud83c[\\udffb-\\udfff]`,c=`(?:`+o+`|`+s+`)`,l=`[^`+n+`]`,u=`(?:\\ud83c[\\udde6-\\uddff]){2}`,d=`[\\ud800-\\udbff][\\udc00-\\udfff]`,f=`\\u200d`,p=c+`?`,m=`[`+i+`]?`,h=`(?:`+f+`(?:`+[l,u,d].join(`|`)+`)`+m+p+`)*`,g=m+p+h,_=`(?:`+[l+o+`?`,o,u,d,a].join(`|`)+`)`,v=RegExp(s+`(?=`+s+`)|`+_+g,`g`);function y(e){return e.match(v)||[]}t.exports=y})),RR=o(((e,t)=>{var n=IR(),r=FR(),i=LR();function a(e){return r(e)?i(e):n(e)}t.exports=a})),zR=o(((e,t)=>{var n=PR(),r=FR(),i=RR(),a=hL();function o(e){return function(t){t=a(t);var o=r(t)?i(t):void 0,s=o?o[0]:t.charAt(0),c=o?n(o,1).join(``):t.slice(1);return s[e]()+c}}t.exports=o})),BR=o(((e,t)=>{t.exports=zR()(`toUpperCase`)}));function VR(e){return function(){return e}}var HR=Math.cos,UR=Math.sin,WR=Math.sqrt,GR=Math.PI;GR/2;var KR=2*GR,qR=Math.PI,JR=2*qR,YR=1e-6,XR=JR-YR;function ZR(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw Error(`invalid digits: ${e}`);if(t>15)return ZR;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;tYR)if(!(Math.abs(u*s-c*l)>YR)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((qR-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>YR&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>YR||Math.abs(this._y1-l)>YR)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%JR+JR),d>XR?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>YR&&this._append`A${n},${n},0,${+(d>=qR)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};function ez(){return new $R}ez.prototype=$R.prototype;function tz(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new $R(t)}Array.prototype.slice;function nz(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function rz(e){this._context=e}rz.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function iz(e){return new rz(e)}function az(e){return e[0]}function oz(e){return e[1]}function sz(e,t){var n=VR(!0),r=null,i=iz,a=null,o=tz(s);e=typeof e==`function`?e:e===void 0?az:VR(e),t=typeof t==`function`?t:t===void 0?oz:VR(t);function s(s){var c,l=(s=nz(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return sz().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:VR(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:VR(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:VR(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:VR(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:VR(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:VR(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:VR(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}var lz=class{constructor(e,t){this._context=e,this._x=t}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,t,e,t):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+t)/2,e,this._y0,e,t);break}this._x0=e,this._y0=t}};function uz(e){return new lz(e,!0)}function dz(e){return new lz(e,!1)}var fz={draw(e,t){let n=WR(t/GR);e.moveTo(n,0),e.arc(0,0,n,0,KR)}},pz={draw(e,t){let n=WR(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},mz=WR(1/3),hz=mz*2,gz={draw(e,t){let n=WR(t/hz),r=n*mz;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},_z={draw(e,t){let n=WR(t),r=-n/2;e.rect(r,r,n,n)}},vz=.8908130915292852,yz=UR(GR/10)/UR(7*GR/10),bz=UR(KR/10)*yz,xz=-HR(KR/10)*yz,Sz={draw(e,t){let n=WR(t*vz),r=bz*n,i=xz*n;e.moveTo(0,-n),e.lineTo(r,i);for(let t=1;t<5;++t){let a=KR*t/5,o=HR(a),s=UR(a);e.lineTo(s*n,-o*n),e.lineTo(o*r-s*i,s*r+o*i)}e.closePath()}},Cz=WR(3),wz={draw(e,t){let n=-WR(t/(Cz*3));e.moveTo(0,n*2),e.lineTo(-Cz*n,-n),e.lineTo(Cz*n,-n),e.closePath()}},Tz=-.5,Ez=WR(3)/2,Dz=1/WR(12),Oz=(Dz/2+1)*3,kz={draw(e,t){let n=WR(t/Oz),r=n/2,i=n*Dz,a=r,o=n*Dz+n,s=-a,c=o;e.moveTo(r,i),e.lineTo(a,o),e.lineTo(s,c),e.lineTo(Tz*r-Ez*i,Ez*r+Tz*i),e.lineTo(Tz*a-Ez*o,Ez*a+Tz*o),e.lineTo(Tz*s-Ez*c,Ez*s+Tz*c),e.lineTo(Tz*r+Ez*i,Tz*i-Ez*r),e.lineTo(Tz*a+Ez*o,Tz*o-Ez*a),e.lineTo(Tz*s+Ez*c,Tz*c-Ez*s),e.closePath()}};function Az(e,t){let n=null,r=tz(i);e=typeof e==`function`?e:VR(e||fz),t=typeof t==`function`?t:VR(t===void 0?64:+t);function i(){let i;if(n||=i=r(),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+``||null}return i.type=function(t){return arguments.length?(e=typeof t==`function`?t:VR(t),i):e},i.size=function(e){return arguments.length?(t=typeof e==`function`?e:VR(+e),i):t},i.context=function(e){return arguments.length?(n=e??null,i):n},i}function jz(){}function Mz(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function Nz(e){this._context=e}Nz.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Mz(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Mz(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Pz(e){return new Nz(e)}function Fz(e){this._context=e}Fz.prototype={areaStart:jz,areaEnd:jz,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:Mz(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Iz(e){return new Fz(e)}function Lz(e){this._context=e}Lz.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:Mz(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Rz(e){return new Lz(e)}function zz(e){this._context=e}zz.prototype={areaStart:jz,areaEnd:jz,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function Bz(e){return new zz(e)}function Vz(e){return e<0?-1:1}function Hz(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(Vz(a)+Vz(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function Uz(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function Wz(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function Gz(e){this._context=e}Gz.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Wz(this,this._t0,Uz(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Wz(this,Uz(this,n=Hz(this,e,t)),n);break;default:Wz(this,this._t0,n=Hz(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function Kz(e){this._context=new qz(e)}(Kz.prototype=Object.create(Gz.prototype)).point=function(e,t){Gz.prototype.point.call(this,t,e)};function qz(e){this._context=e}qz.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,a){this._context.bezierCurveTo(t,e,r,n,a,i)}};function Jz(e){return new Gz(e)}function Yz(e){return new Kz(e)}function Xz(e){this._context=e}Xz.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=Zz(e),i=Zz(t),a=0,o=1;o=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}this._x=e,this._y=t}};function eB(e){return new $z(e,.5)}function tB(e){return new $z(e,0)}function nB(e){return new $z(e,1)}function rB(e,t){if((o=e.length)>1)for(var n=1,r,i,a=e[t[0]],o,s=a.length;n=0;)n[t]=t;return n}function aB(e,t){return e[t]}function oB(e){let t=[];return t.key=e,t}function sB(){var e=VR([]),t=iB,n=rB,r=aB;function i(i){var a=Array.from(e.apply(this,arguments),oB),o,s=a.length,c=-1,l;for(let e of i)for(o=0,++c;o0){for(var n,r,i=0,a=e[0].length,o;i0){for(var n=0,r=e[t[0]],i,a=r.length;n0)||!((a=(i=e[t[0]]).length)>0))){for(var n=0,r=1,i,a,o;r=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function xB(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var SB={symbolCircle:fz,symbolCross:pz,symbolDiamond:gz,symbolSquare:_z,symbolStar:Sz,symbolTriangle:wz,symbolWye:kz},CB=Math.PI/180,wB=function(e){return SB[`symbol${(0,dB.default)(e)}`]||fz},TB=function(e,t,n){if(t===`area`)return e;switch(n){case`cross`:return 5*e*e/9;case`diamond`:return .5*e*e/Math.sqrt(3);case`square`:return e*e;case`star`:var r=18*CB;return 1.25*e*e*(Math.tan(r)-Math.tan(r*2)*Math.tan(r)**2);case`triangle`:return Math.sqrt(3)*e*e/4;case`wye`:return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},EB=function(e,t){SB[`symbol${(0,dB.default)(e)}`]=t},DB=function(e){var t=e.type,n=t===void 0?`circle`:t,r=e.size,i=r===void 0?64:r,a=e.sizeType,o=a===void 0?`area`:a,s=gB(gB({},bB(e,pB)),{},{type:n,size:i,sizeType:o}),c=function(){var e=wB(n);return Az().type(e).size(TB(i,o,n))()},l=s.className,u=s.cx,d=s.cy,f=hR(s,!0);return u===+u&&d===+d&&i===+i?_.createElement(`path`,mB({},f,{className:ha(`recharts-symbols`,l),transform:`translate(${u}, ${d})`,d:c()})):null};DB.registerSymbol=EB;function OB(e){"@babel/helpers - typeof";return OB=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},OB(e)}function kB(){return kB=Object.assign?Object.assign.bind():function(e){for(var t=1;t`);var f=t.inactive?o:t.color;return _.createElement(`li`,TB({className:u,style:c,key:`legend-item-${n}`},GL(e.props,t,n)),_.createElement(xR,{width:r,height:r,viewBox:s,style:l},e.renderIcon(t)),_.createElement(`span`,{className:`recharts-legend-item-text`,style:{color:f}},i?i(d,t,n):d))})}},{key:`render`,value:function(){var e=this.props,t=e.payload,n=e.layout,r=e.align;if(!t||!t.length)return null;var i={padding:0,margin:0,textAlign:n===`horizontal`?r:`left`};return _.createElement(`ul`,{className:`recharts-default-legend`,style:i},this.renderItems())}}])}(_.PureComponent);RB(HB,`displayName`,`Legend`),RB(HB,`defaultProps`,{iconSize:14,layout:`horizontal`,align:`center`,verticalAlign:`middle`,inactiveColor:`#ccc`});var UB=o(((e,t)=>{var n=iL();function r(){this.__data__=new n,this.size=0}t.exports=r})),WB=o(((e,t)=>{function n(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}t.exports=n})),GB=o(((e,t)=>{function n(e){return this.__data__.get(e)}t.exports=n})),KB=o(((e,t)=>{function n(e){return this.__data__.has(e)}t.exports=n})),qB=o(((e,t)=>{var n=iL(),r=aL(),i=sL(),a=200;function o(e,t){var o=this.__data__;if(o instanceof n){var s=o.__data__;if(!r||s.length{var n=iL(),r=UB(),i=WB(),a=GB(),o=KB(),s=qB();function c(e){var t=this.__data__=new n(e);this.size=t.size}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=a,c.prototype.has=o,c.prototype.set=s,t.exports=c})),YB=o(((e,t)=>{var n=`__lodash_hash_undefined__`;function r(e){return this.__data__.set(e,n),this}t.exports=r})),XB=o(((e,t)=>{function n(e){return this.__data__.has(e)}t.exports=n})),ZB=o(((e,t)=>{var n=sL(),r=YB(),i=XB();function a(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new n;++t{function n(e,t){for(var n=-1,r=e==null?0:e.length;++n{function n(e,t){return e.has(t)}t.exports=n})),eV=o(((e,t)=>{var n=ZB(),r=QB(),i=$B(),a=1,o=2;function s(e,t,s,c,l,u){var d=s&a,f=e.length,p=t.length;if(f!=p&&!(d&&p>f))return!1;var m=u.get(e),h=u.get(t);if(m&&h)return m==t&&h==e;var g=-1,_=!0,v=s&o?new n:void 0;for(u.set(e,t),u.set(t,e);++g{t.exports=GI().Uint8Array})),nV=o(((e,t)=>{function n(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}t.exports=n})),rV=o(((e,t)=>{function n(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}t.exports=n})),iV=o(((e,t)=>{var n=KI(),r=tV(),i=nL(),a=eV(),o=nV(),s=rV(),c=1,l=2,u=`[object Boolean]`,d=`[object Date]`,f=`[object Error]`,p=`[object Map]`,m=`[object Number]`,h=`[object RegExp]`,g=`[object Set]`,_=`[object String]`,v=`[object Symbol]`,y=`[object ArrayBuffer]`,b=`[object DataView]`,x=n?n.prototype:void 0,S=x?x.valueOf:void 0;function C(e,t,n,x,C,w,T){switch(n){case b:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case y:return!(e.byteLength!=t.byteLength||!w(new r(e),new r(t)));case u:case d:case m:return i(+e,+t);case f:return e.name==t.name&&e.message==t.message;case h:case _:return e==t+``;case p:var E=o;case g:var D=x&c;if(E||=s,e.size!=t.size&&!D)return!1;var O=T.get(e);if(O)return O==t;x|=l,T.set(e,t);var k=a(E(e),E(t),x,C,w,T);return T.delete(e),k;case v:if(S)return S.call(e)==S.call(t)}return!1}t.exports=C})),aV=o(((e,t)=>{function n(e,t){for(var n=-1,r=t.length,i=e.length;++n{var n=aV(),r=UI();function i(e,t,i){var a=t(e);return r(e)?a:n(a,i(e))}t.exports=i})),sV=o(((e,t)=>{function n(e,t){for(var n=-1,r=e==null?0:e.length,i=0,a=[];++n{function n(){return[]}t.exports=n})),lV=o(((e,t)=>{var n=sV(),r=cV(),i=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols;t.exports=a?function(e){return e==null?[]:(e=Object(e),n(a(e),function(t){return i.call(e,t)}))}:r})),uV=o(((e,t)=>{function n(e,t){for(var n=-1,r=Array(e);++n{var n=qI(),r=JI(),i=`[object Arguments]`;function a(e){return r(e)&&n(e)==i}t.exports=a})),fV=o(((e,t)=>{var n=dV(),r=JI(),i=Object.prototype,a=i.hasOwnProperty,o=i.propertyIsEnumerable;t.exports=n(function(){return arguments}())?n:function(e){return r(e)&&a.call(e,`callee`)&&!o.call(e,`callee`)}})),pV=o(((e,t)=>{function n(){return!1}t.exports=n})),mV=o(((e,t)=>{var n=GI(),r=pV(),i=typeof e==`object`&&e&&!e.nodeType&&e,a=i&&typeof t==`object`&&t&&!t.nodeType&&t,o=a&&a.exports===i?n.Buffer:void 0;t.exports=(o?o.isBuffer:void 0)||r})),hV=o(((e,t)=>{var n=9007199254740991,r=/^(?:0|[1-9]\d*)$/;function i(e,t){var i=typeof e;return t??=n,!!t&&(i==`number`||i!=`symbol`&&r.test(e))&&e>-1&&e%1==0&&e{var n=9007199254740991;function r(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=n}t.exports=r})),_V=o(((e,t)=>{var n=qI(),r=gV(),i=JI(),a=`[object Arguments]`,o=`[object Array]`,s=`[object Boolean]`,c=`[object Date]`,l=`[object Error]`,u=`[object Function]`,d=`[object Map]`,f=`[object Number]`,p=`[object Object]`,m=`[object RegExp]`,h=`[object Set]`,g=`[object String]`,_=`[object WeakMap]`,v=`[object ArrayBuffer]`,y=`[object DataView]`,b=`[object Float32Array]`,x=`[object Float64Array]`,S=`[object Int8Array]`,C=`[object Int16Array]`,w=`[object Int32Array]`,T=`[object Uint8Array]`,E=`[object Uint8ClampedArray]`,D=`[object Uint16Array]`,O=`[object Uint32Array]`,k={};k[b]=k[x]=k[S]=k[C]=k[w]=k[T]=k[E]=k[D]=k[O]=!0,k[a]=k[o]=k[v]=k[s]=k[y]=k[c]=k[l]=k[u]=k[d]=k[f]=k[p]=k[m]=k[h]=k[g]=k[_]=!1;function A(e){return i(e)&&r(e.length)&&!!k[n(e)]}t.exports=A})),vV=o(((e,t)=>{function n(e){return function(t){return e(t)}}t.exports=n})),yV=o(((e,t)=>{var n=WI(),r=typeof e==`object`&&e&&!e.nodeType&&e,i=r&&typeof t==`object`&&t&&!t.nodeType&&t,a=i&&i.exports===r&&n.process;t.exports=function(){try{return i&&i.require&&i.require(`util`).types||a&&a.binding&&a.binding(`util`)}catch{}}()})),bV=o(((e,t)=>{var n=_V(),r=vV(),i=yV(),a=i&&i.isTypedArray;t.exports=a?r(a):n})),xV=o(((e,t)=>{var n=uV(),r=fV(),i=UI(),a=mV(),o=hV(),s=bV(),c=Object.prototype.hasOwnProperty;function l(e,t){var l=i(e),u=!l&&r(e),d=!l&&!u&&a(e),f=!l&&!u&&!d&&s(e),p=l||u||d||f,m=p?n(e.length,String):[],h=m.length;for(var g in e)(t||c.call(e,g))&&!(p&&(g==`length`||d&&(g==`offset`||g==`parent`)||f&&(g==`buffer`||g==`byteLength`||g==`byteOffset`)||o(g,h)))&&m.push(g);return m}t.exports=l})),SV=o(((e,t)=>{var n=Object.prototype;function r(e){var t=e&&e.constructor;return e===(typeof t==`function`&&t.prototype||n)}t.exports=r})),CV=o(((e,t)=>{function n(e,t){return function(n){return e(t(n))}}t.exports=n})),wV=o(((e,t)=>{t.exports=CV()(Object.keys,Object)})),TV=o(((e,t)=>{var n=SV(),r=wV(),i=Object.prototype.hasOwnProperty;function a(e){if(!n(e))return r(e);var t=[];for(var a in Object(e))i.call(e,a)&&a!=`constructor`&&t.push(a);return t}t.exports=a})),EV=o(((e,t)=>{var n=QI(),r=gV();function i(e){return e!=null&&r(e.length)&&!n(e)}t.exports=i})),DV=o(((e,t)=>{var n=xV(),r=TV(),i=EV();function a(e){return i(e)?n(e):r(e)}t.exports=a})),OV=o(((e,t)=>{var n=oV(),r=lV(),i=DV();function a(e){return n(e,i,r)}t.exports=a})),kV=o(((e,t)=>{var n=OV(),r=1,i=Object.prototype.hasOwnProperty;function a(e,t,a,o,s,c){var l=a&r,u=n(e),d=u.length;if(d!=n(t).length&&!l)return!1;for(var f=d;f--;){var p=u[f];if(!(l?p in t:i.call(t,p)))return!1}var m=c.get(e),h=c.get(t);if(m&&h)return m==t&&h==e;var g=!0;c.set(e,t),c.set(t,e);for(var _=l;++f{t.exports=eL()(GI(),`DataView`)})),jV=o(((e,t)=>{t.exports=eL()(GI(),`Promise`)})),MV=o(((e,t)=>{t.exports=eL()(GI(),`Set`)})),NV=o(((e,t)=>{t.exports=eL()(GI(),`WeakMap`)})),PV=o(((e,t)=>{var n=AV(),r=aL(),i=jV(),a=MV(),o=NV(),s=qI(),c=$I(),l=`[object Map]`,u=`[object Object]`,d=`[object Promise]`,f=`[object Set]`,p=`[object WeakMap]`,m=`[object DataView]`,h=c(n),g=c(r),_=c(i),v=c(a),y=c(o),b=s;(n&&b(new n(new ArrayBuffer(1)))!=m||r&&b(new r)!=l||i&&b(i.resolve())!=d||a&&b(new a)!=f||o&&b(new o)!=p)&&(b=function(e){var t=s(e),n=t==u?e.constructor:void 0,r=n?c(n):``;if(r)switch(r){case h:return m;case g:return l;case _:return d;case v:return f;case y:return p}return t}),t.exports=b})),FV=o(((e,t)=>{var n=JB(),r=eV(),i=iV(),a=kV(),o=PV(),s=UI(),c=mV(),l=bV(),u=1,d=`[object Arguments]`,f=`[object Array]`,p=`[object Object]`,m=Object.prototype.hasOwnProperty;function h(e,t,h,g,_,v){var y=s(e),b=s(t),x=y?f:o(e),S=b?f:o(t);x=x==d?p:x,S=S==d?p:S;var C=x==p,w=S==p,T=x==S;if(T&&c(e)){if(!c(t))return!1;y=!0,C=!1}if(T&&!C)return v||=new n,y||l(e)?r(e,t,h,g,_,v):i(e,t,x,h,g,_,v);if(!(h&u)){var E=C&&m.call(e,`__wrapped__`),D=w&&m.call(t,`__wrapped__`);if(E||D){var O=E?e.value():e,k=D?t.value():t;return v||=new n,_(O,k,h,g,v)}}return T?(v||=new n,a(e,t,h,g,_,v)):!1}t.exports=h})),IV=o(((e,t)=>{var n=FV(),r=JI();function i(e,t,a,o,s){return e===t?!0:e==null||t==null||!r(e)&&!r(t)?e!==e&&t!==t:n(e,t,a,o,i,s)}t.exports=i})),LV=o(((e,t)=>{var n=JB(),r=IV(),i=1,a=2;function o(e,t,o,s){var c=o.length,l=c,u=!s;if(e==null)return!l;for(e=Object(e);c--;){var d=o[c];if(u&&d[2]?d[1]!==e[d[0]]:!(d[0]in e))return!1}for(;++c{var n=ZI();function r(e){return e===e&&!n(e)}t.exports=r})),zV=o(((e,t)=>{var n=RV(),r=DV();function i(e){for(var t=r(e),i=t.length;i--;){var a=t[i],o=e[a];t[i]=[a,o,n(o)]}return t}t.exports=i})),BV=o(((e,t)=>{function n(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==void 0||e in Object(n))}}t.exports=n})),VV=o(((e,t)=>{var n=LV(),r=zV(),i=BV();function a(e){var t=r(e);return t.length==1&&t[0][2]?i(t[0][0],t[0][1]):function(r){return r===e||n(r,e,t)}}t.exports=a})),HV=o(((e,t)=>{function n(e,t){return e!=null&&t in Object(e)}t.exports=n})),UV=o(((e,t)=>{var n=dL(),r=fV(),i=UI(),a=hV(),o=gV(),s=fL();function c(e,t,c){t=n(t,e);for(var l=-1,u=t.length,d=!1;++l{var n=HV(),r=UV();function i(e,t){return e!=null&&r(e,t,n)}t.exports=i})),GV=o(((e,t)=>{var n=IV(),r=mL(),i=WV(),a=XI(),o=RV(),s=BV(),c=fL(),l=1,u=2;function d(e,t){return a(e)&&o(t)?s(c(e),t):function(a){var o=r(a,e);return o===void 0&&o===t?i(a,e):n(t,o,l|u)}}t.exports=d})),KV=o(((e,t)=>{function n(e){return e}t.exports=n})),qV=o(((e,t)=>{function n(e){return function(t){return t?.[e]}}t.exports=n})),JV=o(((e,t)=>{var n=pL();function r(e){return function(t){return n(t,e)}}t.exports=r})),YV=o(((e,t)=>{var n=qV(),r=JV(),i=XI(),a=fL();function o(e){return i(e)?n(a(e)):r(e)}t.exports=o})),XV=o(((e,t)=>{var n=VV(),r=GV(),i=KV(),a=UI(),o=YV();function s(e){return typeof e==`function`?e:e==null?i:typeof e==`object`?a(e)?r(e[0],e[1]):n(e):o(e)}t.exports=s})),ZV=o(((e,t)=>{function n(e,t,n,r){for(var i=e.length,a=n+(r?1:-1);r?a--:++a{function n(e){return e!==e}t.exports=n})),$V=o(((e,t)=>{function n(e,t,n){for(var r=n-1,i=e.length;++r{var n=ZV(),r=QV(),i=$V();function a(e,t,a){return t===t?i(e,t,a):n(e,r,a)}t.exports=a})),tH=o(((e,t)=>{var n=eH();function r(e,t){return!!(e!=null&&e.length)&&n(e,t,0)>-1}t.exports=r})),nH=o(((e,t)=>{function n(e,t,n){for(var r=-1,i=e==null?0:e.length;++r{function n(){}t.exports=n})),iH=o(((e,t)=>{var n=MV(),r=rH(),i=rV();t.exports=n&&1/i(new n([,-0]))[1]==1/0?function(e){return new n(e)}:r})),aH=o(((e,t)=>{var n=ZB(),r=tH(),i=nH(),a=$B(),o=iH(),s=rV(),c=200;function l(e,t,l){var u=-1,d=r,f=e.length,p=!0,m=[],h=m;if(l)p=!1,d=i;else if(f>=c){var g=t?null:o(e);if(g)return s(g);p=!1,d=a,h=new n}else h=t?[]:m;outer:for(;++u{var n=XV(),r=aH();function i(e,t){return e&&e.length?r(e,n(t,2)):[]}t.exports=i}))());function sH(e,t,n){return t===!0?(0,oH.default)(e,n):(0,KL.default)(t)?(0,oH.default)(e,t):e}function cH(e){"@babel/helpers - typeof";return cH=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},cH(e)}var lH=[`ref`];function uH(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function dH(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function EH(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function DH(e){return e.value}function OH(e,t){if(_.isValidElement(e))return _.cloneElement(e,t);if(typeof e==`function`)return _.createElement(e,t);t.ref;var n=TH(t,lH);return _.createElement(HB,n)}var kH=1,AH=function(e){function t(){var e;fH(this,t);var n=[...arguments];return e=hH(this,t,[].concat(n)),SH(e,`lastBoundingBox`,{width:-1,height:-1}),e}return bH(t,e),mH(t,[{key:`componentDidMount`,value:function(){this.updateBBox()}},{key:`componentDidUpdate`,value:function(){this.updateBBox()}},{key:`getBBox`,value:function(){if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var e=this.wrapperNode.getBoundingClientRect();return e.height=this.wrapperNode.offsetHeight,e.width=this.wrapperNode.offsetWidth,e}return null}},{key:`updateBBox`,value:function(){var e=this.props.onBBoxUpdate,t=this.getBBox();t?(Math.abs(t.width-this.lastBoundingBox.width)>kH||Math.abs(t.height-this.lastBoundingBox.height)>kH)&&(this.lastBoundingBox.width=t.width,this.lastBoundingBox.height=t.height,e&&e(t)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,e&&e(null))}},{key:`getBBoxSnapshot`,value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?dH({},this.lastBoundingBox):{width:0,height:0}}},{key:`getDefaultPosition`,value:function(e){var t=this.props,n=t.layout,r=t.align,i=t.verticalAlign,a=t.margin,o=t.chartWidth,s=t.chartHeight,c,l;if(!e||(e.left===void 0||e.left===null)&&(e.right===void 0||e.right===null))if(r===`center`&&n===`vertical`){var u=this.getBBoxSnapshot();c={left:((o||0)-u.width)/2}}else c=r===`right`?{right:a&&a.right||0}:{left:a&&a.left||0};if(!e||(e.top===void 0||e.top===null)&&(e.bottom===void 0||e.bottom===null))if(i===`middle`){var d=this.getBBoxSnapshot();l={top:((s||0)-d.height)/2}}else l=i===`bottom`?{bottom:a&&a.bottom||0}:{top:a&&a.top||0};return dH(dH({},c),l)}},{key:`render`,value:function(){var e=this,t=this.props,n=t.content,r=t.width,i=t.height,a=t.wrapperStyle,o=t.payloadUniqBy,s=t.payload,c=dH(dH({position:`absolute`,width:r||`auto`,height:i||`auto`},this.getDefaultPosition(a)),a);return _.createElement(`div`,{className:`recharts-legend-wrapper`,style:c,ref:function(t){e.wrapperNode=t}},OH(n,dH(dH({},this.props),{},{payload:sH(s,o,DH)})))}}],[{key:`getWithHeight`,value:function(e,t){var n=dH(dH({},this.defaultProps),e.props).layout;return n===`vertical`&&Q(e.props.height)?{height:e.props.height}:n===`horizontal`?{width:e.props.width||t}:null}}])}(_.PureComponent);SH(AH,`displayName`,`Legend`),SH(AH,`defaultProps`,{iconSize:14,layout:`horizontal`,align:`center`,verticalAlign:`bottom`});var jH=o(((e,t)=>{var n=KI(),r=fV(),i=UI(),a=n?n.isConcatSpreadable:void 0;function o(e){return i(e)||r(e)||!!(a&&e&&e[a])}t.exports=o})),MH=o(((e,t)=>{var n=aV(),r=jH();function i(e,t,a,o,s){var c=-1,l=e.length;for(a||=r,s||=[];++c0&&a(u)?t>1?i(u,t-1,a,o,s):n(s,u):o||(s[s.length]=u)}return s}t.exports=i})),NH=o(((e,t)=>{function n(e){return function(t,n,r){for(var i=-1,a=Object(t),o=r(t),s=o.length;s--;){var c=o[e?s:++i];if(n(a[c],c,a)===!1)break}return t}}t.exports=n})),PH=o(((e,t)=>{t.exports=NH()()})),FH=o(((e,t)=>{var n=PH(),r=DV();function i(e,t){return e&&n(e,t,r)}t.exports=i})),IH=o(((e,t)=>{var n=EV();function r(e,t){return function(r,i){if(r==null)return r;if(!n(r))return e(r,i);for(var a=r.length,o=t?a:-1,s=Object(r);(t?o--:++o{var n=FH();t.exports=IH()(n)})),RH=o(((e,t)=>{var n=LH(),r=EV();function i(e,t){var i=-1,a=r(e)?Array(e.length):[];return n(e,function(e,n,r){a[++i]=t(e,n,r)}),a}t.exports=i})),zH=o(((e,t)=>{function n(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}t.exports=n})),BH=o(((e,t)=>{var n=YI();function r(e,t){if(e!==t){var r=e!==void 0,i=e===null,a=e===e,o=n(e),s=t!==void 0,c=t===null,l=t===t,u=n(t);if(!c&&!u&&!o&&e>t||o&&s&&l&&!c&&!u||i&&s&&l||!r&&l||!a)return 1;if(!i&&!o&&!u&&e{var n=BH();function r(e,t,r){for(var i=-1,a=e.criteria,o=t.criteria,s=a.length,c=r.length;++i=c?l:l*(r[i]==`desc`?-1:1)}return e.index-t.index}t.exports=r})),HH=o(((e,t)=>{var n=lL(),r=pL(),i=XV(),a=RH(),o=zH(),s=vV(),c=VH(),l=KV(),u=UI();function d(e,t,d){t=t.length?n(t,function(e){return u(e)?function(t){return r(t,e.length===1?e[0]:e)}:e}):[l];var f=-1;return t=n(t,s(i)),o(a(e,function(e,r,i){return{criteria:n(t,function(t){return t(e)}),index:++f,value:e}}),function(e,t){return c(e,t,d)})}t.exports=d})),UH=o(((e,t)=>{function n(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}t.exports=n})),WH=o(((e,t)=>{var n=UH(),r=Math.max;function i(e,t,i){return t=r(t===void 0?e.length-1:t,0),function(){for(var a=arguments,o=-1,s=r(a.length-t,0),c=Array(s);++o{function n(e){return function(){return e}}t.exports=n})),KH=o(((e,t)=>{var n=eL();t.exports=function(){try{var e=n(Object,`defineProperty`);return e({},``,{}),e}catch{}}()})),qH=o(((e,t)=>{var n=GH(),r=KH(),i=KV();t.exports=r?function(e,t){return r(e,`toString`,{configurable:!0,enumerable:!1,value:n(t),writable:!0})}:i})),JH=o(((e,t)=>{var n=800,r=16,i=Date.now;function a(e){var t=0,a=0;return function(){var o=i(),s=r-(o-a);if(a=o,s>0){if(++t>=n)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}t.exports=a})),YH=o(((e,t)=>{var n=qH();t.exports=JH()(n)})),XH=o(((e,t)=>{var n=KV(),r=WH(),i=YH();function a(e,t){return i(r(e,t,n),e+``)}t.exports=a})),ZH=o(((e,t)=>{var n=nL(),r=EV(),i=hV(),a=ZI();function o(e,t,o){if(!a(o))return!1;var s=typeof t;return(s==`number`?r(o)&&i(t,o.length):s==`string`&&t in o)?n(o[t],e):!1}t.exports=o})),QH=l(o(((e,t)=>{var n=MH(),r=HH(),i=XH(),a=ZH();t.exports=i(function(e,t){if(e==null)return[];var i=t.length;return i>1&&a(e,t[0],t[1])?t=[]:i>2&&a(t[0],t[1],t[2])&&(t=[t[0]]),r(e,n(t,1),[])})}))());function $H(e){"@babel/helpers - typeof";return $H=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},$H(e)}function eU(){return eU=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n=t.x),`${vU}-left`,Q(n)&&t&&Q(t.x)&&n=t.y),`${vU}-top`,Q(r)&&t&&Q(t.y)&&rc[r]+l?Math.max(u,c[r]):Math.max(d,c[r])}function SU(e){var t=e.translateX,n=e.translateY;return{transform:e.useTranslate3d?`translate3d(${t}px, ${n}px, 0)`:`translate(${t}px, ${n}px)`}}function CU(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.offsetTopLeft,i=e.position,a=e.reverseDirection,o=e.tooltipBox,s=e.useTranslate3d,c=e.viewBox,l,u,d;return o.height>0&&o.width>0&&n?(u=xU({allowEscapeViewBox:t,coordinate:n,key:`x`,offsetTopLeft:r,position:i,reverseDirection:a,tooltipDimension:o.width,viewBox:c,viewBoxDimension:c.width}),d=xU({allowEscapeViewBox:t,coordinate:n,key:`y`,offsetTopLeft:r,position:i,reverseDirection:a,tooltipDimension:o.height,viewBox:c,viewBoxDimension:c.height}),l=SU({translateX:u,translateY:d,useTranslate3d:s})):l=yU,{cssProperties:l,cssClasses:bU({translateX:u,translateY:d,coordinate:n})}}function wU(e){"@babel/helpers - typeof";return wU=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},wU(e)}function TU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function EU(e){for(var t=1;tBU||Math.abs(e.height-this.state.lastBoundingBox.height)>BU)&&this.setState({lastBoundingBox:{width:e.width,height:e.height}})}else (this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,height:-1}})}},{key:`componentDidMount`,value:function(){document.addEventListener(`keydown`,this.handleKeyDown),this.updateBBox()}},{key:`componentWillUnmount`,value:function(){document.removeEventListener(`keydown`,this.handleKeyDown)}},{key:`componentDidUpdate`,value:function(){this.props.active&&this.updateBBox(),this.state.dismissed&&(this.props.coordinate?.x!==this.state.dismissedAtCoordinate.x||this.props.coordinate?.y!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:`render`,value:function(){var e=this,t=this.props,n=t.active,r=t.allowEscapeViewBox,i=t.animationDuration,a=t.animationEasing,o=t.children,s=t.coordinate,c=t.hasPayload,l=t.isAnimationActive,u=t.offset,d=t.position,f=t.reverseDirection,p=t.useTranslate3d,m=t.viewBox,h=t.wrapperStyle,g=CU({allowEscapeViewBox:r,coordinate:s,offsetTopLeft:u,position:d,reverseDirection:f,tooltipBox:this.state.lastBoundingBox,useTranslate3d:p,viewBox:m}),v=g.cssClasses,y=g.cssProperties,b=EU(EU({transition:l&&n?`transform ${i}ms ${a}`:void 0},y),{},{pointerEvents:`none`,visibility:!this.state.dismissed&&n&&c?`visible`:`hidden`,position:`absolute`,top:0,left:0},h);return _.createElement(`div`,{tabIndex:-1,className:v,style:b,ref:function(t){e.wrapperNode=t}},o)}}])}(_.PureComponent),HU={isSsr:function(){return!(typeof window<`u`&&window.document&&window.document.createElement&&window.setTimeout)}(),get:function(e){return HU[e]},set:function(e,t){if(typeof e==`string`)HU[e]=t;else{var n=Object.keys(e);n&&n.length&&n.forEach(function(t){HU[t]=e[t]})}}};function UU(e){"@babel/helpers - typeof";return UU=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},UU(e)}function WU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function GU(e){for(var t=1;t0;return _.createElement(VU,{allowEscapeViewBox:r,animationDuration:i,animationEasing:a,isAnimationActive:l,active:n,coordinate:s,hasPayload:b,offset:u,position:p,reverseDirection:m,useTranslate3d:h,viewBox:g,wrapperStyle:v},oW(o,GU(GU({},this.props),{},{payload:y})))}}])}(_.PureComponent);nW(sW,`displayName`,`Tooltip`),nW(sW,`defaultProps`,{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:`ease`,contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!HU.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:` : `,trigger:`hover`,useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var cW=o(((e,t)=>{var n=GI();t.exports=function(){return n.Date.now()}})),lW=o(((e,t)=>{var n=/\s/;function r(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}t.exports=r})),uW=o(((e,t)=>{var n=lW(),r=/^\s+/;function i(e){return e&&e.slice(0,n(e)+1).replace(r,``)}t.exports=i})),dW=o(((e,t)=>{var n=uW(),r=ZI(),i=YI(),a=NaN,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;function u(e){if(typeof e==`number`)return e;if(i(e))return a;if(r(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=r(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=n(e);var u=s.test(e);return u||c.test(e)?l(e.slice(2),u?2:8):o.test(e)?a:+e}t.exports=u})),fW=o(((e,t)=>{var n=ZI(),r=cW(),i=dW(),a=`Expected a function`,o=Math.max,s=Math.min;function c(e,t,c){var l,u,d,f,p,m,h=0,g=!1,_=!1,v=!0;if(typeof e!=`function`)throw TypeError(a);t=i(t)||0,n(c)&&(g=!!c.leading,_=`maxWait`in c,d=_?o(i(c.maxWait)||0,t):d,v=`trailing`in c?!!c.trailing:v);function y(t){var n=l,r=u;return l=u=void 0,h=t,f=e.apply(r,n),f}function b(e){return h=e,p=setTimeout(C,t),g?y(e):f}function x(e){var n=e-m,r=e-h,i=t-n;return _?s(i,d-r):i}function S(e){var n=e-m,r=e-h;return m===void 0||n>=t||n<0||_&&r>=d}function C(){var e=r();if(S(e))return w(e);p=setTimeout(C,x(e))}function w(e){return p=void 0,v&&l?y(e):(l=u=void 0,f)}function T(){p!==void 0&&clearTimeout(p),h=0,l=m=u=p=void 0}function E(){return p===void 0?f:w(r())}function D(){var e=r(),n=S(e);if(l=arguments,u=this,m=e,n){if(p===void 0)return b(m);if(_)return clearTimeout(p),p=setTimeout(C,t),y(m)}return p===void 0&&(p=setTimeout(C,t)),f}return D.cancel=T,D.flush=E,D}t.exports=c})),pW=l(o(((e,t)=>{var n=fW(),r=ZI(),i=`Expected a function`;function a(e,t,a){var o=!0,s=!0;if(typeof e!=`function`)throw TypeError(i);return r(a)&&(o=`leading`in a?!!a.leading:o,s=`trailing`in a?!!a.trailing:s),n(e,t,{leading:o,maxWait:t,trailing:s})}t.exports=a}))());function mW(e){"@babel/helpers - typeof";return mW=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},mW(e)}function hW(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function gW(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&(e=(0,pW.default)(e,h,{trailing:!0,leading:!1}));var t=new ResizeObserver(e),n=S.current.getBoundingClientRect(),r=n.width,i=n.height;return D(r,i),t.observe(S.current),function(){t.disconnect()}},[D,h]);var O=(0,_.useMemo)(function(){var e=T.containerWidth,t=T.containerHeight;if(e<0||t<0)return null;OR(wL(o)||wL(c),`The width(%s) and height(%s) are both fixed numbers, - maybe you don't need to use a ResponsiveContainer.`,o,c),OR(!n||n>0,`The aspect(%s) must be greater than zero.`,n);var r=wL(o)?e:o,i=wL(c)?t:c;n&&n>0&&(r?i=r/n:i&&(r=i*n),f&&i>f&&(i=f)),OR(r>0||i>0,`The width(%s) and height(%s) of chart should be greater than 0, + H${GB}M${2*i},${n} + A${r},${r},0,1,1,${i},${n}`,className:`recharts-legend-icon`});if(e.type===`rect`)return _.createElement(`path`,{stroke:`none`,fill:a,d:`M0,${GB/8}h${GB}v${GB*3/4}h${-GB}z`,className:`recharts-legend-icon`});if(_.isValidElement(e.legendIcon)){var o=jB({},e);return delete o.legendIcon,_.cloneElement(e.legendIcon,o)}return _.createElement(DB,{fill:a,cx:n,cy:n,size:GB,sizeType:`diameter`,type:e.type})}},{key:`renderItems`,value:function(){var e=this,t=this.props,n=t.payload,r=t.iconSize,i=t.layout,a=t.formatter,o=t.inactiveColor,s={x:0,y:0,width:GB,height:GB},c={display:i===`horizontal`?`inline-block`:`block`,marginRight:10},l={display:`inline-block`,verticalAlign:`middle`,marginRight:4};return n.map(function(t,n){var i=t.formatter||a,u=ha(HB(HB({"recharts-legend-item":!0},`legend-item-${n}`,!0),`inactive`,t.inactive));if(t.type===`none`)return null;var d=(0,XL.default)(t.value)?null:t.value;MR(!(0,XL.default)(t.value),`The name property is also required when using a function for the dataKey of a chart's cartesian components. Ex: `);var f=t.inactive?o:t.color;return _.createElement(`li`,kB({className:u,style:c,key:`legend-item-${n}`},YL(e.props,t,n)),_.createElement(TR,{width:r,height:r,viewBox:s,style:l},e.renderIcon(t)),_.createElement(`span`,{className:`recharts-legend-item-text`,style:{color:f}},i?i(d,t,n):d))})}},{key:`render`,value:function(){var e=this.props,t=e.payload,n=e.layout,r=e.align;if(!t||!t.length)return null;var i={padding:0,margin:0,textAlign:n===`horizontal`?r:`left`};return _.createElement(`ul`,{className:`recharts-default-legend`,style:i},this.renderItems())}}])}(_.PureComponent);HB(KB,`displayName`,`Legend`),HB(KB,`defaultProps`,{iconSize:14,layout:`horizontal`,align:`center`,verticalAlign:`middle`,inactiveColor:`#ccc`});var qB=o(((e,t)=>{var n=lL();function r(){this.__data__=new n,this.size=0}t.exports=r})),JB=o(((e,t)=>{function n(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}t.exports=n})),YB=o(((e,t)=>{function n(e){return this.__data__.get(e)}t.exports=n})),XB=o(((e,t)=>{function n(e){return this.__data__.has(e)}t.exports=n})),ZB=o(((e,t)=>{var n=lL(),r=uL(),i=fL(),a=200;function o(e,t){var o=this.__data__;if(o instanceof n){var s=o.__data__;if(!r||s.length{var n=lL(),r=qB(),i=JB(),a=YB(),o=XB(),s=ZB();function c(e){var t=this.__data__=new n(e);this.size=t.size}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=a,c.prototype.has=o,c.prototype.set=s,t.exports=c})),$B=o(((e,t)=>{var n=`__lodash_hash_undefined__`;function r(e){return this.__data__.set(e,n),this}t.exports=r})),eV=o(((e,t)=>{function n(e){return this.__data__.has(e)}t.exports=n})),tV=o(((e,t)=>{var n=fL(),r=$B(),i=eV();function a(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new n;++t{function n(e,t){for(var n=-1,r=e==null?0:e.length;++n{function n(e,t){return e.has(t)}t.exports=n})),iV=o(((e,t)=>{var n=tV(),r=nV(),i=rV(),a=1,o=2;function s(e,t,s,c,l,u){var d=s&a,f=e.length,p=t.length;if(f!=p&&!(d&&p>f))return!1;var m=u.get(e),h=u.get(t);if(m&&h)return m==t&&h==e;var g=-1,_=!0,v=s&o?new n:void 0;for(u.set(e,t),u.set(t,e);++g{t.exports=XI().Uint8Array})),oV=o(((e,t)=>{function n(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}t.exports=n})),sV=o(((e,t)=>{function n(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}t.exports=n})),cV=o(((e,t)=>{var n=ZI(),r=aV(),i=sL(),a=iV(),o=oV(),s=sV(),c=1,l=2,u=`[object Boolean]`,d=`[object Date]`,f=`[object Error]`,p=`[object Map]`,m=`[object Number]`,h=`[object RegExp]`,g=`[object Set]`,_=`[object String]`,v=`[object Symbol]`,y=`[object ArrayBuffer]`,b=`[object DataView]`,x=n?n.prototype:void 0,S=x?x.valueOf:void 0;function C(e,t,n,x,C,w,T){switch(n){case b:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case y:return!(e.byteLength!=t.byteLength||!w(new r(e),new r(t)));case u:case d:case m:return i(+e,+t);case f:return e.name==t.name&&e.message==t.message;case h:case _:return e==t+``;case p:var E=o;case g:var D=x&c;if(E||=s,e.size!=t.size&&!D)return!1;var O=T.get(e);if(O)return O==t;x|=l,T.set(e,t);var k=a(E(e),E(t),x,C,w,T);return T.delete(e),k;case v:if(S)return S.call(e)==S.call(t)}return!1}t.exports=C})),lV=o(((e,t)=>{function n(e,t){for(var n=-1,r=t.length,i=e.length;++n{var n=lV(),r=JI();function i(e,t,i){var a=t(e);return r(e)?a:n(a,i(e))}t.exports=i})),dV=o(((e,t)=>{function n(e,t){for(var n=-1,r=e==null?0:e.length,i=0,a=[];++n{function n(){return[]}t.exports=n})),pV=o(((e,t)=>{var n=dV(),r=fV(),i=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols;t.exports=a?function(e){return e==null?[]:(e=Object(e),n(a(e),function(t){return i.call(e,t)}))}:r})),mV=o(((e,t)=>{function n(e,t){for(var n=-1,r=Array(e);++n{var n=QI(),r=$I(),i=`[object Arguments]`;function a(e){return r(e)&&n(e)==i}t.exports=a})),gV=o(((e,t)=>{var n=hV(),r=$I(),i=Object.prototype,a=i.hasOwnProperty,o=i.propertyIsEnumerable;t.exports=n(function(){return arguments}())?n:function(e){return r(e)&&a.call(e,`callee`)&&!o.call(e,`callee`)}})),_V=o(((e,t)=>{function n(){return!1}t.exports=n})),vV=o(((e,t)=>{var n=XI(),r=_V(),i=typeof e==`object`&&e&&!e.nodeType&&e,a=i&&typeof t==`object`&&t&&!t.nodeType&&t,o=a&&a.exports===i?n.Buffer:void 0;t.exports=(o?o.isBuffer:void 0)||r})),yV=o(((e,t)=>{var n=9007199254740991,r=/^(?:0|[1-9]\d*)$/;function i(e,t){var i=typeof e;return t??=n,!!t&&(i==`number`||i!=`symbol`&&r.test(e))&&e>-1&&e%1==0&&e{var n=9007199254740991;function r(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=n}t.exports=r})),xV=o(((e,t)=>{var n=QI(),r=bV(),i=$I(),a=`[object Arguments]`,o=`[object Array]`,s=`[object Boolean]`,c=`[object Date]`,l=`[object Error]`,u=`[object Function]`,d=`[object Map]`,f=`[object Number]`,p=`[object Object]`,m=`[object RegExp]`,h=`[object Set]`,g=`[object String]`,_=`[object WeakMap]`,v=`[object ArrayBuffer]`,y=`[object DataView]`,b=`[object Float32Array]`,x=`[object Float64Array]`,S=`[object Int8Array]`,C=`[object Int16Array]`,w=`[object Int32Array]`,T=`[object Uint8Array]`,E=`[object Uint8ClampedArray]`,D=`[object Uint16Array]`,O=`[object Uint32Array]`,k={};k[b]=k[x]=k[S]=k[C]=k[w]=k[T]=k[E]=k[D]=k[O]=!0,k[a]=k[o]=k[v]=k[s]=k[y]=k[c]=k[l]=k[u]=k[d]=k[f]=k[p]=k[m]=k[h]=k[g]=k[_]=!1;function A(e){return i(e)&&r(e.length)&&!!k[n(e)]}t.exports=A})),SV=o(((e,t)=>{function n(e){return function(t){return e(t)}}t.exports=n})),CV=o(((e,t)=>{var n=YI(),r=typeof e==`object`&&e&&!e.nodeType&&e,i=r&&typeof t==`object`&&t&&!t.nodeType&&t,a=i&&i.exports===r&&n.process;t.exports=function(){try{return i&&i.require&&i.require(`util`).types||a&&a.binding&&a.binding(`util`)}catch{}}()})),wV=o(((e,t)=>{var n=xV(),r=SV(),i=CV(),a=i&&i.isTypedArray;t.exports=a?r(a):n})),TV=o(((e,t)=>{var n=mV(),r=gV(),i=JI(),a=vV(),o=yV(),s=wV(),c=Object.prototype.hasOwnProperty;function l(e,t){var l=i(e),u=!l&&r(e),d=!l&&!u&&a(e),f=!l&&!u&&!d&&s(e),p=l||u||d||f,m=p?n(e.length,String):[],h=m.length;for(var g in e)(t||c.call(e,g))&&!(p&&(g==`length`||d&&(g==`offset`||g==`parent`)||f&&(g==`buffer`||g==`byteLength`||g==`byteOffset`)||o(g,h)))&&m.push(g);return m}t.exports=l})),EV=o(((e,t)=>{var n=Object.prototype;function r(e){var t=e&&e.constructor;return e===(typeof t==`function`&&t.prototype||n)}t.exports=r})),DV=o(((e,t)=>{function n(e,t){return function(n){return e(t(n))}}t.exports=n})),OV=o(((e,t)=>{t.exports=DV()(Object.keys,Object)})),kV=o(((e,t)=>{var n=EV(),r=OV(),i=Object.prototype.hasOwnProperty;function a(e){if(!n(e))return r(e);var t=[];for(var a in Object(e))i.call(e,a)&&a!=`constructor`&&t.push(a);return t}t.exports=a})),AV=o(((e,t)=>{var n=rL(),r=bV();function i(e){return e!=null&&r(e.length)&&!n(e)}t.exports=i})),jV=o(((e,t)=>{var n=TV(),r=kV(),i=AV();function a(e){return i(e)?n(e):r(e)}t.exports=a})),MV=o(((e,t)=>{var n=uV(),r=pV(),i=jV();function a(e){return n(e,i,r)}t.exports=a})),NV=o(((e,t)=>{var n=MV(),r=1,i=Object.prototype.hasOwnProperty;function a(e,t,a,o,s,c){var l=a&r,u=n(e),d=u.length;if(d!=n(t).length&&!l)return!1;for(var f=d;f--;){var p=u[f];if(!(l?p in t:i.call(t,p)))return!1}var m=c.get(e),h=c.get(t);if(m&&h)return m==t&&h==e;var g=!0;c.set(e,t),c.set(t,e);for(var _=l;++f{t.exports=aL()(XI(),`DataView`)})),FV=o(((e,t)=>{t.exports=aL()(XI(),`Promise`)})),IV=o(((e,t)=>{t.exports=aL()(XI(),`Set`)})),LV=o(((e,t)=>{t.exports=aL()(XI(),`WeakMap`)})),RV=o(((e,t)=>{var n=PV(),r=uL(),i=FV(),a=IV(),o=LV(),s=QI(),c=iL(),l=`[object Map]`,u=`[object Object]`,d=`[object Promise]`,f=`[object Set]`,p=`[object WeakMap]`,m=`[object DataView]`,h=c(n),g=c(r),_=c(i),v=c(a),y=c(o),b=s;(n&&b(new n(new ArrayBuffer(1)))!=m||r&&b(new r)!=l||i&&b(i.resolve())!=d||a&&b(new a)!=f||o&&b(new o)!=p)&&(b=function(e){var t=s(e),n=t==u?e.constructor:void 0,r=n?c(n):``;if(r)switch(r){case h:return m;case g:return l;case _:return d;case v:return f;case y:return p}return t}),t.exports=b})),zV=o(((e,t)=>{var n=QB(),r=iV(),i=cV(),a=NV(),o=RV(),s=JI(),c=vV(),l=wV(),u=1,d=`[object Arguments]`,f=`[object Array]`,p=`[object Object]`,m=Object.prototype.hasOwnProperty;function h(e,t,h,g,_,v){var y=s(e),b=s(t),x=y?f:o(e),S=b?f:o(t);x=x==d?p:x,S=S==d?p:S;var C=x==p,w=S==p,T=x==S;if(T&&c(e)){if(!c(t))return!1;y=!0,C=!1}if(T&&!C)return v||=new n,y||l(e)?r(e,t,h,g,_,v):i(e,t,x,h,g,_,v);if(!(h&u)){var E=C&&m.call(e,`__wrapped__`),D=w&&m.call(t,`__wrapped__`);if(E||D){var O=E?e.value():e,k=D?t.value():t;return v||=new n,_(O,k,h,g,v)}}return T?(v||=new n,a(e,t,h,g,_,v)):!1}t.exports=h})),BV=o(((e,t)=>{var n=zV(),r=$I();function i(e,t,a,o,s){return e===t?!0:e==null||t==null||!r(e)&&!r(t)?e!==e&&t!==t:n(e,t,a,o,i,s)}t.exports=i})),VV=o(((e,t)=>{var n=QB(),r=BV(),i=1,a=2;function o(e,t,o,s){var c=o.length,l=c,u=!s;if(e==null)return!l;for(e=Object(e);c--;){var d=o[c];if(u&&d[2]?d[1]!==e[d[0]]:!(d[0]in e))return!1}for(;++c{var n=nL();function r(e){return e===e&&!n(e)}t.exports=r})),UV=o(((e,t)=>{var n=HV(),r=jV();function i(e){for(var t=r(e),i=t.length;i--;){var a=t[i],o=e[a];t[i]=[a,o,n(o)]}return t}t.exports=i})),WV=o(((e,t)=>{function n(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==void 0||e in Object(n))}}t.exports=n})),GV=o(((e,t)=>{var n=VV(),r=UV(),i=WV();function a(e){var t=r(e);return t.length==1&&t[0][2]?i(t[0][0],t[0][1]):function(r){return r===e||n(r,e,t)}}t.exports=a})),KV=o(((e,t)=>{function n(e,t){return e!=null&&t in Object(e)}t.exports=n})),qV=o(((e,t)=>{var n=gL(),r=gV(),i=JI(),a=yV(),o=bV(),s=_L();function c(e,t,c){t=n(t,e);for(var l=-1,u=t.length,d=!1;++l{var n=KV(),r=qV();function i(e,t){return e!=null&&r(e,t,n)}t.exports=i})),YV=o(((e,t)=>{var n=BV(),r=yL(),i=JV(),a=tL(),o=HV(),s=WV(),c=_L(),l=1,u=2;function d(e,t){return a(e)&&o(t)?s(c(e),t):function(a){var o=r(a,e);return o===void 0&&o===t?i(a,e):n(t,o,l|u)}}t.exports=d})),XV=o(((e,t)=>{function n(e){return e}t.exports=n})),ZV=o(((e,t)=>{function n(e){return function(t){return t?.[e]}}t.exports=n})),QV=o(((e,t)=>{var n=vL();function r(e){return function(t){return n(t,e)}}t.exports=r})),$V=o(((e,t)=>{var n=ZV(),r=QV(),i=tL(),a=_L();function o(e){return i(e)?n(a(e)):r(e)}t.exports=o})),eH=o(((e,t)=>{var n=GV(),r=YV(),i=XV(),a=JI(),o=$V();function s(e){return typeof e==`function`?e:e==null?i:typeof e==`object`?a(e)?r(e[0],e[1]):n(e):o(e)}t.exports=s})),tH=o(((e,t)=>{function n(e,t,n,r){for(var i=e.length,a=n+(r?1:-1);r?a--:++a{function n(e){return e!==e}t.exports=n})),rH=o(((e,t)=>{function n(e,t,n){for(var r=n-1,i=e.length;++r{var n=tH(),r=nH(),i=rH();function a(e,t,a){return t===t?i(e,t,a):n(e,r,a)}t.exports=a})),aH=o(((e,t)=>{var n=iH();function r(e,t){return!!(e!=null&&e.length)&&n(e,t,0)>-1}t.exports=r})),oH=o(((e,t)=>{function n(e,t,n){for(var r=-1,i=e==null?0:e.length;++r{function n(){}t.exports=n})),cH=o(((e,t)=>{var n=IV(),r=sH(),i=sV();t.exports=n&&1/i(new n([,-0]))[1]==1/0?function(e){return new n(e)}:r})),lH=o(((e,t)=>{var n=tV(),r=aH(),i=oH(),a=rV(),o=cH(),s=sV(),c=200;function l(e,t,l){var u=-1,d=r,f=e.length,p=!0,m=[],h=m;if(l)p=!1,d=i;else if(f>=c){var g=t?null:o(e);if(g)return s(g);p=!1,d=a,h=new n}else h=t?[]:m;outer:for(;++u{var n=eH(),r=lH();function i(e,t){return e&&e.length?r(e,n(t,2)):[]}t.exports=i}))());function dH(e,t,n){return t===!0?(0,uH.default)(e,n):(0,XL.default)(t)?(0,uH.default)(e,t):e}function fH(e){"@babel/helpers - typeof";return fH=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},fH(e)}var pH=[`ref`];function mH(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function hH(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function AH(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function jH(e){return e.value}function MH(e,t){if(_.isValidElement(e))return _.cloneElement(e,t);if(typeof e==`function`)return _.createElement(e,t);t.ref;var n=kH(t,pH);return _.createElement(KB,n)}var NH=1,PH=function(e){function t(){var e;gH(this,t);var n=[...arguments];return e=yH(this,t,[].concat(n)),EH(e,`lastBoundingBox`,{width:-1,height:-1}),e}return wH(t,e),vH(t,[{key:`componentDidMount`,value:function(){this.updateBBox()}},{key:`componentDidUpdate`,value:function(){this.updateBBox()}},{key:`getBBox`,value:function(){if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var e=this.wrapperNode.getBoundingClientRect();return e.height=this.wrapperNode.offsetHeight,e.width=this.wrapperNode.offsetWidth,e}return null}},{key:`updateBBox`,value:function(){var e=this.props.onBBoxUpdate,t=this.getBBox();t?(Math.abs(t.width-this.lastBoundingBox.width)>NH||Math.abs(t.height-this.lastBoundingBox.height)>NH)&&(this.lastBoundingBox.width=t.width,this.lastBoundingBox.height=t.height,e&&e(t)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,e&&e(null))}},{key:`getBBoxSnapshot`,value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?hH({},this.lastBoundingBox):{width:0,height:0}}},{key:`getDefaultPosition`,value:function(e){var t=this.props,n=t.layout,r=t.align,i=t.verticalAlign,a=t.margin,o=t.chartWidth,s=t.chartHeight,c,l;if(!e||(e.left===void 0||e.left===null)&&(e.right===void 0||e.right===null))if(r===`center`&&n===`vertical`){var u=this.getBBoxSnapshot();c={left:((o||0)-u.width)/2}}else c=r===`right`?{right:a&&a.right||0}:{left:a&&a.left||0};if(!e||(e.top===void 0||e.top===null)&&(e.bottom===void 0||e.bottom===null))if(i===`middle`){var d=this.getBBoxSnapshot();l={top:((s||0)-d.height)/2}}else l=i===`bottom`?{bottom:a&&a.bottom||0}:{top:a&&a.top||0};return hH(hH({},c),l)}},{key:`render`,value:function(){var e=this,t=this.props,n=t.content,r=t.width,i=t.height,a=t.wrapperStyle,o=t.payloadUniqBy,s=t.payload,c=hH(hH({position:`absolute`,width:r||`auto`,height:i||`auto`},this.getDefaultPosition(a)),a);return _.createElement(`div`,{className:`recharts-legend-wrapper`,style:c,ref:function(t){e.wrapperNode=t}},MH(n,hH(hH({},this.props),{},{payload:dH(s,o,jH)})))}}],[{key:`getWithHeight`,value:function(e,t){var n=hH(hH({},this.defaultProps),e.props).layout;return n===`vertical`&&Q(e.props.height)?{height:e.props.height}:n===`horizontal`?{width:e.props.width||t}:null}}])}(_.PureComponent);EH(PH,`displayName`,`Legend`),EH(PH,`defaultProps`,{iconSize:14,layout:`horizontal`,align:`center`,verticalAlign:`bottom`});var FH=o(((e,t)=>{var n=ZI(),r=gV(),i=JI(),a=n?n.isConcatSpreadable:void 0;function o(e){return i(e)||r(e)||!!(a&&e&&e[a])}t.exports=o})),IH=o(((e,t)=>{var n=lV(),r=FH();function i(e,t,a,o,s){var c=-1,l=e.length;for(a||=r,s||=[];++c0&&a(u)?t>1?i(u,t-1,a,o,s):n(s,u):o||(s[s.length]=u)}return s}t.exports=i})),LH=o(((e,t)=>{function n(e){return function(t,n,r){for(var i=-1,a=Object(t),o=r(t),s=o.length;s--;){var c=o[e?s:++i];if(n(a[c],c,a)===!1)break}return t}}t.exports=n})),RH=o(((e,t)=>{t.exports=LH()()})),zH=o(((e,t)=>{var n=RH(),r=jV();function i(e,t){return e&&n(e,t,r)}t.exports=i})),BH=o(((e,t)=>{var n=AV();function r(e,t){return function(r,i){if(r==null)return r;if(!n(r))return e(r,i);for(var a=r.length,o=t?a:-1,s=Object(r);(t?o--:++o{var n=zH();t.exports=BH()(n)})),HH=o(((e,t)=>{var n=VH(),r=AV();function i(e,t){var i=-1,a=r(e)?Array(e.length):[];return n(e,function(e,n,r){a[++i]=t(e,n,r)}),a}t.exports=i})),UH=o(((e,t)=>{function n(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}t.exports=n})),WH=o(((e,t)=>{var n=eL();function r(e,t){if(e!==t){var r=e!==void 0,i=e===null,a=e===e,o=n(e),s=t!==void 0,c=t===null,l=t===t,u=n(t);if(!c&&!u&&!o&&e>t||o&&s&&l&&!c&&!u||i&&s&&l||!r&&l||!a)return 1;if(!i&&!o&&!u&&e{var n=WH();function r(e,t,r){for(var i=-1,a=e.criteria,o=t.criteria,s=a.length,c=r.length;++i=c?l:l*(r[i]==`desc`?-1:1)}return e.index-t.index}t.exports=r})),KH=o(((e,t)=>{var n=mL(),r=vL(),i=eH(),a=HH(),o=UH(),s=SV(),c=GH(),l=XV(),u=JI();function d(e,t,d){t=t.length?n(t,function(e){return u(e)?function(t){return r(t,e.length===1?e[0]:e)}:e}):[l];var f=-1;return t=n(t,s(i)),o(a(e,function(e,r,i){return{criteria:n(t,function(t){return t(e)}),index:++f,value:e}}),function(e,t){return c(e,t,d)})}t.exports=d})),qH=o(((e,t)=>{function n(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}t.exports=n})),JH=o(((e,t)=>{var n=qH(),r=Math.max;function i(e,t,i){return t=r(t===void 0?e.length-1:t,0),function(){for(var a=arguments,o=-1,s=r(a.length-t,0),c=Array(s);++o{function n(e){return function(){return e}}t.exports=n})),XH=o(((e,t)=>{var n=aL();t.exports=function(){try{var e=n(Object,`defineProperty`);return e({},``,{}),e}catch{}}()})),ZH=o(((e,t)=>{var n=YH(),r=XH(),i=XV();t.exports=r?function(e,t){return r(e,`toString`,{configurable:!0,enumerable:!1,value:n(t),writable:!0})}:i})),QH=o(((e,t)=>{var n=800,r=16,i=Date.now;function a(e){var t=0,a=0;return function(){var o=i(),s=r-(o-a);if(a=o,s>0){if(++t>=n)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}t.exports=a})),$H=o(((e,t)=>{var n=ZH();t.exports=QH()(n)})),eU=o(((e,t)=>{var n=XV(),r=JH(),i=$H();function a(e,t){return i(r(e,t,n),e+``)}t.exports=a})),tU=o(((e,t)=>{var n=sL(),r=AV(),i=yV(),a=nL();function o(e,t,o){if(!a(o))return!1;var s=typeof t;return(s==`number`?r(o)&&i(t,o.length):s==`string`&&t in o)?n(o[t],e):!1}t.exports=o})),nU=l(o(((e,t)=>{var n=IH(),r=KH(),i=eU(),a=tU();t.exports=i(function(e,t){if(e==null)return[];var i=t.length;return i>1&&a(e,t[0],t[1])?t=[]:i>2&&a(t[0],t[1],t[2])&&(t=[t[0]]),r(e,n(t,1),[])})}))());function rU(e){"@babel/helpers - typeof";return rU=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},rU(e)}function iU(){return iU=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n=t.x),`${SU}-left`,Q(n)&&t&&Q(t.x)&&n=t.y),`${SU}-top`,Q(r)&&t&&Q(t.y)&&rc[r]+l?Math.max(u,c[r]):Math.max(d,c[r])}function EU(e){var t=e.translateX,n=e.translateY;return{transform:e.useTranslate3d?`translate3d(${t}px, ${n}px, 0)`:`translate(${t}px, ${n}px)`}}function DU(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.offsetTopLeft,i=e.position,a=e.reverseDirection,o=e.tooltipBox,s=e.useTranslate3d,c=e.viewBox,l,u,d;return o.height>0&&o.width>0&&n?(u=TU({allowEscapeViewBox:t,coordinate:n,key:`x`,offsetTopLeft:r,position:i,reverseDirection:a,tooltipDimension:o.width,viewBox:c,viewBoxDimension:c.width}),d=TU({allowEscapeViewBox:t,coordinate:n,key:`y`,offsetTopLeft:r,position:i,reverseDirection:a,tooltipDimension:o.height,viewBox:c,viewBoxDimension:c.height}),l=EU({translateX:u,translateY:d,useTranslate3d:s})):l=CU,{cssProperties:l,cssClasses:wU({translateX:u,translateY:d,coordinate:n})}}function OU(e){"@babel/helpers - typeof";return OU=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},OU(e)}function kU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function AU(e){for(var t=1;tWU||Math.abs(e.height-this.state.lastBoundingBox.height)>WU)&&this.setState({lastBoundingBox:{width:e.width,height:e.height}})}else (this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,height:-1}})}},{key:`componentDidMount`,value:function(){document.addEventListener(`keydown`,this.handleKeyDown),this.updateBBox()}},{key:`componentWillUnmount`,value:function(){document.removeEventListener(`keydown`,this.handleKeyDown)}},{key:`componentDidUpdate`,value:function(){this.props.active&&this.updateBBox(),this.state.dismissed&&(this.props.coordinate?.x!==this.state.dismissedAtCoordinate.x||this.props.coordinate?.y!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:`render`,value:function(){var e=this,t=this.props,n=t.active,r=t.allowEscapeViewBox,i=t.animationDuration,a=t.animationEasing,o=t.children,s=t.coordinate,c=t.hasPayload,l=t.isAnimationActive,u=t.offset,d=t.position,f=t.reverseDirection,p=t.useTranslate3d,m=t.viewBox,h=t.wrapperStyle,g=DU({allowEscapeViewBox:r,coordinate:s,offsetTopLeft:u,position:d,reverseDirection:f,tooltipBox:this.state.lastBoundingBox,useTranslate3d:p,viewBox:m}),v=g.cssClasses,y=g.cssProperties,b=AU(AU({transition:l&&n?`transform ${i}ms ${a}`:void 0},y),{},{pointerEvents:`none`,visibility:!this.state.dismissed&&n&&c?`visible`:`hidden`,position:`absolute`,top:0,left:0},h);return _.createElement(`div`,{tabIndex:-1,className:v,style:b,ref:function(t){e.wrapperNode=t}},o)}}])}(_.PureComponent),KU={isSsr:function(){return!(typeof window<`u`&&window.document&&window.document.createElement&&window.setTimeout)}(),get:function(e){return KU[e]},set:function(e,t){if(typeof e==`string`)KU[e]=t;else{var n=Object.keys(e);n&&n.length&&n.forEach(function(t){KU[t]=e[t]})}}};function qU(e){"@babel/helpers - typeof";return qU=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},qU(e)}function JU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function YU(e){for(var t=1;t0;return _.createElement(GU,{allowEscapeViewBox:r,animationDuration:i,animationEasing:a,isAnimationActive:l,active:n,coordinate:s,hasPayload:b,offset:u,position:p,reverseDirection:m,useTranslate3d:h,viewBox:g,wrapperStyle:v},uW(o,YU(YU({},this.props),{},{payload:y})))}}])}(_.PureComponent);oW(dW,`displayName`,`Tooltip`),oW(dW,`defaultProps`,{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:`ease`,contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!KU.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:` : `,trigger:`hover`,useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var fW=o(((e,t)=>{var n=XI();t.exports=function(){return n.Date.now()}})),pW=o(((e,t)=>{var n=/\s/;function r(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}t.exports=r})),mW=o(((e,t)=>{var n=pW(),r=/^\s+/;function i(e){return e&&e.slice(0,n(e)+1).replace(r,``)}t.exports=i})),hW=o(((e,t)=>{var n=mW(),r=nL(),i=eL(),a=NaN,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;function u(e){if(typeof e==`number`)return e;if(i(e))return a;if(r(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=r(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=n(e);var u=s.test(e);return u||c.test(e)?l(e.slice(2),u?2:8):o.test(e)?a:+e}t.exports=u})),gW=o(((e,t)=>{var n=nL(),r=fW(),i=hW(),a=`Expected a function`,o=Math.max,s=Math.min;function c(e,t,c){var l,u,d,f,p,m,h=0,g=!1,_=!1,v=!0;if(typeof e!=`function`)throw TypeError(a);t=i(t)||0,n(c)&&(g=!!c.leading,_=`maxWait`in c,d=_?o(i(c.maxWait)||0,t):d,v=`trailing`in c?!!c.trailing:v);function y(t){var n=l,r=u;return l=u=void 0,h=t,f=e.apply(r,n),f}function b(e){return h=e,p=setTimeout(C,t),g?y(e):f}function x(e){var n=e-m,r=e-h,i=t-n;return _?s(i,d-r):i}function S(e){var n=e-m,r=e-h;return m===void 0||n>=t||n<0||_&&r>=d}function C(){var e=r();if(S(e))return w(e);p=setTimeout(C,x(e))}function w(e){return p=void 0,v&&l?y(e):(l=u=void 0,f)}function T(){p!==void 0&&clearTimeout(p),h=0,l=m=u=p=void 0}function E(){return p===void 0?f:w(r())}function D(){var e=r(),n=S(e);if(l=arguments,u=this,m=e,n){if(p===void 0)return b(m);if(_)return clearTimeout(p),p=setTimeout(C,t),y(m)}return p===void 0&&(p=setTimeout(C,t)),f}return D.cancel=T,D.flush=E,D}t.exports=c})),_W=l(o(((e,t)=>{var n=gW(),r=nL(),i=`Expected a function`;function a(e,t,a){var o=!0,s=!0;if(typeof e!=`function`)throw TypeError(i);return r(a)&&(o=`leading`in a?!!a.leading:o,s=`trailing`in a?!!a.trailing:s),n(e,t,{leading:o,maxWait:t,trailing:s})}t.exports=a}))());function vW(e){"@babel/helpers - typeof";return vW=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},vW(e)}function yW(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function bW(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&(e=(0,_W.default)(e,h,{trailing:!0,leading:!1}));var t=new ResizeObserver(e),n=S.current.getBoundingClientRect(),r=n.width,i=n.height;return D(r,i),t.observe(S.current),function(){t.disconnect()}},[D,h]);var O=(0,_.useMemo)(function(){var e=T.containerWidth,t=T.containerHeight;if(e<0||t<0)return null;MR(OL(o)||OL(c),`The width(%s) and height(%s) are both fixed numbers, + maybe you don't need to use a ResponsiveContainer.`,o,c),MR(!n||n>0,`The aspect(%s) must be greater than zero.`,n);var r=OL(o)?e:o,i=OL(c)?t:c;n&&n>0&&(r?i=r/n:i&&(r=i*n),f&&i>f&&(i=f)),MR(r>0||i>0,`The width(%s) and height(%s) of chart should be greater than 0, please check the style of container, or the props width(%s) and height(%s), or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the - height and width.`,r,i,o,c,u,d,n);var a=!Array.isArray(p)&&eR(p.type).endsWith(`Chart`);return _.Children.map(p,function(e){return _.isValidElement(e)?(0,_.cloneElement)(e,gW({width:r,height:i},a?{style:gW({height:`100%`,width:`100%`,maxHeight:i,maxWidth:r},e.props.style)}:{})):e})},[n,p,c,f,d,u,T,o]);return _.createElement(`div`,{id:g?`${g}`:void 0,className:ha(`recharts-responsive-container`,v),style:gW(gW({},x),{},{width:o,height:c,minWidth:u,minHeight:d,maxHeight:f}),ref:S},O)}),DW=function(e){return null};DW.displayName=`Cell`;function OW(e){"@babel/helpers - typeof";return OW=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},OW(e)}function kW(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function AW(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{};if(e==null||HU.isSsr)return{width:0,height:0};var n=RW(t),r=JSON.stringify({text:e,copyStyle:n});if(PW.widthCache[r])return PW.widthCache[r];try{var i=document.getElementById(LW);i||(i=document.createElement(`span`),i.setAttribute(`id`,LW),i.setAttribute(`aria-hidden`,`true`),document.body.appendChild(i));var a=AW(AW({},IW),n);Object.assign(i.style,a),i.textContent=`${e}`;var o=i.getBoundingClientRect(),s={width:o.width,height:o.height};return PW.widthCache[r]=s,++PW.cacheCount>FW&&(PW.cacheCount=0,PW.widthCache={}),s}catch{return{width:0,height:0}}},BW=function(e){return{top:e.top+window.scrollY-document.documentElement.clientTop,left:e.left+window.scrollX-document.documentElement.clientLeft}};function VW(e){"@babel/helpers - typeof";return VW=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},VW(e)}function HW(e,t){return qW(e)||KW(e,t)||WW(e,t)||UW()}function UW(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function WW(e,t){if(e){if(typeof e==`string`)return GW(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return GW(e,t)}}function GW(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function vG(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function yG(e,t){return wG(e)||CG(e,t)||xG(e,t)||bG()}function bG(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xG(e,t){if(e){if(typeof e==`string`)return SG(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return SG(e,t)}}function SG(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&arguments[0]!==void 0?arguments[0]:[]).reduce(function(e,t){var a=t.word,o=t.width,s=e[e.length-1];if(s&&(r==null||i||s.width+o+nt.width?e:t})};if(!l)return f;for(var m=`…`,h=function(e){var t=EG({breakAll:c,style:s,children:u.slice(0,e)+m}).wordsWithComputedWidth,n=d(t);return[n.length>a||p(n).width>Number(r),n]},g=0,_=u.length-1,v=0,y;g<=_&&v<=u.length-1;){var b=Math.floor((g+_)/2),x=yG(h(b-1),2),S=x[0],C=x[1],w=yG(h(b),1)[0];if(!S&&!w&&(g=b+1),S&&w&&(_=b-1),!S&&w){y=C;break}v++}return y||f},OG=function(e){return[{words:(0,SL.default)(e)?[]:e.toString().split(TG)}]},kG=function(e){var t=e.width,n=e.scaleToFit,r=e.children,i=e.style,a=e.breakAll,o=e.maxLines;if((t||n)&&!HU.isSsr){var s,c,l=EG({breakAll:a,children:r,style:i});if(l){var u=l.wordsWithComputedWidth,d=l.spaceWidth;s=u,c=d}else return OG(r);return DG({breakAll:a,children:r,maxLines:o,style:i},s,c,t,n)}return OG(r)},AG=`#808080`,jG=function(e){var t=e.x,n=t===void 0?0:t,r=e.y,i=r===void 0?0:r,a=e.lineHeight,o=a===void 0?`1em`:a,s=e.capHeight,c=s===void 0?`0.71em`:s,l=e.scaleToFit,u=l===void 0?!1:l,d=e.textAnchor,f=d===void 0?`start`:d,p=e.verticalAnchor,m=p===void 0?`end`:p,h=e.fill,g=h===void 0?AG:h,v=_G(e,mG),y=(0,_.useMemo)(function(){return kG({breakAll:v.breakAll,children:v.children,maxLines:v.maxLines,scaleToFit:u,style:v.style,width:v.width})},[v.breakAll,v.children,v.maxLines,u,v.style,v.width]),b=v.dx,x=v.dy,S=v.angle,C=v.className,w=v.breakAll,T=_G(v,hG);if(!EL(n)||!EL(i))return null;var E=n+(Q(b)?b:0),D=i+(Q(x)?x:0),O;switch(m){case`start`:O=pG(`calc(${c})`);break;case`middle`:O=pG(`calc(${(y.length-1)/2} * -${o} + (${c} / 2))`);break;default:O=pG(`calc(${y.length-1} * -${o})`);break}var k=[];if(u){var A=y[0].width,j=v.width;k.push(`scale(${(Q(j)?j/A:1)/A})`)}return S&&k.push(`rotate(${S}, ${E}, ${D})`),k.length&&(T.transform=k.join(` `)),_.createElement(`text`,gG({},dR(T,!0),{x:E,y:D,className:ha(`recharts-text`,C),textAnchor:f,fill:g.includes(`url`)?AG:g}),y.map(function(e,t){var n=e.words.join(w?``:` `);return _.createElement(`tspan`,{x:E,dy:t===0?O:o,key:`${n}-${t}`},n)}))};function MG(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function NG(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function PG(e){let t,n,r;e.length===2?(t=e===MG||e===NG?e:FG,n=e,r=e):(t=MG,n=(t,n)=>MG(e(t),n),r=(t,n)=>e(t)-n);function i(e,r,i=0,a=e.length){if(i>>1;n(e[t],r)<0?i=t+1:a=t}while(i>>1;n(e[t],r)<=0?i=t+1:a=t}while(in&&r(e[o-1],t)>-r(e[o],t)?o-1:o}return{left:i,center:o,right:a}}function FG(){return 0}function IG(e){return e===null?NaN:+e}function*LG(e,t){if(t===void 0)for(let t of e)t!=null&&(t=+t)>=t&&(yield t);else{let n=-1;for(let r of e)(r=t(r,++n,e))!=null&&(r=+r)>=r&&(yield r)}}var RG=PG(MG),zG=RG.right;RG.left,PG(IG).center;var BG=class extends Map{constructor(e,t=WG){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),e!=null)for(let[t,n]of e)this.set(t,n)}get(e){return super.get(VG(this,e))}has(e){return super.has(VG(this,e))}set(e,t){return super.set(HG(this,e),t)}delete(e){return super.delete(UG(this,e))}};function VG({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function HG({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function UG({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function WG(e){return typeof e==`object`&&e?e.valueOf():e}function GG(e=MG){if(e===MG)return KG;if(typeof e!=`function`)throw TypeError(`compare is not a function`);return(t,n)=>{let r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function KG(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et))}var qG=Math.sqrt(50),JG=Math.sqrt(10),YG=Math.sqrt(2);function XG(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=qG?10:a>=JG?5:a>=YG?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/lt&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*lt&&--c),c0))return[];if(e===t)return[e];let r=t=i))return[];let s=a-i+1,c=Array(s);if(r)if(o<0)for(let e=0;e=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n=i)&&(n=i)}return n}function tK(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n>t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function nK(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=i===void 0?KG:GG(i);r>n;){if(r-n>600){let a=r-n+1,o=t-n+1,s=Math.log(a),c=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*c*(a-c)/a)*(o-a/2<0?-1:1),u=Math.max(n,Math.floor(t-o*c/a+l)),d=Math.min(r,Math.floor(t+(a-o)*c/a+l));nK(e,t,u,d,i)}let a=e[t],o=n,s=r;for(rK(e,n,t),i(e[r],a)>0&&rK(e,n,r);o0;)--s}i(e[n],a)===0?rK(e,n,s):(++s,rK(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}return e}function rK(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function iK(e,t,n){if(e=Float64Array.from(LG(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return tK(e);if(t>=1)return eK(e);var r,i=(r-1)*t,a=Math.floor(i),o=eK(nK(e,a).subarray(0,a+1));return o+(tK(e.subarray(a+1))-o)*(i-a)}}function aK(e,t,n=IG){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,a=Math.floor(i),o=+n(e[a],a,e);return o+(+n(e[a+1],a+1,e)-o)*(i-a)}}function oK(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?IK(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?IK(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=CK.exec(e))?new zK(t[1],t[2],t[3],1):(t=wK.exec(e))?new zK(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=TK.exec(e))?IK(t[1],t[2],t[3],t[4]):(t=EK.exec(e))?IK(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=DK.exec(e))?KK(t[1],t[2]/100,t[3]/100,1):(t=OK.exec(e))?KK(t[1],t[2]/100,t[3]/100,t[4]):kK.hasOwnProperty(e)?FK(kK[e]):e===`transparent`?new zK(NaN,NaN,NaN,0):null}function FK(e){return new zK(e>>16&255,e>>8&255,e&255,1)}function IK(e,t,n,r){return r<=0&&(e=t=n=NaN),new zK(e,t,n,r)}function LK(e){return e instanceof gK||(e=PK(e)),e?(e=e.rgb(),new zK(e.r,e.g,e.b,e.opacity)):new zK}function RK(e,t,n,r){return arguments.length===1?LK(e):new zK(e,t,n,r??1)}function zK(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}mK(zK,RK,hK(gK,{brighter(e){return e=e==null?vK:vK**+e,new zK(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?_K:_K**+e,new zK(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new zK(WK(this.r),WK(this.g),WK(this.b),UK(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:BK,formatHex:BK,formatHex8:VK,formatRgb:HK,toString:HK}));function BK(){return`#${GK(this.r)}${GK(this.g)}${GK(this.b)}`}function VK(){return`#${GK(this.r)}${GK(this.g)}${GK(this.b)}${GK((isNaN(this.opacity)?1:this.opacity)*255)}`}function HK(){let e=UK(this.opacity);return`${e===1?`rgb(`:`rgba(`}${WK(this.r)}, ${WK(this.g)}, ${WK(this.b)}${e===1?`)`:`, ${e})`}`}function UK(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function WK(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function GK(e){return e=WK(e),(e<16?`0`:``)+e.toString(16)}function KK(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new YK(e,t,n,r)}function qK(e){if(e instanceof YK)return new YK(e.h,e.s,e.l,e.opacity);if(e instanceof gK||(e=PK(e)),!e)return new YK;if(e instanceof YK)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n0&&c<1?0:o,new YK(o,s,c,e.opacity)}function JK(e,t,n,r){return arguments.length===1?qK(e):new YK(e,t,n,r??1)}function YK(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}mK(YK,JK,hK(gK,{brighter(e){return e=e==null?vK:vK**+e,new YK(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?_K:_K**+e,new YK(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new zK(QK(e>=240?e-240:e+120,i,r),QK(e,i,r),QK(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new YK(XK(this.h),ZK(this.s),ZK(this.l),UK(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=UK(this.opacity);return`${e===1?`hsl(`:`hsla(`}${XK(this.h)}, ${ZK(this.s)*100}%, ${ZK(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function XK(e){return e=(e||0)%360,e<0?e+360:e}function ZK(e){return Math.max(0,Math.min(1,e||0))}function QK(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var $K=e=>()=>e;function eq(e,t){return function(n){return e+n*t}}function tq(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function nq(e){return(e=+e)==1?rq:function(t,n){return n-t?tq(t,n,e):$K(isNaN(t)?n:t)}}function rq(e,t){var n=t-e;return n?eq(e,n):$K(isNaN(e)?t:e)}var iq=(function e(t){var n=nq(t);function r(e,t){var r=n((e=RK(e)).r,(t=RK(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=rq(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function aq(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;in&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:lq(r,i)})),n=fq.lastIndex;return nt&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function Tq(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i2?Eq:Tq,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||=s(e.map(r),t,n))(r(o(i)))}return d.invert=function(n){return o(i((l||=s(t,e.map(r),lq))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,bq),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=_q,u()},d.clamp=function(e){return arguments.length?(o=e?!0:Sq,u()):o!==Sq},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function kq(){return Oq()(Sq,Sq)}function Aq(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function jq(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function Mq(e){return e=jq(Math.abs(e)),e?e[1]:NaN}function Nq(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function Pq(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var Fq=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Iq(e){if(!(t=Fq.exec(e)))throw Error(`invalid format: `+e);var t;return new Lq({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Iq.prototype=Lq.prototype;function Lq(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}Lq.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?`0`:``)+(this.width===void 0?``:Math.max(1,this.width|0))+(this.comma?`,`:``)+(this.precision===void 0?``:`.`+Math.max(0,this.precision|0))+(this.trim?`~`:``)+this.type};function Rq(e){out:for(var t=e.length,n=1,r=-1,i;n0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(i+1):e}var zq;function Bq(e,t){var n=jq(e,t);if(!n)return zq=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(zq=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+jq(e,Math.max(0,t+a-1))[0]}function Vq(e,t){var n=jq(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var Hq={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:Aq,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>Vq(e*100,t),r:Vq,s:Bq,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Uq(e){return e}var Wq=Array.prototype.map,Gq=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function Kq(e){var t=e.grouping===void 0||e.thousands===void 0?Uq:Nq(Wq.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?Uq:Pq(Wq.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e,l){e=Iq(e);var u=e.fill,d=e.align,f=e.sign,p=e.symbol,m=e.zero,h=e.width,g=e.comma,_=e.precision,v=e.trim,y=e.type;y===`n`?(g=!0,y=`g`):Hq[y]||(_===void 0&&(_=12),v=!0,y=`g`),(m||u===`0`&&d===`=`)&&(m=!0,u=`0`,d=`=`);var b=(l&&l.prefix!==void 0?l.prefix:``)+(p===`$`?n:p===`#`&&/[boxX]/.test(y)?`0`+y.toLowerCase():``),x=(p===`$`?r:/[%p]/.test(y)?o:``)+(l&&l.suffix!==void 0?l.suffix:``),S=Hq[y],C=/[defgprs%]/.test(y);_=_===void 0?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function w(e){var n=b,r=x,o,l,p;if(y===`c`)r=S(e)+r,e=``;else{e=+e;var w=e<0||1/e<0;if(e=isNaN(e)?c:S(Math.abs(e),_),v&&(e=Rq(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&zq!==void 0?Gq[8+zq/3]:``)+r+(w&&f===`(`?`)`:``),C){for(o=-1,l=e.length;++op||p>57){r=(p===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}g&&!m&&(e=t(e,1/0));var T=n.length+e.length+r.length,E=T>1)+n+e+r+E.slice(T);break;default:e=E+n+e+r;break}return a(e)}return w.toString=function(){return e+``},w}function u(e,t){var n=Math.max(-8,Math.min(8,Math.floor(Mq(t)/3)))*3,r=10**-n,i=l((e=Iq(e),e.type=`f`,e),{suffix:Gq[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var qq,Jq,Yq;Xq({thousands:`,`,grouping:[3],currency:[`$`,``]});function Xq(e){return qq=Kq(e),Jq=qq.format,Yq=qq.formatPrefix,qq}function Zq(e){return Math.max(0,-Mq(Math.abs(e)))}function Qq(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Mq(t)/3)))*3-Mq(Math.abs(e)))}function $q(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Mq(t)-Mq(e))+1}function eJ(e,t,n,r){var i=$G(e,t,n),a;switch(r=Iq(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=Qq(i,o))&&(r.precision=a),Yq(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=$q(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=Zq(i))&&(r.precision=a-(r.type===`%`)*2);break}return Jq(r)}function tJ(e){var t=e.domain;return e.ticks=function(e){var n=t();return ZG(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return eJ(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??=10;var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s0;){if(l=QG(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function nJ(){var e=kq();return e.copy=function(){return Dq(e,nJ())},sK.apply(e,arguments),tJ(e)}function rJ(e){var t;function n(e){return e==null||isNaN(e=+e)?t:e}return n.invert=n,n.domain=n.range=function(t){return arguments.length?(e=Array.from(t,bq),n):e.slice()},n.unknown=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return rJ(e).unknown(t)},e=arguments.length?Array.from(e,bq):[0,1],tJ(n)}function iJ(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],o;return ae**+t}function dJ(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function fJ(e){return(t,n)=>-e(-t,n)}function pJ(e){let t=e(aJ,oJ),n=t.domain,r=10,i,a;function o(){return i=dJ(r),a=uJ(r),n()[0]<0?(i=fJ(i),a=fJ(a),e(sJ,cJ)):e(aJ,oJ),t}return t.base=function(e){return arguments.length?(r=+e,o()):r},t.domain=function(e){return arguments.length?(n(e),o()):n()},t.ticks=e=>{let t=n(),o=t[0],s=t[t.length-1],c=s0){for(;l<=u;++l)for(d=1;ds)break;m.push(f)}}else for(;l<=u;++l)for(d=r-1;d>=1;--d)if(f=l>0?d/a(-l):d*a(l),!(fs)break;m.push(f)}m.length*2{if(e??=10,n??=r===10?`s`:`,`,typeof n!=`function`&&(!(r%1)&&(n=Iq(n)).precision==null&&(n.trim=!0),n=Jq(n)),e===1/0)return n;let o=Math.max(1,r*e/t.ticks().length);return e=>{let t=e/a(Math.round(i(e)));return t*rn(iJ(n(),{floor:e=>a(Math.floor(i(e))),ceil:e=>a(Math.ceil(i(e)))})),t}function mJ(){let e=pJ(Oq()).domain([1,10]);return e.copy=()=>Dq(e,mJ()).base(e.base()),sK.apply(e,arguments),e}function hJ(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function gJ(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function _J(e){var t=1,n=e(hJ(t),gJ(t));return n.constant=function(n){return arguments.length?e(hJ(t=+n),gJ(t)):t},tJ(n)}function vJ(){var e=_J(Oq());return e.copy=function(){return Dq(e,vJ()).constant(e.constant())},sK.apply(e,arguments)}function yJ(e){return function(t){return t<0?-((-t)**+e):t**+e}}function bJ(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function xJ(e){return e<0?-e*e:e*e}function SJ(e){var t=e(Sq,Sq),n=1;function r(){return n===1?e(Sq,Sq):n===.5?e(bJ,xJ):e(yJ(n),yJ(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},tJ(t)}function CJ(){var e=SJ(Oq());return e.copy=function(){return Dq(e,CJ()).exponent(e.exponent())},sK.apply(e,arguments),e}function wJ(){return CJ.apply(null,arguments).exponent(.5)}function TJ(e){return Math.sign(e)*e*e}function EJ(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function DJ(){var e=kq(),t=[0,1],n=!1,r;function i(t){var i=EJ(e(t));return isNaN(i)?r:n?Math.round(i):i}return i.invert=function(t){return e.invert(TJ(t))},i.domain=function(t){return arguments.length?(e.domain(t),i):e.domain()},i.range=function(n){return arguments.length?(e.range((t=Array.from(n,bq)).map(TJ)),i):t.slice()},i.rangeRound=function(e){return i.range(e).round(!0)},i.round=function(e){return arguments.length?(n=!!e,i):n},i.clamp=function(t){return arguments.length?(e.clamp(t),i):e.clamp()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return DJ(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},sK.apply(i,arguments),tJ(i)}function OJ(){var e=[],t=[],n=[],r;function i(){var r=0,i=Math.max(1,t.length);for(n=Array(i-1);++r0?n[i-1]:e[0],i=n?[r[n-1],t]:[r[o-1],r[o]]},o.unknown=function(e){return arguments.length&&(a=e),o},o.thresholds=function(){return r.slice()},o.copy=function(){return kJ().domain([e,t]).range(i).unknown(a)},sK.apply(tJ(o),arguments)}function AJ(){var e=[.5],t=[0,1],n,r=1;function i(i){return i!=null&&i<=i?t[zG(e,i,0,r)]:n}return i.domain=function(n){return arguments.length?(e=Array.from(n),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(n){return arguments.length?(t=Array.from(n),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(n){var r=t.indexOf(n);return[e[r-1],e[r]]},i.unknown=function(e){return arguments.length?(n=e,i):n},i.copy=function(){return AJ().domain(e).range(t).unknown(n)},sK.apply(i,arguments)}var jJ=new Date,MJ=new Date;function NJ(e,t,n,r){function i(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t(t(e=new Date(+e),n==null?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o=[];if(n=i.ceil(n),a=a==null?1:Math.floor(a),!(n0))return o;let s;do o.push(s=new Date(+n)),t(n,a),e(n);while(sNJ(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e)if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}),n&&(i.count=(t,r)=>(jJ.setTime(+t),MJ.setTime(+r),e(jJ),e(MJ),Math.floor(n(jJ,MJ))),i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i)),i}var PJ=NJ(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);PJ.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?NJ(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):PJ),PJ.range;var FJ=1e3,IJ=FJ*60,LJ=IJ*60,RJ=LJ*24,zJ=RJ*7,BJ=RJ*30,VJ=RJ*365,HJ=NJ(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*FJ)},(e,t)=>(t-e)/FJ,e=>e.getUTCSeconds());HJ.range;var UJ=NJ(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*FJ)},(e,t)=>{e.setTime(+e+t*IJ)},(e,t)=>(t-e)/IJ,e=>e.getMinutes());UJ.range;var WJ=NJ(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*IJ)},(e,t)=>(t-e)/IJ,e=>e.getUTCMinutes());WJ.range;var GJ=NJ(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*FJ-e.getMinutes()*IJ)},(e,t)=>{e.setTime(+e+t*LJ)},(e,t)=>(t-e)/LJ,e=>e.getHours());GJ.range;var KJ=NJ(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*LJ)},(e,t)=>(t-e)/LJ,e=>e.getUTCHours());KJ.range;var qJ=NJ(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*IJ)/RJ,e=>e.getDate()-1);qJ.range;var JJ=NJ(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/RJ,e=>e.getUTCDate()-1);JJ.range;var YJ=NJ(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/RJ,e=>Math.floor(e/RJ));YJ.range;function XJ(e){return NJ(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+t*7)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*IJ)/zJ)}var ZJ=XJ(0),QJ=XJ(1),$J=XJ(2),eY=XJ(3),tY=XJ(4),nY=XJ(5),rY=XJ(6);ZJ.range,QJ.range,$J.range,eY.range,tY.range,nY.range,rY.range;function iY(e){return NJ(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t*7)},(e,t)=>(t-e)/zJ)}var aY=iY(0),oY=iY(1),sY=iY(2),cY=iY(3),lY=iY(4),uY=iY(5),dY=iY(6);aY.range,oY.range,sY.range,cY.range,lY.range,uY.range,dY.range;var fY=NJ(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());fY.range;var pY=NJ(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());pY.range;var mY=NJ(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());mY.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:NJ(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}),mY.range;var hY=NJ(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());hY.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:NJ(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}),hY.range;function gY(e,t,n,r,i,a){let o=[[HJ,1,FJ],[HJ,5,5*FJ],[HJ,15,15*FJ],[HJ,30,30*FJ],[a,1,IJ],[a,5,5*IJ],[a,15,15*IJ],[a,30,30*IJ],[i,1,LJ],[i,3,3*LJ],[i,6,6*LJ],[i,12,12*LJ],[r,1,RJ],[r,2,2*RJ],[n,1,zJ],[t,1,BJ],[t,3,3*BJ],[e,1,VJ]];function s(e,t,n){let r=te).right(o,i);if(a===o.length)return e.every($G(t/VJ,n/VJ,r));if(a===0)return PJ.every(Math.max($G(t,n,r),1));let[s,c]=o[i/o[a-1][2]53)return null;`w`in r||(r.w=1),`Z`in r?(a=SY(CY(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?oY.ceil(a):oY(a),a=JJ.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=xY(CY(r.y,0,1)),o=a.getDay(),a=o>4||o===0?QJ.ceil(a):QJ(a),a=qJ.offset(a,(r.V-1)*7),r.y=a.getFullYear(),r.m=a.getMonth(),r.d=a.getDate()+(r.w+6)%7)}else (`W`in r||`U`in r)&&(`w`in r||(r.w=`u`in r?r.u%7:+(`W`in r)),o=`Z`in r?SY(CY(r.y,0,1)).getUTCDay():xY(CY(r.y,0,1)).getDay(),r.m=0,r.d=`W`in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7);return`Z`in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,SY(r)):xY(r)}}function w(e,t,n,r){for(var i=0,a=t.length,o=n.length,s,c;i=o)return-1;if(s=t.charCodeAt(i++),s===37){if(s=t.charAt(i++),c=x[s in TY?t.charAt(i++):s],!c||(r=c(e,n,r))<0)return-1}else if(s!=n.charCodeAt(r++))return-1}return r}function T(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function D(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1}function O(e,t,n){var r=_.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){var r=h.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1}function A(e,n,r){return w(e,t,n,r)}function j(e,t,r){return w(e,n,t,r)}function M(e,t,n){return w(e,r,t,n)}function N(e){return o[e.getDay()]}function P(e){return a[e.getDay()]}function F(e){return c[e.getMonth()]}function ee(e){return s[e.getMonth()]}function te(e){return i[+(e.getHours()>=12)]}function I(e){return 1+~~(e.getMonth()/3)}function ne(e){return o[e.getUTCDay()]}function re(e){return a[e.getUTCDay()]}function ie(e){return c[e.getUTCMonth()]}function ae(e){return s[e.getUTCMonth()]}function oe(e){return i[+(e.getUTCHours()>=12)]}function se(e){return 1+~~(e.getUTCMonth()/3)}return{format:function(e){var t=S(e+=``,y);return t.toString=function(){return e},t},parse:function(e){var t=C(e+=``,!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+=``,b);return t.toString=function(){return e},t},utcParse:function(e){var t=C(e+=``,!0);return t.toString=function(){return e},t}}}var TY={"-":``,_:` `,0:`0`},EY=/^\s*\d+/,DY=/^%/,OY=/[\\^$*+?|[\]().{}]/g;function kY(e,t,n){var r=e<0?`-`:``,i=(r?-e:e)+``,a=i.length;return r+(a[e.toLowerCase(),t]))}function NY(e,t,n){var r=EY.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function PY(e,t,n){var r=EY.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function FY(e,t,n){var r=EY.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function IY(e,t,n){var r=EY.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function LY(e,t,n){var r=EY.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function RY(e,t,n){var r=EY.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function zY(e,t,n){var r=EY.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function BY(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||`00`)),n+r[0].length):-1}function VY(e,t,n){var r=EY.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function HY(e,t,n){var r=EY.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function UY(e,t,n){var r=EY.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function WY(e,t,n){var r=EY.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function GY(e,t,n){var r=EY.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function KY(e,t,n){var r=EY.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function qY(e,t,n){var r=EY.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function JY(e,t,n){var r=EY.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function YY(e,t,n){var r=EY.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function XY(e,t,n){var r=DY.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function ZY(e,t,n){var r=EY.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function QY(e,t,n){var r=EY.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function $Y(e,t){return kY(e.getDate(),t,2)}function eX(e,t){return kY(e.getHours(),t,2)}function tX(e,t){return kY(e.getHours()%12||12,t,2)}function nX(e,t){return kY(1+qJ.count(mY(e),e),t,3)}function rX(e,t){return kY(e.getMilliseconds(),t,3)}function iX(e,t){return rX(e,t)+`000`}function aX(e,t){return kY(e.getMonth()+1,t,2)}function oX(e,t){return kY(e.getMinutes(),t,2)}function sX(e,t){return kY(e.getSeconds(),t,2)}function cX(e){var t=e.getDay();return t===0?7:t}function lX(e,t){return kY(ZJ.count(mY(e)-1,e),t,2)}function uX(e){var t=e.getDay();return t>=4||t===0?tY(e):tY.ceil(e)}function dX(e,t){return e=uX(e),kY(tY.count(mY(e),e)+(mY(e).getDay()===4),t,2)}function fX(e){return e.getDay()}function pX(e,t){return kY(QJ.count(mY(e)-1,e),t,2)}function mX(e,t){return kY(e.getFullYear()%100,t,2)}function hX(e,t){return e=uX(e),kY(e.getFullYear()%100,t,2)}function gX(e,t){return kY(e.getFullYear()%1e4,t,4)}function _X(e,t){var n=e.getDay();return e=n>=4||n===0?tY(e):tY.ceil(e),kY(e.getFullYear()%1e4,t,4)}function vX(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+kY(t/60|0,`0`,2)+kY(t%60,`0`,2)}function yX(e,t){return kY(e.getUTCDate(),t,2)}function bX(e,t){return kY(e.getUTCHours(),t,2)}function xX(e,t){return kY(e.getUTCHours()%12||12,t,2)}function SX(e,t){return kY(1+JJ.count(hY(e),e),t,3)}function CX(e,t){return kY(e.getUTCMilliseconds(),t,3)}function wX(e,t){return CX(e,t)+`000`}function TX(e,t){return kY(e.getUTCMonth()+1,t,2)}function EX(e,t){return kY(e.getUTCMinutes(),t,2)}function DX(e,t){return kY(e.getUTCSeconds(),t,2)}function OX(e){var t=e.getUTCDay();return t===0?7:t}function kX(e,t){return kY(aY.count(hY(e)-1,e),t,2)}function AX(e){var t=e.getUTCDay();return t>=4||t===0?lY(e):lY.ceil(e)}function jX(e,t){return e=AX(e),kY(lY.count(hY(e),e)+(hY(e).getUTCDay()===4),t,2)}function MX(e){return e.getUTCDay()}function NX(e,t){return kY(oY.count(hY(e)-1,e),t,2)}function PX(e,t){return kY(e.getUTCFullYear()%100,t,2)}function FX(e,t){return e=AX(e),kY(e.getUTCFullYear()%100,t,2)}function IX(e,t){return kY(e.getUTCFullYear()%1e4,t,4)}function LX(e,t){var n=e.getUTCDay();return e=n>=4||n===0?lY(e):lY.ceil(e),kY(e.getUTCFullYear()%1e4,t,4)}function RX(){return`+0000`}function zX(){return`%`}function BX(e){return+e}function VX(e){return Math.floor(e/1e3)}var HX,UX,WX;GX({dateTime:`%x, %X`,date:`%-m/%-d/%Y`,time:`%-I:%M:%S %p`,periods:[`AM`,`PM`],days:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],shortDays:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],months:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],shortMonths:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`]});function GX(e){return HX=wY(e),UX=HX.format,HX.parse,WX=HX.utcFormat,HX.utcParse,HX}function KX(e){return new Date(e)}function qX(e){return e instanceof Date?+e:+new Date(+e)}function JX(e,t,n,r,i,a,o,s,c,l){var u=kq(),d=u.invert,f=u.domain,p=l(`.%L`),m=l(`:%S`),h=l(`%I:%M`),g=l(`%I %p`),_=l(`%a %d`),v=l(`%b %d`),y=l(`%B`),b=l(`%Y`);function x(e){return(c(e)t(r/(e.length-1)))},n.quantiles=function(t){return Array.from({length:t+1},(n,r)=>iK(e,r/t))},n.copy=function(){return iZ(t).domain(e)},cK.apply(n,arguments)}function aZ(){var e=0,t=.5,n=1,r=1,i,a,o,s,c,l=Sq,u,d=!1,f;function p(e){return isNaN(e=+e)?f:(e=.5+((e=+u(e))-a)*(r*edK,scaleDiverging:()=>oZ,scaleDivergingLog:()=>sZ,scaleDivergingPow:()=>lZ,scaleDivergingSqrt:()=>uZ,scaleDivergingSymlog:()=>cZ,scaleIdentity:()=>rJ,scaleImplicit:()=>lK,scaleLinear:()=>nJ,scaleLog:()=>mJ,scaleOrdinal:()=>uK,scalePoint:()=>pK,scalePow:()=>CJ,scaleQuantile:()=>OJ,scaleQuantize:()=>kJ,scaleRadial:()=>DJ,scaleSequential:()=>$X,scaleSequentialLog:()=>eZ,scaleSequentialPow:()=>nZ,scaleSequentialQuantile:()=>iZ,scaleSequentialSqrt:()=>rZ,scaleSequentialSymlog:()=>tZ,scaleSqrt:()=>wJ,scaleSymlog:()=>vJ,scaleThreshold:()=>AJ,scaleTime:()=>YX,scaleUtc:()=>XX,tickFormat:()=>eJ}),fZ=o(((e,t)=>{var n=YI();function r(e,t,r){for(var i=-1,a=e.length;++i{function n(e,t){return e>t}t.exports=n})),mZ=o(((e,t)=>{var n=fZ(),r=pZ(),i=KV();function a(e){return e&&e.length?n(e,i,r):void 0}t.exports=a})),hZ=o(((e,t)=>{function n(e,t){return e{var n=fZ(),r=hZ(),i=KV();function a(e){return e&&e.length?n(e,i,r):void 0}t.exports=a})),_Z=o(((e,t)=>{var n=lL(),r=XV(),i=RH(),a=UI();function o(e,t){return(a(e)?n:i)(e,r(t,3))}t.exports=o})),vZ=o(((e,t)=>{var n=MH(),r=_Z();function i(e,t){return n(r(e,t),1)}t.exports=i})),yZ=o(((e,t)=>{var n=IV();function r(e,t){return n(e,t)}t.exports=r})),bZ=o(((e,t)=>{(function(e){var n=1e9,r={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:`2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286`},i=!0,a=`[DecimalError] `,o=a+`Invalid argument: `,s=a+`Exponent out of range: `,c=Math.floor,l=Math.pow,u=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,d,f=1e7,p=7,m=9007199254740991,h=c(m/p),g={};g.absoluteValue=g.abs=function(){var e=new this.constructor(this);return e.s&&=1,e},g.comparedTo=g.cmp=function(e){var t,n,r,i,a=this;if(e=new a.constructor(e),a.s!==e.s)return a.s||-e.s;if(a.e!==e.e)return a.e>e.e^a.s<0?1:-1;for(r=a.d.length,i=e.d.length,t=0,n=re.d[t]^a.s<0?1:-1;return r===i?0:r>i^a.s<0?1:-1},g.decimalPlaces=g.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*p;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n},g.dividedBy=g.div=function(e){return b(this,new this.constructor(e))},g.dividedToIntegerBy=g.idiv=function(e){var t=this,n=t.constructor;return D(b(t,new n(e),0,1),n.precision)},g.equals=g.eq=function(e){return!this.cmp(e)},g.exponent=function(){return S(this)},g.greaterThan=g.gt=function(e){return this.cmp(e)>0},g.greaterThanOrEqualTo=g.gte=function(e){return this.cmp(e)>=0},g.isInteger=g.isint=function(){return this.e>this.d.length-2},g.isNegative=g.isneg=function(){return this.s<0},g.isPositive=g.ispos=function(){return this.s>0},g.isZero=function(){return this.s===0},g.lessThan=g.lt=function(e){return this.cmp(e)<0},g.lessThanOrEqualTo=g.lte=function(e){return this.cmp(e)<1},g.logarithm=g.log=function(e){var t,n=this,r=n.constructor,o=r.precision,s=o+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(d))throw Error(a+`NaN`);if(n.s<1)throw Error(a+(n.s?`NaN`:`-Infinity`));return n.eq(d)?new r(0):(i=!1,t=b(T(n,s),T(e,s),s),i=!0,D(t,o))},g.minus=g.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?O(t,e):_(t,(e.s=-e.s,e))},g.modulo=g.mod=function(e){var t,n=this,r=n.constructor,o=r.precision;if(e=new r(e),!e.s)throw Error(a+`NaN`);return n.s?(i=!1,t=b(n,e,0,1).times(e),i=!0,n.minus(t)):D(new r(n),o)},g.naturalExponential=g.exp=function(){return x(this)},g.naturalLogarithm=g.ln=function(){return T(this)},g.negated=g.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e},g.plus=g.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?_(t,e):O(t,(e.s=-e.s,e))},g.precision=g.sd=function(e){var t,n,r,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(o+e);if(t=S(i)+1,r=i.d.length-1,n=r*p+1,r=i.d[r],r){for(;r%10==0;r/=10)n--;for(r=i.d[0];r>=10;r/=10)n++}return e&&t>n?t:n},g.squareRoot=g.sqrt=function(){var e,t,n,r,o,s,l,u=this,d=u.constructor;if(u.s<1){if(!u.s)return new d(0);throw Error(a+`NaN`)}for(e=S(u),i=!1,o=Math.sqrt(+u),o==0||o==1/0?(t=y(u.d),(t.length+e)%2==0&&(t+=`0`),o=Math.sqrt(t),e=c((e+1)/2)-(e<0||e%2),o==1/0?t=`5e`+e:(t=o.toExponential(),t=t.slice(0,t.indexOf(`e`)+1)+e),r=new d(t)):r=new d(o.toString()),n=d.precision,o=l=n+3;;)if(s=r,r=s.plus(b(u,s,l+2)).times(.5),y(s.d).slice(0,l)===(t=y(r.d)).slice(0,l)){if(t=t.slice(l-3,l+1),o==l&&t==`4999`){if(D(s,n+1,0),s.times(s).eq(u)){r=s;break}}else if(t!=`9999`)break;l+=4}return i=!0,D(r,n)},g.times=g.mul=function(e){var t,n,r,a,o,s,c,l,u,d=this,p=d.constructor,m=d.d,h=(e=new p(e)).d;if(!d.s||!e.s)return new p(0);for(e.s*=d.s,n=d.e+e.e,l=m.length,u=h.length,l=0;){for(t=0,a=l+r;a>r;)c=o[a]+h[r]*m[a-r-1]+t,o[a--]=c%f|0,t=c/f|0;o[a]=(o[a]+t)%f|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=n,i?D(e,p.precision):e},g.toDecimalPlaces=g.todp=function(e,t){var r=this,i=r.constructor;return r=new i(r),e===void 0?r:(v(e,0,n),t===void 0?t=i.rounding:v(t,0,8),D(r,e+S(r)+1,t))},g.toExponential=function(e,t){var r,i=this,a=i.constructor;return e===void 0?r=k(i,!0):(v(e,0,n),t===void 0?t=a.rounding:v(t,0,8),i=D(new a(i),e+1,t),r=k(i,!0,e+1)),r},g.toFixed=function(e,t){var r,i,a=this,o=a.constructor;return e===void 0?k(a):(v(e,0,n),t===void 0?t=o.rounding:v(t,0,8),i=D(new o(a),e+S(a)+1,t),r=k(i.abs(),!1,e+S(i)+1),a.isneg()&&!a.isZero()?`-`+r:r)},g.toInteger=g.toint=function(){var e=this,t=e.constructor;return D(new t(e),S(e)+1,t.rounding)},g.toNumber=function(){return+this},g.toPower=g.pow=function(e){var t,n,r,o,s,l,u=this,f=u.constructor,h=12,g=+(e=new f(e));if(!e.s)return new f(d);if(u=new f(u),!u.s){if(e.s<1)throw Error(a+`Infinity`);return u}if(u.eq(d))return u;if(r=f.precision,e.eq(d))return D(u,r);if(t=e.e,n=e.d.length-1,l=t>=n,s=u.s,!l){if(s<0)throw Error(a+`NaN`)}else if((n=g<0?-g:g)<=m){for(o=new f(d),t=Math.ceil(r/p+4),i=!1;n%2&&(o=o.times(u),A(o.d,t)),n=c(n/2),n!==0;)u=u.times(u),A(u.d,t);return i=!0,e.s<0?new f(d).div(o):D(o,r)}return s=s<0&&e.d[Math.max(t,n)]&1?-1:1,u.s=1,i=!1,o=e.times(T(u,r+h)),i=!0,o=x(o),o.s=s,o},g.toPrecision=function(e,t){var r,i,a=this,o=a.constructor;return e===void 0?(r=S(a),i=k(a,r<=o.toExpNeg||r>=o.toExpPos)):(v(e,1,n),t===void 0?t=o.rounding:v(t,0,8),a=D(new o(a),e,t),r=S(a),i=k(a,e<=r||r<=o.toExpNeg,e)),i},g.toSignificantDigits=g.tosd=function(e,t){var r=this,i=r.constructor;return e===void 0?(e=i.precision,t=i.rounding):(v(e,1,n),t===void 0?t=i.rounding:v(t,0,8)),D(new i(r),e,t)},g.toString=g.valueOf=g.val=g.toJSON=function(){var e=this,t=S(e),n=e.constructor;return k(e,t<=n.toExpNeg||t>=n.toExpPos)};function _(e,t){var n,r,a,o,s,c,l,u,d=e.constructor,m=d.precision;if(!e.s||!t.s)return t.s||(t=new d(e)),i?D(t,m):t;if(l=e.d,u=t.d,s=e.e,a=t.e,l=l.slice(),o=s-a,o){for(o<0?(r=l,o=-o,c=u.length):(r=u,a=s,c=l.length),s=Math.ceil(m/p),c=s>c?s+1:c+1,o>c&&(o=c,r.length=1),r.reverse();o--;)r.push(0);r.reverse()}for(c=l.length,o=u.length,c-o<0&&(o=c,r=u,u=l,l=r),n=0;o;)n=(l[--o]=l[o]+u[o]+n)/f|0,l[o]%=f;for(n&&(l.unshift(n),++a),c=l.length;l[--c]==0;)l.pop();return t.d=l,t.e=a,i?D(t,m):t}function v(e,t,n){if(e!==~~e||en)throw Error(o+e)}function y(e){var t,n,r,i=e.length-1,a=``,o=e[0];if(i>0){for(a+=o,t=1;tr?1:-1;else for(i=a=0;it[i]?1:-1;break}return a}function n(e,t,n){for(var r=0;n--;)e[n]-=r,r=+(e[n]1;)e.shift()}return function(r,i,o,s){var c,l,u,d,m,h,g,_,v,y,b,x,C,w,T,E,O,k,A=r.constructor,j=r.s==i.s?1:-1,M=r.d,N=i.d;if(!r.s)return new A(r);if(!i.s)throw Error(a+`Division by zero`);for(l=r.e-i.e,O=N.length,T=M.length,g=new A(j),_=g.d=[],u=0;N[u]==(M[u]||0);)++u;if(N[u]>(M[u]||0)&&--l,x=o==null?o=A.precision:s?o+(S(r)-S(i))+1:o,x<0)return new A(0);if(x=x/p+2|0,u=0,O==1)for(d=0,N=N[0],x++;(u1&&(N=e(N,d),M=e(M,d),O=N.length,T=M.length),w=O,v=M.slice(0,O),y=v.length;y=f/2&&++E;do d=0,c=t(N,v,O,y),c<0?(b=v[0],O!=y&&(b=b*f+(v[1]||0)),d=b/E|0,d>1?(d>=f&&(d=f-1),m=e(N,d),h=m.length,y=v.length,c=t(m,v,h,y),c==1&&(d--,n(m,O16)throw Error(s+S(e));if(!e.s)return new m(d);for(t==null?(i=!1,u=h):u=t,c=new m(.03125);e.abs().gte(.1);)e=e.times(c),p+=5;for(r=Math.log(l(2,p))/Math.LN10*2+5|0,u+=r,n=a=o=new m(d),m.precision=u;;){if(a=D(a.times(e),u),n=n.times(++f),c=o.plus(b(a,n,u)),y(c.d).slice(0,u)===y(o.d).slice(0,u)){for(;p--;)o=D(o.times(o),u);return m.precision=h,t==null?(i=!0,D(o,h)):o}o=c}}function S(e){for(var t=e.e*p,n=e.d[0];n>=10;n/=10)t++;return t}function C(e,t,n){if(t>e.LN10.sd())throw i=!0,n&&(e.precision=n),Error(a+`LN10 precision limit exceeded`);return D(new e(e.LN10),t)}function w(e){for(var t=``;e--;)t+=`0`;return t}function T(e,t){var n,r,o,s,c,l,u,f,p,m=1,h=10,g=e,_=g.d,v=g.constructor,x=v.precision;if(g.s<1)throw Error(a+(g.s?`NaN`:`-Infinity`));if(g.eq(d))return new v(0);if(t==null?(i=!1,f=x):f=t,g.eq(10))return t??(i=!0),C(v,f);if(f+=h,v.precision=f,n=y(_),r=n.charAt(0),s=S(g),Math.abs(s)<0x5543df729c000){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)g=g.times(e),n=y(g.d),r=n.charAt(0),m++;s=S(g),r>1?(g=new v(`0.`+n),s++):g=new v(r+`.`+n.slice(1))}else return u=C(v,f+2,x).times(s+``),g=T(new v(r+`.`+n.slice(1)),f-h).plus(u),v.precision=x,t==null?(i=!0,D(g,x)):g;for(l=c=g=b(g.minus(d),g.plus(d),f),p=D(g.times(g),f),o=3;;){if(c=D(c.times(p),f),u=l.plus(b(c,new v(o),f)),y(u.d).slice(0,f)===y(l.d).slice(0,f))return l=l.times(2),s!==0&&(l=l.plus(C(v,f+2,x).times(s+``))),l=b(l,new v(m),f),v.precision=x,t==null?(i=!0,D(l,x)):l;l=u,o+=2}}function E(e,t){var n,r,a;for((n=t.indexOf(`.`))>-1&&(t=t.replace(`.`,``)),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;)++r;for(a=t.length;t.charCodeAt(a-1)===48;)--a;if(t=t.slice(r,a),t){if(a-=r,n=n-r-1,e.e=c(n/p),e.d=[],r=(n+1)%p,n<0&&(r+=p),rh||e.e<-h))throw Error(s+n)}else e.s=0,e.e=0,e.d=[0];return e}function D(e,t,n){var r,a,o,u,d,m,g,_,v=e.d;for(u=1,o=v[0];o>=10;o/=10)u++;if(r=t-u,r<0)r+=p,a=t,g=v[_=0];else{if(_=Math.ceil((r+1)/p),o=v.length,_>=o)return e;for(g=o=v[_],u=1;o>=10;o/=10)u++;r%=p,a=r-p+u}if(n!==void 0&&(o=l(10,u-a-1),d=g/o%10|0,m=t<0||v[_+1]!==void 0||g%o,m=n<4?(d||m)&&(n==0||n==(e.s<0?3:2)):d>5||d==5&&(n==4||m||n==6&&(r>0?a>0?g/l(10,u-a):0:v[_-1])%10&1||n==(e.s<0?8:7))),t<1||!v[0])return m?(o=S(e),v.length=1,t=t-o-1,v[0]=l(10,(p-t%p)%p),e.e=c(-t/p)||0):(v.length=1,v[0]=e.e=e.s=0),e;if(r==0?(v.length=_,o=1,_--):(v.length=_+1,o=l(10,p-r),v[_]=a>0?(g/l(10,u-a)%l(10,a)|0)*o:0),m)for(;;)if(_==0){(v[0]+=o)==f&&(v[0]=1,++e.e);break}else{if(v[_]+=o,v[_]!=f)break;v[_--]=0,o=1}for(r=v.length;v[--r]===0;)v.pop();if(i&&(e.e>h||e.e<-h))throw Error(s+S(e));return e}function O(e,t){var n,r,a,o,s,c,l,u,d,m,h=e.constructor,g=h.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new h(e),i?D(t,g):t;if(l=e.d,m=t.d,r=t.e,u=e.e,l=l.slice(),s=u-r,s){for(d=s<0,d?(n=l,s=-s,c=m.length):(n=m,r=u,c=l.length),a=Math.max(Math.ceil(g/p),c)+2,s>a&&(s=a,n.length=1),n.reverse(),a=s;a--;)n.push(0);n.reverse()}else{for(a=l.length,c=m.length,d=a0;--a)l[c++]=0;for(a=m.length;a>s;){if(l[--a]0?a=a.charAt(0)+`.`+a.slice(1)+w(r):o>1&&(a=a.charAt(0)+`.`+a.slice(1)),a=a+(i<0?`e`:`e+`)+i):i<0?(a=`0.`+w(-i-1)+a,n&&(r=n-o)>0&&(a+=w(r))):i>=o?(a+=w(i+1-o),n&&(r=n-i-1)>0&&(a=a+`.`+w(r))):((r=i+1)0&&(i+1===o&&(a+=`.`),a+=w(r))),e.s<0?`-`+a:a}function A(e,t){if(e.length>t)return e.length=t,!0}function j(e){var t,n,r;function i(e){var t=this;if(!(t instanceof i))return new i(e);if(t.constructor=i,e instanceof i){t.s=e.s,t.e=e.e,t.d=(e=e.d)?e.slice():e;return}if(typeof e==`number`){if(e*0!=0)throw Error(o+e);if(e>0)t.s=1;else if(e<0)e=-e,t.s=-1;else{t.s=0,t.e=0,t.d=[0];return}if(e===~~e&&e<1e7){t.e=0,t.d=[e];return}return E(t,e.toString())}else if(typeof e!=`string`)throw Error(o+e);if(e.charCodeAt(0)===45?(e=e.slice(1),t.s=-1):t.s=1,u.test(e))E(t,e);else throw Error(o+e)}if(i.prototype=g,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=j,i.config=i.set=M,e===void 0&&(e={}),e)for(r=[`precision`,`rounding`,`toExpNeg`,`toExpPos`,`LN10`],t=0;t=s[t+1]&&i<=s[t+2])this[r]=i;else throw Error(o+r+`: `+i);if((i=e[r=`LN10`])!==void 0)if(i==Math.LN10)this[r]=new this(i);else throw Error(o+r+`: `+i);return this}r=j(r),r.default=r.Decimal=r,d=new r(1),typeof define==`function`&&define.amd?define(function(){return r}):t!==void 0&&t.exports?t.exports=r:(e||=typeof self<`u`&&self&&self.self==self?self:Function(`return this`)(),e.Decimal=r)})(e)}));function xZ(e){return TZ(e)||wZ(e)||CZ(e)||SZ()}function SZ(){throw TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function CZ(e,t){if(e){if(typeof e==`string`)return EZ(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return EZ(e,t)}}function wZ(e){if(typeof Symbol<`u`&&Symbol.iterator in Object(e))return Array.from(e)}function TZ(e){if(Array.isArray(e))return EZ(e)}function EZ(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=t?n.apply(void 0,r):e(t-i,AZ(function(){var e=[...arguments],t=r.map(function(t){return kZ(t)?e.shift():t});return n.apply(void 0,xZ(t).concat(e))}))})},MZ=function(e){return jZ(e.length,e)},NZ=function(e,t){for(var n=[],r=e;re.length)&&(t=e.length);for(var n=0,r=Array(t);n`u`||!(Symbol.iterator in Object(e)))){var n=[],r=!0,i=!1,a=void 0;try{for(var o=e[Symbol.iterator](),s;!(r=(s=o.next()).done)&&(n.push(s.value),!(t&&n.length===t));r=!0);}catch(e){i=!0,a=e}finally{try{!r&&o.return!=null&&o.return()}finally{if(i)throw a}}return n}}function ZZ(e){if(Array.isArray(e))return e}function QZ(e){var t=KZ(e,2),n=t[0],r=t[1],i=n,a=r;return n>r&&(i=r,a=n),[i,a]}function $Z(e,t,n){if(e.lte(0))return new RZ.default(0);var r=VZ.getDigitCount(e.toNumber()),i=new RZ.default(10).pow(r),a=e.div(i),o=r===1?.1:.05,s=new RZ.default(Math.ceil(a.div(o).toNumber())).add(n).mul(o).mul(i);return t?s:new RZ.default(Math.ceil(s))}function eQ(e,t,n){var r=1,i=new RZ.default(e);if(!i.isint()&&n){var a=Math.abs(e);a<1?(r=new RZ.default(10).pow(VZ.getDigitCount(e)-1),i=new RZ.default(Math.floor(i.div(r).toNumber())).mul(r)):a>1&&(i=new RZ.default(Math.floor(e)))}else e===0?i=new RZ.default(Math.floor((t-1)/2)):n||(i=new RZ.default(Math.floor(e)));var o=Math.floor((t-1)/2);return FZ(PZ(function(e){return i.add(new RZ.default(e-o).mul(r)).toNumber()}),NZ)(0,t)}function tQ(e,t,n,r){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((t-e)/(n-1)))return{step:new RZ.default(0),tickMin:new RZ.default(0),tickMax:new RZ.default(0)};var a=$Z(new RZ.default(t).sub(e).div(n-1),r,i),o;e<=0&&t>=0?o=new RZ.default(0):(o=new RZ.default(e).add(t).div(2),o=o.sub(new RZ.default(o).mod(a)));var s=Math.ceil(o.sub(e).div(a).toNumber()),c=Math.ceil(new RZ.default(t).sub(o).div(a).toNumber()),l=s+c+1;return l>n?tQ(e,t,n,r,i+1):(l0?c+(n-l):c,s=t>0?s:s+(n-l)),{step:a,tickMin:o.sub(new RZ.default(s).mul(a)),tickMax:o.add(new RZ.default(c).mul(a))})}function nQ(e){var t=KZ(e,2),n=t[0],r=t[1],i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=Math.max(i,2),s=KZ(QZ([n,r]),2),c=s[0],l=s[1];if(c===-1/0||l===1/0){var u=l===1/0?[c].concat(HZ(NZ(0,i-1).map(function(){return 1/0}))):[].concat(HZ(NZ(0,i-1).map(function(){return-1/0})),[l]);return n>r?IZ(u):u}if(c===l)return eQ(c,i,a);var d=tQ(c,l,o,a),f=d.step,p=d.tickMin,m=d.tickMax,h=VZ.rangeStep(p,m.add(new RZ.default(.1).mul(f)),f);return n>r?IZ(h):h}function rQ(e,t){var n=KZ(e,2),r=n[0],i=n[1],a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=KZ(QZ([r,i]),2),s=o[0],c=o[1];if(s===-1/0||c===1/0)return[r,i];if(s===c)return[s];var l=Math.max(t,2),u=$Z(new RZ.default(c).sub(s).div(l-1),a,0),d=[].concat(HZ(VZ.rangeStep(new RZ.default(s),new RZ.default(c).sub(new RZ.default(.99).mul(u)),u)),[c]);return r>i?IZ(d):d}var iQ=LZ(nQ),aQ=LZ(rQ),oQ=!0,sQ=`Invariant failed`;function cQ(e,t){if(!e){if(oQ)throw Error(sQ);var n=typeof t==`function`?t():t,r=n?`${sQ}: ${n}`:sQ;throw Error(r)}}var lQ=[`offset`,`layout`,`width`,`dataKey`,`data`,`dataPointFormatter`,`xAxis`,`yAxis`];function uQ(e){"@babel/helpers - typeof";return uQ=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},uQ(e)}function dQ(){return dQ=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function yQ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function bQ(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function xQ(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);n1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,i=-1,a=t?.length??0;if(a<=1)return 0;if(r&&r.axisType===`angleAxis`&&Math.abs(Math.abs(r.range[1]-r.range[0])-360)<=1e-6)for(var o=r.range,s=0;s0?n[s-1].coordinate:n[a-1].coordinate,l=n[s].coordinate,u=s>=a-1?n[0].coordinate:n[s+1].coordinate,d=void 0;if(CL(l-c)!==CL(u-l)){var f=[];if(CL(u-l)===CL(o[1]-o[0])){d=u;var p=l+o[1]-o[0];f[0]=Math.min(p,(p+c)/2),f[1]=Math.max(p,(p+c)/2)}else{d=c;var m=u+o[1]-o[0];f[0]=Math.min(l,(m+l)/2),f[1]=Math.max(l,(m+l)/2)}var h=[Math.min(l,(d+l)/2),Math.max(l,(d+l)/2)];if(e>h[0]&&e<=h[1]||e>=f[0]&&e<=f[1]){i=n[s].index;break}}else{var g=Math.min(c,u),_=Math.max(c,u);if(e>(g+l)/2&&e<=(_+l)/2){i=n[s].index;break}}}else for(var v=0;v0&&v(t[v].coordinate+t[v-1].coordinate)/2&&e<=(t[v].coordinate+t[v+1].coordinate)/2||v===a-1&&e>(t[v].coordinate+t[v-1].coordinate)/2){i=t[v].index;break}return i},o$=function(e){var t,n=e.type.displayName,r=(t=e.type)!=null&&t.defaultProps?$Q($Q({},e.type.defaultProps),e.props):e.props,i=r.stroke,a=r.fill,o;switch(n){case`Line`:o=i;break;case`Area`:case`Radar`:o=i&&i!==`none`?i:a;break;default:o=a;break}return o},s$=function(e){var t=e.barSize,n=e.totalSize,r=e.stackGroups,i=r===void 0?{}:r;if(!i)return{};for(var a={},o=Object.keys(i),s=0,c=o.length;s=0});if(g&&g.length){var _=g[0].type.defaultProps,v=_===void 0?g[0].props:$Q($Q({},_),g[0].props),y=v.barSize,b=v[h];a[b]||(a[b]=[]);var x=(0,SL.default)(y)?t:y;a[b].push({item:g[0],stackList:g.slice(1),barSize:(0,SL.default)(x)?void 0:kL(x,n,0)})}}return a},c$=function(e){var t=e.barGap,n=e.barCategoryGap,r=e.bandSize,i=e.sizeList,a=i===void 0?[]:i,o=e.maxBarSize,s=a.length;if(s<1)return null;var c=kL(t,r,0,!0),l,u=[];if(a[0].barSize===+a[0].barSize){var d=!1,f=r/s,p=a.reduce(function(e,t){return e+t.barSize||0},0);p+=(s-1)*c,p>=r&&(p-=(s-1)*c,c=0),p>=r&&f>0&&(d=!0,f*=.9,p=s*f);var m={offset:((r-p)/2>>0)-c,size:0};l=a.reduce(function(e,t){var n={item:t.item,position:{offset:m.offset+m.size+c,size:d?f:t.barSize}},r=[].concat(KQ(e),[n]);return m=r[r.length-1].position,t.stackList&&t.stackList.length&&t.stackList.forEach(function(e){r.push({item:e,position:m})}),r},u)}else{var h=kL(n,r,0,!0);r-2*h-(s-1)*c<=0&&(c=0);var g=(r-2*h-(s-1)*c)/s;g>1&&(g>>=0);var _=o===+o?Math.min(g,o):g;l=a.reduce(function(e,t,n){var r=[].concat(KQ(e),[{item:t.item,position:{offset:h+(g+c)*n+(g-_)/2,size:_}}]);return t.stackList&&t.stackList.length&&t.stackList.forEach(function(e){r.push({item:e,position:r[r.length-1].position})}),r},u)}return l},l$=function(e,t,n,r){var i=n.children,a=n.width,o=n.margin,s=BQ({children:i,legendWidth:a-(o.left||0)-(o.right||0)});if(s){var c=r||{},l=c.width,u=c.height,d=s.align,f=s.verticalAlign,p=s.layout;if((p===`vertical`||p===`horizontal`&&f===`middle`)&&d!==`center`&&Q(e[d]))return $Q($Q({},e),{},e$({},d,e[d]+(l||0)));if((p===`horizontal`||p===`vertical`&&d===`center`)&&f!==`middle`&&Q(e[f]))return $Q($Q({},e),{},e$({},f,e[f]+(u||0)))}return e},u$=function(e,t,n){return(0,SL.default)(t)?!0:e===`horizontal`?t===`yAxis`:e===`vertical`||n===`x`?t===`xAxis`:n===`y`?t===`yAxis`:!0},d$=function(e,t,n,r,i){var a=t.props.children,o=iR(a,NQ).filter(function(e){return u$(r,i,e.props.direction)});if(o&&o.length){var s=o.map(function(e){return e.props.dataKey});return e.reduce(function(e,t){var r=r$(t,n);if((0,SL.default)(r))return e;var i=Array.isArray(r)?[(0,HQ.default)(r),(0,VQ.default)(r)]:[r,r],a=s.reduce(function(e,n){var r=r$(t,n,0),a=i[0]-Math.abs(Array.isArray(r)?r[0]:r),o=i[1]+Math.abs(Array.isArray(r)?r[1]:r);return[Math.min(a,e[0]),Math.max(o,e[1])]},[1/0,-1/0]);return[Math.min(a[0],e[0]),Math.max(a[1],e[1])]},[1/0,-1/0])}return null},f$=function(e,t,n,r,i){var a=t.map(function(t){return d$(e,t,n,i,r)}).filter(function(e){return!(0,SL.default)(e)});return a&&a.length?a.reduce(function(e,t){return[Math.min(e[0],t[0]),Math.max(e[1],t[1])]},[1/0,-1/0]):null},p$=function(e,t,n,r,i){var a=t.map(function(t){var a=t.props.dataKey;return n===`number`&&a&&d$(e,t,a,r)||i$(e,a,n,i)});if(n===`number`)return a.reduce(function(e,t){return[Math.min(e[0],t[0]),Math.max(e[1],t[1])]},[1/0,-1/0]);var o={};return a.reduce(function(e,t){for(var n=0,r=t.length;n=2?CL(o[0]-o[1])*2*c:c,t&&(e.ticks||e.niceTicks)?(e.ticks||e.niceTicks).map(function(e){return{coordinate:r(i?i.indexOf(e):e)+c,value:e,offset:c}}).filter(function(e){return!(0,yL.default)(e.coordinate)}):e.isCategorical&&e.categoricalDomain?e.categoricalDomain.map(function(e,t){return{coordinate:r(e)+c,value:e,index:t,offset:c}}):r.ticks&&!n?r.ticks(e.tickCount).map(function(e){return{coordinate:r(e)+c,value:e,offset:c}}):r.domain().map(function(e,t){return{coordinate:r(e)+c,value:i?i[e]:e,index:t,offset:c}})},g$=new WeakMap,_$=function(e,t){if(typeof t!=`function`)return e;g$.has(e)||g$.set(e,new WeakMap);var n=g$.get(e);if(n.has(t))return n.get(t);var r=function(){e.apply(void 0,arguments),t.apply(void 0,arguments)};return n.set(t,r),r},v$=function(e,t,n){var r=e.scale,i=e.type,a=e.layout,o=e.axisType;if(r===`auto`)return a===`radial`&&o===`radiusAxis`?{scale:dK(),realScaleType:`band`}:a===`radial`&&o===`angleAxis`?{scale:nJ(),realScaleType:`linear`}:i===`category`&&t&&(t.indexOf(`LineChart`)>=0||t.indexOf(`AreaChart`)>=0||t.indexOf(`ComposedChart`)>=0&&!n)?{scale:pK(),realScaleType:`point`}:i===`category`?{scale:dK(),realScaleType:`band`}:{scale:nJ(),realScaleType:`linear`};if((0,vL.default)(r)){var s=`scale${(0,sB.default)(r)}`;return{scale:(dZ[s]||pK)(),realScaleType:dZ[s]?s:`point`}}return(0,KL.default)(r)?{scale:r}:{scale:pK(),realScaleType:`point`}},y$=1e-4,b$=function(e){var t=e.domain();if(!(!t||t.length<=2)){var n=t.length,r=e.range(),i=Math.min(r[0],r[1])-y$,a=Math.max(r[0],r[1])+y$,o=e(t[0]),s=e(t[n-1]);(oa||sa)&&e.domain([t[0],t[n-1]])}},x$=function(e,t){if(!e)return null;for(var n=0,r=e.length;nr)&&(i[1]=r),i[0]>r&&(i[0]=r),i[1]=0?(e[o][n][0]=i,e[o][n][1]=i+s,i=e[o][n][1]):(e[o][n][0]=a,e[o][n][1]=a+s,a=e[o][n][1])}},expand:iB,none:$z,silhouette:aB,wiggle:oB,positive:function(e){var t=e.length;if(!(t<=0))for(var n=0,r=e[0].length;n=0?(e[a][n][0]=i,e[a][n][1]=i+o,i=e[a][n][1]):(e[a][n][0]=0,e[a][n][1]=0)}}},w$=function(e,t,n){var r=t.map(function(e){return e.props.dataKey}),i=C$[n];return rB().keys(r).value(function(e,t){return+r$(e,t,0)}).order(eB).offset(i)(e)},T$=function(e,t,n,r,i,a){if(!e)return null;var o=(a?t.reverse():t).reduce(function(e,t){var i,a=(i=t.type)!=null&&i.defaultProps?$Q($Q({},t.type.defaultProps),t.props):t.props,o=a.stackId;if(a.hide)return e;var s=a[n],c=e[s]||{hasStack:!1,stackGroups:{}};if(EL(o)){var l=c.stackGroups[o]||{numericAxisId:n,cateAxisId:r,items:[]};l.items.push(t),c.hasStack=!0,c.stackGroups[o]=l}else c.stackGroups[OL(`_stackId_`)]={numericAxisId:n,cateAxisId:r,items:[t]};return $Q($Q({},e),{},e$({},s,c))},{});return Object.keys(o).reduce(function(t,a){var s=o[a];return s.hasStack&&(s.stackGroups=Object.keys(s.stackGroups).reduce(function(t,a){var o=s.stackGroups[a];return $Q($Q({},t),{},e$({},a,{numericAxisId:n,cateAxisId:r,items:o.items,stackedData:w$(e,o.items,i)}))},{})),$Q($Q({},t),{},e$({},a,s))},{})},E$=function(e,t){var n=t.realScaleType,r=t.type,i=t.tickCount,a=t.originalDomain,o=t.allowDecimals,s=n||t.scale;if(s!==`auto`&&s!==`linear`)return null;if(i&&r===`number`&&a&&(a[0]===`auto`||a[1]===`auto`)){var c=e.domain();if(!c.length)return null;var l=iQ(c,i,o);return e.domain([(0,HQ.default)(l),(0,VQ.default)(l)]),{niceTicks:l}}return i&&r===`number`?{niceTicks:aQ(e.domain(),i,o)}:null};function D$(e){var t=e.axis,n=e.ticks,r=e.bandSize,i=e.entry,a=e.index,o=e.dataKey;if(t.type===`category`){if(!t.allowDuplicatedCategory&&t.dataKey&&!(0,SL.default)(i[t.dataKey])){var s=NL(n,`value`,i[t.dataKey]);if(s)return s.coordinate+r/2}return n[a]?n[a].coordinate+r/2:null}var c=r$(i,(0,SL.default)(o)?t.dataKey:o);return(0,SL.default)(c)?null:t.scale(c)}var O$=function(e){var t=e.axis,n=e.ticks,r=e.offset,i=e.bandSize,a=e.entry,o=e.index;if(t.type===`category`)return n[o]?n[o].coordinate+r:null;var s=r$(a,t.dataKey,t.domain[o]);return(0,SL.default)(s)?null:t.scale(s)-i/2+r},k$=function(e){var t=e.numericAxis,n=t.scale.domain();if(t.type===`number`){var r=Math.min(n[0],n[1]),i=Math.max(n[0],n[1]);return r<=0&&i>=0?0:i<0?i:r}return n[0]},A$=function(e,t){var n,r=((n=e.type)!=null&&n.defaultProps?$Q($Q({},e.type.defaultProps),e.props):e.props).stackId;if(EL(r)){var i=t[r];if(i){var a=i.items.indexOf(e);return a>=0?i.stackedData[a]:null}}return null},j$=function(e){return e.reduce(function(e,t){return[(0,HQ.default)(t.concat([e[0]]).filter(Q)),(0,VQ.default)(t.concat([e[1]]).filter(Q))]},[1/0,-1/0])},M$=function(e,t,n){return Object.keys(e).reduce(function(r,i){var a=e[i].stackedData.reduce(function(e,r){var i=j$(r.slice(t,n+1));return[Math.min(e[0],i[0]),Math.max(e[1],i[1])]},[1/0,-1/0]);return[Math.min(a[0],r[0]),Math.max(a[1],r[1])]},[1/0,-1/0]).map(function(e){return e===1/0||e===-1/0?0:e})},N$=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,P$=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,F$=function(e,t,n){if((0,KL.default)(e))return e(t,n);if(!Array.isArray(e))return t;var r=[];if(Q(e[0]))r[0]=n?e[0]:Math.min(e[0],t[0]);else if(N$.test(e[0])){var i=+N$.exec(e[0])[1];r[0]=t[0]-i}else (0,KL.default)(e[0])?r[0]=e[0](t[0]):r[0]=t[0];if(Q(e[1]))r[1]=n?e[1]:Math.max(e[1],t[1]);else if(P$.test(e[1])){var a=+P$.exec(e[1])[1];r[1]=t[1]+a}else (0,KL.default)(e[1])?r[1]=e[1](t[1]):r[1]=t[1];return r},I$=function(e,t,n){if(e&&e.scale&&e.scale.bandwidth){var r=e.scale.bandwidth();if(!n||r>0)return r}if(e&&t&&t.length>=2){for(var i=(0,QH.default)(t,function(e){return e.coordinate}),a=1/0,o=1,s=i.length;oa&&(c=2*Math.PI-c),{radius:o,angle:hne(c),angleInRadian:c}},Y$=function(e){var t=e.startAngle,n=e.endAngle,r=Math.floor(t/360),i=Math.floor(n/360),a=Math.min(r,i);return{startAngle:t-a*360,endAngle:n-a*360}},X$=function(e,t){var n=t.startAngle,r=t.endAngle,i=Math.floor(n/360),a=Math.floor(r/360);return e+Math.min(i,a)*360},Z$=function(e,t){var n=e.x,r=e.y,i=J$({x:n,y:r},t),a=i.radius,o=i.angle,s=t.innerRadius,c=t.outerRadius;if(ac)return!1;if(a===0)return!0;var l=Y$(t),u=l.startAngle,d=l.endAngle,f=o,p;if(u<=d){for(;f>d;)f-=360;for(;f=u&&f<=d}else{for(;f>u;)f-=360;for(;f=d&&f<=u}return p?V$(V$({},t),{},{radius:a,angle:X$(f,t)}):null};function Q$(e){"@babel/helpers - typeof";return Q$=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Q$(e)}var $$=[`offset`];function e1(e){return i1(e)||r1(e)||n1(e)||t1()}function t1(){throw TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function n1(e,t){if(e){if(typeof e==`string`)return a1(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a1(e,t)}}function r1(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function i1(e){if(Array.isArray(e))return a1(e)}function a1(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function s1(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function c1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function l1(e){for(var t=1;t=0?1:-1,y,b;r===`insideStart`?(y=f+v*a,b=m):r===`insideEnd`?(y=p-v*a,b=!m):r===`end`&&(y=p+v*a,b=m),b=g<=0?b:!b;var x=K$(c,l,h,y),S=K$(c,l,h,y+(b?1:-1)*359),C=`M${x.x},${x.y} + height and width.`,r,i,o,c,u,d,n);var a=!Array.isArray(p)&&iR(p.type).endsWith(`Chart`);return _.Children.map(p,function(e){return _.isValidElement(e)?(0,_.cloneElement)(e,bW({width:r,height:i},a?{style:bW({height:`100%`,width:`100%`,maxHeight:i,maxWidth:r},e.props.style)}:{})):e})},[n,p,c,f,d,u,T,o]);return _.createElement(`div`,{id:g?`${g}`:void 0,className:ha(`recharts-responsive-container`,v),style:bW(bW({},x),{},{width:o,height:c,minWidth:u,minHeight:d,maxHeight:f}),ref:S},O)}),jW=function(e){return null};jW.displayName=`Cell`;function MW(e){"@babel/helpers - typeof";return MW=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},MW(e)}function NW(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function PW(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{};if(e==null||KU.isSsr)return{width:0,height:0};var n=HW(t),r=JSON.stringify({text:e,copyStyle:n});if(RW.widthCache[r])return RW.widthCache[r];try{var i=document.getElementById(VW);i||(i=document.createElement(`span`),i.setAttribute(`id`,VW),i.setAttribute(`aria-hidden`,`true`),document.body.appendChild(i));var a=PW(PW({},BW),n);Object.assign(i.style,a),i.textContent=`${e}`;var o=i.getBoundingClientRect(),s={width:o.width,height:o.height};return RW.widthCache[r]=s,++RW.cacheCount>zW&&(RW.cacheCount=0,RW.widthCache={}),s}catch{return{width:0,height:0}}},WW=function(e){return{top:e.top+window.scrollY-document.documentElement.clientTop,left:e.left+window.scrollX-document.documentElement.clientLeft}};function GW(e){"@babel/helpers - typeof";return GW=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},GW(e)}function KW(e,t){return ZW(e)||XW(e,t)||JW(e,t)||qW()}function qW(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function JW(e,t){if(e){if(typeof e==`string`)return YW(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return YW(e,t)}}function YW(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function SG(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function CG(e,t){return OG(e)||DG(e,t)||TG(e,t)||wG()}function wG(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function TG(e,t){if(e){if(typeof e==`string`)return EG(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return EG(e,t)}}function EG(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&arguments[0]!==void 0?arguments[0]:[]).reduce(function(e,t){var a=t.word,o=t.width,s=e[e.length-1];if(s&&(r==null||i||s.width+o+nt.width?e:t})};if(!l)return f;for(var m=`…`,h=function(e){var t=AG({breakAll:c,style:s,children:u.slice(0,e)+m}).wordsWithComputedWidth,n=d(t);return[n.length>a||p(n).width>Number(r),n]},g=0,_=u.length-1,v=0,y;g<=_&&v<=u.length-1;){var b=Math.floor((g+_)/2),x=CG(h(b-1),2),S=x[0],C=x[1],w=CG(h(b),1)[0];if(!S&&!w&&(g=b+1),S&&w&&(_=b-1),!S&&w){y=C;break}v++}return y||f},MG=function(e){return[{words:(0,EL.default)(e)?[]:e.toString().split(kG)}]},NG=function(e){var t=e.width,n=e.scaleToFit,r=e.children,i=e.style,a=e.breakAll,o=e.maxLines;if((t||n)&&!KU.isSsr){var s,c,l=AG({breakAll:a,children:r,style:i});if(l){var u=l.wordsWithComputedWidth,d=l.spaceWidth;s=u,c=d}else return MG(r);return jG({breakAll:a,children:r,maxLines:o,style:i},s,c,t,n)}return MG(r)},PG=`#808080`,FG=function(e){var t=e.x,n=t===void 0?0:t,r=e.y,i=r===void 0?0:r,a=e.lineHeight,o=a===void 0?`1em`:a,s=e.capHeight,c=s===void 0?`0.71em`:s,l=e.scaleToFit,u=l===void 0?!1:l,d=e.textAnchor,f=d===void 0?`start`:d,p=e.verticalAnchor,m=p===void 0?`end`:p,h=e.fill,g=h===void 0?PG:h,v=xG(e,vG),y=(0,_.useMemo)(function(){return NG({breakAll:v.breakAll,children:v.children,maxLines:v.maxLines,scaleToFit:u,style:v.style,width:v.width})},[v.breakAll,v.children,v.maxLines,u,v.style,v.width]),b=v.dx,x=v.dy,S=v.angle,C=v.className,w=v.breakAll,T=xG(v,yG);if(!AL(n)||!AL(i))return null;var E=n+(Q(b)?b:0),D=i+(Q(x)?x:0),O;switch(m){case`start`:O=_G(`calc(${c})`);break;case`middle`:O=_G(`calc(${(y.length-1)/2} * -${o} + (${c} / 2))`);break;default:O=_G(`calc(${y.length-1} * -${o})`);break}var k=[];if(u){var A=y[0].width,j=v.width;k.push(`scale(${(Q(j)?j/A:1)/A})`)}return S&&k.push(`rotate(${S}, ${E}, ${D})`),k.length&&(T.transform=k.join(` `)),_.createElement(`text`,bG({},hR(T,!0),{x:E,y:D,className:ha(`recharts-text`,C),textAnchor:f,fill:g.includes(`url`)?PG:g}),y.map(function(e,t){var n=e.words.join(w?``:` `);return _.createElement(`tspan`,{x:E,dy:t===0?O:o,key:`${n}-${t}`},n)}))};function IG(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function LG(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function RG(e){let t,n,r;e.length===2?(t=e===IG||e===LG?e:zG,n=e,r=e):(t=IG,n=(t,n)=>IG(e(t),n),r=(t,n)=>e(t)-n);function i(e,r,i=0,a=e.length){if(i>>1;n(e[t],r)<0?i=t+1:a=t}while(i>>1;n(e[t],r)<=0?i=t+1:a=t}while(in&&r(e[o-1],t)>-r(e[o],t)?o-1:o}return{left:i,center:o,right:a}}function zG(){return 0}function BG(e){return e===null?NaN:+e}function*VG(e,t){if(t===void 0)for(let t of e)t!=null&&(t=+t)>=t&&(yield t);else{let n=-1;for(let r of e)(r=t(r,++n,e))!=null&&(r=+r)>=r&&(yield r)}}var HG=RG(IG),UG=HG.right;HG.left,RG(BG).center;var WG=class extends Map{constructor(e,t=JG){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),e!=null)for(let[t,n]of e)this.set(t,n)}get(e){return super.get(GG(this,e))}has(e){return super.has(GG(this,e))}set(e,t){return super.set(KG(this,e),t)}delete(e){return super.delete(qG(this,e))}};function GG({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function KG({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function qG({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function JG(e){return typeof e==`object`&&e?e.valueOf():e}function YG(e=IG){if(e===IG)return XG;if(typeof e!=`function`)throw TypeError(`compare is not a function`);return(t,n)=>{let r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function XG(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et))}var ZG=Math.sqrt(50),QG=Math.sqrt(10),$G=Math.sqrt(2);function eK(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=ZG?10:a>=QG?5:a>=$G?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/lt&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*lt&&--c),c0))return[];if(e===t)return[e];let r=t=i))return[];let s=a-i+1,c=Array(s);if(r)if(o<0)for(let e=0;e=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n=i)&&(n=i)}return n}function aK(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n>t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function oK(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=i===void 0?XG:YG(i);r>n;){if(r-n>600){let a=r-n+1,o=t-n+1,s=Math.log(a),c=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*c*(a-c)/a)*(o-a/2<0?-1:1),u=Math.max(n,Math.floor(t-o*c/a+l)),d=Math.min(r,Math.floor(t+(a-o)*c/a+l));oK(e,t,u,d,i)}let a=e[t],o=n,s=r;for(sK(e,n,t),i(e[r],a)>0&&sK(e,n,r);o0;)--s}i(e[n],a)===0?sK(e,n,s):(++s,sK(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}return e}function sK(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function cK(e,t,n){if(e=Float64Array.from(VG(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return aK(e);if(t>=1)return iK(e);var r,i=(r-1)*t,a=Math.floor(i),o=iK(oK(e,a).subarray(0,a+1));return o+(aK(e.subarray(a+1))-o)*(i-a)}}function lK(e,t,n=BG){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,a=Math.floor(i),o=+n(e[a],a,e);return o+(+n(e[a+1],a+1,e)-o)*(i-a)}}function uK(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?BK(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?BK(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=DK.exec(e))?new UK(t[1],t[2],t[3],1):(t=OK.exec(e))?new UK(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=kK.exec(e))?BK(t[1],t[2],t[3],t[4]):(t=AK.exec(e))?BK(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=jK.exec(e))?XK(t[1],t[2]/100,t[3]/100,1):(t=MK.exec(e))?XK(t[1],t[2]/100,t[3]/100,t[4]):NK.hasOwnProperty(e)?zK(NK[e]):e===`transparent`?new UK(NaN,NaN,NaN,0):null}function zK(e){return new UK(e>>16&255,e>>8&255,e&255,1)}function BK(e,t,n,r){return r<=0&&(e=t=n=NaN),new UK(e,t,n,r)}function VK(e){return e instanceof bK||(e=RK(e)),e?(e=e.rgb(),new UK(e.r,e.g,e.b,e.opacity)):new UK}function HK(e,t,n,r){return arguments.length===1?VK(e):new UK(e,t,n,r??1)}function UK(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}vK(UK,HK,yK(bK,{brighter(e){return e=e==null?SK:SK**+e,new UK(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?xK:xK**+e,new UK(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new UK(JK(this.r),JK(this.g),JK(this.b),qK(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:WK,formatHex:WK,formatHex8:GK,formatRgb:KK,toString:KK}));function WK(){return`#${YK(this.r)}${YK(this.g)}${YK(this.b)}`}function GK(){return`#${YK(this.r)}${YK(this.g)}${YK(this.b)}${YK((isNaN(this.opacity)?1:this.opacity)*255)}`}function KK(){let e=qK(this.opacity);return`${e===1?`rgb(`:`rgba(`}${JK(this.r)}, ${JK(this.g)}, ${JK(this.b)}${e===1?`)`:`, ${e})`}`}function qK(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function JK(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function YK(e){return e=JK(e),(e<16?`0`:``)+e.toString(16)}function XK(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new $K(e,t,n,r)}function ZK(e){if(e instanceof $K)return new $K(e.h,e.s,e.l,e.opacity);if(e instanceof bK||(e=RK(e)),!e)return new $K;if(e instanceof $K)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n0&&c<1?0:o,new $K(o,s,c,e.opacity)}function QK(e,t,n,r){return arguments.length===1?ZK(e):new $K(e,t,n,r??1)}function $K(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}vK($K,QK,yK(bK,{brighter(e){return e=e==null?SK:SK**+e,new $K(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?xK:xK**+e,new $K(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new UK(nq(e>=240?e-240:e+120,i,r),nq(e,i,r),nq(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new $K(eq(this.h),tq(this.s),tq(this.l),qK(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=qK(this.opacity);return`${e===1?`hsl(`:`hsla(`}${eq(this.h)}, ${tq(this.s)*100}%, ${tq(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function eq(e){return e=(e||0)%360,e<0?e+360:e}function tq(e){return Math.max(0,Math.min(1,e||0))}function nq(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var rq=e=>()=>e;function iq(e,t){return function(n){return e+n*t}}function aq(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function oq(e){return(e=+e)==1?sq:function(t,n){return n-t?aq(t,n,e):rq(isNaN(t)?n:t)}}function sq(e,t){var n=t-e;return n?iq(e,n):rq(isNaN(e)?t:e)}var cq=(function e(t){var n=oq(t);function r(e,t){var r=n((e=HK(e)).r,(t=HK(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=sq(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function lq(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;in&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:pq(r,i)})),n=gq.lastIndex;return nt&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function kq(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i2?Aq:kq,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||=s(e.map(r),t,n))(r(o(i)))}return d.invert=function(n){return o(i((l||=s(t,e.map(r),pq))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,wq),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=xq,u()},d.clamp=function(e){return arguments.length?(o=e?!0:Eq,u()):o!==Eq},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function Nq(){return Mq()(Eq,Eq)}function Pq(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function Fq(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function Iq(e){return e=Fq(Math.abs(e)),e?e[1]:NaN}function Lq(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function Rq(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var zq=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Bq(e){if(!(t=zq.exec(e)))throw Error(`invalid format: `+e);var t;return new Vq({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Bq.prototype=Vq.prototype;function Vq(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}Vq.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?`0`:``)+(this.width===void 0?``:Math.max(1,this.width|0))+(this.comma?`,`:``)+(this.precision===void 0?``:`.`+Math.max(0,this.precision|0))+(this.trim?`~`:``)+this.type};function Hq(e){out:for(var t=e.length,n=1,r=-1,i;n0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(i+1):e}var Uq;function Wq(e,t){var n=Fq(e,t);if(!n)return Uq=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(Uq=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+Fq(e,Math.max(0,t+a-1))[0]}function Gq(e,t){var n=Fq(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var Kq={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:Pq,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>Gq(e*100,t),r:Gq,s:Wq,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function qq(e){return e}var Jq=Array.prototype.map,Yq=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function Xq(e){var t=e.grouping===void 0||e.thousands===void 0?qq:Lq(Jq.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?qq:Rq(Jq.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e,l){e=Bq(e);var u=e.fill,d=e.align,f=e.sign,p=e.symbol,m=e.zero,h=e.width,g=e.comma,_=e.precision,v=e.trim,y=e.type;y===`n`?(g=!0,y=`g`):Kq[y]||(_===void 0&&(_=12),v=!0,y=`g`),(m||u===`0`&&d===`=`)&&(m=!0,u=`0`,d=`=`);var b=(l&&l.prefix!==void 0?l.prefix:``)+(p===`$`?n:p===`#`&&/[boxX]/.test(y)?`0`+y.toLowerCase():``),x=(p===`$`?r:/[%p]/.test(y)?o:``)+(l&&l.suffix!==void 0?l.suffix:``),S=Kq[y],C=/[defgprs%]/.test(y);_=_===void 0?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function w(e){var n=b,r=x,o,l,p;if(y===`c`)r=S(e)+r,e=``;else{e=+e;var w=e<0||1/e<0;if(e=isNaN(e)?c:S(Math.abs(e),_),v&&(e=Hq(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&Uq!==void 0?Yq[8+Uq/3]:``)+r+(w&&f===`(`?`)`:``),C){for(o=-1,l=e.length;++op||p>57){r=(p===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}g&&!m&&(e=t(e,1/0));var T=n.length+e.length+r.length,E=T>1)+n+e+r+E.slice(T);break;default:e=E+n+e+r;break}return a(e)}return w.toString=function(){return e+``},w}function u(e,t){var n=Math.max(-8,Math.min(8,Math.floor(Iq(t)/3)))*3,r=10**-n,i=l((e=Bq(e),e.type=`f`,e),{suffix:Yq[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var Zq,Qq,$q;eJ({thousands:`,`,grouping:[3],currency:[`$`,``]});function eJ(e){return Zq=Xq(e),Qq=Zq.format,$q=Zq.formatPrefix,Zq}function tJ(e){return Math.max(0,-Iq(Math.abs(e)))}function nJ(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Iq(t)/3)))*3-Iq(Math.abs(e)))}function rJ(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Iq(t)-Iq(e))+1}function iJ(e,t,n,r){var i=rK(e,t,n),a;switch(r=Bq(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=nJ(i,o))&&(r.precision=a),$q(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=rJ(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=tJ(i))&&(r.precision=a-(r.type===`%`)*2);break}return Qq(r)}function aJ(e){var t=e.domain;return e.ticks=function(e){var n=t();return tK(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return iJ(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??=10;var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s0;){if(l=nK(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function oJ(){var e=Nq();return e.copy=function(){return jq(e,oJ())},dK.apply(e,arguments),aJ(e)}function sJ(e){var t;function n(e){return e==null||isNaN(e=+e)?t:e}return n.invert=n,n.domain=n.range=function(t){return arguments.length?(e=Array.from(t,wq),n):e.slice()},n.unknown=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return sJ(e).unknown(t)},e=arguments.length?Array.from(e,wq):[0,1],aJ(n)}function cJ(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],o;return ae**+t}function hJ(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function gJ(e){return(t,n)=>-e(-t,n)}function _J(e){let t=e(lJ,uJ),n=t.domain,r=10,i,a;function o(){return i=hJ(r),a=mJ(r),n()[0]<0?(i=gJ(i),a=gJ(a),e(dJ,fJ)):e(lJ,uJ),t}return t.base=function(e){return arguments.length?(r=+e,o()):r},t.domain=function(e){return arguments.length?(n(e),o()):n()},t.ticks=e=>{let t=n(),o=t[0],s=t[t.length-1],c=s0){for(;l<=u;++l)for(d=1;ds)break;m.push(f)}}else for(;l<=u;++l)for(d=r-1;d>=1;--d)if(f=l>0?d/a(-l):d*a(l),!(fs)break;m.push(f)}m.length*2{if(e??=10,n??=r===10?`s`:`,`,typeof n!=`function`&&(!(r%1)&&(n=Bq(n)).precision==null&&(n.trim=!0),n=Qq(n)),e===1/0)return n;let o=Math.max(1,r*e/t.ticks().length);return e=>{let t=e/a(Math.round(i(e)));return t*rn(cJ(n(),{floor:e=>a(Math.floor(i(e))),ceil:e=>a(Math.ceil(i(e)))})),t}function vJ(){let e=_J(Mq()).domain([1,10]);return e.copy=()=>jq(e,vJ()).base(e.base()),dK.apply(e,arguments),e}function yJ(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function bJ(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function xJ(e){var t=1,n=e(yJ(t),bJ(t));return n.constant=function(n){return arguments.length?e(yJ(t=+n),bJ(t)):t},aJ(n)}function SJ(){var e=xJ(Mq());return e.copy=function(){return jq(e,SJ()).constant(e.constant())},dK.apply(e,arguments)}function CJ(e){return function(t){return t<0?-((-t)**+e):t**+e}}function wJ(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function TJ(e){return e<0?-e*e:e*e}function EJ(e){var t=e(Eq,Eq),n=1;function r(){return n===1?e(Eq,Eq):n===.5?e(wJ,TJ):e(CJ(n),CJ(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},aJ(t)}function DJ(){var e=EJ(Mq());return e.copy=function(){return jq(e,DJ()).exponent(e.exponent())},dK.apply(e,arguments),e}function OJ(){return DJ.apply(null,arguments).exponent(.5)}function kJ(e){return Math.sign(e)*e*e}function AJ(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function jJ(){var e=Nq(),t=[0,1],n=!1,r;function i(t){var i=AJ(e(t));return isNaN(i)?r:n?Math.round(i):i}return i.invert=function(t){return e.invert(kJ(t))},i.domain=function(t){return arguments.length?(e.domain(t),i):e.domain()},i.range=function(n){return arguments.length?(e.range((t=Array.from(n,wq)).map(kJ)),i):t.slice()},i.rangeRound=function(e){return i.range(e).round(!0)},i.round=function(e){return arguments.length?(n=!!e,i):n},i.clamp=function(t){return arguments.length?(e.clamp(t),i):e.clamp()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return jJ(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},dK.apply(i,arguments),aJ(i)}function MJ(){var e=[],t=[],n=[],r;function i(){var r=0,i=Math.max(1,t.length);for(n=Array(i-1);++r0?n[i-1]:e[0],i=n?[r[n-1],t]:[r[o-1],r[o]]},o.unknown=function(e){return arguments.length&&(a=e),o},o.thresholds=function(){return r.slice()},o.copy=function(){return NJ().domain([e,t]).range(i).unknown(a)},dK.apply(aJ(o),arguments)}function PJ(){var e=[.5],t=[0,1],n,r=1;function i(i){return i!=null&&i<=i?t[UG(e,i,0,r)]:n}return i.domain=function(n){return arguments.length?(e=Array.from(n),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(n){return arguments.length?(t=Array.from(n),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(n){var r=t.indexOf(n);return[e[r-1],e[r]]},i.unknown=function(e){return arguments.length?(n=e,i):n},i.copy=function(){return PJ().domain(e).range(t).unknown(n)},dK.apply(i,arguments)}var FJ=new Date,IJ=new Date;function LJ(e,t,n,r){function i(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t(t(e=new Date(+e),n==null?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o=[];if(n=i.ceil(n),a=a==null?1:Math.floor(a),!(n0))return o;let s;do o.push(s=new Date(+n)),t(n,a),e(n);while(sLJ(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e)if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}),n&&(i.count=(t,r)=>(FJ.setTime(+t),IJ.setTime(+r),e(FJ),e(IJ),Math.floor(n(FJ,IJ))),i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i)),i}var RJ=LJ(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);RJ.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?LJ(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):RJ),RJ.range;var zJ=1e3,BJ=zJ*60,VJ=BJ*60,HJ=VJ*24,UJ=HJ*7,WJ=HJ*30,GJ=HJ*365,KJ=LJ(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*zJ)},(e,t)=>(t-e)/zJ,e=>e.getUTCSeconds());KJ.range;var qJ=LJ(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*zJ)},(e,t)=>{e.setTime(+e+t*BJ)},(e,t)=>(t-e)/BJ,e=>e.getMinutes());qJ.range;var JJ=LJ(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*BJ)},(e,t)=>(t-e)/BJ,e=>e.getUTCMinutes());JJ.range;var YJ=LJ(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*zJ-e.getMinutes()*BJ)},(e,t)=>{e.setTime(+e+t*VJ)},(e,t)=>(t-e)/VJ,e=>e.getHours());YJ.range;var XJ=LJ(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*VJ)},(e,t)=>(t-e)/VJ,e=>e.getUTCHours());XJ.range;var ZJ=LJ(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*BJ)/HJ,e=>e.getDate()-1);ZJ.range;var QJ=LJ(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/HJ,e=>e.getUTCDate()-1);QJ.range;var $J=LJ(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/HJ,e=>Math.floor(e/HJ));$J.range;function eY(e){return LJ(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+t*7)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*BJ)/UJ)}var tY=eY(0),nY=eY(1),rY=eY(2),iY=eY(3),aY=eY(4),oY=eY(5),sY=eY(6);tY.range,nY.range,rY.range,iY.range,aY.range,oY.range,sY.range;function cY(e){return LJ(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t*7)},(e,t)=>(t-e)/UJ)}var lY=cY(0),uY=cY(1),dY=cY(2),fY=cY(3),pY=cY(4),mY=cY(5),hY=cY(6);lY.range,uY.range,dY.range,fY.range,pY.range,mY.range,hY.range;var gY=LJ(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());gY.range;var _Y=LJ(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());_Y.range;var vY=LJ(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());vY.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:LJ(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}),vY.range;var yY=LJ(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());yY.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:LJ(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}),yY.range;function bY(e,t,n,r,i,a){let o=[[KJ,1,zJ],[KJ,5,5*zJ],[KJ,15,15*zJ],[KJ,30,30*zJ],[a,1,BJ],[a,5,5*BJ],[a,15,15*BJ],[a,30,30*BJ],[i,1,VJ],[i,3,3*VJ],[i,6,6*VJ],[i,12,12*VJ],[r,1,HJ],[r,2,2*HJ],[n,1,UJ],[t,1,WJ],[t,3,3*WJ],[e,1,GJ]];function s(e,t,n){let r=te).right(o,i);if(a===o.length)return e.every(rK(t/GJ,n/GJ,r));if(a===0)return RJ.every(Math.max(rK(t,n,r),1));let[s,c]=o[i/o[a-1][2]53)return null;`w`in r||(r.w=1),`Z`in r?(a=EY(DY(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?uY.ceil(a):uY(a),a=QJ.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=TY(DY(r.y,0,1)),o=a.getDay(),a=o>4||o===0?nY.ceil(a):nY(a),a=ZJ.offset(a,(r.V-1)*7),r.y=a.getFullYear(),r.m=a.getMonth(),r.d=a.getDate()+(r.w+6)%7)}else (`W`in r||`U`in r)&&(`w`in r||(r.w=`u`in r?r.u%7:+(`W`in r)),o=`Z`in r?EY(DY(r.y,0,1)).getUTCDay():TY(DY(r.y,0,1)).getDay(),r.m=0,r.d=`W`in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7);return`Z`in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,EY(r)):TY(r)}}function w(e,t,n,r){for(var i=0,a=t.length,o=n.length,s,c;i=o)return-1;if(s=t.charCodeAt(i++),s===37){if(s=t.charAt(i++),c=x[s in kY?t.charAt(i++):s],!c||(r=c(e,n,r))<0)return-1}else if(s!=n.charCodeAt(r++))return-1}return r}function T(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function D(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1}function O(e,t,n){var r=_.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){var r=h.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1}function A(e,n,r){return w(e,t,n,r)}function j(e,t,r){return w(e,n,t,r)}function M(e,t,n){return w(e,r,t,n)}function N(e){return o[e.getDay()]}function P(e){return a[e.getDay()]}function F(e){return c[e.getMonth()]}function ee(e){return s[e.getMonth()]}function te(e){return i[+(e.getHours()>=12)]}function I(e){return 1+~~(e.getMonth()/3)}function ne(e){return o[e.getUTCDay()]}function re(e){return a[e.getUTCDay()]}function ie(e){return c[e.getUTCMonth()]}function ae(e){return s[e.getUTCMonth()]}function oe(e){return i[+(e.getUTCHours()>=12)]}function se(e){return 1+~~(e.getUTCMonth()/3)}return{format:function(e){var t=S(e+=``,y);return t.toString=function(){return e},t},parse:function(e){var t=C(e+=``,!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+=``,b);return t.toString=function(){return e},t},utcParse:function(e){var t=C(e+=``,!0);return t.toString=function(){return e},t}}}var kY={"-":``,_:` `,0:`0`},AY=/^\s*\d+/,jY=/^%/,MY=/[\\^$*+?|[\]().{}]/g;function NY(e,t,n){var r=e<0?`-`:``,i=(r?-e:e)+``,a=i.length;return r+(a[e.toLowerCase(),t]))}function LY(e,t,n){var r=AY.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function RY(e,t,n){var r=AY.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function zY(e,t,n){var r=AY.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function BY(e,t,n){var r=AY.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function VY(e,t,n){var r=AY.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function HY(e,t,n){var r=AY.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function UY(e,t,n){var r=AY.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function WY(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||`00`)),n+r[0].length):-1}function GY(e,t,n){var r=AY.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function KY(e,t,n){var r=AY.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function qY(e,t,n){var r=AY.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function JY(e,t,n){var r=AY.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function YY(e,t,n){var r=AY.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function XY(e,t,n){var r=AY.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function ZY(e,t,n){var r=AY.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function QY(e,t,n){var r=AY.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function $Y(e,t,n){var r=AY.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function eX(e,t,n){var r=jY.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function tX(e,t,n){var r=AY.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function nX(e,t,n){var r=AY.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function rX(e,t){return NY(e.getDate(),t,2)}function iX(e,t){return NY(e.getHours(),t,2)}function aX(e,t){return NY(e.getHours()%12||12,t,2)}function oX(e,t){return NY(1+ZJ.count(vY(e),e),t,3)}function sX(e,t){return NY(e.getMilliseconds(),t,3)}function cX(e,t){return sX(e,t)+`000`}function lX(e,t){return NY(e.getMonth()+1,t,2)}function uX(e,t){return NY(e.getMinutes(),t,2)}function dX(e,t){return NY(e.getSeconds(),t,2)}function fX(e){var t=e.getDay();return t===0?7:t}function pX(e,t){return NY(tY.count(vY(e)-1,e),t,2)}function mX(e){var t=e.getDay();return t>=4||t===0?aY(e):aY.ceil(e)}function hX(e,t){return e=mX(e),NY(aY.count(vY(e),e)+(vY(e).getDay()===4),t,2)}function gX(e){return e.getDay()}function _X(e,t){return NY(nY.count(vY(e)-1,e),t,2)}function vX(e,t){return NY(e.getFullYear()%100,t,2)}function yX(e,t){return e=mX(e),NY(e.getFullYear()%100,t,2)}function bX(e,t){return NY(e.getFullYear()%1e4,t,4)}function xX(e,t){var n=e.getDay();return e=n>=4||n===0?aY(e):aY.ceil(e),NY(e.getFullYear()%1e4,t,4)}function SX(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+NY(t/60|0,`0`,2)+NY(t%60,`0`,2)}function CX(e,t){return NY(e.getUTCDate(),t,2)}function wX(e,t){return NY(e.getUTCHours(),t,2)}function TX(e,t){return NY(e.getUTCHours()%12||12,t,2)}function EX(e,t){return NY(1+QJ.count(yY(e),e),t,3)}function DX(e,t){return NY(e.getUTCMilliseconds(),t,3)}function OX(e,t){return DX(e,t)+`000`}function kX(e,t){return NY(e.getUTCMonth()+1,t,2)}function AX(e,t){return NY(e.getUTCMinutes(),t,2)}function jX(e,t){return NY(e.getUTCSeconds(),t,2)}function MX(e){var t=e.getUTCDay();return t===0?7:t}function NX(e,t){return NY(lY.count(yY(e)-1,e),t,2)}function PX(e){var t=e.getUTCDay();return t>=4||t===0?pY(e):pY.ceil(e)}function FX(e,t){return e=PX(e),NY(pY.count(yY(e),e)+(yY(e).getUTCDay()===4),t,2)}function IX(e){return e.getUTCDay()}function LX(e,t){return NY(uY.count(yY(e)-1,e),t,2)}function RX(e,t){return NY(e.getUTCFullYear()%100,t,2)}function zX(e,t){return e=PX(e),NY(e.getUTCFullYear()%100,t,2)}function BX(e,t){return NY(e.getUTCFullYear()%1e4,t,4)}function VX(e,t){var n=e.getUTCDay();return e=n>=4||n===0?pY(e):pY.ceil(e),NY(e.getUTCFullYear()%1e4,t,4)}function HX(){return`+0000`}function UX(){return`%`}function WX(e){return+e}function GX(e){return Math.floor(e/1e3)}var KX,qX,JX;YX({dateTime:`%x, %X`,date:`%-m/%-d/%Y`,time:`%-I:%M:%S %p`,periods:[`AM`,`PM`],days:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],shortDays:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],months:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],shortMonths:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`]});function YX(e){return KX=OY(e),qX=KX.format,KX.parse,JX=KX.utcFormat,KX.utcParse,KX}function XX(e){return new Date(e)}function ZX(e){return e instanceof Date?+e:+new Date(+e)}function QX(e,t,n,r,i,a,o,s,c,l){var u=Nq(),d=u.invert,f=u.domain,p=l(`.%L`),m=l(`:%S`),h=l(`%I:%M`),g=l(`%I %p`),_=l(`%a %d`),v=l(`%b %d`),y=l(`%B`),b=l(`%Y`);function x(e){return(c(e)t(r/(e.length-1)))},n.quantiles=function(t){return Array.from({length:t+1},(n,r)=>cK(e,r/t))},n.copy=function(){return cZ(t).domain(e)},fK.apply(n,arguments)}function lZ(){var e=0,t=.5,n=1,r=1,i,a,o,s,c,l=Eq,u,d=!1,f;function p(e){return isNaN(e=+e)?f:(e=.5+((e=+u(e))-a)*(r*ehK,scaleDiverging:()=>uZ,scaleDivergingLog:()=>dZ,scaleDivergingPow:()=>pZ,scaleDivergingSqrt:()=>mZ,scaleDivergingSymlog:()=>fZ,scaleIdentity:()=>sJ,scaleImplicit:()=>pK,scaleLinear:()=>oJ,scaleLog:()=>vJ,scaleOrdinal:()=>mK,scalePoint:()=>_K,scalePow:()=>DJ,scaleQuantile:()=>MJ,scaleQuantize:()=>NJ,scaleRadial:()=>jJ,scaleSequential:()=>rZ,scaleSequentialLog:()=>iZ,scaleSequentialPow:()=>oZ,scaleSequentialQuantile:()=>cZ,scaleSequentialSqrt:()=>sZ,scaleSequentialSymlog:()=>aZ,scaleSqrt:()=>OJ,scaleSymlog:()=>SJ,scaleThreshold:()=>PJ,scaleTime:()=>$X,scaleUtc:()=>eZ,tickFormat:()=>iJ}),gZ=o(((e,t)=>{var n=eL();function r(e,t,r){for(var i=-1,a=e.length;++i{function n(e,t){return e>t}t.exports=n})),vZ=o(((e,t)=>{var n=gZ(),r=_Z(),i=XV();function a(e){return e&&e.length?n(e,i,r):void 0}t.exports=a})),yZ=o(((e,t)=>{function n(e,t){return e{var n=gZ(),r=yZ(),i=XV();function a(e){return e&&e.length?n(e,i,r):void 0}t.exports=a})),xZ=o(((e,t)=>{var n=mL(),r=eH(),i=HH(),a=JI();function o(e,t){return(a(e)?n:i)(e,r(t,3))}t.exports=o})),SZ=o(((e,t)=>{var n=IH(),r=xZ();function i(e,t){return n(r(e,t),1)}t.exports=i})),CZ=o(((e,t)=>{var n=BV();function r(e,t){return n(e,t)}t.exports=r})),wZ=o(((e,t)=>{(function(e){var n=1e9,r={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:`2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286`},i=!0,a=`[DecimalError] `,o=a+`Invalid argument: `,s=a+`Exponent out of range: `,c=Math.floor,l=Math.pow,u=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,d,f=1e7,p=7,m=9007199254740991,h=c(m/p),g={};g.absoluteValue=g.abs=function(){var e=new this.constructor(this);return e.s&&=1,e},g.comparedTo=g.cmp=function(e){var t,n,r,i,a=this;if(e=new a.constructor(e),a.s!==e.s)return a.s||-e.s;if(a.e!==e.e)return a.e>e.e^a.s<0?1:-1;for(r=a.d.length,i=e.d.length,t=0,n=re.d[t]^a.s<0?1:-1;return r===i?0:r>i^a.s<0?1:-1},g.decimalPlaces=g.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*p;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n},g.dividedBy=g.div=function(e){return b(this,new this.constructor(e))},g.dividedToIntegerBy=g.idiv=function(e){var t=this,n=t.constructor;return D(b(t,new n(e),0,1),n.precision)},g.equals=g.eq=function(e){return!this.cmp(e)},g.exponent=function(){return S(this)},g.greaterThan=g.gt=function(e){return this.cmp(e)>0},g.greaterThanOrEqualTo=g.gte=function(e){return this.cmp(e)>=0},g.isInteger=g.isint=function(){return this.e>this.d.length-2},g.isNegative=g.isneg=function(){return this.s<0},g.isPositive=g.ispos=function(){return this.s>0},g.isZero=function(){return this.s===0},g.lessThan=g.lt=function(e){return this.cmp(e)<0},g.lessThanOrEqualTo=g.lte=function(e){return this.cmp(e)<1},g.logarithm=g.log=function(e){var t,n=this,r=n.constructor,o=r.precision,s=o+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(d))throw Error(a+`NaN`);if(n.s<1)throw Error(a+(n.s?`NaN`:`-Infinity`));return n.eq(d)?new r(0):(i=!1,t=b(T(n,s),T(e,s),s),i=!0,D(t,o))},g.minus=g.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?O(t,e):_(t,(e.s=-e.s,e))},g.modulo=g.mod=function(e){var t,n=this,r=n.constructor,o=r.precision;if(e=new r(e),!e.s)throw Error(a+`NaN`);return n.s?(i=!1,t=b(n,e,0,1).times(e),i=!0,n.minus(t)):D(new r(n),o)},g.naturalExponential=g.exp=function(){return x(this)},g.naturalLogarithm=g.ln=function(){return T(this)},g.negated=g.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e},g.plus=g.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?_(t,e):O(t,(e.s=-e.s,e))},g.precision=g.sd=function(e){var t,n,r,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(o+e);if(t=S(i)+1,r=i.d.length-1,n=r*p+1,r=i.d[r],r){for(;r%10==0;r/=10)n--;for(r=i.d[0];r>=10;r/=10)n++}return e&&t>n?t:n},g.squareRoot=g.sqrt=function(){var e,t,n,r,o,s,l,u=this,d=u.constructor;if(u.s<1){if(!u.s)return new d(0);throw Error(a+`NaN`)}for(e=S(u),i=!1,o=Math.sqrt(+u),o==0||o==1/0?(t=y(u.d),(t.length+e)%2==0&&(t+=`0`),o=Math.sqrt(t),e=c((e+1)/2)-(e<0||e%2),o==1/0?t=`5e`+e:(t=o.toExponential(),t=t.slice(0,t.indexOf(`e`)+1)+e),r=new d(t)):r=new d(o.toString()),n=d.precision,o=l=n+3;;)if(s=r,r=s.plus(b(u,s,l+2)).times(.5),y(s.d).slice(0,l)===(t=y(r.d)).slice(0,l)){if(t=t.slice(l-3,l+1),o==l&&t==`4999`){if(D(s,n+1,0),s.times(s).eq(u)){r=s;break}}else if(t!=`9999`)break;l+=4}return i=!0,D(r,n)},g.times=g.mul=function(e){var t,n,r,a,o,s,c,l,u,d=this,p=d.constructor,m=d.d,h=(e=new p(e)).d;if(!d.s||!e.s)return new p(0);for(e.s*=d.s,n=d.e+e.e,l=m.length,u=h.length,l=0;){for(t=0,a=l+r;a>r;)c=o[a]+h[r]*m[a-r-1]+t,o[a--]=c%f|0,t=c/f|0;o[a]=(o[a]+t)%f|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=n,i?D(e,p.precision):e},g.toDecimalPlaces=g.todp=function(e,t){var r=this,i=r.constructor;return r=new i(r),e===void 0?r:(v(e,0,n),t===void 0?t=i.rounding:v(t,0,8),D(r,e+S(r)+1,t))},g.toExponential=function(e,t){var r,i=this,a=i.constructor;return e===void 0?r=k(i,!0):(v(e,0,n),t===void 0?t=a.rounding:v(t,0,8),i=D(new a(i),e+1,t),r=k(i,!0,e+1)),r},g.toFixed=function(e,t){var r,i,a=this,o=a.constructor;return e===void 0?k(a):(v(e,0,n),t===void 0?t=o.rounding:v(t,0,8),i=D(new o(a),e+S(a)+1,t),r=k(i.abs(),!1,e+S(i)+1),a.isneg()&&!a.isZero()?`-`+r:r)},g.toInteger=g.toint=function(){var e=this,t=e.constructor;return D(new t(e),S(e)+1,t.rounding)},g.toNumber=function(){return+this},g.toPower=g.pow=function(e){var t,n,r,o,s,l,u=this,f=u.constructor,h=12,g=+(e=new f(e));if(!e.s)return new f(d);if(u=new f(u),!u.s){if(e.s<1)throw Error(a+`Infinity`);return u}if(u.eq(d))return u;if(r=f.precision,e.eq(d))return D(u,r);if(t=e.e,n=e.d.length-1,l=t>=n,s=u.s,!l){if(s<0)throw Error(a+`NaN`)}else if((n=g<0?-g:g)<=m){for(o=new f(d),t=Math.ceil(r/p+4),i=!1;n%2&&(o=o.times(u),A(o.d,t)),n=c(n/2),n!==0;)u=u.times(u),A(u.d,t);return i=!0,e.s<0?new f(d).div(o):D(o,r)}return s=s<0&&e.d[Math.max(t,n)]&1?-1:1,u.s=1,i=!1,o=e.times(T(u,r+h)),i=!0,o=x(o),o.s=s,o},g.toPrecision=function(e,t){var r,i,a=this,o=a.constructor;return e===void 0?(r=S(a),i=k(a,r<=o.toExpNeg||r>=o.toExpPos)):(v(e,1,n),t===void 0?t=o.rounding:v(t,0,8),a=D(new o(a),e,t),r=S(a),i=k(a,e<=r||r<=o.toExpNeg,e)),i},g.toSignificantDigits=g.tosd=function(e,t){var r=this,i=r.constructor;return e===void 0?(e=i.precision,t=i.rounding):(v(e,1,n),t===void 0?t=i.rounding:v(t,0,8)),D(new i(r),e,t)},g.toString=g.valueOf=g.val=g.toJSON=function(){var e=this,t=S(e),n=e.constructor;return k(e,t<=n.toExpNeg||t>=n.toExpPos)};function _(e,t){var n,r,a,o,s,c,l,u,d=e.constructor,m=d.precision;if(!e.s||!t.s)return t.s||(t=new d(e)),i?D(t,m):t;if(l=e.d,u=t.d,s=e.e,a=t.e,l=l.slice(),o=s-a,o){for(o<0?(r=l,o=-o,c=u.length):(r=u,a=s,c=l.length),s=Math.ceil(m/p),c=s>c?s+1:c+1,o>c&&(o=c,r.length=1),r.reverse();o--;)r.push(0);r.reverse()}for(c=l.length,o=u.length,c-o<0&&(o=c,r=u,u=l,l=r),n=0;o;)n=(l[--o]=l[o]+u[o]+n)/f|0,l[o]%=f;for(n&&(l.unshift(n),++a),c=l.length;l[--c]==0;)l.pop();return t.d=l,t.e=a,i?D(t,m):t}function v(e,t,n){if(e!==~~e||en)throw Error(o+e)}function y(e){var t,n,r,i=e.length-1,a=``,o=e[0];if(i>0){for(a+=o,t=1;tr?1:-1;else for(i=a=0;it[i]?1:-1;break}return a}function n(e,t,n){for(var r=0;n--;)e[n]-=r,r=+(e[n]1;)e.shift()}return function(r,i,o,s){var c,l,u,d,m,h,g,_,v,y,b,x,C,w,T,E,O,k,A=r.constructor,j=r.s==i.s?1:-1,M=r.d,N=i.d;if(!r.s)return new A(r);if(!i.s)throw Error(a+`Division by zero`);for(l=r.e-i.e,O=N.length,T=M.length,g=new A(j),_=g.d=[],u=0;N[u]==(M[u]||0);)++u;if(N[u]>(M[u]||0)&&--l,x=o==null?o=A.precision:s?o+(S(r)-S(i))+1:o,x<0)return new A(0);if(x=x/p+2|0,u=0,O==1)for(d=0,N=N[0],x++;(u1&&(N=e(N,d),M=e(M,d),O=N.length,T=M.length),w=O,v=M.slice(0,O),y=v.length;y=f/2&&++E;do d=0,c=t(N,v,O,y),c<0?(b=v[0],O!=y&&(b=b*f+(v[1]||0)),d=b/E|0,d>1?(d>=f&&(d=f-1),m=e(N,d),h=m.length,y=v.length,c=t(m,v,h,y),c==1&&(d--,n(m,O16)throw Error(s+S(e));if(!e.s)return new m(d);for(t==null?(i=!1,u=h):u=t,c=new m(.03125);e.abs().gte(.1);)e=e.times(c),p+=5;for(r=Math.log(l(2,p))/Math.LN10*2+5|0,u+=r,n=a=o=new m(d),m.precision=u;;){if(a=D(a.times(e),u),n=n.times(++f),c=o.plus(b(a,n,u)),y(c.d).slice(0,u)===y(o.d).slice(0,u)){for(;p--;)o=D(o.times(o),u);return m.precision=h,t==null?(i=!0,D(o,h)):o}o=c}}function S(e){for(var t=e.e*p,n=e.d[0];n>=10;n/=10)t++;return t}function C(e,t,n){if(t>e.LN10.sd())throw i=!0,n&&(e.precision=n),Error(a+`LN10 precision limit exceeded`);return D(new e(e.LN10),t)}function w(e){for(var t=``;e--;)t+=`0`;return t}function T(e,t){var n,r,o,s,c,l,u,f,p,m=1,h=10,g=e,_=g.d,v=g.constructor,x=v.precision;if(g.s<1)throw Error(a+(g.s?`NaN`:`-Infinity`));if(g.eq(d))return new v(0);if(t==null?(i=!1,f=x):f=t,g.eq(10))return t??(i=!0),C(v,f);if(f+=h,v.precision=f,n=y(_),r=n.charAt(0),s=S(g),Math.abs(s)<0x5543df729c000){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)g=g.times(e),n=y(g.d),r=n.charAt(0),m++;s=S(g),r>1?(g=new v(`0.`+n),s++):g=new v(r+`.`+n.slice(1))}else return u=C(v,f+2,x).times(s+``),g=T(new v(r+`.`+n.slice(1)),f-h).plus(u),v.precision=x,t==null?(i=!0,D(g,x)):g;for(l=c=g=b(g.minus(d),g.plus(d),f),p=D(g.times(g),f),o=3;;){if(c=D(c.times(p),f),u=l.plus(b(c,new v(o),f)),y(u.d).slice(0,f)===y(l.d).slice(0,f))return l=l.times(2),s!==0&&(l=l.plus(C(v,f+2,x).times(s+``))),l=b(l,new v(m),f),v.precision=x,t==null?(i=!0,D(l,x)):l;l=u,o+=2}}function E(e,t){var n,r,a;for((n=t.indexOf(`.`))>-1&&(t=t.replace(`.`,``)),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;)++r;for(a=t.length;t.charCodeAt(a-1)===48;)--a;if(t=t.slice(r,a),t){if(a-=r,n=n-r-1,e.e=c(n/p),e.d=[],r=(n+1)%p,n<0&&(r+=p),rh||e.e<-h))throw Error(s+n)}else e.s=0,e.e=0,e.d=[0];return e}function D(e,t,n){var r,a,o,u,d,m,g,_,v=e.d;for(u=1,o=v[0];o>=10;o/=10)u++;if(r=t-u,r<0)r+=p,a=t,g=v[_=0];else{if(_=Math.ceil((r+1)/p),o=v.length,_>=o)return e;for(g=o=v[_],u=1;o>=10;o/=10)u++;r%=p,a=r-p+u}if(n!==void 0&&(o=l(10,u-a-1),d=g/o%10|0,m=t<0||v[_+1]!==void 0||g%o,m=n<4?(d||m)&&(n==0||n==(e.s<0?3:2)):d>5||d==5&&(n==4||m||n==6&&(r>0?a>0?g/l(10,u-a):0:v[_-1])%10&1||n==(e.s<0?8:7))),t<1||!v[0])return m?(o=S(e),v.length=1,t=t-o-1,v[0]=l(10,(p-t%p)%p),e.e=c(-t/p)||0):(v.length=1,v[0]=e.e=e.s=0),e;if(r==0?(v.length=_,o=1,_--):(v.length=_+1,o=l(10,p-r),v[_]=a>0?(g/l(10,u-a)%l(10,a)|0)*o:0),m)for(;;)if(_==0){(v[0]+=o)==f&&(v[0]=1,++e.e);break}else{if(v[_]+=o,v[_]!=f)break;v[_--]=0,o=1}for(r=v.length;v[--r]===0;)v.pop();if(i&&(e.e>h||e.e<-h))throw Error(s+S(e));return e}function O(e,t){var n,r,a,o,s,c,l,u,d,m,h=e.constructor,g=h.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new h(e),i?D(t,g):t;if(l=e.d,m=t.d,r=t.e,u=e.e,l=l.slice(),s=u-r,s){for(d=s<0,d?(n=l,s=-s,c=m.length):(n=m,r=u,c=l.length),a=Math.max(Math.ceil(g/p),c)+2,s>a&&(s=a,n.length=1),n.reverse(),a=s;a--;)n.push(0);n.reverse()}else{for(a=l.length,c=m.length,d=a0;--a)l[c++]=0;for(a=m.length;a>s;){if(l[--a]0?a=a.charAt(0)+`.`+a.slice(1)+w(r):o>1&&(a=a.charAt(0)+`.`+a.slice(1)),a=a+(i<0?`e`:`e+`)+i):i<0?(a=`0.`+w(-i-1)+a,n&&(r=n-o)>0&&(a+=w(r))):i>=o?(a+=w(i+1-o),n&&(r=n-i-1)>0&&(a=a+`.`+w(r))):((r=i+1)0&&(i+1===o&&(a+=`.`),a+=w(r))),e.s<0?`-`+a:a}function A(e,t){if(e.length>t)return e.length=t,!0}function j(e){var t,n,r;function i(e){var t=this;if(!(t instanceof i))return new i(e);if(t.constructor=i,e instanceof i){t.s=e.s,t.e=e.e,t.d=(e=e.d)?e.slice():e;return}if(typeof e==`number`){if(e*0!=0)throw Error(o+e);if(e>0)t.s=1;else if(e<0)e=-e,t.s=-1;else{t.s=0,t.e=0,t.d=[0];return}if(e===~~e&&e<1e7){t.e=0,t.d=[e];return}return E(t,e.toString())}else if(typeof e!=`string`)throw Error(o+e);if(e.charCodeAt(0)===45?(e=e.slice(1),t.s=-1):t.s=1,u.test(e))E(t,e);else throw Error(o+e)}if(i.prototype=g,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=j,i.config=i.set=M,e===void 0&&(e={}),e)for(r=[`precision`,`rounding`,`toExpNeg`,`toExpPos`,`LN10`],t=0;t=s[t+1]&&i<=s[t+2])this[r]=i;else throw Error(o+r+`: `+i);if((i=e[r=`LN10`])!==void 0)if(i==Math.LN10)this[r]=new this(i);else throw Error(o+r+`: `+i);return this}r=j(r),r.default=r.Decimal=r,d=new r(1),typeof define==`function`&&define.amd?define(function(){return r}):t!==void 0&&t.exports?t.exports=r:(e||=typeof self<`u`&&self&&self.self==self?self:Function(`return this`)(),e.Decimal=r)})(e)}));function TZ(e){return kZ(e)||OZ(e)||DZ(e)||EZ()}function EZ(){throw TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function DZ(e,t){if(e){if(typeof e==`string`)return AZ(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return AZ(e,t)}}function OZ(e){if(typeof Symbol<`u`&&Symbol.iterator in Object(e))return Array.from(e)}function kZ(e){if(Array.isArray(e))return AZ(e)}function AZ(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=t?n.apply(void 0,r):e(t-i,PZ(function(){var e=[...arguments],t=r.map(function(t){return NZ(t)?e.shift():t});return n.apply(void 0,TZ(t).concat(e))}))})},IZ=function(e){return FZ(e.length,e)},LZ=function(e,t){for(var n=[],r=e;re.length)&&(t=e.length);for(var n=0,r=Array(t);n`u`||!(Symbol.iterator in Object(e)))){var n=[],r=!0,i=!1,a=void 0;try{for(var o=e[Symbol.iterator](),s;!(r=(s=o.next()).done)&&(n.push(s.value),!(t&&n.length===t));r=!0);}catch(e){i=!0,a=e}finally{try{!r&&o.return!=null&&o.return()}finally{if(i)throw a}}return n}}function tQ(e){if(Array.isArray(e))return e}function nQ(e){var t=XZ(e,2),n=t[0],r=t[1],i=n,a=r;return n>r&&(i=r,a=n),[i,a]}function rQ(e,t,n){if(e.lte(0))return new HZ.default(0);var r=GZ.getDigitCount(e.toNumber()),i=new HZ.default(10).pow(r),a=e.div(i),o=r===1?.1:.05,s=new HZ.default(Math.ceil(a.div(o).toNumber())).add(n).mul(o).mul(i);return t?s:new HZ.default(Math.ceil(s))}function iQ(e,t,n){var r=1,i=new HZ.default(e);if(!i.isint()&&n){var a=Math.abs(e);a<1?(r=new HZ.default(10).pow(GZ.getDigitCount(e)-1),i=new HZ.default(Math.floor(i.div(r).toNumber())).mul(r)):a>1&&(i=new HZ.default(Math.floor(e)))}else e===0?i=new HZ.default(Math.floor((t-1)/2)):n||(i=new HZ.default(Math.floor(e)));var o=Math.floor((t-1)/2);return zZ(RZ(function(e){return i.add(new HZ.default(e-o).mul(r)).toNumber()}),LZ)(0,t)}function aQ(e,t,n,r){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((t-e)/(n-1)))return{step:new HZ.default(0),tickMin:new HZ.default(0),tickMax:new HZ.default(0)};var a=rQ(new HZ.default(t).sub(e).div(n-1),r,i),o;e<=0&&t>=0?o=new HZ.default(0):(o=new HZ.default(e).add(t).div(2),o=o.sub(new HZ.default(o).mod(a)));var s=Math.ceil(o.sub(e).div(a).toNumber()),c=Math.ceil(new HZ.default(t).sub(o).div(a).toNumber()),l=s+c+1;return l>n?aQ(e,t,n,r,i+1):(l0?c+(n-l):c,s=t>0?s:s+(n-l)),{step:a,tickMin:o.sub(new HZ.default(s).mul(a)),tickMax:o.add(new HZ.default(c).mul(a))})}function oQ(e){var t=XZ(e,2),n=t[0],r=t[1],i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=Math.max(i,2),s=XZ(nQ([n,r]),2),c=s[0],l=s[1];if(c===-1/0||l===1/0){var u=l===1/0?[c].concat(KZ(LZ(0,i-1).map(function(){return 1/0}))):[].concat(KZ(LZ(0,i-1).map(function(){return-1/0})),[l]);return n>r?BZ(u):u}if(c===l)return iQ(c,i,a);var d=aQ(c,l,o,a),f=d.step,p=d.tickMin,m=d.tickMax,h=GZ.rangeStep(p,m.add(new HZ.default(.1).mul(f)),f);return n>r?BZ(h):h}function sQ(e,t){var n=XZ(e,2),r=n[0],i=n[1],a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=XZ(nQ([r,i]),2),s=o[0],c=o[1];if(s===-1/0||c===1/0)return[r,i];if(s===c)return[s];var l=Math.max(t,2),u=rQ(new HZ.default(c).sub(s).div(l-1),a,0),d=[].concat(KZ(GZ.rangeStep(new HZ.default(s),new HZ.default(c).sub(new HZ.default(.99).mul(u)),u)),[c]);return r>i?BZ(d):d}var cQ=VZ(oQ),lQ=VZ(sQ),uQ=!0,dQ=`Invariant failed`;function fQ(e,t){if(!e){if(uQ)throw Error(dQ);var n=typeof t==`function`?t():t,r=n?`${dQ}: ${n}`:dQ;throw Error(r)}}var pQ=[`offset`,`layout`,`width`,`dataKey`,`data`,`dataPointFormatter`,`xAxis`,`yAxis`];function mQ(e){"@babel/helpers - typeof";return mQ=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},mQ(e)}function hQ(){return hQ=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function CQ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function wQ(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function TQ(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);n1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,i=-1,a=t?.length??0;if(a<=1)return 0;if(r&&r.axisType===`angleAxis`&&Math.abs(Math.abs(r.range[1]-r.range[0])-360)<=1e-6)for(var o=r.range,s=0;s0?n[s-1].coordinate:n[a-1].coordinate,l=n[s].coordinate,u=s>=a-1?n[0].coordinate:n[s+1].coordinate,d=void 0;if(DL(l-c)!==DL(u-l)){var f=[];if(DL(u-l)===DL(o[1]-o[0])){d=u;var p=l+o[1]-o[0];f[0]=Math.min(p,(p+c)/2),f[1]=Math.max(p,(p+c)/2)}else{d=c;var m=u+o[1]-o[0];f[0]=Math.min(l,(m+l)/2),f[1]=Math.max(l,(m+l)/2)}var h=[Math.min(l,(d+l)/2),Math.max(l,(d+l)/2)];if(e>h[0]&&e<=h[1]||e>=f[0]&&e<=f[1]){i=n[s].index;break}}else{var g=Math.min(c,u),_=Math.max(c,u);if(e>(g+l)/2&&e<=(_+l)/2){i=n[s].index;break}}}else for(var v=0;v0&&v(t[v].coordinate+t[v-1].coordinate)/2&&e<=(t[v].coordinate+t[v+1].coordinate)/2||v===a-1&&e>(t[v].coordinate+t[v-1].coordinate)/2){i=t[v].index;break}return i},u$=function(e){var t,n=e.type.displayName,r=(t=e.type)!=null&&t.defaultProps?r$(r$({},e.type.defaultProps),e.props):e.props,i=r.stroke,a=r.fill,o;switch(n){case`Line`:o=i;break;case`Area`:case`Radar`:o=i&&i!==`none`?i:a;break;default:o=a;break}return o},d$=function(e){var t=e.barSize,n=e.totalSize,r=e.stackGroups,i=r===void 0?{}:r;if(!i)return{};for(var a={},o=Object.keys(i),s=0,c=o.length;s=0});if(g&&g.length){var _=g[0].type.defaultProps,v=_===void 0?g[0].props:r$(r$({},_),g[0].props),y=v.barSize,b=v[h];a[b]||(a[b]=[]);var x=(0,EL.default)(y)?t:y;a[b].push({item:g[0],stackList:g.slice(1),barSize:(0,EL.default)(x)?void 0:NL(x,n,0)})}}return a},f$=function(e){var t=e.barGap,n=e.barCategoryGap,r=e.bandSize,i=e.sizeList,a=i===void 0?[]:i,o=e.maxBarSize,s=a.length;if(s<1)return null;var c=NL(t,r,0,!0),l,u=[];if(a[0].barSize===+a[0].barSize){var d=!1,f=r/s,p=a.reduce(function(e,t){return e+t.barSize||0},0);p+=(s-1)*c,p>=r&&(p-=(s-1)*c,c=0),p>=r&&f>0&&(d=!0,f*=.9,p=s*f);var m={offset:((r-p)/2>>0)-c,size:0};l=a.reduce(function(e,t){var n={item:t.item,position:{offset:m.offset+m.size+c,size:d?f:t.barSize}},r=[].concat(XQ(e),[n]);return m=r[r.length-1].position,t.stackList&&t.stackList.length&&t.stackList.forEach(function(e){r.push({item:e,position:m})}),r},u)}else{var h=NL(n,r,0,!0);r-2*h-(s-1)*c<=0&&(c=0);var g=(r-2*h-(s-1)*c)/s;g>1&&(g>>=0);var _=o===+o?Math.min(g,o):g;l=a.reduce(function(e,t,n){var r=[].concat(XQ(e),[{item:t.item,position:{offset:h+(g+c)*n+(g-_)/2,size:_}}]);return t.stackList&&t.stackList.length&&t.stackList.forEach(function(e){r.push({item:e,position:r[r.length-1].position})}),r},u)}return l},p$=function(e,t,n,r){var i=n.children,a=n.width,o=n.margin,s=WQ({children:i,legendWidth:a-(o.left||0)-(o.right||0)});if(s){var c=r||{},l=c.width,u=c.height,d=s.align,f=s.verticalAlign,p=s.layout;if((p===`vertical`||p===`horizontal`&&f===`middle`)&&d!==`center`&&Q(e[d]))return r$(r$({},e),{},i$({},d,e[d]+(l||0)));if((p===`horizontal`||p===`vertical`&&d===`center`)&&f!==`middle`&&Q(e[f]))return r$(r$({},e),{},i$({},f,e[f]+(u||0)))}return e},m$=function(e,t,n){return(0,EL.default)(t)?!0:e===`horizontal`?t===`yAxis`:e===`vertical`||n===`x`?t===`xAxis`:n===`y`?t===`yAxis`:!0},h$=function(e,t,n,r,i){var a=t.props.children,o=cR(a,LQ).filter(function(e){return m$(r,i,e.props.direction)});if(o&&o.length){var s=o.map(function(e){return e.props.dataKey});return e.reduce(function(e,t){var r=s$(t,n);if((0,EL.default)(r))return e;var i=Array.isArray(r)?[(0,KQ.default)(r),(0,GQ.default)(r)]:[r,r],a=s.reduce(function(e,n){var r=s$(t,n,0),a=i[0]-Math.abs(Array.isArray(r)?r[0]:r),o=i[1]+Math.abs(Array.isArray(r)?r[1]:r);return[Math.min(a,e[0]),Math.max(o,e[1])]},[1/0,-1/0]);return[Math.min(a[0],e[0]),Math.max(a[1],e[1])]},[1/0,-1/0])}return null},g$=function(e,t,n,r,i){var a=t.map(function(t){return h$(e,t,n,i,r)}).filter(function(e){return!(0,EL.default)(e)});return a&&a.length?a.reduce(function(e,t){return[Math.min(e[0],t[0]),Math.max(e[1],t[1])]},[1/0,-1/0]):null},_$=function(e,t,n,r,i){var a=t.map(function(t){var a=t.props.dataKey;return n===`number`&&a&&h$(e,t,a,r)||c$(e,a,n,i)});if(n===`number`)return a.reduce(function(e,t){return[Math.min(e[0],t[0]),Math.max(e[1],t[1])]},[1/0,-1/0]);var o={};return a.reduce(function(e,t){for(var n=0,r=t.length;n=2?DL(o[0]-o[1])*2*c:c,t&&(e.ticks||e.niceTicks)?(e.ticks||e.niceTicks).map(function(e){return{coordinate:r(i?i.indexOf(e):e)+c,value:e,offset:c}}).filter(function(e){return!(0,CL.default)(e.coordinate)}):e.isCategorical&&e.categoricalDomain?e.categoricalDomain.map(function(e,t){return{coordinate:r(e)+c,value:e,index:t,offset:c}}):r.ticks&&!n?r.ticks(e.tickCount).map(function(e){return{coordinate:r(e)+c,value:e,offset:c}}):r.domain().map(function(e,t){return{coordinate:r(e)+c,value:i?i[e]:e,index:t,offset:c}})},b$=new WeakMap,x$=function(e,t){if(typeof t!=`function`)return e;b$.has(e)||b$.set(e,new WeakMap);var n=b$.get(e);if(n.has(t))return n.get(t);var r=function(){e.apply(void 0,arguments),t.apply(void 0,arguments)};return n.set(t,r),r},S$=function(e,t,n){var r=e.scale,i=e.type,a=e.layout,o=e.axisType;if(r===`auto`)return a===`radial`&&o===`radiusAxis`?{scale:hK(),realScaleType:`band`}:a===`radial`&&o===`angleAxis`?{scale:oJ(),realScaleType:`linear`}:i===`category`&&t&&(t.indexOf(`LineChart`)>=0||t.indexOf(`AreaChart`)>=0||t.indexOf(`ComposedChart`)>=0&&!n)?{scale:_K(),realScaleType:`point`}:i===`category`?{scale:hK(),realScaleType:`band`}:{scale:oJ(),realScaleType:`linear`};if((0,SL.default)(r)){var s=`scale${(0,dB.default)(r)}`;return{scale:(hZ[s]||_K)(),realScaleType:hZ[s]?s:`point`}}return(0,XL.default)(r)?{scale:r}:{scale:_K(),realScaleType:`point`}},C$=1e-4,w$=function(e){var t=e.domain();if(!(!t||t.length<=2)){var n=t.length,r=e.range(),i=Math.min(r[0],r[1])-C$,a=Math.max(r[0],r[1])+C$,o=e(t[0]),s=e(t[n-1]);(oa||sa)&&e.domain([t[0],t[n-1]])}},T$=function(e,t){if(!e)return null;for(var n=0,r=e.length;nr)&&(i[1]=r),i[0]>r&&(i[0]=r),i[1]=0?(e[o][n][0]=i,e[o][n][1]=i+s,i=e[o][n][1]):(e[o][n][0]=a,e[o][n][1]=a+s,a=e[o][n][1])}},expand:cB,none:rB,silhouette:lB,wiggle:uB,positive:function(e){var t=e.length;if(!(t<=0))for(var n=0,r=e[0].length;n=0?(e[a][n][0]=i,e[a][n][1]=i+o,i=e[a][n][1]):(e[a][n][0]=0,e[a][n][1]=0)}}},O$=function(e,t,n){var r=t.map(function(e){return e.props.dataKey}),i=D$[n];return sB().keys(r).value(function(e,t){return+s$(e,t,0)}).order(iB).offset(i)(e)},k$=function(e,t,n,r,i,a){if(!e)return null;var o=(a?t.reverse():t).reduce(function(e,t){var i,a=(i=t.type)!=null&&i.defaultProps?r$(r$({},t.type.defaultProps),t.props):t.props,o=a.stackId;if(a.hide)return e;var s=a[n],c=e[s]||{hasStack:!1,stackGroups:{}};if(AL(o)){var l=c.stackGroups[o]||{numericAxisId:n,cateAxisId:r,items:[]};l.items.push(t),c.hasStack=!0,c.stackGroups[o]=l}else c.stackGroups[ML(`_stackId_`)]={numericAxisId:n,cateAxisId:r,items:[t]};return r$(r$({},e),{},i$({},s,c))},{});return Object.keys(o).reduce(function(t,a){var s=o[a];return s.hasStack&&(s.stackGroups=Object.keys(s.stackGroups).reduce(function(t,a){var o=s.stackGroups[a];return r$(r$({},t),{},i$({},a,{numericAxisId:n,cateAxisId:r,items:o.items,stackedData:O$(e,o.items,i)}))},{})),r$(r$({},t),{},i$({},a,s))},{})},A$=function(e,t){var n=t.realScaleType,r=t.type,i=t.tickCount,a=t.originalDomain,o=t.allowDecimals,s=n||t.scale;if(s!==`auto`&&s!==`linear`)return null;if(i&&r===`number`&&a&&(a[0]===`auto`||a[1]===`auto`)){var c=e.domain();if(!c.length)return null;var l=cQ(c,i,o);return e.domain([(0,KQ.default)(l),(0,GQ.default)(l)]),{niceTicks:l}}return i&&r===`number`?{niceTicks:lQ(e.domain(),i,o)}:null};function j$(e){var t=e.axis,n=e.ticks,r=e.bandSize,i=e.entry,a=e.index,o=e.dataKey;if(t.type===`category`){if(!t.allowDuplicatedCategory&&t.dataKey&&!(0,EL.default)(i[t.dataKey])){var s=LL(n,`value`,i[t.dataKey]);if(s)return s.coordinate+r/2}return n[a]?n[a].coordinate+r/2:null}var c=s$(i,(0,EL.default)(o)?t.dataKey:o);return(0,EL.default)(c)?null:t.scale(c)}var M$=function(e){var t=e.axis,n=e.ticks,r=e.offset,i=e.bandSize,a=e.entry,o=e.index;if(t.type===`category`)return n[o]?n[o].coordinate+r:null;var s=s$(a,t.dataKey,t.domain[o]);return(0,EL.default)(s)?null:t.scale(s)-i/2+r},N$=function(e){var t=e.numericAxis,n=t.scale.domain();if(t.type===`number`){var r=Math.min(n[0],n[1]),i=Math.max(n[0],n[1]);return r<=0&&i>=0?0:i<0?i:r}return n[0]},P$=function(e,t){var n,r=((n=e.type)!=null&&n.defaultProps?r$(r$({},e.type.defaultProps),e.props):e.props).stackId;if(AL(r)){var i=t[r];if(i){var a=i.items.indexOf(e);return a>=0?i.stackedData[a]:null}}return null},F$=function(e){return e.reduce(function(e,t){return[(0,KQ.default)(t.concat([e[0]]).filter(Q)),(0,GQ.default)(t.concat([e[1]]).filter(Q))]},[1/0,-1/0])},I$=function(e,t,n){return Object.keys(e).reduce(function(r,i){var a=e[i].stackedData.reduce(function(e,r){var i=F$(r.slice(t,n+1));return[Math.min(e[0],i[0]),Math.max(e[1],i[1])]},[1/0,-1/0]);return[Math.min(a[0],r[0]),Math.max(a[1],r[1])]},[1/0,-1/0]).map(function(e){return e===1/0||e===-1/0?0:e})},L$=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,R$=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,z$=function(e,t,n){if((0,XL.default)(e))return e(t,n);if(!Array.isArray(e))return t;var r=[];if(Q(e[0]))r[0]=n?e[0]:Math.min(e[0],t[0]);else if(L$.test(e[0])){var i=+L$.exec(e[0])[1];r[0]=t[0]-i}else (0,XL.default)(e[0])?r[0]=e[0](t[0]):r[0]=t[0];if(Q(e[1]))r[1]=n?e[1]:Math.max(e[1],t[1]);else if(R$.test(e[1])){var a=+R$.exec(e[1])[1];r[1]=t[1]+a}else (0,XL.default)(e[1])?r[1]=e[1](t[1]):r[1]=t[1];return r},B$=function(e,t,n){if(e&&e.scale&&e.scale.bandwidth){var r=e.scale.bandwidth();if(!n||r>0)return r}if(e&&t&&t.length>=2){for(var i=(0,nU.default)(t,function(e){return e.coordinate}),a=1/0,o=1,s=i.length;oa&&(c=2*Math.PI-c),{radius:o,angle:X$(c),angleInRadian:c}},$$=function(e){var t=e.startAngle,n=e.endAngle,r=Math.floor(t/360),i=Math.floor(n/360),a=Math.min(r,i);return{startAngle:t-a*360,endAngle:n-a*360}},e1=function(e,t){var n=t.startAngle,r=t.endAngle,i=Math.floor(n/360),a=Math.floor(r/360);return e+Math.min(i,a)*360},t1=function(e,t){var n=e.x,r=e.y,i=Q$({x:n,y:r},t),a=i.radius,o=i.angle,s=t.innerRadius,c=t.outerRadius;if(ac)return!1;if(a===0)return!0;var l=$$(t),u=l.startAngle,d=l.endAngle,f=o,p;if(u<=d){for(;f>d;)f-=360;for(;f=u&&f<=d}else{for(;f>u;)f-=360;for(;f=d&&f<=u}return p?G$(G$({},t),{},{radius:a,angle:e1(f,t)}):null};function n1(e){"@babel/helpers - typeof";return n1=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},n1(e)}var r1=[`offset`];function i1(e){return c1(e)||s1(e)||o1(e)||a1()}function a1(){throw TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function o1(e,t){if(e){if(typeof e==`string`)return l1(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l1(e,t)}}function s1(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function c1(e){if(Array.isArray(e))return l1(e)}function l1(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function d1(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function f1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function p1(e){for(var t=1;t=0?1:-1,y,b;r===`insideStart`?(y=f+v*a,b=m):r===`insideEnd`?(y=p-v*a,b=!m):r===`end`&&(y=p+v*a,b=m),b=g<=0?b:!b;var x=Z$(c,l,h,y),S=Z$(c,l,h,y+(b?1:-1)*359),C=`M${x.x},${x.y} A${h},${h},0,1,${+!b}, - ${S.x},${S.y}`,w=(0,SL.default)(e.id)?OL(`recharts-radial-line-`):e.id;return _.createElement(`text`,p1({},n,{dominantBaseline:`central`,className:ha(`recharts-radial-bar-label`,o)}),_.createElement(`defs`,null,_.createElement(`path`,{id:w,d:C})),_.createElement(`textPath`,{xlinkHref:`#${w}`},t))},_1=function(e){var t=e.viewBox,n=e.offset,r=e.position,i=t,a=i.cx,o=i.cy,s=i.innerRadius,c=i.outerRadius,l=(i.startAngle+i.endAngle)/2;if(r===`outside`){var u=K$(a,o,c+n,l),d=u.x;return{x:d,y:u.y,textAnchor:d>=a?`start`:`end`,verticalAnchor:`middle`}}if(r===`center`)return{x:a,y:o,textAnchor:`middle`,verticalAnchor:`middle`};if(r===`centerTop`)return{x:a,y:o,textAnchor:`middle`,verticalAnchor:`start`};if(r===`centerBottom`)return{x:a,y:o,textAnchor:`middle`,verticalAnchor:`end`};var f=K$(a,o,(s+c)/2,l);return{x:f.x,y:f.y,textAnchor:`middle`,verticalAnchor:`middle`}},v1=function(e){var t=e.viewBox,n=e.parentViewBox,r=e.offset,i=e.position,a=t,o=a.x,s=a.y,c=a.width,l=a.height,u=l>=0?1:-1,d=u*r,f=u>0?`end`:`start`,p=u>0?`start`:`end`,m=c>=0?1:-1,h=m*r,g=m>0?`end`:`start`,_=m>0?`start`:`end`;if(i===`top`)return l1(l1({},{x:o+c/2,y:s-u*r,textAnchor:`middle`,verticalAnchor:f}),n?{height:Math.max(s-n.y,0),width:c}:{});if(i===`bottom`)return l1(l1({},{x:o+c/2,y:s+l+d,textAnchor:`middle`,verticalAnchor:p}),n?{height:Math.max(n.y+n.height-(s+l),0),width:c}:{});if(i===`left`){var v={x:o-h,y:s+l/2,textAnchor:g,verticalAnchor:`middle`};return l1(l1({},v),n?{width:Math.max(v.x-n.x,0),height:l}:{})}if(i===`right`){var y={x:o+c+h,y:s+l/2,textAnchor:_,verticalAnchor:`middle`};return l1(l1({},y),n?{width:Math.max(n.x+n.width-y.x,0),height:l}:{})}var b=n?{width:c,height:l}:{};return i===`insideLeft`?l1({x:o+h,y:s+l/2,textAnchor:_,verticalAnchor:`middle`},b):i===`insideRight`?l1({x:o+c-h,y:s+l/2,textAnchor:g,verticalAnchor:`middle`},b):i===`insideTop`?l1({x:o+c/2,y:s+d,textAnchor:`middle`,verticalAnchor:p},b):i===`insideBottom`?l1({x:o+c/2,y:s+l-d,textAnchor:`middle`,verticalAnchor:f},b):i===`insideTopLeft`?l1({x:o+h,y:s+d,textAnchor:_,verticalAnchor:p},b):i===`insideTopRight`?l1({x:o+c-h,y:s+d,textAnchor:g,verticalAnchor:p},b):i===`insideBottomLeft`?l1({x:o+h,y:s+l-d,textAnchor:_,verticalAnchor:f},b):i===`insideBottomRight`?l1({x:o+c-h,y:s+l-d,textAnchor:g,verticalAnchor:f},b):(0,IL.default)(i)&&(Q(i.x)||wL(i.x))&&(Q(i.y)||wL(i.y))?l1({x:o+kL(i.x,c),y:s+kL(i.y,l),textAnchor:`end`,verticalAnchor:`end`},b):l1({x:o+c/2,y:s+l/2,textAnchor:`middle`,verticalAnchor:`middle`},b)},y1=function(e){return`cx`in e&&Q(e.cx)};function b1(e){var t=e.offset,n=t===void 0?5:t,r=o1(e,$$),i=l1({offset:n},r),a=i.viewBox,o=i.position,s=i.value,c=i.children,l=i.content,u=i.className,d=u===void 0?``:u,f=i.textBreakAll;if(!a||(0,SL.default)(s)&&(0,SL.default)(c)&&!(0,_.isValidElement)(l)&&!(0,KL.default)(l))return null;if((0,_.isValidElement)(l))return(0,_.cloneElement)(l,i);var p;if((0,KL.default)(l)){if(p=(0,_.createElement)(l,i),(0,_.isValidElement)(p))return p}else p=m1(i);var m=y1(a),h=dR(i,!0);if(m&&(o===`insideStart`||o===`insideEnd`||o===`end`))return g1(i,p,h);var g=m?_1(i):v1(i);return _.createElement(jG,p1({className:ha(`recharts-label`,d)},h,g,{breakAll:f}),p)}b1.displayName=`Label`;var x1=function(e){var t=e.cx,n=e.cy,r=e.angle,i=e.startAngle,a=e.endAngle,o=e.r,s=e.radius,c=e.innerRadius,l=e.outerRadius,u=e.x,d=e.y,f=e.top,p=e.left,m=e.width,h=e.height,g=e.clockWise,_=e.labelViewBox;if(_)return _;if(Q(m)&&Q(h)){if(Q(u)&&Q(d))return{x:u,y:d,width:m,height:h};if(Q(f)&&Q(p))return{x:f,y:p,width:m,height:h}}return Q(u)&&Q(d)?{x:u,y:d,width:0,height:0}:Q(t)&&Q(n)?{cx:t,cy:n,startAngle:i||r||0,endAngle:a||r||0,innerRadius:c||0,outerRadius:l||s||o||0,clockWise:g}:e.viewBox?e.viewBox:{}},S1=function(e,t){return e?e===!0?_.createElement(b1,{key:`label-implicit`,viewBox:t}):EL(e)?_.createElement(b1,{key:`label-implicit`,viewBox:t,value:e}):(0,_.isValidElement)(e)?e.type===b1?(0,_.cloneElement)(e,{key:`label-implicit`,viewBox:t}):_.createElement(b1,{key:`label-implicit`,content:e,viewBox:t}):(0,KL.default)(e)?_.createElement(b1,{key:`label-implicit`,content:e,viewBox:t}):(0,IL.default)(e)?_.createElement(b1,p1({viewBox:t},e,{key:`label-implicit`})):null:null};b1.parseViewBox=x1,b1.renderCallByParent=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&n&&!e.label)return null;var r=e.children,i=x1(e),a=iR(r,b1).map(function(e,n){return(0,_.cloneElement)(e,{viewBox:t||i,key:`label-${n}`})});return n?[S1(e.label,t||i)].concat(e1(a)):a};var C1=l(o(((e,t)=>{function n(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}t.exports=n}))());function w1(e){"@babel/helpers - typeof";return w1=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},w1(e)}var T1=[`valueAccessor`],E1=[`data`,`dataKey`,`clockWise`,`id`,`textBreakAll`];function D1(e){return j1(e)||A1(e)||k1(e)||O1()}function O1(){throw TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function k1(e,t){if(e){if(typeof e==`string`)return M1(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return M1(e,t)}}function A1(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function j1(e){if(Array.isArray(e))return M1(e)}function M1(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function B1(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var V1=function(e){return Array.isArray(e.value)?(0,C1.default)(e.value):e.value};function H1(e){var t=e.valueAccessor,n=t===void 0?V1:t,r=z1(e,T1),i=r.data,a=r.dataKey,o=r.clockWise,s=r.id,c=r.textBreakAll,l=z1(r,E1);return!i||!i.length?null:_.createElement(ER,{className:`recharts-label-list`},i.map(function(e,t){var r=(0,SL.default)(a)?n(e,t):r$(e&&e.payload,a),i=(0,SL.default)(s)?{}:{id:`${s}-${t}`};return _.createElement(b1,N1({},dR(e,!0),l,i,{parentViewBox:e.parentViewBox,value:r,textBreakAll:c,viewBox:b1.parseViewBox((0,SL.default)(o)?e:F1(F1({},e),{},{clockWise:o})),key:`label-${t}`,index:t}))}))}H1.displayName=`LabelList`;function U1(e,t){return e?e===!0?_.createElement(H1,{key:`labelList-implicit`,data:t}):_.isValidElement(e)||(0,KL.default)(e)?_.createElement(H1,{key:`labelList-implicit`,data:t,content:e}):(0,IL.default)(e)?_.createElement(H1,N1({data:t},e,{key:`labelList-implicit`})):null:null}function W1(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&n&&!e.label)return null;var r=e.children,i=iR(r,H1).map(function(e,n){return(0,_.cloneElement)(e,{data:t,key:`labelList-${n}`})});return n?[U1(e.label,t)].concat(D1(i)):i}H1.renderCallByParent=W1;function G1(e){"@babel/helpers - typeof";return G1=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},G1(e)}function K1(){return K1=Object.assign?Object.assign.bind():function(e){for(var t=1;t=a?`start`:`end`,verticalAnchor:`middle`}}if(r===`center`)return{x:a,y:o,textAnchor:`middle`,verticalAnchor:`middle`};if(r===`centerTop`)return{x:a,y:o,textAnchor:`middle`,verticalAnchor:`start`};if(r===`centerBottom`)return{x:a,y:o,textAnchor:`middle`,verticalAnchor:`end`};var f=Z$(a,o,(s+c)/2,l);return{x:f.x,y:f.y,textAnchor:`middle`,verticalAnchor:`middle`}},S1=function(e){var t=e.viewBox,n=e.parentViewBox,r=e.offset,i=e.position,a=t,o=a.x,s=a.y,c=a.width,l=a.height,u=l>=0?1:-1,d=u*r,f=u>0?`end`:`start`,p=u>0?`start`:`end`,m=c>=0?1:-1,h=m*r,g=m>0?`end`:`start`,_=m>0?`start`:`end`;if(i===`top`)return p1(p1({},{x:o+c/2,y:s-u*r,textAnchor:`middle`,verticalAnchor:f}),n?{height:Math.max(s-n.y,0),width:c}:{});if(i===`bottom`)return p1(p1({},{x:o+c/2,y:s+l+d,textAnchor:`middle`,verticalAnchor:p}),n?{height:Math.max(n.y+n.height-(s+l),0),width:c}:{});if(i===`left`){var v={x:o-h,y:s+l/2,textAnchor:g,verticalAnchor:`middle`};return p1(p1({},v),n?{width:Math.max(v.x-n.x,0),height:l}:{})}if(i===`right`){var y={x:o+c+h,y:s+l/2,textAnchor:_,verticalAnchor:`middle`};return p1(p1({},y),n?{width:Math.max(n.x+n.width-y.x,0),height:l}:{})}var b=n?{width:c,height:l}:{};return i===`insideLeft`?p1({x:o+h,y:s+l/2,textAnchor:_,verticalAnchor:`middle`},b):i===`insideRight`?p1({x:o+c-h,y:s+l/2,textAnchor:g,verticalAnchor:`middle`},b):i===`insideTop`?p1({x:o+c/2,y:s+d,textAnchor:`middle`,verticalAnchor:p},b):i===`insideBottom`?p1({x:o+c/2,y:s+l-d,textAnchor:`middle`,verticalAnchor:f},b):i===`insideTopLeft`?p1({x:o+h,y:s+d,textAnchor:_,verticalAnchor:p},b):i===`insideTopRight`?p1({x:o+c-h,y:s+d,textAnchor:g,verticalAnchor:p},b):i===`insideBottomLeft`?p1({x:o+h,y:s+l-d,textAnchor:_,verticalAnchor:f},b):i===`insideBottomRight`?p1({x:o+c-h,y:s+l-d,textAnchor:g,verticalAnchor:f},b):(0,BL.default)(i)&&(Q(i.x)||OL(i.x))&&(Q(i.y)||OL(i.y))?p1({x:o+NL(i.x,c),y:s+NL(i.y,l),textAnchor:`end`,verticalAnchor:`end`},b):p1({x:o+c/2,y:s+l/2,textAnchor:`middle`,verticalAnchor:`middle`},b)},C1=function(e){return`cx`in e&&Q(e.cx)};function w1(e){var t=e.offset,n=t===void 0?5:t,r=u1(e,r1),i=p1({offset:n},r),a=i.viewBox,o=i.position,s=i.value,c=i.children,l=i.content,u=i.className,d=u===void 0?``:u,f=i.textBreakAll;if(!a||(0,EL.default)(s)&&(0,EL.default)(c)&&!(0,_.isValidElement)(l)&&!(0,XL.default)(l))return null;if((0,_.isValidElement)(l))return(0,_.cloneElement)(l,i);var p;if((0,XL.default)(l)){if(p=(0,_.createElement)(l,i),(0,_.isValidElement)(p))return p}else p=v1(i);var m=C1(a),h=hR(i,!0);if(m&&(o===`insideStart`||o===`insideEnd`||o===`end`))return b1(i,p,h);var g=m?x1(i):S1(i);return _.createElement(FG,_1({className:ha(`recharts-label`,d)},h,g,{breakAll:f}),p)}w1.displayName=`Label`;var T1=function(e){var t=e.cx,n=e.cy,r=e.angle,i=e.startAngle,a=e.endAngle,o=e.r,s=e.radius,c=e.innerRadius,l=e.outerRadius,u=e.x,d=e.y,f=e.top,p=e.left,m=e.width,h=e.height,g=e.clockWise,_=e.labelViewBox;if(_)return _;if(Q(m)&&Q(h)){if(Q(u)&&Q(d))return{x:u,y:d,width:m,height:h};if(Q(f)&&Q(p))return{x:f,y:p,width:m,height:h}}return Q(u)&&Q(d)?{x:u,y:d,width:0,height:0}:Q(t)&&Q(n)?{cx:t,cy:n,startAngle:i||r||0,endAngle:a||r||0,innerRadius:c||0,outerRadius:l||s||o||0,clockWise:g}:e.viewBox?e.viewBox:{}},E1=function(e,t){return e?e===!0?_.createElement(w1,{key:`label-implicit`,viewBox:t}):AL(e)?_.createElement(w1,{key:`label-implicit`,viewBox:t,value:e}):(0,_.isValidElement)(e)?e.type===w1?(0,_.cloneElement)(e,{key:`label-implicit`,viewBox:t}):_.createElement(w1,{key:`label-implicit`,content:e,viewBox:t}):(0,XL.default)(e)?_.createElement(w1,{key:`label-implicit`,content:e,viewBox:t}):(0,BL.default)(e)?_.createElement(w1,_1({viewBox:t},e,{key:`label-implicit`})):null:null};w1.parseViewBox=T1,w1.renderCallByParent=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&n&&!e.label)return null;var r=e.children,i=T1(e),a=cR(r,w1).map(function(e,n){return(0,_.cloneElement)(e,{viewBox:t||i,key:`label-${n}`})});return n?[E1(e.label,t||i)].concat(i1(a)):a};var D1=l(o(((e,t)=>{function n(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}t.exports=n}))());function O1(e){"@babel/helpers - typeof";return O1=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},O1(e)}var k1=[`valueAccessor`],A1=[`data`,`dataKey`,`clockWise`,`id`,`textBreakAll`];function j1(e){return F1(e)||P1(e)||N1(e)||M1()}function M1(){throw TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function N1(e,t){if(e){if(typeof e==`string`)return I1(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return I1(e,t)}}function P1(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function F1(e){if(Array.isArray(e))return I1(e)}function I1(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function W1(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var G1=function(e){return Array.isArray(e.value)?(0,D1.default)(e.value):e.value};function K1(e){var t=e.valueAccessor,n=t===void 0?G1:t,r=U1(e,k1),i=r.data,a=r.dataKey,o=r.clockWise,s=r.id,c=r.textBreakAll,l=U1(r,A1);return!i||!i.length?null:_.createElement(AR,{className:`recharts-label-list`},i.map(function(e,t){var r=(0,EL.default)(a)?n(e,t):s$(e&&e.payload,a),i=(0,EL.default)(s)?{}:{id:`${s}-${t}`};return _.createElement(w1,L1({},hR(e,!0),l,i,{parentViewBox:e.parentViewBox,value:r,textBreakAll:c,viewBox:w1.parseViewBox((0,EL.default)(o)?e:z1(z1({},e),{},{clockWise:o})),key:`label-${t}`,index:t}))}))}K1.displayName=`LabelList`;function q1(e,t){return e?e===!0?_.createElement(K1,{key:`labelList-implicit`,data:t}):_.isValidElement(e)||(0,XL.default)(e)?_.createElement(K1,{key:`labelList-implicit`,data:t,content:e}):(0,BL.default)(e)?_.createElement(K1,L1({data:t},e,{key:`labelList-implicit`})):null:null}function J1(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&n&&!e.label)return null;var r=e.children,i=cR(r,K1).map(function(e,n){return(0,_.cloneElement)(e,{data:t,key:`labelList-${n}`})});return n?[q1(e.label,t)].concat(j1(i)):i}K1.renderCallByParent=J1;function Y1(e){"@babel/helpers - typeof";return Y1=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Y1(e)}function X1(){return X1=Object.assign?Object.assign.bind():function(e){for(var t=1;t180)},${+(a>c)}, ${u.x},${u.y} - `;if(r>0){var f=K$(t,n,r,a),p=K$(t,n,r,c);d+=`L ${p.x},${p.y} + `;if(r>0){var f=Z$(t,n,r,a),p=Z$(t,n,r,c);d+=`L ${p.x},${p.y} A ${r},${r},0, ${+(Math.abs(s)>180)},${+(a<=c)}, - ${f.x},${f.y} Z`}else d+=`L ${t},${n} Z`;return d},t0=function(e){var t=e.cx,n=e.cy,r=e.innerRadius,i=e.outerRadius,a=e.cornerRadius,o=e.forceCornerRadius,s=e.cornerIsExternal,c=e.startAngle,l=e.endAngle,u=CL(l-c),d=$1({cx:t,cy:n,radius:i,angle:c,sign:u,cornerRadius:a,cornerIsExternal:s}),f=d.circleTangency,p=d.lineTangency,m=d.theta,h=$1({cx:t,cy:n,radius:i,angle:l,sign:-u,cornerRadius:a,cornerIsExternal:s}),g=h.circleTangency,_=h.lineTangency,v=h.theta,y=s?Math.abs(c-l):Math.abs(c-l)-m-v;if(y<0)return o?`M ${p.x},${p.y} + ${f.x},${f.y} Z`}else d+=`L ${t},${n} Z`;return d},a0=function(e){var t=e.cx,n=e.cy,r=e.innerRadius,i=e.outerRadius,a=e.cornerRadius,o=e.forceCornerRadius,s=e.cornerIsExternal,c=e.startAngle,l=e.endAngle,u=DL(l-c),d=r0({cx:t,cy:n,radius:i,angle:c,sign:u,cornerRadius:a,cornerIsExternal:s}),f=d.circleTangency,p=d.lineTangency,m=d.theta,h=r0({cx:t,cy:n,radius:i,angle:l,sign:-u,cornerRadius:a,cornerIsExternal:s}),g=h.circleTangency,_=h.lineTangency,v=h.theta,y=s?Math.abs(c-l):Math.abs(c-l)-m-v;if(y<0)return o?`M ${p.x},${p.y} a${a},${a},0,0,1,${a*2},0 a${a},${a},0,0,1,${-a*2},0 - `:e0({cx:t,cy:n,innerRadius:r,outerRadius:i,startAngle:c,endAngle:l});var b=`M ${p.x},${p.y} + `:i0({cx:t,cy:n,innerRadius:r,outerRadius:i,startAngle:c,endAngle:l});var b=`M ${p.x},${p.y} A${a},${a},0,0,${+(u<0)},${f.x},${f.y} A${i},${i},0,${+(y>180)},${+(u<0)},${g.x},${g.y} A${a},${a},0,0,${+(u<0)},${_.x},${_.y} - `;if(r>0){var x=$1({cx:t,cy:n,radius:r,angle:c,sign:u,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),S=x.circleTangency,C=x.lineTangency,w=x.theta,T=$1({cx:t,cy:n,radius:r,angle:l,sign:-u,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),E=T.circleTangency,D=T.lineTangency,O=T.theta,k=s?Math.abs(c-l):Math.abs(c-l)-w-O;if(k<0&&a===0)return`${b}L${t},${n}Z`;b+=`L${D.x},${D.y} + `;if(r>0){var x=r0({cx:t,cy:n,radius:r,angle:c,sign:u,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),S=x.circleTangency,C=x.lineTangency,w=x.theta,T=r0({cx:t,cy:n,radius:r,angle:l,sign:-u,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),E=T.circleTangency,D=T.lineTangency,O=T.theta,k=s?Math.abs(c-l):Math.abs(c-l)-w-O;if(k<0&&a===0)return`${b}L${t},${n}Z`;b+=`L${D.x},${D.y} A${a},${a},0,0,${+(u<0)},${E.x},${E.y} A${r},${r},0,${+(k>180)},${+(u>0)},${S.x},${S.y} - A${a},${a},0,0,${+(u<0)},${C.x},${C.y}Z`}else b+=`L${t},${n}Z`;return b},n0={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},r0=function(e){var t=J1(J1({},n0),e),n=t.cx,r=t.cy,i=t.innerRadius,a=t.outerRadius,o=t.cornerRadius,s=t.forceCornerRadius,c=t.cornerIsExternal,l=t.startAngle,u=t.endAngle,d=t.className;if(a0&&Math.abs(l-u)<360?t0({cx:n,cy:r,innerRadius:i,outerRadius:a,cornerRadius:Math.min(m,p/2),forceCornerRadius:s,cornerIsExternal:c,startAngle:l,endAngle:u}):e0({cx:n,cy:r,innerRadius:i,outerRadius:a,startAngle:l,endAngle:u});return _.createElement(`path`,K1({},dR(t,!0),{className:f,d:h,role:`img`}))};function i0(e){"@babel/helpers - typeof";return i0=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},i0(e)}function a0(){return a0=Object.assign?Object.assign.bind():function(e){for(var t=1;t{t.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),y0=o(((e,t)=>{var n=v0();function r(){}function i(){}i.resetWarningCache=r,t.exports=function(){function e(e,t,r,i,a,o){if(o!==n){var s=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name=`Invariant Violation`,s}}e.isRequired=e;function t(){return e}var a={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:r};return a.PropTypes=a,a}})),b0=o(((e,t)=>{t.exports=y0()()})),{getOwnPropertyNames:x0,getOwnPropertySymbols:S0}=Object,{hasOwnProperty:C0}=Object.prototype;function w0(e,t){return function(n,r,i){return e(n,r,i)&&t(n,r,i)}}function T0(e){return function(t,n,r){if(!t||!n||typeof t!=`object`||typeof n!=`object`)return e(t,n,r);let{cache:i}=r,a=i.get(t),o=i.get(n);if(a&&o)return a===n&&o===t;i.set(t,n),i.set(n,t);let s=e(t,n,r);return i.delete(t),i.delete(n),s}}function E0(e){return e?.[Symbol.toStringTag]}function D0(e){return x0(e).concat(S0(e))}var O0=Object.hasOwn||((e,t)=>C0.call(e,t));function k0(e,t){return e===t||!e&&!t&&e!==e&&t!==t}var A0=`__v`,j0=`__o`,M0=`_owner`,{getOwnPropertyDescriptor:N0,keys:P0}=Object;function F0(e,t){return e.byteLength===t.byteLength&&J0(new Uint8Array(e),new Uint8Array(t))}function I0(e,t,n){let r=e.length;if(t.length!==r)return!1;for(;r-- >0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function L0(e,t){return e.byteLength===t.byteLength&&J0(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function R0(e,t){return k0(e.getTime(),t.getTime())}function z0(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function B0(e,t){return e===t}function V0(e,t,n){let r=e.size;if(r!==t.size)return!1;if(!r)return!0;let i=Array(r),a=e.entries(),o,s,c=0;for(;(o=a.next())&&!o.done;){let r=t.entries(),a=!1,l=0;for(;(s=r.next())&&!s.done;){if(i[l]){l++;continue}let r=o.value,u=s.value;if(n.equals(r[0],u[0],c,l,e,t,n)&&n.equals(r[1],u[1],r[0],u[0],e,t,n)){a=i[l]=!0;break}l++}if(!a)return!1;c++}return!0}var H0=k0;function U0(e,t,n){let r=P0(e),i=r.length;if(P0(t).length!==i)return!1;for(;i-- >0;)if(!X0(e,t,n,r[i]))return!1;return!0}function W0(e,t,n){let r=D0(e),i=r.length;if(D0(t).length!==i)return!1;let a,o,s;for(;i-- >0;)if(a=r[i],!X0(e,t,n,a)||(o=N0(e,a),s=N0(t,a),(o||s)&&(!o||!s||o.configurable!==s.configurable||o.enumerable!==s.enumerable||o.writable!==s.writable)))return!1;return!0}function G0(e,t){return k0(e.valueOf(),t.valueOf())}function K0(e,t){return e.source===t.source&&e.flags===t.flags}function q0(e,t,n){let r=e.size;if(r!==t.size)return!1;if(!r)return!0;let i=Array(r),a=e.values(),o,s;for(;(o=a.next())&&!o.done;){let r=t.values(),a=!1,c=0;for(;(s=r.next())&&!s.done;){if(!i[c]&&n.equals(o.value,s.value,o.value,s.value,e,t,n)){a=i[c]=!0;break}c++}if(!a)return!1}return!0}function J0(e,t){let n=e.byteLength;if(t.byteLength!==n||e.byteOffset!==t.byteOffset)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}function Y0(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function X0(e,t,n,r){return(r===M0||r===j0||r===A0)&&(e.$$typeof||t.$$typeof)?!0:O0(t,r)&&n.equals(e[r],t[r],r,r,e,t,n)}var Z0=`[object ArrayBuffer]`,Q0=`[object Arguments]`,$0=`[object Boolean]`,e2=`[object DataView]`,t2=`[object Date]`,n2=`[object Error]`,r2=`[object Map]`,i2=`[object Number]`,a2=`[object Object]`,o2=`[object RegExp]`,s2=`[object Set]`,c2=`[object String]`,l2={"[object Int8Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Int16Array]":!0,"[object Uint16Array]":!0,"[object Int32Array]":!0,"[object Uint32Array]":!0,"[object Float16Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0,"[object BigInt64Array]":!0,"[object BigUint64Array]":!0},u2=`[object URL]`,d2=Object.prototype.toString;function f2({areArrayBuffersEqual:e,areArraysEqual:t,areDataViewsEqual:n,areDatesEqual:r,areErrorsEqual:i,areFunctionsEqual:a,areMapsEqual:o,areNumbersEqual:s,areObjectsEqual:c,arePrimitiveWrappersEqual:l,areRegExpsEqual:u,areSetsEqual:d,areTypedArraysEqual:f,areUrlsEqual:p,unknownTagComparators:m}){return function(h,g,_){if(h===g)return!0;if(h==null||g==null)return!1;let v=typeof h;if(v!==typeof g)return!1;if(v!==`object`)return v===`number`?s(h,g,_):v===`function`?a(h,g,_):!1;let y=h.constructor;if(y!==g.constructor)return!1;if(y===Object)return c(h,g,_);if(Array.isArray(h))return t(h,g,_);if(y===Date)return r(h,g,_);if(y===RegExp)return u(h,g,_);if(y===Map)return o(h,g,_);if(y===Set)return d(h,g,_);let b=d2.call(h);if(b===t2)return r(h,g,_);if(b===o2)return u(h,g,_);if(b===r2)return o(h,g,_);if(b===s2)return d(h,g,_);if(b===a2)return typeof h.then!=`function`&&typeof g.then!=`function`&&c(h,g,_);if(b===u2)return p(h,g,_);if(b===n2)return i(h,g,_);if(b===Q0)return c(h,g,_);if(l2[b])return f(h,g,_);if(b===Z0)return e(h,g,_);if(b===e2)return n(h,g,_);if(b===$0||b===i2||b===c2)return l(h,g,_);if(m){let e=m[b];if(!e){let t=E0(h);t&&(e=m[t])}if(e)return e(h,g,_)}return!1}}function p2({circular:e,createCustomConfig:t,strict:n}){let r={areArrayBuffersEqual:F0,areArraysEqual:n?W0:I0,areDataViewsEqual:L0,areDatesEqual:R0,areErrorsEqual:z0,areFunctionsEqual:B0,areMapsEqual:n?w0(V0,W0):V0,areNumbersEqual:H0,areObjectsEqual:n?W0:U0,arePrimitiveWrappersEqual:G0,areRegExpsEqual:K0,areSetsEqual:n?w0(q0,W0):q0,areTypedArraysEqual:n?w0(J0,W0):J0,areUrlsEqual:Y0,unknownTagComparators:void 0};if(t&&(r=Object.assign({},r,t(r))),e){let e=T0(r.areArraysEqual),t=T0(r.areMapsEqual),n=T0(r.areObjectsEqual),i=T0(r.areSetsEqual);r=Object.assign({},r,{areArraysEqual:e,areMapsEqual:t,areObjectsEqual:n,areSetsEqual:i})}return r}function m2(e){return function(t,n,r,i,a,o,s){return e(t,n,s)}}function h2({circular:e,comparator:t,createState:n,equals:r,strict:i}){if(n)return function(a,o){let{cache:s=e?new WeakMap:void 0,meta:c}=n();return t(a,o,{cache:s,equals:r,meta:c,strict:i})};if(e)return function(e,n){return t(e,n,{cache:new WeakMap,equals:r,meta:void 0,strict:i})};let a={cache:void 0,equals:r,meta:void 0,strict:i};return function(e,n){return t(e,n,a)}}var g2=_2();_2({strict:!0}),_2({circular:!0}),_2({circular:!0,strict:!0}),_2({createInternalComparator:()=>k0}),_2({strict:!0,createInternalComparator:()=>k0}),_2({circular:!0,createInternalComparator:()=>k0}),_2({circular:!0,createInternalComparator:()=>k0,strict:!0});function _2(e={}){let{circular:t=!1,createInternalComparator:n,createState:r,strict:i=!1}=e,a=f2(p2(e));return h2({circular:t,comparator:a,createState:r,equals:n?n(a):m2(a),strict:i})}function v2(e){typeof requestAnimationFrame<`u`&&requestAnimationFrame(e)}function y2(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=-1;requestAnimationFrame(function r(i){n<0&&(n=i),i-n>t?(e(i),n=-1):v2(r)})}function b2(e){"@babel/helpers - typeof";return b2=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},b2(e)}function x2(e){return E2(e)||T2(e)||C2(e)||S2()}function S2(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function C2(e,t){if(e){if(typeof e==`string`)return w2(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return w2(e,t)}}function w2(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n=0&&e<=1}),`[configBezier]: arguments should be x1, y1, x2, y2 of [0, 1] instead received %s`,e);var s=e4(t,r),c=e4(n,i),l=t4(t,r),u=function(e){return e>1?1:e<0?0:e},d=function(e){for(var t=e>1?1:e,n=t,r=0;r<8;++r){var i=s(n)-t,a=l(n);if(Math.abs(i-t)0&&arguments[0]!==void 0?arguments[0]:{},t=e.stiff,n=t===void 0?100:t,r=e.damping,i=r===void 0?8:r,a=e.dt,o=a===void 0?17:a,s=function(e,t,r){var a=r+(-(e-t)*n-r*i)*o/1e3,s=r*o/1e3+e;return Math.abs(s-t)e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function k4(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,a;for(a=0;a=0)&&(n[i]=e[i]);return n}function A4(e){return P4(e)||N4(e)||M4(e)||j4()}function j4(){throw TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function M4(e,t){if(e){if(typeof e==`string`)return F4(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return F4(e,t)}}function N4(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function P4(e){if(Array.isArray(e))return F4(e)}function F4(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n`u`||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==`function`)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function X4(e){return X4=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},X4(e)}var Z4=function(e){W4(n,e);var t=K4(n);function n(e,r){var i;z4(this,n),i=t.call(this,e,r);var a=i.props,o=a.isActive,s=a.attributeName,c=a.from,l=a.to,u=a.steps,d=a.children,f=a.duration;if(i.handleStyleChange=i.handleStyleChange.bind(J4(i)),i.changeStyle=i.changeStyle.bind(J4(i)),!o||f<=0)return i.state={style:{}},typeof d==`function`&&(i.state={style:l}),q4(i);if(u&&u.length)i.state={style:u[0].style};else if(c){if(typeof d==`function`)return i.state={style:c},q4(i);i.state={style:s?R4({},s,c):c}}else i.state={style:{}};return i}return V4(n,[{key:`componentDidMount`,value:function(){var e=this.props,t=e.isActive,n=e.canBegin;this.mounted=!0,!(!t||!n)&&this.runAnimation(this.props)}},{key:`componentDidUpdate`,value:function(e){var t=this.props,n=t.isActive,r=t.canBegin,i=t.attributeName,a=t.shouldReAnimate,o=t.to,s=t.from,c=this.state.style;if(r){if(!n){var l={style:i?R4({},i,o):o};this.state&&c&&(i&&c[i]!==o||!i&&c!==o)&&this.setState(l);return}if(!(g2(e.to,o)&&e.canBegin&&e.isActive)){var u=!e.canBegin||!e.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var d=u||a?s:e.to;if(this.state&&c){var f={style:i?R4({},i,d):d};(i&&c[i]!==d||!i&&c!==d)&&this.setState(f)}this.runAnimation(L4(L4({},this.props),{},{from:d,begin:0}))}}}},{key:`componentWillUnmount`,value:function(){this.mounted=!1;var e=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&=(this.manager.stop(),null),this.stopJSAnimation&&this.stopJSAnimation(),e&&e()}},{key:`handleStyleChange`,value:function(e){this.changeStyle(e)}},{key:`changeStyle`,value:function(e){this.mounted&&this.setState({style:e})}},{key:`runJSAnimation`,value:function(e){var t=this,n=e.from,r=e.to,i=e.duration,a=e.easing,o=e.begin,s=e.onAnimationEnd,c=e.onAnimationStart,l=w4(n,r,i4(a),i,this.changeStyle);this.manager.start([c,o,function(){t.stopJSAnimation=l()},i,s])}},{key:`runStepAnimation`,value:function(e){var t=this,n=e.steps,r=e.begin,i=e.onAnimationStart,a=n[0],o=a.style,s=a.duration,c=s===void 0?0:s;return this.manager.start([i].concat(A4(n.reduce(function(e,r,i){if(i===0)return e;var a=r.duration,o=r.easing,s=o===void 0?`ease`:o,c=r.style,l=r.properties,u=r.onAnimationEnd,d=i>0?n[i-1]:r,f=l||Object.keys(c);if(typeof s==`function`||s===`spring`)return[].concat(A4(e),[t.runJSAnimation.bind(t,{from:d.style,to:c,duration:a,easing:s}),a]);var p=R2(f,a,s),m=L4(L4(L4({},d.style),c),{},{transition:p});return[].concat(A4(e),[m,a,u]).filter(F2)},[o,Math.max(c,r)])),[e.onAnimationEnd]))}},{key:`runAnimation`,value:function(e){this.manager||=D2();var t=e.begin,n=e.duration,r=e.attributeName,i=e.to,a=e.easing,o=e.onAnimationStart,s=e.onAnimationEnd,c=e.steps,l=e.children,u=this.manager;if(this.unSubscribe=u.subscribe(this.handleStyleChange),typeof a==`function`||typeof l==`function`||a===`spring`){this.runJSAnimation(e);return}if(c.length>1){this.runStepAnimation(e);return}var d=r?R4({},r,i):i,f=R2(Object.keys(d),n,a);u.start([o,t,L4(L4({},d),{},{transition:f}),n,s])}},{key:`render`,value:function(){var e=this.props,t=e.children;e.begin;var n=e.duration;e.attributeName,e.easing;var r=e.isActive;e.steps,e.from,e.to,e.canBegin,e.onAnimationEnd,e.shouldReAnimate,e.onAnimationReStart;var i=O4(e,D4),a=_.Children.count(t),o=this.state.style;if(typeof t==`function`)return t(o);if(!r||a===0||n<=0)return t;var s=function(e){var t=e.props,n=t.style,r=n===void 0?{}:n,a=t.className;return(0,_.cloneElement)(e,L4(L4({},i),{},{style:L4(L4({},r),o),className:a}))};return a===1?s(_.Children.only(t)):_.createElement(`div`,null,_.Children.map(t,function(e){return s(e)}))}}]),n}(_.PureComponent);Z4.displayName=`Animate`,Z4.defaultProps={begin:0,duration:1e3,from:``,to:``,attributeName:``,easing:`ease`,isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}},Z4.propTypes={from:T4.default.oneOfType([T4.default.object,T4.default.string]),to:T4.default.oneOfType([T4.default.object,T4.default.string]),attributeName:T4.default.string,duration:T4.default.number,begin:T4.default.number,easing:T4.default.oneOfType([T4.default.string,T4.default.func]),steps:T4.default.arrayOf(T4.default.shape({duration:T4.default.number.isRequired,style:T4.default.object.isRequired,easing:T4.default.oneOfType([T4.default.oneOf([`ease`,`ease-in`,`ease-out`,`ease-in-out`,`linear`]),T4.default.func]),properties:T4.default.arrayOf(`string`),onAnimationEnd:T4.default.func})),children:T4.default.oneOfType([T4.default.node,T4.default.func]),isActive:T4.default.bool,canBegin:T4.default.bool,onAnimationEnd:T4.default.func,shouldReAnimate:T4.default.bool,onAnimationStart:T4.default.func,onAnimationReStart:T4.default.func};var Q4=Z4;function $4(e){"@babel/helpers - typeof";return $4=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},$4(e)}function e3(){return e3=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n=0?1:-1,s=n>=0?1:-1,c=+(r>=0&&n>=0||r<0&&n<0),l;if(a>0&&i instanceof Array){for(var u=[0,0,0,0],d=0,f=4;da?a:i[d];l=`M${e},${t+o*u[0]}`,u[0]>0&&(l+=`A ${u[0]},${u[0]},0,0,${c},${e+s*u[0]},${t}`),l+=`L ${e+n-s*u[1]},${t}`,u[1]>0&&(l+=`A ${u[1]},${u[1]},0,0,${c}, + A${a},${a},0,0,${+(u<0)},${C.x},${C.y}Z`}else b+=`L${t},${n}Z`;return b},o0={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},s0=function(e){var t=Q1(Q1({},o0),e),n=t.cx,r=t.cy,i=t.innerRadius,a=t.outerRadius,o=t.cornerRadius,s=t.forceCornerRadius,c=t.cornerIsExternal,l=t.startAngle,u=t.endAngle,d=t.className;if(a0&&Math.abs(l-u)<360?a0({cx:n,cy:r,innerRadius:i,outerRadius:a,cornerRadius:Math.min(m,p/2),forceCornerRadius:s,cornerIsExternal:c,startAngle:l,endAngle:u}):i0({cx:n,cy:r,innerRadius:i,outerRadius:a,startAngle:l,endAngle:u});return _.createElement(`path`,X1({},hR(t,!0),{className:f,d:h,role:`img`}))};function c0(e){"@babel/helpers - typeof";return c0=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},c0(e)}function l0(){return l0=Object.assign?Object.assign.bind():function(e){for(var t=1;t{t.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),C0=o(((e,t)=>{var n=S0();function r(){}function i(){}i.resetWarningCache=r,t.exports=function(){function e(e,t,r,i,a,o){if(o!==n){var s=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name=`Invariant Violation`,s}}e.isRequired=e;function t(){return e}var a={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:r};return a.PropTypes=a,a}})),w0=o(((e,t)=>{t.exports=C0()()})),{getOwnPropertyNames:T0,getOwnPropertySymbols:E0}=Object,{hasOwnProperty:D0}=Object.prototype;function O0(e,t){return function(n,r,i){return e(n,r,i)&&t(n,r,i)}}function k0(e){return function(t,n,r){if(!t||!n||typeof t!=`object`||typeof n!=`object`)return e(t,n,r);let{cache:i}=r,a=i.get(t),o=i.get(n);if(a&&o)return a===n&&o===t;i.set(t,n),i.set(n,t);let s=e(t,n,r);return i.delete(t),i.delete(n),s}}function A0(e){return e?.[Symbol.toStringTag]}function j0(e){return T0(e).concat(E0(e))}var M0=Object.hasOwn||((e,t)=>D0.call(e,t));function N0(e,t){return e===t||!e&&!t&&e!==e&&t!==t}var P0=`__v`,F0=`__o`,I0=`_owner`,{getOwnPropertyDescriptor:L0,keys:R0}=Object;function z0(e,t){return e.byteLength===t.byteLength&&Q0(new Uint8Array(e),new Uint8Array(t))}function B0(e,t,n){let r=e.length;if(t.length!==r)return!1;for(;r-- >0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function V0(e,t){return e.byteLength===t.byteLength&&Q0(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function H0(e,t){return N0(e.getTime(),t.getTime())}function U0(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function W0(e,t){return e===t}function G0(e,t,n){let r=e.size;if(r!==t.size)return!1;if(!r)return!0;let i=Array(r),a=e.entries(),o,s,c=0;for(;(o=a.next())&&!o.done;){let r=t.entries(),a=!1,l=0;for(;(s=r.next())&&!s.done;){if(i[l]){l++;continue}let r=o.value,u=s.value;if(n.equals(r[0],u[0],c,l,e,t,n)&&n.equals(r[1],u[1],r[0],u[0],e,t,n)){a=i[l]=!0;break}l++}if(!a)return!1;c++}return!0}var K0=N0;function q0(e,t,n){let r=R0(e),i=r.length;if(R0(t).length!==i)return!1;for(;i-- >0;)if(!e2(e,t,n,r[i]))return!1;return!0}function J0(e,t,n){let r=j0(e),i=r.length;if(j0(t).length!==i)return!1;let a,o,s;for(;i-- >0;)if(a=r[i],!e2(e,t,n,a)||(o=L0(e,a),s=L0(t,a),(o||s)&&(!o||!s||o.configurable!==s.configurable||o.enumerable!==s.enumerable||o.writable!==s.writable)))return!1;return!0}function Y0(e,t){return N0(e.valueOf(),t.valueOf())}function X0(e,t){return e.source===t.source&&e.flags===t.flags}function Z0(e,t,n){let r=e.size;if(r!==t.size)return!1;if(!r)return!0;let i=Array(r),a=e.values(),o,s;for(;(o=a.next())&&!o.done;){let r=t.values(),a=!1,c=0;for(;(s=r.next())&&!s.done;){if(!i[c]&&n.equals(o.value,s.value,o.value,s.value,e,t,n)){a=i[c]=!0;break}c++}if(!a)return!1}return!0}function Q0(e,t){let n=e.byteLength;if(t.byteLength!==n||e.byteOffset!==t.byteOffset)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}function $0(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function e2(e,t,n,r){return(r===I0||r===F0||r===P0)&&(e.$$typeof||t.$$typeof)?!0:M0(t,r)&&n.equals(e[r],t[r],r,r,e,t,n)}var t2=`[object ArrayBuffer]`,n2=`[object Arguments]`,r2=`[object Boolean]`,i2=`[object DataView]`,a2=`[object Date]`,o2=`[object Error]`,s2=`[object Map]`,c2=`[object Number]`,l2=`[object Object]`,u2=`[object RegExp]`,d2=`[object Set]`,f2=`[object String]`,p2={"[object Int8Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Int16Array]":!0,"[object Uint16Array]":!0,"[object Int32Array]":!0,"[object Uint32Array]":!0,"[object Float16Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0,"[object BigInt64Array]":!0,"[object BigUint64Array]":!0},m2=`[object URL]`,h2=Object.prototype.toString;function g2({areArrayBuffersEqual:e,areArraysEqual:t,areDataViewsEqual:n,areDatesEqual:r,areErrorsEqual:i,areFunctionsEqual:a,areMapsEqual:o,areNumbersEqual:s,areObjectsEqual:c,arePrimitiveWrappersEqual:l,areRegExpsEqual:u,areSetsEqual:d,areTypedArraysEqual:f,areUrlsEqual:p,unknownTagComparators:m}){return function(h,g,_){if(h===g)return!0;if(h==null||g==null)return!1;let v=typeof h;if(v!==typeof g)return!1;if(v!==`object`)return v===`number`?s(h,g,_):v===`function`?a(h,g,_):!1;let y=h.constructor;if(y!==g.constructor)return!1;if(y===Object)return c(h,g,_);if(Array.isArray(h))return t(h,g,_);if(y===Date)return r(h,g,_);if(y===RegExp)return u(h,g,_);if(y===Map)return o(h,g,_);if(y===Set)return d(h,g,_);let b=h2.call(h);if(b===a2)return r(h,g,_);if(b===u2)return u(h,g,_);if(b===s2)return o(h,g,_);if(b===d2)return d(h,g,_);if(b===l2)return typeof h.then!=`function`&&typeof g.then!=`function`&&c(h,g,_);if(b===m2)return p(h,g,_);if(b===o2)return i(h,g,_);if(b===n2)return c(h,g,_);if(p2[b])return f(h,g,_);if(b===t2)return e(h,g,_);if(b===i2)return n(h,g,_);if(b===r2||b===c2||b===f2)return l(h,g,_);if(m){let e=m[b];if(!e){let t=A0(h);t&&(e=m[t])}if(e)return e(h,g,_)}return!1}}function _2({circular:e,createCustomConfig:t,strict:n}){let r={areArrayBuffersEqual:z0,areArraysEqual:n?J0:B0,areDataViewsEqual:V0,areDatesEqual:H0,areErrorsEqual:U0,areFunctionsEqual:W0,areMapsEqual:n?O0(G0,J0):G0,areNumbersEqual:K0,areObjectsEqual:n?J0:q0,arePrimitiveWrappersEqual:Y0,areRegExpsEqual:X0,areSetsEqual:n?O0(Z0,J0):Z0,areTypedArraysEqual:n?O0(Q0,J0):Q0,areUrlsEqual:$0,unknownTagComparators:void 0};if(t&&(r=Object.assign({},r,t(r))),e){let e=k0(r.areArraysEqual),t=k0(r.areMapsEqual),n=k0(r.areObjectsEqual),i=k0(r.areSetsEqual);r=Object.assign({},r,{areArraysEqual:e,areMapsEqual:t,areObjectsEqual:n,areSetsEqual:i})}return r}function v2(e){return function(t,n,r,i,a,o,s){return e(t,n,s)}}function y2({circular:e,comparator:t,createState:n,equals:r,strict:i}){if(n)return function(a,o){let{cache:s=e?new WeakMap:void 0,meta:c}=n();return t(a,o,{cache:s,equals:r,meta:c,strict:i})};if(e)return function(e,n){return t(e,n,{cache:new WeakMap,equals:r,meta:void 0,strict:i})};let a={cache:void 0,equals:r,meta:void 0,strict:i};return function(e,n){return t(e,n,a)}}var b2=x2();x2({strict:!0}),x2({circular:!0}),x2({circular:!0,strict:!0}),x2({createInternalComparator:()=>N0}),x2({strict:!0,createInternalComparator:()=>N0}),x2({circular:!0,createInternalComparator:()=>N0}),x2({circular:!0,createInternalComparator:()=>N0,strict:!0});function x2(e={}){let{circular:t=!1,createInternalComparator:n,createState:r,strict:i=!1}=e,a=g2(_2(e));return y2({circular:t,comparator:a,createState:r,equals:n?n(a):v2(a),strict:i})}function S2(e){typeof requestAnimationFrame<`u`&&requestAnimationFrame(e)}function C2(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=-1;requestAnimationFrame(function r(i){n<0&&(n=i),i-n>t?(e(i),n=-1):S2(r)})}function w2(e){"@babel/helpers - typeof";return w2=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},w2(e)}function T2(e){return A2(e)||k2(e)||D2(e)||E2()}function E2(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function D2(e,t){if(e){if(typeof e==`string`)return O2(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return O2(e,t)}}function O2(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n=0&&e<=1}),`[configBezier]: arguments should be x1, y1, x2, y2 of [0, 1] instead received %s`,e);var s=i4(t,r),c=i4(n,i),l=a4(t,r),u=function(e){return e>1?1:e<0?0:e},d=function(e){for(var t=e>1?1:e,n=t,r=0;r<8;++r){var i=s(n)-t,a=l(n);if(Math.abs(i-t)0&&arguments[0]!==void 0?arguments[0]:{},t=e.stiff,n=t===void 0?100:t,r=e.damping,i=r===void 0?8:r,a=e.dt,o=a===void 0?17:a,s=function(e,t,r){var a=r+(-(e-t)*n-r*i)*o/1e3,s=r*o/1e3+e;return Math.abs(s-t)e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function N4(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,a;for(a=0;a=0)&&(n[i]=e[i]);return n}function P4(e){return R4(e)||L4(e)||I4(e)||F4()}function F4(){throw TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function I4(e,t){if(e){if(typeof e==`string`)return z4(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return z4(e,t)}}function L4(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function R4(e){if(Array.isArray(e))return z4(e)}function z4(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n`u`||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==`function`)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function e3(e){return e3=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},e3(e)}var t3=function(e){J4(n,e);var t=X4(n);function n(e,r){var i;U4(this,n),i=t.call(this,e,r);var a=i.props,o=a.isActive,s=a.attributeName,c=a.from,l=a.to,u=a.steps,d=a.children,f=a.duration;if(i.handleStyleChange=i.handleStyleChange.bind(Q4(i)),i.changeStyle=i.changeStyle.bind(Q4(i)),!o||f<=0)return i.state={style:{}},typeof d==`function`&&(i.state={style:l}),Z4(i);if(u&&u.length)i.state={style:u[0].style};else if(c){if(typeof d==`function`)return i.state={style:c},Z4(i);i.state={style:s?H4({},s,c):c}}else i.state={style:{}};return i}return G4(n,[{key:`componentDidMount`,value:function(){var e=this.props,t=e.isActive,n=e.canBegin;this.mounted=!0,!(!t||!n)&&this.runAnimation(this.props)}},{key:`componentDidUpdate`,value:function(e){var t=this.props,n=t.isActive,r=t.canBegin,i=t.attributeName,a=t.shouldReAnimate,o=t.to,s=t.from,c=this.state.style;if(r){if(!n){var l={style:i?H4({},i,o):o};this.state&&c&&(i&&c[i]!==o||!i&&c!==o)&&this.setState(l);return}if(!(b2(e.to,o)&&e.canBegin&&e.isActive)){var u=!e.canBegin||!e.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var d=u||a?s:e.to;if(this.state&&c){var f={style:i?H4({},i,d):d};(i&&c[i]!==d||!i&&c!==d)&&this.setState(f)}this.runAnimation(V4(V4({},this.props),{},{from:d,begin:0}))}}}},{key:`componentWillUnmount`,value:function(){this.mounted=!1;var e=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&=(this.manager.stop(),null),this.stopJSAnimation&&this.stopJSAnimation(),e&&e()}},{key:`handleStyleChange`,value:function(e){this.changeStyle(e)}},{key:`changeStyle`,value:function(e){this.mounted&&this.setState({style:e})}},{key:`runJSAnimation`,value:function(e){var t=this,n=e.from,r=e.to,i=e.duration,a=e.easing,o=e.begin,s=e.onAnimationEnd,c=e.onAnimationStart,l=O4(n,r,c4(a),i,this.changeStyle);this.manager.start([c,o,function(){t.stopJSAnimation=l()},i,s])}},{key:`runStepAnimation`,value:function(e){var t=this,n=e.steps,r=e.begin,i=e.onAnimationStart,a=n[0],o=a.style,s=a.duration,c=s===void 0?0:s;return this.manager.start([i].concat(P4(n.reduce(function(e,r,i){if(i===0)return e;var a=r.duration,o=r.easing,s=o===void 0?`ease`:o,c=r.style,l=r.properties,u=r.onAnimationEnd,d=i>0?n[i-1]:r,f=l||Object.keys(c);if(typeof s==`function`||s===`spring`)return[].concat(P4(e),[t.runJSAnimation.bind(t,{from:d.style,to:c,duration:a,easing:s}),a]);var p=H2(f,a,s),m=V4(V4(V4({},d.style),c),{},{transition:p});return[].concat(P4(e),[m,a,u]).filter(z2)},[o,Math.max(c,r)])),[e.onAnimationEnd]))}},{key:`runAnimation`,value:function(e){this.manager||=j2();var t=e.begin,n=e.duration,r=e.attributeName,i=e.to,a=e.easing,o=e.onAnimationStart,s=e.onAnimationEnd,c=e.steps,l=e.children,u=this.manager;if(this.unSubscribe=u.subscribe(this.handleStyleChange),typeof a==`function`||typeof l==`function`||a===`spring`){this.runJSAnimation(e);return}if(c.length>1){this.runStepAnimation(e);return}var d=r?H4({},r,i):i,f=H2(Object.keys(d),n,a);u.start([o,t,V4(V4({},d),{},{transition:f}),n,s])}},{key:`render`,value:function(){var e=this.props,t=e.children;e.begin;var n=e.duration;e.attributeName,e.easing;var r=e.isActive;e.steps,e.from,e.to,e.canBegin,e.onAnimationEnd,e.shouldReAnimate,e.onAnimationReStart;var i=M4(e,j4),a=_.Children.count(t),o=this.state.style;if(typeof t==`function`)return t(o);if(!r||a===0||n<=0)return t;var s=function(e){var t=e.props,n=t.style,r=n===void 0?{}:n,a=t.className;return(0,_.cloneElement)(e,V4(V4({},i),{},{style:V4(V4({},r),o),className:a}))};return a===1?s(_.Children.only(t)):_.createElement(`div`,null,_.Children.map(t,function(e){return s(e)}))}}]),n}(_.PureComponent);t3.displayName=`Animate`,t3.defaultProps={begin:0,duration:1e3,from:``,to:``,attributeName:``,easing:`ease`,isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}},t3.propTypes={from:k4.default.oneOfType([k4.default.object,k4.default.string]),to:k4.default.oneOfType([k4.default.object,k4.default.string]),attributeName:k4.default.string,duration:k4.default.number,begin:k4.default.number,easing:k4.default.oneOfType([k4.default.string,k4.default.func]),steps:k4.default.arrayOf(k4.default.shape({duration:k4.default.number.isRequired,style:k4.default.object.isRequired,easing:k4.default.oneOfType([k4.default.oneOf([`ease`,`ease-in`,`ease-out`,`ease-in-out`,`linear`]),k4.default.func]),properties:k4.default.arrayOf(`string`),onAnimationEnd:k4.default.func})),children:k4.default.oneOfType([k4.default.node,k4.default.func]),isActive:k4.default.bool,canBegin:k4.default.bool,onAnimationEnd:k4.default.func,shouldReAnimate:k4.default.bool,onAnimationStart:k4.default.func,onAnimationReStart:k4.default.func};var n3=t3;function r3(e){"@babel/helpers - typeof";return r3=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},r3(e)}function i3(){return i3=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n=0?1:-1,s=n>=0?1:-1,c=+(r>=0&&n>=0||r<0&&n<0),l;if(a>0&&i instanceof Array){for(var u=[0,0,0,0],d=0,f=4;da?a:i[d];l=`M${e},${t+o*u[0]}`,u[0]>0&&(l+=`A ${u[0]},${u[0]},0,0,${c},${e+s*u[0]},${t}`),l+=`L ${e+n-s*u[1]},${t}`,u[1]>0&&(l+=`A ${u[1]},${u[1]},0,0,${c}, ${e+n},${t+o*u[1]}`),l+=`L ${e+n},${t+r-o*u[2]}`,u[2]>0&&(l+=`A ${u[2]},${u[2]},0,0,${c}, ${e+n-s*u[2]},${t+r}`),l+=`L ${e+s*u[3]},${t+r}`,u[3]>0&&(l+=`A ${u[3]},${u[3]},0,0,${c}, ${e},${t+r-o*u[3]}`),l+=`Z`}else if(a>0&&i===+i&&i>0){var p=Math.min(a,i);l=`M ${e},${t+o*p} @@ -3947,10 +3947,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho L ${e+n},${t+r-o*p} A ${p},${p},0,0,${c},${e+n-s*p},${t+r} L ${e+s*p},${t+r} - A ${p},${p},0,0,${c},${e},${t+r-o*p} Z`}else l=`M ${e},${t} h ${n} v ${r} h ${-n} Z`;return l},p3=function(e,t){if(!e||!t)return!1;var n=e.x,r=e.y,i=t.x,a=t.y,o=t.width,s=t.height;if(Math.abs(o)>0&&Math.abs(s)>0){var c=Math.min(i,i+o),l=Math.max(i,i+o),u=Math.min(a,a+s),d=Math.max(a,a+s);return n>=c&&n<=l&&r>=u&&r<=d}return!1},m3={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:`ease`},h3=function(e){var t=c3(c3({},m3),e),n=(0,_.useRef)(),r=t3((0,_.useState)(-1),2),i=r[0],a=r[1];(0,_.useEffect)(function(){if(n.current&&n.current.getTotalLength)try{var e=n.current.getTotalLength();e&&a(e)}catch{}},[]);var o=t.x,s=t.y,c=t.width,l=t.height,u=t.radius,d=t.className,f=t.animationEasing,p=t.animationDuration,m=t.animationBegin,h=t.isAnimationActive,g=t.isUpdateAnimationActive;if(o!==+o||s!==+s||c!==+c||l!==+l||c===0||l===0)return null;var v=ha(`recharts-rectangle`,d);return g?_.createElement(Q4,{canBegin:i>0,from:{width:c,height:l,x:o,y:s},to:{width:c,height:l,x:o,y:s},duration:p,animationEasing:f,isActive:g},function(e){var r=e.width,a=e.height,o=e.x,s=e.y;return _.createElement(Q4,{canBegin:i>0,from:`0px ${i===-1?1:i}px`,to:`${i}px 0px`,attributeName:`strokeDasharray`,begin:m,duration:p,isActive:h,easing:f},_.createElement(`path`,e3({},dR(t,!0),{className:v,d:f3(o,s,r,a,u),ref:n})))}):_.createElement(`path`,e3({},dR(t,!0),{className:v,d:f3(o,s,c,l,u)}))};function g3(){return g3=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function D3(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var O3=function(e,t,n,r,i,a){return`M${e},${i}v${r}M${a},${t}h${n}`},k3=function(e){var t=e.x,n=t===void 0?0:t,r=e.y,i=r===void 0?0:r,a=e.top,o=a===void 0?0:a,s=e.left,c=s===void 0?0:s,l=e.width,u=l===void 0?0:l,d=e.height,f=d===void 0?0:d,p=e.className,m=E3(e,y3),h=S3({x:n,y:i,top:o,left:c,width:u,height:f},m);return!Q(n)||!Q(i)||!Q(u)||!Q(f)||!Q(o)||!Q(c)?null:_.createElement(`path`,b3({},dR(h,!0),{className:ha(`recharts-cross`,p),d:O3(n,i,u,f,o,c)}))},A3=o(((e,t)=>{t.exports=CV()(Object.getPrototypeOf,Object)})),j3=o(((e,t)=>{var n=qI(),r=A3(),i=JI(),a=`[object Object]`,o=Function.prototype,s=Object.prototype,c=o.toString,l=s.hasOwnProperty,u=c.call(Object);function d(e){if(!i(e)||n(e)!=a)return!1;var t=r(e);if(t===null)return!0;var o=l.call(t,`constructor`)&&t.constructor;return typeof o==`function`&&o instanceof o&&c.call(o)==u}t.exports=d})),M3=o(((e,t)=>{var n=qI(),r=JI(),i=`[object Boolean]`;function a(e){return e===!0||e===!1||r(e)&&n(e)==i}t.exports=a}));function N3(e){"@babel/helpers - typeof";return N3=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},N3(e)}function P3(){return P3=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0,from:{upperWidth:0,lowerWidth:0,height:u,x:o,y:s},to:{upperWidth:c,lowerWidth:l,height:u,x:o,y:s},duration:p,animationEasing:f,isActive:h},function(e){var r=e.upperWidth,a=e.lowerWidth,o=e.height,s=e.x,c=e.y;return _.createElement(Q4,{canBegin:i>0,from:`0px ${i===-1?1:i}px`,to:`${i}px 0px`,attributeName:`strokeDasharray`,begin:m,duration:p,easing:f},_.createElement(`path`,P3({},dR(t,!0),{className:g,d:K3(s,c,r,a,o),ref:n})))}):_.createElement(`g`,null,_.createElement(`path`,P3({},dR(t,!0),{className:g,d:K3(o,s,c,l,u)})))},Y3=l(j3()),X3=l(M3()),Z3=[`option`,`shapeType`,`propTransformer`,`activeClassName`,`isActive`];function Q3(e){"@babel/helpers - typeof";return Q3=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Q3(e)}function $3(e,t){if(e==null)return{};var n=e6(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function e6(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function t6(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function n6(e){for(var t=1;t{var n=Math.ceil,r=Math.max;function i(e,t,i,a){for(var o=-1,s=r(n((t-e)/(i||1)),0),c=Array(s);s--;)c[a?s:++o]=e,e+=i;return c}t.exports=i})),S6=o(((e,t)=>{var n=dW(),r=1/0,i=17976931348623157e292;function a(e){return e?(e=n(e),e===r||e===-r?(e<0?-1:1)*i:e===e?e:0):e===0?e:0}t.exports=a})),C6=o(((e,t)=>{var n=x6(),r=ZH(),i=S6();function a(e){return function(t,a,o){return o&&typeof o!=`number`&&r(t,a,o)&&(a=o=void 0),t=i(t),a===void 0?(a=t,t=0):a=i(a),o=o===void 0?t{t.exports=C6()()}));function T6(e){"@babel/helpers - typeof";return T6=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},T6(e)}function E6(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function D6(e){for(var t=1;t0&&n.handleDrag(e.changedTouches[0])}),J6(n,`handleDragEnd`,function(){n.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var e=n.props,t=e.endIndex,r=e.onDragEnd,i=e.startIndex;r?.({endIndex:t,startIndex:i})}),n.detachDragEndListener()}),J6(n,`handleLeaveWrapper`,function(){(n.state.isTravellerMoving||n.state.isSlideMoving)&&(n.leaveTimer=window.setTimeout(n.handleDragEnd,n.props.leaveTimeOut))}),J6(n,`handleEnterSlideOrTraveller`,function(){n.setState({isTextActive:!0})}),J6(n,`handleLeaveSlideOrTraveller`,function(){n.setState({isTextActive:!1})}),J6(n,`handleSlideDragStart`,function(e){var t=Q6(e)?e.changedTouches[0]:e;n.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:t.pageX}),n.attachDragEndListener()}),n.travellerDragStartHandlers={startX:n.handleTravellerDragStart.bind(n,`startX`),endX:n.handleTravellerDragStart.bind(n,`endX`)},n.state={},n}return K6(t,e),B6(t,[{key:`componentWillUnmount`,value:function(){this.leaveTimer&&=(clearTimeout(this.leaveTimer),null),this.detachDragEndListener()}},{key:`getIndex`,value:function(e){var n=e.startX,r=e.endX,i=this.state.scaleValues,a=this.props,o=a.gap,s=a.data.length-1,c=Math.min(n,r),l=Math.max(n,r),u=t.getIndexInRange(i,c),d=t.getIndexInRange(i,l);return{startIndex:u-u%o,endIndex:d===s?s:d-d%o}}},{key:`getTextOfTick`,value:function(e){var t=this.props,n=t.data,r=t.tickFormatter,i=t.dataKey,a=r$(n[e],i,e);return(0,KL.default)(r)?r(a,e):a}},{key:`attachDragEndListener`,value:function(){window.addEventListener(`mouseup`,this.handleDragEnd,!0),window.addEventListener(`touchend`,this.handleDragEnd,!0),window.addEventListener(`mousemove`,this.handleDrag,!0)}},{key:`detachDragEndListener`,value:function(){window.removeEventListener(`mouseup`,this.handleDragEnd,!0),window.removeEventListener(`touchend`,this.handleDragEnd,!0),window.removeEventListener(`mousemove`,this.handleDrag,!0)}},{key:`handleSlideDrag`,value:function(e){var t=this.state,n=t.slideMoveStartX,r=t.startX,i=t.endX,a=this.props,o=a.x,s=a.width,c=a.travellerWidth,l=a.startIndex,u=a.endIndex,d=a.onChange,f=e.pageX-n;f>0?f=Math.min(f,o+s-c-i,o+s-c-r):f<0&&(f=Math.max(f,o-r,o-i));var p=this.getIndex({startX:r+f,endX:i+f});(p.startIndex!==l||p.endIndex!==u)&&d&&d(p),this.setState({startX:r+f,endX:i+f,slideMoveStartX:e.pageX})}},{key:`handleTravellerDragStart`,value:function(e,t){var n=Q6(t)?t.changedTouches[0]:t;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:e,brushMoveStartX:n.pageX}),this.attachDragEndListener()}},{key:`handleTravellerMove`,value:function(e){var t=this.state,n=t.brushMoveStartX,r=t.movingTravellerId,i=t.endX,a=t.startX,o=this.state[r],s=this.props,c=s.x,l=s.width,u=s.travellerWidth,d=s.onChange,f=s.gap,p=s.data,m={startX:this.state.startX,endX:this.state.endX},h=e.pageX-n;h>0?h=Math.min(h,c+l-u-o):h<0&&(h=Math.max(h,c-o)),m[r]=o+h;var g=this.getIndex(m),_=g.startIndex,v=g.endIndex,y=function(){var e=p.length-1;return r===`startX`&&(i>a?_%f===0:v%f===0)||ia?v%f===0:_%f===0)||i>a&&v===e};this.setState(J6(J6({},r,o+h),`brushMoveStartX`,e.pageX),function(){d&&y()&&d(g)})}},{key:`handleTravellerMoveKeyboard`,value:function(e,t){var n=this,r=this.state,i=r.scaleValues,a=r.startX,o=r.endX,s=this.state[t],c=i.indexOf(s);if(c!==-1){var l=c+e;if(!(l===-1||l>=i.length)){var u=i[l];t===`startX`&&u>=o||t===`endX`&&u<=a||this.setState(J6({},t,u),function(){n.props.onChange(n.getIndex({startX:n.state.startX,endX:n.state.endX}))})}}}},{key:`renderBackground`,value:function(){var e=this.props,t=e.x,n=e.y,r=e.width,i=e.height,a=e.fill,o=e.stroke;return _.createElement(`rect`,{stroke:o,fill:a,x:t,y:n,width:r,height:i})}},{key:`renderPanorama`,value:function(){var e=this.props,t=e.x,n=e.y,r=e.width,i=e.height,a=e.data,o=e.children,s=e.padding,c=_.Children.only(o);return c?_.cloneElement(c,{x:t,y:n,width:r,height:i,margin:s,compact:!0,data:a}):null}},{key:`renderTravellerLayer`,value:function(e,n){var r=this,i=this.props,a=i.y,o=i.travellerWidth,s=i.height,c=i.traveller,l=i.ariaLabel,u=i.data,d=i.startIndex,f=i.endIndex,p=Math.max(e,this.props.x),m=L6(L6({},dR(this.props,!1)),{},{x:p,y:a,width:o,height:s}),h=l||`Min value: ${u[d]?.name}, Max value: ${u[f]?.name}`;return _.createElement(ER,{tabIndex:0,role:`slider`,"aria-label":h,"aria-valuenow":e,className:`recharts-brush-traveller`,onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[n],onTouchStart:this.travellerDragStartHandlers[n],onKeyDown:function(e){[`ArrowLeft`,`ArrowRight`].includes(e.key)&&(e.preventDefault(),e.stopPropagation(),r.handleTravellerMoveKeyboard(e.key===`ArrowRight`?1:-1,n))},onFocus:function(){r.setState({isTravellerFocused:!0})},onBlur:function(){r.setState({isTravellerFocused:!1})},style:{cursor:`col-resize`}},t.renderTraveller(c,m))}},{key:`renderSlide`,value:function(e,t){var n=this.props,r=n.y,i=n.height,a=n.stroke,o=n.travellerWidth,s=Math.min(e,t)+o,c=Math.max(Math.abs(t-e)-o,0);return _.createElement(`rect`,{className:`recharts-brush-slide`,onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:`move`},stroke:`none`,fill:a,fillOpacity:.2,x:s,y:r,width:c,height:i})}},{key:`renderText`,value:function(){var e=this.props,t=e.startIndex,n=e.endIndex,r=e.y,i=e.height,a=e.travellerWidth,o=e.stroke,s=this.state,c=s.startX,l=s.endX,u=5,d={pointerEvents:`none`,fill:o};return _.createElement(ER,{className:`recharts-brush-texts`},_.createElement(jG,F6({textAnchor:`end`,verticalAnchor:`middle`,x:Math.min(c,l)-u,y:r+i/2},d),this.getTextOfTick(t)),_.createElement(jG,F6({textAnchor:`start`,verticalAnchor:`middle`,x:Math.max(c,l)+a+u,y:r+i/2},d),this.getTextOfTick(n)))}},{key:`render`,value:function(){var e=this.props,t=e.data,n=e.className,r=e.children,i=e.x,a=e.y,o=e.width,s=e.height,c=e.alwaysShowText,l=this.state,u=l.startX,d=l.endX,f=l.isTextActive,p=l.isSlideMoving,m=l.isTravellerMoving,h=l.isTravellerFocused;if(!t||!t.length||!Q(i)||!Q(a)||!Q(o)||!Q(s)||o<=0||s<=0)return null;var g=ha(`recharts-brush`,n),v=_.Children.count(r)===1,y=M6(`userSelect`,`none`);return _.createElement(ER,{className:g,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:y},this.renderBackground(),v&&this.renderPanorama(),this.renderSlide(u,d),this.renderTravellerLayer(u,`startX`),this.renderTravellerLayer(d,`endX`),(f||p||m||h||c)&&this.renderText())}}],[{key:`renderDefaultTraveller`,value:function(e){var t=e.x,n=e.y,r=e.width,i=e.height,a=e.stroke,o=Math.floor(n+i/2)-1;return _.createElement(_.Fragment,null,_.createElement(`rect`,{x:t,y:n,width:r,height:i,fill:a,stroke:`none`}),_.createElement(`line`,{x1:t+1,y1:o,x2:t+r-1,y2:o,fill:`none`,stroke:`#fff`}),_.createElement(`line`,{x1:t+1,y1:o+2,x2:t+r-1,y2:o+2,fill:`none`,stroke:`#fff`}))}},{key:`renderTraveller`,value:function(e,n){return _.isValidElement(e)?_.cloneElement(e,n):(0,KL.default)(e)?e(n):t.renderDefaultTraveller(n)}},{key:`getDerivedStateFromProps`,value:function(e,t){var n=e.data,r=e.width,i=e.x,a=e.travellerWidth,o=e.updateId,s=e.startIndex,c=e.endIndex;if(n!==t.prevData||o!==t.prevUpdateId)return L6({prevData:n,prevTravellerWidth:a,prevUpdateId:o,prevX:i,prevWidth:r},n&&n.length?Z6({data:n,width:r,x:i,travellerWidth:a,startIndex:s,endIndex:c}):{scale:null,scaleValues:null});if(t.scale&&(r!==t.prevWidth||i!==t.prevX||a!==t.prevTravellerWidth)){t.scale.range([i,i+r-a]);var l=t.scale.domain().map(function(e){return t.scale(e)});return{prevData:n,prevTravellerWidth:a,prevUpdateId:o,prevX:i,prevWidth:r,startX:t.scale(e.startIndex),endX:t.scale(e.endIndex),scaleValues:l}}return null}},{key:`getIndexInRange`,value:function(e,t){for(var n=e.length,r=0,i=n-1;i-r>1;){var a=Math.floor((r+i)/2);e[a]>t?i=a:r=a}return t>=e[i]?i:r}}])}(_.PureComponent);J6($6,`displayName`,`Brush`),J6($6,`defaultProps`,{height:40,travellerWidth:5,gap:1,fill:`#fff`,stroke:`#666`,padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var e8=o(((e,t)=>{var n=LH();function r(e,t){var r;return n(e,function(e,n,i){return r=t(e,n,i),!r}),!!r}t.exports=r})),t8=o(((e,t)=>{var n=QB(),r=XV(),i=e8(),a=UI(),o=ZH();function s(e,t,s){var c=a(e)?n:i;return s&&o(e,t,s)&&(t=void 0),c(e,r(t,3))}t.exports=s})),n8=function(e,t){var n=e.alwaysShow,r=e.ifOverflow;return n&&(r=`extendDomain`),r===t},r8=o(((e,t)=>{var n=KH();function r(e,t,r){t==`__proto__`&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}t.exports=r})),i8=o(((e,t)=>{var n=r8(),r=FH(),i=XV();function a(e,t){var a={};return t=i(t,3),r(e,function(e,r,i){n(a,r,t(e,r,i))}),a}t.exports=a})),a8=o(((e,t)=>{function n(e,t){for(var n=-1,r=e==null?0:e.length;++n{var n=LH();function r(e,t){var r=!0;return n(e,function(e,n,i){return r=!!t(e,n,i),r}),r}t.exports=r})),s8=o(((e,t)=>{var n=a8(),r=o8(),i=XV(),a=UI(),o=ZH();function s(e,t,s){var c=a(e)?n:r;return s&&o(e,t,s)&&(t=void 0),c(e,i(t,3))}t.exports=s})),c8=[`x`,`y`];function l8(e){"@babel/helpers - typeof";return l8=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},l8(e)}function u8(){return u8=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function _8(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function v8(e,t){var n=e.x,r=e.y,i=g8(e,c8),a=`${n}`,o=parseInt(a,10),s=`${r}`,c=parseInt(s,10),l=`${t.height||i.height}`,u=parseInt(l,10),d=`${t.width||i.width}`,f=parseInt(d,10);return f8(f8(f8(f8(f8({},t),i),o?{x:o}:{}),c?{y:c}:{}),{},{height:u,width:f,name:t.name,radius:t.radius})}function y8(e){return _.createElement(u6,u8({shapeType:`rectangle`,propTransformer:v8,activeClassName:`recharts-active-bar`},e))}var b8=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(n,r){if(typeof e==`number`)return e;var i=Q(n)||TL(n);return i?e(n,r):(!i&&cQ(!1),t)}},x8=[`value`,`background`],S8;function C8(e){"@babel/helpers - typeof";return C8=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},C8(e)}function w8(e,t){if(e==null)return{};var n=T8(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function T8(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function E8(){return E8=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&Math.abs(g)0&&Math.abs(h)0&&(w=Math.min((e||0)-(T[t-1]||0),w))}),Number.isFinite(w)){var E=w/C,D=c.layout===`vertical`?n.height:n.width;if(c.padding===`gap`&&(v=E*D/2),c.padding===`no-gap`){var O=kL(e.barCategoryGap,E*D),k=E*D/2;v=k-O-(k-O)/D*O}}}y=r===`xAxis`?[n.left+(m.left||0)+(v||0),n.left+n.width-(m.right||0)-(v||0)]:r===`yAxis`?s===`horizontal`?[n.top+n.height-(m.bottom||0),n.top+(m.top||0)]:[n.top+(m.top||0)+(v||0),n.top+n.height-(m.bottom||0)-(v||0)]:c.range,g&&(y=[y[1],y[0]]);var A=v$(c,i,d),j=A.scale,M=A.realScaleType;j.domain(f).range(y),b$(j);var N=E$(j,X8(X8({},c),{},{realScaleType:M}));r===`xAxis`?(S=l===`top`&&!h||l===`bottom`&&h,b=n.left,x=u[_]-S*c.height):r===`yAxis`&&(S=l===`left`&&!h||l===`right`&&h,b=u[_]-S*c.width,x=n.top);var P=X8(X8(X8({},c),N),{},{realScaleType:M,x:b,y:x,scale:j,width:r===`xAxis`?n.width:c.width,height:r===`yAxis`?n.height:c.height});return P.bandSize=I$(P,N),!c.hide&&r===`xAxis`?u[_]+=(S?-1:1)*P.height:c.hide||(u[_]+=(S?-1:1)*P.width),X8(X8({},a),{},Z8({},o,P))},{})},t5=function(e,t){var n=e.x,r=e.y,i=t.x,a=t.y;return{x:Math.min(n,i),y:Math.min(r,a),width:Math.abs(i-n),height:Math.abs(a-r)}},n5=function(e){var t=e.x1,n=e.y1,r=e.x2,i=e.y2;return t5({x:t,y:n},{x:r,y:i})},r5=function(){function e(t){K8(this,e),this.scale=t}return J8(e,[{key:`domain`,get:function(){return this.scale.domain}},{key:`range`,get:function(){return this.scale.range}},{key:`rangeMin`,get:function(){return this.range()[0]}},{key:`rangeMax`,get:function(){return this.range()[1]}},{key:`bandwidth`,get:function(){return this.scale.bandwidth}},{key:`apply`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.bandAware,r=t.position;if(e!==void 0){if(r)switch(r){case`start`:return this.scale(e);case`middle`:var i=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+i;case`end`:var a=this.bandwidth?this.bandwidth():0;return this.scale(e)+a;default:return this.scale(e)}if(n){var o=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+o}return this.scale(e)}}},{key:`isInRange`,value:function(e){var t=this.range(),n=t[0],r=t[t.length-1];return n<=r?e>=n&&e<=r:e>=r&&e<=n}}],[{key:`create`,value:function(t){return new e(t)}}])}();Z8(r5,`EPS`,1e-4);var i5=function(e){var t=Object.keys(e).reduce(function(t,n){return X8(X8({},t),{},Z8({},n,r5.create(e[n])))},{});return X8(X8({},t),{},{apply:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=n.bandAware,i=n.position;return(0,U8.default)(e,function(e,n){return t[n].apply(e,{bandAware:r,position:i})})},isInRange:function(e){return(0,W8.default)(e,function(e,n){return t[n].isInRange(e)})}})};function a5(e){return(e%180+180)%180}var o5=function(e){var t=e.width,n=e.height,r=a5(arguments.length>1&&arguments[1]!==void 0?arguments[1]:0)*Math.PI/180,i=Math.atan(n/t),a=r>i&&r{var n=XV(),r=EV(),i=DV();function a(e){return function(t,a,o){var s=Object(t);if(!r(t)){var c=n(a,3);t=i(t),a=function(e){return c(s[e],e,s)}}var l=e(t,a,o);return l>-1?s[c?t[l]:l]:void 0}}t.exports=a})),c5=o(((e,t)=>{var n=S6();function r(e){var t=n(e),r=t%1;return t===t?r?t-r:t:0}t.exports=r})),l5=o(((e,t)=>{var n=ZV(),r=XV(),i=c5(),a=Math.max;function o(e,t,o){var s=e==null?0:e.length;if(!s)return-1;var c=o==null?0:i(o);return c<0&&(c=a(s+c,0)),n(e,r(t,3),c)}t.exports=o})),u5=o(((e,t)=>{t.exports=s5()(l5())})),d5=(0,l(cL()).default)(function(e){return{x:e.left,y:e.top,width:e.width,height:e.height}},function(e){return[`l`,e.left,`t`,e.top,`w`,e.width,`h`,e.height].join(``)});u5();var f5=(0,_.createContext)(void 0),p5=(0,_.createContext)(void 0),m5=(0,_.createContext)(void 0),h5=(0,_.createContext)({}),g5=(0,_.createContext)(void 0),_5=(0,_.createContext)(0),v5=(0,_.createContext)(0),y5=function(e){var t=e.state,n=t.xAxisMap,r=t.yAxisMap,i=t.offset,a=e.clipPathId,o=e.children,s=e.width,c=e.height,l=d5(i);return _.createElement(f5.Provider,{value:n},_.createElement(p5.Provider,{value:r},_.createElement(h5.Provider,{value:i},_.createElement(m5.Provider,{value:l},_.createElement(g5.Provider,{value:a},_.createElement(_5.Provider,{value:c},_.createElement(v5.Provider,{value:s},o)))))))},b5=function(){return(0,_.useContext)(g5)},x5=function(e){var t=(0,_.useContext)(f5);t??cQ(!1);var n=t[e];return n??cQ(!1),n},S5=function(e){var t=(0,_.useContext)(p5);t??cQ(!1);var n=t[e];return n??cQ(!1),n},C5=function(){return(0,_.useContext)(m5)},w5=function(){return(0,_.useContext)(v5)},T5=function(){return(0,_.useContext)(_5)},E5=l(t8());function D5(e){"@babel/helpers - typeof";return D5=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},D5(e)}function O5(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function k5(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);ne*i)return!1;var a=n();return e*(t-e*a/2-r)>=0&&e*(t+e*a/2-i)<=0}function Rne(e,t){return v7(e,t+1)}function zne(e,t,n,r,i){for(var a=(r||[]).slice(),o=t.start,s=t.end,c=0,l=1,u=o,d=function(){var t=r?.[c];if(t===void 0)return{v:v7(r,l)};var a=c,d,f=function(){return d===void 0&&(d=n(t,a)),d},p=t.coordinate,m=c===0||y7(e,p,f,u,s);m||(c=0,u=o,l+=1),m&&(u=p+e*(f()/2+i),c+=l)},f;l<=a.length;)if(f=d(),f)return f.v;return[]}function b7(e){"@babel/helpers - typeof";return b7=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},b7(e)}function x7(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function S7(e){for(var t=1;t0?r.coordinate-d*e:r.coordinate})}else a[t]=r=S7(S7({},r),{},{tickCoord:r.coordinate});y7(e,r.tickCoord,u,s,c)&&(c=r.tickCoord-e*(u()/2+i),a[t]=S7(S7({},r),{},{isShow:!0}))},u=o-1;u>=0;u--)l(u);return a}function Wne(e,t,n,r,i,a){var o=(r||[]).slice(),s=o.length,c=t.start,l=t.end;if(a){var u=r[s-1],d=n(u,s-1),f=e*(u.coordinate+e*d/2-l);o[s-1]=u=S7(S7({},u),{},{tickCoord:f>0?u.coordinate-f*e:u.coordinate}),y7(e,u.tickCoord,function(){return d},c,l)&&(l=u.tickCoord-e*(d/2+i),o[s-1]=S7(S7({},u),{},{isShow:!0}))}for(var p=a?s-1:s,m=function(t){var r=o[t],a,s=function(){return a===void 0&&(a=n(r,t)),a};if(t===0){var u=e*(r.coordinate-e*s()/2-c);o[t]=r=S7(S7({},r),{},{tickCoord:u<0?r.coordinate-u*e:r.coordinate})}else o[t]=r=S7(S7({},r),{},{tickCoord:r.coordinate});y7(e,r.tickCoord,s,c,l)&&(c=r.tickCoord+e*(s()/2+i),o[t]=S7(S7({},r),{},{isShow:!0}))},h=0;h=2?CL(i[1].coordinate-i[0].coordinate):1,_=Lne(a,g,p);return c===`equidistantPreserveStart`?zne(g,_,h,i,o):(f=c===`preserveStart`||c===`preserveStartEnd`?Wne(g,_,h,i,o,c===`preserveStartEnd`):Une(g,_,h,i,o),f.filter(function(e){return e.isShow}))}var Kne=[`viewBox`],qne=[`viewBox`],Jne=[`ticks`];function C7(e){"@babel/helpers - typeof";return C7=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},C7(e)}function w7(){return w7=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Yne(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Xne(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function O7(e,t){for(var n=0;n0?a(this.props):a(l)),r<=0||i<=0||!u||!u.length?null:_.createElement(ER,{className:ha(`recharts-cartesian-axis`,o),ref:function(t){e.layerReference=t}},n&&this.renderAxisLine(),this.renderTicks(u,this.state.fontSize,this.state.letterSpacing),b1.renderCallByParent(this.props))}}],[{key:`renderTickItem`,value:function(e,t,n){var r,i=ha(t.className,`recharts-cartesian-axis-tick-value`);return r=_.isValidElement(e)?_.cloneElement(e,E7(E7({},t),{},{className:i})):(0,KL.default)(e)?e(E7(E7({},t),{},{className:i})):_.createElement(jG,w7({},t,{className:`recharts-cartesian-axis-tick-value`}),n),r}}])}(_.Component);M7(P7,`displayName`,`CartesianAxis`),M7(P7,`defaultProps`,{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:`bottom`,ticks:[],stroke:`#666`,tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:`preserveEnd`});var rre=[`type`,`layout`,`connectNulls`,`ref`],ire=[`key`];function F7(e){"@babel/helpers - typeof";return F7=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},F7(e)}function I7(e,t){if(e==null)return{};var n=are(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function are(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function L7(){return L7=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);ns){l=[].concat(B7(i.slice(0,u)),[s-d]);break}var f=l.length%2==0?[0,c]:[c];return[].concat(B7(t.repeat(i,o)),B7(l),f).map(function(e){return`${e}px`}).join(`, `)}),K7(e,`id`,OL(`recharts-line-`)),K7(e,`pathRef`,function(t){e.mainCurve=t}),K7(e,`handleAnimationEnd`,function(){e.setState({isAnimationFinished:!0}),e.props.onAnimationEnd&&e.props.onAnimationEnd()}),K7(e,`handleAnimationStart`,function(){e.setState({isAnimationFinished:!1}),e.props.onAnimationStart&&e.props.onAnimationStart()}),e}return hre(t,e),dre(t,[{key:`componentDidMount`,value:function(){if(this.props.isAnimationActive){var e=this.getTotalLength();this.setState({totalLength:e})}}},{key:`componentDidUpdate`,value:function(){if(this.props.isAnimationActive){var e=this.getTotalLength();e!==this.state.totalLength&&this.setState({totalLength:e})}}},{key:`getTotalLength`,value:function(){var e=this.mainCurve;try{return e&&e.getTotalLength&&e.getTotalLength()||0}catch{return 0}}},{key:`renderErrorBar`,value:function(e,t){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var n=this.props,r=n.points,i=n.xAxis,a=n.yAxis,o=n.layout,s=n.children,c=iR(s,NQ);if(!c)return null;var l=function(e,t){return{x:e.x,y:e.y,value:e.value,errorVal:r$(e.payload,t)}},u={clipPath:e?`url(#clipPath-${t})`:null};return _.createElement(ER,u,c.map(function(e){return _.cloneElement(e,{key:`bar-${e.props.dataKey}`,data:r,xAxis:i,yAxis:a,layout:o,dataPointFormatter:l})}))}},{key:`renderDots`,value:function(e,n,r){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var i=this.props,a=i.dot,o=i.points,s=i.dataKey,c=dR(this.props,!1),l=dR(a,!0),u=o.map(function(e,n){var r=z7(z7(z7({key:`dot-${n}`,r:3},c),l),{},{index:n,cx:e.x,cy:e.y,value:e.value,dataKey:s,payload:e.payload,points:o});return t.renderDotItem(a,r)}),d={clipPath:e?`url(#clipPath-${n?``:`dots-`}${r})`:null};return _.createElement(ER,L7({className:`recharts-line-dots`,key:`dots`},d),u)}},{key:`renderCurveStatically`,value:function(e,t,n,r){var i=this.props,a=i.type,o=i.layout,s=i.connectNulls;i.ref;var c=z7(z7(z7({},dR(I7(i,rre),!0)),{},{fill:`none`,className:`recharts-line-curve`,clipPath:t?`url(#clipPath-${n})`:null,points:e},r),{},{type:a,layout:o,connectNulls:s});return _.createElement(_0,L7({},c,{pathRef:this.pathRef}))}},{key:`renderCurveWithAnimation`,value:function(e,t){var n=this,r=this.props,i=r.points,a=r.strokeDasharray,o=r.isAnimationActive,s=r.animationBegin,c=r.animationDuration,l=r.animationEasing,u=r.animationId,d=r.animateNewValues,f=r.width,p=r.height,m=this.state,h=m.prevPoints,g=m.totalLength;return _.createElement(Q4,{begin:s,duration:c,isActive:o,easing:l,from:{t:0},to:{t:1},key:`line-${u}`,onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(r){var o=r.t;if(h){var s=h.length/i.length,c=i.map(function(e,t){var n=Math.floor(t*s);if(h[n]){var r=h[n],i=ML(r.x,e.x),a=ML(r.y,e.y);return z7(z7({},e),{},{x:i(o),y:a(o)})}if(d){var c=ML(f*2,e.x),l=ML(p/2,e.y);return z7(z7({},e),{},{x:c(o),y:l(o)})}return z7(z7({},e),{},{x:e.x,y:e.y})});return n.renderCurveStatically(c,e,t)}var l=ML(0,g)(o),u;if(a){var m=`${a}`.split(/[,\s]+/gim).map(function(e){return parseFloat(e)});u=n.getStrokeDasharray(l,g,m)}else u=n.generateSimpleStrokeDasharray(g,l);return n.renderCurveStatically(i,e,t,{strokeDasharray:u})})}},{key:`renderCurve`,value:function(e,t){var n=this.props,r=n.points,i=n.isAnimationActive,a=this.state,o=a.prevPoints,s=a.totalLength;return i&&r&&r.length&&(!o&&s>0||!(0,WQ.default)(o,r))?this.renderCurveWithAnimation(e,t):this.renderCurveStatically(r,e,t)}},{key:`render`,value:function(){var e=this.props,t=e.hide,n=e.dot,r=e.points,i=e.className,a=e.xAxis,o=e.yAxis,s=e.top,c=e.left,l=e.width,u=e.height,d=e.isAnimationActive,f=e.id;if(t||!r||!r.length)return null;var p=this.state.isAnimationFinished,m=r.length===1,h=ha(`recharts-line`,i),g=a&&a.allowDataOverflow,v=o&&o.allowDataOverflow,y=g||v,b=(0,SL.default)(f)?this.id:f,x=dR(n,!1)??{r:3,strokeWidth:2},S=x.r,C=S===void 0?3:S,w=x.strokeWidth,T=w===void 0?2:w,E=(lR(n)?n:{}).clipDot,D=E===void 0?!0:E,O=C*2+T;return _.createElement(ER,{className:h},g||v?_.createElement(`defs`,null,_.createElement(`clipPath`,{id:`clipPath-${b}`},_.createElement(`rect`,{x:g?c:c-l/2,y:v?s:s-u/2,width:g?l:l*2,height:v?u:u*2})),!D&&_.createElement(`clipPath`,{id:`clipPath-dots-${b}`},_.createElement(`rect`,{x:c-O/2,y:s-O/2,width:l+O,height:u+O}))):null,!m&&this.renderCurve(y,b),this.renderErrorBar(y,b),(m||n)&&this.renderDots(y,D,b),(!d||p)&&H1.renderCallByParent(this.props,r))}}],[{key:`getDerivedStateFromProps`,value:function(e,t){return e.animationId===t.prevAnimationId?e.points===t.curPoints?null:{curPoints:e.points}:{prevAnimationId:e.animationId,curPoints:e.points,prevPoints:t.curPoints}}},{key:`repeat`,value:function(e,t){for(var n=e.length%2==0?e:[].concat(B7(e),[0]),r=[],i=0;ie.length)&&(t=e.length);for(var n=0,r=Array(t);n{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function $re(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function eie(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function A9(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0?a:e&&e.length&&Q(r)&&Q(i)?e.slice(r,i+1):[]};function U9(e){return e===`number`?[0,`auto`]:void 0}var W9=function(e,t,n,r){var i=e.graphicalItems,a=e.tooltipAxis,o=H9(t,e);return n<0||!i||!i.length||n>=o.length?null:i.reduce(function(i,s){var c=s.props.data??t;c&&e.dataStartIndex+e.dataEndIndex!==0&&e.dataEndIndex-e.dataStartIndex>=n&&(c=c.slice(e.dataStartIndex,e.dataEndIndex+1));var l=a.dataKey&&!a.allowDuplicatedCategory?NL(c===void 0?o:c,a.dataKey,r):c&&c[n]||o[n];return l?[].concat(P9(i),[R$(s,l)]):i},[])},G9=function(e,t,n,r){var i=r||{x:e.chartX,y:e.chartY},a=fie(i,n),o=e.orderedTooltipTicks,s=e.tooltipAxis,c=e.tooltipTicks,l=a$(a,o,c,s);if(l>=0&&c){var u=c[l]&&c[l].value;return{activeTooltipIndex:l,activeLabel:u,activePayload:W9(e,t,l,u),activeCoordinate:pie(n,o,l,i)}}return null},mie=function(e,t){var n=t.axes,r=t.graphicalItems,i=t.axisType,a=t.axisIdKey,o=t.stackGroups,s=t.dataStartIndex,c=t.dataEndIndex,l=e.layout,u=e.children,d=e.stackOffset,f=m$(l,i);return n.reduce(function(t,n){var p=n.type.defaultProps===void 0?n.props:$($({},n.type.defaultProps),n.props),m=p.type,h=p.dataKey,g=p.allowDataOverflow,_=p.allowDuplicatedCategory,v=p.scale,y=p.ticks,b=p.includeHidden,x=p[a];if(t[x])return t;var S=H9(e.data,{graphicalItems:r.filter(function(e){return(a in e.props?e.props[a]:e.type.defaultProps?.[a])===x}),dataStartIndex:s,dataEndIndex:c}),C=S.length,w,T,E;Vre(p.domain,g,m)&&(w=F$(p.domain,null,g),f&&(m===`number`||v!==`auto`)&&(E=i$(S,h,`category`)));var D=U9(m);if(!w||w.length===0){var O=p.domain??D;if(h){if(w=i$(S,h,m),m===`category`&&f){var k=jL(w);_&&k?(T=w,w=(0,N6.default)(0,C)):_||(w=L$(O,w,n).reduce(function(e,t){return e.indexOf(t)>=0?e:[].concat(P9(e),[t])},[]))}else if(m===`category`)w=_?w.filter(function(e){return e!==``&&!(0,SL.default)(e)}):L$(O,w,n).reduce(function(e,t){return e.indexOf(t)>=0||t===``||(0,SL.default)(t)?e:[].concat(P9(e),[t])},[]);else if(m===`number`){var A=f$(S,r.filter(function(e){var t=a in e.props?e.props[a]:e.type.defaultProps?.[a],n=`hide`in e.props?e.props.hide:e.type.defaultProps?.hide;return t===x&&(b||!n)}),h,i,l);A&&(w=A)}f&&(m===`number`||v!==`auto`)&&(E=i$(S,h,`category`))}else w=f?(0,N6.default)(0,C):o&&o[x]&&o[x].hasStack&&m===`number`?d===`expand`?[0,1]:M$(o[x].stackGroups,s,c):p$(S,r.filter(function(e){var t=a in e.props?e.props[a]:e.type.defaultProps[a],n=`hide`in e.props?e.props.hide:e.type.defaultProps.hide;return t===x&&(b||!n)}),m,l,!0);if(m===`number`)w=h9(u,w,x,i,y),O&&(w=F$(O,w,g));else if(m===`category`&&O){var j=O;w.every(function(e){return j.indexOf(e)>=0})&&(w=j)}}return $($({},t),{},R9({},x,$($({},p),{},{axisType:i,domain:w,categoricalDomain:E,duplicateDomain:T,originalDomain:p.domain??D,isCategorical:f,layout:l})))},{})},hie=function(e,t){var n=t.graphicalItems,r=t.Axis,i=t.axisType,a=t.axisIdKey,o=t.stackGroups,s=t.dataStartIndex,c=t.dataEndIndex,l=e.layout,u=e.children,d=H9(e.data,{graphicalItems:n,dataStartIndex:s,dataEndIndex:c}),f=d.length,p=m$(l,i),m=-1;return n.reduce(function(e,t){var h=(t.type.defaultProps===void 0?t.props:$($({},t.type.defaultProps),t.props))[a],g=U9(`number`);if(!e[h]){m++;var _;return p?_=(0,N6.default)(0,f):o&&o[h]&&o[h].hasStack?(_=M$(o[h].stackGroups,s,c),_=h9(u,_,h,i)):(_=F$(g,p$(d,n.filter(function(e){var t=a in e.props?e.props[a]:e.type.defaultProps?.[a],n=`hide`in e.props?e.props.hide:e.type.defaultProps?.hide;return t===h&&!n}),`number`,l),r.defaultProps.allowDataOverflow),_=h9(u,_,h,i)),$($({},e),{},R9({},h,$($({axisType:i},r.defaultProps),{},{hide:!0,orientation:(0,bL.default)(uie,`${i}.${m%2}`,null),domain:_,originalDomain:g,isCategorical:p,layout:l})))}return e},{})},gie=function(e,t){var n=t.axisType,r=n===void 0?`xAxis`:n,i=t.AxisComp,a=t.graphicalItems,o=t.stackGroups,s=t.dataStartIndex,c=t.dataEndIndex,l=e.children,u=`${r}Id`,d=iR(l,i),f={};return d&&d.length?f=mie(e,{axes:d,graphicalItems:a,axisType:r,axisIdKey:u,stackGroups:o,dataStartIndex:s,dataEndIndex:c}):a&&a.length&&(f=hie(e,{Axis:i,graphicalItems:a,axisType:r,axisIdKey:u,stackGroups:o,dataStartIndex:s,dataEndIndex:c})),f},_ie=function(e){var t=AL(e),n=h$(t,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:(0,QH.default)(n,function(e){return e.coordinate}),tooltipAxis:t,tooltipAxisBandSize:I$(t,n)}},K9=function(e){var t=e.children,n=e.defaultShowTooltip,r=aR(t,$6),i=0,a=0;return e.data&&e.data.length!==0&&(a=e.data.length-1),r&&r.props&&(r.props.startIndex>=0&&(i=r.props.startIndex),r.props.endIndex>=0&&(a=r.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:i,dataEndIndex:a,activeTooltipIndex:-1,isTooltipActive:!!n}},vie=function(e){return!e||!e.length?!1:e.some(function(e){var t=eR(e&&e.type);return t&&t.indexOf(`Bar`)>=0})},q9=function(e){return e===`horizontal`?{numericAxisName:`yAxis`,cateAxisName:`xAxis`}:e===`vertical`?{numericAxisName:`xAxis`,cateAxisName:`yAxis`}:e===`centric`?{numericAxisName:`radiusAxis`,cateAxisName:`angleAxis`}:{numericAxisName:`angleAxis`,cateAxisName:`radiusAxis`}},yie=function(e,t){var n=e.props,r=e.graphicalItems,i=e.xAxisMap,a=i===void 0?{}:i,o=e.yAxisMap,s=o===void 0?{}:o,c=n.width,l=n.height,u=n.children,d=n.margin||{},f=aR(u,$6),p=aR(u,AH),m=Object.keys(s).reduce(function(e,t){var n=s[t],r=n.orientation;return!n.mirror&&!n.hide?$($({},e),{},R9({},r,e[r]+n.width)):e},{left:d.left||0,right:d.right||0}),h=$($({},Object.keys(a).reduce(function(e,t){var n=a[t],r=n.orientation;return!n.mirror&&!n.hide?$($({},e),{},R9({},r,(0,bL.default)(e,`${r}`)+n.height)):e},{top:d.top||0,bottom:d.bottom||0})),m),g=h.bottom;f&&(h.bottom+=f.props.height||$6.defaultProps.height),p&&t&&(h=l$(h,r,n,t));var _=c-h.left-h.right,v=l-h.top-h.bottom;return $($({brushBottom:g},h),{},{width:Math.max(_,0),height:Math.max(v,0)})},bie=function(e,t){if(t===`xAxis`)return e[t].width;if(t===`yAxis`)return e[t].height},J9=function(e){var t=e.chartName,n=e.GraphicalChild,r=e.defaultTooltipEventType,i=r===void 0?`axis`:r,a=e.validateTooltipEventTypes,o=a===void 0?[`axis`]:a,s=e.axisComponents,c=e.legendContent,l=e.formatAxisMap,u=e.defaultProps,d=function(e,t){var n=t.graphicalItems,r=t.stackGroups,i=t.offset,a=t.updateId,o=t.dataStartIndex,c=t.dataEndIndex,l=e.barSize,u=e.layout,d=e.barGap,f=e.barCategoryGap,p=e.maxBarSize,m=q9(u),h=m.numericAxisName,g=m.cateAxisName,_=vie(n),v=[];return n.forEach(function(n,m){var y=H9(e.data,{graphicalItems:[n],dataStartIndex:o,dataEndIndex:c}),b=n.type.defaultProps===void 0?n.props:$($({},n.type.defaultProps),n.props),x=b.dataKey,S=b.maxBarSize,C=b[`${h}Id`],w=b[`${g}Id`],T=s.reduce(function(e,n){var r=t[`${n.axisType}Map`],i=b[`${n.axisType}Id`];!(r&&r[i]||n.axisType===`zAxis`)&&cQ(!1);var a=r[i];return $($({},e),{},R9(R9({},n.axisType,a),`${n.axisType}Ticks`,h$(a)))},{}),E=T[g],D=T[`${g}Ticks`],O=r&&r[C]&&r[C].hasStack&&A$(n,r[C].stackGroups),k=eR(n.type).indexOf(`Bar`)>=0,A=I$(E,D),j=[],M=_&&s$({barSize:l,stackGroups:r,totalSize:bie(T,g)});if(k){var N=(0,SL.default)(S)?p:S,P=I$(E,D,!0)??N??0;j=c$({barGap:d,barCategoryGap:f,bandSize:P===A?A:P,sizeList:M[w],maxBarSize:N}),P!==A&&(j=j.map(function(e){return $($({},e),{},{position:$($({},e.position),{},{offset:e.position.offset-P/2})})}))}var F=n&&n.type&&n.type.getComposedData;F&&v.push({props:$($({},F($($({},T),{},{displayedData:y,props:e,dataKey:x,item:n,bandSize:A,barPosition:j,offset:i,stackedData:O,layout:u,dataStartIndex:o,dataEndIndex:c}))),{},R9(R9(R9({key:n.key||`item-${m}`},h,T[h]),g,T[g]),`animationId`,a)),childIndex:gR(n,e.children),item:n})}),v},f=function(e,r){var i=e.props,a=e.dataStartIndex,o=e.dataEndIndex,c=e.updateId;if(!oR({props:i}))return null;var u=i.children,f=i.layout,p=i.stackOffset,m=i.data,h=i.reverseStackOrder,g=q9(f),_=g.numericAxisName,v=g.cateAxisName,y=iR(u,n),b=T$(m,y,`${_}Id`,`${v}Id`,p,h),x=s.reduce(function(e,t){var n=`${t.axisType}Map`;return $($({},e),{},R9({},n,gie(i,$($({},t),{},{graphicalItems:y,stackGroups:t.axisType===_&&b,dataStartIndex:a,dataEndIndex:o}))))},{}),S=yie($($({},x),{},{props:i,graphicalItems:y}),r?.legendBBox);Object.keys(x).forEach(function(e){x[e]=l(i,x[e],S,e.replace(`Map`,``),t)});var C=x[`${v}Map`],w=_ie(C);return $($({formattedGraphicalItems:d(i,$($({},x),{},{dataStartIndex:a,dataEndIndex:o,updateId:c,graphicalItems:y,stackGroups:b,offset:S})),graphicalItems:y,offset:S,stackGroups:b},w),x)},p=function(e){function n(e){var r;return eie(this,n),r=nie(this,n,[e]),R9(r,`eventEmitterSymbol`,Symbol(`rechartsEventEmitter`)),R9(r,`accessibilityManager`,new Bre),R9(r,`handleLegendBBoxUpdate`,function(e){if(e){var t=r.state,n=t.dataStartIndex,i=t.dataEndIndex,a=t.updateId;r.setState($({legendBBox:e},f({props:r.props,dataStartIndex:n,dataEndIndex:i,updateId:a},$($({},r.state),{},{legendBBox:e}))))}}),R9(r,`handleReceiveSyncEvent`,function(e,t,n){if(r.props.syncId===e){if(n===r.eventEmitterSymbol&&typeof r.props.syncMethod!=`function`)return;r.applySyncEvent(t)}}),R9(r,`handleBrushChange`,function(e){var t=e.startIndex,n=e.endIndex;if(t!==r.state.dataStartIndex||n!==r.state.dataEndIndex){var i=r.state.updateId;r.setState(function(){return $({dataStartIndex:t,dataEndIndex:n},f({props:r.props,dataStartIndex:t,dataEndIndex:n,updateId:i},r.state))}),r.triggerSyncEvent({dataStartIndex:t,dataEndIndex:n})}}),R9(r,`handleMouseEnter`,function(e){var t=r.getMouseInfo(e);if(t){var n=$($({},t),{},{isTooltipActive:!0});r.setState(n),r.triggerSyncEvent(n);var i=r.props.onMouseEnter;(0,KL.default)(i)&&i(n,e)}}),R9(r,`triggeredAfterMouseMove`,function(e){var t=r.getMouseInfo(e),n=t?$($({},t),{},{isTooltipActive:!0}):{isTooltipActive:!1};r.setState(n),r.triggerSyncEvent(n);var i=r.props.onMouseMove;(0,KL.default)(i)&&i(n,e)}),R9(r,`handleItemMouseEnter`,function(e){r.setState(function(){return{isTooltipActive:!0,activeItem:e,activePayload:e.tooltipPayload,activeCoordinate:e.tooltipPosition||{x:e.cx,y:e.cy}}})}),R9(r,`handleItemMouseLeave`,function(){r.setState(function(){return{isTooltipActive:!1}})}),R9(r,`handleMouseMove`,function(e){e.persist(),r.throttleTriggeredAfterMouseMove(e)}),R9(r,`handleMouseLeave`,function(e){r.throttleTriggeredAfterMouseMove.cancel();var t={isTooltipActive:!1};r.setState(t),r.triggerSyncEvent(t);var n=r.props.onMouseLeave;(0,KL.default)(n)&&n(t,e)}),R9(r,`handleOuterEvent`,function(e){var t=hR(e),n=(0,bL.default)(r.props,`${t}`);t&&(0,KL.default)(n)&&n((/.*touch.*/i.test(t)?r.getMouseInfo(e.changedTouches[0]):r.getMouseInfo(e))??{},e)}),R9(r,`handleClick`,function(e){var t=r.getMouseInfo(e);if(t){var n=$($({},t),{},{isTooltipActive:!0});r.setState(n),r.triggerSyncEvent(n);var i=r.props.onClick;(0,KL.default)(i)&&i(n,e)}}),R9(r,`handleMouseDown`,function(e){var t=r.props.onMouseDown;(0,KL.default)(t)&&t(r.getMouseInfo(e),e)}),R9(r,`handleMouseUp`,function(e){var t=r.props.onMouseUp;(0,KL.default)(t)&&t(r.getMouseInfo(e),e)}),R9(r,`handleTouchMove`,function(e){e.changedTouches!=null&&e.changedTouches.length>0&&r.throttleTriggeredAfterMouseMove(e.changedTouches[0])}),R9(r,`handleTouchStart`,function(e){e.changedTouches!=null&&e.changedTouches.length>0&&r.handleMouseDown(e.changedTouches[0])}),R9(r,`handleTouchEnd`,function(e){e.changedTouches!=null&&e.changedTouches.length>0&&r.handleMouseUp(e.changedTouches[0])}),R9(r,`handleDoubleClick`,function(e){var t=r.props.onDoubleClick;(0,KL.default)(t)&&t(r.getMouseInfo(e),e)}),R9(r,`handleContextMenu`,function(e){var t=r.props.onContextMenu;(0,KL.default)(t)&&t(r.getMouseInfo(e),e)}),R9(r,`triggerSyncEvent`,function(e){r.props.syncId!==void 0&&g9.emit(_9,r.props.syncId,e,r.eventEmitterSymbol)}),R9(r,`applySyncEvent`,function(e){var t=r.props,n=t.layout,i=t.syncMethod,a=r.state.updateId,o=e.dataStartIndex,s=e.dataEndIndex;if(e.dataStartIndex!==void 0||e.dataEndIndex!==void 0)r.setState($({dataStartIndex:o,dataEndIndex:s},f({props:r.props,dataStartIndex:o,dataEndIndex:s,updateId:a},r.state)));else if(e.activeTooltipIndex!==void 0){var c=e.chartX,l=e.chartY,u=e.activeTooltipIndex,d=r.state,p=d.offset,m=d.tooltipTicks;if(!p)return;if(typeof i==`function`)u=i(m,e);else if(i===`value`){u=-1;for(var h=0;h=0){var D,O;if(c.dataKey&&!c.allowDuplicatedCategory){var k=typeof c.dataKey==`function`?E:`payload.${c.dataKey.toString()}`;D=NL(m,k,u),O=h&&g&&NL(g,k,u)}else D=m?.[l],O=h&&g&&g[l];if(S||x){var A=e.props.activeIndex===void 0?l:e.props.activeIndex;return[(0,_.cloneElement)(e,$($($({},i.props),w),{},{activeIndex:A})),null,null]}if(!(0,SL.default)(D))return[T].concat(P9(r.renderActivePoints({item:i,activePoint:D,basePoint:O,childIndex:l,isRange:h})))}else{var j=(r.getItemByXY(r.state.activeCoordinate)??{graphicalItem:T}).graphicalItem,M=j.item,N=M===void 0?e:M,P=j.childIndex;return[(0,_.cloneElement)(N,$($($({},i.props),w),{},{activeIndex:P})),null,null]}return h?[T,null,null]:[T,null]}),R9(r,`renderCustomized`,function(e,t,n){return(0,_.cloneElement)(e,$($({key:`recharts-customized-${n}`},r.props),r.state))}),R9(r,`renderMap`,{CartesianGrid:{handler:V9,once:!0},ReferenceArea:{handler:r.renderReferenceElement},ReferenceLine:{handler:V9},ReferenceDot:{handler:r.renderReferenceElement},XAxis:{handler:V9},YAxis:{handler:V9},Brush:{handler:r.renderBrush,once:!0},Bar:{handler:r.renderGraphicChild},Line:{handler:r.renderGraphicChild},Area:{handler:r.renderGraphicChild},Radar:{handler:r.renderGraphicChild},RadialBar:{handler:r.renderGraphicChild},Scatter:{handler:r.renderGraphicChild},Pie:{handler:r.renderGraphicChild},Funnel:{handler:r.renderGraphicChild},Tooltip:{handler:r.renderCursor,once:!0},PolarGrid:{handler:r.renderPolarGrid,once:!0},PolarAngleAxis:{handler:r.renderPolarAxis},PolarRadiusAxis:{handler:r.renderPolarAxis},Customized:{handler:r.renderCustomized}}),r.clipPathId=`${e.id??OL(`recharts`)}-clip`,r.throttleTriggeredAfterMouseMove=(0,pW.default)(r.triggeredAfterMouseMove,e.throttleDelay??1e3/60),r.state={},r}return aie(n,e),tie(n,[{key:`componentDidMount`,value:function(){this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:this.props.margin.left??0,top:this.props.margin.top??0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:`displayDefaultTooltip`,value:function(){var e=this.props,t=e.children,n=e.data,r=e.height,i=e.layout,a=aR(t,sW);if(a){var o=a.props.defaultIndex;if(!(typeof o!=`number`||o<0||o>this.state.tooltipTicks.length-1)){var s=this.state.tooltipTicks[o]&&this.state.tooltipTicks[o].value,c=W9(this.state,n,o,s),l=this.state.tooltipTicks[o].coordinate,u=(this.state.offset.top+r)/2,d=i===`horizontal`?{x:l,y:u}:{y:l,x:u},f=this.state.formattedGraphicalItems.find(function(e){return e.item.type.name===`Scatter`});f&&(d=$($({},d),f.props.points[o].tooltipPosition),c=f.props.points[o].tooltipPayload);var p={activeTooltipIndex:o,isTooltipActive:!0,activeLabel:s,activePayload:c,activeCoordinate:d};this.setState(p),this.renderCursor(a),this.accessibilityManager.setIndex(o)}}}},{key:`getSnapshotBeforeUpdate`,value:function(e,t){return this.props.accessibilityLayer?(this.state.tooltipTicks!==t.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==e.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==e.margin&&this.accessibilityManager.setDetails({offset:{left:this.props.margin.left??0,top:this.props.margin.top??0}}),null):null}},{key:`componentDidUpdate`,value:function(e){fR([aR(e.children,sW)],[aR(this.props.children,sW)])||this.displayDefaultTooltip()}},{key:`componentWillUnmount`,value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:`getTooltipEventType`,value:function(){var e=aR(this.props.children,sW);if(e&&typeof e.props.shared==`boolean`){var t=e.props.shared?`axis`:`item`;return o.indexOf(t)>=0?t:i}return i}},{key:`getMouseInfo`,value:function(e){if(!this.container)return null;var t=this.container,n=t.getBoundingClientRect(),r=BW(n),i={chartX:Math.round(e.pageX-r.left),chartY:Math.round(e.pageY-r.top)},a=n.width/t.offsetWidth||1,o=this.inRange(i.chartX,i.chartY,a);if(!o)return null;var s=this.state,c=s.xAxisMap,l=s.yAxisMap,u=this.getTooltipEventType(),d=G9(this.state,this.props.data,this.props.layout,o);if(u!==`axis`&&c&&l){var f=AL(c).scale,p=AL(l).scale,m=f&&f.invert?f.invert(i.chartX):null,h=p&&p.invert?p.invert(i.chartY):null;return $($({},i),{},{xValue:m,yValue:h},d)}return d?$($({},i),d):null}},{key:`inRange`,value:function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,r=this.props.layout,i=e/n,a=t/n;if(r===`horizontal`||r===`vertical`){var o=this.state.offset;return i>=o.left&&i<=o.left+o.width&&a>=o.top&&a<=o.top+o.height?{x:i,y:a}:null}var s=this.state,c=s.angleAxisMap,l=s.radiusAxisMap;if(c&&l){var u=AL(c);return Z$({x:i,y:a},u)}return null}},{key:`parseEventsOfWrapper`,value:function(){var e=this.props.children,t=this.getTooltipEventType(),n=aR(e,sW),r={};return n&&t===`axis`&&(r=n.props.trigger===`click`?{onClick:this.handleClick}:{onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu}),$($({},UL(this.props,this.handleOuterEvent)),r)}},{key:`addListener`,value:function(){g9.on(_9,this.handleReceiveSyncEvent)}},{key:`removeListener`,value:function(){g9.removeListener(_9,this.handleReceiveSyncEvent)}},{key:`filterFormatItem`,value:function(e,t,n){for(var r=this.state.formattedGraphicalItems,i=0,a=r.length;i{let[i,a]=(0,_.useState)([]),[o,s]=(0,_.useState)([]),c=(0,_.useRef)(0),{baseUrl:l,fetchWithHeaders:u}=zs();(0,_.useEffect)(()=>{let t=!1;return Lee(l,u,e).then(e=>{if(t||e.length===0)return;let n=e.filter(e=>e.loss!=null).map(e=>({step:e.step,loss:e.loss})).slice(-2e3),r=e.filter(e=>e.lr!=null).map(e=>({step:e.step,lr:e.lr})).slice(-2e3);a(n),s(r),c.current=e[e.length-1]?.step??0}).catch(()=>{}),()=>{t=!0}},[l,u,e]),(0,_.useEffect)(()=>{let e=t.current_step;if(e0&&t.current_loss!=null){let n=t.current_loss;a(t=>{let r=t[t.length-1];return r&&r.step===e?t:[...t,{step:e,loss:n}].slice(-2e3)})}if(e>0&&t.current_lr!=null){let n=t.current_lr;s(t=>{let r=t[t.length-1];return r&&r.step===e?t:[...t,{step:e,lr:n}].slice(-2e3)})}},[t.current_step,t.current_loss,t.current_lr]);let d=n(),f=t.training_active&&t.total_steps===0,p=f?`Training starting…`:`${t.current_step.toLocaleString()} / ${t.total_steps.toLocaleString()}`,m=t.eta_seconds==null?`—`:r(t.eta_seconds);return(0,V.jsxs)(`div`,{className:`space-y-6`,children:[(0,V.jsx)(wv,{className:`bg-slate-800/50 border-slate-700 rounded-xl`,children:(0,V.jsxs)(Dv,{className:`p-6`,children:[(0,V.jsxs)(`div`,{className:`flex items-baseline justify-between mb-3`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,V.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg bg-blue-500/20 text-blue-400`,children:(0,V.jsx)(Ca,{className:`w-5 h-5`})}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`h3`,{className:`text-sm text-slate-400`,children:`Progress`}),(0,V.jsx)(`div`,{className:`text-base font-semibold text-white`,children:p})]})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-slate-300`,children:[(0,V.jsx)(Ra,{className:`w-4 h-4 text-purple-400`}),(0,V.jsxs)(`span`,{className:`text-sm`,children:[`ETA `,(0,V.jsx)(`span`,{className:`font-semibold text-white`,children:m})]})]})]}),(0,V.jsxs)(`div`,{className:`relative h-8 w-full overflow-hidden rounded-md bg-slate-900 border border-slate-700`,children:[(0,V.jsx)(`div`,{className:`h-full bg-gradient-to-r from-blue-500 to-sky-400 transition-[width] duration-500`,style:{width:`${d}%`}}),(0,V.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center font-semibold text-white text-sm tabular-nums drop-shadow`,children:f?`warming up…`:`${d.toFixed(1)}%`})]})]})}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 lg:grid-cols-2 gap-6`,children:[(0,V.jsxs)(wv,{className:`bg-slate-800/50 border-slate-700 rounded-xl`,children:[(0,V.jsx)(Tv,{className:`pb-2`,children:(0,V.jsxs)(Ev,{className:`flex items-center gap-3 text-white text-base`,children:[(0,V.jsx)(`div`,{className:`flex h-8 w-8 items-center justify-center rounded-lg bg-green-500/20 text-green-400`,children:(0,V.jsx)(Na,{className:`w-4 h-4`})}),(0,V.jsxs)(`span`,{children:[`Loss`,` `,(0,V.jsxs)(`span`,{className:`text-slate-400 text-sm font-normal`,children:[`(`,t.current_loss?.toFixed(4)??`—`,`)`]})]})]})}),(0,V.jsx)(Dv,{className:`pt-0`,children:(0,V.jsx)(`div`,{className:`h-48`,children:i.length===0?(0,V.jsx)(`div`,{className:`flex h-full items-center justify-center text-slate-500 text-sm`,children:`Waiting for first metric tick…`}):(0,V.jsx)(EW,{width:`100%`,height:`100%`,children:(0,V.jsxs)(J9,{data:i,margin:{top:8,right:12,left:0,bottom:0},children:[(0,V.jsx)(r9,{dataKey:`step`,tick:{fill:`#94a3b8`,fontSize:11},stroke:`#475569`}),(0,V.jsx)(f9,{tick:{fill:`#94a3b8`,fontSize:11},stroke:`#475569`,width:48}),(0,V.jsx)(sW,{contentStyle:{background:`#1e293b`,border:`1px solid #475569`,borderRadius:8},labelStyle:{color:`#cbd5e1`},itemStyle:{color:`#34d399`},formatter:e=>e.toFixed(4)}),(0,V.jsx)(J7,{type:`monotone`,dataKey:`loss`,stroke:`#34d399`,strokeWidth:2,dot:!1,isAnimationActive:!1})]})})})})]}),(0,V.jsxs)(wv,{className:`bg-slate-800/50 border-slate-700 rounded-xl`,children:[(0,V.jsx)(Tv,{className:`pb-2`,children:(0,V.jsxs)(Ev,{className:`flex items-center gap-3 text-white text-base`,children:[(0,V.jsx)(`div`,{className:`flex h-8 w-8 items-center justify-center rounded-lg bg-orange-500/20 text-orange-400`,children:(0,V.jsx)(Ca,{className:`w-4 h-4`})}),(0,V.jsxs)(`span`,{children:[`Learning Rate`,` `,(0,V.jsxs)(`span`,{className:`text-slate-400 text-sm font-normal`,children:[`(`,t.current_lr?.toExponential(2)??`—`,`)`]})]})]})}),(0,V.jsx)(Dv,{className:`pt-0`,children:(0,V.jsx)(`div`,{className:`h-48`,children:o.length===0?(0,V.jsx)(`div`,{className:`flex h-full items-center justify-center text-slate-500 text-sm`,children:`Waiting for first metric tick…`}):(0,V.jsx)(EW,{width:`100%`,height:`100%`,children:(0,V.jsxs)(J9,{data:o,margin:{top:8,right:12,left:0,bottom:0},children:[(0,V.jsx)(r9,{dataKey:`step`,tick:{fill:`#94a3b8`,fontSize:11},stroke:`#475569`}),(0,V.jsx)(f9,{tick:{fill:`#94a3b8`,fontSize:11},stroke:`#475569`,width:48,tickFormatter:e=>e.toExponential(0)}),(0,V.jsx)(sW,{contentStyle:{background:`#1e293b`,border:`1px solid #475569`,borderRadius:8},labelStyle:{color:`#cbd5e1`},itemStyle:{color:`#fb923c`},formatter:e=>e.toExponential(2)}),(0,V.jsx)(J7,{type:`monotone`,dataKey:`lr`,stroke:`#fb923c`,strokeWidth:2,dot:!1,isAnimationActive:!1})]})})})})]})]})]})},Sie=({logs:e,logContainerRef:t})=>(0,V.jsxs)(wv,{className:`bg-slate-800/50 border-slate-700 rounded-xl`,children:[(0,V.jsx)(Tv,{children:(0,V.jsxs)(Ev,{className:`flex items-center gap-3 text-white`,children:[(0,V.jsx)(`div`,{className:`flex h-10 w-10 items-center justify-center rounded-lg bg-slate-700`,children:(0,V.jsx)(Ka,{className:`w-5 h-5 text-sky-400`})}),`Training Logs`]})}),(0,V.jsx)(Dv,{children:(0,V.jsx)(`div`,{ref:t,className:`bg-slate-900 rounded-lg p-4 h-96 overflow-y-auto font-mono text-sm border border-slate-700`,children:e.length===0?(0,V.jsx)(`div`,{className:`text-slate-500 py-8`,children:`No training logs yet. Start training to see output.`}):e.map((e,t)=>(0,V.jsxs)(`div`,{className:`text-slate-300 break-words whitespace-pre-wrap`,children:[(0,V.jsx)(`span`,{className:`text-slate-500 mr-2 select-none`,children:new Date(e.timestamp*1e3).toLocaleTimeString()}),e.message]},t))})})]}),Cie=({installHint:e})=>{let t=LI(`system/training-extra`);return(0,V.jsx)(`div`,{className:`max-w-3xl mx-auto`,children:(0,V.jsxs)(wv,{className:`bg-slate-800/50 border-slate-700 rounded-xl`,children:[(0,V.jsx)(Tv,{children:(0,V.jsxs)(Ev,{className:`flex items-center gap-3 text-white`,children:[(0,V.jsx)(zI,{state:t.state}),RI(t.state,`Training Extra Not Installed`)]})}),(0,V.jsx)(Dv,{className:`space-y-4`,children:(0,V.jsx)(BI,{state:t.state,error:t.error,logs:t.logs,logBoxRef:t.logBoxRef,onInstall:t.handleInstall,onRetry:t.handleRetry,installHint:e,packageName:`accelerate`,idleTitle:`Training Extra Not Installed`,idleDescription:(0,V.jsxs)(V.Fragment,{children:[`Training requires the`,` `,(0,V.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-slate-900 text-sky-300`,children:`accelerate`}),` `,`package, which isn't installed in this environment. Install it to enable the Training page.`]}),doneDescription:(0,V.jsx)(VI,{purpose:`training`})})})]})})},wie=({open:e,onOpenChange:t,policyType:n,packageName:r,installTarget:i,installHint:a})=>{let o=LI(`system/policy-extra/${n}`,e),s=`${n.toUpperCase()} needs an extra package`;return(0,V.jsx)(Su,{open:e,onOpenChange:t,children:(0,V.jsxs)(Tu,{className:`bg-slate-800 border-slate-700 text-white max-w-2xl`,children:[(0,V.jsxs)(Eu,{children:[(0,V.jsxs)(Ou,{className:`flex items-center gap-3 text-white`,children:[(0,V.jsx)(zI,{state:o.state}),RI(o.state,s)]}),(0,V.jsxs)(ku,{className:`sr-only`,children:[`Install `,i,` to train `,n,`.`]})]}),(0,V.jsx)(`div`,{className:`space-y-4`,children:(0,V.jsx)(BI,{state:o.state,error:o.error,logs:o.logs,logBoxRef:o.logBoxRef,onInstall:o.handleInstall,onRetry:o.handleRetry,installHint:a,packageName:i,idleTitle:s,idleDescription:(0,V.jsxs)(V.Fragment,{children:[`Training a `,(0,V.jsx)(`span`,{className:`font-semibold`,children:n}),` policy needs the`,` `,(0,V.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-slate-900 text-sky-300`,children:r}),` `,`package (installed via`,` `,(0,V.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-slate-900 text-sky-300`,children:i}),`), which isn't in this environment yet. Install it to train this policy.`]}),doneDescription:(0,V.jsx)(VI,{purpose:`${n} training`})})})]})})},Tie=()=>{let{auth:e,refetch:t}=Hs(),{baseUrl:n,fetchWithHeaders:r}=zs(),[i,a]=(0,_.useState)(``),[o,s]=(0,_.useState)(!1),[c,l]=(0,_.useState)(null);if(e.status===`authenticated`||e.status===`loading`)return null;let u=async()=>{let e=i.trim();if(e){s(!0),l(null);try{let i=await r(`${n}/hf-auth/login`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e})});if(!i.ok){let e=await i.json().catch(()=>({}));throw Error(e.detail||`HTTP ${i.status}`)}a(``),await t()}catch(e){l(e instanceof Error?e.message:String(e))}finally{s(!1)}}};return(0,V.jsx)(`div`,{className:`bg-amber-950/40 border border-amber-700/60 rounded-lg p-4 mb-6`,children:(0,V.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,V.jsx)(Ma,{className:`w-5 h-5 text-amber-400 flex-shrink-0 mt-0.5`}),(0,V.jsxs)(`div`,{className:`flex-1 space-y-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`p`,{className:`text-sm text-amber-100 font-medium`,children:`Hugging Face access required for cloud training`}),(0,V.jsxs)(`p`,{className:`text-xs text-amber-200/80 mt-1`,children:[`Create a token at`,` `,(0,V.jsxs)(`a`,{href:`https://huggingface.co/settings/tokens`,target:`_blank`,rel:`noreferrer`,className:`underline hover:text-amber-50 inline-flex items-center gap-1`,children:[`huggingface.co/settings/tokens`,(0,V.jsx)(Ua,{className:`w-3 h-3`})]}),` `,`with `,(0,V.jsx)(`span`,{className:`font-mono`,children:`Write`}),` access (so trained policies can upload to your account), then paste it below.`]})]}),(0,V.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),u()},className:`flex gap-2`,children:[(0,V.jsx)(Nh,{type:`password`,placeholder:`hf_...`,value:i,onChange:e=>a(e.target.value),className:`bg-slate-900 border-slate-600 text-white placeholder:text-slate-500`,disabled:o,autoComplete:`off`}),(0,V.jsx)(K,{type:`submit`,disabled:o||!i.trim(),className:`bg-amber-600 hover:bg-amber-700 text-white`,children:o?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ja,{className:`w-4 h-4 mr-2 animate-spin`}),`Saving…`]}):`Save token`})]}),c&&(0,V.jsx)(`p`,{className:`text-xs text-red-300`,children:c})]})]})})},Eie=1e3,Y9=5e3;function Die(e,t){return e?{training_active:e.state===`running`,current_step:e.metrics.current_step,total_steps:e.metrics.total_steps,current_loss:e.metrics.current_loss??void 0,current_lr:e.metrics.current_lr??void 0,grad_norm:e.metrics.grad_norm??void 0,eta_seconds:e.metrics.eta_seconds??void 0,available_controls:{stop_training:e.state===`running`,pause_training:!1,resume_training:!1}}:{training_active:t,current_step:0,total_steps:0,available_controls:{stop_training:!1,pause_training:!1,resume_training:!1}}}function Oie(e){return{target:e.target,dataset_repo_id:e.dataset_repo_id,policy_type:e.policy_type,steps:e.steps,batch_size:e.batch_size,seed:e.seed,num_workers:e.num_workers,log_freq:e.log_freq,save_freq:e.save_freq,save_checkpoint:e.save_checkpoint,resume:e.resume,wandb_enable:e.wandb_enable,wandb_project:e.wandb_project,wandb_entity:e.wandb_entity,wandb_notes:e.wandb_notes,wandb_mode:e.wandb_mode,wandb_disable_artifact:e.wandb_disable_artifact,policy_device:e.policy_device,policy_use_amp:e.policy_use_amp,optimizer_type:e.optimizer_type,optimizer_lr:e.optimizer_lr,optimizer_weight_decay:e.optimizer_weight_decay,optimizer_grad_clip_norm:e.optimizer_grad_clip_norm,use_policy_training_preset:e.use_policy_training_preset}}var kie=()=>{let{baseUrl:e,fetchWithHeaders:t}=zs(),{auth:n}=Hs(),{toast:r}=yr(),i=Re(),[a,o]=(0,_.useState)({target:{runner:`local`},dataset_repo_id:Ie().state?.datasetRepoId??``,policy_type:`act`,steps:1e4,batch_size:8,seed:1e3,num_workers:4,log_freq:250,save_freq:1e3,save_checkpoint:!0,resume:!1,wandb_enable:!1,wandb_mode:`online`,wandb_disable_artifact:!1,policy_device:`cuda`,policy_use_amp:!1,optimizer_type:`adam`,use_policy_training_preset:!0}),[s,c]=(0,_.useState)([]),[l,u]=(0,_.useState)(!0),[d,f]=(0,_.useState)(null),[p,m]=(0,_.useState)(`pip install accelerate`),[h,g]=(0,_.useState)(!1),[v,y]=(0,_.useState)(!1),[b,x]=(0,_.useState)(null),[S,C]=(0,_.useState)(!1),[w,T]=(0,_.useState)([]),[E,D]=(0,_.useState)(!0);(0,_.useEffect)(()=>{u(!0),Xv(e,t).then(c).catch(()=>c([])).finally(()=>u(!1))},[e,t]),(0,_.useEffect)(()=>{t(`${e}/system/training-extra`).then(e=>e.json()).then(e=>{f(e.available),m(e.install_hint)}).catch(()=>f(!0))},[e,t]),(0,_.useEffect)(()=>{xv(e,t,200).then(e=>g(e.some(e=>e.runner===`local`&&e.state===`running`))).catch(()=>g(!1))},[e,t]),(0,_.useEffect)(()=>{D(!0),Vee(e,t).then(e=>{C(e.authenticated),T(e.flavors)}).catch(()=>{C(!1),T([])}).finally(()=>D(!1))},[e,t,n.status]);let O=(e,t)=>{o(n=>({...n,[e]:t}))},k=async()=>{if(!a.dataset_repo_id.trim()){r({title:`Error`,description:`Dataset repository ID is required`,variant:`destructive`});return}if(a.target.runner===`local`)try{let n=await t(`${e}/system/policy-extra/${a.policy_type}`);if(n.ok){let e=await n.json();if(e.needs_extra&&!e.available){x({policyType:a.policy_type,packageName:e.package,installTarget:e.install_target,installHint:e.install_hint});return}}}catch{}y(!0);try{let n=await Ree(e,t,Oie(a));r({title:`Training Started`,description:n.name}),i(`/training/${n.id}`)}catch(n){r({title:`Error`,description:n instanceof Error?n.message:String(n),variant:`destructive`}),xv(e,t,200).then(e=>g(e.some(e=>e.runner===`local`&&e.state===`running`))).catch(()=>{})}finally{y(!1)}};if(d===null)return(0,V.jsx)(`div`,{className:`min-h-screen bg-slate-900 text-white p-4`,children:(0,V.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,V.jsx)(FI,{}),(0,V.jsxs)(`div`,{className:`flex items-center justify-center py-24 text-slate-400`,children:[(0,V.jsx)(Ja,{className:`w-6 h-6 animate-spin mr-3`}),`Checking training environment…`]})]})});if(d===!1)return(0,V.jsx)(`div`,{className:`min-h-screen bg-slate-900 text-white p-4`,children:(0,V.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,V.jsx)(FI,{}),(0,V.jsx)(Cie,{installHint:p})]})});let A=a.target.runner===`hf_cloud`,j=a.target.runner===`hf_cloud`&&!a.target.flavor,M=a.target.runner===`local`&&h,N=v||!a.dataset_repo_id.trim()||M||A&&!S||j,P=M?`Another local training is already running`:A&&!S?`Log in to Hugging Face to use cloud compute`:j?`Select a hardware flavor`:void 0;return(0,V.jsxs)(`div`,{className:`min-h-screen bg-slate-900 text-white p-4`,children:[(0,V.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,V.jsx)(FI,{}),(0,V.jsx)(Tie,{}),(0,V.jsx)(zte,{config:a,updateConfig:O,datasets:s,datasetsLoading:l,authenticated:S,flavors:w,hardwareLoading:E}),(0,V.jsx)(`div`,{className:`max-w-3xl mx-auto mt-6 flex justify-end`,children:(()=>{let e=(0,V.jsx)(K,{onClick:k,disabled:N,size:`lg`,className:`bg-green-500 hover:bg-green-600 text-white font-semibold px-6`,children:v?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ja,{className:`w-5 h-5 mr-2 animate-spin`}),` Starting…`]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Za,{className:`w-5 h-5 mr-2`}),` Start Training`]})});return P?(0,V.jsxs)(Gp,{children:[(0,V.jsx)(Kp,{asChild:!0,children:(0,V.jsx)(`span`,{tabIndex:0,children:e})}),(0,V.jsx)(qp,{children:P})]}):e})()})]}),b&&(0,V.jsx)(wie,{open:!!b,onOpenChange:e=>!e&&x(null),policyType:b.policyType,packageName:b.packageName,installTarget:b.installTarget,installHint:b.installHint})]})},Aie=({jobId:e})=>{let{baseUrl:t,fetchWithHeaders:n}=zs(),{toast:r}=yr(),i=Re(),{selectedRecord:a}=Vv(),[o,s]=(0,_.useState)(null),[c,l]=(0,_.useState)(null),[u,d]=(0,_.useState)([]),f=(0,_.useRef)(null),[p,m]=(0,_.useState)([]),[h,g]=(0,_.useState)(null),[v,y]=(0,_.useState)(!1);(0,_.useEffect)(()=>{let r=!1;return Iee(t,n,e).then(e=>{!r&&e.length>0&&d(e)}).catch(()=>{}),()=>{r=!0}},[t,n,e]);let b=(0,_.useRef)(o?.state);b.current=o?.state,(0,_.useEffect)(()=>{let r=!1,i=()=>{Ov(t,n,e).then(e=>{if(!r)if(m(e),e.length>0){let t=e[e.length-1].step;g(n=>n!=null&&e.some(e=>e.step===n)?n:t)}else g(null)}).catch(()=>{r||(m([]),g(null))})};i();let a=setInterval(()=>{r||b.current&&b.current!==`running`||i()},5e3);return()=>{r=!0,clearInterval(a)}},[t,n,e]),(0,_.useEffect)(()=>{let r=!1,i=async()=>{try{let i=await Pee(t,n,e);if(r)return;if(s(i),i.state===`running`){let i=await Fee(t,n,e);!r&&i.length>0&&d(e=>{let t=[...e,...i];return t.length>Y9?t.slice(t.length-Y9):t})}}catch(e){r||l(e instanceof Error?e.message:String(e))}};i();let a=setInterval(()=>{r||b.current&&b.current!==`running`||i()},Eie);return()=>{r=!0,clearInterval(a)}},[t,n,e]),(0,_.useEffect)(()=>{f.current&&(f.current.scrollTop=f.current.scrollHeight)},[u]);let x=e=>{let t=Math.floor(e/3600),n=Math.floor(e%3600/60),r=Math.floor(e%60);return`${t.toString().padStart(2,`0`)}:${n.toString().padStart(2,`0`)}:${r.toString().padStart(2,`0`)}`},S=()=>!o||o.metrics.total_steps===0?0:o.metrics.current_step/o.metrics.total_steps*100,C=async()=>{if(o&&window.confirm(`Stop this run?`))try{s(await Sv(t,n,o.id)),r({title:`Stopping…`})}catch(e){r({title:`Stop failed`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}},w=async()=>{if(o&&window.confirm(`Delete this run? This wipes the output directory.`))try{await Cv(t,n,o.id),r({title:`Job removed`}),i(`/`)}catch(e){r({title:`Delete failed`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}};if(c&&!o)return(0,V.jsx)(`div`,{className:`min-h-screen bg-slate-900 text-white p-4`,children:(0,V.jsxs)(`div`,{className:`max-w-7xl mx-auto space-y-4`,children:[(0,V.jsxs)(K,{variant:`ghost`,onClick:()=>i(`/`),className:`text-slate-400`,children:[(0,V.jsx)(wa,{className:`w-4 h-4 mr-2`}),` Back to Jobs`]}),(0,V.jsxs)(`p`,{className:`text-red-300`,children:[`Couldn't load job `,e,`: `,c]})]})});if(!o)return(0,V.jsx)(`div`,{className:`min-h-screen bg-slate-900 text-white p-4`,children:(0,V.jsxs)(`div`,{className:`max-w-7xl mx-auto flex items-center justify-center py-24 text-slate-400`,children:[(0,V.jsx)(Ja,{className:`w-6 h-6 animate-spin mr-3`}),` Loading job…`]})});let T=o.state===`running`;return(0,V.jsx)(`div`,{className:`min-h-screen bg-slate-900 text-white p-4`,children:(0,V.jsxs)(`div`,{className:`max-w-7xl mx-auto space-y-6`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,V.jsxs)(K,{variant:`ghost`,onClick:()=>i(`/`),className:`text-slate-400 hover:text-white`,children:[(0,V.jsx)(wa,{className:`w-4 h-4 mr-2`}),` Jobs`]}),(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`h1`,{className:`text-xl font-semibold text-white`,children:o.name}),o.runner===`hf_cloud`?(0,V.jsxs)(`span`,{className:`text-xs px-2 py-0.5 rounded bg-amber-900/40 text-amber-200 border border-amber-700`,children:[`HF · `,o.hf_flavor??`cloud`]}):(0,V.jsx)(`span`,{className:`text-xs px-2 py-0.5 rounded bg-slate-700 text-slate-200 border border-slate-600`,children:`Local`}),o.runner===`hf_cloud`&&o.hf_repo_id&&o.state===`done`&&(0,V.jsx)(`a`,{href:`https://huggingface.co/${o.hf_repo_id}`,target:`_blank`,rel:`noreferrer`,className:`text-xs text-amber-300 hover:text-amber-200 underline`,children:`View on Hub ↗`}),o.wandb_run_url&&(0,V.jsx)(`a`,{href:o.wandb_run_url,target:`_blank`,rel:`noreferrer`,className:`text-xs text-yellow-300 hover:text-yellow-200 underline`,children:`View on W&B ↗`})]}),(0,V.jsxs)(`p`,{className:`text-xs text-slate-400`,children:[o.state,o.error_message?` — ${o.error_message}`:``]})]})]}),T?(0,V.jsxs)(K,{onClick:C,className:`bg-red-500 hover:bg-red-600 text-white`,children:[(0,V.jsx)(oo,{className:`w-4 h-4 mr-2`}),` Stop`]}):(0,V.jsxs)(K,{onClick:w,variant:`ghost`,className:`text-slate-400 hover:text-white`,children:[(0,V.jsx)(co,{className:`w-4 h-4 mr-2`}),` Delete`]})]}),(0,V.jsx)(xie,{jobId:e,trainingStatus:Die(o,!1),getProgressPercentage:S,formatTime:x}),(0,V.jsxs)(`div`,{className:`bg-slate-800/40 border border-slate-700 rounded-lg p-4 flex items-center gap-3`,children:[(0,V.jsx)(`span`,{className:`text-sm font-semibold text-slate-300`,children:`Run inference`}),p.length===0?(0,V.jsx)(`span`,{className:`text-xs text-slate-500`,children:`No checkpoints yet — wait for the first save.`}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(kv,{checkpoints:p,selectedStep:h,onChange:g}),(0,V.jsxs)(K,{onClick:()=>y(!0),disabled:h==null,className:`bg-green-500 hover:bg-green-600 text-white`,children:[(0,V.jsx)(Za,{className:`w-4 h-4 mr-2`}),`Run on robot`]})]})]}),(0,V.jsx)(Iv,{open:v,onOpenChange:y,robot:a,jobId:e,initialStep:h}),(0,V.jsx)(Sie,{logs:u,logContainerRef:f})]})})},X9=()=>{let{jobId:e}=Be();return e?(0,V.jsx)(Aie,{jobId:e}):(0,V.jsx)(kie,{})},jie=1e3;function Z9(e){let t=Math.max(0,Math.floor(e)),n=Math.floor(t/60),r=t%60;return`${String(n).padStart(2,`0`)}:${String(r).padStart(2,`0`)}`}var Mie=()=>{let e=Re(),{baseUrl:t,fetchWithHeaders:n}=zs(),{toast:r}=yr(),[i,a]=(0,_.useState)(null),[o,s]=(0,_.useState)(!1),c=(0,_.useRef)(!1),l=(0,_.useRef)(!1);(0,_.useEffect)(()=>{let i=!1,o=async()=>{try{await Nv(t,n)}catch{}},s=async()=>{try{let s=await $ee(t,n);if(i)return;if(a(s),!s.inference_active&&!c.current){c.current=!0,s.exited&&r({title:`Inference finished`,description:s.exit_code===0?`Run completed.`:`Exit code ${s.exit_code}. See ${s.log_path}.`,variant:s.exit_code===0?`default`:`destructive`}),e(`/`);return}s.inference_active&&s.rollout_started_at!=null&&s.duration_s!=null&&s.duration_s>0&&s.rollout_elapsed_s>s.duration_s+10&&!l.current&&(l.current=!0,r({title:`Inference seems hung`,description:`Rollout past duration by ${Math.round(s.rollout_elapsed_s-s.duration_s)}s. Stopping.`,variant:`destructive`}),o())}catch(e){i||r({title:`Lost connection to backend`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}};s();let u=setInterval(s,jie);return()=>{i=!0,clearInterval(u)}},[t,n,e,r]);let u=async()=>{s(!1);try{await Nv(t,n)}catch(e){r({title:`Stop failed`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}};if(!i)return(0,V.jsxs)(`div`,{className:`min-h-screen bg-black text-white flex items-center justify-center`,children:[(0,V.jsx)(Ja,{className:`w-6 h-6 animate-spin mr-3`}),` Connecting to inference…`]});let d=i.elapsed_s??0,f=i.rollout_elapsed_s??0,p=i.duration_s??0,m=i.inference_active&&i.rollout_started_at==null,h=i.inference_active&&i.rollout_started_at!=null,g=h&&p>0?Math.min(100,f/p*100):0;return(0,V.jsxs)(`div`,{className:`min-h-screen bg-black text-white flex flex-col p-4 sm:p-6 lg:p-8`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-4 mb-8`,children:[(0,V.jsx)(K,{variant:`ghost`,size:`icon`,onClick:()=>e(`/`),className:`text-slate-400 hover:bg-slate-800 hover:text-white rounded-lg`,children:(0,V.jsx)(wa,{className:`w-5 h-5`})}),(0,V.jsx)(Qj,{}),(0,V.jsx)(`h1`,{className:`font-bold text-white text-2xl`,children:`Inference`})]}),(0,V.jsx)(`div`,{className:`flex-1 flex items-center justify-center`,children:(0,V.jsxs)(`div`,{className:`bg-gray-900 rounded-lg border border-gray-700 p-8 w-full max-w-xl`,children:[(0,V.jsx)(`div`,{className:`text-center mb-6`,children:(0,V.jsxs)(`div`,{className:`inline-flex items-center gap-2 px-3 py-1 rounded-full text-xs font-bold tracking-widest ${m?`bg-amber-500/15 text-amber-300`:`bg-green-500/15 text-green-300`}`,children:[(0,V.jsx)(`span`,{className:`w-2 h-2 rounded-full ${m?`bg-amber-500`:`bg-green-500`} animate-pulse`}),m?`SETTING UP`:h?`RUNNING`:`FINISHED`]})}),(0,V.jsxs)(`div`,{className:`text-center mb-4`,children:[(0,V.jsx)(`div`,{className:`text-7xl font-mono font-bold leading-none ${m?`text-amber-400`:`text-green-400`}`,children:Z9(h?f:d)}),(0,V.jsx)(`div`,{className:`text-sm text-gray-500 mt-2`,children:m?`Loading policy & connecting hardware…`:`/ ${Z9(p)}`})]}),(0,V.jsx)(`div`,{className:`w-full bg-gray-800 rounded-full h-1.5 mb-8`,children:(0,V.jsx)(`div`,{className:`h-1.5 rounded-full transition-all duration-500 ${m?`bg-amber-500/40 animate-pulse w-full`:`bg-green-500`}`,style:m?void 0:{width:`${g}%`}})}),(0,V.jsxs)(`div`,{className:`text-xs text-slate-500 break-all mb-6`,children:[`policy: `,i.policy_ref??`(unknown)`]}),(0,V.jsxs)(K,{onClick:()=>s(!0),disabled:!i.inference_active,className:`w-full bg-red-500 hover:bg-red-600 text-white font-semibold py-6 text-lg disabled:opacity-50`,children:[(0,V.jsx)(oo,{className:`w-5 h-5 mr-2`}),`Stop`]})]})}),(0,V.jsx)(EI,{open:o,onOpenChange:s,children:(0,V.jsxs)(OI,{className:`bg-gray-900 border-gray-700 text-white`,children:[(0,V.jsxs)(kI,{children:[(0,V.jsx)(jI,{children:`Stop inference?`}),(0,V.jsx)(MI,{className:`text-gray-400`,children:`The follower will hold its current pose. You can launch another run from the job tile.`})]}),(0,V.jsxs)(AI,{children:[(0,V.jsx)(PI,{className:`bg-gray-800 border-gray-700 text-white hover:bg-gray-700`,children:`Keep running`}),(0,V.jsx)(NI,{onClick:u,className:`bg-red-500 hover:bg-red-600 text-white`,children:`Stop`})]})]})})]})},Nie=()=>(0,V.jsxs)(`div`,{className:`min-h-screen bg-black text-white flex flex-col items-center justify-center p-4`,children:[(0,V.jsx)(`h1`,{className:`text-5xl font-bold tracking-tight`,children:`Edit Dataset`}),(0,V.jsx)(`p`,{className:`mt-4 text-xl text-gray-400`,children:`This page is under construction.`})]}),Pie=()=>{let e=Ie(),t=Re(),{toast:n}=yr(),{baseUrl:r,fetchWithHeaders:i}=zs(),a=e.state?.datasetInfo,[o,s]=(0,_.useState)(null),[c,l]=(0,_.useState)(!0),[u,d]=(0,_.useState)({tags:[`robotics`,`lerobot`],private:!1}),[f,p]=(0,_.useState)(u.tags.join(`, `)),[m,h]=(0,_.useState)(!1),[g,v]=(0,_.useState)(!1),[y,b]=(0,_.useState)(!1),[x,S]=(0,_.useState)(!1);_.useEffect(()=>{(async()=>{if(!a?.dataset_repo_id){n({title:`No Dataset Information`,description:`Please complete a recording session first.`,variant:`destructive`}),t(`/`);return}try{let e=await i(`${r}/dataset-info`,{method:`POST`,body:JSON.stringify({dataset_repo_id:a.dataset_repo_id})}),t=await e.json();e.ok&&t.success?s({...t,saved_episodes:t.num_episodes,session_elapsed_seconds:a.session_elapsed_seconds||0,source:a.source}):(n({title:`Warning`,description:`Could not load complete dataset information. Using session data.`,variant:`destructive`}),s(a))}catch(e){console.error(`Error loading dataset info:`,e),n({title:`Warning`,description:`Could not connect to backend. Using session data.`,variant:`destructive`}),s(a)}finally{l(!1)}})()},[a,t,n]);let C=e=>{let t=`/spaces/lerobot/visualize_dataset?path=${encodeURIComponent(`/${e}`)}`,n=`https://huggingface.co/login?next=${encodeURIComponent(t)}`;window.open(n,`_blank`,`noopener,noreferrer`)},w=e=>{let t=Math.floor(e/3600),n=Math.floor(e%3600/60),r=e%60;return t>0?`${t}h ${n}m ${r}s`:n>0?`${n}m ${r}s`:`${r}s`},T=async()=>{if(o){h(!0);try{let e=f.split(`,`).map(e=>e.trim()).filter(e=>e.length>0),t=await i(`${r}/upload-dataset`,{method:`POST`,body:JSON.stringify({dataset_repo_id:o.dataset_repo_id,tags:e,private:u.private})}),a=await t.json();if(t.ok&&a.success)v(!0),n({title:`Upload Successful!`,description:`Dataset ${o.dataset_repo_id} has been uploaded to HuggingFace Hub.`});else{let e=`Failed to upload dataset to HuggingFace Hub.`;n({title:`Upload Failed`,description:a.docs_url?(0,V.jsxs)(`span`,{children:[a.message||e,` `,(0,V.jsx)(`a`,{href:a.docs_url,target:`_blank`,rel:`noopener noreferrer`,className:`underline font-medium`,children:`Open setup guide`})]}):a.message||e,variant:`destructive`})}}catch(e){console.error(`Error uploading dataset:`,e),n({title:`Connection Error`,description:`Could not connect to the backend server.`,variant:`destructive`})}finally{h(!1)}}},E=()=>{n({title:`Upload Skipped`,description:`Dataset saved locally. You can upload it manually later.`}),t(`/`)},D=async()=>{if(o){S(!0);try{let e=await i(`${r}/delete-dataset`,{method:`POST`,body:JSON.stringify({dataset_repo_id:o.dataset_repo_id})}),a=await e.json();e.ok&&a.success?(n({title:`Dataset Deleted`,description:`${o.dataset_repo_id} has been removed from disk.`}),t(`/`)):n({title:`Delete Failed`,description:a.message||`Could not delete the dataset.`,variant:`destructive`})}catch{n({title:`Connection Error`,description:`Could not connect to the backend server.`,variant:`destructive`})}finally{S(!1),b(!1)}}};if(c||!o)return(0,V.jsx)(`div`,{className:`min-h-screen bg-black text-white flex items-center justify-center`,children:(0,V.jsxs)(`div`,{className:`text-center`,children:[(0,V.jsx)(`div`,{className:`animate-spin rounded-full h-12 w-12 border-b-2 border-blue-500 mx-auto mb-4`}),(0,V.jsx)(`p`,{className:`text-lg`,children:`Loading dataset information...`})]})});let O=o.source===`both`;return(0,V.jsxs)(`div`,{className:`min-h-screen bg-black text-white p-8`,children:[(0,V.jsxs)(`div`,{className:`max-w-4xl mx-auto`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between mb-8`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,V.jsxs)(K,{onClick:()=>t(`/`),variant:`outline`,className:`border-gray-500 hover:border-gray-200 text-gray-300 hover:text-white`,children:[(0,V.jsx)(wa,{className:`w-4 h-4 mr-2`}),`Back to Home`]}),(0,V.jsx)(K,{onClick:()=>b(!0),variant:`outline`,size:`icon`,disabled:x,"aria-label":`Delete dataset from disk`,className:`border-red-500/40 text-red-400 hover:border-red-400 hover:text-red-300 hover:bg-red-500/10`,children:(0,V.jsx)(co,{className:`w-4 h-4`})})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-3`,children:[g?(0,V.jsx)(Na,{className:`w-8 h-8 text-green-500`}):(0,V.jsx)(Ba,{className:`w-8 h-8 text-blue-500`}),(0,V.jsx)(`h1`,{className:`text-3xl font-bold`,children:g?`Upload Complete`:`Dataset Upload`})]})]}),g&&(0,V.jsxs)(`div`,{className:`bg-green-900/20 border border-green-600 rounded-lg p-6 mb-8`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-3 mb-4`,children:[(0,V.jsx)(Na,{className:`w-6 h-6 text-green-500`}),(0,V.jsx)(`h2`,{className:`text-xl font-semibold text-green-400`,children:`Successfully Uploaded!`})]}),(0,V.jsx)(`p`,{className:`text-gray-300 mb-4`,children:`Your dataset has been uploaded to HuggingFace Hub and is now available for training and sharing.`}),(0,V.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-4`,children:[(0,V.jsxs)(K,{onClick:()=>{let e=`/spaces/lerobot/visualize_dataset?path=${encodeURIComponent(`/${o.dataset_repo_id}`)}`,t=u.private?`https://huggingface.co/login?next=${encodeURIComponent(e)}`:`https://huggingface.co${e}`;window.open(t,`_blank`,`noopener,noreferrer`)},className:`bg-blue-500 hover:bg-blue-600 text-white`,children:[(0,V.jsx)(Ua,{className:`w-4 h-4 mr-2`}),`View on HuggingFace Hub`]}),(0,V.jsx)(K,{onClick:()=>t(`/training`,{state:{datasetRepoId:o.dataset_repo_id}}),className:`bg-purple-500 hover:bg-purple-600 text-white`,children:`Start Training`})]})]}),!g&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:`bg-gray-900 rounded-lg p-6 border border-gray-700 mb-8`,children:[(0,V.jsx)(`h2`,{className:`text-xl font-semibold text-white mb-4`,children:`Dataset Summary`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:[(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`span`,{className:`text-gray-400`,children:`Repository ID:`}),(0,V.jsx)(`p`,{className:`text-white font-mono text-lg`,children:o.dataset_repo_id})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`span`,{className:`text-gray-400`,children:`Task:`}),(0,V.jsx)(`p`,{className:`text-white`,children:o.single_task})]})]}),(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`span`,{className:`text-gray-400`,children:`Episodes Recorded:`}),(0,V.jsx)(`p`,{className:`text-white text-2xl font-bold text-green-400`,children:o.saved_episodes||o.num_episodes}),o.total_frames&&(0,V.jsxs)(`p`,{className:`text-gray-400 text-sm`,children:[o.total_frames,` total frames`]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`span`,{className:`text-gray-400`,children:`Session Duration:`}),(0,V.jsx)(`p`,{className:`text-white`,children:w(o.session_elapsed_seconds||0)}),o.fps&&(0,V.jsxs)(`p`,{className:`text-gray-400 text-sm`,children:[o.fps,` FPS`]})]})]})]})]}),!O&&(0,V.jsxs)(`div`,{className:`bg-gray-900 rounded-lg p-6 border border-gray-700 mb-8`,children:[(0,V.jsx)(`h2`,{className:`text-xl font-semibold text-white mb-6`,children:`Upload Configuration`}),(0,V.jsxs)(`div`,{className:`space-y-6`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Bh,{htmlFor:`tags`,className:`text-gray-300 mb-2 block`,children:`Tags (comma-separated)`}),(0,V.jsx)(Nh,{id:`tags`,value:f,onChange:e=>p(e.target.value),placeholder:`robotics, lerobot, manipulation`,className:`bg-gray-800 border-gray-600 text-white`}),(0,V.jsx)(`p`,{className:`text-sm text-gray-500 mt-1`,children:`Tags help others discover your dataset on HuggingFace Hub`})]}),(0,V.jsxs)(`div`,{className:`flex items-center space-x-3`,children:[(0,V.jsx)(rg,{id:`private`,checked:u.private,onCheckedChange:e=>d({...u,private:e})}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[u.private?(0,V.jsx)(Wa,{className:`w-4 h-4 text-gray-400`}):(0,V.jsx)(Ga,{className:`w-4 h-4 text-gray-400`}),(0,V.jsx)(Bh,{htmlFor:`private`,className:`text-gray-300`,children:`Make dataset private`})]})]}),(0,V.jsx)(`p`,{className:`text-sm text-gray-500 ml-6`,children:u.private?`Only you will be able to access this dataset`:`Dataset will be publicly accessible on HuggingFace Hub`})]})]}),(0,V.jsx)(`div`,{className:`flex flex-col sm:flex-row gap-4 justify-center`,children:O?(0,V.jsxs)(K,{onClick:()=>C(o.dataset_repo_id),className:`bg-blue-500 hover:bg-blue-600 text-white font-semibold py-4 px-8 text-lg`,children:[(0,V.jsx)(Ua,{className:`w-5 h-5 mr-2`}),`View on Hugging Face Hub`]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(K,{onClick:T,disabled:m,className:`bg-blue-500 hover:bg-blue-600 text-white font-semibold py-4 px-8 text-lg`,children:m?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ja,{className:`w-5 h-5 mr-2 animate-spin`}),`Uploading to Hub...`]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(uo,{className:`w-5 h-5 mr-2`}),`Upload to HuggingFace Hub`]})}),(0,V.jsx)(K,{onClick:E,disabled:m,variant:`outline`,className:`border-gray-600 text-gray-300 hover:bg-gray-800 hover:text-white py-4 px-8 text-lg`,children:`Skip Upload`})]})}),!O&&(0,V.jsx)(`div`,{className:`mt-8 p-4 bg-blue-900/20 border border-blue-600 rounded-lg`,children:(0,V.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,V.jsx)(Ma,{className:`w-5 h-5 text-blue-400 mt-0.5`}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`h3`,{className:`font-semibold text-blue-400 mb-2`,children:`About HuggingFace Hub Upload`}),(0,V.jsxs)(`ul`,{className:`text-sm text-gray-300 space-y-1`,children:[(0,V.jsx)(`li`,{children:`• Your dataset will be uploaded to HuggingFace Hub for sharing and collaboration`}),(0,V.jsx)(`li`,{children:`• You need to be logged in to HuggingFace CLI on the server`}),(0,V.jsx)(`li`,{children:`• Uploaded datasets can be used for training models and sharing with the community`}),(0,V.jsx)(`li`,{children:`• You can always upload manually later using the HuggingFace CLI`})]})]})]})})]})]}),(0,V.jsx)(EI,{open:y,onOpenChange:b,children:(0,V.jsxs)(OI,{className:`bg-gray-900 border-gray-700 text-white`,children:[(0,V.jsxs)(kI,{children:[(0,V.jsx)(jI,{children:`Delete dataset from disk?`}),(0,V.jsxs)(MI,{className:`text-gray-400`,children:[`This permanently removes `,(0,V.jsx)(`span`,{className:`font-mono text-white`,children:o.dataset_repo_id}),` from your local cache. This action cannot be undone.`]})]}),(0,V.jsxs)(AI,{children:[(0,V.jsx)(PI,{className:`bg-gray-800 border-gray-700 text-white hover:bg-gray-700`,children:`Keep dataset`}),(0,V.jsx)(NI,{onClick:D,disabled:x,className:`bg-red-500 hover:bg-red-600 text-white`,children:x?`Deleting…`:`Delete`})]})]})})]})},Fie=()=>{let e=Ie();return(0,_.useEffect)(()=>{console.error(`404 Error: User attempted to access non-existent route:`,e.pathname)},[e.pathname]),(0,V.jsx)(`div`,{className:`min-h-screen flex items-center justify-center bg-gray-100`,children:(0,V.jsxs)(`div`,{className:`text-center`,children:[(0,V.jsx)(`h1`,{className:`text-4xl font-bold mb-4`,children:`404`}),(0,V.jsx)(`p`,{className:`text-xl text-gray-600 mb-4`,children:`Oops! Page not found`}),(0,V.jsx)(`a`,{href:`/`,className:`text-blue-500 hover:text-blue-700 underline`,children:`Return to Home`})]})})},Iie=`lelab-tabs-v1`,Lie=1e3,Rie=3e3,zie=({children:e})=>{let[t,n]=(0,_.useState)(!0),r=(0,_.useRef)(new Map),i=(0,_.useRef)(``),a=(0,_.useRef)(0),o=(0,_.useRef)(null),s=(0,_.useCallback)(()=>{let e=r.current,t=Date.now()-Rie;for(let[n,r]of e)r.lastSeen{if(typeof window>`u`||typeof BroadcastChannel>`u`)return;i.current=crypto.randomUUID(),a.current=Date.now();let e=new BroadcastChannel(Iie);o.current=e;let t=t=>{e.postMessage({type:t,id:i.current,openedAt:a.current})};e.onmessage=e=>{let t=e.data;if(!t||t.id===i.current)return;let n=r.current;t.type===`HEARTBEAT`?n.set(t.id,{id:t.id,openedAt:t.openedAt,lastSeen:Date.now()}):t.type===`RELEASE`?n.delete(t.id):t.type===`TAKEOVER`&&(n.set(t.id,{id:t.id,openedAt:t.openedAt,lastSeen:Date.now()}),a.current<=t.openedAt&&(a.current=t.openedAt+1)),s()},t(`HEARTBEAT`);let n=setInterval(()=>{t(`HEARTBEAT`),s()},Lie),c=()=>t(`RELEASE`);return window.addEventListener(`beforeunload`,c),()=>{window.removeEventListener(`beforeunload`,c),clearInterval(n),t(`RELEASE`),e.close(),o.current=null}},[s]);let c=(0,_.useCallback)(()=>{a.current=0,o.current?.postMessage({type:`TAKEOVER`,id:i.current,openedAt:0}),s()},[s]);return(0,V.jsxs)(V.Fragment,{children:[e,!t&&(0,V.jsx)(`div`,{className:`fixed inset-0 z-[9999] flex items-center justify-center bg-black/80 backdrop-blur-sm`,role:`dialog`,"aria-modal":`true`,children:(0,V.jsxs)(`div`,{className:`mx-4 max-w-md space-y-4 rounded-lg border bg-background p-6 text-center shadow-lg`,children:[(0,V.jsx)(`h2`,{className:`text-lg font-semibold`,children:`LeLab is already open in another tab`}),(0,V.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Only one tab can control the robot at a time. Switch back to the original tab, or take over here — the other tab will lock.`}),(0,V.jsx)(K,{onClick:c,children:`Use this tab`})]})})]})},Q9=`lelab:teleop-stopped`,Bie=()=>{let{toast:e}=yr();return(0,_.useEffect)(()=>{let t=!1;try{t=sessionStorage.getItem(Q9)===`1`,t&&sessionStorage.removeItem(Q9)}catch{}t&&e({title:`Teleoperation stopped`,description:`The arm was disconnected cleanly when you left the page.`})},[e]),null},$9=`lelab:update-dismissed-sha`;function Vie(){let{baseUrl:e,fetchWithHeaders:t}=zs(),[n,r]=(0,_.useState)(null),[i,a]=(0,_.useState)(!1);return(0,_.useEffect)(()=>{if(Qv())return;let n=!1;return t(`${e}/system/update-check`).then(e=>e.ok?e.json():null).then(e=>{if(n||!e||!e.update_available)return;let t=null;try{t=localStorage.getItem($9)}catch{}t&&t===e.latest_commit||(r(e),a(!0))}).catch(()=>{}),()=>{n=!0}},[e,t]),{status:n,open:i,dismiss:(0,_.useCallback)(e=>{if(e&&n?.latest_commit)try{localStorage.setItem($9,n.latest_commit)}catch{}a(!1)},[n])}}var Hie=()=>{let{status:e,open:t,dismiss:n}=Vie(),{baseUrl:r,fetchWithHeaders:i}=zs(),{toast:a}=yr(),[o,s]=(0,_.useState)(!1),[c,l]=(0,_.useState)(!1),[u,d]=(0,_.useState)(null);if(!e)return null;let f=typeof e.commits_behind==`number`&&e.commits_behind>0?`${e.commits_behind} commit${e.commits_behind===1?``:`s`} behind`:`A new version is available`;return(0,V.jsx)(Su,{open:t,onOpenChange:e=>{!e&&!c&&n(o)},children:(0,V.jsxs)(Tu,{className:`bg-slate-800 border-slate-700 text-white max-w-lg`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,V.jsxs)(Eu,{children:[(0,V.jsxs)(Ou,{className:`flex items-center gap-3 text-white`,children:[(0,V.jsx)(ao,{className:`w-5 h-5 text-amber-400`}),`LeLab update available`]}),(0,V.jsxs)(ku,{className:`text-slate-300`,children:[`You're `,f,` 😱.`,(0,V.jsx)(`br`,{}),`Update to get the latest fixes and features 🤗.`,e.compare_url&&(0,V.jsxs)(V.Fragment,{children:[` `,(0,V.jsx)(`a`,{href:e.compare_url,target:`_blank`,rel:`noreferrer`,className:`text-sky-300 underline hover:text-sky-200`,children:`See what changed`}),`.`]})]})]}),(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsxs)(hg,{children:[(0,V.jsxs)(gg,{className:`group flex items-center gap-1.5 text-xs font-medium text-slate-300 hover:text-white transition-colors`,children:[(0,V.jsx)(ka,{className:`w-3.5 h-3.5 transition-transform group-data-[state=open]:rotate-90`}),`Or update manually`]}),(0,V.jsx)(_g,{className:`pt-2`,children:(0,V.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,V.jsx)(`code`,{className:`min-w-0 flex-1 px-2 py-1.5 rounded bg-slate-900 text-sky-300 text-xs break-all whitespace-pre-wrap`,children:e.update_command}),(0,V.jsx)(K,{variant:`outline`,size:`icon`,onClick:async()=>{if(e.update_command)try{await navigator.clipboard.writeText(e.update_command),a({title:`Copied`,description:`Update command copied to clipboard.`})}catch{a({title:`Copy failed`,description:`Select and copy the command manually.`,variant:`destructive`})}},title:`Copy command`,className:`shrink-0 bg-slate-900 border-slate-600 text-white hover:bg-slate-700`,children:(0,V.jsx)(za,{className:`w-4 h-4`})})]})})]}),u&&(0,V.jsx)(`pre`,{className:`max-h-40 overflow-auto rounded bg-slate-900 p-2 text-xs text-slate-300 whitespace-pre-wrap`,children:u}),(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-3 pt-1`,children:[(0,V.jsxs)(`label`,{className:`flex items-center gap-2 text-sm text-slate-300`,children:[(0,V.jsx)(rg,{checked:o,onCheckedChange:e=>s(e===!0),className:`border-slate-300 data-[state=checked]:bg-slate-300 data-[state=checked]:text-slate-900`}),`Don't ask me again`]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(K,{variant:`ghost`,onClick:()=>n(o),disabled:c,className:`text-slate-300 hover:bg-slate-700 hover:text-white`,children:`Later`}),e.can_auto_update&&(0,V.jsx)(K,{onClick:async()=>{l(!0),d(null);try{let e=await(await i(`${r}/system/update`,{method:`POST`})).json();e.success?(a({title:`Updated`,description:e.message}),n(!1)):(d(e.output||e.message),a({title:`Update failed`,description:e.message,variant:`destructive`}))}catch(e){a({title:`Update failed`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}finally{l(!1)}},disabled:c,children:c?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ja,{className:`w-4 h-4 mr-2 animate-spin`}),`Updating…`]}):`Update now`})]})]})]})]})})},Uie=new mn;function Wie(){return(0,V.jsx)(_n,{client:Uie,children:(0,V.jsx)(gp,{children:(0,V.jsx)(yn,{children:(0,V.jsx)(Rs,{children:(0,V.jsx)(Vs,{children:(0,V.jsx)(ir,{children:(0,V.jsx)(sr,{children:(0,V.jsxs)(pt,{children:[(0,V.jsxs)(zie,{children:[(0,V.jsx)(Bie,{}),(0,V.jsx)(Hie,{}),(0,V.jsxs)(ct,{children:[(0,V.jsx)(ot,{path:`/`,element:(0,V.jsx)(ey,{})}),(0,V.jsx)(ot,{path:`/teleoperation`,element:(0,V.jsx)(gM,{})}),(0,V.jsx)(ot,{path:`/recording`,element:(0,V.jsx)(Ate,{})}),(0,V.jsx)(ot,{path:`/upload`,element:(0,V.jsx)(Pie,{})}),(0,V.jsx)(ot,{path:`/training`,element:(0,V.jsx)(X9,{})}),(0,V.jsx)(ot,{path:`/training/:jobId`,element:(0,V.jsx)(X9,{})}),(0,V.jsx)(ot,{path:`/inference`,element:(0,V.jsx)(Mie,{})}),(0,V.jsx)(ot,{path:`/calibration`,element:(0,V.jsx)(LM,{})}),(0,V.jsx)(ot,{path:`/edit-dataset`,element:(0,V.jsx)(Nie,{})}),(0,V.jsx)(ot,{path:`*`,element:(0,V.jsx)(Fie,{})})]})]}),(0,V.jsx)(bs,{})]})})})})})})})})}(0,y.createRoot)(document.getElementById(`root`)).render((0,V.jsx)(Wie,{})); \ No newline at end of file + A ${p},${p},0,0,${c},${e},${t+r-o*p} Z`}else l=`M ${e},${t} h ${n} v ${r} h ${-n} Z`;return l},_3=function(e,t){if(!e||!t)return!1;var n=e.x,r=e.y,i=t.x,a=t.y,o=t.width,s=t.height;if(Math.abs(o)>0&&Math.abs(s)>0){var c=Math.min(i,i+o),l=Math.max(i,i+o),u=Math.min(a,a+s),d=Math.max(a,a+s);return n>=c&&n<=l&&r>=u&&r<=d}return!1},v3={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:`ease`},y3=function(e){var t=f3(f3({},v3),e),n=(0,_.useRef)(),r=a3((0,_.useState)(-1),2),i=r[0],a=r[1];(0,_.useEffect)(function(){if(n.current&&n.current.getTotalLength)try{var e=n.current.getTotalLength();e&&a(e)}catch{}},[]);var o=t.x,s=t.y,c=t.width,l=t.height,u=t.radius,d=t.className,f=t.animationEasing,p=t.animationDuration,m=t.animationBegin,h=t.isAnimationActive,g=t.isUpdateAnimationActive;if(o!==+o||s!==+s||c!==+c||l!==+l||c===0||l===0)return null;var v=ha(`recharts-rectangle`,d);return g?_.createElement(n3,{canBegin:i>0,from:{width:c,height:l,x:o,y:s},to:{width:c,height:l,x:o,y:s},duration:p,animationEasing:f,isActive:g},function(e){var r=e.width,a=e.height,o=e.x,s=e.y;return _.createElement(n3,{canBegin:i>0,from:`0px ${i===-1?1:i}px`,to:`${i}px 0px`,attributeName:`strokeDasharray`,begin:m,duration:p,isActive:h,easing:f},_.createElement(`path`,i3({},hR(t,!0),{className:v,d:g3(o,s,r,a,u),ref:n})))}):_.createElement(`path`,i3({},hR(t,!0),{className:v,d:g3(o,s,c,l,u)}))};function b3(){return b3=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function j3(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var M3=function(e,t,n,r,i,a){return`M${e},${i}v${r}M${a},${t}h${n}`},N3=function(e){var t=e.x,n=t===void 0?0:t,r=e.y,i=r===void 0?0:r,a=e.top,o=a===void 0?0:a,s=e.left,c=s===void 0?0:s,l=e.width,u=l===void 0?0:l,d=e.height,f=d===void 0?0:d,p=e.className,m=A3(e,C3),h=E3({x:n,y:i,top:o,left:c,width:u,height:f},m);return!Q(n)||!Q(i)||!Q(u)||!Q(f)||!Q(o)||!Q(c)?null:_.createElement(`path`,w3({},hR(h,!0),{className:ha(`recharts-cross`,p),d:M3(n,i,u,f,o,c)}))},P3=o(((e,t)=>{t.exports=DV()(Object.getPrototypeOf,Object)})),F3=o(((e,t)=>{var n=QI(),r=P3(),i=$I(),a=`[object Object]`,o=Function.prototype,s=Object.prototype,c=o.toString,l=s.hasOwnProperty,u=c.call(Object);function d(e){if(!i(e)||n(e)!=a)return!1;var t=r(e);if(t===null)return!0;var o=l.call(t,`constructor`)&&t.constructor;return typeof o==`function`&&o instanceof o&&c.call(o)==u}t.exports=d})),I3=o(((e,t)=>{var n=QI(),r=$I(),i=`[object Boolean]`;function a(e){return e===!0||e===!1||r(e)&&n(e)==i}t.exports=a}));function L3(e){"@babel/helpers - typeof";return L3=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},L3(e)}function R3(){return R3=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0,from:{upperWidth:0,lowerWidth:0,height:u,x:o,y:s},to:{upperWidth:c,lowerWidth:l,height:u,x:o,y:s},duration:p,animationEasing:f,isActive:h},function(e){var r=e.upperWidth,a=e.lowerWidth,o=e.height,s=e.x,c=e.y;return _.createElement(n3,{canBegin:i>0,from:`0px ${i===-1?1:i}px`,to:`${i}px 0px`,attributeName:`strokeDasharray`,begin:m,duration:p,easing:f},_.createElement(`path`,R3({},hR(t,!0),{className:g,d:X3(s,c,r,a,o),ref:n})))}):_.createElement(`g`,null,_.createElement(`path`,R3({},hR(t,!0),{className:g,d:X3(o,s,c,l,u)})))},$3=l(F3()),e6=l(I3()),t6=[`option`,`shapeType`,`propTransformer`,`activeClassName`,`isActive`];function n6(e){"@babel/helpers - typeof";return n6=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},n6(e)}function r6(e,t){if(e==null)return{};var n=i6(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function i6(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function a6(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function o6(e){for(var t=1;t{var n=Math.ceil,r=Math.max;function i(e,t,i,a){for(var o=-1,s=r(n((t-e)/(i||1)),0),c=Array(s);s--;)c[a?s:++o]=e,e+=i;return c}t.exports=i})),E6=o(((e,t)=>{var n=hW(),r=1/0,i=17976931348623157e292;function a(e){return e?(e=n(e),e===r||e===-r?(e<0?-1:1)*i:e===e?e:0):e===0?e:0}t.exports=a})),D6=o(((e,t)=>{var n=T6(),r=tU(),i=E6();function a(e){return function(t,a,o){return o&&typeof o!=`number`&&r(t,a,o)&&(a=o=void 0),t=i(t),a===void 0?(a=t,t=0):a=i(a),o=o===void 0?t{t.exports=D6()()}));function k6(e){"@babel/helpers - typeof";return k6=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},k6(e)}function A6(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function j6(e){for(var t=1;t0&&n.handleDrag(e.changedTouches[0])}),Q6(n,`handleDragEnd`,function(){n.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var e=n.props,t=e.endIndex,r=e.onDragEnd,i=e.startIndex;r?.({endIndex:t,startIndex:i})}),n.detachDragEndListener()}),Q6(n,`handleLeaveWrapper`,function(){(n.state.isTravellerMoving||n.state.isSlideMoving)&&(n.leaveTimer=window.setTimeout(n.handleDragEnd,n.props.leaveTimeOut))}),Q6(n,`handleEnterSlideOrTraveller`,function(){n.setState({isTextActive:!0})}),Q6(n,`handleLeaveSlideOrTraveller`,function(){n.setState({isTextActive:!1})}),Q6(n,`handleSlideDragStart`,function(e){var t=n8(e)?e.changedTouches[0]:e;n.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:t.pageX}),n.attachDragEndListener()}),n.travellerDragStartHandlers={startX:n.handleTravellerDragStart.bind(n,`startX`),endX:n.handleTravellerDragStart.bind(n,`endX`)},n.state={},n}return X6(t,e),W6(t,[{key:`componentWillUnmount`,value:function(){this.leaveTimer&&=(clearTimeout(this.leaveTimer),null),this.detachDragEndListener()}},{key:`getIndex`,value:function(e){var n=e.startX,r=e.endX,i=this.state.scaleValues,a=this.props,o=a.gap,s=a.data.length-1,c=Math.min(n,r),l=Math.max(n,r),u=t.getIndexInRange(i,c),d=t.getIndexInRange(i,l);return{startIndex:u-u%o,endIndex:d===s?s:d-d%o}}},{key:`getTextOfTick`,value:function(e){var t=this.props,n=t.data,r=t.tickFormatter,i=t.dataKey,a=s$(n[e],i,e);return(0,XL.default)(r)?r(a,e):a}},{key:`attachDragEndListener`,value:function(){window.addEventListener(`mouseup`,this.handleDragEnd,!0),window.addEventListener(`touchend`,this.handleDragEnd,!0),window.addEventListener(`mousemove`,this.handleDrag,!0)}},{key:`detachDragEndListener`,value:function(){window.removeEventListener(`mouseup`,this.handleDragEnd,!0),window.removeEventListener(`touchend`,this.handleDragEnd,!0),window.removeEventListener(`mousemove`,this.handleDrag,!0)}},{key:`handleSlideDrag`,value:function(e){var t=this.state,n=t.slideMoveStartX,r=t.startX,i=t.endX,a=this.props,o=a.x,s=a.width,c=a.travellerWidth,l=a.startIndex,u=a.endIndex,d=a.onChange,f=e.pageX-n;f>0?f=Math.min(f,o+s-c-i,o+s-c-r):f<0&&(f=Math.max(f,o-r,o-i));var p=this.getIndex({startX:r+f,endX:i+f});(p.startIndex!==l||p.endIndex!==u)&&d&&d(p),this.setState({startX:r+f,endX:i+f,slideMoveStartX:e.pageX})}},{key:`handleTravellerDragStart`,value:function(e,t){var n=n8(t)?t.changedTouches[0]:t;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:e,brushMoveStartX:n.pageX}),this.attachDragEndListener()}},{key:`handleTravellerMove`,value:function(e){var t=this.state,n=t.brushMoveStartX,r=t.movingTravellerId,i=t.endX,a=t.startX,o=this.state[r],s=this.props,c=s.x,l=s.width,u=s.travellerWidth,d=s.onChange,f=s.gap,p=s.data,m={startX:this.state.startX,endX:this.state.endX},h=e.pageX-n;h>0?h=Math.min(h,c+l-u-o):h<0&&(h=Math.max(h,c-o)),m[r]=o+h;var g=this.getIndex(m),_=g.startIndex,v=g.endIndex,y=function(){var e=p.length-1;return r===`startX`&&(i>a?_%f===0:v%f===0)||ia?v%f===0:_%f===0)||i>a&&v===e};this.setState(Q6(Q6({},r,o+h),`brushMoveStartX`,e.pageX),function(){d&&y()&&d(g)})}},{key:`handleTravellerMoveKeyboard`,value:function(e,t){var n=this,r=this.state,i=r.scaleValues,a=r.startX,o=r.endX,s=this.state[t],c=i.indexOf(s);if(c!==-1){var l=c+e;if(!(l===-1||l>=i.length)){var u=i[l];t===`startX`&&u>=o||t===`endX`&&u<=a||this.setState(Q6({},t,u),function(){n.props.onChange(n.getIndex({startX:n.state.startX,endX:n.state.endX}))})}}}},{key:`renderBackground`,value:function(){var e=this.props,t=e.x,n=e.y,r=e.width,i=e.height,a=e.fill,o=e.stroke;return _.createElement(`rect`,{stroke:o,fill:a,x:t,y:n,width:r,height:i})}},{key:`renderPanorama`,value:function(){var e=this.props,t=e.x,n=e.y,r=e.width,i=e.height,a=e.data,o=e.children,s=e.padding,c=_.Children.only(o);return c?_.cloneElement(c,{x:t,y:n,width:r,height:i,margin:s,compact:!0,data:a}):null}},{key:`renderTravellerLayer`,value:function(e,n){var r=this,i=this.props,a=i.y,o=i.travellerWidth,s=i.height,c=i.traveller,l=i.ariaLabel,u=i.data,d=i.startIndex,f=i.endIndex,p=Math.max(e,this.props.x),m=V6(V6({},hR(this.props,!1)),{},{x:p,y:a,width:o,height:s}),h=l||`Min value: ${u[d]?.name}, Max value: ${u[f]?.name}`;return _.createElement(AR,{tabIndex:0,role:`slider`,"aria-label":h,"aria-valuenow":e,className:`recharts-brush-traveller`,onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[n],onTouchStart:this.travellerDragStartHandlers[n],onKeyDown:function(e){[`ArrowLeft`,`ArrowRight`].includes(e.key)&&(e.preventDefault(),e.stopPropagation(),r.handleTravellerMoveKeyboard(e.key===`ArrowRight`?1:-1,n))},onFocus:function(){r.setState({isTravellerFocused:!0})},onBlur:function(){r.setState({isTravellerFocused:!1})},style:{cursor:`col-resize`}},t.renderTraveller(c,m))}},{key:`renderSlide`,value:function(e,t){var n=this.props,r=n.y,i=n.height,a=n.stroke,o=n.travellerWidth,s=Math.min(e,t)+o,c=Math.max(Math.abs(t-e)-o,0);return _.createElement(`rect`,{className:`recharts-brush-slide`,onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:`move`},stroke:`none`,fill:a,fillOpacity:.2,x:s,y:r,width:c,height:i})}},{key:`renderText`,value:function(){var e=this.props,t=e.startIndex,n=e.endIndex,r=e.y,i=e.height,a=e.travellerWidth,o=e.stroke,s=this.state,c=s.startX,l=s.endX,u=5,d={pointerEvents:`none`,fill:o};return _.createElement(AR,{className:`recharts-brush-texts`},_.createElement(FG,z6({textAnchor:`end`,verticalAnchor:`middle`,x:Math.min(c,l)-u,y:r+i/2},d),this.getTextOfTick(t)),_.createElement(FG,z6({textAnchor:`start`,verticalAnchor:`middle`,x:Math.max(c,l)+a+u,y:r+i/2},d),this.getTextOfTick(n)))}},{key:`render`,value:function(){var e=this.props,t=e.data,n=e.className,r=e.children,i=e.x,a=e.y,o=e.width,s=e.height,c=e.alwaysShowText,l=this.state,u=l.startX,d=l.endX,f=l.isTextActive,p=l.isSlideMoving,m=l.isTravellerMoving,h=l.isTravellerFocused;if(!t||!t.length||!Q(i)||!Q(a)||!Q(o)||!Q(s)||o<=0||s<=0)return null;var g=ha(`recharts-brush`,n),v=_.Children.count(r)===1,y=I6(`userSelect`,`none`);return _.createElement(AR,{className:g,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:y},this.renderBackground(),v&&this.renderPanorama(),this.renderSlide(u,d),this.renderTravellerLayer(u,`startX`),this.renderTravellerLayer(d,`endX`),(f||p||m||h||c)&&this.renderText())}}],[{key:`renderDefaultTraveller`,value:function(e){var t=e.x,n=e.y,r=e.width,i=e.height,a=e.stroke,o=Math.floor(n+i/2)-1;return _.createElement(_.Fragment,null,_.createElement(`rect`,{x:t,y:n,width:r,height:i,fill:a,stroke:`none`}),_.createElement(`line`,{x1:t+1,y1:o,x2:t+r-1,y2:o,fill:`none`,stroke:`#fff`}),_.createElement(`line`,{x1:t+1,y1:o+2,x2:t+r-1,y2:o+2,fill:`none`,stroke:`#fff`}))}},{key:`renderTraveller`,value:function(e,n){return _.isValidElement(e)?_.cloneElement(e,n):(0,XL.default)(e)?e(n):t.renderDefaultTraveller(n)}},{key:`getDerivedStateFromProps`,value:function(e,t){var n=e.data,r=e.width,i=e.x,a=e.travellerWidth,o=e.updateId,s=e.startIndex,c=e.endIndex;if(n!==t.prevData||o!==t.prevUpdateId)return V6({prevData:n,prevTravellerWidth:a,prevUpdateId:o,prevX:i,prevWidth:r},n&&n.length?t8({data:n,width:r,x:i,travellerWidth:a,startIndex:s,endIndex:c}):{scale:null,scaleValues:null});if(t.scale&&(r!==t.prevWidth||i!==t.prevX||a!==t.prevTravellerWidth)){t.scale.range([i,i+r-a]);var l=t.scale.domain().map(function(e){return t.scale(e)});return{prevData:n,prevTravellerWidth:a,prevUpdateId:o,prevX:i,prevWidth:r,startX:t.scale(e.startIndex),endX:t.scale(e.endIndex),scaleValues:l}}return null}},{key:`getIndexInRange`,value:function(e,t){for(var n=e.length,r=0,i=n-1;i-r>1;){var a=Math.floor((r+i)/2);e[a]>t?i=a:r=a}return t>=e[i]?i:r}}])}(_.PureComponent);Q6(r8,`displayName`,`Brush`),Q6(r8,`defaultProps`,{height:40,travellerWidth:5,gap:1,fill:`#fff`,stroke:`#666`,padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var i8=o(((e,t)=>{var n=VH();function r(e,t){var r;return n(e,function(e,n,i){return r=t(e,n,i),!r}),!!r}t.exports=r})),a8=o(((e,t)=>{var n=nV(),r=eH(),i=i8(),a=JI(),o=tU();function s(e,t,s){var c=a(e)?n:i;return s&&o(e,t,s)&&(t=void 0),c(e,r(t,3))}t.exports=s})),o8=function(e,t){var n=e.alwaysShow,r=e.ifOverflow;return n&&(r=`extendDomain`),r===t},s8=o(((e,t)=>{var n=XH();function r(e,t,r){t==`__proto__`&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}t.exports=r})),c8=o(((e,t)=>{var n=s8(),r=zH(),i=eH();function a(e,t){var a={};return t=i(t,3),r(e,function(e,r,i){n(a,r,t(e,r,i))}),a}t.exports=a})),l8=o(((e,t)=>{function n(e,t){for(var n=-1,r=e==null?0:e.length;++n{var n=VH();function r(e,t){var r=!0;return n(e,function(e,n,i){return r=!!t(e,n,i),r}),r}t.exports=r})),d8=o(((e,t)=>{var n=l8(),r=u8(),i=eH(),a=JI(),o=tU();function s(e,t,s){var c=a(e)?n:r;return s&&o(e,t,s)&&(t=void 0),c(e,i(t,3))}t.exports=s})),f8=[`x`,`y`];function p8(e){"@babel/helpers - typeof";return p8=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},p8(e)}function m8(){return m8=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function x8(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function S8(e,t){var n=e.x,r=e.y,i=b8(e,f8),a=`${n}`,o=parseInt(a,10),s=`${r}`,c=parseInt(s,10),l=`${t.height||i.height}`,u=parseInt(l,10),d=`${t.width||i.width}`,f=parseInt(d,10);return g8(g8(g8(g8(g8({},t),i),o?{x:o}:{}),c?{y:c}:{}),{},{height:u,width:f,name:t.name,radius:t.radius})}function C8(e){return _.createElement(m6,m8({shapeType:`rectangle`,propTransformer:S8,activeClassName:`recharts-active-bar`},e))}var w8=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(n,r){if(typeof e==`number`)return e;var i=Q(n)||kL(n);return i?e(n,r):(!i&&fQ(!1),t)}},T8=[`value`,`background`],E8;function D8(e){"@babel/helpers - typeof";return D8=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},D8(e)}function O8(e,t){if(e==null)return{};var n=k8(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function k8(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function A8(){return A8=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&Math.abs(g)0&&Math.abs(h)0&&(w=Math.min((e||0)-(T[t-1]||0),w))}),Number.isFinite(w)){var E=w/C,D=c.layout===`vertical`?n.height:n.width;if(c.padding===`gap`&&(v=E*D/2),c.padding===`no-gap`){var O=NL(e.barCategoryGap,E*D),k=E*D/2;v=k-O-(k-O)/D*O}}}y=r===`xAxis`?[n.left+(m.left||0)+(v||0),n.left+n.width-(m.right||0)-(v||0)]:r===`yAxis`?s===`horizontal`?[n.top+n.height-(m.bottom||0),n.top+(m.top||0)]:[n.top+(m.top||0)+(v||0),n.top+n.height-(m.bottom||0)-(v||0)]:c.range,g&&(y=[y[1],y[0]]);var A=S$(c,i,d),j=A.scale,M=A.realScaleType;j.domain(f).range(y),w$(j);var N=A$(j,e5(e5({},c),{},{realScaleType:M}));r===`xAxis`?(S=l===`top`&&!h||l===`bottom`&&h,b=n.left,x=u[_]-S*c.height):r===`yAxis`&&(S=l===`left`&&!h||l===`right`&&h,b=u[_]-S*c.width,x=n.top);var P=e5(e5(e5({},c),N),{},{realScaleType:M,x:b,y:x,scale:j,width:r===`xAxis`?n.width:c.width,height:r===`yAxis`?n.height:c.height});return P.bandSize=B$(P,N),!c.hide&&r===`xAxis`?u[_]+=(S?-1:1)*P.height:c.hide||(u[_]+=(S?-1:1)*P.width),e5(e5({},a),{},t5({},o,P))},{})},a5=function(e,t){var n=e.x,r=e.y,i=t.x,a=t.y;return{x:Math.min(n,i),y:Math.min(r,a),width:Math.abs(i-n),height:Math.abs(a-r)}},o5=function(e){var t=e.x1,n=e.y1,r=e.x2,i=e.y2;return a5({x:t,y:n},{x:r,y:i})},s5=function(){function e(t){X8(this,e),this.scale=t}return Q8(e,[{key:`domain`,get:function(){return this.scale.domain}},{key:`range`,get:function(){return this.scale.range}},{key:`rangeMin`,get:function(){return this.range()[0]}},{key:`rangeMax`,get:function(){return this.range()[1]}},{key:`bandwidth`,get:function(){return this.scale.bandwidth}},{key:`apply`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.bandAware,r=t.position;if(e!==void 0){if(r)switch(r){case`start`:return this.scale(e);case`middle`:var i=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+i;case`end`:var a=this.bandwidth?this.bandwidth():0;return this.scale(e)+a;default:return this.scale(e)}if(n){var o=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+o}return this.scale(e)}}},{key:`isInRange`,value:function(e){var t=this.range(),n=t[0],r=t[t.length-1];return n<=r?e>=n&&e<=r:e>=r&&e<=n}}],[{key:`create`,value:function(t){return new e(t)}}])}();t5(s5,`EPS`,1e-4);var c5=function(e){var t=Object.keys(e).reduce(function(t,n){return e5(e5({},t),{},t5({},n,s5.create(e[n])))},{});return e5(e5({},t),{},{apply:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=n.bandAware,i=n.position;return(0,q8.default)(e,function(e,n){return t[n].apply(e,{bandAware:r,position:i})})},isInRange:function(e){return(0,J8.default)(e,function(e,n){return t[n].isInRange(e)})}})};function l5(e){return(e%180+180)%180}var u5=function(e){var t=e.width,n=e.height,r=l5(arguments.length>1&&arguments[1]!==void 0?arguments[1]:0)*Math.PI/180,i=Math.atan(n/t),a=r>i&&r{var n=eH(),r=AV(),i=jV();function a(e){return function(t,a,o){var s=Object(t);if(!r(t)){var c=n(a,3);t=i(t),a=function(e){return c(s[e],e,s)}}var l=e(t,a,o);return l>-1?s[c?t[l]:l]:void 0}}t.exports=a})),f5=o(((e,t)=>{var n=E6();function r(e){var t=n(e),r=t%1;return t===t?r?t-r:t:0}t.exports=r})),p5=o(((e,t)=>{var n=tH(),r=eH(),i=f5(),a=Math.max;function o(e,t,o){var s=e==null?0:e.length;if(!s)return-1;var c=o==null?0:i(o);return c<0&&(c=a(s+c,0)),n(e,r(t,3),c)}t.exports=o})),m5=o(((e,t)=>{t.exports=d5()(p5())})),h5=(0,l(pL()).default)(function(e){return{x:e.left,y:e.top,width:e.width,height:e.height}},function(e){return[`l`,e.left,`t`,e.top,`w`,e.width,`h`,e.height].join(``)});m5();var g5=(0,_.createContext)(void 0),_5=(0,_.createContext)(void 0),v5=(0,_.createContext)(void 0),y5=(0,_.createContext)({}),b5=(0,_.createContext)(void 0),x5=(0,_.createContext)(0),S5=(0,_.createContext)(0),C5=function(e){var t=e.state,n=t.xAxisMap,r=t.yAxisMap,i=t.offset,a=e.clipPathId,o=e.children,s=e.width,c=e.height,l=h5(i);return _.createElement(g5.Provider,{value:n},_.createElement(_5.Provider,{value:r},_.createElement(y5.Provider,{value:i},_.createElement(v5.Provider,{value:l},_.createElement(b5.Provider,{value:a},_.createElement(x5.Provider,{value:c},_.createElement(S5.Provider,{value:s},o)))))))},w5=function(){return(0,_.useContext)(b5)},T5=function(e){var t=(0,_.useContext)(g5);t??fQ(!1);var n=t[e];return n??fQ(!1),n},E5=function(e){var t=(0,_.useContext)(_5);t??fQ(!1);var n=t[e];return n??fQ(!1),n},D5=function(){return(0,_.useContext)(v5)},O5=function(){return(0,_.useContext)(S5)},k5=function(){return(0,_.useContext)(x5)},A5=l(a8());function j5(e){"@babel/helpers - typeof";return j5=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},j5(e)}function M5(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function N5(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);ne*i)return!1;var a=n();return e*(t-e*a/2-r)>=0&&e*(t+e*a/2-i)<=0}function Une(e,t){return v7(e,t+1)}function Wne(e,t,n,r,i){for(var a=(r||[]).slice(),o=t.start,s=t.end,c=0,l=1,u=o,d=function(){var t=r?.[c];if(t===void 0)return{v:v7(r,l)};var a=c,d,f=function(){return d===void 0&&(d=n(t,a)),d},p=t.coordinate,m=c===0||y7(e,p,f,u,s);m||(c=0,u=o,l+=1),m&&(u=p+e*(f()/2+i),c+=l)},f;l<=a.length;)if(f=d(),f)return f.v;return[]}function b7(e){"@babel/helpers - typeof";return b7=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},b7(e)}function x7(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function S7(e){for(var t=1;t0?r.coordinate-d*e:r.coordinate})}else a[t]=r=S7(S7({},r),{},{tickCoord:r.coordinate});y7(e,r.tickCoord,u,s,c)&&(c=r.tickCoord-e*(u()/2+i),a[t]=S7(S7({},r),{},{isShow:!0}))},u=o-1;u>=0;u--)l(u);return a}function Yne(e,t,n,r,i,a){var o=(r||[]).slice(),s=o.length,c=t.start,l=t.end;if(a){var u=r[s-1],d=n(u,s-1),f=e*(u.coordinate+e*d/2-l);o[s-1]=u=S7(S7({},u),{},{tickCoord:f>0?u.coordinate-f*e:u.coordinate}),y7(e,u.tickCoord,function(){return d},c,l)&&(l=u.tickCoord-e*(d/2+i),o[s-1]=S7(S7({},u),{},{isShow:!0}))}for(var p=a?s-1:s,m=function(t){var r=o[t],a,s=function(){return a===void 0&&(a=n(r,t)),a};if(t===0){var u=e*(r.coordinate-e*s()/2-c);o[t]=r=S7(S7({},r),{},{tickCoord:u<0?r.coordinate-u*e:r.coordinate})}else o[t]=r=S7(S7({},r),{},{tickCoord:r.coordinate});y7(e,r.tickCoord,s,c,l)&&(c=r.tickCoord+e*(s()/2+i),o[t]=S7(S7({},r),{},{isShow:!0}))},h=0;h=2?DL(i[1].coordinate-i[0].coordinate):1,_=Hne(a,g,p);return c===`equidistantPreserveStart`?Wne(g,_,h,i,o):(f=c===`preserveStart`||c===`preserveStartEnd`?Yne(g,_,h,i,o,c===`preserveStartEnd`):Jne(g,_,h,i,o),f.filter(function(e){return e.isShow}))}var Zne=[`viewBox`],Qne=[`viewBox`],$ne=[`ticks`];function C7(e){"@babel/helpers - typeof";return C7=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},C7(e)}function w7(){return w7=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function ere(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function tre(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function O7(e,t){for(var n=0;n0?a(this.props):a(l)),r<=0||i<=0||!u||!u.length?null:_.createElement(AR,{className:ha(`recharts-cartesian-axis`,o),ref:function(t){e.layerReference=t}},n&&this.renderAxisLine(),this.renderTicks(u,this.state.fontSize,this.state.letterSpacing),w1.renderCallByParent(this.props))}}],[{key:`renderTickItem`,value:function(e,t,n){var r,i=ha(t.className,`recharts-cartesian-axis-tick-value`);return r=_.isValidElement(e)?_.cloneElement(e,E7(E7({},t),{},{className:i})):(0,XL.default)(e)?e(E7(E7({},t),{},{className:i})):_.createElement(FG,w7({},t,{className:`recharts-cartesian-axis-tick-value`}),n),r}}])}(_.Component);M7(P7,`displayName`,`CartesianAxis`),M7(P7,`defaultProps`,{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:`bottom`,ticks:[],stroke:`#666`,tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:`preserveEnd`});var cre=[`type`,`layout`,`connectNulls`,`ref`],lre=[`key`];function F7(e){"@babel/helpers - typeof";return F7=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},F7(e)}function I7(e,t){if(e==null)return{};var n=ure(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function ure(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function L7(){return L7=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);ns){l=[].concat(B7(i.slice(0,u)),[s-d]);break}var f=l.length%2==0?[0,c]:[c];return[].concat(B7(t.repeat(i,o)),B7(l),f).map(function(e){return`${e}px`}).join(`, `)}),K7(e,`id`,ML(`recharts-line-`)),K7(e,`pathRef`,function(t){e.mainCurve=t}),K7(e,`handleAnimationEnd`,function(){e.setState({isAnimationFinished:!0}),e.props.onAnimationEnd&&e.props.onAnimationEnd()}),K7(e,`handleAnimationStart`,function(){e.setState({isAnimationFinished:!1}),e.props.onAnimationStart&&e.props.onAnimationStart()}),e}return bre(t,e),gre(t,[{key:`componentDidMount`,value:function(){if(this.props.isAnimationActive){var e=this.getTotalLength();this.setState({totalLength:e})}}},{key:`componentDidUpdate`,value:function(){if(this.props.isAnimationActive){var e=this.getTotalLength();e!==this.state.totalLength&&this.setState({totalLength:e})}}},{key:`getTotalLength`,value:function(){var e=this.mainCurve;try{return e&&e.getTotalLength&&e.getTotalLength()||0}catch{return 0}}},{key:`renderErrorBar`,value:function(e,t){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var n=this.props,r=n.points,i=n.xAxis,a=n.yAxis,o=n.layout,s=n.children,c=cR(s,LQ);if(!c)return null;var l=function(e,t){return{x:e.x,y:e.y,value:e.value,errorVal:s$(e.payload,t)}},u={clipPath:e?`url(#clipPath-${t})`:null};return _.createElement(AR,u,c.map(function(e){return _.cloneElement(e,{key:`bar-${e.props.dataKey}`,data:r,xAxis:i,yAxis:a,layout:o,dataPointFormatter:l})}))}},{key:`renderDots`,value:function(e,n,r){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var i=this.props,a=i.dot,o=i.points,s=i.dataKey,c=hR(this.props,!1),l=hR(a,!0),u=o.map(function(e,n){var r=z7(z7(z7({key:`dot-${n}`,r:3},c),l),{},{index:n,cx:e.x,cy:e.y,value:e.value,dataKey:s,payload:e.payload,points:o});return t.renderDotItem(a,r)}),d={clipPath:e?`url(#clipPath-${n?``:`dots-`}${r})`:null};return _.createElement(AR,L7({className:`recharts-line-dots`,key:`dots`},d),u)}},{key:`renderCurveStatically`,value:function(e,t,n,r){var i=this.props,a=i.type,o=i.layout,s=i.connectNulls;i.ref;var c=z7(z7(z7({},hR(I7(i,cre),!0)),{},{fill:`none`,className:`recharts-line-curve`,clipPath:t?`url(#clipPath-${n})`:null,points:e},r),{},{type:a,layout:o,connectNulls:s});return _.createElement(x0,L7({},c,{pathRef:this.pathRef}))}},{key:`renderCurveWithAnimation`,value:function(e,t){var n=this,r=this.props,i=r.points,a=r.strokeDasharray,o=r.isAnimationActive,s=r.animationBegin,c=r.animationDuration,l=r.animationEasing,u=r.animationId,d=r.animateNewValues,f=r.width,p=r.height,m=this.state,h=m.prevPoints,g=m.totalLength;return _.createElement(n3,{begin:s,duration:c,isActive:o,easing:l,from:{t:0},to:{t:1},key:`line-${u}`,onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(r){var o=r.t;if(h){var s=h.length/i.length,c=i.map(function(e,t){var n=Math.floor(t*s);if(h[n]){var r=h[n],i=IL(r.x,e.x),a=IL(r.y,e.y);return z7(z7({},e),{},{x:i(o),y:a(o)})}if(d){var c=IL(f*2,e.x),l=IL(p/2,e.y);return z7(z7({},e),{},{x:c(o),y:l(o)})}return z7(z7({},e),{},{x:e.x,y:e.y})});return n.renderCurveStatically(c,e,t)}var l=IL(0,g)(o),u;if(a){var m=`${a}`.split(/[,\s]+/gim).map(function(e){return parseFloat(e)});u=n.getStrokeDasharray(l,g,m)}else u=n.generateSimpleStrokeDasharray(g,l);return n.renderCurveStatically(i,e,t,{strokeDasharray:u})})}},{key:`renderCurve`,value:function(e,t){var n=this.props,r=n.points,i=n.isAnimationActive,a=this.state,o=a.prevPoints,s=a.totalLength;return i&&r&&r.length&&(!o&&s>0||!(0,JQ.default)(o,r))?this.renderCurveWithAnimation(e,t):this.renderCurveStatically(r,e,t)}},{key:`render`,value:function(){var e=this.props,t=e.hide,n=e.dot,r=e.points,i=e.className,a=e.xAxis,o=e.yAxis,s=e.top,c=e.left,l=e.width,u=e.height,d=e.isAnimationActive,f=e.id;if(t||!r||!r.length)return null;var p=this.state.isAnimationFinished,m=r.length===1,h=ha(`recharts-line`,i),g=a&&a.allowDataOverflow,v=o&&o.allowDataOverflow,y=g||v,b=(0,EL.default)(f)?this.id:f,x=hR(n,!1)??{r:3,strokeWidth:2},S=x.r,C=S===void 0?3:S,w=x.strokeWidth,T=w===void 0?2:w,E=(pR(n)?n:{}).clipDot,D=E===void 0?!0:E,O=C*2+T;return _.createElement(AR,{className:h},g||v?_.createElement(`defs`,null,_.createElement(`clipPath`,{id:`clipPath-${b}`},_.createElement(`rect`,{x:g?c:c-l/2,y:v?s:s-u/2,width:g?l:l*2,height:v?u:u*2})),!D&&_.createElement(`clipPath`,{id:`clipPath-dots-${b}`},_.createElement(`rect`,{x:c-O/2,y:s-O/2,width:l+O,height:u+O}))):null,!m&&this.renderCurve(y,b),this.renderErrorBar(y,b),(m||n)&&this.renderDots(y,D,b),(!d||p)&&K1.renderCallByParent(this.props,r))}}],[{key:`getDerivedStateFromProps`,value:function(e,t){return e.animationId===t.prevAnimationId?e.points===t.curPoints?null:{curPoints:e.points}:{prevAnimationId:e.animationId,curPoints:e.points,prevPoints:t.curPoints}}},{key:`repeat`,value:function(e,t){for(var n=e.length%2==0?e:[].concat(B7(e),[0]),r=[],i=0;ie.length)&&(t=e.length);for(var n=0,r=Array(t);n{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function iie(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function aie(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function A9(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0?a:e&&e.length&&Q(r)&&Q(i)?e.slice(r,i+1):[]};function U9(e){return e===`number`?[0,`auto`]:void 0}var W9=function(e,t,n,r){var i=e.graphicalItems,a=e.tooltipAxis,o=H9(t,e);return n<0||!i||!i.length||n>=o.length?null:i.reduce(function(i,s){var c=s.props.data??t;c&&e.dataStartIndex+e.dataEndIndex!==0&&e.dataEndIndex-e.dataStartIndex>=n&&(c=c.slice(e.dataStartIndex,e.dataEndIndex+1));var l=a.dataKey&&!a.allowDuplicatedCategory?LL(c===void 0?o:c,a.dataKey,r):c&&c[n]||o[n];return l?[].concat(P9(i),[H$(s,l)]):i},[])},G9=function(e,t,n,r){var i=r||{x:e.chartX,y:e.chartY},a=_ie(i,n),o=e.orderedTooltipTicks,s=e.tooltipAxis,c=e.tooltipTicks,l=l$(a,o,c,s);if(l>=0&&c){var u=c[l]&&c[l].value;return{activeTooltipIndex:l,activeLabel:u,activePayload:W9(e,t,l,u),activeCoordinate:vie(n,o,l,i)}}return null},yie=function(e,t){var n=t.axes,r=t.graphicalItems,i=t.axisType,a=t.axisIdKey,o=t.stackGroups,s=t.dataStartIndex,c=t.dataEndIndex,l=e.layout,u=e.children,d=e.stackOffset,f=v$(l,i);return n.reduce(function(t,n){var p=n.type.defaultProps===void 0?n.props:$($({},n.type.defaultProps),n.props),m=p.type,h=p.dataKey,g=p.allowDataOverflow,_=p.allowDuplicatedCategory,v=p.scale,y=p.ticks,b=p.includeHidden,x=p[a];if(t[x])return t;var S=H9(e.data,{graphicalItems:r.filter(function(e){return(a in e.props?e.props[a]:e.type.defaultProps?.[a])===x}),dataStartIndex:s,dataEndIndex:c}),C=S.length,w,T,E;Kre(p.domain,g,m)&&(w=z$(p.domain,null,g),f&&(m===`number`||v!==`auto`)&&(E=c$(S,h,`category`)));var D=U9(m);if(!w||w.length===0){var O=p.domain??D;if(h){if(w=c$(S,h,m),m===`category`&&f){var k=FL(w);_&&k?(T=w,w=(0,L6.default)(0,C)):_||(w=V$(O,w,n).reduce(function(e,t){return e.indexOf(t)>=0?e:[].concat(P9(e),[t])},[]))}else if(m===`category`)w=_?w.filter(function(e){return e!==``&&!(0,EL.default)(e)}):V$(O,w,n).reduce(function(e,t){return e.indexOf(t)>=0||t===``||(0,EL.default)(t)?e:[].concat(P9(e),[t])},[]);else if(m===`number`){var A=g$(S,r.filter(function(e){var t=a in e.props?e.props[a]:e.type.defaultProps?.[a],n=`hide`in e.props?e.props.hide:e.type.defaultProps?.hide;return t===x&&(b||!n)}),h,i,l);A&&(w=A)}f&&(m===`number`||v!==`auto`)&&(E=c$(S,h,`category`))}else w=f?(0,L6.default)(0,C):o&&o[x]&&o[x].hasStack&&m===`number`?d===`expand`?[0,1]:I$(o[x].stackGroups,s,c):_$(S,r.filter(function(e){var t=a in e.props?e.props[a]:e.type.defaultProps[a],n=`hide`in e.props?e.props.hide:e.type.defaultProps.hide;return t===x&&(b||!n)}),m,l,!0);if(m===`number`)w=h9(u,w,x,i,y),O&&(w=z$(O,w,g));else if(m===`category`&&O){var j=O;w.every(function(e){return j.indexOf(e)>=0})&&(w=j)}}return $($({},t),{},R9({},x,$($({},p),{},{axisType:i,domain:w,categoricalDomain:E,duplicateDomain:T,originalDomain:p.domain??D,isCategorical:f,layout:l})))},{})},bie=function(e,t){var n=t.graphicalItems,r=t.Axis,i=t.axisType,a=t.axisIdKey,o=t.stackGroups,s=t.dataStartIndex,c=t.dataEndIndex,l=e.layout,u=e.children,d=H9(e.data,{graphicalItems:n,dataStartIndex:s,dataEndIndex:c}),f=d.length,p=v$(l,i),m=-1;return n.reduce(function(e,t){var h=(t.type.defaultProps===void 0?t.props:$($({},t.type.defaultProps),t.props))[a],g=U9(`number`);if(!e[h]){m++;var _;return p?_=(0,L6.default)(0,f):o&&o[h]&&o[h].hasStack?(_=I$(o[h].stackGroups,s,c),_=h9(u,_,h,i)):(_=z$(g,_$(d,n.filter(function(e){var t=a in e.props?e.props[a]:e.type.defaultProps?.[a],n=`hide`in e.props?e.props.hide:e.type.defaultProps?.hide;return t===h&&!n}),`number`,l),r.defaultProps.allowDataOverflow),_=h9(u,_,h,i)),$($({},e),{},R9({},h,$($({axisType:i},r.defaultProps),{},{hide:!0,orientation:(0,wL.default)(hie,`${i}.${m%2}`,null),domain:_,originalDomain:g,isCategorical:p,layout:l})))}return e},{})},xie=function(e,t){var n=t.axisType,r=n===void 0?`xAxis`:n,i=t.AxisComp,a=t.graphicalItems,o=t.stackGroups,s=t.dataStartIndex,c=t.dataEndIndex,l=e.children,u=`${r}Id`,d=cR(l,i),f={};return d&&d.length?f=yie(e,{axes:d,graphicalItems:a,axisType:r,axisIdKey:u,stackGroups:o,dataStartIndex:s,dataEndIndex:c}):a&&a.length&&(f=bie(e,{Axis:i,graphicalItems:a,axisType:r,axisIdKey:u,stackGroups:o,dataStartIndex:s,dataEndIndex:c})),f},Sie=function(e){var t=PL(e),n=y$(t,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:(0,nU.default)(n,function(e){return e.coordinate}),tooltipAxis:t,tooltipAxisBandSize:B$(t,n)}},K9=function(e){var t=e.children,n=e.defaultShowTooltip,r=lR(t,r8),i=0,a=0;return e.data&&e.data.length!==0&&(a=e.data.length-1),r&&r.props&&(r.props.startIndex>=0&&(i=r.props.startIndex),r.props.endIndex>=0&&(a=r.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:i,dataEndIndex:a,activeTooltipIndex:-1,isTooltipActive:!!n}},Cie=function(e){return!e||!e.length?!1:e.some(function(e){var t=iR(e&&e.type);return t&&t.indexOf(`Bar`)>=0})},q9=function(e){return e===`horizontal`?{numericAxisName:`yAxis`,cateAxisName:`xAxis`}:e===`vertical`?{numericAxisName:`xAxis`,cateAxisName:`yAxis`}:e===`centric`?{numericAxisName:`radiusAxis`,cateAxisName:`angleAxis`}:{numericAxisName:`angleAxis`,cateAxisName:`radiusAxis`}},wie=function(e,t){var n=e.props,r=e.graphicalItems,i=e.xAxisMap,a=i===void 0?{}:i,o=e.yAxisMap,s=o===void 0?{}:o,c=n.width,l=n.height,u=n.children,d=n.margin||{},f=lR(u,r8),p=lR(u,PH),m=Object.keys(s).reduce(function(e,t){var n=s[t],r=n.orientation;return!n.mirror&&!n.hide?$($({},e),{},R9({},r,e[r]+n.width)):e},{left:d.left||0,right:d.right||0}),h=$($({},Object.keys(a).reduce(function(e,t){var n=a[t],r=n.orientation;return!n.mirror&&!n.hide?$($({},e),{},R9({},r,(0,wL.default)(e,`${r}`)+n.height)):e},{top:d.top||0,bottom:d.bottom||0})),m),g=h.bottom;f&&(h.bottom+=f.props.height||r8.defaultProps.height),p&&t&&(h=p$(h,r,n,t));var _=c-h.left-h.right,v=l-h.top-h.bottom;return $($({brushBottom:g},h),{},{width:Math.max(_,0),height:Math.max(v,0)})},Tie=function(e,t){if(t===`xAxis`)return e[t].width;if(t===`yAxis`)return e[t].height},J9=function(e){var t=e.chartName,n=e.GraphicalChild,r=e.defaultTooltipEventType,i=r===void 0?`axis`:r,a=e.validateTooltipEventTypes,o=a===void 0?[`axis`]:a,s=e.axisComponents,c=e.legendContent,l=e.formatAxisMap,u=e.defaultProps,d=function(e,t){var n=t.graphicalItems,r=t.stackGroups,i=t.offset,a=t.updateId,o=t.dataStartIndex,c=t.dataEndIndex,l=e.barSize,u=e.layout,d=e.barGap,f=e.barCategoryGap,p=e.maxBarSize,m=q9(u),h=m.numericAxisName,g=m.cateAxisName,_=Cie(n),v=[];return n.forEach(function(n,m){var y=H9(e.data,{graphicalItems:[n],dataStartIndex:o,dataEndIndex:c}),b=n.type.defaultProps===void 0?n.props:$($({},n.type.defaultProps),n.props),x=b.dataKey,S=b.maxBarSize,C=b[`${h}Id`],w=b[`${g}Id`],T=s.reduce(function(e,n){var r=t[`${n.axisType}Map`],i=b[`${n.axisType}Id`];!(r&&r[i]||n.axisType===`zAxis`)&&fQ(!1);var a=r[i];return $($({},e),{},R9(R9({},n.axisType,a),`${n.axisType}Ticks`,y$(a)))},{}),E=T[g],D=T[`${g}Ticks`],O=r&&r[C]&&r[C].hasStack&&P$(n,r[C].stackGroups),k=iR(n.type).indexOf(`Bar`)>=0,A=B$(E,D),j=[],M=_&&d$({barSize:l,stackGroups:r,totalSize:Tie(T,g)});if(k){var N=(0,EL.default)(S)?p:S,P=B$(E,D,!0)??N??0;j=f$({barGap:d,barCategoryGap:f,bandSize:P===A?A:P,sizeList:M[w],maxBarSize:N}),P!==A&&(j=j.map(function(e){return $($({},e),{},{position:$($({},e.position),{},{offset:e.position.offset-P/2})})}))}var F=n&&n.type&&n.type.getComposedData;F&&v.push({props:$($({},F($($({},T),{},{displayedData:y,props:e,dataKey:x,item:n,bandSize:A,barPosition:j,offset:i,stackedData:O,layout:u,dataStartIndex:o,dataEndIndex:c}))),{},R9(R9(R9({key:n.key||`item-${m}`},h,T[h]),g,T[g]),`animationId`,a)),childIndex:bR(n,e.children),item:n})}),v},f=function(e,r){var i=e.props,a=e.dataStartIndex,o=e.dataEndIndex,c=e.updateId;if(!uR({props:i}))return null;var u=i.children,f=i.layout,p=i.stackOffset,m=i.data,h=i.reverseStackOrder,g=q9(f),_=g.numericAxisName,v=g.cateAxisName,y=cR(u,n),b=k$(m,y,`${_}Id`,`${v}Id`,p,h),x=s.reduce(function(e,t){var n=`${t.axisType}Map`;return $($({},e),{},R9({},n,xie(i,$($({},t),{},{graphicalItems:y,stackGroups:t.axisType===_&&b,dataStartIndex:a,dataEndIndex:o}))))},{}),S=wie($($({},x),{},{props:i,graphicalItems:y}),r?.legendBBox);Object.keys(x).forEach(function(e){x[e]=l(i,x[e],S,e.replace(`Map`,``),t)});var C=x[`${v}Map`],w=Sie(C);return $($({formattedGraphicalItems:d(i,$($({},x),{},{dataStartIndex:a,dataEndIndex:o,updateId:c,graphicalItems:y,stackGroups:b,offset:S})),graphicalItems:y,offset:S,stackGroups:b},w),x)},p=function(e){function n(e){var r;return aie(this,n),r=sie(this,n,[e]),R9(r,`eventEmitterSymbol`,Symbol(`rechartsEventEmitter`)),R9(r,`accessibilityManager`,new Gre),R9(r,`handleLegendBBoxUpdate`,function(e){if(e){var t=r.state,n=t.dataStartIndex,i=t.dataEndIndex,a=t.updateId;r.setState($({legendBBox:e},f({props:r.props,dataStartIndex:n,dataEndIndex:i,updateId:a},$($({},r.state),{},{legendBBox:e}))))}}),R9(r,`handleReceiveSyncEvent`,function(e,t,n){if(r.props.syncId===e){if(n===r.eventEmitterSymbol&&typeof r.props.syncMethod!=`function`)return;r.applySyncEvent(t)}}),R9(r,`handleBrushChange`,function(e){var t=e.startIndex,n=e.endIndex;if(t!==r.state.dataStartIndex||n!==r.state.dataEndIndex){var i=r.state.updateId;r.setState(function(){return $({dataStartIndex:t,dataEndIndex:n},f({props:r.props,dataStartIndex:t,dataEndIndex:n,updateId:i},r.state))}),r.triggerSyncEvent({dataStartIndex:t,dataEndIndex:n})}}),R9(r,`handleMouseEnter`,function(e){var t=r.getMouseInfo(e);if(t){var n=$($({},t),{},{isTooltipActive:!0});r.setState(n),r.triggerSyncEvent(n);var i=r.props.onMouseEnter;(0,XL.default)(i)&&i(n,e)}}),R9(r,`triggeredAfterMouseMove`,function(e){var t=r.getMouseInfo(e),n=t?$($({},t),{},{isTooltipActive:!0}):{isTooltipActive:!1};r.setState(n),r.triggerSyncEvent(n);var i=r.props.onMouseMove;(0,XL.default)(i)&&i(n,e)}),R9(r,`handleItemMouseEnter`,function(e){r.setState(function(){return{isTooltipActive:!0,activeItem:e,activePayload:e.tooltipPayload,activeCoordinate:e.tooltipPosition||{x:e.cx,y:e.cy}}})}),R9(r,`handleItemMouseLeave`,function(){r.setState(function(){return{isTooltipActive:!1}})}),R9(r,`handleMouseMove`,function(e){e.persist(),r.throttleTriggeredAfterMouseMove(e)}),R9(r,`handleMouseLeave`,function(e){r.throttleTriggeredAfterMouseMove.cancel();var t={isTooltipActive:!1};r.setState(t),r.triggerSyncEvent(t);var n=r.props.onMouseLeave;(0,XL.default)(n)&&n(t,e)}),R9(r,`handleOuterEvent`,function(e){var t=yR(e),n=(0,wL.default)(r.props,`${t}`);t&&(0,XL.default)(n)&&n((/.*touch.*/i.test(t)?r.getMouseInfo(e.changedTouches[0]):r.getMouseInfo(e))??{},e)}),R9(r,`handleClick`,function(e){var t=r.getMouseInfo(e);if(t){var n=$($({},t),{},{isTooltipActive:!0});r.setState(n),r.triggerSyncEvent(n);var i=r.props.onClick;(0,XL.default)(i)&&i(n,e)}}),R9(r,`handleMouseDown`,function(e){var t=r.props.onMouseDown;(0,XL.default)(t)&&t(r.getMouseInfo(e),e)}),R9(r,`handleMouseUp`,function(e){var t=r.props.onMouseUp;(0,XL.default)(t)&&t(r.getMouseInfo(e),e)}),R9(r,`handleTouchMove`,function(e){e.changedTouches!=null&&e.changedTouches.length>0&&r.throttleTriggeredAfterMouseMove(e.changedTouches[0])}),R9(r,`handleTouchStart`,function(e){e.changedTouches!=null&&e.changedTouches.length>0&&r.handleMouseDown(e.changedTouches[0])}),R9(r,`handleTouchEnd`,function(e){e.changedTouches!=null&&e.changedTouches.length>0&&r.handleMouseUp(e.changedTouches[0])}),R9(r,`handleDoubleClick`,function(e){var t=r.props.onDoubleClick;(0,XL.default)(t)&&t(r.getMouseInfo(e),e)}),R9(r,`handleContextMenu`,function(e){var t=r.props.onContextMenu;(0,XL.default)(t)&&t(r.getMouseInfo(e),e)}),R9(r,`triggerSyncEvent`,function(e){r.props.syncId!==void 0&&g9.emit(_9,r.props.syncId,e,r.eventEmitterSymbol)}),R9(r,`applySyncEvent`,function(e){var t=r.props,n=t.layout,i=t.syncMethod,a=r.state.updateId,o=e.dataStartIndex,s=e.dataEndIndex;if(e.dataStartIndex!==void 0||e.dataEndIndex!==void 0)r.setState($({dataStartIndex:o,dataEndIndex:s},f({props:r.props,dataStartIndex:o,dataEndIndex:s,updateId:a},r.state)));else if(e.activeTooltipIndex!==void 0){var c=e.chartX,l=e.chartY,u=e.activeTooltipIndex,d=r.state,p=d.offset,m=d.tooltipTicks;if(!p)return;if(typeof i==`function`)u=i(m,e);else if(i===`value`){u=-1;for(var h=0;h=0){var D,O;if(c.dataKey&&!c.allowDuplicatedCategory){var k=typeof c.dataKey==`function`?E:`payload.${c.dataKey.toString()}`;D=LL(m,k,u),O=h&&g&&LL(g,k,u)}else D=m?.[l],O=h&&g&&g[l];if(S||x){var A=e.props.activeIndex===void 0?l:e.props.activeIndex;return[(0,_.cloneElement)(e,$($($({},i.props),w),{},{activeIndex:A})),null,null]}if(!(0,EL.default)(D))return[T].concat(P9(r.renderActivePoints({item:i,activePoint:D,basePoint:O,childIndex:l,isRange:h})))}else{var j=(r.getItemByXY(r.state.activeCoordinate)??{graphicalItem:T}).graphicalItem,M=j.item,N=M===void 0?e:M,P=j.childIndex;return[(0,_.cloneElement)(N,$($($({},i.props),w),{},{activeIndex:P})),null,null]}return h?[T,null,null]:[T,null]}),R9(r,`renderCustomized`,function(e,t,n){return(0,_.cloneElement)(e,$($({key:`recharts-customized-${n}`},r.props),r.state))}),R9(r,`renderMap`,{CartesianGrid:{handler:V9,once:!0},ReferenceArea:{handler:r.renderReferenceElement},ReferenceLine:{handler:V9},ReferenceDot:{handler:r.renderReferenceElement},XAxis:{handler:V9},YAxis:{handler:V9},Brush:{handler:r.renderBrush,once:!0},Bar:{handler:r.renderGraphicChild},Line:{handler:r.renderGraphicChild},Area:{handler:r.renderGraphicChild},Radar:{handler:r.renderGraphicChild},RadialBar:{handler:r.renderGraphicChild},Scatter:{handler:r.renderGraphicChild},Pie:{handler:r.renderGraphicChild},Funnel:{handler:r.renderGraphicChild},Tooltip:{handler:r.renderCursor,once:!0},PolarGrid:{handler:r.renderPolarGrid,once:!0},PolarAngleAxis:{handler:r.renderPolarAxis},PolarRadiusAxis:{handler:r.renderPolarAxis},Customized:{handler:r.renderCustomized}}),r.clipPathId=`${e.id??ML(`recharts`)}-clip`,r.throttleTriggeredAfterMouseMove=(0,_W.default)(r.triggeredAfterMouseMove,e.throttleDelay??1e3/60),r.state={},r}return uie(n,e),oie(n,[{key:`componentDidMount`,value:function(){this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:this.props.margin.left??0,top:this.props.margin.top??0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:`displayDefaultTooltip`,value:function(){var e=this.props,t=e.children,n=e.data,r=e.height,i=e.layout,a=lR(t,dW);if(a){var o=a.props.defaultIndex;if(!(typeof o!=`number`||o<0||o>this.state.tooltipTicks.length-1)){var s=this.state.tooltipTicks[o]&&this.state.tooltipTicks[o].value,c=W9(this.state,n,o,s),l=this.state.tooltipTicks[o].coordinate,u=(this.state.offset.top+r)/2,d=i===`horizontal`?{x:l,y:u}:{y:l,x:u},f=this.state.formattedGraphicalItems.find(function(e){return e.item.type.name===`Scatter`});f&&(d=$($({},d),f.props.points[o].tooltipPosition),c=f.props.points[o].tooltipPayload);var p={activeTooltipIndex:o,isTooltipActive:!0,activeLabel:s,activePayload:c,activeCoordinate:d};this.setState(p),this.renderCursor(a),this.accessibilityManager.setIndex(o)}}}},{key:`getSnapshotBeforeUpdate`,value:function(e,t){return this.props.accessibilityLayer?(this.state.tooltipTicks!==t.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==e.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==e.margin&&this.accessibilityManager.setDetails({offset:{left:this.props.margin.left??0,top:this.props.margin.top??0}}),null):null}},{key:`componentDidUpdate`,value:function(e){gR([lR(e.children,dW)],[lR(this.props.children,dW)])||this.displayDefaultTooltip()}},{key:`componentWillUnmount`,value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:`getTooltipEventType`,value:function(){var e=lR(this.props.children,dW);if(e&&typeof e.props.shared==`boolean`){var t=e.props.shared?`axis`:`item`;return o.indexOf(t)>=0?t:i}return i}},{key:`getMouseInfo`,value:function(e){if(!this.container)return null;var t=this.container,n=t.getBoundingClientRect(),r=WW(n),i={chartX:Math.round(e.pageX-r.left),chartY:Math.round(e.pageY-r.top)},a=n.width/t.offsetWidth||1,o=this.inRange(i.chartX,i.chartY,a);if(!o)return null;var s=this.state,c=s.xAxisMap,l=s.yAxisMap,u=this.getTooltipEventType(),d=G9(this.state,this.props.data,this.props.layout,o);if(u!==`axis`&&c&&l){var f=PL(c).scale,p=PL(l).scale,m=f&&f.invert?f.invert(i.chartX):null,h=p&&p.invert?p.invert(i.chartY):null;return $($({},i),{},{xValue:m,yValue:h},d)}return d?$($({},i),d):null}},{key:`inRange`,value:function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,r=this.props.layout,i=e/n,a=t/n;if(r===`horizontal`||r===`vertical`){var o=this.state.offset;return i>=o.left&&i<=o.left+o.width&&a>=o.top&&a<=o.top+o.height?{x:i,y:a}:null}var s=this.state,c=s.angleAxisMap,l=s.radiusAxisMap;if(c&&l){var u=PL(c);return t1({x:i,y:a},u)}return null}},{key:`parseEventsOfWrapper`,value:function(){var e=this.props.children,t=this.getTooltipEventType(),n=lR(e,dW),r={};return n&&t===`axis`&&(r=n.props.trigger===`click`?{onClick:this.handleClick}:{onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu}),$($({},qL(this.props,this.handleOuterEvent)),r)}},{key:`addListener`,value:function(){g9.on(_9,this.handleReceiveSyncEvent)}},{key:`removeListener`,value:function(){g9.removeListener(_9,this.handleReceiveSyncEvent)}},{key:`filterFormatItem`,value:function(e,t,n){for(var r=this.state.formattedGraphicalItems,i=0,a=r.length;i{let[i,a]=(0,_.useState)([]),[o,s]=(0,_.useState)([]),c=(0,_.useRef)(0),{baseUrl:l,fetchWithHeaders:u}=zs();(0,_.useEffect)(()=>{let t=!1;return Nee(l,u,e).then(e=>{if(t||e.length===0)return;let n=e.filter(e=>e.loss!=null).map(e=>({step:e.step,loss:e.loss})).slice(-2e3),r=e.filter(e=>e.lr!=null).map(e=>({step:e.step,lr:e.lr})).slice(-2e3);a(n),s(r),c.current=e[e.length-1]?.step??0}).catch(()=>{}),()=>{t=!0}},[l,u,e]),(0,_.useEffect)(()=>{let e=t.current_step;if(e0&&t.current_loss!=null){let n=t.current_loss;a(t=>{let r=t[t.length-1];return r&&r.step===e?t:[...t,{step:e,loss:n}].slice(-2e3)})}if(e>0&&t.current_lr!=null){let n=t.current_lr;s(t=>{let r=t[t.length-1];return r&&r.step===e?t:[...t,{step:e,lr:n}].slice(-2e3)})}},[t.current_step,t.current_loss,t.current_lr]);let d=n(),f=t.training_active&&t.total_steps===0,p=f?`Training starting…`:`${t.current_step.toLocaleString()} / ${t.total_steps.toLocaleString()}`,m=t.eta_seconds==null?`—`:r(t.eta_seconds);return(0,V.jsxs)(`div`,{className:`space-y-6`,children:[(0,V.jsx)(Ov,{className:`bg-slate-800/50 border-slate-700 rounded-xl`,children:(0,V.jsxs)(jv,{className:`p-6`,children:[(0,V.jsxs)(`div`,{className:`flex items-baseline justify-between mb-3`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,V.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg bg-blue-500/20 text-blue-400`,children:(0,V.jsx)(Ca,{className:`w-5 h-5`})}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`h3`,{className:`text-sm text-slate-400`,children:`Progress`}),(0,V.jsx)(`div`,{className:`text-base font-semibold text-white`,children:p})]})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-slate-300`,children:[(0,V.jsx)(Ra,{className:`w-4 h-4 text-purple-400`}),(0,V.jsxs)(`span`,{className:`text-sm`,children:[`ETA `,(0,V.jsx)(`span`,{className:`font-semibold text-white`,children:m})]})]})]}),(0,V.jsxs)(`div`,{className:`relative h-8 w-full overflow-hidden rounded-md bg-slate-900 border border-slate-700`,children:[(0,V.jsx)(`div`,{className:`h-full bg-gradient-to-r from-blue-500 to-sky-400 transition-[width] duration-500`,style:{width:`${d}%`}}),(0,V.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center font-semibold text-white text-sm tabular-nums drop-shadow`,children:f?`warming up…`:`${d.toFixed(1)}%`})]})]})}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 lg:grid-cols-2 gap-6`,children:[(0,V.jsxs)(Ov,{className:`bg-slate-800/50 border-slate-700 rounded-xl`,children:[(0,V.jsx)(kv,{className:`pb-2`,children:(0,V.jsxs)(Av,{className:`flex items-center gap-3 text-white text-base`,children:[(0,V.jsx)(`div`,{className:`flex h-8 w-8 items-center justify-center rounded-lg bg-green-500/20 text-green-400`,children:(0,V.jsx)(Na,{className:`w-4 h-4`})}),(0,V.jsxs)(`span`,{children:[`Loss`,` `,(0,V.jsxs)(`span`,{className:`text-slate-400 text-sm font-normal`,children:[`(`,t.current_loss?.toFixed(4)??`—`,`)`]})]})]})}),(0,V.jsx)(jv,{className:`pt-0`,children:(0,V.jsx)(`div`,{className:`h-48`,children:i.length===0?(0,V.jsx)(`div`,{className:`flex h-full items-center justify-center text-slate-500 text-sm`,children:`Waiting for first metric tick…`}):(0,V.jsx)(AW,{width:`100%`,height:`100%`,children:(0,V.jsxs)(J9,{data:i,margin:{top:8,right:12,left:0,bottom:0},children:[(0,V.jsx)(r9,{dataKey:`step`,tick:{fill:`#94a3b8`,fontSize:11},stroke:`#475569`}),(0,V.jsx)(f9,{tick:{fill:`#94a3b8`,fontSize:11},stroke:`#475569`,width:48}),(0,V.jsx)(dW,{contentStyle:{background:`#1e293b`,border:`1px solid #475569`,borderRadius:8},labelStyle:{color:`#cbd5e1`},itemStyle:{color:`#34d399`},formatter:e=>e.toFixed(4)}),(0,V.jsx)(J7,{type:`monotone`,dataKey:`loss`,stroke:`#34d399`,strokeWidth:2,dot:!1,isAnimationActive:!1})]})})})})]}),(0,V.jsxs)(Ov,{className:`bg-slate-800/50 border-slate-700 rounded-xl`,children:[(0,V.jsx)(kv,{className:`pb-2`,children:(0,V.jsxs)(Av,{className:`flex items-center gap-3 text-white text-base`,children:[(0,V.jsx)(`div`,{className:`flex h-8 w-8 items-center justify-center rounded-lg bg-orange-500/20 text-orange-400`,children:(0,V.jsx)(Ca,{className:`w-4 h-4`})}),(0,V.jsxs)(`span`,{children:[`Learning Rate`,` `,(0,V.jsxs)(`span`,{className:`text-slate-400 text-sm font-normal`,children:[`(`,t.current_lr?.toExponential(2)??`—`,`)`]})]})]})}),(0,V.jsx)(jv,{className:`pt-0`,children:(0,V.jsx)(`div`,{className:`h-48`,children:o.length===0?(0,V.jsx)(`div`,{className:`flex h-full items-center justify-center text-slate-500 text-sm`,children:`Waiting for first metric tick…`}):(0,V.jsx)(AW,{width:`100%`,height:`100%`,children:(0,V.jsxs)(J9,{data:o,margin:{top:8,right:12,left:0,bottom:0},children:[(0,V.jsx)(r9,{dataKey:`step`,tick:{fill:`#94a3b8`,fontSize:11},stroke:`#475569`}),(0,V.jsx)(f9,{tick:{fill:`#94a3b8`,fontSize:11},stroke:`#475569`,width:48,tickFormatter:e=>e.toExponential(0)}),(0,V.jsx)(dW,{contentStyle:{background:`#1e293b`,border:`1px solid #475569`,borderRadius:8},labelStyle:{color:`#cbd5e1`},itemStyle:{color:`#fb923c`},formatter:e=>e.toExponential(2)}),(0,V.jsx)(J7,{type:`monotone`,dataKey:`lr`,stroke:`#fb923c`,strokeWidth:2,dot:!1,isAnimationActive:!1})]})})})})]})]})]})},Die=({logs:e,logContainerRef:t})=>(0,V.jsxs)(Ov,{className:`bg-slate-800/50 border-slate-700 rounded-xl`,children:[(0,V.jsx)(kv,{children:(0,V.jsxs)(Av,{className:`flex items-center gap-3 text-white`,children:[(0,V.jsx)(`div`,{className:`flex h-10 w-10 items-center justify-center rounded-lg bg-slate-700`,children:(0,V.jsx)(Ka,{className:`w-5 h-5 text-sky-400`})}),`Training Logs`]})}),(0,V.jsx)(jv,{children:(0,V.jsx)(`div`,{ref:t,className:`bg-slate-900 rounded-lg p-4 h-96 overflow-y-auto font-mono text-sm border border-slate-700`,children:e.length===0?(0,V.jsx)(`div`,{className:`text-slate-500 py-8`,children:`No training logs yet. Start training to see output.`}):e.map((e,t)=>(0,V.jsxs)(`div`,{className:`text-slate-300 break-words whitespace-pre-wrap`,children:[(0,V.jsx)(`span`,{className:`text-slate-500 mr-2 select-none`,children:new Date(e.timestamp*1e3).toLocaleTimeString()}),e.message]},t))})})]}),Oie=({installHint:e})=>{let t=HI(`system/training-extra`);return(0,V.jsx)(`div`,{className:`max-w-3xl mx-auto`,children:(0,V.jsxs)(Ov,{className:`bg-slate-800/50 border-slate-700 rounded-xl`,children:[(0,V.jsx)(kv,{children:(0,V.jsxs)(Av,{className:`flex items-center gap-3 text-white`,children:[(0,V.jsx)(WI,{state:t.state}),UI(t.state,`Training Extra Not Installed`)]})}),(0,V.jsx)(jv,{className:`space-y-4`,children:(0,V.jsx)(GI,{state:t.state,error:t.error,logs:t.logs,logBoxRef:t.logBoxRef,onInstall:t.handleInstall,onRetry:t.handleRetry,installHint:e,packageName:`accelerate`,idleTitle:`Training Extra Not Installed`,idleDescription:(0,V.jsxs)(V.Fragment,{children:[`Training requires the`,` `,(0,V.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-slate-900 text-sky-300`,children:`accelerate`}),` `,`package, which isn't installed in this environment. Install it to enable the Training page.`]}),doneDescription:(0,V.jsx)(KI,{purpose:`training`})})})]})})},kie=({open:e,onOpenChange:t,policyType:n,packageName:r,installTarget:i,installHint:a})=>{let o=HI(`system/policy-extra/${n}`,e),s=`${n.toUpperCase()} needs an extra package`;return(0,V.jsx)(Su,{open:e,onOpenChange:t,children:(0,V.jsxs)(Tu,{className:`bg-slate-800 border-slate-700 text-white max-w-2xl`,children:[(0,V.jsxs)(Eu,{children:[(0,V.jsxs)(Ou,{className:`flex items-center gap-3 text-white`,children:[(0,V.jsx)(WI,{state:o.state}),UI(o.state,s)]}),(0,V.jsxs)(ku,{className:`sr-only`,children:[`Install `,i,` to train `,n,`.`]})]}),(0,V.jsx)(`div`,{className:`space-y-4`,children:(0,V.jsx)(GI,{state:o.state,error:o.error,logs:o.logs,logBoxRef:o.logBoxRef,onInstall:o.handleInstall,onRetry:o.handleRetry,installHint:a,packageName:i,idleTitle:s,idleDescription:(0,V.jsxs)(V.Fragment,{children:[`Training a `,(0,V.jsx)(`span`,{className:`font-semibold`,children:n}),` policy needs the`,` `,(0,V.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-slate-900 text-sky-300`,children:r}),` `,`package (installed via`,` `,(0,V.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-slate-900 text-sky-300`,children:i}),`), which isn't in this environment yet. Install it to train this policy.`]}),doneDescription:(0,V.jsx)(KI,{purpose:`${n} training`})})})]})})},Aie=()=>{let{auth:e,refetch:t}=Hs(),{baseUrl:n,fetchWithHeaders:r}=zs(),[i,a]=(0,_.useState)(``),[o,s]=(0,_.useState)(!1),[c,l]=(0,_.useState)(null);if(e.status===`authenticated`||e.status===`loading`)return null;let u=async()=>{let e=i.trim();if(e){s(!0),l(null);try{let i=await r(`${n}/hf-auth/login`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e})});if(!i.ok){let e=await i.json().catch(()=>({}));throw Error(e.detail||`HTTP ${i.status}`)}a(``),await t()}catch(e){l(e instanceof Error?e.message:String(e))}finally{s(!1)}}};return(0,V.jsx)(`div`,{className:`bg-amber-950/40 border border-amber-700/60 rounded-lg p-4 mb-6`,children:(0,V.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,V.jsx)(Ma,{className:`w-5 h-5 text-amber-400 flex-shrink-0 mt-0.5`}),(0,V.jsxs)(`div`,{className:`flex-1 space-y-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`p`,{className:`text-sm text-amber-100 font-medium`,children:`Hugging Face access required for cloud training`}),(0,V.jsxs)(`p`,{className:`text-xs text-amber-200/80 mt-1`,children:[`Create a token at`,` `,(0,V.jsxs)(`a`,{href:`https://huggingface.co/settings/tokens`,target:`_blank`,rel:`noreferrer`,className:`underline hover:text-amber-50 inline-flex items-center gap-1`,children:[`huggingface.co/settings/tokens`,(0,V.jsx)(Ua,{className:`w-3 h-3`})]}),` `,`with `,(0,V.jsx)(`span`,{className:`font-mono`,children:`Write`}),` access (so trained policies can upload to your account), then paste it below.`]})]}),(0,V.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),u()},className:`flex gap-2`,children:[(0,V.jsx)(Fh,{type:`password`,placeholder:`hf_...`,value:i,onChange:e=>a(e.target.value),className:`bg-slate-900 border-slate-600 text-white placeholder:text-slate-500`,disabled:o,autoComplete:`off`}),(0,V.jsx)(K,{type:`submit`,disabled:o||!i.trim(),className:`bg-amber-600 hover:bg-amber-700 text-white`,children:o?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ja,{className:`w-4 h-4 mr-2 animate-spin`}),`Saving…`]}):`Save token`})]}),c&&(0,V.jsx)(`p`,{className:`text-xs text-red-300`,children:c})]})]})})},jie=1e3,Y9=5e3;function Mie(e,t){return e?{training_active:e.state===`running`,current_step:e.metrics.current_step,total_steps:e.metrics.total_steps,current_loss:e.metrics.current_loss??void 0,current_lr:e.metrics.current_lr??void 0,grad_norm:e.metrics.grad_norm??void 0,eta_seconds:e.metrics.eta_seconds??void 0,available_controls:{stop_training:e.state===`running`,pause_training:!1,resume_training:!1}}:{training_active:t,current_step:0,total_steps:0,available_controls:{stop_training:!1,pause_training:!1,resume_training:!1}}}function Nie(e){return{target:e.target,dataset_repo_id:e.dataset_repo_id,policy_type:e.policy_type,steps:e.steps,batch_size:e.batch_size,seed:e.seed,num_workers:e.num_workers,log_freq:e.log_freq,save_freq:e.save_freq,save_checkpoint:e.save_checkpoint,resume:e.resume,wandb_enable:e.wandb_enable,wandb_project:e.wandb_project,wandb_entity:e.wandb_entity,wandb_notes:e.wandb_notes,wandb_mode:e.wandb_mode,wandb_disable_artifact:e.wandb_disable_artifact,policy_device:e.policy_device,policy_use_amp:e.policy_use_amp,optimizer_type:e.optimizer_type,optimizer_lr:e.optimizer_lr,optimizer_weight_decay:e.optimizer_weight_decay,optimizer_grad_clip_norm:e.optimizer_grad_clip_norm,use_policy_training_preset:e.use_policy_training_preset}}var Pie=()=>{let{baseUrl:e,fetchWithHeaders:t}=zs(),{auth:n}=Hs(),{toast:r}=yr(),i=Re(),[a,o]=(0,_.useState)({target:{runner:`local`},dataset_repo_id:Ie().state?.datasetRepoId??``,policy_type:`act`,steps:1e4,batch_size:8,seed:1e3,num_workers:4,log_freq:250,save_freq:1e3,save_checkpoint:!0,resume:!1,wandb_enable:!1,wandb_mode:`online`,wandb_disable_artifact:!1,policy_device:`cuda`,policy_use_amp:!1,optimizer_type:`adam`,use_policy_training_preset:!0}),[s,c]=(0,_.useState)([]),[l,u]=(0,_.useState)(!0),[d,f]=(0,_.useState)(null),[p,m]=(0,_.useState)(`pip install accelerate`),[h,g]=(0,_.useState)(!1),[v,y]=(0,_.useState)(!1),[b,x]=(0,_.useState)(null),[S,C]=(0,_.useState)(!1),[w,T]=(0,_.useState)([]),[E,D]=(0,_.useState)(!0);(0,_.useEffect)(()=>{u(!0),Qv(e,t).then(c).catch(()=>c([])).finally(()=>u(!1))},[e,t]),(0,_.useEffect)(()=>{t(`${e}/system/training-extra`).then(e=>e.json()).then(e=>{f(e.available),m(e.install_hint)}).catch(()=>f(!0))},[e,t]),(0,_.useEffect)(()=>{Tv(e,t,200).then(e=>g(e.some(e=>e.runner===`local`&&e.state===`running`))).catch(()=>g(!1))},[e,t]),(0,_.useEffect)(()=>{D(!0),Lee(e,t).then(e=>{C(e.authenticated),T(e.flavors)}).catch(()=>{C(!1),T([])}).finally(()=>D(!1))},[e,t,n.status]);let O=(e,t)=>{o(n=>({...n,[e]:t}))},k=async()=>{if(!a.dataset_repo_id.trim()){r({title:`Error`,description:`Dataset repository ID is required`,variant:`destructive`});return}if(a.target.runner===`local`)try{let n=await t(`${e}/system/policy-extra/${a.policy_type}`);if(n.ok){let e=await n.json();if(e.needs_extra&&!e.available){x({policyType:a.policy_type,packageName:e.package,installTarget:e.install_target,installHint:e.install_hint});return}}}catch{}y(!0);try{let n=await Pee(e,t,Nie(a));r({title:`Training Started`,description:n.name}),i(`/training/${n.id}`)}catch(n){r({title:`Error`,description:n instanceof Error?n.message:String(n),variant:`destructive`}),Tv(e,t,200).then(e=>g(e.some(e=>e.runner===`local`&&e.state===`running`))).catch(()=>{})}finally{y(!1)}};if(d===null)return(0,V.jsx)(`div`,{className:`min-h-screen bg-slate-900 text-white p-4`,children:(0,V.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,V.jsx)(zI,{}),(0,V.jsxs)(`div`,{className:`flex items-center justify-center py-24 text-slate-400`,children:[(0,V.jsx)(Ja,{className:`w-6 h-6 animate-spin mr-3`}),`Checking training environment…`]})]})});if(d===!1)return(0,V.jsx)(`div`,{className:`min-h-screen bg-slate-900 text-white p-4`,children:(0,V.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,V.jsx)(zI,{}),(0,V.jsx)(Oie,{installHint:p})]})});let A=a.target.runner===`hf_cloud`,j=a.target.runner===`hf_cloud`&&!a.target.flavor,M=a.target.runner===`local`&&h,N=v||!a.dataset_repo_id.trim()||M||A&&!S||j,P=M?`Another local training is already running`:A&&!S?`Log in to Hugging Face to use cloud compute`:j?`Select a hardware flavor`:void 0;return(0,V.jsxs)(`div`,{className:`min-h-screen bg-slate-900 text-white p-4`,children:[(0,V.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,V.jsx)(zI,{}),(0,V.jsx)(Aie,{}),(0,V.jsx)(zte,{config:a,updateConfig:O,datasets:s,datasetsLoading:l,authenticated:S,flavors:w,hardwareLoading:E}),(0,V.jsx)(`div`,{className:`max-w-3xl mx-auto mt-6 flex justify-end`,children:(()=>{let e=(0,V.jsx)(K,{onClick:k,disabled:N,size:`lg`,className:`bg-green-500 hover:bg-green-600 text-white font-semibold px-6`,children:v?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ja,{className:`w-5 h-5 mr-2 animate-spin`}),` Starting…`]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Za,{className:`w-5 h-5 mr-2`}),` Start Training`]})});return P?(0,V.jsxs)(qp,{children:[(0,V.jsx)(Jp,{asChild:!0,children:(0,V.jsx)(`span`,{tabIndex:0,children:e})}),(0,V.jsx)(Yp,{children:P})]}):e})()})]}),b&&(0,V.jsx)(kie,{open:!!b,onOpenChange:e=>!e&&x(null),policyType:b.policyType,packageName:b.packageName,installTarget:b.installTarget,installHint:b.installHint})]})},Fie=({jobId:e})=>{let{baseUrl:t,fetchWithHeaders:n}=zs(),{toast:r}=yr(),i=Re(),{selectedRecord:a}=Gv(),[o,s]=(0,_.useState)(null),[c,l]=(0,_.useState)(null),[u,d]=(0,_.useState)([]),f=(0,_.useRef)(null),[p,m]=(0,_.useState)([]),[h,g]=(0,_.useState)(null),[v,y]=(0,_.useState)(!1);(0,_.useEffect)(()=>{let r=!1;return Mee(t,n,e).then(e=>{!r&&e.length>0&&d(e)}).catch(()=>{}),()=>{r=!0}},[t,n,e]);let b=(0,_.useRef)(o?.state);b.current=o?.state,(0,_.useEffect)(()=>{let r=!1,i=()=>{Mv(t,n,e).then(e=>{if(!r)if(m(e),e.length>0){let t=e[e.length-1].step;g(n=>n!=null&&e.some(e=>e.step===n)?n:t)}else g(null)}).catch(()=>{r||(m([]),g(null))})};i();let a=setInterval(()=>{r||b.current&&b.current!==`running`||i()},5e3);return()=>{r=!0,clearInterval(a)}},[t,n,e]),(0,_.useEffect)(()=>{let r=!1,i=async()=>{try{let i=await Aee(t,n,e);if(r)return;if(s(i),i.state===`running`){let i=await jee(t,n,e);!r&&i.length>0&&d(e=>{let t=[...e,...i];return t.length>Y9?t.slice(t.length-Y9):t})}}catch(e){r||l(e instanceof Error?e.message:String(e))}};i();let a=setInterval(()=>{r||b.current&&b.current!==`running`||i()},jie);return()=>{r=!0,clearInterval(a)}},[t,n,e]),(0,_.useEffect)(()=>{f.current&&(f.current.scrollTop=f.current.scrollHeight)},[u]);let x=e=>{let t=Math.floor(e/3600),n=Math.floor(e%3600/60),r=Math.floor(e%60);return`${t.toString().padStart(2,`0`)}:${n.toString().padStart(2,`0`)}:${r.toString().padStart(2,`0`)}`},S=()=>!o||o.metrics.total_steps===0?0:o.metrics.current_step/o.metrics.total_steps*100,C=async()=>{if(o&&window.confirm(`Stop this run?`))try{s(await Ev(t,n,o.id)),r({title:`Stopping…`})}catch(e){r({title:`Stop failed`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}},w=async()=>{if(o&&window.confirm(`Delete this run? This wipes the output directory.`))try{await Dv(t,n,o.id),r({title:`Job removed`}),i(`/`)}catch(e){r({title:`Delete failed`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}};if(c&&!o)return(0,V.jsx)(`div`,{className:`min-h-screen bg-slate-900 text-white p-4`,children:(0,V.jsxs)(`div`,{className:`max-w-7xl mx-auto space-y-4`,children:[(0,V.jsxs)(K,{variant:`ghost`,onClick:()=>i(`/`),className:`text-slate-400`,children:[(0,V.jsx)(wa,{className:`w-4 h-4 mr-2`}),` Back to Jobs`]}),(0,V.jsxs)(`p`,{className:`text-red-300`,children:[`Couldn't load job `,e,`: `,c]})]})});if(!o)return(0,V.jsx)(`div`,{className:`min-h-screen bg-slate-900 text-white p-4`,children:(0,V.jsxs)(`div`,{className:`max-w-7xl mx-auto flex items-center justify-center py-24 text-slate-400`,children:[(0,V.jsx)(Ja,{className:`w-6 h-6 animate-spin mr-3`}),` Loading job…`]})});let T=o.state===`running`;return(0,V.jsx)(`div`,{className:`min-h-screen bg-slate-900 text-white p-4`,children:(0,V.jsxs)(`div`,{className:`max-w-7xl mx-auto space-y-6`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,V.jsxs)(K,{variant:`ghost`,onClick:()=>i(`/`),className:`text-slate-400 hover:text-white`,children:[(0,V.jsx)(wa,{className:`w-4 h-4 mr-2`}),` Jobs`]}),(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`h1`,{className:`text-xl font-semibold text-white`,children:o.name}),o.runner===`hf_cloud`?(0,V.jsxs)(`span`,{className:`text-xs px-2 py-0.5 rounded bg-amber-900/40 text-amber-200 border border-amber-700`,children:[`HF · `,o.hf_flavor??`cloud`]}):(0,V.jsx)(`span`,{className:`text-xs px-2 py-0.5 rounded bg-slate-700 text-slate-200 border border-slate-600`,children:`Local`}),o.runner===`hf_cloud`&&o.hf_repo_id&&o.state===`done`&&(0,V.jsx)(`a`,{href:`https://huggingface.co/${o.hf_repo_id}`,target:`_blank`,rel:`noreferrer`,className:`text-xs text-amber-300 hover:text-amber-200 underline`,children:`View on Hub ↗`}),o.wandb_run_url&&(0,V.jsx)(`a`,{href:o.wandb_run_url,target:`_blank`,rel:`noreferrer`,className:`text-xs text-yellow-300 hover:text-yellow-200 underline`,children:`View on W&B ↗`})]}),(0,V.jsxs)(`p`,{className:`text-xs text-slate-400`,children:[o.state,o.error_message?` — ${o.error_message}`:``]})]})]}),T?(0,V.jsxs)(K,{onClick:C,className:`bg-red-500 hover:bg-red-600 text-white`,children:[(0,V.jsx)(oo,{className:`w-4 h-4 mr-2`}),` Stop`]}):(0,V.jsxs)(K,{onClick:w,variant:`ghost`,className:`text-slate-400 hover:text-white`,children:[(0,V.jsx)(co,{className:`w-4 h-4 mr-2`}),` Delete`]})]}),(0,V.jsx)(Eie,{jobId:e,trainingStatus:Mie(o,!1),getProgressPercentage:S,formatTime:x}),(0,V.jsxs)(`div`,{className:`bg-slate-800/40 border border-slate-700 rounded-lg p-4 flex items-center gap-3`,children:[(0,V.jsx)(`span`,{className:`text-sm font-semibold text-slate-300`,children:`Run inference`}),p.length===0?(0,V.jsx)(`span`,{className:`text-xs text-slate-500`,children:`No checkpoints yet — wait for the first save.`}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Nv,{checkpoints:p,selectedStep:h,onChange:g}),(0,V.jsxs)(K,{onClick:()=>y(!0),disabled:h==null,className:`bg-green-500 hover:bg-green-600 text-white`,children:[(0,V.jsx)(Za,{className:`w-4 h-4 mr-2`}),`Run on robot`]})]})]}),(0,V.jsx)(Vv,{open:v,onOpenChange:y,robot:a,jobId:e,initialStep:h}),(0,V.jsx)(Die,{logs:u,logContainerRef:f})]})})},X9=()=>{let{jobId:e}=Be();return e?(0,V.jsx)(Fie,{jobId:e}):(0,V.jsx)(Pie,{})},Iie=1e3;function Z9(e){let t=Math.max(0,Math.floor(e)),n=Math.floor(t/60),r=t%60;return`${String(n).padStart(2,`0`)}:${String(r).padStart(2,`0`)}`}var Lie=()=>{let e=Re(),{baseUrl:t,fetchWithHeaders:n}=zs(),{toast:r}=yr(),[i,a]=(0,_.useState)(null),[o,s]=(0,_.useState)(!1),c=(0,_.useRef)(!1),l=(0,_.useRef)(!1);(0,_.useEffect)(()=>{let i=!1,o=async()=>{try{await Rv(t,n)}catch{}},s=async()=>{try{let s=await Jee(t,n);if(i)return;if(a(s),!s.inference_active&&!c.current){c.current=!0,s.exited&&r({title:`Inference finished`,description:s.exit_code===0?`Run completed.`:`Exit code ${s.exit_code}. See ${s.log_path}.`,variant:s.exit_code===0?`default`:`destructive`}),e(`/`);return}s.inference_active&&s.rollout_started_at!=null&&s.duration_s!=null&&s.duration_s>0&&s.rollout_elapsed_s>s.duration_s+10&&!l.current&&(l.current=!0,r({title:`Inference seems hung`,description:`Rollout past duration by ${Math.round(s.rollout_elapsed_s-s.duration_s)}s. Stopping.`,variant:`destructive`}),o())}catch(e){i||r({title:`Lost connection to backend`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}};s();let u=setInterval(s,Iie);return()=>{i=!0,clearInterval(u)}},[t,n,e,r]);let u=async()=>{s(!1);try{await Rv(t,n)}catch(e){r({title:`Stop failed`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}};if(!i)return(0,V.jsxs)(`div`,{className:`min-h-screen bg-black text-white flex items-center justify-center`,children:[(0,V.jsx)(Ja,{className:`w-6 h-6 animate-spin mr-3`}),` Connecting to inference…`]});let d=i.elapsed_s??0,f=i.rollout_elapsed_s??0,p=i.duration_s??0,m=i.inference_active&&i.rollout_started_at==null,h=i.inference_active&&i.rollout_started_at!=null,g=h&&p>0?Math.min(100,f/p*100):0;return(0,V.jsxs)(`div`,{className:`min-h-screen bg-black text-white flex flex-col p-4 sm:p-6 lg:p-8`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-4 mb-8`,children:[(0,V.jsx)(K,{variant:`ghost`,size:`icon`,onClick:()=>e(`/`),className:`text-slate-400 hover:bg-slate-800 hover:text-white rounded-lg`,children:(0,V.jsx)(wa,{className:`w-5 h-5`})}),(0,V.jsx)(Lj,{}),(0,V.jsx)(`h1`,{className:`font-bold text-white text-2xl`,children:`Inference`})]}),(0,V.jsx)(`div`,{className:`flex-1 flex items-center justify-center`,children:(0,V.jsxs)(`div`,{className:`bg-gray-900 rounded-lg border border-gray-700 p-8 w-full max-w-xl`,children:[(0,V.jsx)(`div`,{className:`text-center mb-6`,children:(0,V.jsxs)(`div`,{className:`inline-flex items-center gap-2 px-3 py-1 rounded-full text-xs font-bold tracking-widest ${m?`bg-amber-500/15 text-amber-300`:`bg-green-500/15 text-green-300`}`,children:[(0,V.jsx)(`span`,{className:`w-2 h-2 rounded-full ${m?`bg-amber-500`:`bg-green-500`} animate-pulse`}),m?`SETTING UP`:h?`RUNNING`:`FINISHED`]})}),(0,V.jsxs)(`div`,{className:`text-center mb-4`,children:[(0,V.jsx)(`div`,{className:`text-7xl font-mono font-bold leading-none ${m?`text-amber-400`:`text-green-400`}`,children:Z9(h?f:d)}),(0,V.jsx)(`div`,{className:`text-sm text-gray-500 mt-2`,children:m?`Loading policy & connecting hardware…`:`/ ${Z9(p)}`})]}),(0,V.jsx)(`div`,{className:`w-full bg-gray-800 rounded-full h-1.5 mb-8`,children:(0,V.jsx)(`div`,{className:`h-1.5 rounded-full transition-all duration-500 ${m?`bg-amber-500/40 animate-pulse w-full`:`bg-green-500`}`,style:m?void 0:{width:`${g}%`}})}),(0,V.jsxs)(`div`,{className:`text-xs text-slate-500 break-all mb-6`,children:[`policy: `,i.policy_ref??`(unknown)`]}),(0,V.jsxs)(K,{onClick:()=>s(!0),disabled:!i.inference_active,className:`w-full bg-red-500 hover:bg-red-600 text-white font-semibold py-6 text-lg disabled:opacity-50`,children:[(0,V.jsx)(oo,{className:`w-5 h-5 mr-2`}),`Stop`]})]})}),(0,V.jsx)(OI,{open:o,onOpenChange:s,children:(0,V.jsxs)(jI,{className:`bg-gray-900 border-gray-700 text-white`,children:[(0,V.jsxs)(MI,{children:[(0,V.jsx)(PI,{children:`Stop inference?`}),(0,V.jsx)(FI,{className:`text-gray-400`,children:`The follower will hold its current pose. You can launch another run from the job tile.`})]}),(0,V.jsxs)(NI,{children:[(0,V.jsx)(LI,{className:`bg-gray-800 border-gray-700 text-white hover:bg-gray-700`,children:`Keep running`}),(0,V.jsx)(II,{onClick:u,className:`bg-red-500 hover:bg-red-600 text-white`,children:`Stop`})]})]})})]})},Rie=()=>(0,V.jsxs)(`div`,{className:`min-h-screen bg-black text-white flex flex-col items-center justify-center p-4`,children:[(0,V.jsx)(`h1`,{className:`text-5xl font-bold tracking-tight`,children:`Edit Dataset`}),(0,V.jsx)(`p`,{className:`mt-4 text-xl text-gray-400`,children:`This page is under construction.`})]}),zie=()=>{let e=Ie(),t=Re(),{toast:n}=yr(),{baseUrl:r,fetchWithHeaders:i}=zs(),a=e.state?.datasetInfo,[o,s]=(0,_.useState)(null),[c,l]=(0,_.useState)(!0),[u,d]=(0,_.useState)({tags:[`robotics`,`lerobot`],private:!1}),[f,p]=(0,_.useState)(u.tags.join(`, `)),[m,h]=(0,_.useState)(!1),[g,v]=(0,_.useState)(!1),[y,b]=(0,_.useState)(!1),[x,S]=(0,_.useState)(!1);_.useEffect(()=>{(async()=>{if(!a?.dataset_repo_id){n({title:`No Dataset Information`,description:`Please complete a recording session first.`,variant:`destructive`}),t(`/`);return}try{let e=await i(`${r}/dataset-info`,{method:`POST`,body:JSON.stringify({dataset_repo_id:a.dataset_repo_id})}),t=await e.json();e.ok&&t.success?s({...t,saved_episodes:t.num_episodes,session_elapsed_seconds:a.session_elapsed_seconds||0,source:a.source}):(n({title:`Warning`,description:`Could not load complete dataset information. Using session data.`,variant:`destructive`}),s(a))}catch(e){console.error(`Error loading dataset info:`,e),n({title:`Warning`,description:`Could not connect to backend. Using session data.`,variant:`destructive`}),s(a)}finally{l(!1)}})()},[a,t,n]);let C=e=>{let t=`/spaces/lerobot/visualize_dataset?path=${encodeURIComponent(`/${e}`)}`,n=`https://huggingface.co/login?next=${encodeURIComponent(t)}`;window.open(n,`_blank`,`noopener,noreferrer`)},w=e=>{let t=Math.floor(e/3600),n=Math.floor(e%3600/60),r=e%60;return t>0?`${t}h ${n}m ${r}s`:n>0?`${n}m ${r}s`:`${r}s`},T=async()=>{if(o){h(!0);try{let e=f.split(`,`).map(e=>e.trim()).filter(e=>e.length>0),t=await i(`${r}/upload-dataset`,{method:`POST`,body:JSON.stringify({dataset_repo_id:o.dataset_repo_id,tags:e,private:u.private})}),a=await t.json();if(t.ok&&a.success)v(!0),n({title:`Upload Successful!`,description:`Dataset ${o.dataset_repo_id} has been uploaded to HuggingFace Hub.`});else{let e=`Failed to upload dataset to HuggingFace Hub.`;n({title:`Upload Failed`,description:a.docs_url?(0,V.jsxs)(`span`,{children:[a.message||e,` `,(0,V.jsx)(`a`,{href:a.docs_url,target:`_blank`,rel:`noopener noreferrer`,className:`underline font-medium`,children:`Open setup guide`})]}):a.message||e,variant:`destructive`})}}catch(e){console.error(`Error uploading dataset:`,e),n({title:`Connection Error`,description:`Could not connect to the backend server.`,variant:`destructive`})}finally{h(!1)}}},E=()=>{n({title:`Upload Skipped`,description:`Dataset saved locally. You can upload it manually later.`}),t(`/`)},D=async()=>{if(o){S(!0);try{let e=await i(`${r}/delete-dataset`,{method:`POST`,body:JSON.stringify({dataset_repo_id:o.dataset_repo_id})}),a=await e.json();e.ok&&a.success?(n({title:`Dataset Deleted`,description:`${o.dataset_repo_id} has been removed from disk.`}),t(`/`)):n({title:`Delete Failed`,description:a.message||`Could not delete the dataset.`,variant:`destructive`})}catch{n({title:`Connection Error`,description:`Could not connect to the backend server.`,variant:`destructive`})}finally{S(!1),b(!1)}}};if(c||!o)return(0,V.jsx)(`div`,{className:`min-h-screen bg-black text-white flex items-center justify-center`,children:(0,V.jsxs)(`div`,{className:`text-center`,children:[(0,V.jsx)(`div`,{className:`animate-spin rounded-full h-12 w-12 border-b-2 border-blue-500 mx-auto mb-4`}),(0,V.jsx)(`p`,{className:`text-lg`,children:`Loading dataset information...`})]})});let O=o.source===`both`;return(0,V.jsxs)(`div`,{className:`min-h-screen bg-black text-white p-8`,children:[(0,V.jsxs)(`div`,{className:`max-w-4xl mx-auto`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between mb-8`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,V.jsxs)(K,{onClick:()=>t(`/`),variant:`outline`,className:`border-gray-500 hover:border-gray-200 text-gray-300 hover:text-white`,children:[(0,V.jsx)(wa,{className:`w-4 h-4 mr-2`}),`Back to Home`]}),(0,V.jsx)(K,{onClick:()=>b(!0),variant:`outline`,size:`icon`,disabled:x,"aria-label":`Delete dataset from disk`,className:`border-red-500/40 text-red-400 hover:border-red-400 hover:text-red-300 hover:bg-red-500/10`,children:(0,V.jsx)(co,{className:`w-4 h-4`})})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-3`,children:[g?(0,V.jsx)(Na,{className:`w-8 h-8 text-green-500`}):(0,V.jsx)(Ba,{className:`w-8 h-8 text-blue-500`}),(0,V.jsx)(`h1`,{className:`text-3xl font-bold`,children:g?`Upload Complete`:`Dataset Upload`})]})]}),g&&(0,V.jsxs)(`div`,{className:`bg-green-900/20 border border-green-600 rounded-lg p-6 mb-8`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-3 mb-4`,children:[(0,V.jsx)(Na,{className:`w-6 h-6 text-green-500`}),(0,V.jsx)(`h2`,{className:`text-xl font-semibold text-green-400`,children:`Successfully Uploaded!`})]}),(0,V.jsx)(`p`,{className:`text-gray-300 mb-4`,children:`Your dataset has been uploaded to HuggingFace Hub and is now available for training and sharing.`}),(0,V.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-4`,children:[(0,V.jsxs)(K,{onClick:()=>{let e=`/spaces/lerobot/visualize_dataset?path=${encodeURIComponent(`/${o.dataset_repo_id}`)}`,t=u.private?`https://huggingface.co/login?next=${encodeURIComponent(e)}`:`https://huggingface.co${e}`;window.open(t,`_blank`,`noopener,noreferrer`)},className:`bg-blue-500 hover:bg-blue-600 text-white`,children:[(0,V.jsx)(Ua,{className:`w-4 h-4 mr-2`}),`View on HuggingFace Hub`]}),(0,V.jsx)(K,{onClick:()=>t(`/training`,{state:{datasetRepoId:o.dataset_repo_id}}),className:`bg-purple-500 hover:bg-purple-600 text-white`,children:`Start Training`})]})]}),!g&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:`bg-gray-900 rounded-lg p-6 border border-gray-700 mb-8`,children:[(0,V.jsx)(`h2`,{className:`text-xl font-semibold text-white mb-4`,children:`Dataset Summary`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:[(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`span`,{className:`text-gray-400`,children:`Repository ID:`}),(0,V.jsx)(`p`,{className:`text-white font-mono text-lg`,children:o.dataset_repo_id})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`span`,{className:`text-gray-400`,children:`Task:`}),(0,V.jsx)(`p`,{className:`text-white`,children:o.single_task})]})]}),(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`span`,{className:`text-gray-400`,children:`Episodes Recorded:`}),(0,V.jsx)(`p`,{className:`text-white text-2xl font-bold text-green-400`,children:o.saved_episodes||o.num_episodes}),o.total_frames&&(0,V.jsxs)(`p`,{className:`text-gray-400 text-sm`,children:[o.total_frames,` total frames`]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`span`,{className:`text-gray-400`,children:`Session Duration:`}),(0,V.jsx)(`p`,{className:`text-white`,children:w(o.session_elapsed_seconds||0)}),o.fps&&(0,V.jsxs)(`p`,{className:`text-gray-400 text-sm`,children:[o.fps,` FPS`]})]})]})]})]}),!O&&(0,V.jsxs)(`div`,{className:`bg-gray-900 rounded-lg p-6 border border-gray-700 mb-8`,children:[(0,V.jsx)(`h2`,{className:`text-xl font-semibold text-white mb-6`,children:`Upload Configuration`}),(0,V.jsxs)(`div`,{className:`space-y-6`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(Hh,{htmlFor:`tags`,className:`text-gray-300 mb-2 block`,children:`Tags (comma-separated)`}),(0,V.jsx)(Fh,{id:`tags`,value:f,onChange:e=>p(e.target.value),placeholder:`robotics, lerobot, manipulation`,className:`bg-gray-800 border-gray-600 text-white`}),(0,V.jsx)(`p`,{className:`text-sm text-gray-500 mt-1`,children:`Tags help others discover your dataset on HuggingFace Hub`})]}),(0,V.jsxs)(`div`,{className:`flex items-center space-x-3`,children:[(0,V.jsx)(ag,{id:`private`,checked:u.private,onCheckedChange:e=>d({...u,private:e})}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[u.private?(0,V.jsx)(Wa,{className:`w-4 h-4 text-gray-400`}):(0,V.jsx)(Ga,{className:`w-4 h-4 text-gray-400`}),(0,V.jsx)(Hh,{htmlFor:`private`,className:`text-gray-300`,children:`Make dataset private`})]})]}),(0,V.jsx)(`p`,{className:`text-sm text-gray-500 ml-6`,children:u.private?`Only you will be able to access this dataset`:`Dataset will be publicly accessible on HuggingFace Hub`})]})]}),(0,V.jsx)(`div`,{className:`flex flex-col sm:flex-row gap-4 justify-center`,children:O?(0,V.jsxs)(K,{onClick:()=>C(o.dataset_repo_id),className:`bg-blue-500 hover:bg-blue-600 text-white font-semibold py-4 px-8 text-lg`,children:[(0,V.jsx)(Ua,{className:`w-5 h-5 mr-2`}),`View on Hugging Face Hub`]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(K,{onClick:T,disabled:m,className:`bg-blue-500 hover:bg-blue-600 text-white font-semibold py-4 px-8 text-lg`,children:m?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ja,{className:`w-5 h-5 mr-2 animate-spin`}),`Uploading to Hub...`]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(uo,{className:`w-5 h-5 mr-2`}),`Upload to HuggingFace Hub`]})}),(0,V.jsx)(K,{onClick:E,disabled:m,variant:`outline`,className:`border-gray-600 text-gray-300 hover:bg-gray-800 hover:text-white py-4 px-8 text-lg`,children:`Skip Upload`})]})}),!O&&(0,V.jsx)(`div`,{className:`mt-8 p-4 bg-blue-900/20 border border-blue-600 rounded-lg`,children:(0,V.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,V.jsx)(Ma,{className:`w-5 h-5 text-blue-400 mt-0.5`}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`h3`,{className:`font-semibold text-blue-400 mb-2`,children:`About HuggingFace Hub Upload`}),(0,V.jsxs)(`ul`,{className:`text-sm text-gray-300 space-y-1`,children:[(0,V.jsx)(`li`,{children:`• Your dataset will be uploaded to HuggingFace Hub for sharing and collaboration`}),(0,V.jsx)(`li`,{children:`• You need to be logged in to HuggingFace CLI on the server`}),(0,V.jsx)(`li`,{children:`• Uploaded datasets can be used for training models and sharing with the community`}),(0,V.jsx)(`li`,{children:`• You can always upload manually later using the HuggingFace CLI`})]})]})]})})]})]}),(0,V.jsx)(OI,{open:y,onOpenChange:b,children:(0,V.jsxs)(jI,{className:`bg-gray-900 border-gray-700 text-white`,children:[(0,V.jsxs)(MI,{children:[(0,V.jsx)(PI,{children:`Delete dataset from disk?`}),(0,V.jsxs)(FI,{className:`text-gray-400`,children:[`This permanently removes `,(0,V.jsx)(`span`,{className:`font-mono text-white`,children:o.dataset_repo_id}),` from your local cache. This action cannot be undone.`]})]}),(0,V.jsxs)(NI,{children:[(0,V.jsx)(LI,{className:`bg-gray-800 border-gray-700 text-white hover:bg-gray-700`,children:`Keep dataset`}),(0,V.jsx)(II,{onClick:D,disabled:x,className:`bg-red-500 hover:bg-red-600 text-white`,children:x?`Deleting…`:`Delete`})]})]})})]})},Bie=()=>{let e=Ie();return(0,_.useEffect)(()=>{console.error(`404 Error: User attempted to access non-existent route:`,e.pathname)},[e.pathname]),(0,V.jsx)(`div`,{className:`min-h-screen flex items-center justify-center bg-gray-100`,children:(0,V.jsxs)(`div`,{className:`text-center`,children:[(0,V.jsx)(`h1`,{className:`text-4xl font-bold mb-4`,children:`404`}),(0,V.jsx)(`p`,{className:`text-xl text-gray-600 mb-4`,children:`Oops! Page not found`}),(0,V.jsx)(`a`,{href:`/`,className:`text-blue-500 hover:text-blue-700 underline`,children:`Return to Home`})]})})},Vie=`lelab-tabs-v1`,Hie=1e3,Uie=3e3,Wie=({children:e})=>{let[t,n]=(0,_.useState)(!0),r=(0,_.useRef)(new Map),i=(0,_.useRef)(``),a=(0,_.useRef)(0),o=(0,_.useRef)(null),s=(0,_.useCallback)(()=>{let e=r.current,t=Date.now()-Uie;for(let[n,r]of e)r.lastSeen{if(typeof window>`u`||typeof BroadcastChannel>`u`)return;i.current=crypto.randomUUID(),a.current=Date.now();let e=new BroadcastChannel(Vie);o.current=e;let t=t=>{e.postMessage({type:t,id:i.current,openedAt:a.current})};e.onmessage=e=>{let t=e.data;if(!t||t.id===i.current)return;let n=r.current;t.type===`HEARTBEAT`?n.set(t.id,{id:t.id,openedAt:t.openedAt,lastSeen:Date.now()}):t.type===`RELEASE`?n.delete(t.id):t.type===`TAKEOVER`&&(n.set(t.id,{id:t.id,openedAt:t.openedAt,lastSeen:Date.now()}),a.current<=t.openedAt&&(a.current=t.openedAt+1)),s()},t(`HEARTBEAT`);let n=setInterval(()=>{t(`HEARTBEAT`),s()},Hie),c=()=>t(`RELEASE`);return window.addEventListener(`beforeunload`,c),()=>{window.removeEventListener(`beforeunload`,c),clearInterval(n),t(`RELEASE`),e.close(),o.current=null}},[s]);let c=(0,_.useCallback)(()=>{a.current=0,o.current?.postMessage({type:`TAKEOVER`,id:i.current,openedAt:0}),s()},[s]);return(0,V.jsxs)(V.Fragment,{children:[e,!t&&(0,V.jsx)(`div`,{className:`fixed inset-0 z-[9999] flex items-center justify-center bg-black/80 backdrop-blur-sm`,role:`dialog`,"aria-modal":`true`,children:(0,V.jsxs)(`div`,{className:`mx-4 max-w-md space-y-4 rounded-lg border bg-background p-6 text-center shadow-lg`,children:[(0,V.jsx)(`h2`,{className:`text-lg font-semibold`,children:`LeLab is already open in another tab`}),(0,V.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Only one tab can control the robot at a time. Switch back to the original tab, or take over here — the other tab will lock.`}),(0,V.jsx)(K,{onClick:c,children:`Use this tab`})]})})]})},Q9=`lelab:teleop-stopped`,Gie=()=>{let{toast:e}=yr();return(0,_.useEffect)(()=>{let t=!1;try{t=sessionStorage.getItem(Q9)===`1`,t&&sessionStorage.removeItem(Q9)}catch{}t&&e({title:`Teleoperation stopped`,description:`The arm was disconnected cleanly when you left the page.`})},[e]),null},$9=`lelab:update-dismissed-sha`;function Kie(){let{baseUrl:e,fetchWithHeaders:t}=zs(),[n,r]=(0,_.useState)(null),[i,a]=(0,_.useState)(!1);return(0,_.useEffect)(()=>{if(ey())return;let n=!1;return t(`${e}/system/update-check`).then(e=>e.ok?e.json():null).then(e=>{if(n||!e||!e.update_available)return;let t=null;try{t=localStorage.getItem($9)}catch{}t&&t===e.latest_commit||(r(e),a(!0))}).catch(()=>{}),()=>{n=!0}},[e,t]),{status:n,open:i,dismiss:(0,_.useCallback)(e=>{if(e&&n?.latest_commit)try{localStorage.setItem($9,n.latest_commit)}catch{}a(!1)},[n])}}var qie=()=>{let{status:e,open:t,dismiss:n}=Kie(),{baseUrl:r,fetchWithHeaders:i}=zs(),{toast:a}=yr(),[o,s]=(0,_.useState)(!1),[c,l]=(0,_.useState)(!1),[u,d]=(0,_.useState)(null);if(!e)return null;let f=typeof e.commits_behind==`number`&&e.commits_behind>0?`${e.commits_behind} commit${e.commits_behind===1?``:`s`} behind`:`A new version is available`;return(0,V.jsx)(Su,{open:t,onOpenChange:e=>{!e&&!c&&n(o)},children:(0,V.jsxs)(Tu,{className:`bg-slate-800 border-slate-700 text-white max-w-lg`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,V.jsxs)(Eu,{children:[(0,V.jsxs)(Ou,{className:`flex items-center gap-3 text-white`,children:[(0,V.jsx)(ao,{className:`w-5 h-5 text-amber-400`}),`LeLab update available`]}),(0,V.jsxs)(ku,{className:`text-slate-300`,children:[`You're `,f,` 😱.`,(0,V.jsx)(`br`,{}),`Update to get the latest fixes and features 🤗.`,e.compare_url&&(0,V.jsxs)(V.Fragment,{children:[` `,(0,V.jsx)(`a`,{href:e.compare_url,target:`_blank`,rel:`noreferrer`,className:`text-sky-300 underline hover:text-sky-200`,children:`See what changed`}),`.`]})]})]}),(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsxs)(_g,{children:[(0,V.jsxs)(vg,{className:`group flex items-center gap-1.5 text-xs font-medium text-slate-300 hover:text-white transition-colors`,children:[(0,V.jsx)(ka,{className:`w-3.5 h-3.5 transition-transform group-data-[state=open]:rotate-90`}),`Or update manually`]}),(0,V.jsx)(yg,{className:`pt-2`,children:(0,V.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,V.jsx)(`code`,{className:`min-w-0 flex-1 px-2 py-1.5 rounded bg-slate-900 text-sky-300 text-xs break-all whitespace-pre-wrap`,children:e.update_command}),(0,V.jsx)(K,{variant:`outline`,size:`icon`,onClick:async()=>{if(e.update_command)try{await navigator.clipboard.writeText(e.update_command),a({title:`Copied`,description:`Update command copied to clipboard.`})}catch{a({title:`Copy failed`,description:`Select and copy the command manually.`,variant:`destructive`})}},title:`Copy command`,className:`shrink-0 bg-slate-900 border-slate-600 text-white hover:bg-slate-700`,children:(0,V.jsx)(za,{className:`w-4 h-4`})})]})})]}),u&&(0,V.jsx)(`pre`,{className:`max-h-40 overflow-auto rounded bg-slate-900 p-2 text-xs text-slate-300 whitespace-pre-wrap`,children:u}),(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-3 pt-1`,children:[(0,V.jsxs)(`label`,{className:`flex items-center gap-2 text-sm text-slate-300`,children:[(0,V.jsx)(ag,{checked:o,onCheckedChange:e=>s(e===!0),className:`border-slate-300 data-[state=checked]:bg-slate-300 data-[state=checked]:text-slate-900`}),`Don't ask me again`]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(K,{variant:`ghost`,onClick:()=>n(o),disabled:c,className:`text-slate-300 hover:bg-slate-700 hover:text-white`,children:`Later`}),e.can_auto_update&&(0,V.jsx)(K,{onClick:async()=>{l(!0),d(null);try{let e=await(await i(`${r}/system/update`,{method:`POST`})).json();e.success?(a({title:`Updated`,description:e.message}),n(!1)):(d(e.output||e.message),a({title:`Update failed`,description:e.message,variant:`destructive`}))}catch(e){a({title:`Update failed`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}finally{l(!1)}},disabled:c,children:c?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ja,{className:`w-4 h-4 mr-2 animate-spin`}),`Updating…`]}):`Update now`})]})]})]})]})})},Jie=new mn;function Yie(){return(0,V.jsx)(_n,{client:Jie,children:(0,V.jsx)(vp,{children:(0,V.jsx)(yn,{children:(0,V.jsx)(Rs,{children:(0,V.jsx)(Vs,{children:(0,V.jsx)(ir,{children:(0,V.jsx)(sr,{children:(0,V.jsxs)(pt,{children:[(0,V.jsxs)(Wie,{children:[(0,V.jsx)(Gie,{}),(0,V.jsx)(qie,{}),(0,V.jsxs)(ct,{children:[(0,V.jsx)(ot,{path:`/`,element:(0,V.jsx)(Qee,{})}),(0,V.jsx)(ot,{path:`/teleoperation`,element:(0,V.jsx)(tM,{})}),(0,V.jsx)(ot,{path:`/recording`,element:(0,V.jsx)(RI,{})}),(0,V.jsx)(ot,{path:`/upload`,element:(0,V.jsx)(zie,{})}),(0,V.jsx)(ot,{path:`/training`,element:(0,V.jsx)(X9,{})}),(0,V.jsx)(ot,{path:`/training/:jobId`,element:(0,V.jsx)(X9,{})}),(0,V.jsx)(ot,{path:`/inference`,element:(0,V.jsx)(Lie,{})}),(0,V.jsx)(ot,{path:`/calibration`,element:(0,V.jsx)(DM,{})}),(0,V.jsx)(ot,{path:`/edit-dataset`,element:(0,V.jsx)(Rie,{})}),(0,V.jsx)(ot,{path:`*`,element:(0,V.jsx)(Bie,{})})]})]}),(0,V.jsx)(bs,{})]})})})})})})})})}(0,y.createRoot)(document.getElementById(`root`)).render((0,V.jsx)(Yie,{})); \ No newline at end of file diff --git a/frontend/dist/assets/index-DDnZ8aJk.css b/frontend/dist/assets/index-DDnZ8aJk.css deleted file mode 100644 index d41f3e35..00000000 --- a/frontend/dist/assets/index-DDnZ8aJk.css +++ /dev/null @@ -1 +0,0 @@ -*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:0 0% 100%;--foreground:222.2 84% 4.9%;--card:0 0% 100%;--card-foreground:222.2 84% 4.9%;--popover:0 0% 100%;--popover-foreground:222.2 84% 4.9%;--primary:222.2 47.4% 11.2%;--primary-foreground:210 40% 98%;--secondary:210 40% 96.1%;--secondary-foreground:222.2 47.4% 11.2%;--muted:210 40% 96.1%;--muted-foreground:215.4 16.3% 46.9%;--accent:210 40% 96.1%;--accent-foreground:222.2 47.4% 11.2%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:222.2 84% 4.9%;--radius:.5rem;--sidebar-background:0 0% 98%;--sidebar-foreground:240 5.3% 26.1%;--sidebar-primary:240 5.9% 10%;--sidebar-primary-foreground:0 0% 98%;--sidebar-accent:240 4.8% 95.9%;--sidebar-accent-foreground:240 5.9% 10%;--sidebar-border:220 13% 91%;--sidebar-ring:217.2 91.2% 59.8%}.dark{--background:222.2 84% 4.9%;--foreground:210 40% 98%;--card:222.2 84% 4.9%;--card-foreground:210 40% 98%;--popover:222.2 84% 4.9%;--popover-foreground:210 40% 98%;--primary:210 40% 98%;--primary-foreground:222.2 47.4% 11.2%;--secondary:217.2 32.6% 17.5%;--secondary-foreground:210 40% 98%;--muted:217.2 32.6% 17.5%;--muted-foreground:215 20.2% 65.1%;--accent:217.2 32.6% 17.5%;--accent-foreground:210 40% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:210 40% 98%;--border:217.2 32.6% 17.5%;--input:217.2 32.6% 17.5%;--ring:212.7 26.8% 83.9%;--sidebar-background:240 5.9% 10%;--sidebar-foreground:240 4.8% 95.9%;--sidebar-primary:224.3 76.3% 48%;--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:240 3.7% 15.9%;--sidebar-accent-foreground:240 4.8% 95.9%;--sidebar-border:240 3.7% 15.9%;--sidebar-ring:217.2 91.2% 59.8%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem}@media (width>=1400px){.container{max-width:1400px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-\[50\%\]{left:50%}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[9999\]{z-index:9999}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-6{margin-left:1.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-\[4\/3\]{aspect-ratio:4/3}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[1px\]{height:1px}.h-\[95vh\]{height:95vh}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-40{max-height:10rem}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-\[90vh\]{max-height:90vh}.max-h-screen{max-height:100vh}.min-h-\[120px\]{min-height:120px}.min-h-\[50vh\]{min-height:50vh}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[--radix-popover-trigger-width\]{width:var(--radix-popover-trigger-width)}.w-\[1px\]{width:1px}.w-\[320px\]{width:320px}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[110px\]{min-width:110px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:1s cubic-bezier(0,0,.2,1) infinite ping}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-px{gap:1px}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-t-lg{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-t{border-top-width:1px}.border-amber-700{--tw-border-opacity:1;border-color:rgb(180 83 9/var(--tw-border-opacity,1))}.border-amber-700\/60{border-color:#b4530999}.border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-blue-800\/40{border-color:#1e40af66}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.border-green-700{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-purple-700{--tw-border-opacity:1;border-color:rgb(126 34 206/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-red-500\/40{border-color:#ef444466}.border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.border-red-900\/50{border-color:#7f1d1d80}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.border-yellow-700{--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity,1))}.bg-accent{background-color:hsl(var(--accent))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-amber-500\/15{background-color:#f59e0b26}.bg-amber-500\/40{background-color:#f59e0b66}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.bg-amber-900\/40{background-color:#78350f66}.bg-amber-950\/40{background-color:#451a0366}.bg-background{background-color:hsl(var(--background))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/30{background-color:#0000004d}.bg-black\/50{background-color:#00000080}.bg-black\/70{background-color:#000000b3}.bg-black\/80{background-color:#000c}.bg-black\/95{background-color:#000000f2}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-blue-900\/20{background-color:#1e3a8a33}.bg-blue-950\/40{background-color:#17255466}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.bg-gray-500\/15{background-color:#6b728026}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-gray-800\/50{background-color:#1f293780}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-gray-900\/60{background-color:#11182799}.bg-gray-900\/80{background-color:#111827cc}.bg-gray-950{--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-500\/15{background-color:#22c55e26}.bg-green-500\/20{background-color:#22c55e33}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-green-900\/20{background-color:#14532d33}.bg-green-900\/50{background-color:#14532d80}.bg-green-900\/70{background-color:#14532db3}.bg-muted{background-color:hsl(var(--muted))}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-orange-500\/15{background-color:#f9731626}.bg-orange-500\/20{background-color:#f9731633}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-purple-900\/50{background-color:#581c8780}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-500\/15{background-color:#ef444426}.bg-red-500\/30{background-color:#ef44444d}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-red-900\/20{background-color:#7f1d1d33}.bg-red-900\/40{background-color:#7f1d1d66}.bg-red-900\/50{background-color:#7f1d1d80}.bg-red-900\/70{background-color:#7f1d1db3}.bg-secondary{background-color:hsl(var(--secondary))}.bg-slate-500{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-slate-800\/40{background-color:#1e293b66}.bg-slate-800\/50{background-color:#1e293b80}.bg-slate-800\/60{background-color:#1e293b99}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-slate-900\/40{background-color:#0f172a66}.bg-slate-900\/50{background-color:#0f172a80}.bg-transparent{background-color:#0000}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-yellow-900\/50{background-color:#713f1280}.bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:#3b82f600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-900{--tw-gradient-from:#111827 var(--tw-gradient-from-position);--tw-gradient-to:#11182700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.to-gray-800{--tw-gradient-to:#1f2937 var(--tw-gradient-to-position)}.to-sky-400{--tw-gradient-to:#38bdf8 var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pl-1{padding-left:.25rem}.pl-8{padding-left:2rem}.pr-12{padding-right:3rem}.pr-2{padding-right:.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-\[10px\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.text-amber-200\/80{color:#fde68acc}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-400\/80{color:#fbbf24cc}.text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sky-300{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity,1))}.text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-teal-400{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/70{color:#ffffffb3}.text-yellow-200{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-red-500\/30{--tw-shadow-color:#ef44444d;--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\]{transition-property:width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-100{animation-duration:.1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-75{animation-duration:75ms}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.running{animation-play-state:running}.\!paused{animation-play-state:paused!important}.paused{animation-play-state:paused}.\[appearance\:textfield\]{appearance:textfield}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-slate-500::placeholder{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.hover\:border-blue-500:hover{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.hover\:border-gray-200:hover{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.hover\:border-gray-500:hover{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.hover\:border-gray-600:hover{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.hover\:border-red-400:hover{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.hover\:border-slate-500:hover{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-amber-700:hover{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity,1))}.hover\:bg-amber-900\/40:hover{background-color:#78350f66}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-orange-600:hover{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.hover\:bg-red-500\/10:hover{background-color:#ef44441a}.hover\:bg-red-500\/30:hover{background-color:#ef44444d}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-red-900\/20:hover{background-color:#7f1d1d33}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-slate-600:hover{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.hover\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.hover\:bg-zinc-800:hover{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-amber-200:hover{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.hover\:text-amber-50:hover{--tw-text-opacity:1;color:rgb(255 251 235/var(--tw-text-opacity,1))}.hover\:text-blue-300:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.hover\:text-blue-400:hover{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.hover\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.hover\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.hover\:text-sky-200:hover{--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:text-yellow-200:hover{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-red-500\/40:hover{--tw-shadow-color:#ef444466;--tw-shadow:var(--tw-shadow-colored)}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-gray-800:focus{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-red-300:focus{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.focus\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:text-gray-500:disabled{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:bg-transparent:hover:disabled{background-color:#0000}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.aria-selected\:bg-gray-700[aria-selected=true]{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:1.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:border-red-500[data-state=checked]{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=checked\]\:bg-green-500[data-state=checked]{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=checked\]\:bg-red-500[data-state=checked]{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.data-\[state\=checked\]\:bg-slate-300[data-state=checked]{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=checked\]\:text-slate-900[data-state=checked]{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:.8}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-state=open] .group-data-\[state\=open\]\:rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-\[backdrop-filter\]\:bg-black\/70{background-color:#000000b3}}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}@media (width>=640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:w-60{width:15rem}.sm\:w-auto{width:auto}.sm\:max-w-\[500px\]{max-width:500px}.sm\:max-w-\[520px\]{max-width:520px}.sm\:max-w-\[600px\]{max-width:600px}.sm\:max-w-xl{max-width:36rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:gap-4{gap:1rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:self-auto{align-self:auto}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:p-4{padding:1rem}.sm\:p-6{padding:1.5rem}.sm\:text-left{text-align:left}.sm\:text-center{text-align:center}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}}@media (width>=768px){.md\:max-w-\[420px\]{max-width:420px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (width>=1024px){.lg\:min-h-0{min-height:0}.lg\:w-1\/2{width:50%}.lg\:w-96{width:24rem}.lg\:w-full{width:100%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[1\.2fr_2fr\]{grid-template-columns:1.2fr 2fr}.lg\:flex-row{flex-direction:row}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\:p-8{padding:2rem}}.\[\&\:\:-webkit-inner-spin-button\]\:m-0::-webkit-inner-spin-button{margin:0}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button{appearance:none}.\[\&\:\:-webkit-outer-spin-button\]\:m-0::-webkit-outer-spin-button{margin:0}.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{appearance:none}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0} diff --git a/frontend/dist/assets/index-GQ-xEw_u.css b/frontend/dist/assets/index-GQ-xEw_u.css new file mode 100644 index 00000000..e474db83 --- /dev/null +++ b/frontend/dist/assets/index-GQ-xEw_u.css @@ -0,0 +1 @@ +*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:0 0% 100%;--foreground:222.2 84% 4.9%;--card:0 0% 100%;--card-foreground:222.2 84% 4.9%;--popover:0 0% 100%;--popover-foreground:222.2 84% 4.9%;--primary:222.2 47.4% 11.2%;--primary-foreground:210 40% 98%;--secondary:210 40% 96.1%;--secondary-foreground:222.2 47.4% 11.2%;--muted:210 40% 96.1%;--muted-foreground:215.4 16.3% 46.9%;--accent:210 40% 96.1%;--accent-foreground:222.2 47.4% 11.2%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:222.2 84% 4.9%;--radius:.5rem;--sidebar-background:0 0% 98%;--sidebar-foreground:240 5.3% 26.1%;--sidebar-primary:240 5.9% 10%;--sidebar-primary-foreground:0 0% 98%;--sidebar-accent:240 4.8% 95.9%;--sidebar-accent-foreground:240 5.9% 10%;--sidebar-border:220 13% 91%;--sidebar-ring:217.2 91.2% 59.8%}.dark{--background:222.2 84% 4.9%;--foreground:210 40% 98%;--card:222.2 84% 4.9%;--card-foreground:210 40% 98%;--popover:222.2 84% 4.9%;--popover-foreground:210 40% 98%;--primary:210 40% 98%;--primary-foreground:222.2 47.4% 11.2%;--secondary:217.2 32.6% 17.5%;--secondary-foreground:210 40% 98%;--muted:217.2 32.6% 17.5%;--muted-foreground:215 20.2% 65.1%;--accent:217.2 32.6% 17.5%;--accent-foreground:210 40% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:210 40% 98%;--border:217.2 32.6% 17.5%;--input:217.2 32.6% 17.5%;--ring:212.7 26.8% 83.9%;--sidebar-background:240 5.9% 10%;--sidebar-foreground:240 4.8% 95.9%;--sidebar-primary:224.3 76.3% 48%;--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:240 3.7% 15.9%;--sidebar-accent-foreground:240 4.8% 95.9%;--sidebar-border:240 3.7% 15.9%;--sidebar-ring:217.2 91.2% 59.8%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem}@media (width>=1400px){.container{max-width:1400px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-\[50\%\]{left:50%}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[9999\]{z-index:9999}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-6{margin-left:1.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-\[4\/3\]{aspect-ratio:4/3}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[1px\]{height:1px}.h-\[95vh\]{height:95vh}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-40{max-height:10rem}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-\[90vh\]{max-height:90vh}.max-h-screen{max-height:100vh}.min-h-\[120px\]{min-height:120px}.min-h-\[25vh\]{min-height:25vh}.min-h-\[50vh\]{min-height:50vh}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[--radix-popover-trigger-width\]{width:var(--radix-popover-trigger-width)}.w-\[1px\]{width:1px}.w-\[320px\]{width:320px}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[110px\]{min-width:110px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:1s cubic-bezier(0,0,.2,1) infinite ping}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-px{gap:1px}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-t-lg{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-t{border-top-width:1px}.border-amber-700{--tw-border-opacity:1;border-color:rgb(180 83 9/var(--tw-border-opacity,1))}.border-amber-700\/60{border-color:#b4530999}.border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-blue-800\/40{border-color:#1e40af66}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.border-green-700{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-purple-700{--tw-border-opacity:1;border-color:rgb(126 34 206/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-red-500\/40{border-color:#ef444466}.border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.border-red-900\/50{border-color:#7f1d1d80}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.border-yellow-700{--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity,1))}.bg-accent{background-color:hsl(var(--accent))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-amber-500\/15{background-color:#f59e0b26}.bg-amber-500\/40{background-color:#f59e0b66}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.bg-amber-900\/40{background-color:#78350f66}.bg-amber-950\/40{background-color:#451a0366}.bg-background{background-color:hsl(var(--background))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/30{background-color:#0000004d}.bg-black\/50{background-color:#00000080}.bg-black\/70{background-color:#000000b3}.bg-black\/80{background-color:#000c}.bg-black\/95{background-color:#000000f2}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-blue-900\/20{background-color:#1e3a8a33}.bg-blue-950\/40{background-color:#17255466}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.bg-gray-500\/15{background-color:#6b728026}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-gray-800\/50{background-color:#1f293780}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-gray-900\/60{background-color:#11182799}.bg-gray-900\/80{background-color:#111827cc}.bg-gray-950{--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-500\/15{background-color:#22c55e26}.bg-green-500\/20{background-color:#22c55e33}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-green-900\/20{background-color:#14532d33}.bg-green-900\/50{background-color:#14532d80}.bg-green-900\/70{background-color:#14532db3}.bg-muted{background-color:hsl(var(--muted))}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-orange-500\/15{background-color:#f9731626}.bg-orange-500\/20{background-color:#f9731633}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-purple-900\/50{background-color:#581c8780}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-500\/15{background-color:#ef444426}.bg-red-500\/30{background-color:#ef44444d}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-red-900\/20{background-color:#7f1d1d33}.bg-red-900\/40{background-color:#7f1d1d66}.bg-red-900\/50{background-color:#7f1d1d80}.bg-red-900\/70{background-color:#7f1d1db3}.bg-secondary{background-color:hsl(var(--secondary))}.bg-slate-500{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.bg-slate-700\/40{background-color:#33415566}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-slate-800\/40{background-color:#1e293b66}.bg-slate-800\/50{background-color:#1e293b80}.bg-slate-800\/60{background-color:#1e293b99}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-slate-900\/40{background-color:#0f172a66}.bg-slate-900\/50{background-color:#0f172a80}.bg-transparent{background-color:#0000}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-yellow-900\/50{background-color:#713f1280}.bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:#3b82f600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-900{--tw-gradient-from:#111827 var(--tw-gradient-from-position);--tw-gradient-to:#11182700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.to-gray-800{--tw-gradient-to:#1f2937 var(--tw-gradient-to-position)}.to-sky-400{--tw-gradient-to:#38bdf8 var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pl-1{padding-left:.25rem}.pl-8{padding-left:2rem}.pr-12{padding-right:3rem}.pr-2{padding-right:.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-\[10px\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.text-amber-200\/80{color:#fde68acc}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-400\/80{color:#fbbf24cc}.text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sky-300{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity,1))}.text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-teal-400{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/70{color:#ffffffb3}.text-yellow-200{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.accent-blue-500{accent-color:#3b82f6}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-red-500\/30{--tw-shadow-color:#ef44444d;--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\]{transition-property:width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-100{animation-duration:.1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-75{animation-duration:75ms}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.running{animation-play-state:running}.\!paused{animation-play-state:paused!important}.paused{animation-play-state:paused}.\[appearance\:textfield\]{appearance:textfield}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-slate-500::placeholder{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.hover\:border-blue-500:hover{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.hover\:border-gray-200:hover{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.hover\:border-gray-500:hover{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.hover\:border-gray-600:hover{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.hover\:border-red-400:hover{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.hover\:border-slate-500:hover{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-amber-700:hover{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity,1))}.hover\:bg-amber-900\/40:hover{background-color:#78350f66}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-orange-600:hover{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.hover\:bg-red-500\/10:hover{background-color:#ef44441a}.hover\:bg-red-500\/30:hover{background-color:#ef44444d}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-red-900\/20:hover{background-color:#7f1d1d33}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-slate-600:hover{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.hover\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\:bg-slate-700\/50:hover{background-color:#33415580}.hover\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.hover\:bg-zinc-800:hover{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-amber-200:hover{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.hover\:text-amber-50:hover{--tw-text-opacity:1;color:rgb(255 251 235/var(--tw-text-opacity,1))}.hover\:text-blue-300:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.hover\:text-blue-400:hover{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.hover\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.hover\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.hover\:text-sky-200:hover{--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:text-yellow-200:hover{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-red-500\/40:hover{--tw-shadow-color:#ef444466;--tw-shadow:var(--tw-shadow-colored)}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-gray-800:focus{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-red-300:focus{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.focus\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:text-gray-500:disabled{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:bg-transparent:hover:disabled{background-color:#0000}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.aria-selected\:bg-gray-700[aria-selected=true]{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:1.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:border-red-500[data-state=checked]{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=checked\]\:bg-green-500[data-state=checked]{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=checked\]\:bg-red-500[data-state=checked]{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.data-\[state\=checked\]\:bg-slate-300[data-state=checked]{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=checked\]\:text-slate-900[data-state=checked]{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:.8}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-state=open] .group-data-\[state\=open\]\:rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-\[backdrop-filter\]\:bg-black\/70{background-color:#000000b3}}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}@media (width>=640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:w-60{width:15rem}.sm\:w-auto{width:auto}.sm\:max-w-\[500px\]{max-width:500px}.sm\:max-w-\[520px\]{max-width:520px}.sm\:max-w-\[600px\]{max-width:600px}.sm\:max-w-xl{max-width:36rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:gap-4{gap:1rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:self-auto{align-self:auto}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:p-4{padding:1rem}.sm\:p-6{padding:1.5rem}.sm\:text-left{text-align:left}.sm\:text-center{text-align:center}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}}@media (width>=768px){.md\:min-h-0{min-height:0}.md\:max-w-\[420px\]{max-width:420px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (width>=1024px){.lg\:min-h-0{min-height:0}.lg\:w-1\/2{width:50%}.lg\:w-96{width:24rem}.lg\:w-full{width:100%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[1\.2fr_2fr\]{grid-template-columns:1.2fr 2fr}.lg\:flex-row{flex-direction:row}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\:p-8{padding:2rem}}.\[\&\:\:-webkit-inner-spin-button\]\:m-0::-webkit-inner-spin-button{margin:0}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button{appearance:none}.\[\&\:\:-webkit-outer-spin-button\]\:m-0::-webkit-outer-spin-button{margin:0}.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{appearance:none}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0} diff --git a/frontend/dist/index.html b/frontend/dist/index.html index f9967038..ca8d263f 100644 --- a/frontend/dist/index.html +++ b/frontend/dist/index.html @@ -10,8 +10,8 @@ - - + +