{"version":3,"file":"Perspective_Space.D5nXl6o3.mjs","names":["useRef","useState","useMemo"],"sources":["https:/framerusercontent.com/modules/gzeR646IIxKXzF6gOYZ9/8tkjSohUzaYaBctCDcVb/Perspective_Space.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useRef,useEffect,useLayoutEffect,useMemo,useState}from\"react\";// --- Static Noise Texture ---\nconst getStaticNoiseTexture=(()=>{let _cache=null;return()=>{if(_cache)return _cache;if(typeof document===\"undefined\")return\"\";const size=128;const canvas=document.createElement(\"canvas\");canvas.width=size;canvas.height=size;const ctx=canvas.getContext(\"2d\");if(!ctx)return\"\";const imgData=ctx.createImageData(size,size);const d=imgData.data;for(let i=0;i<d.length;i+=4){const v=Math.random()*255;d[i]=d[i+1]=d[i+2]=v;d[i+3]=v*.15;}ctx.putImageData(imgData,0,0);_cache=canvas.toDataURL(\"image/png\");return _cache;};})();export default function PanoramaWorld({image={},edit={},frame={},lens={},vignette={},noise={},interaction={},width=\"100%\",height=\"100%\",style}){// --- Image ---\nconst{imageUrl,imagePosition=\"center center\"}=image;// --- Edit ---\nconst{dehazeFade=0,sharpness=0,brightness=1,saturation=1,contrast=1,clarity=0,highlights=0,shadows=0,warmth=0}=edit;// --- Frame ---\nconst{borderThickness=12,frameColor=\"#050505\",symmetricBend=.3}=frame;// --- Lens ---\nconst{fov=60}=lens;// --- Vignette ---\nconst{vignetteEnabled=true,vignetteIntensity=.8,vignetteColor=\"#000000\"}=vignette;// --- Noise ---\nconst{scanlineIntensity=.08,noiseIntensity=.15,flickerIntensity=.03}=noise;// --- Interaction ---\nconst{sensitivity=.08,smoothing=.02}=interaction;const containerRef=useRef(null);const innerRef=useRef(null);const[dims,setDims]=useState({w:0,h:0,ready:false});const[isVisible,setIsVisible]=useState(false);const mouse=useRef({x:.5,y:.5});const current=useRef({x:.5,y:.5});const rafRef=useRef(0);const uid=useRef(`pano-${Math.random().toString(36).slice(2,8)}`).current;const sharpFilterId=`${uid}-sharp`;const imageScale=.5+fov/120*2;const noiseTexture=useMemo(()=>getStaticNoiseTexture(),[]);// 1. Lazy loading — only render the image once in viewport\nuseEffect(()=>{const el=containerRef.current;if(!el)return;if(!(\"IntersectionObserver\"in window)){setIsVisible(true);return;}const observer=new IntersectionObserver(([entry])=>{if(entry.isIntersecting){setIsVisible(true);observer.disconnect();}},{threshold:.01});observer.observe(el);return()=>observer.disconnect();},[]);// 2. Resize observer — pixel dims needed for SVG bezel path\nuseLayoutEffect(()=>{const el=containerRef.current;if(!el)return;const rect=el.getBoundingClientRect();setDims({w:rect.width,h:rect.height,ready:true});const ro=new ResizeObserver(entries=>{setDims({w:entries[0].contentRect.width,h:entries[0].contentRect.height,ready:true});});ro.observe(el);return()=>ro.disconnect();},[]);// 3. Mouse + touch tracking & RAF loop\nuseEffect(()=>{const onMouseMove=e=>{mouse.current={x:e.clientX/window.innerWidth,y:e.clientY/window.innerHeight};};const onTouchMove=e=>{const t=e.touches[0];mouse.current={x:t.clientX/window.innerWidth,y:t.clientY/window.innerHeight};};const onTouchStart=e=>{const t=e.touches[0];mouse.current={x:t.clientX/window.innerWidth,y:t.clientY/window.innerHeight};};window.addEventListener(\"mousemove\",onMouseMove);window.addEventListener(\"touchmove\",onTouchMove,{passive:true});window.addEventListener(\"touchstart\",onTouchStart,{passive:true});const tick=()=>{const s=Math.min(Math.max(smoothing,.01),.5);current.current.x+=(mouse.current.x-current.current.x)*s;current.current.y+=(mouse.current.y-current.current.y)*s;const offsetX=(current.current.x-.5)*sensitivity*100;const offsetY=(current.current.y-.5)*sensitivity*100;if(innerRef.current){innerRef.current.style.transform=`scale(${imageScale}) translate(${-offsetX}%, ${-offsetY}%)`;}rafRef.current=requestAnimationFrame(tick);};rafRef.current=requestAnimationFrame(tick);return()=>{cancelAnimationFrame(rafRef.current);window.removeEventListener(\"mousemove\",onMouseMove);window.removeEventListener(\"touchmove\",onTouchMove);window.removeEventListener(\"touchstart\",onTouchStart);};},[sensitivity,smoothing,imageScale]);// --- BEZEL PATH ---\nconst b=borderThickness;const bend=Math.max(0,symmetricBend*80);const c=b+bend;const{w,h}=dims;const bezelPath=`\n        M 0 0 L ${w} 0 L ${w} ${h} L 0 ${h} Z\n        M ${c} ${c}\n        Q ${w/2} ${b} ${w-c} ${c}\n        Q ${w-b} ${h/2} ${w-c} ${h-c}\n        Q ${w/2} ${h-b} ${c} ${h-c}\n        Q ${b} ${h/2} ${c} ${c}\n        Z\n    `;// --- IMAGE EDIT FILTER ---\n// Sharpening via SVG unsharp mask kernel: [0,-s,-0, -s, 1+4s, -s, 0, -s, 0]\nconst sk=sharpness*.6;const sharpenKernel=`0 -${sk} 0 -${sk} ${(1+4*sk).toFixed(4)} -${sk} 0 -${sk} 0`;const filterParts=[];filterParts.push(`brightness(${brightness})`);filterParts.push(`contrast(${contrast})`);filterParts.push(`saturate(${saturation})`);if(clarity>0)filterParts.push(`contrast(${1+clarity*.18})`);if(dehazeFade>0){filterParts.push(`contrast(${1+dehazeFade*.4})`);filterParts.push(`brightness(${1-dehazeFade*.08})`);}if(sharpness>0)filterParts.push(`url(#${sharpFilterId})`);const imageCssFilter=filterParts.join(\" \");// Noise animation\nconst crtKeyframes=`\n        @keyframes crtFlicker {\n            0% { opacity: 1; } 5% { opacity: 0.95; } 10% { opacity: 1; }\n            15% { opacity: 0.98; } 50% { opacity: 1; } 55% { opacity: 0.96; }\n            100% { opacity: 1; }\n        }\n    `;return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{position:\"relative\",width,height,overflow:\"hidden\",background:\"transparent\",pointerEvents:\"none\",opacity:dims.ready?1:0,transition:\"opacity 0.1s ease-out\",...style},children:[/*#__PURE__*/_jsx(\"style\",{children:crtKeyframes}),sharpness>0&&/*#__PURE__*/_jsx(\"svg\",{style:{position:\"absolute\",width:0,height:0,pointerEvents:\"none\"},\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsx(\"filter\",{id:sharpFilterId,colorInterpolationFilters:\"sRGB\",children:/*#__PURE__*/_jsx(\"feConvolveMatrix\",{order:\"3\",kernelMatrix:sharpenKernel,preserveAlpha:\"true\"})})})}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",inset:borderThickness/2,perspective:\"900px\",overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(\"div\",{ref:innerRef,style:{position:\"absolute\",inset:\"-25%\",transformOrigin:\"50% 50%\",willChange:\"transform\",filter:imageCssFilter||undefined,opacity:imageUrl?1:0,...isVisible&&imageUrl?{backgroundImage:`url(\"${imageUrl}\")`,backgroundSize:\"cover\",backgroundPosition:imagePosition}:{}}}),dehazeFade<0&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:\"white\",opacity:Math.abs(dehazeFade)*.55,pointerEvents:\"none\"}}),warmth!==0&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:warmth>0?\"#FF9500\":\"#1E90FF\",opacity:Math.abs(warmth)*.28,mixBlendMode:\"soft-light\",pointerEvents:\"none\"}}),highlights!==0&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:highlights>0?\"white\":\"black\",opacity:Math.abs(highlights)*.2,mixBlendMode:highlights>0?\"screen\":\"multiply\",pointerEvents:\"none\"}}),shadows!==0&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:shadows>0?\"#888888\":\"black\",opacity:Math.abs(shadows)*.28,mixBlendMode:shadows>0?\"screen\":\"multiply\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",inset:\"-10%\",pointerEvents:\"none\",animation:flickerIntensity>0?`crtFlicker ${1/flickerIntensity}s infinite step-end`:\"none\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,opacity:noiseIntensity,backgroundImage:`url(${noiseTexture})`,backgroundSize:\"128px\",mixBlendMode:\"overlay\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,opacity:scanlineIntensity,background:\"repeating-linear-gradient(to bottom, transparent 0px, transparent 2px, rgba(0,0,0,0.8) 2px, rgba(0,0,0,0.8) 4px)\"}})]})]}),vignetteEnabled&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:borderThickness/2,pointerEvents:\"none\",zIndex:10},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,opacity:vignetteIntensity,background:`radial-gradient(ellipse at 50% 50%, transparent 30%, ${vignetteColor} 100%)`}})}),/*#__PURE__*/_jsx(\"svg\",{style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",zIndex:20,pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(\"path\",{d:bezelPath,fill:frameColor,fillRule:\"evenodd\"})})]});}addPropertyControls(PanoramaWorld,{image:{type:ControlType.Object,title:\"Image\",controls:{imageUrl:{type:ControlType.Image,title:\"Photo\"},imagePosition:{type:ControlType.Enum,title:\"Position\",options:[\"center center\",\"center top\",\"left top\",\"right top\",\"center bottom\",\"left bottom\",\"right bottom\"],optionTitles:[\"Center\",\"Top Center\",\"Top Left\",\"Top Right\",\"Bottom Center\",\"Bottom Left\",\"Bottom Right\"],defaultValue:\"center center\"}}},edit:{type:ControlType.Object,title:\"Image Editing\",controls:{dehazeFade:{type:ControlType.Number,title:\"Dehaze / Fade\",description:\"− fade  \\xb7  + dehaze\",min:-1,max:1,step:.01,defaultValue:0},sharpness:{type:ControlType.Number,title:\"Sharpening\",min:0,max:1,step:.01,defaultValue:0},brightness:{type:ControlType.Number,title:\"Brightness\",min:.5,max:1.5,step:.01,defaultValue:1},saturation:{type:ControlType.Number,title:\"Saturation\",min:0,max:2,step:.01,defaultValue:1},contrast:{type:ControlType.Number,title:\"Contrast\",min:.5,max:1.5,step:.01,defaultValue:1},clarity:{type:ControlType.Number,title:\"Clarity\",description:\"Midtone contrast\",min:0,max:1,step:.01,defaultValue:0},highlights:{type:ControlType.Number,title:\"Highlights\",min:-1,max:1,step:.01,defaultValue:0},shadows:{type:ControlType.Number,title:\"Shadows\",min:-1,max:1,step:.01,defaultValue:0},warmth:{type:ControlType.Number,title:\"Warmth\",description:\"− cool  \\xb7  + warm\",min:-1,max:1,step:.01,defaultValue:0}}},frame:{type:ControlType.Object,title:\"Frame\",controls:{borderThickness:{type:ControlType.Number,title:\"Width\",min:0,max:200,step:1,defaultValue:12},frameColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"#050505\"},symmetricBend:{type:ControlType.Number,title:\"Symmetric Bend\",description:\"B\\xe9zier curve of the frame edges\",min:0,max:1.5,step:.1,defaultValue:.3}}},lens:{type:ControlType.Object,title:\"Lens\",controls:{fov:{type:ControlType.Number,title:\"Field of View\",min:0,max:120,step:1,defaultValue:60}}},vignette:{type:ControlType.Object,title:\"Vignette\",controls:{vignetteEnabled:{type:ControlType.Boolean,title:\"Enabled\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},vignetteIntensity:{type:ControlType.Number,title:\"Intensity\",min:0,max:1,step:.01,defaultValue:.8,hidden(props){return!props.vignetteEnabled;}},vignetteColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"#000000\",hidden(props){return!props.vignetteEnabled;}}}},noise:{type:ControlType.Object,title:\"Noise & CRT\",controls:{scanlineIntensity:{type:ControlType.Number,title:\"Scanlines\",min:0,max:.3,step:.01,defaultValue:.08},noiseIntensity:{type:ControlType.Number,title:\"Static Grain\",min:0,max:.5,step:.01,defaultValue:.15},flickerIntensity:{type:ControlType.Number,title:\"Flicker\",min:0,max:.2,step:.01,defaultValue:.03}}},interaction:{type:ControlType.Object,title:\"Interaction\",controls:{sensitivity:{type:ControlType.Number,title:\"Sensitivity\",min:0,max:1,step:.01,defaultValue:.08},smoothing:{type:ControlType.Number,title:\"Smoothing\",description:\"Lower = floatier\",min:.01,max:.3,step:.01,defaultValue:.02}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PanoramaWorld\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Perspective_Space.map"],"mappings":"sNACwgB,SAAwB,EAAc,CAAC,QAAM,CAAC,EAAE,OAAK,CAAC,EAAE,QAAM,CAAC,EAAE,OAAK,CAAC,EAAE,WAAS,CAAC,EAAE,QAAM,CAAC,EAAE,cAAY,CAAC,EAAE,QAAM,OAAO,SAAO,OAAO,UAAO,CACvpB,GAAK,CAAC,WAAS,iBAAc,iBAAiB,EACzC,CAAC,aAAW,EAAE,YAAU,EAAE,aAAW,EAAE,cAAW,EAAE,YAAS,EAAE,UAAQ,EAAE,aAAW,EAAE,UAAQ,EAAE,SAAO,GAAG,EAC1G,CAAC,kBAAgB,GAAG,aAAW,UAAU,gBAAc,IAAI,EAC3D,CAAC,MAAI,IAAI,EACT,CAAC,mBAAgB,GAAK,qBAAkB,GAAG,gBAAc,WAAW,EACpE,CAAC,oBAAkB,IAAI,iBAAe,IAAI,mBAAiB,KAAK,EAChE,CAAC,cAAY,IAAI,YAAU,KAAK,EAAkB,EAAaA,EAAO,IAAI,EAAQ,EAASA,EAAO,IAAI,EAAO,CAAC,EAAK,GAASC,EAAS,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAK,CAAC,EAAO,CAAC,GAAU,GAAcA,EAAS,EAAK,EAAQ,EAAMD,EAAO,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAQ,EAAQA,EAAO,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAQ,EAAOA,EAAO,CAAC,EAAkF,EAAc,GAApFA,EAAO,QAAQ,KAAK,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,QAAmC,QAAc,EAAW,GAAG,EAAI,IAAI,EAAQ,EAAaE,MAAY,EAAsB,EAAE,CAAC,CAAC,EAC5e,MAAc,CAAC,IAAM,EAAG,EAAa,QAAQ,GAAG,CAAC,EAAG,OAAO,GAAG,EAAE,yBAAyB,GAAQ,CAAC,EAAa,EAAI,EAAE,MAAO,CAAC,IAAM,EAAS,IAAI,sBAAsB,CAAC,KAAS,CAAI,EAAM,iBAAgB,EAAa,EAAI,EAAE,EAAS,WAAW,EAAG,EAAE,CAAC,UAAU,GAAG,CAAC,EAAuB,OAArB,EAAS,QAAQ,CAAE,MAAY,EAAS,WAAW,CAAE,EAAE,CAAC,CAAC,EAChU,MAAoB,CAAC,IAAM,EAAG,EAAa,QAAQ,GAAG,CAAC,EAAG,OAAO,IAAM,EAAK,EAAG,sBAAsB,EAAE,EAAQ,CAAC,EAAE,EAAK,MAAM,EAAE,EAAK,OAAO,MAAM,EAAI,CAAC,EAAE,IAAM,EAAG,IAAI,eAAe,GAAS,CAAC,EAAQ,CAAC,EAAE,EAAQ,EAAE,CAAC,YAAY,MAAM,EAAE,EAAQ,EAAE,CAAC,YAAY,OAAO,MAAM,EAAI,CAAC,CAAE,CAAC,EAAiB,OAAf,EAAG,QAAQ,CAAE,MAAY,EAAG,WAAW,CAAE,EAAE,CAAC,CAAC,EACnU,MAAc,CAAC,IAAM,EAAY,GAAG,CAAC,EAAM,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAO,WAAW,EAAE,EAAE,QAAQ,EAAO,WAAW,CAAE,EAAQ,EAAY,GAAG,CAAC,IAAM,EAAE,EAAE,QAAQ,GAAG,EAAM,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAO,WAAW,EAAE,EAAE,QAAQ,EAAO,WAAW,CAAE,EAAQ,EAAa,GAAG,CAAC,IAAM,EAAE,EAAE,QAAQ,GAAG,EAAM,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAO,WAAW,EAAE,EAAE,QAAQ,EAAO,WAAW,CAAE,EAAE,EAAO,iBAAiB,YAAY,CAAW,EAAE,EAAO,iBAAiB,YAAY,EAAY,CAAC,QAAQ,EAAI,CAAC,EAAE,EAAO,iBAAiB,aAAa,EAAa,CAAC,QAAQ,EAAI,CAAC,EAAE,IAAM,MAAS,CAAC,IAAM,EAAE,KAAK,IAAI,KAAK,IAAI,EAAU,GAAG,EAAE,EAAE,EAAE,EAAQ,QAAQ,IAAI,EAAM,QAAQ,EAAE,EAAQ,QAAQ,GAAG,EAAE,EAAQ,QAAQ,IAAI,EAAM,QAAQ,EAAE,EAAQ,QAAQ,GAAG,EAAE,IAAM,GAAS,EAAQ,QAAQ,EAAE,IAAI,EAAY,IAAU,GAAS,EAAQ,QAAQ,EAAE,IAAI,EAAY,IAAO,EAAS,UAAS,EAAS,QAAQ,MAAM,UAAU,SAAS,EAAW,cAAc,CAAC,EAAQ,KAAK,CAAC,EAAQ,KAAK,EAAO,QAAQ,sBAAsB,CAAI,CAAE,EAA6C,MAA3C,GAAO,QAAQ,sBAAsB,CAAI,MAAY,CAAC,qBAAqB,EAAO,OAAO,EAAE,EAAO,oBAAoB,YAAY,CAAW,EAAE,EAAO,oBAAoB,YAAY,CAAW,EAAE,EAAO,oBAAoB,aAAa,CAAY,CAAE,CAAE,EAAE,CAAC,EAAY,EAAU,CAAU,CAAC,EACrvC,IAAM,EAAE,EAA8D,EAAE,EAArC,KAAK,IAAI,EAAE,EAAc,EAAiB,EAAO,CAAC,IAAE,KAAG,EAAW,EAAU;kBAC7F,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE;YAC/B,EAAE,GAAG,EAAE;YACP,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE;YACrB,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE;YACzB,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACvB,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;;MAIzB,EAAG,EAAU,GAAS,GAAc,MAAM,EAAG,MAAM,EAAG,IAAI,EAAE,EAAE,EAAA,CAAI,QAAQ,CAAC,EAAE,IAAI,EAAG,MAAM,EAAG,IAAU,EAAY,CAAC,EAAE,EAAY,KAAK,cAAc,EAAW,EAAE,EAAE,EAAY,KAAK,YAAY,GAAS,EAAE,EAAE,EAAY,KAAK,YAAY,GAAW,EAAE,EAAK,EAAQ,GAAE,EAAY,KAAK,YAAY,EAAE,EAAQ,IAAI,EAAE,EAAK,EAAW,IAAG,EAAY,KAAK,YAAY,EAAE,EAAW,GAAG,EAAE,EAAE,EAAY,KAAK,cAAc,EAAE,EAAW,IAAI,EAAE,GAAM,EAAU,GAAE,EAAY,KAAK,QAAQ,EAAc,EAAE,EAAE,IAAM,GAAe,EAAY,KAAK,GAAG,EAOhhB,OAAoB,EAAM,MAAM,CAAC,IAAI,EAAa,MAAM,CAAC,SAAS,WAAW,QAAM,SAAO,SAAS,SAAS,WAAW,cAAc,cAAc,OAAO,QAAQ,KAAK,MAAU,WAAW,wBAAwB,GAAG,EAAK,EAAE,SAAS,CAAc,EAAK,QAAQ,CAAC,SAAS;;;;;;KAAY,CAAC,EAAE,EAAU,GAAgB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,OAAO,EAAE,cAAc,MAAM,EAAE,cAAc,OAAO,SAAsB,EAAK,OAAO,CAAC,SAAsB,EAAK,SAAS,CAAC,GAAG,EAAc,0BAA0B,OAAO,SAAsB,EAAK,mBAAmB,CAAC,MAAM,IAAI,aAAa,GAAc,cAAc,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAM,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAgB,EAAE,YAAY,QAAQ,SAAS,QAAQ,EAAE,SAAS,CAAc,EAAK,MAAM,CAAC,IAAI,EAAS,MAAM,CAAC,SAAS,WAAW,MAAM,OAAO,gBAAgB,UAAU,WAAW,YAAY,OAAO,IAAgB,IAAA,GAAU,QAAQ,KAAa,GAAG,IAAW,EAAS,CAAC,gBAAgB,QAAQ,EAAS,IAAI,eAAe,QAAQ,mBAAmB,EAAa,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAW,GAAgB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,WAAW,QAAQ,QAAQ,KAAK,IAAI,CAAU,EAAE,IAAI,cAAc,MAAM,CAAC,CAAC,EAAE,IAAS,GAAgB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,WAAW,EAAO,EAAE,UAAU,UAAU,QAAQ,KAAK,IAAI,CAAM,EAAE,IAAI,aAAa,aAAa,cAAc,MAAM,CAAC,CAAC,EAAE,IAAa,GAAgB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,WAAW,EAAW,EAAE,QAAQ,QAAQ,QAAQ,KAAK,IAAI,CAAU,EAAE,GAAG,aAAa,EAAW,EAAE,SAAS,WAAW,cAAc,MAAM,CAAC,CAAC,EAAE,IAAU,GAAgB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,WAAW,EAAQ,EAAE,UAAU,QAAQ,QAAQ,KAAK,IAAI,CAAO,EAAE,IAAI,aAAa,EAAQ,EAAE,SAAS,WAAW,cAAc,MAAM,CAAC,CAAC,EAAe,EAAM,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,OAAO,cAAc,OAAO,UAAU,EAAiB,EAAE,cAAc,EAAE,EAAiB,qBAAqB,MAAM,EAAE,SAAS,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,QAAQ,EAAe,gBAAgB,OAAO,EAAa,GAAG,eAAe,QAAQ,aAAa,SAAS,CAAC,CAAC,EAAe,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,QAAQ,EAAkB,WAAW,kHAAkH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAA8B,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAgB,EAAE,cAAc,OAAO,OAAO,EAAE,EAAE,SAAsB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,QAAQ,GAAkB,WAAW,wDAAwD,EAAc,OAAO,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,MAAM,OAAO,OAAO,OAAO,OAAO,GAAG,cAAc,MAAM,EAAE,SAAsB,EAAK,OAAO,CAAC,EAAE,EAAU,KAAK,EAAW,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,uBA7B90F,IAAoD,IAAqE,EAC3K,OAA2B,CAAC,IAAI,EAAO,KAAK,UAAU,CAAC,GAAG,EAAO,OAAO,EAAO,GAAG,OAAO,SAAW,IAAY,MAAM,GAAG,IAAqB,EAAO,SAAS,cAAc,QAAQ,EAAE,EAAO,MAAM,IAAK,EAAO,OAAO,IAAK,IAAM,EAAI,EAAO,WAAW,IAAI,EAAE,GAAG,CAAC,EAAI,MAAM,GAAG,IAAM,EAAQ,EAAI,gBAAgB,IAAK,GAAI,EAAQ,EAAE,EAAQ,KAAK,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,GAAG,EAAE,CAAC,IAAM,EAAE,KAAK,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAI,CAAoE,OAAnE,EAAI,aAAa,EAAQ,EAAE,CAAC,EAAE,EAAO,EAAO,UAAU,WAAW,EAAS,CAAO,CAAE,EAAA,CAAG,EA4Bi4E,EAAoB,EAAc,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,SAAS,CAAC,SAAS,CAAC,KAAK,EAAY,MAAM,MAAM,OAAO,EAAE,cAAc,CAAC,KAAK,EAAY,KAAK,MAAM,WAAW,QAAQ,CAAC,gBAAgB,aAAa,WAAW,YAAY,gBAAgB,cAAc,cAAc,EAAE,aAAa,CAAC,SAAS,aAAa,WAAW,YAAY,gBAAgB,cAAc,cAAc,EAAE,aAAa,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,SAAS,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,YAAY,sBAAyB,IAAI,GAAG,IAAI,EAAE,KAAK,IAAI,aAAa,CAAC,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,aAAa,CAAC,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,IAAI,GAAG,IAAI,IAAI,KAAK,IAAI,aAAa,CAAC,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,aAAa,CAAC,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,IAAI,GAAG,IAAI,IAAI,KAAK,IAAI,aAAa,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,YAAY,mBAAmB,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,aAAa,CAAC,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,IAAI,GAAG,IAAI,EAAE,KAAK,IAAI,aAAa,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,IAAI,GAAG,IAAI,EAAE,KAAK,IAAI,aAAa,CAAC,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,YAAY,oBAAuB,IAAI,GAAG,IAAI,EAAE,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,aAAa,EAAE,EAAE,WAAW,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,SAAS,EAAE,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,YAAY,kCAAqC,IAAI,EAAE,IAAI,IAAI,KAAK,GAAG,aAAa,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAY,QAAQ,MAAM,UAAU,aAAa,GAAK,aAAa,KAAK,cAAc,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,aAAa,GAAG,OAAO,EAAM,CAAC,MAAM,CAAC,EAAM,eAAgB,CAAC,EAAE,cAAc,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,UAAU,OAAO,EAAM,CAAC,MAAM,CAAC,EAAM,eAAgB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,aAAa,GAAG,EAAE,eAAe,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,aAAa,GAAG,EAAE,iBAAiB,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,SAAS,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,aAAa,GAAG,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,YAAY,mBAAmB,IAAI,IAAI,IAAI,GAAG,KAAK,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC"}