{"version":3,"file":"StagnantCloud.CVTESDeF.mjs","names":["THREE.WebGLRenderer","THREE.Scene","THREE.PerspectiveCamera","THREE.Group","THREE.PlaneGeometry","THREE.DataTexture","THREE.RGBAFormat","THREE.TextureLoader","THREE.LinearFilter","THREE.Color","THREE.ShaderMaterial","THREE.Vector2","THREE.NormalBlending","THREE.DoubleSide","THREE.Mesh","useRef","p"],"sources":["https:/framerusercontent.com/modules/4UvAqSYc4jd0DbwU0Wrd/h2b83glEGO6JT0gMpJya/StagnantCloud.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import*as THREE from\"three\";import{addPropertyControls,ControlType}from\"framer\";// ─── Textures ─────────────────────────────────────────────────────────────────\nconst DEFAULT_CLOUD_URLS=[\"https://media.jijo.fyi/assets/clouds/cloud_PNG112270.webp\",\"https://media.jijo.fyi/assets/clouds/cloud_PNG6.webp\"];const IMG_ASPECTS=[2,1.2];// ─── Vertex shader ─────────────────────────────────────────────────────────────\nconst VERT=/* glsl */`\nuniform vec2  uSize;\nuniform float uRotation;\nvarying vec2  vUv;\nvarying float vScreenY;   \n\nvoid main() {\n    vUv = uv;\n    vec3 right = vec3(viewMatrix[0][0], viewMatrix[1][0], viewMatrix[2][0]);\n    vec3 up    = vec3(viewMatrix[0][1], viewMatrix[1][1], viewMatrix[2][1]);\n    float c = cos(uRotation); float s = sin(uRotation);\n    vec2  lp = position.xy * uSize;\n    vec2  rp = vec2(c*lp.x - s*lp.y, s*lp.x + c*lp.y);\n    vec3  wp = (modelMatrix * vec4(0.0,0.0,0.0,1.0)).xyz + right*rp.x + up*rp.y;\n    gl_Position = projectionMatrix * viewMatrix * vec4(wp, 1.0);\n    vScreenY = gl_Position.y / gl_Position.w;\n}\n`;// ─── Fragment shader ────────────────────────────────────────────────────────────\nconst FRAG=/* glsl */`\nprecision mediump float;\nuniform sampler2D uTex;\nuniform float     uAlpha;\nuniform float     uBrightness;\nuniform float     uContrast;\nuniform vec3      uTint;\nuniform float     uTintStrength;\nuniform float     uEdgePower;   \nvarying vec2  vUv;\nvarying float vScreenY;\n\nvoid main() {\n    float rawA = texture2D(uTex, vUv).a;\n    float softA = pow(rawA, uEdgePower);\n    float a = softA * uAlpha;\n    if (a < 0.004) discard;\n    float lum = clamp(uBrightness, 0.0, 1.2);\n    float screenY01 = clamp((vScreenY + 1.0) * 0.5, 0.0, 1.0);\n    float tintBlend = (1.0 - smoothstep(0.08, 0.72, screenY01)) * uTintStrength;\n    vec3 col = mix(vec3(lum), uTint * lum, tintBlend);\n    gl_FragColor = vec4(col, a);\n}\n`;// ─── Convective cloud cells ────────────────────────────────────────────────────\nconst CELLS=[{cx:-15,cy:8,cz:-62,rx:22,ry:20,rz:24,phase:0,n:12},{cx:-12,cy:17,cz:-57,rx:16,ry:13,rz:18,phase:Math.PI*.62,n:8},{cx:11,cy:5,cz:-52,rx:19,ry:15,rz:21,phase:Math.PI*1.28,n:9},{cx:-24,cy:4,cz:-67,rx:17,ry:13,rz:19,phase:Math.PI*.3,n:7},{cx:16,cy:11,cz:-47,rx:13,ry:11,rz:14,phase:Math.PI*1.8,n:6},{cx:4,cy:10,cz:-55,rx:15,ry:16,rz:18,phase:Math.PI*.95,n:8},{cx:-5,cy:2,cz:-65,rx:36,ry:8,rz:24,phase:Math.PI*.78,n:12}];const PARALLAX_FACTORS=[.12,.34,.6,.86,1.12];function depthGroup(z){if(z<-68)return 0;if(z<-56)return 1;if(z<-44)return 2;if(z<-30)return 3;return 4;}const CANVAS_SCALE=2;function qualitySettings(q){const t=Math.max(0,Math.min(100,q))/100;return{pixelRatio:.5+t*(Math.min(window.devicePixelRatio,2)-.5),frameSkip:t<.3?3:t<.6?2:1,densityMul:.35+t*.65,maxLoads:t<.5?1:t<.8?2:4};}// ─── Scene ────────────────────────────────────────────────────────────────────\nfunction initScene(mount,live,spawnDensity,spawnCloudSize,spawnSpread,cloudUrls){const W=mount.clientWidth||800;const H=mount.clientHeight||500;const CW=Math.round(W*CANVAS_SCALE);const CH=Math.round(H*CANVAS_SCALE);const qs=qualitySettings(live.current.quality);const renderer=new THREE.WebGLRenderer({antialias:false,alpha:true,powerPreference:\"high-performance\"});renderer.setSize(CW,CH);renderer.setPixelRatio(qs.pixelRatio);renderer.setClearColor(0,0);const canvas=renderer.domElement;canvas.style.position=\"absolute\";canvas.style.left=`-${(CW-W)/2}px`;canvas.style.top=`-${(CH-H)/2}px`;mount.appendChild(canvas);const scene=new THREE.Scene;const camera=new THREE.PerspectiveCamera(62,CW/CH,.5,600);const masterGroup=new THREE.Group;scene.add(masterGroup);const layerGroups=PARALLAX_FACTORS.map(()=>{const g=new THREE.Group;masterGroup.add(g);return g;});let lastAngle=-999,lastZoom=-999;const updateCamera=()=>{const{viewAngle:va,zoom:zm}=live.current;if(va===lastAngle&&zm===lastZoom)return;lastAngle=va;lastZoom=zm;const t=THREE.MathUtils.clamp(va,0,1);camera.position.set(0,THREE.MathUtils.lerp(-4,8,t),22);camera.lookAt(-5,THREE.MathUtils.lerp(10,5,t),-60);camera.fov=62/Math.max(.1,zm);camera.updateProjectionMatrix();};updateCamera();const planeGeo=new THREE.PlaneGeometry(1,1);const BLANK=new THREE.DataTexture(new Uint8Array([255,255,255,0]),1,1,THREE.RGBAFormat);BLANK.needsUpdate=true;const safeUrls=cloudUrls.length>0?cloudUrls:DEFAULT_CLOUD_URLS;const texCache=new Array(safeUrls.length).fill(null);const texQueued=new Array(safeUrls.length).fill(false);const texLoading=new Array(safeUrls.length).fill(false);const texQueue=[];const loader=new THREE.TextureLoader;let inFlight=0;const pump=()=>{while(inFlight<qs.maxLoads&&texQueue.length>0){const idx=texQueue.shift();if(texCache[idx]||texLoading[idx])continue;texLoading[idx]=true;inFlight++;// Apply crossOrigin directly for WebGL textures if fetching from external sources\nloader.setCrossOrigin(\"anonymous\");loader.load(safeUrls[idx],tex=>{tex.colorSpace=THREE.SRGBColorSpace;tex.minFilter=tex.magFilter=THREE.LinearFilter;tex.generateMipmaps=false;texCache[idx]=tex;texLoading[idx]=false;inFlight--;pump();},undefined,()=>{texLoading[idx]=false;texQueued[idx]=false;inFlight--;pump();});}};const reqTex=i=>{if(texCache[i]||texLoading[i]||texQueued[i])return;texQueued[i]=true;texQueue.push(i);pump();};for(let i=0;i<safeUrls.length;i++){reqTex(i);}const sharedTint=new THREE.Color(live.current.tintColor);let lastTintStr=live.current.tintColor;let lastTintStr2=live.current.tintStrength;const templateMat=new THREE.ShaderMaterial({uniforms:{uTex:{value:BLANK},uAlpha:{value:0},uBrightness:{value:1},uContrast:{value:1},uRotation:{value:0},uSize:{value:new THREE.Vector2(1,1)},uTint:{value:sharedTint},uTintStrength:{value:0},uEdgePower:{value:1.6}},vertexShader:VERT,fragmentShader:FRAG,transparent:true,depthWrite:false,blending:THREE.NormalBlending,side:THREE.DoubleSide});const sprites=[];const CX_CENTER=-8;const CZ_CENTER=-68;for(let ci=0;ci<CELLS.length;ci++){const cell=CELLS[ci];const scaledCX=CX_CENTER+(cell.cx-CX_CENTER)*spawnSpread;const scaledCZ=CZ_CENTER+(cell.cz-CZ_CENTER)*spawnSpread;const spreadRX=cell.rx*(.7+spawnSpread*.3);const spreadRY=cell.ry;const spreadRZ=cell.rz*(.7+spawnSpread*.3);const count=Math.max(2,Math.round(cell.n*spawnDensity*qs.densityMul));for(let i=0;i<count;i++){const texIdx=i%safeUrls.length;reqTex(texIdx);const theta=Math.random()*Math.PI*2;const phi=Math.acos(2*Math.random()-1);const r=Math.cbrt(Math.random());const bx=scaledCX+r*spreadRX*Math.sin(phi)*Math.cos(theta);const by=cell.cy+r*spreadRY*Math.cos(phi);const bz=scaledCZ+r*spreadRZ*Math.sin(phi)*Math.sin(theta);const distFactor=r;const sizeMultiplier=THREE.MathUtils.lerp(1.05,.58,distFactor*distFactor);const aspect=texIdx<IMG_ASPECTS.length?IMG_ASPECTS[texIdx]:1.5;const bW=cell.rx*spawnCloudSize*sizeMultiplier*(.65+Math.random()*.7);const bH=bW/aspect*(.65+Math.random()*.5);const sv=new THREE.Vector2(bW,bH);const mat=templateMat.clone();mat.uniforms={uTex:{value:texCache[texIdx]??BLANK},uAlpha:{value:0},uBrightness:{value:live.current.cloudBrightness},uContrast:{value:live.current.cloudContrast},uRotation:{value:(Math.random()-.5)*.22},uSize:{value:sv},uTint:{value:sharedTint},uTintStrength:{value:live.current.tintStrength},uEdgePower:{value:live.current.edgeSoftness}};const mesh=new THREE.Mesh(planeGeo,mat);mesh.position.set(bx,by,bz);mesh.frustumCulled=false;const pg=depthGroup(bz);layerGroups[Math.min(pg,layerGroups.length-1)].add(mesh);sprites.push({mesh,mat,sizeVec:sv,texIdx,baseX:bx,baseY:by,baseW:bW,baseH:bH,cellBasePhase:cell.phase,phaseJitter:(Math.random()-.5)*.24,driftAmpX:.5+Math.random()*.7,driftAmpY:.25+Math.random()*.35,driftFX:.016+Math.random()*.018,driftFY:.013+Math.random()*.015,driftPX:Math.random()*Math.PI*2,driftPY:Math.random()*Math.PI*2,fadeIn:0});}}const mouse={x:0,y:0};const mTarget={x:0,y:0};const onMM=e=>{const r=mount.getBoundingClientRect();mTarget.x=((e.clientX-r.left)/r.width-.5)*2;mTarget.y=((e.clientY-r.top)/r.height-.5)*2;};const onTM=e=>{if(!e.touches.length)return;const t=e.touches[0],r=mount.getBoundingClientRect();mTarget.x=((t.clientX-r.left)/r.width-.5)*2;mTarget.y=((t.clientY-r.top)/r.height-.5)*2;};mount.addEventListener(\"mousemove\",onMM);mount.addEventListener(\"touchmove\",onTM,{passive:true});const onResize=()=>{const nW=mount.clientWidth,nH=mount.clientHeight;if(!nW||!nH)return;const nCW=Math.round(nW*CANVAS_SCALE);const nCH=Math.round(nH*CANVAS_SCALE);renderer.setSize(nCW,nCH);canvas.style.left=`-${(nCW-nW)/2}px`;canvas.style.top=`-${(nCH-nH)/2}px`;camera.aspect=nCW/nCH;lastAngle=-999;updateCamera();};const ro=new ResizeObserver(onResize);ro.observe(mount);let rafId;let lastTime=performance.now();let elapsed=0;let frameCounter=0;const BREATH_PERIOD=5;const animate=now=>{rafId=requestAnimationFrame(animate);if(document.hidden){lastTime=now;return;}frameCounter++;if(frameCounter%qualitySettings(live.current.quality).frameSkip!==0)return;const dt=Math.min((now-lastTime)/1e3,.05);lastTime=now;const{paused:isPaused,cloudOpacity:op,cloudBrightness:br,cloudContrast:ct,parallaxStrength:px,cloudSize:cs,tintColor:tStr,tintStrength:tS,edgeSoftness:es,breathAmp:bAmp,breathSpeed:bSpd,floatAmp:fAmp,floatSpeed:fSpd,cloudOffsetX:offX,cloudOffsetY:offY,cellPhase:cPhase}=live.current;updateCamera();masterGroup.position.x=offX;masterGroup.position.y=offY;const lf=1-Math.pow(1-.055,dt*60);mouse.x+=(mTarget.x-mouse.x)*lf;mouse.y+=(mTarget.y-mouse.y)*lf;for(let gi=0;gi<PARALLAX_FACTORS.length;gi++){const pf=PARALLAX_FACTORS[gi]*px*9;layerGroups[gi].position.x=mouse.x*pf;layerGroups[gi].position.y=-mouse.y*pf*.35;}if(tStr!==lastTintStr){sharedTint.setStyle(tStr);lastTintStr=tStr;}const tintChanged=tS!==lastTintStr2;if(tintChanged)lastTintStr2=tS;if(isPaused){for(const sp of sprites){const uni=sp.mat.uniforms;const tex=texCache[sp.texIdx];if(tex&&uni.uTex.value!==tex)uni.uTex.value=tex;if(tex&&sp.fadeIn<1)sp.fadeIn=Math.min(1,sp.fadeIn+dt/2.5);uni.uAlpha.value=op*sp.fadeIn*(tex?1:0);uni.uBrightness.value=br;uni.uContrast.value=ct;if(tintChanged)uni.uTintStrength.value=tS;uni.uEdgePower.value=es;}renderer.render(scene,camera);return;}elapsed+=dt;const globalT=elapsed*bSpd/BREATH_PERIOD*Math.PI*2;for(const sp of sprites){const uni=sp.mat.uniforms;const tex=texCache[sp.texIdx];if(tex&&uni.uTex.value!==tex)uni.uTex.value=tex;if(tex&&sp.fadeIn<1)sp.fadeIn=Math.min(1,sp.fadeIn+dt/3.5);const effectivePhase=sp.cellBasePhase+cPhase+sp.phaseJitter;const breathVal=Math.sin(globalT+effectivePhase);const breathScale=1+bAmp*breathVal;sp.sizeVec.set(sp.baseW*cs*breathScale,sp.baseH*cs*breathScale);const breathAlpha=THREE.MathUtils.clamp(.08+(breathVal+1)*.46,0,1);const dx=fAmp*sp.driftAmpX*Math.sin(elapsed*fSpd*sp.driftFX*Math.PI*2+sp.driftPX);const dy=fAmp*sp.driftAmpY*Math.cos(elapsed*fSpd*sp.driftFY*Math.PI*2+sp.driftPY);sp.mesh.position.x=sp.baseX+dx;sp.mesh.position.y=sp.baseY+dy;uni.uAlpha.value=op*sp.fadeIn*breathAlpha*(tex?1:0);uni.uBrightness.value=br;uni.uContrast.value=ct;if(tintChanged)uni.uTintStrength.value=tS;uni.uEdgePower.value=es;}renderer.render(scene,camera);};rafId=requestAnimationFrame(animate);return()=>{cancelAnimationFrame(rafId);ro.disconnect();mount.removeEventListener(\"mousemove\",onMM);mount.removeEventListener(\"touchmove\",onTM);texQueue.length=0;renderer.dispose();planeGeo.dispose();templateMat.dispose();BLANK.dispose();texCache.forEach(t=>t?.dispose());sprites.forEach(sp=>sp.mat.dispose());if(mount.contains(renderer.domElement))mount.removeChild(renderer.domElement);};}// ─── Component ────────────────────────────────────────────────────────────────\nexport default function StagnantCloud(props){const{cloudImages=DEFAULT_CLOUD_URLS,performance:perf={},background:bg={},cloud:cl={},appearance:ap={},arrangement:ar={},motion:mo={}}=props;const{paused=false,quality=75}=perf;const{bgType=\"sky\",skyTop=\"#5ba8d8\",skyBottom=\"#b8dff0\",bgColor=\"#5ba8d8\",gradientAngle=180,gradientStops,bgImage=null,bgImageFit=\"cover\",bgImagePosition=\"center center\",bgImageBlur=0}=bg;const{cloudSize=1,density=1,zoom=1,viewAngle=.22}=cl;const{cloudOpacity=.92,cloudBrightness=1.06,cloudContrast=1.1,tintColor=\"#b0bfc8\",tintStrength=.42,edgeSoftness=1.6}=ap;const{cloudOffsetX=0,cloudOffsetY=0,spread=1,cellPhase=0}=ar;const{breathAmp=.32,breathSpeed=1,floatAmp=.5,floatSpeed=1,parallaxStrength=1}=mo;const stops=gradientStops?.length?gradientStops:[{color:\"#5ba8d8\",position:0},{color:\"#b8dff0\",position:100}];const mountRef=useRef(null);const live=useRef({paused,quality,cloudSize,density,zoom,viewAngle,cloudOpacity,cloudBrightness,cloudContrast,tintColor,tintStrength,edgeSoftness,cloudOffsetX,cloudOffsetY,spread,cellPhase,breathAmp,breathSpeed,floatAmp,floatSpeed,parallaxStrength});useEffect(()=>{live.current={paused,quality,cloudSize,density,zoom,viewAngle,cloudOpacity,cloudBrightness,cloudContrast,tintColor,tintStrength,edgeSoftness,cloudOffsetX,cloudOffsetY,spread,cellPhase,breathAmp,breathSpeed,floatAmp,floatSpeed,parallaxStrength};},[paused,quality,cloudSize,density,zoom,viewAngle,cloudOpacity,cloudBrightness,cloudContrast,tintColor,tintStrength,edgeSoftness,cloudOffsetX,cloudOffsetY,spread,cellPhase,breathAmp,breathSpeed,floatAmp,floatSpeed,parallaxStrength]);useEffect(()=>{const mount=mountRef.current;if(!mount)return;let cleanup=null;const snapDensity=density;const snapCloudSize=cloudSize;const snapSpread=spread;const snapUrls=cloudImages;const observer=new IntersectionObserver(entries=>{if(entries[0].isIntersecting&&!cleanup){const t=setTimeout(()=>{cleanup=initScene(mount,live,snapDensity,snapCloudSize,snapSpread,snapUrls);},0);cleanup=()=>clearTimeout(t);}},{rootMargin:\"300px\"});observer.observe(mount);return()=>{observer.disconnect();cleanup?.();};},[density,cloudSize,spread,cloudImages?.join(\",\")]);// ── CSS background ─────────────────────────────────────────────────────────\nlet bgStyle={};switch(bgType){case\"sky\":bgStyle={background:`linear-gradient(to bottom, ${skyTop} 0%, ${skyBottom} 100%)`};break;case\"color\":bgStyle={background:bgColor};break;case\"gradient\":{const ss=stops.map(s=>`${s.color||\"#fff\"} ${s.position??0}%`).join(\", \");bgStyle={background:`linear-gradient(${gradientAngle}deg, ${ss})`};break;}case\"image\":bgStyle=bgImage?{backgroundImage:`url(${bgImage})`,backgroundSize:bgImageFit,backgroundPosition:bgImagePosition,backgroundRepeat:\"no-repeat\",...bgImageBlur>0?{filter:`blur(${bgImageBlur}px)`}:{}}:{background:\"#5ba8d8\"};break;default:bgStyle={};}return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"visible\"},children:[bgType!==\"off\"&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,zIndex:0,...bgStyle}}),/*#__PURE__*/_jsx(\"div\",{ref:mountRef,style:{position:\"absolute\",inset:0,zIndex:5,overflow:\"visible\"}})]});}// ─── Default props ─────────────────────────────────────────────────────────────\nStagnantCloud.defaultProps={cloudImages:DEFAULT_CLOUD_URLS,performance:{paused:false,quality:75},background:{bgType:\"sky\",skyTop:\"#5ba8d8\",skyBottom:\"#b8dff0\",bgColor:\"#5ba8d8\",gradientAngle:180,gradientStops:[{color:\"#5ba8d8\",position:0},{color:\"#b8dff0\",position:100}],bgImage:null,bgImageFit:\"cover\",bgImagePosition:\"center center\",bgImageBlur:0},cloud:{cloudSize:1,density:1,zoom:1,viewAngle:.22},appearance:{cloudOpacity:.92,cloudBrightness:1.06,cloudContrast:1.1,tintColor:\"#b0bfc8\",tintStrength:.42,edgeSoftness:1.6},arrangement:{cloudOffsetX:0,cloudOffsetY:0,spread:1,cellPhase:0},motion:{breathAmp:.32,breathSpeed:1,floatAmp:.5,floatSpeed:1,parallaxStrength:1}};// ─── Framer property controls ──────────────────────────────────────────────────\naddPropertyControls(StagnantCloud,{cloudImages:{type:ControlType.Array,title:\"Cloud Textures\",control:{type:ControlType.Image},defaultValue:DEFAULT_CLOUD_URLS,description:\"Upload local images to bypass CORS issues.\"},performance:{type:ControlType.Object,title:\"Performance\",controls:{paused:{type:ControlType.Boolean,title:\"Paused\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},quality:{type:ControlType.Number,title:\"Quality\",defaultValue:75,min:0,max:100,step:5,displayStepper:true,description:\"0 = low-fi  \\xb7  100 = full quality\"}}},background:{type:ControlType.Object,title:\"Background\",controls:{bgType:{type:ControlType.Enum,title:\"Type\",defaultValue:\"sky\",options:[\"sky\",\"color\",\"gradient\",\"image\",\"off\"],optionTitles:[\"Sky Gradient\",\"Solid Color\",\"Custom Gradient\",\"Image\",\"Transparent\"]},skyTop:{type:ControlType.Color,title:\"Sky Top\",defaultValue:\"#5ba8d8\",hidden:p=>p.bgType!==\"sky\"},skyBottom:{type:ControlType.Color,title:\"Sky Bottom\",defaultValue:\"#b8dff0\",hidden:p=>p.bgType!==\"sky\"},bgColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"#5ba8d8\",hidden:p=>p.bgType!==\"color\"},gradientAngle:{type:ControlType.Number,title:\"Angle\",defaultValue:180,min:0,max:360,step:1,unit:\"\\xb0\",hidden:p=>p.bgType!==\"gradient\"},gradientStops:{type:ControlType.Array,title:\"Stops\",hidden:p=>p.bgType!==\"gradient\",control:{type:ControlType.Object,controls:{color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#5ba8d8\"},position:{type:ControlType.Number,title:\"Position\",defaultValue:0,min:0,max:100,step:1,unit:\"%\"}}}},bgImage:{type:ControlType.Image,title:\"Image\",hidden:p=>p.bgType!==\"image\"},bgImageFit:{type:ControlType.Enum,title:\"Fit\",defaultValue:\"cover\",options:[\"cover\",\"contain\",\"fill\",\"100% auto\",\"auto 100%\"],optionTitles:[\"Cover\",\"Contain\",\"Stretch\",\"Fit Width\",\"Fit Height\"],hidden:p=>p.bgType!==\"image\"},bgImagePosition:{type:ControlType.Enum,title:\"Position\",defaultValue:\"center center\",options:[\"center center\",\"top center\",\"bottom center\",\"center left\",\"center right\",\"top left\",\"top right\",\"bottom left\",\"bottom right\"],optionTitles:[\"Center\",\"Top\",\"Bottom\",\"Left\",\"Right\",\"Top Left\",\"Top Right\",\"Bottom Left\",\"Bottom Right\"],hidden:p=>p.bgType!==\"image\"},bgImageBlur:{type:ControlType.Number,title:\"Blur\",defaultValue:0,min:0,max:40,step:1,unit:\"px\",hidden:p=>p.bgType!==\"image\"}}},cloud:{type:ControlType.Object,title:\"Cloud\",controls:{cloudSize:{type:ControlType.Number,title:\"Size\",defaultValue:1,min:.2,max:3,step:.05,displayStepper:true,description:\"Respawns cloud — adjust density too\"},density:{type:ControlType.Number,title:\"Density\",defaultValue:1,min:.2,max:3,step:.1,displayStepper:true,description:\"More sprites per cell. Respawns cloud.\"},zoom:{type:ControlType.Number,title:\"Zoom\",defaultValue:1,min:.3,max:3,step:.05,displayStepper:true},viewAngle:{type:ControlType.Number,title:\"View Angle\",defaultValue:.22,min:0,max:1,step:.01,displayStepper:true,description:\"0 = from below looking up  \\xb7  1 = from above looking down\"}}},appearance:{type:ControlType.Object,title:\"Appearance\",controls:{cloudOpacity:{type:ControlType.Number,title:\"Opacity\",defaultValue:.92,min:0,max:1,step:.01,displayStepper:true},cloudBrightness:{type:ControlType.Number,title:\"Brightness\",defaultValue:1.06,min:0,max:2,step:.02,displayStepper:true},cloudContrast:{type:ControlType.Number,title:\"Contrast\",defaultValue:1.1,min:0,max:3,step:.05,displayStepper:true},tintColor:{type:ControlType.Color,title:\"Tint Color\",defaultValue:\"#b0bfc8\"},tintStrength:{type:ControlType.Number,title:\"Tint Strength\",defaultValue:.42,min:0,max:1,step:.01,displayStepper:true,description:\"Gradient from bottom (tinted) to top (white). 0 = pure white cloud.\"},edgeSoftness:{type:ControlType.Number,title:\"Edge Softness\",defaultValue:1.6,min:1,max:4,step:.1,displayStepper:true,description:\"1 = hard edges \\xb7 4 = very feathered, blends smoothly into sky\"}}},arrangement:{type:ControlType.Object,title:\"Arrangement\",controls:{cloudOffsetX:{type:ControlType.Number,title:\"Position X\",defaultValue:0,min:-150,max:150,step:1,displayStepper:true,description:\"Shift cloud left/right in world space\"},cloudOffsetY:{type:ControlType.Number,title:\"Position Y\",defaultValue:0,min:-80,max:80,step:1,displayStepper:true,description:\"Shift cloud up/down\"},spread:{type:ControlType.Number,title:\"Cell Spread\",defaultValue:1,min:.4,max:2.5,step:.05,displayStepper:true,description:\"How spread out the cloud cells are. Respawns cloud.\"},cellPhase:{type:ControlType.Number,title:\"Shape Phase\",defaultValue:0,min:0,max:360,step:1,unit:\"\\xb0\",displayStepper:true,description:\"Rotate through all possible cloud silhouette shapes\"}}},motion:{type:ControlType.Object,title:\"Motion\",controls:{breathAmp:{type:ControlType.Number,title:\"Breath Amount\",defaultValue:.32,min:0,max:.8,step:.01,displayStepper:true,description:\"How much cells expand/contract. Higher = more dramatic shape changes\"},breathSpeed:{type:ControlType.Number,title:\"Breath Speed\",defaultValue:1,min:.1,max:5,step:.05,displayStepper:true,description:\"1 = one full breath cycle every 5 seconds\"},floatAmp:{type:ControlType.Number,title:\"Float Amount\",defaultValue:.5,min:0,max:4,step:.1,displayStepper:true,description:\"How far sprites drift from their anchor (keep low)\"},floatSpeed:{type:ControlType.Number,title:\"Float Speed\",defaultValue:1,min:0,max:4,step:.1,displayStepper:true},parallaxStrength:{type:ControlType.Number,title:\"Mouse Parallax\",defaultValue:1,min:0,max:3,step:.1,displayStepper:true,description:\"Depth shift from mouse/touch movement\"}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StagnantCloud\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StagnantCloud.map"],"mappings":"iWA4C2d,SAAS,EAAW,EAAE,CAAyE,OAArE,EAAE,IAAW,EAAK,EAAE,IAAW,EAAK,EAAE,IAAW,EAAK,EAAE,IAAW,EAAS,EAAwB,SAAS,EAAgB,EAAE,CAAC,IAAM,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,GAAG,GAAG,KAAK,IAAI,EAAO,iBAAiB,EAAE,CAAC,IAAI,UAAU,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,WAAW,IAAI,EAAE,IAAI,SAAS,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,CACryB,SAAS,EAAU,EAAM,EAAK,EAAa,EAAe,EAAY,EAAU,CAAC,IAAM,EAAE,EAAM,aAAa,IAAU,EAAE,EAAM,cAAc,IAAU,EAAG,KAAK,MAAM,EAAE,EAAa,CAAO,EAAG,KAAK,MAAM,EAAE,EAAa,CAAO,EAAG,EAAgB,EAAK,QAAQ,QAAQ,CAAO,EAAS,IAAIA,EAAoB,CAAC,UAAU,GAAM,MAAM,GAAK,gBAAgB,mBAAmB,CAAC,CAAC,EAAS,QAAQ,EAAG,EAAG,CAAC,EAAS,cAAc,EAAG,WAAW,CAAC,EAAS,cAAc,EAAE,EAAE,CAAC,IAAM,EAAO,EAAS,WAAW,EAAO,MAAM,SAAS,WAAW,EAAO,MAAM,KAAK,KAAK,EAAG,GAAG,EAAE,IAAI,EAAO,MAAM,IAAI,KAAK,EAAG,GAAG,EAAE,IAAI,EAAM,YAAY,EAAO,CAAC,IAAM,EAAM,IAAIC,EAAkB,EAAO,IAAIC,EAAwB,GAAG,EAAG,EAAG,GAAG,IAAI,CAAO,EAAY,IAAIC,EAAY,EAAM,IAAI,EAAY,CAAC,IAAM,EAAY,EAAiB,QAAQ,CAAC,IAAM,EAAE,IAAIA,EAA+B,OAAnB,EAAY,IAAI,EAAE,CAAQ,GAAI,CAAK,EAAU,KAAK,EAAS,KAAW,MAAiB,CAAC,GAAK,CAAC,UAAU,EAAG,KAAK,GAAI,EAAK,QAAQ,GAAG,IAAK,GAAW,IAAK,EAAS,OAAO,EAAU,EAAG,EAAS,EAAG,IAAM,EAAA,EAAkB,MAAM,EAAG,EAAE,EAAE,CAAC,EAAO,SAAS,IAAI,EAAA,EAAkB,KAAK,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAO,OAAO,GAAA,EAAmB,KAAK,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAO,IAAI,GAAG,KAAK,IAAI,GAAG,EAAG,CAAC,EAAO,wBAAwB,EAAG,GAAc,CAAC,IAAM,GAAS,IAAIC,EAAoB,EAAE,EAAE,CAAO,EAAM,IAAIC,EAAkB,IAAI,WAAW,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,EAAEC,EAAiB,CAAC,EAAM,YAAY,GAAK,IAAM,EAAS,EAAU,OAAO,EAAE,EAAU,EAAyB,EAAa,MAAM,EAAS,OAAO,CAAC,KAAK,KAAK,CAAO,GAAc,MAAM,EAAS,OAAO,CAAC,KAAK,GAAM,CAAO,EAAe,MAAM,EAAS,OAAO,CAAC,KAAK,GAAM,CAAO,EAAS,EAAE,CAAO,GAAO,IAAIC,EAAwB,EAAS,EAAQ,OAAS,CAAC,KAAM,EAAS,EAAG,UAAU,EAAS,OAAO,GAAE,CAAC,IAAM,EAAI,EAAS,OAAO,CAAI,EAAS,IAAM,EAAW,KAAc,EAAW,GAAK,GAAK,IAC5zD,GAAO,eAAe,YAAY,CAAC,GAAO,KAAK,EAAS,GAAK,GAAK,CAAC,EAAI,WAAW,IAAA,GAAqB,EAAI,UAAU,EAAI,UAAUC,EAAmB,EAAI,gBAAgB,GAAM,EAAS,GAAK,EAAI,EAAW,GAAK,GAAM,IAAW,IAAM,EAAG,IAAA,OAAc,CAAC,EAAW,GAAK,GAAM,GAAU,GAAK,GAAM,IAAW,IAAM,EAAG,IAAU,GAAO,GAAG,CAAI,EAAS,IAAI,EAAW,IAAI,GAAU,KAAU,GAAU,GAAG,GAAK,EAAS,KAAK,EAAE,CAAC,IAAM,GAAG,IAAI,IAAI,EAAE,EAAE,EAAE,EAAS,OAAO,IAAK,GAAO,EAAE,CAAE,IAAM,GAAW,IAAIC,EAAY,EAAK,QAAQ,UAAU,CAAK,GAAY,EAAK,QAAQ,UAAc,GAAa,EAAK,QAAQ,aAAmB,GAAY,IAAIC,EAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,IAAIC,EAAc,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,GAAW,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,aAAa,EAAK,eAAe,EAAK,YAAY,GAAK,WAAW,GAAM,SAASC,EAAqB,KAAKC,EAAiB,CAAC,CAAO,EAAQ,EAAE,CAAwC,IAAI,IAAI,EAAG,EAAE,EAAG,EAAM,OAAO,IAAK,CAAC,IAAM,EAAK,EAAM,GAAU,EAAS,IAAW,EAAK,GAAG,KAAW,EAAkB,EAAS,KAAW,EAAK,GAAG,MAAW,EAAkB,EAAS,EAAK,IAAI,GAAG,EAAY,IAAU,EAAS,EAAK,GAAS,EAAS,EAAK,IAAI,GAAG,EAAY,IAAU,EAAM,KAAK,IAAI,EAAE,KAAK,MAAM,EAAK,EAAE,EAAa,EAAG,WAAW,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAM,IAAI,CAAC,IAAM,EAAO,EAAE,EAAS,OAAO,GAAO,EAAO,CAAC,IAAM,EAAM,KAAK,QAAQ,CAAC,KAAK,GAAG,EAAQ,EAAI,KAAK,KAAK,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAO,EAAE,KAAK,KAAK,KAAK,QAAQ,CAAC,CAAO,EAAG,EAAS,EAAE,EAAS,KAAK,IAAI,EAAI,CAAC,KAAK,IAAI,EAAM,CAAO,EAAG,EAAK,GAAG,EAAE,EAAS,KAAK,IAAI,EAAI,CAAO,EAAG,EAAS,EAAE,EAAS,KAAK,IAAI,EAAI,CAAC,KAAK,IAAI,EAAM,CAAO,EAAW,EAAQ,EAAA,EAA+B,KAAK,KAAK,IAAI,EAAW,EAAW,CAAO,EAAO,EAAO,EAAY,OAAO,EAAY,GAAQ,IAAU,EAAG,EAAK,GAAG,EAAe,GAAgB,IAAI,KAAK,QAAQ,CAAC,IAAU,EAAG,EAAG,GAAQ,IAAI,KAAK,QAAQ,CAAC,IAAU,EAAG,IAAIF,EAAc,EAAG,EAAG,CAAO,EAAI,GAAY,OAAO,CAAC,EAAI,SAAS,CAAC,KAAK,CAAC,MAAM,EAAS,IAAS,EAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,EAAK,QAAQ,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAK,QAAQ,cAAc,CAAC,UAAU,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAG,CAAC,MAAM,CAAC,MAAM,GAAW,CAAC,cAAc,CAAC,MAAM,EAAK,QAAQ,aAAa,CAAC,WAAW,CAAC,MAAM,EAAK,QAAQ,aAAa,CAAC,CAAC,IAAM,EAAK,IAAIG,EAAW,GAAS,EAAI,CAAC,EAAK,SAAS,IAAI,EAAG,EAAG,EAAG,CAAC,EAAK,cAAc,GAAM,IAAM,EAAG,EAAW,EAAG,CAAC,EAAY,KAAK,IAAI,EAAG,EAAY,OAAO,EAAE,EAAE,IAAI,EAAK,CAAC,EAAQ,KAAK,CAAC,OAAK,MAAI,QAAQ,EAAG,SAAO,MAAM,EAAG,MAAM,EAAG,MAAM,EAAG,MAAM,EAAG,cAAc,EAAK,MAAM,aAAa,KAAK,QAAQ,CAAC,IAAI,IAAI,UAAU,GAAG,KAAK,QAAQ,CAAC,GAAG,UAAU,IAAI,KAAK,QAAQ,CAAC,IAAI,QAAQ,KAAK,KAAK,QAAQ,CAAC,KAAK,QAAQ,KAAK,KAAK,QAAQ,CAAC,KAAK,QAAQ,KAAK,QAAQ,CAAC,KAAK,GAAG,EAAE,QAAQ,KAAK,QAAQ,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,CAAC,EAAG,IAAM,EAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAO,EAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAO,GAAK,GAAG,CAAC,IAAM,EAAE,EAAM,uBAAuB,CAAC,EAAQ,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,EAAQ,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,IAAI,GAAU,GAAK,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,OAAO,OAAO,IAAM,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAM,uBAAuB,CAAC,EAAQ,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,EAAQ,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,IAAI,GAAI,EAAM,iBAAiB,YAAY,GAAK,CAAC,EAAM,iBAAiB,YAAY,GAAK,CAAC,QAAQ,GAAK,CAAC,CAA8T,IAAM,GAAG,IAAI,mBAAvT,CAAC,IAAM,EAAG,EAAM,YAAY,EAAG,EAAM,aAAa,GAAG,CAAC,GAAI,CAAC,EAAG,OAAO,IAAM,EAAI,KAAK,MAAM,EAAG,EAAa,CAAO,EAAI,KAAK,MAAM,EAAG,EAAa,CAAC,EAAS,QAAQ,EAAI,EAAI,CAAC,EAAO,MAAM,KAAK,KAAK,EAAI,GAAI,EAAE,IAAI,EAAO,MAAM,IAAI,KAAK,EAAI,GAAI,EAAE,IAAI,EAAO,OAAO,EAAI,EAAI,EAAU,KAAK,GAAc,EAAwC,CAAC,GAAG,QAAQ,EAAM,CAAC,IAAI,GAAU,GAAS,YAAY,KAAK,CAAK,GAAQ,EAAM,GAAa,EAA8B,GAAQ,GAAK,CAAsC,GAArC,GAAM,sBAAsB,GAAQ,CAAI,SAAS,OAAO,CAAC,GAAS,EAAI,OAAuB,GAAf,KAAkB,GAAa,EAAgB,EAAK,QAAQ,QAAQ,CAAC,YAAY,EAAE,OAAO,IAAM,EAAG,KAAK,KAAK,EAAI,IAAU,IAAI,IAAI,CAAC,GAAS,EAAI,GAAK,CAAC,OAAO,EAAS,aAAa,EAAG,gBAAgB,EAAG,cAAc,EAAG,iBAAiB,EAAG,UAAU,EAAG,UAAU,EAAK,aAAa,EAAG,aAAa,EAAG,UAAU,EAAK,YAAY,EAAK,SAAS,EAAK,WAAW,EAAK,aAAa,EAAK,aAAa,EAAK,UAAU,GAAQ,EAAK,QAAQ,GAAc,CAAC,EAAY,SAAS,EAAE,EAAK,EAAY,SAAS,EAAE,EAAK,IAAM,EAAG,EAAW,OAAO,EAAG,IAAI,EAAM,IAAI,EAAQ,EAAE,EAAM,GAAG,EAAG,EAAM,IAAI,EAAQ,EAAE,EAAM,GAAG,EAAG,IAAI,IAAI,EAAG,EAAE,EAAG,EAAiB,OAAO,IAAK,CAAC,IAAM,EAAG,EAAiB,GAAI,EAAG,EAAE,EAAY,GAAI,SAAS,EAAE,EAAM,EAAE,EAAG,EAAY,GAAI,SAAS,EAAE,CAAC,EAAM,EAAE,EAAG,IAAQ,IAAO,KAAa,GAAW,SAAS,EAAK,CAAC,GAAY,GAAM,IAAM,EAAY,IAAK,GAA4C,GAA5B,IAAY,GAAa,GAAM,EAAS,CAAC,IAAI,IAAM,KAAM,EAAQ,CAAC,IAAM,EAAI,EAAG,IAAI,SAAe,EAAI,EAAS,EAAG,QAAW,GAAK,EAAI,KAAK,QAAQ,IAAI,EAAI,KAAK,MAAM,GAAO,GAAK,EAAG,OAAO,IAAE,EAAG,OAAO,KAAK,IAAI,EAAE,EAAG,OAAO,EAAG,IAAI,EAAC,EAAI,OAAO,MAAM,EAAG,EAAG,QAAQ,EAAI,EAAE,GAAG,EAAI,YAAY,MAAM,EAAG,EAAI,UAAU,MAAM,EAAM,IAAY,EAAI,cAAc,MAAM,GAAG,EAAI,WAAW,MAAM,EAAI,EAAS,OAAO,EAAM,EAAO,CAAC,OAAQ,IAAS,EAAG,IAAM,EAAQ,GAAQ,EAAK,EAAc,KAAK,GAAG,EAAE,IAAI,IAAM,KAAM,EAAQ,CAAC,IAAM,EAAI,EAAG,IAAI,SAAe,EAAI,EAAS,EAAG,QAAW,GAAK,EAAI,KAAK,QAAQ,IAAI,EAAI,KAAK,MAAM,GAAO,GAAK,EAAG,OAAO,IAAE,EAAG,OAAO,KAAK,IAAI,EAAE,EAAG,OAAO,EAAG,IAAI,EAAC,IAAM,EAAe,EAAG,cAAc,EAAO,EAAG,YAAkB,EAAU,KAAK,IAAI,EAAQ,EAAe,CAAO,EAAY,EAAE,EAAK,EAAU,EAAG,QAAQ,IAAI,EAAG,MAAM,EAAG,EAAY,EAAG,MAAM,EAAG,EAAY,CAAC,IAAM,EAAA,EAA4B,MAAM,KAAK,EAAU,GAAG,IAAI,EAAE,EAAE,CAAO,EAAG,EAAK,EAAG,UAAU,KAAK,IAAI,GAAQ,EAAK,EAAG,QAAQ,KAAK,GAAG,EAAE,EAAG,QAAQ,CAAO,EAAG,EAAK,EAAG,UAAU,KAAK,IAAI,GAAQ,EAAK,EAAG,QAAQ,KAAK,GAAG,EAAE,EAAG,QAAQ,CAAC,EAAG,KAAK,SAAS,EAAE,EAAG,MAAM,EAAG,EAAG,KAAK,SAAS,EAAE,EAAG,MAAM,EAAG,EAAI,OAAO,MAAM,EAAG,EAAG,OAAO,GAAa,EAAI,EAAE,GAAG,EAAI,YAAY,MAAM,EAAG,EAAI,UAAU,MAAM,EAAM,IAAY,EAAI,cAAc,MAAM,GAAG,EAAI,WAAW,MAAM,EAAI,EAAS,OAAO,EAAM,EAAO,EAAwC,MAArC,IAAM,sBAAsB,GAAQ,KAAW,CAAC,qBAAqB,GAAM,CAAC,GAAG,YAAY,CAAC,EAAM,oBAAoB,YAAY,GAAK,CAAC,EAAM,oBAAoB,YAAY,GAAK,CAAC,EAAS,OAAO,EAAE,EAAS,SAAS,CAAC,GAAS,SAAS,CAAC,GAAY,SAAS,CAAC,EAAM,SAAS,CAAC,EAAS,QAAQ,GAAG,GAAG,SAAS,CAAC,CAAC,EAAQ,QAAQ,GAAI,EAAG,IAAI,SAAS,CAAC,CAAI,EAAM,SAAS,EAAS,WAAW,EAAC,EAAM,YAAY,EAAS,WAAW,EACz+M,SAAwB,EAAc,EAAM,CAAC,GAAK,CAAC,cAAY,EAAmB,YAAY,EAAK,EAAE,CAAC,WAAW,EAAG,EAAE,CAAC,MAAM,EAAG,EAAE,CAAC,WAAW,EAAG,EAAE,CAAC,YAAY,EAAG,EAAE,CAAC,OAAO,EAAG,EAAE,EAAE,EAAW,CAAC,SAAO,GAAM,UAAQ,IAAI,EAAU,CAAC,SAAO,MAAM,SAAO,UAAU,YAAU,UAAU,UAAQ,UAAU,gBAAc,IAAI,gBAAc,UAAQ,KAAK,aAAW,QAAQ,kBAAgB,gBAAgB,cAAY,GAAG,EAAQ,CAAC,YAAU,EAAE,UAAQ,EAAE,OAAK,EAAE,YAAU,KAAK,EAAQ,CAAC,eAAa,IAAI,kBAAgB,KAAK,gBAAc,IAAI,YAAU,UAAU,eAAa,IAAI,eAAa,KAAK,EAAQ,CAAC,eAAa,EAAE,eAAa,EAAE,SAAO,EAAE,YAAU,GAAG,EAAQ,CAAC,YAAU,IAAI,cAAY,EAAE,WAAS,GAAG,aAAW,EAAE,mBAAiB,GAAG,EAAS,GAAM,GAAe,OAAO,EAAc,CAAC,CAAC,MAAM,UAAU,SAAS,EAAE,CAAC,CAAC,MAAM,UAAU,SAAS,IAAI,CAAC,CAAO,EAASC,EAAO,KAAK,CAAO,EAAKA,EAAO,CAAC,SAAO,UAAQ,YAAU,UAAQ,OAAK,YAAU,eAAa,kBAAgB,gBAAc,YAAU,eAAa,eAAa,eAAa,eAAa,SAAO,YAAU,YAAU,cAAY,WAAS,aAAW,mBAAiB,CAAC,CAAC,MAAc,CAAC,EAAK,QAAQ,CAAC,SAAO,UAAQ,YAAU,UAAQ,OAAK,YAAU,eAAa,kBAAgB,gBAAc,YAAU,eAAa,eAAa,eAAa,eAAa,SAAO,YAAU,YAAU,cAAY,WAAS,aAAW,mBAAiB,EAAG,CAAC,EAAO,EAAQ,EAAU,EAAQ,EAAK,EAAU,EAAa,EAAgB,EAAc,EAAU,EAAa,EAAa,EAAa,EAAa,EAAO,EAAU,EAAU,EAAY,EAAS,EAAW,EAAiB,CAAC,CAAC,MAAc,CAAC,IAAM,EAAM,EAAS,QAAQ,GAAG,CAAC,EAAM,OAAO,IAAI,EAAQ,KAAW,EAAY,EAAc,EAAc,EAAgB,EAAW,EAAa,EAAS,EAAkB,EAAS,IAAI,qBAAqB,GAAS,CAAC,GAAG,EAAQ,GAAG,gBAAgB,CAAC,EAAQ,CAAC,IAAM,EAAE,eAAe,CAAC,EAAQ,EAAU,EAAM,EAAK,EAAY,EAAc,EAAW,EAAS,EAAG,EAAE,CAAC,MAAY,aAAa,EAAE,GAAI,CAAC,WAAW,QAAQ,CAAC,CAAyB,OAAxB,EAAS,QAAQ,EAAM,KAAW,CAAC,EAAS,YAAY,CAAC,KAAW,GAAK,CAAC,EAAQ,EAAU,EAAO,GAAa,KAAK,IAAI,CAAC,CAAC,CACnnE,IAAI,EAAQ,EAAE,CAAC,OAAO,EAAP,CAAe,IAAI,MAAM,EAAQ,CAAC,WAAW,8BAA8B,EAAO,OAAO,EAAU,QAAQ,CAAC,MAAM,IAAI,QAAQ,EAAQ,CAAC,WAAW,EAAQ,CAAC,MAAM,IAAI,WAAqF,EAAQ,CAAC,WAAW,mBAAmB,EAAc,OAArH,GAAM,IAAI,GAAG,GAAG,EAAE,OAAO,OAAO,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,KAAK,CAAgE,GAAG,CAAC,MAAO,IAAI,QAAQ,EAAQ,EAAQ,CAAC,gBAAgB,OAAO,EAAQ,GAAG,eAAe,EAAW,mBAAmB,EAAgB,iBAAiB,YAAY,GAAG,EAAY,EAAE,CAAC,OAAO,QAAQ,EAAY,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,UAAU,CAAC,MAAM,QAAQ,EAAQ,EAAE,CAAE,OAAoB,EAAM,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,SAAS,WAAW,SAAS,UAAU,CAAC,SAAS,CAAC,IAAS,OAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,OAAO,EAAE,GAAG,EAAQ,CAAC,CAAC,CAAc,EAAK,MAAM,CAAC,IAAI,EAAS,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,OAAO,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,oCAhD71B,IAAoC,IAA4B,IAAoD,CACvK,EAAmB,CAAC,4DAA4D,uDAAuD,CAAO,EAAY,CAAC,EAAE,IAAI,CACjK,EAAe;;;;;;;;;;;;;;;;;EAkBf,EAAe;;;;;;;;;;;;;;;;;;;;;;;EAwBf,EAAM,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,KAAK,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,KAAK,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,MAAM,KAAK,GAAG,IAAI,EAAE,GAAG,CAAC,CAAO,EAAiB,CAAC,IAAI,IAAI,GAAG,IAAI,KAAK,CAAgH,EAAa,EAKvlB,EAAc,aAAa,CAAC,YAAY,EAAmB,YAAY,CAAC,OAAO,GAAM,QAAQ,GAAG,CAAC,WAAW,CAAC,OAAO,MAAM,OAAO,UAAU,UAAU,UAAU,QAAQ,UAAU,cAAc,IAAI,cAAc,CAAC,CAAC,MAAM,UAAU,SAAS,EAAE,CAAC,CAAC,MAAM,UAAU,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,WAAW,QAAQ,gBAAgB,gBAAgB,YAAY,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,IAAI,CAAC,WAAW,CAAC,aAAa,IAAI,gBAAgB,KAAK,cAAc,IAAI,UAAU,UAAU,aAAa,IAAI,aAAa,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,UAAU,IAAI,YAAY,EAAE,SAAS,GAAG,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAC9pB,EAAoB,EAAc,CAAC,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,iBAAiB,QAAQ,CAAC,KAAK,EAAY,MAAM,CAAC,aAAa,EAAmB,YAAY,6CAA6C,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,SAAS,CAAC,OAAO,CAAC,KAAK,EAAY,QAAQ,MAAM,SAAS,aAAa,GAAM,aAAa,MAAM,cAAc,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,eAAe,GAAK,YAAY,oCAAuC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,SAAS,CAAC,OAAO,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,aAAa,MAAM,QAAQ,CAAC,MAAM,QAAQ,WAAW,QAAQ,MAAM,CAAC,aAAa,CAAC,eAAe,cAAc,kBAAkB,QAAQ,cAAc,CAAC,CAAC,OAAO,CAAC,KAAK,EAAY,MAAM,MAAM,UAAU,aAAa,UAAU,OAAO,GAAGC,EAAE,SAAS,MAAM,CAAC,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,UAAU,OAAO,GAAGA,EAAE,SAAS,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,UAAU,OAAO,GAAGA,EAAE,SAAS,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAO,OAAO,GAAGA,EAAE,SAAS,WAAW,CAAC,cAAc,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,OAAO,GAAGA,EAAE,SAAS,WAAW,QAAQ,CAAC,KAAK,EAAY,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,UAAU,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,OAAO,GAAGA,EAAE,SAAS,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAY,KAAK,MAAM,MAAM,aAAa,QAAQ,QAAQ,CAAC,QAAQ,UAAU,OAAO,YAAY,YAAY,CAAC,aAAa,CAAC,QAAQ,UAAU,UAAU,YAAY,aAAa,CAAC,OAAO,GAAGA,EAAE,SAAS,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAY,KAAK,MAAM,WAAW,aAAa,gBAAgB,QAAQ,CAAC,gBAAgB,aAAa,gBAAgB,cAAc,eAAe,WAAW,YAAY,cAAc,eAAe,CAAC,aAAa,CAAC,SAAS,MAAM,SAAS,OAAO,QAAQ,WAAW,YAAY,cAAc,eAAe,CAAC,OAAO,GAAGA,EAAE,SAAS,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,OAAO,GAAGA,EAAE,SAAS,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,SAAS,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,IAAI,eAAe,GAAK,YAAY,sCAAsC,CAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,eAAe,GAAK,YAAY,yCAAyC,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,IAAI,eAAe,GAAK,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,eAAe,GAAK,YAAY,4DAA+D,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,SAAS,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,eAAe,GAAK,CAAC,gBAAgB,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,KAAK,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,eAAe,GAAK,CAAC,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,eAAe,GAAK,CAAC,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,UAAU,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,eAAe,GAAK,YAAY,sEAAsE,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,eAAe,GAAK,YAAY,gEAAmE,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,SAAS,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,EAAE,IAAI,KAAK,IAAI,IAAI,KAAK,EAAE,eAAe,GAAK,YAAY,wCAAwC,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,EAAE,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,eAAe,GAAK,YAAY,sBAAsB,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,EAAE,IAAI,GAAG,IAAI,IAAI,KAAK,IAAI,eAAe,GAAK,YAAY,sDAAsD,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAO,eAAe,GAAK,YAAY,sDAAsD,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,SAAS,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,IAAI,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,eAAe,GAAK,YAAY,uEAAuE,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,IAAI,eAAe,GAAK,YAAY,4CAA4C,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,eAAe,GAAK,YAAY,qDAAqD,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,eAAe,GAAK,CAAC,iBAAiB,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,eAAe,GAAK,YAAY,wCAAwC,CAAC,CAAC,CAAC,CAAC"}