{"version":3,"file":"Floating_Animation.54NaXDat.mjs","names":["fonts","css","className","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","toResponsiveImage","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","sharedStyle.className","className","Image","RichText","sharedStyle.css","sharedStyle.fonts","mask","SVG","getProps","Icon","className","mask","SVG","getProps","Icon","className","mask","SVG","getProps","Icon","className","mask","SVG","getProps","Icon","className","getProps","useRef","useCallback","useState","useMemo","e","animation","number","useState","useRef","_Fragment","useRef","useState","parseColor","r","g","b","t","width","height","x","y","animate","dot","ct","now","i","e","p","mask","SVG","getProps","Icon","className","getProps","className","fonts","css","className","addPropertyOverrides","WIKContactButtonFonts","WIKContactButton","cycleOrder","serializationHash","variantClassNames","transition1","matchVariant","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","sharedStyle.className","sharedStyle1.className","sharedStyle2.className","className","RichText","Image1","CalendarCheck","SVG","sharedStyle.css","sharedStyle1.css","sharedStyle2.css","sharedStyle.fonts","sharedStyle1.fonts","sharedStyle2.fonts","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","className","RichText","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","className","RichText","serializationHash","variantClassNames","transition1","toResponsiveImage","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","className","Image1","RichText","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","className","RichText","Badge","Image1","WIKContactButton","React.useContext","React.useMemo","React.Fragment","React.useState","useRef","React.useId","className","RichText","CalendarCheck","SVG","e","t","s","i","r","n","a","o","h","l","c","u","d","m","g","p","f","x","w","y","b","M","T","_","F","S","R","P","L","C","useRef","height","t"],"sources":["https:/framerusercontent.com/modules/hBAOtCJkUaic4oAYOqXc/d4DPUoEALb2v1qgotbNz/fbF6PDIKk.js","https:/framerusercontent.com/modules/4Nx2A9xh3qmNNn9legAd/WilyLVTWelJ49MGPJobF/hVROR2xuS.js","https:/framerusercontent.com/modules/8JV07YEylGCEb3LGvgZo/PY0eWaeMKczs9lq1El6d/bXDJC8QYr.js","https:/framerusercontent.com/modules/COY8o7yfXqEHpuTlH1DB/ndOdxmvnz7PKcLRGu2uo/z9Hy7_ZEe.js","https:/framerusercontent.com/modules/FyBpB3cHQchpKO3It7Te/sBq44AvOShhwefUX2CNg/dT7t_fSFi.js","https:/framerusercontent.com/modules/hpMlC1H5ROStQZh6avCG/mB0sienSdY9ZlEJyq05P/eXR1DxhGC.js","https:/framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/Sn64gjTwaJh0TFAuaV07/Video.js","https:/framerusercontent.com/modules/qpjhCcDm4G1NbFAlpMKV/OnyZiTlIjOBuSKcKQWFv/AnimatedNumberCounter_Prod.js","https:/framerusercontent.com/modules/wskW1SoDKxJzJIiqOylQ/Z86JKWtK3QU4ffeT2odo/InteractiveGrid_prod.js","https:/framerusercontent.com/modules/xeq8Mx2rJf2w6PHvkdxB/ah8LEYKqlZz0x8biSiyW/tmSZrbN2h.js","https:/framerusercontent.com/modules/XumGTpOjDt6rZAJXiLPk/a7zBt66zlfNyx0XB1Npc/XMMutIMil.js","https:/framerusercontent.com/modules/1qHnzhGpcWsWZUR70P39/tIFV26Hz6INqGaOFcQpa/eBjd5F7F8.js","https:/framerusercontent.com/modules/jAl3tkwSUJg4ojgrtb9C/Y3tzM3NZzY0Dpk9UrWVK/FB2x5eZxp.js","https:/framerusercontent.com/modules/hKG7wEMSFUrKYbTquuho/UuWejElVFDB8fP6Zp0F3/hkHWOlCLx.js","https:/framerusercontent.com/modules/bJs7Lw3KGI9nubz53vM0/a3dByECG6gjKfA6fhVyo/pRXFuPqvq.js","https:/framerusercontent.com/modules/UHwwP8VBnbvQm7IWV2O4/8J8YaQj0FE12LOWOi0Ee/UM5ZfVuZX.js","https:/framerusercontent.com/modules/znzS718lwGi8xGw7pXpf/Rwa4Ft86UIVURQQ7RMjn/VlBKrWpYD.js","https:/framerusercontent.com/modules/8DzYu5aKXfTMpoCD40qG/SIZPWfMpZ7o5eTp5nsoI/zsciZJaQD.js","https:/framerusercontent.com/modules/bXdFxwF9pom1JPPA8YKi/V1nBJFT5wQw4aDZt8LPI/zs2bujyoo.js","https:/ga.jspm.io/npm:ogl@0.0.117/src/index.mjs","https:/framerusercontent.com/modules/2O2ijVLUP8VHq3dVPfQ6/7IXl3dZUhYuKnKF8Nxvx/Floating_Animation.js"],"sourcesContent":["// Generated by Framer (3d4fa65)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"Inter\",\"Inter-Bold\",\"Inter-BoldItalic\",\"Inter-Italic\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/DXD0Q7LSl7HEvDzucnyLnGBHM.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/H89BbHkbHDzlxZzxi8uPzTsp90.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/u6gJwDuwB143kpNK1T1MDKDWkMc.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/43sJ6MfOPh1LCJt46OvyDuSbA6o.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/wccHG0r4gBDAIRhfHiOlq6oEkqw.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/WZ367JPwf9bRW6LdTHN8rXgSjw.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/QxmhnWTzLtyjIiZcfaLIJ8EFBXU.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/2A4Xx7CngadFGlVV4xrO06OBHY.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/CfMzU8w2e7tHgF4T4rATMPuWosA.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/867QObYax8ANsfX4TGEVU9YiCM.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Oyn2ZbENFdnW7mt2Lzjk1h9Zb9k.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/cdAe8hgZ1cMyLu9g005pAW3xMo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/DOfvtmE1UplCq161m6Hj8CSQYg.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vFzuJY0c65av44uhEKB6vyjFMg.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/tKtBcDnBMevsEEJKdNGhhkLzYo.woff2\",weight:\"400\"}]}];export const css=['.framer-FuVMm .framer-styles-preset-5cx874:not(.rich-text-wrapper), .framer-FuVMm .framer-styles-preset-5cx874.rich-text-wrapper p { --framer-font-family: \"Inter\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv11\\' on, \\'case\\' on; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.02em; --framer-line-height: 22px; --framer-paragraph-spacing: 16px; --framer-text-alignment: start; --framer-text-color: var(--token-495997d2-2997-4abf-9310-e8704849634d, rgba(14, 14, 14, 0.6)); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-FuVMm\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (c07a8c1)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFontsFromSharedStyle,getLoadingLazyAtYPosition,Image,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as sharedStyle from\"https://framerusercontent.com/modules/hBAOtCJkUaic4oAYOqXc/d4DPUoEALb2v1qgotbNz/fbF6PDIKk.js\";const cycleOrder=[\"swhjcxbOF\",\"gtSZR2PD9\"];const serializationHash=\"framer-xrm6M\";const variantClassNames={gtSZR2PD9:\"framer-v-ftraun\",swhjcxbOF:\"framer-v-1xpei9f\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const toResponsiveImage=value=>{if(typeof value===\"object\"&&value!==null&&typeof value.src===\"string\"){return value;}return typeof value===\"string\"?{src:value}:undefined;};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={Filled:\"swhjcxbOF\",Outlined:\"gtSZR2PD9\"};const getProps=({height,icon,iconVisibility,id,text,textVisibility,width,...props})=>{return{...props,HSA7MtBBI:textVisibility??props.HSA7MtBBI??true,kj_d06jzR:icon??props.kj_d06jzR??{alt:\"\",pixelHeight:16,pixelWidth:16,src:\"https://framerusercontent.com/images/l4Nz59osGoyWiMwAOa8wGBqMlVo.svg\"},L8VzAlQMG:text??props.L8VzAlQMG??\"Badge\",lvZdswlVK:iconVisibility??props.lvZdswlVK,variant:humanReadableVariantMap[props.variant]??props.variant??\"swhjcxbOF\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,L8VzAlQMG,lvZdswlVK,kj_d06jzR,HSA7MtBBI,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"swhjcxbOF\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1xpei9f\",className,classNames),\"data-framer-name\":\"Filled\",layoutDependency:layoutDependency,layoutId:\"swhjcxbOF\",ref:refBinding,style:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"rgba(0, 0, 0, 0)\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",backgroundColor:\"var(--token-96143f97-6d6c-40f2-8c6d-364f4f8f60f4, rgba(14, 14, 14, 0.05))\",borderBottomLeftRadius:20,borderBottomRightRadius:20,borderTopLeftRadius:20,borderTopRightRadius:20,...style},variants:{gtSZR2PD9:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-416869b7-81a6-4f95-9a11-239533a23087, rgb(14, 14, 14))\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backgroundColor:\"rgba(0, 0, 0, 0)\"}},...addPropertyOverrides({gtSZR2PD9:{\"data-border\":true,\"data-framer-name\":\"Outlined\"}},baseVariant,gestureVariant),children:[lvZdswlVK&&/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+(8+((componentViewport?.height||38)-16-16)/2)),pixelHeight:16,pixelWidth:16,sizes:\"16px\",...toResponsiveImage(kj_d06jzR)},className:\"framer-1pdamgs\",\"data-framer-name\":\"Icon\",layoutDependency:layoutDependency,layoutId:\"wafGzxPVc\"}),HSA7MtBBI&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-5cx874\",\"data-styles-preset\":\"fbF6PDIKk\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-416869b7-81a6-4f95-9a11-239533a23087, rgb(14, 14, 14)))\"},children:\"Filled Badge\"})}),className:\"framer-h99rx9\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"QeSp5236u\",style:{\"--extracted-r6o4lv\":\"var(--token-416869b7-81a6-4f95-9a11-239533a23087, rgb(14, 14, 14))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:L8VzAlQMG,verticalAlignment:\"top\",withExternalLayout:true})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-xrm6M.framer-1pb6akb, .framer-xrm6M .framer-1pb6akb { display: block; }\",\".framer-xrm6M.framer-1xpei9f { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: center; min-width: 52px; overflow: hidden; padding: 8px 16px 8px 16px; position: relative; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-xrm6M .framer-1pdamgs { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 16px); overflow: hidden; position: relative; width: 16px; }\",\".framer-xrm6M .framer-h99rx9 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",...sharedStyle.css,'.framer-xrm6M[data-border=\"true\"]::after, .framer-xrm6M [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 38\n * @framerIntrinsicWidth 80\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"],\"constraints\":[\"52px\",null,null,null]},\"gtSZR2PD9\":{\"layout\":[\"auto\",\"auto\"],\"constraints\":[\"52px\",null,null,null]}}}\n * @framerVariables {\"L8VzAlQMG\":\"text\",\"lvZdswlVK\":\"iconVisibility\",\"kj_d06jzR\":\"icon\",\"HSA7MtBBI\":\"textVisibility\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerhVROR2xuS=withCSS(Component,css,\"framer-xrm6M\");export default FramerhVROR2xuS;FramerhVROR2xuS.displayName=\"Badge\";FramerhVROR2xuS.defaultProps={height:38,width:80};addPropertyControls(FramerhVROR2xuS,{variant:{options:[\"swhjcxbOF\",\"gtSZR2PD9\"],optionTitles:[\"Filled\",\"Outlined\"],title:\"Variant\",type:ControlType.Enum},L8VzAlQMG:{defaultValue:\"Badge\",displayTextArea:false,title:\"Text\",type:ControlType.String},lvZdswlVK:{defaultValue:false,title:\"Icon Visibility\",type:ControlType.Boolean},kj_d06jzR:{__defaultAssetReference:\"data:framer/asset-reference,l4Nz59osGoyWiMwAOa8wGBqMlVo.svg?originalFilename=star-outline.svg&preferredSize=auto\",__vekterDefault:{alt:\"\",assetReference:\"data:framer/asset-reference,l4Nz59osGoyWiMwAOa8wGBqMlVo.svg?originalFilename=star-outline.svg&preferredSize=auto\"},title:\"Icon\",type:ControlType.ResponsiveImage},HSA7MtBBI:{defaultValue:true,title:\"Text Visibility\",type:ControlType.Boolean}});addFonts(FramerhVROR2xuS,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerhVROR2xuS\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"38\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerColorSyntax\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"],\\\"constraints\\\":[\\\"52px\\\",null,null,null]},\\\"gtSZR2PD9\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"],\\\"constraints\\\":[\\\"52px\\\",null,null,null]}}}\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"80\",\"framerDisplayContentsDiv\":\"false\",\"framerVariables\":\"{\\\"L8VzAlQMG\\\":\\\"text\\\",\\\"lvZdswlVK\\\":\\\"iconVisibility\\\",\\\"kj_d06jzR\\\":\\\"icon\\\",\\\"HSA7MtBBI\\\":\\\"textVisibility\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./hVROR2xuS.map","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 9 3 L 9 15 M 6 12.182 L 6.879 12.841 C 8.05 13.72 9.95 13.72 11.121 12.841 C 12.293 11.962 12.293 10.538 11.121 9.659 C 10.536 9.22 9.768 9 9 9 C 8.275 9 7.55 8.78 6.997 8.341 C 5.891 7.462 5.891 6.038 6.997 5.159 C 8.103 4.28 9.896 4.28 11.003 5.159 L 11.418 5.489 M 18 9 C 18 13.971 13.971 18 9 18 C 4.029 18 0 13.971 0 9 C 0 4.029 4.029 0 9 0 C 13.971 0 18 4.029 18 9 Z\" fill=\"transparent\" height=\"18px\" id=\"nAxYgxI5P\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" stroke=\"var(--szd5nr, black)\" transform=\"translate(3 3)\" width=\"18px\"/></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({height,id,stroke,width,...props})=>{return{...props,YmfIrZ3Ez:stroke??props.YmfIrZ3Ez??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,YmfIrZ3Ez,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-LCsC1\",className),layoutId:layoutId,ref:ref,style:{\"--szd5nr\":YmfIrZ3Ez,...style}});});const css=[`.framer-LCsC1 { -webkit-mask: ${mask}; aspect-ratio: 1; background-color: var(--szd5nr); mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"YmfIrZ3Ez\":\"stroke\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Currency Dollar\",\"color\":{\"type\":\"variable\",\"value\":\"szd5nr\"},\"set\":{\"localId\":\"vectorSet/kNBkgkDkJ\",\"id\":\"kNBkgkDkJ\",\"moduleId\":\"DyJDRQD0f0RPOu0ZYoEG\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-LCsC1\");Icon.displayName=\"Currency Dollar\";export default Icon;addPropertyControls(Icon,{YmfIrZ3Ez:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Stroke\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerVector\":\"{\\\"name\\\":\\\"Currency Dollar\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"szd5nr\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/kNBkgkDkJ\\\",\\\"id\\\":\\\"kNBkgkDkJ\\\",\\\"moduleId\\\":\\\"DyJDRQD0f0RPOu0ZYoEG\\\"}}\",\"framerDisableUnlink\":\"true\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerVariables\":\"{\\\"YmfIrZ3Ez\\\":\\\"stroke\\\"}\",\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 14.166 16.5 L 5.166 16.5 M 14.166 16.5 C 15.823 16.5 17.166 17.843 17.166 19.5 L 2.166 19.5 C 2.166 17.843 3.509 16.5 5.166 16.5 M 14.166 16.5 L 14.166 13.125 C 14.166 12.504 13.662 12 13.041 12 L 12.169 12 M 5.166 16.5 L 5.166 13.125 C 5.166 12.504 5.67 12 6.291 12 L 7.163 12 M 12.169 12 L 7.163 12 M 12.169 12 C 11.622 11.054 11.275 9.977 11.188 8.828 M 7.163 12 C 7.71 11.054 8.057 9.977 8.144 8.828 M 2.916 1.986 C 1.934 2.129 0.961 2.303 0 2.506 C 0.45 5.173 2.661 7.243 5.396 7.478 M 2.916 1.986 L 2.916 2.25 C 2.916 4.358 3.882 6.24 5.396 7.478 M 2.916 1.986 L 2.916 0.471 C 5.121 0.161 7.375 0 9.666 0 C 11.957 0 14.211 0.161 16.416 0.471 L 16.416 1.986 M 5.396 7.478 C 6.183 8.122 7.119 8.591 8.144 8.828 M 16.416 1.986 L 16.416 2.25 C 16.416 4.358 15.45 6.24 13.936 7.478 M 16.416 1.986 C 17.398 2.129 18.371 2.303 19.332 2.506 C 18.882 5.173 16.671 7.243 13.936 7.478 M 13.936 7.478 C 13.149 8.122 12.213 8.591 11.188 8.828 M 11.188 8.828 C 10.699 8.94 10.189 9 9.666 9 C 9.143 9 8.633 8.94 8.144 8.828\" fill=\"transparent\" height=\"19.5px\" id=\"LIZOn3trE\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" stroke=\"var(--szd5nr, black)\" transform=\"translate(2.334 2.25)\" width=\"19.332069895935057px\"/></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({height,id,stroke,width,...props})=>{return{...props,YmfIrZ3Ez:stroke??props.YmfIrZ3Ez??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,YmfIrZ3Ez,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-XthDT\",className),layoutId:layoutId,ref:ref,style:{\"--szd5nr\":YmfIrZ3Ez,...style}});});const css=[`.framer-XthDT { -webkit-mask: ${mask}; aspect-ratio: 1; background-color: var(--szd5nr); mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"YmfIrZ3Ez\":\"stroke\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Trophy\",\"color\":{\"type\":\"variable\",\"value\":\"szd5nr\"},\"set\":{\"localId\":\"vectorSet/kNBkgkDkJ\",\"id\":\"kNBkgkDkJ\",\"moduleId\":\"DyJDRQD0f0RPOu0ZYoEG\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-XthDT\");Icon.displayName=\"Trophy\";export default Icon;addPropertyControls(Icon,{YmfIrZ3Ez:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Stroke\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerVector\":\"{\\\"name\\\":\\\"Trophy\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"szd5nr\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/kNBkgkDkJ\\\",\\\"id\\\":\\\"kNBkgkDkJ\\\",\\\"moduleId\\\":\\\"DyJDRQD0f0RPOu0ZYoEG\\\"}}\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"24\",\"framerIntrinsicWidth\":\"24\",\"framerVariables\":\"{\\\"YmfIrZ3Ez\\\":\\\"stroke\\\"}\",\"framerDisableUnlink\":\"true\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 11.463 L 6.75 4.713 L 11.056 9.02 C 12.26 6.651 14.254 4.666 16.87 3.501 L 19.611 2.281 M 19.611 2.281 L 13.67 0 M 19.611 2.281 L 17.33 8.222\" fill=\"transparent\" height=\"11.46327988685608px\" id=\"mIKMwaqvV\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" stroke=\"var(--szd5nr, black)\" transform=\"translate(2.25 6.537)\" width=\"19.6109001953125px\"/></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({height,id,stroke,width,...props})=>{return{...props,YmfIrZ3Ez:stroke??props.YmfIrZ3Ez??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,YmfIrZ3Ez,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-ls3Hp\",className),layoutId:layoutId,ref:ref,style:{\"--szd5nr\":YmfIrZ3Ez,...style}});});const css=[`.framer-ls3Hp { -webkit-mask: ${mask}; aspect-ratio: 1; background-color: var(--szd5nr); mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"YmfIrZ3Ez\":\"stroke\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Arrow Trending Up\",\"color\":{\"type\":\"variable\",\"value\":\"szd5nr\"},\"set\":{\"localId\":\"vectorSet/kNBkgkDkJ\",\"id\":\"kNBkgkDkJ\",\"moduleId\":\"DyJDRQD0f0RPOu0ZYoEG\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-ls3Hp\");Icon.displayName=\"Arrow Trending Up\";export default Icon;addPropertyControls(Icon,{YmfIrZ3Ez:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Stroke\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"24\",\"framerIntrinsicHeight\":\"24\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"true\",\"framerVector\":\"{\\\"name\\\":\\\"Arrow Trending Up\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"szd5nr\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/kNBkgkDkJ\\\",\\\"id\\\":\\\"kNBkgkDkJ\\\",\\\"moduleId\\\":\\\"DyJDRQD0f0RPOu0ZYoEG\\\"}}\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerVariables\":\"{\\\"YmfIrZ3Ez\\\":\\\"stroke\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 7.5 L 16.5 7.5 M 0 11.25 L 16.5 11.25 M 0 15 L 16.5 15 M 1.875 0 L 14.625 0 C 15.66 0 16.5 0.839 16.5 1.875 C 16.5 2.911 15.66 3.75 14.625 3.75 L 1.875 3.75 C 0.839 3.75 0 2.911 0 1.875 C 0 0.839 0.839 0 1.875 0 Z\" fill=\"transparent\" height=\"15px\" id=\"ueyuEmWO0\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" stroke=\"var(--szd5nr, black)\" transform=\"translate(3.75 4.5)\" width=\"16.5px\"/></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({height,id,stroke,width,...props})=>{return{...props,YmfIrZ3Ez:stroke??props.YmfIrZ3Ez??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,YmfIrZ3Ez,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-U96Et\",className),layoutId:layoutId,ref:ref,style:{\"--szd5nr\":YmfIrZ3Ez,...style}});});const css=[`.framer-U96Et { -webkit-mask: ${mask}; aspect-ratio: 1; background-color: var(--szd5nr); mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"YmfIrZ3Ez\":\"stroke\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Queue List\",\"color\":{\"type\":\"variable\",\"value\":\"szd5nr\"},\"set\":{\"localId\":\"vectorSet/kNBkgkDkJ\",\"id\":\"kNBkgkDkJ\",\"moduleId\":\"DyJDRQD0f0RPOu0ZYoEG\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-U96Et\");Icon.displayName=\"Queue List\";export default Icon;addPropertyControls(Icon,{YmfIrZ3Ez:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Stroke\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerDisableUnlink\":\"true\",\"framerVector\":\"{\\\"name\\\":\\\"Queue List\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"szd5nr\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/kNBkgkDkJ\\\",\\\"id\\\":\\\"kNBkgkDkJ\\\",\\\"moduleId\\\":\\\"DyJDRQD0f0RPOu0ZYoEG\\\"}}\",\"framerIntrinsicWidth\":\"24\",\"framerVariables\":\"{\\\"YmfIrZ3Ez\\\":\\\"stroke\\\"}\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"24\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// ⚠️⚠️⚠️⚠️⚠️\n// Edit these files in https://github.com/framer/FramerCodeComponents\n// ⚠️⚠️⚠️⚠️⚠️\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsInCurrentNavigationTarget,RenderTarget}from\"framer\";import{isMotionValue,useInView}from\"framer-motion\";import{borderRadiusControl,defaultEvents,useIsBrowserSafari,useIsOnCanvas,useOnEnter,useOnExit,useRadius,useRenderTarget}from\"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\";// https://framer.com/m/framer/default-utils.js@^0.45.0\nimport{memo,useCallback,useEffect,useMemo,useRef,useState}from\"react\";var ObjectFitType;(function(ObjectFitType){ObjectFitType[\"Fill\"]=\"fill\";ObjectFitType[\"Contain\"]=\"contain\";ObjectFitType[\"Cover\"]=\"cover\";ObjectFitType[\"None\"]=\"none\";ObjectFitType[\"ScaleDown\"]=\"scale-down\";})(ObjectFitType||(ObjectFitType={}));var SrcType;(function(SrcType){SrcType[\"Video\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));const defaultVideo=\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\";// Reduce renders\nfunction getProps(props){const{width,height,topLeft,topRight,bottomRight,bottomLeft,id,children,...rest}=props;return rest;}/**\n * VIDEO\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 112\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export function Video(props){const newProps=getProps(props);return /*#__PURE__*/_jsx(VideoMemo,{...newProps});}function usePlaybackControls(videoRef){const isInCurrentNavigationTarget=useIsInCurrentNavigationTarget();const requestingPlay=useRef(false);const isPlayingRef=useRef(false);const setProgress=useCallback(rawProgress=>{if(!videoRef.current)return;const newProgress=(rawProgress===1?.999:rawProgress)*videoRef.current.duration;const isAlreadySet=Math.abs(videoRef.current.currentTime-newProgress)<.1;if(videoRef.current.duration>0&&!isAlreadySet){videoRef.current.currentTime=newProgress;}},[]);const play=useCallback(()=>{const video=videoRef.current;if(!video)return;video.preload=\"auto\"// makes sure browsers don't throttle: https://html.spec.whatwg.org/multipage/media.html#:~:text=When%20the%20media%20resource%20is%20playing%2C%20hints%20to%20the%20user%20agent%20that%20bandwidth%20is%20to%20be%20considered%20scarce%2C%20e.g.%20suggesting%20throttling%20the%20download%20so%20that%20the%20media%20data%20is%20obtained%20at%20the%20slowest%20possible%20rate%20that%20still%20maintains%20consistent%20playback.\n;const isPlaying=video.currentTime>0&&video.onplaying&&!video.paused&&!video.ended&&video.readyState>=video.HAVE_CURRENT_DATA;if(!isPlaying&&video&&!requestingPlay.current&&isInCurrentNavigationTarget){requestingPlay.current=true;isPlayingRef.current=true;video.play().catch(e=>{})// It's likely fine, swallow error\n.finally(()=>requestingPlay.current=false);}},[]);const pause=useCallback(()=>{if(!videoRef.current||requestingPlay.current)return;videoRef.current.pause();isPlayingRef.current=false;},[]);return{play,pause,setProgress,isPlaying:isPlayingRef};}function useAutoplayBehavior({playingProp,muted,loop,playsinline,controls}){const[initialPlayingProp]=useState(playingProp);const[hasPlayingPropChanged,setHasPlayingPropChanged]=useState(false);if(playingProp!==initialPlayingProp&&!hasPlayingPropChanged){setHasPlayingPropChanged(true);}const behavesAsGif=// passing `playing === true` on mount indicates that the video should\n// autoplay, like a GIF\ninitialPlayingProp&&muted&&loop&&playsinline&&!controls&&// Some users of the <Video> component use it by wrapping it with\n// another smart component and adding their own controls on top. (The\n// controls use transitions to control the video: e.g., when clicking\n// the play button, the smart component will transition to a state with\n// <Video playing={true} />.) In this case, we don't want the video to\n// behave as a gif, as it will be weird if the video suddenly started\n// acting as such (and auto-pausing when leaving the viewport) as soon\n// as the site visitor mutes it and clicks “Play”.\n!hasPlayingPropChanged;let autoplay;if(behavesAsGif)autoplay=\"on-viewport\";else if(initialPlayingProp)autoplay=\"on-mount\";else autoplay=\"no-autoplay\";return autoplay;}const VideoMemo=/*#__PURE__*/memo(function VideoInner(props){const{// default props\nsrcType=\"URL\",srcUrl,srcFile=\"\",posterEnabled=false,controls=false,playing=true,loop=true,muted=true,playsinline=true,restartOnEnter=false,objectFit=\"cover\",backgroundColor=\"rgba(0,0,0,0)\",radius=0,volume=25,startTime:startTimeProp=0,poster,playing:playingProp,progress,onSeeked,onPause,onPlay,onEnd,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp}=props;const videoRef=useRef();const isSafari=useIsBrowserSafari();const wasPausedOnLeave=useRef(null);const wasEndedOnLeave=useRef(null);const isOnCanvas=useIsOnCanvas();const renderTarget=useRenderTarget();const isStaticRenderer=isOnCanvas||renderTarget===RenderTarget.export;const borderRadius=useRadius(props);// Hard-coding `autoplayBehavior` and `isInViewport` when on canvas as a\n// tiny perf optimization. isStaticRenderer won’t change through the lifecycle of\n// the component, so using these hooks conditionally should be safe\nconst autoplayBehavior=isStaticRenderer?\"no-autoplay\":useAutoplayBehavior({playingProp,muted,loop,playsinline,controls});const isInViewport=isStaticRenderer?true:useInView(videoRef);const isCloseToViewport=isStaticRenderer?false:useInView(videoRef,{margin:\"10%\",once:true});// Video elements behave oddly at 100% duration\nconst startTime=startTimeProp===100?99.9:startTimeProp;const{play,pause,setProgress,isPlaying}=usePlaybackControls(videoRef);// Pause/play via props\nuseEffect(()=>{if(isStaticRenderer)return;if(autoplayBehavior===\"on-viewport\")return;if(playingProp)play();else pause();},[autoplayBehavior,playingProp]);// Pause/play via viewport\nuseEffect(()=>{if(isStaticRenderer)return;// this also explicitly retries playing for videos that play on-mount, which could fail if they're not muted for example\nif(isInViewport&&playingProp&&autoplayBehavior!==\"no-autoplay\")play();if(autoplayBehavior!==\"on-viewport\")return;pause();},[autoplayBehavior,isInViewport,playingProp]);useEffect(()=>{if(!isOnCanvas||poster||posterEnabled||startTime||!videoRef.current)return;// forces a poster to show up when the video is in an iframe; this is needed when `poster` changes\nvideoRef.current.currentTime=.01;},[posterEnabled,poster,startTime]);/**\n     * The Video component has some effects that sync the video element with props\n     * like `startTime`, `progress`, etc. React calls these effects whenever these\n     * props change. However, it also calls them on the first mount, and this is\n     * troublesome – if we’re doing SSR, and the user changed the video state before\n     * the video was hydrated, the initial `useEffect` call will reset the video\n     * state. To avoid this, we use this flag.\n     */const isMountedAndReadyForProgressChanges=useRef(false);// Allow scrubbling via progress prop\n// 1) Handle cases when the progress prop itself changes\nuseEffect(()=>{if(!isMountedAndReadyForProgressChanges.current){isMountedAndReadyForProgressChanges.current=true;return;}const rawProgressValue=isMotionValue(progress)?progress.get():(progress??0)*.01;setProgress(// When the progress value exists (e.g. <Video startTime={10}\n// progress={50} />), we respect the `progress` value over\n// `startTime`, even if `startTime` changes. That’s because\n// `startTime` == start == changing it shouldn’t affect the current\n// progress\n(rawProgressValue??0)||// Then why fall back to `startTime` when `progress` doesn’t exist,\n// you might ask? Now, that’s for\n// - canvas UX: we want the video progress to change when the user\n//   is scrobbling the “Start Time” in component settings.\n// - backwards compatibility: maybe some users *are* scrobbling\n//   using `startTime` instead of `progress`? We don’t know, and it\n//   always supported it, so let’s not break it\n(startTime??0)/100);},[startTime,srcFile,srcUrl,progress]);// 2) Handle cases when the motion value inside the progress prop changes\nuseEffect(()=>{if(!isMotionValue(progress))return;return progress.on(\"change\",value=>setProgress(value));},[progress]);// (Prototyping) Checking if we need to play on navigation enter\nuseOnEnter(()=>{if(wasPausedOnLeave.current===null)return;if(videoRef.current){// if (restartOnEnter) setProgress(0)\nif(!wasEndedOnLeave&&loop||!wasPausedOnLeave.current)play();}});// (Prototyping) Pausing & saving playing state on navigation exit\nuseOnExit(()=>{if(videoRef.current){wasEndedOnLeave.current=videoRef.current.ended;wasPausedOnLeave.current=videoRef.current.paused;pause();}});const src=useMemo(()=>{let fragment=\"\";// if (\n//     startTime > 0 &&\n//     videoRef.current &&\n//     !isNaN(videoRef.current.duration) &&\n//     !isStaticRenderer\n// ) {\n//     console.log(startTime, videoRef.current.duration)\n//     fragment = `#t=${startTime * videoRef.current.duration}`\n// }\nif(srcType===\"URL\")return srcUrl+fragment;if(srcType===\"Upload\")return srcFile+fragment;},[srcType,srcFile,srcUrl,startTime]);// Autoplay via JS to work in Safari\nuseEffect(()=>{if(isSafari&&videoRef.current&&autoplayBehavior===\"on-mount\"){setTimeout(()=>play(),50);}},[]);// Volume Control\nuseEffect(()=>{if(videoRef.current&&!muted)videoRef.current.volume=(volume??0)/100;},[volume]);// When video is ready, set start-time, then autoplay if needed\nconst handleReady=()=>{const video=videoRef.current;if(!video)return;if(video.currentTime<.3&&startTime>0)setProgress((startTime??0)*.01);if(// when the component updates (e.g. only srcFile/url changes), and the video was already playing, keep playing\nisPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport)play();};return /*#__PURE__*/_jsx(\"video\",{onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,src:src,loop:loop,ref:videoRef,onSeeked:e=>onSeeked?.(e),onPause:e=>onPause?.(e),onPlay:e=>onPlay?.(e),onEnded:e=>onEnd?.(e),autoPlay:isPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport,preload:isPlaying.current?\"auto\":isStaticRenderer&&!poster?\"metadata\":autoplayBehavior!==\"on-mount\"&&!isCloseToViewport?\"none\":// `autoplay` overrides this too\n\"metadata\",poster:posterEnabled&&!srcFile&&srcUrl===defaultVideo?\"https://framerusercontent.com/images/5ILRvlYXf72kHSVHqpa3snGzjU.jpg\":posterEnabled&&poster?poster:undefined,onLoadedData:handleReady,controls:controls,muted:isStaticRenderer?true:muted,playsInline:playsinline,style:{cursor:!!onClick?\"pointer\":\"auto\",width:\"100%\",height:\"100%\",borderRadius,display:\"block\",objectFit:objectFit,backgroundColor:backgroundColor,objectPosition:\"50% 50%\"}});});Video.displayName=\"Video\";function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu)||[];return groups.map(capitalizeFirstLetter).join(\" \");}const objectFitOptions=[\"cover\",\"fill\",\"contain\",\"scale-down\",\"none\"];addPropertyControls(Video,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",defaultValue:\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",hidden(props){return props.srcType===\"Upload\";}},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"mp4\",\"webm\"],description:\"Only MP4 and WebM\",hidden(props){return props.srcType===\"URL\";}},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},...borderRadiusControl,posterEnabled:{type:ControlType.Boolean,title:\"Poster\",enabledTitle:\"Yes\",disabledTitle:\"No\"},poster:{type:ControlType.Image,title:\"Image\",hidden:({posterEnabled})=>!posterEnabled,description:\"We recommend adding a poster. [Learn more](https://www.framer.com/help/articles/how-are-videos-optimized-in-framer/).\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0,0,0,0)\"},startTime:{title:\"Start Time\",type:ControlType.Number,min:0,max:100,step:.1,unit:\"%\"},loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},objectFit:{type:ControlType.Enum,title:\"Fit\",options:objectFitOptions,optionTitles:objectFitOptions.map(titleCase)},// restartOnEnter: {\n//     type: ControlType.Boolean,\n//     title: \"On ReEnter\",\n//     enabledTitle: \"Restart\",\n//     disabledTitle: \"Resume\",\n// },\ncontrols:{type:ControlType.Boolean,title:\"Controls\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:false},muted:{type:ControlType.Boolean,title:\"Muted\",enabledTitle:\"Yes\",disabledTitle:\"No\"},volume:{type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({muted})=>muted,defaultValue:25},onEnd:{type:ControlType.EventHandler},onSeeked:{type:ControlType.EventHandler},onPause:{type:ControlType.EventHandler},onPlay:{type:ControlType.EventHandler},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Video\":{\"type\":\"reactComponent\",\"name\":\"Video\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"112\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"200\",\"framerContractVersion\":\"1\"}},\"VideoProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Video.map","import{jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useState,useRef}from\"react\";import{motion,useMotionValue,animate,useInView}from\"framer-motion\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n *\n * @framerDisableUnlink\n */export default function AnimatedNumberCounter(props){const{mode,start,end,value,decimals,commas,color,animation}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const Tag=props.tag;const MotionTag=motion[props.tag];const isDefault=mode==\"default\";const initialValue=isDefault?start:value;const transition=isDefault?animation.transition:props.transition;const formatNumber=number=>{let numberString=number.toFixed(decimals);if(commas){numberString=numberString.replace(/\\B(?=(\\d{3})+(?!\\d))/g,\",\");}return numberString;};const[number,setNumber]=useState(initialValue);const[finalValue,setFinalValue]=useState(number);const[currentAnimation,setCurrentAnimation]=useState(null);const ref=useRef(null);const isInView=useInView(ref,{once:!props.animation.replay,amount:\"some\"});const motionValue=useMotionValue(value);const runAnimation=(from,to)=>{if(!isCanvas){if(currentAnimation){currentAnimation.stop();}setFinalValue(to);setCurrentAnimation(animate(from,to,{...transition,onUpdate:latest=>{setNumber(latest);}}));}};useEffect(()=>{if(isDefault&&animation.trigger==\"appear\"){runAnimation(start,end);}},[]);useEffect(()=>{if(isDefault&&animation.trigger==\"layerInView\"){if(isInView){runAnimation(start,end);}else{if(currentAnimation){currentAnimation.stop();}setNumber(start);}}},[isInView]);useEffect(()=>{if(!isDefault){runAnimation(number,value);}},[value]);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(Tag,{style:{...props.style,margin:0,opacity:0,pointerEvents:\"none\",userSelect:\"none\",textWrap:props.balance?\"balance\":undefined,fontVariantNumeric:props.monospace?\"tabular-nums\":undefined,textAlign:\"center\",...props.font},children:[props.prefix,formatNumber(isCanvas?initialValue:finalValue),props.suffix]}),/*#__PURE__*/_jsxs(MotionTag,{ref:ref,style:{position:\"absolute\",inset:0,userSelect:props.userSelect?\"auto\":\"none\",fontVariantNumeric:props.monospace?\"tabular-nums\":undefined,margin:0,...color.mode==\"solid\"?{color:color.color}:{WebkitBackgroundClip:\"text\",WebkitTextFillColor:\"transparent\",backgroundImage:`linear-gradient(${color.angle}deg, ${color.startColor}, ${color.endColor})`},textDecoration:props.decoration,textWrap:props.balance?\"balance\":undefined,textAlign:\"center\",...props.font,...props.style},children:[props.prefix,formatNumber(isCanvas?initialValue:number),props.suffix]})]});}AnimatedNumberCounter.displayName=\"Animated Number Counter\";addPropertyControls(AnimatedNumberCounter,{mode:{type:ControlType.Enum,options:[\"default\",\"variants\"],optionTitles:[\"Default\",\"Variants\"],displaySegmentedControl:true},value:{type:ControlType.Number,defaultValue:0,hidden:props=>props.mode!==\"variants\"},start:{type:ControlType.Number,defaultValue:0,hidden:props=>props.mode!==\"default\"},end:{type:ControlType.Number,defaultValue:100,hidden:props=>props.mode!==\"default\"},animation:{type:ControlType.Object,icon:\"effect\",hidden:props=>props.mode!==\"default\",controls:{trigger:{type:ControlType.Enum,defaultValue:\"layerInView\",options:[\"appear\",\"layerInView\"],optionTitles:[\"Appear\",\"Layer in View\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},replay:{type:ControlType.Boolean,defaultValue:true,hidden(props){return props.trigger!==\"layerInView\";}},transition:{type:ControlType.Transition,defaultValue:{type:\"spring\",duration:1,bounce:0}}}},transition:{type:ControlType.Transition,defaultValue:{type:\"spring\",duration:1,bounce:0},hidden:props=>props.mode!==\"variants\"},decimals:{type:ControlType.Enum,defaultValue:0,options:[0,1,2,3],optionTitles:[\"Off\",\"1\",\"2\",\"3\"],displaySegmentedControl:true},commas:{type:ControlType.Boolean,defaultValue:true},font:{type:\"font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:16,lineHeight:1}},color:{type:ControlType.Object,controls:{mode:{type:ControlType.Enum,defaultValue:\"solid\",options:[\"solid\",\"gradient\"],optionTitles:[\"Solid\",\"Gradient\"],displaySegmentedControl:true},color:{type:ControlType.Color,defaultValue:\"#000\",hidden:props=>props.mode!==\"solid\"},startColor:{type:ControlType.Color,defaultValue:\"#000\",hidden:props=>props.mode!==\"gradient\"},endColor:{type:ControlType.Color,defaultValue:\"#FFF\",hidden:props=>props.mode!==\"gradient\"},angle:{type:ControlType.Number,defaultValue:180,min:-360,max:360,unit:\"\\xb0\",hidden:props=>props.mode!==\"gradient\"}}},prefix:{type:ControlType.String,placeholder:\"Prefix\"},suffix:{type:ControlType.String,placeholder:\"Suffix\"},decoration:{type:ControlType.Enum,defaultValue:\"none\",options:[\"none\",\"underline\",\"line-through\"],optionTitles:[\"None\",\"Underline\",\"Strikethrough\"]},balance:{type:ControlType.Boolean,defaultValue:false},userSelect:{type:ControlType.Boolean,defaultValue:true},tag:{type:ControlType.Enum,defaultValue:\"p\",displaySegmentedControl:true,options:[\"h1\",\"h2\",\"h3\",\"p\"],optionTitles:[\"H1\",\"H2\",\"H3\",\"P\"]},monospace:{type:ControlType.Boolean,defaultValue:false,description:\"More components at [Framer University](https://frameruni.link/cc).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AnimatedNumberCounter\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AnimatedNumberCounter_Prod.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useRef,useState}from\"react\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 800\n * @framerIntrinsicHeight 500\n * @framerDisableUnlink\n */export default function KineticGrid(props){const{clickInteraction=false,clickProps={},cursorTrail=false,cursorTrailProps={},backgroundColor=\"transparent\",gridColor=\"#FFFFFF\",dotColor=\"#FFFFFF\",hoverColor=\"#FFFFFF\",gridSize=60,repulsionStrength=-.65,radius=290,dotSize=1.5,gridThickness=.5,baseOpacity=.09}=props;const{clickForce=0,motionSpeed=1}=clickProps;const{trailMode=\"hover\",trailLength=.1,trailColor=\"#FFFFFF\"}=cursorTrailProps;const canvasRef=useRef(null);const animationRef=useRef(null);const dotsRef=useRef(new Map);const mousePosRef=useRef(null);const trailPointsRef=useRef([]);const isMouseDownRef=useRef(false);const[mounted,setMounted]=useState(false);const colorsRef=useRef({backgroundColor,gridColor,dotColor,hoverColor,gridSize,repulsionStrength,radius,dotSize,gridThickness,baseOpacity,clickInteraction,clickForce,motionSpeed,cursorTrail,trailMode,trailLength,trailColor});const prevGridSizeRef=useRef(gridSize);useEffect(()=>{const gridSizeChanged=prevGridSizeRef.current!==gridSize;prevGridSizeRef.current=gridSize;colorsRef.current={backgroundColor,gridColor,dotColor,hoverColor,gridSize,repulsionStrength,radius,dotSize,gridThickness,baseOpacity,clickInteraction,clickForce,motionSpeed,cursorTrail,trailMode,trailLength,trailColor};if(gridSizeChanged&&mounted&&canvasRef.current){const canvas=canvasRef.current;const width=canvas.clientWidth||canvas.offsetWidth||1;const height=canvas.clientHeight||canvas.offsetHeight||1;dotsRef.current.clear();for(let gx=-gridSize;gx<width+gridSize*2;gx+=gridSize){for(let gy=-gridSize;gy<height+gridSize*2;gy+=gridSize){const key=`${gx},${gy}`;dotsRef.current.set(key,{x:gx,y:gy,vx:0,vy:0,size:1,targetSize:1,brightness:1});}}}},[mounted,backgroundColor,gridColor,dotColor,hoverColor,gridSize,repulsionStrength,radius,dotSize,gridThickness,baseOpacity,clickInteraction,clickForce,motionSpeed,cursorTrail,trailMode,trailLength,trailColor]);const parseColor=color=>{if(!color||color===\"transparent\")return{r:0,g:0,b:0,a:0};const rgbaMatch=color.match(/rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d.]+)/i);if(rgbaMatch)return{r:parseInt(rgbaMatch[1]),g:parseInt(rgbaMatch[2]),b:parseInt(rgbaMatch[3]),a:parseFloat(rgbaMatch[4])};const rgbMatch=color.match(/rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)/i);if(rgbMatch)return{r:parseInt(rgbMatch[1]),g:parseInt(rgbMatch[2]),b:parseInt(rgbMatch[3]),a:1};let hex=color.replace(\"#\",\"\");if(hex.length===8){return{r:parseInt(hex.substring(0,2),16),g:parseInt(hex.substring(2,4),16),b:parseInt(hex.substring(4,6),16),a:parseInt(hex.substring(6,8),16)/255};}if(hex.length===3)hex=hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2];const r=parseInt(hex.substring(0,2),16),g=parseInt(hex.substring(2,4),16),b=parseInt(hex.substring(4,6),16);return{r:isNaN(r)?160:r,g:isNaN(g)?160:g,b:isNaN(b)?160:b,a:1};};useEffect(()=>{setMounted(true);},[]);useEffect(()=>{if(!mounted)return;const canvas=canvasRef.current;if(!canvas)return;const ctx=canvas.getContext(\"2d\");if(!ctx)return;const maxDist=400;const getSpringParams=()=>{const speed=colorsRef.current.motionSpeed;const t=Math.max(0,Math.min(1,speed));return{springStiffness:.02+t*.06,damping:.7+t*.05};};const getCanvasSize=()=>{const width=canvas.clientWidth||canvas.offsetWidth||1;const height=canvas.clientHeight||canvas.offsetHeight||1;return{width,height};};const initDots=()=>{dotsRef.current.clear();const{width,height}=getCanvasSize();const currentGridSize=colorsRef.current.gridSize;for(let gx=-currentGridSize;gx<width+currentGridSize*2;gx+=currentGridSize){for(let gy=-currentGridSize;gy<height+currentGridSize*2;gy+=currentGridSize){const key=`${gx},${gy}`;dotsRef.current.set(key,{x:gx,y:gy,vx:0,vy:0,size:1,targetSize:1,brightness:1});}}};let{width,height}=getCanvasSize();canvas.width=width;canvas.height=height;initDots();let lastTime=performance.now();const getHoverIntensity=(x,y)=>{const mouse=mousePosRef.current;if(!mouse)return 0;const hoverRadius=colorsRef.current.radius;const dx=x-mouse.x,dy=y-mouse.y;const dist=Math.sqrt(dx*dx+dy*dy);if(dist>hoverRadius)return 0;return Math.pow(1-dist/hoverRadius,3.5);};const mapRepulsion=value=>{return value<=0?value*25:value*90;};const getCursorPush=(baseX,baseY)=>{const mouse=mousePosRef.current;const currentRepulsion=colorsRef.current.repulsionStrength;const mappedRepulsion=mapRepulsion(currentRepulsion);if(!mouse||mappedRepulsion===0)return{x:0,y:0};const dx=baseX-mouse.x,dy=baseY-mouse.y;const dist=Math.sqrt(dx*dx+dy*dy);if(dist===0)return{x:0,y:0};const normalizedDist=Math.min(dist/maxDist,1);const pushAmount=Math.pow(1-normalizedDist,2)*mappedRepulsion;return{x:dx/dist*pushAmount,y:dy/dist*pushAmount};};const getClickPush=(baseX,baseY)=>{if(!colorsRef.current.clickInteraction||!isMouseDownRef.current)return{x:0,y:0};const mouse=mousePosRef.current;const force=colorsRef.current.clickForce;if(!mouse||force<=0)return{x:0,y:0};const dx=baseX-mouse.x,dy=baseY-mouse.y;const dist=Math.sqrt(dx*dx+dy*dy);if(dist===0)return{x:0,y:0};const normalizedDist=Math.min(dist/maxDist,1);const pushAmount=Math.pow(1-normalizedDist,2)*force*100;return{x:dx/dist*pushAmount,y:dy/dist*pushAmount};};const animate=()=>{const now=performance.now();const deltaTime=now-lastTime;lastTime=now;const currentColors=colorsRef.current;const hoverColorParsed=parseColor(currentColors.hoverColor);const gridColorParsed=parseColor(currentColors.gridColor);const dotColorParsed=parseColor(currentColors.dotColor);const bgColorParsed=parseColor(currentColors.backgroundColor);const currentGridSize=currentColors.gridSize;const currentDotSize=currentColors.dotSize;const currentGridThickness=currentColors.gridThickness;const currentBaseOpacity=currentColors.baseOpacity;ctx.clearRect(0,0,width,height);ctx.fillStyle=`rgba(${bgColorParsed.r}, ${bgColorParsed.g}, ${bgColorParsed.b}, ${bgColorParsed.a})`;ctx.fillRect(0,0,width,height);dotsRef.current.forEach((dot,key)=>{const[gxStr,gyStr]=key.split(\",\");const gx=parseInt(gxStr),gy=parseInt(gyStr);const rightDot=dotsRef.current.get(`${gx+currentGridSize},${gy}`);const bottomDot=dotsRef.current.get(`${gx},${gy+currentGridSize}`);const hoverIntensity=getHoverIntensity(dot.x,dot.y);if(rightDot){const avgHover=(hoverIntensity+getHoverIntensity(rightDot.x,rightDot.y))/2;const r=Math.round(gridColorParsed.r+(hoverColorParsed.r-gridColorParsed.r)*avgHover);const g=Math.round(gridColorParsed.g+(hoverColorParsed.g-gridColorParsed.g)*avgHover);const b=Math.round(gridColorParsed.b+(hoverColorParsed.b-gridColorParsed.b)*avgHover);const lineOpacity=currentBaseOpacity+(1-currentBaseOpacity)*avgHover;ctx.beginPath();ctx.moveTo(dot.x,dot.y);ctx.lineTo(rightDot.x,rightDot.y);ctx.lineWidth=currentGridThickness+avgHover*2;ctx.strokeStyle=`rgba(${r}, ${g}, ${b}, ${lineOpacity})`;ctx.stroke();}if(bottomDot){const avgHover=(hoverIntensity+getHoverIntensity(bottomDot.x,bottomDot.y))/2;const r=Math.round(gridColorParsed.r+(hoverColorParsed.r-gridColorParsed.r)*avgHover);const g=Math.round(gridColorParsed.g+(hoverColorParsed.g-gridColorParsed.g)*avgHover);const b=Math.round(gridColorParsed.b+(hoverColorParsed.b-gridColorParsed.b)*avgHover);const lineOpacity=currentBaseOpacity+(1-currentBaseOpacity)*avgHover;ctx.beginPath();ctx.moveTo(dot.x,dot.y);ctx.lineTo(bottomDot.x,bottomDot.y);ctx.lineWidth=currentGridThickness+avgHover*2;ctx.strokeStyle=`rgba(${r}, ${g}, ${b}, ${lineOpacity})`;ctx.stroke();}});const{springStiffness,damping}=getSpringParams();dotsRef.current.forEach((dot,key)=>{const[gxStr,gyStr]=key.split(\",\");const gx=parseInt(gxStr),gy=parseInt(gyStr);const targetX=gx+getCursorPush(gx,gy).x+getClickPush(gx,gy).x;const targetY=gy+getCursorPush(gx,gy).y+getClickPush(gx,gy).y;const forceX=(targetX-dot.x)*springStiffness;const forceY=(targetY-dot.y)*springStiffness;dot.vx=(dot.vx+forceX)*damping;dot.vy=(dot.vy+forceY)*damping;dot.x+=dot.vx;dot.y+=dot.vy;const hoverIntensity=getHoverIntensity(dot.x,dot.y);dot.targetSize=currentDotSize+hoverIntensity*currentDotSize;dot.size+=(dot.targetSize-dot.size)*.15;const r=Math.round(dotColorParsed.r+(hoverColorParsed.r-dotColorParsed.r)*hoverIntensity);const g=Math.round(dotColorParsed.g+(hoverColorParsed.g-dotColorParsed.g)*hoverIntensity);const b=Math.round(dotColorParsed.b+(hoverColorParsed.b-dotColorParsed.b)*hoverIntensity);const opacity=currentBaseOpacity+(1-currentBaseOpacity)*hoverIntensity;ctx.beginPath();ctx.arc(dot.x,dot.y,Math.max(currentDotSize*.5,dot.size),0,Math.PI*2);ctx.fillStyle=`rgba(${r}, ${g}, ${b}, ${opacity})`;ctx.fill();});const{cursorTrail:ct,trailLength:tlen,trailColor:tcolor}=currentColors;const effectiveTrailLength=Math.max(1,Math.round(tlen*50));if(ct&&effectiveTrailLength>0){const trail=trailPointsRef.current;if(trail.length>1){const now=performance.now();const maxAge=Math.max(200,effectiveTrailLength*40);ctx.save();ctx.lineCap=\"round\";ctx.lineJoin=\"round\";ctx.lineWidth=2;ctx.beginPath();let started=false;for(let i=0;i<trail.length;i++){const point=trail[i],age=now-point.time;if(age<maxAge){if(!started){ctx.moveTo(point.x,point.y);started=true;}else{ctx.lineTo(point.x,point.y);}}}const trailAlpha=trail.length>0?Math.max(0,1-(now-trail[trail.length-1].time)/maxAge):0;const tc=parseColor(tcolor);ctx.strokeStyle=`rgba(${tc.r}, ${tc.g}, ${tc.b}, ${trailAlpha*.9*tc.a})`;ctx.stroke();ctx.restore();}}animationRef.current=requestAnimationFrame(animate);};animationRef.current=requestAnimationFrame(animate);const handleMouseMove=e=>{const rect=canvas.getBoundingClientRect();const canvasWidth=canvas.clientWidth||canvas.offsetWidth||1;const canvasHeight=canvas.clientHeight||canvas.offsetHeight||1;const scaleX=canvasWidth/rect.width;const scaleY=canvasHeight/rect.height;const x=(e.clientX-rect.left)*scaleX;const y=(e.clientY-rect.top)*scaleY;// Only track if mouse is within component bounds\nif(x>=0&&y>=0&&x<=canvasWidth&&y<=canvasHeight){mousePosRef.current={x,y};const{cursorTrail:ct,trailMode:tm,trailLength:tlen}=colorsRef.current;const effectiveLength=Math.max(1,Math.round(tlen*100));if(ct&&effectiveLength>0&&(tm===\"hover\"||isMouseDownRef.current)){const now=performance.now();const trail=trailPointsRef.current;trail.push({x,y,time:now});if(trail.length>effectiveLength)trail.splice(0,trail.length-effectiveLength);}}else{mousePosRef.current=null;}};const handleMouseDown=()=>{isMouseDownRef.current=true;};const handleMouseUp=()=>{if(colorsRef.current.trailMode===\"click\")trailPointsRef.current=[];isMouseDownRef.current=false;};// Attach listeners to window to allow interaction with underlying elements\nwindow.addEventListener(\"mousemove\",handleMouseMove);window.addEventListener(\"mousedown\",handleMouseDown);window.addEventListener(\"mouseup\",handleMouseUp);const handleResize=()=>{const newSize=getCanvasSize();width=newSize.width;height=newSize.height;canvas.width=width;canvas.height=height;initDots();};const resizeObserver=new ResizeObserver(handleResize);resizeObserver.observe(canvas);return()=>{window.removeEventListener(\"mousemove\",handleMouseMove);window.removeEventListener(\"mousedown\",handleMouseDown);window.removeEventListener(\"mouseup\",handleMouseUp);resizeObserver.disconnect();if(animationRef.current)cancelAnimationFrame(animationRef.current);};},[mounted]);if(!mounted)return null;return /*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",pointerEvents:\"none\",...props.style}});}addPropertyControls(KineticGrid,{clickInteraction:{type:ControlType.Boolean,title:\"Click\",defaultValue:false},clickProps:{type:ControlType.Object,title:\"Click Props\",hidden:p=>!p.clickInteraction,controls:{clickForce:{type:ControlType.Number,title:\"Click Force\",defaultValue:.5,min:.1,max:1,step:.1},motionSpeed:{type:ControlType.Number,title:\"Snappyness\",defaultValue:.5,min:.1,max:1,step:.1}}},cursorTrail:{type:ControlType.Boolean,title:\"Cursor Trail\",defaultValue:false},cursorTrailProps:{type:ControlType.Object,hidden:p=>!p.cursorTrail,title:\"Trail Props\",controls:{trailMode:{type:ControlType.Enum,title:\"Trail Mode\",options:[\"click\",\"hover\"],defaultValue:\"hover\"},trailLength:{type:ControlType.Number,title:\"Trail Length\",defaultValue:.1,min:.1,max:1,step:.1},trailColor:{type:ControlType.Color,title:\"Trail Color\",defaultValue:\"#FFFFFF\"}}},gridThickness:{type:ControlType.Number,title:\"Grid Stroke\",defaultValue:.5,min:.1,max:3,step:.1},dotSize:{type:ControlType.Number,title:\"Dot Size\",defaultValue:1.5,min:.5,max:5,step:.1},baseOpacity:{type:ControlType.Number,title:\"Far Opacity\",defaultValue:.09,min:0,max:1,step:.01},gridSize:{type:ControlType.Number,title:\"Grid Size\",defaultValue:60,min:20,max:100,step:5},repulsionStrength:{type:ControlType.Number,title:\"Repulsion\",defaultValue:-.65,min:-1,max:1,step:.01},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:350,min:50,max:1e3,step:10},hoverColor:{type:ControlType.Color,title:\"Hover\",defaultValue:\"#0073FF\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"transparent\"},gridColor:{type:ControlType.Color,title:\"Grid\",defaultValue:\"#FFFFFF\"},dotColor:{type:ControlType.Color,title:\"Dots\",defaultValue:\"#FFFFFF\",description:\"More components at [Framer University](https://frameruni.link/cc).\"}});KineticGrid.displayName=\"Kinetic Grid\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"KineticGrid\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"500\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"800\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./InteractiveGrid_prod.map","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 5.625 0 L 1.125 0 C 0.504 0 0 0.504 0 1.125 L 0 18.375 C 0 18.996 0.504 19.5 1.125 19.5 L 13.875 19.5 C 14.496 19.5 15 18.996 15 18.375 L 15 9.375 M 5.625 0 L 6 0 C 10.971 0 15 4.029 15 9 L 15 9.375 M 5.625 0 C 7.489 0 9 1.511 9 3.375 L 9 4.875 C 9 5.496 9.504 6 10.125 6 L 11.625 6 C 13.489 6 15 7.511 15 9.375 M 4.5 12.75 L 6.75 15 L 10.5 9.75\" fill=\"transparent\" height=\"19.5px\" id=\"GzmRrEpR_\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" stroke=\"var(--szd5nr, black)\" transform=\"translate(4.5 2.25)\" width=\"15px\"/></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({height,id,stroke,width,...props})=>{return{...props,YmfIrZ3Ez:stroke??props.YmfIrZ3Ez??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,YmfIrZ3Ez,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-ahREl\",className),layoutId:layoutId,ref:ref,style:{\"--szd5nr\":YmfIrZ3Ez,...style}});});const css=[`.framer-ahREl { -webkit-mask: ${mask}; aspect-ratio: 1; background-color: var(--szd5nr); mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"YmfIrZ3Ez\":\"stroke\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Document Check\",\"color\":{\"type\":\"variable\",\"value\":\"szd5nr\"},\"set\":{\"localId\":\"vectorSet/kNBkgkDkJ\",\"id\":\"kNBkgkDkJ\",\"moduleId\":\"DyJDRQD0f0RPOu0ZYoEG\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-ahREl\");Icon.displayName=\"Document Check\";export default Icon;addPropertyControls(Icon,{YmfIrZ3Ez:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Stroke\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"true\",\"framerVector\":\"{\\\"name\\\":\\\"Document Check\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"szd5nr\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/kNBkgkDkJ\\\",\\\"id\\\":\\\"kNBkgkDkJ\\\",\\\"moduleId\\\":\\\"DyJDRQD0f0RPOu0ZYoEG\\\"}}\",\"framerIntrinsicHeight\":\"24\",\"framerVariables\":\"{\\\"YmfIrZ3Ez\\\":\\\"stroke\\\"}\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 12.182 12.182 C 10.425 13.939 7.575 13.939 5.818 12.182 M 18 9 C 18 13.971 13.971 18 9 18 C 4.029 18 0 13.971 0 9 C 0 4.029 4.029 0 9 0 C 13.971 0 18 4.029 18 9 Z M 6.75 6.75 C 6.75 7.164 6.582 7.5 6.375 7.5 C 6.168 7.5 6 7.164 6 6.75 C 6 6.336 6.168 6 6.375 6 C 6.582 6 6.75 6.336 6.75 6.75 Z M 6.375 6.75 L 6.383 6.75 L 6.383 6.765 L 6.375 6.765 Z M 12 6.75 C 12 7.164 11.832 7.5 11.625 7.5 C 11.418 7.5 11.25 7.164 11.25 6.75 C 11.25 6.336 11.418 6 11.625 6 C 11.832 6 12 6.336 12 6.75 Z M 11.625 6.75 L 11.633 6.75 L 11.633 6.765 L 11.625 6.765 Z\" fill=\"transparent\" height=\"18px\" id=\"D2HyFVcxy\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" stroke=\"var(--szd5nr, black)\" transform=\"translate(3 3)\" width=\"18px\"/></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({height,id,stroke,width,...props})=>{return{...props,YmfIrZ3Ez:stroke??props.YmfIrZ3Ez??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,YmfIrZ3Ez,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-ZJFo9\",className),layoutId:layoutId,ref:ref,style:{\"--szd5nr\":YmfIrZ3Ez,...style}});});const css=[`.framer-ZJFo9 { -webkit-mask: ${mask}; aspect-ratio: 1; background-color: var(--szd5nr); mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"YmfIrZ3Ez\":\"stroke\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Face Smile\",\"color\":{\"type\":\"variable\",\"value\":\"szd5nr\"},\"set\":{\"localId\":\"vectorSet/kNBkgkDkJ\",\"id\":\"kNBkgkDkJ\",\"moduleId\":\"DyJDRQD0f0RPOu0ZYoEG\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-ZJFo9\");Icon.displayName=\"Face Smile\";export default Icon;addPropertyControls(Icon,{YmfIrZ3Ez:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Stroke\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerVector\":\"{\\\"name\\\":\\\"Face Smile\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"szd5nr\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/kNBkgkDkJ\\\",\\\"id\\\":\\\"kNBkgkDkJ\\\",\\\"moduleId\\\":\\\"DyJDRQD0f0RPOu0ZYoEG\\\"}}\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"24\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerVariables\":\"{\\\"YmfIrZ3Ez\\\":\\\"stroke\\\"}\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (f36d8c8)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"Inter-Medium\",\"Inter-Bold\",\"Inter-BoldItalic\",\"Inter-MediumItalic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5A3Ce6C9YYmCjpQx9M4inSaKU.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/Qx95Xyt0Ka3SGhinnbXIGpEIyP4.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/6mJuEAguuIuMog10gGvH5d3cl8.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/xYYWaj7wCU5zSQH0eXvSaS19wo.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/otTaNuNpVK4RbdlT7zDDdKvQBA.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/UjlFhCnUjxhNfep4oYBPqnEssyo.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/DolVirEGb34pEXEp8t8FQBSK4.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/syRNPWzAMIrcJ3wIlPIP43KjQs.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/H89BbHkbHDzlxZzxi8uPzTsp90.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/u6gJwDuwB143kpNK1T1MDKDWkMc.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/43sJ6MfOPh1LCJt46OvyDuSbA6o.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/wccHG0r4gBDAIRhfHiOlq6oEkqw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/WZ367JPwf9bRW6LdTHN8rXgSjw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/ia3uin3hQWqDrVloC1zEtYHWw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/2A4Xx7CngadFGlVV4xrO06OBHY.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/khkJkwSL66WFg8SX6Wa726c.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/0E7IMbDzcGABpBwwqNEt60wU0w.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/NTJ0nQgIF0gcDelS14zQ9NR9Q.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/QrcNhgEPfRl0LS8qz5Ln8olanl8.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JEXmejW8mXOYMtt0hyRg811kHac.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/Bo5CNzBv77CafbxOtKIkpw9egw.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/uy9s0iWuxiNnVt8EpTI3gzohpwo.woff2\",weight:\"500\"}]}];export const css=['.framer-iRNsw .framer-styles-preset-1ywx82t:not(.rich-text-wrapper), .framer-iRNsw .framer-styles-preset-1ywx82t.rich-text-wrapper p { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 24px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: -0.04em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 20px; --framer-text-alignment: left; --framer-text-color: #050505; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-iRNsw\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (f36d8c8)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"Inter-Medium\",\"Inter-Bold\",\"Inter-BoldItalic\",\"Inter-MediumItalic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5A3Ce6C9YYmCjpQx9M4inSaKU.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/Qx95Xyt0Ka3SGhinnbXIGpEIyP4.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/6mJuEAguuIuMog10gGvH5d3cl8.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/xYYWaj7wCU5zSQH0eXvSaS19wo.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/otTaNuNpVK4RbdlT7zDDdKvQBA.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/UjlFhCnUjxhNfep4oYBPqnEssyo.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/DolVirEGb34pEXEp8t8FQBSK4.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/syRNPWzAMIrcJ3wIlPIP43KjQs.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/H89BbHkbHDzlxZzxi8uPzTsp90.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/u6gJwDuwB143kpNK1T1MDKDWkMc.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/43sJ6MfOPh1LCJt46OvyDuSbA6o.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/wccHG0r4gBDAIRhfHiOlq6oEkqw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/WZ367JPwf9bRW6LdTHN8rXgSjw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/ia3uin3hQWqDrVloC1zEtYHWw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/2A4Xx7CngadFGlVV4xrO06OBHY.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/khkJkwSL66WFg8SX6Wa726c.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/0E7IMbDzcGABpBwwqNEt60wU0w.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/NTJ0nQgIF0gcDelS14zQ9NR9Q.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/QrcNhgEPfRl0LS8qz5Ln8olanl8.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JEXmejW8mXOYMtt0hyRg811kHac.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/Bo5CNzBv77CafbxOtKIkpw9egw.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/uy9s0iWuxiNnVt8EpTI3gzohpwo.woff2\",weight:\"500\"}]}];export const css=['.framer-a8LOK .framer-styles-preset-1ie75ke:not(.rich-text-wrapper), .framer-a8LOK .framer-styles-preset-1ie75ke.rich-text-wrapper p { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 32px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: -0.05em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 20px; --framer-text-alignment: left; --framer-text-color: #050505; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-a8LOK\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (1493872)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,getFontsFromSharedStyle,getLoadingLazyAtYPosition,Image as Image1,ResolveLinks,RichText,SmartComponentScopedContainer,SVG,useComponentViewport,useLocaleInfo,useRouter,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import CalendarCheck from\"https://framerusercontent.com/modules/6f50fMjSnKMK3YQRUtit/ahtMZPMgil4tGXLl1tvZ/H4mg7DsTZ.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/1qHnzhGpcWsWZUR70P39/tIFV26Hz6INqGaOFcQpa/eBjd5F7F8.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/jAl3tkwSUJg4ojgrtb9C/Y3tzM3NZzY0Dpk9UrWVK/FB2x5eZxp.js\";import*as sharedStyle2 from\"https://framerusercontent.com/modules/7jBNgkPtLmQN2jBwzFtG/hgNlFJnHx5pV4igQYYHO/MfrGMlh9a.js\";import WIKContactButton from\"https://framerusercontent.com/modules/aYThXG2fxpYeriZ54mmj/eizxO0aB4dTeMJyjei2Y/fYebATT0i.js\";const WIKContactButtonFonts=getFonts(WIKContactButton);const cycleOrder=[\"H12IsH5cp\",\"fc0aoJ_Cw\",\"UBOK_WkAj\"];const serializationHash=\"framer-ikeik\";const variantClassNames={fc0aoJ_Cw:\"framer-v-yxyfex\",H12IsH5cp:\"framer-v-spclwb\",UBOK_WkAj:\"framer-v-4o552q\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const CvFvI5yhH=undefined;const DDqbCZlfd=undefined;const yJhgYDud6=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"Call CTA\":\"UBOK_WkAj\",Phone:\"fc0aoJ_Cw\",Primary:\"H12IsH5cp\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,step,text,title,width,...props})=>{return{...props,CvFvI5yhH:step??props.CvFvI5yhH??\"01\",DDqbCZlfd:title??props.DDqbCZlfd??\"Book a free discovery call\",variant:humanReadableVariantMap[props.variant]??props.variant??\"H12IsH5cp\",yJhgYDud6:text??props.yJhgYDud6??\"Choose a time that works for you and we’ll define your goals, ideal outcome, and how I can help make it real.\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,DDqbCZlfd,yJhgYDud6,CvFvI5yhH,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"H12IsH5cp\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"UBOK_WkAj\")return false;return true;};const isDisplayed1=()=>{if(baseVariant===\"UBOK_WkAj\")return true;return false;};const router=useRouter();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-spclwb\",className,classNames),\"data-framer-name\":\"Primary\",layoutDependency:layoutDependency,layoutId:\"H12IsH5cp\",ref:refBinding,style:{backgroundColor:\"rgb(250, 250, 250)\",borderBottomLeftRadius:12,borderBottomRightRadius:12,borderTopLeftRadius:12,borderTopRightRadius:12,...style},...addPropertyOverrides({fc0aoJ_Cw:{\"data-framer-name\":\"Phone\"},UBOK_WkAj:{\"data-framer-name\":\"Call CTA\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1jtdqbg\",layoutDependency:layoutDependency,layoutId:\"PPB8AyT1j\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1x8tmex\",\"data-framer-name\":\"Text\",layoutDependency:layoutDependency,layoutId:\"vSlt1afyL\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1yqwcvs\",layoutDependency:layoutDependency,layoutId:\"Y3MHxOLFm\",children:[isDisplayed()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1ywx82t\",\"data-styles-preset\":\"eBjd5F7F8\",dir:\"auto\",children:\"01\"})}),className:\"framer-1d07udk\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"XQROfuHjj\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",opacity:.7},text:CvFvI5yhH,verticalAlignment:\"top\",withExternalLayout:true}),isDisplayed1()&&/*#__PURE__*/_jsx(Image1,{background:{alt:\"Womand Headshot\",fit:\"fill\",intrinsicHeight:784,intrinsicWidth:784,pixelHeight:784,pixelWidth:784,src:\"https://framerusercontent.com/images/vZueeLLyzihC9STk84W8Bu92jM8.gif?width=784&height=784\",srcSet:\"https://framerusercontent.com/images/vZueeLLyzihC9STk84W8Bu92jM8.gif?scale-down-to=512&width=784&height=784 512w,https://framerusercontent.com/images/vZueeLLyzihC9STk84W8Bu92jM8.gif?width=784&height=784 784w\"},className:\"framer-1rap9jw\",layoutDependency:layoutDependency,layoutId:\"JOQW_Pd9v\",style:{borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10},...addPropertyOverrides({UBOK_WkAj:{background:{alt:\"Womand Headshot\",fit:\"fill\",intrinsicHeight:784,intrinsicWidth:784,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+20+(0+0+((componentViewport?.height||400)-40-(Math.max(0,((componentViewport?.height||400)-40-41)/1)*1+41))/1*0)+0+0+0+0+0),pixelHeight:784,pixelWidth:784,sizes:\"56px\",src:\"https://framerusercontent.com/images/vZueeLLyzihC9STk84W8Bu92jM8.gif?width=784&height=784\",srcSet:\"https://framerusercontent.com/images/vZueeLLyzihC9STk84W8Bu92jM8.gif?scale-down-to=512&width=784&height=784 512w,https://framerusercontent.com/images/vZueeLLyzihC9STk84W8Bu92jM8.gif?width=784&height=784 784w\"}}},baseVariant,gestureVariant)})]}),isDisplayed()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1ie75ke\",\"data-styles-preset\":\"FB2x5eZxp\",dir:\"auto\",children:\"Book a free discovery call\"})}),className:\"framer-1ohydc2\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"RQdKAPekc\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:DDqbCZlfd,verticalAlignment:\"top\",withExternalLayout:true}),isDisplayed1()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.h3,{dir:\"auto\",style:{\"--font-selector\":\"RlI7SW50ZXJEaXNwbGF5LU1lZGl1bQ==\",\"--framer-font-family\":'\"Inter Display\", \"Inter Display Placeholder\", sans-serif',\"--framer-font-size\":\"24px\",\"--framer-font-weight\":\"500\",\"--framer-line-height\":\"115%\",\"--framer-text-color\":\"var(--extracted-a0htzi, var(--token-2759885a-0605-4b0d-ae5f-9a938c3766f2, rgb(0, 0, 0)))\"},children:[/*#__PURE__*/_jsx(motion.span,{style:{\"--framer-text-color\":\"var(--extracted-1k2zljd, rgb(130, 130, 130))\"},children:\"Still not sure?\"}),/*#__PURE__*/_jsx(motion.br,{}),\"Book a free discovery call.\"]})}),className:\"framer-bvhja6\",\"data-framer-name\":\"Still not sure? Book a free discovery call\",fonts:[\"FR;InterDisplay-Medium\"],layoutDependency:layoutDependency,layoutId:\"a9kYODFJr\",style:{\"--extracted-1k2zljd\":\"rgb(130, 130, 130)\",\"--extracted-a0htzi\":\"var(--token-2759885a-0605-4b0d-ae5f-9a938c3766f2, rgb(0, 0, 0))\",\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1qf8msq\",layoutDependency:layoutDependency,layoutId:\"T5JyXf2bP\"}),isDisplayed()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1k103ux\",\"data-styles-preset\":\"MfrGMlh9a\",dir:\"auto\",children:\"Choose a time that works for you and we’ll define your goals, ideal outcome, and how I can help make it real.\"})}),className:\"framer-1idvli1\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"HPSTL7ele\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",opacity:.7},text:yJhgYDud6,verticalAlignment:\"top\",withExternalLayout:true})]}),isDisplayed1()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-162jrsn\",\"data-framer-name\":\"Button & Logo\",layoutDependency:layoutDependency,layoutId:\"uDnAMgX7j\",children:[/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"Hybz1w70H\"},implicitPathVariables:undefined},{href:{webPageId:\"Hybz1w70H\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:41,...addPropertyOverrides({UBOK_WkAj:{y:(componentViewport?.y||0)+20+(0+Math.max(0,((componentViewport?.height||400)-40-41)/1)*1+((componentViewport?.height||400)-40-(Math.max(0,((componentViewport?.height||400)-40-41)/1)*1+41))/1*1)+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1kzvzgd-container\",\"data-framer-name\":\"2WIK - Secondeyr Button (Nav)\",layoutDependency:layoutDependency,layoutId:\"vs0RGkTUF-container\",name:\"2WIK - Secondeyr Button (Nav)\",nodeId:\"vs0RGkTUF\",rendersWithMotion:true,scopeId:\"hkHWOlCLx\",children:/*#__PURE__*/_jsx(WIKContactButton,{fAdga0dRE:false,height:\"100%\",HuaRwWbiO:\"Schedule call\",id:\"vs0RGkTUF\",jrgHlYnhG:true,layoutId:\"vs0RGkTUF\",name:\"2WIK - Secondeyr Button (Nav)\",odGCSxHX4:true,PsOrfrY8S:false,qoJuCO1ff:false,SNo_4eHGp:CalendarCheck,variant:matchVariant(\"SeNhcK9VN\"),W0K0xXZO1:resolvedLinks[0],width:\"100%\",...addPropertyOverrides({UBOK_WkAj:{W0K0xXZO1:resolvedLinks[1]}},baseVariant,gestureVariant)})})})}),/*#__PURE__*/_jsx(SVG,{className:\"framer-3mbcw8\",\"data-framer-name\":\"Cal-logo\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"A2t9tjA_Y\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 61 13\"><path d=\"M 6.075 12.887 C 2.61 12.887 0 10.076 0 6.605 C 0 3.124 2.476 0.29 6.075 0.29 C 7.985 0.29 9.306 0.891 10.339 2.268 L 8.673 3.691 C 7.973 2.927 7.13 2.546 6.075 2.546 C 3.731 2.546 2.443 4.384 2.443 6.605 C 2.443 8.826 3.854 10.631 6.075 10.631 C 7.119 10.631 8.007 10.25 8.707 9.486 L 10.35 10.966 C 9.362 12.285 8.007 12.887 6.075 12.887 Z M 17.525 3.644 L 19.768 3.644 L 19.768 12.666 L 17.525 12.666 L 17.525 11.348 C 17.058 12.285 16.28 12.91 14.793 12.91 C 12.416 12.91 10.517 10.792 10.517 8.19 C 10.517 5.587 12.416 3.47 14.793 3.47 C 16.269 3.47 17.058 4.095 17.525 5.032 Z M 17.591 8.19 C 17.591 6.779 16.647 5.61 15.159 5.61 C 13.726 5.61 12.794 6.79 12.794 8.19 C 12.794 9.555 13.726 10.77 15.159 10.77 C 16.636 10.77 17.591 9.59 17.591 8.19 Z M 21.356 0 L 23.599 0 L 23.599 12.655 L 21.356 12.655 Z M 24.599 11.464 C 24.599 10.723 25.176 10.099 25.964 10.099 C 26.321 10.091 26.665 10.232 26.919 10.489 C 27.172 10.746 27.313 11.098 27.309 11.464 C 27.309 12.227 26.742 12.851 25.965 12.851 C 25.603 12.857 25.255 12.712 24.998 12.451 C 24.741 12.19 24.597 11.834 24.599 11.464 Z M 35.893 11.209 C 35.06 12.25 33.794 12.91 32.295 12.91 C 29.618 12.91 27.653 10.792 27.653 8.19 C 27.653 5.587 29.618 3.47 32.295 3.47 C 33.738 3.47 34.993 4.095 35.826 5.078 L 34.094 6.57 C 33.661 6.015 33.095 5.599 32.294 5.599 C 30.862 5.599 29.929 6.779 29.929 8.178 C 29.929 9.578 30.862 10.758 32.295 10.758 C 33.161 10.758 33.761 10.295 34.205 9.67 Z M 36.082 8.19 C 36.082 5.587 38.048 3.47 40.724 3.47 C 43.401 3.47 45.366 5.588 45.366 8.19 C 45.366 10.792 43.401 12.91 40.724 12.91 C 38.048 12.897 36.082 10.792 36.082 8.19 Z M 43.09 8.19 C 43.09 6.779 42.156 5.61 40.724 5.61 C 39.291 5.599 38.359 6.779 38.359 8.19 C 38.359 9.589 39.291 10.77 40.724 10.77 C 42.156 10.77 43.09 9.59 43.09 8.19 Z M 60.536 7.149 L 60.536 12.655 L 58.293 12.655 L 58.293 7.715 C 58.293 6.154 57.582 5.483 56.516 5.483 C 55.517 5.483 54.806 5.992 54.806 7.716 L 54.806 12.655 L 52.563 12.655 L 52.563 7.715 C 52.563 6.154 51.841 5.483 50.786 5.483 C 49.786 5.483 48.909 5.992 48.909 7.716 L 48.909 12.655 L 46.666 12.655 L 46.666 3.633 L 48.909 3.633 L 48.909 4.882 C 49.375 3.91 50.219 3.424 51.518 3.424 C 52.751 3.424 53.784 4.049 54.351 5.102 C 54.917 4.026 55.75 3.424 57.26 3.424 C 59.104 3.436 60.536 4.87 60.536 7.149 Z\" fill=\"rgb(184, 184, 184)\"></path></svg>',svgContentId:12702924072,withExternalLayout:true})]})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-ikeik.framer-53ufit, .framer-ikeik .framer-53ufit { display: block; }\",\".framer-ikeik.framer-spclwb { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; height: 400px; justify-content: space-between; overflow: visible; padding: 16px; position: relative; width: 344px; }\",\".framer-ikeik .framer-1jtdqbg { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; height: 1px; justify-content: space-between; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-ikeik .framer-1x8tmex { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-ikeik .framer-1yqwcvs { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-ikeik .framer-1d07udk { flex: 1 0 0px; height: auto; position: relative; white-space: pre-wrap; width: 1px; word-break: break-word; word-wrap: break-word; }\",\".framer-ikeik .framer-1rap9jw { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 56px); overflow: hidden; position: relative; width: 56px; will-change: var(--framer-will-change-override, transform); }\",\".framer-ikeik .framer-1ohydc2 { --framer-text-wrap-override: balance; flex: none; height: auto; max-width: 242px; position: relative; width: 100%; }\",\".framer-ikeik .framer-bvhja6 { --framer-text-wrap: balance; flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-ikeik .framer-1qf8msq { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 1px; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-ikeik .framer-1idvli1 { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-ikeik .framer-162jrsn { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 18px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 100%; z-index: 2; }\",\".framer-ikeik .framer-1kzvzgd-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-ikeik .framer-3mbcw8 { flex: none; height: 13px; position: relative; width: 61px; }\",\".framer-ikeik.framer-v-yxyfex.framer-spclwb { height: 307px; width: 358px; }\",\".framer-ikeik.framer-v-4o552q.framer-spclwb { padding: 20px; width: 358px; }\",\".framer-ikeik.framer-v-4o552q .framer-1jtdqbg { gap: 10px; justify-content: flex-start; }\",\".framer-ikeik.framer-v-4o552q .framer-1x8tmex { gap: 20px; }\",\".framer-ikeik.framer-v-4o552q .framer-1yqwcvs { justify-content: flex-start; }\",\".framer-ikeik.framer-v-4o552q .framer-1qf8msq { flex: none; height: min-content; min-height: 127px; }\",...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 400\n * @framerIntrinsicWidth 344\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"fc0aoJ_Cw\":{\"layout\":[\"fixed\",\"fixed\"]},\"UBOK_WkAj\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"DDqbCZlfd\":\"title\",\"yJhgYDud6\":\"text\",\"CvFvI5yhH\":\"step\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerhkHWOlCLx=withCSS(Component,css,\"framer-ikeik\");export default FramerhkHWOlCLx;FramerhkHWOlCLx.displayName=\"How it works card\";FramerhkHWOlCLx.defaultProps={height:400,width:344};addPropertyControls(FramerhkHWOlCLx,{variant:{options:[\"H12IsH5cp\",\"fc0aoJ_Cw\",\"UBOK_WkAj\"],optionTitles:[\"Primary\",\"Phone\",\"Call CTA\"],title:\"Variant\",type:ControlType.Enum},DDqbCZlfd:{defaultValue:\"Book a free discovery call\",displayTextArea:true,title:\"Title\",type:ControlType.String},onDDqbCZlfdChange:{changes:\"DDqbCZlfd\",type:ControlType.ChangeHandler},yJhgYDud6:{defaultValue:\"Choose a time that works for you and we’ll define your goals, ideal outcome, and how I can help make it real.\",displayTextArea:true,title:\"Text\",type:ControlType.String},onyJhgYDud6Change:{changes:\"yJhgYDud6\",type:ControlType.ChangeHandler},CvFvI5yhH:{defaultValue:\"01\",displayTextArea:true,title:\"Step\",type:ControlType.String},onCvFvI5yhHChange:{changes:\"CvFvI5yhH\",type:ControlType.ChangeHandler}});addFonts(FramerhkHWOlCLx,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/ePuN3mCjzajIHnyCdvKBFiZkyY0.woff2\",weight:\"500\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/V3j1L0o5vPFKe26Sw4HcpXCfHo.woff2\",weight:\"500\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/F3kdpd2N0cToWV5huaZjjgM.woff2\",weight:\"500\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/0iDmxkizU9goZoclqIqsV5rvETU.woff2\",weight:\"500\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/r0mv3NegmA0akcQsNFotG32Las.woff2\",weight:\"500\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/iwWTDc49ENF2tCHbqlNARXw6Ug.woff2\",weight:\"500\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/Ii21jnSJkulBKsHHXKlapi7fv9w.woff2\",weight:\"500\"}]},...WIKContactButtonFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts)],{supportsExplicitInterCodegen:true});FramerhkHWOlCLx.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(WIKContactButton,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerhkHWOlCLx\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"fc0aoJ_Cw\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"UBOK_WkAj\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\",\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"400\",\"framerVariables\":\"{\\\"DDqbCZlfd\\\":\\\"title\\\",\\\"yJhgYDud6\\\":\\\"text\\\",\\\"CvFvI5yhH\\\":\\\"step\\\"}\",\"framerIntrinsicWidth\":\"344\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (b16259d)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const serializationHash=\"framer-Ty5h1\";const variantClassNames={cpHvGAEd5:\"framer-v-12nev5h\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const BOCaIHHrg=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,id,title,width,...props})=>{return{...props,BOCaIHHrg:title??props.BOCaIHHrg??\"Branding\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,BOCaIHHrg,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"cpHvGAEd5\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-12nev5h\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"cpHvGAEd5\",ref:refBinding,style:{...style},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"SW50ZXItTWVkaXVt\",\"--framer-font-open-type-features\":\"'blwf' on, 'cv09' on, 'cv03' on, 'cv04' on, 'ss01' on, 'ss07' on\",\"--framer-font-size\":\"calc(var(--framer-root-font-size, 1rem) * 1)\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.01em\",\"--framer-line-height\":\"1.3em\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-8b57468b-891a-4c69-9794-ea2945515f05, rgb(255, 255, 255)))\"},children:\"Branding\"})}),className:\"framer-ij34k3\",fonts:[\"Inter-Medium\"],layoutDependency:layoutDependency,layoutId:\"L7XwF73k4\",style:{\"--extracted-r6o4lv\":\"var(--token-8b57468b-891a-4c69-9794-ea2945515f05, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:BOCaIHHrg,verticalAlignment:\"top\",withExternalLayout:true})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-Ty5h1.framer-9yxxng, .framer-Ty5h1 .framer-9yxxng { display: block; }\",\".framer-Ty5h1.framer-12nev5h { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: min-content; }\",\".framer-Ty5h1 .framer-ij34k3 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 200\n * @framerIntrinsicWidth 200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"BOCaIHHrg\":\"title\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerpRXFuPqvq=withCSS(Component,css,\"framer-Ty5h1\");export default FramerpRXFuPqvq;FramerpRXFuPqvq.displayName=\"Tag\";FramerpRXFuPqvq.defaultProps={height:200,width:200};addPropertyControls(FramerpRXFuPqvq,{BOCaIHHrg:{defaultValue:\"Branding\",displayTextArea:false,title:\"Title\",type:ControlType.String},onBOCaIHHrgChange:{changes:\"BOCaIHHrg\",type:ControlType.ChangeHandler}});addFonts(FramerpRXFuPqvq,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5A3Ce6C9YYmCjpQx9M4inSaKU.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/Qx95Xyt0Ka3SGhinnbXIGpEIyP4.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/6mJuEAguuIuMog10gGvH5d3cl8.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/xYYWaj7wCU5zSQH0eXvSaS19wo.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/otTaNuNpVK4RbdlT7zDDdKvQBA.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/UjlFhCnUjxhNfep4oYBPqnEssyo.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/DolVirEGb34pEXEp8t8FQBSK4.woff2\",weight:\"500\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerpRXFuPqvq\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"200\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicWidth\":\"200\",\"framerDisplayContentsDiv\":\"false\",\"framerVariables\":\"{\\\"BOCaIHHrg\\\":\\\"title\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./pRXFuPqvq.map","// Generated by Framer (f2f96df)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const serializationHash=\"framer-2jMXu\";const variantClassNames={VJ2DSlbgt:\"framer-v-muhcwu\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const LX_O3f6H2=undefined;const JM1MY95S3=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,id,price,service,width,...props})=>{return{...props,JM1MY95S3:price??props.JM1MY95S3??\"from $1999\",LX_O3f6H2:service??props.LX_O3f6H2??\"Landing Page\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,LX_O3f6H2,JM1MY95S3,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"VJ2DSlbgt\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-muhcwu\",className,classNames),\"data-framer-name\":\"Default\",layoutDependency:layoutDependency,layoutId:\"VJ2DSlbgt\",ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-u6gldg\",\"data-framer-name\":\"Dot + Service\",layoutDependency:layoutDependency,layoutId:\"yOTnqLQ7L\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-8iv2sh\",\"data-framer-name\":\"Dot Area\",layoutDependency:layoutDependency,layoutId:\"EzLnFPCyp\",children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-10b2pkw\",\"data-framer-name\":\"Dot\",layoutDependency:layoutDependency,layoutId:\"hXZLUeetz\",style:{backgroundColor:\"var(--token-416869b7-81a6-4f95-9a11-239533a23087, rgb(14, 14, 14))\",borderBottomLeftRadius:4,borderBottomRightRadius:4,borderTopLeftRadius:4,borderTopRightRadius:4}})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--framer-font-open-type-features\":\"'blwf' on, 'case' on, 'ss01' on, 'ss02' on, 'ss03' on, 'cv09' on, 'cv03' on, 'cv04' on, 'cv05' on\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"22px\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-416869b7-81a6-4f95-9a11-239533a23087, rgb(14, 14, 14)))\"},children:\"Landing Page\"})}),className:\"framer-16ktowt\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"yjusaUXOa\",style:{\"--extracted-r6o4lv\":\"var(--token-416869b7-81a6-4f95-9a11-239533a23087, rgb(14, 14, 14))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:LX_O3f6H2,verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-22vm60\",\"data-framer-name\":\"Price\",layoutDependency:layoutDependency,layoutId:\"Zo0CFnvno\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--framer-font-open-type-features\":\"'blwf' on, 'cv11' on, 'case' on\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"22px\",\"--framer-text-alignment\":\"right\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-495997d2-2997-4abf-9310-e8704849634d, rgba(14, 14, 14, 0.6)))\"},children:\"from $1999\"})}),className:\"framer-gjy436\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"Kb9zFzlNL\",style:{\"--extracted-r6o4lv\":\"var(--token-495997d2-2997-4abf-9310-e8704849634d, rgba(14, 14, 14, 0.6))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:JM1MY95S3,verticalAlignment:\"top\",withExternalLayout:true})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-2jMXu.framer-lp5qs3, .framer-2jMXu .framer-lp5qs3 { display: block; }\",\".framer-2jMXu.framer-muhcwu { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 302px; }\",\".framer-2jMXu .framer-u6gldg { align-content: flex-start; align-items: flex-start; display: flex; flex: 2 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-2jMXu .framer-8iv2sh { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 22px; justify-content: center; overflow: visible; padding: 3px 0px 3px 0px; position: relative; width: min-content; }\",\".framer-2jMXu .framer-10b2pkw { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 4px); overflow: hidden; position: relative; width: 4px; will-change: var(--framer-will-change-override, transform); }\",\".framer-2jMXu .framer-16ktowt, .framer-2jMXu .framer-gjy436 { flex: 1 0 0px; height: auto; position: relative; white-space: pre-wrap; width: 1px; word-break: break-word; word-wrap: break-word; }\",\".framer-2jMXu .framer-22vm60 { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 1px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 200\n * @framerIntrinsicWidth 302\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"LX_O3f6H2\":\"service\",\"JM1MY95S3\":\"price\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerUM5ZfVuZX=withCSS(Component,css,\"framer-2jMXu\");export default FramerUM5ZfVuZX;FramerUM5ZfVuZX.displayName=\"Pricing Service\";FramerUM5ZfVuZX.defaultProps={height:200,width:302};addPropertyControls(FramerUM5ZfVuZX,{LX_O3f6H2:{defaultValue:\"Landing Page\",displayTextArea:false,title:\"Service\",type:ControlType.String},onLX_O3f6H2Change:{changes:\"LX_O3f6H2\",type:ControlType.ChangeHandler},JM1MY95S3:{defaultValue:\"from $1999\",displayTextArea:false,title:\"Price\",type:ControlType.String},onJM1MY95S3Change:{changes:\"JM1MY95S3\",type:ControlType.ChangeHandler}});addFonts(FramerUM5ZfVuZX,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerUM5ZfVuZX\",\"slots\":[],\"annotations\":{\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"302\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerVariables\":\"{\\\"LX_O3f6H2\\\":\\\"service\\\",\\\"JM1MY95S3\\\":\\\"price\\\"}\",\"framerIntrinsicHeight\":\"200\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./UM5ZfVuZX.map","// Generated by Framer (b16259d)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getLoadingLazyAtYPosition,Image as Image1,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const serializationHash=\"framer-iBrU1\";const variantClassNames={Q7eutLInk:\"framer-v-1s9hq30\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const lMcCdZOgP=undefined;const LX_O3f6H2=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const toResponsiveImage=value=>{if(typeof value===\"object\"&&value!==null&&typeof value.src===\"string\"){return value;}return typeof value===\"string\"?{src:value}:undefined;};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,icon,id,text,width,...props})=>{return{...props,lMcCdZOgP:icon??props.lMcCdZOgP??{alt:\"\",pixelHeight:16,pixelWidth:16,src:\"https://framerusercontent.com/images/x3HcTEfinT0jPCFGHSJ1rrEbp1k.svg?width=16&height=16\"},LX_O3f6H2:text??props.LX_O3f6H2??\"Set number of hours per month\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,LX_O3f6H2,lMcCdZOgP,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"Q7eutLInk\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1s9hq30\",className,classNames),\"data-framer-name\":\"Default\",layoutDependency:layoutDependency,layoutId:\"Q7eutLInk\",ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1eglb05\",\"data-framer-name\":\"Icon Area\",layoutDependency:layoutDependency,layoutId:\"h6YtJR1k3\",children:/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+3),pixelHeight:16,pixelWidth:16,sizes:\"16px\",...toResponsiveImage(lMcCdZOgP)},className:\"framer-11kc8ru\",layoutDependency:layoutDependency,layoutId:\"WuWstTTyZ\"})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--framer-font-open-type-features\":\"'blwf' on, 'case' on, 'ss01' on, 'ss02' on, 'ss03' on, 'cv09' on, 'cv03' on, 'cv04' on, 'cv05' on\",\"--framer-line-height\":\"22px\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(14, 14, 14))\"},children:\"Set number of hours per month\"})}),className:\"framer-l81uzl\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"EeKjGKk9j\",style:{\"--extracted-r6o4lv\":\"rgb(14, 14, 14)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:LX_O3f6H2,verticalAlignment:\"top\",withExternalLayout:true})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-iBrU1.framer-pv2bmb, .framer-iBrU1 .framer-pv2bmb { display: block; }\",\".framer-iBrU1.framer-1s9hq30 { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 264px; }\",\".framer-iBrU1 .framer-1eglb05 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 3px 0px 3px 0px; position: relative; width: min-content; }\",\".framer-iBrU1 .framer-11kc8ru { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 16px); overflow: hidden; position: relative; width: 16px; will-change: var(--framer-will-change-filter-override, filter); }\",\".framer-iBrU1 .framer-l81uzl { flex: 1 0 0px; height: auto; position: relative; white-space: pre-wrap; width: 1px; word-break: break-word; word-wrap: break-word; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 22\n * @framerIntrinsicWidth 264\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"LX_O3f6H2\":\"text\",\"lMcCdZOgP\":\"icon\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerVlBKrWpYD=withCSS(Component,css,\"framer-iBrU1\");export default FramerVlBKrWpYD;FramerVlBKrWpYD.displayName=\"Package Feature\";FramerVlBKrWpYD.defaultProps={height:22,width:264};addPropertyControls(FramerVlBKrWpYD,{LX_O3f6H2:{defaultValue:\"Set number of hours per month\",displayTextArea:false,title:\"Text\",type:ControlType.String},onLX_O3f6H2Change:{changes:\"LX_O3f6H2\",type:ControlType.ChangeHandler},lMcCdZOgP:{__defaultAssetReference:\"data:framer/asset-reference,x3HcTEfinT0jPCFGHSJ1rrEbp1k.svg?originalFilename=check.svg&preferredSize=auto\",__vekterDefault:{alt:\"\",assetReference:\"data:framer/asset-reference,x3HcTEfinT0jPCFGHSJ1rrEbp1k.svg?originalFilename=check.svg&preferredSize=auto\"},title:\"Icon\",type:ControlType.ResponsiveImage}});addFonts(FramerVlBKrWpYD,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerVlBKrWpYD\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"264\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"22\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerColorSyntax\":\"true\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"LX_O3f6H2\\\":\\\"text\\\",\\\"lMcCdZOgP\\\":\\\"icon\\\"}\",\"framerComponentViewportWidth\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./VlBKrWpYD.map","// Generated by Framer (b16259d)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"UH7Gt_lB7\",\"j_D0Hd66L\"];const serializationHash=\"framer-fpDbK\";const variantClassNames={j_D0Hd66L:\"framer-v-1umfecq\",UH7Gt_lB7:\"framer-v-16hlxdq\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const jv4Zpatbf=undefined;const Q9pPRx4wJ=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={Default:\"UH7Gt_lB7\",White:\"j_D0Hd66L\"};const Variants=motion.create(React.Fragment);const getProps=({hasDotIndicator,height,id,title,width,...props})=>{return{...props,jv4Zpatbf:hasDotIndicator??props.jv4Zpatbf,Q9pPRx4wJ:title??props.Q9pPRx4wJ??\"Social media assets\",variant:humanReadableVariantMap[props.variant]??props.variant??\"UH7Gt_lB7\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,Q9pPRx4wJ,jv4Zpatbf,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"UH7Gt_lB7\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-16hlxdq\",className,classNames),\"data-framer-name\":\"Default\",layoutDependency:layoutDependency,layoutId:\"UH7Gt_lB7\",ref:refBinding,style:{backgroundColor:\"rgb(242, 244, 247)\",borderBottomLeftRadius:100,borderBottomRightRadius:100,borderTopLeftRadius:100,borderTopRightRadius:100,...style},variants:{j_D0Hd66L:{backgroundColor:\"var(--token-1ad0dd99-5aec-4e1d-804a-3c603649eb34, rgb(255, 255, 255))\"}},...addPropertyOverrides({j_D0Hd66L:{\"data-framer-name\":\"White\"}},baseVariant,gestureVariant),children:[jv4Zpatbf!==false&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-3p3xkl\",\"data-framer-name\":\"Indicator\",layoutDependency:layoutDependency,layoutId:\"thbj4HcCO\",children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-lmt08o\",layoutDependency:layoutDependency,layoutId:\"XwLEPk6pO\",style:{backgroundColor:\"rgb(29, 32, 41)\",borderBottomLeftRadius:30,borderBottomRightRadius:30,borderTopLeftRadius:30,borderTopRightRadius:30}})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"RlI7SW50ZXJEaXNwbGF5\",\"--framer-font-family\":'\"Inter Display\", \"Inter Display Placeholder\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-letter-spacing\":\"0.04em\",\"--framer-line-height\":\"1.6em\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(29, 32, 41))\"},children:\"Social media assets\"})}),className:\"framer-cjfliz\",fonts:[\"FR;InterDisplay\"],layoutDependency:layoutDependency,layoutId:\"WW3OgzdgN\",style:{\"--extracted-r6o4lv\":\"rgb(29, 32, 41)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:Q9pPRx4wJ,verticalAlignment:\"top\",withExternalLayout:true})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-fpDbK.framer-cah3f0, .framer-fpDbK .framer-cah3f0 { display: block; }\",\".framer-fpDbK.framer-16hlxdq { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 3px 12px 3px 12px; position: relative; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-fpDbK .framer-3p3xkl { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 3px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-fpDbK .framer-lmt08o { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 7px); overflow: hidden; position: relative; width: 7px; will-change: var(--framer-will-change-override, transform); }\",\".framer-fpDbK .framer-cjfliz { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 200\n * @framerIntrinsicWidth 200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"j_D0Hd66L\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"Q9pPRx4wJ\":\"title\",\"jv4Zpatbf\":\"hasDotIndicator\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerzsciZJaQD=withCSS(Component,css,\"framer-fpDbK\");export default FramerzsciZJaQD;FramerzsciZJaQD.displayName=\"Badge\";FramerzsciZJaQD.defaultProps={height:200,width:200};addPropertyControls(FramerzsciZJaQD,{variant:{options:[\"UH7Gt_lB7\",\"j_D0Hd66L\"],optionTitles:[\"Default\",\"White\"],title:\"Variant\",type:ControlType.Enum},Q9pPRx4wJ:{defaultValue:\"Social media assets\",displayTextArea:false,title:\"Title\",type:ControlType.String},onQ9pPRx4wJChange:{changes:\"Q9pPRx4wJ\",type:ControlType.ChangeHandler},jv4Zpatbf:{defaultValue:false,title:\"Has Dot Indicator\",type:ControlType.Boolean},onjv4ZpatbfChange:{changes:\"jv4Zpatbf\",type:ControlType.ChangeHandler}});addFonts(FramerzsciZJaQD,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/2uIBiALfCHVpWbHqRMZutfT7giU.woff2\",weight:\"400\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/Zwfz6xbVe5pmcWRJRgBDHnMkOkI.woff2\",weight:\"400\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/U9LaDDmbRhzX3sB8g8glTy5feTE.woff2\",weight:\"400\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tVew2LzXJ1t7QfxP1gdTIdj2o0g.woff2\",weight:\"400\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/DF7bjCRmStYPqSb945lAlMfCCVQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/bHYNJqzTyl2lqvmMiRRS6Y16Es.woff2\",weight:\"400\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/vebZUMjGyKkYsfcY73iwWTzLNag.woff2\",weight:\"400\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerzsciZJaQD\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"200\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"j_D0Hd66L\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicWidth\":\"200\",\"framerColorSyntax\":\"true\",\"framerVariables\":\"{\\\"Q9pPRx4wJ\\\":\\\"title\\\",\\\"jv4Zpatbf\\\":\\\"hasDotIndicator\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./zsciZJaQD.map","// Generated by Framer (f2f96df)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,getLoadingLazyAtYPosition,Image as Image1,ResolveLinks,RichText,SmartComponentScopedContainer,SVG,useComponentViewport,useLocaleInfo,useRouter,useVariantState,withCSS,withFX}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import CalendarCheck from\"https://framerusercontent.com/modules/6f50fMjSnKMK3YQRUtit/ahtMZPMgil4tGXLl1tvZ/H4mg7DsTZ.js\";import WIKContactButton from\"https://framerusercontent.com/modules/aYThXG2fxpYeriZ54mmj/eizxO0aB4dTeMJyjei2Y/fYebATT0i.js\";import Badge from\"https://framerusercontent.com/modules/8DzYu5aKXfTMpoCD40qG/SIZPWfMpZ7o5eTp5nsoI/zsciZJaQD.js\";const BadgeFonts=getFonts(Badge);const Image1WithFX=withFX(Image1);const WIKContactButtonFonts=getFonts(WIKContactButton);const cycleOrder=[\"HEji6UKq5\",\"tY8o87OKD\",\"XU3mRAj6j\"];const serializationHash=\"framer-5hM45\";const variantClassNames={HEji6UKq5:\"framer-v-aa0sv2\",tY8o87OKD:\"framer-v-1esaa1s\",XU3mRAj6j:\"framer-v-9m1ea1\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const ypd5HSdH3=undefined;const zA2LLZe75=undefined;const bbvBOGjQb=undefined;const MUA7x_sFb=undefined;const setypd5HSdH3=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const isSet=value=>{if(Array.isArray(value))return value.length>0;return value!==undefined&&value!==null&&value!==\"\";};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const toResponsiveImage=value=>{if(typeof value===\"object\"&&value!==null&&typeof value.src===\"string\"){return value;}return typeof value===\"string\"?{src:value}:undefined;};const animation={opacity:1,rotate:360,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:0};const transition2={damping:100,delay:0,mass:1,stiffness:200,type:\"spring\"};const animation1={opacity:1,rotate:360,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition2,x:0,y:0};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={CTA:\"XU3mRAj6j\",Desktop:\"HEji6UKq5\",Mobile:\"tY8o87OKD\"};const Variants=motion.create(React.Fragment);const useStateVariable=(externalState,setExternalState)=>{const[internalState,setInternalState]=React.useState(externalState);const[previousExternalState,setPreviousExternalState]=React.useState(externalState);if(setExternalState){return[externalState,setExternalState];}if(externalState!==previousExternalState){setInternalState(externalState);setPreviousExternalState(externalState);}return[internalState,setInternalState];};const getProps=({badge,height,id,image,text,title,width,...props})=>{return{...props,bbvBOGjQb:image??props.bbvBOGjQb,MUA7x_sFb:text??props.MUA7x_sFb??\"From early concepts to fully coded launches, we turn bright ideas into measurable results.\",variant:humanReadableVariantMap[props.variant]??props.variant??\"HEji6UKq5\",ypd5HSdH3:badge??props.ypd5HSdH3??\"1 Step\",zA2LLZe75:title??props.zA2LLZe75??\"Listen & Think\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,\"ypd5HSdH3\":externalypd5HSdH3,\"onypd5HSdH3Change\":setExternalypd5HSdH3,zA2LLZe75,bbvBOGjQb,MUA7x_sFb,...restProps}=getProps(props);const[ypd5HSdH3,setypd5HSdH3]=useStateVariable(externalypd5HSdH3,setExternalypd5HSdH3);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"HEji6UKq5\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const visible=isSet(ypd5HSdH3);const isDisplayed=value=>{if(baseVariant===\"XU3mRAj6j\")return false;return value;};const visible1=isSet(zA2LLZe75);const isDisplayed1=()=>{if(baseVariant===\"XU3mRAj6j\")return false;return true;};const visible2=isSet(MUA7x_sFb);const isDisplayed2=()=>{if(baseVariant===\"XU3mRAj6j\")return true;return false;};const router=useRouter();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-aa0sv2\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"HEji6UKq5\",ref:refBinding,style:{backgroundColor:\"rgb(255, 255, 255)\",borderBottomLeftRadius:12,borderBottomRightRadius:12,borderTopLeftRadius:12,borderTopRightRadius:12,...style},...addPropertyOverrides({tY8o87OKD:{\"data-framer-name\":\"Mobile\"},XU3mRAj6j:{\"data-framer-name\":\"CTA\"}},baseVariant,gestureVariant),children:[isDisplayed(visible!==false)&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:200,y:(componentViewport?.y||0)+56+0,...addPropertyOverrides({tY8o87OKD:{y:(componentViewport?.y||0)+56+(((componentViewport?.height||386)-112-198)/2+0+0)}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-3iayzg-container\",layoutDependency:layoutDependency,layoutId:\"pBuwoO_om-container\",nodeId:\"pBuwoO_om\",rendersWithMotion:true,scopeId:\"zs2bujyoo\",children:/*#__PURE__*/_jsx(Badge,{height:\"100%\",id:\"pBuwoO_om\",jv4Zpatbf:true,layoutId:\"pBuwoO_om\",onQ9pPRx4wJChange:setypd5HSdH3,Q9pPRx4wJ:ypd5HSdH3,variant:matchVariant(\"UH7Gt_lB7\"),width:\"100%\",...addPropertyOverrides({tY8o87OKD:{variant:matchVariant(\"j_D0Hd66L\")}},baseVariant,gestureVariant)})})}),isDisplayed(visible1!==false)&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{dir:\"auto\",style:{\"--font-selector\":\"RlI7SW50ZXJEaXNwbGF5LU1lZGl1bQ==\",\"--framer-font-family\":'\"Inter Display\", \"Inter Display Placeholder\", sans-serif',\"--framer-font-size\":\"30px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-a0htzi, rgb(29, 32, 41))\"},children:\"Listen & Think\"})}),className:\"framer-6y18vr\",fonts:[\"FR;InterDisplay-Medium\"],layoutDependency:layoutDependency,layoutId:\"Smqmj5tPk\",style:{\"--extracted-a0htzi\":\"rgb(29, 32, 41)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:zA2LLZe75,verticalAlignment:\"top\",withExternalLayout:true}),isDisplayed1()&&/*#__PURE__*/_jsx(Image1WithFX,{__framer__animate:{transition:transition2},__framer__animateOnce:true,__framer__enter:animation,__framer__exit:animation1,__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,background:{alt:\"\",fit:\"fit\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+56+0),sizes:\"50px\",...toResponsiveImage(bbvBOGjQb),...{positionX:\"center\",positionY:\"center\"}},className:\"framer-8p3hfg\",layoutDependency:layoutDependency,layoutId:\"R74MyfgcR\",...addPropertyOverrides({tY8o87OKD:{background:{alt:\"\",fit:\"fit\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+56+(((componentViewport?.height||386)-112-198)/2+0+0)),sizes:\"50px\",...toResponsiveImage(bbvBOGjQb),...{positionX:\"center\",positionY:\"center\"}}}},baseVariant,gestureVariant)}),isDisplayed1()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-kil169\",layoutDependency:layoutDependency,layoutId:\"ew7pPAYiC\",children:visible2!==false&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"RlI7SW50ZXJEaXNwbGF5\",\"--framer-font-family\":'\"Inter Display\", \"Inter Display Placeholder\", sans-serif',\"--framer-line-height\":\"1.3em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(73, 80, 93))\"},children:\"From early concepts to fully coded launches, we turn bright ideas into measurable results.\"})}),className:\"framer-rkkpy1\",fonts:[\"FR;InterDisplay\"],layoutDependency:layoutDependency,layoutId:\"m2xoDdsHd\",style:{\"--extracted-r6o4lv\":\"rgb(73, 80, 93)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:MUA7x_sFb,verticalAlignment:\"top\",withExternalLayout:true})}),isDisplayed2()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-159nyjv\",layoutDependency:layoutDependency,layoutId:\"Qr9FFljgs\",children:[isDisplayed2()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-6zarn4\",\"data-framer-name\":\"Text\",layoutDependency:layoutDependency,layoutId:\"v1aB14ZRu\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-niq200\",layoutDependency:layoutDependency,layoutId:\"vjt4pG1wP\",children:/*#__PURE__*/_jsx(Image1,{background:{alt:\"Womand Headshot\",fit:\"fill\",intrinsicHeight:784,intrinsicWidth:784,pixelHeight:784,pixelWidth:784,sizes:\"56px\",src:\"https://framerusercontent.com/images/vZueeLLyzihC9STk84W8Bu92jM8.gif?width=784&height=784\",srcSet:\"https://framerusercontent.com/images/vZueeLLyzihC9STk84W8Bu92jM8.gif?scale-down-to=512&width=784&height=784 512w,https://framerusercontent.com/images/vZueeLLyzihC9STk84W8Bu92jM8.gif?width=784&height=784 784w\"},className:\"framer-zx7etj\",layoutDependency:layoutDependency,layoutId:\"t9rYGcg6Q\",style:{borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10},...addPropertyOverrides({XU3mRAj6j:{background:{alt:\"Womand Headshot\",fit:\"fill\",intrinsicHeight:784,intrinsicWidth:784,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+20+(((componentViewport?.height||276)-40-208.6)/2+0+0)+0+0+0+0+0),pixelHeight:784,pixelWidth:784,sizes:\"56px\",src:\"https://framerusercontent.com/images/vZueeLLyzihC9STk84W8Bu92jM8.gif?width=784&height=784\",srcSet:\"https://framerusercontent.com/images/vZueeLLyzihC9STk84W8Bu92jM8.gif?scale-down-to=512&width=784&height=784 512w,https://framerusercontent.com/images/vZueeLLyzihC9STk84W8Bu92jM8.gif?width=784&height=784 784w\"}}},baseVariant,gestureVariant)})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.h3,{dir:\"auto\",style:{\"--font-selector\":\"RlI7SW50ZXJEaXNwbGF5LU1lZGl1bQ==\",\"--framer-font-family\":'\"Inter Display\", \"Inter Display Placeholder\", sans-serif',\"--framer-font-size\":\"24px\",\"--framer-font-weight\":\"500\",\"--framer-line-height\":\"115%\",\"--framer-text-color\":\"var(--extracted-a0htzi, var(--token-2759885a-0605-4b0d-ae5f-9a938c3766f2, rgb(0, 0, 0)))\"},children:[/*#__PURE__*/_jsx(motion.span,{style:{\"--framer-text-color\":\"var(--extracted-1k2zljd, rgb(130, 130, 130))\"},children:\"Still not sure?\"}),/*#__PURE__*/_jsx(motion.br,{}),\"Book a free discovery call.\"]})}),className:\"framer-1hk8fqz\",\"data-framer-name\":\"Still not sure? Book a free discovery call\",fonts:[\"FR;InterDisplay-Medium\"],layoutDependency:layoutDependency,layoutId:\"fMCGGZtr6\",style:{\"--extracted-1k2zljd\":\"rgb(130, 130, 130)\",\"--extracted-a0htzi\":\"var(--token-2759885a-0605-4b0d-ae5f-9a938c3766f2, rgb(0, 0, 0))\",\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true})]}),isDisplayed2()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1m3lxg\",\"data-framer-name\":\"Button & Logo\",layoutDependency:layoutDependency,layoutId:\"vw8LELz7M\",children:[/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"Hybz1w70H\"},implicitPathVariables:undefined},{href:{webPageId:\"Hybz1w70H\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:41,...addPropertyOverrides({XU3mRAj6j:{y:(componentViewport?.y||0)+20+(((componentViewport?.height||276)-40-208.6)/2+0+0)+0+167.6+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-p827l0-container\",\"data-framer-name\":\"2WIK - Secondeyr Button (Nav)\",layoutDependency:layoutDependency,layoutId:\"G0dQorZM9-container\",name:\"2WIK - Secondeyr Button (Nav)\",nodeId:\"G0dQorZM9\",rendersWithMotion:true,scopeId:\"zs2bujyoo\",children:/*#__PURE__*/_jsx(WIKContactButton,{fAdga0dRE:false,height:\"100%\",HuaRwWbiO:\"Schedule call\",id:\"G0dQorZM9\",jrgHlYnhG:true,layoutId:\"G0dQorZM9\",name:\"2WIK - Secondeyr Button (Nav)\",odGCSxHX4:true,PsOrfrY8S:false,qoJuCO1ff:false,SNo_4eHGp:CalendarCheck,variant:matchVariant(\"SeNhcK9VN\"),W0K0xXZO1:resolvedLinks[0],width:\"100%\",...addPropertyOverrides({XU3mRAj6j:{W0K0xXZO1:resolvedLinks[1]}},baseVariant,gestureVariant)})})})}),/*#__PURE__*/_jsx(SVG,{className:\"framer-h8zm79\",\"data-framer-name\":\"Cal-logo\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"hDM52nTEc\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 61 13\"><path d=\"M 6.075 12.887 C 2.61 12.887 0 10.076 0 6.605 C 0 3.124 2.476 0.29 6.075 0.29 C 7.985 0.29 9.306 0.891 10.339 2.268 L 8.673 3.691 C 7.973 2.927 7.13 2.546 6.075 2.546 C 3.731 2.546 2.443 4.384 2.443 6.605 C 2.443 8.826 3.854 10.631 6.075 10.631 C 7.119 10.631 8.007 10.25 8.707 9.486 L 10.35 10.966 C 9.362 12.285 8.007 12.887 6.075 12.887 Z M 17.525 3.644 L 19.768 3.644 L 19.768 12.666 L 17.525 12.666 L 17.525 11.348 C 17.058 12.285 16.28 12.91 14.793 12.91 C 12.416 12.91 10.517 10.792 10.517 8.19 C 10.517 5.587 12.416 3.47 14.793 3.47 C 16.269 3.47 17.058 4.095 17.525 5.032 Z M 17.591 8.19 C 17.591 6.779 16.647 5.61 15.159 5.61 C 13.726 5.61 12.794 6.79 12.794 8.19 C 12.794 9.555 13.726 10.77 15.159 10.77 C 16.636 10.77 17.591 9.59 17.591 8.19 Z M 21.356 0 L 23.599 0 L 23.599 12.655 L 21.356 12.655 Z M 24.599 11.464 C 24.599 10.723 25.176 10.099 25.964 10.099 C 26.321 10.091 26.665 10.232 26.919 10.489 C 27.172 10.746 27.313 11.098 27.309 11.464 C 27.309 12.227 26.742 12.851 25.965 12.851 C 25.603 12.857 25.255 12.712 24.998 12.451 C 24.741 12.19 24.597 11.834 24.599 11.464 Z M 35.893 11.209 C 35.06 12.25 33.794 12.91 32.295 12.91 C 29.618 12.91 27.653 10.792 27.653 8.19 C 27.653 5.587 29.618 3.47 32.295 3.47 C 33.738 3.47 34.993 4.095 35.826 5.078 L 34.094 6.57 C 33.661 6.015 33.095 5.599 32.294 5.599 C 30.862 5.599 29.929 6.779 29.929 8.178 C 29.929 9.578 30.862 10.758 32.295 10.758 C 33.161 10.758 33.761 10.295 34.205 9.67 Z M 36.082 8.19 C 36.082 5.587 38.048 3.47 40.724 3.47 C 43.401 3.47 45.366 5.588 45.366 8.19 C 45.366 10.792 43.401 12.91 40.724 12.91 C 38.048 12.897 36.082 10.792 36.082 8.19 Z M 43.09 8.19 C 43.09 6.779 42.156 5.61 40.724 5.61 C 39.291 5.599 38.359 6.779 38.359 8.19 C 38.359 9.589 39.291 10.77 40.724 10.77 C 42.156 10.77 43.09 9.59 43.09 8.19 Z M 60.536 7.149 L 60.536 12.655 L 58.293 12.655 L 58.293 7.715 C 58.293 6.154 57.582 5.483 56.516 5.483 C 55.517 5.483 54.806 5.992 54.806 7.716 L 54.806 12.655 L 52.563 12.655 L 52.563 7.715 C 52.563 6.154 51.841 5.483 50.786 5.483 C 49.786 5.483 48.909 5.992 48.909 7.716 L 48.909 12.655 L 46.666 12.655 L 46.666 3.633 L 48.909 3.633 L 48.909 4.882 C 49.375 3.91 50.219 3.424 51.518 3.424 C 52.751 3.424 53.784 4.049 54.351 5.102 C 54.917 4.026 55.75 3.424 57.26 3.424 C 59.104 3.436 60.536 4.87 60.536 7.149 Z\" fill=\"rgb(184, 184, 184)\"></path></svg>',svgContentId:12702924072,withExternalLayout:true})]})]})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-5hM45.framer-c9kqa5, .framer-5hM45 .framer-c9kqa5 { display: block; }\",\".framer-5hM45.framer-aa0sv2 { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 30px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 56px 20px 56px 20px; position: relative; width: 448px; will-change: var(--framer-will-change-override, transform); }\",\".framer-5hM45 .framer-3iayzg-container, .framer-5hM45 .framer-p827l0-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-5hM45 .framer-6y18vr { --framer-text-wrap: balance; flex: none; height: auto; max-width: 320px; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-5hM45 .framer-8p3hfg { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 50px); position: relative; width: 50px; }\",\".framer-5hM45 .framer-kil169 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; max-width: 80%; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-5hM45 .framer-rkkpy1 { --framer-text-wrap: balance; flex: 1 0 0px; height: auto; max-width: 100%; position: relative; white-space: pre-wrap; width: 1px; word-break: break-word; word-wrap: break-word; }\",\".framer-5hM45 .framer-159nyjv { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 64px; height: min-content; justify-content: center; min-height: 200px; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-5hM45 .framer-6zarn4 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-5hM45 .framer-niq200 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-5hM45 .framer-zx7etj { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 56px); overflow: hidden; position: relative; width: 56px; will-change: var(--framer-will-change-override, transform); }\",\".framer-5hM45 .framer-1hk8fqz { --framer-text-wrap: balance; flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-5hM45 .framer-1m3lxg { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 18px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 100%; z-index: 2; }\",\".framer-5hM45 .framer-h8zm79 { flex: none; height: 13px; position: relative; width: 61px; }\",\".framer-5hM45.framer-v-1esaa1s.framer-aa0sv2 { gap: 24px; height: 386px; justify-content: center; width: 386px; }\",\".framer-5hM45.framer-v-1esaa1s .framer-6y18vr { max-width: 200px; }\",\".framer-5hM45.framer-v-9m1ea1.framer-aa0sv2 { gap: 24px; justify-content: center; padding: 20px; width: 386px; }\",\".framer-5hM45.framer-v-9m1ea1 .framer-159nyjv { min-height: unset; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 358\n * @framerIntrinsicWidth 448\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"tY8o87OKD\":{\"layout\":[\"fixed\",\"fixed\"]},\"XU3mRAj6j\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"ypd5HSdH3\":\"badge\",\"zA2LLZe75\":\"title\",\"bbvBOGjQb\":\"image\",\"MUA7x_sFb\":\"text\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerzs2bujyoo=withCSS(Component,css,\"framer-5hM45\");export default Framerzs2bujyoo;Framerzs2bujyoo.displayName=\"Visual Card\";Framerzs2bujyoo.defaultProps={height:358,width:448};addPropertyControls(Framerzs2bujyoo,{variant:{options:[\"HEji6UKq5\",\"tY8o87OKD\",\"XU3mRAj6j\"],optionTitles:[\"Desktop\",\"Mobile\",\"CTA\"],title:\"Variant\",type:ControlType.Enum},ypd5HSdH3:{defaultValue:\"1 Step\",displayTextArea:false,title:\"Badge\",type:ControlType.String},onypd5HSdH3Change:{changes:\"ypd5HSdH3\",type:ControlType.ChangeHandler},zA2LLZe75:{defaultValue:\"Listen & Think\",displayTextArea:false,title:\"Title\",type:ControlType.String},onzA2LLZe75Change:{changes:\"zA2LLZe75\",type:ControlType.ChangeHandler},bbvBOGjQb:{title:\"Image\",type:ControlType.ResponsiveImage},MUA7x_sFb:{defaultValue:\"From early concepts to fully coded launches, we turn bright ideas into measurable results.\",displayTextArea:false,title:\"Text\",type:ControlType.String},onMUA7x_sFbChange:{changes:\"MUA7x_sFb\",type:ControlType.ChangeHandler}});addFonts(Framerzs2bujyoo,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/ePuN3mCjzajIHnyCdvKBFiZkyY0.woff2\",weight:\"500\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/V3j1L0o5vPFKe26Sw4HcpXCfHo.woff2\",weight:\"500\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/F3kdpd2N0cToWV5huaZjjgM.woff2\",weight:\"500\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/0iDmxkizU9goZoclqIqsV5rvETU.woff2\",weight:\"500\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/r0mv3NegmA0akcQsNFotG32Las.woff2\",weight:\"500\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/iwWTDc49ENF2tCHbqlNARXw6Ug.woff2\",weight:\"500\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/Ii21jnSJkulBKsHHXKlapi7fv9w.woff2\",weight:\"500\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/2uIBiALfCHVpWbHqRMZutfT7giU.woff2\",weight:\"400\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/Zwfz6xbVe5pmcWRJRgBDHnMkOkI.woff2\",weight:\"400\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/U9LaDDmbRhzX3sB8g8glTy5feTE.woff2\",weight:\"400\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tVew2LzXJ1t7QfxP1gdTIdj2o0g.woff2\",weight:\"400\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/DF7bjCRmStYPqSb945lAlMfCCVQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/bHYNJqzTyl2lqvmMiRRS6Y16Es.woff2\",weight:\"400\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/vebZUMjGyKkYsfcY73iwWTzLNag.woff2\",weight:\"400\"}]},...BadgeFonts,...WIKContactButtonFonts],{supportsExplicitInterCodegen:true});Framerzs2bujyoo.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(Badge,{},context),forwardLoader(WIKContactButton,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerzs2bujyoo\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"448\",\"framerColorSyntax\":\"true\",\"framerVariables\":\"{\\\"ypd5HSdH3\\\":\\\"badge\\\",\\\"zA2LLZe75\\\":\\\"title\\\",\\\"bbvBOGjQb\\\":\\\"image\\\",\\\"MUA7x_sFb\\\":\\\"text\\\"}\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"358\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"tY8o87OKD\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"XU3mRAj6j\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./zs2bujyoo.map","/**\n * Calculates the length of a vec3\n *\n * @param {vec3} a vector to calculate length of\n * @returns {Number} length of a\n */\nfunction length$3(t){let e=t[0];let s=t[1];let i=t[2];return Math.sqrt(e*e+s*s+i*i)}\n/**\n * Copy the values from one vec3 to another\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the source vector\n * @returns {vec3} out\n */function copy$5(t,e){t[0]=e[0];t[1]=e[1];t[2]=e[2];return t}\n/**\n * Set the components of a vec3 to the given values\n *\n * @param {vec3} out the receiving vector\n * @param {Number} x X component\n * @param {Number} y Y component\n * @param {Number} z Z component\n * @returns {vec3} out\n */function set$5(t,e,s,i){t[0]=e;t[1]=s;t[2]=i;return t}\n/**\n * Adds two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @returns {vec3} out\n */function add$5(t,e,s){t[0]=e[0]+s[0];t[1]=e[1]+s[1];t[2]=e[2]+s[2];return t}\n/**\n * Subtracts vector b from vector a\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @returns {vec3} out\n */function subtract$3(t,e,s){t[0]=e[0]-s[0];t[1]=e[1]-s[1];t[2]=e[2]-s[2];return t}\n/**\n * Multiplies two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @returns {vec3} out\n */function multiply$4(t,e,s){t[0]=e[0]*s[0];t[1]=e[1]*s[1];t[2]=e[2]*s[2];return t}\n/**\n * Divides two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @returns {vec3} out\n */function divide$1(t,e,s){t[0]=e[0]/s[0];t[1]=e[1]/s[1];t[2]=e[2]/s[2];return t}\n/**\n * Scales a vec3 by a scalar number\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the vector to scale\n * @param {Number} b amount to scale the vector by\n * @returns {vec3} out\n */function scale$5(t,e,s){t[0]=e[0]*s;t[1]=e[1]*s;t[2]=e[2]*s;return t}\n/**\n * Calculates the euclidian distance between two vec3's\n *\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @returns {Number} distance between a and b\n */function distance$1(t,e){let s=e[0]-t[0];let i=e[1]-t[1];let r=e[2]-t[2];return Math.sqrt(s*s+i*i+r*r)}\n/**\n * Calculates the squared euclidian distance between two vec3's\n *\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @returns {Number} squared distance between a and b\n */function squaredDistance$1(t,e){let s=e[0]-t[0];let i=e[1]-t[1];let r=e[2]-t[2];return s*s+i*i+r*r}\n/**\n * Calculates the squared length of a vec3\n *\n * @param {vec3} a vector to calculate squared length of\n * @returns {Number} squared length of a\n */function squaredLength$1(t){let e=t[0];let s=t[1];let i=t[2];return e*e+s*s+i*i}\n/**\n * Negates the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a vector to negate\n * @returns {vec3} out\n */function negate$1(t,e){t[0]=-e[0];t[1]=-e[1];t[2]=-e[2];return t}\n/**\n * Returns the inverse of the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a vector to invert\n * @returns {vec3} out\n */function inverse$1(t,e){t[0]=1/e[0];t[1]=1/e[1];t[2]=1/e[2];return t}\n/**\n * Normalize a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a vector to normalize\n * @returns {vec3} out\n */function normalize$3(t,e){let s=e[0];let i=e[1];let r=e[2];let n=s*s+i*i+r*r;n>0&&(n=1/Math.sqrt(n));t[0]=e[0]*n;t[1]=e[1]*n;t[2]=e[2]*n;return t}\n/**\n * Calculates the dot product of two vec3's\n *\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @returns {Number} dot product of a and b\n */function dot$3(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}\n/**\n * Computes the cross product of two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @returns {vec3} out\n */function cross$1(t,e,s){let i=e[0],r=e[1],n=e[2];let a=s[0],o=s[1],h=s[2];t[0]=r*h-n*o;t[1]=n*a-i*h;t[2]=i*o-r*a;return t}\n/**\n * Performs a linear interpolation between two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @param {Number} t interpolation amount between the two inputs\n * @returns {vec3} out\n */function lerp$4(t,e,s,i){let r=e[0];let n=e[1];let a=e[2];t[0]=r+i*(s[0]-r);t[1]=n+i*(s[1]-n);t[2]=a+i*(s[2]-a);return t}\n/**\n * Transforms the vec3 with a mat4.\n * 4th vector component is implicitly '1'\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the vector to transform\n * @param {mat4} m matrix to transform with\n * @returns {vec3} out\n */function transformMat4$1(t,e,s){let i=e[0],r=e[1],n=e[2];let a=s[3]*i+s[7]*r+s[11]*n+s[15];a=a||1;t[0]=(s[0]*i+s[4]*r+s[8]*n+s[12])/a;t[1]=(s[1]*i+s[5]*r+s[9]*n+s[13])/a;t[2]=(s[2]*i+s[6]*r+s[10]*n+s[14])/a;return t}function scaleRotateMat4(t,e,s){let i=e[0],r=e[1],n=e[2];let a=s[3]*i+s[7]*r+s[11]*n+s[15];a=a||1;t[0]=(s[0]*i+s[4]*r+s[8]*n)/a;t[1]=(s[1]*i+s[5]*r+s[9]*n)/a;t[2]=(s[2]*i+s[6]*r+s[10]*n)/a;return t}\n/**\n * Transforms the vec3 with a mat3.\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the vector to transform\n * @param {mat3} m the 3x3 matrix to transform with\n * @returns {vec3} out\n */function transformMat3$1(t,e,s){let i=e[0],r=e[1],n=e[2];t[0]=i*s[0]+r*s[3]+n*s[6];t[1]=i*s[1]+r*s[4]+n*s[7];t[2]=i*s[2]+r*s[5]+n*s[8];return t}\n/**\n * Transforms the vec3 with a quat\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the vector to transform\n * @param {quat} q quaternion to transform with\n * @returns {vec3} out\n */function transformQuat(t,e,s){let i=e[0],r=e[1],n=e[2];let a=s[0],o=s[1],h=s[2],l=s[3];let c=o*n-h*r;let u=h*i-a*n;let d=a*r-o*i;let m=o*d-h*u;let g=h*c-a*d;let p=a*u-o*c;let f=2*l;c*=f;u*=f;d*=f;m*=2;g*=2;p*=2;t[0]=i+c+m;t[1]=r+u+g;t[2]=n+d+p;return t}\n/**\n * Get the angle between two 3D vectors\n * @param {vec3} a The first operand\n * @param {vec3} b The second operand\n * @returns {Number} The angle in radians\n */const t=function(){const t=[0,0,0];const e=[0,0,0];return function(s,i){copy$5(t,s);copy$5(e,i);normalize$3(t,t);normalize$3(e,e);let r=dot$3(t,e);return r>1?0:r<-1?Math.PI:Math.acos(r)}}();\n/**\n * Returns whether or not the vectors have exactly the same elements in the same position (when compared with ===)\n *\n * @param {vec3} a The first vector.\n * @param {vec3} b The second vector.\n * @returns {Boolean} True if the vectors are equal, false otherwise.\n */function exactEquals$1(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}class Vec3 extends Array{constructor(t=0,e=t,s=t){super(t,e,s);return this}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}set x(t){this[0]=t}set y(t){this[1]=t}set z(t){this[2]=t}set(t,e=t,s=t){if(t.length)return this.copy(t);set$5(this,t,e,s);return this}copy(t){copy$5(this,t);return this}add(t,e){e?add$5(this,t,e):add$5(this,this,t);return this}sub(t,e){e?subtract$3(this,t,e):subtract$3(this,this,t);return this}multiply(t){t.length?multiply$4(this,this,t):scale$5(this,this,t);return this}divide(t){t.length?divide$1(this,this,t):scale$5(this,this,1/t);return this}inverse(t=this){inverse$1(this,t);return this}len(){return length$3(this)}distance(t){return t?distance$1(this,t):length$3(this)}squaredLen(){return squaredLength$1(this)}squaredDistance(t){return t?squaredDistance$1(this,t):squaredLength$1(this)}negate(t=this){negate$1(this,t);return this}cross(t,e){e?cross$1(this,t,e):cross$1(this,this,t);return this}scale(t){scale$5(this,this,t);return this}normalize(){normalize$3(this,this);return this}dot(t){return dot$3(this,t)}equals(t){return exactEquals$1(this,t)}applyMatrix3(t){transformMat3$1(this,this,t);return this}applyMatrix4(t){transformMat4$1(this,this,t);return this}scaleRotateMatrix4(t){scaleRotateMat4(this,this,t);return this}applyQuaternion(t){transformQuat(this,this,t);return this}angle(e){return t(this,e)}lerp(t,e){lerp$4(this,this,t,e);return this}clone(){return new Vec3(this[0],this[1],this[2])}fromArray(t,e=0){this[0]=t[e];this[1]=t[e+1];this[2]=t[e+2];return this}toArray(t=[],e=0){t[e]=this[0];t[e+1]=this[1];t[e+2]=this[2];return t}transformDirection(t){const e=this[0];const s=this[1];const i=this[2];this[0]=t[0]*e+t[4]*s+t[8]*i;this[1]=t[1]*e+t[5]*s+t[9]*i;this[2]=t[2]*e+t[6]*s+t[10]*i;return this.normalize()}}const e=new Vec3;let s=1;let i=1;let r=false;class Geometry{constructor(t,e={}){t.canvas||console.error(\"gl not passed as first argument to Geometry\");this.gl=t;this.attributes=e;this.id=s++;this.VAOs={};this.drawRange={start:0,count:0};this.instancedCount=0;this.gl.renderer.bindVertexArray(null);this.gl.renderer.currentGeometry=null;this.glState=this.gl.renderer.state;for(let t in e)this.addAttribute(t,e[t])}addAttribute(t,e){this.attributes[t]=e;e.id=i++;e.size=e.size||1;e.type=e.type||(e.data.constructor===Float32Array?this.gl.FLOAT:e.data.constructor===Uint16Array?this.gl.UNSIGNED_SHORT:this.gl.UNSIGNED_INT);e.target=\"index\"===t?this.gl.ELEMENT_ARRAY_BUFFER:this.gl.ARRAY_BUFFER;e.normalized=e.normalized||false;e.stride=e.stride||0;e.offset=e.offset||0;e.count=e.count||(e.stride?e.data.byteLength/e.stride:e.data.length/e.size);e.divisor=e.instanced||0;e.needsUpdate=false;e.usage=e.usage||this.gl.STATIC_DRAW;e.buffer||this.updateAttribute(e);if(e.divisor){this.isInstanced=true;if(this.instancedCount&&this.instancedCount!==e.count*e.divisor){console.warn(\"geometry has multiple instanced buffers of different length\");return this.instancedCount=Math.min(this.instancedCount,e.count*e.divisor)}this.instancedCount=e.count*e.divisor}else\"index\"===t?this.drawRange.count=e.count:this.attributes.index||(this.drawRange.count=Math.max(this.drawRange.count,e.count))}updateAttribute(t){const e=!t.buffer;e&&(t.buffer=this.gl.createBuffer());if(this.glState.boundBuffer!==t.buffer){this.gl.bindBuffer(t.target,t.buffer);this.glState.boundBuffer=t.buffer}e?this.gl.bufferData(t.target,t.data,t.usage):this.gl.bufferSubData(t.target,0,t.data);t.needsUpdate=false}setIndex(t){this.addAttribute(\"index\",t)}setDrawRange(t,e){this.drawRange.start=t;this.drawRange.count=e}setInstancedCount(t){this.instancedCount=t}createVAO(t){this.VAOs[t.attributeOrder]=this.gl.renderer.createVertexArray();this.gl.renderer.bindVertexArray(this.VAOs[t.attributeOrder]);this.bindAttributes(t)}bindAttributes(t){t.attributeLocations.forEach(((t,{name:e,type:s})=>{if(!this.attributes[e]){console.warn(`active attribute ${e} not being supplied`);return}const i=this.attributes[e];this.gl.bindBuffer(i.target,i.buffer);this.glState.boundBuffer=i.buffer;let r=1;35674===s&&(r=2);35675===s&&(r=3);35676===s&&(r=4);const n=i.size/r;const a=1===r?0:r*r*4;const o=1===r?0:4*r;for(let e=0;e<r;e++){this.gl.vertexAttribPointer(t+e,n,i.type,i.normalized,i.stride+a,i.offset+e*o);this.gl.enableVertexAttribArray(t+e);this.gl.renderer.vertexAttribDivisor(t+e,i.divisor)}}));this.attributes.index&&this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,this.attributes.index.buffer)}draw({program:t,mode:e=this.gl.TRIANGLES}){if(this.gl.renderer.currentGeometry!==`${this.id}_${t.attributeOrder}`){this.VAOs[t.attributeOrder]||this.createVAO(t);this.gl.renderer.bindVertexArray(this.VAOs[t.attributeOrder]);this.gl.renderer.currentGeometry=`${this.id}_${t.attributeOrder}`}t.attributeLocations.forEach(((t,{name:e})=>{const s=this.attributes[e];s.needsUpdate&&this.updateAttribute(s)}));let s=2;this.attributes.index?.type===this.gl.UNSIGNED_INT&&(s=4);this.isInstanced?this.attributes.index?this.gl.renderer.drawElementsInstanced(e,this.drawRange.count,this.attributes.index.type,this.attributes.index.offset+this.drawRange.start*s,this.instancedCount):this.gl.renderer.drawArraysInstanced(e,this.drawRange.start,this.drawRange.count,this.instancedCount):this.attributes.index?this.gl.drawElements(e,this.drawRange.count,this.attributes.index.type,this.attributes.index.offset+this.drawRange.start*s):this.gl.drawArrays(e,this.drawRange.start,this.drawRange.count)}getPosition(){const t=this.attributes.position;if(t.data)return t;if(!r){console.warn(\"No position buffer data found to compute bounds\");return r=true}}computeBoundingBox(t){t||(t=this.getPosition());const e=t.data;const s=t.size;this.bounds||(this.bounds={min:new Vec3,max:new Vec3,center:new Vec3,scale:new Vec3,radius:Infinity});const i=this.bounds.min;const r=this.bounds.max;const n=this.bounds.center;const a=this.bounds.scale;i.set(Infinity);r.set(-Infinity);for(let t=0,n=e.length;t<n;t+=s){const s=e[t];const n=e[t+1];const a=e[t+2];i.x=Math.min(s,i.x);i.y=Math.min(n,i.y);i.z=Math.min(a,i.z);r.x=Math.max(s,r.x);r.y=Math.max(n,r.y);r.z=Math.max(a,r.z)}a.sub(r,i);n.add(i,r).divide(2)}computeBoundingSphere(t){t||(t=this.getPosition());const s=t.data;const i=t.size;this.bounds||this.computeBoundingBox(t);let r=0;for(let t=0,n=s.length;t<n;t+=i){e.fromArray(s,t);r=Math.max(r,this.bounds.center.squaredDistance(e))}this.bounds.radius=Math.sqrt(r)}remove(){for(let t in this.VAOs){this.gl.renderer.deleteVertexArray(this.VAOs[t]);delete this.VAOs[t]}for(let t in this.attributes){this.gl.deleteBuffer(this.attributes[t].buffer);delete this.attributes[t]}}}let n=1;const a={};class Program{constructor(t,{vertex:e,fragment:s,uniforms:i={},transparent:r=false,cullFace:a=t.BACK,frontFace:o=t.CCW,depthTest:h=true,depthWrite:l=true,depthFunc:c=t.LESS}={}){t.canvas||console.error(\"gl not passed as first argument to Program\");this.gl=t;this.uniforms=i;this.id=n++;e||console.warn(\"vertex shader not supplied\");s||console.warn(\"fragment shader not supplied\");this.transparent=r;this.cullFace=a;this.frontFace=o;this.depthTest=h;this.depthWrite=l;this.depthFunc=c;this.blendFunc={};this.blendEquation={};this.transparent&&!this.blendFunc.src&&(this.gl.renderer.premultipliedAlpha?this.setBlendFunc(this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA):this.setBlendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA));const u=t.createShader(t.VERTEX_SHADER);t.shaderSource(u,e);t.compileShader(u);\"\"!==t.getShaderInfoLog(u)&&console.warn(`${t.getShaderInfoLog(u)}\\nVertex Shader\\n${addLineNumbers(e)}`);const d=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(d,s);t.compileShader(d);\"\"!==t.getShaderInfoLog(d)&&console.warn(`${t.getShaderInfoLog(d)}\\nFragment Shader\\n${addLineNumbers(s)}`);this.program=t.createProgram();t.attachShader(this.program,u);t.attachShader(this.program,d);t.linkProgram(this.program);if(!t.getProgramParameter(this.program,t.LINK_STATUS))return console.warn(t.getProgramInfoLog(this.program));t.deleteShader(u);t.deleteShader(d);this.uniformLocations=new Map;let m=t.getProgramParameter(this.program,t.ACTIVE_UNIFORMS);for(let e=0;e<m;e++){let s=t.getActiveUniform(this.program,e);this.uniformLocations.set(s,t.getUniformLocation(this.program,s.name));const i=s.name.match(/(\\w+)/g);s.uniformName=i[0];s.nameComponents=i.slice(1)}this.attributeLocations=new Map;const g=[];const p=t.getProgramParameter(this.program,t.ACTIVE_ATTRIBUTES);for(let e=0;e<p;e++){const s=t.getActiveAttrib(this.program,e);const i=t.getAttribLocation(this.program,s.name);if(-1!==i){g[i]=s.name;this.attributeLocations.set(s,i)}}this.attributeOrder=g.join(\"\")}setBlendFunc(t,e,s,i){this.blendFunc.src=t;this.blendFunc.dst=e;this.blendFunc.srcAlpha=s;this.blendFunc.dstAlpha=i;t&&(this.transparent=true)}setBlendEquation(t,e){this.blendEquation.modeRGB=t;this.blendEquation.modeAlpha=e}applyState(){this.depthTest?this.gl.renderer.enable(this.gl.DEPTH_TEST):this.gl.renderer.disable(this.gl.DEPTH_TEST);this.cullFace?this.gl.renderer.enable(this.gl.CULL_FACE):this.gl.renderer.disable(this.gl.CULL_FACE);this.blendFunc.src?this.gl.renderer.enable(this.gl.BLEND):this.gl.renderer.disable(this.gl.BLEND);this.cullFace&&this.gl.renderer.setCullFace(this.cullFace);this.gl.renderer.setFrontFace(this.frontFace);this.gl.renderer.setDepthMask(this.depthWrite);this.gl.renderer.setDepthFunc(this.depthFunc);this.blendFunc.src&&this.gl.renderer.setBlendFunc(this.blendFunc.src,this.blendFunc.dst,this.blendFunc.srcAlpha,this.blendFunc.dstAlpha);this.gl.renderer.setBlendEquation(this.blendEquation.modeRGB,this.blendEquation.modeAlpha)}use({flipFaces:t=false}={}){let e=-1;const s=this.gl.renderer.state.currentProgram===this.id;if(!s){this.gl.useProgram(this.program);this.gl.renderer.state.currentProgram=this.id}this.uniformLocations.forEach(((t,s)=>{let i=this.uniforms[s.uniformName];for(const t of s.nameComponents){if(!i)break;if(!(t in i)){if(Array.isArray(i.value))break;i=void 0;break}i=i[t]}if(!i)return warn(`Active uniform ${s.name} has not been supplied`);if(i&&void 0===i.value)return warn(`${s.name} uniform is missing a value parameter`);if(i.value.texture){e+=1;i.value.update(e);return setUniform(this.gl,s.type,t,e)}if(i.value.length&&i.value[0].texture){const r=[];i.value.forEach((t=>{e+=1;t.update(e);r.push(e)}));return setUniform(this.gl,s.type,t,r)}setUniform(this.gl,s.type,t,i.value)}));this.applyState();t&&this.gl.renderer.setFrontFace(this.frontFace===this.gl.CCW?this.gl.CW:this.gl.CCW)}remove(){this.gl.deleteProgram(this.program)}}function setUniform(t,e,s,i){i=i.length?flatten(i):i;const r=t.renderer.state.uniformLocations.get(s);if(i.length)if(void 0===r||r.length!==i.length)t.renderer.state.uniformLocations.set(s,i.slice(0));else{if(arraysEqual(r,i))return;r.set?r.set(i):setArray(r,i);t.renderer.state.uniformLocations.set(s,r)}else{if(r===i)return;t.renderer.state.uniformLocations.set(s,i)}switch(e){case 5126:return i.length?t.uniform1fv(s,i):t.uniform1f(s,i);case 35664:return t.uniform2fv(s,i);case 35665:return t.uniform3fv(s,i);case 35666:return t.uniform4fv(s,i);case 35670:case 5124:case 35678:case 35680:return i.length?t.uniform1iv(s,i):t.uniform1i(s,i);case 35671:case 35667:return t.uniform2iv(s,i);case 35672:case 35668:return t.uniform3iv(s,i);case 35673:case 35669:return t.uniform4iv(s,i);case 35674:return t.uniformMatrix2fv(s,false,i);case 35675:return t.uniformMatrix3fv(s,false,i);case 35676:return t.uniformMatrix4fv(s,false,i)}}function addLineNumbers(t){let e=t.split(\"\\n\");for(let t=0;t<e.length;t++)e[t]=t+1+\": \"+e[t];return e.join(\"\\n\")}function flatten(t){const e=t.length;const s=t[0].length;if(void 0===s)return t;const i=e*s;let r=a[i];r||(a[i]=r=new Float32Array(i));for(let i=0;i<e;i++)r.set(t[i],i*s);return r}function arraysEqual(t,e){if(t.length!==e.length)return false;for(let s=0,i=t.length;s<i;s++)if(t[s]!==e[s])return false;return true}function setArray(t,e){for(let s=0,i=t.length;s<i;s++)t[s]=e[s]}let o=0;function warn(t){if(!(o>100)){console.warn(t);o++;o>100&&console.warn(\"More than 100 program warnings - stopping logs.\")}}const h=new Vec3;let l=1;class Renderer{constructor({canvas:t=document.createElement(\"canvas\"),width:e=300,height:s=150,dpr:i=1,alpha:r=false,depth:n=true,stencil:a=false,antialias:o=false,premultipliedAlpha:h=false,preserveDrawingBuffer:c=false,powerPreference:u=\"default\",autoClear:d=true,webgl:m=2}={}){const g={alpha:r,depth:n,stencil:a,antialias:o,premultipliedAlpha:h,preserveDrawingBuffer:c,powerPreference:u};this.dpr=i;this.alpha=r;this.color=true;this.depth=n;this.stencil=a;this.premultipliedAlpha=h;this.autoClear=d;this.id=l++;2===m&&(this.gl=t.getContext(\"webgl2\",g));this.isWebgl2=!!this.gl;this.gl||(this.gl=t.getContext(\"webgl\",g));this.gl||console.error(\"unable to create webgl context\");this.gl.renderer=this;this.setSize(e,s);this.state={};this.state.blendFunc={src:this.gl.ONE,dst:this.gl.ZERO};this.state.blendEquation={modeRGB:this.gl.FUNC_ADD};this.state.cullFace=null;this.state.frontFace=this.gl.CCW;this.state.depthMask=true;this.state.depthFunc=this.gl.LESS;this.state.premultiplyAlpha=false;this.state.flipY=false;this.state.unpackAlignment=4;this.state.framebuffer=null;this.state.viewport={x:0,y:0,width:null,height:null};this.state.textureUnits=[];this.state.activeTextureUnit=0;this.state.boundBuffer=null;this.state.uniformLocations=new Map;this.state.currentProgram=null;this.extensions={};if(this.isWebgl2){this.getExtension(\"EXT_color_buffer_float\");this.getExtension(\"OES_texture_float_linear\")}else{this.getExtension(\"OES_texture_float\");this.getExtension(\"OES_texture_float_linear\");this.getExtension(\"OES_texture_half_float\");this.getExtension(\"OES_texture_half_float_linear\");this.getExtension(\"OES_element_index_uint\");this.getExtension(\"OES_standard_derivatives\");this.getExtension(\"EXT_sRGB\");this.getExtension(\"WEBGL_depth_texture\");this.getExtension(\"WEBGL_draw_buffers\")}this.getExtension(\"WEBGL_compressed_texture_astc\");this.getExtension(\"EXT_texture_compression_bptc\");this.getExtension(\"WEBGL_compressed_texture_s3tc\");this.getExtension(\"WEBGL_compressed_texture_etc1\");this.getExtension(\"WEBGL_compressed_texture_pvrtc\");this.getExtension(\"WEBKIT_WEBGL_compressed_texture_pvrtc\");this.vertexAttribDivisor=this.getExtension(\"ANGLE_instanced_arrays\",\"vertexAttribDivisor\",\"vertexAttribDivisorANGLE\");this.drawArraysInstanced=this.getExtension(\"ANGLE_instanced_arrays\",\"drawArraysInstanced\",\"drawArraysInstancedANGLE\");this.drawElementsInstanced=this.getExtension(\"ANGLE_instanced_arrays\",\"drawElementsInstanced\",\"drawElementsInstancedANGLE\");this.createVertexArray=this.getExtension(\"OES_vertex_array_object\",\"createVertexArray\",\"createVertexArrayOES\");this.bindVertexArray=this.getExtension(\"OES_vertex_array_object\",\"bindVertexArray\",\"bindVertexArrayOES\");this.deleteVertexArray=this.getExtension(\"OES_vertex_array_object\",\"deleteVertexArray\",\"deleteVertexArrayOES\");this.drawBuffers=this.getExtension(\"WEBGL_draw_buffers\",\"drawBuffers\",\"drawBuffersWEBGL\");this.parameters={};this.parameters.maxTextureUnits=this.gl.getParameter(this.gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS);this.parameters.maxAnisotropy=this.getExtension(\"EXT_texture_filter_anisotropic\")?this.gl.getParameter(this.getExtension(\"EXT_texture_filter_anisotropic\").MAX_TEXTURE_MAX_ANISOTROPY_EXT):0}setSize(t,e){this.width=t;this.height=e;this.gl.canvas.width=t*this.dpr;this.gl.canvas.height=e*this.dpr;this.gl.canvas.style&&Object.assign(this.gl.canvas.style,{width:t+\"px\",height:e+\"px\"})}setViewport(t,e,s=0,i=0){if(this.state.viewport.width!==t||this.state.viewport.height!==e){this.state.viewport.width=t;this.state.viewport.height=e;this.state.viewport.x=s;this.state.viewport.y=i;this.gl.viewport(s,i,t,e)}}setScissor(t,e,s=0,i=0){this.gl.scissor(s,i,t,e)}enable(t){if(true!==this.state[t]){this.gl.enable(t);this.state[t]=true}}disable(t){if(false!==this.state[t]){this.gl.disable(t);this.state[t]=false}}setBlendFunc(t,e,s,i){if(this.state.blendFunc.src!==t||this.state.blendFunc.dst!==e||this.state.blendFunc.srcAlpha!==s||this.state.blendFunc.dstAlpha!==i){this.state.blendFunc.src=t;this.state.blendFunc.dst=e;this.state.blendFunc.srcAlpha=s;this.state.blendFunc.dstAlpha=i;void 0!==s?this.gl.blendFuncSeparate(t,e,s,i):this.gl.blendFunc(t,e)}}setBlendEquation(t,e){t=t||this.gl.FUNC_ADD;if(this.state.blendEquation.modeRGB!==t||this.state.blendEquation.modeAlpha!==e){this.state.blendEquation.modeRGB=t;this.state.blendEquation.modeAlpha=e;void 0!==e?this.gl.blendEquationSeparate(t,e):this.gl.blendEquation(t)}}setCullFace(t){if(this.state.cullFace!==t){this.state.cullFace=t;this.gl.cullFace(t)}}setFrontFace(t){if(this.state.frontFace!==t){this.state.frontFace=t;this.gl.frontFace(t)}}setDepthMask(t){if(this.state.depthMask!==t){this.state.depthMask=t;this.gl.depthMask(t)}}setDepthFunc(t){if(this.state.depthFunc!==t){this.state.depthFunc=t;this.gl.depthFunc(t)}}activeTexture(t){if(this.state.activeTextureUnit!==t){this.state.activeTextureUnit=t;this.gl.activeTexture(this.gl.TEXTURE0+t)}}bindFramebuffer({target:t=this.gl.FRAMEBUFFER,buffer:e=null}={}){if(this.state.framebuffer!==e){this.state.framebuffer=e;this.gl.bindFramebuffer(t,e)}}getExtension(t,e,s){if(e&&this.gl[e])return this.gl[e].bind(this.gl);this.extensions[t]||(this.extensions[t]=this.gl.getExtension(t));return e?this.extensions[t]?this.extensions[t][s].bind(this.extensions[t]):null:this.extensions[t]}sortOpaque(t,e){return t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.program.id!==e.program.id?t.program.id-e.program.id:t.zDepth!==e.zDepth?t.zDepth-e.zDepth:e.id-t.id}sortTransparent(t,e){return t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.zDepth!==e.zDepth?e.zDepth-t.zDepth:e.id-t.id}sortUI(t,e){return t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.program.id!==e.program.id?t.program.id-e.program.id:e.id-t.id}getRenderList({scene:t,camera:e,frustumCull:s,sort:i}){let r=[];e&&s&&e.updateFrustum();t.traverse((t=>{if(!t.visible)return true;t.draw&&(s&&t.frustumCulled&&e&&!e.frustumIntersectsMesh(t)||r.push(t))}));if(i){const t=[];const s=[];const i=[];r.forEach((r=>{r.program.transparent?r.program.depthTest?s.push(r):i.push(r):t.push(r);r.zDepth=0;if(0===r.renderOrder&&r.program.depthTest&&e){r.worldMatrix.getTranslation(h);h.applyMatrix4(e.projectionViewMatrix);r.zDepth=h.z}}));t.sort(this.sortOpaque);s.sort(this.sortTransparent);i.sort(this.sortUI);r=t.concat(s,i)}return r}render({scene:t,camera:e,target:s=null,update:i=true,sort:r=true,frustumCull:n=true,clear:a}){if(null===s){this.bindFramebuffer();this.setViewport(this.width*this.dpr,this.height*this.dpr)}else{this.bindFramebuffer(s);this.setViewport(s.width,s.height)}if(a||this.autoClear&&false!==a){if(this.depth&&(!s||s.depth)){this.enable(this.gl.DEPTH_TEST);this.setDepthMask(true)}this.gl.clear((this.color?this.gl.COLOR_BUFFER_BIT:0)|(this.depth?this.gl.DEPTH_BUFFER_BIT:0)|(this.stencil?this.gl.STENCIL_BUFFER_BIT:0))}i&&t.updateMatrixWorld();e&&e.updateMatrixWorld();const o=this.getRenderList({scene:t,camera:e,frustumCull:n,sort:r});o.forEach((t=>{t.draw({camera:e})}))}}\n/**\n * Copy the values from one vec4 to another\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the source vector\n * @returns {vec4} out\n */\nfunction copy$4(t,e){t[0]=e[0];t[1]=e[1];t[2]=e[2];t[3]=e[3];return t}\n/**\n * Set the components of a vec4 to the given values\n *\n * @param {vec4} out the receiving vector\n * @param {Number} x X component\n * @param {Number} y Y component\n * @param {Number} z Z component\n * @param {Number} w W component\n * @returns {vec4} out\n */function set$4(t,e,s,i,r){t[0]=e;t[1]=s;t[2]=i;t[3]=r;return t}\n/**\n * Adds two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @returns {vec4} out\n */\n/**\n * Scales a vec4 by a scalar number\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the vector to scale\n * @param {Number} b amount to scale the vector by\n * @returns {vec4} out\n */\nfunction scale$4(t,e,s){t[0]=e[0]*s;t[1]=e[1]*s;t[2]=e[2]*s;t[3]=e[3]*s;return t}\n/**\n * Calculates the length of a vec4\n *\n * @param {vec4} a vector to calculate length of\n * @returns {Number} length of a\n */\n/**\n * Normalize a vec4\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a vector to normalize\n * @returns {vec4} out\n */\nfunction normalize$2(t,e){let s=e[0];let i=e[1];let r=e[2];let n=e[3];let a=s*s+i*i+r*r+n*n;a>0&&(a=1/Math.sqrt(a));t[0]=s*a;t[1]=i*a;t[2]=r*a;t[3]=n*a;return t}\n/**\n * Calculates the dot product of two vec4's\n *\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @returns {Number} dot product of a and b\n */function dot$2(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}\n/**\n * Performs a linear interpolation between two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @param {Number} t interpolation amount between the two inputs\n * @returns {vec4} out\n */\n/**\n * Set a quat to the identity quaternion\n *\n * @param {quat} out the receiving quaternion\n * @returns {quat} out\n */\nfunction identity$3(t){t[0]=0;t[1]=0;t[2]=0;t[3]=1;return t}\n/**\n * Sets a quat from the given angle and rotation axis,\n * then returns it.\n *\n * @param {quat} out the receiving quaternion\n * @param {vec3} axis the axis around which to rotate\n * @param {Number} rad the angle in radians\n * @returns {quat} out\n **/function setAxisAngle(t,e,s){s*=.5;let i=Math.sin(s);t[0]=i*e[0];t[1]=i*e[1];t[2]=i*e[2];t[3]=Math.cos(s);return t}\n/**\n * Multiplies two quats\n *\n * @param {quat} out the receiving quaternion\n * @param {quat} a the first operand\n * @param {quat} b the second operand\n * @returns {quat} out\n */function multiply$3(t,e,s){let i=e[0],r=e[1],n=e[2],a=e[3];let o=s[0],h=s[1],l=s[2],c=s[3];t[0]=i*c+a*o+r*l-n*h;t[1]=r*c+a*h+n*o-i*l;t[2]=n*c+a*l+i*h-r*o;t[3]=a*c-i*o-r*h-n*l;return t}\n/**\n * Rotates a quaternion by the given angle about the X axis\n *\n * @param {quat} out quat receiving operation result\n * @param {quat} a quat to rotate\n * @param {number} rad angle (in radians) to rotate\n * @returns {quat} out\n */function rotateX(t,e,s){s*=.5;let i=e[0],r=e[1],n=e[2],a=e[3];let o=Math.sin(s),h=Math.cos(s);t[0]=i*h+a*o;t[1]=r*h+n*o;t[2]=n*h-r*o;t[3]=a*h-i*o;return t}\n/**\n * Rotates a quaternion by the given angle about the Y axis\n *\n * @param {quat} out quat receiving operation result\n * @param {quat} a quat to rotate\n * @param {number} rad angle (in radians) to rotate\n * @returns {quat} out\n */function rotateY(t,e,s){s*=.5;let i=e[0],r=e[1],n=e[2],a=e[3];let o=Math.sin(s),h=Math.cos(s);t[0]=i*h-n*o;t[1]=r*h+a*o;t[2]=n*h+i*o;t[3]=a*h-r*o;return t}\n/**\n * Rotates a quaternion by the given angle about the Z axis\n *\n * @param {quat} out quat receiving operation result\n * @param {quat} a quat to rotate\n * @param {number} rad angle (in radians) to rotate\n * @returns {quat} out\n */function rotateZ(t,e,s){s*=.5;let i=e[0],r=e[1],n=e[2],a=e[3];let o=Math.sin(s),h=Math.cos(s);t[0]=i*h+r*o;t[1]=r*h-i*o;t[2]=n*h+a*o;t[3]=a*h-n*o;return t}\n/**\n * Performs a spherical linear interpolation between two quat\n *\n * @param {quat} out the receiving quaternion\n * @param {quat} a the first operand\n * @param {quat} b the second operand\n * @param {Number} t interpolation amount between the two inputs\n * @returns {quat} out\n */function slerp(t,e,s,i){let r=e[0],n=e[1],a=e[2],o=e[3];let h=s[0],l=s[1],c=s[2],u=s[3];let d,m,g,p,f;m=r*h+n*l+a*c+o*u;if(m<0){m=-m;h=-h;l=-l;c=-c;u=-u}if(1-m>1e-6){d=Math.acos(m);g=Math.sin(d);p=Math.sin((1-i)*d)/g;f=Math.sin(i*d)/g}else{p=1-i;f=i}t[0]=p*r+f*h;t[1]=p*n+f*l;t[2]=p*a+f*c;t[3]=p*o+f*u;return t}\n/**\n * Calculates the inverse of a quat\n *\n * @param {quat} out the receiving quaternion\n * @param {quat} a quat to calculate inverse of\n * @returns {quat} out\n */function invert$2(t,e){let s=e[0],i=e[1],r=e[2],n=e[3];let a=s*s+i*i+r*r+n*n;let o=a?1/a:0;t[0]=-s*o;t[1]=-i*o;t[2]=-r*o;t[3]=n*o;return t}\n/**\n * Calculates the conjugate of a quat\n * If the quaternion is normalized, this function is faster than quat.inverse and produces the same result.\n *\n * @param {quat} out the receiving quaternion\n * @param {quat} a quat to calculate conjugate of\n * @returns {quat} out\n */function conjugate(t,e){t[0]=-e[0];t[1]=-e[1];t[2]=-e[2];t[3]=e[3];return t}\n/**\n * Creates a quaternion from the given 3x3 rotation matrix.\n *\n * NOTE: The resultant quaternion is not normalized, so you should be sure\n * to renormalize the quaternion yourself where necessary.\n *\n * @param {quat} out the receiving quaternion\n * @param {mat3} m rotation matrix\n * @returns {quat} out\n * @function\n */function fromMat3(t,e){let s=e[0]+e[4]+e[8];let i;if(s>0){i=Math.sqrt(s+1);t[3]=.5*i;i=.5/i;t[0]=(e[5]-e[7])*i;t[1]=(e[6]-e[2])*i;t[2]=(e[1]-e[3])*i}else{let s=0;e[4]>e[0]&&(s=1);e[8]>e[3*s+s]&&(s=2);let r=(s+1)%3;let n=(s+2)%3;i=Math.sqrt(e[3*s+s]-e[3*r+r]-e[3*n+n]+1);t[s]=.5*i;i=.5/i;t[3]=(e[3*r+n]-e[3*n+r])*i;t[r]=(e[3*r+s]+e[3*s+r])*i;t[n]=(e[3*n+s]+e[3*s+n])*i}return t}\n/**\n * Creates a quaternion from the given euler angle x, y, z.\n *\n * @param {quat} out the receiving quaternion\n * @param {vec3} euler Angles to rotate around each axis in degrees.\n * @param {String} order detailing order of operations. Default 'XYZ'.\n * @returns {quat} out\n * @function\n */function fromEuler(t,e,s=\"YXZ\"){let i=Math.sin(.5*e[0]);let r=Math.cos(.5*e[0]);let n=Math.sin(.5*e[1]);let a=Math.cos(.5*e[1]);let o=Math.sin(.5*e[2]);let h=Math.cos(.5*e[2]);if(\"XYZ\"===s){t[0]=i*a*h+r*n*o;t[1]=r*n*h-i*a*o;t[2]=r*a*o+i*n*h;t[3]=r*a*h-i*n*o}else if(\"YXZ\"===s){t[0]=i*a*h+r*n*o;t[1]=r*n*h-i*a*o;t[2]=r*a*o-i*n*h;t[3]=r*a*h+i*n*o}else if(\"ZXY\"===s){t[0]=i*a*h-r*n*o;t[1]=r*n*h+i*a*o;t[2]=r*a*o+i*n*h;t[3]=r*a*h-i*n*o}else if(\"ZYX\"===s){t[0]=i*a*h-r*n*o;t[1]=r*n*h+i*a*o;t[2]=r*a*o-i*n*h;t[3]=r*a*h+i*n*o}else if(\"YZX\"===s){t[0]=i*a*h+r*n*o;t[1]=r*n*h+i*a*o;t[2]=r*a*o-i*n*h;t[3]=r*a*h-i*n*o}else if(\"XZY\"===s){t[0]=i*a*h-r*n*o;t[1]=r*n*h-i*a*o;t[2]=r*a*o+i*n*h;t[3]=r*a*h+i*n*o}return t}\n/**\n * Copy the values from one quat to another\n *\n * @param {quat} out the receiving quaternion\n * @param {quat} a the source quaternion\n * @returns {quat} out\n * @function\n */const c=copy$4;\n/**\n * Set the components of a quat to the given values\n *\n * @param {quat} out the receiving quaternion\n * @param {Number} x X component\n * @param {Number} y Y component\n * @param {Number} z Z component\n * @param {Number} w W component\n * @returns {quat} out\n * @function\n */const u=set$4;\n/**\n * Adds two quat's\n *\n * @param {quat} out the receiving quaternion\n * @param {quat} a the first operand\n * @param {quat} b the second operand\n * @returns {quat} out\n * @function\n */\n/**\n * Calculates the dot product of two quat's\n *\n * @param {quat} a the first operand\n * @param {quat} b the second operand\n * @returns {Number} dot product of a and b\n * @function\n */\nconst d=dot$2;\n/**\n * Performs a linear interpolation between two quat's\n *\n * @param {quat} out the receiving quaternion\n * @param {quat} a the first operand\n * @param {quat} b the second operand\n * @param {Number} t interpolation amount between the two inputs\n * @returns {quat} out\n * @function\n */\n/**\n * Normalize a quat\n *\n * @param {quat} out the receiving quaternion\n * @param {quat} a quaternion to normalize\n * @returns {quat} out\n * @function\n */\nconst m=normalize$2;class Quat extends Array{constructor(t=0,e=0,s=0,i=1){super(t,e,s,i);this.onChange=()=>{};return this}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}get w(){return this[3]}set x(t){this[0]=t;this.onChange()}set y(t){this[1]=t;this.onChange()}set z(t){this[2]=t;this.onChange()}set w(t){this[3]=t;this.onChange()}identity(){identity$3(this);this.onChange();return this}set(t,e,s,i){if(t.length)return this.copy(t);u(this,t,e,s,i);this.onChange();return this}rotateX(t){rotateX(this,this,t);this.onChange();return this}rotateY(t){rotateY(this,this,t);this.onChange();return this}rotateZ(t){rotateZ(this,this,t);this.onChange();return this}inverse(t=this){invert$2(this,t);this.onChange();return this}conjugate(t=this){conjugate(this,t);this.onChange();return this}copy(t){c(this,t);this.onChange();return this}normalize(t=this){m(this,t);this.onChange();return this}multiply(t,e){e?multiply$3(this,t,e):multiply$3(this,this,t);this.onChange();return this}dot(t){return d(this,t)}fromMatrix3(t){fromMat3(this,t);this.onChange();return this}fromEuler(t){fromEuler(this,t,t.order);return this}fromAxisAngle(t,e){setAxisAngle(this,t,e);this.onChange();return this}slerp(t,e){slerp(this,this,t,e);this.onChange();return this}fromArray(t,e=0){this[0]=t[e];this[1]=t[e+1];this[2]=t[e+2];this[3]=t[e+3];this.onChange();return this}toArray(t=[],e=0){t[e]=this[0];t[e+1]=this[1];t[e+2]=this[2];t[e+3]=this[3];return t}}const g=1e-6;\n/**\n * Copy the values from one mat4 to another\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the source matrix\n * @returns {mat4} out\n */function copy$2(t,e){t[0]=e[0];t[1]=e[1];t[2]=e[2];t[3]=e[3];t[4]=e[4];t[5]=e[5];t[6]=e[6];t[7]=e[7];t[8]=e[8];t[9]=e[9];t[10]=e[10];t[11]=e[11];t[12]=e[12];t[13]=e[13];t[14]=e[14];t[15]=e[15];return t}\n/**\n * Set the components of a mat4 to the given values\n *\n * @param {mat4} out the receiving matrix\n * @returns {mat4} out\n */function set$2(t,e,s,i,r,n,a,o,h,l,c,u,d,m,g,p,f){t[0]=e;t[1]=s;t[2]=i;t[3]=r;t[4]=n;t[5]=a;t[6]=o;t[7]=h;t[8]=l;t[9]=c;t[10]=u;t[11]=d;t[12]=m;t[13]=g;t[14]=p;t[15]=f;return t}\n/**\n * Set a mat4 to the identity matrix\n *\n * @param {mat4} out the receiving matrix\n * @returns {mat4} out\n */function identity$2(t){t[0]=1;t[1]=0;t[2]=0;t[3]=0;t[4]=0;t[5]=1;t[6]=0;t[7]=0;t[8]=0;t[9]=0;t[10]=1;t[11]=0;t[12]=0;t[13]=0;t[14]=0;t[15]=1;return t}\n/**\n * Transpose the values of a mat4\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the source matrix\n * @returns {mat4} out\n */\n/**\n * Inverts a mat4\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the source matrix\n * @returns {mat4} out\n */\nfunction invert$1(t,e){let s=e[0],i=e[1],r=e[2],n=e[3];let a=e[4],o=e[5],h=e[6],l=e[7];let c=e[8],u=e[9],d=e[10],m=e[11];let g=e[12],p=e[13],f=e[14],x=e[15];let w=s*o-i*a;let y=s*h-r*a;let b=s*l-n*a;let M=i*h-r*o;let v=i*l-n*o;let A=r*l-n*h;let E=c*p-u*g;let T=c*f-d*g;let _=c*x-m*g;let F=u*f-d*p;let S=u*x-m*p;let R=d*x-m*f;let P=w*R-y*S+b*F+M*_-v*T+A*E;if(!P)return null;P=1/P;t[0]=(o*R-h*S+l*F)*P;t[1]=(r*S-i*R-n*F)*P;t[2]=(p*A-f*v+x*M)*P;t[3]=(d*v-u*A-m*M)*P;t[4]=(h*_-a*R-l*T)*P;t[5]=(s*R-r*_+n*T)*P;t[6]=(f*b-g*A-x*y)*P;t[7]=(c*A-d*b+m*y)*P;t[8]=(a*S-o*_+l*E)*P;t[9]=(i*_-s*S-n*E)*P;t[10]=(g*v-p*b+x*w)*P;t[11]=(u*b-c*v-m*w)*P;t[12]=(o*T-a*F-h*E)*P;t[13]=(s*F-i*T+r*E)*P;t[14]=(p*y-g*M-f*w)*P;t[15]=(c*M-u*y+d*w)*P;return t}\n/**\n * Calculates the determinant of a mat4\n *\n * @param {mat4} a the source matrix\n * @returns {Number} determinant of a\n */function determinant$1(t){let e=t[0],s=t[1],i=t[2],r=t[3];let n=t[4],a=t[5],o=t[6],h=t[7];let l=t[8],c=t[9],u=t[10],d=t[11];let m=t[12],g=t[13],p=t[14],f=t[15];let x=e*a-s*n;let w=e*o-i*n;let y=e*h-r*n;let b=s*o-i*a;let M=s*h-r*a;let v=i*h-r*o;let A=l*g-c*m;let E=l*p-u*m;let T=l*f-d*m;let _=c*p-u*g;let F=c*f-d*g;let S=u*f-d*p;return x*S-w*F+y*_+b*T-M*E+v*A}\n/**\n * Multiplies two mat4s\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the first operand\n * @param {mat4} b the second operand\n * @returns {mat4} out\n */function multiply$2(t,e,s){let i=e[0],r=e[1],n=e[2],a=e[3];let o=e[4],h=e[5],l=e[6],c=e[7];let u=e[8],d=e[9],m=e[10],g=e[11];let p=e[12],f=e[13],x=e[14],w=e[15];let y=s[0],b=s[1],M=s[2],v=s[3];t[0]=y*i+b*o+M*u+v*p;t[1]=y*r+b*h+M*d+v*f;t[2]=y*n+b*l+M*m+v*x;t[3]=y*a+b*c+M*g+v*w;y=s[4];b=s[5];M=s[6];v=s[7];t[4]=y*i+b*o+M*u+v*p;t[5]=y*r+b*h+M*d+v*f;t[6]=y*n+b*l+M*m+v*x;t[7]=y*a+b*c+M*g+v*w;y=s[8];b=s[9];M=s[10];v=s[11];t[8]=y*i+b*o+M*u+v*p;t[9]=y*r+b*h+M*d+v*f;t[10]=y*n+b*l+M*m+v*x;t[11]=y*a+b*c+M*g+v*w;y=s[12];b=s[13];M=s[14];v=s[15];t[12]=y*i+b*o+M*u+v*p;t[13]=y*r+b*h+M*d+v*f;t[14]=y*n+b*l+M*m+v*x;t[15]=y*a+b*c+M*g+v*w;return t}\n/**\n * Translate a mat4 by the given vector\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the matrix to translate\n * @param {vec3} v vector to translate by\n * @returns {mat4} out\n */function translate$1(t,e,s){let i=s[0],r=s[1],n=s[2];let a,o,h,l;let c,u,d,m;let g,p,f,x;if(e===t){t[12]=e[0]*i+e[4]*r+e[8]*n+e[12];t[13]=e[1]*i+e[5]*r+e[9]*n+e[13];t[14]=e[2]*i+e[6]*r+e[10]*n+e[14];t[15]=e[3]*i+e[7]*r+e[11]*n+e[15]}else{a=e[0];o=e[1];h=e[2];l=e[3];c=e[4];u=e[5];d=e[6];m=e[7];g=e[8];p=e[9];f=e[10];x=e[11];t[0]=a;t[1]=o;t[2]=h;t[3]=l;t[4]=c;t[5]=u;t[6]=d;t[7]=m;t[8]=g;t[9]=p;t[10]=f;t[11]=x;t[12]=a*i+c*r+g*n+e[12];t[13]=o*i+u*r+p*n+e[13];t[14]=h*i+d*r+f*n+e[14];t[15]=l*i+m*r+x*n+e[15]}return t}\n/**\n * Scales the mat4 by the dimensions in the given vec3 not using vectorization\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the matrix to scale\n * @param {vec3} v the vec3 to scale the matrix by\n * @returns {mat4} out\n **/function scale$2(t,e,s){let i=s[0],r=s[1],n=s[2];t[0]=e[0]*i;t[1]=e[1]*i;t[2]=e[2]*i;t[3]=e[3]*i;t[4]=e[4]*r;t[5]=e[5]*r;t[6]=e[6]*r;t[7]=e[7]*r;t[8]=e[8]*n;t[9]=e[9]*n;t[10]=e[10]*n;t[11]=e[11]*n;t[12]=e[12];t[13]=e[13];t[14]=e[14];t[15]=e[15];return t}\n/**\n * Rotates a mat4 by the given angle around the given axis\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @param {vec3} axis the axis to rotate around\n * @returns {mat4} out\n */function rotate$1(t,e,s,i){let r=i[0],n=i[1],a=i[2];let o=Math.hypot(r,n,a);let h,l,c;let u,d,m,p;let f,x,w,y;let b,M,v,A;let E,T,_;let F,S,R;let P,L,C;if(Math.abs(o)<g)return null;o=1/o;r*=o;n*=o;a*=o;h=Math.sin(s);l=Math.cos(s);c=1-l;u=e[0];d=e[1];m=e[2];p=e[3];f=e[4];x=e[5];w=e[6];y=e[7];b=e[8];M=e[9];v=e[10];A=e[11];E=r*r*c+l;T=n*r*c+a*h;_=a*r*c-n*h;F=r*n*c-a*h;S=n*n*c+l;R=a*n*c+r*h;P=r*a*c+n*h;L=n*a*c-r*h;C=a*a*c+l;t[0]=u*E+f*T+b*_;t[1]=d*E+x*T+M*_;t[2]=m*E+w*T+v*_;t[3]=p*E+y*T+A*_;t[4]=u*F+f*S+b*R;t[5]=d*F+x*S+M*R;t[6]=m*F+w*S+v*R;t[7]=p*F+y*S+A*R;t[8]=u*P+f*L+b*C;t[9]=d*P+x*L+M*C;t[10]=m*P+w*L+v*C;t[11]=p*P+y*L+A*C;if(e!==t){t[12]=e[12];t[13]=e[13];t[14]=e[14];t[15]=e[15]}return t}\n/**\n * Returns the translation vector component of a transformation\n *  matrix. If a matrix is built with fromRotationTranslation,\n *  the returned vector will be the same as the translation vector\n *  originally supplied.\n * @param  {vec3} out Vector to receive translation component\n * @param  {mat4} mat Matrix to be decomposed (input)\n * @return {vec3} out\n */function getTranslation(t,e){t[0]=e[12];t[1]=e[13];t[2]=e[14];return t}\n/**\n * Returns the scaling factor component of a transformation\n *  matrix. If a matrix is built with fromRotationTranslationScale\n *  with a normalized Quaternion paramter, the returned vector will be\n *  the same as the scaling vector\n *  originally supplied.\n * @param  {vec3} out Vector to receive scaling factor component\n * @param  {mat4} mat Matrix to be decomposed (input)\n * @return {vec3} out\n */function getScaling(t,e){let s=e[0];let i=e[1];let r=e[2];let n=e[4];let a=e[5];let o=e[6];let h=e[8];let l=e[9];let c=e[10];t[0]=Math.hypot(s,i,r);t[1]=Math.hypot(n,a,o);t[2]=Math.hypot(h,l,c);return t}function getMaxScaleOnAxis(t){let e=t[0];let s=t[1];let i=t[2];let r=t[4];let n=t[5];let a=t[6];let o=t[8];let h=t[9];let l=t[10];const c=e*e+s*s+i*i;const u=r*r+n*n+a*a;const d=o*o+h*h+l*l;return Math.sqrt(Math.max(c,u,d))}\n/**\n * Returns a quaternion representing the rotational component\n *  of a transformation matrix. If a matrix is built with\n *  fromRotationTranslation, the returned quaternion will be the\n *  same as the quaternion originally supplied.\n * @param {quat} out Quaternion to receive the rotation component\n * @param {mat4} mat Matrix to be decomposed (input)\n * @return {quat} out\n */const p=function(){const t=[0,0,0];return function(e,s){let i=t;getScaling(i,s);let r=1/i[0];let n=1/i[1];let a=1/i[2];let o=s[0]*r;let h=s[1]*n;let l=s[2]*a;let c=s[4]*r;let u=s[5]*n;let d=s[6]*a;let m=s[8]*r;let g=s[9]*n;let p=s[10]*a;let f=o+u+p;let x=0;if(f>0){x=2*Math.sqrt(f+1);e[3]=.25*x;e[0]=(d-g)/x;e[1]=(m-l)/x;e[2]=(h-c)/x}else if(o>u&&o>p){x=2*Math.sqrt(1+o-u-p);e[3]=(d-g)/x;e[0]=.25*x;e[1]=(h+c)/x;e[2]=(m+l)/x}else if(u>p){x=2*Math.sqrt(1+u-o-p);e[3]=(m-l)/x;e[0]=(h+c)/x;e[1]=.25*x;e[2]=(d+g)/x}else{x=2*Math.sqrt(1+p-o-u);e[3]=(h-c)/x;e[0]=(m+l)/x;e[1]=(d+g)/x;e[2]=.25*x}return e}}();\n/**\n * Creates a matrix from a quaternion rotation, vector translation and vector scale\n * This is equivalent to (but much faster than):\n *\n *     mat4.identity(dest);\n *     mat4.translate(dest, vec);\n *     let quatMat = mat4.create();\n *     quat4.toMat4(quat, quatMat);\n *     mat4.multiply(dest, quatMat);\n *     mat4.scale(dest, scale)\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {quat4} q Rotation quaternion\n * @param {vec3} v Translation vector\n * @param {vec3} s Scaling vector\n * @returns {mat4} out\n */function fromRotationTranslationScale(t,e,s,i){let r=e[0],n=e[1],a=e[2],o=e[3];let h=r+r;let l=n+n;let c=a+a;let u=r*h;let d=r*l;let m=r*c;let g=n*l;let p=n*c;let f=a*c;let x=o*h;let w=o*l;let y=o*c;let b=i[0];let M=i[1];let v=i[2];t[0]=(1-(g+f))*b;t[1]=(d+y)*b;t[2]=(m-w)*b;t[3]=0;t[4]=(d-y)*M;t[5]=(1-(u+f))*M;t[6]=(p+x)*M;t[7]=0;t[8]=(m+w)*v;t[9]=(p-x)*v;t[10]=(1-(u+g))*v;t[11]=0;t[12]=s[0];t[13]=s[1];t[14]=s[2];t[15]=1;return t}\n/**\n * Calculates a 4x4 matrix from the given quaternion\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {quat} q Quaternion to create matrix from\n *\n * @returns {mat4} out\n */function fromQuat$1(t,e){let s=e[0],i=e[1],r=e[2],n=e[3];let a=s+s;let o=i+i;let h=r+r;let l=s*a;let c=i*a;let u=i*o;let d=r*a;let m=r*o;let g=r*h;let p=n*a;let f=n*o;let x=n*h;t[0]=1-u-g;t[1]=c+x;t[2]=d-f;t[3]=0;t[4]=c-x;t[5]=1-l-g;t[6]=m+p;t[7]=0;t[8]=d+f;t[9]=m-p;t[10]=1-l-u;t[11]=0;t[12]=0;t[13]=0;t[14]=0;t[15]=1;return t}\n/**\n * Generates a perspective projection matrix with the given bounds\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {number} fovy Vertical field of view in radians\n * @param {number} aspect Aspect ratio. typically viewport width/height\n * @param {number} near Near bound of the frustum\n * @param {number} far Far bound of the frustum\n * @returns {mat4} out\n */function perspective(t,e,s,i,r){let n=1/Math.tan(e/2);let a=1/(i-r);t[0]=n/s;t[1]=0;t[2]=0;t[3]=0;t[4]=0;t[5]=n;t[6]=0;t[7]=0;t[8]=0;t[9]=0;t[10]=(r+i)*a;t[11]=-1;t[12]=0;t[13]=0;t[14]=2*r*i*a;t[15]=0;return t}\n/**\n * Generates a orthogonal projection matrix with the given bounds\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {number} left Left bound of the frustum\n * @param {number} right Right bound of the frustum\n * @param {number} bottom Bottom bound of the frustum\n * @param {number} top Top bound of the frustum\n * @param {number} near Near bound of the frustum\n * @param {number} far Far bound of the frustum\n * @returns {mat4} out\n */function ortho(t,e,s,i,r,n,a){let o=1/(e-s);let h=1/(i-r);let l=1/(n-a);t[0]=-2*o;t[1]=0;t[2]=0;t[3]=0;t[4]=0;t[5]=-2*h;t[6]=0;t[7]=0;t[8]=0;t[9]=0;t[10]=2*l;t[11]=0;t[12]=(e+s)*o;t[13]=(r+i)*h;t[14]=(a+n)*l;t[15]=1;return t}\n/**\n * Generates a matrix that makes something look at something else.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {vec3} eye Position of the viewer\n * @param {vec3} target Point the viewer is looking at\n * @param {vec3} up vec3 pointing up\n * @returns {mat4} out\n */function targetTo(t,e,s,i){let r=e[0],n=e[1],a=e[2],o=i[0],h=i[1],l=i[2];let c=r-s[0],u=n-s[1],d=a-s[2];let m=c*c+u*u+d*d;if(0===m)d=1;else{m=1/Math.sqrt(m);c*=m;u*=m;d*=m}let g=h*d-l*u,p=l*c-o*d,f=o*u-h*c;m=g*g+p*p+f*f;if(0===m){l?o+=1e-6:h?l+=1e-6:h+=1e-6;g=h*d-l*u,p=l*c-o*d,f=o*u-h*c;m=g*g+p*p+f*f}m=1/Math.sqrt(m);g*=m;p*=m;f*=m;t[0]=g;t[1]=p;t[2]=f;t[3]=0;t[4]=u*f-d*p;t[5]=d*g-c*f;t[6]=c*p-u*g;t[7]=0;t[8]=c;t[9]=u;t[10]=d;t[11]=0;t[12]=r;t[13]=n;t[14]=a;t[15]=1;return t}\n/**\n * Adds two mat4's\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the first operand\n * @param {mat4} b the second operand\n * @returns {mat4} out\n */function add$2(t,e,s){t[0]=e[0]+s[0];t[1]=e[1]+s[1];t[2]=e[2]+s[2];t[3]=e[3]+s[3];t[4]=e[4]+s[4];t[5]=e[5]+s[5];t[6]=e[6]+s[6];t[7]=e[7]+s[7];t[8]=e[8]+s[8];t[9]=e[9]+s[9];t[10]=e[10]+s[10];t[11]=e[11]+s[11];t[12]=e[12]+s[12];t[13]=e[13]+s[13];t[14]=e[14]+s[14];t[15]=e[15]+s[15];return t}\n/**\n * Subtracts matrix b from matrix a\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the first operand\n * @param {mat4} b the second operand\n * @returns {mat4} out\n */function subtract$2(t,e,s){t[0]=e[0]-s[0];t[1]=e[1]-s[1];t[2]=e[2]-s[2];t[3]=e[3]-s[3];t[4]=e[4]-s[4];t[5]=e[5]-s[5];t[6]=e[6]-s[6];t[7]=e[7]-s[7];t[8]=e[8]-s[8];t[9]=e[9]-s[9];t[10]=e[10]-s[10];t[11]=e[11]-s[11];t[12]=e[12]-s[12];t[13]=e[13]-s[13];t[14]=e[14]-s[14];t[15]=e[15]-s[15];return t}\n/**\n * Multiply each element of the matrix by a scalar.\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the matrix to scale\n * @param {Number} b amount to scale the matrix's elements by\n * @returns {mat4} out\n */function multiplyScalar$1(t,e,s){t[0]=e[0]*s;t[1]=e[1]*s;t[2]=e[2]*s;t[3]=e[3]*s;t[4]=e[4]*s;t[5]=e[5]*s;t[6]=e[6]*s;t[7]=e[7]*s;t[8]=e[8]*s;t[9]=e[9]*s;t[10]=e[10]*s;t[11]=e[11]*s;t[12]=e[12]*s;t[13]=e[13]*s;t[14]=e[14]*s;t[15]=e[15]*s;return t}class Mat4 extends Array{constructor(t=1,e=0,s=0,i=0,r=0,n=1,a=0,o=0,h=0,l=0,c=1,u=0,d=0,m=0,g=0,p=1){super(t,e,s,i,r,n,a,o,h,l,c,u,d,m,g,p);return this}get x(){return this[12]}get y(){return this[13]}get z(){return this[14]}get w(){return this[15]}set x(t){this[12]=t}set y(t){this[13]=t}set z(t){this[14]=t}set w(t){this[15]=t}set(t,e,s,i,r,n,a,o,h,l,c,u,d,m,g,p){if(t.length)return this.copy(t);set$2(this,t,e,s,i,r,n,a,o,h,l,c,u,d,m,g,p);return this}translate(t,e=this){translate$1(this,e,t);return this}rotate(t,e,s=this){rotate$1(this,s,t,e);return this}scale(t,e=this){scale$2(this,e,\"number\"===typeof t?[t,t,t]:t);return this}add(t,e){e?add$2(this,t,e):add$2(this,this,t);return this}sub(t,e){e?subtract$2(this,t,e):subtract$2(this,this,t);return this}multiply(t,e){t.length?e?multiply$2(this,t,e):multiply$2(this,this,t):multiplyScalar$1(this,this,t);return this}identity(){identity$2(this);return this}copy(t){copy$2(this,t);return this}fromPerspective({fov:t,aspect:e,near:s,far:i}={}){perspective(this,t,e,s,i);return this}fromOrthogonal({left:t,right:e,bottom:s,top:i,near:r,far:n}){ortho(this,t,e,s,i,r,n);return this}fromQuaternion(t){fromQuat$1(this,t);return this}setPosition(t){this.x=t[0];this.y=t[1];this.z=t[2];return this}inverse(t=this){invert$1(this,t);return this}compose(t,e,s){fromRotationTranslationScale(this,t,e,s);return this}getRotation(t){p(t,this);return this}getTranslation(t){getTranslation(t,this);return this}getScaling(t){getScaling(t,this);return this}getMaxScaleOnAxis(){return getMaxScaleOnAxis(this)}lookAt(t,e,s){targetTo(this,t,e,s);return this}determinant(){return determinant$1(this)}fromArray(t,e=0){this[0]=t[e];this[1]=t[e+1];this[2]=t[e+2];this[3]=t[e+3];this[4]=t[e+4];this[5]=t[e+5];this[6]=t[e+6];this[7]=t[e+7];this[8]=t[e+8];this[9]=t[e+9];this[10]=t[e+10];this[11]=t[e+11];this[12]=t[e+12];this[13]=t[e+13];this[14]=t[e+14];this[15]=t[e+15];return this}toArray(t=[],e=0){t[e]=this[0];t[e+1]=this[1];t[e+2]=this[2];t[e+3]=this[3];t[e+4]=this[4];t[e+5]=this[5];t[e+6]=this[6];t[e+7]=this[7];t[e+8]=this[8];t[e+9]=this[9];t[e+10]=this[10];t[e+11]=this[11];t[e+12]=this[12];t[e+13]=this[13];t[e+14]=this[14];t[e+15]=this[15];return t}}function fromRotationMatrix(t,e,s=\"YXZ\"){if(\"XYZ\"===s){t[1]=Math.asin(Math.min(Math.max(e[8],-1),1));if(Math.abs(e[8])<.99999){t[0]=Math.atan2(-e[9],e[10]);t[2]=Math.atan2(-e[4],e[0])}else{t[0]=Math.atan2(e[6],e[5]);t[2]=0}}else if(\"YXZ\"===s){t[0]=Math.asin(-Math.min(Math.max(e[9],-1),1));if(Math.abs(e[9])<.99999){t[1]=Math.atan2(e[8],e[10]);t[2]=Math.atan2(e[1],e[5])}else{t[1]=Math.atan2(-e[2],e[0]);t[2]=0}}else if(\"ZXY\"===s){t[0]=Math.asin(Math.min(Math.max(e[6],-1),1));if(Math.abs(e[6])<.99999){t[1]=Math.atan2(-e[2],e[10]);t[2]=Math.atan2(-e[4],e[5])}else{t[1]=0;t[2]=Math.atan2(e[1],e[0])}}else if(\"ZYX\"===s){t[1]=Math.asin(-Math.min(Math.max(e[2],-1),1));if(Math.abs(e[2])<.99999){t[0]=Math.atan2(e[6],e[10]);t[2]=Math.atan2(e[1],e[0])}else{t[0]=0;t[2]=Math.atan2(-e[4],e[5])}}else if(\"YZX\"===s){t[2]=Math.asin(Math.min(Math.max(e[1],-1),1));if(Math.abs(e[1])<.99999){t[0]=Math.atan2(-e[9],e[5]);t[1]=Math.atan2(-e[2],e[0])}else{t[0]=0;t[1]=Math.atan2(e[8],e[10])}}else if(\"XZY\"===s){t[2]=Math.asin(-Math.min(Math.max(e[4],-1),1));if(Math.abs(e[4])<.99999){t[0]=Math.atan2(e[6],e[5]);t[1]=Math.atan2(e[8],e[0])}else{t[0]=Math.atan2(-e[9],e[10]);t[1]=0}}return t}const f=new Mat4;class Euler extends Array{constructor(t=0,e=t,s=t,i=\"YXZ\"){super(t,e,s);this.order=i;this.onChange=()=>{};return this}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}set x(t){this[0]=t;this.onChange()}set y(t){this[1]=t;this.onChange()}set z(t){this[2]=t;this.onChange()}set(t,e=t,s=t){if(t.length)return this.copy(t);this[0]=t;this[1]=e;this[2]=s;this.onChange();return this}copy(t){this[0]=t[0];this[1]=t[1];this[2]=t[2];this.onChange();return this}reorder(t){this.order=t;this.onChange();return this}fromRotationMatrix(t,e=this.order){fromRotationMatrix(this,t,e);this.onChange();return this}fromQuaternion(t,e=this.order){f.fromQuaternion(t);return this.fromRotationMatrix(f,e)}fromArray(t,e=0){this[0]=t[e];this[1]=t[e+1];this[2]=t[e+2];return this}toArray(t=[],e=0){t[e]=this[0];t[e+1]=this[1];t[e+2]=this[2];return t}}class Transform{constructor(){this.parent=null;this.children=[];this.visible=true;this.matrix=new Mat4;this.worldMatrix=new Mat4;this.matrixAutoUpdate=true;this.position=new Vec3;this.quaternion=new Quat;this.scale=new Vec3(1);this.rotation=new Euler;this.up=new Vec3(0,1,0);this.rotation.onChange=()=>this.quaternion.fromEuler(this.rotation);this.quaternion.onChange=()=>this.rotation.fromQuaternion(this.quaternion)}setParent(t,e=true){this.parent&&t!==this.parent&&this.parent.removeChild(this,false);this.parent=t;e&&t&&t.addChild(this,false)}addChild(t,e=true){~this.children.indexOf(t)||this.children.push(t);e&&t.setParent(this,false)}removeChild(t,e=true){!~this.children.indexOf(t)||this.children.splice(this.children.indexOf(t),1);e&&t.setParent(null,false)}updateMatrixWorld(t){this.matrixAutoUpdate&&this.updateMatrix();if(this.worldMatrixNeedsUpdate||t){null===this.parent?this.worldMatrix.copy(this.matrix):this.worldMatrix.multiply(this.parent.worldMatrix,this.matrix);this.worldMatrixNeedsUpdate=false;t=true}for(let e=0,s=this.children.length;e<s;e++)this.children[e].updateMatrixWorld(t)}updateMatrix(){this.matrix.compose(this.quaternion,this.position,this.scale);this.worldMatrixNeedsUpdate=true}traverse(t){if(!t(this))for(let e=0,s=this.children.length;e<s;e++)this.children[e].traverse(t)}decompose(){this.matrix.getTranslation(this.position);this.matrix.getRotation(this.quaternion);this.matrix.getScaling(this.scale);this.rotation.fromQuaternion(this.quaternion)}lookAt(t,e=false){e?this.matrix.lookAt(this.position,t,this.up):this.matrix.lookAt(t,this.position,this.up);this.matrix.getRotation(this.quaternion);this.rotation.fromQuaternion(this.quaternion)}}const x=new Mat4;const w=new Vec3;const y=new Vec3;class Camera extends Transform{constructor(t,{near:e=.1,far:s=100,fov:i=45,aspect:r=1,left:n,right:a,bottom:o,top:h,zoom:l=1}={}){super();Object.assign(this,{near:e,far:s,fov:i,aspect:r,left:n,right:a,bottom:o,top:h,zoom:l});this.projectionMatrix=new Mat4;this.viewMatrix=new Mat4;this.projectionViewMatrix=new Mat4;this.worldPosition=new Vec3;this.type=n||a?\"orthographic\":\"perspective\";\"orthographic\"===this.type?this.orthographic():this.perspective()}perspective({near:t=this.near,far:e=this.far,fov:s=this.fov,aspect:i=this.aspect}={}){Object.assign(this,{near:t,far:e,fov:s,aspect:i});this.projectionMatrix.fromPerspective({fov:s*(Math.PI/180),aspect:i,near:t,far:e});this.type=\"perspective\";return this}orthographic({near:t=this.near,far:e=this.far,left:s=this.left||-1,right:i=this.right||1,bottom:r=this.bottom||-1,top:n=this.top||1,zoom:a=this.zoom}={}){Object.assign(this,{near:t,far:e,left:s,right:i,bottom:r,top:n,zoom:a});s/=a;i/=a;r/=a;n/=a;this.projectionMatrix.fromOrthogonal({left:s,right:i,bottom:r,top:n,near:t,far:e});this.type=\"orthographic\";return this}updateMatrixWorld(){super.updateMatrixWorld();this.viewMatrix.inverse(this.worldMatrix);this.worldMatrix.getTranslation(this.worldPosition);this.projectionViewMatrix.multiply(this.projectionMatrix,this.viewMatrix);return this}lookAt(t){super.lookAt(t,true);return this}project(t){t.applyMatrix4(this.viewMatrix);t.applyMatrix4(this.projectionMatrix);return this}unproject(t){t.applyMatrix4(x.inverse(this.projectionMatrix));t.applyMatrix4(this.worldMatrix);return this}updateFrustum(){this.frustum||(this.frustum=[new Vec3,new Vec3,new Vec3,new Vec3,new Vec3,new Vec3]);const t=this.projectionViewMatrix;this.frustum[0].set(t[3]-t[0],t[7]-t[4],t[11]-t[8]).constant=t[15]-t[12];this.frustum[1].set(t[3]+t[0],t[7]+t[4],t[11]+t[8]).constant=t[15]+t[12];this.frustum[2].set(t[3]+t[1],t[7]+t[5],t[11]+t[9]).constant=t[15]+t[13];this.frustum[3].set(t[3]-t[1],t[7]-t[5],t[11]-t[9]).constant=t[15]-t[13];this.frustum[4].set(t[3]-t[2],t[7]-t[6],t[11]-t[10]).constant=t[15]-t[14];this.frustum[5].set(t[3]+t[2],t[7]+t[6],t[11]+t[10]).constant=t[15]+t[14];for(let t=0;t<6;t++){const e=1/this.frustum[t].distance();this.frustum[t].multiply(e);this.frustum[t].constant*=e}}frustumIntersectsMesh(t,e=t.worldMatrix){if(!t.geometry.attributes.position)return true;t.geometry.bounds&&Infinity!==t.geometry.bounds.radius||t.geometry.computeBoundingSphere();if(!t.geometry.bounds)return true;const s=w;s.copy(t.geometry.bounds.center);s.applyMatrix4(e);const i=t.geometry.bounds.radius*e.getMaxScaleOnAxis();return this.frustumIntersectsSphere(s,i)}frustumIntersectsSphere(t,e){const s=y;for(let i=0;i<6;i++){const r=this.frustum[i];const n=s.copy(r).dot(t)+r.constant;if(n<-e)return false}return true}}\n/**\n * Copies the upper-left 3x3 values into the given mat3.\n *\n * @param {mat3} out the receiving 3x3 matrix\n * @param {mat4} a   the source 4x4 matrix\n * @returns {mat3} out\n */\nfunction fromMat4(t,e){t[0]=e[0];t[1]=e[1];t[2]=e[2];t[3]=e[4];t[4]=e[5];t[5]=e[6];t[6]=e[8];t[7]=e[9];t[8]=e[10];return t}\n/**\n * Calculates a 3x3 matrix from the given quaternion\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {quat} q Quaternion to create matrix from\n *\n * @returns {mat3} out\n */function fromQuat(t,e){let s=e[0],i=e[1],r=e[2],n=e[3];let a=s+s;let o=i+i;let h=r+r;let l=s*a;let c=i*a;let u=i*o;let d=r*a;let m=r*o;let g=r*h;let p=n*a;let f=n*o;let x=n*h;t[0]=1-u-g;t[3]=c-x;t[6]=d+f;t[1]=c+x;t[4]=1-l-g;t[7]=m-p;t[2]=d-f;t[5]=m+p;t[8]=1-l-u;return t}\n/**\n * Copy the values from one mat3 to another\n *\n * @param {mat3} out the receiving matrix\n * @param {mat3} a the source matrix\n * @returns {mat3} out\n */function copy$1(t,e){t[0]=e[0];t[1]=e[1];t[2]=e[2];t[3]=e[3];t[4]=e[4];t[5]=e[5];t[6]=e[6];t[7]=e[7];t[8]=e[8];return t}\n/**\n * Set the components of a mat3 to the given values\n *\n * @param {mat3} out the receiving matrix\n * @returns {mat3} out\n */function set$1(t,e,s,i,r,n,a,o,h,l){t[0]=e;t[1]=s;t[2]=i;t[3]=r;t[4]=n;t[5]=a;t[6]=o;t[7]=h;t[8]=l;return t}\n/**\n * Set a mat3 to the identity matrix\n *\n * @param {mat3} out the receiving matrix\n * @returns {mat3} out\n */function identity$1(t){t[0]=1;t[1]=0;t[2]=0;t[3]=0;t[4]=1;t[5]=0;t[6]=0;t[7]=0;t[8]=1;return t}\n/**\n * Transpose the values of a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {mat3} a the source matrix\n * @returns {mat3} out\n */\n/**\n * Inverts a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {mat3} a the source matrix\n * @returns {mat3} out\n */\nfunction invert(t,e){let s=e[0],i=e[1],r=e[2];let n=e[3],a=e[4],o=e[5];let h=e[6],l=e[7],c=e[8];let u=c*a-o*l;let d=-c*n+o*h;let m=l*n-a*h;let g=s*u+i*d+r*m;if(!g)return null;g=1/g;t[0]=u*g;t[1]=(-c*i+r*l)*g;t[2]=(o*i-r*a)*g;t[3]=d*g;t[4]=(c*s-r*h)*g;t[5]=(-o*s+r*n)*g;t[6]=m*g;t[7]=(-l*s+i*h)*g;t[8]=(a*s-i*n)*g;return t}\n/**\n * Calculates the determinant of a mat3\n *\n * @param {mat3} a the source matrix\n * @returns {Number} determinant of a\n */\n/**\n * Multiplies two mat3's\n *\n * @param {mat3} out the receiving matrix\n * @param {mat3} a the first operand\n * @param {mat3} b the second operand\n * @returns {mat3} out\n */\nfunction multiply$1(t,e,s){let i=e[0],r=e[1],n=e[2];let a=e[3],o=e[4],h=e[5];let l=e[6],c=e[7],u=e[8];let d=s[0],m=s[1],g=s[2];let p=s[3],f=s[4],x=s[5];let w=s[6],y=s[7],b=s[8];t[0]=d*i+m*a+g*l;t[1]=d*r+m*o+g*c;t[2]=d*n+m*h+g*u;t[3]=p*i+f*a+x*l;t[4]=p*r+f*o+x*c;t[5]=p*n+f*h+x*u;t[6]=w*i+y*a+b*l;t[7]=w*r+y*o+b*c;t[8]=w*n+y*h+b*u;return t}\n/**\n * Translate a mat3 by the given vector\n *\n * @param {mat3} out the receiving matrix\n * @param {mat3} a the matrix to translate\n * @param {vec2} v vector to translate by\n * @returns {mat3} out\n */function translate(t,e,s){let i=e[0],r=e[1],n=e[2],a=e[3],o=e[4],h=e[5],l=e[6],c=e[7],u=e[8],d=s[0],m=s[1];t[0]=i;t[1]=r;t[2]=n;t[3]=a;t[4]=o;t[5]=h;t[6]=d*i+m*a+l;t[7]=d*r+m*o+c;t[8]=d*n+m*h+u;return t}\n/**\n * Rotates a mat3 by the given angle\n *\n * @param {mat3} out the receiving matrix\n * @param {mat3} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat3} out\n */function rotate(t,e,s){let i=e[0],r=e[1],n=e[2],a=e[3],o=e[4],h=e[5],l=e[6],c=e[7],u=e[8],d=Math.sin(s),m=Math.cos(s);t[0]=m*i+d*a;t[1]=m*r+d*o;t[2]=m*n+d*h;t[3]=m*a-d*i;t[4]=m*o-d*r;t[5]=m*h-d*n;t[6]=l;t[7]=c;t[8]=u;return t}\n/**\n * Scales the mat3 by the dimensions in the given vec2\n *\n * @param {mat3} out the receiving matrix\n * @param {mat3} a the matrix to rotate\n * @param {vec2} v the vec2 to scale the matrix by\n * @returns {mat3} out\n **/function scale$1(t,e,s){let i=s[0],r=s[1];t[0]=i*e[0];t[1]=i*e[1];t[2]=i*e[2];t[3]=r*e[3];t[4]=r*e[4];t[5]=r*e[5];t[6]=e[6];t[7]=e[7];t[8]=e[8];return t}\n/**\n * Calculates a 3x3 normal matrix (transpose inverse) from the 4x4 matrix\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {mat4} a Mat4 to derive the normal matrix from\n *\n * @returns {mat3} out\n */function normalFromMat4(t,e){let s=e[0],i=e[1],r=e[2],n=e[3];let a=e[4],o=e[5],h=e[6],l=e[7];let c=e[8],u=e[9],d=e[10],m=e[11];let g=e[12],p=e[13],f=e[14],x=e[15];let w=s*o-i*a;let y=s*h-r*a;let b=s*l-n*a;let M=i*h-r*o;let v=i*l-n*o;let A=r*l-n*h;let E=c*p-u*g;let T=c*f-d*g;let _=c*x-m*g;let F=u*f-d*p;let S=u*x-m*p;let R=d*x-m*f;let P=w*R-y*S+b*F+M*_-v*T+A*E;if(!P)return null;P=1/P;t[0]=(o*R-h*S+l*F)*P;t[1]=(h*_-a*R-l*T)*P;t[2]=(a*S-o*_+l*E)*P;t[3]=(r*S-i*R-n*F)*P;t[4]=(s*R-r*_+n*T)*P;t[5]=(i*_-s*S-n*E)*P;t[6]=(p*A-f*v+x*M)*P;t[7]=(f*b-g*A-x*y)*P;t[8]=(g*v-p*b+x*w)*P;return t}\n/**\n * Generates a 2D projection matrix with the given bounds\n *\n * @param {mat3} out mat3 frustum matrix will be written into\n * @param {number} width Width of your gl context\n * @param {number} height Height of gl context\n * @returns {mat3} out\n */class Mat3 extends Array{constructor(t=1,e=0,s=0,i=0,r=1,n=0,a=0,o=0,h=1){super(t,e,s,i,r,n,a,o,h);return this}set(t,e,s,i,r,n,a,o,h){if(t.length)return this.copy(t);set$1(this,t,e,s,i,r,n,a,o,h);return this}translate(t,e=this){translate(this,e,t);return this}rotate(t,e=this){rotate(this,e,t);return this}scale(t,e=this){scale$1(this,e,t);return this}multiply(t,e){e?multiply$1(this,t,e):multiply$1(this,this,t);return this}identity(){identity$1(this);return this}copy(t){copy$1(this,t);return this}fromMatrix4(t){fromMat4(this,t);return this}fromQuaternion(t){fromQuat(this,t);return this}fromBasis(t,e,s){this.set(t[0],t[1],t[2],e[0],e[1],e[2],s[0],s[1],s[2]);return this}inverse(t=this){invert(this,t);return this}getNormalMatrix(t){normalFromMat4(this,t);return this}}let b=0;class Mesh extends Transform{constructor(t,{geometry:e,program:s,mode:i=t.TRIANGLES,frustumCulled:r=true,renderOrder:n=0}={}){super();t.canvas||console.error(\"gl not passed as first argument to Mesh\");this.gl=t;this.id=b++;this.geometry=e;this.program=s;this.mode=i;this.frustumCulled=r;this.renderOrder=n;this.modelViewMatrix=new Mat4;this.normalMatrix=new Mat3;this.beforeRenderCallbacks=[];this.afterRenderCallbacks=[]}onBeforeRender(t){this.beforeRenderCallbacks.push(t);return this}onAfterRender(t){this.afterRenderCallbacks.push(t);return this}draw({camera:t}={}){if(t){this.program.uniforms.modelMatrix||Object.assign(this.program.uniforms,{modelMatrix:{value:null},viewMatrix:{value:null},modelViewMatrix:{value:null},normalMatrix:{value:null},projectionMatrix:{value:null},cameraPosition:{value:null}});this.program.uniforms.projectionMatrix.value=t.projectionMatrix;this.program.uniforms.cameraPosition.value=t.worldPosition;this.program.uniforms.viewMatrix.value=t.viewMatrix;this.modelViewMatrix.multiply(t.viewMatrix,this.worldMatrix);this.normalMatrix.getNormalMatrix(this.modelViewMatrix);this.program.uniforms.modelMatrix.value=this.worldMatrix;this.program.uniforms.modelViewMatrix.value=this.modelViewMatrix;this.program.uniforms.normalMatrix.value=this.normalMatrix}this.beforeRenderCallbacks.forEach((e=>e&&e({mesh:this,camera:t})));let e=this.program.cullFace&&this.worldMatrix.determinant()<0;this.program.use({flipFaces:e});this.geometry.draw({mode:this.mode,program:this.program});this.afterRenderCallbacks.forEach((e=>e&&e({mesh:this,camera:t})))}}const M=new Uint8Array(4);function isPowerOf2(t){return 0===(t&t-1)}let v=1;class Texture{constructor(t,{image:e,target:s=t.TEXTURE_2D,type:i=t.UNSIGNED_BYTE,format:r=t.RGBA,internalFormat:n=r,wrapS:a=t.CLAMP_TO_EDGE,wrapT:o=t.CLAMP_TO_EDGE,generateMipmaps:h=true,minFilter:l=(h?t.NEAREST_MIPMAP_LINEAR:t.LINEAR),magFilter:c=t.LINEAR,premultiplyAlpha:u=false,unpackAlignment:d=4,flipY:m=s==t.TEXTURE_2D,anisotropy:g=0,level:p=0,width:f,height:x=f}={}){this.gl=t;this.id=v++;this.image=e;this.target=s;this.type=i;this.format=r;this.internalFormat=n;this.minFilter=l;this.magFilter=c;this.wrapS=a;this.wrapT=o;this.generateMipmaps=h;this.premultiplyAlpha=u;this.unpackAlignment=d;this.flipY=m;this.anisotropy=Math.min(g,this.gl.renderer.parameters.maxAnisotropy);this.level=p;this.width=f;this.height=x;this.texture=this.gl.createTexture();this.store={image:null};this.glState=this.gl.renderer.state;this.state={};this.state.minFilter=this.gl.NEAREST_MIPMAP_LINEAR;this.state.magFilter=this.gl.LINEAR;this.state.wrapS=this.gl.REPEAT;this.state.wrapT=this.gl.REPEAT;this.state.anisotropy=0}bind(){if(this.glState.textureUnits[this.glState.activeTextureUnit]!==this.id){this.gl.bindTexture(this.target,this.texture);this.glState.textureUnits[this.glState.activeTextureUnit]=this.id}}update(t=0){const e=!(this.image===this.store.image&&!this.needsUpdate);if(e||this.glState.textureUnits[t]!==this.id){this.gl.renderer.activeTexture(t);this.bind()}if(e){this.needsUpdate=false;if(this.flipY!==this.glState.flipY){this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,this.flipY);this.glState.flipY=this.flipY}if(this.premultiplyAlpha!==this.glState.premultiplyAlpha){this.gl.pixelStorei(this.gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha);this.glState.premultiplyAlpha=this.premultiplyAlpha}if(this.unpackAlignment!==this.glState.unpackAlignment){this.gl.pixelStorei(this.gl.UNPACK_ALIGNMENT,this.unpackAlignment);this.glState.unpackAlignment=this.unpackAlignment}if(this.minFilter!==this.state.minFilter){this.gl.texParameteri(this.target,this.gl.TEXTURE_MIN_FILTER,this.minFilter);this.state.minFilter=this.minFilter}if(this.magFilter!==this.state.magFilter){this.gl.texParameteri(this.target,this.gl.TEXTURE_MAG_FILTER,this.magFilter);this.state.magFilter=this.magFilter}if(this.wrapS!==this.state.wrapS){this.gl.texParameteri(this.target,this.gl.TEXTURE_WRAP_S,this.wrapS);this.state.wrapS=this.wrapS}if(this.wrapT!==this.state.wrapT){this.gl.texParameteri(this.target,this.gl.TEXTURE_WRAP_T,this.wrapT);this.state.wrapT=this.wrapT}if(this.anisotropy&&this.anisotropy!==this.state.anisotropy){this.gl.texParameterf(this.target,this.gl.renderer.getExtension(\"EXT_texture_filter_anisotropic\").TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropy);this.state.anisotropy=this.anisotropy}if(this.image){if(this.image.width){this.width=this.image.width;this.height=this.image.height}if(this.target===this.gl.TEXTURE_CUBE_MAP)for(let t=0;t<6;t++)this.gl.texImage2D(this.gl.TEXTURE_CUBE_MAP_POSITIVE_X+t,this.level,this.internalFormat,this.format,this.type,this.image[t]);else if(ArrayBuffer.isView(this.image))this.gl.texImage2D(this.target,this.level,this.internalFormat,this.width,this.height,0,this.format,this.type,this.image);else if(this.image.isCompressedTexture)for(let t=0;t<this.image.length;t++)this.gl.compressedTexImage2D(this.target,t,this.internalFormat,this.image[t].width,this.image[t].height,0,this.image[t].data);else this.gl.texImage2D(this.target,this.level,this.internalFormat,this.format,this.type,this.image);if(this.generateMipmaps)if(this.gl.renderer.isWebgl2||isPowerOf2(this.image.width)&&isPowerOf2(this.image.height))this.gl.generateMipmap(this.target);else{this.generateMipmaps=false;this.wrapS=this.wrapT=this.gl.CLAMP_TO_EDGE;this.minFilter=this.gl.LINEAR}this.onUpdate&&this.onUpdate()}else if(this.target===this.gl.TEXTURE_CUBE_MAP)for(let t=0;t<6;t++)this.gl.texImage2D(this.gl.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,this.gl.RGBA,1,1,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,M);else this.width?this.gl.texImage2D(this.target,this.level,this.internalFormat,this.width,this.height,0,this.format,this.type,null):this.gl.texImage2D(this.target,0,this.gl.RGBA,1,1,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,M);this.store.image=this.image}}}class RenderTarget{constructor(t,{width:e=t.canvas.width,height:s=t.canvas.height,target:i=t.FRAMEBUFFER,color:r=1,depth:n=true,stencil:a=false,depthTexture:o=false,wrapS:h=t.CLAMP_TO_EDGE,wrapT:l=t.CLAMP_TO_EDGE,minFilter:c=t.LINEAR,magFilter:u=c,type:d=t.UNSIGNED_BYTE,format:m=t.RGBA,internalFormat:g=m,unpackAlignment:p,premultiplyAlpha:f}={}){this.gl=t;this.width=e;this.height=s;this.depth=n;this.buffer=this.gl.createFramebuffer();this.target=i;this.gl.renderer.bindFramebuffer(this);this.textures=[];const x=[];for(let i=0;i<r;i++){this.textures.push(new Texture(t,{width:e,height:s,wrapS:h,wrapT:l,minFilter:c,magFilter:u,type:d,format:m,internalFormat:g,unpackAlignment:p,premultiplyAlpha:f,flipY:false,generateMipmaps:false}));this.textures[i].update();this.gl.framebufferTexture2D(this.target,this.gl.COLOR_ATTACHMENT0+i,this.gl.TEXTURE_2D,this.textures[i].texture,0);x.push(this.gl.COLOR_ATTACHMENT0+i)}x.length>1&&this.gl.renderer.drawBuffers(x);this.texture=this.textures[0];if(o&&(this.gl.renderer.isWebgl2||this.gl.renderer.getExtension(\"WEBGL_depth_texture\"))){this.depthTexture=new Texture(t,{width:e,height:s,minFilter:this.gl.NEAREST,magFilter:this.gl.NEAREST,format:this.gl.DEPTH_COMPONENT,internalFormat:t.renderer.isWebgl2?this.gl.DEPTH_COMPONENT16:this.gl.DEPTH_COMPONENT,type:this.gl.UNSIGNED_INT});this.depthTexture.update();this.gl.framebufferTexture2D(this.target,this.gl.DEPTH_ATTACHMENT,this.gl.TEXTURE_2D,this.depthTexture.texture,0)}else{if(n&&!a){this.depthBuffer=this.gl.createRenderbuffer();this.gl.bindRenderbuffer(this.gl.RENDERBUFFER,this.depthBuffer);this.gl.renderbufferStorage(this.gl.RENDERBUFFER,this.gl.DEPTH_COMPONENT16,e,s);this.gl.framebufferRenderbuffer(this.target,this.gl.DEPTH_ATTACHMENT,this.gl.RENDERBUFFER,this.depthBuffer)}if(a&&!n){this.stencilBuffer=this.gl.createRenderbuffer();this.gl.bindRenderbuffer(this.gl.RENDERBUFFER,this.stencilBuffer);this.gl.renderbufferStorage(this.gl.RENDERBUFFER,this.gl.STENCIL_INDEX8,e,s);this.gl.framebufferRenderbuffer(this.target,this.gl.STENCIL_ATTACHMENT,this.gl.RENDERBUFFER,this.stencilBuffer)}if(n&&a){this.depthStencilBuffer=this.gl.createRenderbuffer();this.gl.bindRenderbuffer(this.gl.RENDERBUFFER,this.depthStencilBuffer);this.gl.renderbufferStorage(this.gl.RENDERBUFFER,this.gl.DEPTH_STENCIL,e,s);this.gl.framebufferRenderbuffer(this.target,this.gl.DEPTH_STENCIL_ATTACHMENT,this.gl.RENDERBUFFER,this.depthStencilBuffer)}}this.gl.renderer.bindFramebuffer({target:this.target})}setSize(t,e){if(this.width!==t||this.height!==e){this.width=t;this.height=e;this.gl.renderer.bindFramebuffer(this);for(let s=0;s<this.textures.length;s++){this.textures[s].width=t;this.textures[s].height=e;this.textures[s].needsUpdate=true;this.textures[s].update();this.gl.framebufferTexture2D(this.target,this.gl.COLOR_ATTACHMENT0+s,this.gl.TEXTURE_2D,this.textures[s].texture,0)}if(this.depthTexture){this.depthTexture.width=t;this.depthTexture.height=e;this.depthTexture.needsUpdate=true;this.depthTexture.update();this.gl.framebufferTexture2D(this.target,this.gl.DEPTH_ATTACHMENT,this.gl.TEXTURE_2D,this.depthTexture.texture,0)}else{if(this.depthBuffer){this.gl.bindRenderbuffer(this.gl.RENDERBUFFER,this.depthBuffer);this.gl.renderbufferStorage(this.gl.RENDERBUFFER,this.gl.DEPTH_COMPONENT16,t,e)}if(this.stencilBuffer){this.gl.bindRenderbuffer(this.gl.RENDERBUFFER,this.stencilBuffer);this.gl.renderbufferStorage(this.gl.RENDERBUFFER,this.gl.STENCIL_INDEX8,t,e)}if(this.depthStencilBuffer){this.gl.bindRenderbuffer(this.gl.RENDERBUFFER,this.depthStencilBuffer);this.gl.renderbufferStorage(this.gl.RENDERBUFFER,this.gl.DEPTH_STENCIL,t,e)}}this.gl.renderer.bindFramebuffer({target:this.target})}}}const A={black:\"#000000\",white:\"#ffffff\",red:\"#ff0000\",green:\"#00ff00\",blue:\"#0000ff\",fuchsia:\"#ff00ff\",cyan:\"#00ffff\",yellow:\"#ffff00\",orange:\"#ff8000\"};function hexToRGB(t){4===t.length&&(t=t[0]+t[1]+t[1]+t[2]+t[2]+t[3]+t[3]);const e=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(t);e||console.warn(`Unable to convert hex string ${t} to rgb values`);return[parseInt(e[1],16)/255,parseInt(e[2],16)/255,parseInt(e[3],16)/255]}function numberToRGB(t){t=parseInt(t);return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]}function parseColor(t){if(void 0===t)return[0,0,0];if(3===arguments.length)return arguments;if(!isNaN(t))return numberToRGB(t);if(\"#\"===t[0])return hexToRGB(t);if(A[t.toLowerCase()])return hexToRGB(A[t.toLowerCase()]);console.warn(\"Color format not recognised\");return[0,0,0]}class Color extends Array{constructor(t){return Array.isArray(t)?super(...t):super(...parseColor(...arguments))}get r(){return this[0]}get g(){return this[1]}get b(){return this[2]}set r(t){this[0]=t}set g(t){this[1]=t}set b(t){this[2]=t}set(t){return Array.isArray(t)?this.copy(t):this.copy(parseColor(...arguments))}copy(t){this[0]=t[0];this[1]=t[1];this[2]=t[2];return this}}\n/**\n * Copy the values from one vec2 to another\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the source vector\n * @returns {vec2} out\n */\nfunction copy(t,e){t[0]=e[0];t[1]=e[1];return t}\n/**\n * Set the components of a vec2 to the given values\n *\n * @param {vec2} out the receiving vector\n * @param {Number} x X component\n * @param {Number} y Y component\n * @returns {vec2} out\n */function set(t,e,s){t[0]=e;t[1]=s;return t}\n/**\n * Adds two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @returns {vec2} out\n */function add(t,e,s){t[0]=e[0]+s[0];t[1]=e[1]+s[1];return t}\n/**\n * Subtracts vector b from vector a\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @returns {vec2} out\n */function subtract(t,e,s){t[0]=e[0]-s[0];t[1]=e[1]-s[1];return t}\n/**\n * Multiplies two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @returns {vec2} out\n */function multiply(t,e,s){t[0]=e[0]*s[0];t[1]=e[1]*s[1];return t}\n/**\n * Divides two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @returns {vec2} out\n */function divide(t,e,s){t[0]=e[0]/s[0];t[1]=e[1]/s[1];return t}\n/**\n * Scales a vec2 by a scalar number\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the vector to scale\n * @param {Number} b amount to scale the vector by\n * @returns {vec2} out\n */function scale(t,e,s){t[0]=e[0]*s;t[1]=e[1]*s;return t}\n/**\n * Calculates the euclidian distance between two vec2's\n *\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @returns {Number} distance between a and b\n */function distance(t,e){var s=e[0]-t[0],i=e[1]-t[1];return Math.sqrt(s*s+i*i)}\n/**\n * Calculates the squared euclidian distance between two vec2's\n *\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @returns {Number} squared distance between a and b\n */function squaredDistance(t,e){var s=e[0]-t[0],i=e[1]-t[1];return s*s+i*i}\n/**\n * Calculates the length of a vec2\n *\n * @param {vec2} a vector to calculate length of\n * @returns {Number} length of a\n */function length(t){var e=t[0],s=t[1];return Math.sqrt(e*e+s*s)}\n/**\n * Calculates the squared length of a vec2\n *\n * @param {vec2} a vector to calculate squared length of\n * @returns {Number} squared length of a\n */function squaredLength(t){var e=t[0],s=t[1];return e*e+s*s}\n/**\n * Negates the components of a vec2\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a vector to negate\n * @returns {vec2} out\n */function negate(t,e){t[0]=-e[0];t[1]=-e[1];return t}\n/**\n * Returns the inverse of the components of a vec2\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a vector to invert\n * @returns {vec2} out\n */function inverse(t,e){t[0]=1/e[0];t[1]=1/e[1];return t}\n/**\n * Normalize a vec2\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a vector to normalize\n * @returns {vec2} out\n */function normalize(t,e){var s=e[0],i=e[1];var r=s*s+i*i;r>0&&(r=1/Math.sqrt(r));t[0]=e[0]*r;t[1]=e[1]*r;return t}\n/**\n * Calculates the dot product of two vec2's\n *\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @returns {Number} dot product of a and b\n */function dot(t,e){return t[0]*e[0]+t[1]*e[1]}\n/**\n * Computes the cross product of two vec2's\n * Note that the cross product returns a scalar\n *\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @returns {Number} cross product of a and b\n */function cross(t,e){return t[0]*e[1]-t[1]*e[0]}\n/**\n * Performs a linear interpolation between two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @param {Number} t interpolation amount between the two inputs\n * @returns {vec2} out\n */function lerp$1(t,e,s,i){var r=e[0],n=e[1];t[0]=r+i*(s[0]-r);t[1]=n+i*(s[1]-n);return t}\n/**\n * Transforms the vec2 with a mat2\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the vector to transform\n * @param {mat2} m matrix to transform with\n * @returns {vec2} out\n */\n/**\n * Transforms the vec2 with a mat3\n * 3rd vector component is implicitly '1'\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the vector to transform\n * @param {mat3} m matrix to transform with\n * @returns {vec2} out\n */\nfunction transformMat3(t,e,s){var i=e[0],r=e[1];t[0]=s[0]*i+s[3]*r+s[6];t[1]=s[1]*i+s[4]*r+s[7];return t}\n/**\n * Transforms the vec2 with a mat4\n * 3rd vector component is implicitly '0'\n * 4th vector component is implicitly '1'\n *\n * @param {vec2} out the receiving vector\n * @param {vec2} a the vector to transform\n * @param {mat4} m matrix to transform with\n * @returns {vec2} out\n */function transformMat4(t,e,s){let i=e[0];let r=e[1];t[0]=s[0]*i+s[4]*r+s[12];t[1]=s[1]*i+s[5]*r+s[13];return t}\n/**\n * Returns whether or not the vectors exactly have the same elements in the same position (when compared with ===)\n *\n * @param {vec2} a The first vector.\n * @param {vec2} b The second vector.\n * @returns {Boolean} True if the vectors are equal, false otherwise.\n */function exactEquals(t,e){return t[0]===e[0]&&t[1]===e[1]}class Vec2 extends Array{constructor(t=0,e=t){super(t,e);return this}get x(){return this[0]}get y(){return this[1]}set x(t){this[0]=t}set y(t){this[1]=t}set(t,e=t){if(t.length)return this.copy(t);set(this,t,e);return this}copy(t){copy(this,t);return this}add(t,e){e?add(this,t,e):add(this,this,t);return this}sub(t,e){e?subtract(this,t,e):subtract(this,this,t);return this}multiply(t){t.length?multiply(this,this,t):scale(this,this,t);return this}divide(t){t.length?divide(this,this,t):scale(this,this,1/t);return this}inverse(t=this){inverse(this,t);return this}len(){return length(this)}distance(t){return t?distance(this,t):length(this)}squaredLen(){return this.squaredDistance()}squaredDistance(t){return t?squaredDistance(this,t):squaredLength(this)}negate(t=this){negate(this,t);return this}cross(t,e){return e?cross(t,e):cross(this,t)}scale(t){scale(this,this,t);return this}normalize(){normalize(this,this);return this}dot(t){return dot(this,t)}equals(t){return exactEquals(this,t)}applyMatrix3(t){transformMat3(this,this,t);return this}applyMatrix4(t){transformMat4(this,this,t);return this}lerp(t,e){lerp$1(this,this,t,e);return this}clone(){return new Vec2(this[0],this[1])}fromArray(t,e=0){this[0]=t[e];this[1]=t[e+1];return this}toArray(t=[],e=0){t[e]=this[0];t[e+1]=this[1];return t}}class Vec4 extends Array{constructor(t=0,e=t,s=t,i=t){super(t,e,s,i);return this}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}get w(){return this[3]}set x(t){this[0]=t}set y(t){this[1]=t}set z(t){this[2]=t}set w(t){this[3]=t}set(t,e=t,s=t,i=t){if(t.length)return this.copy(t);set$4(this,t,e,s,i);return this}copy(t){copy$4(this,t);return this}normalize(){normalize$2(this,this);return this}multiply(t){scale$4(this,this,t);return this}dot(t){return dot$2(this,t)}fromArray(t,e=0){this[0]=t[e];this[1]=t[e+1];this[2]=t[e+2];this[3]=t[e+3];return this}toArray(t=[],e=0){t[e]=this[0];t[e+1]=this[1];t[e+2]=this[2];t[e+3]=this[3];return t}}class Plane extends Geometry{constructor(t,{width:e=1,height:s=1,widthSegments:i=1,heightSegments:r=1,attributes:n={}}={}){const a=i;const o=r;const h=(a+1)*(o+1);const l=a*o*6;const c=new Float32Array(3*h);const u=new Float32Array(3*h);const d=new Float32Array(2*h);const m=l>65536?new Uint32Array(l):new Uint16Array(l);Plane.buildPlane(c,u,d,m,e,s,0,a,o);Object.assign(n,{position:{size:3,data:c},normal:{size:3,data:u},uv:{size:2,data:d},index:{data:m}});super(t,n)}static buildPlane(t,e,s,i,r,n,a,o,h,l=0,c=1,u=2,d=1,m=-1,g=0,p=0){const f=g;const x=r/o;const w=n/h;for(let y=0;y<=h;y++){let b=y*w-n/2;for(let n=0;n<=o;n++,g++){let w=n*x-r/2;t[3*g+l]=w*d;t[3*g+c]=b*m;t[3*g+u]=a/2;e[3*g+l]=0;e[3*g+c]=0;e[3*g+u]=a>=0?1:-1;s[2*g]=n/o;s[2*g+1]=1-y/h;if(y===h||n===o)continue;let M=f+n+y*(o+1);let v=f+n+(y+1)*(o+1);let A=f+n+(y+1)*(o+1)+1;let E=f+n+y*(o+1)+1;i[6*p]=M;i[6*p+1]=v;i[6*p+2]=E;i[6*p+3]=v;i[6*p+4]=A;i[6*p+5]=E;p++}}}}class Box extends Geometry{constructor(t,{width:e=1,height:s=1,depth:i=1,widthSegments:r=1,heightSegments:n=1,depthSegments:a=1,attributes:o={}}={}){const h=r;const l=n;const c=a;const u=(h+1)*(l+1)*2+(h+1)*(c+1)*2+(l+1)*(c+1)*2;const d=6*(h*l*2+h*c*2+l*c*2);const m=new Float32Array(3*u);const g=new Float32Array(3*u);const p=new Float32Array(2*u);const f=u>65536?new Uint32Array(d):new Uint16Array(d);let x=0;let w=0;Plane.buildPlane(m,g,p,f,i,s,e,c,l,2,1,0,-1,-1,x,w);x+=(c+1)*(l+1);w+=c*l;Plane.buildPlane(m,g,p,f,i,s,-e,c,l,2,1,0,1,-1,x,w);x+=(c+1)*(l+1);w+=c*l;Plane.buildPlane(m,g,p,f,e,i,s,c,h,0,2,1,1,1,x,w);x+=(h+1)*(c+1);w+=h*c;Plane.buildPlane(m,g,p,f,e,i,-s,c,h,0,2,1,1,-1,x,w);x+=(h+1)*(c+1);w+=h*c;Plane.buildPlane(m,g,p,f,e,s,-i,h,l,0,1,2,-1,-1,x,w);x+=(h+1)*(l+1);w+=h*l;Plane.buildPlane(m,g,p,f,e,s,i,h,l,0,1,2,1,-1,x,w);Object.assign(o,{position:{size:3,data:m},normal:{size:3,data:g},uv:{size:2,data:p},index:{data:f}});super(t,o)}}class Sphere extends Geometry{constructor(t,{radius:e=.5,widthSegments:s=16,heightSegments:i=Math.ceil(.5*s),phiStart:r=0,phiLength:n=2*Math.PI,thetaStart:a=0,thetaLength:o=Math.PI,attributes:h={}}={}){const l=s;const c=i;const u=r;const d=n;const m=a;const g=o;const p=(l+1)*(c+1);const f=l*c*6;const x=new Float32Array(3*p);const w=new Float32Array(3*p);const y=new Float32Array(2*p);const b=p>65536?new Uint32Array(f):new Uint16Array(f);let M=0;let v=0;let A=0;let E=m+g;const T=[];let _=new Vec3;for(let t=0;t<=c;t++){let s=[];let i=t/c;for(let t=0;t<=l;t++,M++){let r=t/l;let n=-e*Math.cos(u+r*d)*Math.sin(m+i*g);let a=e*Math.cos(m+i*g);let o=e*Math.sin(u+r*d)*Math.sin(m+i*g);x[3*M]=n;x[3*M+1]=a;x[3*M+2]=o;_.set(n,a,o).normalize();w[3*M]=_.x;w[3*M+1]=_.y;w[3*M+2]=_.z;y[2*M]=r;y[2*M+1]=1-i;s.push(v++)}T.push(s)}for(let t=0;t<c;t++)for(let e=0;e<l;e++){let s=T[t][e+1];let i=T[t][e];let r=T[t+1][e];let n=T[t+1][e+1];if(0!==t||m>0){b[3*A]=s;b[3*A+1]=i;b[3*A+2]=n;A++}if(t!==c-1||E<Math.PI){b[3*A]=i;b[3*A+1]=r;b[3*A+2]=n;A++}}Object.assign(h,{position:{size:3,data:x},normal:{size:3,data:w},uv:{size:2,data:y},index:{data:b}});super(t,h)}}class Cylinder extends Geometry{constructor(t,{radiusTop:e=.5,radiusBottom:s=.5,height:i=1,radialSegments:r=8,heightSegments:n=1,openEnded:a=false,thetaStart:o=0,thetaLength:h=2*Math.PI,attributes:l={}}={}){const c=r;const u=n;const d=o;const m=h;const g=a?0:s&&e?2:1;const p=(c+1)*(u+1+g)+g;const f=c*u*6+g*c*3;const x=new Float32Array(3*p);const w=new Float32Array(3*p);const y=new Float32Array(2*p);const b=p>65536?new Uint32Array(f):new Uint16Array(f);let M=0;let v=0;const A=[];addHeight();if(!a){e&&addCap(true);s&&addCap(false)}function addHeight(){let t,r;const n=new Vec3;const a=(s-e)/i;for(r=0;r<=u;r++){const o=[];const h=r/u;const l=h*(s-e)+e;for(t=0;t<=c;t++){const e=t/c;const s=e*m+d;const r=Math.sin(s);const u=Math.cos(s);x.set([l*r,(.5-h)*i,l*u],3*M);n.set(r,a,u).normalize();w.set([n.x,n.y,n.z],3*M);y.set([e,1-h],2*M);o.push(M++)}A.push(o)}for(t=0;t<c;t++)for(r=0;r<u;r++){const e=A[r][t];const s=A[r+1][t];const i=A[r+1][t+1];const n=A[r][t+1];b.set([e,s,n,s,i,n],3*v);v+=2}}function addCap(t){let r;const n=true===t?e:s;const a=true===t?1:-1;const o=M;x.set([0,.5*i*a,0],3*M);w.set([0,a,0],3*M);y.set([.5,.5],2*M);M++;for(r=0;r<=c;r++){const t=r/c;const e=t*m+d;const s=Math.cos(e);const o=Math.sin(e);x.set([n*o,.5*i*a,n*s],3*M);w.set([0,a,0],3*M);y.set([.5*s+.5,.5*o*a+.5],2*M);M++}for(r=0;r<c;r++){const e=o+r+1;t?b.set([e,e+1,o],3*v):b.set([e+1,e,o],3*v);v++}}Object.assign(l,{position:{size:3,data:x},normal:{size:3,data:w},uv:{size:2,data:y},index:{data:b}});super(t,l)}}class Triangle extends Geometry{constructor(t,{attributes:e={}}={}){Object.assign(e,{position:{size:2,data:new Float32Array([-1,-1,3,-1,-1,3])},uv:{size:2,data:new Float32Array([0,0,2,0,0,2])}});super(t,e)}}class Torus extends Geometry{constructor(t,{radius:e=.5,tube:s=.2,radialSegments:i=8,tubularSegments:r=6,arc:n=2*Math.PI,attributes:a={}}={}){const o=(i+1)*(r+1);const h=i*r*6;const l=new Float32Array(3*o);const c=new Float32Array(3*o);const u=new Float32Array(2*o);const d=o>65536?new Uint32Array(h):new Uint16Array(h);const m=new Vec3;const g=new Vec3;const p=new Vec3;let f=0;for(let t=0;t<=i;t++)for(let a=0;a<=r;a++,f++){const o=a/r*n;const h=t/i*Math.PI*2;g.x=(e+s*Math.cos(h))*Math.cos(o);g.y=(e+s*Math.cos(h))*Math.sin(o);g.z=s*Math.sin(h);l.set([g.x,g.y,g.z],3*f);m.x=e*Math.cos(o);m.y=e*Math.sin(o);p.sub(g,m).normalize();c.set([p.x,p.y,p.z],3*f);u.set([a/r,t/i],2*f)}f=0;for(let t=1;t<=i;t++)for(let e=1;e<=r;e++,f++){const s=(r+1)*t+e-1;const i=(r+1)*(t-1)+e-1;const n=(r+1)*(t-1)+e;const a=(r+1)*t+e;d.set([s,i,a,i,n,a],6*f)}Object.assign(a,{position:{size:3,data:l},normal:{size:3,data:c},uv:{size:2,data:u},index:{data:d}});super(t,a)}}const E={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,DOLLY_PAN:3};const T=new Vec3;const _=new Vec2;const F=new Vec2;function Orbit(t,{element:e=document,enabled:s=true,target:i=new Vec3,ease:r=.25,inertia:n=.85,enableRotate:a=true,rotateSpeed:o=.1,autoRotate:h=false,autoRotateSpeed:l=1,enableZoom:c=true,zoomSpeed:u=1,zoomStyle:d=\"dolly\",enablePan:m=true,panSpeed:g=.1,minPolarAngle:p=0,maxPolarAngle:f=Math.PI,minAzimuthAngle:x=-Infinity,maxAzimuthAngle:w=Infinity,minDistance:y=0,maxDistance:b=Infinity}={}){this.enabled=s;this.target=i;this.zoomStyle=d;r=r||1;n=n||0;this.minDistance=y;this.maxDistance=b;const M={radius:1,phi:0,theta:0};const v={radius:1,phi:0,theta:0};const A={radius:1,phi:0,theta:0};const S=new Vec3;const R=new Vec3;R.copy(t.position).sub(this.target);A.radius=v.radius=R.distance();A.theta=v.theta=Math.atan2(R.x,R.z);A.phi=v.phi=Math.acos(Math.min(Math.max(R.y/v.radius,-1),1));this.offset=R;this.update=()=>{h&&handleAutoRotate();v.radius*=M.radius;v.theta+=M.theta;v.phi+=M.phi;v.theta=Math.max(x,Math.min(w,v.theta));v.phi=Math.max(p,Math.min(f,v.phi));v.radius=Math.max(this.minDistance,Math.min(this.maxDistance,v.radius));A.phi+=(v.phi-A.phi)*r;A.theta+=(v.theta-A.theta)*r;A.radius+=(v.radius-A.radius)*r;this.target.add(S);let e=A.radius*Math.sin(Math.max(1e-6,A.phi));R.x=e*Math.sin(A.theta);R.y=A.radius*Math.cos(A.phi);R.z=e*Math.cos(A.theta);t.position.copy(this.target).add(R);t.lookAt(this.target);M.theta*=n;M.phi*=n;S.multiply(n);M.radius=1};this.forcePosition=()=>{R.copy(t.position).sub(this.target);A.radius=v.radius=R.distance();A.theta=v.theta=Math.atan2(R.x,R.z);A.phi=v.phi=Math.acos(Math.min(Math.max(R.y/v.radius,-1),1));t.lookAt(this.target)};const P=new Vec2;const L=new Vec2;const C=new Vec2;let z=E.NONE;this.mouseButtons={ORBIT:0,ZOOM:1,PAN:2};function getZoomScale(){return Math.pow(.95,u)}function panLeft(t,e){T.set(e[0],e[1],e[2]);T.multiply(-t);S.add(T)}function panUp(t,e){T.set(e[4],e[5],e[6]);T.multiply(t);S.add(T)}const pan=(s,i)=>{let r=e===document?document.body:e;T.copy(t.position).sub(this.target);let n=T.distance();n*=Math.tan((t.fov||45)/2*Math.PI/180);panLeft(2*s*n/r.clientHeight,t.matrix);panUp(2*i*n/r.clientHeight,t.matrix)};const dolly=e=>{if(\"dolly\"===this.zoomStyle)M.radius/=e;else{t.fov/=e;\"orthographic\"===t.type?t.orthographic():t.perspective()}};function handleAutoRotate(){const t=2*Math.PI/60/60*l;M.theta-=t}function handleMoveRotate(t,s){_.set(t,s);F.sub(_,P).multiply(o);let i=e===document?document.body:e;M.theta-=2*Math.PI*F.x/i.clientHeight;M.phi-=2*Math.PI*F.y/i.clientHeight;P.copy(_)}function handleMouseMoveDolly(t){_.set(t.clientX,t.clientY);F.sub(_,C);F.y>0?dolly(getZoomScale()):F.y<0&&dolly(1/getZoomScale());C.copy(_)}function handleMovePan(t,e){_.set(t,e);F.sub(_,L).multiply(g);pan(F.x,F.y);L.copy(_)}function handleTouchStartDollyPan(t){if(c){let e=t.touches[0].pageX-t.touches[1].pageX;let s=t.touches[0].pageY-t.touches[1].pageY;let i=Math.sqrt(e*e+s*s);C.set(0,i)}if(m){let e=.5*(t.touches[0].pageX+t.touches[1].pageX);let s=.5*(t.touches[0].pageY+t.touches[1].pageY);L.set(e,s)}}function handleTouchMoveDollyPan(t){if(c){let e=t.touches[0].pageX-t.touches[1].pageX;let s=t.touches[0].pageY-t.touches[1].pageY;let i=Math.sqrt(e*e+s*s);_.set(0,i);F.set(0,Math.pow(_.y/C.y,u));dolly(F.y);C.copy(_)}if(m){let e=.5*(t.touches[0].pageX+t.touches[1].pageX);let s=.5*(t.touches[0].pageY+t.touches[1].pageY);handleMovePan(e,s)}}const onMouseDown=t=>{if(this.enabled){switch(t.button){case this.mouseButtons.ORBIT:if(false===a)return;P.set(t.clientX,t.clientY);z=E.ROTATE;break;case this.mouseButtons.ZOOM:if(false===c)return;C.set(t.clientX,t.clientY);z=E.DOLLY;break;case this.mouseButtons.PAN:if(false===m)return;L.set(t.clientX,t.clientY);z=E.PAN;break}if(z!==E.NONE){window.addEventListener(\"mousemove\",onMouseMove,false);window.addEventListener(\"mouseup\",onMouseUp,false)}}};const onMouseMove=t=>{if(this.enabled)switch(z){case E.ROTATE:if(false===a)return;handleMoveRotate(t.clientX,t.clientY);break;case E.DOLLY:if(false===c)return;handleMouseMoveDolly(t);break;case E.PAN:if(false===m)return;handleMovePan(t.clientX,t.clientY);break}};const onMouseUp=()=>{window.removeEventListener(\"mousemove\",onMouseMove,false);window.removeEventListener(\"mouseup\",onMouseUp,false);z=E.NONE};const onMouseWheel=t=>{if(this.enabled&&c&&(z===E.NONE||z===E.ROTATE)){t.stopPropagation();t.preventDefault();t.deltaY<0?dolly(1/getZoomScale()):t.deltaY>0&&dolly(getZoomScale())}};const onTouchStart=t=>{if(this.enabled){t.preventDefault();switch(t.touches.length){case 1:if(false===a)return;P.set(t.touches[0].pageX,t.touches[0].pageY);z=E.ROTATE;break;case 2:if(false===c&&false===m)return;handleTouchStartDollyPan(t);z=E.DOLLY_PAN;break;default:z=E.NONE}}};const onTouchMove=t=>{if(this.enabled){t.preventDefault();t.stopPropagation();switch(t.touches.length){case 1:if(false===a)return;handleMoveRotate(t.touches[0].pageX,t.touches[0].pageY);break;case 2:if(false===c&&false===m)return;handleTouchMoveDollyPan(t);break;default:z=E.NONE}}};const onTouchEnd=()=>{this.enabled&&(z=E.NONE)};const onContextMenu=t=>{this.enabled&&t.preventDefault()};function addHandlers(){e.addEventListener(\"contextmenu\",onContextMenu,false);e.addEventListener(\"mousedown\",onMouseDown,false);e.addEventListener(\"wheel\",onMouseWheel,{passive:false});e.addEventListener(\"touchstart\",onTouchStart,{passive:false});e.addEventListener(\"touchend\",onTouchEnd,false);e.addEventListener(\"touchmove\",onTouchMove,{passive:false})}this.remove=function(){e.removeEventListener(\"contextmenu\",onContextMenu);e.removeEventListener(\"mousedown\",onMouseDown);e.removeEventListener(\"wheel\",onMouseWheel);e.removeEventListener(\"touchstart\",onTouchStart);e.removeEventListener(\"touchend\",onTouchEnd);e.removeEventListener(\"touchmove\",onTouchMove);window.removeEventListener(\"mousemove\",onMouseMove);window.removeEventListener(\"mouseup\",onMouseUp)};addHandlers()}const S=new Vec2;const R=new Vec2;const P=new Vec2;const L=new Vec3;const C=new Vec3;const z=new Vec3;const B=new Vec3;const N=new Vec3;const O=new Vec3;const I=new Vec3;const V=new Vec3;const U=new Vec3;const D=new Vec3;const G=new Vec3;const $=new Mat4;class Raycast{constructor(){this.origin=new Vec3;this.direction=new Vec3}castMouse(t,e=[0,0]){if(\"orthographic\"===t.type){const{left:s,right:i,bottom:r,top:n,zoom:a}=t;const o=s/a+(i-s)/a*(.5*e[0]+.5);const h=r/a+(n-r)/a*(.5*e[1]+.5);this.origin.set(o,h,0);this.origin.applyMatrix4(t.worldMatrix);this.direction.x=-t.worldMatrix[8];this.direction.y=-t.worldMatrix[9];this.direction.z=-t.worldMatrix[10]}else{t.worldMatrix.getTranslation(this.origin);this.direction.set(e[0],e[1],.5);t.unproject(this.direction);this.direction.sub(this.origin).normalize()}}intersectBounds(t,{maxDistance:e,output:s=[]}={}){Array.isArray(t)||(t=[t]);const i=$;const r=L;const n=C;const a=s;a.length=0;t.forEach((t=>{t.geometry.bounds&&Infinity!==t.geometry.bounds.radius||t.geometry.computeBoundingSphere();const s=t.geometry.bounds;i.inverse(t.worldMatrix);let o;if(e){n.copy(this.direction).scaleRotateMatrix4(i);o=e*n.len()}r.copy(this.origin).applyMatrix4(i);n.copy(this.direction).transformDirection(i);if(e&&r.distance(s.center)-s.radius>o)return;let h=0;if(\"sphere\"===t.geometry.raycast){if(r.distance(s.center)>s.radius){h=this.intersectSphere(s,r,n);if(!h)return}}else if(r.x<s.min.x||r.x>s.max.x||r.y<s.min.y||r.y>s.max.y||r.z<s.min.z||r.z>s.max.z){h=this.intersectBox(s,r,n);if(!h)return}if(!(e&&h>o)){t.hit||(t.hit={localPoint:new Vec3,point:new Vec3});t.hit.localPoint.copy(n).multiply(h).add(r);t.hit.point.copy(t.hit.localPoint).applyMatrix4(t.worldMatrix);t.hit.distance=t.hit.point.distance(this.origin);a.push(t)}}));a.sort(((t,e)=>t.hit.distance-e.hit.distance));return a}intersectMeshes(t,{cullFace:e=true,maxDistance:s,includeUV:i=true,includeNormal:r=true,output:n=[]}={}){const a=this.intersectBounds(t,{maxDistance:s,output:n});if(!a.length)return a;const o=$;const h=L;const l=C;const c=z;const u=B;const d=N;const m=O;const g=I;const p=V;const f=S;const x=R;const w=P;for(let t=a.length-1;t>=0;t--){const n=a[t];o.inverse(n.worldMatrix);let y;if(s){l.copy(this.direction).scaleRotateMatrix4(o);y=s*l.len()}h.copy(this.origin).applyMatrix4(o);l.copy(this.direction).transformDirection(o);let b=0;let M,v,A;const E=n.geometry;const T=E.attributes;const _=T.index;const F=T.position;const S=Math.max(0,E.drawRange.start);const R=Math.min(_?_.count:F.count,E.drawRange.start+E.drawRange.count);const P=F.size;for(let t=S;t<R;t+=3){const i=_?_.data[t]:t;const r=_?_.data[t+1]:t+1;const n=_?_.data[t+2]:t+2;c.fromArray(F.data,i*P);u.fromArray(F.data,r*P);d.fromArray(F.data,n*P);const a=this.intersectTriangle(c,u,d,e,h,l,g);if(a&&(!(s&&a>y)&&(!b||a<b))){b=a;M=i;v=r;A=n;m.copy(g)}}b||a.splice(t,1);n.hit.localPoint.copy(l).multiply(b).add(h);n.hit.point.copy(n.hit.localPoint).applyMatrix4(n.worldMatrix);n.hit.distance=n.hit.point.distance(this.origin);if(!n.hit.faceNormal){n.hit.localFaceNormal=new Vec3;n.hit.faceNormal=new Vec3;n.hit.uv=new Vec2;n.hit.localNormal=new Vec3;n.hit.normal=new Vec3}n.hit.localFaceNormal.copy(m);n.hit.faceNormal.copy(n.hit.localFaceNormal).transformDirection(n.worldMatrix);if(i||r){c.fromArray(F.data,3*M);u.fromArray(F.data,3*v);d.fromArray(F.data,3*A);this.getBarycoord(n.hit.localPoint,c,u,d,p)}if(i&&T.uv){f.fromArray(T.uv.data,2*M);x.fromArray(T.uv.data,2*v);w.fromArray(T.uv.data,2*A);n.hit.uv.set(f.x*p.x+x.x*p.y+w.x*p.z,f.y*p.x+x.y*p.y+w.y*p.z)}if(r&&T.normal){c.fromArray(T.normal.data,3*M);u.fromArray(T.normal.data,3*v);d.fromArray(T.normal.data,3*A);n.hit.localNormal.set(c.x*p.x+u.x*p.y+d.x*p.z,c.y*p.x+u.y*p.y+d.y*p.z,c.z*p.x+u.z*p.y+d.z*p.z);n.hit.normal.copy(n.hit.localNormal).transformDirection(n.worldMatrix)}}a.sort(((t,e)=>t.hit.distance-e.hit.distance));return a}intersectPlane(t,e=this.origin,s=this.direction){const i=L;i.sub(t.origin,e);const r=i.dot(t.normal);const n=s.dot(t.normal);if(0==n)return 0;const a=r/n;return a<=0?0:e.add(s.scale(a))}intersectSphere(t,e=this.origin,s=this.direction){const i=z;i.sub(t.center,e);const r=i.dot(s);const n=i.dot(i)-r*r;const a=t.radius*t.radius;if(n>a)return 0;const o=Math.sqrt(a-n);const h=r-o;const l=r+o;return h<0&&l<0?0:h<0?l:h}intersectBox(t,e=this.origin,s=this.direction){let i,r,n,a,o,h;const l=1/s.x;const c=1/s.y;const u=1/s.z;const d=t.min;const m=t.max;i=((l>=0?d.x:m.x)-e.x)*l;r=((l>=0?m.x:d.x)-e.x)*l;n=((c>=0?d.y:m.y)-e.y)*c;a=((c>=0?m.y:d.y)-e.y)*c;if(i>a||n>r)return 0;n>i&&(i=n);a<r&&(r=a);o=((u>=0?d.z:m.z)-e.z)*u;h=((u>=0?m.z:d.z)-e.z)*u;if(i>h||o>r)return 0;o>i&&(i=o);h<r&&(r=h);return r<0?0:i>=0?i:r}intersectTriangle(t,e,s,i=true,r=this.origin,n=this.direction,a=I){const o=V;const h=U;const l=D;o.sub(e,t);h.sub(s,t);a.cross(o,h);let c=n.dot(a);if(!c)return 0;let u;if(c>0){if(i)return 0;u=1}else{u=-1;c=-c}l.sub(r,t);let d=u*n.dot(h.cross(l,h));if(d<0)return 0;let m=u*n.dot(o.cross(l));if(m<0)return 0;if(d+m>c)return 0;let g=-u*l.dot(a);return g<0?0:g/c}getBarycoord(t,e,s,i,r=V){const n=U;const a=D;const o=G;n.sub(i,e);a.sub(s,e);o.sub(t,e);const h=n.dot(n);const l=n.dot(a);const c=n.dot(o);const u=a.dot(a);const d=a.dot(o);const m=h*u-l*l;if(0===m)return r.set(-2,-1,-1);const g=1/m;const p=(u*c-l*d)*g;const f=(h*d-l*c)*g;return r.set(1-p-f,f,p)}}const k=\"catmullrom\";const q=\"cubicbezier\";const j=\"quadraticbezier\";const W=new Vec3,X=new Vec3,Y=new Vec3,H=new Vec3;\n/**\n * Get the control points of cubic bezier curve.\n * @param {*} i\n * @param {*} a\n * @param {*} b\n */function getCtrlPoint(t,e,s=.168,i=.168){e<1?W.sub(t[1],t[0]).scale(s).add(t[0]):W.sub(t[e+1],t[e-1]).scale(s).add(t[e]);if(e>t.length-3){const e=t.length-1;X.sub(t[e-1],t[e]).scale(i).add(t[e])}else X.sub(t[e],t[e+2]).scale(i).add(t[e+1]);return[W.clone(),X.clone()]}function getQuadraticBezierPoint(t,e,s,i){const r=1-t;W.copy(e).scale(r**2);X.copy(s).scale(2*r*t);Y.copy(i).scale(t**2);const n=new Vec3;n.add(W,X).add(Y);return n}function getCubicBezierPoint(t,e,s,i,r){const n=1-t;W.copy(e).scale(n**3);X.copy(s).scale(3*n**2*t);Y.copy(i).scale(3*n*t**2);H.copy(r).scale(t**3);const a=new Vec3;a.add(W,X).add(Y).add(H);return a}class Curve{constructor({points:t=[new Vec3(0,0,0),new Vec3(0,1,0),new Vec3(1,1,0),new Vec3(1,0,0)],divisions:e=12,type:s=k}={}){this.points=t;this.divisions=e;this.type=s}_getQuadraticBezierPoints(t=this.divisions){const e=[];const s=this.points.length;if(s<3){console.warn(\"Not enough points provided.\");return[]}const i=this.points[0];let r=this.points[1],n=this.points[2];for(let s=0;s<=t;s++){const a=getQuadraticBezierPoint(s/t,i,r,n);e.push(a)}let a=3;while(s-a>0){i.copy(n);r=n.scale(2).sub(r);n=this.points[a];for(let s=1;s<=t;s++){const a=getQuadraticBezierPoint(s/t,i,r,n);e.push(a)}a++}return e}_getCubicBezierPoints(t=this.divisions){const e=[];const s=this.points.length;if(s<4){console.warn(\"Not enough points provided.\");return[]}let i=this.points[0],r=this.points[1],n=this.points[2],a=this.points[3];for(let s=0;s<=t;s++){const o=getCubicBezierPoint(s/t,i,r,n,a);e.push(o)}let o=4;while(s-o>1){i.copy(a);r=a.scale(2).sub(n);n=this.points[o];a=this.points[o+1];for(let s=1;s<=t;s++){const o=getCubicBezierPoint(s/t,i,r,n,a);e.push(o)}o+=2}return e}_getCatmullRomPoints(t=this.divisions,e=.168,s=.168){const i=[];const r=this.points.length;if(r<=2)return this.points;let n;this.points.forEach(((r,a)=>{if(0===a)n=r;else{const[o,h]=getCtrlPoint(this.points,a-1,e,s);const l=new Curve({points:[n,o,h,r],type:q});i.pop();i.push(...l.getPoints(t));n=r}}));return i}getPoints(t=this.divisions,e=.168,s=.168){const i=this.type;return i===j?this._getQuadraticBezierPoints(t):i===q?this._getCubicBezierPoints(t):i===k?this._getCatmullRomPoints(t,e,s):this.points}}Curve.CATMULLROM=k;Curve.CUBICBEZIER=q;Curve.QUADRATICBEZIER=j;class BaseSegment{constructor(){this._len=-1;this.tiltStart=0;this.tiltEnd=0}\n/**\n     * Get segment length.\n     * @returns {number} segment length\n     */getLength(){this._len<0&&this.updateLength();return this._len}\n/**\n     * Get tilt angle at t\n     * @param {number} t Distance at time t in range [0 .. 1]\n     * @returns {number} Tilt angle at t\n     */getTiltAt(t){return this.tiltStart*(1-t)*this.tiltEnd*t}\n/**\n     * Creates a clone of this instance\n     * @returns {BaseSegment} cloned instance\n     */clone(){return(new this.constructor).copy(this)}\n/**\n     * Copies another segment object to this instance.\n     * @param {BaseSegment} source reference object\n     * @returns {BaseSegment} copy of source object\n     */copy(t){this._len=t._len;this.tiltStart=t.tiltStart;this.tiltEnd=t.tiltEnd;return this}}const Q=[-.06405689286260563,.06405689286260563,-.1911188674736163,.1911188674736163,-.3150426796961634,.3150426796961634,-.4337935076260451,.4337935076260451,-.5454214713888396,.5454214713888396,-.6480936519369755,.6480936519369755,-.7401241915785544,.7401241915785544,-.820001985973903,.820001985973903,-.8864155270044011,.8864155270044011,-.9382745520027328,.9382745520027328,-.9747285559713095,.9747285559713095,-.9951872199970213,.9951872199970213];const Z=[.12793819534675216,.12793819534675216,.1258374563468283,.1258374563468283,.12167047292780339,.12167047292780339,.1155056680537256,.1155056680537256,.10744427011596563,.10744427011596563,.09761865210411388,.09761865210411388,.08619016153195327,.08619016153195327,.0733464814110803,.0733464814110803,.05929858491543678,.05929858491543678,.04427743881741981,.04427743881741981,.028531388628933663,.028531388628933663,.0123412297999872,.0123412297999872];\n/**\n * Convert Degree To Radian\n * @param {number} a Angle in Degrees\n * @returns {number} a Angle in Radians\n */const toRadian=t=>t*Math.PI/180\n/**\n * Convert Radian To Degree\n * @param {number} a Angle in Radians\n * @returns {number} a Angle in Radian\n */;const toDegrees=t=>180*t/Math.PI;const clamp=(t,e,s)=>Math.max(e,Math.min(t,s));\n/**\n * Fills a rotation matrix with the given sine and cosine of the angle around the given axis\n * This function helps to avoid inverse trigonometry\n * @param {Mat4} out mat4 receiving operation result\n * @param {Vec3} axis the axis to rotate around. Should be normalized\n * @param {number} sin sine of rotation angle\n * @param {number} cos cosine of rotation angle\n * @returns {Mat4} out\n */\nfunction mat4fromRotationSinCos(t,e,s,i){const r=e[0];const n=e[1];const a=e[2];const o=1-i;t[0]=r*r*o+i;t[1]=n*r*o+a*s;t[2]=a*r*o-n*s;t[3]=0;t[4]=r*n*o-a*s;t[5]=n*n*o+i;t[6]=a*n*o+r*s;t[7]=0;t[8]=r*a*o+n*s;t[9]=n*a*o-r*s;t[10]=a*a*o+i;t[11]=0;t[12]=0;t[13]=0;t[14]=0;t[15]=1;return t}\n/**\n * Rotates the normal and binormal around its tangent by the given angle.\n *\n * see: https://en.wikipedia.org/wiki/Rodrigues%27_rotation_formula\n * @param {number} angle rotation angle\n * @param {Vec3} norm unit normal vector\n * @param {Vec3} binorm unit binormal vector\n * @param {Vec3} outNorm optional normal output vector. If not present then normal vector changes in place\n * @param {Vec3} outBinorm optional binormal output vector. If not present then binormal vector changes in place\n */function rotateNormalBinormal(t,e,s,i=e,r=s){const n=Math.sin(t);const a=Math.cos(t);const o=a*e.x+n*s.x;const h=a*e.y+n*s.y;const l=a*e.z+n*s.z;const c=a*s.x-n*e.x;const u=a*s.y-n*e.y;const d=a*s.z-n*e.z;i.set(o,h,l);r.set(c,u,d)}const K=new Vec3;function cubicBezier(t,e,s,i,r){const n=1-t;return n*n*n*e+3*n*n*t*s+3*n*t*t*i+t*t*t*r}function cubicBezierDeriv(t,e,s,i,r){const n=1-t;return 3*n*n*(s-e)+6*n*t*(i-s)+3*t*t*(r-i)}class CubicBezierSegment extends BaseSegment{constructor(t,e,s,i,r=0,n=0){super();this.p0=t;this.p1=e;this.p2=s;this.p3=i;this.tiltStart=r;this.tiltEnd=n;this._len=-1}updateLength(){const t=.5;const e=Q.length;let s=0;for(let i,r=0;r<e;r++){i=t*Q[r]+t;s+=Z[r]*this.getDerivativeAt(i,K).len()}this._len=t*s}\n/**\n     * Get point at relative position in curve according to segment length.\n     * @param {number} t Distance at time t in range [0 .. 1]\n     * @param {Vec3} out Optional Vec3 to output\n     * @returns {Vec3} Point at relative position\n     */getPointAt(t,e=new Vec3){e.x=cubicBezier(t,this.p0.x,this.p1.x,this.p2.x,this.p3.x);e.y=cubicBezier(t,this.p0.y,this.p1.y,this.p2.y,this.p3.y);e.z=cubicBezier(t,this.p0.z,this.p1.z,this.p2.z,this.p3.z);return e}getDerivativeAt(t,e=new Vec3){e.x=cubicBezierDeriv(t,this.p0.x,this.p1.x,this.p2.x,this.p3.x);e.y=cubicBezierDeriv(t,this.p0.y,this.p1.y,this.p2.y,this.p3.y);e.z=cubicBezierDeriv(t,this.p0.z,this.p1.z,this.p2.z,this.p3.z);return e}\n/**\n     * Returns a unit vector tangent at t\n     * @param {number} t Distance at time t in range [0 .. 1]\n     * @param {Vec3} out Optional Vec3 to output\n     * @returns {Vec3} A unit vector\n     */getTangentAt(t,e=new Vec3){return this.getDerivativeAt(t,e).normalize()}lastPoint(){return this.p3}}const J=new Vec3;function quadraticBezier(t,e,s,i){const r=1-t;return r*r*e+2*r*t*s+t*t*i}function quadraticBezierDeriv(t,e,s,i){const r=1-t;return 2*r*(s-e)+2*t*(i-s)}class QuadraticBezierSegment extends BaseSegment{constructor(t,e,s,i=0,r=0){super();this.p0=t;this.p1=e;this.p2=s;this.tiltStart=i;this.tiltEnd=r;this._len=-1}updateLength(){const t=.5;const e=Q.length;let s=0;for(let i,r=0;r<e;r++){i=t*Q[r]+t;s+=Z[r]*this.getDerivativeAt(i,J).len()}this._len=t*s}\n/**\n     * Get point at relative position in curve according to segment length.\n     * @param {number} t Distance at time t in range [0 .. 1]\n     * @param {Vec3} out Optional Vec3 to output\n     * @returns {Vec3} Point at relative position\n     */getPointAt(t,e=new Vec3){e.x=quadraticBezier(t,this.p0.x,this.p1.x,this.p2.x);e.y=quadraticBezier(t,this.p0.y,this.p1.y,this.p2.y);e.z=quadraticBezier(t,this.p0.z,this.p1.z,this.p2.z);return e}getDerivativeAt(t,e=new Vec3){e.x=quadraticBezierDeriv(t,this.p0.x,this.p1.x,this.p2.x);e.y=quadraticBezierDeriv(t,this.p0.y,this.p1.y,this.p2.y);e.z=quadraticBezierDeriv(t,this.p0.z,this.p1.z,this.p2.z);return e}\n/**\n     * Returns a unit vector tangent at t\n     * @param {number} t Distance at time t in range [0 .. 1]\n     * @param {Vec3} out Optional Vec3 to output\n     * @returns {Vec3} A unit vector\n     */getTangentAt(t,e=new Vec3){return this.getDerivativeAt(t,e).normalize()}lastPoint(){return this.p2}}const tt=new Vec3;class LineSegment extends BaseSegment{constructor(t,e,s=0,i=0){super();this.p0=t;this.p1=e;this.tiltStart=s;this.tiltEnd=i;this._len=-1}updateLength(){this._len=tt.sub(this.p1,this.p0).len()}\n/**\n     * Get point at relative position in curve according to segment length.\n     * @param {number} t Distance at time t in range [0 .. 1]\n     * @param {Vec3} out Optional Vec3 to output\n     * @returns {Vec3} Point at relative position\n     */getPointAt(t,e=new Vec3){lerp$4(e,this.p0,this.p1,t);return e}\n/**\n     * Returns a unit vector tangent at t\n     * @param {number} t Distance at time t in range [0 .. 1]\n     * @param {Vec3} out Optional Vec3 to output\n     * @returns {Vec3} A unit vector\n     */getTangentAt(t,e=new Vec3){return e.sub(this.p1,this.p0).normalize()}lastPoint(){return this.p1}}const et=new Vec3;const st=new Mat4;function throwIfNullProperty(t,e){if(null==this[t])throw new Error(e)}class Path{constructor(){this._segments=[];this._lengthOffsets=null;this._totalLength=-1;this._lastPoint=null;this._lastTilt=0;this._assertLastPoint=throwIfNullProperty.bind(this,\"_lastPoint\",\"Can`t get previous point of curve. Did you forget moveTo command?\");this.tiltFunction=null}moveTo(t,e=0){this._totalLength=-1;this._lastPoint=t;this._lastTilt=e}bezierCurveTo(t,e,s,i=0){this._assertLastPoint();const r=new CubicBezierSegment(this._lastPoint,t,e,s,this._lastTilt,i);this.addSegment(r);return this}quadraticCurveTo(t,e,s=0){this._assertLastPoint();const i=new QuadraticBezierSegment(this._lastPoint,t,e,this._lastTilt,s);this.addSegment(i);return this}lineTo(t,e=0){this._assertLastPoint();const s=new LineSegment(this._lastPoint,t,this._lastTilt,e);this.addSegment(s);return this}addSegment(t){this._totalLength=-1;this._lastPoint=t.lastPoint();this._lastTilt=t.tiltEnd;this._segments.push(t);return this}getSegments(){return this._segments}updateLength(){const t=this._segments.length;this._lengthOffsets=new Array(t);let e=0;for(let s=0;s<t;s++){this._lengthOffsets[s]=e;e+=this._segments[s].getLength()}this._totalLength=e}getLength(){this._totalLength<0&&this.updateLength();return this._totalLength}\n/**\n     * Finding a path segment at a given absolute length distance\n     * @param {number} len absolute length distance\n     * @returns {[number, number]} [_segment index_, _relative segment distance_]\n     */findSegmentIndexAtLength(t){const e=this.getLength();if(t<=0)return[0,0];if(t>=e)return[this._segments.length-1,1];let s=0;let i=this._lengthOffsets.length-1;let r=-1;let n;while(s<=i){n=Math.ceil((s+i)/2);if(0===n||n===this._lengthOffsets.length-1||t>=this._lengthOffsets[n]&&t<this._lengthOffsets[n+1]){r=n;break}t<this._lengthOffsets[n]?i=n-1:s=n+1}const a=this._segments[r];const o=a.getLength();const h=(t-this._lengthOffsets[r])/o;return[r,h]}getPointAtLength(t,e=new Vec3){const[s,i]=this.findSegmentIndexAtLength(t);return this._segments[s].getPointAt(i,e)}getPointAt(t,e=new Vec3){const s=this.getLength();return this.getPointAtLength(t*s,e)}getTangentAtLength(t,e=new Vec3){const[s,i]=this.findSegmentIndexAtLength(t);return this._segments[s].getTangentAt(i,e)}getTangentAt(t,e=new Vec3){const s=this.getLength();return this.getTangentAtLength(t*s,e)}getTiltAtLength(t){const[e,s]=this.findSegmentIndexAtLength(t);return this._segments[e].getTiltAt(s)}getTiltAt(t){const e=this.getLength();return this.getTiltAtLength(t*e)}\n/**\n     * Get sequence of points using `getPointAt(t)`\n     * @param {number} divisions number of subdivisions\n     * @returns {Vec3[]} array of points\n     */getPoints(t=64){const e=new Array(t+1);for(let s=0;s<=t;s++)e[s]=this.getPointAt(s/t);return e}\n/**\n     * Generates the Frenet Frames.\n     * See http://www.cs.indiana.edu/pub/techreports/TR425.pdf\n     * @param {number} divisions number of subdivisions\n     * @returns {{tangents: Vec3[], normals: Vec3[], binormals: Vec3[]}} Object with tangents, normals and binormals arrays\n     */computeFrenetFrames(t=64,e=false){const s=new Array(t+1);const i=new Array(t+1);const r=this.tiltFunction??(t=>t);const n=this.getLength();for(let e=0;e<=t;e++){const[a,o]=this.findSegmentIndexAtLength(n*e/t);const h=this._segments[a];s[e]=h.getTangentAt(o);i[e]=r(h.getTiltAt(o),e/t,this)}const a=Math.abs(s[0].x);const o=Math.abs(s[0].y);const h=Math.abs(s[0].z);const l=new Vec3;a<o&&a<h?l.set(1,0,0):o<a&&o<h?l.set(0,1,0):l.set(0,0,1);const c=new Array(t+1);const u=new Array(t+1);c[0]=new Vec3;u[0]=new Vec3;et.cross(s[0],l).normalize();c[0].cross(s[0],et);u[0].cross(s[0],c[0]);for(let t=1;t<s.length;t++){c[t]=c[t-1].clone();u[t]=new Vec3;et.cross(s[t-1],s[t]);const e=et.len();if(e>Number.EPSILON){et.scale(1/e);const i=clamp(s[t-1].dot(s[t]),-1,1);const r=clamp(e,-1,1);mat4fromRotationSinCos(st,et,r,i);c[t].applyMatrix4(st)}u[t].cross(s[t],c[t])}for(let t=0;t<i.length;t++)rotateNormalBinormal(toRadian(i[t]),c[t],u[t]);if(true===e){const t=c[c.length-1];let e=Math.acos(clamp(c[0].dot(t),-1,1))/(c.length-1);s[0].dot(et.cross(c[0],t))>0&&(e=-e);for(let t=1;t<c.length-1;t++){const s=e*t;rotateNormalBinormal(s,c[t],u[t]);i[t]+=toDegrees(s)}c[c.length-1]=c[0].clone();u[u.length-1]=u[0].clone()}return{tangents:s,normals:c,binormals:u,tilts:i}}}const it=new Vec3;const rt=new Vec3;const nt=new Vec2;const at=new Vec3;class Tube extends Geometry{constructor(t,{path:e,radius:s=1,tubularSegments:i=64,radialSegments:r=8,closed:n=false,attributes:a={}}={}){super(t,a);this.path=e;this.radius=s;this.tubularSegments=i;this.radialSegments=r;this.closed=n;this.frenetFrames=e.computeFrenetFrames(i,n);const o=(i+1)*(r+1);const h=i*r*6;this.positions=new Float32Array(3*o);this.normals=new Float32Array(3*o);this.uvs=new Float32Array(2*o);this.indices=o>65536?new Uint32Array(h):new Uint16Array(h);this._generateAttributes();this._generateIndices();this.addAttribute(\"position\",{size:3,data:this.positions});this.addAttribute(\"normal\",{size:3,data:this.normals});this.addAttribute(\"uv\",{size:2,data:this.uvs});this.setIndex({data:this.indices})}_generateAttributes(){for(let t=0;t<=this.tubularSegments;t++){let e=t;t===this.tubularSegments&&(e=this.closed?0:this.tubularSegments);this.path.getPointAt(e/this.tubularSegments,at);const s=this.frenetFrames.normals[e];const i=this.frenetFrames.binormals[e];for(let e=0;e<=this.radialSegments;e++){const r=e/this.radialSegments*Math.PI*2;const n=Math.sin(r);const a=-Math.cos(r);const o=t*(this.radialSegments+1)+e;rt.x=a*s.x+n*i.x;rt.y=a*s.y+n*i.y;rt.z=a*s.z+n*i.z;this.normals.set(rt,3*o);it.x=at.x+this.radius*rt.x;it.y=at.y+this.radius*rt.y;it.z=at.z+this.radius*rt.z;this.positions.set(it,3*o);nt.x=t/this.tubularSegments;nt.y=e/this.radialSegments;this.uvs.set(nt,2*o)}}}_generateIndices(){for(let t=1;t<=this.tubularSegments;t++)for(let e=1;e<=this.radialSegments;e++){const s=(this.radialSegments+1)*(t-1)+(e-1);const i=(this.radialSegments+1)*t+(e-1);const r=(this.radialSegments+1)*t+e;const n=(this.radialSegments+1)*(t-1)+e;const a=(t-1)*this.radialSegments+(e-1);this.indices.set([s,i,n,i,r,n],6*a)}}}class Post{constructor(t,{width:e,height:s,dpr:i,wrapS:r=t.CLAMP_TO_EDGE,wrapT:n=t.CLAMP_TO_EDGE,minFilter:a=t.LINEAR,magFilter:o=t.LINEAR,geometry:h=new Triangle(t),targetOnly:l=null}={}){this.gl=t;this.passes=[];this.geometry=h;this.uniform={value:null};this.targetOnly=l;i&&(this.dpr=i);e&&(this.width=e);s&&(this.height=s);i=this.dpr||this.gl.renderer.dpr;this.resolutionWidth=Math.floor(this.width||this.gl.renderer.width*i);this.resolutionHeight=Math.floor(this.height||this.gl.renderer.height*i);let c={dpr:this.dpr,width:this.resolutionWidth,height:this.resolutionHeight,wrapS:r,wrapT:n,minFilter:a,magFilter:o};const u=this.fbo={read:new RenderTarget(this.gl,c),write:new RenderTarget(this.gl,c),swap:()=>{let t=u.read;u.read=u.write;u.write=t}}}addPass({vertex:t=ot,fragment:e=ht,uniforms:s={},textureUniform:i=\"tMap\",enabled:r=true}={}){s[i]={value:this.fbo.read.texture};const n=new Program(this.gl,{vertex:t,fragment:e,uniforms:s});const a=new Mesh(this.gl,{geometry:this.geometry,program:n});const o={mesh:a,program:n,uniforms:s,enabled:r,textureUniform:i};this.passes.push(o);return o}resize({width:t,height:e,dpr:s}={}){s&&(this.dpr=s);t&&(this.width=t);e&&(this.height=e);s=this.dpr||this.gl.renderer.dpr;this.resolutionWidth=Math.floor(this.width||this.gl.renderer.width*s);this.resolutionHeight=Math.floor(this.height||this.gl.renderer.height*s);this.fbo.read.setSize(this.resolutionWidth,this.resolutionHeight);this.fbo.write.setSize(this.resolutionWidth,this.resolutionHeight)}render({scene:t,camera:e,texture:s,target:i=null,update:r=true,sort:n=true,frustumCull:a=true,beforePostCallbacks:o}){const h=this.passes.filter((t=>t.enabled));if(!s){this.gl.renderer.render({scene:t,camera:e,target:h.length||!i&&this.targetOnly?this.fbo.write:i,update:r,sort:n,frustumCull:a});this.fbo.swap();o&&o.forEach((t=>t&&t()))}h.forEach(((t,e)=>{t.mesh.program.uniforms[t.textureUniform].value=!e&&s?s:this.fbo.read.texture;this.gl.renderer.render({scene:t.mesh,target:e!==h.length-1||!i&&this.targetOnly?this.fbo.write:i,clear:true});this.fbo.swap()}));this.uniform.value=this.fbo.read.texture}}const ot=\"\\n    attribute vec2 uv;\\n    attribute vec2 position;\\n\\n    varying vec2 vUv;\\n\\n    void main() {\\n        vUv = uv;\\n        gl_Position = vec4(position, 0, 1);\\n    }\\n\";const ht=\"\\n    precision highp float;\\n\\n    uniform sampler2D tMap;\\n    varying vec2 vUv;\\n\\n    void main() {\\n        gl_FragColor = texture2D(tMap, vUv);\\n    }\\n\";const lt=new Vec3;const ct=new Quat;const ut=new Vec3;const dt=new Vec3;const mt=new Quat;const gt=new Vec3;class Animation{constructor({objects:t,data:e}){this.objects=t;this.data=e;this.elapsed=0;this.weight=1;this.duration=e.frames.length-1}update(t=1,e){const s=e?1:this.weight/t;const i=this.elapsed%this.duration;const r=Math.floor(i);const n=i-r;const a=this.data.frames[r];const o=this.data.frames[(r+1)%this.duration];this.objects.forEach(((t,e)=>{lt.fromArray(a.position,3*e);ct.fromArray(a.quaternion,4*e);ut.fromArray(a.scale,3*e);dt.fromArray(o.position,3*e);mt.fromArray(o.quaternion,4*e);gt.fromArray(o.scale,3*e);lt.lerp(dt,n);ct.slerp(mt,n);ut.lerp(gt,n);t.position.lerp(lt,s);t.quaternion.slerp(ct,s);t.scale.lerp(ut,s)}))}}const pt=new Mat4;class Skin extends Mesh{constructor(t,{rig:e,geometry:s,program:i,mode:r=t.TRIANGLES}={}){super(t,{geometry:s,program:i,mode:r});this.createBones(e);this.createBoneTexture();this.animations=[];Object.assign(this.program.uniforms,{boneTexture:{value:this.boneTexture},boneTextureSize:{value:this.boneTextureSize}})}createBones(t){this.root=new Transform;this.bones=[];if(t.bones&&t.bones.length){for(let e=0;e<t.bones.length;e++){const s=new Transform;s.position.fromArray(t.bindPose.position,3*e);s.quaternion.fromArray(t.bindPose.quaternion,4*e);s.scale.fromArray(t.bindPose.scale,3*e);this.bones.push(s)}t.bones.forEach(((t,e)=>{this.bones[e].name=t.name;if(-1===t.parent)return this.bones[e].setParent(this.root);this.bones[e].setParent(this.bones[t.parent])}));this.root.updateMatrixWorld(true);this.bones.forEach((t=>{t.bindInverse=new Mat4(...t.worldMatrix).inverse()}))}}createBoneTexture(){if(!this.bones.length)return;const t=Math.max(4,Math.pow(2,Math.ceil(Math.log(Math.sqrt(4*this.bones.length))/Math.LN2)));this.boneMatrices=new Float32Array(t*t*4);this.boneTextureSize=t;this.boneTexture=new Texture(this.gl,{image:this.boneMatrices,generateMipmaps:false,type:this.gl.FLOAT,internalFormat:this.gl.renderer.isWebgl2?this.gl.RGBA32F:this.gl.RGBA,minFilter:this.gl.NEAREST,magFilter:this.gl.NEAREST,flipY:false,width:t})}addAnimation(t){const e=new Animation({objects:this.bones,data:t});this.animations.push(e);return e}update(){let t=0;this.animations.forEach((e=>t+=e.weight));this.animations.forEach(((e,s)=>{e.update(t,0===s)}))}draw({camera:t}={}){this.root.updateMatrixWorld(true);this.bones.forEach(((t,e)=>{pt.multiply(t.worldMatrix,t.bindInverse);this.boneMatrices.set(pt,16*e)}));this.boneTexture&&(this.boneTexture.needsUpdate=true);super.draw({camera:t})}}function Text({font:t,text:e,width:s=Infinity,align:i=\"left\",size:r=1,letterSpacing:n=0,lineHeight:a=1.4,wordSpacing:o=0,wordBreak:h=false}){const l=this;let c,u;let d,m,g;const p=/\\n/;const f=/\\s/;parseFont();createGeometry();function parseFont(){c={};t.chars.forEach((t=>c[t.char]=t))}function createGeometry(){d=t.common.lineHeight;m=t.common.base;g=r/m;let s=e.replace(/[ \\n]/g,\"\");let i=s.length;u={position:new Float32Array(4*i*3),uv:new Float32Array(4*i*2),id:new Float32Array(4*i),index:new Uint16Array(6*i)};for(let t=0;t<i;t++){u.id.set([t,t,t,t],4*t);u.index.set([4*t,4*t+2,4*t+1,4*t+1,4*t+2,4*t+3],6*t)}layout()}function layout(){const t=[];let i=0;let a=0;let l=0;let u=newLine();function newLine(){const e={width:0,glyphs:[]};t.push(e);a=i;l=0;return e}let d=100;let m=0;while(i<e.length&&m<d){m++;const t=e[i];if(!u.width&&f.test(t)){i++;a=i;l=0;continue}if(p.test(t)){i++;u=newLine();continue}const d=c[t]||c[\" \"];if(u.glyphs.length){const t=u.glyphs[u.glyphs.length-1][0];let e=getKernPairOffset(d.id,t.id)*g;u.width+=e;l+=e}u.glyphs.push([d,u.width]);let x=0;if(f.test(t)){a=i;l=0;x+=o*r}else x+=n*r;x+=d.xadvance*g;u.width+=x;l+=x;if(u.width>s){if(h&&u.glyphs.length>1){u.width-=x;u.glyphs.pop();u=newLine();continue}if(!h&&l!==u.width){let t=i-a+1;u.glyphs.splice(-t,t);i=a;u.width-=l;u=newLine();continue}}i++;m=0}u.width||t.pop();populateBuffers(t)}function populateBuffers(e){const s=t.common.scaleW;const n=t.common.scaleH;let o=.07*r;let h=0;for(let t=0;t<e.length;t++){let l=e[t];for(let t=0;t<l.glyphs.length;t++){const e=l.glyphs[t][0];let r=l.glyphs[t][1];\"center\"===i?r-=.5*l.width:\"right\"===i&&(r-=l.width);if(f.test(e.char))continue;r+=e.xoffset*g;o-=e.yoffset*g;let a=e.width*g;let c=e.height*g;u.position.set([r,o-c,0,r,o,0,r+a,o-c,0,r+a,o,0],4*h*3);let d=e.x/s;let m=e.width/s;let p=1-e.y/n;let x=e.height/n;u.uv.set([d,p-x,d,p,d+m,p-x,d+m,p],4*h*2);o+=e.yoffset*g;h++}o-=r*a}l.buffers=u;l.numLines=e.length;l.height=l.numLines*r*a;l.width=Math.max(...e.map((t=>t.width)))}function getKernPairOffset(e,s){for(let i=0;i<t.kernings.length;i++){let r=t.kernings[i];if(!(r.first<e)&&!(r.second<s))return r.first>e||r.first===e&&r.second>s?0:r.amount}return 0}this.resize=function(t){({width:s}=t);layout()};this.update=function(t){({text:e}=t);createGeometry()}}const ft=\"\\n    precision highp float;\\n    precision highp int;\\n\\n    attribute vec3 position;\\n    attribute vec3 normal;\\n\\n    uniform mat3 normalMatrix;\\n    uniform mat4 modelViewMatrix;\\n    uniform mat4 projectionMatrix;\\n\\n    varying vec3 vNormal;\\n\\n    void main() {\\n        vNormal = normalize(normalMatrix * normal);\\n        gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\\n    }\\n\";const xt=\"\\n    precision highp float;\\n    precision highp int;\\n\\n    varying vec3 vNormal;\\n\\n    void main() {\\n        gl_FragColor.rgb = normalize(vNormal);\\n        gl_FragColor.a = 1.0;\\n    }\\n\";function NormalProgram(t){return new Program(t,{vertex:ft,fragment:xt,cullFace:null})}class Flowmap{constructor(t,{size:e=128,falloff:s=.3,alpha:i=1,dissipation:r=.98,type:n}={}){const a=this;this.gl=t;this.uniform={value:null};this.mask={read:null,write:null,swap:()=>{let t=a.mask.read;a.mask.read=a.mask.write;a.mask.write=t;a.uniform.value=a.mask.read.texture}};createFBOs();this.aspect=1;this.mouse=new Vec2;this.velocity=new Vec2;this.mesh=initProgram();function createFBOs(){n||(n=t.HALF_FLOAT||t.renderer.extensions.OES_texture_half_float.HALF_FLOAT_OES);let s=(()=>t.renderer.isWebgl2||t.renderer.extensions[`OES_texture_${n===t.FLOAT?\"\":\"half_\"}float_linear`]?t.LINEAR:t.NEAREST)();const i={width:e,height:e,type:n,format:t.RGBA,internalFormat:t.renderer.isWebgl2?n===t.FLOAT?t.RGBA32F:t.RGBA16F:t.RGBA,minFilter:s,depth:false};a.mask.read=new RenderTarget(t,i);a.mask.write=new RenderTarget(t,i);a.mask.swap()}function initProgram(){return new Mesh(t,{geometry:new Triangle(t),program:new Program(t,{vertex:wt,fragment:yt,uniforms:{tMap:a.uniform,uFalloff:{value:.5*s},uAlpha:{value:i},uDissipation:{value:r},uAspect:{value:1},uMouse:{value:a.mouse},uVelocity:{value:a.velocity}},depthTest:false})})}}update(){this.mesh.program.uniforms.uAspect.value=this.aspect;this.gl.renderer.render({scene:this.mesh,target:this.mask.write,clear:false});this.mask.swap()}}const wt=\"\\n    attribute vec2 uv;\\n    attribute vec2 position;\\n\\n    varying vec2 vUv;\\n\\n    void main() {\\n        vUv = uv;\\n        gl_Position = vec4(position, 0, 1);\\n    }\\n\";const yt=\"\\n    precision highp float;\\n\\n    uniform sampler2D tMap;\\n\\n    uniform float uFalloff;\\n    uniform float uAlpha;\\n    uniform float uDissipation;\\n    \\n    uniform float uAspect;\\n    uniform vec2 uMouse;\\n    uniform vec2 uVelocity;\\n\\n    varying vec2 vUv;\\n\\n    void main() {\\n        vec4 color = texture2D(tMap, vUv) * uDissipation;\\n\\n        vec2 cursor = vUv - uMouse;\\n        cursor.x *= uAspect;\\n\\n        vec3 stamp = vec3(uVelocity * vec2(1, -1), 1.0 - pow(1.0 - min(1.0, length(uVelocity)), 3.0));\\n        float falloff = smoothstep(uFalloff, 0.0, length(cursor)) * uAlpha;\\n\\n        color.rgb = mix(color.rgb, stamp, vec3(falloff));\\n\\n        gl_FragColor = color;\\n    }\\n\";class GPGPU{constructor(t,{data:e=new Float32Array(16),geometry:s=new Triangle(t),type:i}){this.gl=t;const r=e;this.passes=[];this.geometry=s;this.dataLength=r.length/4;this.size=Math.pow(2,Math.ceil(Math.log(Math.ceil(Math.sqrt(this.dataLength)))/Math.LN2));this.coords=new Float32Array(2*this.dataLength);for(let t=0;t<this.dataLength;t++){const e=t%this.size/this.size;const s=Math.floor(t/this.size)/this.size;this.coords.set([e,s],2*t)}const n=(()=>{if(r.length===this.size*this.size*4)return r;{const t=new Float32Array(this.size*this.size*4);t.set(r);return t}})();this.uniform={value:new Texture(t,{image:n,target:t.TEXTURE_2D,type:t.FLOAT,format:t.RGBA,internalFormat:t.renderer.isWebgl2?t.RGBA32F:t.RGBA,wrapS:t.CLAMP_TO_EDGE,wrapT:t.CLAMP_TO_EDGE,generateMipmaps:false,minFilter:t.NEAREST,magFilter:t.NEAREST,width:this.size,flipY:false})};const a={width:this.size,height:this.size,type:i||t.HALF_FLOAT||t.renderer.extensions.OES_texture_half_float.HALF_FLOAT_OES,format:t.RGBA,internalFormat:t.renderer.isWebgl2?i===t.FLOAT?t.RGBA32F:t.RGBA16F:t.RGBA,minFilter:t.NEAREST,depth:false,unpackAlignment:1};this.fbo={read:new RenderTarget(t,a),write:new RenderTarget(t,a),swap:()=>{let t=this.fbo.read;this.fbo.read=this.fbo.write;this.fbo.write=t;this.uniform.value=this.fbo.read.texture}}}addPass({vertex:t=bt,fragment:e=Mt,uniforms:s={},textureUniform:i=\"tMap\",enabled:r=true}={}){s[i]=this.uniform;const n=new Program(this.gl,{vertex:t,fragment:e,uniforms:s});const a=new Mesh(this.gl,{geometry:this.geometry,program:n});const o={mesh:a,program:n,uniforms:s,enabled:r,textureUniform:i};this.passes.push(o);return o}render(){const t=this.passes.filter((t=>t.enabled));t.forEach(((t,e)=>{this.gl.renderer.render({scene:t.mesh,target:this.fbo.write,clear:false});this.fbo.swap()}))}}const bt=\"\\n    attribute vec2 uv;\\n    attribute vec2 position;\\n\\n    varying vec2 vUv;\\n\\n    void main() {\\n        vUv = uv;\\n        gl_Position = vec4(position, 0, 1);\\n    }\\n\";const Mt=\"\\n    precision highp float;\\n\\n    uniform sampler2D tMap;\\n    varying vec2 vUv;\\n\\n    void main() {\\n        gl_FragColor = texture2D(tMap, vUv);\\n    }\\n\";const vt=new Vec3;class Polyline{constructor(t,{points:e,vertex:s=At,fragment:i=Et,uniforms:r={},attributes:n={}}){this.gl=t;this.points=e;this.count=e.length;this.position=new Float32Array(3*this.count*2);this.prev=new Float32Array(3*this.count*2);this.next=new Float32Array(3*this.count*2);const a=new Float32Array(1*this.count*2);const o=new Float32Array(2*this.count*2);const h=new Uint16Array(3*(this.count-1)*2);for(let t=0;t<this.count;t++){a.set([-1,1],2*t);const e=t/(this.count-1);o.set([0,e,1,e],4*t);if(t===this.count-1)continue;const s=2*t;h.set([s+0,s+1,s+2],3*(s+0));h.set([s+2,s+1,s+3],3*(s+1))}const l=this.geometry=new Geometry(t,Object.assign(n,{position:{size:3,data:this.position},prev:{size:3,data:this.prev},next:{size:3,data:this.next},side:{size:1,data:a},uv:{size:2,data:o},index:{size:1,data:h}}));this.updateGeometry();r.uResolution||(this.resolution=r.uResolution={value:new Vec2});r.uDPR||(this.dpr=r.uDPR={value:1});r.uThickness||(this.thickness=r.uThickness={value:1});r.uColor||(this.color=r.uColor={value:new Color(\"#000\")});r.uMiter||(this.miter=r.uMiter={value:1});this.resize();const c=this.program=new Program(t,{vertex:s,fragment:i,uniforms:r});this.mesh=new Mesh(t,{geometry:l,program:c})}updateGeometry(){this.points.forEach(((t,e)=>{t.toArray(this.position,3*e*2);t.toArray(this.position,3*e*2+3);if(e){t.toArray(this.next,3*(e-1)*2);t.toArray(this.next,3*(e-1)*2+3)}else{vt.copy(t).sub(this.points[e+1]).add(t);vt.toArray(this.prev,3*e*2);vt.toArray(this.prev,3*e*2+3)}if(e===this.points.length-1){vt.copy(t).sub(this.points[e-1]).add(t);vt.toArray(this.next,3*e*2);vt.toArray(this.next,3*e*2+3)}else{t.toArray(this.prev,3*(e+1)*2);t.toArray(this.prev,3*(e+1)*2+3)}}));this.geometry.attributes.position.needsUpdate=true;this.geometry.attributes.prev.needsUpdate=true;this.geometry.attributes.next.needsUpdate=true}resize(){this.resolution&&this.resolution.value.set(this.gl.canvas.width,this.gl.canvas.height);this.dpr&&(this.dpr.value=this.gl.renderer.dpr)}}const At=\"\\n    precision highp float;\\n\\n    attribute vec3 position;\\n    attribute vec3 next;\\n    attribute vec3 prev;\\n    attribute vec2 uv;\\n    attribute float side;\\n\\n    uniform mat4 modelViewMatrix;\\n    uniform mat4 projectionMatrix;\\n    uniform vec2 uResolution;\\n    uniform float uDPR;\\n    uniform float uThickness;\\n    uniform float uMiter;\\n\\n    varying vec2 vUv;\\n\\n    vec4 getPosition() {\\n        mat4 mvp = projectionMatrix * modelViewMatrix;\\n        vec4 current = mvp * vec4(position, 1);\\n        vec4 nextPos = mvp * vec4(next, 1);\\n        vec4 prevPos = mvp * vec4(prev, 1);\\n\\n        vec2 aspect = vec2(uResolution.x / uResolution.y, 1);    \\n        vec2 currentScreen = current.xy / current.w * aspect;\\n        vec2 nextScreen = nextPos.xy / nextPos.w * aspect;\\n        vec2 prevScreen = prevPos.xy / prevPos.w * aspect;\\n    \\n        vec2 dir1 = normalize(currentScreen - prevScreen);\\n        vec2 dir2 = normalize(nextScreen - currentScreen);\\n        vec2 dir = normalize(dir1 + dir2);\\n    \\n        vec2 normal = vec2(-dir.y, dir.x);\\n        normal /= mix(1.0, max(0.3, dot(normal, vec2(-dir1.y, dir1.x))), uMiter);\\n        normal /= aspect;\\n\\n        float pixelWidthRatio = 1.0 / (uResolution.y / uDPR);\\n        float pixelWidth = current.w * pixelWidthRatio;\\n        normal *= pixelWidth * uThickness;\\n        current.xy -= normal * side;\\n    \\n        return current;\\n    }\\n\\n    void main() {\\n        vUv = uv;\\n        gl_Position = getPosition();\\n    }\\n\";const Et=\"\\n    precision highp float;\\n\\n    uniform vec3 uColor;\\n    \\n    varying vec2 vUv;\\n\\n    void main() {\\n        gl_FragColor.rgb = uColor;\\n        gl_FragColor.a = 1.0;\\n    }\\n\";class Shadow{constructor(t,{light:e=new Camera(t),width:s=1024,height:i=s}){this.gl=t;this.light=e;this.target=new RenderTarget(t,{width:s,height:i});this.targetUniform={value:this.target.texture};this.depthProgram=new Program(t,{vertex:Tt,fragment:_t,cullFace:null});this.castMeshes=[]}add({mesh:t,receive:e=true,cast:s=true,vertex:i=Tt,fragment:r=_t,uniformProjection:n=\"shadowProjectionMatrix\",uniformView:a=\"shadowViewMatrix\",uniformTexture:o=\"tShadow\"}){if(e&&!t.program.uniforms[n]){t.program.uniforms[n]={value:this.light.projectionMatrix};t.program.uniforms[a]={value:this.light.viewMatrix};t.program.uniforms[o]=this.targetUniform}if(s){this.castMeshes.push(t);t.colorProgram=t.program;t.depthProgram||(t.depthProgram=i!==Tt||r!==_t?new Program(this.gl,{vertex:i,fragment:r,cullFace:null}):this.depthProgram)}}setSize({width:t=1024,height:e=t}){this.target=new RenderTarget(this.gl,{width:t,height:e});this.targetUniform.value=this.target.texture}render({scene:t}){t.traverse((t=>{if(t.draw)if(!~this.castMeshes.indexOf(t)){t.isForceVisibility=t.visible;t.visible=false}else t.program=t.depthProgram}));this.gl.renderer.render({scene:t,camera:this.light,target:this.target});t.traverse((t=>{t.draw&&(~this.castMeshes.indexOf(t)?t.program=t.colorProgram:t.visible=t.isForceVisibility)}))}}const Tt=\"\\n    attribute vec3 position;\\n    attribute vec2 uv;\\n\\n    uniform mat4 modelViewMatrix;\\n    uniform mat4 projectionMatrix;\\n\\n    void main() {\\n        gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\\n    }\\n\";const _t=\"\\n    precision highp float;\\n\\n    vec4 packRGBA (float v) {\\n        vec4 pack = fract(vec4(1.0, 255.0, 65025.0, 16581375.0) * v);\\n        pack -= pack.yzww * vec2(1.0 / 255.0, 0.0).xxxy;\\n        return pack;\\n    }\\n\\n    void main() {\\n        gl_FragColor = packRGBA(gl_FragCoord.z);\\n    }\\n\";class KTXTexture extends Texture{constructor(t,{buffer:e,wrapS:s=t.CLAMP_TO_EDGE,wrapT:i=t.CLAMP_TO_EDGE,anisotropy:r=0,minFilter:n,magFilter:a}={}){super(t,{generateMipmaps:false,wrapS:s,wrapT:i,anisotropy:r,minFilter:n,magFilter:a});if(e)return this.parseBuffer(e)}parseBuffer(t){const e=new KhronosTextureContainer(t);e.mipmaps.isCompressedTexture=true;this.image=e.mipmaps;this.internalFormat=e.glInternalFormat;e.numberOfMipmapLevels>1?this.minFilter===this.gl.LINEAR&&(this.minFilter=this.gl.NEAREST_MIPMAP_LINEAR):this.minFilter===this.gl.NEAREST_MIPMAP_LINEAR&&(this.minFilter=this.gl.LINEAR)}}function KhronosTextureContainer(t){const e=[171,75,84,88,32,49,49,187,13,10,26,10];const s=new Uint8Array(t,0,12);for(let t=0;t<s.length;t++)if(s[t]!==e[t])return console.error(\"File missing KTX identifier\");const i=Uint32Array.BYTES_PER_ELEMENT;const r=new DataView(t,12,13*i);const n=67305985===r.getUint32(0,true);const a=r.getUint32(1*i,n);if(0!==a)return console.warn(\"only compressed formats currently supported\");this.glInternalFormat=r.getUint32(4*i,n);let o=r.getUint32(6*i,n);let h=r.getUint32(7*i,n);this.numberOfFaces=r.getUint32(10*i,n);this.numberOfMipmapLevels=Math.max(1,r.getUint32(11*i,n));const l=r.getUint32(12*i,n);this.mipmaps=[];let c=64+l;for(let e=0;e<this.numberOfMipmapLevels;e++){const e=new Int32Array(t,c,1)[0];c+=4;for(let s=0;s<this.numberOfFaces;s++){const s=new Uint8Array(t,c,e);this.mipmaps.push({data:s,width:o,height:h});c+=e;c+=3-(e+3)%4}o>>=1;h>>=1}}let Ft={};const St=[];class TextureLoader{static load(t,{src:e,wrapS:s=t.CLAMP_TO_EDGE,wrapT:i=t.CLAMP_TO_EDGE,anisotropy:r=0,format:n=t.RGBA,internalFormat:a=n,generateMipmaps:o=true,minFilter:h=(o?t.NEAREST_MIPMAP_LINEAR:t.LINEAR),magFilter:l=t.LINEAR,premultiplyAlpha:c=false,unpackAlignment:u=4,flipY:d=true}={}){const m=this.getSupportedExtensions(t);let g=\"none\";\"string\"===typeof e&&(g=e.split(\".\").pop().split(\"?\")[0].toLowerCase());if(\"object\"===typeof e)for(const t in e)if(m.includes(t.toLowerCase())){g=t.toLowerCase();e=e[t];break}const p=e+s+i+r+n+a+o+h+l+c+u+d+t.renderer.id;if(Ft[p])return Ft[p];let f;switch(g){case\"ktx\":case\"pvrtc\":case\"s3tc\":case\"etc\":case\"etc1\":case\"astc\":f=new KTXTexture(t,{src:e,wrapS:s,wrapT:i,anisotropy:r,minFilter:h,magFilter:l});f.loaded=this.loadKTX(e,f);break;case\"webp\":case\"jpg\":case\"jpeg\":case\"png\":f=new Texture(t,{wrapS:s,wrapT:i,anisotropy:r,format:n,internalFormat:a,generateMipmaps:o,minFilter:h,magFilter:l,premultiplyAlpha:c,unpackAlignment:u,flipY:d});f.loaded=this.loadImage(t,e,f,d);break;default:console.warn(\"No supported format supplied\");f=new Texture(t)}f.ext=g;Ft[p]=f;return f}static getSupportedExtensions(t){if(St.length)return St;const e={pvrtc:t.renderer.getExtension(\"WEBGL_compressed_texture_pvrtc\")||t.renderer.getExtension(\"WEBKIT_WEBGL_compressed_texture_pvrtc\"),s3tc:t.renderer.getExtension(\"WEBGL_compressed_texture_s3tc\"),etc1:t.renderer.getExtension(\"WEBGL_compressed_texture_etc1\"),astc:t.renderer.getExtension(\"WEBGL_compressed_texture_astc\"),bc7:t.renderer.getExtension(\"EXT_texture_compression_bptc\")};for(const t in e)e[t]&&St.push(t);St.push(\"png\",\"jpg\",\"webp\");return St}static loadKTX(t,e){return fetch(t).then((t=>t.arrayBuffer())).then((t=>e.parseBuffer(t)))}static loadImage(t,e,s,i){return decodeImage(e,i).then((e=>{if(!powerOfTwo(e.width)||!powerOfTwo(e.height)){s.generateMipmaps&&(s.generateMipmaps=false);s.minFilter===t.NEAREST_MIPMAP_LINEAR&&(s.minFilter=t.LINEAR);s.wrapS===t.REPEAT&&(s.wrapS=s.wrapT=t.CLAMP_TO_EDGE)}s.image=e;s.onUpdate=()=>{e.close&&e.close();s.onUpdate=null};return e}))}static clearCache(){Ft={}}}function powerOfTwo(t){return Math.log2(t)%1===0}function decodeImage(t,e){return new Promise((s=>{if(isCreateImageBitmap())fetch(t,{mode:\"cors\"}).then((t=>t.blob())).then((t=>createImageBitmap(t,{imageOrientation:e?\"flipY\":\"none\",premultiplyAlpha:\"none\"}))).then(s);else{const e=new Image;e.crossOrigin=\"\";e.src=t;e.onload=()=>s(e)}}))}function isCreateImageBitmap(){const t=navigator.userAgent.toLowerCase().includes(\"chrome\");if(!t)return false;try{createImageBitmap}catch(t){return false}return true}const Rt=new Vec3;const Pt=new Vec3;const Lt=new Vec3;const Ct=new Vec3;const zt=new Quat;const Bt=new Quat;const Nt=new Quat;const Ot=new Quat;class GLTFAnimation{constructor(t,e=1){this.data=t;this.elapsed=0;this.weight=e;this.loop=true;this.startTime=t.reduce(((t,{times:e})=>Math.min(t,e[0])),Infinity);this.endTime=t.reduce(((t,{times:e})=>Math.max(t,e[e.length-1])),0);this.duration=this.endTime-this.startTime}update(t=1,e){const s=e?1:this.weight/t;const i=this.duration?(this.loop?this.elapsed%this.duration:Math.min(this.elapsed,this.duration-.001))+this.startTime:0;this.data.forEach((({node:t,transform:e,interpolation:r,times:n,values:a})=>{if(!this.duration){let i=Rt;let r=3;if(\"quaternion\"===e){i=zt;r=4}i.fromArray(a,0);4===r?t[e].slerp(i,s):t[e].lerp(i,s);return}const o=Math.max(1,n.findIndex((t=>t>i)))-1;const h=o+1;let l=(i-n[o])/(n[h]-n[o]);\"STEP\"===r&&(l=0);let c=Rt;let u=Pt;let d=Lt;let m=Ct;let g=3;if(\"quaternion\"===e){c=zt;u=Bt;d=Nt;m=Ot;g=4}if(\"CUBICSPLINE\"===r){c.fromArray(a,o*g*3+1*g);u.fromArray(a,o*g*3+2*g);d.fromArray(a,h*g*3+0*g);m.fromArray(a,h*g*3+1*g);c=this.cubicSplineInterpolate(l,c,u,d,m);4===g&&c.normalize()}else{c.fromArray(a,o*g);m.fromArray(a,h*g);4===g?c.slerp(m,l):c.lerp(m,l)}4===g?t[e].slerp(c,s):t[e].lerp(c,s)}))}cubicSplineInterpolate(t,e,s,i,r){const n=t*t;const a=n*t;const o=3*n-2*a;const h=a-n;const l=1-o;const c=h-n+t;for(let n=0;n<e.length;n++)e[n]=l*e[n]+c*(1-t)*s[n]+o*r[n]+h*t*i[n];return e}}const It=new Mat4;const Vt=new Mat4;class GLTFSkin extends Mesh{constructor(t,{skeleton:e,geometry:s,program:i,mode:r=t.TRIANGLES}={}){super(t,{geometry:s,program:i,mode:r});this.skeleton=e;this.program=i;this.createBoneTexture()}createBoneTexture(){if(!this.skeleton.joints.length)return;const t=Math.max(4,Math.pow(2,Math.ceil(Math.log(Math.sqrt(4*this.skeleton.joints.length))/Math.LN2)));this.boneMatrices=new Float32Array(t*t*4);this.boneTextureSize=t;this.boneTexture=new Texture(this.gl,{image:this.boneMatrices,generateMipmaps:false,type:this.gl.FLOAT,internalFormat:this.gl.renderer.isWebgl2?this.gl.RGBA32F:this.gl.RGBA,minFilter:this.gl.NEAREST,magFilter:this.gl.NEAREST,flipY:false,width:t})}updateUniforms(){this.skeleton.joints.forEach(((t,e)=>{It.multiply(t.worldMatrix,t.bindInverse);this.boneMatrices.set(It,16*e)}));this.boneTexture&&(this.boneTexture.needsUpdate=true)}draw({camera:t}={}){this.program.uniforms.boneTexture||Object.assign(this.program.uniforms,{boneTexture:{value:this.boneTexture},boneTextureSize:{value:this.boneTextureSize}});this.updateUniforms();const e=this.worldMatrix;this.worldMatrix=Vt;super.draw({camera:t});this.worldMatrix=e}}class InstancedMesh extends Mesh{constructor(...t){super(...t);this.frustumCulled=false;this.isInstancedMesh=true}addFrustumCull(){this.instanceTransforms=null;this.instanceLightmapScaleOffset=null;this.totalInstanceCount=0;this.frustumCullFunction=null;this.instanceRenderList=null;this.geometry.attributes.instanceMatrix||console.error(`mesh ${this.name?`\"${this.name}\" `:\"\"}missing instanceMatrix attribute; unable to frustum cull`);const t=this.geometry.attributes.instanceMatrix.data;this.instanceTransforms=[];for(let e=0,s=0;e<t.length;e+=16,s++){const i=new Transform;i.index=s;i.matrix.fromArray(t,e);i.decompose();this.instanceTransforms.push(i);i.setParent(this.parent)}this.totalInstanceCount=this.instanceTransforms.length;if(!!this.geometry.attributes.lightmapScaleOffset){const t=this.geometry.attributes.lightmapScaleOffset.data;for(let e=0,s=0;e<t.length;e+=4,s++)this.instanceTransforms[s].lightmapData=(new Vec4).fromArray(t,e)}this.frustumCullFunction=({camera:t})=>{this.instanceRenderList=[];this.instanceTransforms.forEach((e=>{t.frustumIntersectsMesh(this,e.worldMatrix)&&this.instanceRenderList.push(e)}));this.instanceRenderList.forEach(((t,e)=>{t.matrix.toArray(this.geometry.attributes.instanceMatrix.data,16*e);if(t.lightmapData){t.lightmapData.toArray(this.geometry.attributes.lightmapScaleOffset.data,4*e);this.geometry.attributes.lightmapScaleOffset.needsUpdate=true}}));this.geometry.instancedCount=this.instanceRenderList.length;this.geometry.attributes.instanceMatrix.needsUpdate=true};this.onBeforeRender(this.frustumCullFunction)}removeFrustumCull(){this.offBeforeRender(this.frustumCullFunction);this.geometry.instancedCount=this.totalInstanceCount;this.instanceTransforms.forEach(((t,e)=>{t.matrix.toArray(this.geometry.attributes.instanceMatrix.data,16*e);if(t.lightmapData){t.lightmapData.toArray(this.geometry.attributes.lightmapScaleOffset.data,4*e);this.geometry.attributes.lightmapScaleOffset.needsUpdate=true}}));this.geometry.attributes.instanceMatrix.needsUpdate=true}}const Ut={5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array,\"image/jpeg\":Uint8Array,\"image/png\":Uint8Array};const Dt={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16};const Gt={POSITION:\"position\",NORMAL:\"normal\",TANGENT:\"tangent\",TEXCOORD_0:\"uv\",TEXCOORD_1:\"uv2\",COLOR_0:\"color\",WEIGHTS_0:\"skinWeight\",JOINTS_0:\"skinIndex\"};const $t={translation:\"position\",rotation:\"quaternion\",scale:\"scale\"};class GLTFLoader{static setBasisManager(t){this.basisManager=t}static async load(t,e){const s=e.split(\"/\").slice(0,-1).join(\"/\")+\"/\";const i=await this.parseDesc(e);return await this.parse(t,i,s)}static async parse(t,e,s){(void 0===e.asset||e.asset.version[0]<2)&&console.warn(\"Only GLTF >=2.0 supported. Attempting to parse.\");e.extensionsRequired?.includes(\"KHR_texture_basisu\")&&!this.basisManager&&console.warn(\"KHR_texture_basisu extension required but no manager supplied. Use .setBasisManager()\");const i=await this.loadBuffers(e,s);t.renderer.bindVertexArray(null);const r=this.parseBufferViews(t,e,i);const n=await this.parseImages(t,e,s,r);const a=this.parseTextures(t,e,n);const o=this.parseMaterials(t,e,a);const h=this.parseSkins(t,e,r);const l=this.parseMeshes(t,e,r,o,h);const c=this.parseNodes(t,e,l,h,n);this.populateSkins(h,c);const u=this.parseAnimations(t,e,c,r);const d=this.parseScenes(e,c);const m=d[e.scene];const g=this.parseLights(t,e,c,d);for(let t=c.length;t>=0;t--)c[t]||c.splice(t,1);return{json:e,buffers:i,bufferViews:r,images:n,textures:a,materials:o,meshes:l,nodes:c,lights:g,animations:u,scenes:d,scene:m}}static async parseDesc(t){return t.match(/\\.glb/)?await fetch(t).then((t=>t.arrayBuffer())).then((t=>this.unpackGLB(t))):await fetch(t).then((t=>t.json()))}static unpackGLB(t){const e=new Uint32Array(t,0,3);if(1179937895!==e[0])throw new Error(\"Invalid glTF asset.\");if(2!==e[1])throw new Error(`Unsupported glTF binary version, \"${e[1]}\".`);const s=new Uint32Array(t,12,2);const i=20;const r=s[0];if(1313821514!==s[1])throw new Error(\"Unexpected GLB layout.\");const n=(new TextDecoder).decode(t.slice(i,i+r));const a=JSON.parse(n);if(i+r===t.byteLength)return a;const o=new Uint32Array(t,i+r,2);if(5130562!==o[1])throw new Error(\"Unexpected GLB layout.\");const h=i+r+8;const l=o[0];const c=t.slice(h,h+l);a.buffers[0].binary=c;return a}static resolveURI(t,e){if(\"string\"!==typeof t||\"\"===t)return\"\";/^https?:\\/\\//i.test(e)&&/^\\//.test(t)&&(e=e.replace(/(^https?:\\/\\/[^\\/]+).*/i,\"$1\"));return/^(https?:)?\\/\\//i.test(t)||/^data:.*,.*$/i.test(t)||/^blob:.*$/i.test(t)?t:e+t}static async loadBuffers(t,e){return t.buffers?await Promise.all(t.buffers.map((t=>{if(t.binary)return t.binary;const s=this.resolveURI(t.uri,e);return fetch(s).then((t=>t.arrayBuffer()))}))):null}static parseBufferViews(t,e,s){if(!e.bufferViews)return null;const i=e.bufferViews.map((t=>Object.assign({},t)));e.meshes&&e.meshes.forEach((({primitives:s})=>{s.forEach((({attributes:s,indices:r})=>{for(let t in s)i[e.accessors[s[t]].bufferView].isAttribute=true;if(void 0!==r){i[e.accessors[r].bufferView].isAttribute=true;i[e.accessors[r].bufferView].target=t.ELEMENT_ARRAY_BUFFER}}))}));e.accessors.forEach((({bufferView:t,componentType:e})=>{i[t].componentType=e}));e.images&&e.images.forEach((({uri:t,bufferView:e,mimeType:s})=>{void 0!==e&&(i[e].mimeType=s)}));i.forEach((({buffer:e,byteOffset:r=0,byteLength:n,byteStride:a,target:o=t.ARRAY_BUFFER,name:h,extensions:l,extras:c,componentType:u,mimeType:d,isAttribute:m},g)=>{i[g].data=s[e].slice(r,r+n);if(!m)return;const p=t.createBuffer();t.bindBuffer(o,p);t.renderer.state.boundBuffer=p;t.bufferData(o,i[g].data,t.STATIC_DRAW);i[g].buffer=p}));return i}static async parseImages(t,e,s,i){return e.images?await Promise.all(e.images.map((async({uri:t,bufferView:e,mimeType:r,name:n})=>{if(\"image/ktx2\"===r){const{data:t}=i[e];const s=await this.basisManager.parseTexture(t);return s}const a=new Image;a.name=n;if(t)a.src=this.resolveURI(t,s);else if(void 0!==e){const{data:t}=i[e];const s=new Blob([t],{type:r});a.src=URL.createObjectURL(s)}a.ready=new Promise((t=>{a.onload=()=>t()}));return a}))):null}static parseTextures(t,e,s){return e.textures?e.textures.map((i=>this.createTexture(t,e,s,i))):null}static createTexture(t,e,s,{sampler:i,source:r,name:n,extensions:a,extras:o}){void 0!==r||!a||a.KHR_texture_basisu&&(r=a.KHR_texture_basisu.source);const h=s[r];if(h.texture)return h.texture;const l={flipY:false,wrapS:t.REPEAT,wrapT:t.REPEAT};const c=void 0!==i?e.samplers[i]:null;c&&[\"magFilter\",\"minFilter\",\"wrapS\",\"wrapT\"].forEach((t=>{c[t]&&(l[t]=c[t])}));if(h.isBasis){l.image=h;l.internalFormat=h.internalFormat;if(h.isCompressedTexture){l.generateMipmaps=false;h.length>1&&(this.minFilter=t.NEAREST_MIPMAP_LINEAR)}const e=new Texture(t,l);e.name=n;h.texture=e;return e}const u=new Texture(t,l);u.name=n;h.texture=u;h.ready.then((()=>{u.image=h}));return u}static parseMaterials(t,e,s){return e.materials?e.materials.map((({name:t,extensions:e,extras:i,pbrMetallicRoughness:r={},normalTexture:n,occlusionTexture:a,emissiveTexture:o,emissiveFactor:h=[0,0,0],alphaMode:l=\"OPAQUE\",alphaCutoff:c=.5,doubleSided:u=false})=>{const{baseColorFactor:d=[1,1,1,1],baseColorTexture:m,metallicFactor:g=1,roughnessFactor:p=1,metallicRoughnessTexture:f}=r;m&&(m.texture=s[m.index]);n&&(n.texture=s[n.index]);f&&(f.texture=s[f.index]);a&&(a.texture=s[a.index]);o&&(o.texture=s[o.index]);return{name:t,extensions:e,extras:i,baseColorFactor:d,baseColorTexture:m,metallicFactor:g,roughnessFactor:p,metallicRoughnessTexture:f,normalTexture:n,occlusionTexture:a,emissiveTexture:o,emissiveFactor:h,alphaMode:l,alphaCutoff:c,doubleSided:u}})):null}static parseSkins(t,e,s){return e.skins?e.skins.map((({inverseBindMatrices:t,skeleton:i,joints:r})=>({inverseBindMatrices:this.parseAccessor(t,e,s),skeleton:i,joints:r}))):null}static parseMeshes(t,e,s,i,r){return e.meshes?e.meshes.map((({primitives:n,weights:a,name:o,extensions:h,extras:l},c)=>{let u=0;let d=[];let m=false;e.nodes&&e.nodes.forEach((({mesh:t,skin:e,extras:s})=>{if(t===c){u++;void 0!==e&&d.push(e);s&&s.lightmap_scale_offset&&(m=true)}}));let g=!!d.length;if(g){n=d.map((a=>this.parsePrimitives(t,n,e,s,i,1,m).map((({geometry:e,program:s,mode:i})=>{const n=new GLTFSkin(t,{skeleton:r[a],geometry:e,program:s,mode:i});n.name=o;n.frustumCulled=false;return n}))));n.instanceCount=0;n.numInstances=u}else n=this.parsePrimitives(t,n,e,s,i,u,m).map((({geometry:e,program:s,mode:i})=>{const r=e.attributes.instanceMatrix?InstancedMesh:Mesh;const n=new r(t,{geometry:e,program:s,mode:i});n.name=o;n.numInstances=u;return n}));return{primitives:n,weights:a,name:o}})):null}static parsePrimitives(t,e,s,i,r,n,a){return e.map((({attributes:e,indices:o,material:h,mode:l=4,targets:c,extensions:u,extras:d})=>{const m=new NormalProgram(t);void 0!==h&&(m.gltfMaterial=r[h]);const g=new Geometry(t);for(let t in e)g.addAttribute(Gt[t],this.parseAccessor(e[t],s,i));void 0!==o&&g.addAttribute(\"index\",this.parseAccessor(o,s,i));n>1&&g.addAttribute(\"instanceMatrix\",{instanced:1,size:16,data:new Float32Array(16*n)});a&&g.addAttribute(\"lightmapScaleOffset\",{instanced:1,size:4,data:new Float32Array(4*n)});return{geometry:g,program:m,mode:l}}))}static parseAccessor(t,e,s){const{bufferView:i,byteOffset:r=0,componentType:n,normalized:a=false,count:o,type:h,min:l,max:c,sparse:u}=e.accessors[t];const{data:d,buffer:m,byteOffset:g=0,byteStride:p=0,target:f}=s[i];const x=Dt[h];const w=Ut[n];const y=w.BYTES_PER_ELEMENT;const b=p/y;const M=!!p&&b!==x;let v;if(M){const t=new w(d,r);v=new w(o*x);for(let e=0;e<o;e++){const s=b*e;const i=s+x;v.set(t.slice(s,i),e*x)}}else v=new w(d,r,o*x);return{data:v,size:x,type:n,normalized:a,buffer:m,stride:p,offset:r,count:o,min:l,max:c}}static parseNodes(t,e,s,i,r){if(!e.nodes)return null;const n=e.nodes.map((({camera:i,children:n,skin:a,matrix:o,mesh:h,rotation:l,scale:c,translation:u,weights:d,name:m,extensions:g,extras:p})=>{const f=new Transform;m&&(f.name=m);f.extras=p;f.extensions=g;p&&void 0!==p.lightmapTexture&&(p.lightmapTexture.texture=this.createTexture(t,e,r,{source:p.lightmapTexture.index}));if(o){f.matrix.copy(o);f.decompose()}else{l&&f.quaternion.copy(l);c&&f.scale.copy(c);u&&f.position.copy(u);f.updateMatrix()}let x=false;let w=true;let y=false;let b=void 0!==a;if(void 0!==h)if(b){s[h].primitives[s[h].primitives.instanceCount].forEach((t=>{t.extras=p;t.setParent(f)}));s[h].primitives.instanceCount++;if(s[h].primitives.instanceCount===s[h].primitives.numInstances){delete s[h].primitives.numInstances;delete s[h].primitives.instanceCount}}else s[h].primitives.forEach((t=>{t.extras=p;if(t.geometry.isInstanced){x=true;t.instanceCount?w=false:t.instanceCount=0;if(t.geometry.attributes.instanceMatrix){y=true;f.matrix.toArray(t.geometry.attributes.instanceMatrix.data,16*t.instanceCount)}t.geometry.attributes.lightmapScaleOffset&&t.geometry.attributes.lightmapScaleOffset.data.set(p.lightmap_scale_offset,4*t.instanceCount);t.instanceCount++;if(t.instanceCount===t.numInstances){delete t.numInstances;delete t.instanceCount;t.geometry.attributes.instanceMatrix&&(t.geometry.attributes.instanceMatrix.needsUpdate=true);t.geometry.attributes.lightmapScaleOffset&&(t.geometry.attributes.lightmapScaleOffset.needsUpdate=true)}}x?w&&t.setParent(f):t.setParent(f)}));if(y){if(!w)return null;f.matrix.identity();f.decompose()}return f}));e.nodes.forEach((({children:t=[]},e)=>{t.forEach((t=>{n[t]&&n[t].setParent(n[e])}))}));s.forEach((({primitives:t},e)=>{t.forEach(((t,e)=>{t.isInstancedMesh&&t.addFrustumCull()}))}));return n}static populateSkins(t,e){t&&t.forEach((t=>{t.joints=t.joints.map(((s,i)=>{const r=e[s];r.skin=t;r.bindInverse=new Mat4(...t.inverseBindMatrices.data.slice(16*i,16*(i+1)));return r}));t.skeleton&&(t.skeleton=e[t.skeleton])}))}static parseAnimations(t,e,s,i){return e.animations?e.animations.map((({channels:t,samplers:r,name:n},a)=>{const o=t.map((({sampler:t,target:n})=>{const{input:o,interpolation:h=\"LINEAR\",output:l}=r[t];const{node:c,path:u}=n;const d=s[c];const m=$t[u];const g=this.parseAccessor(o,e,i).data;const p=this.parseAccessor(l,e,i).data;d.animations||(d.animations=[]);d.animations.includes(a)||d.animations.push(a);return{node:d,transform:m,interpolation:h,times:g,values:p}}));return{name:n,animation:new GLTFAnimation(o)}})):null}static parseScenes(t,e){return t.scenes?t.scenes.map((({nodes:t=[],name:s,extensions:i,extras:r})=>{const n=t.reduce(((t,s)=>{e[s]&&t.push(e[s]);return t}),[]);n.extras=r;return n})):null}static parseLights(t,e,s,i){const r={directional:[],point:[],spot:[]};i.forEach((t=>t.forEach((t=>t.updateMatrixWorld()))));const n=e.extensions?.KHR_lights_punctual?.lights||[];s.forEach((t=>{if(!t?.extensions?.KHR_lights_punctual)return;const e=t.extensions.KHR_lights_punctual.light;const s=n[e];const i={name:s.name||\"\",color:{value:(new Vec3).set(s.color||1)}};void 0!==s.intensity&&i.color.value.multiply(s.intensity);switch(s.type){case\"directional\":i.direction={value:new Vec3(0,0,1).transformDirection(t.worldMatrix)};break;case\"point\":i.position={value:(new Vec3).applyMatrix4(t.worldMatrix)};i.distance={value:s.range};i.decay={value:2};break;case\"spot\":Object.assign(i,s);break}r[s.type].push(i)}));return r}}let kt;let qt=0;class BasisManager{constructor(t,e){kt||(kt=this.getSupportedFormat(e));this.onMessage=this.onMessage.bind(this);this.queue=new Map;this.initWorker(t)}getSupportedFormat(t=document.createElement(\"canvas\").getContext(\"webgl\")){return t.getExtension(\"WEBGL_compressed_texture_astc\")?\"astc\":t.getExtension(\"EXT_texture_compression_bptc\")?\"bptc\":t.getExtension(\"WEBGL_compressed_texture_s3tc\")?\"s3tc\":t.getExtension(\"WEBGL_compressed_texture_etc1\")?\"etc1\":t.getExtension(\"WEBGL_compressed_texture_pvrtc\")||t.getExtension(\"WEBKIT_WEBGL_compressed_texture_pvrtc\")?\"pvrtc\":\"none\"}initWorker(t){this.worker=new Worker(t);this.worker.onmessage=this.onMessage}onMessage({data:t}){const{id:e,error:s,image:i}=t;if(s){console.log(s,e);return}const r=this.queue.get(e);this.queue.delete(e);i.isBasis=true;r(i)}parseTexture(t){qt++;this.worker.postMessage({id:qt,buffer:t,supportedFormat:kt});let e;const s=new Promise((t=>e=t));this.queue.set(qt,e);return s}}class WireMesh extends Mesh{constructor(t,{geometry:e,wireColor:s=new Vec3(0,.75,.5),...i}={}){const r=new Program(t,{vertex:jt,fragment:Wt,uniforms:{wireColor:{value:s}}});const n=e.attributes.position.data;const a=[];const o=new Set;function addUniqueIndices(t){for(let e=0;e<t.length;e+=2)isUniqueEdgePosition(3*t[e],3*t[e+1],n,o)&&a.push(t[e],t[e+1])}if(e.attributes.index){const t=e.attributes.index.data;for(let e=0;e<t.length;e+=3)addUniqueIndices([t[e],t[e+1],t[e+1],t[e+2],t[e+2],t[e]])}else{const t=Math.floor(n.length/3);for(let e=0;e<t;e+=3)addUniqueIndices([e,e+1,e+1,e+2,e+2,e])}const h=a.length>65536?new Uint32Array(a):new Uint16Array(a);const l=new Geometry(t,{position:{...e.attributes.position},index:{data:h}});super(t,{...i,mode:t.LINES,geometry:l,program:r})}}function isUniqueEdgePosition(t,e,s,i){const r=[s[t],s[t+1],s[t+2],s[e],s[e+1],s[e+2]].join(\"#\");const n=[s[e],s[e+1],s[e+2],s[t],s[t+1],s[t+2]].join(\"#\");const a=i.size;i.add(r);i.add(n);return i.size-a===2}const jt=\"\\nattribute vec3 position;\\nuniform mat4 modelViewMatrix;\\nuniform mat4 projectionMatrix;\\n\\nvoid main() {    \\n    gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\\n}\\n\";const Wt=\"\\nprecision highp float;\\nuniform vec3 wireColor;\\n\\nvoid main() {    \\n    gl_FragColor = vec4(wireColor, 1.0);\\n}\\n\";class AxesHelper extends Mesh{constructor(t,{size:e=1,symmetric:s=false,xColor:i=new Vec3(.96,.21,.32),yColor:r=new Vec3(.44,.64,.11),zColor:n=new Vec3(.18,.52,.89),...a}={}){const o=s?-e:0;const h=e;const l=new Float32Array([o,0,0,h,0,0,0,o,0,0,h,0,0,0,o,0,0,h]);const c=new Float32Array([...i,...i,...r,...r,...n,...n]);const u=new Geometry(t,{position:{size:3,data:l},color:{size:3,data:c}});const d=new Program(t,{vertex:Xt,fragment:Yt});super(t,{...a,mode:t.LINES,geometry:u,program:d})}}const Xt=\"\\nattribute vec3 position;\\nattribute vec3 color;\\nuniform mat4 modelViewMatrix;\\nuniform mat4 projectionMatrix;\\n\\nvarying vec3 vColor;\\n\\nvoid main() {    \\n    vColor = color;\\n    gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\\n}\\n\";const Yt=\"\\nprecision highp float;\\nvarying vec3 vColor;\\n\\nvoid main() {    \\n    gl_FragColor = vec4(vColor, 1.0);\\n}\\n\";class GridHelper extends Mesh{constructor(t,{size:e=10,divisions:s=10,color:i=new Vec3(.75,.75,.75),...r}={}){const n=2*(e+1)*2;const a=new Float32Array(3*n);const o=e/2;for(let t=0;t<=s;t++){const i=t/s;const r=i*e-o;a.set([r,0,-o,r,0,o],12*t);a.set([-o,0,r,o,0,r],12*t+6)}const h=new Geometry(t,{position:{size:3,data:a}});const l=new Program(t,{vertex:Ht,fragment:Qt,uniforms:{color:{value:i}}});super(t,{...r,mode:t.LINES,geometry:h,program:l})}}const Ht=\"\\nattribute vec3 position;\\nuniform mat4 modelViewMatrix;\\nuniform mat4 projectionMatrix;\\n\\nvoid main() {    \\n    gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\\n}\\n\";const Qt=\"\\nprecision highp float;\\nuniform vec3 color;\\n\\nvoid main() {    \\n    gl_FragColor = vec4(color, 1.0);\\n}\\n\";class VertexNormalsHelper extends Mesh{constructor(t,{size:e=.1,color:s=new Vec3(.86,.16,.86),...i}={}){const r=t.gl;const n=t.geometry.attributes.normal.count;const a=new Float32Array(2*n*3);const o=new Float32Array(2*n*3);const h=new Float32Array(2*n);const l=t.geometry.attributes.normal.data;const c=t.geometry.attributes.position.data;const u=new Float32Array([0,e]);for(let t=0;t<n;t++){const e=6*t;const s=3*t;const i=c.subarray(s,s+3);a.set(i,e);a.set(i,e+3);const r=l.subarray(s,s+3);o.set(r,e);o.set(r,e+3);h.set(u,2*t)}const d=new Geometry(r,{position:{size:3,data:a},normal:{size:3,data:o},size:{size:1,data:h}});const m=new Program(r,{vertex:Zt,fragment:Kt,uniforms:{color:{value:s},worldNormalMatrix:{value:new Mat3},objectWorldMatrix:{value:t.worldMatrix}}});super(r,{...i,mode:r.LINES,geometry:d,program:m});this.object=t}draw(t){this.program.uniforms.worldNormalMatrix.value.getNormalMatrix(this.object.worldMatrix);super.draw(t)}}const Zt=\"\\nattribute vec3 position;\\nattribute vec3 normal;\\nattribute float size;\\n\\nuniform mat4 viewMatrix;\\nuniform mat4 projectionMatrix;\\nuniform mat4 objectWorldMatrix;\\nuniform mat3 worldNormalMatrix;\\n\\nvoid main() {\\n    vec3 n = normalize(worldNormalMatrix * normal) * size;\\n    vec3 p = (objectWorldMatrix * vec4(position, 1.0)).xyz;\\n    gl_Position = projectionMatrix * viewMatrix * vec4(p + n, 1.0);\\n}\\n\";const Kt=\"\\nprecision highp float;\\nuniform vec3 color;\\n\\nvoid main() {    \\n    gl_FragColor = vec4(color, 1.0);\\n}\\n\";const Jt=new Vec3;const te=new Vec3;const ee=new Vec3;const se=new Vec3;const ie=new Vec3;class FaceNormalsHelper extends Mesh{constructor(t,{size:e=.1,color:s=new Vec3(.15,.86,.86),...i}={}){const r=t.gl;const n=t.geometry.attributes.position.data;const a=new Float32Array([0,e]);const o=t.geometry.attributes.index;const h=o?t=>o.data[t]:t=>t;const l=o?o.data.length:Math.floor(n.length/3);const c=Math.floor(l/3);const u=new Float32Array(2*c*3);const d=new Float32Array(2*c*3);const m=new Float32Array(2*c);for(let t=0;t<l;t+=3){Jt.fromArray(n,3*h(t+0));te.fromArray(n,3*h(t+1));ee.fromArray(n,3*h(t+2));se.add(Jt,te).add(ee).multiply(1/3);Jt.sub(Jt,te);ee.sub(ee,te);ie.cross(ee,Jt).normalize();const e=2*t;u.set(se,e);u.set(se,e+3);d.set(ie,e);d.set(ie,e+3);m.set(a,t/3*2)}const g=new Geometry(r,{position:{size:3,data:u},normal:{size:3,data:d},size:{size:1,data:m}});const p=new Program(r,{vertex:re,fragment:ne,uniforms:{color:{value:s},worldNormalMatrix:{value:new Mat3},objectWorldMatrix:{value:t.worldMatrix}}});super(r,{...i,mode:r.LINES,geometry:g,program:p});this.object=t}draw(t){this.program.uniforms.worldNormalMatrix.value.getNormalMatrix(this.object.worldMatrix);super.draw(t)}}const re=\"\\nattribute vec3 position;\\nattribute vec3 normal;\\nattribute float size;\\n\\nuniform mat4 viewMatrix;\\nuniform mat4 projectionMatrix;\\nuniform mat4 objectWorldMatrix;\\nuniform mat3 worldNormalMatrix;\\n\\nvoid main() {\\n    vec3 n = normalize(worldNormalMatrix * normal) * size;\\n    vec3 p = (objectWorldMatrix * vec4(position, 1.0)).xyz;\\n    gl_Position = projectionMatrix * viewMatrix * vec4(p + n, 1.0);\\n}\\n\";const ne=\"\\nprecision highp float;\\nuniform vec3 color;\\n\\nvoid main() {    \\n    gl_FragColor = vec4(color, 1.0);\\n}\\n\";export{Animation,AxesHelper,BasisManager,Box,Camera,Color,Curve,Cylinder,Euler,FaceNormalsHelper,Flowmap,GLTFLoader,GLTFSkin,GPGPU,Geometry,GridHelper,InstancedMesh,KTXTexture,Mat3,Mat4,Mesh,NormalProgram,Orbit,Path,Plane,Polyline,Post,Program,Quat,Raycast,RenderTarget,Renderer,Shadow,Skin,Sphere,Text,Texture,TextureLoader,Torus,Transform,Triangle,Tube,Vec2,Vec3,Vec4,VertexNormalsHelper,WireMesh};\n\n//# sourceMappingURL=index.mjs.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import{Renderer,Program,Mesh,Triangle}from\"ogl\";import{addPropertyControls,ControlType}from\"framer\";const VERT=`#version 300 es\nin vec2 position;\nvoid main() {\n  gl_Position = vec4(position, 0.0, 1.0);\n}\n`;const FRAG=`#version 300 es\nprecision highp float;\n\nuniform float uTime;\nuniform float uAmplitude;\nuniform vec3 uColorStops[3];\nuniform vec2 uResolution;\nuniform float uBlend;\n\nout vec4 fragColor;\n\nvec3 permute(vec3 x) {\n  return mod(((x * 34.0) + 1.0) * x, 289.0);\n}\n\nfloat snoise(vec2 v){\n  const vec4 C = vec4(\n      0.211324865405187, 0.366025403784439,\n      -0.577350269189626, 0.024390243902439\n  );\n  vec2 i  = floor(v + dot(v, C.yy));\n  vec2 x0 = v - i + dot(i, C.xx);\n  vec2 i1 = (x0.x > x0.y) ? vec2(1.0, 0.0) : vec2(0.0, 1.0);\n  vec4 x12 = x0.xyxy + C.xxzz;\n  x12.xy -= i1;\n  i = mod(i, 289.0);\n\n  vec3 p = permute(\n      permute(i.y + vec3(0.0, i1.y, 1.0))\n    + i.x + vec3(0.0, i1.x, 1.0)\n  );\n\n  vec3 m = max(\n      0.5 - vec3(\n          dot(x0, x0),\n          dot(x12.xy, x12.xy),\n          dot(x12.zw, x12.zw)\n      ), \n      0.0\n  );\n  m = m * m;\n  m = m * m;\n\n  vec3 x = 2.0 * fract(p * C.www) - 1.0;\n  vec3 h = abs(x) - 0.5;\n  vec3 ox = floor(x + 0.5);\n  vec3 a0 = x - ox;\n  m *= 1.79284291400159 - 0.85373472095314 * (a0*a0 + h*h);\n\n  vec3 g;\n  g.x  = a0.x  * x0.x  + h.x  * x0.y;\n  g.yz = a0.yz * x12.xz + h.yz * x12.yw;\n  return 130.0 * dot(m, g);\n}\n\nstruct ColorStop {\n  vec3 color;\n  float position;\n};\n\n#define COLOR_RAMP(colors, factor, finalColor) {              \\\n  int index = 0;                                            \\\n  for (int i = 0; i < 2; i++) {                               \\\n     ColorStop currentColor = colors[i];                    \\\n     bool isInBetween = currentColor.position <= factor;    \\\n     index = int(mix(float(index), float(i), float(isInBetween))); \\\n  }                                                         \\\n  ColorStop currentColor = colors[index];                   \\\n  ColorStop nextColor = colors[index + 1];                  \\\n  float range = nextColor.position - currentColor.position; \\\n  float lerpFactor = (factor - currentColor.position) / range; \\\n  finalColor = mix(currentColor.color, nextColor.color, lerpFactor); \\\n}\n\nvoid main() {\n  vec2 uv = gl_FragCoord.xy / uResolution;\n  \n  ColorStop colors[3];\n  colors[0] = ColorStop(uColorStops[0], 0.0);\n  colors[1] = ColorStop(uColorStops[1], 0.5);\n  colors[2] = ColorStop(uColorStops[2], 1.0);\n  \n  vec3 rampColor;\n  COLOR_RAMP(colors, uv.x, rampColor);\n  \n  float height = snoise(vec2(uv.x * 2.0 + uTime * 0.1, uTime * 0.25)) * 0.5 * uAmplitude;\n  height = exp(height);\n  height = (uv.y * 2.0 - height + 0.2);\n  float intensity = 0.6 * height;\n  \n  float midPoint = 0.20;\n  float animationAlpha = smoothstep(midPoint - uBlend * 0.5, midPoint + uBlend * 0.5, intensity);\n  \n  vec3 finalColor = rampColor;\n  \n  fragColor = vec4(finalColor * animationAlpha, animationAlpha);\n}\n`;function parseColor(color,defaultColor=[1,0,0]){if(color===undefined||color===null||color===\"\"){return defaultColor;}if(typeof color===\"object\"){if(\"r\"in color&&\"g\"in color&&\"b\"in color){return[(color.r||0)/255,(color.g||0)/255,(color.b||0)/255];}if(\"r\"in color&&color.r<=1&&color.g<=1&&color.b<=1){return[color.r||0,color.g||0,color.b||0];}const values=Object.values(color).filter(v=>typeof v===\"number\");if(values.length>=3){const maxVal=Math.max(...values);if(maxVal>1){return[values[0]/255,values[1]/255,values[2]/255];}return[values[0],values[1],values[2]];}return defaultColor;}if(typeof color===\"string\"){const cleanColor=color.trim();if(cleanColor.startsWith(\"#\")){const hex=cleanColor.length===4?\"#\"+cleanColor[1]+cleanColor[1]+cleanColor[2]+cleanColor[2]+cleanColor[3]+cleanColor[3]:cleanColor;const result=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);if(result){return[parseInt(result[1],16)/255,parseInt(result[2],16)/255,parseInt(result[3],16)/255];}}const rgbMatch=cleanColor.match(/rgba?\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)/i);if(rgbMatch){return[parseInt(rgbMatch[1])/255,parseInt(rgbMatch[2])/255,parseInt(rgbMatch[3])/255];}}return defaultColor;}export default function FloatingAnimation(props){const{colorStops=[\"#FF2638\",\"#7cff67\",\"#5227FF\"],amplitude=1,blend=.5,speed=1,height=\"100%\"}=props;const propsRef=useRef(props);propsRef.current=props;const ctnDom=useRef(null);useEffect(()=>{const ctn=ctnDom.current;if(!ctn)return;const renderer=new Renderer({alpha:true,premultipliedAlpha:true,antialias:true});const gl=renderer.gl;gl.clearColor(0,0,0,0);gl.enable(gl.BLEND);gl.blendFunc(gl.ONE,gl.ONE_MINUS_SRC_ALPHA);gl.canvas.style.width=\"100%\";gl.canvas.style.height=\"100%\";gl.canvas.style.display=\"block\";gl.canvas.style.backgroundColor=\"transparent\";// Declare variables here so they can be used in resize()\nlet program;let mesh;const geometry=new Triangle(gl);if(geometry.attributes.uv){delete geometry.attributes.uv;}const defaultColors=[[1,.15,.22],[.49,1,.4],[.32,.15,1]];const colorStopsArray=(colorStops||[]).map((color,index)=>{return parseColor(color,defaultColors[index]||[1,0,0]);});program=new Program(gl,{vertex:VERT,fragment:FRAG,uniforms:{uTime:{value:0},uAmplitude:{value:amplitude},uColorStops:{value:colorStopsArray},uResolution:{value:[ctn.offsetWidth,ctn.offsetHeight]},uBlend:{value:blend}}});mesh=new Mesh(gl,{geometry,program});ctn.appendChild(gl.canvas);// 🔴 FIX: Define resize function AFTER mesh is created\nfunction resize(){if(!ctn)return;const width=ctn.offsetWidth;const height=ctn.offsetHeight;// 1. Resize the canvas buffer (this clears the canvas!)\nrenderer.setSize(width,height);// 2. Update uniforms\nif(program){program.uniforms.uResolution.value=[width,height];// Recalculate amplitude scaling instantly\nconst baseHeight=800;const currentHeight=height||1;const scaleFactor=baseHeight/currentHeight;const baseAmp=propsRef.current.amplitude??amplitude;program.uniforms.uAmplitude.value=baseAmp*scaleFactor;}// 3. 🔴 FORCE RENDER IMMEDIATELY\n// This fills the canvas with pixels before the browser can show the black frame\nrenderer.render({scene:mesh});}const resizeObserver=new ResizeObserver(()=>{resize();});resizeObserver.observe(ctn);// Initial resize\nresize();let animateId=0;const update=t=>{animateId=requestAnimationFrame(update);const currentProps=propsRef.current;const time=t*.001*(currentProps.speed??speed);if(program&&ctn){program.uniforms.uTime.value=time;// Keep amplitude logic in the loop too for smooth property updates\nconst baseHeight=800;const currentHeight=ctn.offsetHeight||1;const scaleFactor=baseHeight/currentHeight;const baseAmp=currentProps.amplitude??amplitude;program.uniforms.uAmplitude.value=baseAmp*scaleFactor;program.uniforms.uBlend.value=currentProps.blend??blend;const stops=currentProps.colorStops||colorStops;if(stops&&Array.isArray(stops)&&stops.length>=3){const newColorStops=stops.map((color,index)=>{return parseColor(color,defaultColors[index]||[1,0,0]);});program.uniforms.uColorStops.value=newColorStops;}renderer.render({scene:mesh});}};animateId=requestAnimationFrame(update);return()=>{cancelAnimationFrame(animateId);resizeObserver.disconnect();if(ctn&&gl.canvas.parentNode===ctn){ctn.removeChild(gl.canvas);}gl.getExtension(\"WEBGL_lose_context\")?.loseContext();};},[]);return /*#__PURE__*/_jsx(\"div\",{ref:ctnDom,style:{width:\"100%\",height,position:\"relative\",overflow:\"hidden\",background:\"transparent\"}});}addPropertyControls(FloatingAnimation,{colorStops:{type:ControlType.Array,title:\"Color Stops\",control:{type:ControlType.Color},defaultValue:[\"#FF2638\",\"#7cff67\",\"#5227FF\"],maxCount:3},amplitude:{type:ControlType.Number,title:\"Wave Height\",defaultValue:1,min:0,max:5,step:.1,displayStepper:true},blend:{type:ControlType.Number,title:\"Softness\",defaultValue:.5,min:0,max:1,step:.05,displayStepper:true},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:1,min:0,max:5,step:.1,displayStepper:true},height:{type:ControlType.String,title:\"Animation height\",defaultValue:\"100%\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FloatingAnimation\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Floating_Animation.map"],"mappings":"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"}