var kb=Object.defineProperty;var Hh=e=>{throw TypeError(e)};var Sb=(e,t,a)=>t in e?kb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var na=(e,t,a)=>Sb(e,typeof t!="symbol"?t+"":t,a),Yl=(e,t,a)=>t.has(e)||Hh("Cannot "+a);var A=(e,t,a)=>(Yl(e,t,"read from private field"),a?a.call(e):t.get(e)),Y=(e,t,a)=>t.has(e)?Hh("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,a),B=(e,t,a,s)=>(Yl(e,t,"write to private field"),s?s.call(e,a):t.set(e,a),a),Ae=(e,t,a)=>(Yl(e,t,"access private method"),a);var Si=(e,t,a,s)=>({set _(n){B(e,t,n,a)},get _(){return A(e,t,s)}});function Ab(e,t){for(var a=0;a<t.length;a++){const s=t[a];if(typeof s!="string"&&!Array.isArray(s)){for(const n in s)if(n!=="default"&&!(n in e)){const r=Object.getOwnPropertyDescriptor(s,n);r&&Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:()=>s[n]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))s(n);new MutationObserver(n=>{for(const r of n)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function a(n){const r={};return n.integrity&&(r.integrity=n.integrity),n.referrerPolicy&&(r.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?r.credentials="include":n.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(n){if(n.ep)return;n.ep=!0;const r=a(n);fetch(n.href,r)}})();function ui(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var mx={exports:{}},gl={},gx={exports:{}},K={};/**
 * @license React
 * react.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var pi=Symbol.for("react.element"),Tb=Symbol.for("react.portal"),Eb=Symbol.for("react.fragment"),Rb=Symbol.for("react.strict_mode"),Db=Symbol.for("react.profiler"),Mb=Symbol.for("react.provider"),Ob=Symbol.for("react.context"),Lb=Symbol.for("react.forward_ref"),zb=Symbol.for("react.suspense"),Hb=Symbol.for("react.memo"),Vb=Symbol.for("react.lazy"),Vh=Symbol.iterator;function Fb(e){return e===null||typeof e!="object"?null:(e=Vh&&e[Vh]||e["@@iterator"],typeof e=="function"?e:null)}var xx={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},yx=Object.assign,vx={};function qn(e,t,a){this.props=e,this.context=t,this.refs=vx,this.updater=a||xx}qn.prototype.isReactComponent={};qn.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};qn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function wx(){}wx.prototype=qn.prototype;function _u(e,t,a){this.props=e,this.context=t,this.refs=vx,this.updater=a||xx}var Iu=_u.prototype=new wx;Iu.constructor=_u;yx(Iu,qn.prototype);Iu.isPureReactComponent=!0;var Fh=Array.isArray,bx=Object.prototype.hasOwnProperty,qu={current:null},Px={key:!0,ref:!0,__self:!0,__source:!0};function jx(e,t,a){var s,n={},r=null,o=null;if(t!=null)for(s in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(r=""+t.key),t)bx.call(t,s)&&!Px.hasOwnProperty(s)&&(n[s]=t[s]);var l=arguments.length-2;if(l===1)n.children=a;else if(1<l){for(var c=Array(l),d=0;d<l;d++)c[d]=arguments[d+2];n.children=c}if(e&&e.defaultProps)for(s in l=e.defaultProps,l)n[s]===void 0&&(n[s]=l[s]);return{$$typeof:pi,type:e,key:r,ref:o,props:n,_owner:qu.current}}function _b(e,t){return{$$typeof:pi,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function Bu(e){return typeof e=="object"&&e!==null&&e.$$typeof===pi}function Ib(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(a){return t[a]})}var _h=/\/+/g;function Xl(e,t){return typeof e=="object"&&e!==null&&e.key!=null?Ib(""+e.key):t.toString(36)}function to(e,t,a,s,n){var r=typeof e;(r==="undefined"||r==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(r){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case pi:case Tb:o=!0}}if(o)return o=e,n=n(o),e=s===""?"."+Xl(o,0):s,Fh(n)?(a="",e!=null&&(a=e.replace(_h,"$&/")+"/"),to(n,t,a,"",function(d){return d})):n!=null&&(Bu(n)&&(n=_b(n,a+(!n.key||o&&o.key===n.key?"":(""+n.key).replace(_h,"$&/")+"/")+e)),t.push(n)),1;if(o=0,s=s===""?".":s+":",Fh(e))for(var l=0;l<e.length;l++){r=e[l];var c=s+Xl(r,l);o+=to(r,t,a,c,n)}else if(c=Fb(e),typeof c=="function")for(e=c.call(e),l=0;!(r=e.next()).done;)r=r.value,c=s+Xl(r,l++),o+=to(r,t,a,c,n);else if(r==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return o}function Ai(e,t,a){if(e==null)return e;var s=[],n=0;return to(e,s,"","",function(r){return t.call(a,r,n++)}),s}function qb(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(a){(e._status===0||e._status===-1)&&(e._status=1,e._result=a)},function(a){(e._status===0||e._status===-1)&&(e._status=2,e._result=a)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var Qe={current:null},ao={transition:null},Bb={ReactCurrentDispatcher:Qe,ReactCurrentBatchConfig:ao,ReactCurrentOwner:qu};function Cx(){throw Error("act(...) is not supported in production builds of React.")}K.Children={map:Ai,forEach:function(e,t,a){Ai(e,function(){t.apply(this,arguments)},a)},count:function(e){var t=0;return Ai(e,function(){t++}),t},toArray:function(e){return Ai(e,function(t){return t})||[]},only:function(e){if(!Bu(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};K.Component=qn;K.Fragment=Eb;K.Profiler=Db;K.PureComponent=_u;K.StrictMode=Rb;K.Suspense=zb;K.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Bb;K.act=Cx;K.cloneElement=function(e,t,a){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var s=yx({},e.props),n=e.key,r=e.ref,o=e._owner;if(t!=null){if(t.ref!==void 0&&(r=t.ref,o=qu.current),t.key!==void 0&&(n=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)bx.call(t,c)&&!Px.hasOwnProperty(c)&&(s[c]=t[c]===void 0&&l!==void 0?l[c]:t[c])}var c=arguments.length-2;if(c===1)s.children=a;else if(1<c){l=Array(c);for(var d=0;d<c;d++)l[d]=arguments[d+2];s.children=l}return{$$typeof:pi,type:e.type,key:n,ref:r,props:s,_owner:o}};K.createContext=function(e){return e={$$typeof:Ob,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:Mb,_context:e},e.Consumer=e};K.createElement=jx;K.createFactory=function(e){var t=jx.bind(null,e);return t.type=e,t};K.createRef=function(){return{current:null}};K.forwardRef=function(e){return{$$typeof:Lb,render:e}};K.isValidElement=Bu;K.lazy=function(e){return{$$typeof:Vb,_payload:{_status:-1,_result:e},_init:qb}};K.memo=function(e,t){return{$$typeof:Hb,type:e,compare:t===void 0?null:t}};K.startTransition=function(e){var t=ao.transition;ao.transition={};try{e()}finally{ao.transition=t}};K.unstable_act=Cx;K.useCallback=function(e,t){return Qe.current.useCallback(e,t)};K.useContext=function(e){return Qe.current.useContext(e)};K.useDebugValue=function(){};K.useDeferredValue=function(e){return Qe.current.useDeferredValue(e)};K.useEffect=function(e,t){return Qe.current.useEffect(e,t)};K.useId=function(){return Qe.current.useId()};K.useImperativeHandle=function(e,t,a){return Qe.current.useImperativeHandle(e,t,a)};K.useInsertionEffect=function(e,t){return Qe.current.useInsertionEffect(e,t)};K.useLayoutEffect=function(e,t){return Qe.current.useLayoutEffect(e,t)};K.useMemo=function(e,t){return Qe.current.useMemo(e,t)};K.useReducer=function(e,t,a){return Qe.current.useReducer(e,t,a)};K.useRef=function(e){return Qe.current.useRef(e)};K.useState=function(e){return Qe.current.useState(e)};K.useSyncExternalStore=function(e,t,a){return Qe.current.useSyncExternalStore(e,t,a)};K.useTransition=function(){return Qe.current.useTransition()};K.version="18.3.1";gx.exports=K;var w=gx.exports;const Re=ui(w),$u=Ab({__proto__:null,default:Re},[w]);/**
 * @license React
 * react-jsx-runtime.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var $b=w,Wb=Symbol.for("react.element"),Ub=Symbol.for("react.fragment"),Qb=Object.prototype.hasOwnProperty,Gb=$b.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Kb={key:!0,ref:!0,__self:!0,__source:!0};function Nx(e,t,a){var s,n={},r=null,o=null;a!==void 0&&(r=""+a),t.key!==void 0&&(r=""+t.key),t.ref!==void 0&&(o=t.ref);for(s in t)Qb.call(t,s)&&!Kb.hasOwnProperty(s)&&(n[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps,t)n[s]===void 0&&(n[s]=t[s]);return{$$typeof:Wb,type:e,key:r,ref:o,props:n,_owner:Gb.current}}gl.Fragment=Ub;gl.jsx=Nx;gl.jsxs=Nx;mx.exports=gl;var i=mx.exports,kx={exports:{}},ct={},Sx={exports:{}},Ax={};/**
 * @license React
 * scheduler.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */(function(e){function t(S,D){var V=S.length;S.push(D);e:for(;0<V;){var W=V-1>>>1,te=S[W];if(0<n(te,D))S[W]=D,S[V]=te,V=W;else break e}}function a(S){return S.length===0?null:S[0]}function s(S){if(S.length===0)return null;var D=S[0],V=S.pop();if(V!==D){S[0]=V;e:for(var W=0,te=S.length,jt=te>>>1;W<jt;){var ut=2*(W+1)-1,Jn=S[ut],sa=ut+1,fs=S[sa];if(0>n(Jn,V))sa<te&&0>n(fs,Jn)?(S[W]=fs,S[sa]=V,W=sa):(S[W]=Jn,S[ut]=V,W=ut);else if(sa<te&&0>n(fs,V))S[W]=fs,S[sa]=V,W=sa;else break e}}return D}function n(S,D){var V=S.sortIndex-D.sortIndex;return V!==0?V:S.id-D.id}if(typeof performance=="object"&&typeof performance.now=="function"){var r=performance;e.unstable_now=function(){return r.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var c=[],d=[],u=1,p=null,h=3,f=!1,y=!1,v=!1,b=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,m=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function x(S){for(var D=a(d);D!==null;){if(D.callback===null)s(d);else if(D.startTime<=S)s(d),D.sortIndex=D.expirationTime,t(c,D);else break;D=a(d)}}function P(S){if(v=!1,x(S),!y)if(a(c)!==null)y=!0,I(j);else{var D=a(d);D!==null&&X(P,D.startTime-S)}}function j(S,D){y=!1,v&&(v=!1,g(k),k=-1),f=!0;var V=h;try{for(x(D),p=a(c);p!==null&&(!(p.expirationTime>D)||S&&!H());){var W=p.callback;if(typeof W=="function"){p.callback=null,h=p.priorityLevel;var te=W(p.expirationTime<=D);D=e.unstable_now(),typeof te=="function"?p.callback=te:p===a(c)&&s(c),x(D)}else s(c);p=a(c)}if(p!==null)var jt=!0;else{var ut=a(d);ut!==null&&X(P,ut.startTime-D),jt=!1}return jt}finally{p=null,h=V,f=!1}}var C=!1,N=null,k=-1,R=5,T=-1;function H(){return!(e.unstable_now()-T<R)}function O(){if(N!==null){var S=e.unstable_now();T=S;var D=!0;try{D=N(!0,S)}finally{D?U():(C=!1,N=null)}}else C=!1}var U;if(typeof m=="function")U=function(){m(O)};else if(typeof MessageChannel<"u"){var M=new MessageChannel,Q=M.port2;M.port1.onmessage=O,U=function(){Q.postMessage(null)}}else U=function(){b(O,0)};function I(S){N=S,C||(C=!0,U())}function X(S,D){k=b(function(){S(e.unstable_now())},D)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(S){S.callback=null},e.unstable_continueExecution=function(){y||f||(y=!0,I(j))},e.unstable_forceFrameRate=function(S){0>S||125<S?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):R=0<S?Math.floor(1e3/S):5},e.unstable_getCurrentPriorityLevel=function(){return h},e.unstable_getFirstCallbackNode=function(){return a(c)},e.unstable_next=function(S){switch(h){case 1:case 2:case 3:var D=3;break;default:D=h}var V=h;h=D;try{return S()}finally{h=V}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(S,D){switch(S){case 1:case 2:case 3:case 4:case 5:break;default:S=3}var V=h;h=S;try{return D()}finally{h=V}},e.unstable_scheduleCallback=function(S,D,V){var W=e.unstable_now();switch(typeof V=="object"&&V!==null?(V=V.delay,V=typeof V=="number"&&0<V?W+V:W):V=W,S){case 1:var te=-1;break;case 2:te=250;break;case 5:te=1073741823;break;case 4:te=1e4;break;default:te=5e3}return te=V+te,S={id:u++,callback:D,priorityLevel:S,startTime:V,expirationTime:te,sortIndex:-1},V>W?(S.sortIndex=V,t(d,S),a(c)===null&&S===a(d)&&(v?(g(k),k=-1):v=!0,X(P,V-W))):(S.sortIndex=te,t(c,S),y||f||(y=!0,I(j))),S},e.unstable_shouldYield=H,e.unstable_wrapCallback=function(S){var D=h;return function(){var V=h;h=D;try{return S.apply(this,arguments)}finally{h=V}}}})(Ax);Sx.exports=Ax;var Yb=Sx.exports;/**
 * @license React
 * react-dom.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var Xb=w,lt=Yb;function E(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,a=1;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var Tx=new Set,Lr={};function Bs(e,t){En(e,t),En(e+"Capture",t)}function En(e,t){for(Lr[e]=t,e=0;e<t.length;e++)Tx.add(t[e])}var ha=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Zc=Object.prototype.hasOwnProperty,Zb=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Ih={},qh={};function Jb(e){return Zc.call(qh,e)?!0:Zc.call(Ih,e)?!1:Zb.test(e)?qh[e]=!0:(Ih[e]=!0,!1)}function e2(e,t,a,s){if(a!==null&&a.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return s?!1:a!==null?!a.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function t2(e,t,a,s){if(t===null||typeof t>"u"||e2(e,t,a,s))return!0;if(s)return!1;if(a!==null)switch(a.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Ge(e,t,a,s,n,r,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=s,this.attributeNamespace=n,this.mustUseProperty=a,this.propertyName=e,this.type=t,this.sanitizeURL=r,this.removeEmptyString=o}var Oe={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Oe[e]=new Ge(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Oe[t]=new Ge(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Oe[e]=new Ge(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Oe[e]=new Ge(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Oe[e]=new Ge(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Oe[e]=new Ge(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Oe[e]=new Ge(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Oe[e]=new Ge(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Oe[e]=new Ge(e,5,!1,e.toLowerCase(),null,!1,!1)});var Wu=/[\-:]([a-z])/g;function Uu(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Wu,Uu);Oe[t]=new Ge(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Wu,Uu);Oe[t]=new Ge(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Wu,Uu);Oe[t]=new Ge(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Oe[e]=new Ge(e,1,!1,e.toLowerCase(),null,!1,!1)});Oe.xlinkHref=new Ge("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Oe[e]=new Ge(e,1,!1,e.toLowerCase(),null,!0,!0)});function Qu(e,t,a,s){var n=Oe.hasOwnProperty(t)?Oe[t]:null;(n!==null?n.type!==0:s||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(t2(t,a,n,s)&&(a=null),s||n===null?Jb(t)&&(a===null?e.removeAttribute(t):e.setAttribute(t,""+a)):n.mustUseProperty?e[n.propertyName]=a===null?n.type===3?!1:"":a:(t=n.attributeName,s=n.attributeNamespace,a===null?e.removeAttribute(t):(n=n.type,a=n===3||n===4&&a===!0?"":""+a,s?e.setAttributeNS(s,t,a):e.setAttribute(t,a))))}var va=Xb.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Ti=Symbol.for("react.element"),Ys=Symbol.for("react.portal"),Xs=Symbol.for("react.fragment"),Gu=Symbol.for("react.strict_mode"),Jc=Symbol.for("react.profiler"),Ex=Symbol.for("react.provider"),Rx=Symbol.for("react.context"),Ku=Symbol.for("react.forward_ref"),ed=Symbol.for("react.suspense"),td=Symbol.for("react.suspense_list"),Yu=Symbol.for("react.memo"),Ea=Symbol.for("react.lazy"),Dx=Symbol.for("react.offscreen"),Bh=Symbol.iterator;function tr(e){return e===null||typeof e!="object"?null:(e=Bh&&e[Bh]||e["@@iterator"],typeof e=="function"?e:null)}var de=Object.assign,Zl;function mr(e){if(Zl===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);Zl=t&&t[1]||""}return`
`+Zl+e}var Jl=!1;function ec(e,t){if(!e||Jl)return"";Jl=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(d){var s=d}Reflect.construct(e,[],t)}else{try{t.call()}catch(d){s=d}e.call(t.prototype)}else{try{throw Error()}catch(d){s=d}e()}}catch(d){if(d&&s&&typeof d.stack=="string"){for(var n=d.stack.split(`
`),r=s.stack.split(`
`),o=n.length-1,l=r.length-1;1<=o&&0<=l&&n[o]!==r[l];)l--;for(;1<=o&&0<=l;o--,l--)if(n[o]!==r[l]){if(o!==1||l!==1)do if(o--,l--,0>l||n[o]!==r[l]){var c=`
`+n[o].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}while(1<=o&&0<=l);break}}}finally{Jl=!1,Error.prepareStackTrace=a}return(e=e?e.displayName||e.name:"")?mr(e):""}function a2(e){switch(e.tag){case 5:return mr(e.type);case 16:return mr("Lazy");case 13:return mr("Suspense");case 19:return mr("SuspenseList");case 0:case 2:case 15:return e=ec(e.type,!1),e;case 11:return e=ec(e.type.render,!1),e;case 1:return e=ec(e.type,!0),e;default:return""}}function ad(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Xs:return"Fragment";case Ys:return"Portal";case Jc:return"Profiler";case Gu:return"StrictMode";case ed:return"Suspense";case td:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Rx:return(e.displayName||"Context")+".Consumer";case Ex:return(e._context.displayName||"Context")+".Provider";case Ku:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Yu:return t=e.displayName||null,t!==null?t:ad(e.type)||"Memo";case Ea:t=e._payload,e=e._init;try{return ad(e(t))}catch{}}return null}function s2(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ad(t);case 8:return t===Gu?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function es(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Mx(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function n2(e){var t=Mx(e)?"checked":"value",a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),s=""+e[t];if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var n=a.get,r=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return n.call(this)},set:function(o){s=""+o,r.call(this,o)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return s},setValue:function(o){s=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ei(e){e._valueTracker||(e._valueTracker=n2(e))}function Ox(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),s="";return e&&(s=Mx(e)?e.checked?"true":"false":e.value),e=s,e!==a?(t.setValue(e),!0):!1}function Ao(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function sd(e,t){var a=t.checked;return de({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:a??e._wrapperState.initialChecked})}function $h(e,t){var a=t.defaultValue==null?"":t.defaultValue,s=t.checked!=null?t.checked:t.defaultChecked;a=es(t.value!=null?t.value:a),e._wrapperState={initialChecked:s,initialValue:a,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Lx(e,t){t=t.checked,t!=null&&Qu(e,"checked",t,!1)}function nd(e,t){Lx(e,t);var a=es(t.value),s=t.type;if(a!=null)s==="number"?(a===0&&e.value===""||e.value!=a)&&(e.value=""+a):e.value!==""+a&&(e.value=""+a);else if(s==="submit"||s==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?rd(e,t.type,a):t.hasOwnProperty("defaultValue")&&rd(e,t.type,es(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Wh(e,t,a){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var s=t.type;if(!(s!=="submit"&&s!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,a||t===e.value||(e.value=t),e.defaultValue=t}a=e.name,a!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,a!==""&&(e.name=a)}function rd(e,t,a){(t!=="number"||Ao(e.ownerDocument)!==e)&&(a==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+a&&(e.defaultValue=""+a))}var gr=Array.isArray;function pn(e,t,a,s){if(e=e.options,t){t={};for(var n=0;n<a.length;n++)t["$"+a[n]]=!0;for(a=0;a<e.length;a++)n=t.hasOwnProperty("$"+e[a].value),e[a].selected!==n&&(e[a].selected=n),n&&s&&(e[a].defaultSelected=!0)}else{for(a=""+es(a),t=null,n=0;n<e.length;n++){if(e[n].value===a){e[n].selected=!0,s&&(e[n].defaultSelected=!0);return}t!==null||e[n].disabled||(t=e[n])}t!==null&&(t.selected=!0)}}function id(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(E(91));return de({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Uh(e,t){var a=t.value;if(a==null){if(a=t.children,t=t.defaultValue,a!=null){if(t!=null)throw Error(E(92));if(gr(a)){if(1<a.length)throw Error(E(93));a=a[0]}t=a}t==null&&(t=""),a=t}e._wrapperState={initialValue:es(a)}}function zx(e,t){var a=es(t.value),s=es(t.defaultValue);a!=null&&(a=""+a,a!==e.value&&(e.value=a),t.defaultValue==null&&e.defaultValue!==a&&(e.defaultValue=a)),s!=null&&(e.defaultValue=""+s)}function Qh(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function Hx(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function od(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?Hx(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var Ri,Vx=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,a,s,n){MSApp.execUnsafeLocalFunction(function(){return e(t,a,s,n)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(Ri=Ri||document.createElement("div"),Ri.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Ri.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function zr(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var br={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},r2=["Webkit","ms","Moz","O"];Object.keys(br).forEach(function(e){r2.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),br[t]=br[e]})});function Fx(e,t,a){return t==null||typeof t=="boolean"||t===""?"":a||typeof t!="number"||t===0||br.hasOwnProperty(e)&&br[e]?(""+t).trim():t+"px"}function _x(e,t){e=e.style;for(var a in t)if(t.hasOwnProperty(a)){var s=a.indexOf("--")===0,n=Fx(a,t[a],s);a==="float"&&(a="cssFloat"),s?e.setProperty(a,n):e[a]=n}}var i2=de({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ld(e,t){if(t){if(i2[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(E(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(E(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(E(61))}if(t.style!=null&&typeof t.style!="object")throw Error(E(62))}}function cd(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var dd=null;function Xu(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ud=null,hn=null,fn=null;function Gh(e){if(e=mi(e)){if(typeof ud!="function")throw Error(E(280));var t=e.stateNode;t&&(t=bl(t),ud(e.stateNode,e.type,t))}}function Ix(e){hn?fn?fn.push(e):fn=[e]:hn=e}function qx(){if(hn){var e=hn,t=fn;if(fn=hn=null,Gh(e),t)for(e=0;e<t.length;e++)Gh(t[e])}}function Bx(e,t){return e(t)}function $x(){}var tc=!1;function Wx(e,t,a){if(tc)return e(t,a);tc=!0;try{return Bx(e,t,a)}finally{tc=!1,(hn!==null||fn!==null)&&($x(),qx())}}function Hr(e,t){var a=e.stateNode;if(a===null)return null;var s=bl(a);if(s===null)return null;a=s[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(s=!s.disabled)||(e=e.type,s=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!s;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(E(231,t,typeof a));return a}var pd=!1;if(ha)try{var ar={};Object.defineProperty(ar,"passive",{get:function(){pd=!0}}),window.addEventListener("test",ar,ar),window.removeEventListener("test",ar,ar)}catch{pd=!1}function o2(e,t,a,s,n,r,o,l,c){var d=Array.prototype.slice.call(arguments,3);try{t.apply(a,d)}catch(u){this.onError(u)}}var Pr=!1,To=null,Eo=!1,hd=null,l2={onError:function(e){Pr=!0,To=e}};function c2(e,t,a,s,n,r,o,l,c){Pr=!1,To=null,o2.apply(l2,arguments)}function d2(e,t,a,s,n,r,o,l,c){if(c2.apply(this,arguments),Pr){if(Pr){var d=To;Pr=!1,To=null}else throw Error(E(198));Eo||(Eo=!0,hd=d)}}function $s(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function Ux(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Kh(e){if($s(e)!==e)throw Error(E(188))}function u2(e){var t=e.alternate;if(!t){if(t=$s(e),t===null)throw Error(E(188));return t!==e?null:e}for(var a=e,s=t;;){var n=a.return;if(n===null)break;var r=n.alternate;if(r===null){if(s=n.return,s!==null){a=s;continue}break}if(n.child===r.child){for(r=n.child;r;){if(r===a)return Kh(n),e;if(r===s)return Kh(n),t;r=r.sibling}throw Error(E(188))}if(a.return!==s.return)a=n,s=r;else{for(var o=!1,l=n.child;l;){if(l===a){o=!0,a=n,s=r;break}if(l===s){o=!0,s=n,a=r;break}l=l.sibling}if(!o){for(l=r.child;l;){if(l===a){o=!0,a=r,s=n;break}if(l===s){o=!0,s=r,a=n;break}l=l.sibling}if(!o)throw Error(E(189))}}if(a.alternate!==s)throw Error(E(190))}if(a.tag!==3)throw Error(E(188));return a.stateNode.current===a?e:t}function Qx(e){return e=u2(e),e!==null?Gx(e):null}function Gx(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=Gx(e);if(t!==null)return t;e=e.sibling}return null}var Kx=lt.unstable_scheduleCallback,Yh=lt.unstable_cancelCallback,p2=lt.unstable_shouldYield,h2=lt.unstable_requestPaint,me=lt.unstable_now,f2=lt.unstable_getCurrentPriorityLevel,Zu=lt.unstable_ImmediatePriority,Yx=lt.unstable_UserBlockingPriority,Ro=lt.unstable_NormalPriority,m2=lt.unstable_LowPriority,Xx=lt.unstable_IdlePriority,xl=null,Yt=null;function g2(e){if(Yt&&typeof Yt.onCommitFiberRoot=="function")try{Yt.onCommitFiberRoot(xl,e,void 0,(e.current.flags&128)===128)}catch{}}var Mt=Math.clz32?Math.clz32:v2,x2=Math.log,y2=Math.LN2;function v2(e){return e>>>=0,e===0?32:31-(x2(e)/y2|0)|0}var Di=64,Mi=4194304;function xr(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Do(e,t){var a=e.pendingLanes;if(a===0)return 0;var s=0,n=e.suspendedLanes,r=e.pingedLanes,o=a&268435455;if(o!==0){var l=o&~n;l!==0?s=xr(l):(r&=o,r!==0&&(s=xr(r)))}else o=a&~n,o!==0?s=xr(o):r!==0&&(s=xr(r));if(s===0)return 0;if(t!==0&&t!==s&&!(t&n)&&(n=s&-s,r=t&-t,n>=r||n===16&&(r&4194240)!==0))return t;if(s&4&&(s|=a&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=s;0<t;)a=31-Mt(t),n=1<<a,s|=e[a],t&=~n;return s}function w2(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function b2(e,t){for(var a=e.suspendedLanes,s=e.pingedLanes,n=e.expirationTimes,r=e.pendingLanes;0<r;){var o=31-Mt(r),l=1<<o,c=n[o];c===-1?(!(l&a)||l&s)&&(n[o]=w2(l,t)):c<=t&&(e.expiredLanes|=l),r&=~l}}function fd(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function Zx(){var e=Di;return Di<<=1,!(Di&4194240)&&(Di=64),e}function ac(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function hi(e,t,a){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Mt(t),e[t]=a}function P2(e,t){var a=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var s=e.eventTimes;for(e=e.expirationTimes;0<a;){var n=31-Mt(a),r=1<<n;t[n]=0,s[n]=-1,e[n]=-1,a&=~r}}function Ju(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var s=31-Mt(a),n=1<<s;n&t|e[s]&t&&(e[s]|=t),a&=~n}}var J=0;function Jx(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var ey,ep,ty,ay,sy,md=!1,Oi=[],Wa=null,Ua=null,Qa=null,Vr=new Map,Fr=new Map,Da=[],j2="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Xh(e,t){switch(e){case"focusin":case"focusout":Wa=null;break;case"dragenter":case"dragleave":Ua=null;break;case"mouseover":case"mouseout":Qa=null;break;case"pointerover":case"pointerout":Vr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Fr.delete(t.pointerId)}}function sr(e,t,a,s,n,r){return e===null||e.nativeEvent!==r?(e={blockedOn:t,domEventName:a,eventSystemFlags:s,nativeEvent:r,targetContainers:[n]},t!==null&&(t=mi(t),t!==null&&ep(t)),e):(e.eventSystemFlags|=s,t=e.targetContainers,n!==null&&t.indexOf(n)===-1&&t.push(n),e)}function C2(e,t,a,s,n){switch(t){case"focusin":return Wa=sr(Wa,e,t,a,s,n),!0;case"dragenter":return Ua=sr(Ua,e,t,a,s,n),!0;case"mouseover":return Qa=sr(Qa,e,t,a,s,n),!0;case"pointerover":var r=n.pointerId;return Vr.set(r,sr(Vr.get(r)||null,e,t,a,s,n)),!0;case"gotpointercapture":return r=n.pointerId,Fr.set(r,sr(Fr.get(r)||null,e,t,a,s,n)),!0}return!1}function ny(e){var t=ws(e.target);if(t!==null){var a=$s(t);if(a!==null){if(t=a.tag,t===13){if(t=Ux(a),t!==null){e.blockedOn=t,sy(e.priority,function(){ty(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function so(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=gd(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(a===null){a=e.nativeEvent;var s=new a.constructor(a.type,a);dd=s,a.target.dispatchEvent(s),dd=null}else return t=mi(a),t!==null&&ep(t),e.blockedOn=a,!1;t.shift()}return!0}function Zh(e,t,a){so(e)&&a.delete(t)}function N2(){md=!1,Wa!==null&&so(Wa)&&(Wa=null),Ua!==null&&so(Ua)&&(Ua=null),Qa!==null&&so(Qa)&&(Qa=null),Vr.forEach(Zh),Fr.forEach(Zh)}function nr(e,t){e.blockedOn===t&&(e.blockedOn=null,md||(md=!0,lt.unstable_scheduleCallback(lt.unstable_NormalPriority,N2)))}function _r(e){function t(n){return nr(n,e)}if(0<Oi.length){nr(Oi[0],e);for(var a=1;a<Oi.length;a++){var s=Oi[a];s.blockedOn===e&&(s.blockedOn=null)}}for(Wa!==null&&nr(Wa,e),Ua!==null&&nr(Ua,e),Qa!==null&&nr(Qa,e),Vr.forEach(t),Fr.forEach(t),a=0;a<Da.length;a++)s=Da[a],s.blockedOn===e&&(s.blockedOn=null);for(;0<Da.length&&(a=Da[0],a.blockedOn===null);)ny(a),a.blockedOn===null&&Da.shift()}var mn=va.ReactCurrentBatchConfig,Mo=!0;function k2(e,t,a,s){var n=J,r=mn.transition;mn.transition=null;try{J=1,tp(e,t,a,s)}finally{J=n,mn.transition=r}}function S2(e,t,a,s){var n=J,r=mn.transition;mn.transition=null;try{J=4,tp(e,t,a,s)}finally{J=n,mn.transition=r}}function tp(e,t,a,s){if(Mo){var n=gd(e,t,a,s);if(n===null)pc(e,t,s,Oo,a),Xh(e,s);else if(C2(n,e,t,a,s))s.stopPropagation();else if(Xh(e,s),t&4&&-1<j2.indexOf(e)){for(;n!==null;){var r=mi(n);if(r!==null&&ey(r),r=gd(e,t,a,s),r===null&&pc(e,t,s,Oo,a),r===n)break;n=r}n!==null&&s.stopPropagation()}else pc(e,t,s,null,a)}}var Oo=null;function gd(e,t,a,s){if(Oo=null,e=Xu(s),e=ws(e),e!==null)if(t=$s(e),t===null)e=null;else if(a=t.tag,a===13){if(e=Ux(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Oo=e,null}function ry(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(f2()){case Zu:return 1;case Yx:return 4;case Ro:case m2:return 16;case Xx:return 536870912;default:return 16}default:return 16}}var Ia=null,ap=null,no=null;function iy(){if(no)return no;var e,t=ap,a=t.length,s,n="value"in Ia?Ia.value:Ia.textContent,r=n.length;for(e=0;e<a&&t[e]===n[e];e++);var o=a-e;for(s=1;s<=o&&t[a-s]===n[r-s];s++);return no=n.slice(e,1<s?1-s:void 0)}function ro(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Li(){return!0}function Jh(){return!1}function dt(e){function t(a,s,n,r,o){this._reactName=a,this._targetInst=n,this.type=s,this.nativeEvent=r,this.target=o,this.currentTarget=null;for(var l in e)e.hasOwnProperty(l)&&(a=e[l],this[l]=a?a(r):r[l]);return this.isDefaultPrevented=(r.defaultPrevented!=null?r.defaultPrevented:r.returnValue===!1)?Li:Jh,this.isPropagationStopped=Jh,this}return de(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=Li)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Li)},persist:function(){},isPersistent:Li}),t}var Bn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},sp=dt(Bn),fi=de({},Bn,{view:0,detail:0}),A2=dt(fi),sc,nc,rr,yl=de({},fi,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:np,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==rr&&(rr&&e.type==="mousemove"?(sc=e.screenX-rr.screenX,nc=e.screenY-rr.screenY):nc=sc=0,rr=e),sc)},movementY:function(e){return"movementY"in e?e.movementY:nc}}),ef=dt(yl),T2=de({},yl,{dataTransfer:0}),E2=dt(T2),R2=de({},fi,{relatedTarget:0}),rc=dt(R2),D2=de({},Bn,{animationName:0,elapsedTime:0,pseudoElement:0}),M2=dt(D2),O2=de({},Bn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),L2=dt(O2),z2=de({},Bn,{data:0}),tf=dt(z2),H2={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},V2={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},F2={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function _2(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=F2[e])?!!t[e]:!1}function np(){return _2}var I2=de({},fi,{key:function(e){if(e.key){var t=H2[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=ro(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?V2[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:np,charCode:function(e){return e.type==="keypress"?ro(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?ro(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),q2=dt(I2),B2=de({},yl,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),af=dt(B2),$2=de({},fi,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:np}),W2=dt($2),U2=de({},Bn,{propertyName:0,elapsedTime:0,pseudoElement:0}),Q2=dt(U2),G2=de({},yl,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),K2=dt(G2),Y2=[9,13,27,32],rp=ha&&"CompositionEvent"in window,jr=null;ha&&"documentMode"in document&&(jr=document.documentMode);var X2=ha&&"TextEvent"in window&&!jr,oy=ha&&(!rp||jr&&8<jr&&11>=jr),sf=" ",nf=!1;function ly(e,t){switch(e){case"keyup":return Y2.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function cy(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Zs=!1;function Z2(e,t){switch(e){case"compositionend":return cy(t);case"keypress":return t.which!==32?null:(nf=!0,sf);case"textInput":return e=t.data,e===sf&&nf?null:e;default:return null}}function J2(e,t){if(Zs)return e==="compositionend"||!rp&&ly(e,t)?(e=iy(),no=ap=Ia=null,Zs=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return oy&&t.locale!=="ko"?null:t.data;default:return null}}var eP={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function rf(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!eP[e.type]:t==="textarea"}function dy(e,t,a,s){Ix(s),t=Lo(t,"onChange"),0<t.length&&(a=new sp("onChange","change",null,a,s),e.push({event:a,listeners:t}))}var Cr=null,Ir=null;function tP(e){by(e,0)}function vl(e){var t=tn(e);if(Ox(t))return e}function aP(e,t){if(e==="change")return t}var uy=!1;if(ha){var ic;if(ha){var oc="oninput"in document;if(!oc){var of=document.createElement("div");of.setAttribute("oninput","return;"),oc=typeof of.oninput=="function"}ic=oc}else ic=!1;uy=ic&&(!document.documentMode||9<document.documentMode)}function lf(){Cr&&(Cr.detachEvent("onpropertychange",py),Ir=Cr=null)}function py(e){if(e.propertyName==="value"&&vl(Ir)){var t=[];dy(t,Ir,e,Xu(e)),Wx(tP,t)}}function sP(e,t,a){e==="focusin"?(lf(),Cr=t,Ir=a,Cr.attachEvent("onpropertychange",py)):e==="focusout"&&lf()}function nP(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return vl(Ir)}function rP(e,t){if(e==="click")return vl(t)}function iP(e,t){if(e==="input"||e==="change")return vl(t)}function oP(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var zt=typeof Object.is=="function"?Object.is:oP;function qr(e,t){if(zt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),s=Object.keys(t);if(a.length!==s.length)return!1;for(s=0;s<a.length;s++){var n=a[s];if(!Zc.call(t,n)||!zt(e[n],t[n]))return!1}return!0}function cf(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function df(e,t){var a=cf(e);e=0;for(var s;a;){if(a.nodeType===3){if(s=e+a.textContent.length,e<=t&&s>=t)return{node:a,offset:t-e};e=s}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=cf(a)}}function hy(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?hy(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function fy(){for(var e=window,t=Ao();t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Ao(e.document)}return t}function ip(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function lP(e){var t=fy(),a=e.focusedElem,s=e.selectionRange;if(t!==a&&a&&a.ownerDocument&&hy(a.ownerDocument.documentElement,a)){if(s!==null&&ip(a)){if(t=s.start,e=s.end,e===void 0&&(e=t),"selectionStart"in a)a.selectionStart=t,a.selectionEnd=Math.min(e,a.value.length);else if(e=(t=a.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var n=a.textContent.length,r=Math.min(s.start,n);s=s.end===void 0?r:Math.min(s.end,n),!e.extend&&r>s&&(n=s,s=r,r=n),n=df(a,r);var o=df(a,s);n&&o&&(e.rangeCount!==1||e.anchorNode!==n.node||e.anchorOffset!==n.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(n.node,n.offset),e.removeAllRanges(),r>s?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=a;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof a.focus=="function"&&a.focus(),a=0;a<t.length;a++)e=t[a],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var cP=ha&&"documentMode"in document&&11>=document.documentMode,Js=null,xd=null,Nr=null,yd=!1;function uf(e,t,a){var s=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;yd||Js==null||Js!==Ao(s)||(s=Js,"selectionStart"in s&&ip(s)?s={start:s.selectionStart,end:s.selectionEnd}:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection(),s={anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset}),Nr&&qr(Nr,s)||(Nr=s,s=Lo(xd,"onSelect"),0<s.length&&(t=new sp("onSelect","select",null,t,a),e.push({event:t,listeners:s}),t.target=Js)))}function zi(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var en={animationend:zi("Animation","AnimationEnd"),animationiteration:zi("Animation","AnimationIteration"),animationstart:zi("Animation","AnimationStart"),transitionend:zi("Transition","TransitionEnd")},lc={},my={};ha&&(my=document.createElement("div").style,"AnimationEvent"in window||(delete en.animationend.animation,delete en.animationiteration.animation,delete en.animationstart.animation),"TransitionEvent"in window||delete en.transitionend.transition);function wl(e){if(lc[e])return lc[e];if(!en[e])return e;var t=en[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in my)return lc[e]=t[a];return e}var gy=wl("animationend"),xy=wl("animationiteration"),yy=wl("animationstart"),vy=wl("transitionend"),wy=new Map,pf="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function ls(e,t){wy.set(e,t),Bs(t,[e])}for(var cc=0;cc<pf.length;cc++){var dc=pf[cc],dP=dc.toLowerCase(),uP=dc[0].toUpperCase()+dc.slice(1);ls(dP,"on"+uP)}ls(gy,"onAnimationEnd");ls(xy,"onAnimationIteration");ls(yy,"onAnimationStart");ls("dblclick","onDoubleClick");ls("focusin","onFocus");ls("focusout","onBlur");ls(vy,"onTransitionEnd");En("onMouseEnter",["mouseout","mouseover"]);En("onMouseLeave",["mouseout","mouseover"]);En("onPointerEnter",["pointerout","pointerover"]);En("onPointerLeave",["pointerout","pointerover"]);Bs("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Bs("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Bs("onBeforeInput",["compositionend","keypress","textInput","paste"]);Bs("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Bs("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Bs("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var yr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),pP=new Set("cancel close invalid load scroll toggle".split(" ").concat(yr));function hf(e,t,a){var s=e.type||"unknown-event";e.currentTarget=a,d2(s,t,void 0,e),e.currentTarget=null}function by(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var s=e[a],n=s.event;s=s.listeners;e:{var r=void 0;if(t)for(var o=s.length-1;0<=o;o--){var l=s[o],c=l.instance,d=l.currentTarget;if(l=l.listener,c!==r&&n.isPropagationStopped())break e;hf(n,l,d),r=c}else for(o=0;o<s.length;o++){if(l=s[o],c=l.instance,d=l.currentTarget,l=l.listener,c!==r&&n.isPropagationStopped())break e;hf(n,l,d),r=c}}}if(Eo)throw e=hd,Eo=!1,hd=null,e}function ne(e,t){var a=t[jd];a===void 0&&(a=t[jd]=new Set);var s=e+"__bubble";a.has(s)||(Py(t,e,2,!1),a.add(s))}function uc(e,t,a){var s=0;t&&(s|=4),Py(a,e,s,t)}var Hi="_reactListening"+Math.random().toString(36).slice(2);function Br(e){if(!e[Hi]){e[Hi]=!0,Tx.forEach(function(a){a!=="selectionchange"&&(pP.has(a)||uc(a,!1,e),uc(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Hi]||(t[Hi]=!0,uc("selectionchange",!1,t))}}function Py(e,t,a,s){switch(ry(t)){case 1:var n=k2;break;case 4:n=S2;break;default:n=tp}a=n.bind(null,t,a,e),n=void 0,!pd||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(n=!0),s?n!==void 0?e.addEventListener(t,a,{capture:!0,passive:n}):e.addEventListener(t,a,!0):n!==void 0?e.addEventListener(t,a,{passive:n}):e.addEventListener(t,a,!1)}function pc(e,t,a,s,n){var r=s;if(!(t&1)&&!(t&2)&&s!==null)e:for(;;){if(s===null)return;var o=s.tag;if(o===3||o===4){var l=s.stateNode.containerInfo;if(l===n||l.nodeType===8&&l.parentNode===n)break;if(o===4)for(o=s.return;o!==null;){var c=o.tag;if((c===3||c===4)&&(c=o.stateNode.containerInfo,c===n||c.nodeType===8&&c.parentNode===n))return;o=o.return}for(;l!==null;){if(o=ws(l),o===null)return;if(c=o.tag,c===5||c===6){s=r=o;continue e}l=l.parentNode}}s=s.return}Wx(function(){var d=r,u=Xu(a),p=[];e:{var h=wy.get(e);if(h!==void 0){var f=sp,y=e;switch(e){case"keypress":if(ro(a)===0)break e;case"keydown":case"keyup":f=q2;break;case"focusin":y="focus",f=rc;break;case"focusout":y="blur",f=rc;break;case"beforeblur":case"afterblur":f=rc;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":f=ef;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":f=E2;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":f=W2;break;case gy:case xy:case yy:f=M2;break;case vy:f=Q2;break;case"scroll":f=A2;break;case"wheel":f=K2;break;case"copy":case"cut":case"paste":f=L2;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":f=af}var v=(t&4)!==0,b=!v&&e==="scroll",g=v?h!==null?h+"Capture":null:h;v=[];for(var m=d,x;m!==null;){x=m;var P=x.stateNode;if(x.tag===5&&P!==null&&(x=P,g!==null&&(P=Hr(m,g),P!=null&&v.push($r(m,P,x)))),b)break;m=m.return}0<v.length&&(h=new f(h,y,null,a,u),p.push({event:h,listeners:v}))}}if(!(t&7)){e:{if(h=e==="mouseover"||e==="pointerover",f=e==="mouseout"||e==="pointerout",h&&a!==dd&&(y=a.relatedTarget||a.fromElement)&&(ws(y)||y[fa]))break e;if((f||h)&&(h=u.window===u?u:(h=u.ownerDocument)?h.defaultView||h.parentWindow:window,f?(y=a.relatedTarget||a.toElement,f=d,y=y?ws(y):null,y!==null&&(b=$s(y),y!==b||y.tag!==5&&y.tag!==6)&&(y=null)):(f=null,y=d),f!==y)){if(v=ef,P="onMouseLeave",g="onMouseEnter",m="mouse",(e==="pointerout"||e==="pointerover")&&(v=af,P="onPointerLeave",g="onPointerEnter",m="pointer"),b=f==null?h:tn(f),x=y==null?h:tn(y),h=new v(P,m+"leave",f,a,u),h.target=b,h.relatedTarget=x,P=null,ws(u)===d&&(v=new v(g,m+"enter",y,a,u),v.target=x,v.relatedTarget=b,P=v),b=P,f&&y)t:{for(v=f,g=y,m=0,x=v;x;x=Qs(x))m++;for(x=0,P=g;P;P=Qs(P))x++;for(;0<m-x;)v=Qs(v),m--;for(;0<x-m;)g=Qs(g),x--;for(;m--;){if(v===g||g!==null&&v===g.alternate)break t;v=Qs(v),g=Qs(g)}v=null}else v=null;f!==null&&ff(p,h,f,v,!1),y!==null&&b!==null&&ff(p,b,y,v,!0)}}e:{if(h=d?tn(d):window,f=h.nodeName&&h.nodeName.toLowerCase(),f==="select"||f==="input"&&h.type==="file")var j=aP;else if(rf(h))if(uy)j=iP;else{j=nP;var C=sP}else(f=h.nodeName)&&f.toLowerCase()==="input"&&(h.type==="checkbox"||h.type==="radio")&&(j=rP);if(j&&(j=j(e,d))){dy(p,j,a,u);break e}C&&C(e,h,d),e==="focusout"&&(C=h._wrapperState)&&C.controlled&&h.type==="number"&&rd(h,"number",h.value)}switch(C=d?tn(d):window,e){case"focusin":(rf(C)||C.contentEditable==="true")&&(Js=C,xd=d,Nr=null);break;case"focusout":Nr=xd=Js=null;break;case"mousedown":yd=!0;break;case"contextmenu":case"mouseup":case"dragend":yd=!1,uf(p,a,u);break;case"selectionchange":if(cP)break;case"keydown":case"keyup":uf(p,a,u)}var N;if(rp)e:{switch(e){case"compositionstart":var k="onCompositionStart";break e;case"compositionend":k="onCompositionEnd";break e;case"compositionupdate":k="onCompositionUpdate";break e}k=void 0}else Zs?ly(e,a)&&(k="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(k="onCompositionStart");k&&(oy&&a.locale!=="ko"&&(Zs||k!=="onCompositionStart"?k==="onCompositionEnd"&&Zs&&(N=iy()):(Ia=u,ap="value"in Ia?Ia.value:Ia.textContent,Zs=!0)),C=Lo(d,k),0<C.length&&(k=new tf(k,e,null,a,u),p.push({event:k,listeners:C}),N?k.data=N:(N=cy(a),N!==null&&(k.data=N)))),(N=X2?Z2(e,a):J2(e,a))&&(d=Lo(d,"onBeforeInput"),0<d.length&&(u=new tf("onBeforeInput","beforeinput",null,a,u),p.push({event:u,listeners:d}),u.data=N))}by(p,t)})}function $r(e,t,a){return{instance:e,listener:t,currentTarget:a}}function Lo(e,t){for(var a=t+"Capture",s=[];e!==null;){var n=e,r=n.stateNode;n.tag===5&&r!==null&&(n=r,r=Hr(e,a),r!=null&&s.unshift($r(e,r,n)),r=Hr(e,t),r!=null&&s.push($r(e,r,n))),e=e.return}return s}function Qs(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function ff(e,t,a,s,n){for(var r=t._reactName,o=[];a!==null&&a!==s;){var l=a,c=l.alternate,d=l.stateNode;if(c!==null&&c===s)break;l.tag===5&&d!==null&&(l=d,n?(c=Hr(a,r),c!=null&&o.unshift($r(a,c,l))):n||(c=Hr(a,r),c!=null&&o.push($r(a,c,l)))),a=a.return}o.length!==0&&e.push({event:t,listeners:o})}var hP=/\r\n?/g,fP=/\u0000|\uFFFD/g;function mf(e){return(typeof e=="string"?e:""+e).replace(hP,`
`).replace(fP,"")}function Vi(e,t,a){if(t=mf(t),mf(e)!==t&&a)throw Error(E(425))}function zo(){}var vd=null,wd=null;function bd(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Pd=typeof setTimeout=="function"?setTimeout:void 0,mP=typeof clearTimeout=="function"?clearTimeout:void 0,gf=typeof Promise=="function"?Promise:void 0,gP=typeof queueMicrotask=="function"?queueMicrotask:typeof gf<"u"?function(e){return gf.resolve(null).then(e).catch(xP)}:Pd;function xP(e){setTimeout(function(){throw e})}function hc(e,t){var a=t,s=0;do{var n=a.nextSibling;if(e.removeChild(a),n&&n.nodeType===8)if(a=n.data,a==="/$"){if(s===0){e.removeChild(n),_r(t);return}s--}else a!=="$"&&a!=="$?"&&a!=="$!"||s++;a=n}while(a);_r(t)}function Ga(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function xf(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"){if(t===0)return e;t--}else a==="/$"&&t++}e=e.previousSibling}return null}var $n=Math.random().toString(36).slice(2),Gt="__reactFiber$"+$n,Wr="__reactProps$"+$n,fa="__reactContainer$"+$n,jd="__reactEvents$"+$n,yP="__reactListeners$"+$n,vP="__reactHandles$"+$n;function ws(e){var t=e[Gt];if(t)return t;for(var a=e.parentNode;a;){if(t=a[fa]||a[Gt]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=xf(e);e!==null;){if(a=e[Gt])return a;e=xf(e)}return t}e=a,a=e.parentNode}return null}function mi(e){return e=e[Gt]||e[fa],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function tn(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(E(33))}function bl(e){return e[Wr]||null}var Cd=[],an=-1;function cs(e){return{current:e}}function ie(e){0>an||(e.current=Cd[an],Cd[an]=null,an--)}function ae(e,t){an++,Cd[an]=e.current,e.current=t}var ts={},_e=cs(ts),Xe=cs(!1),Hs=ts;function Rn(e,t){var a=e.type.contextTypes;if(!a)return ts;var s=e.stateNode;if(s&&s.__reactInternalMemoizedUnmaskedChildContext===t)return s.__reactInternalMemoizedMaskedChildContext;var n={},r;for(r in a)n[r]=t[r];return s&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n),n}function Ze(e){return e=e.childContextTypes,e!=null}function Ho(){ie(Xe),ie(_e)}function yf(e,t,a){if(_e.current!==ts)throw Error(E(168));ae(_e,t),ae(Xe,a)}function jy(e,t,a){var s=e.stateNode;if(t=t.childContextTypes,typeof s.getChildContext!="function")return a;s=s.getChildContext();for(var n in s)if(!(n in t))throw Error(E(108,s2(e)||"Unknown",n));return de({},a,s)}function Vo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||ts,Hs=_e.current,ae(_e,e),ae(Xe,Xe.current),!0}function vf(e,t,a){var s=e.stateNode;if(!s)throw Error(E(169));a?(e=jy(e,t,Hs),s.__reactInternalMemoizedMergedChildContext=e,ie(Xe),ie(_e),ae(_e,e)):ie(Xe),ae(Xe,a)}var la=null,Pl=!1,fc=!1;function Cy(e){la===null?la=[e]:la.push(e)}function wP(e){Pl=!0,Cy(e)}function ds(){if(!fc&&la!==null){fc=!0;var e=0,t=J;try{var a=la;for(J=1;e<a.length;e++){var s=a[e];do s=s(!0);while(s!==null)}la=null,Pl=!1}catch(n){throw la!==null&&(la=la.slice(e+1)),Kx(Zu,ds),n}finally{J=t,fc=!1}}return null}var sn=[],nn=0,Fo=null,_o=0,ft=[],mt=0,Vs=null,da=1,ua="";function xs(e,t){sn[nn++]=_o,sn[nn++]=Fo,Fo=e,_o=t}function Ny(e,t,a){ft[mt++]=da,ft[mt++]=ua,ft[mt++]=Vs,Vs=e;var s=da;e=ua;var n=32-Mt(s)-1;s&=~(1<<n),a+=1;var r=32-Mt(t)+n;if(30<r){var o=n-n%5;r=(s&(1<<o)-1).toString(32),s>>=o,n-=o,da=1<<32-Mt(t)+n|a<<n|s,ua=r+e}else da=1<<r|a<<n|s,ua=e}function op(e){e.return!==null&&(xs(e,1),Ny(e,1,0))}function lp(e){for(;e===Fo;)Fo=sn[--nn],sn[nn]=null,_o=sn[--nn],sn[nn]=null;for(;e===Vs;)Vs=ft[--mt],ft[mt]=null,ua=ft[--mt],ft[mt]=null,da=ft[--mt],ft[mt]=null}var rt=null,nt=null,oe=!1,Rt=null;function ky(e,t){var a=gt(5,null,null,0);a.elementType="DELETED",a.stateNode=t,a.return=e,t=e.deletions,t===null?(e.deletions=[a],e.flags|=16):t.push(a)}function wf(e,t){switch(e.tag){case 5:var a=e.type;return t=t.nodeType!==1||a.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,rt=e,nt=Ga(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,rt=e,nt=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(a=Vs!==null?{id:da,overflow:ua}:null,e.memoizedState={dehydrated:t,treeContext:a,retryLane:1073741824},a=gt(18,null,null,0),a.stateNode=t,a.return=e,e.child=a,rt=e,nt=null,!0):!1;default:return!1}}function Nd(e){return(e.mode&1)!==0&&(e.flags&128)===0}function kd(e){if(oe){var t=nt;if(t){var a=t;if(!wf(e,t)){if(Nd(e))throw Error(E(418));t=Ga(a.nextSibling);var s=rt;t&&wf(e,t)?ky(s,a):(e.flags=e.flags&-4097|2,oe=!1,rt=e)}}else{if(Nd(e))throw Error(E(418));e.flags=e.flags&-4097|2,oe=!1,rt=e}}}function bf(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;rt=e}function Fi(e){if(e!==rt)return!1;if(!oe)return bf(e),oe=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!bd(e.type,e.memoizedProps)),t&&(t=nt)){if(Nd(e))throw Sy(),Error(E(418));for(;t;)ky(e,t),t=Ga(t.nextSibling)}if(bf(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(E(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"){if(t===0){nt=Ga(e.nextSibling);break e}t--}else a!=="$"&&a!=="$!"&&a!=="$?"||t++}e=e.nextSibling}nt=null}}else nt=rt?Ga(e.stateNode.nextSibling):null;return!0}function Sy(){for(var e=nt;e;)e=Ga(e.nextSibling)}function Dn(){nt=rt=null,oe=!1}function cp(e){Rt===null?Rt=[e]:Rt.push(e)}var bP=va.ReactCurrentBatchConfig;function ir(e,t,a){if(e=a.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(a._owner){if(a=a._owner,a){if(a.tag!==1)throw Error(E(309));var s=a.stateNode}if(!s)throw Error(E(147,e));var n=s,r=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===r?t.ref:(t=function(o){var l=n.refs;o===null?delete l[r]:l[r]=o},t._stringRef=r,t)}if(typeof e!="string")throw Error(E(284));if(!a._owner)throw Error(E(290,e))}return e}function _i(e,t){throw e=Object.prototype.toString.call(t),Error(E(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Pf(e){var t=e._init;return t(e._payload)}function Ay(e){function t(g,m){if(e){var x=g.deletions;x===null?(g.deletions=[m],g.flags|=16):x.push(m)}}function a(g,m){if(!e)return null;for(;m!==null;)t(g,m),m=m.sibling;return null}function s(g,m){for(g=new Map;m!==null;)m.key!==null?g.set(m.key,m):g.set(m.index,m),m=m.sibling;return g}function n(g,m){return g=Za(g,m),g.index=0,g.sibling=null,g}function r(g,m,x){return g.index=x,e?(x=g.alternate,x!==null?(x=x.index,x<m?(g.flags|=2,m):x):(g.flags|=2,m)):(g.flags|=1048576,m)}function o(g){return e&&g.alternate===null&&(g.flags|=2),g}function l(g,m,x,P){return m===null||m.tag!==6?(m=bc(x,g.mode,P),m.return=g,m):(m=n(m,x),m.return=g,m)}function c(g,m,x,P){var j=x.type;return j===Xs?u(g,m,x.props.children,P,x.key):m!==null&&(m.elementType===j||typeof j=="object"&&j!==null&&j.$$typeof===Ea&&Pf(j)===m.type)?(P=n(m,x.props),P.ref=ir(g,m,x),P.return=g,P):(P=ho(x.type,x.key,x.props,null,g.mode,P),P.ref=ir(g,m,x),P.return=g,P)}function d(g,m,x,P){return m===null||m.tag!==4||m.stateNode.containerInfo!==x.containerInfo||m.stateNode.implementation!==x.implementation?(m=Pc(x,g.mode,P),m.return=g,m):(m=n(m,x.children||[]),m.return=g,m)}function u(g,m,x,P,j){return m===null||m.tag!==7?(m=Ms(x,g.mode,P,j),m.return=g,m):(m=n(m,x),m.return=g,m)}function p(g,m,x){if(typeof m=="string"&&m!==""||typeof m=="number")return m=bc(""+m,g.mode,x),m.return=g,m;if(typeof m=="object"&&m!==null){switch(m.$$typeof){case Ti:return x=ho(m.type,m.key,m.props,null,g.mode,x),x.ref=ir(g,null,m),x.return=g,x;case Ys:return m=Pc(m,g.mode,x),m.return=g,m;case Ea:var P=m._init;return p(g,P(m._payload),x)}if(gr(m)||tr(m))return m=Ms(m,g.mode,x,null),m.return=g,m;_i(g,m)}return null}function h(g,m,x,P){var j=m!==null?m.key:null;if(typeof x=="string"&&x!==""||typeof x=="number")return j!==null?null:l(g,m,""+x,P);if(typeof x=="object"&&x!==null){switch(x.$$typeof){case Ti:return x.key===j?c(g,m,x,P):null;case Ys:return x.key===j?d(g,m,x,P):null;case Ea:return j=x._init,h(g,m,j(x._payload),P)}if(gr(x)||tr(x))return j!==null?null:u(g,m,x,P,null);_i(g,x)}return null}function f(g,m,x,P,j){if(typeof P=="string"&&P!==""||typeof P=="number")return g=g.get(x)||null,l(m,g,""+P,j);if(typeof P=="object"&&P!==null){switch(P.$$typeof){case Ti:return g=g.get(P.key===null?x:P.key)||null,c(m,g,P,j);case Ys:return g=g.get(P.key===null?x:P.key)||null,d(m,g,P,j);case Ea:var C=P._init;return f(g,m,x,C(P._payload),j)}if(gr(P)||tr(P))return g=g.get(x)||null,u(m,g,P,j,null);_i(m,P)}return null}function y(g,m,x,P){for(var j=null,C=null,N=m,k=m=0,R=null;N!==null&&k<x.length;k++){N.index>k?(R=N,N=null):R=N.sibling;var T=h(g,N,x[k],P);if(T===null){N===null&&(N=R);break}e&&N&&T.alternate===null&&t(g,N),m=r(T,m,k),C===null?j=T:C.sibling=T,C=T,N=R}if(k===x.length)return a(g,N),oe&&xs(g,k),j;if(N===null){for(;k<x.length;k++)N=p(g,x[k],P),N!==null&&(m=r(N,m,k),C===null?j=N:C.sibling=N,C=N);return oe&&xs(g,k),j}for(N=s(g,N);k<x.length;k++)R=f(N,g,k,x[k],P),R!==null&&(e&&R.alternate!==null&&N.delete(R.key===null?k:R.key),m=r(R,m,k),C===null?j=R:C.sibling=R,C=R);return e&&N.forEach(function(H){return t(g,H)}),oe&&xs(g,k),j}function v(g,m,x,P){var j=tr(x);if(typeof j!="function")throw Error(E(150));if(x=j.call(x),x==null)throw Error(E(151));for(var C=j=null,N=m,k=m=0,R=null,T=x.next();N!==null&&!T.done;k++,T=x.next()){N.index>k?(R=N,N=null):R=N.sibling;var H=h(g,N,T.value,P);if(H===null){N===null&&(N=R);break}e&&N&&H.alternate===null&&t(g,N),m=r(H,m,k),C===null?j=H:C.sibling=H,C=H,N=R}if(T.done)return a(g,N),oe&&xs(g,k),j;if(N===null){for(;!T.done;k++,T=x.next())T=p(g,T.value,P),T!==null&&(m=r(T,m,k),C===null?j=T:C.sibling=T,C=T);return oe&&xs(g,k),j}for(N=s(g,N);!T.done;k++,T=x.next())T=f(N,g,k,T.value,P),T!==null&&(e&&T.alternate!==null&&N.delete(T.key===null?k:T.key),m=r(T,m,k),C===null?j=T:C.sibling=T,C=T);return e&&N.forEach(function(O){return t(g,O)}),oe&&xs(g,k),j}function b(g,m,x,P){if(typeof x=="object"&&x!==null&&x.type===Xs&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case Ti:e:{for(var j=x.key,C=m;C!==null;){if(C.key===j){if(j=x.type,j===Xs){if(C.tag===7){a(g,C.sibling),m=n(C,x.props.children),m.return=g,g=m;break e}}else if(C.elementType===j||typeof j=="object"&&j!==null&&j.$$typeof===Ea&&Pf(j)===C.type){a(g,C.sibling),m=n(C,x.props),m.ref=ir(g,C,x),m.return=g,g=m;break e}a(g,C);break}else t(g,C);C=C.sibling}x.type===Xs?(m=Ms(x.props.children,g.mode,P,x.key),m.return=g,g=m):(P=ho(x.type,x.key,x.props,null,g.mode,P),P.ref=ir(g,m,x),P.return=g,g=P)}return o(g);case Ys:e:{for(C=x.key;m!==null;){if(m.key===C)if(m.tag===4&&m.stateNode.containerInfo===x.containerInfo&&m.stateNode.implementation===x.implementation){a(g,m.sibling),m=n(m,x.children||[]),m.return=g,g=m;break e}else{a(g,m);break}else t(g,m);m=m.sibling}m=Pc(x,g.mode,P),m.return=g,g=m}return o(g);case Ea:return C=x._init,b(g,m,C(x._payload),P)}if(gr(x))return y(g,m,x,P);if(tr(x))return v(g,m,x,P);_i(g,x)}return typeof x=="string"&&x!==""||typeof x=="number"?(x=""+x,m!==null&&m.tag===6?(a(g,m.sibling),m=n(m,x),m.return=g,g=m):(a(g,m),m=bc(x,g.mode,P),m.return=g,g=m),o(g)):a(g,m)}return b}var Mn=Ay(!0),Ty=Ay(!1),Io=cs(null),qo=null,rn=null,dp=null;function up(){dp=rn=qo=null}function pp(e){var t=Io.current;ie(Io),e._currentValue=t}function Sd(e,t,a){for(;e!==null;){var s=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,s!==null&&(s.childLanes|=t)):s!==null&&(s.childLanes&t)!==t&&(s.childLanes|=t),e===a)break;e=e.return}}function gn(e,t){qo=e,dp=rn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Ye=!0),e.firstContext=null)}function wt(e){var t=e._currentValue;if(dp!==e)if(e={context:e,memoizedValue:t,next:null},rn===null){if(qo===null)throw Error(E(308));rn=e,qo.dependencies={lanes:0,firstContext:e}}else rn=rn.next=e;return t}var bs=null;function hp(e){bs===null?bs=[e]:bs.push(e)}function Ey(e,t,a,s){var n=t.interleaved;return n===null?(a.next=a,hp(t)):(a.next=n.next,n.next=a),t.interleaved=a,ma(e,s)}function ma(e,t){e.lanes|=t;var a=e.alternate;for(a!==null&&(a.lanes|=t),a=e,e=e.return;e!==null;)e.childLanes|=t,a=e.alternate,a!==null&&(a.childLanes|=t),a=e,e=e.return;return a.tag===3?a.stateNode:null}var Ra=!1;function fp(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ry(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function pa(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Ka(e,t,a){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,Z&2){var n=s.pending;return n===null?t.next=t:(t.next=n.next,n.next=t),s.pending=t,ma(e,a)}return n=s.interleaved,n===null?(t.next=t,hp(s)):(t.next=n.next,n.next=t),s.interleaved=t,ma(e,a)}function io(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194240)!==0)){var s=t.lanes;s&=e.pendingLanes,a|=s,t.lanes=a,Ju(e,a)}}function jf(e,t){var a=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,a===s)){var n=null,r=null;if(a=a.firstBaseUpdate,a!==null){do{var o={eventTime:a.eventTime,lane:a.lane,tag:a.tag,payload:a.payload,callback:a.callback,next:null};r===null?n=r=o:r=r.next=o,a=a.next}while(a!==null);r===null?n=r=t:r=r.next=t}else n=r=t;a={baseState:s.baseState,firstBaseUpdate:n,lastBaseUpdate:r,shared:s.shared,effects:s.effects},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}function Bo(e,t,a,s){var n=e.updateQueue;Ra=!1;var r=n.firstBaseUpdate,o=n.lastBaseUpdate,l=n.shared.pending;if(l!==null){n.shared.pending=null;var c=l,d=c.next;c.next=null,o===null?r=d:o.next=d,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,l=u.lastBaseUpdate,l!==o&&(l===null?u.firstBaseUpdate=d:l.next=d,u.lastBaseUpdate=c))}if(r!==null){var p=n.baseState;o=0,u=d=c=null,l=r;do{var h=l.lane,f=l.eventTime;if((s&h)===h){u!==null&&(u=u.next={eventTime:f,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var y=e,v=l;switch(h=t,f=a,v.tag){case 1:if(y=v.payload,typeof y=="function"){p=y.call(f,p,h);break e}p=y;break e;case 3:y.flags=y.flags&-65537|128;case 0:if(y=v.payload,h=typeof y=="function"?y.call(f,p,h):y,h==null)break e;p=de({},p,h);break e;case 2:Ra=!0}}l.callback!==null&&l.lane!==0&&(e.flags|=64,h=n.effects,h===null?n.effects=[l]:h.push(l))}else f={eventTime:f,lane:h,tag:l.tag,payload:l.payload,callback:l.callback,next:null},u===null?(d=u=f,c=p):u=u.next=f,o|=h;if(l=l.next,l===null){if(l=n.shared.pending,l===null)break;h=l,l=h.next,h.next=null,n.lastBaseUpdate=h,n.shared.pending=null}}while(!0);if(u===null&&(c=p),n.baseState=c,n.firstBaseUpdate=d,n.lastBaseUpdate=u,t=n.shared.interleaved,t!==null){n=t;do o|=n.lane,n=n.next;while(n!==t)}else r===null&&(n.shared.lanes=0);_s|=o,e.lanes=o,e.memoizedState=p}}function Cf(e,t,a){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var s=e[t],n=s.callback;if(n!==null){if(s.callback=null,s=a,typeof n!="function")throw Error(E(191,n));n.call(s)}}}var gi={},Xt=cs(gi),Ur=cs(gi),Qr=cs(gi);function Ps(e){if(e===gi)throw Error(E(174));return e}function mp(e,t){switch(ae(Qr,t),ae(Ur,e),ae(Xt,gi),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:od(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=od(t,e)}ie(Xt),ae(Xt,t)}function On(){ie(Xt),ie(Ur),ie(Qr)}function Dy(e){Ps(Qr.current);var t=Ps(Xt.current),a=od(t,e.type);t!==a&&(ae(Ur,e),ae(Xt,a))}function gp(e){Ur.current===e&&(ie(Xt),ie(Ur))}var le=cs(0);function $o(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||a.data==="$?"||a.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var mc=[];function xp(){for(var e=0;e<mc.length;e++)mc[e]._workInProgressVersionPrimary=null;mc.length=0}var oo=va.ReactCurrentDispatcher,gc=va.ReactCurrentBatchConfig,Fs=0,ce=null,be=null,ke=null,Wo=!1,kr=!1,Gr=0,PP=0;function Le(){throw Error(E(321))}function yp(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!zt(e[a],t[a]))return!1;return!0}function vp(e,t,a,s,n,r){if(Fs=r,ce=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,oo.current=e===null||e.memoizedState===null?kP:SP,e=a(s,n),kr){r=0;do{if(kr=!1,Gr=0,25<=r)throw Error(E(301));r+=1,ke=be=null,t.updateQueue=null,oo.current=AP,e=a(s,n)}while(kr)}if(oo.current=Uo,t=be!==null&&be.next!==null,Fs=0,ke=be=ce=null,Wo=!1,t)throw Error(E(300));return e}function wp(){var e=Gr!==0;return Gr=0,e}function qt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ke===null?ce.memoizedState=ke=e:ke=ke.next=e,ke}function bt(){if(be===null){var e=ce.alternate;e=e!==null?e.memoizedState:null}else e=be.next;var t=ke===null?ce.memoizedState:ke.next;if(t!==null)ke=t,be=e;else{if(e===null)throw Error(E(310));be=e,e={memoizedState:be.memoizedState,baseState:be.baseState,baseQueue:be.baseQueue,queue:be.queue,next:null},ke===null?ce.memoizedState=ke=e:ke=ke.next=e}return ke}function Kr(e,t){return typeof t=="function"?t(e):t}function xc(e){var t=bt(),a=t.queue;if(a===null)throw Error(E(311));a.lastRenderedReducer=e;var s=be,n=s.baseQueue,r=a.pending;if(r!==null){if(n!==null){var o=n.next;n.next=r.next,r.next=o}s.baseQueue=n=r,a.pending=null}if(n!==null){r=n.next,s=s.baseState;var l=o=null,c=null,d=r;do{var u=d.lane;if((Fs&u)===u)c!==null&&(c=c.next={lane:0,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null}),s=d.hasEagerState?d.eagerState:e(s,d.action);else{var p={lane:u,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};c===null?(l=c=p,o=s):c=c.next=p,ce.lanes|=u,_s|=u}d=d.next}while(d!==null&&d!==r);c===null?o=s:c.next=l,zt(s,t.memoizedState)||(Ye=!0),t.memoizedState=s,t.baseState=o,t.baseQueue=c,a.lastRenderedState=s}if(e=a.interleaved,e!==null){n=e;do r=n.lane,ce.lanes|=r,_s|=r,n=n.next;while(n!==e)}else n===null&&(a.lanes=0);return[t.memoizedState,a.dispatch]}function yc(e){var t=bt(),a=t.queue;if(a===null)throw Error(E(311));a.lastRenderedReducer=e;var s=a.dispatch,n=a.pending,r=t.memoizedState;if(n!==null){a.pending=null;var o=n=n.next;do r=e(r,o.action),o=o.next;while(o!==n);zt(r,t.memoizedState)||(Ye=!0),t.memoizedState=r,t.baseQueue===null&&(t.baseState=r),a.lastRenderedState=r}return[r,s]}function My(){}function Oy(e,t){var a=ce,s=bt(),n=t(),r=!zt(s.memoizedState,n);if(r&&(s.memoizedState=n,Ye=!0),s=s.queue,bp(Hy.bind(null,a,s,e),[e]),s.getSnapshot!==t||r||ke!==null&&ke.memoizedState.tag&1){if(a.flags|=2048,Yr(9,zy.bind(null,a,s,n,t),void 0,null),Se===null)throw Error(E(349));Fs&30||Ly(a,t,n)}return n}function Ly(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=ce.updateQueue,t===null?(t={lastEffect:null,stores:null},ce.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function zy(e,t,a,s){t.value=a,t.getSnapshot=s,Vy(t)&&Fy(e)}function Hy(e,t,a){return a(function(){Vy(t)&&Fy(e)})}function Vy(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!zt(e,a)}catch{return!0}}function Fy(e){var t=ma(e,1);t!==null&&Ot(t,e,1,-1)}function Nf(e){var t=qt();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Kr,lastRenderedState:e},t.queue=e,e=e.dispatch=NP.bind(null,ce,e),[t.memoizedState,e]}function Yr(e,t,a,s){return e={tag:e,create:t,destroy:a,deps:s,next:null},t=ce.updateQueue,t===null?(t={lastEffect:null,stores:null},ce.updateQueue=t,t.lastEffect=e.next=e):(a=t.lastEffect,a===null?t.lastEffect=e.next=e:(s=a.next,a.next=e,e.next=s,t.lastEffect=e)),e}function _y(){return bt().memoizedState}function lo(e,t,a,s){var n=qt();ce.flags|=e,n.memoizedState=Yr(1|t,a,void 0,s===void 0?null:s)}function jl(e,t,a,s){var n=bt();s=s===void 0?null:s;var r=void 0;if(be!==null){var o=be.memoizedState;if(r=o.destroy,s!==null&&yp(s,o.deps)){n.memoizedState=Yr(t,a,r,s);return}}ce.flags|=e,n.memoizedState=Yr(1|t,a,r,s)}function kf(e,t){return lo(8390656,8,e,t)}function bp(e,t){return jl(2048,8,e,t)}function Iy(e,t){return jl(4,2,e,t)}function qy(e,t){return jl(4,4,e,t)}function By(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function $y(e,t,a){return a=a!=null?a.concat([e]):null,jl(4,4,By.bind(null,t,e),a)}function Pp(){}function Wy(e,t){var a=bt();t=t===void 0?null:t;var s=a.memoizedState;return s!==null&&t!==null&&yp(t,s[1])?s[0]:(a.memoizedState=[e,t],e)}function Uy(e,t){var a=bt();t=t===void 0?null:t;var s=a.memoizedState;return s!==null&&t!==null&&yp(t,s[1])?s[0]:(e=e(),a.memoizedState=[e,t],e)}function Qy(e,t,a){return Fs&21?(zt(a,t)||(a=Zx(),ce.lanes|=a,_s|=a,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Ye=!0),e.memoizedState=a)}function jP(e,t){var a=J;J=a!==0&&4>a?a:4,e(!0);var s=gc.transition;gc.transition={};try{e(!1),t()}finally{J=a,gc.transition=s}}function Gy(){return bt().memoizedState}function CP(e,t,a){var s=Xa(e);if(a={lane:s,action:a,hasEagerState:!1,eagerState:null,next:null},Ky(e))Yy(t,a);else if(a=Ey(e,t,a,s),a!==null){var n=Ue();Ot(a,e,s,n),Xy(a,t,s)}}function NP(e,t,a){var s=Xa(e),n={lane:s,action:a,hasEagerState:!1,eagerState:null,next:null};if(Ky(e))Yy(t,n);else{var r=e.alternate;if(e.lanes===0&&(r===null||r.lanes===0)&&(r=t.lastRenderedReducer,r!==null))try{var o=t.lastRenderedState,l=r(o,a);if(n.hasEagerState=!0,n.eagerState=l,zt(l,o)){var c=t.interleaved;c===null?(n.next=n,hp(t)):(n.next=c.next,c.next=n),t.interleaved=n;return}}catch{}finally{}a=Ey(e,t,n,s),a!==null&&(n=Ue(),Ot(a,e,s,n),Xy(a,t,s))}}function Ky(e){var t=e.alternate;return e===ce||t!==null&&t===ce}function Yy(e,t){kr=Wo=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function Xy(e,t,a){if(a&4194240){var s=t.lanes;s&=e.pendingLanes,a|=s,t.lanes=a,Ju(e,a)}}var Uo={readContext:wt,useCallback:Le,useContext:Le,useEffect:Le,useImperativeHandle:Le,useInsertionEffect:Le,useLayoutEffect:Le,useMemo:Le,useReducer:Le,useRef:Le,useState:Le,useDebugValue:Le,useDeferredValue:Le,useTransition:Le,useMutableSource:Le,useSyncExternalStore:Le,useId:Le,unstable_isNewReconciler:!1},kP={readContext:wt,useCallback:function(e,t){return qt().memoizedState=[e,t===void 0?null:t],e},useContext:wt,useEffect:kf,useImperativeHandle:function(e,t,a){return a=a!=null?a.concat([e]):null,lo(4194308,4,By.bind(null,t,e),a)},useLayoutEffect:function(e,t){return lo(4194308,4,e,t)},useInsertionEffect:function(e,t){return lo(4,2,e,t)},useMemo:function(e,t){var a=qt();return t=t===void 0?null:t,e=e(),a.memoizedState=[e,t],e},useReducer:function(e,t,a){var s=qt();return t=a!==void 0?a(t):t,s.memoizedState=s.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},s.queue=e,e=e.dispatch=CP.bind(null,ce,e),[s.memoizedState,e]},useRef:function(e){var t=qt();return e={current:e},t.memoizedState=e},useState:Nf,useDebugValue:Pp,useDeferredValue:function(e){return qt().memoizedState=e},useTransition:function(){var e=Nf(!1),t=e[0];return e=jP.bind(null,e[1]),qt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,a){var s=ce,n=qt();if(oe){if(a===void 0)throw Error(E(407));a=a()}else{if(a=t(),Se===null)throw Error(E(349));Fs&30||Ly(s,t,a)}n.memoizedState=a;var r={value:a,getSnapshot:t};return n.queue=r,kf(Hy.bind(null,s,r,e),[e]),s.flags|=2048,Yr(9,zy.bind(null,s,r,a,t),void 0,null),a},useId:function(){var e=qt(),t=Se.identifierPrefix;if(oe){var a=ua,s=da;a=(s&~(1<<32-Mt(s)-1)).toString(32)+a,t=":"+t+"R"+a,a=Gr++,0<a&&(t+="H"+a.toString(32)),t+=":"}else a=PP++,t=":"+t+"r"+a.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},SP={readContext:wt,useCallback:Wy,useContext:wt,useEffect:bp,useImperativeHandle:$y,useInsertionEffect:Iy,useLayoutEffect:qy,useMemo:Uy,useReducer:xc,useRef:_y,useState:function(){return xc(Kr)},useDebugValue:Pp,useDeferredValue:function(e){var t=bt();return Qy(t,be.memoizedState,e)},useTransition:function(){var e=xc(Kr)[0],t=bt().memoizedState;return[e,t]},useMutableSource:My,useSyncExternalStore:Oy,useId:Gy,unstable_isNewReconciler:!1},AP={readContext:wt,useCallback:Wy,useContext:wt,useEffect:bp,useImperativeHandle:$y,useInsertionEffect:Iy,useLayoutEffect:qy,useMemo:Uy,useReducer:yc,useRef:_y,useState:function(){return yc(Kr)},useDebugValue:Pp,useDeferredValue:function(e){var t=bt();return be===null?t.memoizedState=e:Qy(t,be.memoizedState,e)},useTransition:function(){var e=yc(Kr)[0],t=bt().memoizedState;return[e,t]},useMutableSource:My,useSyncExternalStore:Oy,useId:Gy,unstable_isNewReconciler:!1};function St(e,t){if(e&&e.defaultProps){t=de({},t),e=e.defaultProps;for(var a in e)t[a]===void 0&&(t[a]=e[a]);return t}return t}function Ad(e,t,a,s){t=e.memoizedState,a=a(s,t),a=a==null?t:de({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var Cl={isMounted:function(e){return(e=e._reactInternals)?$s(e)===e:!1},enqueueSetState:function(e,t,a){e=e._reactInternals;var s=Ue(),n=Xa(e),r=pa(s,n);r.payload=t,a!=null&&(r.callback=a),t=Ka(e,r,n),t!==null&&(Ot(t,e,n,s),io(t,e,n))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var s=Ue(),n=Xa(e),r=pa(s,n);r.tag=1,r.payload=t,a!=null&&(r.callback=a),t=Ka(e,r,n),t!==null&&(Ot(t,e,n,s),io(t,e,n))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=Ue(),s=Xa(e),n=pa(a,s);n.tag=2,t!=null&&(n.callback=t),t=Ka(e,n,s),t!==null&&(Ot(t,e,s,a),io(t,e,s))}};function Sf(e,t,a,s,n,r,o){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(s,r,o):t.prototype&&t.prototype.isPureReactComponent?!qr(a,s)||!qr(n,r):!0}function Zy(e,t,a){var s=!1,n=ts,r=t.contextType;return typeof r=="object"&&r!==null?r=wt(r):(n=Ze(t)?Hs:_e.current,s=t.contextTypes,r=(s=s!=null)?Rn(e,n):ts),t=new t(a,r),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Cl,e.stateNode=t,t._reactInternals=e,s&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=r),t}function Af(e,t,a,s){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,s),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,s),t.state!==e&&Cl.enqueueReplaceState(t,t.state,null)}function Td(e,t,a,s){var n=e.stateNode;n.props=a,n.state=e.memoizedState,n.refs={},fp(e);var r=t.contextType;typeof r=="object"&&r!==null?n.context=wt(r):(r=Ze(t)?Hs:_e.current,n.context=Rn(e,r)),n.state=e.memoizedState,r=t.getDerivedStateFromProps,typeof r=="function"&&(Ad(e,t,r,a),n.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof n.getSnapshotBeforeUpdate=="function"||typeof n.UNSAFE_componentWillMount!="function"&&typeof n.componentWillMount!="function"||(t=n.state,typeof n.componentWillMount=="function"&&n.componentWillMount(),typeof n.UNSAFE_componentWillMount=="function"&&n.UNSAFE_componentWillMount(),t!==n.state&&Cl.enqueueReplaceState(n,n.state,null),Bo(e,a,n,s),n.state=e.memoizedState),typeof n.componentDidMount=="function"&&(e.flags|=4194308)}function Ln(e,t){try{var a="",s=t;do a+=a2(s),s=s.return;while(s);var n=a}catch(r){n=`
Error generating stack: `+r.message+`
`+r.stack}return{value:e,source:t,stack:n,digest:null}}function vc(e,t,a){return{value:e,source:null,stack:a??null,digest:t??null}}function Ed(e,t){try{console.error(t.value)}catch(a){setTimeout(function(){throw a})}}var TP=typeof WeakMap=="function"?WeakMap:Map;function Jy(e,t,a){a=pa(-1,a),a.tag=3,a.payload={element:null};var s=t.value;return a.callback=function(){Go||(Go=!0,_d=s),Ed(e,t)},a}function ev(e,t,a){a=pa(-1,a),a.tag=3;var s=e.type.getDerivedStateFromError;if(typeof s=="function"){var n=t.value;a.payload=function(){return s(n)},a.callback=function(){Ed(e,t)}}var r=e.stateNode;return r!==null&&typeof r.componentDidCatch=="function"&&(a.callback=function(){Ed(e,t),typeof s!="function"&&(Ya===null?Ya=new Set([this]):Ya.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),a}function Tf(e,t,a){var s=e.pingCache;if(s===null){s=e.pingCache=new TP;var n=new Set;s.set(t,n)}else n=s.get(t),n===void 0&&(n=new Set,s.set(t,n));n.has(a)||(n.add(a),e=BP.bind(null,e,t,a),t.then(e,e))}function Ef(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Rf(e,t,a,s,n){return e.mode&1?(e.flags|=65536,e.lanes=n,e):(e===t?e.flags|=65536:(e.flags|=128,a.flags|=131072,a.flags&=-52805,a.tag===1&&(a.alternate===null?a.tag=17:(t=pa(-1,1),t.tag=2,Ka(a,t,1))),a.lanes|=1),e)}var EP=va.ReactCurrentOwner,Ye=!1;function Ie(e,t,a,s){t.child=e===null?Ty(t,null,a,s):Mn(t,e.child,a,s)}function Df(e,t,a,s,n){a=a.render;var r=t.ref;return gn(t,n),s=vp(e,t,a,s,r,n),a=wp(),e!==null&&!Ye?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n,ga(e,t,n)):(oe&&a&&op(t),t.flags|=1,Ie(e,t,s,n),t.child)}function Mf(e,t,a,s,n){if(e===null){var r=a.type;return typeof r=="function"&&!Ep(r)&&r.defaultProps===void 0&&a.compare===null&&a.defaultProps===void 0?(t.tag=15,t.type=r,tv(e,t,r,s,n)):(e=ho(a.type,null,s,t,t.mode,n),e.ref=t.ref,e.return=t,t.child=e)}if(r=e.child,!(e.lanes&n)){var o=r.memoizedProps;if(a=a.compare,a=a!==null?a:qr,a(o,s)&&e.ref===t.ref)return ga(e,t,n)}return t.flags|=1,e=Za(r,s),e.ref=t.ref,e.return=t,t.child=e}function tv(e,t,a,s,n){if(e!==null){var r=e.memoizedProps;if(qr(r,s)&&e.ref===t.ref)if(Ye=!1,t.pendingProps=s=r,(e.lanes&n)!==0)e.flags&131072&&(Ye=!0);else return t.lanes=e.lanes,ga(e,t,n)}return Rd(e,t,a,s,n)}function av(e,t,a){var s=t.pendingProps,n=s.children,r=e!==null?e.memoizedState:null;if(s.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},ae(ln,tt),tt|=a;else{if(!(a&1073741824))return e=r!==null?r.baseLanes|a:a,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,ae(ln,tt),tt|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},s=r!==null?r.baseLanes:a,ae(ln,tt),tt|=s}else r!==null?(s=r.baseLanes|a,t.memoizedState=null):s=a,ae(ln,tt),tt|=s;return Ie(e,t,n,a),t.child}function sv(e,t){var a=t.ref;(e===null&&a!==null||e!==null&&e.ref!==a)&&(t.flags|=512,t.flags|=2097152)}function Rd(e,t,a,s,n){var r=Ze(a)?Hs:_e.current;return r=Rn(t,r),gn(t,n),a=vp(e,t,a,s,r,n),s=wp(),e!==null&&!Ye?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n,ga(e,t,n)):(oe&&s&&op(t),t.flags|=1,Ie(e,t,a,n),t.child)}function Of(e,t,a,s,n){if(Ze(a)){var r=!0;Vo(t)}else r=!1;if(gn(t,n),t.stateNode===null)co(e,t),Zy(t,a,s),Td(t,a,s,n),s=!0;else if(e===null){var o=t.stateNode,l=t.memoizedProps;o.props=l;var c=o.context,d=a.contextType;typeof d=="object"&&d!==null?d=wt(d):(d=Ze(a)?Hs:_e.current,d=Rn(t,d));var u=a.getDerivedStateFromProps,p=typeof u=="function"||typeof o.getSnapshotBeforeUpdate=="function";p||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==s||c!==d)&&Af(t,o,s,d),Ra=!1;var h=t.memoizedState;o.state=h,Bo(t,s,o,n),c=t.memoizedState,l!==s||h!==c||Xe.current||Ra?(typeof u=="function"&&(Ad(t,a,u,s),c=t.memoizedState),(l=Ra||Sf(t,a,l,s,h,c,d))?(p||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=s,t.memoizedState=c),o.props=s,o.state=c,o.context=d,s=l):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),s=!1)}else{o=t.stateNode,Ry(e,t),l=t.memoizedProps,d=t.type===t.elementType?l:St(t.type,l),o.props=d,p=t.pendingProps,h=o.context,c=a.contextType,typeof c=="object"&&c!==null?c=wt(c):(c=Ze(a)?Hs:_e.current,c=Rn(t,c));var f=a.getDerivedStateFromProps;(u=typeof f=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==p||h!==c)&&Af(t,o,s,c),Ra=!1,h=t.memoizedState,o.state=h,Bo(t,s,o,n);var y=t.memoizedState;l!==p||h!==y||Xe.current||Ra?(typeof f=="function"&&(Ad(t,a,f,s),y=t.memoizedState),(d=Ra||Sf(t,a,d,s,h,y,c)||!1)?(u||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(s,y,c),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(s,y,c)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=s,t.memoizedState=y),o.props=s,o.state=y,o.context=c,s=d):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),s=!1)}return Dd(e,t,a,s,r,n)}function Dd(e,t,a,s,n,r){sv(e,t);var o=(t.flags&128)!==0;if(!s&&!o)return n&&vf(t,a,!1),ga(e,t,r);s=t.stateNode,EP.current=t;var l=o&&typeof a.getDerivedStateFromError!="function"?null:s.render();return t.flags|=1,e!==null&&o?(t.child=Mn(t,e.child,null,r),t.child=Mn(t,null,l,r)):Ie(e,t,l,r),t.memoizedState=s.state,n&&vf(t,a,!0),t.child}function nv(e){var t=e.stateNode;t.pendingContext?yf(e,t.pendingContext,t.pendingContext!==t.context):t.context&&yf(e,t.context,!1),mp(e,t.containerInfo)}function Lf(e,t,a,s,n){return Dn(),cp(n),t.flags|=256,Ie(e,t,a,s),t.child}var Md={dehydrated:null,treeContext:null,retryLane:0};function Od(e){return{baseLanes:e,cachePool:null,transitions:null}}function rv(e,t,a){var s=t.pendingProps,n=le.current,r=!1,o=(t.flags&128)!==0,l;if((l=o)||(l=e!==null&&e.memoizedState===null?!1:(n&2)!==0),l?(r=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(n|=1),ae(le,n&1),e===null)return kd(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=s.children,e=s.fallback,r?(s=t.mode,r=t.child,o={mode:"hidden",children:o},!(s&1)&&r!==null?(r.childLanes=0,r.pendingProps=o):r=Sl(o,s,0,null),e=Ms(e,s,a,null),r.return=t,e.return=t,r.sibling=e,t.child=r,t.child.memoizedState=Od(a),t.memoizedState=Md,e):jp(t,o));if(n=e.memoizedState,n!==null&&(l=n.dehydrated,l!==null))return RP(e,t,o,s,l,n,a);if(r){r=s.fallback,o=t.mode,n=e.child,l=n.sibling;var c={mode:"hidden",children:s.children};return!(o&1)&&t.child!==n?(s=t.child,s.childLanes=0,s.pendingProps=c,t.deletions=null):(s=Za(n,c),s.subtreeFlags=n.subtreeFlags&14680064),l!==null?r=Za(l,r):(r=Ms(r,o,a,null),r.flags|=2),r.return=t,s.return=t,s.sibling=r,t.child=s,s=r,r=t.child,o=e.child.memoizedState,o=o===null?Od(a):{baseLanes:o.baseLanes|a,cachePool:null,transitions:o.transitions},r.memoizedState=o,r.childLanes=e.childLanes&~a,t.memoizedState=Md,s}return r=e.child,e=r.sibling,s=Za(r,{mode:"visible",children:s.children}),!(t.mode&1)&&(s.lanes=a),s.return=t,s.sibling=null,e!==null&&(a=t.deletions,a===null?(t.deletions=[e],t.flags|=16):a.push(e)),t.child=s,t.memoizedState=null,s}function jp(e,t){return t=Sl({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Ii(e,t,a,s){return s!==null&&cp(s),Mn(t,e.child,null,a),e=jp(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function RP(e,t,a,s,n,r,o){if(a)return t.flags&256?(t.flags&=-257,s=vc(Error(E(422))),Ii(e,t,o,s)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(r=s.fallback,n=t.mode,s=Sl({mode:"visible",children:s.children},n,0,null),r=Ms(r,n,o,null),r.flags|=2,s.return=t,r.return=t,s.sibling=r,t.child=s,t.mode&1&&Mn(t,e.child,null,o),t.child.memoizedState=Od(o),t.memoizedState=Md,r);if(!(t.mode&1))return Ii(e,t,o,null);if(n.data==="$!"){if(s=n.nextSibling&&n.nextSibling.dataset,s)var l=s.dgst;return s=l,r=Error(E(419)),s=vc(r,s,void 0),Ii(e,t,o,s)}if(l=(o&e.childLanes)!==0,Ye||l){if(s=Se,s!==null){switch(o&-o){case 4:n=2;break;case 16:n=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:n=32;break;case 536870912:n=268435456;break;default:n=0}n=n&(s.suspendedLanes|o)?0:n,n!==0&&n!==r.retryLane&&(r.retryLane=n,ma(e,n),Ot(s,e,n,-1))}return Tp(),s=vc(Error(E(421))),Ii(e,t,o,s)}return n.data==="$?"?(t.flags|=128,t.child=e.child,t=$P.bind(null,e),n._reactRetry=t,null):(e=r.treeContext,nt=Ga(n.nextSibling),rt=t,oe=!0,Rt=null,e!==null&&(ft[mt++]=da,ft[mt++]=ua,ft[mt++]=Vs,da=e.id,ua=e.overflow,Vs=t),t=jp(t,s.children),t.flags|=4096,t)}function zf(e,t,a){e.lanes|=t;var s=e.alternate;s!==null&&(s.lanes|=t),Sd(e.return,t,a)}function wc(e,t,a,s,n){var r=e.memoizedState;r===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:s,tail:a,tailMode:n}:(r.isBackwards=t,r.rendering=null,r.renderingStartTime=0,r.last=s,r.tail=a,r.tailMode=n)}function iv(e,t,a){var s=t.pendingProps,n=s.revealOrder,r=s.tail;if(Ie(e,t,s.children,a),s=le.current,s&2)s=s&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&zf(e,a,t);else if(e.tag===19)zf(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}s&=1}if(ae(le,s),!(t.mode&1))t.memoizedState=null;else switch(n){case"forwards":for(a=t.child,n=null;a!==null;)e=a.alternate,e!==null&&$o(e)===null&&(n=a),a=a.sibling;a=n,a===null?(n=t.child,t.child=null):(n=a.sibling,a.sibling=null),wc(t,!1,n,a,r);break;case"backwards":for(a=null,n=t.child,t.child=null;n!==null;){if(e=n.alternate,e!==null&&$o(e)===null){t.child=n;break}e=n.sibling,n.sibling=a,a=n,n=e}wc(t,!0,a,null,r);break;case"together":wc(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function co(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function ga(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),_s|=t.lanes,!(a&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(E(153));if(t.child!==null){for(e=t.child,a=Za(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=Za(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function DP(e,t,a){switch(t.tag){case 3:nv(t),Dn();break;case 5:Dy(t);break;case 1:Ze(t.type)&&Vo(t);break;case 4:mp(t,t.stateNode.containerInfo);break;case 10:var s=t.type._context,n=t.memoizedProps.value;ae(Io,s._currentValue),s._currentValue=n;break;case 13:if(s=t.memoizedState,s!==null)return s.dehydrated!==null?(ae(le,le.current&1),t.flags|=128,null):a&t.child.childLanes?rv(e,t,a):(ae(le,le.current&1),e=ga(e,t,a),e!==null?e.sibling:null);ae(le,le.current&1);break;case 19:if(s=(a&t.childLanes)!==0,e.flags&128){if(s)return iv(e,t,a);t.flags|=128}if(n=t.memoizedState,n!==null&&(n.rendering=null,n.tail=null,n.lastEffect=null),ae(le,le.current),s)break;return null;case 22:case 23:return t.lanes=0,av(e,t,a)}return ga(e,t,a)}var ov,Ld,lv,cv;ov=function(e,t){for(var a=t.child;a!==null;){if(a.tag===5||a.tag===6)e.appendChild(a.stateNode);else if(a.tag!==4&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break;for(;a.sibling===null;){if(a.return===null||a.return===t)return;a=a.return}a.sibling.return=a.return,a=a.sibling}};Ld=function(){};lv=function(e,t,a,s){var n=e.memoizedProps;if(n!==s){e=t.stateNode,Ps(Xt.current);var r=null;switch(a){case"input":n=sd(e,n),s=sd(e,s),r=[];break;case"select":n=de({},n,{value:void 0}),s=de({},s,{value:void 0}),r=[];break;case"textarea":n=id(e,n),s=id(e,s),r=[];break;default:typeof n.onClick!="function"&&typeof s.onClick=="function"&&(e.onclick=zo)}ld(a,s);var o;a=null;for(d in n)if(!s.hasOwnProperty(d)&&n.hasOwnProperty(d)&&n[d]!=null)if(d==="style"){var l=n[d];for(o in l)l.hasOwnProperty(o)&&(a||(a={}),a[o]="")}else d!=="dangerouslySetInnerHTML"&&d!=="children"&&d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&d!=="autoFocus"&&(Lr.hasOwnProperty(d)?r||(r=[]):(r=r||[]).push(d,null));for(d in s){var c=s[d];if(l=n!=null?n[d]:void 0,s.hasOwnProperty(d)&&c!==l&&(c!=null||l!=null))if(d==="style")if(l){for(o in l)!l.hasOwnProperty(o)||c&&c.hasOwnProperty(o)||(a||(a={}),a[o]="");for(o in c)c.hasOwnProperty(o)&&l[o]!==c[o]&&(a||(a={}),a[o]=c[o])}else a||(r||(r=[]),r.push(d,a)),a=c;else d==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,l=l?l.__html:void 0,c!=null&&l!==c&&(r=r||[]).push(d,c)):d==="children"?typeof c!="string"&&typeof c!="number"||(r=r||[]).push(d,""+c):d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&(Lr.hasOwnProperty(d)?(c!=null&&d==="onScroll"&&ne("scroll",e),r||l===c||(r=[])):(r=r||[]).push(d,c))}a&&(r=r||[]).push("style",a);var d=r;(t.updateQueue=d)&&(t.flags|=4)}};cv=function(e,t,a,s){a!==s&&(t.flags|=4)};function or(e,t){if(!oe)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var s=null;a!==null;)a.alternate!==null&&(s=a),a=a.sibling;s===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:s.sibling=null}}function ze(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,s=0;if(t)for(var n=e.child;n!==null;)a|=n.lanes|n.childLanes,s|=n.subtreeFlags&14680064,s|=n.flags&14680064,n.return=e,n=n.sibling;else for(n=e.child;n!==null;)a|=n.lanes|n.childLanes,s|=n.subtreeFlags,s|=n.flags,n.return=e,n=n.sibling;return e.subtreeFlags|=s,e.childLanes=a,t}function MP(e,t,a){var s=t.pendingProps;switch(lp(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ze(t),null;case 1:return Ze(t.type)&&Ho(),ze(t),null;case 3:return s=t.stateNode,On(),ie(Xe),ie(_e),xp(),s.pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),(e===null||e.child===null)&&(Fi(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Rt!==null&&(Bd(Rt),Rt=null))),Ld(e,t),ze(t),null;case 5:gp(t);var n=Ps(Qr.current);if(a=t.type,e!==null&&t.stateNode!=null)lv(e,t,a,s,n),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!s){if(t.stateNode===null)throw Error(E(166));return ze(t),null}if(e=Ps(Xt.current),Fi(t)){s=t.stateNode,a=t.type;var r=t.memoizedProps;switch(s[Gt]=t,s[Wr]=r,e=(t.mode&1)!==0,a){case"dialog":ne("cancel",s),ne("close",s);break;case"iframe":case"object":case"embed":ne("load",s);break;case"video":case"audio":for(n=0;n<yr.length;n++)ne(yr[n],s);break;case"source":ne("error",s);break;case"img":case"image":case"link":ne("error",s),ne("load",s);break;case"details":ne("toggle",s);break;case"input":$h(s,r),ne("invalid",s);break;case"select":s._wrapperState={wasMultiple:!!r.multiple},ne("invalid",s);break;case"textarea":Uh(s,r),ne("invalid",s)}ld(a,r),n=null;for(var o in r)if(r.hasOwnProperty(o)){var l=r[o];o==="children"?typeof l=="string"?s.textContent!==l&&(r.suppressHydrationWarning!==!0&&Vi(s.textContent,l,e),n=["children",l]):typeof l=="number"&&s.textContent!==""+l&&(r.suppressHydrationWarning!==!0&&Vi(s.textContent,l,e),n=["children",""+l]):Lr.hasOwnProperty(o)&&l!=null&&o==="onScroll"&&ne("scroll",s)}switch(a){case"input":Ei(s),Wh(s,r,!0);break;case"textarea":Ei(s),Qh(s);break;case"select":case"option":break;default:typeof r.onClick=="function"&&(s.onclick=zo)}s=n,t.updateQueue=s,s!==null&&(t.flags|=4)}else{o=n.nodeType===9?n:n.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=Hx(a)),e==="http://www.w3.org/1999/xhtml"?a==="script"?(e=o.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof s.is=="string"?e=o.createElement(a,{is:s.is}):(e=o.createElement(a),a==="select"&&(o=e,s.multiple?o.multiple=!0:s.size&&(o.size=s.size))):e=o.createElementNS(e,a),e[Gt]=t,e[Wr]=s,ov(e,t,!1,!1),t.stateNode=e;e:{switch(o=cd(a,s),a){case"dialog":ne("cancel",e),ne("close",e),n=s;break;case"iframe":case"object":case"embed":ne("load",e),n=s;break;case"video":case"audio":for(n=0;n<yr.length;n++)ne(yr[n],e);n=s;break;case"source":ne("error",e),n=s;break;case"img":case"image":case"link":ne("error",e),ne("load",e),n=s;break;case"details":ne("toggle",e),n=s;break;case"input":$h(e,s),n=sd(e,s),ne("invalid",e);break;case"option":n=s;break;case"select":e._wrapperState={wasMultiple:!!s.multiple},n=de({},s,{value:void 0}),ne("invalid",e);break;case"textarea":Uh(e,s),n=id(e,s),ne("invalid",e);break;default:n=s}ld(a,n),l=n;for(r in l)if(l.hasOwnProperty(r)){var c=l[r];r==="style"?_x(e,c):r==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,c!=null&&Vx(e,c)):r==="children"?typeof c=="string"?(a!=="textarea"||c!=="")&&zr(e,c):typeof c=="number"&&zr(e,""+c):r!=="suppressContentEditableWarning"&&r!=="suppressHydrationWarning"&&r!=="autoFocus"&&(Lr.hasOwnProperty(r)?c!=null&&r==="onScroll"&&ne("scroll",e):c!=null&&Qu(e,r,c,o))}switch(a){case"input":Ei(e),Wh(e,s,!1);break;case"textarea":Ei(e),Qh(e);break;case"option":s.value!=null&&e.setAttribute("value",""+es(s.value));break;case"select":e.multiple=!!s.multiple,r=s.value,r!=null?pn(e,!!s.multiple,r,!1):s.defaultValue!=null&&pn(e,!!s.multiple,s.defaultValue,!0);break;default:typeof n.onClick=="function"&&(e.onclick=zo)}switch(a){case"button":case"input":case"select":case"textarea":s=!!s.autoFocus;break e;case"img":s=!0;break e;default:s=!1}}s&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return ze(t),null;case 6:if(e&&t.stateNode!=null)cv(e,t,e.memoizedProps,s);else{if(typeof s!="string"&&t.stateNode===null)throw Error(E(166));if(a=Ps(Qr.current),Ps(Xt.current),Fi(t)){if(s=t.stateNode,a=t.memoizedProps,s[Gt]=t,(r=s.nodeValue!==a)&&(e=rt,e!==null))switch(e.tag){case 3:Vi(s.nodeValue,a,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&Vi(s.nodeValue,a,(e.mode&1)!==0)}r&&(t.flags|=4)}else s=(a.nodeType===9?a:a.ownerDocument).createTextNode(s),s[Gt]=t,t.stateNode=s}return ze(t),null;case 13:if(ie(le),s=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(oe&&nt!==null&&t.mode&1&&!(t.flags&128))Sy(),Dn(),t.flags|=98560,r=!1;else if(r=Fi(t),s!==null&&s.dehydrated!==null){if(e===null){if(!r)throw Error(E(318));if(r=t.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(E(317));r[Gt]=t}else Dn(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;ze(t),r=!1}else Rt!==null&&(Bd(Rt),Rt=null),r=!0;if(!r)return t.flags&65536?t:null}return t.flags&128?(t.lanes=a,t):(s=s!==null,s!==(e!==null&&e.memoizedState!==null)&&s&&(t.child.flags|=8192,t.mode&1&&(e===null||le.current&1?je===0&&(je=3):Tp())),t.updateQueue!==null&&(t.flags|=4),ze(t),null);case 4:return On(),Ld(e,t),e===null&&Br(t.stateNode.containerInfo),ze(t),null;case 10:return pp(t.type._context),ze(t),null;case 17:return Ze(t.type)&&Ho(),ze(t),null;case 19:if(ie(le),r=t.memoizedState,r===null)return ze(t),null;if(s=(t.flags&128)!==0,o=r.rendering,o===null)if(s)or(r,!1);else{if(je!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=$o(e),o!==null){for(t.flags|=128,or(r,!1),s=o.updateQueue,s!==null&&(t.updateQueue=s,t.flags|=4),t.subtreeFlags=0,s=a,a=t.child;a!==null;)r=a,e=s,r.flags&=14680066,o=r.alternate,o===null?(r.childLanes=0,r.lanes=e,r.child=null,r.subtreeFlags=0,r.memoizedProps=null,r.memoizedState=null,r.updateQueue=null,r.dependencies=null,r.stateNode=null):(r.childLanes=o.childLanes,r.lanes=o.lanes,r.child=o.child,r.subtreeFlags=0,r.deletions=null,r.memoizedProps=o.memoizedProps,r.memoizedState=o.memoizedState,r.updateQueue=o.updateQueue,r.type=o.type,e=o.dependencies,r.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),a=a.sibling;return ae(le,le.current&1|2),t.child}e=e.sibling}r.tail!==null&&me()>zn&&(t.flags|=128,s=!0,or(r,!1),t.lanes=4194304)}else{if(!s)if(e=$o(o),e!==null){if(t.flags|=128,s=!0,a=e.updateQueue,a!==null&&(t.updateQueue=a,t.flags|=4),or(r,!0),r.tail===null&&r.tailMode==="hidden"&&!o.alternate&&!oe)return ze(t),null}else 2*me()-r.renderingStartTime>zn&&a!==1073741824&&(t.flags|=128,s=!0,or(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(a=r.last,a!==null?a.sibling=o:t.child=o,r.last=o)}return r.tail!==null?(t=r.tail,r.rendering=t,r.tail=t.sibling,r.renderingStartTime=me(),t.sibling=null,a=le.current,ae(le,s?a&1|2:a&1),t):(ze(t),null);case 22:case 23:return Ap(),s=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==s&&(t.flags|=8192),s&&t.mode&1?tt&1073741824&&(ze(t),t.subtreeFlags&6&&(t.flags|=8192)):ze(t),null;case 24:return null;case 25:return null}throw Error(E(156,t.tag))}function OP(e,t){switch(lp(t),t.tag){case 1:return Ze(t.type)&&Ho(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return On(),ie(Xe),ie(_e),xp(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return gp(t),null;case 13:if(ie(le),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(E(340));Dn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ie(le),null;case 4:return On(),null;case 10:return pp(t.type._context),null;case 22:case 23:return Ap(),null;case 24:return null;default:return null}}var qi=!1,Fe=!1,LP=typeof WeakSet=="function"?WeakSet:Set,L=null;function on(e,t){var a=e.ref;if(a!==null)if(typeof a=="function")try{a(null)}catch(s){he(e,t,s)}else a.current=null}function zd(e,t,a){try{a()}catch(s){he(e,t,s)}}var Hf=!1;function zP(e,t){if(vd=Mo,e=fy(),ip(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var s=a.getSelection&&a.getSelection();if(s&&s.rangeCount!==0){a=s.anchorNode;var n=s.anchorOffset,r=s.focusNode;s=s.focusOffset;try{a.nodeType,r.nodeType}catch{a=null;break e}var o=0,l=-1,c=-1,d=0,u=0,p=e,h=null;t:for(;;){for(var f;p!==a||n!==0&&p.nodeType!==3||(l=o+n),p!==r||s!==0&&p.nodeType!==3||(c=o+s),p.nodeType===3&&(o+=p.nodeValue.length),(f=p.firstChild)!==null;)h=p,p=f;for(;;){if(p===e)break t;if(h===a&&++d===n&&(l=o),h===r&&++u===s&&(c=o),(f=p.nextSibling)!==null)break;p=h,h=p.parentNode}p=f}a=l===-1||c===-1?null:{start:l,end:c}}else a=null}a=a||{start:0,end:0}}else a=null;for(wd={focusedElem:e,selectionRange:a},Mo=!1,L=t;L!==null;)if(t=L,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,L=e;else for(;L!==null;){t=L;try{var y=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var v=y.memoizedProps,b=y.memoizedState,g=t.stateNode,m=g.getSnapshotBeforeUpdate(t.elementType===t.type?v:St(t.type,v),b);g.__reactInternalSnapshotBeforeUpdate=m}break;case 3:var x=t.stateNode.containerInfo;x.nodeType===1?x.textContent="":x.nodeType===9&&x.documentElement&&x.removeChild(x.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(E(163))}}catch(P){he(t,t.return,P)}if(e=t.sibling,e!==null){e.return=t.return,L=e;break}L=t.return}return y=Hf,Hf=!1,y}function Sr(e,t,a){var s=t.updateQueue;if(s=s!==null?s.lastEffect:null,s!==null){var n=s=s.next;do{if((n.tag&e)===e){var r=n.destroy;n.destroy=void 0,r!==void 0&&zd(t,a,r)}n=n.next}while(n!==s)}}function Nl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var a=t=t.next;do{if((a.tag&e)===e){var s=a.create;a.destroy=s()}a=a.next}while(a!==t)}}function Hd(e){var t=e.ref;if(t!==null){var a=e.stateNode;switch(e.tag){case 5:e=a;break;default:e=a}typeof t=="function"?t(e):t.current=e}}function dv(e){var t=e.alternate;t!==null&&(e.alternate=null,dv(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Gt],delete t[Wr],delete t[jd],delete t[yP],delete t[vP])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function uv(e){return e.tag===5||e.tag===3||e.tag===4}function Vf(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||uv(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Vd(e,t,a){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?a.nodeType===8?a.parentNode.insertBefore(e,t):a.insertBefore(e,t):(a.nodeType===8?(t=a.parentNode,t.insertBefore(e,a)):(t=a,t.appendChild(e)),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=zo));else if(s!==4&&(e=e.child,e!==null))for(Vd(e,t,a),e=e.sibling;e!==null;)Vd(e,t,a),e=e.sibling}function Fd(e,t,a){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(s!==4&&(e=e.child,e!==null))for(Fd(e,t,a),e=e.sibling;e!==null;)Fd(e,t,a),e=e.sibling}var Te=null,Et=!1;function ja(e,t,a){for(a=a.child;a!==null;)pv(e,t,a),a=a.sibling}function pv(e,t,a){if(Yt&&typeof Yt.onCommitFiberUnmount=="function")try{Yt.onCommitFiberUnmount(xl,a)}catch{}switch(a.tag){case 5:Fe||on(a,t);case 6:var s=Te,n=Et;Te=null,ja(e,t,a),Te=s,Et=n,Te!==null&&(Et?(e=Te,a=a.stateNode,e.nodeType===8?e.parentNode.removeChild(a):e.removeChild(a)):Te.removeChild(a.stateNode));break;case 18:Te!==null&&(Et?(e=Te,a=a.stateNode,e.nodeType===8?hc(e.parentNode,a):e.nodeType===1&&hc(e,a),_r(e)):hc(Te,a.stateNode));break;case 4:s=Te,n=Et,Te=a.stateNode.containerInfo,Et=!0,ja(e,t,a),Te=s,Et=n;break;case 0:case 11:case 14:case 15:if(!Fe&&(s=a.updateQueue,s!==null&&(s=s.lastEffect,s!==null))){n=s=s.next;do{var r=n,o=r.destroy;r=r.tag,o!==void 0&&(r&2||r&4)&&zd(a,t,o),n=n.next}while(n!==s)}ja(e,t,a);break;case 1:if(!Fe&&(on(a,t),s=a.stateNode,typeof s.componentWillUnmount=="function"))try{s.props=a.memoizedProps,s.state=a.memoizedState,s.componentWillUnmount()}catch(l){he(a,t,l)}ja(e,t,a);break;case 21:ja(e,t,a);break;case 22:a.mode&1?(Fe=(s=Fe)||a.memoizedState!==null,ja(e,t,a),Fe=s):ja(e,t,a);break;default:ja(e,t,a)}}function Ff(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var a=e.stateNode;a===null&&(a=e.stateNode=new LP),t.forEach(function(s){var n=WP.bind(null,e,s);a.has(s)||(a.add(s),s.then(n,n))})}}function Ct(e,t){var a=t.deletions;if(a!==null)for(var s=0;s<a.length;s++){var n=a[s];try{var r=e,o=t,l=o;e:for(;l!==null;){switch(l.tag){case 5:Te=l.stateNode,Et=!1;break e;case 3:Te=l.stateNode.containerInfo,Et=!0;break e;case 4:Te=l.stateNode.containerInfo,Et=!0;break e}l=l.return}if(Te===null)throw Error(E(160));pv(r,o,n),Te=null,Et=!1;var c=n.alternate;c!==null&&(c.return=null),n.return=null}catch(d){he(n,t,d)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)hv(t,e),t=t.sibling}function hv(e,t){var a=e.alternate,s=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Ct(t,e),_t(e),s&4){try{Sr(3,e,e.return),Nl(3,e)}catch(v){he(e,e.return,v)}try{Sr(5,e,e.return)}catch(v){he(e,e.return,v)}}break;case 1:Ct(t,e),_t(e),s&512&&a!==null&&on(a,a.return);break;case 5:if(Ct(t,e),_t(e),s&512&&a!==null&&on(a,a.return),e.flags&32){var n=e.stateNode;try{zr(n,"")}catch(v){he(e,e.return,v)}}if(s&4&&(n=e.stateNode,n!=null)){var r=e.memoizedProps,o=a!==null?a.memoizedProps:r,l=e.type,c=e.updateQueue;if(e.updateQueue=null,c!==null)try{l==="input"&&r.type==="radio"&&r.name!=null&&Lx(n,r),cd(l,o);var d=cd(l,r);for(o=0;o<c.length;o+=2){var u=c[o],p=c[o+1];u==="style"?_x(n,p):u==="dangerouslySetInnerHTML"?Vx(n,p):u==="children"?zr(n,p):Qu(n,u,p,d)}switch(l){case"input":nd(n,r);break;case"textarea":zx(n,r);break;case"select":var h=n._wrapperState.wasMultiple;n._wrapperState.wasMultiple=!!r.multiple;var f=r.value;f!=null?pn(n,!!r.multiple,f,!1):h!==!!r.multiple&&(r.defaultValue!=null?pn(n,!!r.multiple,r.defaultValue,!0):pn(n,!!r.multiple,r.multiple?[]:"",!1))}n[Wr]=r}catch(v){he(e,e.return,v)}}break;case 6:if(Ct(t,e),_t(e),s&4){if(e.stateNode===null)throw Error(E(162));n=e.stateNode,r=e.memoizedProps;try{n.nodeValue=r}catch(v){he(e,e.return,v)}}break;case 3:if(Ct(t,e),_t(e),s&4&&a!==null&&a.memoizedState.isDehydrated)try{_r(t.containerInfo)}catch(v){he(e,e.return,v)}break;case 4:Ct(t,e),_t(e);break;case 13:Ct(t,e),_t(e),n=e.child,n.flags&8192&&(r=n.memoizedState!==null,n.stateNode.isHidden=r,!r||n.alternate!==null&&n.alternate.memoizedState!==null||(kp=me())),s&4&&Ff(e);break;case 22:if(u=a!==null&&a.memoizedState!==null,e.mode&1?(Fe=(d=Fe)||u,Ct(t,e),Fe=d):Ct(t,e),_t(e),s&8192){if(d=e.memoizedState!==null,(e.stateNode.isHidden=d)&&!u&&e.mode&1)for(L=e,u=e.child;u!==null;){for(p=L=u;L!==null;){switch(h=L,f=h.child,h.tag){case 0:case 11:case 14:case 15:Sr(4,h,h.return);break;case 1:on(h,h.return);var y=h.stateNode;if(typeof y.componentWillUnmount=="function"){s=h,a=h.return;try{t=s,y.props=t.memoizedProps,y.state=t.memoizedState,y.componentWillUnmount()}catch(v){he(s,a,v)}}break;case 5:on(h,h.return);break;case 22:if(h.memoizedState!==null){If(p);continue}}f!==null?(f.return=h,L=f):If(p)}u=u.sibling}e:for(u=null,p=e;;){if(p.tag===5){if(u===null){u=p;try{n=p.stateNode,d?(r=n.style,typeof r.setProperty=="function"?r.setProperty("display","none","important"):r.display="none"):(l=p.stateNode,c=p.memoizedProps.style,o=c!=null&&c.hasOwnProperty("display")?c.display:null,l.style.display=Fx("display",o))}catch(v){he(e,e.return,v)}}}else if(p.tag===6){if(u===null)try{p.stateNode.nodeValue=d?"":p.memoizedProps}catch(v){he(e,e.return,v)}}else if((p.tag!==22&&p.tag!==23||p.memoizedState===null||p===e)&&p.child!==null){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;p.sibling===null;){if(p.return===null||p.return===e)break e;u===p&&(u=null),p=p.return}u===p&&(u=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:Ct(t,e),_t(e),s&4&&Ff(e);break;case 21:break;default:Ct(t,e),_t(e)}}function _t(e){var t=e.flags;if(t&2){try{e:{for(var a=e.return;a!==null;){if(uv(a)){var s=a;break e}a=a.return}throw Error(E(160))}switch(s.tag){case 5:var n=s.stateNode;s.flags&32&&(zr(n,""),s.flags&=-33);var r=Vf(e);Fd(e,r,n);break;case 3:case 4:var o=s.stateNode.containerInfo,l=Vf(e);Vd(e,l,o);break;default:throw Error(E(161))}}catch(c){he(e,e.return,c)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function HP(e,t,a){L=e,fv(e)}function fv(e,t,a){for(var s=(e.mode&1)!==0;L!==null;){var n=L,r=n.child;if(n.tag===22&&s){var o=n.memoizedState!==null||qi;if(!o){var l=n.alternate,c=l!==null&&l.memoizedState!==null||Fe;l=qi;var d=Fe;if(qi=o,(Fe=c)&&!d)for(L=n;L!==null;)o=L,c=o.child,o.tag===22&&o.memoizedState!==null?qf(n):c!==null?(c.return=o,L=c):qf(n);for(;r!==null;)L=r,fv(r),r=r.sibling;L=n,qi=l,Fe=d}_f(e)}else n.subtreeFlags&8772&&r!==null?(r.return=n,L=r):_f(e)}}function _f(e){for(;L!==null;){var t=L;if(t.flags&8772){var a=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:Fe||Nl(5,t);break;case 1:var s=t.stateNode;if(t.flags&4&&!Fe)if(a===null)s.componentDidMount();else{var n=t.elementType===t.type?a.memoizedProps:St(t.type,a.memoizedProps);s.componentDidUpdate(n,a.memoizedState,s.__reactInternalSnapshotBeforeUpdate)}var r=t.updateQueue;r!==null&&Cf(t,r,s);break;case 3:var o=t.updateQueue;if(o!==null){if(a=null,t.child!==null)switch(t.child.tag){case 5:a=t.child.stateNode;break;case 1:a=t.child.stateNode}Cf(t,o,a)}break;case 5:var l=t.stateNode;if(a===null&&t.flags&4){a=l;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&a.focus();break;case"img":c.src&&(a.src=c.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var d=t.alternate;if(d!==null){var u=d.memoizedState;if(u!==null){var p=u.dehydrated;p!==null&&_r(p)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(E(163))}Fe||t.flags&512&&Hd(t)}catch(h){he(t,t.return,h)}}if(t===e){L=null;break}if(a=t.sibling,a!==null){a.return=t.return,L=a;break}L=t.return}}function If(e){for(;L!==null;){var t=L;if(t===e){L=null;break}var a=t.sibling;if(a!==null){a.return=t.return,L=a;break}L=t.return}}function qf(e){for(;L!==null;){var t=L;try{switch(t.tag){case 0:case 11:case 15:var a=t.return;try{Nl(4,t)}catch(c){he(t,a,c)}break;case 1:var s=t.stateNode;if(typeof s.componentDidMount=="function"){var n=t.return;try{s.componentDidMount()}catch(c){he(t,n,c)}}var r=t.return;try{Hd(t)}catch(c){he(t,r,c)}break;case 5:var o=t.return;try{Hd(t)}catch(c){he(t,o,c)}}}catch(c){he(t,t.return,c)}if(t===e){L=null;break}var l=t.sibling;if(l!==null){l.return=t.return,L=l;break}L=t.return}}var VP=Math.ceil,Qo=va.ReactCurrentDispatcher,Cp=va.ReactCurrentOwner,yt=va.ReactCurrentBatchConfig,Z=0,Se=null,ye=null,Me=0,tt=0,ln=cs(0),je=0,Xr=null,_s=0,kl=0,Np=0,Ar=null,Ke=null,kp=0,zn=1/0,oa=null,Go=!1,_d=null,Ya=null,Bi=!1,qa=null,Ko=0,Tr=0,Id=null,uo=-1,po=0;function Ue(){return Z&6?me():uo!==-1?uo:uo=me()}function Xa(e){return e.mode&1?Z&2&&Me!==0?Me&-Me:bP.transition!==null?(po===0&&(po=Zx()),po):(e=J,e!==0||(e=window.event,e=e===void 0?16:ry(e.type)),e):1}function Ot(e,t,a,s){if(50<Tr)throw Tr=0,Id=null,Error(E(185));hi(e,a,s),(!(Z&2)||e!==Se)&&(e===Se&&(!(Z&2)&&(kl|=a),je===4&&Ma(e,Me)),Je(e,s),a===1&&Z===0&&!(t.mode&1)&&(zn=me()+500,Pl&&ds()))}function Je(e,t){var a=e.callbackNode;b2(e,t);var s=Do(e,e===Se?Me:0);if(s===0)a!==null&&Yh(a),e.callbackNode=null,e.callbackPriority=0;else if(t=s&-s,e.callbackPriority!==t){if(a!=null&&Yh(a),t===1)e.tag===0?wP(Bf.bind(null,e)):Cy(Bf.bind(null,e)),gP(function(){!(Z&6)&&ds()}),a=null;else{switch(Jx(s)){case 1:a=Zu;break;case 4:a=Yx;break;case 16:a=Ro;break;case 536870912:a=Xx;break;default:a=Ro}a=Pv(a,mv.bind(null,e))}e.callbackPriority=t,e.callbackNode=a}}function mv(e,t){if(uo=-1,po=0,Z&6)throw Error(E(327));var a=e.callbackNode;if(xn()&&e.callbackNode!==a)return null;var s=Do(e,e===Se?Me:0);if(s===0)return null;if(s&30||s&e.expiredLanes||t)t=Yo(e,s);else{t=s;var n=Z;Z|=2;var r=xv();(Se!==e||Me!==t)&&(oa=null,zn=me()+500,Ds(e,t));do try{IP();break}catch(l){gv(e,l)}while(!0);up(),Qo.current=r,Z=n,ye!==null?t=0:(Se=null,Me=0,t=je)}if(t!==0){if(t===2&&(n=fd(e),n!==0&&(s=n,t=qd(e,n))),t===1)throw a=Xr,Ds(e,0),Ma(e,s),Je(e,me()),a;if(t===6)Ma(e,s);else{if(n=e.current.alternate,!(s&30)&&!FP(n)&&(t=Yo(e,s),t===2&&(r=fd(e),r!==0&&(s=r,t=qd(e,r))),t===1))throw a=Xr,Ds(e,0),Ma(e,s),Je(e,me()),a;switch(e.finishedWork=n,e.finishedLanes=s,t){case 0:case 1:throw Error(E(345));case 2:ys(e,Ke,oa);break;case 3:if(Ma(e,s),(s&130023424)===s&&(t=kp+500-me(),10<t)){if(Do(e,0)!==0)break;if(n=e.suspendedLanes,(n&s)!==s){Ue(),e.pingedLanes|=e.suspendedLanes&n;break}e.timeoutHandle=Pd(ys.bind(null,e,Ke,oa),t);break}ys(e,Ke,oa);break;case 4:if(Ma(e,s),(s&4194240)===s)break;for(t=e.eventTimes,n=-1;0<s;){var o=31-Mt(s);r=1<<o,o=t[o],o>n&&(n=o),s&=~r}if(s=n,s=me()-s,s=(120>s?120:480>s?480:1080>s?1080:1920>s?1920:3e3>s?3e3:4320>s?4320:1960*VP(s/1960))-s,10<s){e.timeoutHandle=Pd(ys.bind(null,e,Ke,oa),s);break}ys(e,Ke,oa);break;case 5:ys(e,Ke,oa);break;default:throw Error(E(329))}}}return Je(e,me()),e.callbackNode===a?mv.bind(null,e):null}function qd(e,t){var a=Ar;return e.current.memoizedState.isDehydrated&&(Ds(e,t).flags|=256),e=Yo(e,t),e!==2&&(t=Ke,Ke=a,t!==null&&Bd(t)),e}function Bd(e){Ke===null?Ke=e:Ke.push.apply(Ke,e)}function FP(e){for(var t=e;;){if(t.flags&16384){var a=t.updateQueue;if(a!==null&&(a=a.stores,a!==null))for(var s=0;s<a.length;s++){var n=a[s],r=n.getSnapshot;n=n.value;try{if(!zt(r(),n))return!1}catch{return!1}}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Ma(e,t){for(t&=~Np,t&=~kl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var a=31-Mt(t),s=1<<a;e[a]=-1,t&=~s}}function Bf(e){if(Z&6)throw Error(E(327));xn();var t=Do(e,0);if(!(t&1))return Je(e,me()),null;var a=Yo(e,t);if(e.tag!==0&&a===2){var s=fd(e);s!==0&&(t=s,a=qd(e,s))}if(a===1)throw a=Xr,Ds(e,0),Ma(e,t),Je(e,me()),a;if(a===6)throw Error(E(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,ys(e,Ke,oa),Je(e,me()),null}function Sp(e,t){var a=Z;Z|=1;try{return e(t)}finally{Z=a,Z===0&&(zn=me()+500,Pl&&ds())}}function Is(e){qa!==null&&qa.tag===0&&!(Z&6)&&xn();var t=Z;Z|=1;var a=yt.transition,s=J;try{if(yt.transition=null,J=1,e)return e()}finally{J=s,yt.transition=a,Z=t,!(Z&6)&&ds()}}function Ap(){tt=ln.current,ie(ln)}function Ds(e,t){e.finishedWork=null,e.finishedLanes=0;var a=e.timeoutHandle;if(a!==-1&&(e.timeoutHandle=-1,mP(a)),ye!==null)for(a=ye.return;a!==null;){var s=a;switch(lp(s),s.tag){case 1:s=s.type.childContextTypes,s!=null&&Ho();break;case 3:On(),ie(Xe),ie(_e),xp();break;case 5:gp(s);break;case 4:On();break;case 13:ie(le);break;case 19:ie(le);break;case 10:pp(s.type._context);break;case 22:case 23:Ap()}a=a.return}if(Se=e,ye=e=Za(e.current,null),Me=tt=t,je=0,Xr=null,Np=kl=_s=0,Ke=Ar=null,bs!==null){for(t=0;t<bs.length;t++)if(a=bs[t],s=a.interleaved,s!==null){a.interleaved=null;var n=s.next,r=a.pending;if(r!==null){var o=r.next;r.next=n,s.next=o}a.pending=s}bs=null}return e}function gv(e,t){do{var a=ye;try{if(up(),oo.current=Uo,Wo){for(var s=ce.memoizedState;s!==null;){var n=s.queue;n!==null&&(n.pending=null),s=s.next}Wo=!1}if(Fs=0,ke=be=ce=null,kr=!1,Gr=0,Cp.current=null,a===null||a.return===null){je=1,Xr=t,ye=null;break}e:{var r=e,o=a.return,l=a,c=t;if(t=Me,l.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){var d=c,u=l,p=u.tag;if(!(u.mode&1)&&(p===0||p===11||p===15)){var h=u.alternate;h?(u.updateQueue=h.updateQueue,u.memoizedState=h.memoizedState,u.lanes=h.lanes):(u.updateQueue=null,u.memoizedState=null)}var f=Ef(o);if(f!==null){f.flags&=-257,Rf(f,o,l,r,t),f.mode&1&&Tf(r,d,t),t=f,c=d;var y=t.updateQueue;if(y===null){var v=new Set;v.add(c),t.updateQueue=v}else y.add(c);break e}else{if(!(t&1)){Tf(r,d,t),Tp();break e}c=Error(E(426))}}else if(oe&&l.mode&1){var b=Ef(o);if(b!==null){!(b.flags&65536)&&(b.flags|=256),Rf(b,o,l,r,t),cp(Ln(c,l));break e}}r=c=Ln(c,l),je!==4&&(je=2),Ar===null?Ar=[r]:Ar.push(r),r=o;do{switch(r.tag){case 3:r.flags|=65536,t&=-t,r.lanes|=t;var g=Jy(r,c,t);jf(r,g);break e;case 1:l=c;var m=r.type,x=r.stateNode;if(!(r.flags&128)&&(typeof m.getDerivedStateFromError=="function"||x!==null&&typeof x.componentDidCatch=="function"&&(Ya===null||!Ya.has(x)))){r.flags|=65536,t&=-t,r.lanes|=t;var P=ev(r,l,t);jf(r,P);break e}}r=r.return}while(r!==null)}vv(a)}catch(j){t=j,ye===a&&a!==null&&(ye=a=a.return);continue}break}while(!0)}function xv(){var e=Qo.current;return Qo.current=Uo,e===null?Uo:e}function Tp(){(je===0||je===3||je===2)&&(je=4),Se===null||!(_s&268435455)&&!(kl&268435455)||Ma(Se,Me)}function Yo(e,t){var a=Z;Z|=2;var s=xv();(Se!==e||Me!==t)&&(oa=null,Ds(e,t));do try{_P();break}catch(n){gv(e,n)}while(!0);if(up(),Z=a,Qo.current=s,ye!==null)throw Error(E(261));return Se=null,Me=0,je}function _P(){for(;ye!==null;)yv(ye)}function IP(){for(;ye!==null&&!p2();)yv(ye)}function yv(e){var t=bv(e.alternate,e,tt);e.memoizedProps=e.pendingProps,t===null?vv(e):ye=t,Cp.current=null}function vv(e){var t=e;do{var a=t.alternate;if(e=t.return,t.flags&32768){if(a=OP(a,t),a!==null){a.flags&=32767,ye=a;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{je=6,ye=null;return}}else if(a=MP(a,t,tt),a!==null){ye=a;return}if(t=t.sibling,t!==null){ye=t;return}ye=t=e}while(t!==null);je===0&&(je=5)}function ys(e,t,a){var s=J,n=yt.transition;try{yt.transition=null,J=1,qP(e,t,a,s)}finally{yt.transition=n,J=s}return null}function qP(e,t,a,s){do xn();while(qa!==null);if(Z&6)throw Error(E(327));a=e.finishedWork;var n=e.finishedLanes;if(a===null)return null;if(e.finishedWork=null,e.finishedLanes=0,a===e.current)throw Error(E(177));e.callbackNode=null,e.callbackPriority=0;var r=a.lanes|a.childLanes;if(P2(e,r),e===Se&&(ye=Se=null,Me=0),!(a.subtreeFlags&2064)&&!(a.flags&2064)||Bi||(Bi=!0,Pv(Ro,function(){return xn(),null})),r=(a.flags&15990)!==0,a.subtreeFlags&15990||r){r=yt.transition,yt.transition=null;var o=J;J=1;var l=Z;Z|=4,Cp.current=null,zP(e,a),hv(a,e),lP(wd),Mo=!!vd,wd=vd=null,e.current=a,HP(a),h2(),Z=l,J=o,yt.transition=r}else e.current=a;if(Bi&&(Bi=!1,qa=e,Ko=n),r=e.pendingLanes,r===0&&(Ya=null),g2(a.stateNode),Je(e,me()),t!==null)for(s=e.onRecoverableError,a=0;a<t.length;a++)n=t[a],s(n.value,{componentStack:n.stack,digest:n.digest});if(Go)throw Go=!1,e=_d,_d=null,e;return Ko&1&&e.tag!==0&&xn(),r=e.pendingLanes,r&1?e===Id?Tr++:(Tr=0,Id=e):Tr=0,ds(),null}function xn(){if(qa!==null){var e=Jx(Ko),t=yt.transition,a=J;try{if(yt.transition=null,J=16>e?16:e,qa===null)var s=!1;else{if(e=qa,qa=null,Ko=0,Z&6)throw Error(E(331));var n=Z;for(Z|=4,L=e.current;L!==null;){var r=L,o=r.child;if(L.flags&16){var l=r.deletions;if(l!==null){for(var c=0;c<l.length;c++){var d=l[c];for(L=d;L!==null;){var u=L;switch(u.tag){case 0:case 11:case 15:Sr(8,u,r)}var p=u.child;if(p!==null)p.return=u,L=p;else for(;L!==null;){u=L;var h=u.sibling,f=u.return;if(dv(u),u===d){L=null;break}if(h!==null){h.return=f,L=h;break}L=f}}}var y=r.alternate;if(y!==null){var v=y.child;if(v!==null){y.child=null;do{var b=v.sibling;v.sibling=null,v=b}while(v!==null)}}L=r}}if(r.subtreeFlags&2064&&o!==null)o.return=r,L=o;else e:for(;L!==null;){if(r=L,r.flags&2048)switch(r.tag){case 0:case 11:case 15:Sr(9,r,r.return)}var g=r.sibling;if(g!==null){g.return=r.return,L=g;break e}L=r.return}}var m=e.current;for(L=m;L!==null;){o=L;var x=o.child;if(o.subtreeFlags&2064&&x!==null)x.return=o,L=x;else e:for(o=m;L!==null;){if(l=L,l.flags&2048)try{switch(l.tag){case 0:case 11:case 15:Nl(9,l)}}catch(j){he(l,l.return,j)}if(l===o){L=null;break e}var P=l.sibling;if(P!==null){P.return=l.return,L=P;break e}L=l.return}}if(Z=n,ds(),Yt&&typeof Yt.onPostCommitFiberRoot=="function")try{Yt.onPostCommitFiberRoot(xl,e)}catch{}s=!0}return s}finally{J=a,yt.transition=t}}return!1}function $f(e,t,a){t=Ln(a,t),t=Jy(e,t,1),e=Ka(e,t,1),t=Ue(),e!==null&&(hi(e,1,t),Je(e,t))}function he(e,t,a){if(e.tag===3)$f(e,e,a);else for(;t!==null;){if(t.tag===3){$f(t,e,a);break}else if(t.tag===1){var s=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof s.componentDidCatch=="function"&&(Ya===null||!Ya.has(s))){e=Ln(a,e),e=ev(t,e,1),t=Ka(t,e,1),e=Ue(),t!==null&&(hi(t,1,e),Je(t,e));break}}t=t.return}}function BP(e,t,a){var s=e.pingCache;s!==null&&s.delete(t),t=Ue(),e.pingedLanes|=e.suspendedLanes&a,Se===e&&(Me&a)===a&&(je===4||je===3&&(Me&130023424)===Me&&500>me()-kp?Ds(e,0):Np|=a),Je(e,t)}function wv(e,t){t===0&&(e.mode&1?(t=Mi,Mi<<=1,!(Mi&130023424)&&(Mi=4194304)):t=1);var a=Ue();e=ma(e,t),e!==null&&(hi(e,t,a),Je(e,a))}function $P(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),wv(e,a)}function WP(e,t){var a=0;switch(e.tag){case 13:var s=e.stateNode,n=e.memoizedState;n!==null&&(a=n.retryLane);break;case 19:s=e.stateNode;break;default:throw Error(E(314))}s!==null&&s.delete(t),wv(e,a)}var bv;bv=function(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps||Xe.current)Ye=!0;else{if(!(e.lanes&a)&&!(t.flags&128))return Ye=!1,DP(e,t,a);Ye=!!(e.flags&131072)}else Ye=!1,oe&&t.flags&1048576&&Ny(t,_o,t.index);switch(t.lanes=0,t.tag){case 2:var s=t.type;co(e,t),e=t.pendingProps;var n=Rn(t,_e.current);gn(t,a),n=vp(null,t,s,e,n,a);var r=wp();return t.flags|=1,typeof n=="object"&&n!==null&&typeof n.render=="function"&&n.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ze(s)?(r=!0,Vo(t)):r=!1,t.memoizedState=n.state!==null&&n.state!==void 0?n.state:null,fp(t),n.updater=Cl,t.stateNode=n,n._reactInternals=t,Td(t,s,e,a),t=Dd(null,t,s,!0,r,a)):(t.tag=0,oe&&r&&op(t),Ie(null,t,n,a),t=t.child),t;case 16:s=t.elementType;e:{switch(co(e,t),e=t.pendingProps,n=s._init,s=n(s._payload),t.type=s,n=t.tag=QP(s),e=St(s,e),n){case 0:t=Rd(null,t,s,e,a);break e;case 1:t=Of(null,t,s,e,a);break e;case 11:t=Df(null,t,s,e,a);break e;case 14:t=Mf(null,t,s,St(s.type,e),a);break e}throw Error(E(306,s,""))}return t;case 0:return s=t.type,n=t.pendingProps,n=t.elementType===s?n:St(s,n),Rd(e,t,s,n,a);case 1:return s=t.type,n=t.pendingProps,n=t.elementType===s?n:St(s,n),Of(e,t,s,n,a);case 3:e:{if(nv(t),e===null)throw Error(E(387));s=t.pendingProps,r=t.memoizedState,n=r.element,Ry(e,t),Bo(t,s,null,a);var o=t.memoizedState;if(s=o.element,r.isDehydrated)if(r={element:s,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=r,t.memoizedState=r,t.flags&256){n=Ln(Error(E(423)),t),t=Lf(e,t,s,a,n);break e}else if(s!==n){n=Ln(Error(E(424)),t),t=Lf(e,t,s,a,n);break e}else for(nt=Ga(t.stateNode.containerInfo.firstChild),rt=t,oe=!0,Rt=null,a=Ty(t,null,s,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(Dn(),s===n){t=ga(e,t,a);break e}Ie(e,t,s,a)}t=t.child}return t;case 5:return Dy(t),e===null&&kd(t),s=t.type,n=t.pendingProps,r=e!==null?e.memoizedProps:null,o=n.children,bd(s,n)?o=null:r!==null&&bd(s,r)&&(t.flags|=32),sv(e,t),Ie(e,t,o,a),t.child;case 6:return e===null&&kd(t),null;case 13:return rv(e,t,a);case 4:return mp(t,t.stateNode.containerInfo),s=t.pendingProps,e===null?t.child=Mn(t,null,s,a):Ie(e,t,s,a),t.child;case 11:return s=t.type,n=t.pendingProps,n=t.elementType===s?n:St(s,n),Df(e,t,s,n,a);case 7:return Ie(e,t,t.pendingProps,a),t.child;case 8:return Ie(e,t,t.pendingProps.children,a),t.child;case 12:return Ie(e,t,t.pendingProps.children,a),t.child;case 10:e:{if(s=t.type._context,n=t.pendingProps,r=t.memoizedProps,o=n.value,ae(Io,s._currentValue),s._currentValue=o,r!==null)if(zt(r.value,o)){if(r.children===n.children&&!Xe.current){t=ga(e,t,a);break e}}else for(r=t.child,r!==null&&(r.return=t);r!==null;){var l=r.dependencies;if(l!==null){o=r.child;for(var c=l.firstContext;c!==null;){if(c.context===s){if(r.tag===1){c=pa(-1,a&-a),c.tag=2;var d=r.updateQueue;if(d!==null){d=d.shared;var u=d.pending;u===null?c.next=c:(c.next=u.next,u.next=c),d.pending=c}}r.lanes|=a,c=r.alternate,c!==null&&(c.lanes|=a),Sd(r.return,a,t),l.lanes|=a;break}c=c.next}}else if(r.tag===10)o=r.type===t.type?null:r.child;else if(r.tag===18){if(o=r.return,o===null)throw Error(E(341));o.lanes|=a,l=o.alternate,l!==null&&(l.lanes|=a),Sd(o,a,t),o=r.sibling}else o=r.child;if(o!==null)o.return=r;else for(o=r;o!==null;){if(o===t){o=null;break}if(r=o.sibling,r!==null){r.return=o.return,o=r;break}o=o.return}r=o}Ie(e,t,n.children,a),t=t.child}return t;case 9:return n=t.type,s=t.pendingProps.children,gn(t,a),n=wt(n),s=s(n),t.flags|=1,Ie(e,t,s,a),t.child;case 14:return s=t.type,n=St(s,t.pendingProps),n=St(s.type,n),Mf(e,t,s,n,a);case 15:return tv(e,t,t.type,t.pendingProps,a);case 17:return s=t.type,n=t.pendingProps,n=t.elementType===s?n:St(s,n),co(e,t),t.tag=1,Ze(s)?(e=!0,Vo(t)):e=!1,gn(t,a),Zy(t,s,n),Td(t,s,n,a),Dd(null,t,s,!0,e,a);case 19:return iv(e,t,a);case 22:return av(e,t,a)}throw Error(E(156,t.tag))};function Pv(e,t){return Kx(e,t)}function UP(e,t,a,s){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=s,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function gt(e,t,a,s){return new UP(e,t,a,s)}function Ep(e){return e=e.prototype,!(!e||!e.isReactComponent)}function QP(e){if(typeof e=="function")return Ep(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ku)return 11;if(e===Yu)return 14}return 2}function Za(e,t){var a=e.alternate;return a===null?(a=gt(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&14680064,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a}function ho(e,t,a,s,n,r){var o=2;if(s=e,typeof e=="function")Ep(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case Xs:return Ms(a.children,n,r,t);case Gu:o=8,n|=8;break;case Jc:return e=gt(12,a,t,n|2),e.elementType=Jc,e.lanes=r,e;case ed:return e=gt(13,a,t,n),e.elementType=ed,e.lanes=r,e;case td:return e=gt(19,a,t,n),e.elementType=td,e.lanes=r,e;case Dx:return Sl(a,n,r,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Ex:o=10;break e;case Rx:o=9;break e;case Ku:o=11;break e;case Yu:o=14;break e;case Ea:o=16,s=null;break e}throw Error(E(130,e==null?e:typeof e,""))}return t=gt(o,a,t,n),t.elementType=e,t.type=s,t.lanes=r,t}function Ms(e,t,a,s){return e=gt(7,e,s,t),e.lanes=a,e}function Sl(e,t,a,s){return e=gt(22,e,s,t),e.elementType=Dx,e.lanes=a,e.stateNode={isHidden:!1},e}function bc(e,t,a){return e=gt(6,e,null,t),e.lanes=a,e}function Pc(e,t,a){return t=gt(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function GP(e,t,a,s,n){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ac(0),this.expirationTimes=ac(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ac(0),this.identifierPrefix=s,this.onRecoverableError=n,this.mutableSourceEagerHydrationData=null}function Rp(e,t,a,s,n,r,o,l,c){return e=new GP(e,t,a,l,c),t===1?(t=1,r===!0&&(t|=8)):t=0,r=gt(3,null,null,t),e.current=r,r.stateNode=e,r.memoizedState={element:s,isDehydrated:a,cache:null,transitions:null,pendingSuspenseBoundaries:null},fp(r),e}function KP(e,t,a){var s=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Ys,key:s==null?null:""+s,children:e,containerInfo:t,implementation:a}}function jv(e){if(!e)return ts;e=e._reactInternals;e:{if($s(e)!==e||e.tag!==1)throw Error(E(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Ze(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(E(171))}if(e.tag===1){var a=e.type;if(Ze(a))return jy(e,a,t)}return t}function Cv(e,t,a,s,n,r,o,l,c){return e=Rp(a,s,!0,e,n,r,o,l,c),e.context=jv(null),a=e.current,s=Ue(),n=Xa(a),r=pa(s,n),r.callback=t??null,Ka(a,r,n),e.current.lanes=n,hi(e,n,s),Je(e,s),e}function Al(e,t,a,s){var n=t.current,r=Ue(),o=Xa(n);return a=jv(a),t.context===null?t.context=a:t.pendingContext=a,t=pa(r,o),t.payload={element:e},s=s===void 0?null:s,s!==null&&(t.callback=s),e=Ka(n,t,o),e!==null&&(Ot(e,n,o,r),io(e,n,o)),o}function Xo(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function Wf(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function Dp(e,t){Wf(e,t),(e=e.alternate)&&Wf(e,t)}function YP(){return null}var Nv=typeof reportError=="function"?reportError:function(e){console.error(e)};function Mp(e){this._internalRoot=e}Tl.prototype.render=Mp.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(E(409));Al(e,t,null,null)};Tl.prototype.unmount=Mp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Is(function(){Al(null,e,null,null)}),t[fa]=null}};function Tl(e){this._internalRoot=e}Tl.prototype.unstable_scheduleHydration=function(e){if(e){var t=ay();e={blockedOn:null,target:e,priority:t};for(var a=0;a<Da.length&&t!==0&&t<Da[a].priority;a++);Da.splice(a,0,e),a===0&&ny(e)}};function Op(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function El(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Uf(){}function XP(e,t,a,s,n){if(n){if(typeof s=="function"){var r=s;s=function(){var d=Xo(o);r.call(d)}}var o=Cv(t,s,e,0,null,!1,!1,"",Uf);return e._reactRootContainer=o,e[fa]=o.current,Br(e.nodeType===8?e.parentNode:e),Is(),o}for(;n=e.lastChild;)e.removeChild(n);if(typeof s=="function"){var l=s;s=function(){var d=Xo(c);l.call(d)}}var c=Rp(e,0,!1,null,null,!1,!1,"",Uf);return e._reactRootContainer=c,e[fa]=c.current,Br(e.nodeType===8?e.parentNode:e),Is(function(){Al(t,c,a,s)}),c}function Rl(e,t,a,s,n){var r=a._reactRootContainer;if(r){var o=r;if(typeof n=="function"){var l=n;n=function(){var c=Xo(o);l.call(c)}}Al(t,o,e,n)}else o=XP(a,t,e,n,s);return Xo(o)}ey=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var a=xr(t.pendingLanes);a!==0&&(Ju(t,a|1),Je(t,me()),!(Z&6)&&(zn=me()+500,ds()))}break;case 13:Is(function(){var s=ma(e,1);if(s!==null){var n=Ue();Ot(s,e,1,n)}}),Dp(e,1)}};ep=function(e){if(e.tag===13){var t=ma(e,134217728);if(t!==null){var a=Ue();Ot(t,e,134217728,a)}Dp(e,134217728)}};ty=function(e){if(e.tag===13){var t=Xa(e),a=ma(e,t);if(a!==null){var s=Ue();Ot(a,e,t,s)}Dp(e,t)}};ay=function(){return J};sy=function(e,t){var a=J;try{return J=e,t()}finally{J=a}};ud=function(e,t,a){switch(t){case"input":if(nd(e,a),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<a.length;t++){var s=a[t];if(s!==e&&s.form===e.form){var n=bl(s);if(!n)throw Error(E(90));Ox(s),nd(s,n)}}}break;case"textarea":zx(e,a);break;case"select":t=a.value,t!=null&&pn(e,!!a.multiple,t,!1)}};Bx=Sp;$x=Is;var ZP={usingClientEntryPoint:!1,Events:[mi,tn,bl,Ix,qx,Sp]},lr={findFiberByHostInstance:ws,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},JP={bundleType:lr.bundleType,version:lr.version,rendererPackageName:lr.rendererPackageName,rendererConfig:lr.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:va.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Qx(e),e===null?null:e.stateNode},findFiberByHostInstance:lr.findFiberByHostInstance||YP,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var $i=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!$i.isDisabled&&$i.supportsFiber)try{xl=$i.inject(JP),Yt=$i}catch{}}ct.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ZP;ct.createPortal=function(e,t){var a=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Op(t))throw Error(E(200));return KP(e,t,null,a)};ct.createRoot=function(e,t){if(!Op(e))throw Error(E(299));var a=!1,s="",n=Nv;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(s=t.identifierPrefix),t.onRecoverableError!==void 0&&(n=t.onRecoverableError)),t=Rp(e,1,!1,null,null,a,!1,s,n),e[fa]=t.current,Br(e.nodeType===8?e.parentNode:e),new Mp(t)};ct.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(E(188)):(e=Object.keys(e).join(","),Error(E(268,e)));return e=Qx(t),e=e===null?null:e.stateNode,e};ct.flushSync=function(e){return Is(e)};ct.hydrate=function(e,t,a){if(!El(t))throw Error(E(200));return Rl(null,e,t,!0,a)};ct.hydrateRoot=function(e,t,a){if(!Op(e))throw Error(E(405));var s=a!=null&&a.hydratedSources||null,n=!1,r="",o=Nv;if(a!=null&&(a.unstable_strictMode===!0&&(n=!0),a.identifierPrefix!==void 0&&(r=a.identifierPrefix),a.onRecoverableError!==void 0&&(o=a.onRecoverableError)),t=Cv(t,null,e,1,a??null,n,!1,r,o),e[fa]=t.current,Br(e),s)for(e=0;e<s.length;e++)a=s[e],n=a._getVersion,n=n(a._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[a,n]:t.mutableSourceEagerHydrationData.push(a,n);return new Tl(t)};ct.render=function(e,t,a){if(!El(t))throw Error(E(200));return Rl(null,e,t,!1,a)};ct.unmountComponentAtNode=function(e){if(!El(e))throw Error(E(40));return e._reactRootContainer?(Is(function(){Rl(null,null,e,!1,function(){e._reactRootContainer=null,e[fa]=null})}),!0):!1};ct.unstable_batchedUpdates=Sp;ct.unstable_renderSubtreeIntoContainer=function(e,t,a,s){if(!El(a))throw Error(E(200));if(e==null||e._reactInternals===void 0)throw Error(E(38));return Rl(e,t,a,!1,s)};ct.version="18.3.1-next-f1338f8080-20240426";function kv(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(kv)}catch(e){console.error(e)}}kv(),kx.exports=ct;var xi=kx.exports;const ej=ui(xi);var Sv,Qf=xi;Sv=Qf.createRoot,Qf.hydrateRoot;const tj=1,aj=1e6;let jc=0;function sj(){return jc=(jc+1)%Number.MAX_SAFE_INTEGER,jc.toString()}const Cc=new Map,Gf=e=>{if(Cc.has(e))return;const t=setTimeout(()=>{Cc.delete(e),Er({type:"REMOVE_TOAST",toastId:e})},aj);Cc.set(e,t)},nj=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,tj)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(a=>a.id===t.toast.id?{...a,...t.toast}:a)};case"DISMISS_TOAST":{const{toastId:a}=t;return a?Gf(a):e.toasts.forEach(s=>{Gf(s.id)}),{...e,toasts:e.toasts.map(s=>s.id===a||a===void 0?{...s,open:!1}:s)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(a=>a.id!==t.toastId)}}},fo=[];let mo={toasts:[]};function Er(e){mo=nj(mo,e),fo.forEach(t=>{t(mo)})}function $d({...e}){const t=sj(),a=n=>Er({type:"UPDATE_TOAST",toast:{...n,id:t}}),s=()=>Er({type:"DISMISS_TOAST",toastId:t});return Er({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:n=>{n||s()}}}),{id:t,dismiss:s,update:a}}function rj(){const[e,t]=w.useState(mo);return w.useEffect(()=>(fo.push(t),()=>{const a=fo.indexOf(t);a>-1&&fo.splice(a,1)}),[e]),{...e,toast:$d,dismiss:a=>Er({type:"DISMISS_TOAST",toastId:a})}}function Pe(e,t,{checkForDefaultPrevented:a=!0}={}){return function(n){if(e==null||e(n),a===!1||!n.defaultPrevented)return t==null?void 0:t(n)}}function Kf(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Lp(...e){return t=>{let a=!1;const s=e.map(n=>{const r=Kf(n,t);return!a&&typeof r=="function"&&(a=!0),r});if(a)return()=>{for(let n=0;n<s.length;n++){const r=s[n];typeof r=="function"?r():Kf(e[n],null)}}}}function Ht(...e){return w.useCallback(Lp(...e),e)}function Dl(e,t=[]){let a=[];function s(r,o){const l=w.createContext(o),c=a.length;a=[...a,o];const d=p=>{var g;const{scope:h,children:f,...y}=p,v=((g=h==null?void 0:h[e])==null?void 0:g[c])||l,b=w.useMemo(()=>y,Object.values(y));return i.jsx(v.Provider,{value:b,children:f})};d.displayName=r+"Provider";function u(p,h){var v;const f=((v=h==null?void 0:h[e])==null?void 0:v[c])||l,y=w.useContext(f);if(y)return y;if(o!==void 0)return o;throw new Error(`\`${p}\` must be used within \`${r}\``)}return[d,u]}const n=()=>{const r=a.map(o=>w.createContext(o));return function(l){const c=(l==null?void 0:l[e])||r;return w.useMemo(()=>({[`__scope${e}`]:{...l,[e]:c}}),[l,c])}};return n.scopeName=e,[s,ij(n,...t)]}function ij(...e){const t=e[0];if(e.length===1)return t;const a=()=>{const s=e.map(n=>({useScope:n(),scopeName:n.scopeName}));return function(r){const o=s.reduce((l,{useScope:c,scopeName:d})=>{const p=c(r)[`__scope${d}`];return{...l,...p}},{});return w.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return a.scopeName=t.scopeName,a}function Wd(e){const t=oj(e),a=w.forwardRef((s,n)=>{const{children:r,...o}=s,l=w.Children.toArray(r),c=l.find(cj);if(c){const d=c.props.children,u=l.map(p=>p===c?w.Children.count(d)>1?w.Children.only(null):w.isValidElement(d)?d.props.children:null:p);return i.jsx(t,{...o,ref:n,children:w.isValidElement(d)?w.cloneElement(d,void 0,u):null})}return i.jsx(t,{...o,ref:n,children:r})});return a.displayName=`${e}.Slot`,a}function oj(e){const t=w.forwardRef((a,s)=>{const{children:n,...r}=a;if(w.isValidElement(n)){const o=uj(n),l=dj(r,n.props);return n.type!==w.Fragment&&(l.ref=s?Lp(s,o):o),w.cloneElement(n,l)}return w.Children.count(n)>1?w.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Av=Symbol("radix.slottable");function lj(e){const t=({children:a})=>i.jsx(i.Fragment,{children:a});return t.displayName=`${e}.Slottable`,t.__radixId=Av,t}function cj(e){return w.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Av}function dj(e,t){const a={...t};for(const s in t){const n=e[s],r=t[s];/^on[A-Z]/.test(s)?n&&r?a[s]=(...l)=>{const c=r(...l);return n(...l),c}:n&&(a[s]=n):s==="style"?a[s]={...n,...r}:s==="className"&&(a[s]=[n,r].filter(Boolean).join(" "))}return{...e,...a}}function uj(e){var s,n;let t=(s=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:s.get,a=t&&"isReactWarning"in t&&t.isReactWarning;return a?e.ref:(t=(n=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:n.get,a=t&&"isReactWarning"in t&&t.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}function pj(e){const t=e+"CollectionProvider",[a,s]=Dl(t),[n,r]=a(t,{collectionRef:{current:null},itemMap:new Map}),o=v=>{const{scope:b,children:g}=v,m=Re.useRef(null),x=Re.useRef(new Map).current;return i.jsx(n,{scope:b,itemMap:x,collectionRef:m,children:g})};o.displayName=t;const l=e+"CollectionSlot",c=Wd(l),d=Re.forwardRef((v,b)=>{const{scope:g,children:m}=v,x=r(l,g),P=Ht(b,x.collectionRef);return i.jsx(c,{ref:P,children:m})});d.displayName=l;const u=e+"CollectionItemSlot",p="data-radix-collection-item",h=Wd(u),f=Re.forwardRef((v,b)=>{const{scope:g,children:m,...x}=v,P=Re.useRef(null),j=Ht(b,P),C=r(u,g);return Re.useEffect(()=>(C.itemMap.set(P,{ref:P,...x}),()=>void C.itemMap.delete(P))),i.jsx(h,{[p]:"",ref:j,children:m})});f.displayName=u;function y(v){const b=r(e+"CollectionConsumer",v);return Re.useCallback(()=>{const m=b.collectionRef.current;if(!m)return[];const x=Array.from(m.querySelectorAll(`[${p}]`));return Array.from(b.itemMap.values()).sort((C,N)=>x.indexOf(C.ref.current)-x.indexOf(N.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:o,Slot:d,ItemSlot:f},y,s]}var hj=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],et=hj.reduce((e,t)=>{const a=Wd(`Primitive.${t}`),s=w.forwardRef((n,r)=>{const{asChild:o,...l}=n,c=o?a:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(c,{...l,ref:r})});return s.displayName=`Primitive.${t}`,{...e,[t]:s}},{});function Tv(e,t){e&&xi.flushSync(()=>e.dispatchEvent(t))}function as(e){const t=w.useRef(e);return w.useEffect(()=>{t.current=e}),w.useMemo(()=>(...a)=>{var s;return(s=t.current)==null?void 0:s.call(t,...a)},[])}function fj(e,t=globalThis==null?void 0:globalThis.document){const a=as(e);w.useEffect(()=>{const s=n=>{n.key==="Escape"&&a(n)};return t.addEventListener("keydown",s,{capture:!0}),()=>t.removeEventListener("keydown",s,{capture:!0})},[a,t])}var mj="DismissableLayer",Ud="dismissableLayer.update",gj="dismissableLayer.pointerDownOutside",xj="dismissableLayer.focusOutside",Yf,Ev=w.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),zp=w.forwardRef((e,t)=>{const{disableOutsidePointerEvents:a=!1,onEscapeKeyDown:s,onPointerDownOutside:n,onFocusOutside:r,onInteractOutside:o,onDismiss:l,...c}=e,d=w.useContext(Ev),[u,p]=w.useState(null),h=(u==null?void 0:u.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,f]=w.useState({}),y=Ht(t,N=>p(N)),v=Array.from(d.layers),[b]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),g=v.indexOf(b),m=u?v.indexOf(u):-1,x=d.layersWithOutsidePointerEventsDisabled.size>0,P=m>=g,j=vj(N=>{const k=N.target,R=[...d.branches].some(T=>T.contains(k));!P||R||(n==null||n(N),o==null||o(N),N.defaultPrevented||l==null||l())},h),C=wj(N=>{const k=N.target;[...d.branches].some(T=>T.contains(k))||(r==null||r(N),o==null||o(N),N.defaultPrevented||l==null||l())},h);return fj(N=>{m===d.layers.size-1&&(s==null||s(N),!N.defaultPrevented&&l&&(N.preventDefault(),l()))},h),w.useEffect(()=>{if(u)return a&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(Yf=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(u)),d.layers.add(u),Xf(),()=>{a&&d.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=Yf)}},[u,h,a,d]),w.useEffect(()=>()=>{u&&(d.layers.delete(u),d.layersWithOutsidePointerEventsDisabled.delete(u),Xf())},[u,d]),w.useEffect(()=>{const N=()=>f({});return document.addEventListener(Ud,N),()=>document.removeEventListener(Ud,N)},[]),i.jsx(et.div,{...c,ref:y,style:{pointerEvents:x?P?"auto":"none":void 0,...e.style},onFocusCapture:Pe(e.onFocusCapture,C.onFocusCapture),onBlurCapture:Pe(e.onBlurCapture,C.onBlurCapture),onPointerDownCapture:Pe(e.onPointerDownCapture,j.onPointerDownCapture)})});zp.displayName=mj;var yj="DismissableLayerBranch",Rv=w.forwardRef((e,t)=>{const a=w.useContext(Ev),s=w.useRef(null),n=Ht(t,s);return w.useEffect(()=>{const r=s.current;if(r)return a.branches.add(r),()=>{a.branches.delete(r)}},[a.branches]),i.jsx(et.div,{...e,ref:n})});Rv.displayName=yj;function vj(e,t=globalThis==null?void 0:globalThis.document){const a=as(e),s=w.useRef(!1),n=w.useRef(()=>{});return w.useEffect(()=>{const r=l=>{if(l.target&&!s.current){let c=function(){Dv(gj,a,d,{discrete:!0})};const d={originalEvent:l};l.pointerType==="touch"?(t.removeEventListener("click",n.current),n.current=c,t.addEventListener("click",n.current,{once:!0})):c()}else t.removeEventListener("click",n.current);s.current=!1},o=window.setTimeout(()=>{t.addEventListener("pointerdown",r)},0);return()=>{window.clearTimeout(o),t.removeEventListener("pointerdown",r),t.removeEventListener("click",n.current)}},[t,a]),{onPointerDownCapture:()=>s.current=!0}}function wj(e,t=globalThis==null?void 0:globalThis.document){const a=as(e),s=w.useRef(!1);return w.useEffect(()=>{const n=r=>{r.target&&!s.current&&Dv(xj,a,{originalEvent:r},{discrete:!1})};return t.addEventListener("focusin",n),()=>t.removeEventListener("focusin",n)},[t,a]),{onFocusCapture:()=>s.current=!0,onBlurCapture:()=>s.current=!1}}function Xf(){const e=new CustomEvent(Ud);document.dispatchEvent(e)}function Dv(e,t,a,{discrete:s}){const n=a.originalEvent.target,r=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:a});t&&n.addEventListener(e,t,{once:!0}),s?Tv(n,r):n.dispatchEvent(r)}var bj=zp,Pj=Rv,ss=globalThis!=null&&globalThis.document?w.useLayoutEffect:()=>{},jj="Portal",Hp=w.forwardRef((e,t)=>{var l;const{container:a,...s}=e,[n,r]=w.useState(!1);ss(()=>r(!0),[]);const o=a||n&&((l=globalThis==null?void 0:globalThis.document)==null?void 0:l.body);return o?ej.createPortal(i.jsx(et.div,{...s,ref:t}),o):null});Hp.displayName=jj;function Cj(e,t){return w.useReducer((a,s)=>t[a][s]??a,e)}var Ml=e=>{const{present:t,children:a}=e,s=Nj(t),n=typeof a=="function"?a({present:s.isPresent}):w.Children.only(a),r=Ht(s.ref,kj(n));return typeof a=="function"||s.isPresent?w.cloneElement(n,{ref:r}):null};Ml.displayName="Presence";function Nj(e){const[t,a]=w.useState(),s=w.useRef(null),n=w.useRef(e),r=w.useRef("none"),o=e?"mounted":"unmounted",[l,c]=Cj(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return w.useEffect(()=>{const d=Wi(s.current);r.current=l==="mounted"?d:"none"},[l]),ss(()=>{const d=s.current,u=n.current;if(u!==e){const h=r.current,f=Wi(d);e?c("MOUNT"):f==="none"||(d==null?void 0:d.display)==="none"?c("UNMOUNT"):c(u&&h!==f?"ANIMATION_OUT":"UNMOUNT"),n.current=e}},[e,c]),ss(()=>{if(t){let d;const u=t.ownerDocument.defaultView??window,p=f=>{const v=Wi(s.current).includes(CSS.escape(f.animationName));if(f.target===t&&v&&(c("ANIMATION_END"),!n.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",d=u.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},h=f=>{f.target===t&&(r.current=Wi(s.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{u.clearTimeout(d),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else c("ANIMATION_END")},[t,c]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:w.useCallback(d=>{s.current=d?getComputedStyle(d):null,a(d)},[])}}function Wi(e){return(e==null?void 0:e.animationName)||"none"}function kj(e){var s,n;let t=(s=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:s.get,a=t&&"isReactWarning"in t&&t.isReactWarning;return a?e.ref:(t=(n=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:n.get,a=t&&"isReactWarning"in t&&t.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var Sj=$u[" useInsertionEffect ".trim().toString()]||ss;function Aj({prop:e,defaultProp:t,onChange:a=()=>{},caller:s}){const[n,r,o]=Tj({defaultProp:t,onChange:a}),l=e!==void 0,c=l?e:n;{const u=w.useRef(e!==void 0);w.useEffect(()=>{const p=u.current;p!==l&&console.warn(`${s} is changing from ${p?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),u.current=l},[l,s])}const d=w.useCallback(u=>{var p;if(l){const h=Ej(u)?u(e):u;h!==e&&((p=o.current)==null||p.call(o,h))}else r(u)},[l,e,r,o]);return[c,d]}function Tj({defaultProp:e,onChange:t}){const[a,s]=w.useState(e),n=w.useRef(a),r=w.useRef(t);return Sj(()=>{r.current=t},[t]),w.useEffect(()=>{var o;n.current!==a&&((o=r.current)==null||o.call(r,a),n.current=a)},[a,n]),[a,s,r]}function Ej(e){return typeof e=="function"}var Rj=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Dj="VisuallyHidden",Ol=w.forwardRef((e,t)=>i.jsx(et.span,{...e,ref:t,style:{...Rj,...e.style}}));Ol.displayName=Dj;var Mj=Ol,Vp="ToastProvider",[Fp,Oj,Lj]=pj("Toast"),[Mv]=Dl("Toast",[Lj]),[zj,Ll]=Mv(Vp),Ov=e=>{const{__scopeToast:t,label:a="Notification",duration:s=5e3,swipeDirection:n="right",swipeThreshold:r=50,children:o}=e,[l,c]=w.useState(null),[d,u]=w.useState(0),p=w.useRef(!1),h=w.useRef(!1);return a.trim()||console.error(`Invalid prop \`label\` supplied to \`${Vp}\`. Expected non-empty \`string\`.`),i.jsx(Fp.Provider,{scope:t,children:i.jsx(zj,{scope:t,label:a,duration:s,swipeDirection:n,swipeThreshold:r,toastCount:d,viewport:l,onViewportChange:c,onToastAdd:w.useCallback(()=>u(f=>f+1),[]),onToastRemove:w.useCallback(()=>u(f=>f-1),[]),isFocusedToastEscapeKeyDownRef:p,isClosePausedRef:h,children:o})})};Ov.displayName=Vp;var Lv="ToastViewport",Hj=["F8"],Qd="toast.viewportPause",Gd="toast.viewportResume",zv=w.forwardRef((e,t)=>{const{__scopeToast:a,hotkey:s=Hj,label:n="Notifications ({hotkey})",...r}=e,o=Ll(Lv,a),l=Oj(a),c=w.useRef(null),d=w.useRef(null),u=w.useRef(null),p=w.useRef(null),h=Ht(t,p,o.onViewportChange),f=s.join("+").replace(/Key/g,"").replace(/Digit/g,""),y=o.toastCount>0;w.useEffect(()=>{const b=g=>{var x;s.length!==0&&s.every(P=>g[P]||g.code===P)&&((x=p.current)==null||x.focus())};return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[s]),w.useEffect(()=>{const b=c.current,g=p.current;if(y&&b&&g){const m=()=>{if(!o.isClosePausedRef.current){const C=new CustomEvent(Qd);g.dispatchEvent(C),o.isClosePausedRef.current=!0}},x=()=>{if(o.isClosePausedRef.current){const C=new CustomEvent(Gd);g.dispatchEvent(C),o.isClosePausedRef.current=!1}},P=C=>{!b.contains(C.relatedTarget)&&x()},j=()=>{b.contains(document.activeElement)||x()};return b.addEventListener("focusin",m),b.addEventListener("focusout",P),b.addEventListener("pointermove",m),b.addEventListener("pointerleave",j),window.addEventListener("blur",m),window.addEventListener("focus",x),()=>{b.removeEventListener("focusin",m),b.removeEventListener("focusout",P),b.removeEventListener("pointermove",m),b.removeEventListener("pointerleave",j),window.removeEventListener("blur",m),window.removeEventListener("focus",x)}}},[y,o.isClosePausedRef]);const v=w.useCallback(({tabbingDirection:b})=>{const m=l().map(x=>{const P=x.ref.current,j=[P,...Yj(P)];return b==="forwards"?j:j.reverse()});return(b==="forwards"?m.reverse():m).flat()},[l]);return w.useEffect(()=>{const b=p.current;if(b){const g=m=>{var j,C,N;const x=m.altKey||m.ctrlKey||m.metaKey;if(m.key==="Tab"&&!x){const k=document.activeElement,R=m.shiftKey;if(m.target===b&&R){(j=d.current)==null||j.focus();return}const O=v({tabbingDirection:R?"backwards":"forwards"}),U=O.findIndex(M=>M===k);Nc(O.slice(U+1))?m.preventDefault():R?(C=d.current)==null||C.focus():(N=u.current)==null||N.focus()}};return b.addEventListener("keydown",g),()=>b.removeEventListener("keydown",g)}},[l,v]),i.jsxs(Pj,{ref:c,role:"region","aria-label":n.replace("{hotkey}",f),tabIndex:-1,style:{pointerEvents:y?void 0:"none"},children:[y&&i.jsx(Kd,{ref:d,onFocusFromOutsideViewport:()=>{const b=v({tabbingDirection:"forwards"});Nc(b)}}),i.jsx(Fp.Slot,{scope:a,children:i.jsx(et.ol,{tabIndex:-1,...r,ref:h})}),y&&i.jsx(Kd,{ref:u,onFocusFromOutsideViewport:()=>{const b=v({tabbingDirection:"backwards"});Nc(b)}})]})});zv.displayName=Lv;var Hv="ToastFocusProxy",Kd=w.forwardRef((e,t)=>{const{__scopeToast:a,onFocusFromOutsideViewport:s,...n}=e,r=Ll(Hv,a);return i.jsx(Ol,{tabIndex:0,...n,ref:t,style:{position:"fixed"},onFocus:o=>{var d;const l=o.relatedTarget;!((d=r.viewport)!=null&&d.contains(l))&&s()}})});Kd.displayName=Hv;var yi="Toast",Vj="toast.swipeStart",Fj="toast.swipeMove",_j="toast.swipeCancel",Ij="toast.swipeEnd",Vv=w.forwardRef((e,t)=>{const{forceMount:a,open:s,defaultOpen:n,onOpenChange:r,...o}=e,[l,c]=Aj({prop:s,defaultProp:n??!0,onChange:r,caller:yi});return i.jsx(Ml,{present:a||l,children:i.jsx($j,{open:l,...o,ref:t,onClose:()=>c(!1),onPause:as(e.onPause),onResume:as(e.onResume),onSwipeStart:Pe(e.onSwipeStart,d=>{d.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:Pe(e.onSwipeMove,d=>{const{x:u,y:p}=d.detail.delta;d.currentTarget.setAttribute("data-swipe","move"),d.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${u}px`),d.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${p}px`)}),onSwipeCancel:Pe(e.onSwipeCancel,d=>{d.currentTarget.setAttribute("data-swipe","cancel"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),d.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:Pe(e.onSwipeEnd,d=>{const{x:u,y:p}=d.detail.delta;d.currentTarget.setAttribute("data-swipe","end"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),d.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${u}px`),d.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${p}px`),c(!1)})})})});Vv.displayName=yi;var[qj,Bj]=Mv(yi,{onClose(){}}),$j=w.forwardRef((e,t)=>{const{__scopeToast:a,type:s="foreground",duration:n,open:r,onClose:o,onEscapeKeyDown:l,onPause:c,onResume:d,onSwipeStart:u,onSwipeMove:p,onSwipeCancel:h,onSwipeEnd:f,...y}=e,v=Ll(yi,a),[b,g]=w.useState(null),m=Ht(t,M=>g(M)),x=w.useRef(null),P=w.useRef(null),j=n||v.duration,C=w.useRef(0),N=w.useRef(j),k=w.useRef(0),{onToastAdd:R,onToastRemove:T}=v,H=as(()=>{var Q;(b==null?void 0:b.contains(document.activeElement))&&((Q=v.viewport)==null||Q.focus()),o()}),O=w.useCallback(M=>{!M||M===1/0||(window.clearTimeout(k.current),C.current=new Date().getTime(),k.current=window.setTimeout(H,M))},[H]);w.useEffect(()=>{const M=v.viewport;if(M){const Q=()=>{O(N.current),d==null||d()},I=()=>{const X=new Date().getTime()-C.current;N.current=N.current-X,window.clearTimeout(k.current),c==null||c()};return M.addEventListener(Qd,I),M.addEventListener(Gd,Q),()=>{M.removeEventListener(Qd,I),M.removeEventListener(Gd,Q)}}},[v.viewport,j,c,d,O]),w.useEffect(()=>{r&&!v.isClosePausedRef.current&&O(j)},[r,j,v.isClosePausedRef,O]),w.useEffect(()=>(R(),()=>T()),[R,T]);const U=w.useMemo(()=>b?Wv(b):null,[b]);return v.viewport?i.jsxs(i.Fragment,{children:[U&&i.jsx(Wj,{__scopeToast:a,role:"status","aria-live":s==="foreground"?"assertive":"polite",children:U}),i.jsx(qj,{scope:a,onClose:H,children:xi.createPortal(i.jsx(Fp.ItemSlot,{scope:a,children:i.jsx(bj,{asChild:!0,onEscapeKeyDown:Pe(l,()=>{v.isFocusedToastEscapeKeyDownRef.current||H(),v.isFocusedToastEscapeKeyDownRef.current=!1}),children:i.jsx(et.li,{tabIndex:0,"data-state":r?"open":"closed","data-swipe-direction":v.swipeDirection,...y,ref:m,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:Pe(e.onKeyDown,M=>{M.key==="Escape"&&(l==null||l(M.nativeEvent),M.nativeEvent.defaultPrevented||(v.isFocusedToastEscapeKeyDownRef.current=!0,H()))}),onPointerDown:Pe(e.onPointerDown,M=>{M.button===0&&(x.current={x:M.clientX,y:M.clientY})}),onPointerMove:Pe(e.onPointerMove,M=>{if(!x.current)return;const Q=M.clientX-x.current.x,I=M.clientY-x.current.y,X=!!P.current,S=["left","right"].includes(v.swipeDirection),D=["left","up"].includes(v.swipeDirection)?Math.min:Math.max,V=S?D(0,Q):0,W=S?0:D(0,I),te=M.pointerType==="touch"?10:2,jt={x:V,y:W},ut={originalEvent:M,delta:jt};X?(P.current=jt,Ui(Fj,p,ut,{discrete:!1})):Zf(jt,v.swipeDirection,te)?(P.current=jt,Ui(Vj,u,ut,{discrete:!1}),M.target.setPointerCapture(M.pointerId)):(Math.abs(Q)>te||Math.abs(I)>te)&&(x.current=null)}),onPointerUp:Pe(e.onPointerUp,M=>{const Q=P.current,I=M.target;if(I.hasPointerCapture(M.pointerId)&&I.releasePointerCapture(M.pointerId),P.current=null,x.current=null,Q){const X=M.currentTarget,S={originalEvent:M,delta:Q};Zf(Q,v.swipeDirection,v.swipeThreshold)?Ui(Ij,f,S,{discrete:!0}):Ui(_j,h,S,{discrete:!0}),X.addEventListener("click",D=>D.preventDefault(),{once:!0})}})})})}),v.viewport)})]}):null}),Wj=e=>{const{__scopeToast:t,children:a,...s}=e,n=Ll(yi,t),[r,o]=w.useState(!1),[l,c]=w.useState(!1);return Gj(()=>o(!0)),w.useEffect(()=>{const d=window.setTimeout(()=>c(!0),1e3);return()=>window.clearTimeout(d)},[]),l?null:i.jsx(Hp,{asChild:!0,children:i.jsx(Ol,{...s,children:r&&i.jsxs(i.Fragment,{children:[n.label," ",a]})})})},Uj="ToastTitle",Fv=w.forwardRef((e,t)=>{const{__scopeToast:a,...s}=e;return i.jsx(et.div,{...s,ref:t})});Fv.displayName=Uj;var Qj="ToastDescription",_v=w.forwardRef((e,t)=>{const{__scopeToast:a,...s}=e;return i.jsx(et.div,{...s,ref:t})});_v.displayName=Qj;var Iv="ToastAction",qv=w.forwardRef((e,t)=>{const{altText:a,...s}=e;return a.trim()?i.jsx($v,{altText:a,asChild:!0,children:i.jsx(_p,{...s,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${Iv}\`. Expected non-empty \`string\`.`),null)});qv.displayName=Iv;var Bv="ToastClose",_p=w.forwardRef((e,t)=>{const{__scopeToast:a,...s}=e,n=Bj(Bv,a);return i.jsx($v,{asChild:!0,children:i.jsx(et.button,{type:"button",...s,ref:t,onClick:Pe(e.onClick,n.onClose)})})});_p.displayName=Bv;var $v=w.forwardRef((e,t)=>{const{__scopeToast:a,altText:s,...n}=e;return i.jsx(et.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":s||void 0,...n,ref:t})});function Wv(e){const t=[];return Array.from(e.childNodes).forEach(s=>{if(s.nodeType===s.TEXT_NODE&&s.textContent&&t.push(s.textContent),Kj(s)){const n=s.ariaHidden||s.hidden||s.style.display==="none",r=s.dataset.radixToastAnnounceExclude==="";if(!n)if(r){const o=s.dataset.radixToastAnnounceAlt;o&&t.push(o)}else t.push(...Wv(s))}}),t}function Ui(e,t,a,{discrete:s}){const n=a.originalEvent.currentTarget,r=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:a});t&&n.addEventListener(e,t,{once:!0}),s?Tv(n,r):n.dispatchEvent(r)}var Zf=(e,t,a=0)=>{const s=Math.abs(e.x),n=Math.abs(e.y),r=s>n;return t==="left"||t==="right"?r&&s>a:!r&&n>a};function Gj(e=()=>{}){const t=as(e);ss(()=>{let a=0,s=0;return a=window.requestAnimationFrame(()=>s=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(a),window.cancelAnimationFrame(s)}},[t])}function Kj(e){return e.nodeType===e.ELEMENT_NODE}function Yj(e){const t=[],a=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:s=>{const n=s.tagName==="INPUT"&&s.type==="hidden";return s.disabled||s.hidden||n?NodeFilter.FILTER_SKIP:s.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;a.nextNode();)t.push(a.currentNode);return t}function Nc(e){const t=document.activeElement;return e.some(a=>a===t?!0:(a.focus(),document.activeElement!==t))}var Xj=Ov,Uv=zv,Qv=Vv,Gv=Fv,Kv=_v,Yv=qv,Xv=_p;function Zv(e){var t,a,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var n=e.length;for(t=0;t<n;t++)e[t]&&(a=Zv(e[t]))&&(s&&(s+=" "),s+=a)}else for(a in e)e[a]&&(s&&(s+=" "),s+=a);return s}function Jv(){for(var e,t,a=0,s="",n=arguments.length;a<n;a++)(e=arguments[a])&&(t=Zv(e))&&(s&&(s+=" "),s+=t);return s}const Jf=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,em=Jv,zl=(e,t)=>a=>{var s;if((t==null?void 0:t.variants)==null)return em(e,a==null?void 0:a.class,a==null?void 0:a.className);const{variants:n,defaultVariants:r}=t,o=Object.keys(n).map(d=>{const u=a==null?void 0:a[d],p=r==null?void 0:r[d];if(u===null)return null;const h=Jf(u)||Jf(p);return n[d][h]}),l=a&&Object.entries(a).reduce((d,u)=>{let[p,h]=u;return h===void 0||(d[p]=h),d},{}),c=t==null||(s=t.compoundVariants)===null||s===void 0?void 0:s.reduce((d,u)=>{let{class:p,className:h,...f}=u;return Object.entries(f).every(y=>{let[v,b]=y;return Array.isArray(b)?b.includes({...r,...l}[v]):{...r,...l}[v]===b})?[...d,p,h]:d},[]);return em(e,o,c,a==null?void 0:a.class,a==null?void 0:a.className)};/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const Zj=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Jj=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,s)=>s?s.toUpperCase():a.toLowerCase()),tm=e=>{const t=Jj(e);return t.charAt(0).toUpperCase()+t.slice(1)},e0=(...e)=>e.filter((t,a,s)=>!!t&&t.trim()!==""&&s.indexOf(t)===a).join(" ").trim(),eC=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0};/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */var tC={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const aC=w.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:s,className:n="",children:r,iconNode:o,...l},c)=>w.createElement("svg",{ref:c,...tC,width:t,height:t,stroke:e,strokeWidth:s?Number(a)*24/Number(t):a,className:e0("lucide",n),...!r&&!eC(l)&&{"aria-hidden":"true"},...l},[...o.map(([d,u])=>w.createElement(d,u)),...Array.isArray(r)?r:[r]]));/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const $=(e,t)=>{const a=w.forwardRef(({className:s,...n},r)=>w.createElement(aC,{ref:r,iconNode:t,className:e0(`lucide-${Zj(tm(e))}`,`lucide-${e}`,s),...n}));return a.displayName=tm(e),a};/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const sC=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],Zo=$("arrow-right",sC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const nC=[["path",{d:"m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526",key:"1yiouv"}],["circle",{cx:"12",cy:"8",r:"6",key:"1vp47v"}]],Jo=$("award",nC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const rC=[["path",{d:"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"jecpp"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]],iC=$("briefcase",rC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const oC=[["path",{d:"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z",key:"1b4qmf"}],["path",{d:"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",key:"i71pzd"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2",key:"10jefs"}],["path",{d:"M10 6h4",key:"1itunk"}],["path",{d:"M10 10h4",key:"tcdvrf"}],["path",{d:"M10 14h4",key:"kelpxr"}],["path",{d:"M10 18h4",key:"1ulq68"}]],t0=$("building-2",oC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const lC=[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",ry:"2",key:"76otgf"}],["path",{d:"M9 22v-4h6v4",key:"r93iot"}],["path",{d:"M8 6h.01",key:"1dz90k"}],["path",{d:"M16 6h.01",key:"1x0f13"}],["path",{d:"M12 6h.01",key:"1vi96p"}],["path",{d:"M12 10h.01",key:"1nrarc"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 10h.01",key:"1m94wz"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 10h.01",key:"19clt8"}],["path",{d:"M8 14h.01",key:"6423bh"}]],Hl=$("building",lC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const cC=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]],dC=$("calendar-days",cC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const uC=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Yd=$("chevron-down",uC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const pC=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],hC=$("chevron-left",pC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const fC=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Xd=$("chevron-right",fC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const mC=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],F=$("circle-check-big",mC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const gC=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],xC=$("circle-help",gC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const yC=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],cr=$("circle-x",yC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const vC=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]],Wn=$("clock",vC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const wC=[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]],bC=$("dollar-sign",wC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const PC=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],jC=$("external-link",PC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const CC=[["path",{d:"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z",key:"1jg4f8"}]],NC=$("facebook",CC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const kC=[["path",{d:"M2 20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8l-7 5V8l-7 5V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z",key:"159hny"}],["path",{d:"M17 18h1",key:"uldtlt"}],["path",{d:"M12 18h1",key:"s9uhes"}],["path",{d:"M7 18h1",key:"1neino"}]],SC=$("factory",kC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const AC=[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m9 15 2 2 4-4",key:"1grp1n"}]],a0=$("file-check",AC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const TC=[["path",{d:"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z",key:"96xj49"}]],Vl=$("flame",TC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const EC=[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}]],RC=$("heart",EC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const DC=[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]],Ws=$("house",DC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const MC=[["rect",{width:"20",height:"20",x:"2",y:"2",rx:"5",ry:"5",key:"2e1cvw"}],["path",{d:"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z",key:"9exkf1"}],["line",{x1:"17.5",x2:"17.51",y1:"6.5",y2:"6.5",key:"r4j83e"}]],OC=$("instagram",MC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const LC=[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]],s0=$("mail",LC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const zC=[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]],Zt=$("map-pin",zC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const HC=[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]],VC=$("map",HC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const FC=[["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 18h16",key:"19g7jn"}],["path",{d:"M4 6h16",key:"1o0s65"}]],_C=$("menu",FC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const IC=[["path",{d:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",key:"foiqr5"}]],Ce=$("phone",IC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const qC=[["path",{d:"M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"rib7q0"}],["path",{d:"M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"1ymkrd"}]],BC=$("quote",qC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const $C=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],am=$("refresh-cw",$C);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const WC=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],UC=$("send",WC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const QC=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],Hn=$("shield",QC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const GC=[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]],KC=$("sparkles",GC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const YC=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],Oa=$("star",YC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const XC=[["path",{d:"M11 2v2",key:"1539x4"}],["path",{d:"M5 2v2",key:"1yf1q8"}],["path",{d:"M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1",key:"rb5t3r"}],["path",{d:"M8 15a6 6 0 0 0 12 0v-3",key:"x18d4x"}],["circle",{cx:"20",cy:"10",r:"2",key:"ts1r5v"}]],ZC=$("stethoscope",XC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const JC=[["path",{d:"m2 7 4.41-4.41A2 2 0 0 1 7.83 2h8.34a2 2 0 0 1 1.42.59L22 7",key:"ztvudi"}],["path",{d:"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8",key:"1b2hhj"}],["path",{d:"M15 22v-4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4",key:"2ebpfo"}],["path",{d:"M2 7h20",key:"1fcdvo"}],["path",{d:"M22 7v3a2 2 0 0 1-2 2a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 16 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 12 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 8 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 4 12a2 2 0 0 1-2-2V7",key:"6c3vgh"}]],eN=$("store",JC);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const tN=[["path",{d:"M12 9a4 4 0 0 0-2 7.5",key:"1jvsq6"}],["path",{d:"M12 3v2",key:"1w22ol"}],["path",{d:"m6.6 18.4-1.4 1.4",key:"w2yidj"}],["path",{d:"M20 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z",key:"iof6y5"}],["path",{d:"M4 13H2",key:"118le4"}],["path",{d:"M6.34 7.34 4.93 5.93",key:"1brd51"}]],aN=$("thermometer-sun",tN);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const sN=[["path",{d:"M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z",key:"17jzev"}]],nN=$("thermometer",sN);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const rN=[["path",{d:"M7 10v12",key:"1qc93n"}],["path",{d:"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z",key:"emmmcr"}]],iN=$("thumbs-up",rN);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const oN=[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]],lN=$("timer",oN);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const cN=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],Os=$("triangle-alert",cN);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const dN=[["path",{d:"M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2",key:"wrbu53"}],["path",{d:"M15 18H9",key:"1lyqi6"}],["path",{d:"M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14",key:"lysw3i"}],["circle",{cx:"17",cy:"18",r:"2",key:"332jqn"}],["circle",{cx:"7",cy:"18",r:"2",key:"19iecd"}]],Ip=$("truck",dN);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const uN=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],Zd=$("users",uN);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const pN=[["path",{d:"M12.8 19.6A2 2 0 1 0 14 16H2",key:"148xed"}],["path",{d:"M17.5 8a2.5 2.5 0 1 1 2 4H2",key:"1u4tom"}],["path",{d:"M9.8 4.4A2 2 0 1 1 11 8H2",key:"75valh"}]],n0=$("wind",pN);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const hN=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]],fN=$("wrench",hN);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const mN=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],r0=$("x",mN);/**
 * @license lucide-react v0.507.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const gN=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],go=$("zap",gN),qp="-",xN=e=>{const t=vN(e),{conflictingClassGroups:a,conflictingClassGroupModifiers:s}=e;return{getClassGroupId:o=>{const l=o.split(qp);return l[0]===""&&l.length!==1&&l.shift(),i0(l,t)||yN(o)},getConflictingClassGroupIds:(o,l)=>{const c=a[o]||[];return l&&s[o]?[...c,...s[o]]:c}}},i0=(e,t)=>{var o;if(e.length===0)return t.classGroupId;const a=e[0],s=t.nextPart.get(a),n=s?i0(e.slice(1),s):void 0;if(n)return n;if(t.validators.length===0)return;const r=e.join(qp);return(o=t.validators.find(({validator:l})=>l(r)))==null?void 0:o.classGroupId},sm=/^\[(.+)\]$/,yN=e=>{if(sm.test(e)){const t=sm.exec(e)[1],a=t==null?void 0:t.substring(0,t.indexOf(":"));if(a)return"arbitrary.."+a}},vN=e=>{const{theme:t,prefix:a}=e,s={nextPart:new Map,validators:[]};return bN(Object.entries(e.classGroups),a).forEach(([r,o])=>{Jd(o,s,r,t)}),s},Jd=(e,t,a,s)=>{e.forEach(n=>{if(typeof n=="string"){const r=n===""?t:nm(t,n);r.classGroupId=a;return}if(typeof n=="function"){if(wN(n)){Jd(n(s),t,a,s);return}t.validators.push({validator:n,classGroupId:a});return}Object.entries(n).forEach(([r,o])=>{Jd(o,nm(t,r),a,s)})})},nm=(e,t)=>{let a=e;return t.split(qp).forEach(s=>{a.nextPart.has(s)||a.nextPart.set(s,{nextPart:new Map,validators:[]}),a=a.nextPart.get(s)}),a},wN=e=>e.isThemeGetter,bN=(e,t)=>t?e.map(([a,s])=>{const n=s.map(r=>typeof r=="string"?t+r:typeof r=="object"?Object.fromEntries(Object.entries(r).map(([o,l])=>[t+o,l])):r);return[a,n]}):e,PN=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,a=new Map,s=new Map;const n=(r,o)=>{a.set(r,o),t++,t>e&&(t=0,s=a,a=new Map)};return{get(r){let o=a.get(r);if(o!==void 0)return o;if((o=s.get(r))!==void 0)return n(r,o),o},set(r,o){a.has(r)?a.set(r,o):n(r,o)}}},o0="!",jN=e=>{const{separator:t,experimentalParseClassName:a}=e,s=t.length===1,n=t[0],r=t.length,o=l=>{const c=[];let d=0,u=0,p;for(let b=0;b<l.length;b++){let g=l[b];if(d===0){if(g===n&&(s||l.slice(b,b+r)===t)){c.push(l.slice(u,b)),u=b+r;continue}if(g==="/"){p=b;continue}}g==="["?d++:g==="]"&&d--}const h=c.length===0?l:l.substring(u),f=h.startsWith(o0),y=f?h.substring(1):h,v=p&&p>u?p-u:void 0;return{modifiers:c,hasImportantModifier:f,baseClassName:y,maybePostfixModifierPosition:v}};return a?l=>a({className:l,parseClassName:o}):o},CN=e=>{if(e.length<=1)return e;const t=[];let a=[];return e.forEach(s=>{s[0]==="["?(t.push(...a.sort(),s),a=[]):a.push(s)}),t.push(...a.sort()),t},NN=e=>({cache:PN(e.cacheSize),parseClassName:jN(e),...xN(e)}),kN=/\s+/,SN=(e,t)=>{const{parseClassName:a,getClassGroupId:s,getConflictingClassGroupIds:n}=t,r=[],o=e.trim().split(kN);let l="";for(let c=o.length-1;c>=0;c-=1){const d=o[c],{modifiers:u,hasImportantModifier:p,baseClassName:h,maybePostfixModifierPosition:f}=a(d);let y=!!f,v=s(y?h.substring(0,f):h);if(!v){if(!y){l=d+(l.length>0?" "+l:l);continue}if(v=s(h),!v){l=d+(l.length>0?" "+l:l);continue}y=!1}const b=CN(u).join(":"),g=p?b+o0:b,m=g+v;if(r.includes(m))continue;r.push(m);const x=n(v,y);for(let P=0;P<x.length;++P){const j=x[P];r.push(g+j)}l=d+(l.length>0?" "+l:l)}return l};function AN(){let e=0,t,a,s="";for(;e<arguments.length;)(t=arguments[e++])&&(a=l0(t))&&(s&&(s+=" "),s+=a);return s}const l0=e=>{if(typeof e=="string")return e;let t,a="";for(let s=0;s<e.length;s++)e[s]&&(t=l0(e[s]))&&(a&&(a+=" "),a+=t);return a};function TN(e,...t){let a,s,n,r=o;function o(c){const d=t.reduce((u,p)=>p(u),e());return a=NN(d),s=a.cache.get,n=a.cache.set,r=l,l(c)}function l(c){const d=s(c);if(d)return d;const u=SN(c,a);return n(c,u),u}return function(){return r(AN.apply(null,arguments))}}const se=e=>{const t=a=>a[e]||[];return t.isThemeGetter=!0,t},c0=/^\[(?:([a-z-]+):)?(.+)\]$/i,EN=/^\d+\/\d+$/,RN=new Set(["px","full","screen"]),DN=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,MN=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ON=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,LN=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,zN=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ra=e=>yn(e)||RN.has(e)||EN.test(e),Ca=e=>Un(e,"length",$N),yn=e=>!!e&&!Number.isNaN(Number(e)),kc=e=>Un(e,"number",yn),dr=e=>!!e&&Number.isInteger(Number(e)),HN=e=>e.endsWith("%")&&yn(e.slice(0,-1)),G=e=>c0.test(e),Na=e=>DN.test(e),VN=new Set(["length","size","percentage"]),FN=e=>Un(e,VN,d0),_N=e=>Un(e,"position",d0),IN=new Set(["image","url"]),qN=e=>Un(e,IN,UN),BN=e=>Un(e,"",WN),ur=()=>!0,Un=(e,t,a)=>{const s=c0.exec(e);return s?s[1]?typeof t=="string"?s[1]===t:t.has(s[1]):a(s[2]):!1},$N=e=>MN.test(e)&&!ON.test(e),d0=()=>!1,WN=e=>LN.test(e),UN=e=>zN.test(e),QN=()=>{const e=se("colors"),t=se("spacing"),a=se("blur"),s=se("brightness"),n=se("borderColor"),r=se("borderRadius"),o=se("borderSpacing"),l=se("borderWidth"),c=se("contrast"),d=se("grayscale"),u=se("hueRotate"),p=se("invert"),h=se("gap"),f=se("gradientColorStops"),y=se("gradientColorStopPositions"),v=se("inset"),b=se("margin"),g=se("opacity"),m=se("padding"),x=se("saturate"),P=se("scale"),j=se("sepia"),C=se("skew"),N=se("space"),k=se("translate"),R=()=>["auto","contain","none"],T=()=>["auto","hidden","clip","visible","scroll"],H=()=>["auto",G,t],O=()=>[G,t],U=()=>["",ra,Ca],M=()=>["auto",yn,G],Q=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],I=()=>["solid","dashed","dotted","double","none"],X=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],S=()=>["start","end","center","between","around","evenly","stretch"],D=()=>["","0",G],V=()=>["auto","avoid","all","avoid-page","page","left","right","column"],W=()=>[yn,G];return{cacheSize:500,separator:":",theme:{colors:[ur],spacing:[ra,Ca],blur:["none","",Na,G],brightness:W(),borderColor:[e],borderRadius:["none","","full",Na,G],borderSpacing:O(),borderWidth:U(),contrast:W(),grayscale:D(),hueRotate:W(),invert:D(),gap:O(),gradientColorStops:[e],gradientColorStopPositions:[HN,Ca],inset:H(),margin:H(),opacity:W(),padding:O(),saturate:W(),scale:W(),sepia:D(),skew:W(),space:O(),translate:O()},classGroups:{aspect:[{aspect:["auto","square","video",G]}],container:["container"],columns:[{columns:[Na]}],"break-after":[{"break-after":V()}],"break-before":[{"break-before":V()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...Q(),G]}],overflow:[{overflow:T()}],"overflow-x":[{"overflow-x":T()}],"overflow-y":[{"overflow-y":T()}],overscroll:[{overscroll:R()}],"overscroll-x":[{"overscroll-x":R()}],"overscroll-y":[{"overscroll-y":R()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[v]}],"inset-x":[{"inset-x":[v]}],"inset-y":[{"inset-y":[v]}],start:[{start:[v]}],end:[{end:[v]}],top:[{top:[v]}],right:[{right:[v]}],bottom:[{bottom:[v]}],left:[{left:[v]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",dr,G]}],basis:[{basis:H()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",G]}],grow:[{grow:D()}],shrink:[{shrink:D()}],order:[{order:["first","last","none",dr,G]}],"grid-cols":[{"grid-cols":[ur]}],"col-start-end":[{col:["auto",{span:["full",dr,G]},G]}],"col-start":[{"col-start":M()}],"col-end":[{"col-end":M()}],"grid-rows":[{"grid-rows":[ur]}],"row-start-end":[{row:["auto",{span:[dr,G]},G]}],"row-start":[{"row-start":M()}],"row-end":[{"row-end":M()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",G]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",G]}],gap:[{gap:[h]}],"gap-x":[{"gap-x":[h]}],"gap-y":[{"gap-y":[h]}],"justify-content":[{justify:["normal",...S()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...S(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...S(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[m]}],px:[{px:[m]}],py:[{py:[m]}],ps:[{ps:[m]}],pe:[{pe:[m]}],pt:[{pt:[m]}],pr:[{pr:[m]}],pb:[{pb:[m]}],pl:[{pl:[m]}],m:[{m:[b]}],mx:[{mx:[b]}],my:[{my:[b]}],ms:[{ms:[b]}],me:[{me:[b]}],mt:[{mt:[b]}],mr:[{mr:[b]}],mb:[{mb:[b]}],ml:[{ml:[b]}],"space-x":[{"space-x":[N]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[N]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",G,t]}],"min-w":[{"min-w":[G,t,"min","max","fit"]}],"max-w":[{"max-w":[G,t,"none","full","min","max","fit","prose",{screen:[Na]},Na]}],h:[{h:[G,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[G,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[G,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[G,t,"auto","min","max","fit"]}],"font-size":[{text:["base",Na,Ca]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",kc]}],"font-family":[{font:[ur]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",G]}],"line-clamp":[{"line-clamp":["none",yn,kc]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",ra,G]}],"list-image":[{"list-image":["none",G]}],"list-style-type":[{list:["none","disc","decimal",G]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[g]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[g]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...I(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",ra,Ca]}],"underline-offset":[{"underline-offset":["auto",ra,G]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:O()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",G]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",G]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[g]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...Q(),_N]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",FN]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},qN]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[y]}],"gradient-via-pos":[{via:[y]}],"gradient-to-pos":[{to:[y]}],"gradient-from":[{from:[f]}],"gradient-via":[{via:[f]}],"gradient-to":[{to:[f]}],rounded:[{rounded:[r]}],"rounded-s":[{"rounded-s":[r]}],"rounded-e":[{"rounded-e":[r]}],"rounded-t":[{"rounded-t":[r]}],"rounded-r":[{"rounded-r":[r]}],"rounded-b":[{"rounded-b":[r]}],"rounded-l":[{"rounded-l":[r]}],"rounded-ss":[{"rounded-ss":[r]}],"rounded-se":[{"rounded-se":[r]}],"rounded-ee":[{"rounded-ee":[r]}],"rounded-es":[{"rounded-es":[r]}],"rounded-tl":[{"rounded-tl":[r]}],"rounded-tr":[{"rounded-tr":[r]}],"rounded-br":[{"rounded-br":[r]}],"rounded-bl":[{"rounded-bl":[r]}],"border-w":[{border:[l]}],"border-w-x":[{"border-x":[l]}],"border-w-y":[{"border-y":[l]}],"border-w-s":[{"border-s":[l]}],"border-w-e":[{"border-e":[l]}],"border-w-t":[{"border-t":[l]}],"border-w-r":[{"border-r":[l]}],"border-w-b":[{"border-b":[l]}],"border-w-l":[{"border-l":[l]}],"border-opacity":[{"border-opacity":[g]}],"border-style":[{border:[...I(),"hidden"]}],"divide-x":[{"divide-x":[l]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[l]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[g]}],"divide-style":[{divide:I()}],"border-color":[{border:[n]}],"border-color-x":[{"border-x":[n]}],"border-color-y":[{"border-y":[n]}],"border-color-s":[{"border-s":[n]}],"border-color-e":[{"border-e":[n]}],"border-color-t":[{"border-t":[n]}],"border-color-r":[{"border-r":[n]}],"border-color-b":[{"border-b":[n]}],"border-color-l":[{"border-l":[n]}],"divide-color":[{divide:[n]}],"outline-style":[{outline:["",...I()]}],"outline-offset":[{"outline-offset":[ra,G]}],"outline-w":[{outline:[ra,Ca]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:U()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[g]}],"ring-offset-w":[{"ring-offset":[ra,Ca]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",Na,BN]}],"shadow-color":[{shadow:[ur]}],opacity:[{opacity:[g]}],"mix-blend":[{"mix-blend":[...X(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":X()}],filter:[{filter:["","none"]}],blur:[{blur:[a]}],brightness:[{brightness:[s]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":["","none",Na,G]}],grayscale:[{grayscale:[d]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[p]}],saturate:[{saturate:[x]}],sepia:[{sepia:[j]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[a]}],"backdrop-brightness":[{"backdrop-brightness":[s]}],"backdrop-contrast":[{"backdrop-contrast":[c]}],"backdrop-grayscale":[{"backdrop-grayscale":[d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[p]}],"backdrop-opacity":[{"backdrop-opacity":[g]}],"backdrop-saturate":[{"backdrop-saturate":[x]}],"backdrop-sepia":[{"backdrop-sepia":[j]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[o]}],"border-spacing-x":[{"border-spacing-x":[o]}],"border-spacing-y":[{"border-spacing-y":[o]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",G]}],duration:[{duration:W()}],ease:[{ease:["linear","in","out","in-out",G]}],delay:[{delay:W()}],animate:[{animate:["none","spin","ping","pulse","bounce",G]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[P]}],"scale-x":[{"scale-x":[P]}],"scale-y":[{"scale-y":[P]}],rotate:[{rotate:[dr,G]}],"translate-x":[{"translate-x":[k]}],"translate-y":[{"translate-y":[k]}],"skew-x":[{"skew-x":[C]}],"skew-y":[{"skew-y":[C]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",G]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",G]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":O()}],"scroll-mx":[{"scroll-mx":O()}],"scroll-my":[{"scroll-my":O()}],"scroll-ms":[{"scroll-ms":O()}],"scroll-me":[{"scroll-me":O()}],"scroll-mt":[{"scroll-mt":O()}],"scroll-mr":[{"scroll-mr":O()}],"scroll-mb":[{"scroll-mb":O()}],"scroll-ml":[{"scroll-ml":O()}],"scroll-p":[{"scroll-p":O()}],"scroll-px":[{"scroll-px":O()}],"scroll-py":[{"scroll-py":O()}],"scroll-ps":[{"scroll-ps":O()}],"scroll-pe":[{"scroll-pe":O()}],"scroll-pt":[{"scroll-pt":O()}],"scroll-pr":[{"scroll-pr":O()}],"scroll-pb":[{"scroll-pb":O()}],"scroll-pl":[{"scroll-pl":O()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",G]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[ra,Ca,kc]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},GN=TN(QN);function ge(...e){return GN(Jv(e))}const KN=Xj,u0=w.forwardRef(({className:e,...t},a)=>i.jsx(Uv,{ref:a,className:ge("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",e),...t}));u0.displayName=Uv.displayName;const YN=zl("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),p0=w.forwardRef(({className:e,variant:t,...a},s)=>i.jsx(Qv,{ref:s,className:ge(YN({variant:t}),e),...a}));p0.displayName=Qv.displayName;const XN=w.forwardRef(({className:e,...t},a)=>i.jsx(Yv,{ref:a,className:ge("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",e),...t}));XN.displayName=Yv.displayName;const h0=w.forwardRef(({className:e,...t},a)=>i.jsx(Xv,{ref:a,className:ge("absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...t,children:i.jsx(r0,{className:"h-4 w-4"})}));h0.displayName=Xv.displayName;const f0=w.forwardRef(({className:e,...t},a)=>i.jsx(Gv,{ref:a,className:ge("text-sm font-semibold [&+div]:text-xs",e),...t}));f0.displayName=Gv.displayName;const m0=w.forwardRef(({className:e,...t},a)=>i.jsx(Kv,{ref:a,className:ge("text-sm opacity-90",e),...t}));m0.displayName=Kv.displayName;function ZN(){const{toasts:e}=rj();return i.jsxs(KN,{children:[e.map(function({id:t,title:a,description:s,action:n,...r}){return i.jsxs(p0,{...r,children:[i.jsxs("div",{className:"grid gap-1",children:[a&&i.jsx(f0,{children:a}),s&&i.jsx(m0,{children:s})]}),n,i.jsx(h0,{})]},t)}),i.jsx(u0,{})]})}const JN=["top","right","bottom","left"],ns=Math.min,st=Math.max,el=Math.round,Qi=Math.floor,Jt=e=>({x:e,y:e}),ek={left:"right",right:"left",bottom:"top",top:"bottom"};function eu(e,t,a){return st(e,ns(t,a))}function xa(e,t){return typeof e=="function"?e(t):e}function ya(e){return e.split("-")[0]}function Qn(e){return e.split("-")[1]}function Bp(e){return e==="x"?"y":"x"}function $p(e){return e==="y"?"height":"width"}function Kt(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function Wp(e){return Bp(Kt(e))}function tk(e,t,a){a===void 0&&(a=!1);const s=Qn(e),n=Wp(e),r=$p(n);let o=n==="x"?s===(a?"end":"start")?"right":"left":s==="start"?"bottom":"top";return t.reference[r]>t.floating[r]&&(o=tl(o)),[o,tl(o)]}function ak(e){const t=tl(e);return[tu(e),t,tu(t)]}function tu(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const rm=["left","right"],im=["right","left"],sk=["top","bottom"],nk=["bottom","top"];function rk(e,t,a){switch(e){case"top":case"bottom":return a?t?im:rm:t?rm:im;case"left":case"right":return t?sk:nk;default:return[]}}function ik(e,t,a,s){const n=Qn(e);let r=rk(ya(e),a==="start",s);return n&&(r=r.map(o=>o+"-"+n),t&&(r=r.concat(r.map(tu)))),r}function tl(e){const t=ya(e);return ek[t]+e.slice(t.length)}function ok(e){return{top:0,right:0,bottom:0,left:0,...e}}function g0(e){return typeof e!="number"?ok(e):{top:e,right:e,bottom:e,left:e}}function al(e){const{x:t,y:a,width:s,height:n}=e;return{width:s,height:n,top:a,left:t,right:t+s,bottom:a+n,x:t,y:a}}function om(e,t,a){let{reference:s,floating:n}=e;const r=Kt(t),o=Wp(t),l=$p(o),c=ya(t),d=r==="y",u=s.x+s.width/2-n.width/2,p=s.y+s.height/2-n.height/2,h=s[l]/2-n[l]/2;let f;switch(c){case"top":f={x:u,y:s.y-n.height};break;case"bottom":f={x:u,y:s.y+s.height};break;case"right":f={x:s.x+s.width,y:p};break;case"left":f={x:s.x-n.width,y:p};break;default:f={x:s.x,y:s.y}}switch(Qn(t)){case"start":f[o]-=h*(a&&d?-1:1);break;case"end":f[o]+=h*(a&&d?-1:1);break}return f}async function lk(e,t){var a;t===void 0&&(t={});const{x:s,y:n,platform:r,rects:o,elements:l,strategy:c}=e,{boundary:d="clippingAncestors",rootBoundary:u="viewport",elementContext:p="floating",altBoundary:h=!1,padding:f=0}=xa(t,e),y=g0(f),b=l[h?p==="floating"?"reference":"floating":p],g=al(await r.getClippingRect({element:(a=await(r.isElement==null?void 0:r.isElement(b)))==null||a?b:b.contextElement||await(r.getDocumentElement==null?void 0:r.getDocumentElement(l.floating)),boundary:d,rootBoundary:u,strategy:c})),m=p==="floating"?{x:s,y:n,width:o.floating.width,height:o.floating.height}:o.reference,x=await(r.getOffsetParent==null?void 0:r.getOffsetParent(l.floating)),P=await(r.isElement==null?void 0:r.isElement(x))?await(r.getScale==null?void 0:r.getScale(x))||{x:1,y:1}:{x:1,y:1},j=al(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:m,offsetParent:x,strategy:c}):m);return{top:(g.top-j.top+y.top)/P.y,bottom:(j.bottom-g.bottom+y.bottom)/P.y,left:(g.left-j.left+y.left)/P.x,right:(j.right-g.right+y.right)/P.x}}const ck=50,dk=async(e,t,a)=>{const{placement:s="bottom",strategy:n="absolute",middleware:r=[],platform:o}=a,l=o.detectOverflow?o:{...o,detectOverflow:lk},c=await(o.isRTL==null?void 0:o.isRTL(t));let d=await o.getElementRects({reference:e,floating:t,strategy:n}),{x:u,y:p}=om(d,s,c),h=s,f=0;const y={};for(let v=0;v<r.length;v++){const b=r[v];if(!b)continue;const{name:g,fn:m}=b,{x,y:P,data:j,reset:C}=await m({x:u,y:p,initialPlacement:s,placement:h,strategy:n,middlewareData:y,rects:d,platform:l,elements:{reference:e,floating:t}});u=x??u,p=P??p,y[g]={...y[g],...j},C&&f<ck&&(f++,typeof C=="object"&&(C.placement&&(h=C.placement),C.rects&&(d=C.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:n}):C.rects),{x:u,y:p}=om(d,h,c)),v=-1)}return{x:u,y:p,placement:h,strategy:n,middlewareData:y}},uk=e=>({name:"arrow",options:e,async fn(t){const{x:a,y:s,placement:n,rects:r,platform:o,elements:l,middlewareData:c}=t,{element:d,padding:u=0}=xa(e,t)||{};if(d==null)return{};const p=g0(u),h={x:a,y:s},f=Wp(n),y=$p(f),v=await o.getDimensions(d),b=f==="y",g=b?"top":"left",m=b?"bottom":"right",x=b?"clientHeight":"clientWidth",P=r.reference[y]+r.reference[f]-h[f]-r.floating[y],j=h[f]-r.reference[f],C=await(o.getOffsetParent==null?void 0:o.getOffsetParent(d));let N=C?C[x]:0;(!N||!await(o.isElement==null?void 0:o.isElement(C)))&&(N=l.floating[x]||r.floating[y]);const k=P/2-j/2,R=N/2-v[y]/2-1,T=ns(p[g],R),H=ns(p[m],R),O=T,U=N-v[y]-H,M=N/2-v[y]/2+k,Q=eu(O,M,U),I=!c.arrow&&Qn(n)!=null&&M!==Q&&r.reference[y]/2-(M<O?T:H)-v[y]/2<0,X=I?M<O?M-O:M-U:0;return{[f]:h[f]+X,data:{[f]:Q,centerOffset:M-Q-X,...I&&{alignmentOffset:X}},reset:I}}}),pk=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var a,s;const{placement:n,middlewareData:r,rects:o,initialPlacement:l,platform:c,elements:d}=t,{mainAxis:u=!0,crossAxis:p=!0,fallbackPlacements:h,fallbackStrategy:f="bestFit",fallbackAxisSideDirection:y="none",flipAlignment:v=!0,...b}=xa(e,t);if((a=r.arrow)!=null&&a.alignmentOffset)return{};const g=ya(n),m=Kt(l),x=ya(l)===l,P=await(c.isRTL==null?void 0:c.isRTL(d.floating)),j=h||(x||!v?[tl(l)]:ak(l)),C=y!=="none";!h&&C&&j.push(...ik(l,v,y,P));const N=[l,...j],k=await c.detectOverflow(t,b),R=[];let T=((s=r.flip)==null?void 0:s.overflows)||[];if(u&&R.push(k[g]),p){const M=tk(n,o,P);R.push(k[M[0]],k[M[1]])}if(T=[...T,{placement:n,overflows:R}],!R.every(M=>M<=0)){var H,O;const M=(((H=r.flip)==null?void 0:H.index)||0)+1,Q=N[M];if(Q&&(!(p==="alignment"?m!==Kt(Q):!1)||T.every(S=>Kt(S.placement)===m?S.overflows[0]>0:!0)))return{data:{index:M,overflows:T},reset:{placement:Q}};let I=(O=T.filter(X=>X.overflows[0]<=0).sort((X,S)=>X.overflows[1]-S.overflows[1])[0])==null?void 0:O.placement;if(!I)switch(f){case"bestFit":{var U;const X=(U=T.filter(S=>{if(C){const D=Kt(S.placement);return D===m||D==="y"}return!0}).map(S=>[S.placement,S.overflows.filter(D=>D>0).reduce((D,V)=>D+V,0)]).sort((S,D)=>S[1]-D[1])[0])==null?void 0:U[0];X&&(I=X);break}case"initialPlacement":I=l;break}if(n!==I)return{reset:{placement:I}}}return{}}}};function lm(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function cm(e){return JN.some(t=>e[t]>=0)}const hk=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:a,platform:s}=t,{strategy:n="referenceHidden",...r}=xa(e,t);switch(n){case"referenceHidden":{const o=await s.detectOverflow(t,{...r,elementContext:"reference"}),l=lm(o,a.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:cm(l)}}}case"escaped":{const o=await s.detectOverflow(t,{...r,altBoundary:!0}),l=lm(o,a.floating);return{data:{escapedOffsets:l,escaped:cm(l)}}}default:return{}}}}},x0=new Set(["left","top"]);async function fk(e,t){const{placement:a,platform:s,elements:n}=e,r=await(s.isRTL==null?void 0:s.isRTL(n.floating)),o=ya(a),l=Qn(a),c=Kt(a)==="y",d=x0.has(o)?-1:1,u=r&&c?-1:1,p=xa(t,e);let{mainAxis:h,crossAxis:f,alignmentAxis:y}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return l&&typeof y=="number"&&(f=l==="end"?y*-1:y),c?{x:f*u,y:h*d}:{x:h*d,y:f*u}}const mk=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var a,s;const{x:n,y:r,placement:o,middlewareData:l}=t,c=await fk(t,e);return o===((a=l.offset)==null?void 0:a.placement)&&(s=l.arrow)!=null&&s.alignmentOffset?{}:{x:n+c.x,y:r+c.y,data:{...c,placement:o}}}}},gk=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:a,y:s,placement:n,platform:r}=t,{mainAxis:o=!0,crossAxis:l=!1,limiter:c={fn:g=>{let{x:m,y:x}=g;return{x:m,y:x}}},...d}=xa(e,t),u={x:a,y:s},p=await r.detectOverflow(t,d),h=Kt(ya(n)),f=Bp(h);let y=u[f],v=u[h];if(o){const g=f==="y"?"top":"left",m=f==="y"?"bottom":"right",x=y+p[g],P=y-p[m];y=eu(x,y,P)}if(l){const g=h==="y"?"top":"left",m=h==="y"?"bottom":"right",x=v+p[g],P=v-p[m];v=eu(x,v,P)}const b=c.fn({...t,[f]:y,[h]:v});return{...b,data:{x:b.x-a,y:b.y-s,enabled:{[f]:o,[h]:l}}}}}},xk=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:a,y:s,placement:n,rects:r,middlewareData:o}=t,{offset:l=0,mainAxis:c=!0,crossAxis:d=!0}=xa(e,t),u={x:a,y:s},p=Kt(n),h=Bp(p);let f=u[h],y=u[p];const v=xa(l,t),b=typeof v=="number"?{mainAxis:v,crossAxis:0}:{mainAxis:0,crossAxis:0,...v};if(c){const x=h==="y"?"height":"width",P=r.reference[h]-r.floating[x]+b.mainAxis,j=r.reference[h]+r.reference[x]-b.mainAxis;f<P?f=P:f>j&&(f=j)}if(d){var g,m;const x=h==="y"?"width":"height",P=x0.has(ya(n)),j=r.reference[p]-r.floating[x]+(P&&((g=o.offset)==null?void 0:g[p])||0)+(P?0:b.crossAxis),C=r.reference[p]+r.reference[x]+(P?0:((m=o.offset)==null?void 0:m[p])||0)-(P?b.crossAxis:0);y<j?y=j:y>C&&(y=C)}return{[h]:f,[p]:y}}}},yk=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var a,s;const{placement:n,rects:r,platform:o,elements:l}=t,{apply:c=()=>{},...d}=xa(e,t),u=await o.detectOverflow(t,d),p=ya(n),h=Qn(n),f=Kt(n)==="y",{width:y,height:v}=r.floating;let b,g;p==="top"||p==="bottom"?(b=p,g=h===(await(o.isRTL==null?void 0:o.isRTL(l.floating))?"start":"end")?"left":"right"):(g=p,b=h==="end"?"top":"bottom");const m=v-u.top-u.bottom,x=y-u.left-u.right,P=ns(v-u[b],m),j=ns(y-u[g],x),C=!t.middlewareData.shift;let N=P,k=j;if((a=t.middlewareData.shift)!=null&&a.enabled.x&&(k=x),(s=t.middlewareData.shift)!=null&&s.enabled.y&&(N=m),C&&!h){const T=st(u.left,0),H=st(u.right,0),O=st(u.top,0),U=st(u.bottom,0);f?k=y-2*(T!==0||H!==0?T+H:st(u.left,u.right)):N=v-2*(O!==0||U!==0?O+U:st(u.top,u.bottom))}await c({...t,availableWidth:k,availableHeight:N});const R=await o.getDimensions(l.floating);return y!==R.width||v!==R.height?{reset:{rects:!0}}:{}}}};function Fl(){return typeof window<"u"}function Gn(e){return y0(e)?(e.nodeName||"").toLowerCase():"#document"}function it(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function aa(e){var t;return(t=(y0(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function y0(e){return Fl()?e instanceof Node||e instanceof it(e).Node:!1}function Vt(e){return Fl()?e instanceof Element||e instanceof it(e).Element:!1}function wa(e){return Fl()?e instanceof HTMLElement||e instanceof it(e).HTMLElement:!1}function dm(e){return!Fl()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof it(e).ShadowRoot}function vi(e){const{overflow:t,overflowX:a,overflowY:s,display:n}=Ft(e);return/auto|scroll|overlay|hidden|clip/.test(t+s+a)&&n!=="inline"&&n!=="contents"}function vk(e){return/^(table|td|th)$/.test(Gn(e))}function _l(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const wk=/transform|translate|scale|rotate|perspective|filter/,bk=/paint|layout|strict|content/,ms=e=>!!e&&e!=="none";let Sc;function Up(e){const t=Vt(e)?Ft(e):e;return ms(t.transform)||ms(t.translate)||ms(t.scale)||ms(t.rotate)||ms(t.perspective)||!Qp()&&(ms(t.backdropFilter)||ms(t.filter))||wk.test(t.willChange||"")||bk.test(t.contain||"")}function Pk(e){let t=rs(e);for(;wa(t)&&!Vn(t);){if(Up(t))return t;if(_l(t))return null;t=rs(t)}return null}function Qp(){return Sc==null&&(Sc=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Sc}function Vn(e){return/^(html|body|#document)$/.test(Gn(e))}function Ft(e){return it(e).getComputedStyle(e)}function Il(e){return Vt(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function rs(e){if(Gn(e)==="html")return e;const t=e.assignedSlot||e.parentNode||dm(e)&&e.host||aa(e);return dm(t)?t.host:t}function v0(e){const t=rs(e);return Vn(t)?e.ownerDocument?e.ownerDocument.body:e.body:wa(t)&&vi(t)?t:v0(t)}function Zr(e,t,a){var s;t===void 0&&(t=[]),a===void 0&&(a=!0);const n=v0(e),r=n===((s=e.ownerDocument)==null?void 0:s.body),o=it(n);if(r){const l=au(o);return t.concat(o,o.visualViewport||[],vi(n)?n:[],l&&a?Zr(l):[])}else return t.concat(n,Zr(n,[],a))}function au(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function w0(e){const t=Ft(e);let a=parseFloat(t.width)||0,s=parseFloat(t.height)||0;const n=wa(e),r=n?e.offsetWidth:a,o=n?e.offsetHeight:s,l=el(a)!==r||el(s)!==o;return l&&(a=r,s=o),{width:a,height:s,$:l}}function Gp(e){return Vt(e)?e:e.contextElement}function vn(e){const t=Gp(e);if(!wa(t))return Jt(1);const a=t.getBoundingClientRect(),{width:s,height:n,$:r}=w0(t);let o=(r?el(a.width):a.width)/s,l=(r?el(a.height):a.height)/n;return(!o||!Number.isFinite(o))&&(o=1),(!l||!Number.isFinite(l))&&(l=1),{x:o,y:l}}const jk=Jt(0);function b0(e){const t=it(e);return!Qp()||!t.visualViewport?jk:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Ck(e,t,a){return t===void 0&&(t=!1),!a||t&&a!==it(e)?!1:t}function qs(e,t,a,s){t===void 0&&(t=!1),a===void 0&&(a=!1);const n=e.getBoundingClientRect(),r=Gp(e);let o=Jt(1);t&&(s?Vt(s)&&(o=vn(s)):o=vn(e));const l=Ck(r,a,s)?b0(r):Jt(0);let c=(n.left+l.x)/o.x,d=(n.top+l.y)/o.y,u=n.width/o.x,p=n.height/o.y;if(r){const h=it(r),f=s&&Vt(s)?it(s):s;let y=h,v=au(y);for(;v&&s&&f!==y;){const b=vn(v),g=v.getBoundingClientRect(),m=Ft(v),x=g.left+(v.clientLeft+parseFloat(m.paddingLeft))*b.x,P=g.top+(v.clientTop+parseFloat(m.paddingTop))*b.y;c*=b.x,d*=b.y,u*=b.x,p*=b.y,c+=x,d+=P,y=it(v),v=au(y)}}return al({width:u,height:p,x:c,y:d})}function ql(e,t){const a=Il(e).scrollLeft;return t?t.left+a:qs(aa(e)).left+a}function P0(e,t){const a=e.getBoundingClientRect(),s=a.left+t.scrollLeft-ql(e,a),n=a.top+t.scrollTop;return{x:s,y:n}}function Nk(e){let{elements:t,rect:a,offsetParent:s,strategy:n}=e;const r=n==="fixed",o=aa(s),l=t?_l(t.floating):!1;if(s===o||l&&r)return a;let c={scrollLeft:0,scrollTop:0},d=Jt(1);const u=Jt(0),p=wa(s);if((p||!p&&!r)&&((Gn(s)!=="body"||vi(o))&&(c=Il(s)),p)){const f=qs(s);d=vn(s),u.x=f.x+s.clientLeft,u.y=f.y+s.clientTop}const h=o&&!p&&!r?P0(o,c):Jt(0);return{width:a.width*d.x,height:a.height*d.y,x:a.x*d.x-c.scrollLeft*d.x+u.x+h.x,y:a.y*d.y-c.scrollTop*d.y+u.y+h.y}}function kk(e){return Array.from(e.getClientRects())}function Sk(e){const t=aa(e),a=Il(e),s=e.ownerDocument.body,n=st(t.scrollWidth,t.clientWidth,s.scrollWidth,s.clientWidth),r=st(t.scrollHeight,t.clientHeight,s.scrollHeight,s.clientHeight);let o=-a.scrollLeft+ql(e);const l=-a.scrollTop;return Ft(s).direction==="rtl"&&(o+=st(t.clientWidth,s.clientWidth)-n),{width:n,height:r,x:o,y:l}}const um=25;function Ak(e,t){const a=it(e),s=aa(e),n=a.visualViewport;let r=s.clientWidth,o=s.clientHeight,l=0,c=0;if(n){r=n.width,o=n.height;const u=Qp();(!u||u&&t==="fixed")&&(l=n.offsetLeft,c=n.offsetTop)}const d=ql(s);if(d<=0){const u=s.ownerDocument,p=u.body,h=getComputedStyle(p),f=u.compatMode==="CSS1Compat"&&parseFloat(h.marginLeft)+parseFloat(h.marginRight)||0,y=Math.abs(s.clientWidth-p.clientWidth-f);y<=um&&(r-=y)}else d<=um&&(r+=d);return{width:r,height:o,x:l,y:c}}function Tk(e,t){const a=qs(e,!0,t==="fixed"),s=a.top+e.clientTop,n=a.left+e.clientLeft,r=wa(e)?vn(e):Jt(1),o=e.clientWidth*r.x,l=e.clientHeight*r.y,c=n*r.x,d=s*r.y;return{width:o,height:l,x:c,y:d}}function pm(e,t,a){let s;if(t==="viewport")s=Ak(e,a);else if(t==="document")s=Sk(aa(e));else if(Vt(t))s=Tk(t,a);else{const n=b0(e);s={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return al(s)}function j0(e,t){const a=rs(e);return a===t||!Vt(a)||Vn(a)?!1:Ft(a).position==="fixed"||j0(a,t)}function Ek(e,t){const a=t.get(e);if(a)return a;let s=Zr(e,[],!1).filter(l=>Vt(l)&&Gn(l)!=="body"),n=null;const r=Ft(e).position==="fixed";let o=r?rs(e):e;for(;Vt(o)&&!Vn(o);){const l=Ft(o),c=Up(o);!c&&l.position==="fixed"&&(n=null),(r?!c&&!n:!c&&l.position==="static"&&!!n&&(n.position==="absolute"||n.position==="fixed")||vi(o)&&!c&&j0(e,o))?s=s.filter(u=>u!==o):n=l,o=rs(o)}return t.set(e,s),s}function Rk(e){let{element:t,boundary:a,rootBoundary:s,strategy:n}=e;const o=[...a==="clippingAncestors"?_l(t)?[]:Ek(t,this._c):[].concat(a),s],l=pm(t,o[0],n);let c=l.top,d=l.right,u=l.bottom,p=l.left;for(let h=1;h<o.length;h++){const f=pm(t,o[h],n);c=st(f.top,c),d=ns(f.right,d),u=ns(f.bottom,u),p=st(f.left,p)}return{width:d-p,height:u-c,x:p,y:c}}function Dk(e){const{width:t,height:a}=w0(e);return{width:t,height:a}}function Mk(e,t,a){const s=wa(t),n=aa(t),r=a==="fixed",o=qs(e,!0,r,t);let l={scrollLeft:0,scrollTop:0};const c=Jt(0);function d(){c.x=ql(n)}if(s||!s&&!r)if((Gn(t)!=="body"||vi(n))&&(l=Il(t)),s){const f=qs(t,!0,r,t);c.x=f.x+t.clientLeft,c.y=f.y+t.clientTop}else n&&d();r&&!s&&n&&d();const u=n&&!s&&!r?P0(n,l):Jt(0),p=o.left+l.scrollLeft-c.x-u.x,h=o.top+l.scrollTop-c.y-u.y;return{x:p,y:h,width:o.width,height:o.height}}function Ac(e){return Ft(e).position==="static"}function hm(e,t){if(!wa(e)||Ft(e).position==="fixed")return null;if(t)return t(e);let a=e.offsetParent;return aa(e)===a&&(a=a.ownerDocument.body),a}function C0(e,t){const a=it(e);if(_l(e))return a;if(!wa(e)){let n=rs(e);for(;n&&!Vn(n);){if(Vt(n)&&!Ac(n))return n;n=rs(n)}return a}let s=hm(e,t);for(;s&&vk(s)&&Ac(s);)s=hm(s,t);return s&&Vn(s)&&Ac(s)&&!Up(s)?a:s||Pk(e)||a}const Ok=async function(e){const t=this.getOffsetParent||C0,a=this.getDimensions,s=await a(e.floating);return{reference:Mk(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:s.width,height:s.height}}};function Lk(e){return Ft(e).direction==="rtl"}const zk={convertOffsetParentRelativeRectToViewportRelativeRect:Nk,getDocumentElement:aa,getClippingRect:Rk,getOffsetParent:C0,getElementRects:Ok,getClientRects:kk,getDimensions:Dk,getScale:vn,isElement:Vt,isRTL:Lk};function N0(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Hk(e,t){let a=null,s;const n=aa(e);function r(){var l;clearTimeout(s),(l=a)==null||l.disconnect(),a=null}function o(l,c){l===void 0&&(l=!1),c===void 0&&(c=1),r();const d=e.getBoundingClientRect(),{left:u,top:p,width:h,height:f}=d;if(l||t(),!h||!f)return;const y=Qi(p),v=Qi(n.clientWidth-(u+h)),b=Qi(n.clientHeight-(p+f)),g=Qi(u),x={rootMargin:-y+"px "+-v+"px "+-b+"px "+-g+"px",threshold:st(0,ns(1,c))||1};let P=!0;function j(C){const N=C[0].intersectionRatio;if(N!==c){if(!P)return o();N?o(!1,N):s=setTimeout(()=>{o(!1,1e-7)},1e3)}N===1&&!N0(d,e.getBoundingClientRect())&&o(),P=!1}try{a=new IntersectionObserver(j,{...x,root:n.ownerDocument})}catch{a=new IntersectionObserver(j,x)}a.observe(e)}return o(!0),r}function Vk(e,t,a,s){s===void 0&&(s={});const{ancestorScroll:n=!0,ancestorResize:r=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:c=!1}=s,d=Gp(e),u=n||r?[...d?Zr(d):[],...t?Zr(t):[]]:[];u.forEach(g=>{n&&g.addEventListener("scroll",a,{passive:!0}),r&&g.addEventListener("resize",a)});const p=d&&l?Hk(d,a):null;let h=-1,f=null;o&&(f=new ResizeObserver(g=>{let[m]=g;m&&m.target===d&&f&&t&&(f.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var x;(x=f)==null||x.observe(t)})),a()}),d&&!c&&f.observe(d),t&&f.observe(t));let y,v=c?qs(e):null;c&&b();function b(){const g=qs(e);v&&!N0(v,g)&&a(),v=g,y=requestAnimationFrame(b)}return a(),()=>{var g;u.forEach(m=>{n&&m.removeEventListener("scroll",a),r&&m.removeEventListener("resize",a)}),p==null||p(),(g=f)==null||g.disconnect(),f=null,c&&cancelAnimationFrame(y)}}const Fk=mk,_k=gk,Ik=pk,qk=yk,Bk=hk,fm=uk,$k=xk,Wk=(e,t,a)=>{const s=new Map,n={platform:zk,...a},r={...n.platform,_c:s};return dk(e,t,{...n,platform:r})};var Uk=typeof document<"u",Qk=function(){},xo=Uk?w.useLayoutEffect:Qk;function sl(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let a,s,n;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(a=e.length,a!==t.length)return!1;for(s=a;s--!==0;)if(!sl(e[s],t[s]))return!1;return!0}if(n=Object.keys(e),a=n.length,a!==Object.keys(t).length)return!1;for(s=a;s--!==0;)if(!{}.hasOwnProperty.call(t,n[s]))return!1;for(s=a;s--!==0;){const r=n[s];if(!(r==="_owner"&&e.$$typeof)&&!sl(e[r],t[r]))return!1}return!0}return e!==e&&t!==t}function k0(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function mm(e,t){const a=k0(e);return Math.round(t*a)/a}function Tc(e){const t=w.useRef(e);return xo(()=>{t.current=e}),t}function Gk(e){e===void 0&&(e={});const{placement:t="bottom",strategy:a="absolute",middleware:s=[],platform:n,elements:{reference:r,floating:o}={},transform:l=!0,whileElementsMounted:c,open:d}=e,[u,p]=w.useState({x:0,y:0,strategy:a,placement:t,middlewareData:{},isPositioned:!1}),[h,f]=w.useState(s);sl(h,s)||f(s);const[y,v]=w.useState(null),[b,g]=w.useState(null),m=w.useCallback(S=>{S!==C.current&&(C.current=S,v(S))},[]),x=w.useCallback(S=>{S!==N.current&&(N.current=S,g(S))},[]),P=r||y,j=o||b,C=w.useRef(null),N=w.useRef(null),k=w.useRef(u),R=c!=null,T=Tc(c),H=Tc(n),O=Tc(d),U=w.useCallback(()=>{if(!C.current||!N.current)return;const S={placement:t,strategy:a,middleware:h};H.current&&(S.platform=H.current),Wk(C.current,N.current,S).then(D=>{const V={...D,isPositioned:O.current!==!1};M.current&&!sl(k.current,V)&&(k.current=V,xi.flushSync(()=>{p(V)}))})},[h,t,a,H,O]);xo(()=>{d===!1&&k.current.isPositioned&&(k.current.isPositioned=!1,p(S=>({...S,isPositioned:!1})))},[d]);const M=w.useRef(!1);xo(()=>(M.current=!0,()=>{M.current=!1}),[]),xo(()=>{if(P&&(C.current=P),j&&(N.current=j),P&&j){if(T.current)return T.current(P,j,U);U()}},[P,j,U,T,R]);const Q=w.useMemo(()=>({reference:C,floating:N,setReference:m,setFloating:x}),[m,x]),I=w.useMemo(()=>({reference:P,floating:j}),[P,j]),X=w.useMemo(()=>{const S={position:a,left:0,top:0};if(!I.floating)return S;const D=mm(I.floating,u.x),V=mm(I.floating,u.y);return l?{...S,transform:"translate("+D+"px, "+V+"px)",...k0(I.floating)>=1.5&&{willChange:"transform"}}:{position:a,left:D,top:V}},[a,l,I.floating,u.x,u.y]);return w.useMemo(()=>({...u,update:U,refs:Q,elements:I,floatingStyles:X}),[u,U,Q,I,X])}const Kk=e=>{function t(a){return{}.hasOwnProperty.call(a,"current")}return{name:"arrow",options:e,fn(a){const{element:s,padding:n}=typeof e=="function"?e(a):e;return s&&t(s)?s.current!=null?fm({element:s.current,padding:n}).fn(a):{}:s?fm({element:s,padding:n}).fn(a):{}}}},Yk=(e,t)=>{const a=Fk(e);return{name:a.name,fn:a.fn,options:[e,t]}},Xk=(e,t)=>{const a=_k(e);return{name:a.name,fn:a.fn,options:[e,t]}},Zk=(e,t)=>({fn:$k(e).fn,options:[e,t]}),Jk=(e,t)=>{const a=Ik(e);return{name:a.name,fn:a.fn,options:[e,t]}},e4=(e,t)=>{const a=qk(e);return{name:a.name,fn:a.fn,options:[e,t]}},t4=(e,t)=>{const a=Bk(e);return{name:a.name,fn:a.fn,options:[e,t]}},a4=(e,t)=>{const a=Kk(e);return{name:a.name,fn:a.fn,options:[e,t]}};var s4="Arrow",S0=w.forwardRef((e,t)=>{const{children:a,width:s=10,height:n=5,...r}=e;return i.jsx(et.svg,{...r,ref:t,width:s,height:n,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?a:i.jsx("polygon",{points:"0,0 30,0 15,10"})})});S0.displayName=s4;var n4=S0;function r4(e){const[t,a]=w.useState(void 0);return ss(()=>{if(e){a({width:e.offsetWidth,height:e.offsetHeight});const s=new ResizeObserver(n=>{if(!Array.isArray(n)||!n.length)return;const r=n[0];let o,l;if("borderBoxSize"in r){const c=r.borderBoxSize,d=Array.isArray(c)?c[0]:c;o=d.inlineSize,l=d.blockSize}else o=e.offsetWidth,l=e.offsetHeight;a({width:o,height:l})});return s.observe(e,{box:"border-box"}),()=>s.unobserve(e)}else a(void 0)},[e]),t}var A0="Popper",[T0,E0]=Dl(A0),[W8,R0]=T0(A0),D0="PopperAnchor",M0=w.forwardRef((e,t)=>{const{__scopePopper:a,virtualRef:s,...n}=e,r=R0(D0,a),o=w.useRef(null),l=Ht(t,o),c=w.useRef(null);return w.useEffect(()=>{const d=c.current;c.current=(s==null?void 0:s.current)||o.current,d!==c.current&&r.onAnchorChange(c.current)}),s?null:i.jsx(et.div,{...n,ref:l})});M0.displayName=D0;var Kp="PopperContent",[i4,o4]=T0(Kp),O0=w.forwardRef((e,t)=>{var fs,Rh,Dh,Mh,Oh,Lh;const{__scopePopper:a,side:s="bottom",sideOffset:n=0,align:r="center",alignOffset:o=0,arrowPadding:l=0,avoidCollisions:c=!0,collisionBoundary:d=[],collisionPadding:u=0,sticky:p="partial",hideWhenDetached:h=!1,updatePositionStrategy:f="optimized",onPlaced:y,...v}=e,b=R0(Kp,a),[g,m]=w.useState(null),x=Ht(t,er=>m(er)),[P,j]=w.useState(null),C=r4(P),N=(C==null?void 0:C.width)??0,k=(C==null?void 0:C.height)??0,R=s+(r!=="center"?"-"+r:""),T=typeof u=="number"?u:{top:0,right:0,bottom:0,left:0,...u},H=Array.isArray(d)?d:[d],O=H.length>0,U={padding:T,boundary:H.filter(c4),altBoundary:O},{refs:M,floatingStyles:Q,placement:I,isPositioned:X,middlewareData:S}=Gk({strategy:"fixed",placement:R,whileElementsMounted:(...er)=>Vk(...er,{animationFrame:f==="always"}),elements:{reference:b.anchor},middleware:[Yk({mainAxis:n+k,alignmentAxis:o}),c&&Xk({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?Zk():void 0,...U}),c&&Jk({...U}),e4({...U,apply:({elements:er,rects:zh,availableWidth:Pb,availableHeight:jb})=>{const{width:Cb,height:Nb}=zh.reference,ki=er.floating.style;ki.setProperty("--radix-popper-available-width",`${Pb}px`),ki.setProperty("--radix-popper-available-height",`${jb}px`),ki.setProperty("--radix-popper-anchor-width",`${Cb}px`),ki.setProperty("--radix-popper-anchor-height",`${Nb}px`)}}),P&&a4({element:P,padding:l}),d4({arrowWidth:N,arrowHeight:k}),h&&t4({strategy:"referenceHidden",...U})]}),[D,V]=H0(I),W=as(y);ss(()=>{X&&(W==null||W())},[X,W]);const te=(fs=S.arrow)==null?void 0:fs.x,jt=(Rh=S.arrow)==null?void 0:Rh.y,ut=((Dh=S.arrow)==null?void 0:Dh.centerOffset)!==0,[Jn,sa]=w.useState();return ss(()=>{g&&sa(window.getComputedStyle(g).zIndex)},[g]),i.jsx("div",{ref:M.setFloating,"data-radix-popper-content-wrapper":"",style:{...Q,transform:X?Q.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Jn,"--radix-popper-transform-origin":[(Mh=S.transformOrigin)==null?void 0:Mh.x,(Oh=S.transformOrigin)==null?void 0:Oh.y].join(" "),...((Lh=S.hide)==null?void 0:Lh.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:i.jsx(i4,{scope:a,placedSide:D,onArrowChange:j,arrowX:te,arrowY:jt,shouldHideArrow:ut,children:i.jsx(et.div,{"data-side":D,"data-align":V,...v,ref:x,style:{...v.style,animation:X?void 0:"none"}})})})});O0.displayName=Kp;var L0="PopperArrow",l4={top:"bottom",right:"left",bottom:"top",left:"right"},z0=w.forwardRef(function(t,a){const{__scopePopper:s,...n}=t,r=o4(L0,s),o=l4[r.placedSide];return i.jsx("span",{ref:r.onArrowChange,style:{position:"absolute",left:r.arrowX,top:r.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[r.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[r.placedSide],visibility:r.shouldHideArrow?"hidden":void 0},children:i.jsx(n4,{...n,ref:a,style:{...n.style,display:"block"}})})});z0.displayName=L0;function c4(e){return e!==null}var d4=e=>({name:"transformOrigin",options:e,fn(t){var b,g,m;const{placement:a,rects:s,middlewareData:n}=t,o=((b=n.arrow)==null?void 0:b.centerOffset)!==0,l=o?0:e.arrowWidth,c=o?0:e.arrowHeight,[d,u]=H0(a),p={start:"0%",center:"50%",end:"100%"}[u],h=(((g=n.arrow)==null?void 0:g.x)??0)+l/2,f=(((m=n.arrow)==null?void 0:m.y)??0)+c/2;let y="",v="";return d==="bottom"?(y=o?p:`${h}px`,v=`${-c}px`):d==="top"?(y=o?p:`${h}px`,v=`${s.floating.height+c}px`):d==="right"?(y=`${-c}px`,v=o?p:`${f}px`):d==="left"&&(y=`${s.floating.width+c}px`,v=o?p:`${f}px`),{data:{x:y,y:v}}}});function H0(e){const[t,a="center"]=e.split("-");return[t,a]}var u4=M0,p4=O0,h4=z0,[Bl]=Dl("Tooltip",[E0]),Yp=E0(),V0="TooltipProvider",f4=700,gm="tooltip.open",[m4,F0]=Bl(V0),_0=e=>{const{__scopeTooltip:t,delayDuration:a=f4,skipDelayDuration:s=300,disableHoverableContent:n=!1,children:r}=e,o=w.useRef(!0),l=w.useRef(!1),c=w.useRef(0);return w.useEffect(()=>{const d=c.current;return()=>window.clearTimeout(d)},[]),i.jsx(m4,{scope:t,isOpenDelayedRef:o,delayDuration:a,onOpen:w.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:w.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,s)},[s]),isPointerInTransitRef:l,onPointerInTransitChange:w.useCallback(d=>{l.current=d},[]),disableHoverableContent:n,children:r})};_0.displayName=V0;var I0="Tooltip",[U8,wi]=Bl(I0),su="TooltipTrigger",g4=w.forwardRef((e,t)=>{const{__scopeTooltip:a,...s}=e,n=wi(su,a),r=F0(su,a),o=Yp(a),l=w.useRef(null),c=Ht(t,l,n.onTriggerChange),d=w.useRef(!1),u=w.useRef(!1),p=w.useCallback(()=>d.current=!1,[]);return w.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),i.jsx(u4,{asChild:!0,...o,children:i.jsx(et.button,{"aria-describedby":n.open?n.contentId:void 0,"data-state":n.stateAttribute,...s,ref:c,onPointerMove:Pe(e.onPointerMove,h=>{h.pointerType!=="touch"&&!u.current&&!r.isPointerInTransitRef.current&&(n.onTriggerEnter(),u.current=!0)}),onPointerLeave:Pe(e.onPointerLeave,()=>{n.onTriggerLeave(),u.current=!1}),onPointerDown:Pe(e.onPointerDown,()=>{n.open&&n.onClose(),d.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:Pe(e.onFocus,()=>{d.current||n.onOpen()}),onBlur:Pe(e.onBlur,n.onClose),onClick:Pe(e.onClick,n.onClose)})})});g4.displayName=su;var Xp="TooltipPortal",[x4,y4]=Bl(Xp,{forceMount:void 0}),q0=e=>{const{__scopeTooltip:t,forceMount:a,children:s,container:n}=e,r=wi(Xp,t);return i.jsx(x4,{scope:t,forceMount:a,children:i.jsx(Ml,{present:a||r.open,children:i.jsx(Hp,{asChild:!0,container:n,children:s})})})};q0.displayName=Xp;var Fn="TooltipContent",B0=w.forwardRef((e,t)=>{const a=y4(Fn,e.__scopeTooltip),{forceMount:s=a.forceMount,side:n="top",...r}=e,o=wi(Fn,e.__scopeTooltip);return i.jsx(Ml,{present:s||o.open,children:o.disableHoverableContent?i.jsx($0,{side:n,...r,ref:t}):i.jsx(v4,{side:n,...r,ref:t})})}),v4=w.forwardRef((e,t)=>{const a=wi(Fn,e.__scopeTooltip),s=F0(Fn,e.__scopeTooltip),n=w.useRef(null),r=Ht(t,n),[o,l]=w.useState(null),{trigger:c,onClose:d}=a,u=n.current,{onPointerInTransitChange:p}=s,h=w.useCallback(()=>{l(null),p(!1)},[p]),f=w.useCallback((y,v)=>{const b=y.currentTarget,g={x:y.clientX,y:y.clientY},m=C4(g,b.getBoundingClientRect()),x=N4(g,m),P=k4(v.getBoundingClientRect()),j=A4([...x,...P]);l(j),p(!0)},[p]);return w.useEffect(()=>()=>h(),[h]),w.useEffect(()=>{if(c&&u){const y=b=>f(b,u),v=b=>f(b,c);return c.addEventListener("pointerleave",y),u.addEventListener("pointerleave",v),()=>{c.removeEventListener("pointerleave",y),u.removeEventListener("pointerleave",v)}}},[c,u,f,h]),w.useEffect(()=>{if(o){const y=v=>{const b=v.target,g={x:v.clientX,y:v.clientY},m=(c==null?void 0:c.contains(b))||(u==null?void 0:u.contains(b)),x=!S4(g,o);m?h():x&&(h(),d())};return document.addEventListener("pointermove",y),()=>document.removeEventListener("pointermove",y)}},[c,u,o,d,h]),i.jsx($0,{...e,ref:r})}),[w4,b4]=Bl(I0,{isInside:!1}),P4=lj("TooltipContent"),$0=w.forwardRef((e,t)=>{const{__scopeTooltip:a,children:s,"aria-label":n,onEscapeKeyDown:r,onPointerDownOutside:o,...l}=e,c=wi(Fn,a),d=Yp(a),{onClose:u}=c;return w.useEffect(()=>(document.addEventListener(gm,u),()=>document.removeEventListener(gm,u)),[u]),w.useEffect(()=>{if(c.trigger){const p=h=>{const f=h.target;f!=null&&f.contains(c.trigger)&&u()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[c.trigger,u]),i.jsx(zp,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:p=>p.preventDefault(),onDismiss:u,children:i.jsxs(p4,{"data-state":c.stateAttribute,...d,...l,ref:t,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[i.jsx(P4,{children:s}),i.jsx(w4,{scope:a,isInside:!0,children:i.jsx(Mj,{id:c.contentId,role:"tooltip",children:n||s})})]})})});B0.displayName=Fn;var W0="TooltipArrow",j4=w.forwardRef((e,t)=>{const{__scopeTooltip:a,...s}=e,n=Yp(a);return b4(W0,a).isInside?null:i.jsx(h4,{...n,...s,ref:t})});j4.displayName=W0;function C4(e,t){const a=Math.abs(t.top-e.y),s=Math.abs(t.bottom-e.y),n=Math.abs(t.right-e.x),r=Math.abs(t.left-e.x);switch(Math.min(a,s,n,r)){case r:return"left";case n:return"right";case a:return"top";case s:return"bottom";default:throw new Error("unreachable")}}function N4(e,t,a=5){const s=[];switch(t){case"top":s.push({x:e.x-a,y:e.y+a},{x:e.x+a,y:e.y+a});break;case"bottom":s.push({x:e.x-a,y:e.y-a},{x:e.x+a,y:e.y-a});break;case"left":s.push({x:e.x+a,y:e.y-a},{x:e.x+a,y:e.y+a});break;case"right":s.push({x:e.x-a,y:e.y-a},{x:e.x-a,y:e.y+a});break}return s}function k4(e){const{top:t,right:a,bottom:s,left:n}=e;return[{x:n,y:t},{x:a,y:t},{x:a,y:s},{x:n,y:s}]}function S4(e,t){const{x:a,y:s}=e;let n=!1;for(let r=0,o=t.length-1;r<t.length;o=r++){const l=t[r],c=t[o],d=l.x,u=l.y,p=c.x,h=c.y;u>s!=h>s&&a<(p-d)*(s-u)/(h-u)+d&&(n=!n)}return n}function A4(e){const t=e.slice();return t.sort((a,s)=>a.x<s.x?-1:a.x>s.x?1:a.y<s.y?-1:a.y>s.y?1:0),T4(t)}function T4(e){if(e.length<=1)return e.slice();const t=[];for(let s=0;s<e.length;s++){const n=e[s];for(;t.length>=2;){const r=t[t.length-1],o=t[t.length-2];if((r.x-o.x)*(n.y-o.y)>=(r.y-o.y)*(n.x-o.x))t.pop();else break}t.push(n)}t.pop();const a=[];for(let s=e.length-1;s>=0;s--){const n=e[s];for(;a.length>=2;){const r=a[a.length-1],o=a[a.length-2];if((r.x-o.x)*(n.y-o.y)>=(r.y-o.y)*(n.x-o.x))a.pop();else break}a.push(n)}return a.pop(),t.length===1&&a.length===1&&t[0].x===a[0].x&&t[0].y===a[0].y?t:t.concat(a)}var E4=_0,R4=q0,U0=B0;const D4=E4,M4=w.forwardRef(({className:e,sideOffset:t=4,...a},s)=>i.jsx(R4,{children:i.jsx(U0,{ref:s,sideOffset:t,className:ge("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",e),...a})}));M4.displayName=U0.displayName;var $l=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Ns,La,Pn,ix,O4=(ix=class extends $l{constructor(){super();Y(this,Ns);Y(this,La);Y(this,Pn);B(this,Pn,t=>{if(typeof window<"u"&&window.addEventListener){const a=()=>t();return window.addEventListener("visibilitychange",a,!1),()=>{window.removeEventListener("visibilitychange",a)}}})}onSubscribe(){A(this,La)||this.setEventListener(A(this,Pn))}onUnsubscribe(){var t;this.hasListeners()||((t=A(this,La))==null||t.call(this),B(this,La,void 0))}setEventListener(t){var a;B(this,Pn,t),(a=A(this,La))==null||a.call(this),B(this,La,t(s=>{typeof s=="boolean"?this.setFocused(s):this.onFocus()}))}setFocused(t){A(this,Ns)!==t&&(B(this,Ns,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(a=>{a(t)})}isFocused(){var t;return typeof A(this,Ns)=="boolean"?A(this,Ns):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},Ns=new WeakMap,La=new WeakMap,Pn=new WeakMap,ix),Q0=new O4,L4={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},za,Fu,ox,z4=(ox=class{constructor(){Y(this,za,L4);Y(this,Fu,!1)}setTimeoutProvider(e){B(this,za,e)}setTimeout(e,t){return A(this,za).setTimeout(e,t)}clearTimeout(e){A(this,za).clearTimeout(e)}setInterval(e,t){return A(this,za).setInterval(e,t)}clearInterval(e){A(this,za).clearInterval(e)}},za=new WeakMap,Fu=new WeakMap,ox),nu=new z4;function H4(e){setTimeout(e,0)}var V4=typeof window>"u"||"Deno"in globalThis;function At(){}function F4(e,t){return typeof e=="function"?e(t):e}function _4(e){return typeof e=="number"&&e>=0&&e!==1/0}function I4(e,t){return Math.max(e+(t||0)-Date.now(),0)}function ru(e,t){return typeof e=="function"?e(t):e}function q4(e,t){return typeof e=="function"?e(t):e}function xm(e,t){const{type:a="all",exact:s,fetchStatus:n,predicate:r,queryKey:o,stale:l}=e;if(o){if(s){if(t.queryHash!==Zp(o,t.options))return!1}else if(!ei(t.queryKey,o))return!1}if(a!=="all"){const c=t.isActive();if(a==="active"&&!c||a==="inactive"&&c)return!1}return!(typeof l=="boolean"&&t.isStale()!==l||n&&n!==t.state.fetchStatus||r&&!r(t))}function ym(e,t){const{exact:a,status:s,predicate:n,mutationKey:r}=e;if(r){if(!t.options.mutationKey)return!1;if(a){if(Jr(t.options.mutationKey)!==Jr(r))return!1}else if(!ei(t.options.mutationKey,r))return!1}return!(s&&t.state.status!==s||n&&!n(t))}function Zp(e,t){return((t==null?void 0:t.queryKeyHashFn)||Jr)(e)}function Jr(e){return JSON.stringify(e,(t,a)=>iu(a)?Object.keys(a).sort().reduce((s,n)=>(s[n]=a[n],s),{}):a)}function ei(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(a=>ei(e[a],t[a])):!1}var B4=Object.prototype.hasOwnProperty;function G0(e,t,a=0){if(e===t)return e;if(a>500)return t;const s=vm(e)&&vm(t);if(!s&&!(iu(e)&&iu(t)))return t;const r=(s?e:Object.keys(e)).length,o=s?t:Object.keys(t),l=o.length,c=s?new Array(l):{};let d=0;for(let u=0;u<l;u++){const p=s?u:o[u],h=e[p],f=t[p];if(h===f){c[p]=h,(s?u<r:B4.call(e,p))&&d++;continue}if(h===null||f===null||typeof h!="object"||typeof f!="object"){c[p]=f;continue}const y=G0(h,f,a+1);c[p]=y,y===h&&d++}return r===l&&d===r?e:c}function vm(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function iu(e){if(!wm(e))return!1;const t=e.constructor;if(t===void 0)return!0;const a=t.prototype;return!(!wm(a)||!a.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function wm(e){return Object.prototype.toString.call(e)==="[object Object]"}function $4(e){return new Promise(t=>{nu.setTimeout(t,e)})}function W4(e,t,a){return typeof a.structuralSharing=="function"?a.structuralSharing(e,t):a.structuralSharing!==!1?G0(e,t):t}function U4(e,t,a=0){const s=[...e,t];return a&&s.length>a?s.slice(1):s}function Q4(e,t,a=0){const s=[t,...e];return a&&s.length>a?s.slice(0,-1):s}var Jp=Symbol();function K0(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===Jp?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function G4(e,t,a){let s=!1,n;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(n??(n=t()),s||(s=!0,n.aborted?a():n.addEventListener("abort",a,{once:!0})),n)}),e}var Y0=(()=>{let e=()=>V4;return{isServer(){return e()},setIsServer(t){e=t}}})();function K4(){let e,t;const a=new Promise((n,r)=>{e=n,t=r});a.status="pending",a.catch(()=>{});function s(n){Object.assign(a,n),delete a.resolve,delete a.reject}return a.resolve=n=>{s({status:"fulfilled",value:n}),e(n)},a.reject=n=>{s({status:"rejected",reason:n}),t(n)},a}var Y4=H4;function X4(){let e=[],t=0,a=l=>{l()},s=l=>{l()},n=Y4;const r=l=>{t?e.push(l):n(()=>{a(l)})},o=()=>{const l=e;e=[],l.length&&n(()=>{s(()=>{l.forEach(c=>{a(c)})})})};return{batch:l=>{let c;t++;try{c=l()}finally{t--,t||o()}return c},batchCalls:l=>(...c)=>{r(()=>{l(...c)})},schedule:r,setNotifyFunction:l=>{a=l},setBatchNotifyFunction:l=>{s=l},setScheduler:l=>{n=l}}}var Be=X4(),jn,Ha,Cn,lx,Z4=(lx=class extends $l{constructor(){super();Y(this,jn,!0);Y(this,Ha);Y(this,Cn);B(this,Cn,t=>{if(typeof window<"u"&&window.addEventListener){const a=()=>t(!0),s=()=>t(!1);return window.addEventListener("online",a,!1),window.addEventListener("offline",s,!1),()=>{window.removeEventListener("online",a),window.removeEventListener("offline",s)}}})}onSubscribe(){A(this,Ha)||this.setEventListener(A(this,Cn))}onUnsubscribe(){var t;this.hasListeners()||((t=A(this,Ha))==null||t.call(this),B(this,Ha,void 0))}setEventListener(t){var a;B(this,Cn,t),(a=A(this,Ha))==null||a.call(this),B(this,Ha,t(this.setOnline.bind(this)))}setOnline(t){A(this,jn)!==t&&(B(this,jn,t),this.listeners.forEach(s=>{s(t)}))}isOnline(){return A(this,jn)}},jn=new WeakMap,Ha=new WeakMap,Cn=new WeakMap,lx),nl=new Z4;function J4(e){return Math.min(1e3*2**e,3e4)}function X0(e){return(e??"online")==="online"?nl.isOnline():!0}var ou=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function Z0(e){let t=!1,a=0,s;const n=K4(),r=()=>n.status!=="pending",o=v=>{var b;if(!r()){const g=new ou(v);h(g),(b=e.onCancel)==null||b.call(e,g)}},l=()=>{t=!0},c=()=>{t=!1},d=()=>Q0.isFocused()&&(e.networkMode==="always"||nl.isOnline())&&e.canRun(),u=()=>X0(e.networkMode)&&e.canRun(),p=v=>{r()||(s==null||s(),n.resolve(v))},h=v=>{r()||(s==null||s(),n.reject(v))},f=()=>new Promise(v=>{var b;s=g=>{(r()||d())&&v(g)},(b=e.onPause)==null||b.call(e)}).then(()=>{var v;s=void 0,r()||(v=e.onContinue)==null||v.call(e)}),y=()=>{if(r())return;let v;const b=a===0?e.initialPromise:void 0;try{v=b??e.fn()}catch(g){v=Promise.reject(g)}Promise.resolve(v).then(p).catch(g=>{var C;if(r())return;const m=e.retry??(Y0.isServer()?0:3),x=e.retryDelay??J4,P=typeof x=="function"?x(a,g):x,j=m===!0||typeof m=="number"&&a<m||typeof m=="function"&&m(a,g);if(t||!j){h(g);return}a++,(C=e.onFail)==null||C.call(e,a,g),$4(P).then(()=>d()?void 0:f()).then(()=>{t?h(g):y()})})};return{promise:n,status:()=>n.status,cancel:o,continue:()=>(s==null||s(),n),cancelRetry:l,continueRetry:c,canStart:u,start:()=>(u()?y():f().then(y),n)}}var ks,cx,J0=(cx=class{constructor(){Y(this,ks)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),_4(this.gcTime)&&B(this,ks,nu.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Y0.isServer()?1/0:5*60*1e3))}clearGcTimeout(){A(this,ks)!==void 0&&(nu.clearTimeout(A(this,ks)),B(this,ks,void 0))}},ks=new WeakMap,cx),Ss,Nn,ht,As,Ne,li,Ts,at,ew,ia,dx,e3=(dx=class extends J0{constructor(t){super();Y(this,at);Y(this,Ss);Y(this,Nn);Y(this,ht);Y(this,As);Y(this,Ne);Y(this,li);Y(this,Ts);B(this,Ts,!1),B(this,li,t.defaultOptions),this.setOptions(t.options),this.observers=[],B(this,As,t.client),B(this,ht,A(this,As).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,B(this,Ss,Pm(this.options)),this.state=t.state??A(this,Ss),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var t;return(t=A(this,Ne))==null?void 0:t.promise}setOptions(t){if(this.options={...A(this,li),...t},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const a=Pm(this.options);a.data!==void 0&&(this.setState(bm(a.data,a.dataUpdatedAt)),B(this,Ss,a))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&A(this,ht).remove(this)}setData(t,a){const s=W4(this.state.data,t,this.options);return Ae(this,at,ia).call(this,{data:s,type:"success",dataUpdatedAt:a==null?void 0:a.updatedAt,manual:a==null?void 0:a.manual}),s}setState(t,a){Ae(this,at,ia).call(this,{type:"setState",state:t,setStateOptions:a})}cancel(t){var s,n;const a=(s=A(this,Ne))==null?void 0:s.promise;return(n=A(this,Ne))==null||n.cancel(t),a?a.then(At).catch(At):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return A(this,Ss)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(t=>q4(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Jp||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>ru(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!I4(this.state.dataUpdatedAt,t)}onFocus(){var a;const t=this.observers.find(s=>s.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(a=A(this,Ne))==null||a.continue()}onOnline(){var a;const t=this.observers.find(s=>s.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(a=A(this,Ne))==null||a.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),A(this,ht).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(a=>a!==t),this.observers.length||(A(this,Ne)&&(A(this,Ts)||Ae(this,at,ew).call(this)?A(this,Ne).cancel({revert:!0}):A(this,Ne).cancelRetry()),this.scheduleGc()),A(this,ht).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||Ae(this,at,ia).call(this,{type:"invalidate"})}async fetch(t,a){var c,d,u,p,h,f,y,v,b,g,m,x;if(this.state.fetchStatus!=="idle"&&((c=A(this,Ne))==null?void 0:c.status())!=="rejected"){if(this.state.data!==void 0&&(a!=null&&a.cancelRefetch))this.cancel({silent:!0});else if(A(this,Ne))return A(this,Ne).continueRetry(),A(this,Ne).promise}if(t&&this.setOptions(t),!this.options.queryFn){const P=this.observers.find(j=>j.options.queryFn);P&&this.setOptions(P.options)}const s=new AbortController,n=P=>{Object.defineProperty(P,"signal",{enumerable:!0,get:()=>(B(this,Ts,!0),s.signal)})},r=()=>{const P=K0(this.options,a),C=(()=>{const N={client:A(this,As),queryKey:this.queryKey,meta:this.meta};return n(N),N})();return B(this,Ts,!1),this.options.persister?this.options.persister(P,C,this):P(C)},l=(()=>{const P={fetchOptions:a,options:this.options,queryKey:this.queryKey,client:A(this,As),state:this.state,fetchFn:r};return n(P),P})();(d=this.options.behavior)==null||d.onFetch(l,this),B(this,Nn,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((u=l.fetchOptions)==null?void 0:u.meta))&&Ae(this,at,ia).call(this,{type:"fetch",meta:(p=l.fetchOptions)==null?void 0:p.meta}),B(this,Ne,Z0({initialPromise:a==null?void 0:a.initialPromise,fn:l.fetchFn,onCancel:P=>{P instanceof ou&&P.revert&&this.setState({...A(this,Nn),fetchStatus:"idle"}),s.abort()},onFail:(P,j)=>{Ae(this,at,ia).call(this,{type:"failed",failureCount:P,error:j})},onPause:()=>{Ae(this,at,ia).call(this,{type:"pause"})},onContinue:()=>{Ae(this,at,ia).call(this,{type:"continue"})},retry:l.options.retry,retryDelay:l.options.retryDelay,networkMode:l.options.networkMode,canRun:()=>!0}));try{const P=await A(this,Ne).start();if(P===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(P),(f=(h=A(this,ht).config).onSuccess)==null||f.call(h,P,this),(v=(y=A(this,ht).config).onSettled)==null||v.call(y,P,this.state.error,this),P}catch(P){if(P instanceof ou){if(P.silent)return A(this,Ne).promise;if(P.revert){if(this.state.data===void 0)throw P;return this.state.data}}throw Ae(this,at,ia).call(this,{type:"error",error:P}),(g=(b=A(this,ht).config).onError)==null||g.call(b,P,this),(x=(m=A(this,ht).config).onSettled)==null||x.call(m,this.state.data,P,this),P}finally{this.scheduleGc()}}},Ss=new WeakMap,Nn=new WeakMap,ht=new WeakMap,As=new WeakMap,Ne=new WeakMap,li=new WeakMap,Ts=new WeakMap,at=new WeakSet,ew=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},ia=function(t){const a=s=>{switch(t.type){case"failed":return{...s,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...s,fetchStatus:"paused"};case"continue":return{...s,fetchStatus:"fetching"};case"fetch":return{...s,...t3(s.data,this.options),fetchMeta:t.meta??null};case"success":const n={...s,...bm(t.data,t.dataUpdatedAt),dataUpdateCount:s.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return B(this,Nn,t.manual?n:void 0),n;case"error":const r=t.error;return{...s,error:r,errorUpdateCount:s.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:s.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...s,isInvalidated:!0};case"setState":return{...s,...t.state}}};this.state=a(this.state),Be.batch(()=>{this.observers.forEach(s=>{s.onQueryUpdate()}),A(this,ht).notify({query:this,type:"updated",action:t})})},dx);function t3(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:X0(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function bm(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Pm(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,a=t!==void 0,s=a?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:a?s??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:a?"success":"pending",fetchStatus:"idle"}}function jm(e){return{onFetch:(t,a)=>{var u,p,h,f,y;const s=t.options,n=(h=(p=(u=t.fetchOptions)==null?void 0:u.meta)==null?void 0:p.fetchMore)==null?void 0:h.direction,r=((f=t.state.data)==null?void 0:f.pages)||[],o=((y=t.state.data)==null?void 0:y.pageParams)||[];let l={pages:[],pageParams:[]},c=0;const d=async()=>{let v=!1;const b=x=>{G4(x,()=>t.signal,()=>v=!0)},g=K0(t.options,t.fetchOptions),m=async(x,P,j)=>{if(v)return Promise.reject();if(P==null&&x.pages.length)return Promise.resolve(x);const N=(()=>{const H={client:t.client,queryKey:t.queryKey,pageParam:P,direction:j?"backward":"forward",meta:t.options.meta};return b(H),H})(),k=await g(N),{maxPages:R}=t.options,T=j?Q4:U4;return{pages:T(x.pages,k,R),pageParams:T(x.pageParams,P,R)}};if(n&&r.length){const x=n==="backward",P=x?a3:Cm,j={pages:r,pageParams:o},C=P(s,j);l=await m(j,C,x)}else{const x=e??r.length;do{const P=c===0?o[0]??s.initialPageParam:Cm(s,l);if(c>0&&P==null)break;l=await m(l,P),c++}while(c<x)}return l};t.options.persister?t.fetchFn=()=>{var v,b;return(b=(v=t.options).persister)==null?void 0:b.call(v,d,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},a)}:t.fetchFn=d}}}function Cm(e,{pages:t,pageParams:a}){const s=t.length-1;return t.length>0?e.getNextPageParam(t[s],t,a[s],a):void 0}function a3(e,{pages:t,pageParams:a}){var s;return t.length>0?(s=e.getPreviousPageParam)==null?void 0:s.call(e,t[0],t,a[0],a):void 0}var ci,$t,He,Es,Wt,ka,ux,s3=(ux=class extends J0{constructor(t){super();Y(this,Wt);Y(this,ci);Y(this,$t);Y(this,He);Y(this,Es);B(this,ci,t.client),this.mutationId=t.mutationId,B(this,He,t.mutationCache),B(this,$t,[]),this.state=t.state||n3(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){A(this,$t).includes(t)||(A(this,$t).push(t),this.clearGcTimeout(),A(this,He).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){B(this,$t,A(this,$t).filter(a=>a!==t)),this.scheduleGc(),A(this,He).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){A(this,$t).length||(this.state.status==="pending"?this.scheduleGc():A(this,He).remove(this))}continue(){var t;return((t=A(this,Es))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var o,l,c,d,u,p,h,f,y,v,b,g,m,x,P,j,C,N;const a=()=>{Ae(this,Wt,ka).call(this,{type:"continue"})},s={client:A(this,ci),meta:this.options.meta,mutationKey:this.options.mutationKey};B(this,Es,Z0({fn:()=>this.options.mutationFn?this.options.mutationFn(t,s):Promise.reject(new Error("No mutationFn found")),onFail:(k,R)=>{Ae(this,Wt,ka).call(this,{type:"failed",failureCount:k,error:R})},onPause:()=>{Ae(this,Wt,ka).call(this,{type:"pause"})},onContinue:a,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>A(this,He).canRun(this)}));const n=this.state.status==="pending",r=!A(this,Es).canStart();try{if(n)a();else{Ae(this,Wt,ka).call(this,{type:"pending",variables:t,isPaused:r}),A(this,He).config.onMutate&&await A(this,He).config.onMutate(t,this,s);const R=await((l=(o=this.options).onMutate)==null?void 0:l.call(o,t,s));R!==this.state.context&&Ae(this,Wt,ka).call(this,{type:"pending",context:R,variables:t,isPaused:r})}const k=await A(this,Es).start();return await((d=(c=A(this,He).config).onSuccess)==null?void 0:d.call(c,k,t,this.state.context,this,s)),await((p=(u=this.options).onSuccess)==null?void 0:p.call(u,k,t,this.state.context,s)),await((f=(h=A(this,He).config).onSettled)==null?void 0:f.call(h,k,null,this.state.variables,this.state.context,this,s)),await((v=(y=this.options).onSettled)==null?void 0:v.call(y,k,null,t,this.state.context,s)),Ae(this,Wt,ka).call(this,{type:"success",data:k}),k}catch(k){try{await((g=(b=A(this,He).config).onError)==null?void 0:g.call(b,k,t,this.state.context,this,s))}catch(R){Promise.reject(R)}try{await((x=(m=this.options).onError)==null?void 0:x.call(m,k,t,this.state.context,s))}catch(R){Promise.reject(R)}try{await((j=(P=A(this,He).config).onSettled)==null?void 0:j.call(P,void 0,k,this.state.variables,this.state.context,this,s))}catch(R){Promise.reject(R)}try{await((N=(C=this.options).onSettled)==null?void 0:N.call(C,void 0,k,t,this.state.context,s))}catch(R){Promise.reject(R)}throw Ae(this,Wt,ka).call(this,{type:"error",error:k}),k}finally{A(this,He).runNext(this)}}},ci=new WeakMap,$t=new WeakMap,He=new WeakMap,Es=new WeakMap,Wt=new WeakSet,ka=function(t){const a=s=>{switch(t.type){case"failed":return{...s,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...s,isPaused:!0};case"continue":return{...s,isPaused:!1};case"pending":return{...s,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...s,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...s,data:void 0,error:t.error,failureCount:s.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=a(this.state),Be.batch(()=>{A(this,$t).forEach(s=>{s.onMutationUpdate(t)}),A(this,He).notify({mutation:this,type:"updated",action:t})})},ux);function n3(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var ca,Tt,di,px,r3=(px=class extends $l{constructor(t={}){super();Y(this,ca);Y(this,Tt);Y(this,di);this.config=t,B(this,ca,new Set),B(this,Tt,new Map),B(this,di,0)}build(t,a,s){const n=new s3({client:t,mutationCache:this,mutationId:++Si(this,di)._,options:t.defaultMutationOptions(a),state:s});return this.add(n),n}add(t){A(this,ca).add(t);const a=Gi(t);if(typeof a=="string"){const s=A(this,Tt).get(a);s?s.push(t):A(this,Tt).set(a,[t])}this.notify({type:"added",mutation:t})}remove(t){if(A(this,ca).delete(t)){const a=Gi(t);if(typeof a=="string"){const s=A(this,Tt).get(a);if(s)if(s.length>1){const n=s.indexOf(t);n!==-1&&s.splice(n,1)}else s[0]===t&&A(this,Tt).delete(a)}}this.notify({type:"removed",mutation:t})}canRun(t){const a=Gi(t);if(typeof a=="string"){const s=A(this,Tt).get(a),n=s==null?void 0:s.find(r=>r.state.status==="pending");return!n||n===t}else return!0}runNext(t){var s;const a=Gi(t);if(typeof a=="string"){const n=(s=A(this,Tt).get(a))==null?void 0:s.find(r=>r!==t&&r.state.isPaused);return(n==null?void 0:n.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Be.batch(()=>{A(this,ca).forEach(t=>{this.notify({type:"removed",mutation:t})}),A(this,ca).clear(),A(this,Tt).clear()})}getAll(){return Array.from(A(this,ca))}find(t){const a={exact:!0,...t};return this.getAll().find(s=>ym(a,s))}findAll(t={}){return this.getAll().filter(a=>ym(t,a))}notify(t){Be.batch(()=>{this.listeners.forEach(a=>{a(t)})})}resumePausedMutations(){const t=this.getAll().filter(a=>a.state.isPaused);return Be.batch(()=>Promise.all(t.map(a=>a.continue().catch(At))))}},ca=new WeakMap,Tt=new WeakMap,di=new WeakMap,px);function Gi(e){var t;return(t=e.options.scope)==null?void 0:t.id}var Ut,hx,i3=(hx=class extends $l{constructor(t={}){super();Y(this,Ut);this.config=t,B(this,Ut,new Map)}build(t,a,s){const n=a.queryKey,r=a.queryHash??Zp(n,a);let o=this.get(r);return o||(o=new e3({client:t,queryKey:n,queryHash:r,options:t.defaultQueryOptions(a),state:s,defaultOptions:t.getQueryDefaults(n)}),this.add(o)),o}add(t){A(this,Ut).has(t.queryHash)||(A(this,Ut).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const a=A(this,Ut).get(t.queryHash);a&&(t.destroy(),a===t&&A(this,Ut).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Be.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return A(this,Ut).get(t)}getAll(){return[...A(this,Ut).values()]}find(t){const a={exact:!0,...t};return this.getAll().find(s=>xm(a,s))}findAll(t={}){const a=this.getAll();return Object.keys(t).length>0?a.filter(s=>xm(t,s)):a}notify(t){Be.batch(()=>{this.listeners.forEach(a=>{a(t)})})}onFocus(){Be.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Be.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Ut=new WeakMap,hx),ue,Va,Fa,kn,Sn,_a,An,Tn,fx,o3=(fx=class{constructor(e={}){Y(this,ue);Y(this,Va);Y(this,Fa);Y(this,kn);Y(this,Sn);Y(this,_a);Y(this,An);Y(this,Tn);B(this,ue,e.queryCache||new i3),B(this,Va,e.mutationCache||new r3),B(this,Fa,e.defaultOptions||{}),B(this,kn,new Map),B(this,Sn,new Map),B(this,_a,0)}mount(){Si(this,_a)._++,A(this,_a)===1&&(B(this,An,Q0.subscribe(async e=>{e&&(await this.resumePausedMutations(),A(this,ue).onFocus())})),B(this,Tn,nl.subscribe(async e=>{e&&(await this.resumePausedMutations(),A(this,ue).onOnline())})))}unmount(){var e,t;Si(this,_a)._--,A(this,_a)===0&&((e=A(this,An))==null||e.call(this),B(this,An,void 0),(t=A(this,Tn))==null||t.call(this),B(this,Tn,void 0))}isFetching(e){return A(this,ue).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return A(this,Va).findAll({...e,status:"pending"}).length}getQueryData(e){var a;const t=this.defaultQueryOptions({queryKey:e});return(a=A(this,ue).get(t.queryHash))==null?void 0:a.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),a=A(this,ue).build(this,t),s=a.state.data;return s===void 0?this.fetchQuery(e):(e.revalidateIfStale&&a.isStaleByTime(ru(t.staleTime,a))&&this.prefetchQuery(t),Promise.resolve(s))}getQueriesData(e){return A(this,ue).findAll(e).map(({queryKey:t,state:a})=>{const s=a.data;return[t,s]})}setQueryData(e,t,a){const s=this.defaultQueryOptions({queryKey:e}),n=A(this,ue).get(s.queryHash),r=n==null?void 0:n.state.data,o=F4(t,r);if(o!==void 0)return A(this,ue).build(this,s).setData(o,{...a,manual:!0})}setQueriesData(e,t,a){return Be.batch(()=>A(this,ue).findAll(e).map(({queryKey:s})=>[s,this.setQueryData(s,t,a)]))}getQueryState(e){var a;const t=this.defaultQueryOptions({queryKey:e});return(a=A(this,ue).get(t.queryHash))==null?void 0:a.state}removeQueries(e){const t=A(this,ue);Be.batch(()=>{t.findAll(e).forEach(a=>{t.remove(a)})})}resetQueries(e,t){const a=A(this,ue);return Be.batch(()=>(a.findAll(e).forEach(s=>{s.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const a={revert:!0,...t},s=Be.batch(()=>A(this,ue).findAll(e).map(n=>n.cancel(a)));return Promise.all(s).then(At).catch(At)}invalidateQueries(e,t={}){return Be.batch(()=>(A(this,ue).findAll(e).forEach(a=>{a.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const a={...t,cancelRefetch:t.cancelRefetch??!0},s=Be.batch(()=>A(this,ue).findAll(e).filter(n=>!n.isDisabled()&&!n.isStatic()).map(n=>{let r=n.fetch(void 0,a);return a.throwOnError||(r=r.catch(At)),n.state.fetchStatus==="paused"?Promise.resolve():r}));return Promise.all(s).then(At)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const a=A(this,ue).build(this,t);return a.isStaleByTime(ru(t.staleTime,a))?a.fetch(t):Promise.resolve(a.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(At).catch(At)}fetchInfiniteQuery(e){return e.behavior=jm(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(At).catch(At)}ensureInfiniteQueryData(e){return e.behavior=jm(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return nl.isOnline()?A(this,Va).resumePausedMutations():Promise.resolve()}getQueryCache(){return A(this,ue)}getMutationCache(){return A(this,Va)}getDefaultOptions(){return A(this,Fa)}setDefaultOptions(e){B(this,Fa,e)}setQueryDefaults(e,t){A(this,kn).set(Jr(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...A(this,kn).values()],a={};return t.forEach(s=>{ei(e,s.queryKey)&&Object.assign(a,s.defaultOptions)}),a}setMutationDefaults(e,t){A(this,Sn).set(Jr(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...A(this,Sn).values()],a={};return t.forEach(s=>{ei(e,s.mutationKey)&&Object.assign(a,s.defaultOptions)}),a}defaultQueryOptions(e){if(e._defaulted)return e;const t={...A(this,Fa).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=Zp(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===Jp&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...A(this,Fa).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){A(this,ue).clear(),A(this,Va).clear()}},ue=new WeakMap,Va=new WeakMap,Fa=new WeakMap,kn=new WeakMap,Sn=new WeakMap,_a=new WeakMap,An=new WeakMap,Tn=new WeakMap,fx),l3=w.createContext(void 0),c3=({client:e,children:t})=>(w.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),i.jsx(l3.Provider,{value:e,children:t}));/**
 * @remix-run/router v1.23.2
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */function ti(){return ti=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var s in a)Object.prototype.hasOwnProperty.call(a,s)&&(e[s]=a[s])}return e},ti.apply(this,arguments)}var Ba;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(Ba||(Ba={}));const Nm="popstate";function d3(e){e===void 0&&(e={});function t(s,n){let{pathname:r,search:o,hash:l}=s.location;return lu("",{pathname:r,search:o,hash:l},n.state&&n.state.usr||null,n.state&&n.state.key||"default")}function a(s,n){return typeof n=="string"?n:rl(n)}return p3(t,a,null,e)}function ve(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function eh(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function u3(){return Math.random().toString(36).substr(2,8)}function km(e,t){return{usr:e.state,key:e.key,idx:t}}function lu(e,t,a,s){return a===void 0&&(a=null),ti({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Kn(t):t,{state:a,key:t&&t.key||s||u3()})}function rl(e){let{pathname:t="/",search:a="",hash:s=""}=e;return a&&a!=="?"&&(t+=a.charAt(0)==="?"?a:"?"+a),s&&s!=="#"&&(t+=s.charAt(0)==="#"?s:"#"+s),t}function Kn(e){let t={};if(e){let a=e.indexOf("#");a>=0&&(t.hash=e.substr(a),e=e.substr(0,a));let s=e.indexOf("?");s>=0&&(t.search=e.substr(s),e=e.substr(0,s)),e&&(t.pathname=e)}return t}function p3(e,t,a,s){s===void 0&&(s={});let{window:n=document.defaultView,v5Compat:r=!1}=s,o=n.history,l=Ba.Pop,c=null,d=u();d==null&&(d=0,o.replaceState(ti({},o.state,{idx:d}),""));function u(){return(o.state||{idx:null}).idx}function p(){l=Ba.Pop;let b=u(),g=b==null?null:b-d;d=b,c&&c({action:l,location:v.location,delta:g})}function h(b,g){l=Ba.Push;let m=lu(v.location,b,g);d=u()+1;let x=km(m,d),P=v.createHref(m);try{o.pushState(x,"",P)}catch(j){if(j instanceof DOMException&&j.name==="DataCloneError")throw j;n.location.assign(P)}r&&c&&c({action:l,location:v.location,delta:1})}function f(b,g){l=Ba.Replace;let m=lu(v.location,b,g);d=u();let x=km(m,d),P=v.createHref(m);o.replaceState(x,"",P),r&&c&&c({action:l,location:v.location,delta:0})}function y(b){let g=n.location.origin!=="null"?n.location.origin:n.location.href,m=typeof b=="string"?b:rl(b);return m=m.replace(/ $/,"%20"),ve(g,"No window.location.(origin|href) available to create URL for href: "+m),new URL(m,g)}let v={get action(){return l},get location(){return e(n,o)},listen(b){if(c)throw new Error("A history only accepts one active listener");return n.addEventListener(Nm,p),c=b,()=>{n.removeEventListener(Nm,p),c=null}},createHref(b){return t(n,b)},createURL:y,encodeLocation(b){let g=y(b);return{pathname:g.pathname,search:g.search,hash:g.hash}},push:h,replace:f,go(b){return o.go(b)}};return v}var Sm;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Sm||(Sm={}));function h3(e,t,a){return a===void 0&&(a="/"),f3(e,t,a)}function f3(e,t,a,s){let n=typeof t=="string"?Kn(t):t,r=th(n.pathname||"/",a);if(r==null)return null;let o=tw(e);m3(o);let l=null;for(let c=0;l==null&&c<o.length;++c){let d=S3(r);l=C3(o[c],d)}return l}function tw(e,t,a,s){t===void 0&&(t=[]),a===void 0&&(a=[]),s===void 0&&(s="");let n=(r,o,l)=>{let c={relativePath:l===void 0?r.path||"":l,caseSensitive:r.caseSensitive===!0,childrenIndex:o,route:r};c.relativePath.startsWith("/")&&(ve(c.relativePath.startsWith(s),'Absolute route path "'+c.relativePath+'" nested under path '+('"'+s+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),c.relativePath=c.relativePath.slice(s.length));let d=Ja([s,c.relativePath]),u=a.concat(c);r.children&&r.children.length>0&&(ve(r.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+d+'".')),tw(r.children,t,u,d)),!(r.path==null&&!r.index)&&t.push({path:d,score:P3(d,r.index),routesMeta:u})};return e.forEach((r,o)=>{var l;if(r.path===""||!((l=r.path)!=null&&l.includes("?")))n(r,o);else for(let c of aw(r.path))n(r,o,c)}),t}function aw(e){let t=e.split("/");if(t.length===0)return[];let[a,...s]=t,n=a.endsWith("?"),r=a.replace(/\?$/,"");if(s.length===0)return n?[r,""]:[r];let o=aw(s.join("/")),l=[];return l.push(...o.map(c=>c===""?r:[r,c].join("/"))),n&&l.push(...o),l.map(c=>e.startsWith("/")&&c===""?"/":c)}function m3(e){e.sort((t,a)=>t.score!==a.score?a.score-t.score:j3(t.routesMeta.map(s=>s.childrenIndex),a.routesMeta.map(s=>s.childrenIndex)))}const g3=/^:[\w-]+$/,x3=3,y3=2,v3=1,w3=10,b3=-2,Am=e=>e==="*";function P3(e,t){let a=e.split("/"),s=a.length;return a.some(Am)&&(s+=b3),t&&(s+=y3),a.filter(n=>!Am(n)).reduce((n,r)=>n+(g3.test(r)?x3:r===""?v3:w3),s)}function j3(e,t){return e.length===t.length&&e.slice(0,-1).every((s,n)=>s===t[n])?e[e.length-1]-t[t.length-1]:0}function C3(e,t,a){let{routesMeta:s}=e,n={},r="/",o=[];for(let l=0;l<s.length;++l){let c=s[l],d=l===s.length-1,u=r==="/"?t:t.slice(r.length)||"/",p=N3({path:c.relativePath,caseSensitive:c.caseSensitive,end:d},u),h=c.route;if(!p)return null;Object.assign(n,p.params),o.push({params:n,pathname:Ja([r,p.pathname]),pathnameBase:D3(Ja([r,p.pathnameBase])),route:h}),p.pathnameBase!=="/"&&(r=Ja([r,p.pathnameBase]))}return o}function N3(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[a,s]=k3(e.path,e.caseSensitive,e.end),n=t.match(a);if(!n)return null;let r=n[0],o=r.replace(/(.)\/+$/,"$1"),l=n.slice(1);return{params:s.reduce((d,u,p)=>{let{paramName:h,isOptional:f}=u;if(h==="*"){let v=l[p]||"";o=r.slice(0,r.length-v.length).replace(/(.)\/+$/,"$1")}const y=l[p];return f&&!y?d[h]=void 0:d[h]=(y||"").replace(/%2F/g,"/"),d},{}),pathname:r,pathnameBase:o,pattern:e}}function k3(e,t,a){t===void 0&&(t=!1),a===void 0&&(a=!0),eh(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let s=[],n="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,l,c)=>(s.push({paramName:l,isOptional:c!=null}),c?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(s.push({paramName:"*"}),n+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?n+="\\/*$":e!==""&&e!=="/"&&(n+="(?:(?=\\/|$))"),[new RegExp(n,t?void 0:"i"),s]}function S3(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return eh(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function th(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let a=t.endsWith("/")?t.length-1:t.length,s=e.charAt(a);return s&&s!=="/"?null:e.slice(a)||"/"}const A3=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,T3=e=>A3.test(e);function E3(e,t){t===void 0&&(t="/");let{pathname:a,search:s="",hash:n=""}=typeof e=="string"?Kn(e):e,r;if(a)if(T3(a))r=a;else{if(a.includes("//")){let o=a;a=a.replace(/\/\/+/g,"/"),eh(!1,"Pathnames cannot have embedded double slashes - normalizing "+(o+" -> "+a))}a.startsWith("/")?r=Tm(a.substring(1),"/"):r=Tm(a,t)}else r=t;return{pathname:r,search:M3(s),hash:O3(n)}}function Tm(e,t){let a=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(n=>{n===".."?a.length>1&&a.pop():n!=="."&&a.push(n)}),a.length>1?a.join("/"):"/"}function Ec(e,t,a,s){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(s)+"].  Please separate it out to the ")+("`to."+a+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function R3(e){return e.filter((t,a)=>a===0||t.route.path&&t.route.path.length>0)}function sw(e,t){let a=R3(e);return t?a.map((s,n)=>n===a.length-1?s.pathname:s.pathnameBase):a.map(s=>s.pathnameBase)}function nw(e,t,a,s){s===void 0&&(s=!1);let n;typeof e=="string"?n=Kn(e):(n=ti({},e),ve(!n.pathname||!n.pathname.includes("?"),Ec("?","pathname","search",n)),ve(!n.pathname||!n.pathname.includes("#"),Ec("#","pathname","hash",n)),ve(!n.search||!n.search.includes("#"),Ec("#","search","hash",n)));let r=e===""||n.pathname==="",o=r?"/":n.pathname,l;if(o==null)l=a;else{let p=t.length-1;if(!s&&o.startsWith("..")){let h=o.split("/");for(;h[0]==="..";)h.shift(),p-=1;n.pathname=h.join("/")}l=p>=0?t[p]:"/"}let c=E3(n,l),d=o&&o!=="/"&&o.endsWith("/"),u=(r||o===".")&&a.endsWith("/");return!c.pathname.endsWith("/")&&(d||u)&&(c.pathname+="/"),c}const Ja=e=>e.join("/").replace(/\/\/+/g,"/"),D3=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),M3=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,O3=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function L3(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const rw=["post","put","patch","delete"];new Set(rw);const z3=["get",...rw];new Set(z3);/**
 * React Router v6.30.3
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */function ai(){return ai=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var s in a)Object.prototype.hasOwnProperty.call(a,s)&&(e[s]=a[s])}return e},ai.apply(this,arguments)}const ah=w.createContext(null),H3=w.createContext(null),Us=w.createContext(null),Wl=w.createContext(null),us=w.createContext({outlet:null,matches:[],isDataRoute:!1}),iw=w.createContext(null);function V3(e,t){let{relative:a}=t===void 0?{}:t;bi()||ve(!1);let{basename:s,navigator:n}=w.useContext(Us),{hash:r,pathname:o,search:l}=lw(e,{relative:a}),c=o;return s!=="/"&&(c=o==="/"?s:Ja([s,o])),n.createHref({pathname:c,search:l,hash:r})}function bi(){return w.useContext(Wl)!=null}function ps(){return bi()||ve(!1),w.useContext(Wl).location}function ow(e){w.useContext(Us).static||w.useLayoutEffect(e)}function F3(){let{isDataRoute:e}=w.useContext(us);return e?eS():_3()}function _3(){bi()||ve(!1);let e=w.useContext(ah),{basename:t,future:a,navigator:s}=w.useContext(Us),{matches:n}=w.useContext(us),{pathname:r}=ps(),o=JSON.stringify(sw(n,a.v7_relativeSplatPath)),l=w.useRef(!1);return ow(()=>{l.current=!0}),w.useCallback(function(d,u){if(u===void 0&&(u={}),!l.current)return;if(typeof d=="number"){s.go(d);return}let p=nw(d,JSON.parse(o),r,u.relative==="path");e==null&&t!=="/"&&(p.pathname=p.pathname==="/"?t:Ja([t,p.pathname])),(u.replace?s.replace:s.push)(p,u.state,u)},[t,s,o,r,e])}const I3=w.createContext(null);function q3(e){let t=w.useContext(us).outlet;return t&&w.createElement(I3.Provider,{value:e},t)}function lw(e,t){let{relative:a}=t===void 0?{}:t,{future:s}=w.useContext(Us),{matches:n}=w.useContext(us),{pathname:r}=ps(),o=JSON.stringify(sw(n,s.v7_relativeSplatPath));return w.useMemo(()=>nw(e,JSON.parse(o),r,a==="path"),[e,o,r,a])}function B3(e,t){return $3(e,t)}function $3(e,t,a,s){bi()||ve(!1);let{navigator:n}=w.useContext(Us),{matches:r}=w.useContext(us),o=r[r.length-1],l=o?o.params:{};o&&o.pathname;let c=o?o.pathnameBase:"/";o&&o.route;let d=ps(),u;if(t){var p;let b=typeof t=="string"?Kn(t):t;c==="/"||(p=b.pathname)!=null&&p.startsWith(c)||ve(!1),u=b}else u=d;let h=u.pathname||"/",f=h;if(c!=="/"){let b=c.replace(/^\//,"").split("/");f="/"+h.replace(/^\//,"").split("/").slice(b.length).join("/")}let y=h3(e,{pathname:f}),v=K3(y&&y.map(b=>Object.assign({},b,{params:Object.assign({},l,b.params),pathname:Ja([c,n.encodeLocation?n.encodeLocation(b.pathname).pathname:b.pathname]),pathnameBase:b.pathnameBase==="/"?c:Ja([c,n.encodeLocation?n.encodeLocation(b.pathnameBase).pathname:b.pathnameBase])})),r,a,s);return t&&v?w.createElement(Wl.Provider,{value:{location:ai({pathname:"/",search:"",hash:"",state:null,key:"default"},u),navigationType:Ba.Pop}},v):v}function W3(){let e=J3(),t=L3(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),a=e instanceof Error?e.stack:null,n={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return w.createElement(w.Fragment,null,w.createElement("h2",null,"Unexpected Application Error!"),w.createElement("h3",{style:{fontStyle:"italic"}},t),a?w.createElement("pre",{style:n},a):null,null)}const U3=w.createElement(W3,null);class Q3 extends w.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,a){return a.location!==t.location||a.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:a.error,location:a.location,revalidation:t.revalidation||a.revalidation}}componentDidCatch(t,a){console.error("React Router caught the following error during render",t,a)}render(){return this.state.error!==void 0?w.createElement(us.Provider,{value:this.props.routeContext},w.createElement(iw.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function G3(e){let{routeContext:t,match:a,children:s}=e,n=w.useContext(ah);return n&&n.static&&n.staticContext&&(a.route.errorElement||a.route.ErrorBoundary)&&(n.staticContext._deepestRenderedBoundaryId=a.route.id),w.createElement(us.Provider,{value:t},s)}function K3(e,t,a,s){var n;if(t===void 0&&(t=[]),a===void 0&&(a=null),s===void 0&&(s=null),e==null){var r;if(!a)return null;if(a.errors)e=a.matches;else if((r=s)!=null&&r.v7_partialHydration&&t.length===0&&!a.initialized&&a.matches.length>0)e=a.matches;else return null}let o=e,l=(n=a)==null?void 0:n.errors;if(l!=null){let u=o.findIndex(p=>p.route.id&&(l==null?void 0:l[p.route.id])!==void 0);u>=0||ve(!1),o=o.slice(0,Math.min(o.length,u+1))}let c=!1,d=-1;if(a&&s&&s.v7_partialHydration)for(let u=0;u<o.length;u++){let p=o[u];if((p.route.HydrateFallback||p.route.hydrateFallbackElement)&&(d=u),p.route.id){let{loaderData:h,errors:f}=a,y=p.route.loader&&h[p.route.id]===void 0&&(!f||f[p.route.id]===void 0);if(p.route.lazy||y){c=!0,d>=0?o=o.slice(0,d+1):o=[o[0]];break}}}return o.reduceRight((u,p,h)=>{let f,y=!1,v=null,b=null;a&&(f=l&&p.route.id?l[p.route.id]:void 0,v=p.route.errorElement||U3,c&&(d<0&&h===0?(tS("route-fallback"),y=!0,b=null):d===h&&(y=!0,b=p.route.hydrateFallbackElement||null)));let g=t.concat(o.slice(0,h+1)),m=()=>{let x;return f?x=v:y?x=b:p.route.Component?x=w.createElement(p.route.Component,null):p.route.element?x=p.route.element:x=u,w.createElement(G3,{match:p,routeContext:{outlet:u,matches:g,isDataRoute:a!=null},children:x})};return a&&(p.route.ErrorBoundary||p.route.errorElement||h===0)?w.createElement(Q3,{location:a.location,revalidation:a.revalidation,component:v,error:f,children:m(),routeContext:{outlet:null,matches:g,isDataRoute:!0}}):m()},null)}var cw=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(cw||{}),dw=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(dw||{});function Y3(e){let t=w.useContext(ah);return t||ve(!1),t}function X3(e){let t=w.useContext(H3);return t||ve(!1),t}function Z3(e){let t=w.useContext(us);return t||ve(!1),t}function uw(e){let t=Z3(),a=t.matches[t.matches.length-1];return a.route.id||ve(!1),a.route.id}function J3(){var e;let t=w.useContext(iw),a=X3(),s=uw();return t!==void 0?t:(e=a.errors)==null?void 0:e[s]}function eS(){let{router:e}=Y3(cw.UseNavigateStable),t=uw(dw.UseNavigateStable),a=w.useRef(!1);return ow(()=>{a.current=!0}),w.useCallback(function(n,r){r===void 0&&(r={}),a.current&&(typeof n=="number"?e.navigate(n):e.navigate(n,ai({fromRouteId:t},r)))},[e,t])}const Em={};function tS(e,t,a){Em[e]||(Em[e]=!0)}function aS(e,t){e==null||e.v7_startTransition,e==null||e.v7_relativeSplatPath}function sS(e){return q3(e.context)}function fe(e){ve(!1)}function nS(e){let{basename:t="/",children:a=null,location:s,navigationType:n=Ba.Pop,navigator:r,static:o=!1,future:l}=e;bi()&&ve(!1);let c=t.replace(/^\/*/,"/"),d=w.useMemo(()=>({basename:c,navigator:r,static:o,future:ai({v7_relativeSplatPath:!1},l)}),[c,l,r,o]);typeof s=="string"&&(s=Kn(s));let{pathname:u="/",search:p="",hash:h="",state:f=null,key:y="default"}=s,v=w.useMemo(()=>{let b=th(u,c);return b==null?null:{location:{pathname:b,search:p,hash:h,state:f,key:y},navigationType:n}},[c,u,p,h,f,y,n]);return v==null?null:w.createElement(Us.Provider,{value:d},w.createElement(Wl.Provider,{children:a,value:v}))}function rS(e){let{children:t,location:a}=e;return B3(cu(t),a)}new Promise(()=>{});function cu(e,t){t===void 0&&(t=[]);let a=[];return w.Children.forEach(e,(s,n)=>{if(!w.isValidElement(s))return;let r=[...t,n];if(s.type===w.Fragment){a.push.apply(a,cu(s.props.children,r));return}s.type!==fe&&ve(!1),!s.props.index||!s.props.children||ve(!1);let o={id:s.props.id||r.join("-"),caseSensitive:s.props.caseSensitive,element:s.props.element,Component:s.props.Component,index:s.props.index,path:s.props.path,loader:s.props.loader,action:s.props.action,errorElement:s.props.errorElement,ErrorBoundary:s.props.ErrorBoundary,hasErrorBoundary:s.props.ErrorBoundary!=null||s.props.errorElement!=null,shouldRevalidate:s.props.shouldRevalidate,handle:s.props.handle,lazy:s.props.lazy};s.props.children&&(o.children=cu(s.props.children,r)),a.push(o)}),a}/**
 * React Router DOM v6.30.3
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */function du(){return du=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var s in a)Object.prototype.hasOwnProperty.call(a,s)&&(e[s]=a[s])}return e},du.apply(this,arguments)}function iS(e,t){if(e==null)return{};var a={},s=Object.keys(e),n,r;for(r=0;r<s.length;r++)n=s[r],!(t.indexOf(n)>=0)&&(a[n]=e[n]);return a}function oS(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function lS(e,t){return e.button===0&&(!t||t==="_self")&&!oS(e)}const cS=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],dS="6";try{window.__reactRouterVersion=dS}catch{}const uS="startTransition",Rm=$u[uS];function pS(e){let{basename:t,children:a,future:s,window:n}=e,r=w.useRef();r.current==null&&(r.current=d3({window:n,v5Compat:!0}));let o=r.current,[l,c]=w.useState({action:o.action,location:o.location}),{v7_startTransition:d}=s||{},u=w.useCallback(p=>{d&&Rm?Rm(()=>c(p)):c(p)},[c,d]);return w.useLayoutEffect(()=>o.listen(u),[o,u]),w.useEffect(()=>aS(s),[s]),w.createElement(nS,{basename:t,children:a,location:l.location,navigationType:l.action,navigator:o,future:s})}const hS=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",fS=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,_=w.forwardRef(function(t,a){let{onClick:s,relative:n,reloadDocument:r,replace:o,state:l,target:c,to:d,preventScrollReset:u,viewTransition:p}=t,h=iS(t,cS),{basename:f}=w.useContext(Us),y,v=!1;if(typeof d=="string"&&fS.test(d)&&(y=d,hS))try{let x=new URL(window.location.href),P=d.startsWith("//")?new URL(x.protocol+d):new URL(d),j=th(P.pathname,f);P.origin===x.origin&&j!=null?d=j+P.search+P.hash:v=!0}catch{}let b=V3(d,{relative:n}),g=mS(d,{replace:o,state:l,target:c,preventScrollReset:u,relative:n,viewTransition:p});function m(x){s&&s(x),x.defaultPrevented||g(x)}return w.createElement("a",du({},h,{href:y||b,onClick:v||r?s:m,ref:a,target:c}))});var Dm;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Dm||(Dm={}));var Mm;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Mm||(Mm={}));function mS(e,t){let{target:a,replace:s,state:n,preventScrollReset:r,relative:o,viewTransition:l}=t===void 0?{}:t,c=F3(),d=ps(),u=lw(e,{relative:o});return w.useCallback(p=>{if(lS(p,a)){p.preventDefault();let h=s!==void 0?s:rl(d)===rl(u);c(e,{replace:h,state:n,preventScrollReset:r,relative:o,viewTransition:l})}},[d,c,u,s,n,a,e,r,o,l])}var gS=Symbol.for("react.lazy"),il=$u[" use ".trim().toString()];function xS(e){return typeof e=="object"&&e!==null&&"then"in e}function pw(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===gS&&"_payload"in e&&xS(e._payload)}function hw(e){const t=vS(e),a=w.forwardRef((s,n)=>{let{children:r,...o}=s;pw(r)&&typeof il=="function"&&(r=il(r._payload));const l=w.Children.toArray(r),c=l.find(bS);if(c){const d=c.props.children,u=l.map(p=>p===c?w.Children.count(d)>1?w.Children.only(null):w.isValidElement(d)?d.props.children:null:p);return i.jsx(t,{...o,ref:n,children:w.isValidElement(d)?w.cloneElement(d,void 0,u):null})}return i.jsx(t,{...o,ref:n,children:r})});return a.displayName=`${e}.Slot`,a}var yS=hw("Slot");function vS(e){const t=w.forwardRef((a,s)=>{let{children:n,...r}=a;if(pw(n)&&typeof il=="function"&&(n=il(n._payload)),w.isValidElement(n)){const o=jS(n),l=PS(r,n.props);return n.type!==w.Fragment&&(l.ref=s?Lp(s,o):o),w.cloneElement(n,l)}return w.Children.count(n)>1?w.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var wS=Symbol("radix.slottable");function bS(e){return w.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===wS}function PS(e,t){const a={...t};for(const s in t){const n=e[s],r=t[s];/^on[A-Z]/.test(s)?n&&r?a[s]=(...l)=>{const c=r(...l);return n(...l),c}:n&&(a[s]=n):s==="style"?a[s]={...n,...r}:s==="className"&&(a[s]=[n,r].filter(Boolean).join(" "))}return{...e,...a}}function jS(e){var s,n;let t=(s=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:s.get,a=t&&"isReactWarning"in t&&t.isReactWarning;return a?e.ref:(t=(n=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:n.get,a=t&&"isReactWarning"in t&&t.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}const CS=zl("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),q=w.forwardRef(({className:e,variant:t,size:a,asChild:s=!1,...n},r)=>{const o=s?yS:"button";return i.jsx(o,{className:ge(CS({variant:t,size:a,className:e})),ref:r,...n})});q.displayName="Button";const Ve=w.forwardRef(({className:e,...t},a)=>i.jsx("div",{ref:a,className:ge("rounded-xl border bg-card text-card-foreground shadow",e),...t}));Ve.displayName="Card";const fw=w.forwardRef(({className:e,...t},a)=>i.jsx("div",{ref:a,className:ge("flex flex-col space-y-1.5 p-6",e),...t}));fw.displayName="CardHeader";const mw=w.forwardRef(({className:e,...t},a)=>i.jsx("div",{ref:a,className:ge("font-semibold leading-none tracking-tight",e),...t}));mw.displayName="CardTitle";const gw=w.forwardRef(({className:e,...t},a)=>i.jsx("div",{ref:a,className:ge("text-sm text-muted-foreground",e),...t}));gw.displayName="CardDescription";const qe=w.forwardRef(({className:e,...t},a)=>i.jsx("div",{ref:a,className:ge("p-6 pt-0",e),...t}));qe.displayName="CardContent";const xw=w.forwardRef(({className:e,...t},a)=>i.jsx("div",{ref:a,className:ge("flex items-center p-6 pt-0",e),...t}));xw.displayName="CardFooter";const Om=[{href:"/service-areas/alliston-on",label:"Alliston"},{href:"/service-areas/angus-on",label:"Angus"},{href:"/service-areas/barrie-on",label:"Barrie"},{href:"/service-areas/bradford-on",label:"Bradford"},{href:"/service-areas/collingwood-on",label:"Collingwood"},{href:"/service-areas/innisfil-on",label:"Innisfil"},{href:"/service-areas/newmarket-on",label:"Newmarket"},{href:"/service-areas/new-tecumseth-on",label:"New Tecumseth"},{href:"/service-areas/orillia-on",label:"Orillia"}],Lm=[{href:"/",label:"Home"},{href:"/residential",label:"Residential"},{href:"/commercial",label:"Commercial"},{href:"/dryer-vent",label:"Dryer Vent"},{href:"/service-areas",label:"Service Areas",hasDropdown:!0},{href:"/faq",label:"FAQ"},{href:"/reviews",label:"Reviews"},{href:"/contact",label:"Contact"}];function yw(){const[e,t]=w.useState(!1),[a,s]=w.useState(!1),n=ps(),r=n.pathname.startsWith("/service-areas");return i.jsxs("header",{className:"fixed top-0 left-0 right-0 z-50 bg-white shadow-md","data-id":"4x6t5ws9d","data-path":"src/components/Header.tsx",children:[i.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"ywjbkzoaw","data-path":"src/components/Header.tsx",children:i.jsxs("div",{className:"flex items-center justify-between h-20","data-id":"1nllokbeg","data-path":"src/components/Header.tsx",children:[i.jsx(_,{to:"/",className:"flex items-center","data-id":"h9k625165","data-path":"src/components/Header.tsx",children:i.jsxs("picture",{"data-id":"es82dw3ne","data-path":"src/components/Header.tsx",children:[i.jsx("source",{type:"image/webp",srcSet:"https://newoaks.s3.us-west-1.amazonaws.com/AutoDev/66721/ad10bdde-7773-4f3a-9563-e219949a8f91.png","data-id":"qmiumygj1","data-path":"src/components/Header.tsx"}),i.jsx("img",{src:"https://newoaks.s3.us-west-1.amazonaws.com/AutoDev/66721/ad10bdde-7773-4f3a-9563-e219949a8f91.png",alt:"Quality Air Duct Cleaning — professional HVAC duct cleaning company logo serving Simcoe County Ontario",className:"h-14 md:h-16 w-auto object-contain",decoding:"async",fetchPriority:"high","data-id":"xp1oe3cag","data-path":"src/components/Header.tsx"})]})}),i.jsx("nav",{className:"hidden lg:flex items-center gap-8","data-id":"6uzap0nat","data-path":"src/components/Header.tsx",children:Lm.map(o=>o.hasDropdown?i.jsxs("div",{className:"relative group","data-id":"qbvi0ihda","data-path":"src/components/Header.tsx",children:[i.jsxs(_,{to:o.href,className:`flex items-center gap-1 text-sm font-medium transition-colors hover:text-lime-dark ${r?"text-lime-dark":"text-navy"}`,"data-id":"228v8cvcl","data-path":"src/components/Header.tsx",children:[o.label,i.jsx(Yd,{className:"w-4 h-4 transition-transform group-hover:rotate-180","data-id":"d5daio21h","data-path":"src/components/Header.tsx"})]}),i.jsx("div",{className:"absolute left-1/2 -translate-x-1/2 top-full pt-2 opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-200 z-50","data-id":"evf8hm6og","data-path":"src/components/Header.tsx",children:i.jsx("div",{className:"bg-white rounded-lg shadow-xl border border-gray-100 py-2 min-w-[200px]","data-id":"fuplvmz2q","data-path":"src/components/Header.tsx",children:Om.map(l=>i.jsx(_,{to:l.href,className:`block px-4 py-2 text-sm transition-colors hover:bg-lime/10 hover:text-lime-dark ${n.pathname===l.href?"text-lime-dark bg-lime/10":"text-navy"}`,"data-id":"f06wi5ajk","data-path":"src/components/Header.tsx",children:l.label},l.href))})})]},o.href):i.jsx(_,{to:o.href,className:`text-sm font-medium transition-colors hover:text-lime-dark ${n.pathname===o.href?"text-lime-dark":"text-navy"}`,"data-id":"v0r5cgw3a","data-path":"src/components/Header.tsx",children:o.label},o.href))}),i.jsxs("div",{className:"hidden md:flex items-center gap-4","data-id":"n8s5rhi3d","data-path":"src/components/Header.tsx",children:[i.jsxs("a",{href:"tel:9057293602",className:"flex items-center gap-2 text-navy font-semibold hover:text-lime-dark transition-colors","data-id":"5ujx8g3iq","data-path":"src/components/Header.tsx",children:[i.jsx(Ce,{className:"w-5 h-5","data-id":"klmc2kr5m","data-path":"src/components/Header.tsx"}),i.jsx("span",{"data-id":"66b9h1p0p","data-path":"src/components/Header.tsx",children:"(905) 729-3602"})]}),i.jsx(_,{to:"/contact","data-id":"tr7mi4mvq","data-path":"src/components/Header.tsx",children:i.jsx(q,{className:"bg-lime hover:bg-lime-dark text-navy font-semibold px-6 py-2 rounded-full shadow-lg hover:shadow-xl transition-all","data-id":"bra6giji4","data-path":"src/components/Header.tsx",children:"Book Now"})})]}),i.jsxs("a",{href:"tel:9057293602",className:"lg:hidden flex items-center gap-2 bg-white border border-gray-200 shadow-sm rounded px-3 py-2 text-navy font-semibold text-sm hover:border-lime-dark transition-colors","aria-label":"Call us","data-id":"f15k7cuya","data-path":"src/components/Header.tsx",children:[i.jsx(Ce,{className:"w-4 h-4","data-id":"f9skikrer","data-path":"src/components/Header.tsx"}),i.jsx("span",{"data-id":"o8i1w5fpg","data-path":"src/components/Header.tsx",children:"(905) 729-3602"})]}),i.jsx("button",{className:"lg:hidden p-2 text-navy",onClick:()=>t(!e),"aria-label":"Toggle menu","data-id":"awkic9idm","data-path":"src/components/Header.tsx",children:e?i.jsx(r0,{className:"w-6 h-6","data-id":"7jdg1g2pa","data-path":"src/components/Header.tsx"}):i.jsx(_C,{className:"w-6 h-6","data-id":"l2xkc77fw","data-path":"src/components/Header.tsx"})})]})}),e&&i.jsx("div",{className:"lg:hidden bg-white border-t shadow-lg","data-id":"i52dfiqtl","data-path":"src/components/Header.tsx",children:i.jsxs("nav",{className:"flex flex-col px-4 py-4 gap-4","data-id":"f3v79ri3m","data-path":"src/components/Header.tsx",children:[Lm.map(o=>o.hasDropdown?i.jsxs("div",{className:"flex flex-col","data-id":"x6khr9aw0","data-path":"src/components/Header.tsx",children:[i.jsxs("div",{className:"flex items-center justify-between","data-id":"wgf9ljrtj","data-path":"src/components/Header.tsx",children:[i.jsx(_,{to:o.href,onClick:()=>t(!1),className:`text-base font-medium py-2 ${r?"text-lime-dark":"text-navy"}`,"data-id":"7ovsdh1xf","data-path":"src/components/Header.tsx",children:o.label}),i.jsx("button",{onClick:()=>s(!a),className:"p-2 text-navy","aria-label":"Toggle service areas","data-id":"y4aggcrya","data-path":"src/components/Header.tsx",children:i.jsx(Yd,{className:`w-5 h-5 transition-transform ${a?"rotate-180":""}`,"data-id":"934mvkjm7","data-path":"src/components/Header.tsx"})})]}),a&&i.jsx("div",{className:"flex flex-col pl-4 border-l-2 border-lime/30 ml-2 mt-1 mb-2","data-id":"gj8ofq24r","data-path":"src/components/Header.tsx",children:Om.map(l=>i.jsx(_,{to:l.href,onClick:()=>{t(!1),s(!1)},className:`text-sm py-2 ${n.pathname===l.href?"text-lime-dark font-medium":"text-navy"}`,"data-id":"w7i61k8x8","data-path":"src/components/Header.tsx",children:l.label},l.href))})]},o.href):i.jsx(_,{to:o.href,onClick:()=>t(!1),className:`text-base font-medium py-2 ${n.pathname===o.href?"text-lime-dark":"text-navy"}`,"data-id":"vy58agcps","data-path":"src/components/Header.tsx",children:o.label},o.href)),i.jsx("hr",{className:"my-2","data-id":"7o8k80lub","data-path":"src/components/Header.tsx"}),i.jsxs("a",{href:"tel:9057293602",className:"flex items-center gap-2 text-navy font-semibold py-2","data-id":"ljsg95ykh","data-path":"src/components/Header.tsx",children:[i.jsx(Ce,{className:"w-5 h-5","data-id":"22e2v5mw2","data-path":"src/components/Header.tsx"}),i.jsx("span",{"data-id":"w2wzgpocm","data-path":"src/components/Header.tsx",children:"(905) 729-3602"})]}),i.jsx(_,{to:"/contact",onClick:()=>t(!1),"data-id":"crc9d9xnq","data-path":"src/components/Header.tsx",children:i.jsx(q,{className:"w-full bg-lime hover:bg-lime-dark text-navy font-semibold py-3 rounded-full","data-id":"twq5kbukv","data-path":"src/components/Header.tsx",children:"Book Now"})})]})})]})}var NS=typeof Element<"u",kS=typeof Map=="function",SS=typeof Set=="function",AS=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function yo(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var a,s,n;if(Array.isArray(e)){if(a=e.length,a!=t.length)return!1;for(s=a;s--!==0;)if(!yo(e[s],t[s]))return!1;return!0}var r;if(kS&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(r=e.entries();!(s=r.next()).done;)if(!t.has(s.value[0]))return!1;for(r=e.entries();!(s=r.next()).done;)if(!yo(s.value[1],t.get(s.value[0])))return!1;return!0}if(SS&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(r=e.entries();!(s=r.next()).done;)if(!t.has(s.value[0]))return!1;return!0}if(AS&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(a=e.length,a!=t.length)return!1;for(s=a;s--!==0;)if(e[s]!==t[s])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(n=Object.keys(e),a=n.length,a!==Object.keys(t).length)return!1;for(s=a;s--!==0;)if(!Object.prototype.hasOwnProperty.call(t,n[s]))return!1;if(NS&&e instanceof Element)return!1;for(s=a;s--!==0;)if(!((n[s]==="_owner"||n[s]==="__v"||n[s]==="__o")&&e.$$typeof)&&!yo(e[n[s]],t[n[s]]))return!1;return!0}return e!==e&&t!==t}var TS=function(t,a){try{return yo(t,a)}catch(s){if((s.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw s}};const ES=ui(TS);var RS=function(e,t,a,s,n,r,o,l){if(!e){var c;if(t===void 0)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var d=[a,s,n,r,o,l],u=0;c=new Error(t.replace(/%s/g,function(){return d[u++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}},DS=RS;const zm=ui(DS);var MS=function(t,a,s,n){var r=s?s.call(n,t,a):void 0;if(r!==void 0)return!!r;if(t===a)return!0;if(typeof t!="object"||!t||typeof a!="object"||!a)return!1;var o=Object.keys(t),l=Object.keys(a);if(o.length!==l.length)return!1;for(var c=Object.prototype.hasOwnProperty.bind(a),d=0;d<o.length;d++){var u=o[d];if(!c(u))return!1;var p=t[u],h=a[u];if(r=s?s.call(n,p,h,u):void 0,r===!1||r===void 0&&p!==h)return!1}return!0};const OS=ui(MS);var vw=(e=>(e.BASE="base",e.BODY="body",e.HEAD="head",e.HTML="html",e.LINK="link",e.META="meta",e.NOSCRIPT="noscript",e.SCRIPT="script",e.STYLE="style",e.TITLE="title",e.FRAGMENT="Symbol(react.fragment)",e))(vw||{}),Rc={link:{rel:["amphtml","canonical","alternate"]},script:{type:["application/ld+json"]},meta:{charset:"",name:["generator","robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]}},Hm=Object.values(vw),sh={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},LS=Object.entries(sh).reduce((e,[t,a])=>(e[a]=t,e),{}),Dt="data-rh",wn={DEFAULT_TITLE:"defaultTitle",DEFER:"defer",ENCODE_SPECIAL_CHARACTERS:"encodeSpecialCharacters",ON_CHANGE_CLIENT_STATE:"onChangeClientState",TITLE_TEMPLATE:"titleTemplate",PRIORITIZE_SEO_TAGS:"prioritizeSeoTags"},bn=(e,t)=>{for(let a=e.length-1;a>=0;a-=1){const s=e[a];if(Object.prototype.hasOwnProperty.call(s,t))return s[t]}return null},zS=e=>{let t=bn(e,"title");const a=bn(e,wn.TITLE_TEMPLATE);if(Array.isArray(t)&&(t=t.join("")),a&&t)return a.replace(/%s/g,()=>t);const s=bn(e,wn.DEFAULT_TITLE);return t||s||void 0},HS=e=>bn(e,wn.ON_CHANGE_CLIENT_STATE)||(()=>{}),Dc=(e,t)=>t.filter(a=>typeof a[e]<"u").map(a=>a[e]).reduce((a,s)=>({...a,...s}),{}),VS=(e,t)=>t.filter(a=>typeof a.base<"u").map(a=>a.base).reverse().reduce((a,s)=>{if(!a.length){const n=Object.keys(s);for(let r=0;r<n.length;r+=1){const l=n[r].toLowerCase();if(e.indexOf(l)!==-1&&s[l])return a.concat(s)}}return a},[]),FS=e=>console&&typeof console.warn=="function"&&console.warn(e),pr=(e,t,a)=>{const s={};return a.filter(n=>Array.isArray(n[e])?!0:(typeof n[e]<"u"&&FS(`Helmet: ${e} should be of type "Array". Instead found type "${typeof n[e]}"`),!1)).map(n=>n[e]).reverse().reduce((n,r)=>{const o={};r.filter(c=>{let d;const u=Object.keys(c);for(let h=0;h<u.length;h+=1){const f=u[h],y=f.toLowerCase();t.indexOf(y)!==-1&&!(d==="rel"&&c[d].toLowerCase()==="canonical")&&!(y==="rel"&&c[y].toLowerCase()==="stylesheet")&&(d=y),t.indexOf(f)!==-1&&(f==="innerHTML"||f==="cssText"||f==="itemprop")&&(d=f)}if(!d||!c[d])return!1;const p=c[d].toLowerCase();return s[d]||(s[d]={}),o[d]||(o[d]={}),s[d][p]?!1:(o[d][p]=!0,!0)}).reverse().forEach(c=>n.push(c));const l=Object.keys(o);for(let c=0;c<l.length;c+=1){const d=l[c],u={...s[d],...o[d]};s[d]=u}return n},[]).reverse()},_S=(e,t)=>{if(Array.isArray(e)&&e.length){for(let a=0;a<e.length;a+=1)if(e[a][t])return!0}return!1},IS=e=>({baseTag:VS(["href"],e),bodyAttributes:Dc("bodyAttributes",e),defer:bn(e,wn.DEFER),encode:bn(e,wn.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:Dc("htmlAttributes",e),linkTags:pr("link",["rel","href"],e),metaTags:pr("meta",["name","charset","http-equiv","property","itemprop"],e),noscriptTags:pr("noscript",["innerHTML"],e),onChangeClientState:HS(e),scriptTags:pr("script",["src","innerHTML"],e),styleTags:pr("style",["cssText"],e),title:zS(e),titleAttributes:Dc("titleAttributes",e),prioritizeSeoTags:_S(e,wn.PRIORITIZE_SEO_TAGS)}),ww=e=>Array.isArray(e)?e.join(""):e,qS=(e,t)=>{const a=Object.keys(e);for(let s=0;s<a.length;s+=1)if(t[a[s]]&&t[a[s]].includes(e[a[s]]))return!0;return!1},Mc=(e,t)=>Array.isArray(e)?e.reduce((a,s)=>(qS(s,t)?a.priority.push(s):a.default.push(s),a),{priority:[],default:[]}):{default:e,priority:[]},Vm=(e,t)=>({...e,[t]:void 0}),BS=["noscript","script","style"],uu=(e,t=!0)=>t===!1?String(e):String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;"),bw=e=>Object.keys(e).reduce((t,a)=>{const s=typeof e[a]<"u"?`${a}="${e[a]}"`:`${a}`;return t?`${t} ${s}`:s},""),$S=(e,t,a,s)=>{const n=bw(a),r=ww(t);return n?`<${e} ${Dt}="true" ${n}>${uu(r,s)}</${e}>`:`<${e} ${Dt}="true">${uu(r,s)}</${e}>`},WS=(e,t,a=!0)=>t.reduce((s,n)=>{const r=n,o=Object.keys(r).filter(d=>!(d==="innerHTML"||d==="cssText")).reduce((d,u)=>{const p=typeof r[u]>"u"?u:`${u}="${uu(r[u],a)}"`;return d?`${d} ${p}`:p},""),l=r.innerHTML||r.cssText||"",c=BS.indexOf(e)===-1;return`${s}<${e} ${Dt}="true" ${o}${c?"/>":`>${l}</${e}>`}`},""),Pw=(e,t={})=>Object.keys(e).reduce((a,s)=>{const n=sh[s];return a[n||s]=e[s],a},t),US=(e,t,a)=>{const s={key:t,[Dt]:!0},n=Pw(a,s);return[Re.createElement("title",n,t)]},vo=(e,t)=>t.map((a,s)=>{const n={key:s,[Dt]:!0};return Object.keys(a).forEach(r=>{const l=sh[r]||r;if(l==="innerHTML"||l==="cssText"){const c=a.innerHTML||a.cssText;n.dangerouslySetInnerHTML={__html:c}}else n[l]=a[r]}),Re.createElement(e,n)}),pt=(e,t,a=!0)=>{switch(e){case"title":return{toComponent:()=>US(e,t.title,t.titleAttributes),toString:()=>$S(e,t.title,t.titleAttributes,a)};case"bodyAttributes":case"htmlAttributes":return{toComponent:()=>Pw(t),toString:()=>bw(t)};default:return{toComponent:()=>vo(e,t),toString:()=>WS(e,t,a)}}},QS=({metaTags:e,linkTags:t,scriptTags:a,encode:s})=>{const n=Mc(e,Rc.meta),r=Mc(t,Rc.link),o=Mc(a,Rc.script);return{priorityMethods:{toComponent:()=>[...vo("meta",n.priority),...vo("link",r.priority),...vo("script",o.priority)],toString:()=>`${pt("meta",n.priority,s)} ${pt("link",r.priority,s)} ${pt("script",o.priority,s)}`},metaTags:n.default,linkTags:r.default,scriptTags:o.default}},GS=e=>{const{baseTag:t,bodyAttributes:a,encode:s=!0,htmlAttributes:n,noscriptTags:r,styleTags:o,title:l="",titleAttributes:c,prioritizeSeoTags:d}=e;let{linkTags:u,metaTags:p,scriptTags:h}=e,f={toComponent:()=>{},toString:()=>""};return d&&({priorityMethods:f,linkTags:u,metaTags:p,scriptTags:h}=QS(e)),{priority:f,base:pt("base",t,s),bodyAttributes:pt("bodyAttributes",a,s),htmlAttributes:pt("htmlAttributes",n,s),link:pt("link",u,s),meta:pt("meta",p,s),noscript:pt("noscript",r,s),script:pt("script",h,s),style:pt("style",o,s),title:pt("title",{title:l,titleAttributes:c},s)}},pu=GS,Ki=[],jw=!!(typeof window<"u"&&window.document&&window.document.createElement),hu=class{constructor(e,t){na(this,"instances",[]);na(this,"canUseDOM",jw);na(this,"context");na(this,"value",{setHelmet:e=>{this.context.helmet=e},helmetInstances:{get:()=>this.canUseDOM?Ki:this.instances,add:e=>{(this.canUseDOM?Ki:this.instances).push(e)},remove:e=>{const t=(this.canUseDOM?Ki:this.instances).indexOf(e);(this.canUseDOM?Ki:this.instances).splice(t,1)}}});this.context=e,this.canUseDOM=t||!1,t||(e.helmet=pu({baseTag:[],bodyAttributes:{},htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))}},KS={},Cw=Re.createContext(KS),Rs,Nw=(Rs=class extends w.Component{constructor(a){super(a);na(this,"helmetData");this.helmetData=new hu(this.props.context||{},Rs.canUseDOM)}render(){return Re.createElement(Cw.Provider,{value:this.helmetData.value},this.props.children)}},na(Rs,"canUseDOM",jw),Rs),Gs=(e,t)=>{const a=document.head||document.querySelector("head"),s=a.querySelectorAll(`${e}[${Dt}]`),n=[].slice.call(s),r=[];let o;return t&&t.length&&t.forEach(l=>{const c=document.createElement(e);for(const d in l)if(Object.prototype.hasOwnProperty.call(l,d))if(d==="innerHTML")c.innerHTML=l.innerHTML;else if(d==="cssText")c.styleSheet?c.styleSheet.cssText=l.cssText:c.appendChild(document.createTextNode(l.cssText));else{const u=d,p=typeof l[u]>"u"?"":l[u];c.setAttribute(d,p)}c.setAttribute(Dt,"true"),n.some((d,u)=>(o=u,c.isEqualNode(d)))?n.splice(o,1):r.push(c)}),n.forEach(l=>{var c;return(c=l.parentNode)==null?void 0:c.removeChild(l)}),r.forEach(l=>a.appendChild(l)),{oldTags:n,newTags:r}},fu=(e,t)=>{const a=document.getElementsByTagName(e)[0];if(!a)return;const s=a.getAttribute(Dt),n=s?s.split(","):[],r=[...n],o=Object.keys(t);for(const l of o){const c=t[l]||"";a.getAttribute(l)!==c&&a.setAttribute(l,c),n.indexOf(l)===-1&&n.push(l);const d=r.indexOf(l);d!==-1&&r.splice(d,1)}for(let l=r.length-1;l>=0;l-=1)a.removeAttribute(r[l]);n.length===r.length?a.removeAttribute(Dt):a.getAttribute(Dt)!==o.join(",")&&a.setAttribute(Dt,o.join(","))},YS=(e,t)=>{typeof e<"u"&&document.title!==e&&(document.title=ww(e)),fu("title",t)},Fm=(e,t)=>{const{baseTag:a,bodyAttributes:s,htmlAttributes:n,linkTags:r,metaTags:o,noscriptTags:l,onChangeClientState:c,scriptTags:d,styleTags:u,title:p,titleAttributes:h}=e;fu("body",s),fu("html",n),YS(p,h);const f={baseTag:Gs("base",a),linkTags:Gs("link",r),metaTags:Gs("meta",o),noscriptTags:Gs("noscript",l),scriptTags:Gs("script",d),styleTags:Gs("style",u)},y={},v={};Object.keys(f).forEach(b=>{const{newTags:g,oldTags:m}=f[b];g.length&&(y[b]=g),m.length&&(v[b]=f[b].oldTags)}),t&&t(),c(e,y,v)},hr=null,XS=e=>{hr&&cancelAnimationFrame(hr),e.defer?hr=requestAnimationFrame(()=>{Fm(e,()=>{hr=null})}):(Fm(e),hr=null)},ZS=XS,_m=class extends w.Component{constructor(){super(...arguments);na(this,"rendered",!1)}shouldComponentUpdate(t){return!OS(t,this.props)}componentDidUpdate(){this.emitChange()}componentWillUnmount(){const{helmetInstances:t}=this.props.context;t.remove(this),this.emitChange()}emitChange(){const{helmetInstances:t,setHelmet:a}=this.props.context;let s=null;const n=IS(t.get().map(r=>{const o={...r.props};return delete o.context,o}));Nw.canUseDOM?ZS(n):pu&&(s=pu(n)),a(s)}init(){if(this.rendered)return;this.rendered=!0;const{helmetInstances:t}=this.props.context;t.add(this),this.emitChange()}render(){return this.init(),null}},Xc,Pt=(Xc=class extends w.Component{shouldComponentUpdate(e){return!ES(Vm(this.props,"helmetData"),Vm(e,"helmetData"))}mapNestedChildrenToProps(e,t){if(!t)return null;switch(e.type){case"script":case"noscript":return{innerHTML:t};case"style":return{cssText:t};default:throw new Error(`<${e.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`)}}flattenArrayTypeChildren(e,t,a,s){return{...t,[e.type]:[...t[e.type]||[],{...a,...this.mapNestedChildrenToProps(e,s)}]}}mapObjectTypeChildren(e,t,a,s){switch(e.type){case"title":return{...t,[e.type]:s,titleAttributes:{...a}};case"body":return{...t,bodyAttributes:{...a}};case"html":return{...t,htmlAttributes:{...a}};default:return{...t,[e.type]:{...a}}}}mapArrayTypeChildrenToProps(e,t){let a={...t};return Object.keys(e).forEach(s=>{a={...a,[s]:e[s]}}),a}warnOnInvalidChildren(e,t){return zm(Hm.some(a=>e.type===a),typeof e.type=="function"?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":`Only elements types ${Hm.join(", ")} are allowed. Helmet does not support rendering <${e.type}> elements. Refer to our API for more information.`),zm(!t||typeof t=="string"||Array.isArray(t)&&!t.some(a=>typeof a!="string"),`Helmet expects a string as a child of <${e.type}>. Did you forget to wrap your children in braces? ( <${e.type}>{\`\`}</${e.type}> ) Refer to our API for more information.`),!0}mapChildrenToProps(e,t){let a={};return Re.Children.forEach(e,s=>{if(!s||!s.props)return;const{children:n,...r}=s.props,o=Object.keys(r).reduce((c,d)=>(c[LS[d]||d]=r[d],c),{});let{type:l}=s;switch(typeof l=="symbol"?l=l.toString():this.warnOnInvalidChildren(s,n),l){case"Symbol(react.fragment)":t=this.mapChildrenToProps(n,t);break;case"link":case"meta":case"noscript":case"script":case"style":a=this.flattenArrayTypeChildren(s,a,o,n);break;default:t=this.mapObjectTypeChildren(s,t,o,n);break}}),this.mapArrayTypeChildrenToProps(a,t)}render(){const{children:e,...t}=this.props;let a={...t},{helmetData:s}=t;if(e&&(a=this.mapChildrenToProps(e,a)),s&&!(s instanceof hu)){const n=s;s=new hu(n.context,!0),delete a.helmetData}return s?Re.createElement(_m,{...a,context:s.value}):Re.createElement(Cw.Consumer,null,n=>Re.createElement(_m,{...a,context:n}))}},na(Xc,"defaultProps",{defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1}),Xc);const JS={"@context":"https://schema.org","@type":"LocalBusiness",name:"Quality Air Duct Cleaning",description:"Simcoe County's trusted choice for professional air duct cleaning. Residential, commercial, and dryer vent cleaning with commercial-grade equipment. No blow-and-go work — honest, thorough service.",url:"https://qualityairductcleaning.ca",telephone:"+19057293602",email:"info@qualityairductcleaning.ca",priceRange:"$$",image:"https://newoaks.s3.us-west-1.amazonaws.com/AutoDev/66721/ad10bdde-7773-4f3a-9563-e219949a8f91.png",address:{"@type":"PostalAddress",streetAddress:"Alliston",addressLocality:"Alliston",addressRegion:"ON",addressCountry:"CA"},geo:{"@type":"GeoCoordinates",latitude:44.1505,longitude:-79.8693},areaServed:{"@type":"GeoCircle",geoMidpoint:{"@type":"GeoCoordinates",latitude:44.1505,longitude:-79.8693},geoRadius:"80467"},openingHoursSpecification:[{"@type":"OpeningHoursSpecification",dayOfWeek:["Monday","Tuesday","Wednesday","Thursday","Friday"],opens:"08:00",closes:"18:00"},{"@type":"OpeningHoursSpecification",dayOfWeek:["Saturday"],opens:"09:00",closes:"16:00"}],hasOfferCatalog:{"@type":"OfferCatalog",name:"Air Duct Cleaning Services",itemListElement:[{"@type":"Offer",itemOffered:{"@type":"Service",name:"Residential Duct Cleaning",description:"Professional air duct cleaning for homes throughout Simcoe County"}},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Commercial & Industrial Duct Cleaning",description:"Large-scale duct cleaning for commercial and industrial properties"}},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Dryer Vent Cleaning",description:"Dryer vent cleaning to prevent fire hazards and improve efficiency"}}]},sameAs:[]};function kw(){return i.jsxs(i.Fragment,{children:[i.jsx(Pt,{"data-id":"c56cqh0lp","data-path":"src/components/Footer.tsx",children:i.jsx("script",{type:"application/ld+json","data-id":"o6isfapjb","data-path":"src/components/Footer.tsx",children:JSON.stringify(JS)})}),i.jsx("footer",{className:"bg-navy text-white font-sans","data-id":"vb24hc36k","data-path":"src/components/Footer.tsx",children:i.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-24 md:py-32","data-id":"sf0oxbp91","data-path":"src/components/Footer.tsx",children:[i.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-14 lg:gap-16","data-id":"66kekxteg","data-path":"src/components/Footer.tsx",children:[i.jsxs("div",{"data-id":"clin2auv9","data-path":"src/components/Footer.tsx",children:[i.jsx("div",{className:"mb-8","data-id":"m6wid713g","data-path":"src/components/Footer.tsx",children:i.jsxs("picture",{"data-id":"2hel1wwoo","data-path":"src/components/Footer.tsx",children:[i.jsx("source",{type:"image/webp",srcSet:"https://newoaks.s3.us-west-1.amazonaws.com/AutoDev/66721/ad10bdde-7773-4f3a-9563-e219949a8f91.png","data-id":"s65agl26n","data-path":"src/components/Footer.tsx"}),i.jsx("img",{src:"https://newoaks.s3.us-west-1.amazonaws.com/AutoDev/66721/ad10bdde-7773-4f3a-9563-e219949a8f91.png",alt:"Quality Air Duct Cleaning — professional HVAC duct cleaning company logo serving Simcoe County Ontario",className:"h-16 w-auto object-contain",loading:"lazy",decoding:"async","data-id":"tx6skfp1d","data-path":"src/components/Footer.tsx"})]})}),i.jsx("p",{className:"text-gray-300 mb-6 text-sm leading-relaxed","data-id":"lbh5cme2i","data-path":"src/components/Footer.tsx",children:`Simcoe County's trusted choice for professional air duct cleaning. No "blow-and-go" work — just honest, thorough service with commercial-grade equipment.`}),i.jsxs("div",{className:"flex gap-4","data-id":"fd04rzjql","data-path":"src/components/Footer.tsx",children:[i.jsx("a",{href:"#",className:"w-10 h-10 bg-navy-light rounded-full flex items-center justify-center hover:bg-lime hover:text-navy transition-colors","data-id":"rdyxv5d7t","data-path":"src/components/Footer.tsx",children:i.jsx(NC,{className:"w-5 h-5","data-id":"3v3jv5ox7","data-path":"src/components/Footer.tsx"})}),i.jsx("a",{href:"#",className:"w-10 h-10 bg-navy-light rounded-full flex items-center justify-center hover:bg-lime hover:text-navy transition-colors","data-id":"t1a8jgd07","data-path":"src/components/Footer.tsx",children:i.jsx(OC,{className:"w-5 h-5","data-id":"cjh71p7lp","data-path":"src/components/Footer.tsx"})})]})]}),i.jsxs("div",{"data-id":"f7wb9uyne","data-path":"src/components/Footer.tsx",children:[i.jsx("h3",{className:"text-lg font-semibold mb-8 text-lime tracking-tight","data-id":"adm20n1m8","data-path":"src/components/Footer.tsx",children:"Quick Links"}),i.jsxs("ul",{className:"space-y-4","data-id":"1h9oi29bh","data-path":"src/components/Footer.tsx",children:[i.jsx("li",{"data-id":"bkl8r6af2","data-path":"src/components/Footer.tsx",children:i.jsx(_,{to:"/",className:"text-gray-300 hover:text-lime transition-colors","data-id":"iukx2pjrq","data-path":"src/components/Footer.tsx",children:"Home"})}),i.jsx("li",{"data-id":"5pwbyqa6f","data-path":"src/components/Footer.tsx",children:i.jsx(_,{to:"/residential",className:"text-gray-300 hover:text-lime transition-colors","data-id":"9obmjbjf9","data-path":"src/components/Footer.tsx",children:"Residential Cleaning"})}),i.jsx("li",{"data-id":"ix5hudg1r","data-path":"src/components/Footer.tsx",children:i.jsx(_,{to:"/commercial",className:"text-gray-300 hover:text-lime transition-colors","data-id":"m0cua8h6e","data-path":"src/components/Footer.tsx",children:"Commercial & Industrial"})}),i.jsx("li",{"data-id":"2m486icoa","data-path":"src/components/Footer.tsx",children:i.jsx(_,{to:"/dryer-vent",className:"text-gray-300 hover:text-lime transition-colors","data-id":"rbma8rl7b","data-path":"src/components/Footer.tsx",children:"Dryer Vent Cleaning"})}),i.jsx("li",{"data-id":"64bfua3bh","data-path":"src/components/Footer.tsx",children:i.jsx(_,{to:"/contact",className:"text-gray-300 hover:text-lime transition-colors","data-id":"a9j7a79tm","data-path":"src/components/Footer.tsx",children:"Contact Us"})}),i.jsx("li",{"data-id":"1prf5yuch","data-path":"src/components/Footer.tsx",children:i.jsx(_,{to:"/reviews",className:"text-gray-300 hover:text-lime transition-colors","data-id":"kdop7rdgr","data-path":"src/components/Footer.tsx",children:"Customer Reviews"})}),i.jsx("li",{"data-id":"36q3ekjsv","data-path":"src/components/Footer.tsx",children:i.jsx(_,{to:"/sitemap",className:"text-gray-300 hover:text-lime transition-colors","data-id":"ct4ttq6ei","data-path":"src/components/Footer.tsx",children:"Site Map"})})]})]}),i.jsxs("div",{"data-id":"tzu5hq38r","data-path":"src/components/Footer.tsx",children:[i.jsx("h3",{className:"text-lg font-semibold mb-8 text-lime tracking-tight","data-id":"oyuts265k","data-path":"src/components/Footer.tsx",children:"Service Areas"}),i.jsxs("ul",{className:"space-y-4","data-id":"4c1c6gf6d","data-path":"src/components/Footer.tsx",children:[i.jsx("li",{"data-id":"hlzw3g460","data-path":"src/components/Footer.tsx",children:i.jsx(_,{to:"/service-areas/alliston-on",className:"text-gray-300 hover:text-lime transition-colors","data-id":"h6go1me16","data-path":"src/components/Footer.tsx",children:"Alliston"})}),i.jsx("li",{"data-id":"edgv2o560","data-path":"src/components/Footer.tsx",children:i.jsx(_,{to:"/service-areas/barrie-on",className:"text-gray-300 hover:text-lime transition-colors","data-id":"8gxbqrumv","data-path":"src/components/Footer.tsx",children:"Barrie"})}),i.jsx("li",{className:"text-gray-300","data-id":"jcufrif41","data-path":"src/components/Footer.tsx",children:"Newmarket"}),i.jsx("li",{"data-id":"790btun5m","data-path":"src/components/Footer.tsx",children:i.jsx(_,{to:"/service-areas/angus-on",className:"text-gray-300 hover:text-lime transition-colors","data-id":"zf25n52su","data-path":"src/components/Footer.tsx",children:"Angus"})}),i.jsx("li",{"data-id":"6emowcf84","data-path":"src/components/Footer.tsx",children:i.jsx(_,{to:"/service-areas/innisfil-on",className:"text-gray-300 hover:text-lime transition-colors","data-id":"ugqaxmhhn","data-path":"src/components/Footer.tsx",children:"Innisfil"})}),i.jsx("li",{"data-id":"eelgk82wx","data-path":"src/components/Footer.tsx",children:i.jsx(_,{to:"/service-areas/collingwood-on",className:"text-gray-300 hover:text-lime transition-colors","data-id":"yrucifgd5","data-path":"src/components/Footer.tsx",children:"Collingwood"})}),i.jsx("li",{"data-id":"1uooljchf","data-path":"src/components/Footer.tsx",children:i.jsx(_,{to:"/service-areas",className:"text-gray-300 hover:text-lime transition-colors","data-id":"04x3sbrzc","data-path":"src/components/Footer.tsx",children:"All of Simcoe County"})})]})]}),i.jsxs("div",{"data-id":"1k56h07zm","data-path":"src/components/Footer.tsx",children:[i.jsx("h3",{className:"text-lg font-semibold mb-8 text-lime tracking-tight","data-id":"d35dk67rh","data-path":"src/components/Footer.tsx",children:"Contact Us"}),i.jsxs("ul",{className:"space-y-5","data-id":"s07kucysf","data-path":"src/components/Footer.tsx",children:[i.jsxs("li",{className:"flex items-start gap-3","data-id":"1gf14sf4y","data-path":"src/components/Footer.tsx",children:[i.jsx(Ce,{className:"w-5 h-5 text-lime flex-shrink-0 mt-0.5","data-id":"kyso6cnw6","data-path":"src/components/Footer.tsx"}),i.jsx("a",{href:"tel:9057293602",className:"text-gray-300 hover:text-lime transition-colors","data-id":"ce61bxykk","data-path":"src/components/Footer.tsx",children:"(905) 729-3602"})]}),i.jsxs("li",{className:"flex items-start gap-3","data-id":"gz0ih8ev2","data-path":"src/components/Footer.tsx",children:[i.jsx(s0,{className:"w-5 h-5 text-lime flex-shrink-0 mt-0.5","data-id":"ydq6l5e7n","data-path":"src/components/Footer.tsx"}),i.jsx("a",{href:"mailto:info@qualityairductcleaning.ca",className:"text-gray-300 hover:text-lime transition-colors","data-id":"ad4053gow","data-path":"src/components/Footer.tsx",children:"info@qualityairductcleaning.ca"})]}),i.jsxs("li",{className:"flex items-start gap-3","data-id":"58lreoe8z","data-path":"src/components/Footer.tsx",children:[i.jsx(Zt,{className:"w-5 h-5 text-lime flex-shrink-0 mt-0.5","data-id":"c8punni37","data-path":"src/components/Footer.tsx"}),i.jsxs("span",{className:"text-gray-300","data-id":"g95fj6w5e","data-path":"src/components/Footer.tsx",children:["Alliston, Ontario",i.jsx("br",{"data-id":"cjijov835","data-path":"src/components/Footer.tsx"}),"Serving Simcoe County"]})]})]})]})]}),i.jsx("hr",{className:"border-navy-light my-12","data-id":"w3to9gm1p","data-path":"src/components/Footer.tsx"}),i.jsxs("div",{className:"flex flex-col md:flex-row justify-between items-center gap-6 text-sm text-gray-400","data-id":"j3taucgn0","data-path":"src/components/Footer.tsx",children:[i.jsxs("p",{"data-id":"cxtwd8536","data-path":"src/components/Footer.tsx",children:["© ",new Date().getFullYear()," Quality Air Duct Cleaning. All rights reserved."]}),i.jsx("p",{"data-id":"t8rwabmi7","data-path":"src/components/Footer.tsx",children:"Proudly serving Simcoe County homeowners & businesses"})]}),i.jsxs("div",{className:"mt-6 text-center text-sm text-gray-400","data-id":"xy0uccyp2","data-path":"src/components/Footer.tsx",children:["Web Design made with ",i.jsx("i",{className:"fa fa-heart","aria-hidden":"true","data-id":"dq7ww0neh","data-path":"src/components/Footer.tsx"})," by"," ",i.jsx("a",{className:"dotcom-link",style:{color:"#FFFFFF"},title:"Certtech Web Solutions",href:"https://certtechweb.com",target:"_blank",rel:"noopener noreferrer","data-id":"jwszlifzu","data-path":"src/components/Footer.tsx",children:"Certtech Web Solutions"})]})]})})]})}function ba({children:e}){return i.jsxs("div",{className:"min-h-screen flex flex-col","data-id":"tz0lyp315","data-path":"src/components/PageLayout.tsx",children:[i.jsx(yw,{"data-id":"85woo4k4e","data-path":"src/components/PageLayout.tsx"}),i.jsx("main",{className:"flex-1 pt-20","data-id":"c4j71cpos","data-path":"src/components/PageLayout.tsx",children:e}),i.jsx(kw,{"data-id":"zifkmu05f","data-path":"src/components/PageLayout.tsx"})]})}const It=[{name:"Anna Cindy Oliveros",location:"Local Guide · Simcoe County, ON",rating:5,text:"Tony and Adam did an amazing job cleaning our ducts today! Their professionalism and attention to detail were truly inspiring. They arrived on time, explained everything clearly, and worked with incredible efficiency. Our home's air quality feels remarkably fresher. They were friendly, respectful, and left everything immaculate. I highly recommend Tony for duct cleaning. Thanks for the outstanding work!"},{name:"Alannah Gale",location:"Simcoe County, ON",rating:5,text:"Tony did a wonderful job with our ducts. He was on time, great price for quality work! He also did a great job informing me of a potential issue with my home, kind and gave me lots of great information. Thank you SO much!"},{name:"Taylor McMann",location:"Simcoe County, ON",rating:5,text:"Very happy with this company! Tony was very helpful and educated my husband and I during the service. If I could give 5+ I would! His team even helped get our car boosted since it was too cold this morning to start. Thank you so much and would definitely recommend!"},{name:"Kristy-Nicole Konior",location:"Local Guide · Simcoe County, ON",rating:5,text:"10/10 Great service. Very happy I went with them. They were thorough, reliable and informative. Will definitely be recommending them to everyone. Very friendly guys and 100% trustworthy. Thank you guys for your hard work and patience."},{name:"Sueellen Scott",location:"Simcoe County, ON",rating:5,text:"Great service- highly recommended. No issues from start to finish- easy to book, they were early for appointment time and took pride in their work. Thank you!"},{name:"Jim Foster",location:"Simcoe County, ON",rating:5,text:"These guys are great. There are lots of scams out there. I didn't know who to call. And I was sure glad I called this company. Highly recommended and 100 percent reputable. Referred Tony to two of my neighbours."},{name:"Christopher Baker",location:"Simcoe County, ON",rating:5,text:"Tony and Jake were great, had a new born baby in the house and they worked around our schedule. Let me know when to go up or downstairs with the noise for the baby. Left the house clean and put back what they had moved. Would recommend and trust these guys."},{name:"Chris D",location:"Simcoe County, ON",rating:5,text:"A truly fantastic service from Tony and his helper from start to finish. Thank you so much and looking forward to working with you again soon!"}];function e6(){const[e,t]=w.useState(0);w.useEffect(()=>{const n=setInterval(()=>{t(r=>(r+1)%It.length)},5e3);return()=>clearInterval(n)},[]);const a=()=>t(n=>(n+1)%It.length),s=()=>t(n=>(n-1+It.length)%It.length);return i.jsxs(ba,{"data-id":"eqxn15ypy","data-path":"src/pages/HomePage.tsx",children:[i.jsxs(Pt,{"data-id":"bq3mewhdv","data-path":"src/pages/HomePage.tsx",children:[i.jsx("title",{"data-id":"yun9wu2zx","data-path":"src/pages/HomePage.tsx",children:"Air Duct Cleaning Simcoe County | Quality Air Duct Cleaning - Alliston, ON"}),i.jsx("meta",{name:"description",content:"Simcoe County's trusted air duct cleaning experts. No hidden fees, no shortcuts — commercial-grade equipment and 4.9-star service. Get your free quote today.","data-id":"8v02eyslg","data-path":"src/pages/HomePage.tsx"}),i.jsx("link",{rel:"preload",as:"image",href:"https://newoaks.s3.us-west-1.amazonaws.com/NewOaks/5500/5588a3ac-e410-45b5-a68a-33ba190171da.png",fetchPriority:"high","data-id":"9fvdwqxg7","data-path":"src/pages/HomePage.tsx"})]}),i.jsxs("section",{className:"relative flex items-center overflow-hidden",style:{minHeight:"88vh",background:"#0b0f14"},"data-id":"c68beovp2","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"absolute inset-0 w-full h-full","data-id":"1b1lselph","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("picture",{className:"absolute inset-0 w-full h-full","data-id":"6oxzhd9gs","data-path":"src/pages/HomePage.tsx",children:[i.jsx("source",{type:"image/webp",srcSet:"https://newoaks.s3.us-west-1.amazonaws.com/NewOaks/5500/5588a3ac-e410-45b5-a68a-33ba190171da.png","data-id":"dzqd69mfa","data-path":"src/pages/HomePage.tsx"}),i.jsx("img",{src:"https://newoaks.s3.us-west-1.amazonaws.com/NewOaks/5500/5588a3ac-e410-45b5-a68a-33ba190171da.png",className:"w-full h-full object-cover object-center",alt:"Quality Air Duct Cleaning technician performing professional HVAC air duct cleaning inside a residential duct system in Simcoe County Ontario",loading:"eager",fetchPriority:"high",decoding:"async","data-id":"if72z3znw","data-path":"src/pages/HomePage.tsx"})]}),i.jsx("div",{className:"absolute inset-0",style:{background:"linear-gradient(to bottom, rgba(11,15,20,0.55) 0%, transparent 25%, transparent 75%, rgba(11,15,20,0.65) 100%)"},"data-id":"sfxjjke8i","data-path":"src/pages/HomePage.tsx"})]}),i.jsx("div",{className:"relative z-10 w-full max-w-7xl mx-auto px-6 sm:px-8 lg:px-12 py-20","data-id":"r2ango8vh","data-path":"src/pages/HomePage.tsx",children:i.jsxs("div",{className:"max-w-xl lg:max-w-2xl","data-id":"iwxtgi2ih","data-path":"src/pages/HomePage.tsx",children:[i.jsx("div",{className:"mb-8","data-id":"of7dqqr4m","data-path":"src/pages/HomePage.tsx"}),i.jsxs("div",{className:"inline-flex items-center gap-2 rounded-full px-4 py-2 mb-7",style:{background:"rgba(20,24,30,0.82)",border:"1px solid rgba(255,255,255,0.12)"},"data-id":"igsivl7ap","data-path":"src/pages/HomePage.tsx",children:[i.jsx("div",{className:"flex gap-0.5","data-id":"m6oje8qx7","data-path":"src/pages/HomePage.tsx",children:[...Array(5)].map((n,r)=>i.jsx(Oa,{className:"w-4 h-4 text-yellow-400 fill-yellow-400","data-id":"m1c4y0vlu","data-path":"src/pages/HomePage.tsx"},r))}),i.jsx("span",{className:"text-white text-sm font-medium","data-id":"kby60w2qe","data-path":"src/pages/HomePage.tsx",children:"Rated 4.9/5 Stars by 89+ Local Customers"})]}),i.jsxs("h1",{id:"hero-headline",className:"font-black leading-[1.0] mb-5",style:{letterSpacing:"-0.02em"},"data-id":"nh81f4tmo","data-path":"src/pages/HomePage.tsx",children:[i.jsx("span",{className:"block text-4xl sm:text-5xl md:text-6xl lg:text-7xl text-white","data-id":"ia73g2fqz","data-path":"src/pages/HomePage.tsx",children:"Professional"}),i.jsx("span",{className:"block text-4xl sm:text-5xl md:text-6xl lg:text-7xl text-white","data-id":"7kntdc8go","data-path":"src/pages/HomePage.tsx",children:"Air Duct Cleaning"}),i.jsx("span",{className:"block text-4xl sm:text-5xl md:text-6xl lg:text-7xl",style:{color:"#a3e635"},"data-id":"hoik65lon","data-path":"src/pages/HomePage.tsx",children:"Done Right"})]}),i.jsx("p",{id:"hero-subtext",className:"text-lg md:text-xl text-white font-medium mb-9",style:{opacity:.9},"data-id":"37j3qxze3","data-path":"src/pages/HomePage.tsx",children:"No Shortcuts. No Surprises."}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 sm:gap-4 mb-9","data-id":"gqd446gh8","data-path":"src/pages/HomePage.tsx",children:[i.jsx(_,{to:"/contact","data-id":"qp2bl6xkq","data-path":"src/pages/HomePage.tsx",children:i.jsx(q,{size:"lg",className:"font-bold text-base md:text-lg px-7 py-6 rounded-full shadow-xl w-full sm:w-auto",style:{background:"#a3e635",color:"#1a2744",border:"none"},"data-id":"dmf4e89h2","data-path":"src/pages/HomePage.tsx",children:"Get Your Free Quote"})}),i.jsx("a",{href:"#video-section","data-id":"ymposgfer","data-path":"src/pages/HomePage.tsx",children:i.jsxs(q,{size:"lg",variant:"outline",className:"font-bold text-base md:text-lg px-7 py-6 rounded-full w-full sm:w-auto",style:{background:"transparent",border:"2px solid rgba(255,255,255,0.85)",color:"#ffffff"},"data-id":"c0n05jaqo","data-path":"src/pages/HomePage.tsx",children:[i.jsx(dC,{className:"w-5 h-5 mr-2","data-id":"uq0ke0mku","data-path":"src/pages/HomePage.tsx"}),"Watch Before You Book"]})})]}),i.jsxs("div",{className:"flex items-center gap-3 flex-wrap","data-id":"n5mmdelbs","data-path":"src/pages/HomePage.tsx",children:[i.jsx(Oa,{className:"w-4 h-4 text-yellow-400 fill-yellow-400 flex-shrink-0","data-id":"ab5tkwye7","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{className:"text-white font-bold text-sm","data-id":"18cce9o67","data-path":"src/pages/HomePage.tsx",children:"4.9 Rating"}),i.jsx("span",{className:"text-gray-400 text-sm","data-id":"9i31u46db","data-path":"src/pages/HomePage.tsx",children:"|"}),i.jsx("span",{className:"text-gray-200 text-sm","data-id":"plsm7mbtf","data-path":"src/pages/HomePage.tsx",children:"Serving Alliston, Barrie, Newmarket & surrounding areas."})]})]})})]}),i.jsx("section",{id:"video-section",className:"py-20 md:py-28 bg-white","data-id":"o9cfv36o3","data-path":"src/pages/HomePage.tsx",children:i.jsxs("div",{className:"max-w-5xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"07x0e62jg","data-path":"src/pages/HomePage.tsx",children:[i.jsx("div",{className:"text-center mb-10 md:mb-12","data-id":"b0s55xnxj","data-path":"src/pages/HomePage.tsx",children:i.jsx("h2",{className:"text-3xl md:text-4xl lg:text-5xl font-bold text-navy mb-4 leading-tight","data-id":"hflw8egu6","data-path":"src/pages/HomePage.tsx",children:"Watch This Before You Book Any Duct Cleaning."})}),i.jsx("div",{className:"flex justify-center","data-id":"wps8juw0y","data-path":"src/pages/HomePage.tsx",children:i.jsx("div",{className:"relative w-full max-w-xs sm:max-w-sm rounded-2xl overflow-hidden shadow-2xl bg-navy",style:{aspectRatio:"9/16"},"data-id":"pyvgizlc0","data-path":"src/pages/HomePage.tsx",children:i.jsx("iframe",{src:"https://www.youtube.com/embed/x33rJn7mwfo?rel=0&modestbranding=1&playsinline=1",title:"Quality Air Duct Cleaning — Watch Before You Book",className:"absolute inset-0 w-full h-full",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0,loading:"lazy",referrerPolicy:"strict-origin-when-cross-origin","data-id":"1uj7br97c","data-path":"src/pages/HomePage.tsx"})})}),i.jsx("p",{className:"text-center text-lg md:text-xl text-gray-700 max-w-3xl mx-auto mt-8 md:mt-10 leading-relaxed","data-id":"2d2c2jtez","data-path":"src/pages/HomePage.tsx",children:"Most homeowners don't realize what actually gets cleaned. Here's what we see every day — and what you should look for."})]})}),i.jsx("section",{className:"py-12 md:py-24 lg:py-32 bg-gray-50","data-id":"cjega2xjj","data-path":"src/pages/HomePage.tsx",children:i.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"dy50mhsx6","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"text-center mb-16","data-id":"qwfqwa17y","data-path":"src/pages/HomePage.tsx",children:[i.jsx("h2",{className:"text-2xl sm:text-3xl md:text-4xl font-bold text-navy mb-4","data-id":"ke1emioei","data-path":"src/pages/HomePage.tsx",children:"Our Professional Services"}),i.jsx("p",{className:"text-lg text-gray-600 max-w-2xl mx-auto","data-id":"7whzvog4u","data-path":"src/pages/HomePage.tsx",children:"From residential homes to commercial facilities, we deliver thorough cleaning with equipment that actually works."})]}),i.jsxs("div",{className:"grid md:grid-cols-3 gap-4 sm:gap-6 md:gap-8","data-id":"t0ikofqak","data-path":"src/pages/HomePage.tsx",children:[i.jsxs(Ve,{className:"group hover:shadow-xl transition-all duration-300 border-0 overflow-hidden","data-id":"pr3b09mjl","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"h-48 relative overflow-hidden","data-id":"psdtltlyv","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("picture",{className:"block w-full h-full","data-id":"3oen5voza","data-path":"src/pages/HomePage.tsx",children:[i.jsx("source",{type:"image/webp",srcSet:"https://newoaks.s3.us-west-1.amazonaws.com/NewOaks/5500/d7f12735-100e-4376-808b-6bb0ea41862b.png","data-id":"284jg6qly","data-path":"src/pages/HomePage.tsx"}),i.jsx("img",{src:"https://newoaks.s3.us-west-1.amazonaws.com/NewOaks/5500/d7f12735-100e-4376-808b-6bb0ea41862b.png",alt:"Clean modern home interior with freshly cleaned air ducts improving indoor air quality for a family in Simcoe County Ontario",className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-300",loading:"lazy",decoding:"async","data-id":"kw7ofko1i","data-path":"src/pages/HomePage.tsx"})]}),i.jsx("div",{className:"absolute inset-0 bg-navy/25","data-id":"pp6ce3xvi","data-path":"src/pages/HomePage.tsx"}),i.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-navy/20 to-transparent","data-id":"taljxc1dr","data-path":"src/pages/HomePage.tsx"}),i.jsx("div",{className:"absolute bottom-4 left-4 w-14 h-14 bg-lime rounded-full flex items-center justify-center shadow-lg","data-id":"0yayf2vi5","data-path":"src/pages/HomePage.tsx",children:i.jsx(Ws,{className:"w-7 h-7 text-navy","data-id":"tpcs3zwjs","data-path":"src/pages/HomePage.tsx"})})]}),i.jsxs(qe,{className:"p-4 sm:p-6","data-id":"hjufpvcty","data-path":"src/pages/HomePage.tsx",children:[i.jsx("h3",{className:"text-xl font-bold text-navy mb-3","data-id":"h81qb43st","data-path":"src/pages/HomePage.tsx",children:"Residential Cleaning"}),i.jsx("p",{className:"text-gray-600 mb-4","data-id":"5bpeul4ia","data-path":"src/pages/HomePage.tsx",children:"Complete home duct cleaning to improve air quality, reduce allergens, and boost HVAC efficiency."}),i.jsxs("ul",{className:"space-y-2 mb-6","data-id":"abfp5myxc","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("li",{className:"flex items-center gap-2 text-sm","data-id":"9uf23h1eu","data-path":"src/pages/HomePage.tsx",children:[i.jsx(F,{className:"w-4 h-4 text-lime","data-id":"7ehz72qwi","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{"data-id":"qfinm9k77","data-path":"src/pages/HomePage.tsx",children:"Allergy & asthma relief"})]}),i.jsxs("li",{className:"flex items-center gap-2 text-sm","data-id":"3i2nejgs8","data-path":"src/pages/HomePage.tsx",children:[i.jsx(F,{className:"w-4 h-4 text-lime","data-id":"to5unho4p","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{"data-id":"no6wqzxi6","data-path":"src/pages/HomePage.tsx",children:"Lower energy bills"})]}),i.jsxs("li",{className:"flex items-center gap-2 text-sm","data-id":"tab81u26o","data-path":"src/pages/HomePage.tsx",children:[i.jsx(F,{className:"w-4 h-4 text-lime","data-id":"6ytlhosfz","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{"data-id":"x7diq3vad","data-path":"src/pages/HomePage.tsx",children:"Remove dust & debris"})]})]}),i.jsx(_,{to:"/residential","data-id":"y4dzt2m1i","data-path":"src/pages/HomePage.tsx",children:i.jsx(q,{className:"w-full bg-navy hover:bg-navy-light text-white rounded-full","data-id":"5gq5szdaj","data-path":"src/pages/HomePage.tsx",children:"Learn More"})})]})]}),i.jsxs(Ve,{className:"group hover:shadow-xl transition-all duration-300 border-0 overflow-hidden","data-id":"y57w7qn3e","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"h-48 relative overflow-hidden","data-id":"vnq3lyinz","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("picture",{className:"block w-full h-full","data-id":"zcgarfpou","data-path":"src/pages/HomePage.tsx",children:[i.jsx("source",{type:"image/jpeg",srcSet:"https://newoaks.s3.us-west-1.amazonaws.com/NewOaks/5500/a0081fa9-a325-4ec2-86bd-d5c4d69d12f0.jpeg","data-id":"dnci425dn","data-path":"src/pages/HomePage.tsx"}),i.jsx("img",{src:"https://newoaks.s3.us-west-1.amazonaws.com/NewOaks/5500/a0081fa9-a325-4ec2-86bd-d5c4d69d12f0.jpeg",alt:"Commercial office building HVAC air duct system being professionally cleaned by certified technicians serving Simcoe County businesses",className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-300",loading:"lazy",decoding:"async","data-id":"ai9c9xfka","data-path":"src/pages/HomePage.tsx"})]}),i.jsx("div",{className:"absolute inset-0 bg-navy/25","data-id":"66f74cvw1","data-path":"src/pages/HomePage.tsx"}),i.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-navy/20 to-transparent","data-id":"b4qstdbg8","data-path":"src/pages/HomePage.tsx"}),i.jsx("div",{className:"absolute bottom-4 left-4 w-14 h-14 bg-lime rounded-full flex items-center justify-center shadow-lg","data-id":"zyewsx7lj","data-path":"src/pages/HomePage.tsx",children:i.jsx(Hl,{className:"w-7 h-7 text-navy","data-id":"5h3dtcr6n","data-path":"src/pages/HomePage.tsx"})})]}),i.jsxs(qe,{className:"p-4 sm:p-6","data-id":"e8gz8p3w5","data-path":"src/pages/HomePage.tsx",children:[i.jsx("h3",{className:"text-xl font-bold text-navy mb-3","data-id":"bs7g35sn3","data-path":"src/pages/HomePage.tsx",children:"Commercial & Industrial"}),i.jsx("p",{className:"text-gray-600 mb-4","data-id":"kskj4vniy","data-path":"src/pages/HomePage.tsx",children:"Large-scale HVAC cleaning for offices, warehouses, and facilities. Keep employees healthy."}),i.jsxs("ul",{className:"space-y-2 mb-6","data-id":"otk3mlcik","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("li",{className:"flex items-center gap-2 text-sm","data-id":"kdkltnxbo","data-path":"src/pages/HomePage.tsx",children:[i.jsx(F,{className:"w-4 h-4 text-lime","data-id":"r1h14meg1","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{"data-id":"bkoqoov02","data-path":"src/pages/HomePage.tsx",children:"Compliance ready"})]}),i.jsxs("li",{className:"flex items-center gap-2 text-sm","data-id":"ri81p9apc","data-path":"src/pages/HomePage.tsx",children:[i.jsx(F,{className:"w-4 h-4 text-lime","data-id":"6um27gb4m","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{"data-id":"7adcnysw1","data-path":"src/pages/HomePage.tsx",children:"Minimal disruption"})]}),i.jsxs("li",{className:"flex items-center gap-2 text-sm","data-id":"sxv5a9v0c","data-path":"src/pages/HomePage.tsx",children:[i.jsx(F,{className:"w-4 h-4 text-lime","data-id":"2clh8rx7x","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{"data-id":"9er4afu9z","data-path":"src/pages/HomePage.tsx",children:"Healthier workplace"})]})]}),i.jsx(_,{to:"/commercial","data-id":"7e25zki39","data-path":"src/pages/HomePage.tsx",children:i.jsx(q,{className:"w-full bg-navy hover:bg-navy-light text-white rounded-full","data-id":"dpu7h6loy","data-path":"src/pages/HomePage.tsx",children:"Learn More"})})]})]}),i.jsxs(Ve,{className:"group hover:shadow-xl transition-all duration-300 border-0 overflow-hidden","data-id":"ge8mlgt75","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"h-48 relative overflow-hidden","data-id":"fc7rhe36k","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("picture",{className:"block w-full h-full","data-id":"4u1ruxz61","data-path":"src/pages/HomePage.tsx",children:[i.jsx("source",{type:"image/webp",srcSet:"https://newoaks.s3.us-west-1.amazonaws.com/NewOaks/5500/3f393e2c-64a3-4070-a3b6-d26a32e611e2.jpeg","data-id":"ifvcrb8g7","data-path":"src/pages/HomePage.tsx"}),i.jsx("img",{src:"https://newoaks.s3.us-west-1.amazonaws.com/NewOaks/5500/3f393e2c-64a3-4070-a3b6-d26a32e611e2.jpeg",alt:"Dryer vent clogged with lint buildup demonstrating fire prevention need for professional dryer vent cleaning service in Ontario",className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-300",loading:"lazy",decoding:"async","data-id":"hbd6k96yj","data-path":"src/pages/HomePage.tsx"})]}),i.jsx("div",{className:"absolute inset-0 bg-navy/25","data-id":"mfa7b5ntf","data-path":"src/pages/HomePage.tsx"}),i.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-navy/20 to-transparent","data-id":"uv9db2okz","data-path":"src/pages/HomePage.tsx"}),i.jsx("div",{className:"absolute bottom-4 left-4 w-14 h-14 bg-lime rounded-full flex items-center justify-center shadow-lg","data-id":"igdn18d82","data-path":"src/pages/HomePage.tsx",children:i.jsx(Vl,{className:"w-7 h-7 text-navy","data-id":"625qzaux7","data-path":"src/pages/HomePage.tsx"})})]}),i.jsxs(qe,{className:"p-4 sm:p-6","data-id":"v3sf4aw3t","data-path":"src/pages/HomePage.tsx",children:[i.jsx("h3",{className:"text-xl font-bold text-navy mb-3","data-id":"vhag7177g","data-path":"src/pages/HomePage.tsx",children:"Dryer Vent Cleaning"}),i.jsx("p",{className:"text-gray-600 mb-4","data-id":"wmuo3j0kh","data-path":"src/pages/HomePage.tsx",children:"Critical fire prevention service. Clogged dryer vents cause 15,000+ fires annually."}),i.jsxs("ul",{className:"space-y-2 mb-6","data-id":"bi9508b96","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("li",{className:"flex items-center gap-2 text-sm","data-id":"olo384q55","data-path":"src/pages/HomePage.tsx",children:[i.jsx(F,{className:"w-4 h-4 text-lime","data-id":"830kc9s21","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{"data-id":"ig9lzsbvq","data-path":"src/pages/HomePage.tsx",children:"Fire prevention"})]}),i.jsxs("li",{className:"flex items-center gap-2 text-sm","data-id":"t7r3gva1o","data-path":"src/pages/HomePage.tsx",children:[i.jsx(F,{className:"w-4 h-4 text-lime","data-id":"kwwi3wlcf","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{"data-id":"nwvzdg9rr","data-path":"src/pages/HomePage.tsx",children:"Faster drying times"})]}),i.jsxs("li",{className:"flex items-center gap-2 text-sm","data-id":"zojot75vd","data-path":"src/pages/HomePage.tsx",children:[i.jsx(F,{className:"w-4 h-4 text-lime","data-id":"9mogytdkc","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{"data-id":"0ko5d2yxq","data-path":"src/pages/HomePage.tsx",children:"Lower energy costs"})]})]}),i.jsx(_,{to:"/dryer-vent","data-id":"3n3kp96rz","data-path":"src/pages/HomePage.tsx",children:i.jsx(q,{className:"w-full bg-navy hover:bg-navy-light text-white rounded-full","data-id":"1zuquh41k","data-path":"src/pages/HomePage.tsx",children:"Learn More"})})]})]})]})]})}),i.jsx("section",{className:"py-12 md:py-24 lg:py-32 bg-white","data-id":"9b06cpxkq","data-path":"src/pages/HomePage.tsx",children:i.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"t2wrlmb6h","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"text-center mb-16","data-id":"7k1ztdggv","data-path":"src/pages/HomePage.tsx",children:[i.jsx("h2",{id:"value-proposition-heading",className:"text-2xl sm:text-3xl md:text-4xl font-bold text-navy mb-4","data-id":"kx7evb7lt","data-path":"src/pages/HomePage.tsx",children:'Honest Service vs. The "$99 Bait & Switch"'}),i.jsx("p",{id:"value-proposition-text",className:"text-lg text-gray-600 max-w-3xl mx-auto","data-id":"3pznlqfdy","data-path":"src/pages/HomePage.tsx",children:`You've seen the flyers: "$99 Whole House Duct Cleaning!" But there's always a catch. Here's how we're different from those scammy telemarketers.`})]}),i.jsxs("div",{className:"grid lg:grid-cols-2 gap-4 sm:gap-6 md:gap-8 max-w-5xl mx-auto","data-id":"jw4mzlj64","data-path":"src/pages/HomePage.tsx",children:[i.jsx(Ve,{className:"border-0 bg-red-50/50 shadow-lg shadow-red-200/50","data-id":"xzgkuhz08","data-path":"src/pages/HomePage.tsx",children:i.jsxs(qe,{className:"p-5 sm:p-8","data-id":"6ydx231tk","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"flex items-center gap-3 mb-6","data-id":"32srq3g97","data-path":"src/pages/HomePage.tsx",children:[i.jsx("div",{className:"w-12 h-12 bg-red-100 rounded-full flex items-center justify-center","data-id":"p4np2y75q","data-path":"src/pages/HomePage.tsx",children:i.jsx(Os,{className:"w-6 h-6 text-red-500","data-id":"4m73uadqe","data-path":"src/pages/HomePage.tsx"})}),i.jsxs("div",{"data-id":"59enlrrgl","data-path":"src/pages/HomePage.tsx",children:[i.jsx("h3",{className:"text-xl font-bold text-red-700","data-id":"0y7d77z91","data-path":"src/pages/HomePage.tsx",children:'The "$99" Companies'}),i.jsx("p",{className:"text-sm text-red-600","data-id":"6z85n0a0z","data-path":"src/pages/HomePage.tsx",children:"What they don't tell you..."})]})]}),i.jsxs("ul",{className:"space-y-4","data-id":"5alz8h6o3","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("li",{className:"flex items-start gap-3","data-id":"kdv37o744","data-path":"src/pages/HomePage.tsx",children:[i.jsx(cr,{className:"w-5 h-5 text-red-500 flex-shrink-0 mt-0.5","data-id":"312cjs1l3","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"gub9nkbx8","data-path":"src/pages/HomePage.tsx",children:'"$99" becomes $500+ after hidden fees and upsells'})]}),i.jsxs("li",{className:"flex items-start gap-3","data-id":"ds2qbx36x","data-path":"src/pages/HomePage.tsx",children:[i.jsx(cr,{className:"w-5 h-5 text-red-500 flex-shrink-0 mt-0.5","data-id":"s99dj669b","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"3ulb4fkyp","data-path":"src/pages/HomePage.tsx",children:"Portable equipment that barely moves dust around"})]}),i.jsxs("li",{className:"flex items-start gap-3","data-id":"xcnhod9ic","data-path":"src/pages/HomePage.tsx",children:[i.jsx(cr,{className:"w-5 h-5 text-red-500 flex-shrink-0 mt-0.5","data-id":"5x8r2q1ho","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"4sw4p8bly","data-path":"src/pages/HomePage.tsx",children:"Rushed service — 20 minutes and they're gone"})]}),i.jsxs("li",{className:"flex items-start gap-3","data-id":"26snzg8k3","data-path":"src/pages/HomePage.tsx",children:[i.jsx(cr,{className:"w-5 h-5 text-red-500 flex-shrink-0 mt-0.5","data-id":"xh6rerkk4","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"q105ijayx","data-path":"src/pages/HomePage.tsx",children:"Aggressive upselling of unnecessary treatments"})]}),i.jsxs("li",{className:"flex items-start gap-3","data-id":"9j1dufkri","data-path":"src/pages/HomePage.tsx",children:[i.jsx(cr,{className:"w-5 h-5 text-red-500 flex-shrink-0 mt-0.5","data-id":"73nugra1j","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"zszhnqv29","data-path":"src/pages/HomePage.tsx",children:"Out-of-town operators with no accountability"})]})]})]})}),i.jsx(Ve,{className:"border-0 bg-lime/5 shadow-lg shadow-lime/30","data-id":"m9mumwyz1","data-path":"src/pages/HomePage.tsx",children:i.jsxs(qe,{className:"p-5 sm:p-8","data-id":"kf45j0c0w","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"flex items-center gap-3 mb-6","data-id":"03oddxq85","data-path":"src/pages/HomePage.tsx",children:[i.jsx("div",{className:"w-12 h-12 bg-lime rounded-full flex items-center justify-center","data-id":"4t129g7d2","data-path":"src/pages/HomePage.tsx",children:i.jsx(Jo,{className:"w-6 h-6 text-navy","data-id":"x55zn4k4v","data-path":"src/pages/HomePage.tsx"})}),i.jsxs("div",{"data-id":"c19c120wu","data-path":"src/pages/HomePage.tsx",children:[i.jsx("h3",{className:"text-xl font-bold text-navy","data-id":"dd9u2ebuf","data-path":"src/pages/HomePage.tsx",children:"Quality Air Duct Cleaning"}),i.jsx("p",{className:"text-sm text-gray-600","data-id":"0bp8pl6s9","data-path":"src/pages/HomePage.tsx",children:"The honest alternative"})]})]}),i.jsxs("ul",{className:"space-y-4","data-id":"ted5codnn","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("li",{className:"flex items-start gap-3","data-id":"5gklbrgvl","data-path":"src/pages/HomePage.tsx",children:[i.jsx(F,{className:"w-5 h-5 text-lime flex-shrink-0 mt-0.5","data-id":"qkh6624y5","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"pv2m0e7hm","data-path":"src/pages/HomePage.tsx",children:"Transparent, upfront pricing — no surprises"})]}),i.jsxs("li",{className:"flex items-start gap-3","data-id":"0t7l3y5bi","data-path":"src/pages/HomePage.tsx",children:[i.jsx(F,{className:"w-5 h-5 text-lime flex-shrink-0 mt-0.5","data-id":"pkrepj0dj","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"idzavitcu","data-path":"src/pages/HomePage.tsx",children:"Commercial-grade, truck-mounted negative air machines"})]}),i.jsxs("li",{className:"flex items-start gap-3","data-id":"nzhb3igu5","data-path":"src/pages/HomePage.tsx",children:[i.jsx(F,{className:"w-5 h-5 text-lime flex-shrink-0 mt-0.5","data-id":"ettf8sy66","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"32t31wgkf","data-path":"src/pages/HomePage.tsx",children:"Thorough cleaning that takes 2-4 hours (as it should)"})]}),i.jsxs("li",{className:"flex items-start gap-3","data-id":"qatqrb8o1","data-path":"src/pages/HomePage.tsx",children:[i.jsx(F,{className:"w-5 h-5 text-lime flex-shrink-0 mt-0.5","data-id":"to11v5s0i","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"f3xkvtlgq","data-path":"src/pages/HomePage.tsx",children:"We only recommend what you actually need"})]}),i.jsxs("li",{className:"flex items-start gap-3","data-id":"7c2ubltpg","data-path":"src/pages/HomePage.tsx",children:[i.jsx(F,{className:"w-5 h-5 text-lime flex-shrink-0 mt-0.5","data-id":"4hdaq8i0l","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"hcfclrs70","data-path":"src/pages/HomePage.tsx",children:"Local Simcoe County business — we're your neighbors"})]})]})]})})]}),i.jsx("div",{className:"mt-12 text-center","data-id":"dj6cbmcou","data-path":"src/pages/HomePage.tsx",children:i.jsx(_,{to:"/contact","data-id":"ohat5vsja","data-path":"src/pages/HomePage.tsx",children:i.jsx(q,{size:"lg",className:"bg-lime hover:bg-lime-dark text-navy font-bold text-lg px-10 py-6 rounded-full shadow-xl","data-id":"2qagnal8w","data-path":"src/pages/HomePage.tsx",children:"Get Honest Pricing — Free Quote"})})})]})}),i.jsx("section",{className:"py-20 md:py-24 bg-navy","data-id":"qee30orzr","data-path":"src/pages/HomePage.tsx",children:i.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"3gukflly6","data-path":"src/pages/HomePage.tsx",children:i.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 sm:gap-6 md:gap-8 text-center text-white","data-id":"bj3sreo5z","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{"data-id":"x8hoo9rim","data-path":"src/pages/HomePage.tsx",children:[i.jsx("div",{className:"w-12 h-12 sm:w-16 sm:h-16 bg-lime rounded-full flex items-center justify-center mx-auto mb-4","data-id":"m9q0xgd2d","data-path":"src/pages/HomePage.tsx",children:i.jsx(Ip,{className:"w-8 h-8 text-navy","data-id":"vrw9s4stg","data-path":"src/pages/HomePage.tsx"})}),i.jsx("h3",{className:"text-2xl font-bold mb-1","data-id":"75g8s8f0c","data-path":"src/pages/HomePage.tsx",children:"Truck-Mounted"}),i.jsx("p",{className:"text-gray-300 text-sm","data-id":"vcam9s3eg","data-path":"src/pages/HomePage.tsx",children:"Commercial-Grade Equipment"})]}),i.jsxs("div",{"data-id":"11gec0fqy","data-path":"src/pages/HomePage.tsx",children:[i.jsx("div",{className:"w-12 h-12 sm:w-16 sm:h-16 bg-lime rounded-full flex items-center justify-center mx-auto mb-4","data-id":"9dzvdp2g4","data-path":"src/pages/HomePage.tsx",children:i.jsx(Zd,{className:"w-8 h-8 text-navy","data-id":"x3m6k081k","data-path":"src/pages/HomePage.tsx"})}),i.jsx("h3",{className:"text-2xl font-bold mb-1","data-id":"5924294fg","data-path":"src/pages/HomePage.tsx",children:"89+"}),i.jsx("p",{className:"text-gray-300 text-sm","data-id":"zdjg0f5td","data-path":"src/pages/HomePage.tsx",children:"Happy Local Customers"})]}),i.jsxs("div",{"data-id":"kszzhsno5","data-path":"src/pages/HomePage.tsx",children:[i.jsx("div",{className:"w-12 h-12 sm:w-16 sm:h-16 bg-lime rounded-full flex items-center justify-center mx-auto mb-4","data-id":"8ti2ki2je","data-path":"src/pages/HomePage.tsx",children:i.jsx(Oa,{className:"w-8 h-8 text-navy","data-id":"dg5ca701n","data-path":"src/pages/HomePage.tsx"})}),i.jsx("h3",{className:"text-2xl font-bold mb-1","data-id":"fmsdgd3xr","data-path":"src/pages/HomePage.tsx",children:"4.9/5"}),i.jsx("p",{className:"text-gray-300 text-sm","data-id":"4sg230mt5","data-path":"src/pages/HomePage.tsx",children:"Average Rating"})]}),i.jsxs("div",{"data-id":"get08q938","data-path":"src/pages/HomePage.tsx",children:[i.jsx("div",{className:"w-12 h-12 sm:w-16 sm:h-16 bg-lime rounded-full flex items-center justify-center mx-auto mb-4","data-id":"t36deo45c","data-path":"src/pages/HomePage.tsx",children:i.jsx(Hn,{className:"w-8 h-8 text-navy","data-id":"z88a23syr","data-path":"src/pages/HomePage.tsx"})}),i.jsx("h3",{className:"text-2xl font-bold mb-1","data-id":"emz9z1row","data-path":"src/pages/HomePage.tsx",children:"100%"}),i.jsx("p",{className:"text-gray-300 text-sm","data-id":"batsf8t2a","data-path":"src/pages/HomePage.tsx",children:"Satisfaction Guaranteed"})]})]})})}),i.jsxs("section",{className:"py-12 md:py-24 lg:py-32 bg-white relative overflow-hidden","data-id":"qnin9bvdw","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"absolute inset-0 opacity-[0.04] pointer-events-none","data-id":"6k5ny8075","data-path":"src/pages/HomePage.tsx",children:[i.jsx("div",{className:"absolute top-1/3 left-0 w-96 h-96 bg-lime rounded-full blur-3xl","data-id":"a62h2bihx","data-path":"src/pages/HomePage.tsx"}),i.jsx("div",{className:"absolute bottom-0 right-0 w-96 h-96 bg-navy rounded-full blur-3xl","data-id":"o9wgrjt4h","data-path":"src/pages/HomePage.tsx"})]}),i.jsxs("div",{className:"relative max-w-6xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"uqrs8xzap","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"text-center mb-12","data-id":"o8mf3w2m7","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"inline-flex items-center gap-2 bg-lime/10 text-navy border border-lime/30 rounded-full px-4 py-2 mb-5","data-id":"smugd4q01","data-path":"src/pages/HomePage.tsx",children:[i.jsx(KC,{className:"w-4 h-4 text-lime","data-id":"cflv4omxd","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{className:"text-sm font-semibold tracking-wide","data-id":"iqtpfftkn","data-path":"src/pages/HomePage.tsx",children:"Real Results"})]}),i.jsx("h2",{className:"text-2xl sm:text-3xl md:text-4xl font-bold text-navy mb-4","data-id":"lqwbn1bx5","data-path":"src/pages/HomePage.tsx",children:"See the Difference for Yourself"}),i.jsx("p",{className:"text-lg text-gray-600 max-w-2xl mx-auto","data-id":"zqxzc7act","data-path":"src/pages/HomePage.tsx",children:"Drag the slider to reveal the dramatic transformation our truck-mounted equipment delivers — no filters, no tricks."})]}),i.jsxs("div",{className:"max-w-6xl mx-auto","data-id":"387f5fxsg","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 md:gap-8","data-id":"al9g12mms","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"group","data-id":"oi4k7x08k","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"relative rounded-2xl overflow-hidden shadow-xl bg-gray-900 aspect-[4/3]","data-id":"hwz6av0ac","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("picture",{className:"block w-full h-full","data-id":"1mtgchuk2","data-path":"src/pages/HomePage.tsx",children:[i.jsx("source",{type:"image/webp",srcSet:"https://newoaks.s3.us-west-1.amazonaws.com/AutoDev/66721/a478e666-4b05-4174-a5fa-dd861b7434fa.png","data-id":"e703k5fsx","data-path":"src/pages/HomePage.tsx"}),i.jsx("img",{src:"https://newoaks.s3.us-west-1.amazonaws.com/AutoDev/66721/a478e666-4b05-4174-a5fa-dd861b7434fa.png",alt:"Interior of an air duct before cleaning showing thick layers of dust, debris, and contaminant buildup left by a previous inadequate cleaning",className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-500",loading:"lazy",decoding:"async","data-id":"vygeyoyku","data-path":"src/pages/HomePage.tsx"})]}),i.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/40 via-transparent to-transparent","data-id":"bwsa4sa6v","data-path":"src/pages/HomePage.tsx"}),i.jsx("div",{className:"absolute top-4 left-4","data-id":"xqo3l2zr7","data-path":"src/pages/HomePage.tsx",children:i.jsxs("span",{className:"inline-flex items-center gap-2 bg-red-500 text-white text-xs font-bold uppercase tracking-wider px-3 py-1.5 rounded-full shadow-lg","data-id":"csfjswdsz","data-path":"src/pages/HomePage.tsx",children:[i.jsx(Os,{className:"w-3.5 h-3.5","data-id":"c75rplato","data-path":"src/pages/HomePage.tsx"}),"Before"]})})]}),i.jsxs("p",{className:"mt-4 text-center text-base md:text-lg text-gray-700 font-medium","data-id":"st26ngcwo","data-path":"src/pages/HomePage.tsx",children:[i.jsx("span",{className:"font-bold text-navy","data-id":"jjdsrnqg2","data-path":"src/pages/HomePage.tsx",children:"Before:"})," Buildup left behind by previous cleaning"]})]}),i.jsxs("div",{className:"group","data-id":"9p565leui","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"relative rounded-2xl overflow-hidden shadow-xl bg-gray-900 aspect-[4/3]","data-id":"0c3f1esn7","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("picture",{className:"block w-full h-full","data-id":"3u2pi2bfr","data-path":"src/pages/HomePage.tsx",children:[i.jsx("source",{type:"image/webp",srcSet:"https://newoaks.s3.us-west-1.amazonaws.com/AutoDev/66721/4f5c1568-cdd4-4d1e-8407-b19501682644.png","data-id":"ilhrqnspu","data-path":"src/pages/HomePage.tsx"}),i.jsx("img",{src:"https://newoaks.s3.us-west-1.amazonaws.com/AutoDev/66721/4f5c1568-cdd4-4d1e-8407-b19501682644.png",alt:"Spotlessly clean air duct interior after Quality Air Duct Cleaning truck-mounted negative air machine service — zero dust or debris remaining",className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-500",loading:"lazy",decoding:"async","data-id":"acfqyxk1f","data-path":"src/pages/HomePage.tsx"})]}),i.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/40 via-transparent to-transparent","data-id":"6h0kzfkth","data-path":"src/pages/HomePage.tsx"}),i.jsx("div",{className:"absolute top-4 left-4","data-id":"u8wotroiu","data-path":"src/pages/HomePage.tsx",children:i.jsxs("span",{className:"inline-flex items-center gap-2 bg-lime text-navy text-xs font-bold uppercase tracking-wider px-3 py-1.5 rounded-full shadow-lg","data-id":"6nawbllo8","data-path":"src/pages/HomePage.tsx",children:[i.jsx(F,{className:"w-3.5 h-3.5","data-id":"3tvvbtr7q","data-path":"src/pages/HomePage.tsx"}),"After"]})})]}),i.jsxs("p",{className:"mt-4 text-center text-base md:text-lg text-gray-700 font-medium","data-id":"rgthdlph3","data-path":"src/pages/HomePage.tsx",children:[i.jsx("span",{className:"font-bold text-navy","data-id":"lvzvhmucq","data-path":"src/pages/HomePage.tsx",children:"After:"})," A properly cleaned system"]})]})]}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4 mt-12","data-id":"r2obfh6xx","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"flex items-center gap-3 bg-gray-50 rounded-xl p-4","data-id":"d0qv6orz0","data-path":"src/pages/HomePage.tsx",children:[i.jsx(F,{className:"w-6 h-6 text-lime flex-shrink-0","data-id":"dhrtmcu4z","data-path":"src/pages/HomePage.tsx"}),i.jsx("p",{className:"text-sm text-gray-700 font-medium","data-id":"nquk39wih","data-path":"src/pages/HomePage.tsx",children:"Visible debris & dust removed"})]}),i.jsxs("div",{className:"flex items-center gap-3 bg-gray-50 rounded-xl p-4","data-id":"luv4v80e0","data-path":"src/pages/HomePage.tsx",children:[i.jsx(F,{className:"w-6 h-6 text-lime flex-shrink-0","data-id":"q7qq03dpp","data-path":"src/pages/HomePage.tsx"}),i.jsx("p",{className:"text-sm text-gray-700 font-medium","data-id":"1q89ebsjy","data-path":"src/pages/HomePage.tsx",children:"Improved airflow & efficiency"})]}),i.jsxs("div",{className:"flex items-center gap-3 bg-gray-50 rounded-xl p-4","data-id":"xp5d5wzkv","data-path":"src/pages/HomePage.tsx",children:[i.jsx(F,{className:"w-6 h-6 text-lime flex-shrink-0","data-id":"7998ukskz","data-path":"src/pages/HomePage.tsx"}),i.jsx("p",{className:"text-sm text-gray-700 font-medium","data-id":"9hitc5s8n","data-path":"src/pages/HomePage.tsx",children:"Cleaner, healthier indoor air"})]})]})]})]})]}),i.jsxs("section",{className:"py-12 md:py-24 lg:py-32 bg-white relative overflow-hidden","data-id":"13ve6ay5c","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"absolute inset-0 opacity-[0.03] pointer-events-none","data-id":"8ot5xs026","data-path":"src/pages/HomePage.tsx",children:[i.jsx("div",{className:"absolute top-20 left-20 w-96 h-96 bg-lime rounded-full blur-3xl","data-id":"p7top7qn1","data-path":"src/pages/HomePage.tsx"}),i.jsx("div",{className:"absolute bottom-20 right-20 w-96 h-96 bg-navy rounded-full blur-3xl","data-id":"yy4443afw","data-path":"src/pages/HomePage.tsx"})]}),i.jsxs("div",{className:"relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"8htxxpp1m","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"text-center mb-12","data-id":"q47p19g96","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"inline-flex items-center gap-2 bg-gray-50 border border-gray-200 rounded-full px-5 py-2 mb-6 shadow-sm","data-id":"jrkdq1zv5","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("svg",{className:"w-5 h-5",viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg","data-id":"pqqkjh99d","data-path":"src/pages/HomePage.tsx",children:[i.jsx("path",{fill:"#FFC107",d:"M43.611,20.083H42V20H24v8h11.303c-1.649,4.657-6.08,8-11.303,8c-6.627,0-12-5.373-12-12c0-6.627,5.373-12,12-12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C12.955,4,4,12.955,4,24c0,11.045,8.955,20,20,20c11.045,0,20-8.955,20-20C44,22.659,43.862,21.35,43.611,20.083z","data-id":"sbsau8uh7","data-path":"src/pages/HomePage.tsx"}),i.jsx("path",{fill:"#FF3D00",d:"M6.306,14.691l6.571,4.819C14.655,15.108,18.961,12,24,12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C16.318,4,9.656,8.337,6.306,14.691z","data-id":"8m3yjrnjy","data-path":"src/pages/HomePage.tsx"}),i.jsx("path",{fill:"#4CAF50",d:"M24,44c5.166,0,9.86-1.977,13.409-5.192l-6.19-5.238C29.211,35.091,26.715,36,24,36c-5.202,0-9.619-3.317-11.283-7.946l-6.522,5.025C9.505,39.556,16.227,44,24,44z","data-id":"8kpae99ay","data-path":"src/pages/HomePage.tsx"}),i.jsx("path",{fill:"#1976D2",d:"M43.611,20.083H42V20H24v8h11.303c-0.792,2.237-2.231,4.166-4.087,5.571c0.001-0.001,0.002-0.001,0.003-0.002l6.19,5.238C36.971,39.205,44,34,44,24C44,22.659,43.862,21.35,43.611,20.083z","data-id":"gx5opvh23","data-path":"src/pages/HomePage.tsx"})]}),i.jsx("span",{className:"text-sm font-semibold text-gray-700","data-id":"9sy7pv659","data-path":"src/pages/HomePage.tsx",children:"Verified Google Reviews"})]}),i.jsx("h2",{className:"text-2xl sm:text-3xl md:text-5xl font-bold text-navy mb-4","data-id":"1bozr97wx","data-path":"src/pages/HomePage.tsx",children:"See Why 89+ Customers Love Us"}),i.jsx("p",{className:"text-lg text-gray-600 max-w-2xl mx-auto","data-id":"t72e9y7mh","data-path":"src/pages/HomePage.tsx",children:"Read genuine, verified reviews from homeowners across Simcoe County on Google"})]}),i.jsxs("div",{className:"grid lg:grid-cols-5 gap-4 sm:gap-6 md:gap-8 items-stretch","data-id":"2004emjsu","data-path":"src/pages/HomePage.tsx",children:[i.jsx("div",{className:"lg:col-span-2","data-id":"njmuai18g","data-path":"src/pages/HomePage.tsx",children:i.jsxs(Ve,{className:"border-0 shadow-2xl h-full bg-gradient-to-br from-white to-gray-50 overflow-hidden relative group","data-id":"jfzmf6v6p","data-path":"src/pages/HomePage.tsx",children:[i.jsx("div",{className:"absolute -top-20 -right-20 w-64 h-64 bg-lime/10 rounded-full blur-3xl group-hover:bg-lime/20 transition-colors duration-700","data-id":"87sxswsfy","data-path":"src/pages/HomePage.tsx"}),i.jsxs(qe,{className:"p-8 md:p-10 relative","data-id":"vhs0yowij","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"flex items-center gap-3 mb-8","data-id":"0djcrol66","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("svg",{className:"w-10 h-10",viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg","data-id":"13jz6tblt","data-path":"src/pages/HomePage.tsx",children:[i.jsx("path",{fill:"#FFC107",d:"M43.611,20.083H42V20H24v8h11.303c-1.649,4.657-6.08,8-11.303,8c-6.627,0-12-5.373-12-12c0-6.627,5.373-12,12-12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C12.955,4,4,12.955,4,24c0,11.045,8.955,20,20,20c11.045,0,20-8.955,20-20C44,22.659,43.862,21.35,43.611,20.083z","data-id":"99kg8mgnu","data-path":"src/pages/HomePage.tsx"}),i.jsx("path",{fill:"#FF3D00",d:"M6.306,14.691l6.571,4.819C14.655,15.108,18.961,12,24,12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C16.318,4,9.656,8.337,6.306,14.691z","data-id":"mk8mnj89b","data-path":"src/pages/HomePage.tsx"}),i.jsx("path",{fill:"#4CAF50",d:"M24,44c5.166,0,9.86-1.977,13.409-5.192l-6.19-5.238C29.211,35.091,26.715,36,24,36c-5.202,0-9.619-3.317-11.283-7.946l-6.522,5.025C9.505,39.556,16.227,44,24,44z","data-id":"fq7er0d56","data-path":"src/pages/HomePage.tsx"}),i.jsx("path",{fill:"#1976D2",d:"M43.611,20.083H42V20H24v8h11.303c-0.792,2.237-2.231,4.166-4.087,5.571l6.19,5.238C36.971,39.205,44,34,44,24C44,22.659,43.862,21.35,43.611,20.083z","data-id":"ieg7zeh93","data-path":"src/pages/HomePage.tsx"})]}),i.jsxs("div",{"data-id":"4m24akn5f","data-path":"src/pages/HomePage.tsx",children:[i.jsx("p",{className:"text-sm font-semibold text-gray-500 uppercase tracking-wide","data-id":"klfiep8fa","data-path":"src/pages/HomePage.tsx",children:"Google Rating"}),i.jsx("p",{className:"text-xs text-gray-400","data-id":"d47d80a4x","data-path":"src/pages/HomePage.tsx",children:"Quality Air Duct Cleaning"})]})]}),i.jsxs("div",{className:"flex items-baseline gap-2 mb-3","data-id":"6yoff86bk","data-path":"src/pages/HomePage.tsx",children:[i.jsx("span",{className:"text-6xl md:text-7xl font-extrabold text-navy","data-id":"dzj4u6sod","data-path":"src/pages/HomePage.tsx",children:"4.9"}),i.jsx("span",{className:"text-2xl font-semibold text-gray-400","data-id":"5rwlsqt95","data-path":"src/pages/HomePage.tsx",children:"/ 5"})]}),i.jsx("div",{className:"flex items-center gap-1 mb-4","data-id":"8oyyde7d1","data-path":"src/pages/HomePage.tsx",children:[...Array(5)].map((n,r)=>i.jsx(Oa,{className:"w-7 h-7 text-yellow-400 fill-yellow-400","data-id":"t1fvirlje","data-path":"src/pages/HomePage.tsx"},r))}),i.jsxs("p",{className:"text-gray-700 mb-8","data-id":"r1jywulww","data-path":"src/pages/HomePage.tsx",children:["Based on ",i.jsx("span",{className:"font-bold text-navy","data-id":"pyewsvp4n","data-path":"src/pages/HomePage.tsx",children:"93 verified reviews"})," from real customers"]}),i.jsx("div",{className:"space-y-3 mb-8","data-id":"whuaijtl6","data-path":"src/pages/HomePage.tsx",children:[{stars:5,percent:96},{stars:4,percent:3},{stars:3,percent:1}].map(({stars:n,percent:r})=>i.jsxs("div",{className:"flex items-center gap-3","data-id":"q9noo9qtc","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("span",{className:"text-sm font-medium text-gray-600 w-6","data-id":"8nx0m2w9e","data-path":"src/pages/HomePage.tsx",children:[n,"★"]}),i.jsx("div",{className:"flex-1 h-2 bg-gray-200 rounded-full overflow-hidden","data-id":"oev2oxreb","data-path":"src/pages/HomePage.tsx",children:i.jsx("div",{className:"h-full bg-gradient-to-r from-yellow-400 to-yellow-500 rounded-full transition-all duration-1000",style:{width:`${r}%`},"data-id":"68swqxmig","data-path":"src/pages/HomePage.tsx"})}),i.jsxs("span",{className:"text-sm font-semibold text-gray-700 w-10 text-right","data-id":"xrasxea31","data-path":"src/pages/HomePage.tsx",children:[r,"%"]})]},n))}),i.jsx("a",{href:"https://www.google.com/maps/search/?api=1&query=Quality+Air+Duct+Cleaning",target:"_blank",rel:"noopener noreferrer",className:"block","data-id":"s9wdibsud","data-path":"src/pages/HomePage.tsx",children:i.jsxs(q,{className:"w-full bg-navy hover:bg-navy-light text-white font-bold py-6 text-base shadow-lg hover:shadow-xl transition-all group/btn","data-id":"aae2wcywf","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("svg",{className:"w-5 h-5 mr-2",viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg","data-id":"jhjfo34p8","data-path":"src/pages/HomePage.tsx",children:[i.jsx("path",{fill:"#FFC107",d:"M43.611,20.083H42V20H24v8h11.303c-1.649,4.657-6.08,8-11.303,8c-6.627,0-12-5.373-12-12c0-6.627,5.373-12,12-12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C12.955,4,4,12.955,4,24c0,11.045,8.955,20,20,20c11.045,0,20-8.955,20-20C44,22.659,43.862,21.35,43.611,20.083z","data-id":"ci62y24d1","data-path":"src/pages/HomePage.tsx"}),i.jsx("path",{fill:"#FF3D00",d:"M6.306,14.691l6.571,4.819C14.655,15.108,18.961,12,24,12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C16.318,4,9.656,8.337,6.306,14.691z","data-id":"hebbfmnvo","data-path":"src/pages/HomePage.tsx"}),i.jsx("path",{fill:"#4CAF50",d:"M24,44c5.166,0,9.86-1.977,13.409-5.192l-6.19-5.238C29.211,35.091,26.715,36,24,36c-5.202,0-9.619-3.317-11.283-7.946l-6.522,5.025C9.505,39.556,16.227,44,24,44z","data-id":"rhkj9aqem","data-path":"src/pages/HomePage.tsx"}),i.jsx("path",{fill:"#1976D2",d:"M43.611,20.083H42V20H24v8h11.303c-0.792,2.237-2.231,4.166-4.087,5.571l6.19,5.238C36.971,39.205,44,34,44,24C44,22.659,43.862,21.35,43.611,20.083z","data-id":"2ua9ujrer","data-path":"src/pages/HomePage.tsx"})]}),"Read All 93 Reviews on Google",i.jsx(Xd,{className:"w-5 h-5 ml-1 group-hover/btn:translate-x-1 transition-transform","data-id":"l8zytzp38","data-path":"src/pages/HomePage.tsx"})]})})]})]})}),i.jsxs("div",{className:"lg:col-span-3","data-id":"zavdyo1ge","data-path":"src/pages/HomePage.tsx",children:[i.jsx(Ve,{className:"border-0 shadow-2xl h-full overflow-hidden group","data-id":"bjhidk8rc","data-path":"src/pages/HomePage.tsx",children:i.jsx("div",{className:"relative h-full min-h-[300px]","data-id":"r8nixidh6","data-path":"src/pages/HomePage.tsx",children:i.jsx("iframe",{src:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d5771252.431976655!2d-87.04952974310284!3d45.06562566181994!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x882ae62b09989b77%3A0x763de32124967960!2sQuality%20Air%20Duct%20Cleaning!5e0!3m2!1sen!2sca!4v1777139857371!5m2!1sen!2sca",width:"100%",height:"100%",style:{border:0,minHeight:"300px"},allowFullScreen:!0,loading:"lazy",referrerPolicy:"no-referrer-when-downgrade",title:"Quality Air Duct Cleaning - Google Reviews & Location",className:"absolute inset-0","data-id":"plpwbzeiy","data-path":"src/pages/HomePage.tsx"})})}),i.jsxs("div",{className:"grid grid-cols-3 gap-3 mt-4","data-id":"7d2wxglj1","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"bg-gradient-to-br from-gray-50 to-white border border-gray-100 rounded-xl p-4 text-center shadow-sm hover:shadow-md transition-shadow","data-id":"i48ulwcun","data-path":"src/pages/HomePage.tsx",children:[i.jsx(Hn,{className:"w-6 h-6 text-lime mx-auto mb-2","data-id":"hungxvaew","data-path":"src/pages/HomePage.tsx"}),i.jsx("p",{className:"text-xs font-semibold text-navy","data-id":"q9r8hr1l5","data-path":"src/pages/HomePage.tsx",children:"Verified Business"})]}),i.jsxs("div",{className:"bg-gradient-to-br from-gray-50 to-white border border-gray-100 rounded-xl p-4 text-center shadow-sm hover:shadow-md transition-shadow","data-id":"akmf2u69l","data-path":"src/pages/HomePage.tsx",children:[i.jsx(Jo,{className:"w-6 h-6 text-lime mx-auto mb-2","data-id":"p674v8wma","data-path":"src/pages/HomePage.tsx"}),i.jsx("p",{className:"text-xs font-semibold text-navy","data-id":"hsy3lgehi","data-path":"src/pages/HomePage.tsx",children:"Top Rated Local"})]}),i.jsxs("div",{className:"bg-gradient-to-br from-gray-50 to-white border border-gray-100 rounded-xl p-4 text-center shadow-sm hover:shadow-md transition-shadow","data-id":"52zuvfkiu","data-path":"src/pages/HomePage.tsx",children:[i.jsx(Zd,{className:"w-6 h-6 text-lime mx-auto mb-2","data-id":"4c70kg188","data-path":"src/pages/HomePage.tsx"}),i.jsx("p",{className:"text-xs font-semibold text-navy","data-id":"q5sgxyd99","data-path":"src/pages/HomePage.tsx",children:"89+ Happy Clients"})]})]})]})]}),i.jsx("div",{className:"mt-8","data-id":"p37knz6g6","data-path":"src/pages/HomePage.tsx",children:i.jsxs(Ve,{className:"border-0 shadow-2xl bg-gradient-to-br from-navy via-navy-light to-navy text-white overflow-hidden relative","data-id":"mysk2wwi8","data-path":"src/pages/HomePage.tsx",children:[i.jsx("div",{className:"absolute -top-24 -left-24 w-72 h-72 bg-lime/20 rounded-full blur-3xl","data-id":"zno5rhdie","data-path":"src/pages/HomePage.tsx"}),i.jsx("div",{className:"absolute -bottom-24 -right-24 w-72 h-72 bg-lime/10 rounded-full blur-3xl","data-id":"92xs49y2v","data-path":"src/pages/HomePage.tsx"}),i.jsx(qe,{className:"relative p-8 md:p-12","data-id":"em9bm9vy6","data-path":"src/pages/HomePage.tsx",children:i.jsxs("div",{className:"grid md:grid-cols-12 gap-8 items-center","data-id":"81q84m05x","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"md:col-span-9","data-id":"b9pn93uvl","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"flex items-center gap-3 mb-5","data-id":"e4ha9qdyn","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("span",{className:"inline-flex items-center gap-2 bg-lime/20 border border-lime/30 rounded-full px-3 py-1","data-id":"xj1jc7fx5","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("svg",{className:"w-4 h-4",viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg","data-id":"zedka4t5y","data-path":"src/pages/HomePage.tsx",children:[i.jsx("path",{fill:"#FFC107",d:"M43.611,20.083H42V20H24v8h11.303c-1.649,4.657-6.08,8-11.303,8c-6.627,0-12-5.373-12-12c0-6.627,5.373-12,12-12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C12.955,4,4,12.955,4,24c0,11.045,8.955,20,20,20c11.045,0,20-8.955,20-20C44,22.659,43.862,21.35,43.611,20.083z","data-id":"jvclkeawg","data-path":"src/pages/HomePage.tsx"}),i.jsx("path",{fill:"#FF3D00",d:"M6.306,14.691l6.571,4.819C14.655,15.108,18.961,12,24,12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C16.318,4,9.656,8.337,6.306,14.691z","data-id":"xvuj6w03h","data-path":"src/pages/HomePage.tsx"}),i.jsx("path",{fill:"#4CAF50",d:"M24,44c5.166,0,9.86-1.977,13.409-5.192l-6.19-5.238C29.211,35.091,26.715,36,24,36c-5.202,0-9.619-3.317-11.283-7.946l-6.522,5.025C9.505,39.556,16.227,44,24,44z","data-id":"p230ypekb","data-path":"src/pages/HomePage.tsx"}),i.jsx("path",{fill:"#1976D2",d:"M43.611,20.083H42V20H24v8h11.303c-0.792,2.237-2.231,4.166-4.087,5.571l6.19,5.238C36.971,39.205,44,34,44,24C44,22.659,43.862,21.35,43.611,20.083z","data-id":"kr624cdkp","data-path":"src/pages/HomePage.tsx"})]}),i.jsx("span",{className:"text-xs font-semibold text-white uppercase tracking-wide","data-id":"5iwdcb8g7","data-path":"src/pages/HomePage.tsx",children:"Verified Google Review"})]}),i.jsx("div",{className:"flex","data-id":"jboxk82ha","data-path":"src/pages/HomePage.tsx",children:[...Array(It[e].rating)].map((n,r)=>i.jsx(Oa,{className:"w-4 h-4 text-yellow-400 fill-yellow-400","data-id":"fafdbrgdn","data-path":"src/pages/HomePage.tsx"},r))})]}),i.jsx("svg",{className:"w-10 h-10 text-lime mb-3 opacity-80",fill:"currentColor",viewBox:"0 0 32 32","aria-hidden":"true","data-id":"oikxr4n6v","data-path":"src/pages/HomePage.tsx",children:i.jsx("path",{d:"M9.352 4C4.456 7.456 1 13.12 1 19.36c0 5.088 3.072 8.064 6.624 8.064 3.36 0 5.856-2.688 5.856-5.856 0-3.168-2.208-5.472-5.088-5.472-.576 0-1.344.096-1.536.192.48-3.264 3.552-7.104 6.624-9.024L9.352 4zm16.512 0c-4.8 3.456-8.256 9.12-8.256 15.36 0 5.088 3.072 8.064 6.624 8.064 3.264 0 5.856-2.688 5.856-5.856 0-3.168-2.304-5.472-5.184-5.472-.576 0-1.248.096-1.44.192.48-3.264 3.456-7.104 6.528-9.024L25.864 4z","data-id":"a4xk51vxt","data-path":"src/pages/HomePage.tsx"})}),i.jsxs("p",{className:"text-xl md:text-2xl text-white/95 mb-6 leading-relaxed font-medium","data-id":"b1ls4eo7p","data-path":"src/pages/HomePage.tsx",children:['"',It[e].text,'"']}),i.jsxs("div",{className:"flex items-center gap-4","data-id":"14hdrxpkw","data-path":"src/pages/HomePage.tsx",children:[i.jsx("div",{className:"w-12 h-12 rounded-full bg-gradient-to-br from-lime to-lime-light flex items-center justify-center text-navy font-bold text-lg shadow-lg","data-id":"w9nach737","data-path":"src/pages/HomePage.tsx",children:It[e].name.charAt(0)}),i.jsxs("div",{"data-id":"grnti87vh","data-path":"src/pages/HomePage.tsx",children:[i.jsx("p",{className:"font-bold text-white text-lg","data-id":"yh4899mza","data-path":"src/pages/HomePage.tsx",children:It[e].name}),i.jsx("p",{className:"text-white/70 text-sm","data-id":"okjn77rmk","data-path":"src/pages/HomePage.tsx",children:It[e].location})]})]})]}),i.jsxs("div",{className:"md:col-span-3 flex md:flex-col items-center md:items-end justify-center md:justify-center gap-4","data-id":"2zm7d926d","data-path":"src/pages/HomePage.tsx",children:[i.jsx("div",{className:"flex md:flex-col items-center gap-2 order-2 md:order-1","data-id":"f4fv6qrxf","data-path":"src/pages/HomePage.tsx",children:It.map((n,r)=>i.jsx("button",{onClick:()=>t(r),className:`transition-all rounded-full ${r===e?"bg-lime w-8 h-3 md:w-3 md:h-8":"bg-white/30 w-3 h-3 hover:bg-white/50"}`,"aria-label":`Go to review ${r+1}`,"data-id":"52gzlfh71","data-path":"src/pages/HomePage.tsx"},r))}),i.jsxs("div",{className:"flex gap-3 order-1 md:order-2","data-id":"2g0c4bdwg","data-path":"src/pages/HomePage.tsx",children:[i.jsx("button",{onClick:s,className:"w-11 h-11 rounded-full bg-white/10 backdrop-blur border border-white/20 flex items-center justify-center hover:bg-lime hover:text-navy hover:border-lime transition-all","aria-label":"Previous review","data-id":"4ez10amzu","data-path":"src/pages/HomePage.tsx",children:i.jsx(hC,{className:"w-5 h-5","data-id":"tjpkfdv3l","data-path":"src/pages/HomePage.tsx"})}),i.jsx("button",{onClick:a,className:"w-11 h-11 rounded-full bg-white/10 backdrop-blur border border-white/20 flex items-center justify-center hover:bg-lime hover:text-navy hover:border-lime transition-all","aria-label":"Next review","data-id":"zjcl3mc0e","data-path":"src/pages/HomePage.tsx",children:i.jsx(Xd,{className:"w-5 h-5","data-id":"kgvinswij","data-path":"src/pages/HomePage.tsx"})})]})]})]})})]})})]})]}),i.jsx("section",{className:"py-16 md:py-20 bg-white","data-id":"lq34zpx7o","data-path":"src/pages/HomePage.tsx",children:i.jsx("div",{className:"max-w-5xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"kc5lc0gq3","data-path":"src/pages/HomePage.tsx",children:i.jsxs("div",{className:"relative rounded-3xl bg-gradient-to-br from-yellow-50 via-white to-yellow-50 border-2 border-yellow-400 shadow-2xl overflow-hidden","data-id":"lefqhfvoc","data-path":"src/pages/HomePage.tsx",children:[i.jsx("div",{className:"absolute -top-16 -right-16 w-64 h-64 bg-yellow-300/30 rounded-full blur-3xl","data-id":"rf9yotra8","data-path":"src/pages/HomePage.tsx"}),i.jsx("div",{className:"absolute -bottom-16 -left-16 w-64 h-64 bg-lime/20 rounded-full blur-3xl","data-id":"q7gs9mr9t","data-path":"src/pages/HomePage.tsx"}),i.jsxs("div",{className:"relative p-8 md:p-12 lg:p-14 text-center","data-id":"r5wdd7t43","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"inline-flex items-center gap-2 bg-yellow-400 text-navy rounded-full px-4 py-1.5 mb-6 shadow-md","data-id":"l8i4a42f4","data-path":"src/pages/HomePage.tsx",children:[i.jsx(Os,{className:"w-4 h-4","data-id":"6jjwlwvkh","data-path":"src/pages/HomePage.tsx"}),i.jsx("span",{className:"text-xs font-bold uppercase tracking-wider","data-id":"5h7t02ky1","data-path":"src/pages/HomePage.tsx",children:"Pricing Transparency"})]}),i.jsx("h2",{className:"text-3xl md:text-4xl lg:text-5xl font-extrabold text-navy mb-6 leading-tight","data-id":"n583vtppd","data-path":"src/pages/HomePage.tsx",children:"What Does Proper Duct Cleaning Cost?"}),i.jsxs("p",{className:"text-lg md:text-xl text-gray-800 max-w-3xl mx-auto mb-8 leading-relaxed","data-id":"uvkwhz0hy","data-path":"src/pages/HomePage.tsx",children:["Most homes typically range between ",i.jsx("span",{className:"font-bold text-navy","data-id":"yupijt7jj","data-path":"src/pages/HomePage.tsx",children:"$350 – $450"}),". If you're seeing ",i.jsx("span",{className:"font-bold text-red-600","data-id":"syyg3gyuw","data-path":"src/pages/HomePage.tsx",children:"$99–$199 offers"}),", it's important to understand what's included — and what's not."]}),i.jsx(_,{to:"/contact","data-id":"g0k0tp56q","data-path":"src/pages/HomePage.tsx",children:i.jsx(q,{size:"lg",className:"bg-navy hover:bg-navy-light text-white font-bold text-lg px-10 py-6 rounded-full shadow-xl hover:shadow-2xl transition-all","data-id":"8wliiz9gz","data-path":"src/pages/HomePage.tsx",children:"Get a Real Quote"})})]})]})})}),i.jsxs("section",{className:"py-12 md:py-24 lg:py-32 bg-gradient-to-br from-navy via-navy-light to-navy relative overflow-hidden","data-id":"cp34cpgpv","data-path":"src/pages/HomePage.tsx",children:[i.jsxs("div",{className:"absolute inset-0 opacity-10","data-id":"nl27nou6m","data-path":"src/pages/HomePage.tsx",children:[i.jsx("div",{className:"absolute top-10 right-10 w-72 h-72 bg-lime rounded-full blur-3xl","data-id":"pmskwe0wn","data-path":"src/pages/HomePage.tsx"}),i.jsx("div",{className:"absolute bottom-10 left-10 w-96 h-96 bg-lime rounded-full blur-3xl","data-id":"h3oy99y36","data-path":"src/pages/HomePage.tsx"})]}),i.jsxs("div",{className:"relative max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center text-white","data-id":"o3p70q7m1","data-path":"src/pages/HomePage.tsx",children:[i.jsx("h2",{className:"text-2xl sm:text-3xl md:text-4xl font-bold mb-6","data-id":"p1vts9pb4","data-path":"src/pages/HomePage.tsx",children:"Ready for Cleaner Air in Your Home?"}),i.jsx("p",{id:"about-summary",className:"text-xl text-gray-300 mb-8 max-w-2xl mx-auto","data-id":"u7hvsc0hq","data-path":"src/pages/HomePage.tsx",children:"Join 89+ Simcoe County homeowners who trust Quality Air Duct Cleaning for honest, professional service."}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 sm:gap-4 justify-center","data-id":"h13ytnve0","data-path":"src/pages/HomePage.tsx",children:[i.jsx(_,{to:"/contact","data-id":"bwlyia18m","data-path":"src/pages/HomePage.tsx",children:i.jsx(q,{size:"lg",className:"bg-lime hover:bg-lime-dark text-navy font-bold text-lg px-10 py-6 rounded-full shadow-xl","data-id":"p0zfbdlzk","data-path":"src/pages/HomePage.tsx",children:"Get Your Free Quote"})}),i.jsx("a",{href:"tel:9057293602","data-id":"o10ohgcfb","data-path":"src/pages/HomePage.tsx",children:i.jsxs(q,{size:"lg",variant:"outline",className:"bg-transparent border-2 border-white text-white hover:bg-white hover:text-navy font-bold text-lg px-10 py-6 rounded-full","data-id":"mtrfc5e2x","data-path":"src/pages/HomePage.tsx",children:[i.jsx(Ce,{className:"w-5 h-5 mr-2","data-id":"4rs9xp1of","data-path":"src/pages/HomePage.tsx"}),"(905) 729-3602"]})})]}),i.jsx("p",{className:"mt-6 text-base md:text-lg text-gray-300 italic","data-id":"6bemjjzty","data-path":"src/pages/HomePage.tsx",children:"Speak directly with a technician — no call centers"})]})]})]})}const t6=[{icon:RC,title:"Allergy & Asthma Relief",description:"Remove dust mites, pet dander, pollen, and mold spores that trigger respiratory issues. Many customers report immediate improvement."},{icon:n0,title:"Improved Air Quality",description:"Your family breathes 20,000+ breaths per day at home. Clean ducts mean cleaner air with every single breath."},{icon:nN,title:"Better HVAC Efficiency",description:"Clean ducts allow air to flow freely, reducing strain on your furnace and A/C. Most homes see 20-30% efficiency gains."},{icon:go,title:"Lower Energy Bills",description:"When your HVAC doesn't have to work as hard, you use less energy. Clean ducts pay for themselves over time."},{icon:Hn,title:"Extend Equipment Life",description:"Dirty ducts force your HVAC to work overtime. Regular cleaning can add years to your furnace and A/C lifespan."},{icon:Ws,title:"Reduce Household Dust",description:"Tired of dusting constantly? Much of that dust is circulating through your ducts. One cleaning can make a noticeable difference."}],Im=[{step:"1",title:"Free Inspection",description:"We examine your duct system, identify any issues, and provide an honest quote. No pressure, no hidden fees."},{step:"2",title:"Connect Equipment",description:"Our truck-mounted negative air machine connects to your main trunk line, creating powerful suction throughout the system."},{step:"3",title:"Agitate & Extract",description:"We use professional tools to dislodge debris from every vent, register, and trunk line. The vacuum pulls it all out."},{step:"4",title:"Final Inspection",description:"We show you before/after photos, ensure everything is clean, and answer any questions. You'll see the difference."}];function a6(){return i.jsxs(ba,{"data-id":"401h7h5mg","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsxs(Pt,{"data-id":"v2n1lrvvq","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx("title",{"data-id":"p0glindog","data-path":"src/pages/ResidentialPage.tsx",children:"Residential Air Duct Cleaning | Quality Air Duct Cleaning - Alliston, ON"}),i.jsx("meta",{name:"description",content:"Breathe cleaner air at home with professional residential duct cleaning in Simcoe County. Truck-mounted equipment, no hidden fees. Get your free quote today.","data-id":"3ei5rclax","data-path":"src/pages/ResidentialPage.tsx"}),i.jsx("link",{rel:"preload",as:"image",href:"https://newoaks.s3.us-west-1.amazonaws.com/NewOaks/5500/c4df1917-9067-4f4c-a74b-ff0292e12aa1.png",fetchPriority:"high","data-id":"8ll2g1p4o","data-path":"src/pages/ResidentialPage.tsx"}),i.jsx("script",{type:"application/ld+json","data-id":"jv1kj43s7","data-path":"src/pages/ResidentialPage.tsx",children:JSON.stringify({"@context":"https://schema.org","@type":"Service",serviceType:"Residential Air Duct Cleaning",name:"Residential Air Duct Cleaning",description:"Professional residential air duct cleaning using truck-mounted equipment with 16,000+ CFM suction. Removes dust, allergens, pet dander, mould spores, and debris from your entire HVAC duct system including supply and return ducts, grilles, heat exchangers, and air handling unit. Typical service takes 2–4 hours. Serving homes throughout Simcoe County, Ontario.",provider:{"@type":"LocalBusiness",name:"Quality Air Duct Cleaning","@id":"https://qualityairductcleaning.ca/#business",telephone:"+19057293602",address:{"@type":"PostalAddress",addressLocality:"Alliston",addressRegion:"ON",addressCountry:"CA"}},areaServed:[{"@type":"City",name:"Alliston, Ontario"},{"@type":"City",name:"Barrie, Ontario"},{"@type":"City",name:"Bradford, Ontario"},{"@type":"City",name:"Innisfil, Ontario"},{"@type":"City",name:"Collingwood, Ontario"},{"@type":"City",name:"Angus, Ontario"},{"@type":"City",name:"Orillia, Ontario"},{"@type":"City",name:"New Tecumseth, Ontario"}],url:"https://qualityairductcleaning.ca/residential",offers:{"@type":"Offer",description:"Free inspection with upfront transparent pricing. No hidden fees.",priceCurrency:"CAD"}})})]}),i.jsxs("section",{className:"relative bg-gradient-to-br from-navy via-navy-light to-navy py-12 sm:py-16 md:py-20 overflow-hidden","data-id":"oaq9ftjrs","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx("div",{className:"absolute inset-0 opacity-10","data-id":"68cwrfkq4","data-path":"src/pages/ResidentialPage.tsx",children:i.jsx("div",{className:"absolute top-10 right-20 w-80 h-80 bg-lime rounded-full blur-3xl","data-id":"eodvc5l1x","data-path":"src/pages/ResidentialPage.tsx"})}),i.jsx("div",{className:"relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"07ulj1bdh","data-path":"src/pages/ResidentialPage.tsx",children:i.jsxs("div",{className:"grid lg:grid-cols-2 gap-8 md:gap-12 items-center","data-id":"wrcmshy4k","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsxs("div",{className:"text-white","data-id":"q6s8ykf95","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsxs("div",{className:"inline-flex items-center gap-2 bg-lime/20 rounded-full px-4 py-2 mb-6","data-id":"c8fnlkvb1","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx(Ws,{className:"w-5 h-5 text-lime","data-id":"zlnh8ovfg","data-path":"src/pages/ResidentialPage.tsx"}),i.jsx("span",{className:"text-sm font-medium text-lime","data-id":"yxa6o66ht","data-path":"src/pages/ResidentialPage.tsx",children:"Residential Services"})]}),i.jsxs("h1",{className:"text-2xl sm:text-3xl md:text-4xl lg:text-5xl font-bold leading-tight mb-6","data-id":"042g5fgs6","data-path":"src/pages/ResidentialPage.tsx",children:["Professional Home",i.jsx("span",{className:"text-lime","data-id":"psqx1eyi0","data-path":"src/pages/ResidentialPage.tsx",children:" Air Duct Cleaning"})]}),i.jsx("p",{className:"text-xl text-gray-300 mb-8 leading-relaxed","data-id":"o54dfw61x","data-path":"src/pages/ResidentialPage.tsx",children:"Your family deserves to breathe clean air. Our truck-mounted equipment removes years of built-up dust, allergens, and debris from your entire duct system."}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 mb-8","data-id":"nyxvq7v9c","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx(_,{to:"/contact","data-id":"4j9kh5jpr","data-path":"src/pages/ResidentialPage.tsx",children:i.jsx(q,{size:"lg",className:"bg-lime hover:bg-lime-dark text-navy font-bold text-lg px-8 py-6 rounded-full shadow-xl w-full sm:w-auto","data-id":"0oujmstfl","data-path":"src/pages/ResidentialPage.tsx",children:"Get Your Free Quote"})}),i.jsx("a",{href:"tel:9057293602","data-id":"7va2w61zc","data-path":"src/pages/ResidentialPage.tsx",children:i.jsxs(q,{size:"lg",variant:"outline",className:"bg-transparent border-2 border-white text-white hover:bg-white hover:text-navy font-bold text-lg px-8 py-6 rounded-full w-full sm:w-auto","data-id":"ga4jeoiww","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx(Ce,{className:"w-5 h-5 mr-2","data-id":"gmw5nppl0","data-path":"src/pages/ResidentialPage.tsx"}),"(905) 729-3602"]})})]}),i.jsxs("div",{className:"flex flex-wrap gap-4","data-id":"nhlhcy6s9","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsxs("div",{className:"flex items-center gap-2 text-sm","data-id":"9a9hx1p2d","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx(F,{className:"w-5 h-5 text-lime","data-id":"mmcptfwj7","data-path":"src/pages/ResidentialPage.tsx"}),i.jsx("span",{"data-id":"tban711mz","data-path":"src/pages/ResidentialPage.tsx",children:"No Hidden Fees"})]}),i.jsxs("div",{className:"flex items-center gap-2 text-sm","data-id":"yee5wc001","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx(F,{className:"w-5 h-5 text-lime","data-id":"t3g7vcu8l","data-path":"src/pages/ResidentialPage.tsx"}),i.jsx("span",{"data-id":"yuswji05u","data-path":"src/pages/ResidentialPage.tsx",children:"Truck-Mounted Power"})]}),i.jsxs("div",{className:"flex items-center gap-2 text-sm","data-id":"03l0a6yhb","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx(F,{className:"w-5 h-5 text-lime","data-id":"9mbeczh8y","data-path":"src/pages/ResidentialPage.tsx"}),i.jsx("span",{"data-id":"fd6ato2os","data-path":"src/pages/ResidentialPage.tsx",children:"Same-Day Quotes"})]})]})]}),i.jsxs("div",{className:"relative hidden lg:block","data-id":"lqi359sd9","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsxs("picture",{"data-id":"dvaa4wzws","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx("source",{type:"image/webp",srcSet:"https://newoaks.s3.us-west-1.amazonaws.com/NewOaks/5500/c4df1917-9067-4f4c-a74b-ff0292e12aa1.png","data-id":"6kh8mvsxp","data-path":"src/pages/ResidentialPage.tsx"}),i.jsx("img",{src:"https://newoaks.s3.us-west-1.amazonaws.com/NewOaks/5500/c4df1917-9067-4f4c-a74b-ff0292e12aa1.png",alt:"Clean bright home interior in Simcoe County Ontario with freshly cleaned air ducts delivering improved indoor air quality and reduced allergens",className:"w-full rounded-2xl shadow-2xl",loading:"eager",fetchPriority:"high",decoding:"async","data-id":"uml9szyhi","data-path":"src/pages/ResidentialPage.tsx"})]}),i.jsx("div",{className:"absolute -bottom-6 -right-6 bg-white rounded-xl shadow-xl p-4","data-id":"rff1s090g","data-path":"src/pages/ResidentialPage.tsx",children:i.jsxs("div",{className:"flex items-center gap-3","data-id":"igaa4iiiu","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx("div",{className:"w-12 h-12 bg-lime rounded-full flex items-center justify-center","data-id":"3w65yp54v","data-path":"src/pages/ResidentialPage.tsx",children:i.jsx(Wn,{className:"w-6 h-6 text-navy","data-id":"2nabniq9y","data-path":"src/pages/ResidentialPage.tsx"})}),i.jsxs("div",{"data-id":"bxdlhp1ih","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx("p",{className:"font-bold text-navy","data-id":"4ewbqh5x2","data-path":"src/pages/ResidentialPage.tsx",children:"2-4 Hours"}),i.jsx("p",{className:"text-sm text-gray-500","data-id":"65iev4zdv","data-path":"src/pages/ResidentialPage.tsx",children:"Thorough Service"})]})]})})]})]})})]}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-white","data-id":"67e9d37r6","data-path":"src/pages/ResidentialPage.tsx",children:i.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"krqrbaa08","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsxs("div",{className:"text-center mb-16","data-id":"os30e9hmk","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-navy mb-4","data-id":"s0ld2gkqf","data-path":"src/pages/ResidentialPage.tsx",children:"Why Clean Your Home's Air Ducts?"}),i.jsx("p",{className:"text-lg text-gray-600 max-w-2xl mx-auto","data-id":"ozk39j8ie","data-path":"src/pages/ResidentialPage.tsx",children:"Most Simcoe County homes have never had their ducts professionally cleaned. Here's what you're missing out on."})]}),i.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 sm:gap-6 md:gap-8","data-id":"0h1o0btxw","data-path":"src/pages/ResidentialPage.tsx",children:t6.map((e,t)=>i.jsx(Ve,{className:"border-0 shadow-lg hover:shadow-xl transition-shadow","data-id":"c9y5se46w","data-path":"src/pages/ResidentialPage.tsx",children:i.jsxs(qe,{className:"p-6","data-id":"n4umzn1t3","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx("div",{className:"w-14 h-14 bg-lime/20 rounded-xl flex items-center justify-center mb-4","data-id":"fgjcfhari","data-path":"src/pages/ResidentialPage.tsx",children:i.jsx(e.icon,{className:"w-7 h-7 text-lime-dark","data-id":"79deunq9u","data-path":"src/pages/ResidentialPage.tsx"})}),i.jsx("h3",{className:"text-xl font-bold text-navy mb-3","data-id":"n2lxpy94x","data-path":"src/pages/ResidentialPage.tsx",children:e.title}),i.jsx("p",{className:"text-gray-600","data-id":"64knd5vvq","data-path":"src/pages/ResidentialPage.tsx",children:e.description})]})},t))})]})}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-gray-50","data-id":"k2gdu107c","data-path":"src/pages/ResidentialPage.tsx",children:i.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"hkdwqwhjc","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsxs("div",{className:"text-center mb-16","data-id":"8s4efzxqi","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-navy mb-4","data-id":"ao7cly05s","data-path":"src/pages/ResidentialPage.tsx",children:"Our Thorough 4-Step Process"}),i.jsx("p",{className:"text-lg text-gray-600 max-w-2xl mx-auto","data-id":"uf6qsvmvg","data-path":"src/pages/ResidentialPage.tsx",children:`No shortcuts. No "blow and go." Here's how we ensure your ducts are actually clean.`})]}),i.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4 sm:gap-6 md:gap-8","data-id":"pnn0xtx7d","data-path":"src/pages/ResidentialPage.tsx",children:Im.map((e,t)=>i.jsxs("div",{className:"relative","data-id":"ibrjkyfq0","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsxs("div",{className:"bg-white rounded-2xl p-6 shadow-lg h-full","data-id":"xcaav18c7","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx("div",{className:"w-12 h-12 bg-navy text-white rounded-full flex items-center justify-center text-xl font-bold mb-4","data-id":"7g9r0dy8a","data-path":"src/pages/ResidentialPage.tsx",children:e.step}),i.jsx("h3",{className:"text-xl font-bold text-navy mb-3","data-id":"e90g15qq3","data-path":"src/pages/ResidentialPage.tsx",children:e.title}),i.jsx("p",{className:"text-gray-600","data-id":"25iwe7id1","data-path":"src/pages/ResidentialPage.tsx",children:e.description})]}),t<Im.length-1&&i.jsx("div",{className:"hidden lg:block absolute top-1/2 -right-4 transform -translate-y-1/2 z-10","data-id":"avzyfct6v","data-path":"src/pages/ResidentialPage.tsx",children:i.jsx(Zo,{className:"w-8 h-8 text-lime","data-id":"4v8rfm4hd","data-path":"src/pages/ResidentialPage.tsx"})})]},t))})]})}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-white","data-id":"tal39n2qy","data-path":"src/pages/ResidentialPage.tsx",children:i.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"kgqzt08vo","data-path":"src/pages/ResidentialPage.tsx",children:i.jsxs("div",{className:"grid lg:grid-cols-2 gap-8 md:gap-12 items-center","data-id":"ez5eiwjnh","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsxs("div",{"data-id":"5tk1vofrw","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsxs("h2",{className:"text-3xl md:text-4xl font-bold text-navy mb-6","data-id":"j7jmerfmi","data-path":"src/pages/ResidentialPage.tsx",children:["Truck-Mounted Power,",i.jsx("br",{"data-id":"52832bhw8","data-path":"src/pages/ResidentialPage.tsx"}),i.jsx("span",{className:"text-lime-dark","data-id":"9qklmldtf","data-path":"src/pages/ResidentialPage.tsx",children:"Not Portable Toys"})]}),i.jsx("p",{className:"text-lg text-gray-600 mb-6","data-id":"6az6u56h6","data-path":"src/pages/ResidentialPage.tsx",children:'Those "$99 specials" use portable vacuums that barely move the dust around. Our truck-mounted negative air machines generate 10-15x more suction power.'}),i.jsxs("ul",{className:"space-y-4 mb-8","data-id":"xjkd1e6h1","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsxs("li",{className:"flex items-start gap-3","data-id":"9naykitif","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx(F,{className:"w-6 h-6 text-lime flex-shrink-0","data-id":"ipxtjwz1k","data-path":"src/pages/ResidentialPage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"8y9iv0xcf","data-path":"src/pages/ResidentialPage.tsx",children:"16,000+ CFM of powerful suction"})]}),i.jsxs("li",{className:"flex items-start gap-3","data-id":"bmyjsbugs","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx(F,{className:"w-6 h-6 text-lime flex-shrink-0","data-id":"m6603a100","data-path":"src/pages/ResidentialPage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"n4pnvtaao","data-path":"src/pages/ResidentialPage.tsx",children:"Creates negative pressure throughout your entire duct system"})]}),i.jsxs("li",{className:"flex items-start gap-3","data-id":"w48qaa9kq","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx(F,{className:"w-6 h-6 text-lime flex-shrink-0","data-id":"egu0cimv7","data-path":"src/pages/ResidentialPage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"nk2pongbk","data-path":"src/pages/ResidentialPage.tsx",children:"Professional-grade agitation tools for stubborn debris"})]}),i.jsxs("li",{className:"flex items-start gap-3","data-id":"ptcjy52u0","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx(F,{className:"w-6 h-6 text-lime flex-shrink-0","data-id":"bgzzy0ndm","data-path":"src/pages/ResidentialPage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"wdrqu93ay","data-path":"src/pages/ResidentialPage.tsx",children:"HEPA filtration prevents contaminants from escaping"})]})]}),i.jsx(_,{to:"/contact","data-id":"iq37rwtqv","data-path":"src/pages/ResidentialPage.tsx",children:i.jsx(q,{size:"lg",className:"bg-lime hover:bg-lime-dark text-navy font-bold px-8 py-4 rounded-full","data-id":"mtd4k9qxk","data-path":"src/pages/ResidentialPage.tsx",children:"See the Difference — Get a Quote"})})]}),i.jsxs("div",{className:"relative","data-id":"89yxrwnn1","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsxs("picture",{"data-id":"8a8yoojx6","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx("source",{type:"image/webp",srcSet:"https://newoaks.s3.us-west-1.amazonaws.com/NewOaks/5500/eeabf9f3-2a42-4b73-8997-e99ab9358010.png","data-id":"zszaqkxy7","data-path":"src/pages/ResidentialPage.tsx"}),i.jsx("img",{src:"https://newoaks.s3.us-west-1.amazonaws.com/NewOaks/5500/eeabf9f3-2a42-4b73-8997-e99ab9358010.png",alt:"Truck-mounted air duct cleaning equipment with powerful suction for professional residential duct cleaning",className:"w-2/3 max-w-xs rounded-2xl shadow-2xl mx-auto block",loading:"lazy",decoding:"async","data-id":"lfbr53tvw","data-path":"src/pages/ResidentialPage.tsx"})]}),i.jsxs("div",{className:"absolute -top-4 -left-4 bg-navy text-white rounded-xl p-4 shadow-xl","data-id":"keqrdzzxw","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx(Jo,{className:"w-8 h-8 text-lime mb-2","data-id":"d384gwzfa","data-path":"src/pages/ResidentialPage.tsx"}),i.jsx("p",{className:"font-bold","data-id":"0g5fyxo1t","data-path":"src/pages/ResidentialPage.tsx",children:"Commercial Grade"}),i.jsx("p",{className:"text-sm text-gray-300","data-id":"nr4pk857a","data-path":"src/pages/ResidentialPage.tsx",children:"Equipment"})]})]})]})})}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-navy text-white","data-id":"ue5eua8cg","data-path":"src/pages/ResidentialPage.tsx",children:i.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"m00ppaukg","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsxs("div",{className:"text-center mb-16","data-id":"cu0zkzgxk","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-4","data-id":"6wucj6y5w","data-path":"src/pages/ResidentialPage.tsx",children:"Signs Your Home Needs Duct Cleaning"}),i.jsx("p",{className:"text-lg text-gray-300 max-w-2xl mx-auto","data-id":"wmvenxtim","data-path":"src/pages/ResidentialPage.tsx",children:"Not sure if it's time? Here are the most common indicators."})]}),i.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4 md:gap-6","data-id":"fzbv081z7","data-path":"src/pages/ResidentialPage.tsx",children:["Visible dust blowing from vents","Musty or stale odors when HVAC runs","Family members with increased allergies","Recent home renovation or construction","You've never had ducts cleaned","Visible mold around vents","Excessive dust buildup in home","Inconsistent airflow between rooms","Higher than normal energy bills"].map((e,t)=>i.jsxs("div",{className:"flex items-center gap-3 bg-white/10 rounded-xl p-4","data-id":"491rf6r0m","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx(F,{className:"w-6 h-6 text-lime flex-shrink-0","data-id":"n6czkfpsz","data-path":"src/pages/ResidentialPage.tsx"}),i.jsx("span",{"data-id":"6a8rf97jr","data-path":"src/pages/ResidentialPage.tsx",children:e})]},t))}),i.jsxs("div",{className:"text-center mt-12","data-id":"kjl6wcacx","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx("p",{className:"text-gray-300 mb-6","data-id":"ejg1azjk1","data-path":"src/pages/ResidentialPage.tsx",children:"Recognize any of these? Let's take a look."}),i.jsx(_,{to:"/contact","data-id":"psklrssml","data-path":"src/pages/ResidentialPage.tsx",children:i.jsx(q,{size:"lg",className:"bg-lime hover:bg-lime-dark text-navy font-bold px-10 py-6 rounded-full","data-id":"iseds1w52","data-path":"src/pages/ResidentialPage.tsx",children:"Schedule Free Inspection"})})]})]})}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-gray-50","data-id":"lj0oeg3f6","data-path":"src/pages/ResidentialPage.tsx",children:i.jsxs("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center","data-id":"s50g456qe","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-navy mb-6","data-id":"kyrf7jz90","data-path":"src/pages/ResidentialPage.tsx",children:"Ready to Breathe Easier at Home?"}),i.jsx("p",{className:"text-xl text-gray-600 mb-8","data-id":"w0uuigd73","data-path":"src/pages/ResidentialPage.tsx",children:"Join hundreds of Simcoe County families who've discovered what clean ducts feel like. No pressure quotes, no hidden fees."}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center","data-id":"7e12bbrri","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx(_,{to:"/contact","data-id":"oqjo8c0i8","data-path":"src/pages/ResidentialPage.tsx",children:i.jsx(q,{size:"lg",className:"bg-lime hover:bg-lime-dark text-navy font-bold text-lg px-10 py-6 rounded-full shadow-xl w-full sm:w-auto","data-id":"8w3x8o2x6","data-path":"src/pages/ResidentialPage.tsx",children:"Get Your Free Quote"})}),i.jsx("a",{href:"tel:9057293602","data-id":"aahmq4ia5","data-path":"src/pages/ResidentialPage.tsx",children:i.jsxs(q,{size:"lg",variant:"outline",className:"border-2 border-navy text-navy hover:bg-navy hover:text-white font-bold text-lg px-10 py-6 rounded-full w-full sm:w-auto","data-id":"nj0a9brlj","data-path":"src/pages/ResidentialPage.tsx",children:[i.jsx(Ce,{className:"w-5 h-5 mr-2","data-id":"x1ieqv025","data-path":"src/pages/ResidentialPage.tsx"}),"(905) 729-3602"]})})]})]})})]})}const s6=[{icon:t0,title:"Office Buildings",description:"Keep employees healthy and productive with clean indoor air quality."},{icon:eN,title:"Retail Spaces",description:"Create a pleasant shopping environment for your customers."},{icon:SC,title:"Warehouses",description:"Large-scale HVAC cleaning for industrial facilities."},{icon:ZC,title:"Medical Facilities",description:"Critical air quality for healthcare environments."},{icon:Hl,title:"Restaurants",description:"Meet health codes and provide clean air for diners."},{icon:iC,title:"Property Management",description:"Maintain multiple properties with consistent quality."}],n6=[{icon:Zd,title:"Healthier Employees",description:"Poor indoor air quality causes headaches, fatigue, and respiratory issues. Clean ducts mean fewer sick days and higher productivity."},{icon:a0,title:"Compliance Ready",description:"Many industries require documented HVAC maintenance. We provide full documentation for your records and inspections."},{icon:Wn,title:"Minimal Disruption",description:"We work around your schedule — nights, weekends, or off-hours. Your business keeps running while we work."},{icon:Hn,title:"Liability Protection",description:"Documented maintenance protects you from air quality complaints and potential legal issues."}];function r6(){return i.jsxs(ba,{"data-id":"3eam46dee","data-path":"src/pages/CommercialPage.tsx",children:[i.jsxs(Pt,{"data-id":"5fhz89c1j","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx("title",{"data-id":"imcj0ggup","data-path":"src/pages/CommercialPage.tsx",children:"Commercial HVAC Duct Cleaning | Quality Air Duct Cleaning - Alliston, ON"}),i.jsx("meta",{name:"description",content:"Commercial HVAC duct cleaning for offices & facilities in Simcoe County. Compliance-ready documentation, after-hours scheduling, minimal disruption. Request a free quote.","data-id":"2hz1nn8iv","data-path":"src/pages/CommercialPage.tsx"}),i.jsx("link",{rel:"preload",as:"image",href:"https://newoaks.s3.us-west-1.amazonaws.com/AutoDev/66721/0d069f09-9f3a-4785-a4ab-b1e2ce6dd69a.png",fetchPriority:"high","data-id":"v5v0425za","data-path":"src/pages/CommercialPage.tsx"}),i.jsx("script",{type:"application/ld+json","data-id":"iotlxuy22","data-path":"src/pages/CommercialPage.tsx",children:JSON.stringify({"@context":"https://schema.org","@type":"Service",serviceType:"Commercial HVAC Duct Cleaning",name:"Commercial & Industrial HVAC Duct Cleaning",description:"Professional commercial and industrial HVAC duct cleaning for offices, retail spaces, warehouses, medical facilities, restaurants, and multi-unit properties. After-hours and weekend scheduling available with minimal business disruption. Full compliance documentation provided. Serving Simcoe County, Ontario.",provider:{"@type":"LocalBusiness",name:"Quality Air Duct Cleaning","@id":"https://qualityairductcleaning.ca/#business",telephone:"+19057293602",address:{"@type":"PostalAddress",addressLocality:"Alliston",addressRegion:"ON",addressCountry:"CA"}},areaServed:[{"@type":"City",name:"Alliston, Ontario"},{"@type":"City",name:"Barrie, Ontario"},{"@type":"City",name:"Bradford, Ontario"},{"@type":"City",name:"Innisfil, Ontario"},{"@type":"City",name:"Collingwood, Ontario"},{"@type":"City",name:"Angus, Ontario"},{"@type":"City",name:"Orillia, Ontario"},{"@type":"City",name:"New Tecumseth, Ontario"}],url:"https://qualityairductcleaning.ca/commercial",offers:{"@type":"Offer",description:"Customized commercial quotes with after-hours scheduling and full compliance documentation.",priceCurrency:"CAD"}})})]}),i.jsxs("section",{className:"relative bg-gradient-to-br from-navy via-navy-light to-navy py-12 sm:py-16 md:py-20 overflow-hidden","data-id":"veg7bdbhm","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx("div",{className:"absolute inset-0 opacity-10","data-id":"6au7vcnsy","data-path":"src/pages/CommercialPage.tsx",children:i.jsx("div",{className:"absolute bottom-10 left-20 w-80 h-80 bg-lime rounded-full blur-3xl","data-id":"u8otea479","data-path":"src/pages/CommercialPage.tsx"})}),i.jsx("div",{className:"relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"m1wwkf2h0","data-path":"src/pages/CommercialPage.tsx",children:i.jsxs("div",{className:"grid lg:grid-cols-2 gap-8 md:gap-12 items-center","data-id":"xnzvqlcan","data-path":"src/pages/CommercialPage.tsx",children:[i.jsxs("div",{className:"text-white","data-id":"or4wyafta","data-path":"src/pages/CommercialPage.tsx",children:[i.jsxs("div",{className:"inline-flex items-center gap-2 bg-lime/20 rounded-full px-4 py-2 mb-6","data-id":"tj3wabt9n","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx(Hl,{className:"w-5 h-5 text-lime","data-id":"pjkt50gdy","data-path":"src/pages/CommercialPage.tsx"}),i.jsx("span",{className:"text-sm font-medium text-lime","data-id":"90dmdqcd8","data-path":"src/pages/CommercialPage.tsx",children:"Commercial Services"})]}),i.jsxs("h1",{className:"text-2xl sm:text-3xl md:text-4xl lg:text-5xl font-bold leading-tight mb-6","data-id":"n8nj0uhmz","data-path":"src/pages/CommercialPage.tsx",children:["Commercial & Industrial",i.jsx("span",{className:"text-lime","data-id":"feljdn5xx","data-path":"src/pages/CommercialPage.tsx",children:" HVAC Cleaning"})]}),i.jsx("p",{className:"text-xl text-gray-300 mb-8 leading-relaxed","data-id":"7on46a0b6","data-path":"src/pages/CommercialPage.tsx",children:"Protect your employees, customers, and bottom line with professional air duct cleaning. Large-scale capabilities with minimal business disruption."}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 mb-8","data-id":"mchjp2slt","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx(_,{to:"/contact","data-id":"yco9jx9jn","data-path":"src/pages/CommercialPage.tsx",children:i.jsx(q,{size:"lg",className:"bg-lime hover:bg-lime-dark text-navy font-bold text-lg px-8 py-6 rounded-full shadow-xl w-full sm:w-auto","data-id":"phzx8l47d","data-path":"src/pages/CommercialPage.tsx",children:"Request Commercial Quote"})}),i.jsx("a",{href:"tel:9057293602","data-id":"3fkjwai81","data-path":"src/pages/CommercialPage.tsx",children:i.jsxs(q,{size:"lg",variant:"outline",className:"bg-transparent border-2 border-white text-white hover:bg-white hover:text-navy font-bold text-lg px-8 py-6 rounded-full w-full sm:w-auto","data-id":"5s76fmq8j","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx(Ce,{className:"w-5 h-5 mr-2","data-id":"pdgfxguux","data-path":"src/pages/CommercialPage.tsx"}),"(905) 729-3602"]})})]}),i.jsxs("div",{className:"flex flex-wrap gap-4","data-id":"zapwbr6yn","data-path":"src/pages/CommercialPage.tsx",children:[i.jsxs("div",{className:"flex items-center gap-2 text-sm","data-id":"ewkpr9yav","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx(F,{className:"w-5 h-5 text-lime","data-id":"32x18j3yd","data-path":"src/pages/CommercialPage.tsx"}),i.jsx("span",{"data-id":"sa4hyoujr","data-path":"src/pages/CommercialPage.tsx",children:"After-Hours Service"})]}),i.jsxs("div",{className:"flex items-center gap-2 text-sm","data-id":"82850eeg9","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx(F,{className:"w-5 h-5 text-lime","data-id":"s4ledr3cm","data-path":"src/pages/CommercialPage.tsx"}),i.jsx("span",{"data-id":"q4n2tgrat","data-path":"src/pages/CommercialPage.tsx",children:"Full Documentation"})]}),i.jsxs("div",{className:"flex items-center gap-2 text-sm","data-id":"huo57zkqx","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx(F,{className:"w-5 h-5 text-lime","data-id":"fti3sv3uk","data-path":"src/pages/CommercialPage.tsx"}),i.jsx("span",{"data-id":"hc966l2mc","data-path":"src/pages/CommercialPage.tsx",children:"Insured & Bonded"})]})]})]}),i.jsxs("div",{className:"relative hidden lg:block","data-id":"7afdub6l1","data-path":"src/pages/CommercialPage.tsx",children:[i.jsxs("picture",{"data-id":"d2luwyxq3","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx("source",{type:"image/webp",srcSet:"https://newoaks.s3.us-west-1.amazonaws.com/AutoDev/66721/0d069f09-9f3a-4785-a4ab-b1e2ce6dd69a.png","data-id":"ux0l2h8d7","data-path":"src/pages/CommercialPage.tsx"}),i.jsx("img",{src:"https://newoaks.s3.us-west-1.amazonaws.com/AutoDev/66721/0d069f09-9f3a-4785-a4ab-b1e2ce6dd69a.png",alt:"Large commercial HVAC air duct network inside an office building or warehouse being professionally cleaned by certified Quality Air Duct Cleaning technicians in Simcoe County Ontario",className:"w-full rounded-2xl shadow-2xl",loading:"eager",fetchPriority:"high",decoding:"async","data-id":"jnnymhzeh","data-path":"src/pages/CommercialPage.tsx"})]}),i.jsx("div",{className:"absolute -bottom-6 -right-6 bg-white rounded-xl shadow-xl p-4","data-id":"3yxhdu959","data-path":"src/pages/CommercialPage.tsx",children:i.jsxs("div",{className:"flex items-center gap-3","data-id":"ic10lk535","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx("div",{className:"w-12 h-12 bg-lime rounded-full flex items-center justify-center","data-id":"5ntwvyhmf","data-path":"src/pages/CommercialPage.tsx",children:i.jsx(a0,{className:"w-6 h-6 text-navy","data-id":"0gecaviwg","data-path":"src/pages/CommercialPage.tsx"})}),i.jsxs("div",{"data-id":"k1x8zhmt4","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx("p",{className:"font-bold text-navy","data-id":"oua61n8d7","data-path":"src/pages/CommercialPage.tsx",children:"Full Documentation"}),i.jsx("p",{className:"text-sm text-gray-500","data-id":"kuqgi4w06","data-path":"src/pages/CommercialPage.tsx",children:"For Compliance"})]})]})})]})]})})]}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-gray-50","data-id":"m3ybm2alj","data-path":"src/pages/CommercialPage.tsx",children:i.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"rpexwqwf8","data-path":"src/pages/CommercialPage.tsx",children:[i.jsxs("div",{className:"text-center mb-16","data-id":"vhih70agx","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-navy mb-4","data-id":"j3bh72akd","data-path":"src/pages/CommercialPage.tsx",children:"Industries We Serve"}),i.jsx("p",{className:"text-lg text-gray-600 max-w-2xl mx-auto","data-id":"5psrws5dl","data-path":"src/pages/CommercialPage.tsx",children:"From small retail shops to large industrial facilities, we have the equipment and expertise to handle any commercial space."})]}),i.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 sm:gap-6 md:gap-8","data-id":"ys525p6at","data-path":"src/pages/CommercialPage.tsx",children:s6.map((e,t)=>i.jsx(Ve,{className:"border-0 shadow-lg hover:shadow-xl transition-shadow group","data-id":"gxytxrcxh","data-path":"src/pages/CommercialPage.tsx",children:i.jsxs(qe,{className:"p-6","data-id":"90t3qriht","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx("div",{className:"w-14 h-14 bg-navy rounded-xl flex items-center justify-center mb-4 group-hover:bg-lime transition-colors","data-id":"ofcow3mmm","data-path":"src/pages/CommercialPage.tsx",children:i.jsx(e.icon,{className:"w-7 h-7 text-lime group-hover:text-navy transition-colors","data-id":"k11k8x130","data-path":"src/pages/CommercialPage.tsx"})}),i.jsx("h3",{className:"text-xl font-bold text-navy mb-2","data-id":"wup3jfwq8","data-path":"src/pages/CommercialPage.tsx",children:e.title}),i.jsx("p",{className:"text-gray-600","data-id":"wcd7kx8ld","data-path":"src/pages/CommercialPage.tsx",children:e.description})]})},t))})]})}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-white","data-id":"2tsg4brgf","data-path":"src/pages/CommercialPage.tsx",children:i.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"fex62e8c9","data-path":"src/pages/CommercialPage.tsx",children:[i.jsxs("div",{className:"text-center mb-16","data-id":"bsuk1oj1z","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-navy mb-4","data-id":"rc889sbz9","data-path":"src/pages/CommercialPage.tsx",children:"The Business Case for Clean Ducts"}),i.jsx("p",{className:"text-lg text-gray-600 max-w-2xl mx-auto","data-id":"yjseykq2b","data-path":"src/pages/CommercialPage.tsx",children:"Beyond air quality, there are real business reasons to maintain your HVAC system."})]}),i.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 sm:gap-6 md:gap-8","data-id":"n05tnvupl","data-path":"src/pages/CommercialPage.tsx",children:n6.map((e,t)=>i.jsxs("div",{className:"flex gap-6 p-6 bg-gray-50 rounded-2xl","data-id":"zl3ok2bh5","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx("div",{className:"w-16 h-16 bg-lime rounded-xl flex items-center justify-center flex-shrink-0","data-id":"6ss133y5y","data-path":"src/pages/CommercialPage.tsx",children:i.jsx(e.icon,{className:"w-8 h-8 text-navy","data-id":"y8xfutrfv","data-path":"src/pages/CommercialPage.tsx"})}),i.jsxs("div",{"data-id":"l3xeob8oq","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx("h3",{className:"text-xl font-bold text-navy mb-2","data-id":"7q0zgrk85","data-path":"src/pages/CommercialPage.tsx",children:e.title}),i.jsx("p",{className:"text-gray-600","data-id":"0evuvu25d","data-path":"src/pages/CommercialPage.tsx",children:e.description})]})]},t))})]})}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-navy text-white","data-id":"tbkcj0m8q","data-path":"src/pages/CommercialPage.tsx",children:i.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"uarw0qaoe","data-path":"src/pages/CommercialPage.tsx",children:i.jsxs("div",{className:"grid lg:grid-cols-2 gap-8 md:gap-12 items-center","data-id":"gaqo59ski","data-path":"src/pages/CommercialPage.tsx",children:[i.jsxs("div",{"data-id":"maxr4e5aa","data-path":"src/pages/CommercialPage.tsx",children:[i.jsxs("h2",{className:"text-3xl md:text-4xl font-bold mb-6","data-id":"nl5sp8r1r","data-path":"src/pages/CommercialPage.tsx",children:["Commercial HVAC Requires",i.jsx("span",{className:"text-lime","data-id":"y7opck564","data-path":"src/pages/CommercialPage.tsx",children:" Commercial Equipment"})]}),i.jsx("p",{className:"text-lg text-gray-300 mb-8","data-id":"1j6ij6vaa","data-path":"src/pages/CommercialPage.tsx",children:"Your business HVAC system is larger and more complex than a residential system. Standard residential cleaning equipment simply can't handle the job."}),i.jsxs("ul",{className:"space-y-4 mb-8","data-id":"n085pnuzs","data-path":"src/pages/CommercialPage.tsx",children:[i.jsxs("li",{className:"flex items-start gap-3","data-id":"q0jvec8ne","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx(F,{className:"w-6 h-6 text-lime flex-shrink-0","data-id":"mpfmt8o6i","data-path":"src/pages/CommercialPage.tsx"}),i.jsx("span",{"data-id":"7bum42qyr","data-path":"src/pages/CommercialPage.tsx",children:"Larger ductwork requires more powerful equipment"})]}),i.jsxs("li",{className:"flex items-start gap-3","data-id":"jfoorwi0r","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx(F,{className:"w-6 h-6 text-lime flex-shrink-0","data-id":"5wcsivplv","data-path":"src/pages/CommercialPage.tsx"}),i.jsx("span",{"data-id":"y8sph74tl","data-path":"src/pages/CommercialPage.tsx",children:"Multiple zones and complex routing"})]}),i.jsxs("li",{className:"flex items-start gap-3","data-id":"92wndbp1e","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx(F,{className:"w-6 h-6 text-lime flex-shrink-0","data-id":"1v8m8ft2c","data-path":"src/pages/CommercialPage.tsx"}),i.jsx("span",{"data-id":"w8munx7p3","data-path":"src/pages/CommercialPage.tsx",children:"Higher volume air handling units"})]}),i.jsxs("li",{className:"flex items-start gap-3","data-id":"9p9bgfvk0","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx(F,{className:"w-6 h-6 text-lime flex-shrink-0","data-id":"s6up4dp26","data-path":"src/pages/CommercialPage.tsx"}),i.jsx("span",{"data-id":"vx4k73uw3","data-path":"src/pages/CommercialPage.tsx",children:"Regulatory compliance requirements"})]})]}),i.jsx(_,{to:"/contact","data-id":"lynuvkda1","data-path":"src/pages/CommercialPage.tsx",children:i.jsx(q,{size:"lg",className:"bg-lime hover:bg-lime-dark text-navy font-bold px-8 py-4 rounded-full","data-id":"2l34coojk","data-path":"src/pages/CommercialPage.tsx",children:"Discuss Your Facility"})})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-4 sm:gap-6","data-id":"7qgrzih79","data-path":"src/pages/CommercialPage.tsx",children:[i.jsxs("div",{className:"bg-white/10 rounded-2xl p-6 text-center","data-id":"q9bjbrc70","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx("p",{className:"text-4xl font-bold text-lime mb-2","data-id":"1a6mt8za2","data-path":"src/pages/CommercialPage.tsx",children:"16,000+"}),i.jsx("p",{className:"text-gray-300","data-id":"cabjbxccv","data-path":"src/pages/CommercialPage.tsx",children:"CFM Suction Power"})]}),i.jsxs("div",{className:"bg-white/10 rounded-2xl p-6 text-center","data-id":"qyunhwjxw","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx("p",{className:"text-4xl font-bold text-lime mb-2","data-id":"ehobuz94k","data-path":"src/pages/CommercialPage.tsx",children:"24/7"}),i.jsx("p",{className:"text-gray-300","data-id":"v3ydh2v4b","data-path":"src/pages/CommercialPage.tsx",children:"Scheduling Available"})]}),i.jsxs("div",{className:"bg-white/10 rounded-2xl p-6 text-center","data-id":"4qx3k58z7","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx("p",{className:"text-4xl font-bold text-lime mb-2","data-id":"8oj56r3hk","data-path":"src/pages/CommercialPage.tsx",children:"Full"}),i.jsx("p",{className:"text-gray-300","data-id":"7etcn5tvn","data-path":"src/pages/CommercialPage.tsx",children:"Documentation"})]}),i.jsxs("div",{className:"bg-white/10 rounded-2xl p-6 text-center","data-id":"axrz8yqfr","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx("p",{className:"text-4xl font-bold text-lime mb-2","data-id":"n5mbarm5w","data-path":"src/pages/CommercialPage.tsx",children:"100%"}),i.jsx("p",{className:"text-gray-300","data-id":"25iwat35h","data-path":"src/pages/CommercialPage.tsx",children:"Insured"})]})]})]})})}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-gray-50","data-id":"rfcvj3tel","data-path":"src/pages/CommercialPage.tsx",children:i.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"d4v8imsvq","data-path":"src/pages/CommercialPage.tsx",children:i.jsxs("div",{className:"max-w-3xl mx-auto text-center","data-id":"yatd1tlys","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-navy mb-6","data-id":"47ib05pek","data-path":"src/pages/CommercialPage.tsx",children:"Commercial Maintenance Programs"}),i.jsx("p",{className:"text-lg text-gray-600 mb-8","data-id":"2w1jvmjtv","data-path":"src/pages/CommercialPage.tsx",children:"For businesses that need regular HVAC maintenance, we offer scheduled service programs with priority scheduling and preferred pricing."}),i.jsxs("div",{className:"bg-white rounded-2xl shadow-xl p-8","data-id":"an9tw5rhx","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx("h3",{className:"text-2xl font-bold text-navy mb-4","data-id":"2hqnmy7tx","data-path":"src/pages/CommercialPage.tsx",children:"What's Included:"}),i.jsxs("ul",{className:"space-y-3 text-left mb-8","data-id":"6j0mtme6f","data-path":"src/pages/CommercialPage.tsx",children:[i.jsxs("li",{className:"flex items-center gap-3","data-id":"4x8hoyfzd","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx(F,{className:"w-5 h-5 text-lime","data-id":"vnd1mfe7w","data-path":"src/pages/CommercialPage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"smope2kl7","data-path":"src/pages/CommercialPage.tsx",children:"Annual or semi-annual cleaning visits"})]}),i.jsxs("li",{className:"flex items-center gap-3","data-id":"5kt0xn696","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx(F,{className:"w-5 h-5 text-lime","data-id":"qjiid55za","data-path":"src/pages/CommercialPage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"cuf9osk9o","data-path":"src/pages/CommercialPage.tsx",children:"Priority scheduling (48-hour response)"})]}),i.jsxs("li",{className:"flex items-center gap-3","data-id":"zfqa6xx1p","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx(F,{className:"w-5 h-5 text-lime","data-id":"rt8s84xvb","data-path":"src/pages/CommercialPage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"pxybyd4ui","data-path":"src/pages/CommercialPage.tsx",children:"Detailed maintenance reports"})]}),i.jsxs("li",{className:"flex items-center gap-3","data-id":"uo3kvgojr","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx(F,{className:"w-5 h-5 text-lime","data-id":"ox96wpokg","data-path":"src/pages/CommercialPage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"cfb7vz978","data-path":"src/pages/CommercialPage.tsx",children:"Before/after documentation"})]}),i.jsxs("li",{className:"flex items-center gap-3","data-id":"kv82zf4aj","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx(F,{className:"w-5 h-5 text-lime","data-id":"q2lggpkjv","data-path":"src/pages/CommercialPage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"cmn29321o","data-path":"src/pages/CommercialPage.tsx",children:"Preferred pricing (10-15% savings)"})]})]}),i.jsx(_,{to:"/contact","data-id":"do05h75iv","data-path":"src/pages/CommercialPage.tsx",children:i.jsx(q,{size:"lg",className:"bg-lime hover:bg-lime-dark text-navy font-bold px-10 py-4 rounded-full","data-id":"rjvi1q9aa","data-path":"src/pages/CommercialPage.tsx",children:"Inquire About Maintenance Programs"})})]})]})})}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-white","data-id":"w7w8wppef","data-path":"src/pages/CommercialPage.tsx",children:i.jsxs("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center","data-id":"ekibc97o1","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-navy mb-6","data-id":"zuywjm86w","data-path":"src/pages/CommercialPage.tsx",children:"Let's Discuss Your Commercial Needs"}),i.jsx("p",{className:"text-xl text-gray-600 mb-8","data-id":"kov8sxmk0","data-path":"src/pages/CommercialPage.tsx",children:"Every facility is different. Contact us for a customized assessment and quote tailored to your business requirements."}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center","data-id":"g89euteej","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx(_,{to:"/contact","data-id":"m97cfvr6d","data-path":"src/pages/CommercialPage.tsx",children:i.jsx(q,{size:"lg",className:"bg-lime hover:bg-lime-dark text-navy font-bold text-lg px-10 py-6 rounded-full shadow-xl w-full sm:w-auto","data-id":"j3blyn7yg","data-path":"src/pages/CommercialPage.tsx",children:"Request Commercial Quote"})}),i.jsx("a",{href:"tel:9057293602","data-id":"egozt9u6h","data-path":"src/pages/CommercialPage.tsx",children:i.jsxs(q,{size:"lg",variant:"outline",className:"border-2 border-navy text-navy hover:bg-navy hover:text-white font-bold text-lg px-10 py-6 rounded-full w-full sm:w-auto","data-id":"w5dndm8c5","data-path":"src/pages/CommercialPage.tsx",children:[i.jsx(Ce,{className:"w-5 h-5 mr-2","data-id":"5f7qvowhc","data-path":"src/pages/CommercialPage.tsx"}),"(905) 729-3602"]})})]})]})})]})}const i6=[{number:"15,000+",label:"Dryer fires annually in North America",sublabel:"Many are preventable with regular cleaning"},{number:"34%",label:"Caused by failure to clean",sublabel:"Lint buildup is the #1 cause"},{number:"$238M",label:"Property damage per year",sublabel:"From dryer-related fires"}],o6=["Clothes take longer than normal to dry","Dryer feels unusually hot to the touch","Burning smell when dryer is running","Lint trap fills up very quickly","Vent hood flap doesn't open properly","It's been 1+ years since last cleaning","Visible lint around the dryer hose","Dryer shuts off before cycle completes"],l6=[{icon:Vl,title:"Fire Prevention",description:"Lint is highly flammable. A clogged vent combined with dryer heat is a recipe for disaster. Cleaning removes this fire hazard."},{icon:lN,title:"Faster Drying",description:"Restricted airflow means longer drying times. Clean vents restore proper airflow, cutting drying time significantly."},{icon:bC,title:"Lower Energy Bills",description:"When your dryer works harder, it uses more energy. Clean vents can reduce energy consumption by 25% or more."},{icon:aN,title:"Extend Dryer Life",description:"Overheating damages dryer components. Regular cleaning reduces wear and can add years to your appliance."}];function c6(){return i.jsxs(ba,{"data-id":"krdjekab2","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsxs(Pt,{"data-id":"uimn8oxlg","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx("title",{"data-id":"dlb4vbpi7","data-path":"src/pages/DryerVentPage.tsx",children:"Dryer Vent Cleaning Service | Quality Air Duct Cleaning - Alliston, ON"}),i.jsx("meta",{name:"description",content:"Prevent dryer fires with professional vent cleaning in Simcoe County. Lint buildup causes 15,000+ fires yearly — protect your family. Book your cleaning today.","data-id":"jek3516nv","data-path":"src/pages/DryerVentPage.tsx"}),i.jsx("link",{rel:"preload",as:"image",href:"https://newoaks.s3.us-west-1.amazonaws.com/AutoDev/66721/0bab6c8f-b380-4ce4-b701-2df6dc8c4134.png",fetchPriority:"high","data-id":"91cahqta8","data-path":"src/pages/DryerVentPage.tsx"}),i.jsx("script",{type:"application/ld+json","data-id":"xziuwiqi2","data-path":"src/pages/DryerVentPage.tsx",children:JSON.stringify({"@context":"https://schema.org","@type":"Service",serviceType:"Dryer Vent Cleaning",name:"Dryer Vent Cleaning",description:"Professional dryer vent cleaning to prevent house fires caused by lint buildup. Quick 45–60 minute service removes all lint and debris from vent pipes, restores proper airflow, and verifies vent hood operation. Reduces fire risk, cuts drying time, lowers energy bills by up to 25%, and extends dryer lifespan. Annual cleaning recommended by fire safety experts. Serving Simcoe County, Ontario.",provider:{"@type":"LocalBusiness",name:"Quality Air Duct Cleaning","@id":"https://qualityairductcleaning.ca/#business",telephone:"+19057293602",address:{"@type":"PostalAddress",addressLocality:"Alliston",addressRegion:"ON",addressCountry:"CA"}},areaServed:[{"@type":"City",name:"Alliston, Ontario"},{"@type":"City",name:"Barrie, Ontario"},{"@type":"City",name:"Bradford, Ontario"},{"@type":"City",name:"Innisfil, Ontario"},{"@type":"City",name:"Collingwood, Ontario"},{"@type":"City",name:"Angus, Ontario"},{"@type":"City",name:"Orillia, Ontario"},{"@type":"City",name:"New Tecumseth, Ontario"}],url:"https://qualityairductcleaning.ca/dryer-vent",offers:{"@type":"Offer",description:"Quick 45–60 minute service with transparent pricing and no hidden fees.",priceCurrency:"CAD"}})})]}),i.jsxs("section",{className:"relative bg-gradient-to-br from-navy via-navy-light to-navy py-12 sm:py-16 md:py-20 overflow-hidden","data-id":"yu98fql6d","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx("div",{className:"absolute inset-0 opacity-10","data-id":"oyb78a0wq","data-path":"src/pages/DryerVentPage.tsx",children:i.jsx("div",{className:"absolute top-20 left-10 w-80 h-80 bg-lime rounded-full blur-3xl","data-id":"ezcat01gj","data-path":"src/pages/DryerVentPage.tsx"})}),i.jsx("div",{className:"relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"jkixw064q","data-path":"src/pages/DryerVentPage.tsx",children:i.jsxs("div",{className:"grid lg:grid-cols-2 gap-8 md:gap-12 items-center","data-id":"e9p971wzr","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsxs("div",{className:"text-white","data-id":"xngy1iga2","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsxs("div",{className:"inline-flex items-center gap-2 bg-red-500/20 border border-red-500/30 rounded-full px-4 py-2 mb-6","data-id":"j77eygztt","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx(Vl,{className:"w-5 h-5 text-red-400","data-id":"9ne1m8h4h","data-path":"src/pages/DryerVentPage.tsx"}),i.jsx("span",{className:"text-sm font-medium text-red-300","data-id":"nspqkaf6m","data-path":"src/pages/DryerVentPage.tsx",children:"Fire Prevention Service"})]}),i.jsxs("h1",{className:"text-2xl sm:text-3xl md:text-4xl lg:text-5xl font-bold leading-tight mb-6","data-id":"nu9r0fpie","data-path":"src/pages/DryerVentPage.tsx",children:["Dryer Vent Cleaning:",i.jsx("span",{className:"text-lime","data-id":"91f4q60h4","data-path":"src/pages/DryerVentPage.tsx",children:" Critical Fire Safety"})]}),i.jsx("p",{className:"text-xl text-gray-300 mb-8 leading-relaxed","data-id":"cm4wrfgul","data-path":"src/pages/DryerVentPage.tsx",children:"Clogged dryer vents cause over 15,000 house fires every year. Don't become a statistic. Regular cleaning protects your family and home."}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 mb-8","data-id":"a4fb5wvz6","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx(_,{to:"/contact","data-id":"v37bx9zfn","data-path":"src/pages/DryerVentPage.tsx",children:i.jsx(q,{size:"lg",className:"bg-lime hover:bg-lime-dark text-navy font-bold text-lg px-8 py-6 rounded-full shadow-xl w-full sm:w-auto","data-id":"yu7wtb04e","data-path":"src/pages/DryerVentPage.tsx",children:"Schedule Cleaning Now"})}),i.jsx("a",{href:"tel:9057293602","data-id":"1w10o4d0p","data-path":"src/pages/DryerVentPage.tsx",children:i.jsxs(q,{size:"lg",variant:"outline",className:"bg-transparent border-2 border-white text-white hover:bg-white hover:text-navy font-bold text-lg px-8 py-6 rounded-full w-full sm:w-auto","data-id":"kf0vhndmj","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx(Ce,{className:"w-5 h-5 mr-2","data-id":"veont1o1i","data-path":"src/pages/DryerVentPage.tsx"}),"(905) 729-3602"]})})]}),i.jsxs("div",{className:"flex flex-wrap gap-4","data-id":"vglxhb8wr","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsxs("div",{className:"flex items-center gap-2 text-sm","data-id":"5fzkpm2lx","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx(F,{className:"w-5 h-5 text-lime","data-id":"mky8s7x21","data-path":"src/pages/DryerVentPage.tsx"}),i.jsx("span",{"data-id":"3u4wfuw3y","data-path":"src/pages/DryerVentPage.tsx",children:"Quick 45-60 Minute Service"})]}),i.jsxs("div",{className:"flex items-center gap-2 text-sm","data-id":"hm3eu7asf","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx(F,{className:"w-5 h-5 text-lime","data-id":"56ipetd8h","data-path":"src/pages/DryerVentPage.tsx"}),i.jsx("span",{"data-id":"p6n2n97u8","data-path":"src/pages/DryerVentPage.tsx",children:"Protect Your Family"})]})]})]}),i.jsxs("div",{className:"relative hidden lg:block","data-id":"r7aeisttb","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsxs("picture",{"data-id":"9ud98eojy","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx("source",{type:"image/webp",srcSet:"https://newoaks.s3.us-west-1.amazonaws.com/AutoDev/66721/0bab6c8f-b380-4ce4-b701-2df6dc8c4134.png","data-id":"balw47jhx","data-path":"src/pages/DryerVentPage.tsx"}),i.jsx("img",{src:"https://newoaks.s3.us-west-1.amazonaws.com/AutoDev/66721/0bab6c8f-b380-4ce4-b701-2df6dc8c4134.png",alt:"Residential laundry room dryer vent with dangerous lint accumulation — illustrating the fire risk that requires professional dryer vent cleaning in Ontario",className:"w-full rounded-2xl shadow-2xl",loading:"eager",fetchPriority:"high",decoding:"async","data-id":"n7lnrdtzb","data-path":"src/pages/DryerVentPage.tsx"})]}),i.jsx("div",{className:"absolute -bottom-2 -left-2 sm:-bottom-6 sm:-left-6 bg-red-500 text-white rounded-xl shadow-xl p-4","data-id":"9kv1flnkg","data-path":"src/pages/DryerVentPage.tsx",children:i.jsxs("div",{className:"flex items-center gap-3","data-id":"11kbotam0","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx(Os,{className:"w-8 h-8","data-id":"nmt0txohv","data-path":"src/pages/DryerVentPage.tsx"}),i.jsxs("div",{"data-id":"bssvjj8np","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx("p",{className:"font-bold","data-id":"uuzes55vh","data-path":"src/pages/DryerVentPage.tsx",children:"15,000+"}),i.jsx("p",{className:"text-sm opacity-90","data-id":"cmhli3l09","data-path":"src/pages/DryerVentPage.tsx",children:"Fires Per Year"})]})]})})]})]})})]}),i.jsx("section",{className:"py-10 sm:py-14 md:py-20 lg:py-24 bg-red-600 text-white","data-id":"1f10p2edj","data-path":"src/pages/DryerVentPage.tsx",children:i.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"9eejv9eok","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsxs("div",{className:"text-center mb-12","data-id":"gda30j94r","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx("h2",{className:"text-2xl md:text-3xl font-bold mb-2","data-id":"7yxt8kq0o","data-path":"src/pages/DryerVentPage.tsx",children:"The Serious Reality of Dryer Fires"}),i.jsx("p",{className:"text-red-100","data-id":"665872quy","data-path":"src/pages/DryerVentPage.tsx",children:"These aren't scare tactics — they're facts from fire safety agencies."})]}),i.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 sm:gap-6 md:gap-8","data-id":"8eptq01b4","data-path":"src/pages/DryerVentPage.tsx",children:i6.map((e,t)=>i.jsxs("div",{className:"text-center","data-id":"qwsu9ei5t","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx("p",{className:"text-5xl font-bold mb-2","data-id":"ri5pec4yt","data-path":"src/pages/DryerVentPage.tsx",children:e.number}),i.jsx("p",{className:"text-lg font-semibold mb-1","data-id":"x5t758oac","data-path":"src/pages/DryerVentPage.tsx",children:e.label}),i.jsx("p",{className:"text-red-200 text-sm","data-id":"797l8of5l","data-path":"src/pages/DryerVentPage.tsx",children:e.sublabel})]},t))})]})}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-white","data-id":"uz8iry33j","data-path":"src/pages/DryerVentPage.tsx",children:i.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"jjgrye1c5","data-path":"src/pages/DryerVentPage.tsx",children:i.jsxs("div",{className:"grid lg:grid-cols-2 gap-8 md:gap-12 items-center","data-id":"ojsa1ql5l","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsxs("div",{"data-id":"kf165qtyu","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsxs("h2",{className:"text-3xl md:text-4xl font-bold text-navy mb-6","data-id":"nweedzk6w","data-path":"src/pages/DryerVentPage.tsx",children:["Warning Signs Your Dryer Vent",i.jsx("span",{className:"text-red-500","data-id":"4htldc640","data-path":"src/pages/DryerVentPage.tsx",children:" Needs Cleaning"})]}),i.jsx("p",{className:"text-lg text-gray-600 mb-8","data-id":"3vk14nfs0","data-path":"src/pages/DryerVentPage.tsx",children:"Your dryer is trying to tell you something. Watch for these warning signs that indicate a potentially dangerous lint buildup."}),i.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 sm:gap-4","data-id":"1mp8f0upu","data-path":"src/pages/DryerVentPage.tsx",children:o6.map((e,t)=>i.jsxs("div",{className:"flex items-start gap-3 bg-red-50 rounded-lg p-4","data-id":"r307r8wwa","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx(Os,{className:"w-5 h-5 text-red-500 flex-shrink-0 mt-0.5","data-id":"wjr9fblan","data-path":"src/pages/DryerVentPage.tsx"}),i.jsx("span",{className:"text-gray-700 text-sm","data-id":"bvuaa05wl","data-path":"src/pages/DryerVentPage.tsx",children:e})]},t))})]}),i.jsxs("div",{className:"bg-navy rounded-2xl p-8 text-white","data-id":"u0ysrcigt","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx("div",{className:"w-16 h-16 bg-lime rounded-full flex items-center justify-center mb-6","data-id":"q1jxw5hew","data-path":"src/pages/DryerVentPage.tsx",children:i.jsx(Hn,{className:"w-8 h-8 text-navy","data-id":"jtu8ezhxw","data-path":"src/pages/DryerVentPage.tsx"})}),i.jsx("h3",{className:"text-2xl font-bold mb-4","data-id":"4x68lhs5g","data-path":"src/pages/DryerVentPage.tsx",children:"Don't Wait Until It's Too Late"}),i.jsx("p",{className:"text-gray-300 mb-6","data-id":"cejqq4zb4","data-path":"src/pages/DryerVentPage.tsx",children:"Most dryer fires happen in homes where the vent hasn't been cleaned in over a year. A simple cleaning can prevent a devastating fire."}),i.jsxs("ul",{className:"space-y-3 mb-6","data-id":"2o4usymum","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsxs("li",{className:"flex items-center gap-2","data-id":"68c6egp8h","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx(F,{className:"w-5 h-5 text-lime","data-id":"y7lhf5f53","data-path":"src/pages/DryerVentPage.tsx"}),i.jsx("span",{"data-id":"iil31fem7","data-path":"src/pages/DryerVentPage.tsx",children:"Quick service (45-60 minutes)"})]}),i.jsxs("li",{className:"flex items-center gap-2","data-id":"dvq8a59lv","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx(F,{className:"w-5 h-5 text-lime","data-id":"ps3twncll","data-path":"src/pages/DryerVentPage.tsx"}),i.jsx("span",{"data-id":"trmmmur1o","data-path":"src/pages/DryerVentPage.tsx",children:"Affordable protection"})]}),i.jsxs("li",{className:"flex items-center gap-2","data-id":"gml0kxqax","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx(F,{className:"w-5 h-5 text-lime","data-id":"7ssxrupxj","data-path":"src/pages/DryerVentPage.tsx"}),i.jsx("span",{"data-id":"kxwws8xn0","data-path":"src/pages/DryerVentPage.tsx",children:"Peace of mind"})]})]}),i.jsx(_,{to:"/contact","data-id":"y2jvjssgy","data-path":"src/pages/DryerVentPage.tsx",children:i.jsx(q,{size:"lg",className:"w-full bg-lime hover:bg-lime-dark text-navy font-bold py-4 rounded-full","data-id":"opdq6vjgi","data-path":"src/pages/DryerVentPage.tsx",children:"Book Dryer Vent Cleaning"})})]})]})})}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-gray-50","data-id":"r8ln3epki","data-path":"src/pages/DryerVentPage.tsx",children:i.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"owg34wdzq","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsxs("div",{className:"text-center mb-16","data-id":"t8a4p65t7","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-navy mb-4","data-id":"3l4dtkvco","data-path":"src/pages/DryerVentPage.tsx",children:"Benefits Beyond Fire Safety"}),i.jsx("p",{className:"text-lg text-gray-600 max-w-2xl mx-auto","data-id":"7av47rmxc","data-path":"src/pages/DryerVentPage.tsx",children:"While fire prevention is the main reason, clean dryer vents provide several other benefits."})]}),i.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4 sm:gap-6 md:gap-8","data-id":"8mcyvp2uw","data-path":"src/pages/DryerVentPage.tsx",children:l6.map((e,t)=>i.jsx(Ve,{className:"border-0 shadow-lg text-center","data-id":"v71zd77u9","data-path":"src/pages/DryerVentPage.tsx",children:i.jsxs(qe,{className:"p-6","data-id":"giy0yqcfn","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx("div",{className:"w-16 h-16 bg-lime/20 rounded-full flex items-center justify-center mx-auto mb-4","data-id":"1vtya489m","data-path":"src/pages/DryerVentPage.tsx",children:i.jsx(e.icon,{className:"w-8 h-8 text-lime-dark","data-id":"98x8hkdox","data-path":"src/pages/DryerVentPage.tsx"})}),i.jsx("h3",{className:"text-xl font-bold text-navy mb-3","data-id":"ro49rev30","data-path":"src/pages/DryerVentPage.tsx",children:e.title}),i.jsx("p",{className:"text-gray-600 text-sm","data-id":"0dk7bu4nk","data-path":"src/pages/DryerVentPage.tsx",children:e.description})]})},t))})]})}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-white","data-id":"8rmw61ml1","data-path":"src/pages/DryerVentPage.tsx",children:i.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"lq0h8823g","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsxs("div",{className:"text-center mb-16","data-id":"cu579x9p0","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-navy mb-4","data-id":"j1x2ojmpf","data-path":"src/pages/DryerVentPage.tsx",children:"Our Dryer Vent Cleaning Process"}),i.jsx("p",{className:"text-lg text-gray-600 max-w-2xl mx-auto","data-id":"mvst2k1t9","data-path":"src/pages/DryerVentPage.tsx",children:"A thorough process that removes all lint and debris from your entire vent system."})]}),i.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 sm:gap-6 md:gap-8 max-w-4xl mx-auto","data-id":"2lucte722","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsxs("div",{className:"text-center","data-id":"onuvtxpgk","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx("div",{className:"w-16 h-16 bg-navy rounded-full flex items-center justify-center mx-auto mb-4 text-white text-2xl font-bold","data-id":"yedjts91a","data-path":"src/pages/DryerVentPage.tsx",children:"1"}),i.jsx("h3",{className:"text-xl font-bold text-navy mb-2","data-id":"x8b7tqoay","data-path":"src/pages/DryerVentPage.tsx",children:"Inspect"}),i.jsx("p",{className:"text-gray-600","data-id":"ezw92jgjo","data-path":"src/pages/DryerVentPage.tsx",children:"We examine your vent system, check for damage, and identify any problem areas."})]}),i.jsxs("div",{className:"text-center","data-id":"ncz43py39","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx("div",{className:"w-16 h-16 bg-navy rounded-full flex items-center justify-center mx-auto mb-4 text-white text-2xl font-bold","data-id":"p49ga94nb","data-path":"src/pages/DryerVentPage.tsx",children:"2"}),i.jsx("h3",{className:"text-xl font-bold text-navy mb-2","data-id":"lhwbqkskb","data-path":"src/pages/DryerVentPage.tsx",children:"Clean"}),i.jsx("p",{className:"text-gray-600","data-id":"odvtxmag3","data-path":"src/pages/DryerVentPage.tsx",children:"Using professional equipment, we remove all lint buildup from inside the vent pipe."})]}),i.jsxs("div",{className:"text-center","data-id":"q3h5rows6","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx("div",{className:"w-16 h-16 bg-navy rounded-full flex items-center justify-center mx-auto mb-4 text-white text-2xl font-bold","data-id":"cec4vt6nh","data-path":"src/pages/DryerVentPage.tsx",children:"3"}),i.jsx("h3",{className:"text-xl font-bold text-navy mb-2","data-id":"yqwu40ftm","data-path":"src/pages/DryerVentPage.tsx",children:"Test"}),i.jsx("p",{className:"text-gray-600","data-id":"zgomtwgid","data-path":"src/pages/DryerVentPage.tsx",children:"We verify proper airflow and ensure the vent hood operates correctly."})]})]})]})}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-gray-50","data-id":"vzlhawrre","data-path":"src/pages/DryerVentPage.tsx",children:i.jsxs("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center","data-id":"c0pjd0kk4","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-navy mb-4","data-id":"nrcqbha97","data-path":"src/pages/DryerVentPage.tsx",children:"See Our Dryer Vent Cleaning In Action"}),i.jsx("p",{className:"text-lg text-gray-600 mb-10 max-w-2xl mx-auto","data-id":"dlgbdc2px","data-path":"src/pages/DryerVentPage.tsx",children:"Watch how we remove dangerous lint buildup and restore proper airflow to your dryer vent."}),i.jsx("div",{className:"flex justify-center","data-id":"dyf8jg5o9","data-path":"src/pages/DryerVentPage.tsx",children:i.jsx("div",{className:"w-full max-w-sm rounded-2xl overflow-hidden shadow-2xl","data-id":"0gvua4bxr","data-path":"src/pages/DryerVentPage.tsx",children:i.jsx("div",{className:"relative",style:{paddingTop:"177.78%"},"data-id":"go7grafi2","data-path":"src/pages/DryerVentPage.tsx",children:i.jsx("iframe",{className:"absolute inset-0 w-full h-full",src:"https://www.youtube.com/embed/OyfvbRpBdOs",title:"Dryer Vent Cleaning — Quality Air Duct Cleaning",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0,loading:"lazy","data-id":"bfhdwkrv4","data-path":"src/pages/DryerVentPage.tsx"})})})})]})}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-navy text-white","data-id":"vgb4x7xgx","data-path":"src/pages/DryerVentPage.tsx",children:i.jsxs("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center","data-id":"iysg25zw1","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx(Wn,{className:"w-16 h-16 text-lime mx-auto mb-6","data-id":"mfwbvs8r0","data-path":"src/pages/DryerVentPage.tsx"}),i.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-6","data-id":"5ffoq230r","data-path":"src/pages/DryerVentPage.tsx",children:"How Often Should You Clean?"}),i.jsx("p",{className:"text-xl text-gray-300 mb-8","data-id":"4qrycj813","data-path":"src/pages/DryerVentPage.tsx",children:"Fire safety experts recommend cleaning your dryer vent at least once per year. If you have a large family or do laundry frequently, consider twice yearly."}),i.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-3 sm:gap-4 md:gap-6 mb-12","data-id":"sxazgoree","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsxs("div",{className:"bg-white/10 rounded-xl p-6","data-id":"oenot6ije","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx(go,{className:"w-8 h-8 text-lime mx-auto mb-3","data-id":"awz3ghtwf","data-path":"src/pages/DryerVentPage.tsx"}),i.jsx("p",{className:"font-semibold","data-id":"y2206adiu","data-path":"src/pages/DryerVentPage.tsx",children:"Standard Household"}),i.jsx("p",{className:"text-lime text-lg font-bold","data-id":"ritbzyriw","data-path":"src/pages/DryerVentPage.tsx",children:"Once Per Year"})]}),i.jsxs("div",{className:"bg-white/10 rounded-xl p-6","data-id":"84xbzg0uf","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx(go,{className:"w-8 h-8 text-lime mx-auto mb-3","data-id":"qrdbu7661","data-path":"src/pages/DryerVentPage.tsx"}),i.jsx("p",{className:"font-semibold","data-id":"uelbo65cf","data-path":"src/pages/DryerVentPage.tsx",children:"Large Family"}),i.jsx("p",{className:"text-lime text-lg font-bold","data-id":"l7r8zr6kh","data-path":"src/pages/DryerVentPage.tsx",children:"Twice Per Year"})]}),i.jsxs("div",{className:"bg-white/10 rounded-xl p-6","data-id":"9zo3qw0hh","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx(go,{className:"w-8 h-8 text-lime mx-auto mb-3","data-id":"z0k915e6q","data-path":"src/pages/DryerVentPage.tsx"}),i.jsx("p",{className:"font-semibold","data-id":"m9zjb96ws","data-path":"src/pages/DryerVentPage.tsx",children:"Commercial"}),i.jsx("p",{className:"text-lime text-lg font-bold","data-id":"0ic22v4mt","data-path":"src/pages/DryerVentPage.tsx",children:"Quarterly"})]})]}),i.jsx(_,{to:"/contact","data-id":"g1lvoybke","data-path":"src/pages/DryerVentPage.tsx",children:i.jsx(q,{size:"lg",className:"bg-lime hover:bg-lime-dark text-navy font-bold text-lg px-10 py-6 rounded-full shadow-xl","data-id":"csgyx1sb1","data-path":"src/pages/DryerVentPage.tsx",children:"Schedule Your Annual Cleaning"})})]})}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-gray-50","data-id":"rvdj8zor1","data-path":"src/pages/DryerVentPage.tsx",children:i.jsxs("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center","data-id":"dc782op7a","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-navy mb-6","data-id":"5vz66vuxd","data-path":"src/pages/DryerVentPage.tsx",children:"Protect Your Home and Family Today"}),i.jsx("p",{className:"text-xl text-gray-600 mb-8","data-id":"636fuod77","data-path":"src/pages/DryerVentPage.tsx",children:"A dryer vent cleaning takes less than an hour but provides year-round protection. Don't wait for a close call."}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center","data-id":"vt1i45u68","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx(_,{to:"/contact","data-id":"p68ck6gzl","data-path":"src/pages/DryerVentPage.tsx",children:i.jsx(q,{size:"lg",className:"bg-lime hover:bg-lime-dark text-navy font-bold text-lg px-10 py-6 rounded-full shadow-xl w-full sm:w-auto","data-id":"qhosman07","data-path":"src/pages/DryerVentPage.tsx",children:"Schedule Cleaning"})}),i.jsx("a",{href:"tel:9057293602","data-id":"ab7h9cnt6","data-path":"src/pages/DryerVentPage.tsx",children:i.jsxs(q,{size:"lg",variant:"outline",className:"border-2 border-navy text-navy hover:bg-navy hover:text-white font-bold text-lg px-10 py-6 rounded-full w-full sm:w-auto","data-id":"iw9q9dns8","data-path":"src/pages/DryerVentPage.tsx",children:[i.jsx(Ce,{className:"w-5 h-5 mr-2","data-id":"eu5rxe6e9","data-path":"src/pages/DryerVentPage.tsx"}),"(905) 729-3602"]})})]})]})})]})}const d6=[{name:"Alliston",slug:"alliston-on",description:"Our home base. Local crews, fast response, and same-week scheduling for residents and businesses across Alliston and surrounding neighborhoods."},{name:"Barrie",slug:"barrie-on",description:"Serving Barrie homeowners and commercial properties with truck-mounted duct cleaning. Honest quotes — no high-pressure upsells."},{name:"Angus",slug:"angus-on",description:"Trusted by Angus families for thorough residential air duct and dryer vent cleaning. Cleaner air, every visit."},{name:"Innisfil",slug:"innisfil-on",description:"Lakeshore homes deserve clean air too. We provide professional duct cleaning throughout Innisfil and the surrounding area."},{name:"Collingwood",slug:"collingwood-on",description:"From cottages to year-round homes, we keep Collingwood breathing easier with commercial-grade duct cleaning equipment."},{name:"New Tecumseth",slug:"new-tecumseth-on",description:"Covering Tottenham, Beeton, and surrounding communities with reliable, professional air duct cleaning service."},{name:"Bradford",slug:"bradford-on",description:"Bradford homes and businesses count on us for thorough HVAC duct cleaning that actually makes a difference."},{name:"Orillia",slug:"orillia-on",description:"Serving Orillia and the surrounding Lake Country with the same quality, equipment, and care we bring everywhere we go."},{name:"Newmarket",slug:"newmarket-on",description:"From Glenway Estates to Central Newmarket, we deliver thorough air duct and dryer vent cleaning to York Region homes and businesses."}];function u6(){return i.jsxs(ba,{"data-id":"iujsfdmrn","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsxs(Pt,{"data-id":"xciqxohwd","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsx("title",{"data-id":"how9l53wq","data-path":"src/pages/ServiceAreasPage.tsx",children:"Service Areas Simcoe County | Quality Air Duct Cleaning - Alliston, ON"}),i.jsx("meta",{name:"description",content:"Quality Air Duct Cleaning serves Alliston, Barrie, Angus, Innisfil, Collingwood & Simcoe County. Local crews, same-week booking. Check your area today.","data-id":"ohqfaywpw","data-path":"src/pages/ServiceAreasPage.tsx"})]}),i.jsxs("section",{className:"relative bg-gradient-to-br from-navy via-navy-light to-navy py-12 sm:py-16 md:py-20 overflow-hidden","data-id":"7lq6hswe7","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsxs("div",{className:"absolute inset-0 opacity-10","data-id":"uir3bu2xu","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsx("div",{className:"absolute top-10 right-20 w-80 h-80 bg-lime rounded-full blur-3xl","data-id":"l3ugdse15","data-path":"src/pages/ServiceAreasPage.tsx"}),i.jsx("div",{className:"absolute bottom-10 left-10 w-72 h-72 bg-lime rounded-full blur-3xl","data-id":"egu7cvy2j","data-path":"src/pages/ServiceAreasPage.tsx"})]}),i.jsx("div",{className:"relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"z796shi2u","data-path":"src/pages/ServiceAreasPage.tsx",children:i.jsxs("div",{className:"max-w-3xl text-white","data-id":"4c8zhvbrf","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsxs("div",{className:"inline-flex items-center gap-2 bg-lime/20 rounded-full px-4 py-2 mb-6","data-id":"y3qw1sjot","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsx(Zt,{className:"w-5 h-5 text-lime","data-id":"6jg4pojf8","data-path":"src/pages/ServiceAreasPage.tsx"}),i.jsx("span",{className:"text-sm font-medium text-lime","data-id":"3sjcc3c2w","data-path":"src/pages/ServiceAreasPage.tsx",children:"Service Areas"})]}),i.jsxs("h1",{className:"text-2xl sm:text-3xl md:text-4xl lg:text-6xl font-bold leading-tight mb-6","data-id":"e7i4jjie0","data-path":"src/pages/ServiceAreasPage.tsx",children:["Proudly Serving",i.jsx("span",{className:"text-lime","data-id":"3ez7fw302","data-path":"src/pages/ServiceAreasPage.tsx",children:" Simcoe County"})," & Beyond"]}),i.jsx("p",{className:"text-xl text-gray-300 mb-8 leading-relaxed","data-id":"v8gpl767a","data-path":"src/pages/ServiceAreasPage.tsx",children:"We're a local Simcoe County business — your neighbors. From Alliston to Orillia, we bring truck-mounted equipment and honest service to every home and business we visit."}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-4","data-id":"9xsri7f1a","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsx(_,{to:"/contact","data-id":"3295o7j11","data-path":"src/pages/ServiceAreasPage.tsx",children:i.jsx(q,{size:"lg",className:"bg-lime hover:bg-lime-dark text-navy font-bold text-lg px-8 py-6 rounded-full shadow-xl w-full sm:w-auto","data-id":"zxhuoahu6","data-path":"src/pages/ServiceAreasPage.tsx",children:"Check Your Area"})}),i.jsx("a",{href:"tel:9057293602","data-id":"qxq9qy3dw","data-path":"src/pages/ServiceAreasPage.tsx",children:i.jsxs(q,{size:"lg",variant:"outline",className:"bg-transparent border-2 border-white text-white hover:bg-white hover:text-navy font-bold text-lg px-8 py-6 rounded-full w-full sm:w-auto","data-id":"gefuwkn4l","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsx(Ce,{className:"w-5 h-5 mr-2","data-id":"36dnyqtpg","data-path":"src/pages/ServiceAreasPage.tsx"}),"(905) 729-3602"]})})]})]})})]}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-white","data-id":"rvy283qnp","data-path":"src/pages/ServiceAreasPage.tsx",children:i.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"rrwm09pel","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsxs("div",{className:"text-center mb-16","data-id":"87qgq9ejx","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-navy mb-4","data-id":"89anpxh3h","data-path":"src/pages/ServiceAreasPage.tsx",children:"Where We Work"}),i.jsx("p",{className:"text-lg text-gray-600 max-w-2xl mx-auto","data-id":"cm7w7qs98","data-path":"src/pages/ServiceAreasPage.tsx",children:"We serve homes and businesses across Simcoe County. Don't see your town? Give us a call — we likely cover your area too."})]}),i.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 sm:gap-6 md:gap-8","data-id":"sb1tiakns","data-path":"src/pages/ServiceAreasPage.tsx",children:d6.map((e,t)=>i.jsx(_,{to:`/service-areas/${e.slug}`,className:"group","data-id":"e0nt9nhu0","data-path":"src/pages/ServiceAreasPage.tsx",children:i.jsx(Ve,{className:"border-0 shadow-lg hover:shadow-xl transition-all hover:-translate-y-1 h-full","data-id":"7e09ydd8u","data-path":"src/pages/ServiceAreasPage.tsx",children:i.jsxs(qe,{className:"p-6","data-id":"7npj35zwz","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsxs("div",{className:"flex items-start gap-4 mb-4","data-id":"tmxex6sbz","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsx("div",{className:"w-12 h-12 bg-lime/20 rounded-xl flex items-center justify-center flex-shrink-0","data-id":"iakax6pts","data-path":"src/pages/ServiceAreasPage.tsx",children:i.jsx(Zt,{className:"w-6 h-6 text-lime-dark","data-id":"ahf13otxw","data-path":"src/pages/ServiceAreasPage.tsx"})}),i.jsxs("h3",{className:"text-2xl font-bold text-navy pt-2","data-id":"au6zgmrq7","data-path":"src/pages/ServiceAreasPage.tsx",children:[e.name,", ON"]})]}),i.jsx("p",{className:"text-gray-600 leading-relaxed mb-4","data-id":"vuwona9w6","data-path":"src/pages/ServiceAreasPage.tsx",children:e.description}),i.jsxs("span",{className:"inline-flex items-center gap-2 text-lime-dark font-bold group-hover:gap-3 transition-all","data-id":"4v2g7my79","data-path":"src/pages/ServiceAreasPage.tsx",children:["View ",e.name,", ON Page ",i.jsx(Zo,{className:"w-4 h-4","data-id":"jkzyz5756","data-path":"src/pages/ServiceAreasPage.tsx"})]})]})})},t))})]})}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-gray-50","data-id":"u5eduxgep","data-path":"src/pages/ServiceAreasPage.tsx",children:i.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"09zd2awan","data-path":"src/pages/ServiceAreasPage.tsx",children:i.jsxs("div",{className:"grid lg:grid-cols-2 gap-8 md:gap-12 items-center","data-id":"9y6yw8byt","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsxs("div",{"data-id":"h3ot7wa74","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsxs("h2",{className:"text-3xl md:text-4xl font-bold text-navy mb-6","data-id":"6bdakfhts","data-path":"src/pages/ServiceAreasPage.tsx",children:["Local Crews,",i.jsx("br",{"data-id":"afyxshc9s","data-path":"src/pages/ServiceAreasPage.tsx"}),i.jsx("span",{className:"text-lime-dark","data-id":"srv7ot8sa","data-path":"src/pages/ServiceAreasPage.tsx",children:"Faster Service"})]}),i.jsx("p",{className:"text-lg text-gray-600 mb-8","data-id":"qu1ocajos","data-path":"src/pages/ServiceAreasPage.tsx",children:"As a Simcoe County business, we know these neighborhoods. Shorter drive times mean same-week scheduling, dependable arrival windows, and a team that genuinely cares about its community reputation."}),i.jsxs("ul",{className:"space-y-4","data-id":"3u5h1rodf","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsxs("li",{className:"flex items-start gap-3","data-id":"cqk0mn339","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsx(F,{className:"w-6 h-6 text-lime flex-shrink-0 mt-0.5","data-id":"qdc9vgz28","data-path":"src/pages/ServiceAreasPage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"y95cqqwei","data-path":"src/pages/ServiceAreasPage.tsx",children:"Same-week appointments in most service areas"})]}),i.jsxs("li",{className:"flex items-start gap-3","data-id":"hvnzb3fft","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsx(F,{className:"w-6 h-6 text-lime flex-shrink-0 mt-0.5","data-id":"aot58k06i","data-path":"src/pages/ServiceAreasPage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"rccdtyg1w","data-path":"src/pages/ServiceAreasPage.tsx",children:"No travel surcharges within Simcoe County"})]}),i.jsxs("li",{className:"flex items-start gap-3","data-id":"7zb0wmr38","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsx(F,{className:"w-6 h-6 text-lime flex-shrink-0 mt-0.5","data-id":"h4pjrj2hz","data-path":"src/pages/ServiceAreasPage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"j1v2p84w4","data-path":"src/pages/ServiceAreasPage.tsx",children:"Local references available on request"})]}),i.jsxs("li",{className:"flex items-start gap-3","data-id":"i6hpsfd03","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsx(F,{className:"w-6 h-6 text-lime flex-shrink-0 mt-0.5","data-id":"y4jddonnl","data-path":"src/pages/ServiceAreasPage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"7cjcqkl36","data-path":"src/pages/ServiceAreasPage.tsx",children:"Reliable arrival windows — we respect your time"})]})]})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-4 sm:gap-6","data-id":"a77jgze46","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsxs("div",{className:"bg-white rounded-2xl p-6 shadow-lg","data-id":"mwdolcxoa","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsx(Ip,{className:"w-10 h-10 text-lime mb-4","data-id":"rjifr52dr","data-path":"src/pages/ServiceAreasPage.tsx"}),i.jsx("p",{className:"text-3xl font-bold text-navy mb-1","data-id":"8k34euj1h","data-path":"src/pages/ServiceAreasPage.tsx",children:"8+"}),i.jsx("p",{className:"text-gray-600","data-id":"ecqngbuoa","data-path":"src/pages/ServiceAreasPage.tsx",children:"Cities Served"})]}),i.jsxs("div",{className:"bg-white rounded-2xl p-6 shadow-lg","data-id":"yvyizxtvb","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsx(Wn,{className:"w-10 h-10 text-lime mb-4","data-id":"v8rg5ayvf","data-path":"src/pages/ServiceAreasPage.tsx"}),i.jsx("p",{className:"text-3xl font-bold text-navy mb-1","data-id":"ktuhetaj2","data-path":"src/pages/ServiceAreasPage.tsx",children:"Same Week"}),i.jsx("p",{className:"text-gray-600","data-id":"v5agxvdyw","data-path":"src/pages/ServiceAreasPage.tsx",children:"Typical Booking"})]}),i.jsxs("div",{className:"bg-white rounded-2xl p-6 shadow-lg","data-id":"nlpe83myi","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsx(Zt,{className:"w-10 h-10 text-lime mb-4","data-id":"7y5a4c47m","data-path":"src/pages/ServiceAreasPage.tsx"}),i.jsx("p",{className:"text-3xl font-bold text-navy mb-1","data-id":"9hfonp2hd","data-path":"src/pages/ServiceAreasPage.tsx",children:"Local"}),i.jsx("p",{className:"text-gray-600","data-id":"2fvljbl7f","data-path":"src/pages/ServiceAreasPage.tsx",children:"Crews Only"})]}),i.jsxs("div",{className:"bg-white rounded-2xl p-6 shadow-lg","data-id":"xkbwzyr5n","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsx(F,{className:"w-10 h-10 text-lime mb-4","data-id":"u0qls33w1","data-path":"src/pages/ServiceAreasPage.tsx"}),i.jsx("p",{className:"text-3xl font-bold text-navy mb-1","data-id":"ylo1dzsgk","data-path":"src/pages/ServiceAreasPage.tsx",children:"89+"}),i.jsx("p",{className:"text-gray-600","data-id":"c1iye2lfe","data-path":"src/pages/ServiceAreasPage.tsx",children:"Happy Customers"})]})]})]})})}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-navy text-white","data-id":"v9mzockj6","data-path":"src/pages/ServiceAreasPage.tsx",children:i.jsxs("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center","data-id":"hdzqthy3u","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-6","data-id":"fdsfui3yt","data-path":"src/pages/ServiceAreasPage.tsx",children:"Not Sure If We Cover Your Area?"}),i.jsx("p",{className:"text-xl text-gray-300 mb-8","data-id":"c4pdslut3","data-path":"src/pages/ServiceAreasPage.tsx",children:"We frequently service areas just beyond our main coverage. Give us a quick call and we'll let you know — no obligation."}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center","data-id":"3572aprps","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsx(_,{to:"/contact","data-id":"7ivq8vy02","data-path":"src/pages/ServiceAreasPage.tsx",children:i.jsx(q,{size:"lg",className:"bg-lime hover:bg-lime-dark text-navy font-bold text-lg px-10 py-6 rounded-full shadow-xl w-full sm:w-auto","data-id":"tx3kf3ix4","data-path":"src/pages/ServiceAreasPage.tsx",children:"Get a Free Quote"})}),i.jsx("a",{href:"tel:9057293602","data-id":"dn9fe3l5l","data-path":"src/pages/ServiceAreasPage.tsx",children:i.jsxs(q,{size:"lg",variant:"outline",className:"bg-transparent border-2 border-white text-white hover:bg-white hover:text-navy font-bold text-lg px-10 py-6 rounded-full w-full sm:w-auto","data-id":"nsflamila","data-path":"src/pages/ServiceAreasPage.tsx",children:[i.jsx(Ce,{className:"w-5 h-5 mr-2","data-id":"gb40ce0cf","data-path":"src/pages/ServiceAreasPage.tsx"}),"(905) 729-3602"]})})]})]})})]})}const p6=[{icon:Ws,title:"Residential Duct Cleaning",description:"Thorough whole-home air duct cleaning that removes dust, allergens, and debris from every vent and trunk line.",link:"/residential"},{icon:t0,title:"Commercial Duct Cleaning",description:"Trusted by offices, retail spaces, and facilities for reliable, low-disruption commercial HVAC cleaning.",link:"/commercial"},{icon:n0,title:"Dryer Vent Cleaning",description:"Reduce fire risk and improve dryer efficiency with professional vent cleaning from end to end.",link:"/dryer-vent"}],h6=[{icon:Ip,title:"Truck-Mounted Power",text:"16,000+ CFM negative air machines for real, deep cleaning."},{icon:Hn,title:"Honest Pricing",text:"No bait-and-switch upsells. Clear, upfront quotes."},{icon:Wn,title:"Same-Week Booking",text:"Local crews mean we can usually fit you in fast."},{icon:Jo,title:"Local Reputation",text:"Built on referrals and repeat customers across Simcoe County."}];function Pa({data:e}){const t=e.heroImage||"https://newoaks.s3.us-west-1.amazonaws.com/AutoDev/66721/c04e7392-3af1-4527-947a-2091f90458eb.png",a=`${e.name}, Ontario`;return i.jsxs(ba,{"data-id":"qjp9te608","data-path":"src/components/LocationPage.tsx",children:[i.jsxs(Pt,{"data-id":"l2bf1v92i","data-path":"src/components/LocationPage.tsx",children:[i.jsx("title",{"data-id":"tgfigf3g8","data-path":"src/components/LocationPage.tsx",children:`Air Duct Cleaning in ${a} | Quality Air Duct Cleaning - Alliston, ON`}),i.jsx("meta",{name:"description",content:`Professional air duct & dryer vent cleaning in ${a}. Truck-mounted power, upfront pricing, same-week service. Get your free quote today.`,"data-id":"ojxmgcu5z","data-path":"src/components/LocationPage.tsx"}),i.jsx("link",{rel:"preload",as:"image",href:t,fetchPriority:"high","data-id":"yefydjtk2","data-path":"src/components/LocationPage.tsx"})]}),i.jsxs("section",{className:"relative bg-gradient-to-br from-navy via-navy-light to-navy py-12 sm:py-16 md:py-20 overflow-hidden","data-id":"u8frwt4qs","data-path":"src/components/LocationPage.tsx",children:[i.jsxs("div",{className:"absolute inset-0 opacity-10","data-id":"hso2ctiin","data-path":"src/components/LocationPage.tsx",children:[i.jsx("div",{className:"absolute top-10 right-20 w-80 h-80 bg-lime rounded-full blur-3xl","data-id":"sk727xtbc","data-path":"src/components/LocationPage.tsx"}),i.jsx("div",{className:"absolute bottom-10 left-10 w-72 h-72 bg-lime rounded-full blur-3xl","data-id":"xwuiefx7g","data-path":"src/components/LocationPage.tsx"})]}),i.jsx("div",{className:"relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"m76sxf7e9","data-path":"src/components/LocationPage.tsx",children:i.jsxs("div",{className:"grid lg:grid-cols-2 gap-8 md:gap-12 items-center","data-id":"u9mbviqy9","data-path":"src/components/LocationPage.tsx",children:[i.jsxs("div",{className:"text-white","data-id":"qg3jpabhh","data-path":"src/components/LocationPage.tsx",children:[i.jsxs("div",{className:"inline-flex items-center gap-2 bg-lime/20 rounded-full px-4 py-2 mb-6","data-id":"73w2wvpye","data-path":"src/components/LocationPage.tsx",children:[i.jsx(Zt,{className:"w-5 h-5 text-lime","data-id":"wnsmdfv97","data-path":"src/components/LocationPage.tsx"}),i.jsxs("span",{className:"text-sm font-medium text-lime","data-id":"31ng8qfg4","data-path":"src/components/LocationPage.tsx",children:["Serving ",a]})]}),i.jsxs("h1",{className:"text-2xl sm:text-3xl md:text-4xl lg:text-6xl font-bold leading-tight mb-6","data-id":"8oqkvzp56","data-path":"src/components/LocationPage.tsx",children:["Air Duct Cleaning",i.jsxs("span",{className:"text-lime","data-id":"ygaaqeu2d","data-path":"src/components/LocationPage.tsx",children:[" in ",a]})]}),i.jsx("p",{className:"text-xl text-gray-300 mb-4 leading-relaxed","data-id":"ss3oi5q33","data-path":"src/components/LocationPage.tsx",children:e.tagline}),i.jsx("p",{className:"text-lg text-gray-300 mb-8 leading-relaxed","data-id":"hpn5prkp6","data-path":"src/components/LocationPage.tsx",children:e.intro}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-4","data-id":"raj0ogqu7","data-path":"src/components/LocationPage.tsx",children:[i.jsx(_,{to:"/contact","data-id":"fxx2oakgn","data-path":"src/components/LocationPage.tsx",children:i.jsxs(q,{size:"lg",className:"bg-lime hover:bg-lime-dark text-navy font-bold text-lg px-8 py-6 rounded-full shadow-xl w-full sm:w-auto","data-id":"2g2h9c9vo","data-path":"src/components/LocationPage.tsx",children:["Get a Free ",a," Quote"]})}),i.jsx("a",{href:"tel:9057293602","data-id":"nudc28clu","data-path":"src/components/LocationPage.tsx",children:i.jsxs(q,{size:"lg",variant:"outline",className:"bg-transparent border-2 border-white text-white hover:bg-white hover:text-navy font-bold text-lg px-8 py-6 rounded-full w-full sm:w-auto","data-id":"eq98ur2uu","data-path":"src/components/LocationPage.tsx",children:[i.jsx(Ce,{className:"w-5 h-5 mr-2","data-id":"0rxks7obt","data-path":"src/components/LocationPage.tsx"}),"(905) 729-3602"]})})]})]}),i.jsxs("div",{className:"relative hidden lg:block","data-id":"a6i05i1vg","data-path":"src/components/LocationPage.tsx",children:[i.jsxs("picture",{"data-id":"btm95pcpo","data-path":"src/components/LocationPage.tsx",children:[i.jsx("source",{type:"image/webp",srcSet:t.includes("unsplash.com")?`${t}&fm=webp`:t,"data-id":"tmiyqfeyt","data-path":"src/components/LocationPage.tsx"}),i.jsx("img",{src:t,alt:`Professional air duct cleaning service in ${a}, Ontario — Quality Air Duct Cleaning certified HVAC technicians`,className:"w-full rounded-2xl shadow-2xl scale-90 origin-center",loading:"eager",fetchPriority:"high",decoding:"async","data-id":"dxaty0zwx","data-path":"src/components/LocationPage.tsx"})]}),i.jsx("div",{className:"absolute -bottom-6 -right-6 bg-white rounded-xl shadow-xl p-4","data-id":"hi7qkasgr","data-path":"src/components/LocationPage.tsx",children:i.jsxs("div",{className:"flex items-center gap-3","data-id":"ti0vr3oui","data-path":"src/components/LocationPage.tsx",children:[i.jsx("div",{className:"w-12 h-12 bg-lime rounded-full flex items-center justify-center","data-id":"wxyllxlvm","data-path":"src/components/LocationPage.tsx",children:i.jsx(Zt,{className:"w-6 h-6 text-navy","data-id":"zz5cb3xgq","data-path":"src/components/LocationPage.tsx"})}),i.jsxs("div",{"data-id":"ymyc33467","data-path":"src/components/LocationPage.tsx",children:[i.jsx("p",{className:"font-bold text-navy","data-id":"9ektd9e5n","data-path":"src/components/LocationPage.tsx",children:a}),i.jsx("p",{className:"text-sm text-gray-500","data-id":"x8ycagzkg","data-path":"src/components/LocationPage.tsx",children:"Local Service Area"})]})]})})]})]})})]}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-white","data-id":"ii1xfad53","data-path":"src/components/LocationPage.tsx",children:i.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"tnjalflnf","data-path":"src/components/LocationPage.tsx",children:i.jsxs("div",{className:"grid lg:grid-cols-2 gap-8 md:gap-12 items-center","data-id":"m4r9sw9bq","data-path":"src/components/LocationPage.tsx",children:[i.jsxs("div",{"data-id":"7n33zvydh","data-path":"src/components/LocationPage.tsx",children:[i.jsxs("h2",{className:"text-3xl md:text-4xl font-bold text-navy mb-6","data-id":"2dlvojzo8","data-path":"src/components/LocationPage.tsx",children:["Why ",a," Customers",i.jsx("br",{"data-id":"m1cj060g5","data-path":"src/components/LocationPage.tsx"}),i.jsx("span",{className:"text-lime-dark","data-id":"u0kikhvu9","data-path":"src/components/LocationPage.tsx",children:"Choose Us"})]}),i.jsxs("p",{className:"text-lg text-gray-600 mb-8","data-id":"8spifo2t3","data-path":"src/components/LocationPage.tsx",children:["We're a Simcoe County–based business serving ",a," year-round. Our crews know the area, and we treat every home and business like our own."]}),i.jsx("ul",{className:"space-y-4","data-id":"jtko4r9k7","data-path":"src/components/LocationPage.tsx",children:e.highlights.map((s,n)=>i.jsxs("li",{className:"flex items-start gap-3","data-id":"yom9e7j1u","data-path":"src/components/LocationPage.tsx",children:[i.jsx(F,{className:"w-6 h-6 text-lime flex-shrink-0 mt-0.5","data-id":"oem7o1uim","data-path":"src/components/LocationPage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"ltr3i98k4","data-path":"src/components/LocationPage.tsx",children:s})]},n))})]}),i.jsx("div",{className:"grid grid-cols-2 gap-4 sm:gap-6","data-id":"4bdvrgnld","data-path":"src/components/LocationPage.tsx",children:h6.map((s,n)=>i.jsxs("div",{className:"bg-gray-50 rounded-2xl p-6 shadow-sm","data-id":"l6cr55yh9","data-path":"src/components/LocationPage.tsx",children:[i.jsx(s.icon,{className:"w-10 h-10 text-lime mb-4","data-id":"gjndhhl0y","data-path":"src/components/LocationPage.tsx"}),i.jsx("p",{className:"font-bold text-navy mb-1","data-id":"z79qmi9hx","data-path":"src/components/LocationPage.tsx",children:s.title}),i.jsx("p",{className:"text-gray-600 text-sm","data-id":"96lczyyr2","data-path":"src/components/LocationPage.tsx",children:s.text})]},n))})]})})}),e.neighborhoods&&e.neighborhoods.length>0&&i.jsx("section",{className:"py-10 sm:py-14 md:py-20 bg-gray-50","data-id":"820tu4dvr","data-path":"src/components/LocationPage.tsx",children:i.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"mbk1k8cu8","data-path":"src/components/LocationPage.tsx",children:[i.jsxs("div",{className:"text-center mb-12","data-id":"781ktv7jl","data-path":"src/components/LocationPage.tsx",children:[i.jsxs("h2",{className:"text-3xl md:text-4xl font-bold text-navy mb-4","data-id":"iqzxw9byi","data-path":"src/components/LocationPage.tsx",children:["Neighborhoods We Serve in ",a]}),i.jsx("p",{className:"text-lg text-gray-600 max-w-2xl mx-auto","data-id":"0ujh6hjcl","data-path":"src/components/LocationPage.tsx",children:"If your street isn't listed, give us a call — we likely service it too."})]}),i.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-3 sm:gap-4 max-w-4xl mx-auto","data-id":"x36j2c6wl","data-path":"src/components/LocationPage.tsx",children:e.neighborhoods.map((s,n)=>i.jsxs("div",{className:"flex items-center gap-2 bg-white rounded-xl p-4 shadow-sm","data-id":"1furktd2p","data-path":"src/components/LocationPage.tsx",children:[i.jsx(Zt,{className:"w-5 h-5 text-lime flex-shrink-0","data-id":"fd7pk3o14","data-path":"src/components/LocationPage.tsx"}),i.jsx("span",{className:"text-gray-700 font-medium","data-id":"u2aik1h3q","data-path":"src/components/LocationPage.tsx",children:s})]},n))})]})}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-white","data-id":"sjgfjv03e","data-path":"src/components/LocationPage.tsx",children:i.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"slyehbosu","data-path":"src/components/LocationPage.tsx",children:[i.jsxs("div",{className:"text-center mb-16","data-id":"sfwbf3q60","data-path":"src/components/LocationPage.tsx",children:[i.jsxs("h2",{className:"text-3xl md:text-4xl font-bold text-navy mb-4","data-id":"qcqdqgx24","data-path":"src/components/LocationPage.tsx",children:["Services Available in ",a]}),i.jsx("p",{className:"text-lg text-gray-600 max-w-2xl mx-auto","data-id":"mynzq56xa","data-path":"src/components/LocationPage.tsx",children:"The full range of duct and vent cleaning, available locally."})]}),i.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 sm:gap-6 md:gap-8","data-id":"7q1pv7dh2","data-path":"src/components/LocationPage.tsx",children:p6.map((s,n)=>i.jsx(Ve,{className:"border-0 shadow-lg hover:shadow-xl transition-all hover:-translate-y-1","data-id":"yv60sgem6","data-path":"src/components/LocationPage.tsx",children:i.jsxs(qe,{className:"p-8","data-id":"3qk628fwq","data-path":"src/components/LocationPage.tsx",children:[i.jsx("div",{className:"w-14 h-14 bg-lime/20 rounded-xl flex items-center justify-center mb-4","data-id":"z8qgrja5z","data-path":"src/components/LocationPage.tsx",children:i.jsx(s.icon,{className:"w-7 h-7 text-lime-dark","data-id":"7bn2c4hcr","data-path":"src/components/LocationPage.tsx"})}),i.jsx("h3",{className:"text-xl font-bold text-navy mb-3","data-id":"yjogd8c9f","data-path":"src/components/LocationPage.tsx",children:s.title}),i.jsx("p",{className:"text-gray-600 mb-4","data-id":"zmzgmfnyv","data-path":"src/components/LocationPage.tsx",children:s.description}),i.jsxs(_,{to:s.link,className:"inline-flex items-center gap-2 text-lime-dark font-bold hover:gap-3 transition-all","data-id":"gq44fcoyb","data-path":"src/components/LocationPage.tsx",children:["Learn More ",i.jsx(Zo,{className:"w-4 h-4","data-id":"c8usdsawc","data-path":"src/components/LocationPage.tsx"})]})]})},n))})]})}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-navy text-white","data-id":"l3dn5dt0c","data-path":"src/components/LocationPage.tsx",children:i.jsxs("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center","data-id":"wa0dklpkt","data-path":"src/components/LocationPage.tsx",children:[i.jsxs("h2",{className:"text-3xl md:text-4xl font-bold mb-6","data-id":"xssdbect5","data-path":"src/components/LocationPage.tsx",children:["Ready to Book in ",a,"?"]}),i.jsx("p",{className:"text-xl text-gray-300 mb-8","data-id":"xqotcaa6l","data-path":"src/components/LocationPage.tsx",children:"Cleaner ducts, cleaner air. Get a free no-pressure quote today."}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center","data-id":"gpjnkuofs","data-path":"src/components/LocationPage.tsx",children:[i.jsx(_,{to:"/contact","data-id":"hzflr2rq6","data-path":"src/components/LocationPage.tsx",children:i.jsx(q,{size:"lg",className:"bg-lime hover:bg-lime-dark text-navy font-bold text-lg px-10 py-6 rounded-full shadow-xl w-full sm:w-auto","data-id":"j4d1pkraf","data-path":"src/components/LocationPage.tsx",children:"Get a Free Quote"})}),i.jsx("a",{href:"tel:9057293602","data-id":"umdzmafmz","data-path":"src/components/LocationPage.tsx",children:i.jsxs(q,{size:"lg",variant:"outline",className:"bg-transparent border-2 border-white text-white hover:bg-white hover:text-navy font-bold text-lg px-10 py-6 rounded-full w-full sm:w-auto","data-id":"blbpmj73f","data-path":"src/components/LocationPage.tsx",children:[i.jsx(Ce,{className:"w-5 h-5 mr-2","data-id":"gxiyjwj9y","data-path":"src/components/LocationPage.tsx"}),"(905) 729-3602"]})})]}),i.jsx("div",{className:"mt-10","data-id":"ciuewhpt9","data-path":"src/components/LocationPage.tsx",children:i.jsxs(_,{to:"/service-areas",className:"inline-flex items-center gap-2 text-lime hover:text-white transition-colors","data-id":"umtl0q863","data-path":"src/components/LocationPage.tsx",children:[i.jsx(Zo,{className:"w-4 h-4","data-id":"nj5ny0kfk","data-path":"src/components/LocationPage.tsx"})," See all service areas"]})})]})})]})}function f6(){return i.jsx(Pa,{data:{heroImage:"https://newoaks.s3.us-west-1.amazonaws.com/AutoDev/66721/4c52b8a2-9a69-4adf-b89c-380e9a093ca4.webp",name:"Alliston",slug:"alliston",tagline:"Our home base — proudly serving Alliston families and businesses with same-week service.",intro:"Alliston is where it all started for us. From historic downtown homes to newer subdivisions, we help local residents breathe cleaner air with truck-mounted duct cleaning and honest, no-pressure quotes.",neighborhoods:["Downtown Alliston","Treetops","Briar Hill","Riverdale","Alliston North","Alliston South","Industrial Park","Victoria Street"],highlights:["Same-week appointments throughout Alliston","No travel fees — we're local","Family-owned, community trusted","Truck-mounted equipment for deeper cleaning","Free, no-pressure inspections"]},"data-id":"p8y6un7q9","data-path":"src/pages/locations/AllistonPage.tsx"})}function m6(){return i.jsx(Pa,{data:{heroImage:"https://cdn.ezsite.ai/AutoDev/66721/fad171f4-ce80-4c80-8eda-52dd93efa96c.webp",name:"Barrie",slug:"barrie",tagline:"Trusted by Barrie homeowners and commercial properties for honest, professional duct cleaning.",intro:"From lakeside homes to busy commercial buildings, Barrie families and businesses count on us for thorough, truck-mounted air duct cleaning. No high-pressure upsells — just clean ducts, fairly priced.",neighborhoods:["Downtown Barrie","Allandale","Painswick","Holly","Ardagh","Bayshore","Sunnidale","Letitia Heights","East Bayfield","Innishore"],highlights:["Serving Barrie residential and commercial customers","Truck-mounted negative air machines","Free quotes — no obligation","Same-week scheduling available","Trusted local reputation"]},"data-id":"i5i6wcxho","data-path":"src/pages/locations/BarriePage.tsx"})}function g6(){return i.jsx(Pa,{data:{heroImage:"https://cdn.ezsite.ai/AutoDev/66721/c1982e58-d71e-4850-8d5c-f65a64339293.webp",name:"Angus",slug:"angus",tagline:"Trusted by Angus families for thorough residential air duct and dryer vent cleaning.",intro:"Angus and the surrounding CFB Borden community count on us for cleaner air at home. We provide professional duct cleaning that removes years of buildup — every visit, every time.",neighborhoods:["Downtown Angus","Pine River","CFB Borden Area","Angus North","Angus South","River Road","Mill Street","Central Angus"],highlights:["Local crews who know the area","Specialized service for military families","Honest pricing, no hidden fees","Same-week appointments","Reliable arrival windows"]},"data-id":"fu0wo2185","data-path":"src/pages/locations/AngusPage.tsx"})}function x6(){return i.jsx(Pa,{data:{heroImage:"https://cdn.ezsite.ai/AutoDev/66721/cc6df0c6-ffc6-4d15-8e2c-5f3124672c3c.webp",name:"Innisfil",slug:"innisfil",tagline:"Lakeshore homes deserve clean air too — professional duct cleaning across Innisfil.",intro:"From Alcona to Lefroy and Cookstown, we provide professional duct and dryer vent cleaning throughout Innisfil. Whether it's a year-round home or seasonal property, we keep your HVAC running clean.",neighborhoods:["Alcona","Lefroy","Cookstown","Stroud","Big Bay Point","Sandy Cove","Gilford","Belle Ewart","Churchill"],highlights:["Lakeside and inland service","Cottage and seasonal home cleaning","Local Simcoe County crews","Free quotes — no pressure","Truck-mounted commercial-grade power"]},"data-id":"zfm3n95lk","data-path":"src/pages/locations/InnisfilPage.tsx"})}function y6(){return i.jsx(Pa,{data:{heroImage:"https://cdn.ezsite.ai/AutoDev/66721/5aa71950-9827-40aa-92f3-dad524f308b9.webp",name:"Collingwood",slug:"collingwood",tagline:"From cottages to year-round homes — keeping Collingwood breathing easier.",intro:"Collingwood properties range from historic downtown homes to chalets near Blue Mountain. We bring commercial-grade equipment and the same care to every job, no matter the season.",neighborhoods:["Downtown Collingwood","Blue Mountain Area","Cranberry","Mountain View","Georgian Meadows","Living Stone","Tanglewood","Silver Glen","The Shipyards"],highlights:["Service for chalets, cottages, and full-time homes","Pre-season and post-season scheduling","Commercial duct cleaning for resorts and shops","Honest, no-pressure quotes","Local team you can trust"]},"data-id":"ouvmq028t","data-path":"src/pages/locations/CollingwoodPage.tsx"})}function v6(){return i.jsx(Pa,{data:{heroImage:"https://cdn.ezsite.ai/AutoDev/66721/50f23d62-ba03-4815-967c-828731a03f1d.webp",name:"New Tecumseth",slug:"new-tecumseth",tagline:"Reliable, professional air duct cleaning across Tottenham, Beeton, and surrounding communities.",intro:"New Tecumseth is one of our biggest service areas. Whether you're in Tottenham, Beeton, or out on a country property, our local crews bring truck-mounted power and a service-first attitude to every job.",neighborhoods:["Tottenham","Beeton","Bond Head","Cookstown","Loretto","Rich Hill","Briar Hill","Treetops","Highway 9 corridor"],highlights:["Covering Tottenham, Beeton, Bond Head, and beyond","Country property and rural home expertise","Same-week scheduling available","Honest, transparent pricing","Family-owned, locally trusted"]},"data-id":"n6uk3y3dg","data-path":"src/pages/locations/NewTecumsethPage.tsx"})}function w6(){return i.jsx(Pa,{data:{heroImage:"https://cdn.ezsite.ai/AutoDev/66721/26807bc5-da4b-4bb0-b3b6-f2014622c22c.webp",name:"Bradford",slug:"bradford",tagline:"Bradford homes and businesses count on us for thorough HVAC duct cleaning that makes a real difference.",intro:"Bradford's mix of newer subdivisions and established homes means every system is different. We bring the right tools and approach to make sure your ducts are actually clean — not just surface-vacuumed.",neighborhoods:["Bradford West","Bradford East","Holland Marsh","Bond Head","Newton Robinson","Summerlyn","Grand Central","Green Valley","Bridge Street"],highlights:["Subdivision and established home expertise","Commercial duct cleaning for local businesses","Truck-mounted negative air machines","Free, no-obligation quotes","Reliable arrival windows"]},"data-id":"g2tvsmtde","data-path":"src/pages/locations/BradfordPage.tsx"})}function b6(){return i.jsx(Pa,{data:{heroImage:"https://cdn.ezsite.ai/AutoDev/66721/69906f8c-699f-44e6-b2af-f803dc32074b.webp",name:"Orillia",slug:"orillia",tagline:"Serving Orillia and the surrounding Lake Country with the same quality and care we bring everywhere.",intro:"From homes near Lake Couchiching to Lake Simcoe and across the Lake Country, Orillia residents trust us to handle their air duct and dryer vent cleaning the right way — every time.",neighborhoods:["Downtown Orillia","West Ridge","North Ward","South Ward","East Ward","Couchiching","Atherley","Hawkestone","Rama"],highlights:["Lake Country and city-wide service","Cottage and full-time home cleaning","Commercial duct cleaning for shops and offices","Honest pricing, no upsells","Same-week appointments"]},"data-id":"dizrmiwfw","data-path":"src/pages/locations/OrilliaPage.tsx"})}function P6(){return i.jsx(Pa,{data:{heroImage:"https://newoaks.s3.us-west-1.amazonaws.com/AutoDev/66721/8006fafd-a9c1-48c9-8bd3-422d312c1b1d.png",name:"Newmarket",slug:"newmarket",tagline:"Trusted by Newmarket homeowners and businesses for honest, professional air duct cleaning.",intro:"Newmarket families and commercial properties count on us for thorough, truck-mounted air duct and dryer vent cleaning. From Glenway Estates to Central Newmarket, we bring the same quality equipment and no-pressure service to every home we visit.",neighborhoods:["Central Newmarket","Glenway Estates","Armitage","Leslie Valley","Gorham-College Manor","Stonehaven","Huron Heights","Bristol-London","Summerhill Estates","Rogers Reservoir"],highlights:["Serving Newmarket residential and commercial customers","Truck-mounted negative air machines for deep cleaning","Free quotes — no obligation, no high-pressure upsells","Same-week scheduling available","Trusted local reputation across York Region"]},"data-id":"3jgjrl5x0","data-path":"src/pages/locations/NewmarketPage.tsx"})}const vr=w.forwardRef(({className:e,type:t,...a},s)=>i.jsx("input",{type:t,className:ge("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:s,...a}));vr.displayName="Input";const Sw=w.forwardRef(({className:e,...t},a)=>i.jsx("textarea",{className:ge("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:a,...t}));Sw.displayName="Textarea";var j6=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Aw=j6.reduce((e,t)=>{const a=hw(`Primitive.${t}`),s=w.forwardRef((n,r)=>{const{asChild:o,...l}=n,c=o?a:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(c,{...l,ref:r})});return s.displayName=`Primitive.${t}`,{...e,[t]:s}},{}),C6="Label",Tw=w.forwardRef((e,t)=>i.jsx(Aw.label,{...e,ref:t,onMouseDown:a=>{var n;a.target.closest("button, input, select, textarea")||((n=e.onMouseDown)==null||n.call(e,a),!a.defaultPrevented&&a.detail>1&&a.preventDefault())}}));Tw.displayName=C6;var Ew=Tw;const N6=zl("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Sa=w.forwardRef(({className:e,...t},a)=>i.jsx(Ew,{ref:a,className:ge(N6(),e),...t}));Sa.displayName=Ew.displayName;const k6=[{name:"Alliston",primary:!0},{name:"Barrie",primary:!0},{name:"Angus",primary:!0},{name:"Innisfil",primary:!0},{name:"Collingwood",primary:!0},{name:"Wasaga Beach",primary:!1},{name:"Orillia",primary:!1},{name:"Bradford",primary:!1},{name:"New Tecumseth",primary:!1},{name:"Essa Township",primary:!1},{name:"Clearview Township",primary:!1},{name:"Springwater",primary:!1}];function S6(){const[e,t]=w.useState({name:"",email:"",phone:"",address:"",service:"",hearAboutUs:"",message:""}),[a,s]=w.useState(!1),n=o=>{t({...e,[o.target.name]:o.target.value})},r=async o=>{o.preventDefault(),s(!0);const l=`New Quote Request from ${e.name}`,c=`
      <h2>New Quote Request</h2>
      <p><strong>Name:</strong> ${e.name}</p>
      <p><strong>Email:</strong> ${e.email}</p>
      <p><strong>Phone:</strong> ${e.phone}</p>
      <p><strong>Address:</strong> ${e.address||"Not provided"}</p>
      <p><strong>Service Needed:</strong> ${e.service}</p>
      <p><strong>How did you hear about us:</strong> ${e.hearAboutUs||"Not provided"}</p>
      <p><strong>Additional Details:</strong></p>
      <p>${e.message?e.message.replace(/\n/g,"<br>"):"None provided"}</p>
    `,d=`New Quote Request

Name: ${e.name}
Email: ${e.email}
Phone: ${e.phone}
Address: ${e.address||"Not provided"}
Service Needed: ${e.service}
How did you hear about us: ${e.hearAboutUs||"Not provided"}

Additional Details:
${e.message||"None provided"}`,{error:u}=await window.ezsite.apis.sendEmail({from:"Quality Air Duct Cleaning <info@qualityairductcleaning.ca>",to:["info@qualityairductcleaning.ca"],subject:l,text:d,html:c});if(u){$d({title:"Submission Failed",description:"Something went wrong. Please call us at (905) 729-3602.",variant:"destructive"}),s(!1);return}$d({title:"Quote Request Received!",description:"We'll get back to you within 24 hours."}),t({name:"",email:"",phone:"",address:"",service:"",hearAboutUs:"",message:""}),s(!1)};return i.jsxs(ba,{"data-id":"e8k35fxan","data-path":"src/pages/ContactPage.tsx",children:[i.jsxs(Pt,{"data-id":"0rxao8tk7","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("title",{"data-id":"vxtxued2y","data-path":"src/pages/ContactPage.tsx",children:"Get a Free Duct Cleaning Quote | Quality Air Duct Cleaning - Alliston, ON"}),i.jsx("meta",{name:"description",content:"Request a free duct cleaning quote for your Simcoe County home or business. Honest pricing, same-week service. Call (905) 729-3602 or fill out our form today.","data-id":"g5sq59s1c","data-path":"src/pages/ContactPage.tsx"})]}),i.jsxs("section",{className:"relative bg-gradient-to-br from-navy via-navy-light to-navy py-12 sm:py-16 md:py-20 overflow-hidden","data-id":"63ok9f52q","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("div",{className:"absolute inset-0 opacity-10","data-id":"qbo60jokn","data-path":"src/pages/ContactPage.tsx",children:i.jsx("div",{className:"absolute bottom-20 right-20 w-80 h-80 bg-lime rounded-full blur-3xl","data-id":"rcew0ca01","data-path":"src/pages/ContactPage.tsx"})}),i.jsxs("div",{className:"relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center text-white","data-id":"mgpaa7ns3","data-path":"src/pages/ContactPage.tsx",children:[i.jsxs("h1",{className:"text-2xl sm:text-3xl md:text-4xl lg:text-5xl font-bold mb-6","data-id":"lcw02bwpb","data-path":"src/pages/ContactPage.tsx",children:["Get Your ",i.jsx("span",{className:"text-lime","data-id":"roi26a9t7","data-path":"src/pages/ContactPage.tsx",children:"Free Quote"})]}),i.jsx("p",{className:"text-xl text-gray-300 max-w-2xl mx-auto","data-id":"fyhcd2kx8","data-path":"src/pages/ContactPage.tsx",children:"Ready for cleaner air? Contact us today for a no-obligation quote. We serve all of Simcoe County with honest, transparent pricing."})]})]}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-white","data-id":"qbkcw7kr9","data-path":"src/pages/ContactPage.tsx",children:i.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"zqcy5djn1","data-path":"src/pages/ContactPage.tsx",children:i.jsxs("div",{className:"grid lg:grid-cols-2 gap-8 md:gap-12","data-id":"3vs2slcjw","data-path":"src/pages/ContactPage.tsx",children:[i.jsx(Ve,{className:"border-0 shadow-xl","data-id":"eerxm1z2z","data-path":"src/pages/ContactPage.tsx",children:i.jsxs(qe,{className:"p-8","data-id":"swa3y1zyj","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("h2",{className:"text-2xl font-bold text-navy mb-6","data-id":"5ukpwmk76","data-path":"src/pages/ContactPage.tsx",children:"Request a Free Quote"}),i.jsxs("form",{onSubmit:r,className:"space-y-6","data-id":"se6xsx5z1","data-path":"src/pages/ContactPage.tsx",children:[i.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4","data-id":"t2vg2xarf","data-path":"src/pages/ContactPage.tsx",children:[i.jsxs("div",{"data-id":"sxj5zuj13","data-path":"src/pages/ContactPage.tsx",children:[i.jsx(Sa,{htmlFor:"name",className:"text-navy font-medium","data-id":"0136zs6nx","data-path":"src/pages/ContactPage.tsx",children:"Full Name *"}),i.jsx(vr,{id:"name",name:"name",value:e.name,onChange:n,required:!0,className:"mt-1",placeholder:"John Smith","data-id":"hijif3l0z","data-path":"src/pages/ContactPage.tsx"})]}),i.jsxs("div",{"data-id":"yfifxq88l","data-path":"src/pages/ContactPage.tsx",children:[i.jsx(Sa,{htmlFor:"phone",className:"text-navy font-medium","data-id":"hc6okvd8c","data-path":"src/pages/ContactPage.tsx",children:"Phone Number *"}),i.jsx(vr,{id:"phone",name:"phone",type:"tel",value:e.phone,onChange:n,required:!0,className:"mt-1",placeholder:"(905) 555-1234","data-id":"484sagttj","data-path":"src/pages/ContactPage.tsx"})]})]}),i.jsxs("div",{"data-id":"3h1pvtzpi","data-path":"src/pages/ContactPage.tsx",children:[i.jsx(Sa,{htmlFor:"email",className:"text-navy font-medium","data-id":"cyq1hrni4","data-path":"src/pages/ContactPage.tsx",children:"Email Address *"}),i.jsx(vr,{id:"email",name:"email",type:"email",value:e.email,onChange:n,required:!0,className:"mt-1",placeholder:"john@example.com","data-id":"jpi422oj3","data-path":"src/pages/ContactPage.tsx"})]}),i.jsxs("div",{"data-id":"b15pntsk3","data-path":"src/pages/ContactPage.tsx",children:[i.jsx(Sa,{htmlFor:"address",className:"text-navy font-medium","data-id":"ydqr347sn","data-path":"src/pages/ContactPage.tsx",children:"Property Address"}),i.jsx(vr,{id:"address",name:"address",value:e.address,onChange:n,className:"mt-1",placeholder:"123 Main St, Alliston, ON","data-id":"6ia36476d","data-path":"src/pages/ContactPage.tsx"})]}),i.jsxs("div",{"data-id":"4pwv5vgxn","data-path":"src/pages/ContactPage.tsx",children:[i.jsx(Sa,{htmlFor:"service",className:"text-navy font-medium","data-id":"cwokwluut","data-path":"src/pages/ContactPage.tsx",children:"Service Needed *"}),i.jsxs("select",{id:"service",name:"service",value:e.service,onChange:n,required:!0,className:"mt-1 w-full rounded-md border border-input bg-background px-3 py-2 text-sm","data-id":"a8ycr0rb8","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("option",{value:"","data-id":"s210jwquv","data-path":"src/pages/ContactPage.tsx",children:"Select a service..."}),i.jsx("option",{value:"residential","data-id":"d7tg2x7f8","data-path":"src/pages/ContactPage.tsx",children:"Residential Duct Cleaning"}),i.jsx("option",{value:"commercial","data-id":"t9ongix00","data-path":"src/pages/ContactPage.tsx",children:"Commercial/Industrial Cleaning"}),i.jsx("option",{value:"dryer-vent","data-id":"2phdtfdkg","data-path":"src/pages/ContactPage.tsx",children:"Dryer Vent Cleaning"}),i.jsx("option",{value:"multiple","data-id":"y8rgswgb1","data-path":"src/pages/ContactPage.tsx",children:"Multiple Services"})]})]}),i.jsxs("div",{"data-id":"spd3qdd8v","data-path":"src/pages/ContactPage.tsx",children:[i.jsx(Sa,{htmlFor:"hearAboutUs",className:"text-navy font-medium","data-id":"7r4umjb4e","data-path":"src/pages/ContactPage.tsx",children:"How did you hear about us?"}),i.jsxs("select",{id:"hearAboutUs",name:"hearAboutUs",value:e.hearAboutUs,onChange:n,className:"mt-1 w-full rounded-md border border-input bg-background px-3 py-2 text-sm","data-id":"2pkrm1sgq","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("option",{value:"","data-id":"u8tz61k3c","data-path":"src/pages/ContactPage.tsx",children:"Select an option..."}),i.jsx("option",{value:"Google","data-id":"9u6vtz4f9","data-path":"src/pages/ContactPage.tsx",children:"Google"}),i.jsx("option",{value:"AI Search","data-id":"c85xr66yb","data-path":"src/pages/ContactPage.tsx",children:"AI Search"}),i.jsx("option",{value:"Bing","data-id":"f5q69mej7","data-path":"src/pages/ContactPage.tsx",children:"Bing"}),i.jsx("option",{value:"Referral","data-id":"iuv8igmqi","data-path":"src/pages/ContactPage.tsx",children:"Referral"}),i.jsx("option",{value:"Other","data-id":"ljftdfi2c","data-path":"src/pages/ContactPage.tsx",children:"Other"})]})]}),i.jsxs("div",{"data-id":"l6pule0fw","data-path":"src/pages/ContactPage.tsx",children:[i.jsx(Sa,{htmlFor:"message",className:"text-navy font-medium","data-id":"jo8ccg97x","data-path":"src/pages/ContactPage.tsx",children:"Additional Details"}),i.jsx(Sw,{id:"message",name:"message",value:e.message,onChange:n,className:"mt-1",rows:4,placeholder:"Tell us about your home/building, any concerns, or questions...","data-id":"binxschzf","data-path":"src/pages/ContactPage.tsx"})]}),i.jsx(q,{type:"submit",disabled:a,className:"w-full bg-lime hover:bg-lime-dark text-navy font-bold py-4 rounded-full text-lg","data-id":"pd7vkb3th","data-path":"src/pages/ContactPage.tsx",children:a?"Sending...":i.jsxs(i.Fragment,{children:[i.jsx(UC,{className:"w-5 h-5 mr-2","data-id":"uc39dn7g1","data-path":"src/pages/ContactPage.tsx"}),"Send Quote Request"]})})]}),i.jsx("p",{className:"text-sm text-gray-500 mt-4 text-center","data-id":"53q50hkid","data-path":"src/pages/ContactPage.tsx",children:"We'll respond within 24 hours. No spam, ever."})]})}),i.jsxs("div",{className:"space-y-8","data-id":"sbg0eaqvg","data-path":"src/pages/ContactPage.tsx",children:[i.jsxs("div",{"data-id":"7025eye8v","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("h2",{className:"text-2xl font-bold text-navy mb-6","data-id":"5u1f6nck8","data-path":"src/pages/ContactPage.tsx",children:"Get In Touch"}),i.jsxs("div",{className:"space-y-6","data-id":"qu2xvn8i6","data-path":"src/pages/ContactPage.tsx",children:[i.jsxs("a",{href:"tel:9057293602",className:"flex items-start gap-4 group","data-id":"kg6331hlu","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("div",{className:"w-12 h-12 bg-lime rounded-full flex items-center justify-center flex-shrink-0 group-hover:bg-lime-dark transition-colors","data-id":"d213qwjin","data-path":"src/pages/ContactPage.tsx",children:i.jsx(Ce,{className:"w-6 h-6 text-navy","data-id":"pgzfvjv8s","data-path":"src/pages/ContactPage.tsx"})}),i.jsxs("div",{"data-id":"nyktb2xp1","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("p",{className:"font-semibold text-navy","data-id":"95k8syg32","data-path":"src/pages/ContactPage.tsx",children:"Phone"}),i.jsx("p",{className:"text-lg text-gray-600 group-hover:text-lime-dark transition-colors","data-id":"1pjyygc4h","data-path":"src/pages/ContactPage.tsx",children:"(905) 729-3602"}),i.jsx("p",{className:"text-sm text-gray-500","data-id":"3bszld6v7","data-path":"src/pages/ContactPage.tsx",children:"Call or text anytime"})]})]}),i.jsxs("a",{href:"mailto:info@qualityairductcleaning.ca",className:"flex items-start gap-4 group","data-id":"xc4uv3npz","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("div",{className:"w-12 h-12 bg-lime rounded-full flex items-center justify-center flex-shrink-0 group-hover:bg-lime-dark transition-colors","data-id":"xwsuae9h1","data-path":"src/pages/ContactPage.tsx",children:i.jsx(s0,{className:"w-6 h-6 text-navy","data-id":"ghl2qr1w9","data-path":"src/pages/ContactPage.tsx"})}),i.jsxs("div",{"data-id":"sk9gi3sau","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("p",{className:"font-semibold text-navy","data-id":"s5goi0vl8","data-path":"src/pages/ContactPage.tsx",children:"Email"}),i.jsx("p",{className:"text-lg text-gray-600 group-hover:text-lime-dark transition-colors","data-id":"qhdp4sbi2","data-path":"src/pages/ContactPage.tsx",children:"info@qualityairductcleaning.ca"}),i.jsx("p",{className:"text-sm text-gray-500","data-id":"iv073zwww","data-path":"src/pages/ContactPage.tsx",children:"We respond within 24 hours"})]})]}),i.jsxs("div",{className:"flex items-start gap-4","data-id":"4tmbejhd7","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("div",{className:"w-12 h-12 bg-lime rounded-full flex items-center justify-center flex-shrink-0","data-id":"xujwuymc1","data-path":"src/pages/ContactPage.tsx",children:i.jsx(Zt,{className:"w-6 h-6 text-navy","data-id":"pkn77noj1","data-path":"src/pages/ContactPage.tsx"})}),i.jsxs("div",{"data-id":"587bdkuzt","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("p",{className:"font-semibold text-navy","data-id":"0cbabaclb","data-path":"src/pages/ContactPage.tsx",children:"Location"}),i.jsx("p",{className:"text-lg text-gray-600","data-id":"lw95czyt6","data-path":"src/pages/ContactPage.tsx",children:"Alliston, Ontario"}),i.jsx("p",{className:"text-sm text-gray-500","data-id":"q64qd98os","data-path":"src/pages/ContactPage.tsx",children:"Serving all of Simcoe County"})]})]}),i.jsxs("div",{className:"flex items-start gap-4","data-id":"6udtcxudk","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("div",{className:"w-12 h-12 bg-lime rounded-full flex items-center justify-center flex-shrink-0","data-id":"bnxut2x9n","data-path":"src/pages/ContactPage.tsx",children:i.jsx(Wn,{className:"w-6 h-6 text-navy","data-id":"tnxtz4tv8","data-path":"src/pages/ContactPage.tsx"})}),i.jsxs("div",{"data-id":"ek47p45y7","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("p",{className:"font-semibold text-navy","data-id":"juuwdexxs","data-path":"src/pages/ContactPage.tsx",children:"Hours"}),i.jsx("p",{className:"text-gray-600","data-id":"mtgjlvo24","data-path":"src/pages/ContactPage.tsx",children:"Monday - Friday: 8am - 6pm"}),i.jsx("p",{className:"text-gray-600","data-id":"1u8s22ejo","data-path":"src/pages/ContactPage.tsx",children:"Saturday: 9am - 4pm"}),i.jsx("p",{className:"text-sm text-gray-500","data-id":"10bu8g11x","data-path":"src/pages/ContactPage.tsx",children:"After-hours available for commercial"})]})]})]})]}),i.jsxs("div",{"data-id":"ipp0o5huv","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("h3",{className:"text-lg font-bold text-navy mb-4","data-id":"sgoxa0tib","data-path":"src/pages/ContactPage.tsx",children:"Our Services"}),i.jsxs("div",{className:"space-y-3","data-id":"olarfxzy9","data-path":"src/pages/ContactPage.tsx",children:[i.jsxs("div",{className:"flex items-center gap-3 bg-gray-50 rounded-lg p-3","data-id":"rdsiw1yth","data-path":"src/pages/ContactPage.tsx",children:[i.jsx(Ws,{className:"w-6 h-6 text-lime","data-id":"ceabzonp0","data-path":"src/pages/ContactPage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"lrobpyshu","data-path":"src/pages/ContactPage.tsx",children:"Residential Duct Cleaning"})]}),i.jsxs("div",{className:"flex items-center gap-3 bg-gray-50 rounded-lg p-3","data-id":"378nm6b0z","data-path":"src/pages/ContactPage.tsx",children:[i.jsx(Hl,{className:"w-6 h-6 text-lime","data-id":"0atg4grkv","data-path":"src/pages/ContactPage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"9f6l9e0ei","data-path":"src/pages/ContactPage.tsx",children:"Commercial & Industrial"})]}),i.jsxs("div",{className:"flex items-center gap-3 bg-gray-50 rounded-lg p-3","data-id":"gt59lp61h","data-path":"src/pages/ContactPage.tsx",children:[i.jsx(Vl,{className:"w-6 h-6 text-lime","data-id":"uklydkqd8","data-path":"src/pages/ContactPage.tsx"}),i.jsx("span",{className:"text-gray-700","data-id":"az7tvjtzw","data-path":"src/pages/ContactPage.tsx",children:"Dryer Vent Cleaning"})]})]})]})]})]})})}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-gray-50","data-id":"7cettqg4q","data-path":"src/pages/ContactPage.tsx",children:i.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"pnxnwh3i7","data-path":"src/pages/ContactPage.tsx",children:[i.jsxs("div",{className:"text-center mb-12","data-id":"ixntlvcum","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-navy mb-4","data-id":"425cnxk4t","data-path":"src/pages/ContactPage.tsx",children:"Service Areas in Simcoe County"}),i.jsx("p",{className:"text-lg text-gray-600 max-w-2xl mx-auto","data-id":"q9emjwgqd","data-path":"src/pages/ContactPage.tsx",children:"We proudly serve homeowners and businesses throughout Simcoe County and surrounding areas."})]}),i.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 sm:gap-6 md:gap-8 items-start","data-id":"vzegw2it7","data-path":"src/pages/ContactPage.tsx",children:[i.jsxs("div",{"data-id":"s70m6ycij","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("h3",{className:"text-xl font-bold text-navy mb-4","data-id":"jm34fkd4m","data-path":"src/pages/ContactPage.tsx",children:"Areas We Serve"}),i.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-3","data-id":"wwy8lwxtz","data-path":"src/pages/ContactPage.tsx",children:k6.map((o,l)=>i.jsxs("div",{className:`flex items-center gap-2 p-3 rounded-lg ${o.primary?"bg-lime/20":"bg-white"}`,"data-id":"irdazglm4","data-path":"src/pages/ContactPage.tsx",children:[i.jsx(F,{className:`w-5 h-5 ${o.primary?"text-lime-dark":"text-gray-400"}`,"data-id":"m77nyhr7g","data-path":"src/pages/ContactPage.tsx"}),i.jsx("span",{className:o.primary?"font-medium text-navy":"text-gray-600","data-id":"03v0ddxvy","data-path":"src/pages/ContactPage.tsx",children:o.name})]},l))}),i.jsx("p",{className:"text-sm text-gray-500 mt-4","data-id":"9pv1klwu7","data-path":"src/pages/ContactPage.tsx",children:"Don't see your area? Give us a call — we may still be able to help!"})]}),i.jsxs("div",{className:"bg-white rounded-2xl shadow-lg overflow-hidden","data-id":"hjhrpt7hh","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("iframe",{src:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d92174.97686927647!2d-79.95!3d44.15!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x882aa3371c81e5d1%3A0x2e1f0e3c4d8a2c0!2sAlliston%2C%20ON!5e0!3m2!1sen!2sca!4v1640000000000!5m2!1sen!2sca",className:"w-full h-48 sm:h-64 md:h-[350px] block",style:{border:0},allowFullScreen:!0,loading:"lazy",referrerPolicy:"no-referrer-when-downgrade",title:"Service Area Map - Alliston, Ontario","data-id":"69qjs7cr5","data-path":"src/pages/ContactPage.tsx"}),i.jsx("div",{className:"p-4 bg-navy text-white","data-id":"5wl0fngtt","data-path":"src/pages/ContactPage.tsx",children:i.jsxs("div",{className:"flex items-center gap-2","data-id":"nnjeurgz6","data-path":"src/pages/ContactPage.tsx",children:[i.jsx(Zt,{className:"w-5 h-5 text-lime","data-id":"tm5m3frib","data-path":"src/pages/ContactPage.tsx"}),i.jsx("span",{className:"font-medium","data-id":"sb49m52vw","data-path":"src/pages/ContactPage.tsx",children:"Based in Alliston, Ontario"})]})})]})]})]})}),i.jsx("section",{className:"py-12 sm:py-16 md:py-24 lg:py-32 bg-navy text-white","data-id":"w8q72fgd9","data-path":"src/pages/ContactPage.tsx",children:i.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"f69my8s2q","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("div",{className:"text-center mb-12","data-id":"q0uv9vykm","data-path":"src/pages/ContactPage.tsx",children:i.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-4","data-id":"vf78pwh7s","data-path":"src/pages/ContactPage.tsx",children:"Why Simcoe County Chooses Us"})}),i.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 sm:gap-6 md:gap-8","data-id":"4bvryad8l","data-path":"src/pages/ContactPage.tsx",children:[i.jsxs("div",{className:"text-center","data-id":"gnys4pecp","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("div",{className:"w-16 h-16 bg-lime rounded-full flex items-center justify-center mx-auto mb-4","data-id":"f1nmk18gt","data-path":"src/pages/ContactPage.tsx",children:i.jsx(F,{className:"w-8 h-8 text-navy","data-id":"wjuewxtpb","data-path":"src/pages/ContactPage.tsx"})}),i.jsx("h3",{className:"text-xl font-bold mb-2","data-id":"2zsbo9zxp","data-path":"src/pages/ContactPage.tsx",children:"Honest Pricing"}),i.jsx("p",{className:"text-gray-300","data-id":"vlpln0cox","data-path":"src/pages/ContactPage.tsx",children:"No bait-and-switch. The quote we give is the price you pay."})]}),i.jsxs("div",{className:"text-center","data-id":"vfvxce5gd","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("div",{className:"w-16 h-16 bg-lime rounded-full flex items-center justify-center mx-auto mb-4","data-id":"ifj41rjjw","data-path":"src/pages/ContactPage.tsx",children:i.jsx(F,{className:"w-8 h-8 text-navy","data-id":"gagyaqg0c","data-path":"src/pages/ContactPage.tsx"})}),i.jsx("h3",{className:"text-xl font-bold mb-2","data-id":"zcaxkkmst","data-path":"src/pages/ContactPage.tsx",children:"Local & Accountable"}),i.jsx("p",{className:"text-gray-300","data-id":"dp8mkce14","data-path":"src/pages/ContactPage.tsx",children:"We're your neighbors. Our reputation depends on doing right by you."})]}),i.jsxs("div",{className:"text-center","data-id":"q0eh6xuwg","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("div",{className:"w-16 h-16 bg-lime rounded-full flex items-center justify-center mx-auto mb-4","data-id":"07awfzo1c","data-path":"src/pages/ContactPage.tsx",children:i.jsx(F,{className:"w-8 h-8 text-navy","data-id":"gd07bry9b","data-path":"src/pages/ContactPage.tsx"})}),i.jsx("h3",{className:"text-xl font-bold mb-2","data-id":"462gn2mke","data-path":"src/pages/ContactPage.tsx",children:"Professional Equipment"}),i.jsx("p",{className:"text-gray-300","data-id":"xkjentex0","data-path":"src/pages/ContactPage.tsx",children:"Truck-mounted power, not portable toys. Real cleaning, real results."})]})]})]})}),i.jsx("section",{className:"py-10 sm:py-14 md:py-20 lg:py-24 bg-lime","data-id":"fqkzigvt9","data-path":"src/pages/ContactPage.tsx",children:i.jsxs("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center","data-id":"1hbbfuqrr","data-path":"src/pages/ContactPage.tsx",children:[i.jsx("h2",{className:"text-3xl font-bold text-navy mb-4","data-id":"yslshdq8e","data-path":"src/pages/ContactPage.tsx",children:"Ready to Breathe Easier?"}),i.jsx("p",{className:"text-navy/80 mb-6","data-id":"1o9w3ig4j","data-path":"src/pages/ContactPage.tsx",children:"Call us now or fill out the form above for your free, no-obligation quote."}),i.jsx("a",{href:"tel:9057293602","data-id":"f7ssuiy1p","data-path":"src/pages/ContactPage.tsx",children:i.jsxs(q,{size:"lg",className:"bg-navy hover:bg-navy-light text-white font-bold text-xl px-12 py-6 rounded-full shadow-xl","data-id":"u5udjpkj3","data-path":"src/pages/ContactPage.tsx",children:[i.jsx(Ce,{className:"w-6 h-6 mr-3","data-id":"y24p4jsym","data-path":"src/pages/ContactPage.tsx"}),"(905) 729-3602"]})})]})})]})}const qm=[{category:"About the Service",items:[{q:"How often should I have my air ducts cleaned?",a:"Most homes benefit from professional duct cleaning every 3–5 years. However, you may need more frequent cleanings if you have pets, suffer from allergies or asthma, recently completed a renovation, notice visible dust buildup on vents, or have moved into a previously owned home."},{q:"What does your duct cleaning service include?",a:"Our service covers the entire HVAC system: supply and return air ducts, grilles and diffusers, heat exchangers, heating and cooling coils, condensate drain pans, fan motors and housings, and the air handling unit. We use powerful truck-mounted vacuum equipment to ensure a thorough, deep clean — not just a surface-level job."},{q:'What is "bait-and-switch" duct cleaning and how are you different?',a:"Some companies advertise extremely low prices (e.g. $99 whole-home specials) only to upsell costly add-ons once they're in your home. At Quality Air Duct Cleaning, our pricing is transparent and all-inclusive. What we quote is what you pay — no pressure, no hidden fees."},{q:"What equipment do you use?",a:"We use professional-grade truck-mounted vacuum systems combined with high-pressure agitation tools. This equipment creates powerful negative pressure inside the duct system, dislodging and safely removing debris, dust, allergens, and contaminants rather than simply pushing them around."}]},{category:"Health & Air Quality",items:[{q:"Can dirty air ducts affect my health?",a:"Yes. Over time, ducts accumulate dust, pollen, pet dander, mould spores, and other allergens. Every time your HVAC system runs, these particles are circulated throughout your home. This can worsen allergies, trigger asthma, cause headaches, and reduce overall indoor air quality. Regular cleaning significantly reduces these airborne contaminants."},{q:"Will duct cleaning help with my allergies or asthma?",a:"Many of our customers report noticeable improvements in allergy and asthma symptoms after a professional cleaning. By removing the buildup of dust, pet dander, and mould from the ductwork, the air circulating through your home is significantly cleaner and less irritating to the respiratory system."},{q:"Is the cleaning process safe for my family and pets?",a:"Absolutely. Our cleaning process uses no harsh chemicals — just powerful mechanical extraction. We contain all debris within our vacuum system, meaning no contaminants are released back into your living space. Your family and pets can remain home during the service, though some customers prefer to keep pets in a separate room as a precaution."},{q:"Can mould grow in my air ducts?",a:"Yes, mould can develop in ductwork, particularly in areas with high humidity or near the cooling coils. If you notice a musty odour when your HVAC runs or see dark spots around vents, you may have a mould issue. Our technicians will inspect for mould during the service and advise you on the best course of action."}]},{category:"Pricing & Booking",items:[{q:"How much does duct cleaning cost?",a:"Our pricing is based on the size of your home and the number of vents. We provide upfront, transparent quotes with no hidden fees. Contact us for a free, no-obligation quote tailored to your property. We serve homes and businesses throughout Simcoe County and the surrounding area."},{q:"How long does the duct cleaning process take?",a:"A typical residential duct cleaning takes 2–4 hours depending on the size of your home, the number of vents, and the level of buildup. Larger homes or commercial properties may take longer. Our technicians work efficiently without cutting corners to ensure a thorough result."},{q:"Do I need to be home during the cleaning?",a:"Yes, we ask that an adult be present for the duration of the service. This allows our technicians to walk you through any findings, answer questions, and ensure you're satisfied with the work before they leave. It also allows you to point out specific concerns or areas of interest."},{q:"How far in advance should I book?",a:"We recommend booking at least a week in advance, especially during peak seasons (spring and fall). However, we do our best to accommodate urgent requests. Contact us today to check availability — we serve customers across Barrie, Alliston, Bradford, Collingwood, Innisfil, and surrounding communities."}]},{category:"Benefits & Results",items:[{q:"Will duct cleaning lower my energy bills?",a:"Clean ductwork allows your HVAC system to operate more efficiently. When ducts are clogged with debris, your system works harder to maintain the set temperature, consuming more energy. Many homeowners see a reduction in heating and cooling costs after a thorough cleaning, as airflow is restored to optimal levels."},{q:"How soon will I notice a difference after duct cleaning?",a:"Most customers notice improved airflow and reduced dust accumulation on surfaces within days of the service. Those with allergies often report breathing easier almost immediately. Energy savings typically become visible on your next utility bill cycle."},{q:"Can duct cleaning extend the life of my HVAC system?",a:"Yes. Dust and debris buildup forces your HVAC system to work harder, increasing wear on motors, fans, and coils. Regular duct cleaning reduces this strain, helping your furnace, air conditioner, and air handler last longer and perform more reliably — potentially saving you thousands in premature replacement costs."},{q:"Will duct cleaning reduce the dust in my home?",a:"Yes, significantly. A large portion of the dust that settles on your furniture and floors is recirculated from dirty ductwork. After a professional cleaning, most customers notice considerably less dust buildup between cleanings, meaning less time spent dusting and a cleaner living environment overall."}]},{category:"Dryer Vents & Other Services",items:[{q:"Do you also clean dryer vents?",a:"Yes! Dryer vent cleaning is one of our specialties. A clogged dryer vent is a leading cause of house fires — lint buildup is highly flammable and restricts airflow, causing your dryer to overheat. We recommend annual dryer vent cleaning for safety and efficiency. Visit our Dryer Vent page for more details."},{q:"How do I know if my dryer vent needs cleaning?",a:"Warning signs include: clothes taking longer than one cycle to dry, the dryer feeling unusually hot to the touch, a burning smell during operation, excess lint accumulating around the dryer or vent opening, or your dryer shutting off mid-cycle. If you notice any of these, book a cleaning as soon as possible."},{q:"Do you offer commercial duct cleaning?",a:"Absolutely. We service commercial and industrial properties including offices, restaurants, retail spaces, warehouses, and multi-unit residential buildings. Commercial duct systems are often more complex, and our team has the equipment and expertise to handle them properly. Contact us for a commercial quote."}]}];function A6({q:e,a:t}){const[a,s]=w.useState(!1);return i.jsxs("div",{className:"border border-gray-200 rounded-xl overflow-hidden","data-id":"2jqf36d2v","data-path":"src/pages/FAQPage.tsx",children:[i.jsxs("button",{onClick:()=>s(!a),className:"w-full flex items-center justify-between px-6 py-5 text-left bg-white hover:bg-gray-50 transition-colors group","aria-expanded":a,"data-id":"bg9n99h8e","data-path":"src/pages/FAQPage.tsx",children:[i.jsx("span",{className:"text-navy font-semibold text-base pr-4 leading-snug","data-id":"6sgc7qvfz","data-path":"src/pages/FAQPage.tsx",children:e}),i.jsx(Yd,{className:`w-5 h-5 text-lime-dark flex-shrink-0 transition-transform duration-300 ${a?"rotate-180":""}`,"data-id":"apvma8qyi","data-path":"src/pages/FAQPage.tsx"})]}),a&&i.jsx("div",{className:"px-6 pb-5 pt-1 bg-gray-50 border-t border-gray-100","data-id":"gvlhjmf81","data-path":"src/pages/FAQPage.tsx",children:i.jsx("p",{className:"text-gray-700 leading-relaxed text-sm","data-id":"asy5tyi64","data-path":"src/pages/FAQPage.tsx",children:t})})]})}function T6(){return i.jsxs(ba,{"data-id":"fpf75xxcj","data-path":"src/pages/FAQPage.tsx",children:[i.jsxs(Pt,{"data-id":"67kvfao8i","data-path":"src/pages/FAQPage.tsx",children:[i.jsx("title",{"data-id":"ijjgih1bo","data-path":"src/pages/FAQPage.tsx",children:"Air Duct Cleaning FAQ | Quality Air Duct Cleaning — Simcoe County, Ontario"}),i.jsx("meta",{name:"description",content:"Have questions about air duct cleaning? Browse our FAQ for answers on cost, frequency, health benefits, dryer vent cleaning, and what to expect from Quality Air Duct Cleaning in Barrie, Alliston, Bradford & surrounding areas.","data-id":"pmtul8aqh","data-path":"src/pages/FAQPage.tsx"}),i.jsx("script",{type:"application/ld+json","data-id":"9i8pcit3h","data-path":"src/pages/FAQPage.tsx",children:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:qm.flatMap(e=>e.items.map(t=>({"@type":"Question",name:t.q,acceptedAnswer:{"@type":"Answer",text:t.a}})))})})]}),i.jsxs("section",{className:"bg-navy py-12 sm:py-16 md:py-20 px-4 text-center relative overflow-hidden","data-id":"h2od00f3s","data-path":"src/pages/FAQPage.tsx",children:[i.jsx("div",{className:"absolute inset-0 opacity-5 bg-[radial-gradient(circle_at_30%_50%,#a3e635,transparent_60%),radial-gradient(circle_at_70%_50%,#a3e635,transparent_60%)]","data-id":"gbr1e6qju","data-path":"src/pages/FAQPage.tsx"}),i.jsxs("div",{className:"relative max-w-3xl mx-auto","data-id":"5pbpyk1zq","data-path":"src/pages/FAQPage.tsx",children:[i.jsxs("div",{className:"inline-flex items-center gap-2 bg-lime/20 text-lime-dark rounded-full px-4 py-1.5 text-sm font-semibold mb-6","data-id":"e7lv2qes6","data-path":"src/pages/FAQPage.tsx",children:[i.jsx(xC,{className:"w-4 h-4","data-id":"b16pdqfu4","data-path":"src/pages/FAQPage.tsx"}),"Frequently Asked Questions"]}),i.jsx("h1",{className:"text-2xl sm:text-3xl md:text-4xl lg:text-5xl font-extrabold text-white mb-4 leading-tight","data-id":"k16zx3czf","data-path":"src/pages/FAQPage.tsx",children:"Your Duct Cleaning Questions, Answered"}),i.jsx("p",{className:"text-gray-300 text-lg max-w-2xl mx-auto","data-id":"1ag7gdcd6","data-path":"src/pages/FAQPage.tsx",children:"Everything you need to know about professional air duct and dryer vent cleaning from Quality Air Duct Cleaning — serving Simcoe County and surrounding communities."})]})]}),i.jsx("section",{className:"py-10 sm:py-12 md:py-16 px-4 bg-gray-50","data-id":"x7op931w5","data-path":"src/pages/FAQPage.tsx",children:i.jsx("div",{className:"max-w-3xl mx-auto space-y-12","data-id":"2mzvni3bw","data-path":"src/pages/FAQPage.tsx",children:qm.map(e=>i.jsxs("div",{"data-id":"16q2ue126","data-path":"src/pages/FAQPage.tsx",children:[i.jsxs("h2",{className:"text-xl font-bold text-navy mb-5 flex items-center gap-3","data-id":"zjs1o3m1k","data-path":"src/pages/FAQPage.tsx",children:[i.jsx("span",{className:"inline-block w-3 h-3 rounded-full bg-lime-dark","data-id":"yfhw0alj4","data-path":"src/pages/FAQPage.tsx"}),e.category]}),i.jsx("div",{className:"space-y-3","data-id":"a7xn9r8y8","data-path":"src/pages/FAQPage.tsx",children:e.items.map(t=>i.jsx(A6,{q:t.q,a:t.a,"data-id":"d22r3l3i2","data-path":"src/pages/FAQPage.tsx"},t.q))})]},e.category))})}),i.jsx("section",{className:"bg-white py-10 sm:py-12 md:py-16 px-4 border-t border-gray-100","data-id":"9bz8rzg96","data-path":"src/pages/FAQPage.tsx",children:i.jsxs("div",{className:"max-w-2xl mx-auto text-center","data-id":"lyht6v44t","data-path":"src/pages/FAQPage.tsx",children:[i.jsx("h2",{className:"text-3xl font-extrabold text-navy mb-3","data-id":"5vcuc8ajt","data-path":"src/pages/FAQPage.tsx",children:"Still Have Questions?"}),i.jsx("p",{className:"text-gray-600 mb-8","data-id":"yyfac2fwm","data-path":"src/pages/FAQPage.tsx",children:"Our team is happy to answer any questions you have before booking. Give us a call or fill out our contact form for a free, no-obligation quote."}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center","data-id":"6xu6dcueg","data-path":"src/pages/FAQPage.tsx",children:[i.jsx("a",{href:"tel:9057293602","data-id":"j4rh1ap9e","data-path":"src/pages/FAQPage.tsx",children:i.jsxs(q,{className:"w-full sm:w-auto bg-navy hover:bg-navy/90 text-white font-semibold px-8 py-3 rounded-full flex items-center gap-2 justify-center","data-id":"9fbzt3ubc","data-path":"src/pages/FAQPage.tsx",children:[i.jsx(Ce,{className:"w-4 h-4","data-id":"py7muripe","data-path":"src/pages/FAQPage.tsx"}),"(905) 729-3602"]})}),i.jsx(_,{to:"/contact","data-id":"isttfrav1","data-path":"src/pages/FAQPage.tsx",children:i.jsx(q,{className:"w-full sm:w-auto bg-lime hover:bg-lime-dark text-navy font-semibold px-8 py-3 rounded-full","data-id":"6g869kuqo","data-path":"src/pages/FAQPage.tsx",children:"Get a Free Quote"})})]})]})})]})}const si=[{name:"Sarah M.",location:"Barrie, ON",rating:5,date:"March 2025",text:"Finally, a company that doesn't try to upsell you on things you don't need! They were honest, thorough, and my allergies have improved significantly since the cleaning. The technician showed me everything that came out of the ducts — I was shocked by how dirty they were. Will definitely use them again.",service:"Residential Duct Cleaning"},{name:"Mike T.",location:"Alliston, ON",rating:5,date:"February 2025",text:"I fell for a $99 bait-and-switch company before. Quality Air Duct was upfront about pricing and did an incredible job. Worth every penny. No hidden fees, no surprise charges at the end. The team arrived on time and left the house spotless. Highly recommended to anyone in Simcoe County.",service:"Residential Duct Cleaning"},{name:"Jennifer L.",location:"Innisfil, ON",rating:5,date:"January 2025",text:"The team was professional, on time, and explained everything they were doing. You can actually see the difference in the before/after photos they took. My home has never felt this fresh. I noticed a real improvement in air quality within days. Highly recommend to every homeowner!",service:"Residential Duct Cleaning"},{name:"David R.",location:"Collingwood, ON",rating:5,date:"December 2024",text:"We've used them for both our home and small business. Consistent quality every time. These guys know what they're doing. The commercial job was done efficiently with minimal disruption to our office. Our HVAC system is running noticeably better and energy bills have gone down.",service:"Commercial Duct Cleaning"},{name:"Lisa K.",location:"Angus, ON",rating:5,date:"November 2024",text:"After seeing the gunk they pulled out of our ducts, I'm so glad we called them. The air in our house feels noticeably cleaner. Great service from start to finish — easy booking, punctual arrival, and a very thorough clean. Our kids' asthma symptoms have improved too.",service:"Residential Duct Cleaning"},{name:"Robert P.",location:"Bradford, ON",rating:5,date:"October 2024",text:"Booked them for a dryer vent cleaning after hearing about dryer fires in the news. The technician was thorough and found a significant lint blockage we had no idea about. Very professional service and reasonably priced. Peace of mind is worth it — don't skip this service!",service:"Dryer Vent Cleaning"},{name:"Amanda W.",location:"New Tecumseth, ON",rating:5,date:"September 2024",text:"Called Quality Air Duct after our furnace inspection revealed dirty ductwork. They came out quickly, were very professional, and the price quoted was the price charged. No surprises. The whole house smells fresher and our furnace is running much more efficiently now.",service:"Residential Duct Cleaning"},{name:"Tom B.",location:"Orillia, ON",rating:5,date:"August 2024",text:"Used Quality Air Duct for our rental property. Incredibly professional — they documented everything with photos which was great for my records. Tenants commented immediately on the improved air quality. Will be booking annual service for all my properties going forward.",service:"Residential Duct Cleaning"},{name:"Karen S.",location:"Barrie, ON",rating:5,date:"July 2024",text:"What a difference! We moved into a home that clearly hadn't had its ducts cleaned in years. Quality Air Duct did an amazing job clearing everything out. The technician was knowledgeable, friendly, and honest about what we needed — and what we didn't. That honesty really stood out.",service:"Residential Duct Cleaning"},{name:"James H.",location:"Alliston, ON",rating:5,date:"June 2024",text:"I run a small restaurant and had Quality Air Duct clean our commercial kitchen exhaust and HVAC ducts. They handled it professionally, worked around our schedule, and the results were outstanding. Health inspection went perfectly smooth afterwards. These guys are the real deal.",service:"Commercial Duct Cleaning"},{name:"Patricia N.",location:"Innisfil, ON",rating:5,date:"May 2024",text:"Had both duct cleaning and dryer vent cleaning done on the same visit. Very efficient and the price was great for two services. The technician was thorough and even showed me how to maintain the dryer vent going forward. Will definitely be calling them again next year.",service:"Dryer Vent Cleaning"},{name:"Greg M.",location:"Collingwood, ON",rating:4,date:"April 2024",text:"Very happy with the service overall. Pricing was transparent, the technician was professional and thorough. Minor scheduling hiccup on their end but they were quick to sort it out and even gave a small discount for the inconvenience. Shows good character — will use again.",service:"Residential Duct Cleaning"}],E6=si.reduce((e,t)=>(e[t.rating]=(e[t.rating]||0)+1,e),{}),wo=si.length,Bm=(si.reduce((e,t)=>e+t.rating,0)/wo).toFixed(1);function $m({rating:e,size:t="sm"}){const a=t==="lg"?"w-7 h-7":"w-4 h-4";return i.jsx("div",{className:"flex items-center gap-0.5","data-id":"ez11ceubd","data-path":"src/pages/ReviewsPage.tsx",children:[1,2,3,4,5].map(s=>i.jsx(Oa,{className:`${a} ${s<=e?"fill-yellow-400 text-yellow-400":"text-gray-300"}`,"data-id":"0gydaav6q","data-path":"src/pages/ReviewsPage.tsx"},s))})}function R6(){return i.jsxs(ba,{"data-id":"ajq3vqt2q","data-path":"src/pages/ReviewsPage.tsx",children:[i.jsxs(Pt,{"data-id":"m81j0ft2z","data-path":"src/pages/ReviewsPage.tsx",children:[i.jsx("title",{"data-id":"vhgf7ouvu","data-path":"src/pages/ReviewsPage.tsx",children:"Customer Reviews | Quality Air Duct Cleaning — Simcoe County"}),i.jsx("meta",{name:"description",content:"Read real Google reviews from Quality Air Duct Cleaning customers across Simcoe County. 4.9★ average from 89+ verified reviews. Honest service, transparent pricing.","data-id":"5dbp9pqr5","data-path":"src/pages/ReviewsPage.tsx"}),i.jsx("link",{rel:"canonical",href:"https://qualityairductcleaning.ca/reviews","data-id":"28galbi7o","data-path":"src/pages/ReviewsPage.tsx"}),i.jsx("script",{type:"application/ld+json","data-id":"mzs83q4wv","data-path":"src/pages/ReviewsPage.tsx",children:JSON.stringify({"@context":"https://schema.org","@type":"LocalBusiness",name:"Quality Air Duct Cleaning",aggregateRating:{"@type":"AggregateRating",ratingValue:Bm,reviewCount:wo,bestRating:"5",worstRating:"1"},review:si.map(e=>({"@type":"Review",author:{"@type":"Person",name:e.name},reviewRating:{"@type":"Rating",ratingValue:e.rating,bestRating:"5"},datePublished:e.date,reviewBody:e.text}))})})]}),i.jsx("section",{className:"bg-navy pb-12 pt-28 sm:pb-16 sm:pt-32 md:pb-20 text-white text-center","data-id":"yw1knsd3m","data-path":"src/pages/ReviewsPage.tsx",children:i.jsxs("div",{className:"max-w-3xl mx-auto px-4","data-id":"397xejova","data-path":"src/pages/ReviewsPage.tsx",children:[i.jsxs("div",{className:"inline-flex items-center gap-2 bg-lime/20 text-lime text-sm font-semibold px-4 py-2 rounded-full mb-6","data-id":"hnkwk6zn4","data-path":"src/pages/ReviewsPage.tsx",children:[i.jsx(Oa,{className:"w-4 h-4 fill-lime text-lime","data-id":"5az3m5j91","data-path":"src/pages/ReviewsPage.tsx"}),"Verified Google Reviews"]}),i.jsx("h1",{className:"text-2xl sm:text-3xl md:text-4xl lg:text-5xl font-bold mb-4","data-id":"v2ufcnyzw","data-path":"src/pages/ReviewsPage.tsx",children:"What Our Customers Are Saying"}),i.jsx("p",{className:"text-lg text-gray-300 mb-8","data-id":"zpvczy16q","data-path":"src/pages/ReviewsPage.tsx",children:"Don't take our word for it — here's what real homeowners and businesses across Simcoe County say about our duct cleaning service."}),i.jsxs("div",{className:"inline-flex flex-col sm:flex-row items-center gap-6 bg-white/10 backdrop-blur-sm rounded-2xl px-8 py-6 border border-white/20","data-id":"vdc4zfgsc","data-path":"src/pages/ReviewsPage.tsx",children:[i.jsxs("div",{className:"text-center","data-id":"fkhwjyoi1","data-path":"src/pages/ReviewsPage.tsx",children:[i.jsx("div",{className:"text-6xl font-bold text-lime leading-none","data-id":"aiqf032nq","data-path":"src/pages/ReviewsPage.tsx",children:Bm}),i.jsx($m,{rating:5,size:"lg","data-id":"yeokdoyui","data-path":"src/pages/ReviewsPage.tsx"}),i.jsx("div",{className:"text-sm text-gray-300 mt-1","data-id":"8vrnijo4m","data-path":"src/pages/ReviewsPage.tsx",children:"out of 5"})]}),i.jsx("div",{className:"hidden sm:block w-px h-16 bg-white/20","data-id":"teexc2r9y","data-path":"src/pages/ReviewsPage.tsx"}),i.jsxs("div",{className:"text-left space-y-1","data-id":"9zpc4deif","data-path":"src/pages/ReviewsPage.tsx",children:[[5,4,3,2,1].map(e=>{const t=E6[e]||0,a=Math.round(t/wo*100);return i.jsxs("div",{className:"flex items-center gap-2 text-sm","data-id":"sjpsijikt","data-path":"src/pages/ReviewsPage.tsx",children:[i.jsx("span",{className:"w-4 text-gray-300","data-id":"cdx6s5zvi","data-path":"src/pages/ReviewsPage.tsx",children:e}),i.jsx(Oa,{className:"w-3 h-3 fill-yellow-400 text-yellow-400","data-id":"2lyzgnf4h","data-path":"src/pages/ReviewsPage.tsx"}),i.jsx("div",{className:"w-28 h-2 bg-white/20 rounded-full overflow-hidden","data-id":"amswydu0w","data-path":"src/pages/ReviewsPage.tsx",children:i.jsx("div",{className:"h-full bg-lime rounded-full",style:{width:`${a}%`},"data-id":"3xyj5r4eo","data-path":"src/pages/ReviewsPage.tsx"})}),i.jsxs("span",{className:"text-gray-300 w-8","data-id":"bhx8g4w13","data-path":"src/pages/ReviewsPage.tsx",children:[a,"%"]})]},e)}),i.jsxs("div",{className:"text-gray-400 text-xs pt-1","data-id":"8zbs3t174","data-path":"src/pages/ReviewsPage.tsx",children:[wo,"+ verified reviews"]})]})]})]})}),i.jsx("section",{className:"py-10 sm:py-12 md:py-16 bg-gray-50","data-id":"uhmzzqlhv","data-path":"src/pages/ReviewsPage.tsx",children:i.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"h97nkfaun","data-path":"src/pages/ReviewsPage.tsx",children:[i.jsx("div",{className:"flex items-center justify-center gap-3 mb-10","data-id":"4jq6fcljx","data-path":"src/pages/ReviewsPage.tsx",children:i.jsxs("div",{className:"flex items-center gap-2 bg-white border border-gray-200 rounded-full px-5 py-2 shadow-sm text-sm font-medium text-gray-600","data-id":"yq0db5n00","data-path":"src/pages/ReviewsPage.tsx",children:[i.jsxs("svg",{viewBox:"0 0 24 24",className:"w-5 h-5","aria-hidden":"true","data-id":"r32wiqeoo","data-path":"src/pages/ReviewsPage.tsx",children:[i.jsx("path",{fill:"#4285F4",d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z","data-id":"lg0k7o6fa","data-path":"src/pages/ReviewsPage.tsx"}),i.jsx("path",{fill:"#34A853",d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z","data-id":"0ah2zcmrr","data-path":"src/pages/ReviewsPage.tsx"}),i.jsx("path",{fill:"#FBBC05",d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z","data-id":"nb10vqji3","data-path":"src/pages/ReviewsPage.tsx"}),i.jsx("path",{fill:"#EA4335",d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z","data-id":"wl998epyc","data-path":"src/pages/ReviewsPage.tsx"})]}),"Reviews sourced from Google"]})}),i.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6","data-id":"4z2w8qqgg","data-path":"src/pages/ReviewsPage.tsx",children:si.map((e,t)=>i.jsxs("div",{className:"bg-white rounded-2xl shadow-sm border border-gray-100 p-6 flex flex-col hover:shadow-md transition-shadow","data-id":"o2fkkqxsk","data-path":"src/pages/ReviewsPage.tsx",children:[i.jsxs("div",{className:"flex items-start justify-between mb-3","data-id":"x08oyopa2","data-path":"src/pages/ReviewsPage.tsx",children:[i.jsxs("div",{className:"flex items-center gap-3","data-id":"1utbivoh4","data-path":"src/pages/ReviewsPage.tsx",children:[i.jsx("div",{className:"w-10 h-10 rounded-full bg-navy text-white flex items-center justify-center font-bold text-sm flex-shrink-0","data-id":"fjd0jizbj","data-path":"src/pages/ReviewsPage.tsx",children:e.name.charAt(0)}),i.jsxs("div",{"data-id":"09bkpaj83","data-path":"src/pages/ReviewsPage.tsx",children:[i.jsx("div",{className:"font-semibold text-navy text-sm","data-id":"s1ibykclr","data-path":"src/pages/ReviewsPage.tsx",children:e.name}),i.jsx("div",{className:"text-xs text-gray-500","data-id":"1pub5k1cc","data-path":"src/pages/ReviewsPage.tsx",children:e.location})]})]}),i.jsx(BC,{className:"w-6 h-6 text-lime flex-shrink-0 mt-1","data-id":"xfkzrn5aa","data-path":"src/pages/ReviewsPage.tsx"})]}),i.jsx($m,{rating:e.rating,"data-id":"v52gem7fb","data-path":"src/pages/ReviewsPage.tsx"}),i.jsxs("p",{className:"mt-3 text-gray-600 text-sm leading-relaxed flex-1","data-id":"l8pe4eum7","data-path":"src/pages/ReviewsPage.tsx",children:['"',e.text,'"']}),i.jsxs("div",{className:"mt-4 pt-4 border-t border-gray-100 flex items-center justify-between","data-id":"kqh6psyh4","data-path":"src/pages/ReviewsPage.tsx",children:[i.jsx("span",{className:"text-xs text-gray-400","data-id":"8f7b90eb3","data-path":"src/pages/ReviewsPage.tsx",children:e.date}),i.jsx("span",{className:"text-xs bg-lime/10 text-lime-dark font-medium px-2 py-1 rounded-full","data-id":"un6hfs4vj","data-path":"src/pages/ReviewsPage.tsx",children:e.service})]}),i.jsxs("div",{className:"mt-3 flex items-center gap-1 text-xs text-gray-400","data-id":"fp0xtpkxk","data-path":"src/pages/ReviewsPage.tsx",children:[i.jsx(iN,{className:"w-3 h-3","data-id":"v6kcrpu8j","data-path":"src/pages/ReviewsPage.tsx"}),i.jsx("span",{"data-id":"l7qo7l0ph","data-path":"src/pages/ReviewsPage.tsx",children:"Verified Google Review"})]})]},t))})]})}),i.jsx("section",{className:"py-10 sm:py-12 md:py-16 bg-white text-center","data-id":"l0dt78dvx","data-path":"src/pages/ReviewsPage.tsx",children:i.jsxs("div",{className:"max-w-2xl mx-auto px-4","data-id":"we82hde7c","data-path":"src/pages/ReviewsPage.tsx",children:[i.jsx("h2",{className:"text-3xl font-bold text-navy mb-4","data-id":"n342mo53h","data-path":"src/pages/ReviewsPage.tsx",children:"Ready to Experience the Difference?"}),i.jsx("p",{className:"text-gray-600 mb-8","data-id":"ic1cqujjk","data-path":"src/pages/ReviewsPage.tsx",children:"Join 89+ satisfied customers across Simcoe County. Get honest, transparent duct cleaning with no bait-and-switch pricing."}),i.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-4","data-id":"x8bsv3za1","data-path":"src/pages/ReviewsPage.tsx",children:[i.jsx(_,{to:"/contact","data-id":"d3rfmlsze","data-path":"src/pages/ReviewsPage.tsx",children:i.jsx(q,{className:"bg-lime hover:bg-lime-dark text-navy font-semibold px-8 py-3 rounded-full shadow-lg hover:shadow-xl transition-all text-base w-full sm:w-auto","data-id":"zj1dgtj52","data-path":"src/pages/ReviewsPage.tsx",children:"Book Your Cleaning"})}),i.jsxs("a",{href:"https://g.page/r/qualityairductcleaning/review",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-navy font-medium hover:text-lime-dark transition-colors","data-id":"poem8y6i4","data-path":"src/pages/ReviewsPage.tsx",children:[i.jsx(jC,{className:"w-4 h-4","data-id":"x430ffdrx","data-path":"src/pages/ReviewsPage.tsx"}),"Leave Us a Review on Google"]})]})]})})]})}const D6=[{title:"Main Pages",icon:Ws,links:[{label:"Home",path:"/"},{label:"Reviews",path:"/reviews"},{label:"Contact Us",path:"/contact"},{label:"FAQ – Duct Cleaning Questions",path:"/faq"}]},{title:"Services",icon:fN,links:[{label:"Residential Duct Cleaning",path:"/residential"},{label:"Commercial & Industrial Duct Cleaning",path:"/commercial"},{label:"Dryer Vent Cleaning",path:"/dryer-vent"}]},{title:"Service Areas",icon:Zt,links:[{label:"All Service Areas",path:"/service-areas"},{label:"Alliston, ON",path:"/service-areas/alliston-on"},{label:"Barrie, ON",path:"/service-areas/barrie-on"},{label:"Angus, ON",path:"/service-areas/angus-on"},{label:"Innisfil, ON",path:"/service-areas/innisfil-on"},{label:"Collingwood, ON",path:"/service-areas/collingwood-on"},{label:"New Tecumseth, ON",path:"/service-areas/new-tecumseth-on"},{label:"Bradford, ON",path:"/service-areas/bradford-on"},{label:"Orillia, ON",path:"/service-areas/orillia-on"},{label:"Newmarket, ON",path:"/service-areas/newmarket-on"}]}];function M6(){return i.jsxs(i.Fragment,{children:[i.jsxs(Pt,{"data-id":"5kadkc31m","data-path":"src/pages/SitemapPage.tsx",children:[i.jsx("title",{"data-id":"qia1oev6y","data-path":"src/pages/SitemapPage.tsx",children:"Site Map | Quality Air Duct Cleaning — Simcoe County"}),i.jsx("meta",{name:"description",content:"Browse all pages on the Quality Air Duct Cleaning website — services, service areas, FAQ, and contact information for Simcoe County.","data-id":"969fxafr7","data-path":"src/pages/SitemapPage.tsx"}),i.jsx("link",{rel:"canonical",href:"https://qualityairductcleaning.ca/sitemap","data-id":"7btr77add","data-path":"src/pages/SitemapPage.tsx"})]}),i.jsx(yw,{"data-id":"japl2pmdl","data-path":"src/pages/SitemapPage.tsx"}),i.jsxs("main",{className:"bg-white min-h-screen","data-id":"9e05gxhdr","data-path":"src/pages/SitemapPage.tsx",children:[i.jsx("section",{className:"bg-navy text-white py-20 md:py-28","data-id":"mdw69i4rp","data-path":"src/pages/SitemapPage.tsx",children:i.jsxs("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center","data-id":"y6cxvyz58","data-path":"src/pages/SitemapPage.tsx",children:[i.jsxs("div",{className:"inline-flex items-center gap-2 bg-lime/10 border border-lime/30 rounded-full px-4 py-1.5 mb-6","data-id":"xxhjeljvl","data-path":"src/pages/SitemapPage.tsx",children:[i.jsx(VC,{className:"w-4 h-4 text-lime","data-id":"y45bt1tpw","data-path":"src/pages/SitemapPage.tsx"}),i.jsx("span",{className:"text-lime text-sm font-medium tracking-wide uppercase","data-id":"ksgvkjjck","data-path":"src/pages/SitemapPage.tsx",children:"Site Map"})]}),i.jsx("h1",{className:"text-4xl md:text-5xl font-bold mb-4 tracking-tight","data-id":"s7ccadczu","data-path":"src/pages/SitemapPage.tsx",children:"All Pages"}),i.jsx("p",{className:"text-gray-300 text-lg max-w-2xl mx-auto","data-id":"f3o24sget","data-path":"src/pages/SitemapPage.tsx",children:"A complete directory of every page on the Quality Air Duct Cleaning website."})]})}),i.jsx("section",{className:"py-20 md:py-28","data-id":"q7lypzav3","data-path":"src/pages/SitemapPage.tsx",children:i.jsxs("div",{className:"max-w-5xl mx-auto px-4 sm:px-6 lg:px-8","data-id":"i09xgsl3l","data-path":"src/pages/SitemapPage.tsx",children:[i.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-10","data-id":"745ug32d2","data-path":"src/pages/SitemapPage.tsx",children:D6.map(e=>{const t=e.icon;return i.jsxs("div",{className:"bg-gray-50 rounded-2xl p-8 border border-gray-100 hover:border-lime/40 transition-colors","data-id":"iltrcid1l","data-path":"src/pages/SitemapPage.tsx",children:[i.jsxs("div",{className:"flex items-center gap-3 mb-6","data-id":"9bqscvm5s","data-path":"src/pages/SitemapPage.tsx",children:[i.jsx("div",{className:"w-10 h-10 bg-navy rounded-lg flex items-center justify-center flex-shrink-0","data-id":"p7al3xb0y","data-path":"src/pages/SitemapPage.tsx",children:i.jsx(t,{className:"w-5 h-5 text-lime","data-id":"oys811b1a","data-path":"src/pages/SitemapPage.tsx"})}),i.jsx("h2",{className:"text-lg font-bold text-navy tracking-tight","data-id":"sn6uodqxl","data-path":"src/pages/SitemapPage.tsx",children:e.title})]}),i.jsx("ul",{className:"space-y-3","data-id":"3xjh65jqr","data-path":"src/pages/SitemapPage.tsx",children:e.links.map(a=>i.jsx("li",{"data-id":"2hbhwu4lq","data-path":"src/pages/SitemapPage.tsx",children:i.jsxs(_,{to:a.path,className:"flex items-center gap-2 text-gray-600 hover:text-lime transition-colors group text-sm","data-id":"qfgzby8wq","data-path":"src/pages/SitemapPage.tsx",children:[i.jsx(Xd,{className:"w-3.5 h-3.5 text-lime/50 group-hover:text-lime transition-colors flex-shrink-0","data-id":"dxd7xylro","data-path":"src/pages/SitemapPage.tsx"}),a.label]})},a.path))})]},e.title)})}),i.jsxs("div",{className:"mt-16 text-center bg-navy rounded-2xl p-10 md:p-14","data-id":"h7ojjaort","data-path":"src/pages/SitemapPage.tsx",children:[i.jsx(Ce,{className:"w-10 h-10 text-lime mx-auto mb-4","data-id":"331tja3x3","data-path":"src/pages/SitemapPage.tsx"}),i.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-white mb-3 tracking-tight","data-id":"qvgixb8s5","data-path":"src/pages/SitemapPage.tsx",children:"Can't find what you're looking for?"}),i.jsx("p",{className:"text-gray-300 mb-8 max-w-xl mx-auto","data-id":"i395l8m6w","data-path":"src/pages/SitemapPage.tsx",children:"Our team is happy to answer any questions about our duct cleaning services across Simcoe County."}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center","data-id":"mwstyhav0","data-path":"src/pages/SitemapPage.tsx",children:[i.jsx(_,{to:"/contact",className:"bg-lime text-navy font-semibold px-8 py-3 rounded-lg hover:bg-lime/90 transition-colors","data-id":"qjzpxaoae","data-path":"src/pages/SitemapPage.tsx",children:"Contact Us"}),i.jsx("a",{href:"tel:9057293602",className:"border border-white/20 text-white font-semibold px-8 py-3 rounded-lg hover:bg-white/10 transition-colors","data-id":"crrfatqxi","data-path":"src/pages/SitemapPage.tsx",children:"(905) 729-3602"})]})]})]})})]}),i.jsx(kw,{"data-id":"ywlu8omx7","data-path":"src/pages/SitemapPage.tsx"})]})}const Rw=w.createContext({});function O6(e){const t=w.useRef(null);return t.current===null&&(t.current=e()),t.current}const L6=typeof window<"u",z6=L6?w.useLayoutEffect:w.useEffect,nh=w.createContext(null);function rh(e,t){e.indexOf(t)===-1&&e.push(t)}function ol(e,t){const a=e.indexOf(t);a>-1&&e.splice(a,1)}const ta=(e,t,a)=>a>t?t:a<e?e:a;let ih=()=>{};const is={},Dw=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function Mw(e){return typeof e=="object"&&e!==null}const Ow=e=>/^0[^.\s]+$/u.test(e);function Lw(e){let t;return()=>(t===void 0&&(t=e()),t)}const vt=e=>e,H6=(e,t)=>a=>t(e(a)),Pi=(...e)=>e.reduce(H6),ni=(e,t,a)=>{const s=t-e;return s===0?1:(a-e)/s};class oh{constructor(){this.subscriptions=[]}add(t){return rh(this.subscriptions,t),()=>ol(this.subscriptions,t)}notify(t,a,s){const n=this.subscriptions.length;if(n)if(n===1)this.subscriptions[0](t,a,s);else for(let r=0;r<n;r++){const o=this.subscriptions[r];o&&o(t,a,s)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const ot=e=>e*1e3,xt=e=>e/1e3;function zw(e,t){return t?e*(1e3/t):0}const Hw=(e,t,a)=>(((1-3*a+3*t)*e+(3*a-6*t))*e+3*t)*e,V6=1e-7,F6=12;function _6(e,t,a,s,n){let r,o,l=0;do o=t+(a-t)/2,r=Hw(o,s,n)-e,r>0?a=o:t=o;while(Math.abs(r)>V6&&++l<F6);return o}function ji(e,t,a,s){if(e===t&&a===s)return vt;const n=r=>_6(r,0,1,e,a);return r=>r===0||r===1?r:Hw(n(r),t,s)}const Vw=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Fw=e=>t=>1-e(1-t),_w=ji(.33,1.53,.69,.99),lh=Fw(_w),Iw=Vw(lh),qw=e=>e>=1?1:(e*=2)<1?.5*lh(e):.5*(2-Math.pow(2,-10*(e-1))),ch=e=>1-Math.sin(Math.acos(e)),Bw=Fw(ch),$w=Vw(ch),I6=ji(.42,0,1,1),q6=ji(0,0,.58,1),Ww=ji(.42,0,.58,1),B6=e=>Array.isArray(e)&&typeof e[0]!="number",Uw=e=>Array.isArray(e)&&typeof e[0]=="number",$6={linear:vt,easeIn:I6,easeInOut:Ww,easeOut:q6,circIn:ch,circInOut:$w,circOut:Bw,backIn:lh,backInOut:Iw,backOut:_w,anticipate:qw},W6=e=>typeof e=="string",Wm=e=>{if(Uw(e)){ih(e.length===4);const[t,a,s,n]=e;return ji(t,a,s,n)}else if(W6(e))return $6[e];return e},Yi=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function U6(e,t){let a=new Set,s=new Set,n=!1,r=!1;const o=new WeakSet;let l={delta:0,timestamp:0,isProcessing:!1};function c(u){o.has(u)&&(d.schedule(u),e()),u(l)}const d={schedule:(u,p=!1,h=!1)=>{const y=h&&n?a:s;return p&&o.add(u),y.add(u),u},cancel:u=>{s.delete(u),o.delete(u)},process:u=>{if(l=u,n){r=!0;return}n=!0;const p=a;a=s,s=p,a.forEach(c),a.clear(),n=!1,r&&(r=!1,d.process(u))}};return d}const Q6=40;function Qw(e,t){let a=!1,s=!0;const n={delta:0,timestamp:0,isProcessing:!1},r=()=>a=!0,o=Yi.reduce((x,P)=>(x[P]=U6(r),x),{}),{setup:l,read:c,resolveKeyframes:d,preUpdate:u,update:p,preRender:h,render:f,postRender:y}=o,v=()=>{const x=is.useManualTiming,P=x?n.timestamp:performance.now();a=!1,x||(n.delta=s?1e3/60:Math.max(Math.min(P-n.timestamp,Q6),1)),n.timestamp=P,n.isProcessing=!0,l.process(n),c.process(n),d.process(n),u.process(n),p.process(n),h.process(n),f.process(n),y.process(n),n.isProcessing=!1,a&&t&&(s=!1,e(v))},b=()=>{a=!0,s=!0,n.isProcessing||e(v)};return{schedule:Yi.reduce((x,P)=>{const j=o[P];return x[P]=(C,N=!1,k=!1)=>(a||b(),j.schedule(C,N,k)),x},{}),cancel:x=>{for(let P=0;P<Yi.length;P++)o[Yi[P]].cancel(x)},state:n,steps:o}}const{schedule:ee,cancel:os,state:Ee,steps:Oc}=Qw(typeof requestAnimationFrame<"u"?requestAnimationFrame:vt,!0);let bo;function G6(){bo=void 0}const $e={now:()=>(bo===void 0&&$e.set(Ee.isProcessing||is.useManualTiming?Ee.timestamp:performance.now()),bo),set:e=>{bo=e,queueMicrotask(G6)}},Gw=e=>t=>typeof t=="string"&&t.startsWith(e),Kw=Gw("--"),K6=Gw("var(--"),dh=e=>K6(e)?Y6.test(e.split("/*")[0].trim()):!1,Y6=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function Um(e){return typeof e!="string"?!1:e.split("/*")[0].includes("var(--")}const Yn={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},ri={...Yn,transform:e=>ta(0,1,e)},Xi={...Yn,default:1},Rr=e=>Math.round(e*1e5)/1e5,uh=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function X6(e){return e==null}const Z6=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,ph=(e,t)=>a=>!!(typeof a=="string"&&Z6.test(a)&&a.startsWith(e)||t&&!X6(a)&&Object.prototype.hasOwnProperty.call(a,t)),Yw=(e,t,a)=>s=>{if(typeof s!="string")return s;const[n,r,o,l]=s.match(uh);return{[e]:parseFloat(n),[t]:parseFloat(r),[a]:parseFloat(o),alpha:l!==void 0?parseFloat(l):1}},J6=e=>ta(0,255,e),Lc={...Yn,transform:e=>Math.round(J6(e))},js={test:ph("rgb","red"),parse:Yw("red","green","blue"),transform:({red:e,green:t,blue:a,alpha:s=1})=>"rgba("+Lc.transform(e)+", "+Lc.transform(t)+", "+Lc.transform(a)+", "+Rr(ri.transform(s))+")"};function e5(e){let t="",a="",s="",n="";return e.length>5?(t=e.substring(1,3),a=e.substring(3,5),s=e.substring(5,7),n=e.substring(7,9)):(t=e.substring(1,2),a=e.substring(2,3),s=e.substring(3,4),n=e.substring(4,5),t+=t,a+=a,s+=s,n+=n),{red:parseInt(t,16),green:parseInt(a,16),blue:parseInt(s,16),alpha:n?parseInt(n,16)/255:1}}const mu={test:ph("#"),parse:e5,transform:js.transform},Ci=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),Aa=Ci("deg"),ea=Ci("%"),z=Ci("px"),t5=Ci("vh"),a5=Ci("vw"),Qm={...ea,parse:e=>ea.parse(e)/100,transform:e=>ea.transform(e*100)},cn={test:ph("hsl","hue"),parse:Yw("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:a,alpha:s=1})=>"hsla("+Math.round(e)+", "+ea.transform(Rr(t))+", "+ea.transform(Rr(a))+", "+Rr(ri.transform(s))+")"},xe={test:e=>js.test(e)||mu.test(e)||cn.test(e),parse:e=>js.test(e)?js.parse(e):cn.test(e)?cn.parse(e):mu.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?js.transform(e):cn.transform(e),getAnimatableNone:e=>{const t=xe.parse(e);return t.alpha=0,xe.transform(t)}},s5=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function n5(e){var t,a;return isNaN(e)&&typeof e=="string"&&(((t=e.match(uh))==null?void 0:t.length)||0)+(((a=e.match(s5))==null?void 0:a.length)||0)>0}const Xw="number",Zw="color",r5="var",i5="var(",Gm="${}",o5=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function _n(e){const t=e.toString(),a=[],s={color:[],number:[],var:[]},n=[];let r=0;const l=t.replace(o5,c=>(xe.test(c)?(s.color.push(r),n.push(Zw),a.push(xe.parse(c))):c.startsWith(i5)?(s.var.push(r),n.push(r5),a.push(c)):(s.number.push(r),n.push(Xw),a.push(parseFloat(c))),++r,Gm)).split(Gm);return{values:a,split:l,indexes:s,types:n}}function l5(e){return _n(e).values}function Jw({split:e,types:t}){const a=e.length;return s=>{let n="";for(let r=0;r<a;r++)if(n+=e[r],s[r]!==void 0){const o=t[r];o===Xw?n+=Rr(s[r]):o===Zw?n+=xe.transform(s[r]):n+=s[r]}return n}}function c5(e){return Jw(_n(e))}const d5=e=>typeof e=="number"?0:xe.test(e)?xe.getAnimatableNone(e):e,u5=(e,t)=>typeof e=="number"?t!=null&&t.trim().endsWith("/")?e:0:d5(e);function p5(e){const t=_n(e);return Jw(t)(t.values.map((s,n)=>u5(s,t.split[n])))}const Lt={test:n5,parse:l5,createTransformer:c5,getAnimatableNone:p5};function zc(e,t,a){return a<0&&(a+=1),a>1&&(a-=1),a<1/6?e+(t-e)*6*a:a<1/2?t:a<2/3?e+(t-e)*(2/3-a)*6:e}function h5({hue:e,saturation:t,lightness:a,alpha:s}){e/=360,t/=100,a/=100;let n=0,r=0,o=0;if(!t)n=r=o=a;else{const l=a<.5?a*(1+t):a+t-a*t,c=2*a-l;n=zc(c,l,e+1/3),r=zc(c,l,e),o=zc(c,l,e-1/3)}return{red:Math.round(n*255),green:Math.round(r*255),blue:Math.round(o*255),alpha:s}}function ll(e,t){return a=>a>0?t:e}const re=(e,t,a)=>e+(t-e)*a,Hc=(e,t,a)=>{const s=e*e,n=a*(t*t-s)+s;return n<0?0:Math.sqrt(n)},f5=[mu,js,cn],m5=e=>f5.find(t=>t.test(e));function Km(e){const t=m5(e);if(!t)return!1;let a=t.parse(e);return t===cn&&(a=h5(a)),a}const Ym=(e,t)=>{const a=Km(e),s=Km(t);if(!a||!s)return ll(e,t);const n={...a};return r=>(n.red=Hc(a.red,s.red,r),n.green=Hc(a.green,s.green,r),n.blue=Hc(a.blue,s.blue,r),n.alpha=re(a.alpha,s.alpha,r),js.transform(n))},gu=new Set(["none","hidden"]);function g5(e,t){return gu.has(e)?a=>a<=0?e:t:a=>a>=1?t:e}function x5(e,t){return a=>re(e,t,a)}function hh(e){return typeof e=="number"?x5:typeof e=="string"?dh(e)?ll:xe.test(e)?Ym:w5:Array.isArray(e)?e1:typeof e=="object"?xe.test(e)?Ym:y5:ll}function e1(e,t){const a=[...e],s=a.length,n=e.map((r,o)=>hh(r)(r,t[o]));return r=>{for(let o=0;o<s;o++)a[o]=n[o](r);return a}}function y5(e,t){const a={...e,...t},s={};for(const n in a)e[n]!==void 0&&t[n]!==void 0&&(s[n]=hh(e[n])(e[n],t[n]));return n=>{for(const r in s)a[r]=s[r](n);return a}}function v5(e,t){const a=[],s={color:0,var:0,number:0};for(let n=0;n<t.values.length;n++){const r=t.types[n],o=e.indexes[r][s[r]],l=e.values[o]??0;a[n]=l,s[r]++}return a}const w5=(e,t)=>{const a=Lt.createTransformer(t),s=_n(e),n=_n(t);return s.indexes.var.length===n.indexes.var.length&&s.indexes.color.length===n.indexes.color.length&&s.indexes.number.length>=n.indexes.number.length?gu.has(e)&&!n.values.length||gu.has(t)&&!s.values.length?g5(e,t):Pi(e1(v5(s,n),n.values),a):ll(e,t)};function t1(e,t,a){return typeof e=="number"&&typeof t=="number"&&typeof a=="number"?re(e,t,a):hh(e)(e,t)}const b5=e=>{const t=({timestamp:a})=>e(a);return{start:(a=!0)=>ee.update(t,a),stop:()=>os(t),now:()=>Ee.isProcessing?Ee.timestamp:$e.now()}},a1=(e,t,a=10)=>{let s="";const n=Math.max(Math.round(t/a),2);for(let r=0;r<n;r++)s+=Math.round(e(r/(n-1))*1e4)/1e4+", ";return`linear(${s.substring(0,s.length-2)})`},cl=2e4;function fh(e){let t=0;const a=50;let s=e.next(t);for(;!s.done&&t<cl;)t+=a,s=e.next(t);return t>=cl?1/0:t}function P5(e,t=100,a){const s=a({...e,keyframes:[0,t]}),n=Math.min(fh(s),cl);return{type:"keyframes",ease:r=>s.next(n*r).value/t,duration:xt(n)}}const pe={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1};function xu(e,t){return e*Math.sqrt(1-t*t)}const j5=12;function C5(e,t,a){let s=a;for(let n=1;n<j5;n++)s=s-e(s)/t(s);return s}const Vc=.001;function N5({duration:e=pe.duration,bounce:t=pe.bounce,velocity:a=pe.velocity,mass:s=pe.mass}){let n,r,o=1-t;o=ta(pe.minDamping,pe.maxDamping,o),e=ta(pe.minDuration,pe.maxDuration,xt(e)),o<1?(n=d=>{const u=d*o,p=u*e,h=u-a,f=xu(d,o),y=Math.exp(-p);return Vc-h/f*y},r=d=>{const p=d*o*e,h=p*a+a,f=Math.pow(o,2)*Math.pow(d,2)*e,y=Math.exp(-p),v=xu(Math.pow(d,2),o);return(-n(d)+Vc>0?-1:1)*((h-f)*y)/v}):(n=d=>{const u=Math.exp(-d*e),p=(d-a)*e+1;return-Vc+u*p},r=d=>{const u=Math.exp(-d*e),p=(a-d)*(e*e);return u*p});const l=5/e,c=C5(n,r,l);if(e=ot(e),isNaN(c))return{stiffness:pe.stiffness,damping:pe.damping,duration:e};{const d=Math.pow(c,2)*s;return{stiffness:d,damping:o*2*Math.sqrt(s*d),duration:e}}}const k5=["duration","bounce"],S5=["stiffness","damping","mass"];function Xm(e,t){return t.some(a=>e[a]!==void 0)}function A5(e){let t={velocity:pe.velocity,stiffness:pe.stiffness,damping:pe.damping,mass:pe.mass,isResolvedFromDuration:!1,...e};if(!Xm(e,S5)&&Xm(e,k5))if(t.velocity=0,e.visualDuration){const a=e.visualDuration,s=2*Math.PI/(a*1.2),n=s*s,r=2*ta(.05,1,1-(e.bounce||0))*Math.sqrt(n);t={...t,mass:pe.mass,stiffness:n,damping:r}}else{const a=N5({...e,velocity:0});t={...t,...a,mass:pe.mass},t.isResolvedFromDuration=!0}return t}function dl(e=pe.visualDuration,t=pe.bounce){const a=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:s,restDelta:n}=a;const r=a.keyframes[0],o=a.keyframes[a.keyframes.length-1],l={done:!1,value:r},{stiffness:c,damping:d,mass:u,duration:p,velocity:h,isResolvedFromDuration:f}=A5({...a,velocity:-xt(a.velocity||0)}),y=h||0,v=d/(2*Math.sqrt(c*u)),b=o-r,g=xt(Math.sqrt(c/u)),m=Math.abs(b)<5;s||(s=m?pe.restSpeed.granular:pe.restSpeed.default),n||(n=m?pe.restDelta.granular:pe.restDelta.default);let x,P,j,C,N,k;if(v<1)j=xu(g,v),C=(y+v*g*b)/j,x=T=>{const H=Math.exp(-v*g*T);return o-H*(C*Math.sin(j*T)+b*Math.cos(j*T))},N=v*g*C+b*j,k=v*g*b-C*j,P=T=>Math.exp(-v*g*T)*(N*Math.sin(j*T)+k*Math.cos(j*T));else if(v===1){x=H=>o-Math.exp(-g*H)*(b+(y+g*b)*H);const T=y+g*b;P=H=>Math.exp(-g*H)*(g*T*H-y)}else{const T=g*Math.sqrt(v*v-1);x=M=>{const Q=Math.exp(-v*g*M),I=Math.min(T*M,300);return o-Q*((y+v*g*b)*Math.sinh(I)+T*b*Math.cosh(I))/T};const H=(y+v*g*b)/T,O=v*g*H-b*T,U=v*g*b-H*T;P=M=>{const Q=Math.exp(-v*g*M),I=Math.min(T*M,300);return Q*(O*Math.sinh(I)+U*Math.cosh(I))}}const R={calculatedDuration:f&&p||null,velocity:T=>ot(P(T)),next:T=>{if(!f&&v<1){const O=Math.exp(-v*g*T),U=Math.sin(j*T),M=Math.cos(j*T),Q=o-O*(C*U+b*M),I=ot(O*(N*U+k*M));return l.done=Math.abs(I)<=s&&Math.abs(o-Q)<=n,l.value=l.done?o:Q,l}const H=x(T);if(f)l.done=T>=p;else{const O=ot(P(T));l.done=Math.abs(O)<=s&&Math.abs(o-H)<=n}return l.value=l.done?o:H,l},toString:()=>{const T=Math.min(fh(R),cl),H=a1(O=>R.next(T*O).value,T,30);return T+"ms "+H},toTransition:()=>{}};return R}dl.applyToOptions=e=>{const t=P5(e,100,dl);return e.ease=t.ease,e.duration=ot(t.duration),e.type="keyframes",e};const T5=5;function s1(e,t,a){const s=Math.max(t-T5,0);return zw(a-e(s),t-s)}function yu({keyframes:e,velocity:t=0,power:a=.8,timeConstant:s=325,bounceDamping:n=10,bounceStiffness:r=500,modifyTarget:o,min:l,max:c,restDelta:d=.5,restSpeed:u}){const p=e[0],h={done:!1,value:p},f=k=>l!==void 0&&k<l||c!==void 0&&k>c,y=k=>l===void 0?c:c===void 0||Math.abs(l-k)<Math.abs(c-k)?l:c;let v=a*t;const b=p+v,g=o===void 0?b:o(b);g!==b&&(v=g-p);const m=k=>-v*Math.exp(-k/s),x=k=>g+m(k),P=k=>{const R=m(k),T=x(k);h.done=Math.abs(R)<=d,h.value=h.done?g:T};let j,C;const N=k=>{f(h.value)&&(j=k,C=dl({keyframes:[h.value,y(h.value)],velocity:s1(x,k,h.value),damping:n,stiffness:r,restDelta:d,restSpeed:u}))};return N(0),{calculatedDuration:null,next:k=>{let R=!1;return!C&&j===void 0&&(R=!0,P(k),N(k)),j!==void 0&&k>=j?C.next(k-j):(!R&&P(k),h)}}}function E5(e,t,a){const s=[],n=a||is.mix||t1,r=e.length-1;for(let o=0;o<r;o++){let l=n(e[o],e[o+1]);if(t){const c=Array.isArray(t)?t[o]||vt:t;l=Pi(c,l)}s.push(l)}return s}function R5(e,t,{clamp:a=!0,ease:s,mixer:n}={}){const r=e.length;if(ih(r===t.length),r===1)return()=>t[0];if(r===2&&t[0]===t[1])return()=>t[1];const o=e[0]===e[1];e[0]>e[r-1]&&(e=[...e].reverse(),t=[...t].reverse());const l=E5(t,s,n),c=l.length,d=u=>{if(o&&u<e[0])return t[0];let p=0;if(c>1)for(;p<e.length-2&&!(u<e[p+1]);p++);const h=ni(e[p],e[p+1],u);return l[p](h)};return a?u=>d(ta(e[0],e[r-1],u)):d}function D5(e,t){const a=e[e.length-1];for(let s=1;s<=t;s++){const n=ni(0,t,s);e.push(re(a,1,n))}}function M5(e){const t=[0];return D5(t,e.length-1),t}function O5(e,t){return e.map(a=>a*t)}function L5(e,t){return e.map(()=>t||Ww).splice(0,e.length-1)}function Dr({duration:e=300,keyframes:t,times:a,ease:s="easeInOut"}){const n=B6(s)?s.map(Wm):Wm(s),r={done:!1,value:t[0]},o=O5(a&&a.length===t.length?a:M5(t),e),l=R5(o,t,{ease:Array.isArray(n)?n:L5(t,n)});return{calculatedDuration:e,next:c=>(r.value=l(c),r.done=c>=e,r)}}const z5=e=>e!==null;function Ul(e,{repeat:t,repeatType:a="loop"},s,n=1){const r=e.filter(z5),l=n<0||t&&a!=="loop"&&t%2===1?0:r.length-1;return!l||s===void 0?r[l]:s}const H5={decay:yu,inertia:yu,tween:Dr,keyframes:Dr,spring:dl};function n1(e){typeof e.type=="string"&&(e.type=H5[e.type])}class mh{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(t=>{this.resolve=t})}notifyFinished(){this.resolve()}then(t,a){return this.finished.then(t,a)}}const V5=e=>e/100;class ul extends mh{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{var s,n;const{motionValue:a}=this.options;a&&a.updatedAt!==$e.now()&&this.tick($e.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),(n=(s=this.options).onStop)==null||n.call(s))},this.options=t,this.initAnimation(),this.play(),t.autoplay===!1&&this.pause()}initAnimation(){const{options:t}=this;n1(t);const{type:a=Dr,repeat:s=0,repeatDelay:n=0,repeatType:r,velocity:o=0}=t;let{keyframes:l}=t;const c=a||Dr;c!==Dr&&typeof l[0]!="number"&&(this.mixKeyframes=Pi(V5,t1(l[0],l[1])),l=[0,100]);const d=c({...t,keyframes:l});r==="mirror"&&(this.mirroredGenerator=c({...t,keyframes:[...l].reverse(),velocity:-o})),d.calculatedDuration===null&&(d.calculatedDuration=fh(d));const{calculatedDuration:u}=d;this.calculatedDuration=u,this.resolvedDuration=u+n,this.totalDuration=this.resolvedDuration*(s+1)-n,this.generator=d}updateTime(t){const a=Math.round(t-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=a}tick(t,a=!1){const{generator:s,totalDuration:n,mixKeyframes:r,mirroredGenerator:o,resolvedDuration:l,calculatedDuration:c}=this;if(this.startTime===null)return s.next(0);const{delay:d=0,keyframes:u,repeat:p,repeatType:h,repeatDelay:f,type:y,onUpdate:v,finalKeyframe:b}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-n/this.speed,this.startTime)),a?this.currentTime=t:this.updateTime(t);const g=this.currentTime-d*(this.playbackSpeed>=0?1:-1),m=this.playbackSpeed>=0?g<0:g>n;this.currentTime=Math.max(g,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=n);let x=this.currentTime,P=s;if(p){const k=Math.min(this.currentTime,n)/l;let R=Math.floor(k),T=k%1;!T&&k>=1&&(T=1),T===1&&R--,R=Math.min(R,p+1),!!(R%2)&&(h==="reverse"?(T=1-T,f&&(T-=f/l)):h==="mirror"&&(P=o)),x=ta(0,1,T)*l}let j;m?(this.delayState.value=u[0],j=this.delayState):j=P.next(x),r&&!m&&(j.value=r(j.value));let{done:C}=j;!m&&c!==null&&(C=this.playbackSpeed>=0?this.currentTime>=n:this.currentTime<=0);const N=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&C);return N&&y!==yu&&(j.value=Ul(u,this.options,b,this.speed)),v&&v(j.value),N&&this.finish(),j}then(t,a){return this.finished.then(t,a)}get duration(){return xt(this.calculatedDuration)}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+xt(t)}get time(){return xt(this.currentTime)}set time(t){t=ot(t),this.currentTime=t,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state="paused",this.holdTime=t,this.tick(t))}getGeneratorVelocity(){const t=this.currentTime;if(t<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(t);const a=this.generator.next(t).value;return s1(s=>this.generator.next(s).value,t,a)}get speed(){return this.playbackSpeed}set speed(t){const a=this.playbackSpeed!==t;a&&this.driver&&this.updateTime($e.now()),this.playbackSpeed=t,a&&this.driver&&(this.time=xt(this.currentTime))}play(){var n,r;if(this.isStopped)return;const{driver:t=b5,startTime:a}=this.options;this.driver||(this.driver=t(o=>this.tick(o))),(r=(n=this.options).onPlay)==null||r.call(n);const s=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=s):this.holdTime!==null?this.startTime=s-this.holdTime:this.startTime||(this.startTime=a??s),this.state==="finished"&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime($e.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){var t,a;this.notifyFinished(),this.teardown(),this.state="finished",(a=(t=this.options).onComplete)==null||a.call(t)}cancel(){var t,a;this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),(a=(t=this.options).onCancel)==null||a.call(t)}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}attachTimeline(t){var a;return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),(a=this.driver)==null||a.stop(),t.observe(this)}}function F5(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}const Cs=e=>e*180/Math.PI,vu=e=>{const t=Cs(Math.atan2(e[1],e[0]));return wu(t)},_5={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:vu,rotateZ:vu,skewX:e=>Cs(Math.atan(e[1])),skewY:e=>Cs(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},wu=e=>(e=e%360,e<0&&(e+=360),e),Zm=vu,Jm=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),eg=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),I5={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:Jm,scaleY:eg,scale:e=>(Jm(e)+eg(e))/2,rotateX:e=>wu(Cs(Math.atan2(e[6],e[5]))),rotateY:e=>wu(Cs(Math.atan2(-e[2],e[0]))),rotateZ:Zm,rotate:Zm,skewX:e=>Cs(Math.atan(e[4])),skewY:e=>Cs(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function bu(e){return e.includes("scale")?1:0}function Pu(e,t){if(!e||e==="none")return bu(t);const a=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let s,n;if(a)s=I5,n=a;else{const l=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);s=_5,n=l}if(!n)return bu(t);const r=s[t],o=n[1].split(",").map(B5);return typeof r=="function"?r(o):o[r]}const q5=(e,t)=>{const{transform:a="none"}=getComputedStyle(e);return Pu(a,t)};function B5(e){return parseFloat(e.trim())}const Xn=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Zn=new Set(Xn),tg=e=>e===Yn||e===z,$5=new Set(["x","y","z"]),W5=Xn.filter(e=>!$5.has(e));function U5(e){const t=[];return W5.forEach(a=>{const s=e.getValue(a);s!==void 0&&(t.push([a,s.get()]),s.set(a.startsWith("scale")?1:0))}),t}const $a={width:({x:e},{paddingLeft:t="0",paddingRight:a="0",boxSizing:s})=>{const n=e.max-e.min;return s==="border-box"?n:n-parseFloat(t)-parseFloat(a)},height:({y:e},{paddingTop:t="0",paddingBottom:a="0",boxSizing:s})=>{const n=e.max-e.min;return s==="border-box"?n:n-parseFloat(t)-parseFloat(a)},top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>Pu(t,"x"),y:(e,{transform:t})=>Pu(t,"y")};$a.translateX=$a.x;$a.translateY=$a.y;const Ls=new Set;let ju=!1,Cu=!1,Nu=!1;function r1(){if(Cu){const e=Array.from(Ls).filter(s=>s.needsMeasurement),t=new Set(e.map(s=>s.element)),a=new Map;t.forEach(s=>{const n=U5(s);n.length&&(a.set(s,n),s.render())}),e.forEach(s=>s.measureInitialState()),t.forEach(s=>{s.render();const n=a.get(s);n&&n.forEach(([r,o])=>{var l;(l=s.getValue(r))==null||l.set(o)})}),e.forEach(s=>s.measureEndState()),e.forEach(s=>{s.suspendedScrollY!==void 0&&window.scrollTo(0,s.suspendedScrollY)})}Cu=!1,ju=!1,Ls.forEach(e=>e.complete(Nu)),Ls.clear()}function i1(){Ls.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(Cu=!0)})}function Q5(){Nu=!0,i1(),r1(),Nu=!1}class gh{constructor(t,a,s,n,r,o=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...t],this.onComplete=a,this.name=s,this.motionValue=n,this.element=r,this.isAsync=o}scheduleResolve(){this.state="scheduled",this.isAsync?(Ls.add(this),ju||(ju=!0,ee.read(i1),ee.resolveKeyframes(r1))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:a,element:s,motionValue:n}=this;if(t[0]===null){const r=n==null?void 0:n.get(),o=t[t.length-1];if(r!==void 0)t[0]=r;else if(s&&a){const l=s.readValue(a,o);l!=null&&(t[0]=l)}t[0]===void 0&&(t[0]=o),n&&r===void 0&&n.set(t[0])}F5(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),Ls.delete(this)}cancel(){this.state==="scheduled"&&(Ls.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const G5=e=>e.startsWith("--");function o1(e,t,a){G5(t)?e.style.setProperty(t,a):e.style[t]=a}const K5={};function l1(e,t){const a=Lw(e);return()=>K5[t]??a()}const Y5=l1(()=>window.ScrollTimeline!==void 0,"scrollTimeline"),c1=l1(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),wr=([e,t,a,s])=>`cubic-bezier(${e}, ${t}, ${a}, ${s})`,ag={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:wr([0,.65,.55,1]),circOut:wr([.55,0,1,.45]),backIn:wr([.31,.01,.66,-.59]),backOut:wr([.33,1.53,.69,.99])};function d1(e,t){if(e)return typeof e=="function"?c1()?a1(e,t):"ease-out":Uw(e)?wr(e):Array.isArray(e)?e.map(a=>d1(a,t)||ag.easeOut):ag[e]}function X5(e,t,a,{delay:s=0,duration:n=300,repeat:r=0,repeatType:o="loop",ease:l="easeOut",times:c}={},d=void 0){const u={[t]:a};c&&(u.offset=c);const p=d1(l,n);Array.isArray(p)&&(u.easing=p);const h={delay:s,duration:n,easing:Array.isArray(p)?"linear":p,fill:"both",iterations:r+1,direction:o==="reverse"?"alternate":"normal"};return d&&(h.pseudoElement=d),e.animate(u,h)}function u1(e){return typeof e=="function"&&"applyToOptions"in e}function Z5({type:e,...t}){return u1(e)&&c1()?e.applyToOptions(t):(t.duration??(t.duration=300),t.ease??(t.ease="easeOut"),t)}class p1 extends mh{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!t)return;const{element:a,name:s,keyframes:n,pseudoElement:r,allowFlatten:o=!1,finalKeyframe:l,onComplete:c}=t;this.isPseudoElement=!!r,this.allowFlatten=o,this.options=t,ih(typeof t.type!="string");const d=Z5(t);this.animation=X5(a,s,n,d,r),d.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!r){const u=Ul(n,this.options,l,this.speed);this.updateMotionValue&&this.updateMotionValue(u),o1(a,s,u),this.animation.cancel()}c==null||c(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){var t,a;(a=(t=this.animation).finish)==null||a.call(t)}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:t}=this;t==="idle"||t==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){var a,s,n;const t=(a=this.options)==null?void 0:a.element;!this.isPseudoElement&&(t!=null&&t.isConnected)&&((n=(s=this.animation).commitStyles)==null||n.call(s))}get duration(){var a,s;const t=((s=(a=this.animation.effect)==null?void 0:a.getComputedTiming)==null?void 0:s.call(a).duration)||0;return xt(Number(t))}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+xt(t)}get time(){return xt(Number(this.animation.currentTime)||0)}set time(t){const a=this.finishedTime!==null;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=ot(t),a&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(t){this.manualStartTime=this.animation.startTime=t}attachTimeline({timeline:t,rangeStart:a,rangeEnd:s,observe:n}){var r;return this.allowFlatten&&((r=this.animation.effect)==null||r.updateTiming({easing:"linear"})),this.animation.onfinish=null,t&&Y5()?(this.animation.timeline=t,a&&(this.animation.rangeStart=a),s&&(this.animation.rangeEnd=s),vt):n(this)}}const h1={anticipate:qw,backInOut:Iw,circInOut:$w};function J5(e){return e in h1}function eA(e){typeof e.ease=="string"&&J5(e.ease)&&(e.ease=h1[e.ease])}const Fc=10;class tA extends p1{constructor(t){eA(t),n1(t),super(t),t.startTime!==void 0&&t.autoplay!==!1&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:a,onUpdate:s,onComplete:n,element:r,...o}=this.options;if(!a)return;if(t!==void 0){a.set(t);return}const l=new ul({...o,autoplay:!1}),c=Math.max(Fc,$e.now()-this.startTime),d=ta(0,Fc,c-Fc),u=l.sample(c).value,{name:p}=this.options;r&&p&&o1(r,p,u),a.setWithVelocity(l.sample(Math.max(0,c-d)).value,u,d),l.stop()}}const sg=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(Lt.test(e)||e==="0")&&!e.startsWith("url("));function aA(e){const t=e[0];if(e.length===1)return!0;for(let a=0;a<e.length;a++)if(e[a]!==t)return!0}function sA(e,t,a,s){const n=e[0];if(n===null)return!1;if(t==="display"||t==="visibility")return!0;const r=e[e.length-1],o=sg(n,t),l=sg(r,t);return!o||!l?!1:aA(e)||(a==="spring"||u1(a))&&s}function ku(e){e.duration=0,e.type="keyframes"}const f1=new Set(["opacity","clipPath","filter","transform"]),nA=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;function rA(e){for(let t=0;t<e.length;t++)if(typeof e[t]=="string"&&nA.test(e[t]))return!0;return!1}const iA=new Set(["color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"]),oA=Lw(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function lA(e){var p;const{motionValue:t,name:a,repeatDelay:s,repeatType:n,damping:r,type:o,keyframes:l}=e;if(!(((p=t==null?void 0:t.owner)==null?void 0:p.current)instanceof HTMLElement))return!1;const{onUpdate:d,transformTemplate:u}=t.owner.getProps();return oA()&&a&&(f1.has(a)||iA.has(a)&&rA(l))&&(a!=="transform"||!u)&&!d&&!s&&n!=="mirror"&&r!==0&&o!=="inertia"}const cA=40;class dA extends mh{constructor({autoplay:t=!0,delay:a=0,type:s="keyframes",repeat:n=0,repeatDelay:r=0,repeatType:o="loop",keyframes:l,name:c,motionValue:d,element:u,...p}){var y;super(),this.stop=()=>{var v,b;this._animation&&(this._animation.stop(),(v=this.stopTimeline)==null||v.call(this)),(b=this.keyframeResolver)==null||b.cancel()},this.createdAt=$e.now();const h={autoplay:t,delay:a,type:s,repeat:n,repeatDelay:r,repeatType:o,name:c,motionValue:d,element:u,...p},f=(u==null?void 0:u.KeyframeResolver)||gh;this.keyframeResolver=new f(l,(v,b,g)=>this.onKeyframesResolved(v,b,h,!g),c,d,u),(y=this.keyframeResolver)==null||y.scheduleResolve()}onKeyframesResolved(t,a,s,n){var g,m;this.keyframeResolver=void 0;const{name:r,type:o,velocity:l,delay:c,isHandoff:d,onUpdate:u}=s;this.resolvedAt=$e.now();let p=!0;sA(t,r,o,l)||(p=!1,(is.instantAnimations||!c)&&(u==null||u(Ul(t,s,a))),t[0]=t[t.length-1],ku(s),s.repeat=0);const f={startTime:n?this.resolvedAt?this.resolvedAt-this.createdAt>cA?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:a,...s,keyframes:t},y=p&&!d&&lA(f),v=(m=(g=f.motionValue)==null?void 0:g.owner)==null?void 0:m.current;let b;if(y)try{b=new tA({...f,element:v})}catch{b=new ul(f)}else b=new ul(f);b.finished.then(()=>{this.notifyFinished()}).catch(vt),this.pendingTimeline&&(this.stopTimeline=b.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=b}get finished(){return this._animation?this.animation.finished:this._finished}then(t,a){return this.finished.finally(t).then(()=>{})}get animation(){var t;return this._animation||((t=this.keyframeResolver)==null||t.resume(),Q5()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(t){this.animation.time=t}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(t){this.animation.speed=t}get startTime(){return this.animation.startTime}attachTimeline(t){return this._animation?this.stopTimeline=this.animation.attachTimeline(t):this.pendingTimeline=t,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){var t;this._animation&&this.animation.cancel(),(t=this.keyframeResolver)==null||t.cancel()}}function m1(e,t,a,s=0,n=1){const r=Array.from(e).sort((d,u)=>d.sortNodePosition(u)).indexOf(t),o=e.size,l=(o-1)*s;return typeof a=="function"?a(r,o):n===1?r*s:l-r*s}const uA=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function pA(e){const t=uA.exec(e);if(!t)return[,];const[,a,s,n]=t;return[`--${a??s}`,n]}function g1(e,t,a=1){const[s,n]=pA(e);if(!s)return;const r=window.getComputedStyle(t).getPropertyValue(s);if(r){const o=r.trim();return Dw(o)?parseFloat(o):o}return dh(n)?g1(n,t,a+1):n}const hA={type:"spring",stiffness:500,damping:25,restSpeed:10},fA=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),mA={type:"keyframes",duration:.8},gA={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},xA=(e,{keyframes:t})=>t.length>2?mA:Zn.has(e)?e.startsWith("scale")?fA(t[1]):hA:gA;function x1(e,t){if(e!=null&&e.inherit&&t){const{inherit:a,...s}=e;return{...t,...s}}return e}function xh(e,t){const a=(e==null?void 0:e[t])??(e==null?void 0:e.default)??e;return a!==e?x1(a,e):a}const yA=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"]);function vA(e){for(const t in e)if(!yA.has(t))return!0;return!1}const yh=(e,t,a,s={},n,r)=>o=>{const l=xh(s,e)||{},c=l.delay||s.delay||0;let{elapsed:d=0}=s;d=d-ot(c);const u={keyframes:Array.isArray(a)?a:[null,a],ease:"easeOut",velocity:t.getVelocity(),...l,delay:-d,onUpdate:h=>{t.set(h),l.onUpdate&&l.onUpdate(h)},onComplete:()=>{o(),l.onComplete&&l.onComplete()},name:e,motionValue:t,element:r?void 0:n};vA(l)||Object.assign(u,xA(e,u)),u.duration&&(u.duration=ot(u.duration)),u.repeatDelay&&(u.repeatDelay=ot(u.repeatDelay)),u.from!==void 0&&(u.keyframes[0]=u.from);let p=!1;if((u.type===!1||u.duration===0&&!u.repeatDelay)&&(ku(u),u.delay===0&&(p=!0)),(is.instantAnimations||is.skipAnimations||n!=null&&n.shouldSkipAnimations)&&(p=!0,ku(u),u.delay=0),u.allowFlatten=!l.type&&!l.ease,p&&!r&&t.get()!==void 0){const h=Ul(u.keyframes,l);if(h!==void 0){ee.update(()=>{u.onUpdate(h),u.onComplete()});return}}return l.isSync?new ul(u):new dA(u)};function ng(e){const t=[{},{}];return e==null||e.values.forEach((a,s)=>{t[0][s]=a.get(),t[1][s]=a.getVelocity()}),t}function vh(e,t,a,s){if(typeof t=="function"){const[n,r]=ng(s);t=t(a!==void 0?a:e.custom,n,r)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[n,r]=ng(s);t=t(a!==void 0?a:e.custom,n,r)}return t}function zs(e,t,a){const s=e.getProps();return vh(s,t,a!==void 0?a:s.custom,e)}const y1=new Set(["width","height","top","left","right","bottom",...Xn]),rg=30,wA=e=>!isNaN(parseFloat(e));class bA{constructor(t,a={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=s=>{var r;const n=$e.now();if(this.updatedAt!==n&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(s),this.current!==this.prev&&((r=this.events.change)==null||r.notify(this.current),this.dependents))for(const o of this.dependents)o.dirty()},this.hasAnimated=!1,this.setCurrent(t),this.owner=a.owner}setCurrent(t){this.current=t,this.updatedAt=$e.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=wA(this.current))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return this.on("change",t)}on(t,a){this.events[t]||(this.events[t]=new oh);const s=this.events[t].add(a);return t==="change"?()=>{s(),ee.read(()=>{this.events.change.getSize()||this.stop()})}:s}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,a){this.passiveEffect=t,this.stopPassiveEffect=a}set(t){this.passiveEffect?this.passiveEffect(t,this.updateAndNotify):this.updateAndNotify(t)}setWithVelocity(t,a,s){this.set(a),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-s}jump(t,a=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,a&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){var t;(t=this.events.change)==null||t.notify(this.current)}addDependent(t){this.dependents||(this.dependents=new Set),this.dependents.add(t)}removeDependent(t){this.dependents&&this.dependents.delete(t)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const t=$e.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>rg)return 0;const a=Math.min(this.updatedAt-this.prevUpdatedAt,rg);return zw(parseFloat(this.current)-parseFloat(this.prevFrameValue),a)}start(t){return this.stop(),new Promise(a=>{this.hasAnimated=!0,this.animation=t(a),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){var t,a;(t=this.dependents)==null||t.clear(),(a=this.events.destroy)==null||a.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function In(e,t){return new bA(e,t)}const Su=e=>Array.isArray(e);function PA(e,t,a){e.hasValue(t)?e.getValue(t).set(a):e.addValue(t,In(a))}function jA(e){return Su(e)?e[e.length-1]||0:e}function CA(e,t){const a=zs(e,t);let{transitionEnd:s={},transition:n={},...r}=a||{};r={...r,...s};for(const o in r){const l=jA(r[o]);PA(e,o,l)}}const De=e=>!!(e&&e.getVelocity);function NA(e){return!!(De(e)&&e.add)}function Au(e,t){const a=e.getValue("willChange");if(NA(a))return a.add(t);if(!a&&is.WillChange){const s=new is.WillChange("auto");e.addValue("willChange",s),s.add(t)}}function wh(e){return e.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`)}const kA="framerAppearId",v1="data-"+wh(kA);function w1(e){return e.props[v1]}function SA({protectedKeys:e,needsAnimating:t},a){const s=e.hasOwnProperty(a)&&t[a]!==!0;return t[a]=!1,s}function b1(e,t,{delay:a=0,transitionOverride:s,type:n}={}){let{transition:r,transitionEnd:o,...l}=t;const c=e.getDefaultTransition();r=r?x1(r,c):c;const d=r==null?void 0:r.reduceMotion;s&&(r=s);const u=[],p=n&&e.animationState&&e.animationState.getState()[n];for(const h in l){const f=e.getValue(h,e.latestValues[h]??null),y=l[h];if(y===void 0||p&&SA(p,h))continue;const v={delay:a,...xh(r||{},h)},b=f.get();if(b!==void 0&&!f.isAnimating()&&!Array.isArray(y)&&y===b&&!v.velocity){ee.update(()=>f.set(y));continue}let g=!1;if(window.MotionHandoffAnimation){const P=w1(e);if(P){const j=window.MotionHandoffAnimation(P,h,ee);j!==null&&(v.startTime=j,g=!0)}}Au(e,h);const m=d??e.shouldReduceMotion;f.start(yh(h,f,y,m&&y1.has(h)?{type:!1}:v,e,g));const x=f.animation;x&&u.push(x)}if(o){const h=()=>ee.update(()=>{o&&CA(e,o)});u.length?Promise.all(u).then(h):h()}return u}function Tu(e,t,a={}){var c;const s=zs(e,t,a.type==="exit"?(c=e.presenceContext)==null?void 0:c.custom:void 0);let{transition:n=e.getDefaultTransition()||{}}=s||{};a.transitionOverride&&(n=a.transitionOverride);const r=s?()=>Promise.all(b1(e,s,a)):()=>Promise.resolve(),o=e.variantChildren&&e.variantChildren.size?(d=0)=>{const{delayChildren:u=0,staggerChildren:p,staggerDirection:h}=n;return AA(e,t,d,u,p,h,a)}:()=>Promise.resolve(),{when:l}=n;if(l){const[d,u]=l==="beforeChildren"?[r,o]:[o,r];return d().then(()=>u())}else return Promise.all([r(),o(a.delay)])}function AA(e,t,a=0,s=0,n=0,r=1,o){const l=[];for(const c of e.variantChildren)c.notify("AnimationStart",t),l.push(Tu(c,t,{...o,delay:a+(typeof s=="function"?0:s)+m1(e.variantChildren,c,s,n,r)}).then(()=>c.notify("AnimationComplete",t)));return Promise.all(l)}function TA(e,t,a={}){e.notify("AnimationStart",t);let s;if(Array.isArray(t)){const n=t.map(r=>Tu(e,r,a));s=Promise.all(n)}else if(typeof t=="string")s=Tu(e,t,a);else{const n=typeof t=="function"?zs(e,t,a.custom):t;s=Promise.all(b1(e,n,a))}return s.then(()=>{e.notify("AnimationComplete",t)})}const EA={test:e=>e==="auto",parse:e=>e},P1=e=>t=>t.test(e),j1=[Yn,z,ea,Aa,a5,t5,EA],ig=e=>j1.find(P1(e));function RA(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||Ow(e):!0}const DA=new Set(["brightness","contrast","saturate","opacity"]);function MA(e){const[t,a]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[s]=a.match(uh)||[];if(!s)return e;const n=a.replace(s,"");let r=DA.has(t)?1:0;return s!==a&&(r*=100),t+"("+r+n+")"}const OA=/\b([a-z-]*)\(.*?\)/gu,Eu={...Lt,getAnimatableNone:e=>{const t=e.match(OA);return t?t.map(MA).join(" "):e}},Ru={...Lt,getAnimatableNone:e=>{const t=Lt.parse(e);return Lt.createTransformer(e)(t.map(s=>typeof s=="number"?0:typeof s=="object"?{...s,alpha:1}:s))}},og={...Yn,transform:Math.round},LA={rotate:Aa,rotateX:Aa,rotateY:Aa,rotateZ:Aa,scale:Xi,scaleX:Xi,scaleY:Xi,scaleZ:Xi,skew:Aa,skewX:Aa,skewY:Aa,distance:z,translateX:z,translateY:z,translateZ:z,x:z,y:z,z,perspective:z,transformPerspective:z,opacity:ri,originX:Qm,originY:Qm,originZ:z},bh={borderWidth:z,borderTopWidth:z,borderRightWidth:z,borderBottomWidth:z,borderLeftWidth:z,borderRadius:z,borderTopLeftRadius:z,borderTopRightRadius:z,borderBottomRightRadius:z,borderBottomLeftRadius:z,width:z,maxWidth:z,height:z,maxHeight:z,top:z,right:z,bottom:z,left:z,inset:z,insetBlock:z,insetBlockStart:z,insetBlockEnd:z,insetInline:z,insetInlineStart:z,insetInlineEnd:z,padding:z,paddingTop:z,paddingRight:z,paddingBottom:z,paddingLeft:z,paddingBlock:z,paddingBlockStart:z,paddingBlockEnd:z,paddingInline:z,paddingInlineStart:z,paddingInlineEnd:z,margin:z,marginTop:z,marginRight:z,marginBottom:z,marginLeft:z,marginBlock:z,marginBlockStart:z,marginBlockEnd:z,marginInline:z,marginInlineStart:z,marginInlineEnd:z,fontSize:z,backgroundPositionX:z,backgroundPositionY:z,...LA,zIndex:og,fillOpacity:ri,strokeOpacity:ri,numOctaves:og},zA={...bh,color:xe,backgroundColor:xe,outlineColor:xe,fill:xe,stroke:xe,borderColor:xe,borderTopColor:xe,borderRightColor:xe,borderBottomColor:xe,borderLeftColor:xe,filter:Eu,WebkitFilter:Eu,mask:Ru,WebkitMask:Ru},C1=e=>zA[e],HA=new Set([Eu,Ru]);function N1(e,t){let a=C1(e);return HA.has(a)||(a=Lt),a.getAnimatableNone?a.getAnimatableNone(t):void 0}const VA=new Set(["auto","none","0"]);function FA(e,t,a){let s=0,n;for(;s<e.length&&!n;){const r=e[s];typeof r=="string"&&!VA.has(r)&&_n(r).values.length&&(n=e[s]),s++}if(n&&a)for(const r of t)e[r]=N1(a,n)}class _A extends gh{constructor(t,a,s,n,r){super(t,a,s,n,r,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:a,name:s}=this;if(!a||!a.current)return;super.readKeyframes();for(let u=0;u<t.length;u++){let p=t[u];if(typeof p=="string"&&(p=p.trim(),dh(p))){const h=g1(p,a.current);h!==void 0&&(t[u]=h),u===t.length-1&&(this.finalKeyframe=p)}}if(this.resolveNoneKeyframes(),!y1.has(s)||t.length!==2)return;const[n,r]=t,o=ig(n),l=ig(r),c=Um(n),d=Um(r);if(c!==d&&$a[s]){this.needsMeasurement=!0;return}if(o!==l)if(tg(o)&&tg(l))for(let u=0;u<t.length;u++){const p=t[u];typeof p=="string"&&(t[u]=parseFloat(p))}else $a[s]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:t,name:a}=this,s=[];for(let n=0;n<t.length;n++)(t[n]===null||RA(t[n]))&&s.push(n);s.length&&FA(t,s,a)}measureInitialState(){const{element:t,unresolvedKeyframes:a,name:s}=this;if(!t||!t.current)return;s==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=$a[s](t.measureViewportBox(),window.getComputedStyle(t.current)),a[0]=this.measuredOrigin;const n=a[a.length-1];n!==void 0&&t.getValue(s,n).jump(n,!1)}measureEndState(){var l;const{element:t,name:a,unresolvedKeyframes:s}=this;if(!t||!t.current)return;const n=t.getValue(a);n&&n.jump(this.measuredOrigin,!1);const r=s.length-1,o=s[r];s[r]=$a[a](t.measureViewportBox(),window.getComputedStyle(t.current)),o!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=o),(l=this.removedTransforms)!=null&&l.length&&this.removedTransforms.forEach(([c,d])=>{t.getValue(c).set(d)}),this.resolveNoneKeyframes()}}function k1(e,t,a){if(e==null)return[];if(e instanceof EventTarget)return[e];if(typeof e=="string"){let s=document;const n=(a==null?void 0:a[e])??s.querySelectorAll(e);return n?Array.from(n):[]}return Array.from(e).filter(s=>s!=null)}const S1=(e,t)=>t&&typeof e=="number"?t.transform(e):e;function IA(e){return Mw(e)&&"offsetHeight"in e&&!("ownerSVGElement"in e)}const{schedule:Ph}=Qw(queueMicrotask,!1),kt={x:!1,y:!1};function A1(){return kt.x||kt.y}function qA(e){return e==="x"||e==="y"?kt[e]?null:(kt[e]=!0,()=>{kt[e]=!1}):kt.x||kt.y?null:(kt.x=kt.y=!0,()=>{kt.x=kt.y=!1})}function T1(e,t){const a=k1(e),s=new AbortController,n={passive:!0,...t,signal:s.signal};return[a,n,()=>s.abort()]}function BA(e){return!(e.pointerType==="touch"||A1())}function $A(e,t,a={}){const[s,n,r]=T1(e,a);return s.forEach(o=>{let l=!1,c=!1,d;const u=()=>{o.removeEventListener("pointerleave",y)},p=b=>{d&&(d(b),d=void 0),u()},h=b=>{l=!1,window.removeEventListener("pointerup",h),window.removeEventListener("pointercancel",h),c&&(c=!1,p(b))},f=()=>{l=!0,window.addEventListener("pointerup",h,n),window.addEventListener("pointercancel",h,n)},y=b=>{if(b.pointerType!=="touch"){if(l){c=!0;return}p(b)}},v=b=>{if(!BA(b))return;c=!1;const g=t(o,b);typeof g=="function"&&(d=g,o.addEventListener("pointerleave",y,n))};o.addEventListener("pointerenter",v,n),o.addEventListener("pointerdown",f,n)}),r}const E1=(e,t)=>t?e===t?!0:E1(e,t.parentElement):!1,jh=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1,WA=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function UA(e){return WA.has(e.tagName)||e.isContentEditable===!0}const QA=new Set(["INPUT","SELECT","TEXTAREA"]);function GA(e){return QA.has(e.tagName)||e.isContentEditable===!0}const Po=new WeakSet;function lg(e){return t=>{t.key==="Enter"&&e(t)}}function _c(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const KA=(e,t)=>{const a=e.currentTarget;if(!a)return;const s=lg(()=>{if(Po.has(a))return;_c(a,"down");const n=lg(()=>{_c(a,"up")}),r=()=>_c(a,"cancel");a.addEventListener("keyup",n,t),a.addEventListener("blur",r,t)});a.addEventListener("keydown",s,t),a.addEventListener("blur",()=>a.removeEventListener("keydown",s),t)};function cg(e){return jh(e)&&!A1()}const dg=new WeakSet;function YA(e,t,a={}){const[s,n,r]=T1(e,a),o=l=>{const c=l.currentTarget;if(!cg(l)||dg.has(l))return;Po.add(c),a.stopPropagation&&dg.add(l);const d=t(c,l),u=(f,y)=>{window.removeEventListener("pointerup",p),window.removeEventListener("pointercancel",h),Po.has(c)&&Po.delete(c),cg(f)&&typeof d=="function"&&d(f,{success:y})},p=f=>{u(f,c===window||c===document||a.useGlobalTarget||E1(c,f.target))},h=f=>{u(f,!1)};window.addEventListener("pointerup",p,n),window.addEventListener("pointercancel",h,n)};return s.forEach(l=>{(a.useGlobalTarget?window:l).addEventListener("pointerdown",o,n),IA(l)&&(l.addEventListener("focus",d=>KA(d,n)),!UA(l)&&!l.hasAttribute("tabindex")&&(l.tabIndex=0))}),r}function Ch(e){return Mw(e)&&"ownerSVGElement"in e}const jo=new WeakMap;let Ta;const R1=(e,t,a)=>(s,n)=>n&&n[0]?n[0][e+"Size"]:Ch(s)&&"getBBox"in s?s.getBBox()[t]:s[a],XA=R1("inline","width","offsetWidth"),ZA=R1("block","height","offsetHeight");function JA({target:e,borderBoxSize:t}){var a;(a=jo.get(e))==null||a.forEach(s=>{s(e,{get width(){return XA(e,t)},get height(){return ZA(e,t)}})})}function eT(e){e.forEach(JA)}function tT(){typeof ResizeObserver>"u"||(Ta=new ResizeObserver(eT))}function aT(e,t){Ta||tT();const a=k1(e);return a.forEach(s=>{let n=jo.get(s);n||(n=new Set,jo.set(s,n)),n.add(t),Ta==null||Ta.observe(s)}),()=>{a.forEach(s=>{const n=jo.get(s);n==null||n.delete(t),n!=null&&n.size||Ta==null||Ta.unobserve(s)})}}const Co=new Set;let dn;function sT(){dn=()=>{const e={get width(){return window.innerWidth},get height(){return window.innerHeight}};Co.forEach(t=>t(e))},window.addEventListener("resize",dn)}function nT(e){return Co.add(e),dn||sT(),()=>{Co.delete(e),!Co.size&&typeof dn=="function"&&(window.removeEventListener("resize",dn),dn=void 0)}}function ug(e,t){return typeof e=="function"?nT(e):aT(e,t)}function rT(e){return Ch(e)&&e.tagName==="svg"}const iT=[...j1,xe,Lt],oT=e=>iT.find(P1(e)),pg=()=>({translate:0,scale:1,origin:0,originPoint:0}),un=()=>({x:pg(),y:pg()}),hg=()=>({min:0,max:0}),we=()=>({x:hg(),y:hg()}),lT=new WeakMap;function Ql(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}function ii(e){return typeof e=="string"||Array.isArray(e)}const Nh=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],kh=["initial",...Nh];function Gl(e){return Ql(e.animate)||kh.some(t=>ii(e[t]))}function D1(e){return!!(Gl(e)||e.variants)}function cT(e,t,a){for(const s in t){const n=t[s],r=a[s];if(De(n))e.addValue(s,n);else if(De(r))e.addValue(s,In(n,{owner:e}));else if(r!==n)if(e.hasValue(s)){const o=e.getValue(s);o.liveStyle===!0?o.jump(n):o.hasAnimated||o.set(n)}else{const o=e.getStaticValue(s);e.addValue(s,In(o!==void 0?o:n,{owner:e}))}}for(const s in a)t[s]===void 0&&e.removeValue(s);return t}const Du={current:null},M1={current:!1},dT=typeof window<"u";function uT(){if(M1.current=!0,!!dT)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>Du.current=e.matches;e.addEventListener("change",t),t()}else Du.current=!1}const fg=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];let pl={};function O1(e){pl=e}function pT(){return pl}class hT{scrapeMotionValuesFromProps(t,a,s){return{}}constructor({parent:t,props:a,presenceContext:s,reducedMotionConfig:n,skipAnimations:r,blockInitialAnimation:o,visualState:l},c={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=gh,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const f=$e.now();this.renderScheduledAt<f&&(this.renderScheduledAt=f,ee.render(this.render,!1,!0))};const{latestValues:d,renderState:u}=l;this.latestValues=d,this.baseTarget={...d},this.initialValues=a.initial?{...d}:{},this.renderState=u,this.parent=t,this.props=a,this.presenceContext=s,this.depth=t?t.depth+1:0,this.reducedMotionConfig=n,this.skipAnimationsConfig=r,this.options=c,this.blockInitialAnimation=!!o,this.isControllingVariants=Gl(a),this.isVariantNode=D1(a),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:p,...h}=this.scrapeMotionValuesFromProps(a,{},this);for(const f in h){const y=h[f];d[f]!==void 0&&De(y)&&y.set(d[f])}}mount(t){var a,s;if(this.hasBeenMounted)for(const n in this.initialValues)(a=this.values.get(n))==null||a.jump(this.initialValues[n]),this.latestValues[n]=this.initialValues[n];this.current=t,lT.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,r)=>this.bindToMotionValue(r,n)),this.reducedMotionConfig==="never"?this.shouldReduceMotion=!1:this.reducedMotionConfig==="always"?this.shouldReduceMotion=!0:(M1.current||uT(),this.shouldReduceMotion=Du.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,(s=this.parent)==null||s.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){var t;this.projection&&this.projection.unmount(),os(this.notifyUpdate),os(this.render),this.valueSubscriptions.forEach(a=>a()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),(t=this.parent)==null||t.removeChild(this);for(const a in this.events)this.events[a].clear();for(const a in this.features){const s=this.features[a];s&&(s.unmount(),s.isMounted=!1)}this.current=null}addChild(t){this.children.add(t),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(t)}removeChild(t){this.children.delete(t),this.enteringChildren&&this.enteringChildren.delete(t)}bindToMotionValue(t,a){if(this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)(),a.accelerate&&f1.has(t)&&this.current instanceof HTMLElement){const{factory:o,keyframes:l,times:c,ease:d,duration:u}=a.accelerate,p=new p1({element:this.current,name:t,keyframes:l,times:c,ease:d,duration:ot(u)}),h=o(p);this.valueSubscriptions.set(t,()=>{h(),p.cancel()});return}const s=Zn.has(t);s&&this.onBindTransform&&this.onBindTransform();const n=a.on("change",o=>{this.latestValues[t]=o,this.props.onUpdate&&ee.preRender(this.notifyUpdate),s&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let r;typeof window<"u"&&window.MotionCheckAppearSync&&(r=window.MotionCheckAppearSync(this,t,a)),this.valueSubscriptions.set(t,()=>{n(),r&&r(),a.owner&&a.stop()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}updateFeatures(){let t="animation";for(t in pl){const a=pl[t];if(!a)continue;const{isEnabled:s,Feature:n}=a;if(!this.features[t]&&n&&s(this.props)&&(this.features[t]=new n(this)),this.features[t]){const r=this.features[t];r.isMounted?r.update():(r.mount(),r.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):we()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,a){this.latestValues[t]=a}update(t,a){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=a;for(let s=0;s<fg.length;s++){const n=fg[s];this.propEventSubscriptions[n]&&(this.propEventSubscriptions[n](),delete this.propEventSubscriptions[n]);const r="on"+n,o=t[r];o&&(this.propEventSubscriptions[n]=this.on(n,o))}this.prevMotionValues=cT(this,this.scrapeMotionValuesFromProps(t,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(t){return this.props.variants?this.props.variants[t]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(t){const a=this.getClosestVariantNode();if(a)return a.variantChildren&&a.variantChildren.add(t),()=>a.variantChildren.delete(t)}addValue(t,a){const s=this.values.get(t);a!==s&&(s&&this.removeValue(t),this.bindToMotionValue(t,a),this.values.set(t,a),this.latestValues[t]=a.get())}removeValue(t){this.values.delete(t);const a=this.valueSubscriptions.get(t);a&&(a(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,a){if(this.props.values&&this.props.values[t])return this.props.values[t];let s=this.values.get(t);return s===void 0&&a!==void 0&&(s=In(a===null?void 0:a,{owner:this}),this.addValue(t,s)),s}readValue(t,a){let s=this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:this.getBaseTargetFromProps(this.props,t)??this.readValueFromInstance(this.current,t,this.options);return s!=null&&(typeof s=="string"&&(Dw(s)||Ow(s))?s=parseFloat(s):!oT(s)&&Lt.test(a)&&(s=N1(t,a)),this.setBaseTarget(t,De(s)?s.get():s)),De(s)?s.get():s}setBaseTarget(t,a){this.baseTarget[t]=a}getBaseTarget(t){var r;const{initial:a}=this.props;let s;if(typeof a=="string"||typeof a=="object"){const o=vh(this.props,a,(r=this.presenceContext)==null?void 0:r.custom);o&&(s=o[t])}if(a&&s!==void 0)return s;const n=this.getBaseTargetFromProps(this.props,t);return n!==void 0&&!De(n)?n:this.initialValues[t]!==void 0&&s===void 0?void 0:this.baseTarget[t]}on(t,a){return this.events[t]||(this.events[t]=new oh),this.events[t].add(a)}notify(t,...a){this.events[t]&&this.events[t].notify(...a)}scheduleRenderMicrotask(){Ph.render(this.render)}}class L1 extends hT{constructor(){super(...arguments),this.KeyframeResolver=_A}sortInstanceNodePosition(t,a){return t.compareDocumentPosition(a)&2?1:-1}getBaseTargetFromProps(t,a){const s=t.style;return s?s[a]:void 0}removeValueFromRenderState(t,{vars:a,style:s}){delete a[t],delete s[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;De(t)&&(this.childSubscription=t.on("change",a=>{this.current&&(this.current.textContent=`${a}`)}))}}class hs{constructor(t){this.isMounted=!1,this.node=t}update(){}}function z1({top:e,left:t,right:a,bottom:s}){return{x:{min:t,max:a},y:{min:e,max:s}}}function fT({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function mT(e,t){if(!t)return e;const a=t({x:e.left,y:e.top}),s=t({x:e.right,y:e.bottom});return{top:a.y,left:a.x,bottom:s.y,right:s.x}}function Ic(e){return e===void 0||e===1}function Mu({scale:e,scaleX:t,scaleY:a}){return!Ic(e)||!Ic(t)||!Ic(a)}function vs(e){return Mu(e)||H1(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function H1(e){return mg(e.x)||mg(e.y)}function mg(e){return e&&e!=="0%"}function hl(e,t,a){const s=e-a,n=t*s;return a+n}function gg(e,t,a,s,n){return n!==void 0&&(e=hl(e,n,s)),hl(e,a,s)+t}function Ou(e,t=0,a=1,s,n){e.min=gg(e.min,t,a,s,n),e.max=gg(e.max,t,a,s,n)}function V1(e,{x:t,y:a}){Ou(e.x,t.translate,t.scale,t.originPoint),Ou(e.y,a.translate,a.scale,a.originPoint)}const xg=.999999999999,yg=1.0000000000001;function gT(e,t,a,s=!1){var l;const n=a.length;if(!n)return;t.x=t.y=1;let r,o;for(let c=0;c<n;c++){r=a[c],o=r.projectionDelta;const{visualElement:d}=r.options;d&&d.props.style&&d.props.style.display==="contents"||(s&&r.options.layoutScroll&&r.scroll&&r!==r.root&&(Qt(e.x,-r.scroll.offset.x),Qt(e.y,-r.scroll.offset.y)),o&&(t.x*=o.x.scale,t.y*=o.y.scale,V1(e,o)),s&&vs(r.latestValues)&&No(e,r.latestValues,(l=r.layout)==null?void 0:l.layoutBox))}t.x<yg&&t.x>xg&&(t.x=1),t.y<yg&&t.y>xg&&(t.y=1)}function Qt(e,t){e.min+=t,e.max+=t}function vg(e,t,a,s,n=.5){const r=re(e.min,e.max,n);Ou(e,t,a,r,s)}function wg(e,t){return typeof e=="string"?parseFloat(e)/100*(t.max-t.min):e}function No(e,t,a){const s=a??e;vg(e.x,wg(t.x,s.x),t.scaleX,t.scale,t.originX),vg(e.y,wg(t.y,s.y),t.scaleY,t.scale,t.originY)}function F1(e,t){return z1(mT(e.getBoundingClientRect(),t))}function xT(e,t,a){const s=F1(e,a),{scroll:n}=t;return n&&(Qt(s.x,n.offset.x),Qt(s.y,n.offset.y)),s}const yT={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},vT=Xn.length;function wT(e,t,a){let s="",n=!0;for(let r=0;r<vT;r++){const o=Xn[r],l=e[o];if(l===void 0)continue;let c=!0;if(typeof l=="number")c=l===(o.startsWith("scale")?1:0);else{const d=parseFloat(l);c=o.startsWith("scale")?d===1:d===0}if(!c||a){const d=S1(l,bh[o]);if(!c){n=!1;const u=yT[o]||o;s+=`${u}(${d}) `}a&&(t[o]=d)}}return s=s.trim(),a?s=a(t,n?"":s):n&&(s="none"),s}function Sh(e,t,a){const{style:s,vars:n,transformOrigin:r}=e;let o=!1,l=!1;for(const c in t){const d=t[c];if(Zn.has(c)){o=!0;continue}else if(Kw(c)){n[c]=d;continue}else{const u=S1(d,bh[c]);c.startsWith("origin")?(l=!0,r[c]=u):s[c]=u}}if(t.transform||(o||a?s.transform=wT(t,e.transform,a):s.transform&&(s.transform="none")),l){const{originX:c="50%",originY:d="50%",originZ:u=0}=r;s.transformOrigin=`${c} ${d} ${u}`}}function _1(e,{style:t,vars:a},s,n){const r=e.style;let o;for(o in t)r[o]=t[o];n==null||n.applyProjectionStyles(r,s);for(o in a)r.setProperty(o,a[o])}function bg(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const fr={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(z.test(e))e=parseFloat(e);else return e;const a=bg(e,t.target.x),s=bg(e,t.target.y);return`${a}% ${s}%`}},bT={correct:(e,{treeScale:t,projectionDelta:a})=>{const s=e,n=Lt.parse(e);if(n.length>5)return s;const r=Lt.createTransformer(e),o=typeof n[0]!="number"?1:0,l=a.x.scale*t.x,c=a.y.scale*t.y;n[0+o]/=l,n[1+o]/=c;const d=re(l,c,.5);return typeof n[2+o]=="number"&&(n[2+o]/=d),typeof n[3+o]=="number"&&(n[3+o]/=d),r(n)}},Lu={borderRadius:{...fr,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:fr,borderTopRightRadius:fr,borderBottomLeftRadius:fr,borderBottomRightRadius:fr,boxShadow:bT};function I1(e,{layout:t,layoutId:a}){return Zn.has(e)||e.startsWith("origin")||(t||a!==void 0)&&(!!Lu[e]||e==="opacity")}function Ah(e,t,a){var o;const s=e.style,n=t==null?void 0:t.style,r={};if(!s)return r;for(const l in s)(De(s[l])||n&&De(n[l])||I1(l,e)||((o=a==null?void 0:a.getValue(l))==null?void 0:o.liveStyle)!==void 0)&&(r[l]=s[l]);return r}function PT(e){return window.getComputedStyle(e)}class jT extends L1{constructor(){super(...arguments),this.type="html",this.renderInstance=_1}readValueFromInstance(t,a){var s;if(Zn.has(a))return(s=this.projection)!=null&&s.isProjecting?bu(a):q5(t,a);{const n=PT(t),r=(Kw(a)?n.getPropertyValue(a):n[a])||0;return typeof r=="string"?r.trim():r}}measureInstanceViewportBox(t,{transformPagePoint:a}){return F1(t,a)}build(t,a,s){Sh(t,a,s.transformTemplate)}scrapeMotionValuesFromProps(t,a,s){return Ah(t,a,s)}}const CT={offset:"stroke-dashoffset",array:"stroke-dasharray"},NT={offset:"strokeDashoffset",array:"strokeDasharray"};function kT(e,t,a=1,s=0,n=!0){e.pathLength=1;const r=n?CT:NT;e[r.offset]=`${-s}`,e[r.array]=`${t} ${a}`}const ST=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function q1(e,{attrX:t,attrY:a,attrScale:s,pathLength:n,pathSpacing:r=1,pathOffset:o=0,...l},c,d,u){if(Sh(e,l,d),c){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:p,style:h}=e;p.transform&&(h.transform=p.transform,delete p.transform),(h.transform||p.transformOrigin)&&(h.transformOrigin=p.transformOrigin??"50% 50%",delete p.transformOrigin),h.transform&&(h.transformBox=(u==null?void 0:u.transformBox)??"fill-box",delete p.transformBox);for(const f of ST)p[f]!==void 0&&(h[f]=p[f],delete p[f]);t!==void 0&&(p.x=t),a!==void 0&&(p.y=a),s!==void 0&&(p.scale=s),n!==void 0&&kT(p,n,r,o,!1)}const B1=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]),$1=e=>typeof e=="string"&&e.toLowerCase()==="svg";function AT(e,t,a,s){_1(e,t,void 0,s);for(const n in t.attrs)e.setAttribute(B1.has(n)?n:wh(n),t.attrs[n])}function W1(e,t,a){const s=Ah(e,t,a);for(const n in e)if(De(e[n])||De(t[n])){const r=Xn.indexOf(n)!==-1?"attr"+n.charAt(0).toUpperCase()+n.substring(1):n;s[r]=e[n]}return s}class TT extends L1{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=we}getBaseTargetFromProps(t,a){return t[a]}readValueFromInstance(t,a){if(Zn.has(a)){const s=C1(a);return s&&s.default||0}return a=B1.has(a)?a:wh(a),t.getAttribute(a)}scrapeMotionValuesFromProps(t,a,s){return W1(t,a,s)}build(t,a,s){q1(t,a,this.isSVGTag,s.transformTemplate,s.style)}renderInstance(t,a,s,n){AT(t,a,s,n)}mount(t){this.isSVGTag=$1(t.tagName),super.mount(t)}}const ET=kh.length;function U1(e){if(!e)return;if(!e.isControllingVariants){const a=e.parent?U1(e.parent)||{}:{};return e.props.initial!==void 0&&(a.initial=e.props.initial),a}const t={};for(let a=0;a<ET;a++){const s=kh[a],n=e.props[s];(ii(n)||n===!1)&&(t[s]=n)}return t}function Q1(e,t){if(!Array.isArray(t))return!1;const a=t.length;if(a!==e.length)return!1;for(let s=0;s<a;s++)if(t[s]!==e[s])return!1;return!0}const RT=[...Nh].reverse(),DT=Nh.length;function MT(e){return t=>Promise.all(t.map(({animation:a,options:s})=>TA(e,a,s)))}function OT(e){let t=MT(e),a=Pg(),s=!0,n=!1;const r=d=>(u,p)=>{var f;const h=zs(e,p,d==="exit"?(f=e.presenceContext)==null?void 0:f.custom:void 0);if(h){const{transition:y,transitionEnd:v,...b}=h;u={...u,...b,...v}}return u};function o(d){t=d(e)}function l(d){const{props:u}=e,p=U1(e.parent)||{},h=[],f=new Set;let y={},v=1/0;for(let g=0;g<DT;g++){const m=RT[g],x=a[m],P=u[m]!==void 0?u[m]:p[m],j=ii(P),C=m===d?x.isActive:null;C===!1&&(v=g);let N=P===p[m]&&P!==u[m]&&j;if(N&&(s||n)&&e.manuallyAnimateOnMount&&(N=!1),x.protectedKeys={...y},!x.isActive&&C===null||!P&&!x.prevProp||Ql(P)||typeof P=="boolean")continue;if(m==="exit"&&x.isActive&&C!==!0){x.prevResolvedValues&&(y={...y,...x.prevResolvedValues});continue}const k=LT(x.prevProp,P);let R=k||m===d&&x.isActive&&!N&&j||g>v&&j,T=!1;const H=Array.isArray(P)?P:[P];let O=H.reduce(r(m),{});C===!1&&(O={});const{prevResolvedValues:U={}}=x,M={...U,...O},Q=S=>{R=!0,f.has(S)&&(T=!0,f.delete(S)),x.needsAnimating[S]=!0;const D=e.getValue(S);D&&(D.liveStyle=!1)};for(const S in M){const D=O[S],V=U[S];if(y.hasOwnProperty(S))continue;let W=!1;Su(D)&&Su(V)?W=!Q1(D,V):W=D!==V,W?D!=null?Q(S):f.add(S):D!==void 0&&f.has(S)?Q(S):x.protectedKeys[S]=!0}x.prevProp=P,x.prevResolvedValues=O,x.isActive&&(y={...y,...O}),(s||n)&&e.blockInitialAnimation&&(R=!1);const I=N&&k;R&&(!I||T)&&h.push(...H.map(S=>{const D={type:m};if(typeof S=="string"&&(s||n)&&!I&&e.manuallyAnimateOnMount&&e.parent){const{parent:V}=e,W=zs(V,S);if(V.enteringChildren&&W){const{delayChildren:te}=W.transition||{};D.delay=m1(V.enteringChildren,e,te)}}return{animation:S,options:D}}))}if(f.size){const g={};if(typeof u.initial!="boolean"){const m=zs(e,Array.isArray(u.initial)?u.initial[0]:u.initial);m&&m.transition&&(g.transition=m.transition)}f.forEach(m=>{const x=e.getBaseTarget(m),P=e.getValue(m);P&&(P.liveStyle=!0),g[m]=x??null}),h.push({animation:g})}let b=!!h.length;return s&&(u.initial===!1||u.initial===u.animate)&&!e.manuallyAnimateOnMount&&(b=!1),s=!1,n=!1,b?t(h):Promise.resolve()}function c(d,u){var h;if(a[d].isActive===u)return Promise.resolve();(h=e.variantChildren)==null||h.forEach(f=>{var y;return(y=f.animationState)==null?void 0:y.setActive(d,u)}),a[d].isActive=u;const p=l(d);for(const f in a)a[f].protectedKeys={};return p}return{animateChanges:l,setActive:c,setAnimateFunction:o,getState:()=>a,reset:()=>{a=Pg(),n=!0}}}function LT(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!Q1(t,e):!1}function gs(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Pg(){return{animate:gs(!0),whileInView:gs(),whileHover:gs(),whileTap:gs(),whileDrag:gs(),whileFocus:gs(),exit:gs()}}function zu(e,t){e.min=t.min,e.max=t.max}function Nt(e,t){zu(e.x,t.x),zu(e.y,t.y)}function jg(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}const G1=1e-4,zT=1-G1,HT=1+G1,K1=.01,VT=0-K1,FT=0+K1;function We(e){return e.max-e.min}function _T(e,t,a){return Math.abs(e-t)<=a}function Cg(e,t,a,s=.5){e.origin=s,e.originPoint=re(t.min,t.max,e.origin),e.scale=We(a)/We(t),e.translate=re(a.min,a.max,e.origin)-e.originPoint,(e.scale>=zT&&e.scale<=HT||isNaN(e.scale))&&(e.scale=1),(e.translate>=VT&&e.translate<=FT||isNaN(e.translate))&&(e.translate=0)}function Mr(e,t,a,s){Cg(e.x,t.x,a.x,s?s.originX:void 0),Cg(e.y,t.y,a.y,s?s.originY:void 0)}function Ng(e,t,a,s=0){const n=s?re(a.min,a.max,s):a.min;e.min=n+t.min,e.max=e.min+We(t)}function IT(e,t,a,s){Ng(e.x,t.x,a.x,s==null?void 0:s.x),Ng(e.y,t.y,a.y,s==null?void 0:s.y)}function kg(e,t,a,s=0){const n=s?re(a.min,a.max,s):a.min;e.min=t.min-n,e.max=e.min+We(t)}function fl(e,t,a,s){kg(e.x,t.x,a.x,s==null?void 0:s.x),kg(e.y,t.y,a.y,s==null?void 0:s.y)}function Sg(e,t,a,s,n){return e-=t,e=hl(e,1/a,s),n!==void 0&&(e=hl(e,1/n,s)),e}function qT(e,t=0,a=1,s=.5,n,r=e,o=e){if(ea.test(t)&&(t=parseFloat(t),t=re(o.min,o.max,t/100)-o.min),typeof t!="number")return;let l=re(r.min,r.max,s);e===r&&(l-=t),e.min=Sg(e.min,t,a,l,n),e.max=Sg(e.max,t,a,l,n)}function Ag(e,t,[a,s,n],r,o){qT(e,t[a],t[s],t[n],t.scale,r,o)}const BT=["x","scaleX","originX"],$T=["y","scaleY","originY"];function Tg(e,t,a,s){Ag(e.x,t,BT,a?a.x:void 0,s?s.x:void 0),Ag(e.y,t,$T,a?a.y:void 0,s?s.y:void 0)}function Eg(e){return e.translate===0&&e.scale===1}function Y1(e){return Eg(e.x)&&Eg(e.y)}function Rg(e,t){return e.min===t.min&&e.max===t.max}function WT(e,t){return Rg(e.x,t.x)&&Rg(e.y,t.y)}function Dg(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function X1(e,t){return Dg(e.x,t.x)&&Dg(e.y,t.y)}function Mg(e){return We(e.x)/We(e.y)}function Og(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}function Bt(e){return[e("x"),e("y")]}function UT(e,t,a){let s="";const n=e.x.translate/t.x,r=e.y.translate/t.y,o=(a==null?void 0:a.z)||0;if((n||r||o)&&(s=`translate3d(${n}px, ${r}px, ${o}px) `),(t.x!==1||t.y!==1)&&(s+=`scale(${1/t.x}, ${1/t.y}) `),a){const{transformPerspective:d,rotate:u,rotateX:p,rotateY:h,skewX:f,skewY:y}=a;d&&(s=`perspective(${d}px) ${s}`),u&&(s+=`rotate(${u}deg) `),p&&(s+=`rotateX(${p}deg) `),h&&(s+=`rotateY(${h}deg) `),f&&(s+=`skewX(${f}deg) `),y&&(s+=`skewY(${y}deg) `)}const l=e.x.scale*t.x,c=e.y.scale*t.y;return(l!==1||c!==1)&&(s+=`scale(${l}, ${c})`),s||"none"}const Z1=["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"],QT=Z1.length,Lg=e=>typeof e=="string"?parseFloat(e):e,zg=e=>typeof e=="number"||z.test(e);function GT(e,t,a,s,n,r){n?(e.opacity=re(0,a.opacity??1,KT(s)),e.opacityExit=re(t.opacity??1,0,YT(s))):r&&(e.opacity=re(t.opacity??1,a.opacity??1,s));for(let o=0;o<QT;o++){const l=Z1[o];let c=Hg(t,l),d=Hg(a,l);if(c===void 0&&d===void 0)continue;c||(c=0),d||(d=0),c===0||d===0||zg(c)===zg(d)?(e[l]=Math.max(re(Lg(c),Lg(d),s),0),(ea.test(d)||ea.test(c))&&(e[l]+="%")):e[l]=d}(t.rotate||a.rotate)&&(e.rotate=re(t.rotate||0,a.rotate||0,s))}function Hg(e,t){return e[t]!==void 0?e[t]:e.borderRadius}const KT=J1(0,.5,Bw),YT=J1(.5,.95,vt);function J1(e,t,a){return s=>s<e?0:s>t?1:a(ni(e,t,s))}function XT(e,t,a){const s=De(e)?e:In(e);return s.start(yh("",s,t,a)),s.animation}function oi(e,t,a,s={passive:!0}){return e.addEventListener(t,a,s),()=>e.removeEventListener(t,a)}const ZT=(e,t)=>e.depth-t.depth;class JT{constructor(){this.children=[],this.isDirty=!1}add(t){rh(this.children,t),this.isDirty=!0}remove(t){ol(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(ZT),this.isDirty=!1,this.children.forEach(t)}}function eE(e,t){const a=$e.now(),s=({timestamp:n})=>{const r=n-a;r>=t&&(os(s),e(r-t))};return ee.setup(s,!0),()=>os(s)}function ko(e){return De(e)?e.get():e}class tE{constructor(){this.members=[]}add(t){rh(this.members,t);for(let a=this.members.length-1;a>=0;a--){const s=this.members[a];if(s===t||s===this.lead||s===this.prevLead)continue;const n=s.instance;(!n||n.isConnected===!1)&&!s.snapshot&&(ol(this.members,s),s.unmount())}t.scheduleRender()}remove(t){if(ol(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const a=this.members[this.members.length-1];a&&this.promote(a)}}relegate(t){var a;for(let s=this.members.indexOf(t)-1;s>=0;s--){const n=this.members[s];if(n.isPresent!==!1&&((a=n.instance)==null?void 0:a.isConnected)!==!1)return this.promote(n),!0}return!1}promote(t,a){var n;const s=this.lead;if(t!==s&&(this.prevLead=s,this.lead=t,t.show(),s)){s.updateSnapshot(),t.scheduleRender();const{layoutDependency:r}=s.options,{layoutDependency:o}=t.options;(r===void 0||r!==o)&&(t.resumeFrom=s,a&&(s.preserveOpacity=!0),s.snapshot&&(t.snapshot=s.snapshot,t.snapshot.latestValues=s.animationValues||s.latestValues),(n=t.root)!=null&&n.isUpdating&&(t.isLayoutDirty=!0)),t.options.crossfade===!1&&s.hide()}}exitAnimationComplete(){this.members.forEach(t=>{var a,s,n,r,o;(s=(a=t.options).onExitComplete)==null||s.call(a),(o=(n=t.resumingFrom)==null?void 0:(r=n.options).onExitComplete)==null||o.call(r)})}scheduleRender(){this.members.forEach(t=>t.instance&&t.scheduleRender(!1))}removeLeadSnapshot(){var t;(t=this.lead)!=null&&t.snapshot&&(this.lead.snapshot=void 0)}}const So={hasAnimatedSinceResize:!0,hasEverUpdated:!1},qc=["","X","Y","Z"],aE=1e3;let sE=0;function Bc(e,t,a,s){const{latestValues:n}=t;n[e]&&(a[e]=n[e],t.setStaticValue(e,0),s&&(s[e]=0))}function eb(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const a=w1(t);if(window.MotionHasOptimisedAnimation(a,"transform")){const{layout:n,layoutId:r}=e.options;window.MotionCancelOptimisedAnimation(a,"transform",ee,!(n||r))}const{parent:s}=e;s&&!s.hasCheckedOptimisedAppear&&eb(s)}function tb({attachResizeListener:e,defaultParent:t,measureScroll:a,checkIsScrollRoot:s,resetTransform:n}){return class{constructor(o={},l=t==null?void 0:t()){this.id=sE++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(iE),this.nodes.forEach(pE),this.nodes.forEach(hE),this.nodes.forEach(oE)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=o,this.root=l?l.root||l:this,this.path=l?[...l.path,l]:[],this.parent=l,this.depth=l?l.depth+1:0;for(let c=0;c<this.path.length;c++)this.path[c].shouldResetTransform=!0;this.root===this&&(this.nodes=new JT)}addEventListener(o,l){return this.eventHandlers.has(o)||this.eventHandlers.set(o,new oh),this.eventHandlers.get(o).add(l)}notifyListeners(o,...l){const c=this.eventHandlers.get(o);c&&c.notify(...l)}hasListeners(o){return this.eventHandlers.has(o)}mount(o){if(this.instance)return;this.isSVG=Ch(o)&&!rT(o),this.instance=o;const{layoutId:l,layout:c,visualElement:d}=this.options;if(d&&!d.current&&d.mount(o),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(c||l)&&(this.isLayoutDirty=!0),e){let u,p=0;const h=()=>this.root.updateBlockedByResize=!1;ee.read(()=>{p=window.innerWidth}),e(o,()=>{const f=window.innerWidth;f!==p&&(p=f,this.root.updateBlockedByResize=!0,u&&u(),u=eE(h,250),So.hasAnimatedSinceResize&&(So.hasAnimatedSinceResize=!1,this.nodes.forEach(_g)))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&d&&(l||c)&&this.addEventListener("didUpdate",({delta:u,hasLayoutChanged:p,hasRelativeLayoutChanged:h,layout:f})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const y=this.options.transition||d.getDefaultTransition()||yE,{onLayoutAnimationStart:v,onLayoutAnimationComplete:b}=d.getProps(),g=!this.targetLayout||!X1(this.targetLayout,f),m=!p&&h;if(this.options.layoutRoot||this.resumeFrom||m||p&&(g||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const x={...xh(y,"layout"),onPlay:v,onComplete:b};(d.shouldReduceMotion||this.options.layoutRoot)&&(x.delay=0,x.type=!1),this.startAnimation(x),this.setAnimationOrigin(u,m)}else p||_g(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=f})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const o=this.getStack();o&&o.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),os(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(fE),this.animationId++)}getTransformTemplate(){const{visualElement:o}=this.options;return o&&o.getProps().transformTemplate}willUpdate(o=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&eb(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let u=0;u<this.path.length;u++){const p=this.path[u];p.shouldResetTransform=!0,(typeof p.latestValues.x=="string"||typeof p.latestValues.y=="string")&&(p.isLayoutDirty=!0),p.updateScroll("snapshot"),p.options.layoutRoot&&p.willUpdate(!1)}const{layoutId:l,layout:c}=this.options;if(l===void 0&&!c)return;const d=this.getTransformTemplate();this.prevTransformTemplateValue=d?d(this.latestValues,""):void 0,this.updateSnapshot(),o&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){const c=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),c&&this.nodes.forEach(cE),this.nodes.forEach(Vg);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(Fg);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(dE),this.nodes.forEach(uE),this.nodes.forEach(nE),this.nodes.forEach(rE)):this.nodes.forEach(Fg),this.clearAllSnapshots();const l=$e.now();Ee.delta=ta(0,1e3/60,l-Ee.timestamp),Ee.timestamp=l,Ee.isProcessing=!0,Oc.update.process(Ee),Oc.preRender.process(Ee),Oc.render.process(Ee),Ee.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,Ph.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(lE),this.sharedNodes.forEach(mE)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,ee.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){ee.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!We(this.snapshot.measuredBox.x)&&!We(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let c=0;c<this.path.length;c++)this.path[c].updateScroll();const o=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||(this.layoutCorrected=we()),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:l}=this.options;l&&l.notify("LayoutMeasure",this.layout.layoutBox,o?o.layoutBox:void 0)}updateScroll(o="measure"){let l=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===o&&(l=!1),l&&this.instance){const c=s(this.instance);this.scroll={animationId:this.root.animationId,phase:o,isRoot:c,offset:a(this.instance),wasRoot:this.scroll?this.scroll.isRoot:c}}}resetTransform(){if(!n)return;const o=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,l=this.projectionDelta&&!Y1(this.projectionDelta),c=this.getTransformTemplate(),d=c?c(this.latestValues,""):void 0,u=d!==this.prevTransformTemplateValue;o&&this.instance&&(l||vs(this.latestValues)||u)&&(n(this.instance,d),this.shouldResetTransform=!1,this.scheduleRender())}measure(o=!0){const l=this.measurePageBox();let c=this.removeElementScroll(l);return o&&(c=this.removeTransform(c)),vE(c),{animationId:this.root.animationId,measuredBox:l,layoutBox:c,latestValues:{},source:this.id}}measurePageBox(){var d;const{visualElement:o}=this.options;if(!o)return we();const l=o.measureViewportBox();if(!(((d=this.scroll)==null?void 0:d.wasRoot)||this.path.some(wE))){const{scroll:u}=this.root;u&&(Qt(l.x,u.offset.x),Qt(l.y,u.offset.y))}return l}removeElementScroll(o){var c;const l=we();if(Nt(l,o),(c=this.scroll)!=null&&c.wasRoot)return l;for(let d=0;d<this.path.length;d++){const u=this.path[d],{scroll:p,options:h}=u;u!==this.root&&p&&h.layoutScroll&&(p.wasRoot&&Nt(l,o),Qt(l.x,p.offset.x),Qt(l.y,p.offset.y))}return l}applyTransform(o,l=!1,c){var u,p;const d=c||we();Nt(d,o);for(let h=0;h<this.path.length;h++){const f=this.path[h];!l&&f.options.layoutScroll&&f.scroll&&f!==f.root&&(Qt(d.x,-f.scroll.offset.x),Qt(d.y,-f.scroll.offset.y)),vs(f.latestValues)&&No(d,f.latestValues,(u=f.layout)==null?void 0:u.layoutBox)}return vs(this.latestValues)&&No(d,this.latestValues,(p=this.layout)==null?void 0:p.layoutBox),d}removeTransform(o){var c;const l=we();Nt(l,o);for(let d=0;d<this.path.length;d++){const u=this.path[d];if(!vs(u.latestValues))continue;let p;u.instance&&(Mu(u.latestValues)&&u.updateSnapshot(),p=we(),Nt(p,u.measurePageBox())),Tg(l,u.latestValues,(c=u.snapshot)==null?void 0:c.layoutBox,p)}return vs(this.latestValues)&&Tg(l,this.latestValues),l}setTargetDelta(o){this.targetDelta=o,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(o){this.options={...this.options,...o,crossfade:o.crossfade!==void 0?o.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==Ee.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(o=!1){var f;const l=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=l.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=l.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=l.isSharedProjectionDirty);const c=!!this.resumingFrom||this!==l;if(!(o||c&&this.isSharedProjectionDirty||this.isProjectionDirty||(f=this.parent)!=null&&f.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:u,layoutId:p}=this.options;if(!this.layout||!(u||p))return;this.resolvedRelativeTargetAt=Ee.timestamp;const h=this.getClosestProjectingParent();h&&this.linkedParentVersion!==h.layoutVersion&&!h.options.layoutRoot&&this.removeRelativeTarget(),!this.targetDelta&&!this.relativeTarget&&(this.options.layoutAnchor!==!1&&h&&h.layout?this.createRelativeTarget(h,this.layout.layoutBox,h.layout.layoutBox):this.removeRelativeTarget()),!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=we(),this.targetWithTransforms=we()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),IT(this.target,this.relativeTarget,this.relativeParent.target,this.options.layoutAnchor||void 0)):this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):Nt(this.target,this.layout.layoutBox),V1(this.target,this.targetDelta)):Nt(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,this.options.layoutAnchor!==!1&&h&&!!h.resumingFrom==!!this.resumingFrom&&!h.options.layoutScroll&&h.target&&this.animationProgress!==1?this.createRelativeTarget(h,this.target,h.target):this.relativeParent=this.relativeTarget=void 0))}getClosestProjectingParent(){if(!(!this.parent||Mu(this.parent.latestValues)||H1(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(o,l,c){this.relativeParent=o,this.linkedParentVersion=o.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=we(),this.relativeTargetOrigin=we(),fl(this.relativeTargetOrigin,l,c,this.options.layoutAnchor||void 0),Nt(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){var y;const o=this.getLead(),l=!!this.resumingFrom||this!==o;let c=!0;if((this.isProjectionDirty||(y=this.parent)!=null&&y.isProjectionDirty)&&(c=!1),l&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(c=!1),this.resolvedRelativeTargetAt===Ee.timestamp&&(c=!1),c)return;const{layout:d,layoutId:u}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(d||u))return;Nt(this.layoutCorrected,this.layout.layoutBox);const p=this.treeScale.x,h=this.treeScale.y;gT(this.layoutCorrected,this.treeScale,this.path,l),o.layout&&!o.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(o.target=o.layout.layoutBox,o.targetWithTransforms=we());const{target:f}=o;if(!f){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(jg(this.prevProjectionDelta.x,this.projectionDelta.x),jg(this.prevProjectionDelta.y,this.projectionDelta.y)),Mr(this.projectionDelta,this.layoutCorrected,f,this.latestValues),(this.treeScale.x!==p||this.treeScale.y!==h||!Og(this.projectionDelta.x,this.prevProjectionDelta.x)||!Og(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",f))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(o=!0){var l;if((l=this.options.visualElement)==null||l.scheduleRender(),o){const c=this.getStack();c&&c.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=un(),this.projectionDelta=un(),this.projectionDeltaWithTransform=un()}setAnimationOrigin(o,l=!1){const c=this.snapshot,d=c?c.latestValues:{},u={...this.latestValues},p=un();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!l;const h=we(),f=c?c.source:void 0,y=this.layout?this.layout.source:void 0,v=f!==y,b=this.getStack(),g=!b||b.members.length<=1,m=!!(v&&!g&&this.options.crossfade===!0&&!this.path.some(xE));this.animationProgress=0;let x;this.mixTargetDelta=P=>{const j=P/1e3;Ig(p.x,o.x,j),Ig(p.y,o.y,j),this.setTargetDelta(p),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(fl(h,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),gE(this.relativeTarget,this.relativeTargetOrigin,h,j),x&&WT(this.relativeTarget,x)&&(this.isProjectionDirty=!1),x||(x=we()),Nt(x,this.relativeTarget)),v&&(this.animationValues=u,GT(u,d,this.latestValues,j,m,g)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=j},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(o){var l,c,d;this.notifyListeners("animationStart"),(l=this.currentAnimation)==null||l.stop(),(d=(c=this.resumingFrom)==null?void 0:c.currentAnimation)==null||d.stop(),this.pendingAnimation&&(os(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=ee.update(()=>{So.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=In(0)),this.motionValue.jump(0,!1),this.currentAnimation=XT(this.motionValue,[0,1e3],{...o,velocity:0,isSync:!0,onUpdate:u=>{this.mixTargetDelta(u),o.onUpdate&&o.onUpdate(u)},onStop:()=>{},onComplete:()=>{o.onComplete&&o.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const o=this.getStack();o&&o.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(aE),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const o=this.getLead();let{targetWithTransforms:l,target:c,layout:d,latestValues:u}=o;if(!(!l||!c||!d)){if(this!==o&&this.layout&&d&&ab(this.options.animationType,this.layout.layoutBox,d.layoutBox)){c=this.target||we();const p=We(this.layout.layoutBox.x);c.x.min=o.target.x.min,c.x.max=c.x.min+p;const h=We(this.layout.layoutBox.y);c.y.min=o.target.y.min,c.y.max=c.y.min+h}Nt(l,c),No(l,u),Mr(this.projectionDeltaWithTransform,this.layoutCorrected,l,u)}}registerSharedNode(o,l){this.sharedNodes.has(o)||this.sharedNodes.set(o,new tE),this.sharedNodes.get(o).add(l);const d=l.options.initialPromotionConfig;l.promote({transition:d?d.transition:void 0,preserveFollowOpacity:d&&d.shouldPreserveFollowOpacity?d.shouldPreserveFollowOpacity(l):void 0})}isLead(){const o=this.getStack();return o?o.lead===this:!0}getLead(){var l;const{layoutId:o}=this.options;return o?((l=this.getStack())==null?void 0:l.lead)||this:this}getPrevLead(){var l;const{layoutId:o}=this.options;return o?(l=this.getStack())==null?void 0:l.prevLead:void 0}getStack(){const{layoutId:o}=this.options;if(o)return this.root.sharedNodes.get(o)}promote({needsReset:o,transition:l,preserveFollowOpacity:c}={}){const d=this.getStack();d&&d.promote(this,c),o&&(this.projectionDelta=void 0,this.needsReset=!0),l&&this.setOptions({transition:l})}relegate(){const o=this.getStack();return o?o.relegate(this):!1}resetSkewAndRotation(){const{visualElement:o}=this.options;if(!o)return;let l=!1;const{latestValues:c}=o;if((c.z||c.rotate||c.rotateX||c.rotateY||c.rotateZ||c.skewX||c.skewY)&&(l=!0),!l)return;const d={};c.z&&Bc("z",o,d,this.animationValues);for(let u=0;u<qc.length;u++)Bc(`rotate${qc[u]}`,o,d,this.animationValues),Bc(`skew${qc[u]}`,o,d,this.animationValues);o.render();for(const u in d)o.setStaticValue(u,d[u]),this.animationValues&&(this.animationValues[u]=d[u]);o.scheduleRender()}applyProjectionStyles(o,l){if(!this.instance||this.isSVG)return;if(!this.isVisible){o.visibility="hidden";return}const c=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,o.visibility="",o.opacity="",o.pointerEvents=ko(l==null?void 0:l.pointerEvents)||"",o.transform=c?c(this.latestValues,""):"none";return}const d=this.getLead();if(!this.projectionDelta||!this.layout||!d.target){this.options.layoutId&&(o.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,o.pointerEvents=ko(l==null?void 0:l.pointerEvents)||""),this.hasProjected&&!vs(this.latestValues)&&(o.transform=c?c({},""):"none",this.hasProjected=!1);return}o.visibility="";const u=d.animationValues||d.latestValues;this.applyTransformsToTarget();let p=UT(this.projectionDeltaWithTransform,this.treeScale,u);c&&(p=c(u,p)),o.transform=p;const{x:h,y:f}=this.projectionDelta;o.transformOrigin=`${h.origin*100}% ${f.origin*100}% 0`,d.animationValues?o.opacity=d===this?u.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:u.opacityExit:o.opacity=d===this?u.opacity!==void 0?u.opacity:"":u.opacityExit!==void 0?u.opacityExit:0;for(const y in Lu){if(u[y]===void 0)continue;const{correct:v,applyTo:b,isCSSVariable:g}=Lu[y],m=p==="none"?u[y]:v(u[y],d);if(b){const x=b.length;for(let P=0;P<x;P++)o[b[P]]=m}else g?this.options.visualElement.renderState.vars[y]=m:o[y]=m}this.options.layoutId&&(o.pointerEvents=d===this?ko(l==null?void 0:l.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(o=>{var l;return(l=o.currentAnimation)==null?void 0:l.stop()}),this.root.nodes.forEach(Vg),this.root.sharedNodes.clear()}}}function nE(e){e.updateLayout()}function rE(e){var a;const t=((a=e.resumeFrom)==null?void 0:a.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners("didUpdate")){const{layoutBox:s,measuredBox:n}=e.layout,{animationType:r}=e.options,o=t.source!==e.layout.source;if(r==="size")Bt(p=>{const h=o?t.measuredBox[p]:t.layoutBox[p],f=We(h);h.min=s[p].min,h.max=h.min+f});else if(r==="x"||r==="y"){const p=r==="x"?"y":"x";zu(o?t.measuredBox[p]:t.layoutBox[p],s[p])}else ab(r,t.layoutBox,s)&&Bt(p=>{const h=o?t.measuredBox[p]:t.layoutBox[p],f=We(s[p]);h.max=h.min+f,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[p].max=e.relativeTarget[p].min+f)});const l=un();Mr(l,s,t.layoutBox);const c=un();o?Mr(c,e.applyTransform(n,!0),t.measuredBox):Mr(c,s,t.layoutBox);const d=!Y1(l);let u=!1;if(!e.resumeFrom){const p=e.getClosestProjectingParent();if(p&&!p.resumeFrom){const{snapshot:h,layout:f}=p;if(h&&f){const y=e.options.layoutAnchor||void 0,v=we();fl(v,t.layoutBox,h.layoutBox,y);const b=we();fl(b,s,f.layoutBox,y),X1(v,b)||(u=!0),p.options.layoutRoot&&(e.relativeTarget=b,e.relativeTargetOrigin=v,e.relativeParent=p)}}}e.notifyListeners("didUpdate",{layout:s,snapshot:t,delta:c,layoutDelta:l,hasLayoutChanged:d,hasRelativeLayoutChanged:u})}else if(e.isLead()){const{onExitComplete:s}=e.options;s&&s()}e.options.transition=void 0}function iE(e){e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function oE(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function lE(e){e.clearSnapshot()}function Vg(e){e.clearMeasurements()}function cE(e){e.isLayoutDirty=!0,e.updateLayout()}function Fg(e){e.isLayoutDirty=!1}function dE(e){e.isAnimationBlocked&&e.layout&&!e.isLayoutDirty&&(e.snapshot=e.layout,e.isLayoutDirty=!0)}function uE(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function _g(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function pE(e){e.resolveTargetDelta()}function hE(e){e.calcProjection()}function fE(e){e.resetSkewAndRotation()}function mE(e){e.removeLeadSnapshot()}function Ig(e,t,a){e.translate=re(t.translate,0,a),e.scale=re(t.scale,1,a),e.origin=t.origin,e.originPoint=t.originPoint}function qg(e,t,a,s){e.min=re(t.min,a.min,s),e.max=re(t.max,a.max,s)}function gE(e,t,a,s){qg(e.x,t.x,a.x,s),qg(e.y,t.y,a.y,s)}function xE(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const yE={duration:.45,ease:[.4,0,.1,1]},Bg=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),$g=Bg("applewebkit/")&&!Bg("chrome/")?Math.round:vt;function Wg(e){e.min=$g(e.min),e.max=$g(e.max)}function vE(e){Wg(e.x),Wg(e.y)}function ab(e,t,a){return e==="position"||e==="preserve-aspect"&&!_T(Mg(t),Mg(a),.2)}function wE(e){var t;return e!==e.root&&((t=e.scroll)==null?void 0:t.wasRoot)}const bE=tb({attachResizeListener:(e,t)=>oi(e,"resize",t),measureScroll:()=>{var e,t;return{x:document.documentElement.scrollLeft||((e=document.body)==null?void 0:e.scrollLeft)||0,y:document.documentElement.scrollTop||((t=document.body)==null?void 0:t.scrollTop)||0}},checkIsScrollRoot:()=>!0}),$c={current:void 0},sb=tb({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!$c.current){const e=new bE({});e.mount(window),e.setOptions({layoutScroll:!0}),$c.current=e}return $c.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),nb=w.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});function PE(e=!0){const t=w.useContext(nh);if(t===null)return[!0,null];const{isPresent:a,onExitComplete:s,register:n}=t,r=w.useId();w.useEffect(()=>{if(e)return n(r)},[e]);const o=w.useCallback(()=>e&&s&&s(r),[r,s,e]);return!a&&s?[!1,o]:[!0]}const rb=w.createContext({strict:!1}),Ug={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]};let Qg=!1;function jE(){if(Qg)return;const e={};for(const t in Ug)e[t]={isEnabled:a=>Ug[t].some(s=>!!a[s])};O1(e),Qg=!0}function ib(){return jE(),pT()}function CE(e){const t=ib();for(const a in e)t[a]={...t[a],...e[a]};O1(t)}const NE=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function ml(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||NE.has(e)}let ob=e=>!ml(e);function kE(e){typeof e=="function"&&(ob=t=>t.startsWith("on")?!ml(t):e(t))}try{kE(require("@emotion/is-prop-valid").default)}catch{}function SE(e,t,a){const s={};for(const n in e)n==="values"&&typeof e.values=="object"||De(e[n])||(ob(n)||a===!0&&ml(n)||!t&&!ml(n)||e.draggable&&n.startsWith("onDrag"))&&(s[n]=e[n]);return s}const Kl=w.createContext({});function AE(e,t){if(Gl(e)){const{initial:a,animate:s}=e;return{initial:a===!1||ii(a)?a:void 0,animate:ii(s)?s:void 0}}return e.inherit!==!1?t:{}}function TE(e){const{initial:t,animate:a}=AE(e,w.useContext(Kl));return w.useMemo(()=>({initial:t,animate:a}),[Gg(t),Gg(a)])}function Gg(e){return Array.isArray(e)?e.join(" "):e}const Th=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function lb(e,t,a){for(const s in t)!De(t[s])&&!I1(s,a)&&(e[s]=t[s])}function EE({transformTemplate:e},t){return w.useMemo(()=>{const a=Th();return Sh(a,t,e),Object.assign({},a.vars,a.style)},[t])}function RE(e,t){const a=e.style||{},s={};return lb(s,a,e),Object.assign(s,EE(e,t)),s}function DE(e,t){const a={},s=RE(e,t);return e.drag&&e.dragListener!==!1&&(a.draggable=!1,s.userSelect=s.WebkitUserSelect=s.WebkitTouchCallout="none",s.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(a.tabIndex=0),a.style=s,a}const cb=()=>({...Th(),attrs:{}});function ME(e,t,a,s){const n=w.useMemo(()=>{const r=cb();return q1(r,t,$1(s),e.transformTemplate,e.style),{...r.attrs,style:{...r.style}}},[t]);if(e.style){const r={};lb(r,e.style,e),n.style={...r,...n.style}}return n}const OE=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function Eh(e){return typeof e!="string"||e.includes("-")?!1:!!(OE.indexOf(e)>-1||/[A-Z]/u.test(e))}function LE(e,t,a,{latestValues:s},n,r=!1,o){const c=(o??Eh(e)?ME:DE)(t,s,n,e),d=SE(t,typeof e=="string",r),u=e!==w.Fragment?{...d,...c,ref:a}:{},{children:p}=t,h=w.useMemo(()=>De(p)?p.get():p,[p]);return w.createElement(e,{...u,children:h})}function zE({scrapeMotionValuesFromProps:e,createRenderState:t},a,s,n){return{latestValues:HE(a,s,n,e),renderState:t()}}function HE(e,t,a,s){const n={},r=s(e,{});for(const h in r)n[h]=ko(r[h]);let{initial:o,animate:l}=e;const c=Gl(e),d=D1(e);t&&d&&!c&&e.inherit!==!1&&(o===void 0&&(o=t.initial),l===void 0&&(l=t.animate));let u=a?a.initial===!1:!1;u=u||o===!1;const p=u?l:o;if(p&&typeof p!="boolean"&&!Ql(p)){const h=Array.isArray(p)?p:[p];for(let f=0;f<h.length;f++){const y=vh(e,h[f]);if(y){const{transitionEnd:v,transition:b,...g}=y;for(const m in g){let x=g[m];if(Array.isArray(x)){const P=u?x.length-1:0;x=x[P]}x!==null&&(n[m]=x)}for(const m in v)n[m]=v[m]}}}return n}const db=e=>(t,a)=>{const s=w.useContext(Kl),n=w.useContext(nh),r=()=>zE(e,t,s,n);return a?r():O6(r)},VE=db({scrapeMotionValuesFromProps:Ah,createRenderState:Th}),FE=db({scrapeMotionValuesFromProps:W1,createRenderState:cb}),_E=Symbol.for("motionComponentSymbol");function IE(e,t,a){const s=w.useRef(a);w.useInsertionEffect(()=>{s.current=a});const n=w.useRef(null);return w.useCallback(r=>{var l;r&&((l=e.onMount)==null||l.call(e,r));const o=s.current;if(typeof o=="function")if(r){const c=o(r);typeof c=="function"&&(n.current=c)}else n.current?(n.current(),n.current=null):o(r);else o&&(o.current=r);t&&(r?t.mount(r):t.unmount())},[t])}const ub=w.createContext({});function Ks(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function qE(e,t,a,s,n,r){var x,P;const{visualElement:o}=w.useContext(Kl),l=w.useContext(rb),c=w.useContext(nh),d=w.useContext(nb),u=d.reducedMotion,p=d.skipAnimations,h=w.useRef(null),f=w.useRef(!1);s=s||l.renderer,!h.current&&s&&(h.current=s(e,{visualState:t,parent:o,props:a,presenceContext:c,blockInitialAnimation:c?c.initial===!1:!1,reducedMotionConfig:u,skipAnimations:p,isSVG:r}),f.current&&h.current&&(h.current.manuallyAnimateOnMount=!0));const y=h.current,v=w.useContext(ub);y&&!y.projection&&n&&(y.type==="html"||y.type==="svg")&&BE(h.current,a,n,v);const b=w.useRef(!1);w.useInsertionEffect(()=>{y&&b.current&&y.update(a,c)});const g=a[v1],m=w.useRef(!!g&&typeof window<"u"&&!((x=window.MotionHandoffIsComplete)!=null&&x.call(window,g))&&((P=window.MotionHasOptimisedAnimation)==null?void 0:P.call(window,g)));return z6(()=>{f.current=!0,y&&(b.current=!0,window.MotionIsMounted=!0,y.updateFeatures(),y.scheduleRenderMicrotask(),m.current&&y.animationState&&y.animationState.animateChanges())}),w.useEffect(()=>{y&&(!m.current&&y.animationState&&y.animationState.animateChanges(),m.current&&(queueMicrotask(()=>{var j;(j=window.MotionHandoffMarkAsComplete)==null||j.call(window,g)}),m.current=!1),y.enteringChildren=void 0)}),y}function BE(e,t,a,s){const{layoutId:n,layout:r,drag:o,dragConstraints:l,layoutScroll:c,layoutRoot:d,layoutAnchor:u,layoutCrossfade:p}=t;e.projection=new a(e.latestValues,t["data-framer-portal-id"]?void 0:pb(e.parent)),e.projection.setOptions({layoutId:n,layout:r,alwaysMeasureLayout:!!o||l&&Ks(l),visualElement:e,animationType:typeof r=="string"?r:"both",initialPromotionConfig:s,crossfade:p,layoutScroll:c,layoutRoot:d,layoutAnchor:u})}function pb(e){if(e)return e.options.allowProjection!==!1?e.projection:pb(e.parent)}function Wc(e,{forwardMotionProps:t=!1,type:a}={},s,n){s&&CE(s);const r=a?a==="svg":Eh(e),o=r?FE:VE;function l(d,u){let p;const h={...w.useContext(nb),...d,layoutId:$E(d)},{isStatic:f}=h,y=TE(d),v=o(d,f);if(!f&&typeof window<"u"){WE();const b=UE(h);p=b.MeasureLayout,y.visualElement=qE(e,v,h,n,b.ProjectionNode,r)}return i.jsxs(Kl.Provider,{value:y,children:[p&&y.visualElement?i.jsx(p,{visualElement:y.visualElement,...h}):null,LE(e,d,IE(v,y.visualElement,u),v,f,t,r)]})}l.displayName=`motion.${typeof e=="string"?e:`create(${e.displayName??e.name??""})`}`;const c=w.forwardRef(l);return c[_E]=e,c}function $E({layoutId:e}){const t=w.useContext(Rw).id;return t&&e!==void 0?t+"-"+e:e}function WE(e,t){w.useContext(rb).strict}function UE(e){const t=ib(),{drag:a,layout:s}=t;if(!a&&!s)return{};const n={...a,...s};return{MeasureLayout:a!=null&&a.isEnabled(e)||s!=null&&s.isEnabled(e)?n.MeasureLayout:void 0,ProjectionNode:n.ProjectionNode}}function QE(e,t){if(typeof Proxy>"u")return Wc;const a=new Map,s=(r,o)=>Wc(r,o,e,t),n=(r,o)=>s(r,o);return new Proxy(n,{get:(r,o)=>o==="create"?s:(a.has(o)||a.set(o,Wc(o,void 0,e,t)),a.get(o))})}const GE=(e,t)=>t.isSVG??Eh(e)?new TT(t):new jT(t,{allowProjection:e!==w.Fragment});class KE extends hs{constructor(t){super(t),t.animationState||(t.animationState=OT(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();Ql(t)&&(this.unmountControls=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:a}=this.node.prevProps||{};t!==a&&this.updateAnimationControlsSubscription()}unmount(){var t;this.node.animationState.reset(),(t=this.unmountControls)==null||t.call(this)}}let YE=0;class XE extends hs{constructor(){super(...arguments),this.id=YE++,this.isExitComplete=!1}update(){var r;if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:a}=this.node.presenceContext,{isPresent:s}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===s)return;if(t&&s===!1){if(this.isExitComplete){const{initial:o,custom:l}=this.node.getProps();if(typeof o=="string"){const c=zs(this.node,o,l);if(c){const{transition:d,transitionEnd:u,...p}=c;for(const h in p)(r=this.node.getValue(h))==null||r.jump(p[h])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1;return}const n=this.node.animationState.setActive("exit",!t);a&&!t&&n.then(()=>{this.isExitComplete=!0,a(this.id)})}mount(){const{register:t,onExitComplete:a}=this.node.presenceContext||{};a&&a(this.id),t&&(this.unmount=t(this.id))}unmount(){}}const ZE={animation:{Feature:KE},exit:{Feature:XE}};function Ni(e){return{point:{x:e.pageX,y:e.pageY}}}const JE=e=>t=>jh(t)&&e(t,Ni(t));function Or(e,t,a,s){return oi(e,t,JE(a),s)}const hb=({current:e})=>e?e.ownerDocument.defaultView:null,Kg=(e,t)=>Math.abs(e-t);function e8(e,t){const a=Kg(e.x,t.x),s=Kg(e.y,t.y);return Math.sqrt(a**2+s**2)}const Yg=new Set(["auto","scroll"]);class fb{constructor(t,a,{transformPagePoint:s,contextWindow:n=window,dragSnapToOrigin:r=!1,distanceThreshold:o=3,element:l}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=f=>{this.handleScroll(f.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=Zi(this.lastRawMoveEventInfo,this.transformPagePoint));const f=Uc(this.lastMoveEventInfo,this.history),y=this.startEvent!==null,v=e8(f.offset,{x:0,y:0})>=this.distanceThreshold;if(!y&&!v)return;const{point:b}=f,{timestamp:g}=Ee;this.history.push({...b,timestamp:g});const{onStart:m,onMove:x}=this.handlers;y||(m&&m(this.lastMoveEvent,f),this.startEvent=this.lastMoveEvent),x&&x(this.lastMoveEvent,f)},this.handlePointerMove=(f,y)=>{this.lastMoveEvent=f,this.lastRawMoveEventInfo=y,this.lastMoveEventInfo=Zi(y,this.transformPagePoint),ee.update(this.updatePoint,!0)},this.handlePointerUp=(f,y)=>{this.end();const{onEnd:v,onSessionEnd:b,resumeAnimation:g}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&g&&g(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const m=Uc(f.type==="pointercancel"?this.lastMoveEventInfo:Zi(y,this.transformPagePoint),this.history);this.startEvent&&v&&v(f,m),b&&b(f,m)},!jh(t))return;this.dragSnapToOrigin=r,this.handlers=a,this.transformPagePoint=s,this.distanceThreshold=o,this.contextWindow=n||window;const c=Ni(t),d=Zi(c,this.transformPagePoint),{point:u}=d,{timestamp:p}=Ee;this.history=[{...u,timestamp:p}];const{onSessionStart:h}=a;h&&h(t,Uc(d,this.history)),this.removeListeners=Pi(Or(this.contextWindow,"pointermove",this.handlePointerMove),Or(this.contextWindow,"pointerup",this.handlePointerUp),Or(this.contextWindow,"pointercancel",this.handlePointerUp)),l&&this.startScrollTracking(l)}startScrollTracking(t){let a=t.parentElement;for(;a;){const s=getComputedStyle(a);(Yg.has(s.overflowX)||Yg.has(s.overflowY))&&this.scrollPositions.set(a,{x:a.scrollLeft,y:a.scrollTop}),a=a.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(t){const a=this.scrollPositions.get(t);if(!a)return;const s=t===window,n=s?{x:window.scrollX,y:window.scrollY}:{x:t.scrollLeft,y:t.scrollTop},r={x:n.x-a.x,y:n.y-a.y};r.x===0&&r.y===0||(s?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=r.x,this.lastMoveEventInfo.point.y+=r.y):this.history.length>0&&(this.history[0].x-=r.x,this.history[0].y-=r.y),this.scrollPositions.set(t,n),ee.update(this.updatePoint,!0))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),os(this.updatePoint)}}function Zi(e,t){return t?{point:t(e.point)}:e}function Xg(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Uc({point:e},t){return{point:e,delta:Xg(e,mb(t)),offset:Xg(e,t8(t)),velocity:a8(t,.1)}}function t8(e){return e[0]}function mb(e){return e[e.length-1]}function a8(e,t){if(e.length<2)return{x:0,y:0};let a=e.length-1,s=null;const n=mb(e);for(;a>=0&&(s=e[a],!(n.timestamp-s.timestamp>ot(t)));)a--;if(!s)return{x:0,y:0};s===e[0]&&e.length>2&&n.timestamp-s.timestamp>ot(t)*2&&(s=e[1]);const r=xt(n.timestamp-s.timestamp);if(r===0)return{x:0,y:0};const o={x:(n.x-s.x)/r,y:(n.y-s.y)/r};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function s8(e,{min:t,max:a},s){return t!==void 0&&e<t?e=s?re(t,e,s.min):Math.max(e,t):a!==void 0&&e>a&&(e=s?re(a,e,s.max):Math.min(e,a)),e}function Zg(e,t,a){return{min:t!==void 0?e.min+t:void 0,max:a!==void 0?e.max+a-(e.max-e.min):void 0}}function n8(e,{top:t,left:a,bottom:s,right:n}){return{x:Zg(e.x,a,n),y:Zg(e.y,t,s)}}function Jg(e,t){let a=t.min-e.min,s=t.max-e.max;return t.max-t.min<e.max-e.min&&([a,s]=[s,a]),{min:a,max:s}}function r8(e,t){return{x:Jg(e.x,t.x),y:Jg(e.y,t.y)}}function i8(e,t){let a=.5;const s=We(e),n=We(t);return n>s?a=ni(t.min,t.max-s,e.min):s>n&&(a=ni(e.min,e.max-n,t.min)),ta(0,1,a)}function o8(e,t){const a={};return t.min!==void 0&&(a.min=t.min-e.min),t.max!==void 0&&(a.max=t.max-e.min),a}const Hu=.35;function l8(e=Hu){return e===!1?e=0:e===!0&&(e=Hu),{x:ex(e,"left","right"),y:ex(e,"top","bottom")}}function ex(e,t,a){return{min:tx(e,t),max:tx(e,a)}}function tx(e,t){return typeof e=="number"?e:e[t]||0}const c8=new WeakMap;class d8{constructor(t){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=we(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=t}start(t,{snapToCursor:a=!1,distanceThreshold:s}={}){const{presenceContext:n}=this.visualElement;if(n&&n.isPresent===!1)return;const r=p=>{a&&this.snapToCursor(Ni(p).point),this.stopAnimation()},o=(p,h)=>{const{drag:f,dragPropagation:y,onDragStart:v}=this.getProps();if(f&&!y&&(this.openDragLock&&this.openDragLock(),this.openDragLock=qA(f),!this.openDragLock))return;this.latestPointerEvent=p,this.latestPanInfo=h,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Bt(g=>{let m=this.getAxisMotionValue(g).get()||0;if(ea.test(m)){const{projection:x}=this.visualElement;if(x&&x.layout){const P=x.layout.layoutBox[g];P&&(m=We(P)*(parseFloat(m)/100))}}this.originPoint[g]=m}),v&&ee.update(()=>v(p,h),!1,!0),Au(this.visualElement,"transform");const{animationState:b}=this.visualElement;b&&b.setActive("whileDrag",!0)},l=(p,h)=>{this.latestPointerEvent=p,this.latestPanInfo=h;const{dragPropagation:f,dragDirectionLock:y,onDirectionLock:v,onDrag:b}=this.getProps();if(!f&&!this.openDragLock)return;const{offset:g}=h;if(y&&this.currentDirection===null){this.currentDirection=p8(g),this.currentDirection!==null&&v&&v(this.currentDirection);return}this.updateAxis("x",h.point,g),this.updateAxis("y",h.point,g),this.visualElement.render(),b&&ee.update(()=>b(p,h),!1,!0)},c=(p,h)=>{this.latestPointerEvent=p,this.latestPanInfo=h,this.stop(p,h),this.latestPointerEvent=null,this.latestPanInfo=null},d=()=>{const{dragSnapToOrigin:p}=this.getProps();(p||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:u}=this.getProps();this.panSession=new fb(t,{onSessionStart:r,onStart:o,onMove:l,onSessionEnd:c,resumeAnimation:d},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:u,distanceThreshold:s,contextWindow:hb(this.visualElement),element:this.visualElement.current})}stop(t,a){const s=t||this.latestPointerEvent,n=a||this.latestPanInfo,r=this.isDragging;if(this.cancel(),!r||!n||!s)return;const{velocity:o}=n;this.startAnimation(o);const{onDragEnd:l}=this.getProps();l&&ee.postRender(()=>l(s,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:a}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.endPanSession();const{dragPropagation:s}=this.getProps();!s&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),a&&a.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(t,a,s){const{drag:n}=this.getProps();if(!s||!Ji(t,n,this.currentDirection))return;const r=this.getAxisMotionValue(t);let o=this.originPoint[t]+s[t];this.constraints&&this.constraints[t]&&(o=s8(o,this.constraints[t],this.elastic[t])),r.set(o)}resolveConstraints(){var r;const{dragConstraints:t,dragElastic:a}=this.getProps(),s=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(r=this.visualElement.projection)==null?void 0:r.layout,n=this.constraints;t&&Ks(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&s?this.constraints=n8(s.layoutBox,t):this.constraints=!1,this.elastic=l8(a),n!==this.constraints&&!Ks(t)&&s&&this.constraints&&!this.hasMutatedConstraints&&Bt(o=>{this.constraints!==!1&&this.getAxisMotionValue(o)&&(this.constraints[o]=o8(s.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:a}=this.getProps();if(!t||!Ks(t))return!1;const s=t.current,{projection:n}=this.visualElement;if(!n||!n.layout)return!1;const r=xT(s,n.root,this.visualElement.getTransformPagePoint());let o=r8(n.layout.layoutBox,r);if(a){const l=a(fT(o));this.hasMutatedConstraints=!!l,l&&(o=z1(l))}return o}startAnimation(t){const{drag:a,dragMomentum:s,dragElastic:n,dragTransition:r,dragSnapToOrigin:o,onDragTransitionEnd:l}=this.getProps(),c=this.constraints||{},d=Bt(u=>{if(!Ji(u,a,this.currentDirection))return;let p=c&&c[u]||{};(o===!0||o===u)&&(p={min:0,max:0});const h=n?200:1e6,f=n?40:1e7,y={type:"inertia",velocity:s?t[u]:0,bounceStiffness:h,bounceDamping:f,timeConstant:750,restDelta:1,restSpeed:10,...r,...p};return this.startAxisValueAnimation(u,y)});return Promise.all(d).then(l)}startAxisValueAnimation(t,a){const s=this.getAxisMotionValue(t);return Au(this.visualElement,t),s.start(yh(t,s,0,a,this.visualElement,!1))}stopAnimation(){Bt(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const a=`_drag${t.toUpperCase()}`,s=this.visualElement.getProps(),n=s[a];return n||this.visualElement.getValue(t,(s.initial?s.initial[t]:void 0)||0)}snapToCursor(t){Bt(a=>{const{drag:s}=this.getProps();if(!Ji(a,s,this.currentDirection))return;const{projection:n}=this.visualElement,r=this.getAxisMotionValue(a);if(n&&n.layout){const{min:o,max:l}=n.layout.layoutBox[a],c=r.get()||0;r.set(t[a]-re(o,l,.5)+c)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:a}=this.getProps(),{projection:s}=this.visualElement;if(!Ks(a)||!s||!this.constraints)return;this.stopAnimation();const n={x:0,y:0};Bt(o=>{const l=this.getAxisMotionValue(o);if(l&&this.constraints!==!1){const c=l.get();n[o]=i8({min:c,max:c},this.constraints[o])}});const{transformTemplate:r}=this.visualElement.getProps();this.visualElement.current.style.transform=r?r({},""):"none",s.root&&s.root.updateScroll(),s.updateLayout(),this.constraints=!1,this.resolveConstraints(),Bt(o=>{if(!Ji(o,t,null))return;const l=this.getAxisMotionValue(o),{min:c,max:d}=this.constraints[o];l.set(re(c,d,n[o]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;c8.set(this.visualElement,this);const t=this.visualElement.current,a=Or(t,"pointerdown",d=>{const{drag:u,dragListener:p=!0}=this.getProps(),h=d.target,f=h!==t&&GA(h);u&&p&&!f&&this.start(d)});let s;const n=()=>{const{dragConstraints:d}=this.getProps();Ks(d)&&d.current&&(this.constraints=this.resolveRefConstraints(),s||(s=u8(t,d.current,()=>this.scalePositionWithinConstraints())))},{projection:r}=this.visualElement,o=r.addEventListener("measure",n);r&&!r.layout&&(r.root&&r.root.updateScroll(),r.updateLayout()),ee.read(n);const l=oi(window,"resize",()=>this.scalePositionWithinConstraints()),c=r.addEventListener("didUpdate",({delta:d,hasLayoutChanged:u})=>{this.isDragging&&u&&(Bt(p=>{const h=this.getAxisMotionValue(p);h&&(this.originPoint[p]+=d[p].translate,h.set(h.get()+d[p].translate))}),this.visualElement.render())});return()=>{l(),a(),o(),c&&c(),s&&s()}}getProps(){const t=this.visualElement.getProps(),{drag:a=!1,dragDirectionLock:s=!1,dragPropagation:n=!1,dragConstraints:r=!1,dragElastic:o=Hu,dragMomentum:l=!0}=t;return{...t,drag:a,dragDirectionLock:s,dragPropagation:n,dragConstraints:r,dragElastic:o,dragMomentum:l}}}function ax(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function u8(e,t,a){const s=ug(e,ax(a)),n=ug(t,ax(a));return()=>{s(),n()}}function Ji(e,t,a){return(t===!0||t===e)&&(a===null||a===e)}function p8(e,t=10){let a=null;return Math.abs(e.y)>t?a="y":Math.abs(e.x)>t&&(a="x"),a}class h8 extends hs{constructor(t){super(t),this.removeGroupControls=vt,this.removeListeners=vt,this.controls=new d8(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||vt}update(){const{dragControls:t}=this.node.getProps(),{dragControls:a}=this.node.prevProps||{};t!==a&&(this.removeGroupControls(),t&&(this.removeGroupControls=t.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}const Qc=e=>(t,a)=>{e&&ee.update(()=>e(t,a),!1,!0)};class f8 extends hs{constructor(){super(...arguments),this.removePointerDownListener=vt}onPointerDown(t){this.session=new fb(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:hb(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:a,onPan:s,onPanEnd:n}=this.node.getProps();return{onSessionStart:Qc(t),onStart:Qc(a),onMove:Qc(s),onEnd:(r,o)=>{delete this.session,n&&ee.postRender(()=>n(r,o))}}}mount(){this.removePointerDownListener=Or(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}let Gc=!1;class m8 extends w.Component{componentDidMount(){const{visualElement:t,layoutGroup:a,switchLayoutGroup:s,layoutId:n}=this.props,{projection:r}=t;r&&(a.group&&a.group.add(r),s&&s.register&&n&&s.register(r),Gc&&r.root.didUpdate(),r.addEventListener("animationComplete",()=>{this.safeToRemove()}),r.setOptions({...r.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),So.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:a,visualElement:s,drag:n,isPresent:r}=this.props,{projection:o}=s;return o&&(o.isPresent=r,t.layoutDependency!==a&&o.setOptions({...o.options,layoutDependency:a}),Gc=!0,n||t.layoutDependency!==a||a===void 0||t.isPresent!==r?o.willUpdate():this.safeToRemove(),t.isPresent!==r&&(r?o.promote():o.relegate()||ee.postRender(()=>{const l=o.getStack();(!l||!l.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{visualElement:t,layoutAnchor:a}=this.props,{projection:s}=t;s&&(s.options.layoutAnchor=a,s.root.didUpdate(),Ph.postRender(()=>{!s.currentAnimation&&s.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:a,switchLayoutGroup:s}=this.props,{projection:n}=t;Gc=!0,n&&(n.scheduleCheckAfterUnmount(),a&&a.group&&a.group.remove(n),s&&s.deregister&&s.deregister(n))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function gb(e){const[t,a]=PE(),s=w.useContext(Rw);return i.jsx(m8,{...e,layoutGroup:s,switchLayoutGroup:w.useContext(ub),isPresent:t,safeToRemove:a})}const g8={pan:{Feature:f8},drag:{Feature:h8,ProjectionNode:sb,MeasureLayout:gb}};function sx(e,t,a){const{props:s}=e;e.animationState&&s.whileHover&&e.animationState.setActive("whileHover",a==="Start");const n="onHover"+a,r=s[n];r&&ee.postRender(()=>r(t,Ni(t)))}class x8 extends hs{mount(){const{current:t}=this.node;t&&(this.unmount=$A(t,(a,s)=>(sx(this.node,s,"Start"),n=>sx(this.node,n,"End"))))}unmount(){}}class y8 extends hs{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Pi(oi(this.node.current,"focus",()=>this.onFocus()),oi(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function nx(e,t,a){const{props:s}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&s.whileTap&&e.animationState.setActive("whileTap",a==="Start");const n="onTap"+(a==="End"?"":a),r=s[n];r&&ee.postRender(()=>r(t,Ni(t)))}class v8 extends hs{mount(){const{current:t}=this.node;if(!t)return;const{globalTapTarget:a,propagate:s}=this.node.props;this.unmount=YA(t,(n,r)=>(nx(this.node,r,"Start"),(o,{success:l})=>nx(this.node,o,l?"End":"Cancel")),{useGlobalTarget:a,stopPropagation:(s==null?void 0:s.tap)===!1})}unmount(){}}const Vu=new WeakMap,Kc=new WeakMap,w8=e=>{const t=Vu.get(e.target);t&&t(e)},b8=e=>{e.forEach(w8)};function P8({root:e,...t}){const a=e||document;Kc.has(a)||Kc.set(a,{});const s=Kc.get(a),n=JSON.stringify(t);return s[n]||(s[n]=new IntersectionObserver(b8,{root:e,...t})),s[n]}function j8(e,t,a){const s=P8(t);return Vu.set(e,a),s.observe(e),()=>{Vu.delete(e),s.unobserve(e)}}const C8={some:0,all:1};class N8 extends hs{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){var c;(c=this.stopObserver)==null||c.call(this);const{viewport:t={}}=this.node.getProps(),{root:a,margin:s,amount:n="some",once:r}=t,o={root:a?a.current:void 0,rootMargin:s,threshold:typeof n=="number"?n:C8[n]},l=d=>{const{isIntersecting:u}=d;if(this.isInView===u||(this.isInView=u,r&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:p,onViewportLeave:h}=this.node.getProps(),f=u?p:h;f&&f(d)};this.stopObserver=j8(this.node.current,o,l)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:a}=this.node;["amount","margin","root"].some(k8(t,a))&&this.startObserver()}unmount(){var t;(t=this.stopObserver)==null||t.call(this),this.hasEnteredView=!1,this.isInView=!1}}function k8({viewport:e={}},{viewport:t={}}={}){return a=>e[a]!==t[a]}const S8={inView:{Feature:N8},tap:{Feature:v8},focus:{Feature:y8},hover:{Feature:x8}},A8={layout:{ProjectionNode:sb,MeasureLayout:gb}},T8={...ZE,...S8,...g8,...A8},eo=QE(T8,GE),E8=()=>{const e=ps();return w.useEffect(()=>{console.error("404 Error: User attempted to access non-existent route:",e.pathname)},[e.pathname]),i.jsx("div",{className:"min-h-screen flex items-center justify-center bg-background","data-id":"37drvo74l","data-path":"src/pages/NotFound.tsx",children:i.jsxs(eo.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5},className:"text-center space-y-6 p-8","data-id":"0w3iyrly1","data-path":"src/pages/NotFound.tsx",children:[i.jsx(eo.div,{initial:{scale:.5},animate:{scale:1},transition:{duration:.5,delay:.2},"data-id":"s79cehpse","data-path":"src/pages/NotFound.tsx",children:i.jsx("h1",{className:"text-8xl font-bold text-primary","data-id":"gikdfuwvy","data-path":"src/pages/NotFound.tsx",children:"404"})}),i.jsxs(eo.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.5,delay:.4},className:"space-y-4","data-id":"ccqio0j0v","data-path":"src/pages/NotFound.tsx",children:[i.jsx("h2",{className:"text-2xl font-semibold tracking-tight","data-id":"ts0zsv609","data-path":"src/pages/NotFound.tsx",children:"Page Not Found"}),i.jsx("p",{className:"text-muted-foreground","data-id":"gyyv9mq22","data-path":"src/pages/NotFound.tsx",children:"Sorry, the page you are looking for does not exist or has been removed."})]}),i.jsx(eo.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.5,delay:.6},"data-id":"phkpgwdjj","data-path":"src/pages/NotFound.tsx",children:i.jsx(q,{asChild:!0,variant:"default",size:"lg","data-id":"vf79q3agu","data-path":"src/pages/NotFound.tsx",children:i.jsx("a",{href:"/","data-id":"j5pcc4gnm","data-path":"src/pages/NotFound.tsx",children:"Back to Home"})})})]})})},R8=w.createContext(null),Yc={didCatch:!1,error:null};class D8 extends w.Component{constructor(t){super(t),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=Yc}static getDerivedStateFromError(t){return{didCatch:!0,error:t}}resetErrorBoundary(...t){var s,n;const{error:a}=this.state;a!==null&&((n=(s=this.props).onReset)==null||n.call(s,{args:t,reason:"imperative-api"}),this.setState(Yc))}componentDidCatch(t,a){var s,n;(n=(s=this.props).onError)==null||n.call(s,t,a)}componentDidUpdate(t,a){var r,o;const{didCatch:s}=this.state,{resetKeys:n}=this.props;s&&a.error!==null&&M8(t.resetKeys,n)&&((o=(r=this.props).onReset)==null||o.call(r,{next:n,prev:t.resetKeys,reason:"keys"}),this.setState(Yc))}render(){const{children:t,fallbackRender:a,FallbackComponent:s,fallback:n}=this.props,{didCatch:r,error:o}=this.state;let l=t;if(r){const c={error:o,resetErrorBoundary:this.resetErrorBoundary};if(typeof a=="function")l=a(c);else if(s)l=w.createElement(s,c);else if(n!==void 0)l=n;else throw o}return w.createElement(R8.Provider,{value:{didCatch:r,error:o,resetErrorBoundary:this.resetErrorBoundary}},l)}}function M8(e=[],t=[]){return e.length!==t.length||e.some((a,s)=>!Object.is(a,t[s]))}const O8=zl("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),xb=w.forwardRef(({className:e,variant:t,...a},s)=>i.jsx("div",{ref:s,role:"alert",className:ge(O8({variant:t}),e),...a}));xb.displayName="Alert";const L8=w.forwardRef(({className:e,...t},a)=>i.jsx("h5",{ref:a,className:ge("mb-1 font-medium leading-none tracking-tight",e),...t}));L8.displayName="AlertTitle";const yb=w.forwardRef(({className:e,...t},a)=>i.jsx("div",{ref:a,className:ge("text-sm [&_p]:leading-relaxed",e),...t}));yb.displayName="AlertDescription";var z8="Separator",rx="horizontal",H8=["horizontal","vertical"],vb=w.forwardRef((e,t)=>{const{decorative:a,orientation:s=rx,...n}=e,r=V8(s)?s:rx,l=a?{role:"none"}:{"aria-orientation":r==="vertical"?r:void 0,role:"separator"};return i.jsx(Aw.div,{"data-orientation":r,...l,...n,ref:t})});vb.displayName=z8;function V8(e){return H8.includes(e)}var wb=vb;const bb=w.forwardRef(({className:e,orientation:t="horizontal",decorative:a=!0,...s},n)=>i.jsx(wb,{ref:n,decorative:a,orientation:t,className:ge("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...s}));bb.displayName=wb.displayName;const F8=({error:e,resetErrorBoundary:t})=>{Re.useEffect(()=>{e&&window.dispatchEvent(new ErrorEvent("error",{error:e,message:e.message,filename:window.location.href,lineno:0,colno:0}))},[e]);const a=()=>{window.location.reload()},s=()=>{window.location.href="/"};return i.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4","data-id":"1yx8ipr3b","data-path":"src/components/error-fallback.tsx",children:i.jsxs(Ve,{className:"w-full max-w-md","data-id":"buqpwjpey","data-path":"src/components/error-fallback.tsx",children:[i.jsxs(fw,{className:"text-center","data-id":"ygkiigynm","data-path":"src/components/error-fallback.tsx",children:[i.jsx("div",{className:"mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-destructive/15 ring-2 ring-destructive/20","data-id":"1uk5mktcb","data-path":"src/components/error-fallback.tsx",children:i.jsx(Os,{className:"h-8 w-8 text-destructive drop-shadow-sm","data-id":"5xlylqrv8","data-path":"src/components/error-fallback.tsx"})}),i.jsx(mw,{className:"text-xl font-semibold","data-id":"wgaxakqfv","data-path":"src/components/error-fallback.tsx",children:"Something went wrong"}),i.jsx(gw,{"data-id":"lach28cd4","data-path":"src/components/error-fallback.tsx",children:"Sorry, the application encountered an unexpected error"})]}),i.jsxs(qe,{className:"space-y-4","data-id":"9wak1pln5","data-path":"src/components/error-fallback.tsx",children:[e&&i.jsxs(xb,{variant:"destructive","data-id":"gjcjd6fds","data-path":"src/components/error-fallback.tsx",children:[i.jsx(Os,{className:"h-5 w-5","data-id":"r2r37osj3","data-path":"src/components/error-fallback.tsx"}),i.jsx(yb,{className:"text-sm","data-id":"i62wxgk6n","data-path":"src/components/error-fallback.tsx",children:i.jsxs("details",{className:"mt-2","data-id":"0mg42em5z","data-path":"src/components/error-fallback.tsx",children:[i.jsx("summary",{className:"cursor-pointer font-medium","data-id":"yytzrqns2","data-path":"src/components/error-fallback.tsx",children:"Error Details"}),i.jsx("div",{id:"capture-error-detail",className:"mt-2 text-xs font-mono bg-muted/80 dark:bg-muted/20 p-3 rounded border dark:border-border/50 overflow-auto max-h-32 text-foreground dark:text-muted-foreground","data-id":"71nkjaktu","data-path":"src/components/error-fallback.tsx",children:e.message})]})})]}),i.jsx("div",{className:"text-sm text-muted-foreground text-center","data-id":"ozfzn0gqs","data-path":"src/components/error-fallback.tsx",children:"You can try refreshing the page or returning to the homepage to resolve this issue"})]}),i.jsx(bb,{"data-id":"m58lrr6h2","data-path":"src/components/error-fallback.tsx"}),i.jsxs(xw,{className:"flex flex-col gap-2 pt-6","data-id":"lwko0vbyx","data-path":"src/components/error-fallback.tsx",children:[i.jsxs("div",{className:"flex w-full gap-2","data-id":"8rsce8owe","data-path":"src/components/error-fallback.tsx",children:[t&&i.jsxs(q,{onClick:t,className:"flex-1",variant:"default","data-id":"jy9ym8rdq","data-path":"src/components/error-fallback.tsx",children:[i.jsx(am,{className:"mr-2 h-4 w-4 opacity-90","data-id":"7kunc821b","data-path":"src/components/error-fallback.tsx"}),"Retry"]}),i.jsxs(q,{onClick:a,variant:"outline",className:"flex-1","data-id":"0c7m71k4p","data-path":"src/components/error-fallback.tsx",children:[i.jsx(am,{className:"mr-2 h-4 w-4 opacity-90","data-id":"9fuk22x6g","data-path":"src/components/error-fallback.tsx"}),"Refresh Page"]})]}),i.jsxs(q,{onClick:s,variant:"ghost",className:"w-full","data-id":"3k7vafatz","data-path":"src/components/error-fallback.tsx",children:[i.jsx(Ws,{className:"mr-2 h-4 w-4 opacity-80","data-id":"o7am6sy59","data-path":"src/components/error-fallback.tsx"}),"Go Home"]})]})]})})},_8=()=>{const e=ps(),t=window.location.origin+e.pathname;return i.jsxs(i.Fragment,{children:[i.jsx(Pt,{"data-id":"wx04ej4jg","data-path":"src/components/canonical-manager.tsx",children:i.jsx("link",{rel:"canonical",href:t,"data-id":"ym7g6wdkx","data-path":"src/components/canonical-manager.tsx"})}),i.jsx(sS,{"data-id":"rzjnbv3l1","data-path":"src/components/canonical-manager.tsx"})]})};function I8(){const{pathname:e}=ps();return w.useEffect(()=>{window.scrollTo(0,0)},[e]),null}const q8=new o3,B8=()=>i.jsx(D8,{FallbackComponent:F8,onError:(e,t)=>{console.error(`Error Boundary caught an error(pathname:${location.pathname+location.search}):`,e,t),setTimeout(()=>{throw e},0)},"data-id":"yv5c4j4gv","data-path":"src/App.tsx",children:i.jsx(Nw,{"data-id":"mp1a4kx4j","data-path":"src/App.tsx",children:i.jsx(c3,{client:q8,"data-id":"g2sovf37d","data-path":"src/App.tsx",children:i.jsxs(D4,{"data-id":"ovphk5ipl","data-path":"src/App.tsx",children:[i.jsx(ZN,{"data-id":"v6ueinq1g","data-path":"src/App.tsx"}),i.jsxs(pS,{"data-id":"smuhcj8he","data-path":"src/App.tsx",children:[i.jsx(I8,{"data-id":"7aqjvp06c","data-path":"src/App.tsx"}),i.jsx(rS,{"data-id":"cg5nly8fx","data-path":"src/App.tsx",children:i.jsxs(fe,{element:i.jsx(_8,{"data-id":"lv8ygh0ac","data-path":"src/App.tsx"}),"data-id":"blgjuv6l1","data-path":"src/App.tsx",children:[i.jsx(fe,{path:"/",element:i.jsx(e6,{"data-id":"ubeh11f79","data-path":"src/App.tsx"}),"data-id":"7n8lq2shu","data-path":"src/App.tsx"}),i.jsx(fe,{path:"/residential",element:i.jsx(a6,{"data-id":"ugswk6526","data-path":"src/App.tsx"}),"data-id":"ne66a5dkc","data-path":"src/App.tsx"}),i.jsx(fe,{path:"/commercial",element:i.jsx(r6,{"data-id":"2uph6zpnu","data-path":"src/App.tsx"}),"data-id":"m75tc1ktc","data-path":"src/App.tsx"}),i.jsx(fe,{path:"/dryer-vent",element:i.jsx(c6,{"data-id":"ltct87r42","data-path":"src/App.tsx"}),"data-id":"t3d981wmx","data-path":"src/App.tsx"}),i.jsx(fe,{path:"/service-areas",element:i.jsx(u6,{"data-id":"wa16x8aj4","data-path":"src/App.tsx"}),"data-id":"rsffo1m1n","data-path":"src/App.tsx"}),i.jsx(fe,{path:"/service-areas/alliston-on",element:i.jsx(f6,{"data-id":"ekf7t2aiu","data-path":"src/App.tsx"}),"data-id":"q616bds5d","data-path":"src/App.tsx"}),i.jsx(fe,{path:"/service-areas/barrie-on",element:i.jsx(m6,{"data-id":"v72guy6xb","data-path":"src/App.tsx"}),"data-id":"jjujaw3po","data-path":"src/App.tsx"}),i.jsx(fe,{path:"/service-areas/angus-on",element:i.jsx(g6,{"data-id":"n39t6yhc9","data-path":"src/App.tsx"}),"data-id":"13v2qdas4","data-path":"src/App.tsx"}),i.jsx(fe,{path:"/service-areas/innisfil-on",element:i.jsx(x6,{"data-id":"57sz80y09","data-path":"src/App.tsx"}),"data-id":"5lyout6f6","data-path":"src/App.tsx"}),i.jsx(fe,{path:"/service-areas/collingwood-on",element:i.jsx(y6,{"data-id":"sr6t439ge","data-path":"src/App.tsx"}),"data-id":"bwpxjfzjh","data-path":"src/App.tsx"}),i.jsx(fe,{path:"/service-areas/new-tecumseth-on",element:i.jsx(v6,{"data-id":"k68ecoauc","data-path":"src/App.tsx"}),"data-id":"pwo3c1yct","data-path":"src/App.tsx"}),i.jsx(fe,{path:"/service-areas/bradford-on",element:i.jsx(w6,{"data-id":"vsp4lbjca","data-path":"src/App.tsx"}),"data-id":"nph52pfyl","data-path":"src/App.tsx"}),i.jsx(fe,{path:"/service-areas/orillia-on",element:i.jsx(b6,{"data-id":"opx3x88e1","data-path":"src/App.tsx"}),"data-id":"t64i3oiiz","data-path":"src/App.tsx"}),i.jsx(fe,{path:"/service-areas/newmarket-on",element:i.jsx(P6,{"data-id":"s740m4qcz","data-path":"src/App.tsx"}),"data-id":"lx0pxgj73","data-path":"src/App.tsx"}),i.jsx(fe,{path:"/contact",element:i.jsx(S6,{"data-id":"tg25lhvj6","data-path":"src/App.tsx"}),"data-id":"h9u2zjhyn","data-path":"src/App.tsx"}),i.jsx(fe,{path:"/faq",element:i.jsx(T6,{"data-id":"dgd63b0v0","data-path":"src/App.tsx"}),"data-id":"ww8ja95vi","data-path":"src/App.tsx"}),i.jsx(fe,{path:"/reviews",element:i.jsx(R6,{"data-id":"if6o8bmrw","data-path":"src/App.tsx"}),"data-id":"yp3t3r0gp","data-path":"src/App.tsx"}),i.jsx(fe,{path:"/sitemap",element:i.jsx(M6,{"data-id":"1ff2a7plk","data-path":"src/App.tsx"}),"data-id":"35wf62cjr","data-path":"src/App.tsx"}),i.jsx(fe,{path:"*",element:i.jsx(E8,{"data-id":"jtgvl5sut","data-path":"src/App.tsx"}),"data-id":"yjng9hemy","data-path":"src/App.tsx"})]})})]})]})})})});Sv(document.getElementById("root")).render(i.jsx(B8,{"data-id":"fy54skp71","data-path":"src/main.tsx"}));