{"version":3,"file":"ScrollProgressIndicator_2.sdlntORP.mjs","names":["React.useContext","React.useMemo","React.Fragment","useRef","React.useId","useRef","useState","useMemo","useCallback","p"],"sources":["https:/framerusercontent.com/modules/j51Ztgm56XYhHxQvMIAg/wnqlabmcS6Wv293wMXnG/kIclRVX2a.js","https:/framerusercontent.com/modules/P5mRCrHSDeQPlCGagMOB/in2ZNr05iLVLvjYeQAAD/ScrollProgressIndicator_2.js"],"sourcesContent":["// Generated by Framer (3256e0c)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const enabledGestures={awBjONRM2:{hover:true},mXyBoP_mw:{hover:true}};const cycleOrder=[\"awBjONRM2\",\"mXyBoP_mw\"];const serializationHash=\"framer-HZ82J\";const variantClassNames={awBjONRM2:\"framer-v-1bqkx9z\",mXyBoP_mw:\"framer-v-tifltr\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const XKaY3MrGu=undefined;const iD0zCmvyF=undefined;const transition1={damping:60,delay:0,mass:1,stiffness:500,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 humanReadableVariantMap={Close:\"mXyBoP_mw\",Menu:\"awBjONRM2\"};const getProps=({click,height,id,tap,width,...props})=>{return{...props,iD0zCmvyF:click??props.iD0zCmvyF,variant:humanReadableVariantMap[props.variant]??props.variant??\"awBjONRM2\",XKaY3MrGu:tap??props.XKaY3MrGu};};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,XKaY3MrGu,iD0zCmvyF,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"awBjONRM2\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1m61q30=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(XKaY3MrGu){const res=await XKaY3MrGu(...args);if(res===false)return false;}if(iD0zCmvyF){const res=await iD0zCmvyF(...args);if(res===false)return false;}});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-1bqkx9z\",className,classNames),\"data-framer-name\":\"Menu\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"awBjONRM2\",onTap:onTap1m61q30,ref:refBinding,style:{backdropFilter:\"blur(5px)\",borderBottomLeftRadius:50,borderBottomRightRadius:50,borderTopLeftRadius:50,borderTopRightRadius:50,WebkitBackdropFilter:\"blur(5px)\",...style},...addPropertyOverrides({\"awBjONRM2-hover\":{\"data-framer-name\":undefined},\"mXyBoP_mw-hover\":{\"data-framer-name\":undefined},mXyBoP_mw:{\"data-framer-name\":\"Close\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-lkslhn\",\"data-framer-name\":\"Middle\",layoutDependency:layoutDependency,layoutId:\"r8v5hcTB6\",style:{backgroundColor:\"rgb(24, 29, 39)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10,opacity:1},variants:{\"awBjONRM2-hover\":{opacity:1},mXyBoP_mw:{opacity:0}}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-ilaub3\",\"data-framer-name\":\"Bottom\",layoutDependency:layoutDependency,layoutId:\"fK96Dkcd_\",style:{backgroundColor:\"rgb(24, 29, 39)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10,rotate:0},variants:{\"awBjONRM2-hover\":{backgroundColor:\"var(--token-e97b10dc-b8de-4e44-8404-e4340c55b9c7, rgb(24, 29, 39))\",rotate:0},\"mXyBoP_mw-hover\":{backgroundColor:\"var(--token-e97b10dc-b8de-4e44-8404-e4340c55b9c7, rgb(24, 29, 39))\"},mXyBoP_mw:{rotate:-45}}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-u9raum\",\"data-framer-name\":\"Top\",layoutDependency:layoutDependency,layoutId:\"sOky2fO3i\",style:{backgroundColor:\"rgb(24, 29, 39)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10,rotate:0},variants:{\"awBjONRM2-hover\":{backgroundColor:\"var(--token-e97b10dc-b8de-4e44-8404-e4340c55b9c7, rgb(24, 29, 39))\",rotate:0},\"mXyBoP_mw-hover\":{backgroundColor:\"var(--token-e97b10dc-b8de-4e44-8404-e4340c55b9c7, rgb(24, 29, 39))\"},mXyBoP_mw:{rotate:45}}})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-HZ82J.framer-v4yyje, .framer-HZ82J .framer-v4yyje { display: block; }\",\".framer-HZ82J.framer-1bqkx9z { cursor: pointer; height: 45px; overflow: hidden; position: relative; width: 44px; will-change: var(--framer-will-change-override, transform); }\",\".framer-HZ82J .framer-lkslhn { bottom: 21px; flex: none; left: 10px; overflow: hidden; position: absolute; right: 10px; top: 21px; will-change: var(--framer-will-change-override, transform); }\",\".framer-HZ82J .framer-ilaub3 { flex: none; height: 2px; left: calc(50.00000000000002% - 24px / 2); overflow: hidden; position: absolute; top: calc(63.636363636363654% - 2px / 2); width: 24px; will-change: var(--framer-will-change-override, transform); }\",\".framer-HZ82J .framer-u9raum { flex: none; height: 2px; left: calc(50.00000000000002% - 24px / 2); overflow: hidden; position: absolute; top: calc(36.36363636363639% - 2px / 2); width: 24px; will-change: var(--framer-will-change-override, transform); }\",\".framer-HZ82J.framer-v-tifltr.framer-1bqkx9z, .framer-HZ82J.framer-v-1bqkx9z.hover.framer-1bqkx9z { aspect-ratio: 1 / 1; height: var(--framer-aspect-ratio-supported, 44px); }\",\".framer-HZ82J.framer-v-tifltr .framer-ilaub3, .framer-HZ82J.framer-v-tifltr .framer-u9raum { top: calc(50.00000000000002% - 2px / 2); }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 44\n * @framerIntrinsicWidth 44\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"mXyBoP_mw\":{\"layout\":[\"fixed\",\"fixed\"]},\"ZLxUe8k64\":{\"layout\":[\"fixed\",\"fixed\"]},\"QV2xSlzxb\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"XKaY3MrGu\":\"tap\",\"iD0zCmvyF\":\"click\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerkIclRVX2a=withCSS(Component,css,\"framer-HZ82J\");export default FramerkIclRVX2a;FramerkIclRVX2a.displayName=\"Icon\";FramerkIclRVX2a.defaultProps={height:44,width:44};addPropertyControls(FramerkIclRVX2a,{variant:{options:[\"awBjONRM2\",\"mXyBoP_mw\"],optionTitles:[\"Menu\",\"Close\"],title:\"Variant\",type:ControlType.Enum},XKaY3MrGu:{title:\"Tap\",type:ControlType.EventHandler},iD0zCmvyF:{title:\"Click\",type:ControlType.EventHandler}});addFonts(FramerkIclRVX2a,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerkIclRVX2a\",\"slots\":[],\"annotations\":{\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\",\"framerVariables\":\"{\\\"XKaY3MrGu\\\":\\\"tap\\\",\\\"iD0zCmvyF\\\":\\\"click\\\"}\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"mXyBoP_mw\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"ZLxUe8k64\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"QV2xSlzxb\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicWidth\":\"44\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"44\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./kIclRVX2a.map","// Page Scroll Progress Indicator\n// GPU-accelerated horizontal fill with original arrow shapes and confetti celebration\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState,useMemo,useCallback}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer,RenderTarget}from\"framer\";import{motion,AnimatePresence}from\"framer-motion\";/**\n * Page Scroll Progress Indicator\n *\n * @framerIntrinsicWidth 600\n * @framerIntrinsicHeight 8\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight fixed\n */export default function ScrollProgressIndicator(props){const{fillType,solidColor,gradientStart,gradientEnd,height,background,borderRadius,velocityBased,celebrationEffect,showArrow,arrowShape=\"arrow\",arrowSize,arrowFillType,arrowColor,arrowGradientStart,arrowGradientEnd,style}=props;const containerRef=useRef(null);const fillRef=useRef(null);const arrowRef=useRef(null);const rafRef=useRef(0);const progressRef=useRef(0);const lastScrollRef=useRef(0);const lastTimeRef=useRef(0);const velocityRef=useRef(0);const tickingRef=useRef(false);const hasReachedEndRef=useRef(false);const celebrationTimeoutRef=useRef(0);const containerWidthRef=useRef(0);const[showCelebration,setShowCelebration]=useState(false);const isStatic=useIsStaticRenderer();const gradientId=useMemo(()=>`spg-${Math.random().toString(36).substr(2,9)}`,[]);// Resolve arrow fill to match bar or use its own\nconst isMatch=arrowFillType===\"match\";const finalFillType=isMatch?fillType:arrowFillType;const finalColor=isMatch?solidColor:arrowColor;const finalStart=isMatch?gradientStart:arrowGradientStart;const finalEnd=isMatch?gradientEnd:arrowGradientEnd;// Filled arrow SVG paths (arrow, triangle, circle)\nconst getArrowPath=()=>{switch(arrowShape){case\"arrow\":return\"M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z\";case\"circle\":return\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z\";case\"triangle\":default:return\"M8 5v14l11-7z\";}};const isChevron=arrowShape===\"chevron\";// Chevron stroke width: compensate for SVG scaling so it always renders at 1px\nconst chevronStrokeWidth=24/arrowSize;// Color value for both fill and stroke modes\nconst colorVal=finalFillType===\"solid\"?finalColor:`url(#${gradientId})`;// Cache container width via ResizeObserver for GPU-only arrow positioning\nuseEffect(()=>{function measure(){if(containerRef.current){containerWidthRef.current=containerRef.current.offsetWidth;}}measure();const ro=new ResizeObserver(measure);if(containerRef.current)ro.observe(containerRef.current);return()=>ro.disconnect();},[]);// Direct DOM update — zero React re-renders during scroll\nconst updateBar=useCallback(()=>{const p=progressRef.current;const v=velocityRef.current;const dur=velocityBased?`${Math.max(250*(1-Math.min(v*.5,1)*.7),50)}ms`:\"80ms\";if(fillRef.current){fillRef.current.style.transform=`scaleX(${p})`;if(velocityBased)fillRef.current.style.transitionDuration=dur;}if(arrowRef.current){const px=p*containerWidthRef.current;arrowRef.current.style.transform=`translate(${px-arrowSize*.5}px, calc(-50% + 0.5px))`;if(velocityBased)arrowRef.current.style.transitionDuration=dur;}tickingRef.current=false;},[velocityBased,arrowSize]);// Scroll listener with RAF throttle\nuseEffect(()=>{if(isStatic||typeof window===\"undefined\")return;function onScroll(){const scrollTop=window.scrollY||window.pageYOffset;const now=Date.now();if(velocityBased){const dt=now-lastTimeRef.current;if(dt>0&&dt<200){velocityRef.current=Math.abs(scrollTop-lastScrollRef.current)/dt;}}lastScrollRef.current=scrollTop;lastTimeRef.current=now;const docH=document.documentElement.scrollHeight-window.innerHeight;progressRef.current=docH>0?Math.min(Math.max(scrollTop/docH,0),1):0;if(celebrationEffect&&progressRef.current>=1&&!hasReachedEndRef.current){hasReachedEndRef.current=true;setShowCelebration(true);celebrationTimeoutRef.current=window.setTimeout(()=>setShowCelebration(false),2500);}if(progressRef.current<.95){hasReachedEndRef.current=false;}if(!tickingRef.current){tickingRef.current=true;rafRef.current=requestAnimationFrame(updateBar);}}window.addEventListener(\"scroll\",onScroll,{passive:true});onScroll();return()=>{window.removeEventListener(\"scroll\",onScroll);if(rafRef.current)cancelAnimationFrame(rafRef.current);if(celebrationTimeoutRef.current)clearTimeout(celebrationTimeoutRef.current);};},[isStatic,celebrationEffect,velocityBased,updateBar]);// Confetti particles\nconst confettiColors=[\"#FF6B6B\",\"#4ECDC4\",\"#FFE66D\",\"#A8E6CF\",\"#FF8B94\",\"#88D8B0\",\"#FFAAA5\",\"#B5EAD7\"];const confetti=useMemo(()=>Array.from({length:40}).map((_,i)=>{const angle=Math.random()*Math.PI*2;const dist=20+Math.random()*40;return{x:Math.cos(angle)*dist,y:Math.sin(angle)*dist,rot:Math.random()*360,shape:i%3,color:confettiColors[Math.floor(Math.random()*confettiColors.length)],size:3+Math.random()*5,delay:Math.random()*.3};}),[]);if(RenderTarget.current()===RenderTarget.thumbnail)return null;const baseTransition=velocityBased?\"transform 0.15s cubic-bezier(0.25, 0.1, 0.25, 1)\":\"transform 0.08s linear\";return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{position:\"relative\",width:\"100%\",height,background,borderRadius,overflow:\"visible\",...style},role:\"progressbar\",\"aria-label\":\"Scroll progress\",\"aria-valuenow\":0,\"aria-valuemin\":0,\"aria-valuemax\":100,children:[/*#__PURE__*/_jsx(\"div\",{ref:fillRef,style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",borderRadius,transformOrigin:\"left center\",transform:\"scaleX(0)\",transition:baseTransition,willChange:\"transform\",background:fillType===\"solid\"?solidColor:`linear-gradient(90deg, ${gradientStart}, ${gradientEnd})`}}),showArrow&&/*#__PURE__*/_jsx(\"div\",{ref:arrowRef,style:{position:\"absolute\",top:\"50%\",left:0,width:arrowSize,height:arrowSize,transform:`translate(${-arrowSize*.5}px, calc(-50% + 0.5px))`,pointerEvents:\"none\",willChange:\"transform\",transition:baseTransition,color:finalFillType===\"solid\"?finalColor:undefined,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"100%\",height:\"100%\",viewBox:\"0 0 24 24\",fill:isChevron?\"none\":finalFillType===\"solid\"?\"currentColor\":`url(#${gradientId})`,style:{display:\"block\",overflow:\"visible\"},children:[finalFillType===\"gradient\"&&/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsxs(\"linearGradient\",{id:gradientId,x1:\"0%\",y1:\"0%\",x2:\"100%\",y2:\"0%\",children:[/*#__PURE__*/_jsx(\"stop\",{offset:\"0%\",stopColor:finalStart}),/*#__PURE__*/_jsx(\"stop\",{offset:\"100%\",stopColor:finalEnd})]})}),isChevron?/*#__PURE__*/_jsx(\"polyline\",{points:\"10,6 16,12 10,18\",stroke:colorVal,strokeWidth:chevronStrokeWidth,strokeLinecap:\"butt\",strokeLinejoin:\"miter\",fill:\"none\"}):/*#__PURE__*/_jsx(\"path\",{d:getArrowPath()})]})}),/*#__PURE__*/_jsx(AnimatePresence,{children:celebrationEffect&&showCelebration&&confetti.map((p,i)=>/*#__PURE__*/_jsx(motion.div,{initial:{opacity:1,x:0,y:0,scale:1,rotate:0},animate:{opacity:0,x:p.x,y:p.y,scale:.3,rotate:p.rot},exit:{opacity:0},transition:{duration:1.8,ease:\"easeOut\",delay:p.delay},style:{position:\"absolute\",top:\"50%\",right:0,width:p.shape===2?p.size*.4:p.size,height:p.shape===2?p.size*1.5:p.size,borderRadius:p.shape===1?\"50%\":p.shape===2?\"1px\":\"2px\",background:p.color,pointerEvents:\"none\",zIndex:10}},i))})]});}addPropertyControls(ScrollProgressIndicator,{fillType:{type:ControlType.Enum,title:\"Fill Type\",options:[\"solid\",\"gradient\"],optionTitles:[\"Solid\",\"Gradient\"],defaultValue:\"solid\",displaySegmentedControl:true},solidColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"#0099FF\",hidden:({fillType})=>fillType!==\"solid\"},gradientStart:{type:ControlType.Color,title:\"Gradient Start\",defaultValue:\"#0099FF\",hidden:({fillType})=>fillType!==\"gradient\"},gradientEnd:{type:ControlType.Color,title:\"Gradient End\",defaultValue:\"#8855FF\",hidden:({fillType})=>fillType!==\"gradient\"},velocityBased:{type:ControlType.Boolean,title:\"Velocity Animation\",defaultValue:true,enabledTitle:\"Adaptive\",disabledTitle:\"Fixed\"},celebrationEffect:{type:ControlType.Boolean,title:\"100% Celebration\",defaultValue:true,enabledTitle:\"Enabled\",disabledTitle:\"Disabled\"},showArrow:{type:ControlType.Boolean,title:\"Show Arrow\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},arrowShape:{type:ControlType.Enum,title:\"Arrow Shape\",options:[\"arrow\",\"triangle\",\"chevron\",\"circle\"],optionTitles:[\"Arrow\",\"Triangle\",\"Chevron\",\"Circle\"],defaultValue:\"arrow\",hidden:({showArrow})=>!showArrow},arrowSize:{type:ControlType.Number,title:\"Arrow Size\",defaultValue:16,min:4,max:24,hidden:({showArrow})=>!showArrow},arrowFillType:{type:ControlType.Enum,title:\"Arrow Fill\",options:[\"solid\",\"gradient\",\"match\"],optionTitles:[\"Solid\",\"Gradient\",\"Match Bar\"],defaultValue:\"solid\",hidden:({showArrow})=>!showArrow},arrowColor:{type:ControlType.Color,title:\"Arrow Color\",defaultValue:\"#0099FF\",hidden:({showArrow,arrowFillType})=>!showArrow||arrowFillType!==\"solid\"},arrowGradientStart:{type:ControlType.Color,title:\"Arrow Gradient Start\",defaultValue:\"#0099FF\",hidden:({showArrow,arrowFillType})=>!showArrow||arrowFillType!==\"gradient\"},arrowGradientEnd:{type:ControlType.Color,title:\"Arrow Gradient End\",defaultValue:\"#8855FF\",hidden:({showArrow,arrowFillType})=>!showArrow||arrowFillType!==\"gradient\"},height:{type:ControlType.Number,title:\"Height\",defaultValue:8,min:0,max:32,unit:\"px\"},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"#EEEEEE\"},borderRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:4,min:0,max:32,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ScrollProgressIndicator\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"8\",\"framerIntrinsicWidth\":\"600\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ScrollProgressIndicator_2.map"],"mappings":"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"}