vendor: 5,689 bytes, lines 1-9
1var Iu=e=>{throw TypeError(e)};var Ki=(e,t,n)=>t.has(e)||Iu("Cannot "+n);var N=(e,t,n)=>(Ki(e,t,"read from private field"),n?n.call(e):t.get(e)),G=(e,t,n)=>t.has(e)?Iu("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),F=(e,t,n,s)=>(Ki(e,t,"write to private field"),s?s.call(e,n):t.set(e,n),n),U=(e,t,n)=>(Ki(e,t,"access private method"),n);var Ko=(e,t,n,s)=>({set _(o){F(e,t,o,n)},get _(){return N(e,t,s)}});function jy(e,t){for(var n=0;n<t.length;n++){const s=t[n];if(typeof s!="string"&&!Array.isArray(s)){for(const o in s)if(o!=="default"&&!(o in e)){const a=Object.getOwnPropertyDescriptor(s,o);a&&Object.defineProperty(e,o,a.get?a:{enumerable:!0,get:()=>s[o]})}}}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 o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const a of o)if(a.type==="childList")for(const i of a.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function n(o){const a={};return o.integrity&&(a.integrity=o.integrity),o.referrerPolicy&&(a.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?a.credentials="include":o.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function s(o){if(o.ep)return;o.ep=!0;const a=n(o);fetch(o.href,a)}})();function zh(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Bh={exports:{}},hi={},Hh={exports:{}},Q={};/** 2 * @license React 3 * react.production.min.js 4 * 5 * Copyright (c) Facebook, Inc. and its affiliates. 6 * 7 * This source code is licensed under the MIT license found in the 8 * LICENSE file in the root directory of this source tree. 9 */var Fo=Symbol.for("react.element"),Ny=Symbol.for("react.portal"),ky=Symbol.for("react.fragment"),Sy=Symbol.for("react.strict_mode"),Cy=Symbol.for("react.profiler"),Ay=Symbol.for("react.provider"),Py=Symbol.for("react.context"),Ry=Symbol.for("react.forward_ref"),Ey=Symbol.for("react.suspense"),Ty=Symbol.for("react.memo"),Iy=Symbol.for("react.lazy"),Ou=Symbol.iterator;function Oy(e){return e===null||typeof e!="object"?null:(e=Ou&&e[Ou]||e["@@iterator"],typeof e=="function"?e:null)}var Gh={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Yh=Object.assign,Vh={};function Cs(e,t,n){this.props=e,this.context=t,this.refs=Vh,this.updater=n||Gh}Cs.prototype.isReactComponent={};Cs.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")};Cs.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function $h(){}$h.prototype=Cs.prototype;function Jc(e,t,n){this.props=e,this.context=t,this.refs=Vh,this.updater=n||Gh}var Zc=Jc.prototype=new $h;Zc.constructor=Jc;Yh(Zc,Cs.prototype);Zc.isPureReactComponent=!0;var Du=Array.isArray,Qh=Object.prototype.hasOwnProperty,ed={current:null},Uh={key:!0,ref:!0,__self:!0,__source:!0};function Kh(e,t,n){var s,o={},a=null,i=null;if(t!=null)for(s in t.ref!==void 0&&(i=t.ref),t.key!==void 0&&(a=""+t.key),t)Qh.call(t,s)&&!Uh.hasOwnProperty(s)&&(o[s]=t[s]);var l=arguments.length-2;if(l===1)o.children=n;else if(1<l){for(var c=Array(l),d=0;d<l;d++)c[d]=arguments[d+2];o.children=c}if(e&&e.defaultProps)for(s in l=e.defaultProps,l)o[s]===void 0&&(o[s]=l[s]);return{$$typeof:Fo,type:e,key:a,ref:i,props:o,_owner:ed.current}}function Dy(e,t){return{$$typeof:Fo,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function td(e){return typeof e=="object"&&e!==null&&e.$$typeof===Fo}function My(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var Mu=/\/+/g;function Xi(e,t){return typeof e=="object"&&e!==null&&e.key!=null?My(""+e.key):t.toString(36)}function wa(e,t,n,s,o){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var i=!1;if(e===null)i=!0;else switch(a){case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case Fo:case Ny:i=!0}}if(i)return i=e,o=o(i),e=s===""?"."+Xi(i,0):s,Du(o)?(n="",e!=null&&(n=e.replace(Mu,"$&/")+"/"),wa(o,t,n,"",function(d){return d})):o!=null&&(td(o)&&(o=Dy(o,n+(!o.key||i&&i.key===o.key?"":(""+o.key).replace(Mu,"$&/")+"/")+e)),t.push(o)),1;if(i=0,s=s===""?".":s+":",Du(e))for(var l=0;l<e.length;l++){a=e[l];var c=s+Xi(a,l);i+=wa(a,t,n,c,o)}else if(c=Oy(e),typeof c=="function")for(e=c.call(e),l=0;!(a=e.next()).done;)a=a.value,c=s+Xi(a,l++),i+=wa(a,t,n,c,o);else if(a==="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 i}function Xo(e,t,n){if(e==null)return e;var s=[],o=0;return wa(e,s,"","",function(a){return t.call(n,a,o++)}),s}function qy(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var Ue={current:null},va={transition:null},Wy={ReactCurrentDispatcher:Ue,ReactCurrentBatchConfig:va,ReactCurrentOwner:ed};function Xh(){throw Error("act(...) is not supported in production builds of React.")}
vendor: 7,422 bytes, lines 9-25
9Q.Children={map:Xo,forEach:function(e,t,n){Xo(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Xo(e,function(){t++}),t},toArray:function(e){return Xo(e,function(t){return t})||[]},only:function(e){if(!td(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Q.Component=Cs;Q.Fragment=ky;Q.Profiler=Cy;Q.PureComponent=Jc;Q.StrictMode=Sy;Q.Suspense=Ey;Q.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Wy;Q.act=Xh;Q.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var s=Yh({},e.props),o=e.key,a=e.ref,i=e._owner;if(t!=null){if(t.ref!==void 0&&(a=t.ref,i=ed.current),t.key!==void 0&&(o=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)Qh.call(t,c)&&!Uh.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=n;else if(1<c){l=Array(c);for(var d=0;d<c;d++)l[d]=arguments[d+2];s.children=l}return{$$typeof:Fo,type:e.type,key:o,ref:a,props:s,_owner:i}};Q.createContext=function(e){return e={$$typeof:Py,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:Ay,_context:e},e.Consumer=e};Q.createElement=Kh;Q.createFactory=function(e){var t=Kh.bind(null,e);return t.type=e,t};Q.createRef=function(){return{current:null}};Q.forwardRef=function(e){return{$$typeof:Ry,render:e}};Q.isValidElement=td;Q.lazy=function(e){return{$$typeof:Iy,_payload:{_status:-1,_result:e},_init:qy}};Q.memo=function(e,t){return{$$typeof:Ty,type:e,compare:t===void 0?null:t}};Q.startTransition=function(e){var t=va.transition;va.transition={};try{e()}finally{va.transition=t}};Q.unstable_act=Xh;Q.useCallback=function(e,t){return Ue.current.useCallback(e,t)};Q.useContext=function(e){return Ue.current.useContext(e)};Q.useDebugValue=function(){};Q.useDeferredValue=function(e){return Ue.current.useDeferredValue(e)};Q.useEffect=function(e,t){return Ue.current.useEffect(e,t)};Q.useId=function(){return Ue.current.useId()};Q.useImperativeHandle=function(e,t,n){return Ue.current.useImperativeHandle(e,t,n)};Q.useInsertionEffect=function(e,t){return Ue.current.useInsertionEffect(e,t)};Q.useLayoutEffect=function(e,t){return Ue.current.useLayoutEffect(e,t)};Q.useMemo=function(e,t){return Ue.current.useMemo(e,t)};Q.useReducer=function(e,t,n){return Ue.current.useReducer(e,t,n)};Q.useRef=function(e){return Ue.current.useRef(e)};Q.useState=function(e){return Ue.current.useState(e)};Q.useSyncExternalStore=function(e,t,n){return Ue.current.useSyncExternalStore(e,t,n)};Q.useTransition=function(){return Ue.current.useTransition()};Q.version="18.3.1";Hh.exports=Q;var v=Hh.exports;const sn=zh(v),Fy=jy({__proto__:null,default:sn},[v]);/** 10 * @license React 11 * react-jsx-runtime.production.min.js 12 * 13 * Copyright (c) Facebook, Inc. and its affiliates. 14 * 15 * This source code is licensed under the MIT license found in the 16 * LICENSE file in the root directory of this source tree. 17 */var _y=v,Ly=Symbol.for("react.element"),zy=Symbol.for("react.fragment"),By=Object.prototype.hasOwnProperty,Hy=_y.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Gy={key:!0,ref:!0,__self:!0,__source:!0};function Jh(e,t,n){var s,o={},a=null,i=null;n!==void 0&&(a=""+n),t.key!==void 0&&(a=""+t.key),t.ref!==void 0&&(i=t.ref);for(s in t)By.call(t,s)&&!Gy.hasOwnProperty(s)&&(o[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps,t)o[s]===void 0&&(o[s]=t[s]);return{$$typeof:Ly,type:e,key:a,ref:i,props:o,_owner:Hy.current}}hi.Fragment=zy;hi.jsx=Jh;hi.jsxs=Jh;Bh.exports=hi;var r=Bh.exports,Zh={exports:{}},mt={},ef={exports:{}},tf={};/** 18 * @license React 19 * scheduler.production.min.js 20 * 21 * Copyright (c) Facebook, Inc. and its affiliates. 22 * 23 * This source code is licensed under the MIT license found in the 24 * LICENSE file in the root directory of this source tree. 25 */(function(e){function t(P,O){var W=P.length;P.push(O);e:for(;0<W;){var z=W-1>>>1,J=P[z];if(0<o(J,O))P[z]=O,P[W]=J,W=z;else break e}}function n(P){return P.length===0?null:P[0]}function s(P){if(P.length===0)return null;var O=P[0],W=P.pop();if(W!==O){P[0]=W;e:for(var z=0,J=P.length,we=J>>>1;z<we;){var pe=2*(z+1)-1,St=P[pe],He=pe+1,ve=P[He];if(0>o(St,W))He<J&&0>o(ve,St)?(P[z]=ve,P[He]=W,z=He):(P[z]=St,P[pe]=W,z=pe);else if(He<J&&0>o(ve,W))P[z]=ve,P[He]=W,z=He;else break e}}return O}function o(P,O){var W=P.sortIndex-O.sortIndex;return W!==0?W:P.id-O.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var i=Date,l=i.now();e.unstable_now=function(){return i.now()-l}}var c=[],d=[],u=1,m=null,f=3,w=!1,y=!1,g=!1,b=typeof setTimeout=="function"?setTimeout:null,h=typeof clearTimeout=="function"?clearTimeout:null,p=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(P){for(var O=n(d);O!==null;){if(O.callback===null)s(d);else if(O.startTime<=P)s(d),O.sortIndex=O.expirationTime,t(c,O);else break;O=n(d)}}function j(P){if(g=!1,x(P),!y)if(n(c)!==null)y=!0,B(k);else{var O=n(d);O!==null&&V(j,O.startTime-P)}}function k(P,O){y=!1,g&&(g=!1,h(A),A=-1),w=!0;var W=f;try{for(x(O),m=n(c);m!==null&&(!(m.expirationTime>O)||P&&!M());){var z=m.callback;if(typeof z=="function"){m.callback=null,f=m.priorityLevel;var J=z(m.expirationTime<=O);O=e.unstable_now(),typeof J=="function"?m.callback=J:m===n(c)&&s(c),x(O)}else s(c);m=n(c)}if(m!==null)var we=!0;else{var pe=n(d);pe!==null&&V(j,pe.startTime-O),we=!1}return we}finally{m=null,f=W,w=!1}}var C=!1,S=null,A=-1,R=5,E=-1;function M(){return!(e.unstable_now()-E<R)}function D(){if(S!==null){var P=e.unstable_now();E=P;var O=!0;try{O=S(!0,P)}finally{O?Y():(C=!1,S=null)}}else C=!1}var Y;if(typeof p=="function")Y=function(){p(D)};else if(typeof MessageChannel<"u"){var I=new MessageChannel,H=I.port2;I.port1.onmessage=D,Y=function(){H.postMessage(null)}}else Y=function(){b(D,0)};function B(P){S=P,C||(C=!0,Y())}function V(P,O){A=b(function(){P(e.unstable_now())},O)}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(P){P.callback=null},e.unstable_continueExecution=function(){y||w||(y=!0,B(k))},e.unstable_forceFrameRate=function(P){0>P||125<P?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):R=0<P?Math.floor(1e3/P):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_getFirstCallbackNode=function(){return n(c)},e.unstable_next=function(P){switch(f){case 1:case 2:case 3:var O=3;break;default:O=f}var W=f;f=O;try{return P()}finally{f=W}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(P,O){switch(P){case 1:case 2:case 3:case 4:case 5:break;default:P=3}var W=f;f=P;try{return O()}finally{f=W}},e.unstable_scheduleCallback=function(P,O,W){var z=e.unstable_now();switch(typeof W=="object"&&W!==null?(W=W.delay,W=typeof W=="number"&&0<W?z+W:z):W=z,P){case 1:var J=-1;break;case 2:J=250;break;case 5:J=1073741823;break;case 4:J=1e4;break;default:J=5e3}
vendor: 4,614 bytes, lines 25-33
25return J=W+J,P={id:u++,callback:O,priorityLevel:P,startTime:W,expirationTime:J,sortIndex:-1},W>z?(P.sortIndex=W,t(d,P),n(c)===null&&P===n(d)&&(g?(h(A),A=-1):g=!0,V(j,W-z))):(P.sortIndex=J,t(c,P),y||w||(y=!0,B(k))),P},e.unstable_shouldYield=M,e.unstable_wrapCallback=function(P){var O=f;return function(){var W=f;f=O;try{return P.apply(this,arguments)}finally{f=W}}}})(tf);ef.exports=tf;var Yy=ef.exports;/** 26 * @license React 27 * react-dom.production.min.js 28 * 29 * Copyright (c) Facebook, Inc. and its affiliates. 30 * 31 * This source code is licensed under the MIT license found in the 32 * LICENSE file in the root directory of this source tree. 33 */var Vy=v,ut=Yy;function T(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);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 nf=new Set,lo={};function Rr(e,t){gs(e,t),gs(e+"Capture",t)}function gs(e,t){for(lo[e]=t,e=0;e<t.length;e++)nf.add(t[e])}var mn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Il=Object.prototype.hasOwnProperty,$y=/^[: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]*$/,qu={},Wu={};function Qy(e){return Il.call(Wu,e)?!0:Il.call(qu,e)?!1:$y.test(e)?Wu[e]=!0:(qu[e]=!0,!1)}function Uy(e,t,n,s){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return s?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Ky(e,t,n,s){if(t===null||typeof t>"u"||Uy(e,t,n,s))return!0;if(s)return!1;if(n!==null)switch(n.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 Ke(e,t,n,s,o,a,i){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=s,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=i}var We={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){We[e]=new Ke(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];We[t]=new Ke(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){We[e]=new Ke(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){We[e]=new Ke(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){We[e]=new Ke(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){We[e]=new Ke(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){We[e]=new Ke(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){We[e]=new Ke(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){We[e]=new Ke(e,5,!1,e.toLowerCase(),null,!1,!1)});var nd=/[\-:]([a-z])/g;function rd(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
33-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(nd,rd);We[t]=new Ke(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(nd,rd);We[t]=new Ke(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(nd,rd);We[t]=new Ke(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){We[e]=new Ke(e,1,!1,e.toLowerCase(),null,!1,!1)});We.xlinkHref=new Ke("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){We[e]=new Ke(e,1,!1,e.toLowerCase(),null,!0,!0)});function sd(e,t,n,s){var o=We.hasOwnProperty(t)?We[t]:null;(o!==null?o.type!==0:s||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(Ky(t,n,o,s)&&(n=null),s||o===null?Qy(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,""+n)):o.mustUseProperty?e[o.propertyName]=n===null?o.type===3?!1:"":n:(t=o.attributeName,s=o.attributeNamespace,n===null?e.removeAttribute(t):(o=o.type,n=o===3||o===4&&n===!0?"":""+n,s?e.setAttributeNS(s,t,n):e.setAttribute(t,n))))}var yn=Vy.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Jo=Symbol.for("react.element"),Mr=Symbol.for("react.portal"),qr=Symbol.for("react.fragment"),od=Symbol.for("react.strict_mode"),Ol=Symbol.for("react.profiler"),rf=Symbol.for("react.provider"),sf=Symbol.for("react.context"),ad=Symbol.for("react.forward_ref"),Dl=Symbol.for("react.suspense"),Ml=Symbol.for("react.suspense_list"),id=Symbol.for("react.memo"),kn=Symbol.for("react.lazy"),of=Symbol.for("react.offscreen"),Fu=Symbol.iterator;function Ds(e){return e===null||typeof e!="object"?null:(e=Fu&&e[Fu]||e["@@iterator"],typeof e=="function"?e:null)}var fe=Object.assign,Ji;function Gs(e){if(Ji===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Ji=t&&t[1]||""}return` 34`+Ji+e}var Zi=!1;function el(e,t){if(!e||Zi)return"";Zi=!0;var n=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 o=d.stack.split(` 35`),a=s.stack.split(` 36`),i=o.length-1,l=a.length-1;1<=i&&0<=l&&o[i]!==a[l];)l--;for(;1<=i&&0<=l;i--,l--)if(o[i]!==a[l]){if(i!==1||l!==1)do if(i--,l--,0>l||o[i]!==a[l]){var c=` 37`+o[i].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}while(1<=i&&0<=l);break}}}finally{Zi=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Gs(e):""}function Xy(e){switch(e.tag){case 5:return Gs(e.type);case 16:return Gs("Lazy");case 13:return Gs("Suspense");case 19:return Gs("SuspenseList");case 0:case 2:case 15:return e=el(e.type,!1),e;case 11:return e=el(e.type.render,!1),e;case 1:return e=el(e.type,!0),e;default:return""}}function ql(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 qr:return"Fragment";case Mr:return"Portal";case Ol:return"Profiler";case od:return"StrictMode";case Dl:return"Suspense";case Ml:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case sf:return(e.displayName||"Context")+".Consumer";case rf:return(e._context.displayName||"Context")+".Provider";case ad:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case id:return t=e.displayName||null,t!==null?t:ql(e.type)||"Memo";case kn:t=e._payload,e=e._init;try{return ql(e(t))}catch{}}return null}function Jy(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 ql(t);case 8:return t===od?"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 Yn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function af(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Zy(e){var t=af(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),s=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var o=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(i){s=""+i,a.call(this,i)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return s},setValue:function(i){s=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Zo(e){e._valueTracker||(e._valueTracker=Zy(e))}function lf(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),s="";return e&&(s=af(e)?e.checked?"true":"false":e.value),e=s,e!==n?(t.setValue(e),!0):!1}function Ma(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 Wl(e,t){var n=t.checked;return fe({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function _u(e,t){var n=t.defaultValue==null?"":t.defaultValue,s=t.checked!=null?t.checked:t.defaultChecked;n=Yn(t.value!=null?t.value:n),e._wrapperState={initialChecked:s,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function cf(e,t){t=t.checked,t!=null&&sd(e,"checked",t,!1)}function Fl(e,t){cf(e,t);var n=Yn(t.value),s=t.type;if(n!=null)s==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(s==="submit"||s==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?_l(e,t.type,n):t.hasOwnProperty("defaultValue")&&_l(e,t.type,Yn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Lu(e,t,n){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,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function _l(e,t,n){(t!=="number"||Ma(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Ys=Array.isArray;function $r(e,t,n,s){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&s&&(e[n].defaultSelected=!0)}else{for(n=""+Yn(n),t=null,o=0;o<e.length;o++){if(e[o].value===n){e[o].selected=!0,s&&(e[o].defaultSelected=!0);return}t!==null||e[o].disabled||(t=e[o])}t!==null&&(t.selected=!0)}}function Ll(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(T(91));return fe({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function zu(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(T(92));if(Ys(n)){if(1<n.length)throw Error(T(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:Yn(n)}}function df(e,t){var n=Yn(t.value),s=Yn(t.defaultValue);n!=null&&(n=""+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),s!=null&&(e.defaultValue=""+s)}function Bu(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function uf(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 zl(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?uf(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var ea,mf=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,s,o){MSApp.execUnsafeLocalFunction(function(){return e(t,n,s,o)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(ea=ea||document.createElement("div"),ea.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ea.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function co(e,t){if(t){var n=e.firstChild;
vendor: 10,020 bytes, line 37
37if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ks={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},ew=["Webkit","ms","Moz","O"];Object.keys(Ks).forEach(function(e){ew.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ks[t]=Ks[e]})});function hf(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ks.hasOwnProperty(e)&&Ks[e]?(""+t).trim():t+"px"}function ff(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var s=n.indexOf("--")===0,o=hf(n,t[n],s);n==="float"&&(n="cssFloat"),s?e.setProperty(n,o):e[n]=o}}var tw=fe({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 Bl(e,t){if(t){if(tw[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(T(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(T(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(T(61))}if(t.style!=null&&typeof t.style!="object")throw Error(T(62))}}function Hl(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 Gl=null;function ld(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Yl=null,Qr=null,Ur=null;function Hu(e){if(e=zo(e)){if(typeof Yl!="function")throw Error(T(280));var t=e.stateNode;t&&(t=yi(t),Yl(e.stateNode,e.type,t))}}function pf(e){Qr?Ur?Ur.push(e):Ur=[e]:Qr=e}function gf(){if(Qr){var e=Qr,t=Ur;if(Ur=Qr=null,Hu(e),t)for(e=0;e<t.length;e++)Hu(t[e])}}function xf(e,t){return e(t)}function yf(){}var tl=!1;function wf(e,t,n){if(tl)return e(t,n);tl=!0;try{return xf(e,t,n)}finally{tl=!1,(Qr!==null||Ur!==null)&&(yf(),gf())}}function uo(e,t){var n=e.stateNode;if(n===null)return null;var s=yi(n);if(s===null)return null;n=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(n&&typeof n!="function")throw Error(T(231,t,typeof n));return n}var Vl=!1;if(mn)try{var Ms={};Object.defineProperty(Ms,"passive",{get:function(){Vl=!0}}),window.addEventListener("test",Ms,Ms),window.removeEventListener("test",Ms,Ms)}catch{Vl=!1}function nw(e,t,n,s,o,a,i,l,c){var d=Array.prototype.slice.call(arguments,3);try{t.apply(n,d)}catch(u){this.onError(u)}}var Xs=!1,qa=null,Wa=!1,$l=null,rw={onError:function(e){Xs=!0,qa=e}};function sw(e,t,n,s,o,a,i,l,c){Xs=!1,qa=null,nw.apply(rw,arguments)}function ow(e,t,n,s,o,a,i,l,c){if(sw.apply(this,arguments),Xs){if(Xs){var d=qa;Xs=!1,qa=null}else throw Error(T(198));Wa||(Wa=!0,$l=d)}}function Er(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function vf(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 Gu(e){if(Er(e)!==e)throw Error(T(188))}function aw(e){var t=e.alternate;if(!t){if(t=Er(e),t===null)throw Error(T(188));return t!==e?null:e}for(var n=e,s=t;;){var o=n.return;if(o===null)break;var a=o.alternate;if(a===null){if(s=o.return,s!==null){n=s;continue}break}if(o.child===a.child){for(a=o.child;a;){if(a===n)return Gu(o),e;if(a===s)return Gu(o),t;a=a.sibling}throw Error(T(188))}if(n.return!==s.return)n=o,s=a;else{for(var i=!1,l=o.child;l;){if(l===n){i=!0,n=o,s=a;break}if(l===s){i=!0,s=o,n=a;break}l=l.sibling}if(!i){for(l=a.child;l;){if(l===n){i=!0,n=a,s=o;break}if(l===s){i=!0,s=a,n=o;break}l=l.sibling}if(!i)throw Error(T(189))}}if(n.alternate!==s)throw Error(T(190))}if(n.tag!==3)throw Error(T(188));return n.stateNode.current===n?e:t}function bf(e){return e=aw(e),e!==null?jf(e):null}function jf(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=jf(e);if(t!==null)return t;e=e.sibling}return null}var Nf=ut.unstable_scheduleCallback,Yu=ut.unstable_cancelCallback,iw=ut.unstable_shouldYield,lw=ut.unstable_requestPaint,be=ut.unstable_now,cw=ut.unstable_getCurrentPriorityLevel,cd=ut.unstable_ImmediatePriority,kf=ut.unstable_UserBlockingPriority,Fa=ut.unstable_NormalPriority,dw=ut.unstable_LowPriority,Sf=ut.unstable_IdlePriority,fi=null,$t=null;function uw(e){if($t&&typeof $t.onCommitFiberRoot=="function")try{$t.onCommitFiberRoot(fi,e,void 0,(e.current.flags&128)===128)}catch{}}var Ot=Math.clz32?Math.clz32:fw,mw=Math.log,hw=Math.LN2;function fw(e){return e>>>=0,e===0?32:31-(mw(e)/hw|0)|0}var ta=64,na=4194304;function Vs(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 _a(e,t){var n=e.pendingLanes;if(n===0)return 0;var s=0,o=e.suspendedLanes,a=e.pingedLanes,i=n&268435455;if(i!==0){var l=i&~o;l!==0?s=Vs(l):(a&=i,a!==0&&(s=Vs(a)))}else i=n&~o,i!==0?s=Vs(i):a!==0&&(s=Vs(a));if(s===0)return 0;if(t!==0&&t!==s&&!(t&o)&&(o=s&-s,a=t&-t,o>=a||o===16&&(a&4194240)!==0))return t;if(s&4&&(s|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=s;0<t;)n=31-Ot(t),o=1<<n,s|=e[n],t&=~o;return s}function pw(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 gw(e,t){for(var n=e.suspendedLanes,s=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes;0<a;){var i=31-Ot(a),l=1<<i,c=o[i];c===-1?(!(l&n)||l&s)&&(o[i]=pw(l,t)):c<=t&&(e.expiredLanes|=l),a&=~l}}function Ql(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function Cf(){var e=ta;return ta<<=1,!(ta&4194240)&&(ta=64),e}function nl(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function _o(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ot(t),e[t]=n}function xw(e,t){var n=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<n;){var o=31-Ot(n),a=1<<o;t[o]=0,s[o]=-1,e[o]=-1,n&=~a}}function dd(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var s=31-Ot(n),o=1<<s;o&t|e[s]&t&&(e[s]|=t),n&=~o}}var ne=0;function Af(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var Pf,ud,Rf,Ef,Tf,Ul=!1,ra=[],Wn=null,Fn=null,_n=null,mo=new Map,ho=new Map,Cn=[],yw="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 Vu(e,t){switch(e){case"focusin":case"focusout":Wn=null;break;case"dragenter":case"dragleave":Fn=null;break;case"mouseover":case"mouseout":_n=null;break;case"pointerover":case"pointerout":mo.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ho.delete(t.pointerId)}}function qs(e,t,n,s,o,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:s,nativeEvent:a,targetContainers:[o]},t!==null&&(t=zo(t),t!==null&&ud(t)),e):(e.eventSystemFlags|=s,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function ww(e,t,n,s,o){switch(t){case"focusin":return Wn=qs(Wn,e,t,n,s,o),!0;case"dragenter":return Fn=qs(Fn,e,t,n,s,o),!0;case"mouseover":return _n=qs(_n,e,t,n,s,o),!0;case"pointerover":var a=o.pointerId;return mo.set(a,qs(mo.get(a)||null,e,t,n,s,o)),!0;case"gotpointercapture":return a=o.pointerId,ho.set(a,qs(ho.get(a)||null,e,t,n,s,o)),!0}return!1}function If(e){var t=ir(e.target);if(t!==null){var n=Er(t);if(n!==null){if(t=n.tag,t===13){if(t=vf(n),t!==null){e.blockedOn=t,Tf(e.priority,function(){Rf(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function ba(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Kl(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var s=new n.constructor(n.type,n);Gl=s,n.target.dispatchEvent(s),Gl=null}else return t=zo(n),t!==null&&ud(t),e.blockedOn=n,!1;t.shift()}return!0}function $u(e,t,n){ba(e)&&n.delete(t)}function vw(){Ul=!1,Wn!==null&&ba(Wn)&&(Wn=null),Fn!==null&&ba(Fn)&&(Fn=null),_n!==null&&ba(_n)&&(_n=null),mo.forEach($u),ho.forEac
vendor: 12,246 bytes, line 37
37h($u)}function Ws(e,t){e.blockedOn===t&&(e.blockedOn=null,Ul||(Ul=!0,ut.unstable_scheduleCallback(ut.unstable_NormalPriority,vw)))}function fo(e){function t(o){return Ws(o,e)}if(0<ra.length){Ws(ra[0],e);for(var n=1;n<ra.length;n++){var s=ra[n];s.blockedOn===e&&(s.blockedOn=null)}}for(Wn!==null&&Ws(Wn,e),Fn!==null&&Ws(Fn,e),_n!==null&&Ws(_n,e),mo.forEach(t),ho.forEach(t),n=0;n<Cn.length;n++)s=Cn[n],s.blockedOn===e&&(s.blockedOn=null);for(;0<Cn.length&&(n=Cn[0],n.blockedOn===null);)If(n),n.blockedOn===null&&Cn.shift()}var Kr=yn.ReactCurrentBatchConfig,La=!0;function bw(e,t,n,s){var o=ne,a=Kr.transition;Kr.transition=null;try{ne=1,md(e,t,n,s)}finally{ne=o,Kr.transition=a}}function jw(e,t,n,s){var o=ne,a=Kr.transition;Kr.transition=null;try{ne=4,md(e,t,n,s)}finally{ne=o,Kr.transition=a}}function md(e,t,n,s){if(La){var o=Kl(e,t,n,s);if(o===null)ml(e,t,s,za,n),Vu(e,s);else if(ww(o,e,t,n,s))s.stopPropagation();else if(Vu(e,s),t&4&&-1<yw.indexOf(e)){for(;o!==null;){var a=zo(o);if(a!==null&&Pf(a),a=Kl(e,t,n,s),a===null&&ml(e,t,s,za,n),a===o)break;o=a}o!==null&&s.stopPropagation()}else ml(e,t,s,null,n)}}var za=null;function Kl(e,t,n,s){if(za=null,e=ld(s),e=ir(e),e!==null)if(t=Er(e),t===null)e=null;else if(n=t.tag,n===13){if(e=vf(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return za=e,null}function Of(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(cw()){case cd:return 1;case kf:return 4;case Fa:case dw:return 16;case Sf:return 536870912;default:return 16}default:return 16}}var Mn=null,hd=null,ja=null;function Df(){if(ja)return ja;var e,t=hd,n=t.length,s,o="value"in Mn?Mn.value:Mn.textContent,a=o.length;for(e=0;e<n&&t[e]===o[e];e++);var i=n-e;for(s=1;s<=i&&t[n-s]===o[a-s];s++);return ja=o.slice(e,1<s?1-s:void 0)}function Na(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 sa(){return!0}function Qu(){return!1}function ht(e){function t(n,s,o,a,i){this._reactName=n,this._targetInst=o,this.type=s,this.nativeEvent=a,this.target=i,this.currentTarget=null;for(var l in e)e.hasOwnProperty(l)&&(n=e[l],this[l]=n?n(a):a[l]);return this.isDefaultPrevented=(a.defaultPrevented!=null?a.defaultPrevented:a.returnValue===!1)?sa:Qu,this.isPropagationStopped=Qu,this}return fe(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=sa)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=sa)},persist:function(){},isPersistent:sa}),t}var As={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},fd=ht(As),Lo=fe({},As,{view:0,detail:0}),Nw=ht(Lo),rl,sl,Fs,pi=fe({},Lo,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:pd,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!==Fs&&(Fs&&e.type==="mousemove"?(rl=e.screenX-Fs.screenX,sl=e.screenY-Fs.screenY):sl=rl=0,Fs=e),rl)},movementY:function(e){return"movementY"in e?e.movementY:sl}}),Uu=ht(pi),kw=fe({},pi,{dataTransfer:0}),Sw=ht(kw),Cw=fe({},Lo,{relatedTarget:0}),ol=ht(Cw),Aw=fe({},As,{animationName:0,elapsedTime:0,pseudoElement:0}),Pw=ht(Aw),Rw=fe({},As,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Ew=ht(Rw),Tw=fe({},As,{data:0}),Ku=ht(Tw),Iw={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Ow={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"},Dw={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Mw(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Dw[e])?!!t[e]:!1}function pd(){return Mw}var qw=fe({},Lo,{key:function(e){if(e.key){var t=Iw[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Na(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Ow[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:pd,charCode:function(e){return e.type==="keypress"?Na(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Na(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Ww=ht(qw),Fw=fe({},pi,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Xu=ht(Fw),_w=fe({},Lo,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:pd}),Lw=ht(_w),zw=fe({},As,{propertyName:0,elapsedTime:0,pseudoElement:0}),Bw=ht(zw),Hw=fe({},pi,{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}),Gw=ht(Hw),Yw=[9,13,27,32],gd=mn&&"CompositionEvent"in window,Js=null;mn&&"documentMode"in document&&(Js=document.documentMode);var Vw=mn&&"TextEvent"in window&&!Js,Mf=mn&&(!gd||Js&&8<Js&&11>=Js),Ju=" ",Zu=!1;function qf(e,t){switch(e){case"keyup":return Yw.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Wf(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Wr=!1;function $w(e,t){switch(e){case"compositionend":return Wf(t);case"keypress":return t.which!==32?null:(Zu=!0,Ju);case"textInput":return e=t.data,e===Ju&&Zu?null:e;default:return null}}function Qw(e,t){if(Wr)return e==="compositionend"||!gd&&qf(e,t)?(e=Df(),ja=hd=Mn=null,Wr=!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 Mf&&t.locale!=="ko"?null:t.data;default:return null}}var Uw={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 em(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Uw[e.type]:t==="textarea"}function Ff(e,t,n,s){pf(s),t=Ba(t,"onChange"),0<t.length&&(n=new fd("onChange","change",null,n,s),e.push({event:n,listeners:t}))}var Zs=null,po=null;function Kw(e){Uf(e,0)}function gi(e){var t=Lr(e);if(lf(t))return e}function Xw(e,t){if(e==="change")return t}var _f=!1;if(mn){var al;if(mn){var il="oninput"in document;if(!il){var tm=document.createElement("div");tm.setAttribute("oninput","return;"),il=typeof tm.oninput=="function"}al=il}else al=!1;_f=al&&(!document.documentMode||9<document.documentMode)}function nm(){Zs&&(Zs.detachEvent("onpropertychange",Lf),po=Zs=null)}function Lf(e){if(e.propertyName==="value"&&gi(po)){var t=[];Ff(t,po,e,ld(e)),wf(Kw,t)}}function Jw(e,t,n){e==="focusin"?(nm(),Zs=t,po=n,Zs.attachEvent("onpropertychange",Lf)):e==="focusout"&&nm()}function Zw(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return gi(po)}function e0(e,t){if(e==="click")return gi(t)}function t0(e,t){if(e==="input"||e==="change")return gi(t)}function n0(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var qt=typeof Object.is=="function"?Object.is:n0;function go(e,t){if(qt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),s=Object.keys(t);if(n.length!==s.length)return!1;for(s=0;s<n.length;s++){var o=n[s];if(!Il.call(t,o)||!qt(e[o],t[o]))return!1}return!0}function rm(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function sm(e,t){var n=rm(e);e=0;for(var s;n;){if(n.nodeType===3){if(s=e+n.textContent.length,e<=t&&s>=t)return{node:n,offset:t-e};e=s}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=rm(n)}}function zf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?zf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Bf(){for(var e=window,t=Ma();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ma(e.document)}return t}function xd(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 r0(e){var t=Bf(),n=e.focusedElem,s=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&zf(n.ownerDocument.documentElement,n)){if(s!==null&&xd(n)){if(t=s.start,e=s.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=n.textContent.length,a=Math.min(s.start,o);s=s.end===void 0?a:Math.min(s.end,o),!e.extend&&a>s&&(o=s,s=a,a=o),o=sm(n,a);var i=sm(n,s);o&&i&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),a>s?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var s0=mn&&"documentMode"in document&&11>=document.documentMode,Fr=null,Xl=null,eo=null,Jl=!1;function om(e,t,n){var s=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Jl||Fr==null||Fr!==Ma(s)||(s=Fr,"selectionStart"in s&&xd(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}),eo&&go(eo,s)||(eo=s,s=Ba(Xl,"onSelect"),0<s.length&&(t=new fd("onSelect","select",null,t,n),e.push({event:t,listeners:s}),t.target=Fr)))}function oa(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var _r={animationend:oa("Animation","AnimationEnd"),animationiteration:oa("Animation","AnimationIteration"),animationstart:
vendor: 4,265 bytes, line 37
37oa("Animation","AnimationStart"),transitionend:oa("Transition","TransitionEnd")},ll={},Hf={};mn&&(Hf=document.createElement("div").style,"AnimationEvent"in window||(delete _r.animationend.animation,delete _r.animationiteration.animation,delete _r.animationstart.animation),"TransitionEvent"in window||delete _r.transitionend.transition);function xi(e){if(ll[e])return ll[e];if(!_r[e])return e;var t=_r[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Hf)return ll[e]=t[n];return e}var Gf=xi("animationend"),Yf=xi("animationiteration"),Vf=xi("animationstart"),$f=xi("transitionend"),Qf=new Map,am="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 Xn(e,t){Qf.set(e,t),Rr(t,[e])}for(var cl=0;cl<am.length;cl++){var dl=am[cl],o0=dl.toLowerCase(),a0=dl[0].toUpperCase()+dl.slice(1);Xn(o0,"on"+a0)}Xn(Gf,"onAnimationEnd");Xn(Yf,"onAnimationIteration");Xn(Vf,"onAnimationStart");Xn("dblclick","onDoubleClick");Xn("focusin","onFocus");Xn("focusout","onBlur");Xn($f,"onTransitionEnd");gs("onMouseEnter",["mouseout","mouseover"]);gs("onMouseLeave",["mouseout","mouseover"]);gs("onPointerEnter",["pointerout","pointerover"]);gs("onPointerLeave",["pointerout","pointerover"]);Rr("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Rr("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Rr("onBeforeInput",["compositionend","keypress","textInput","paste"]);Rr("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Rr("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Rr("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var $s="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(" "),i0=new Set("cancel close invalid load scroll toggle".split(" ").concat($s));function im(e,t,n){var s=e.type||"unknown-event";e.currentTarget=n,ow(s,t,void 0,e),e.currentTarget=null}function Uf(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var s=e[n],o=s.event;s=s.listeners;e:{var a=void 0;if(t)for(var i=s.length-1;0<=i;i--){var l=s[i],c=l.instance,d=l.currentTarget;if(l=l.listener,c!==a&&o.isPropagationStopped())break e;im(o,l,d),a=c}else for(i=0;i<s.length;i++){if(l=s[i],c=l.instance,d=l.currentTarget,l=l.listener,c!==a&&o.isPropagationStopped())break e;im(o,l,d),a=c}}}if(Wa)throw e=$l,Wa=!1,$l=null,e}function ae(e,t){var n=t[rc];n===void 0&&(n=t[rc]=new Set);var s=e+"__bubble";n.has(s)||(Kf(t,e,2,!1),n.add(s))}function ul(e,t,n){var s=0;t&&(s|=4),Kf(n,e,s,t)}var aa="_reactListening"+Math.random().toString(36).slice(2);function xo(e){if(!e[aa]){e[aa]=!0,nf.forEach(function(n){n!=="selectionchange"&&(i0.has(n)||ul(n,!1,e),ul(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[aa]||(t[aa]=!0,ul("selectionchange",!1,t))}}function Kf(e,t,n,s){switch(Of(t)){case 1:var o=bw;break;case 4:o=jw;break;default:o=md}n=o.bind(null,t,n,e),o=void 0,!Vl||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(o=!0),s?o!==void 0?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):o!==void 0?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function ml(e,t,n,s,o){var a=s;if(!(t&1)&&!(t&2)&&s!==null)e:for(;;){if(s===null)return;var i=s.tag;if(i===3||i===4){var l=s.stateNode.containerInfo;if(l===o||l.nodeType===8&&l.parentNode===o)break;if(i===4)for(i=s.return;i!==null;){var c=i.tag;if((c===3||c===4)&&(c=i.stateNode.containerInfo,c===o||c.nodeType===8&&c.parentNode===o)
vendor: 2,343 bytes, line 37
37)return;i=i.return}for(;l!==null;){if(i=ir(l),i===null)return;if(c=i.tag,c===5||c===6){s=a=i;continue e}l=l.parentNode}}s=s.return}wf(function(){var d=a,u=ld(n),m=[];e:{var f=Qf.get(e);if(f!==void 0){var w=fd,y=e;switch(e){case"keypress":if(Na(n)===0)break e;case"keydown":case"keyup":w=Ww;break;case"focusin":y="focus",w=ol;break;case"focusout":y="blur",w=ol;break;case"beforeblur":case"afterblur":w=ol;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":w=Uu;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":w=Sw;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":w=Lw;break;case Gf:case Yf:case Vf:w=Pw;break;case $f:w=Bw;break;case"scroll":w=Nw;break;case"wheel":w=Gw;break;case"copy":case"cut":case"paste":w=Ew;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":w=Xu}var g=(t&4)!==0,b=!g&&e==="scroll",h=g?f!==null?f+"Capture":null:f;g=[];for(var p=d,x;p!==null;){x=p;var j=x.stateNode;if(x.tag===5&&j!==null&&(x=j,h!==null&&(j=uo(p,h),j!=null&&g.push(yo(p,j,x)))),b)break;p=p.return}0<g.length&&(f=new w(f,y,null,n,u),m.push({event:f,listeners:g}))}}if(!(t&7)){e:{if(f=e==="mouseover"||e==="pointerover",w=e==="mouseout"||e==="pointerout",f&&n!==Gl&&(y=n.relatedTarget||n.fromElement)&&(ir(y)||y[hn]))break e;if((w||f)&&(f=u.window===u?u:(f=u.ownerDocument)?f.defaultView||f.parentWindow:window,w?(y=n.relatedTarget||n.toElement,w=d,y=y?ir(y):null,y!==null&&(b=Er(y),y!==b||y.tag!==5&&y.tag!==6)&&(y=null)):(w=null,y=d),w!==y)){if(g=Uu,j="onMouseLeave",h="onMouseEnter",p="mouse",(e==="pointerout"||e==="pointerover")&&(g=Xu,j="onPointerLeave",h="onPointerEnter",p="pointer"),b=w==null?f:Lr(w),x=y==null?f:Lr(y),f=new g(j,p+"leave",w,n,u),f.target=b,f.relatedTarget=x,j=null,ir(u)===d&&(g=new g(h,p+"enter",y,n,u),g.target=x,g.relatedTarget=b,j=g),b=j,w&&y)t:{for(g=w,h=y,p=0,x=g;x;x=Or(x))p++;for(x=0,j=h;j;j=Or(j))x++;for(;0<p-x;)g=Or(g),p--;for(;0<x-p;)h=Or(h),x--;for(;p--;){if(g===h||h!==null&&g===h.alternate)break t;g=Or(g),h=Or(h)}g=null}else g=null;w!==null&&lm(m,f,w,g,!1),y!==null&&b!==null&&lm(m,b,y,g,!0)}}
vendor: 7,977 bytes, lines 37-38
37e:{if(f=d?Lr(d):window,w=f.nodeName&&f.nodeName.toLowerCase(),w==="select"||w==="input"&&f.type==="file")var k=Xw;else if(em(f))if(_f)k=t0;else{k=Zw;var C=Jw}else(w=f.nodeName)&&w.toLowerCase()==="input"&&(f.type==="checkbox"||f.type==="radio")&&(k=e0);if(k&&(k=k(e,d))){Ff(m,k,n,u);break e}C&&C(e,f,d),e==="focusout"&&(C=f._wrapperState)&&C.controlled&&f.type==="number"&&_l(f,"number",f.value)}switch(C=d?Lr(d):window,e){case"focusin":(em(C)||C.contentEditable==="true")&&(Fr=C,Xl=d,eo=null);break;case"focusout":eo=Xl=Fr=null;break;case"mousedown":Jl=!0;break;case"contextmenu":case"mouseup":case"dragend":Jl=!1,om(m,n,u);break;case"selectionchange":if(s0)break;case"keydown":case"keyup":om(m,n,u)}var S;if(gd)e:{switch(e){case"compositionstart":var A="onCompositionStart";break e;case"compositionend":A="onCompositionEnd";break e;case"compositionupdate":A="onCompositionUpdate";break e}A=void 0}else Wr?qf(e,n)&&(A="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(A="onCompositionStart");A&&(Mf&&n.locale!=="ko"&&(Wr||A!=="onCompositionStart"?A==="onCompositionEnd"&&Wr&&(S=Df()):(Mn=u,hd="value"in Mn?Mn.value:Mn.textContent,Wr=!0)),C=Ba(d,A),0<C.length&&(A=new Ku(A,e,null,n,u),m.push({event:A,listeners:C}),S?A.data=S:(S=Wf(n),S!==null&&(A.data=S)))),(S=Vw?$w(e,n):Qw(e,n))&&(d=Ba(d,"onBeforeInput"),0<d.length&&(u=new Ku("onBeforeInput","beforeinput",null,n,u),m.push({event:u,listeners:d}),u.data=S))}Uf(m,t)})}function yo(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Ba(e,t){for(var n=t+"Capture",s=[];e!==null;){var o=e,a=o.stateNode;o.tag===5&&a!==null&&(o=a,a=uo(e,n),a!=null&&s.unshift(yo(e,a,o)),a=uo(e,t),a!=null&&s.push(yo(e,a,o))),e=e.return}return s}function Or(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function lm(e,t,n,s,o){for(var a=t._reactName,i=[];n!==null&&n!==s;){var l=n,c=l.alternate,d=l.stateNode;if(c!==null&&c===s)break;l.tag===5&&d!==null&&(l=d,o?(c=uo(n,a),c!=null&&i.unshift(yo(n,c,l))):o||(c=uo(n,a),c!=null&&i.push(yo(n,c,l)))),n=n.return}i.length!==0&&e.push({event:t,listeners:i})}var l0=/\r\n?/g,c0=/\u0000|\uFFFD/g;function cm(e){return(typeof e=="string"?e:""+e).replace(l0,` 38`).replace(c0,"")}function ia(e,t,n){if(t=cm(t),cm(e)!==t&&n)throw Error(T(425))}function Ha(){}var Zl=null,ec=null;function tc(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 nc=typeof setTimeout=="function"?setTimeout:void 0,d0=typeof clearTimeout=="function"?clearTimeout:void 0,dm=typeof Promise=="function"?Promise:void 0,u0=typeof queueMicrotask=="function"?queueMicrotask:typeof dm<"u"?function(e){return dm.resolve(null).then(e).catch(m0)}:nc;function m0(e){setTimeout(function(){throw e})}function hl(e,t){var n=t,s=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&o.nodeType===8)if(n=o.data,n==="/$"){if(s===0){e.removeChild(o),fo(t);return}s--}else n!=="$"&&n!=="$?"&&n!=="$!"||s++;n=o}while(n);fo(t)}function Ln(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 um(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var Ps=Math.random().toString(36).slice(2),Vt="__reactFiber$"+Ps,wo="__reactProps$"+Ps,hn="__reactContainer$"+Ps,rc="__reactEvents$"+Ps,h0="__reactListeners$"+Ps,f0="__reactHandles$"+Ps;function ir(e){var t=e[Vt];if(t)return t;for(var n=e.parentNode;n;){if(t=n[hn]||n[Vt]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=um(e);e!==null;){if(n=e[Vt])return n;e=um(e)}return t}e=n,n=e.parentNode}return null}function zo(e){return e=e[Vt]||e[hn],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Lr(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(T(33))}function yi(e){return e[wo]||null}var sc=[],zr=-1;function Jn(e){return{current:e}}function ie(e){0>zr||(e.current=sc[zr],sc[zr]=null,zr--)}function se(e,t){zr++,sc[zr]=e.current,e.current=t}var Vn={},Be=Jn(Vn),tt=Jn(!1),vr=Vn;function xs(e,t){var n=e.type.contextTypes;if(!n)return Vn;var s=e.stateNode;if(s&&s.__reactInternalMemoizedUnmaskedChildContext===t)return s.__reactInternalMemoizedMaskedChildContext;var o={},a;for(a in n)o[a]=t[a];return s&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function nt(e){return e=e.childContextTypes,e!=null}function Ga(){ie(tt),ie(Be)}function mm(e,t,n){if(Be.current!==Vn)throw Error(T(168));se(Be,t),se(tt,n)}function Xf(e,t,n){var s=e.stateNode;if(t=t.childContextTypes,typeof s.getChildContext!="function")return n;s=s.getChildContext();for(var o in s)if(!(o in t))throw Error(T(108,Jy(e)||"Unknown",o));return fe({},n,s)}function Ya(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Vn,vr=Be.current,se(Be,e),se(tt,tt.current),!0}function hm(e,t,n){var s=e.stateNode;if(!s)throw Error(T(169));n?(e=Xf(e,t,vr),s.__reactInternalMemoizedMergedChildContext=e,ie(tt),ie(Be),se(Be,e)):ie(tt),se(tt,n)}var an=null,wi=!1,fl=!1;function Jf(e){an===null?an=[e]:an.push(e)}function p0(e){wi=!0,Jf(e)}function Zn(){if(!fl&&an!==null){fl=!0;var e=0,t=ne;try{var n=an;for(ne=1;e<n.length;e++){var s=n[e];do s=s(!0);while(s!==null)}an=null,wi=!1}catch(o){throw an!==null&&(an=an.slice(e+1)),Nf(cd,Zn),o}finally{ne=t,fl=!1}}return null}var Br=[],Hr=0,Va=null,$a=0,yt=[],wt=0,br=null,ln=1,cn="";function or(e,t){Br[Hr++]=$a,Br[Hr++]=Va,Va=e,$a=t}function Zf(e,t,n){yt[wt++]=ln,yt[wt++]=cn,yt[wt++]=br,br=e;var s=ln;e=cn;var o=32-Ot(s)-1;s&=~(1<<o),n+=1;var a=32-Ot(t)+o;if(30<a){var i=o-o%5;a=(s&(1<<i)-1).toString(32),s>>=i,o-=i,ln=1<<32-Ot(t)+o|n<<o|s,cn=a+e}else ln=1<<a|n<<o|s,cn=e}function yd(e){e.return!==null&&(or(e,1),Zf(e,1,0))}function wd(e){for(;e===Va;)Va=Br[--Hr],Br[Hr]=null,$a=Br[--Hr],Br[Hr]=null;for(;e===br;)br=yt[--wt],yt[wt]=null,cn=yt[--wt],yt[wt]=null,ln=yt[--wt],yt[wt]=null}var ct=null,lt=null,ce=!1,Tt=null;function ep(e,t){var n=vt(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function fm(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,ct=e,lt=Ln(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,ct=e,lt=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=br!==null?{id:ln,overflow:cn}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=vt(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,ct=e,lt=null,!0):!1;default:return!1}}function oc(e){return(e.mode&1)!==0&&(e.flags&128)===0}function ac(e){if(ce){var t=lt;if(t){var n=t;if(!fm(e,t)){if(oc(e))throw Error(T(418));t=Ln(n.nextSibling);var s=ct;t&&fm(e,t)?ep(s,n):(e.flags=e.flags&-4097|2,ce=!1,ct=e)}}else{if(oc(e))throw Error(T(418));e.flags=e.flags&-4097|2,ce=!1,ct=e}}}function pm(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;ct=e}function la(e){if(e!==ct)return!1;if(!ce)return pm(e),ce=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!tc(e.type,e.memoizedProps)),t&&(t=lt)){if(oc(e))throw tp(),Error(T(418));for(;t;)ep(e,t),t=Ln(t.nextSibling)}if(pm(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(T(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){lt=Ln(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}lt=null}}else lt=ct?Ln(e.stateNode.nextSibling):null;return!0}function tp(){for(var e=lt;e;)e=Ln(e.nextSibling)}function ys(){lt=ct=null,ce=!1}function vd(e){Tt===null?Tt=[e]:Tt.push(e)}var g0=yn.ReactCurrentBatchConfig;
vendor: 13,596 bytes, line 38
38function _s(e,t,n){if(e=n.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(T(309));var s=n.stateNode}if(!s)throw Error(T(147,e));var o=s,a=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===a?t.ref:(t=function(i){var l=o.refs;i===null?delete l[a]:l[a]=i},t._stringRef=a,t)}if(typeof e!="string")throw Error(T(284));if(!n._owner)throw Error(T(290,e))}return e}function ca(e,t){throw e=Object.prototype.toString.call(t),Error(T(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function gm(e){var t=e._init;return t(e._payload)}function np(e){function t(h,p){if(e){var x=h.deletions;x===null?(h.deletions=[p],h.flags|=16):x.push(p)}}function n(h,p){if(!e)return null;for(;p!==null;)t(h,p),p=p.sibling;return null}function s(h,p){for(h=new Map;p!==null;)p.key!==null?h.set(p.key,p):h.set(p.index,p),p=p.sibling;return h}function o(h,p){return h=Gn(h,p),h.index=0,h.sibling=null,h}function a(h,p,x){return h.index=x,e?(x=h.alternate,x!==null?(x=x.index,x<p?(h.flags|=2,p):x):(h.flags|=2,p)):(h.flags|=1048576,p)}function i(h){return e&&h.alternate===null&&(h.flags|=2),h}function l(h,p,x,j){return p===null||p.tag!==6?(p=bl(x,h.mode,j),p.return=h,p):(p=o(p,x),p.return=h,p)}function c(h,p,x,j){var k=x.type;return k===qr?u(h,p,x.props.children,j,x.key):p!==null&&(p.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===kn&&gm(k)===p.type)?(j=o(p,x.props),j.ref=_s(h,p,x),j.return=h,j):(j=Ea(x.type,x.key,x.props,null,h.mode,j),j.ref=_s(h,p,x),j.return=h,j)}function d(h,p,x,j){return p===null||p.tag!==4||p.stateNode.containerInfo!==x.containerInfo||p.stateNode.implementation!==x.implementation?(p=jl(x,h.mode,j),p.return=h,p):(p=o(p,x.children||[]),p.return=h,p)}function u(h,p,x,j,k){return p===null||p.tag!==7?(p=yr(x,h.mode,j,k),p.return=h,p):(p=o(p,x),p.return=h,p)}function m(h,p,x){if(typeof p=="string"&&p!==""||typeof p=="number")return p=bl(""+p,h.mode,x),p.return=h,p;if(typeof p=="object"&&p!==null){switch(p.$$typeof){case Jo:return x=Ea(p.type,p.key,p.props,null,h.mode,x),x.ref=_s(h,null,p),x.return=h,x;case Mr:return p=jl(p,h.mode,x),p.return=h,p;case kn:var j=p._init;return m(h,j(p._payload),x)}if(Ys(p)||Ds(p))return p=yr(p,h.mode,x,null),p.return=h,p;ca(h,p)}return null}function f(h,p,x,j){var k=p!==null?p.key:null;if(typeof x=="string"&&x!==""||typeof x=="number")return k!==null?null:l(h,p,""+x,j);if(typeof x=="object"&&x!==null){switch(x.$$typeof){case Jo:return x.key===k?c(h,p,x,j):null;case Mr:return x.key===k?d(h,p,x,j):null;case kn:return k=x._init,f(h,p,k(x._payload),j)}if(Ys(x)||Ds(x))return k!==null?null:u(h,p,x,j,null);ca(h,x)}return null}function w(h,p,x,j,k){if(typeof j=="string"&&j!==""||typeof j=="number")return h=h.get(x)||null,l(p,h,""+j,k);if(typeof j=="object"&&j!==null){switch(j.$$typeof){case Jo:return h=h.get(j.key===null?x:j.key)||null,c(p,h,j,k);case Mr:return h=h.get(j.key===null?x:j.key)||null,d(p,h,j,k);case kn:var C=j._init;return w(h,p,x,C(j._payload),k)}if(Ys(j)||Ds(j))return h=h.get(x)||null,u(p,h,j,k,null);ca(p,j)}return null}function y(h,p,x,j){for(var k=null,C=null,S=p,A=p=0,R=null;S!==null&&A<x.length;A++){S.index>A?(R=S,S=null):R=S.sibling;var E=f(h,S,x[A],j);if(E===null){S===null&&(S=R);break}e&&S&&E.alternate===null&&t(h,S),p=a(E,p,A),C===null?k=E:C.sibling=E,C=E,S=R}if(A===x.length)return n(h,S),ce&&or(h,A),k;if(S===null){for(;A<x.length;A++)S=m(h,x[A],j),S!==null&&(p=a(S,p,A),C===null?k=S:C.sibling=S,C=S);return ce&&or(h,A),k}for(S=s(h,S);A<x.length;A++)R=w(S,h,A,x[A],j),R!==null&&(e&&R.alternate!==null&&S.delete(R.key===null?A:R.key),p=a(R,p,A),C===null?k=R:C.sibling=R,C=R);return e&&S.forEach(function(M){return t(h,M)}),ce&&or(h,A),k}function g(h,p,x,j){var k=Ds(x);if(typeof k!="function")throw Error(T(150));if(x=k.call(x),x==null)throw Error(T(151));for(var C=k=null,S=p,A=p=0,R=null,E=x.next();S!==null&&!E.done;A++,E=x.next()){S.index>A?(R=S,S=null):R=S.sibling;var M=f(h,S,E.value,j);if(M===null){S===null&&(S=R);break}e&&S&&M.alternate===null&&t(h,S),p=a(M,p,A),C===null?k=M:C.sibling=M,C=M,S=R}if(E.done)return n(h,S),ce&&or(h,A),k;if(S===null){for(;!E.done;A++,E=x.next())E=m(h,E.value,j),E!==null&&(p=a(E,p,A),C===null?k=E:C.sibling=E,C=E);return ce&&or(h,A),k}for(S=s(h,S);!E.done;A++,E=x.next())E=w(S,h,A,E.value,j),E!==null&&(e&&E.alternate!==null&&S.delete(E.key===null?A:E.key),p=a(E,p,A),C===null?k=E:C.sibling=E,C=E);return e&&S.forEach(function(D){return t(h,D)}),ce&&or(h,A),k}function b(h,p,x,j){if(typeof x=="object"&&x!==null&&x.type===qr&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case Jo:e:{for(var k=x.key,C=p;C!==null;){if(C.key===k){if(k=x.type,k===qr){if(C.tag===7){n(h,C.sibling),p=o(C,x.props.children),p.return=h,h=p;break e}}else if(C.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===kn&&gm(k)===C.type){n(h,C.sibling),p=o(C,x.props),p.ref=_s(h,C,x),p.return=h,h=p;break e}n(h,C);break}else t(h,C);C=C.sibling}x.type===qr?(p=yr(x.props.children,h.mode,j,x.key),p.return=h,h=p):(j=Ea(x.type,x.key,x.props,null,h.mode,j),j.ref=_s(h,p,x),j.return=h,h=j)}return i(h);case Mr:e:{for(C=x.key;p!==null;){if(p.key===C)if(p.tag===4&&p.stateNode.containerInfo===x.containerInfo&&p.stateNode.implementation===x.implementation){n(h,p.sibling),p=o(p,x.children||[]),p.return=h,h=p;break e}else{n(h,p);break}else t(h,p);p=p.sibling}p=jl(x,h.mode,j),p.return=h,h=p}return i(h);case kn:return C=x._init,b(h,p,C(x._payload),j)}if(Ys(x))return y(h,p,x,j);if(Ds(x))return g(h,p,x,j);ca(h,x)}return typeof x=="string"&&x!==""||typeof x=="number"?(x=""+x,p!==null&&p.tag===6?(n(h,p.sibling),p=o(p,x),p.return=h,h=p):(n(h,p),p=bl(x,h.mode,j),p.return=h,h=p),i(h)):n(h,p)}return b}var ws=np(!0),rp=np(!1),Qa=Jn(null),Ua=null,Gr=null,bd=null;function jd(){bd=Gr=Ua=null}function Nd(e){var t=Qa.current;ie(Qa),e._currentValue=t}function ic(e,t,n){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===n)break;e=e.return}}function Xr(e,t){Ua=e,bd=Gr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(et=!0),e.firstContext=null)}function jt(e){var t=e._currentValue;if(bd!==e)if(e={context:e,memoizedValue:t,next:null},Gr===null){if(Ua===null)throw Error(T(308));Gr=e,Ua.dependencies={lanes:0,firstContext:e}}else Gr=Gr.next=e;return t}var lr=null;function kd(e){lr===null?lr=[e]:lr.push(e)}function sp(e,t,n,s){var o=t.interleaved;return o===null?(n.next=n,kd(t)):(n.next=o.next,o.next=n),t.interleaved=n,fn(e,s)}function fn(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Sn=!1;function Sd(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function op(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 dn(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function zn(e,t,n){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,Z&2){var o=s.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),s.pending=t,fn(e,n)}return o=s.interleaved,o===null?(t.next=t,kd(s)):(t.next=o.next,o.next=t),s.interleaved=t,fn(e,n)}function ka(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var s=t.lanes;s&=e.pendingLanes,n|=s,t.lanes=n,dd(e,n)}}function xm(e,t){var n=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,n===s)){var o=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};a===null?o=a=i:a=a.next=i,n=n.next}while(n!==null);a===null?o=a=t:a=a.next=t}else o=a=t;n={baseState:s.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:s.shared,effects:s.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Ka(e,t,n,s){var o=e.updateQueue;Sn=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,l=o.shared.pending;if(l!==null){o.shared.pending=null;var c=l,d=c.next;c.next=null,i===null?a=d:i.next=d,i=c;var u=e.alternate;u!==null&&(u=u.updateQueue,l=u.lastBaseUpdate,l!==i&&(l===null?u.firstBaseUpdate=d:l.next=d,u.lastBaseUpdate=c))}if(a!==null){var m=o.baseState;i=0,u=d=c=null,l=a;do{var f=l.lane,w=l.eventTime;if((s&f)===f){u!==null&&(u=u.next={eventTime:w,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var y=e,g=l;switch(f=t,w=n,g.tag){case 1:if(y=g.payload,typeof y=="function"){m=y.call(w,m,f);break e}m=y;break e;case 3:y.flags=y.flags&-65537|128;case 0:if(y=g.payload,f=typeof y=="function"?y.call(w,m,f):y,f==null)break e;m=fe({},m,f);break e;case 2:Sn=!0}}l.callback!==null&&l.lane!==0&&(e.flags|=64,f=o.effects,f===null?o.effects=[l]:f.push(l))}else w={eventTime:w,lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},u===null?(d=u=w,c=m):u=u.next=w,i|=f;if(l=l.next,l===null){if(l=o.shared.pending,l===null)break;f=l,l=f.next,f.next=null,o.lastBaseUpdate=f,o.shared.pending=null}}while(!0);if(u===null&&(c=m),o.baseState=c,o.firstBaseUpdate=d,o.lastBaseUpdate=u,t=o.shared.interleaved,t!==null){o=t;do i|=o.lane,o=o.next;while(o!==t)}else a===null&&(o.shared.lanes=0);Nr|=i,e.lanes=i,e.memoizedState=m}}function ym(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var s=e[t],o=s.callback;if(o!==null){if(s.callback=null,s=n,typeof o!="function")throw Error(T(191,o));o.call(s)}}}var Bo={},Qt=Jn(Bo),vo=Jn(Bo),bo=Jn(Bo);function cr(e){if(e===Bo)throw Error(T(174));return e}function Cd(e,t){switch(se(bo,t),se(vo,e),se(Qt,Bo),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:zl(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=zl(t,e)}ie(Qt),se(Qt,t)}function vs(){ie(Qt),ie(vo),ie(bo)}function ap(e){cr(bo.current);var t=cr(Qt.current),n=zl(t,e.type);t!==n&&(se(vo,e),se(Qt,n))}function Ad(e){vo.current===e&&(ie(Qt),ie(vo))}var ue=Jn(0);function Xa(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.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 pl=[];function Pd(){for(var e=0;e<pl.length;e++)pl[e]._workInProgressVersionPrimary=null;pl.length=0}var Sa=yn.ReactCurrentDispatcher,gl=yn.ReactCurrentBatchConfig,jr=0,he=null,Ce=null,Ee=null,Ja=!1,to=!1,jo=0,x0=0;function Fe(){throw Error(T(321))}function Rd(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!qt(e[n],t[n]))return!1;return!0}function Ed(e,t,n,s,o,a){if(jr=a,he=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Sa.current=e===null||e.memoizedState===null?b0:j0,e=n(s,o),to){a=0;do{if(to=!1,jo=0,25<=a)throw Error(T(301));a+=1,Ee=Ce=null,t.updateQueue=null,Sa.current=N0,e=n(s,o)}while(to)}if(Sa.current=Za,t=Ce!==null&&Ce.next!==null,jr=0,Ee=Ce=he=null,Ja=!1,t)throw Error(T(300));return e}function Td(){var e=jo!==0;return jo=0,e}function zt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ee===null?he.memoizedState=Ee=e:Ee=Ee.next=e,Ee}function Nt(){if(Ce===null){var e=he.alternate;e=e!==null?e.memoizedState:null}else e=Ce.next;var t=Ee===null?he.memoizedState:Ee.next;if(t!==null)Ee=t,Ce=e;else{if(e===null)throw Error(T(310));Ce=e,e={memoizedState:Ce.memoizedState,baseState:Ce.baseState,baseQueue:Ce.baseQueue,queue:Ce.queue,next:null},Ee===null?he.memoizedState=Ee=e:Ee=Ee.next=e}return Ee}function No(e,t){return typeof t=="function"?t(e):t}function xl(e){var t=Nt(),n=t.queue;if(n===null)throw Error(T(311));n.lastRenderedReducer=e;var s=Ce,o=s.baseQueue,a=n.pending;if(a!==null){if(o!==null){var i=o.next;o.next=a.next,a.next=i}s.baseQueue=o=a,n.pending=null}if(o!==null){a=o.next,s=s.baseState;var l=i=null,c=null,d=a;do{var u=d.lane;if((jr&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 m={lane:u,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};c===null?(l=c=m,i=s):c=c.next=m,he.lanes|=u,Nr|=u}d=d.next}while(d!==null&&d!==a);c===null?i=s:c.next=l,qt(s,t.memoizedState)||(et=!0),t.memoizedState=s,t.baseState=i,t.baseQueue=c,n.lastRenderedState=s}if(e=n.interleaved,e!==null){o=e;do a=o.lane,he.lanes|=a,Nr|=a,o=o.next;while(o!==e)}else o===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function yl(e){var t=Nt(),n=t.queue;if(n===null)throw Error(T(311));n.lastRenderedReducer=e;var s=n.dispatch,o=n.pending,a=t.memoizedState;if(o!==null){n.pending=null;var i=o=o.next;do a=e(a,i.action),i=i.next;while(i!==o);qt(a,t.memoizedState)||(et=!0),t.memoizedState=a,t.baseQueue===null&&(t.baseState=a),n.lastRenderedState=a}return[a,s]}function ip(){}function lp(e,t){var n=he,s=Nt(),o=t(),a=!qt(s.memoizedState,o);if(a&&(s.memoizedState=o,et=!0),s=s.queue,Id(up.bind(null,n,s,e),[e]),s.getSnapshot!==t||a||Ee!==null&&Ee.memoizedState.tag&1){if(n.flags|=2048,ko(9,dp.bind(null,n,s,o,t),void 0,null),Te===null)throw Error(T(349));jr&30||cp(n,t,o)}return o}
vendor: 4,204 bytes, line 38
38function cp(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=he.updateQueue,t===null?(t={lastEffect:null,stores:null},he.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function dp(e,t,n,s){t.value=n,t.getSnapshot=s,mp(t)&&hp(e)}function up(e,t,n){return n(function(){mp(t)&&hp(e)})}function mp(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!qt(e,n)}catch{return!0}}function hp(e){var t=fn(e,1);t!==null&&Dt(t,e,1,-1)}function wm(e){var t=zt();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:No,lastRenderedState:e},t.queue=e,e=e.dispatch=v0.bind(null,he,e),[t.memoizedState,e]}function ko(e,t,n,s){return e={tag:e,create:t,destroy:n,deps:s,next:null},t=he.updateQueue,t===null?(t={lastEffect:null,stores:null},he.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(s=n.next,n.next=e,e.next=s,t.lastEffect=e)),e}function fp(){return Nt().memoizedState}function Ca(e,t,n,s){var o=zt();he.flags|=e,o.memoizedState=ko(1|t,n,void 0,s===void 0?null:s)}function vi(e,t,n,s){var o=Nt();s=s===void 0?null:s;var a=void 0;if(Ce!==null){var i=Ce.memoizedState;if(a=i.destroy,s!==null&&Rd(s,i.deps)){o.memoizedState=ko(t,n,a,s);return}}he.flags|=e,o.memoizedState=ko(1|t,n,a,s)}function vm(e,t){return Ca(8390656,8,e,t)}function Id(e,t){return vi(2048,8,e,t)}function pp(e,t){return vi(4,2,e,t)}function gp(e,t){return vi(4,4,e,t)}function xp(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 yp(e,t,n){return n=n!=null?n.concat([e]):null,vi(4,4,xp.bind(null,t,e),n)}function Od(){}function wp(e,t){var n=Nt();t=t===void 0?null:t;var s=n.memoizedState;return s!==null&&t!==null&&Rd(t,s[1])?s[0]:(n.memoizedState=[e,t],e)}function vp(e,t){var n=Nt();t=t===void 0?null:t;var s=n.memoizedState;return s!==null&&t!==null&&Rd(t,s[1])?s[0]:(e=e(),n.memoizedState=[e,t],e)}function bp(e,t,n){return jr&21?(qt(n,t)||(n=Cf(),he.lanes|=n,Nr|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,et=!0),e.memoizedState=n)}function y0(e,t){var n=ne;ne=n!==0&&4>n?n:4,e(!0);var s=gl.transition;gl.transition={};try{e(!1),t()}finally{ne=n,gl.transition=s}}function jp(){return Nt().memoizedState}function w0(e,t,n){var s=Hn(e);if(n={lane:s,action:n,hasEagerState:!1,eagerState:null,next:null},Np(e))kp(t,n);else if(n=sp(e,t,n,s),n!==null){var o=Qe();Dt(n,e,s,o),Sp(n,t,s)}}function v0(e,t,n){var s=Hn(e),o={lane:s,action:n,hasEagerState:!1,eagerState:null,next:null};if(Np(e))kp(t,o);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var i=t.lastRenderedState,l=a(i,n);if(o.hasEagerState=!0,o.eagerState=l,qt(l,i)){var c=t.interleaved;c===null?(o.next=o,kd(t)):(o.next=c.next,c.next=o),t.interleaved=o;return}}catch{}finally{}n=sp(e,t,o,s),n!==null&&(o=Qe(),Dt(n,e,s,o),Sp(n,t,s))}}function Np(e){var t=e.alternate;return e===he||t!==null&&t===he}function kp(e,t){to=Ja=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Sp(e,t,n){if(n&4194240){var s=t.lanes;s&=e.pendingLanes,n|=s,t.lanes=n,dd(e,n)}}var Za={readContext:jt,useCallback:Fe,useContext:Fe,useEffect:Fe,useImperativeHandle:Fe,useInsertionEffect:Fe,useLayoutEffect:Fe,useMemo:Fe,useReducer:Fe,useRef:Fe,useState:Fe,useDebugValue:Fe,useDeferredValue:Fe,useTransition:Fe,useMutableSource:Fe,useSyncExternalStore:Fe,useId:Fe,unstable_isNewReconciler:!1},b0={readContext:jt,useCallback:function(e,t){return zt().memoizedState=[e,t===void 0?null:t],e},useContext:jt,useEffect:vm,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Ca(4194308,4,xp.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ca(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ca(4,2,e,t)},useMemo:function(e,t){var n=zt();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var s=zt();return t=n!==void 0?n(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=w0.bind(null,he,e),[s.memoizedState,e]}
vendor: 6,733 bytes, lines 38-40
38,useRef:function(e){var t=zt();return e={current:e},t.memoizedState=e},useState:wm,useDebugValue:Od,useDeferredValue:function(e){return zt().memoizedState=e},useTransition:function(){var e=wm(!1),t=e[0];return e=y0.bind(null,e[1]),zt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var s=he,o=zt();if(ce){if(n===void 0)throw Error(T(407));n=n()}else{if(n=t(),Te===null)throw Error(T(349));jr&30||cp(s,t,n)}o.memoizedState=n;var a={value:n,getSnapshot:t};return o.queue=a,vm(up.bind(null,s,a,e),[e]),s.flags|=2048,ko(9,dp.bind(null,s,a,n,t),void 0,null),n},useId:function(){var e=zt(),t=Te.identifierPrefix;if(ce){var n=cn,s=ln;n=(s&~(1<<32-Ot(s)-1)).toString(32)+n,t=":"+t+"R"+n,n=jo++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=x0++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},j0={readContext:jt,useCallback:wp,useContext:jt,useEffect:Id,useImperativeHandle:yp,useInsertionEffect:pp,useLayoutEffect:gp,useMemo:vp,useReducer:xl,useRef:fp,useState:function(){return xl(No)},useDebugValue:Od,useDeferredValue:function(e){var t=Nt();return bp(t,Ce.memoizedState,e)},useTransition:function(){var e=xl(No)[0],t=Nt().memoizedState;return[e,t]},useMutableSource:ip,useSyncExternalStore:lp,useId:jp,unstable_isNewReconciler:!1},N0={readContext:jt,useCallback:wp,useContext:jt,useEffect:Id,useImperativeHandle:yp,useInsertionEffect:pp,useLayoutEffect:gp,useMemo:vp,useReducer:yl,useRef:fp,useState:function(){return yl(No)},useDebugValue:Od,useDeferredValue:function(e){var t=Nt();return Ce===null?t.memoizedState=e:bp(t,Ce.memoizedState,e)},useTransition:function(){var e=yl(No)[0],t=Nt().memoizedState;return[e,t]},useMutableSource:ip,useSyncExternalStore:lp,useId:jp,unstable_isNewReconciler:!1};function Pt(e,t){if(e&&e.defaultProps){t=fe({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function lc(e,t,n,s){t=e.memoizedState,n=n(s,t),n=n==null?t:fe({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var bi={isMounted:function(e){return(e=e._reactInternals)?Er(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var s=Qe(),o=Hn(e),a=dn(s,o);a.payload=t,n!=null&&(a.callback=n),t=zn(e,a,o),t!==null&&(Dt(t,e,o,s),ka(t,e,o))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var s=Qe(),o=Hn(e),a=dn(s,o);a.tag=1,a.payload=t,n!=null&&(a.callback=n),t=zn(e,a,o),t!==null&&(Dt(t,e,o,s),ka(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Qe(),s=Hn(e),o=dn(n,s);o.tag=2,t!=null&&(o.callback=t),t=zn(e,o,s),t!==null&&(Dt(t,e,s,n),ka(t,e,s))}};function bm(e,t,n,s,o,a,i){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(s,a,i):t.prototype&&t.prototype.isPureReactComponent?!go(n,s)||!go(o,a):!0}function Cp(e,t,n){var s=!1,o=Vn,a=t.contextType;return typeof a=="object"&&a!==null?a=jt(a):(o=nt(t)?vr:Be.current,s=t.contextTypes,a=(s=s!=null)?xs(e,o):Vn),t=new t(n,a),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=bi,e.stateNode=t,t._reactInternals=e,s&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=a),t}function jm(e,t,n,s){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,s),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,s),t.state!==e&&bi.enqueueReplaceState(t,t.state,null)}function cc(e,t,n,s){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs={},Sd(e);var a=t.contextType;typeof a=="object"&&a!==null?o.context=jt(a):(a=nt(t)?vr:Be.current,o.context=xs(e,a)),o.state=e.memoizedState,a=t.getDerivedStateFromProps,typeof a=="function"&&(lc(e,t,a,n),o.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof o.getSnapshotBeforeUpdate=="function"||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(t=o.state,typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount(),t!==o.state&&bi.enqueueReplaceState(o,o.state,null),Ka(e,n,o,s),o.state=e.memoizedState),typeof o.componentDidMount=="function"&&(e.flags|=4194308)}function bs(e,t){try{var n="",s=t;do n+=Xy(s),s=s.return;while(s);var o=n}catch(a){o=` 39Error generating stack: `+a.message+` 40`+a.stack}return{value:e,source:t,stack:o,digest:null}}function wl(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function dc(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var k0=typeof WeakMap=="function"?WeakMap:Map;function Ap(e,t,n){n=dn(-1,n),n.tag=3,n.payload={element:null};var s=t.value;return n.callback=function(){ti||(ti=!0,vc=s),dc(e,t)},n}function Pp(e,t,n){n=dn(-1,n),n.tag=3;var s=e.type.getDerivedStateFromError;if(typeof s=="function"){var o=t.value;n.payload=function(){return s(o)},n.callback=function(){dc(e,t)}}var a=e.stateNode;return a!==null&&typeof a.componentDidCatch=="function"&&(n.callback=function(){dc(e,t),typeof s!="function"&&(Bn===null?Bn=new Set([this]):Bn.add(this));var i=t.stack;this.componentDidCatch(t.value,{componentStack:i!==null?i:""})}),n}function Nm(e,t,n){var s=e.pingCache;if(s===null){s=e.pingCache=new k0;var o=new Set;s.set(t,o)}else o=s.get(t),o===void 0&&(o=new Set,s.set(t,o));o.has(n)||(o.add(n),e=F0.bind(null,e,t,n),t.then(e,e))}function km(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 Sm(e,t,n,s,o){return e.mode&1?(e.flags|=65536,e.lanes=o,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=dn(-1,1),t.tag=2,zn(n,t,1))),n.lanes|=1),e)}var S0=yn.ReactCurrentOwner,et=!1;function $e(e,t,n,s){t.child=e===null?rp(t,null,n,s):ws(t,e.child,n,s)}function Cm(e,t,n,s,o){n=n.render;var a=t.ref;return Xr(t,o),s=Ed(e,t,n,s,a,o),n=Td(),e!==null&&!et?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,pn(e,t,o)):(ce&&n&&yd(t),t.flags|=1,$e(e,t,s,o),t.child)}function Am(e,t,n,s,o){if(e===null){var a=n.type;return typeof a=="function"&&!zd(a)&&a.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=a,Rp(e,t,a,s,o)):(e=Ea(n.type,null,s,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!(e.lanes&o)){var i=a.memoizedProps;if(n=n.compare,n=n!==null?n:go,n(i,s)&&e.ref===t.ref)return pn(e,t,o)}return t.flags|=1,e=Gn(a,s),e.ref=t.ref,e.return=t,t.child=e}function Rp(e,t,n,s,o){if(e!==null){var a=e.memoizedProps;if(go(a,s)&&e.ref===t.ref)if(et=!1,t.pendingProps=s=a,(e.lanes&o)!==0)e.flags&131072&&(et=!0);else return t.lanes=e.lanes,pn(e,t,o)}return uc(e,t,n,s,o)}
vendor: 9,730 bytes, line 40
40function Ep(e,t,n){var s=t.pendingProps,o=s.children,a=e!==null?e.memoizedState:null;if(s.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},se(Vr,at),at|=n;else{if(!(n&1073741824))return e=a!==null?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,se(Vr,at),at|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},s=a!==null?a.baseLanes:n,se(Vr,at),at|=s}else a!==null?(s=a.baseLanes|n,t.memoizedState=null):s=n,se(Vr,at),at|=s;return $e(e,t,o,n),t.child}function Tp(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function uc(e,t,n,s,o){var a=nt(n)?vr:Be.current;return a=xs(t,a),Xr(t,o),n=Ed(e,t,n,s,a,o),s=Td(),e!==null&&!et?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,pn(e,t,o)):(ce&&s&&yd(t),t.flags|=1,$e(e,t,n,o),t.child)}function Pm(e,t,n,s,o){if(nt(n)){var a=!0;Ya(t)}else a=!1;if(Xr(t,o),t.stateNode===null)Aa(e,t),Cp(t,n,s),cc(t,n,s,o),s=!0;else if(e===null){var i=t.stateNode,l=t.memoizedProps;i.props=l;var c=i.context,d=n.contextType;typeof d=="object"&&d!==null?d=jt(d):(d=nt(n)?vr:Be.current,d=xs(t,d));var u=n.getDerivedStateFromProps,m=typeof u=="function"||typeof i.getSnapshotBeforeUpdate=="function";m||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(l!==s||c!==d)&&jm(t,i,s,d),Sn=!1;var f=t.memoizedState;i.state=f,Ka(t,s,i,o),c=t.memoizedState,l!==s||f!==c||tt.current||Sn?(typeof u=="function"&&(lc(t,n,u,s),c=t.memoizedState),(l=Sn||bm(t,n,l,s,f,c,d))?(m||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=s,t.memoizedState=c),i.props=s,i.state=c,i.context=d,s=l):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),s=!1)}else{i=t.stateNode,op(e,t),l=t.memoizedProps,d=t.type===t.elementType?l:Pt(t.type,l),i.props=d,m=t.pendingProps,f=i.context,c=n.contextType,typeof c=="object"&&c!==null?c=jt(c):(c=nt(n)?vr:Be.current,c=xs(t,c));var w=n.getDerivedStateFromProps;(u=typeof w=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(l!==m||f!==c)&&jm(t,i,s,c),Sn=!1,f=t.memoizedState,i.state=f,Ka(t,s,i,o);var y=t.memoizedState;l!==m||f!==y||tt.current||Sn?(typeof w=="function"&&(lc(t,n,w,s),y=t.memoizedState),(d=Sn||bm(t,n,d,s,f,y,c)||!1)?(u||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(s,y,c),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(s,y,c)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=s,t.memoizedState=y),i.props=s,i.state=y,i.context=c,s=d):(typeof i.componentDidUpdate!="function"||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),s=!1)}return mc(e,t,n,s,a,o)}function mc(e,t,n,s,o,a){Tp(e,t);var i=(t.flags&128)!==0;if(!s&&!i)return o&&hm(t,n,!1),pn(e,t,a);s=t.stateNode,S0.current=t;var l=i&&typeof n.getDerivedStateFromError!="function"?null:s.render();return t.flags|=1,e!==null&&i?(t.child=ws(t,e.child,null,a),t.child=ws(t,null,l,a)):$e(e,t,l,a),t.memoizedState=s.state,o&&hm(t,n,!0),t.child}function Ip(e){var t=e.stateNode;t.pendingContext?mm(e,t.pendingContext,t.pendingContext!==t.context):t.context&&mm(e,t.context,!1),Cd(e,t.containerInfo)}function Rm(e,t,n,s,o){return ys(),vd(o),t.flags|=256,$e(e,t,n,s),t.child}var hc={dehydrated:null,treeContext:null,retryLane:0};function fc(e){return{baseLanes:e,cachePool:null,transitions:null}}function Op(e,t,n){var s=t.pendingProps,o=ue.current,a=!1,i=(t.flags&128)!==0,l;if((l=i)||(l=e!==null&&e.memoizedState===null?!1:(o&2)!==0),l?(a=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(o|=1),se(ue,o&1),e===null)return ac(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):(i=s.children,e=s.fallback,a?(s=t.mode,a=t.child,i={mode:"hidden",children:i},!(s&1)&&a!==null?(a.childLanes=0,a.pendingProps=i):a=ki(i,s,0,null),e=yr(e,s,n,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=fc(n),t.memoizedState=hc,e):Dd(t,i));if(o=e.memoizedState,o!==null&&(l=o.dehydrated,l!==null))return C0(e,t,i,s,l,o,n);if(a){a=s.fallback,i=t.mode,o=e.child,l=o.sibling;var c={mode:"hidden",children:s.children};return!(i&1)&&t.child!==o?(s=t.child,s.childLanes=0,s.pendingProps=c,t.deletions=null):(s=Gn(o,c),s.subtreeFlags=o.subtreeFlags&14680064),l!==null?a=Gn(l,a):(a=yr(a,i,n,null),a.flags|=2),a.return=t,s.return=t,s.sibling=a,t.child=s,s=a,a=t.child,i=e.child.memoizedState,i=i===null?fc(n):{baseLanes:i.baseLanes|n,cachePool:null,transitions:i.transitions},a.memoizedState=i,a.childLanes=e.childLanes&~n,t.memoizedState=hc,s}return a=e.child,e=a.sibling,s=Gn(a,{mode:"visible",children:s.children}),!(t.mode&1)&&(s.lanes=n),s.return=t,s.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=s,t.memoizedState=null,s}function Dd(e,t){return t=ki({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function da(e,t,n,s){return s!==null&&vd(s),ws(t,e.child,null,n),e=Dd(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function C0(e,t,n,s,o,a,i){if(n)return t.flags&256?(t.flags&=-257,s=wl(Error(T(422))),da(e,t,i,s)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(a=s.fallback,o=t.mode,s=ki({mode:"visible",children:s.children},o,0,null),a=yr(a,o,i,null),a.flags|=2,s.return=t,a.return=t,s.sibling=a,t.child=s,t.mode&1&&ws(t,e.child,null,i),t.child.memoizedState=fc(i),t.memoizedState=hc,a);if(!(t.mode&1))return da(e,t,i,null);if(o.data==="$!"){if(s=o.nextSibling&&o.nextSibling.dataset,s)var l=s.dgst;return s=l,a=Error(T(419)),s=wl(a,s,void 0),da(e,t,i,s)}if(l=(i&e.childLanes)!==0,et||l){if(s=Te,s!==null){switch(i&-i){case 4:o=2;break;case 16:o=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:o=32;break;case 536870912:o=268435456;break;default:o=0}o=o&(s.suspendedLanes|i)?0:o,o!==0&&o!==a.retryLane&&(a.retryLane=o,fn(e,o),Dt(s,e,o,-1))}return Ld(),s=wl(Error(T(421))),da(e,t,i,s)}return o.data==="$?"?(t.flags|=128,t.child=e.child,t=_0.bind(null,e),o._reactRetry=t,null):(e=a.treeContext,lt=Ln(o.nextSibling),ct=t,ce=!0,Tt=null,e!==null&&(yt[wt++]=ln,yt[wt++]=cn,yt[wt++]=br,ln=e.id,cn=e.overflow,br=t),t=Dd(t,s.children),t.flags|=4096,t)}function Em(e,t,n){e.lanes|=t;var s=e.alternate;s!==null&&(s.lanes|=t),ic(e.return,t,n)}function vl(e,t,n,s,o){var a=e.memoizedState;a===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:s,tail:n,tailMode:o}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=s,a.tail=n,a.tailMode=o)}function Dp(e,t,n){var s=t.pendingProps,o=s.revealOrder,a=s.tail;if($e(e,t,s.children,n),s=ue.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&&Em(e,n,t);else if(e.tag===19)Em(e,n,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(se(ue,s),!(t.mode&1))t.memoizedState=null;else switch(o){case"forwards":for(n=t.child,o=null;n!==null;)e=n.alternate,e!==null&&Xa(e)===null&&(o=n),n=n.sibling;n=o,n===null?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),vl(t,!1,o,n,a);break;case"backwards":for(n=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&Xa(e)===null){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}vl(t,!0,n,null,a);break;case"together":vl(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Aa(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function pn(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Nr|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(T(153));if(t.child!==null){for(e=t.child,n=Gn(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Gn(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function A0(e,t,n){switch(t.tag){case 3:Ip(t),ys();break;case 5:ap(t);break;case 1:nt(t.type)&&Ya(t);break;case 4:Cd(t,t.stateNode.containerInfo);break;case 10:var s=t.type._context,o=t.memoizedProps.value;se(Qa,s._currentValue),s._currentValue=o;break;case 13:if(s=t.memoizedState,s!==null)return s.dehydrated!==null?(se(ue,ue.current&1),t.flags|=128,null):n&t.child.childLanes?Op(e,t,n):(se(ue,ue.current&1),e=pn(e,t,n),e!==null?e.sibling:null);se(ue,ue.current&1);break;case 19:if(s=(n&t.childLanes)!==0,e.flags&128){if(s)return Dp(e,t,n);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),se(ue,ue.current),s)break;return null;
vendor: 4,597 bytes, line 40
40case 22:case 23:return t.lanes=0,Ep(e,t,n)}return pn(e,t,n)}var Mp,pc,qp,Wp;Mp=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};pc=function(){};qp=function(e,t,n,s){var o=e.memoizedProps;if(o!==s){e=t.stateNode,cr(Qt.current);var a=null;switch(n){case"input":o=Wl(e,o),s=Wl(e,s),a=[];break;case"select":o=fe({},o,{value:void 0}),s=fe({},s,{value:void 0}),a=[];break;case"textarea":o=Ll(e,o),s=Ll(e,s),a=[];break;default:typeof o.onClick!="function"&&typeof s.onClick=="function"&&(e.onclick=Ha)}Bl(n,s);var i;n=null;for(d in o)if(!s.hasOwnProperty(d)&&o.hasOwnProperty(d)&&o[d]!=null)if(d==="style"){var l=o[d];for(i in l)l.hasOwnProperty(i)&&(n||(n={}),n[i]="")}else d!=="dangerouslySetInnerHTML"&&d!=="children"&&d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&d!=="autoFocus"&&(lo.hasOwnProperty(d)?a||(a=[]):(a=a||[]).push(d,null));for(d in s){var c=s[d];if(l=o!=null?o[d]:void 0,s.hasOwnProperty(d)&&c!==l&&(c!=null||l!=null))if(d==="style")if(l){for(i in l)!l.hasOwnProperty(i)||c&&c.hasOwnProperty(i)||(n||(n={}),n[i]="");for(i in c)c.hasOwnProperty(i)&&l[i]!==c[i]&&(n||(n={}),n[i]=c[i])}else n||(a||(a=[]),a.push(d,n)),n=c;else d==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,l=l?l.__html:void 0,c!=null&&l!==c&&(a=a||[]).push(d,c)):d==="children"?typeof c!="string"&&typeof c!="number"||(a=a||[]).push(d,""+c):d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&(lo.hasOwnProperty(d)?(c!=null&&d==="onScroll"&&ae("scroll",e),a||l===c||(a=[])):(a=a||[]).push(d,c))}n&&(a=a||[]).push("style",n);var d=a;(t.updateQueue=d)&&(t.flags|=4)}};Wp=function(e,t,n,s){n!==s&&(t.flags|=4)};function Ls(e,t){if(!ce)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var s=null;n!==null;)n.alternate!==null&&(s=n),n=n.sibling;s===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:s.sibling=null}}function _e(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,s=0;if(t)for(var o=e.child;o!==null;)n|=o.lanes|o.childLanes,s|=o.subtreeFlags&14680064,s|=o.flags&14680064,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)n|=o.lanes|o.childLanes,s|=o.subtreeFlags,s|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=s,e.childLanes=n,t}function P0(e,t,n){var s=t.pendingProps;switch(wd(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return _e(t),null;case 1:return nt(t.type)&&Ga(),_e(t),null;case 3:return s=t.stateNode,vs(),ie(tt),ie(Be),Pd(),s.pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),(e===null||e.child===null)&&(la(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Tt!==null&&(Nc(Tt),Tt=null))),pc(e,t),_e(t),null;case 5:Ad(t);var o=cr(bo.current);if(n=t.type,e!==null&&t.stateNode!=null)qp(e,t,n,s,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!s){if(t.stateNode===null)throw Error(T(166));return _e(t),null}if(e=cr(Qt.current),la(t)){s=t.stateNode,n=t.type;var a=t.memoizedProps;switch(s[Vt]=t,s[wo]=a,e=(t.mode&1)!==0,n){case"dialog":ae("cancel",s),ae("close",s);break;case"iframe":case"object":case"embed":ae("load",s);break;case"video":case"audio":for(o=0;o<$s.length;o++)ae($s[o],s);break;case"source":ae("error",s);break;case"img":case"image":case"link":ae("error",s),ae("load",s);break;case"details":ae("toggle",s);break;case"input":_u(s,a),ae("invalid",s);break;case"select":s._wrapperState={wasMultiple:!!a.multiple},ae("invalid",s);break;case"textarea":zu(s,a),ae("invalid",s)}Bl(n,a),o=null;for(var i in a)if(a.hasOwnProperty(i)){var l=a[i];i==="children"?typeof l=="string"?s.textContent!==l&&(a.suppressHydrationWarning!==!0&&ia(s.textContent,l,e),o=["children",l]):typeof l=="number"&&s.textContent!==""+l&&(a.suppressHydrationWarning!==!0&&ia(s.textContent,l,e),o=["children",""+l]):lo.hasOwnProperty(i)&&l!=null&&i==="onScroll"&&ae("scroll",s)}switch(n){case"input":Zo(s),Lu(s,a,!0);break;case"textarea":Zo(s),Bu(s);break;case"select":case"option":break;default:typeof a.onClick=="function"&&(s.onclick=Ha)}s=o,t.updateQueue=s,s!==null&&(t.flags|=4)}else{i=o.nodeType===9?o:o.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=uf(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=i.createElement("div"),e.innerHTML="<script><\/script>
40",e=e.removeChild(e.firstChild)):typeof s.is=="string"?e=i.createElement(n,{is:s.is}):(e=i.createElement(n),n==="select"&&(i=e,s.multiple?i.multiple=!0:s.size&&(i.size=s.size))):e=i.createElementNS(e,n),e[Vt]=t,e[wo]=s,Mp(e,t,!1,!1),t.stateNode=e;e:{switch(i=Hl(n,s),n){case"dialog":ae("cancel",e),ae("close",e),o=s;break;case"iframe":case"object":case"embed":ae("load",e),o=s;break;case"video":case"audio":for(o=0;o<$s.length;o++)ae($s[o],e);o=s;break;case"source":ae("error",e),o=s;break;case"img":case"image":case"link":ae("error",e),ae("load",e),o=s;break;case"details":ae("toggle",e),o=s;break;case"input":_u(e,s),o=Wl(e,s),ae("invalid",e);break;case"option":o=s;break;case"select":e._wrapperState={wasMultiple:!!s.multiple},o=fe({},s,{value:void 0}),ae("invalid",e);break;case"textarea":zu(e,s),o=Ll(e,s),ae("invalid",e);break;default:o=s}Bl(n,o),l=o;for(a in l)if(l.hasOwnProperty(a)){var c=l[a];a==="style"?ff(e,c):a==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,c!=null&&mf(e,c)):a==="children"?typeof c=="string"?(n!=="textarea"||c!=="")&&co(e,c):typeof c=="number"&&co(e,""+c):a!=="suppressContentEditableWarning"&&a!=="suppressHydrationWarning"&&a!=="autoFocus"&&(lo.hasOwnProperty(a)?c!=null&&a==="onScroll"&&ae("scroll",e):c!=null&&sd(e,a,c,i))}switch(n){case"input":Zo(e),Lu(e,s,!1);break;case"textarea":Zo(e),Bu(e);break;case"option":s.value!=null&&e.setAttribute("value",""+Yn(s.value));break;case"select":e.multiple=!!s.multiple,a=s.value,a!=null?$r(e,!!s.multiple,a,!1):s.defaultValue!=null&&$r(e,!!s.multiple,s.defaultValue,!0);break;default:typeof o.onClick=="function"&&(e.onclick=Ha)}switch(n){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 _e(t),null;case 6:if(e&&t.stateNode!=null)Wp(e,t,e.memoizedProps,s);else{if(typeof s!="string"&&t.stateNode===null)throw Error(T(166));if(n=cr(bo.current),cr(Qt.current),la(t)){if(s=t.stateNode,n=t.memoizedProps,s[Vt]=t,(a=s.nodeValue!==n)&&(e=ct,e!==null))switch(e.tag){case 3:ia(s.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&ia(s.nodeValue,n,(e.mode&1)!==0)}a&&(t.flags|=4)}else s=(n.nodeType===9?n:n.ownerDocument).createTextNode(s),s[Vt]=t,t.stateNode=s}return _e(t),null;case 13:if(ie(ue),s=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(ce&<!==null&&t.mode&1&&!(t.flags&128))tp(),ys(),t.flags|=98560,a=!1;else if(a=la(t),s!==null&&s.dehydrated!==null){if(e===null){if(!a)throw Error(T(318));if(a=t.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(T(317));a[Vt]=t}else ys(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;_e(t),a=!1}else Tt!==null&&(Nc(Tt),Tt=null),a=!0;if(!a)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(s=s!==null,s!==(e!==null&&e.memoizedState!==null)&&s&&(t.child.flags|=8192,t.mode&1&&(e===null||ue.current&1?Pe===0&&(Pe=3):Ld())),t.updateQueue!==null&&(t.flags|=4),_e(t),null);case 4:return vs(),pc(e,t),e===null&&xo(t.stateNode.containerInfo),_e(t),null;case 10:return Nd(t.type._context),_e(t),null;case 17:return nt(t.type)&&Ga(),_e(t),null;case 19:if(ie(ue),a=t.memoizedState,a===null)return _e(t),null;if(s=(t.flags&128)!==0,i=a.rendering,i===null)if(s)Ls(a,!1);else{if(Pe!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(i=Xa(e),i!==null){for(t.flags|=128,Ls(a,!1),s=i.updateQueue,s!==null&&(t.updateQueue=s,t.flags|=4),t.subtreeFlags=0,s=n,n=t.child;n!==null;)a=n,e=s,a.flags&=14680066,i=a.alternate,i===null?(a.childLanes=0,a.lanes=e,a.child=null,a.subtreeFlags=0,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null,a.stateNode=null):(a.childLanes=i.childLanes,a.lanes=i.lanes,a.child=i.child,a.subtreeFlags=0,a.deletions=null,a.memoizedProps=i.memoizedProps,a.memoizedState=i.memoizedState,a.updateQueue=i.updateQueue,a.type=i.type,e=i.dependencies,a.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return se(ue,ue.current&1|2),t.child}e=e.sibling}a.tail!==null&&be()>js&&(t.flags|=128,s=!0,Ls(a,!1),t.lanes=4194304)}else{if(!s)if(e=Xa(i),e!==null){if(t.flags|=128,s=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Ls(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!ce)return _e(t),null}else 2*be()-a.renderingStartTime>js&&n!==1073741824&&(t.flags|=128,s=!0,Ls(a,!1),t.lanes=4194304);a.isBackwards?(i.sibling=t.child,t.child=i):(n=a.last,n!==null?n.sibling=i:t.child=i,a.last=i)}return a.tail!==null?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=be(),t.sibling=null,n=ue.current,se(ue,s?n&1|2:n&1),t):(_e(t),null);case 22:case 23:return _d(),s=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==s&&(t.flags|=8192),s&&t.mode&1?at&1073741824&&(_e(t),t.subtreeFlags&6&&(t.flags|=8192)):_e(t),null;case 24:return null;case 25:return null}throw Error(T(156,t.tag))}function R0(e,t){switch(wd(t),t.tag){case 1:return nt(t.type)&&Ga(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;
vendor: 25,727 bytes, line 40
40case 3:return vs(),ie(tt),ie(Be),Pd(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Ad(t),null;case 13:if(ie(ue),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(T(340));ys()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ie(ue),null;case 4:return vs(),null;case 10:return Nd(t.type._context),null;case 22:case 23:return _d(),null;case 24:return null;default:return null}}var ua=!1,ze=!1,E0=typeof WeakSet=="function"?WeakSet:Set,q=null;function Yr(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(s){xe(e,t,s)}else n.current=null}function gc(e,t,n){try{n()}catch(s){xe(e,t,s)}}var Tm=!1;function T0(e,t){if(Zl=La,e=Bf(),xd(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var s=n.getSelection&&n.getSelection();if(s&&s.rangeCount!==0){n=s.anchorNode;var o=s.anchorOffset,a=s.focusNode;s=s.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break e}var i=0,l=-1,c=-1,d=0,u=0,m=e,f=null;t:for(;;){for(var w;m!==n||o!==0&&m.nodeType!==3||(l=i+o),m!==a||s!==0&&m.nodeType!==3||(c=i+s),m.nodeType===3&&(i+=m.nodeValue.length),(w=m.firstChild)!==null;)f=m,m=w;for(;;){if(m===e)break t;if(f===n&&++d===o&&(l=i),f===a&&++u===s&&(c=i),(w=m.nextSibling)!==null)break;m=f,f=m.parentNode}m=w}n=l===-1||c===-1?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(ec={focusedElem:e,selectionRange:n},La=!1,q=t;q!==null;)if(t=q,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,q=e;else for(;q!==null;){t=q;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 g=y.memoizedProps,b=y.memoizedState,h=t.stateNode,p=h.getSnapshotBeforeUpdate(t.elementType===t.type?g:Pt(t.type,g),b);h.__reactInternalSnapshotBeforeUpdate=p}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(T(163))}}catch(j){xe(t,t.return,j)}if(e=t.sibling,e!==null){e.return=t.return,q=e;break}q=t.return}return y=Tm,Tm=!1,y}function no(e,t,n){var s=t.updateQueue;if(s=s!==null?s.lastEffect:null,s!==null){var o=s=s.next;do{if((o.tag&e)===e){var a=o.destroy;o.destroy=void 0,a!==void 0&&gc(t,n,a)}o=o.next}while(o!==s)}}function ji(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var s=n.create;n.destroy=s()}n=n.next}while(n!==t)}}function xc(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Fp(e){var t=e.alternate;t!==null&&(e.alternate=null,Fp(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Vt],delete t[wo],delete t[rc],delete t[h0],delete t[f0])),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 _p(e){return e.tag===5||e.tag===3||e.tag===4}function Im(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||_p(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 yc(e,t,n){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ha));else if(s!==4&&(e=e.child,e!==null))for(yc(e,t,n),e=e.sibling;e!==null;)yc(e,t,n),e=e.sibling}function wc(e,t,n){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(s!==4&&(e=e.child,e!==null))for(wc(e,t,n),e=e.sibling;e!==null;)wc(e,t,n),e=e.sibling}var Oe=null,Et=!1;function wn(e,t,n){for(n=n.child;n!==null;)Lp(e,t,n),n=n.sibling}function Lp(e,t,n){if($t&&typeof $t.onCommitFiberUnmount=="function")try{$t.onCommitFiberUnmount(fi,n)}catch{}switch(n.tag){case 5:ze||Yr(n,t);case 6:var s=Oe,o=Et;Oe=null,wn(e,t,n),Oe=s,Et=o,Oe!==null&&(Et?(e=Oe,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Oe.removeChild(n.stateNode));break;case 18:Oe!==null&&(Et?(e=Oe,n=n.stateNode,e.nodeType===8?hl(e.parentNode,n):e.nodeType===1&&hl(e,n),fo(e)):hl(Oe,n.stateNode));break;case 4:s=Oe,o=Et,Oe=n.stateNode.containerInfo,Et=!0,wn(e,t,n),Oe=s,Et=o;break;case 0:case 11:case 14:case 15:if(!ze&&(s=n.updateQueue,s!==null&&(s=s.lastEffect,s!==null))){o=s=s.next;do{var a=o,i=a.destroy;a=a.tag,i!==void 0&&(a&2||a&4)&&gc(n,t,i),o=o.next}while(o!==s)}wn(e,t,n);break;case 1:if(!ze&&(Yr(n,t),s=n.stateNode,typeof s.componentWillUnmount=="function"))try{s.props=n.memoizedProps,s.state=n.memoizedState,s.componentWillUnmount()}catch(l){xe(n,t,l)}wn(e,t,n);break;case 21:wn(e,t,n);break;case 22:n.mode&1?(ze=(s=ze)||n.memoizedState!==null,wn(e,t,n),ze=s):wn(e,t,n);break;default:wn(e,t,n)}}function Om(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new E0),t.forEach(function(s){var o=L0.bind(null,e,s);n.has(s)||(n.add(s),s.then(o,o))})}}function At(e,t){var n=t.deletions;if(n!==null)for(var s=0;s<n.length;s++){var o=n[s];try{var a=e,i=t,l=i;e:for(;l!==null;){switch(l.tag){case 5:Oe=l.stateNode,Et=!1;break e;case 3:Oe=l.stateNode.containerInfo,Et=!0;break e;case 4:Oe=l.stateNode.containerInfo,Et=!0;break e}l=l.return}if(Oe===null)throw Error(T(160));Lp(a,i,o),Oe=null,Et=!1;var c=o.alternate;c!==null&&(c.return=null),o.return=null}catch(d){xe(o,t,d)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)zp(t,e),t=t.sibling}function zp(e,t){var n=e.alternate,s=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(At(t,e),Lt(e),s&4){try{no(3,e,e.return),ji(3,e)}catch(g){xe(e,e.return,g)}try{no(5,e,e.return)}catch(g){xe(e,e.return,g)}}break;case 1:At(t,e),Lt(e),s&512&&n!==null&&Yr(n,n.return);break;case 5:if(At(t,e),Lt(e),s&512&&n!==null&&Yr(n,n.return),e.flags&32){var o=e.stateNode;try{co(o,"")}catch(g){xe(e,e.return,g)}}if(s&4&&(o=e.stateNode,o!=null)){var a=e.memoizedProps,i=n!==null?n.memoizedProps:a,l=e.type,c=e.updateQueue;if(e.updateQueue=null,c!==null)try{l==="input"&&a.type==="radio"&&a.name!=null&&cf(o,a),Hl(l,i);var d=Hl(l,a);for(i=0;i<c.length;i+=2){var u=c[i],m=c[i+1];u==="style"?ff(o,m):u==="dangerouslySetInnerHTML"?mf(o,m):u==="children"?co(o,m):sd(o,u,m,d)}switch(l){case"input":Fl(o,a);break;case"textarea":df(o,a);break;case"select":var f=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!a.multiple;var w=a.value;w!=null?$r(o,!!a.multiple,w,!1):f!==!!a.multiple&&(a.defaultValue!=null?$r(o,!!a.multiple,a.defaultValue,!0):$r(o,!!a.multiple,a.multiple?[]:"",!1))}o[wo]=a}catch(g){xe(e,e.return,g)}}break;case 6:if(At(t,e),Lt(e),s&4){if(e.stateNode===null)throw Error(T(162));o=e.stateNode,a=e.memoizedProps;try{o.nodeValue=a}catch(g){xe(e,e.return,g)}}break;case 3:if(At(t,e),Lt(e),s&4&&n!==null&&n.memoizedState.isDehydrated)try{fo(t.containerInfo)}catch(g){xe(e,e.return,g)}break;case 4:At(t,e),Lt(e);break;case 13:At(t,e),Lt(e),o=e.child,o.flags&8192&&(a=o.memoizedState!==null,o.stateNode.isHidden=a,!a||o.alternate!==null&&o.alternate.memoizedState!==null||(Wd=be())),s&4&&Om(e);break;case 22:if(u=n!==null&&n.memoizedState!==null,e.mode&1?(ze=(d=ze)||u,At(t,e),ze=d):At(t,e),Lt(e),s&8192){if(d=e.memoizedState!==null,(e.stateNode.isHidden=d)&&!u&&e.mode&1)for(q=e,u=e.child;u!==null;){for(m=q=u;q!==null;){switch(f=q,w=f.child,f.tag){case 0:case 11:case 14:case 15:no(4,f,f.return);break;case 1:Yr(f,f.return);var y=f.stateNode;if(typeof y.componentWillUnmount=="function"){s=f,n=f.return;try{t=s,y.props=t.memoizedProps,y.state=t.memoizedState,y.componentWillUnmount()}catch(g){xe(s,n,g)}}break;case 5:Yr(f,f.return);break;case 22:if(f.memoizedState!==null){Mm(m);continue}}w!==null?(w.return=f,q=w):Mm(m)}u=u.sibling}e:for(u=null,m=e;;){if(m.tag===5){if(u===null){u=m;try{o=m.stateNode,d?(a=o.style,typeof a.setProperty=="function"?a.setProperty("display","none","important"):a.display="none"):(l=m.stateNode,c=m.memoizedProps.style,i=c!=null&&c.hasOwnProperty("display")?c.display:null,l.style.display=hf("display",i))}catch(g){xe(e,e.return,g)}}}else if(m.tag===6){if(u===null)try{m.stateNode.nodeValue=d?"":m.memoizedProps}catch(g){xe(e,e.return,g)}}else if((m.tag!==22&&m.tag!==23||m.memoizedState===null||m===e)&&m.child!==null){m.child.return=m,m=m.child;continue}if(m===e)break e;for(;m.sibling===null;){if(m.return===null||m.return===e)break e;u===m&&(u=null),m=m.return}u===m&&(u=null),m.sibling.return=m.return,m=m.sibling}}break;case 19:At(t,e),Lt(e),s&4&&Om(e);break;case 21:break;default:At(t,e),Lt(e)}}function Lt(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(_p(n)){var s=n;break e}n=n.return}throw Error(T(160))}switch(s.tag){case 5:var o=s.stateNode;s.flags&32&&(co(o,""),s.flags&=-33);var a=Im(e);wc(e,a,o);break;case 3:case 4:var i=s.stateNode.containerInfo,l=Im(e);yc(e,l,i);break;default:throw Error(T(161))}}catch(c){xe(e,e.return,c)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function I0(e,t,n){q=e,Bp(e)}function Bp(e,t,n){for(var s=(e.mode&1)!==0;q!==null;){var o=q,a=o.child;if(o.tag===22&&s){var i=o.memoizedState!==null||ua;if(!i){var l=o.alternate,c=l!==null&&l.memoizedState!==null||ze;l=ua;var d=ze;if(ua=i,(ze=c)&&!d)for(q=o;q!==null;)i=q,c=i.child,i.tag===22&&i.memoizedState!==null?qm(o):c!==null?(c.return=i,q=c):qm(o);for(;a!==null;)q=a,Bp(a),a=a.sibling;q=o,ua=l,ze=d}Dm(e)}else o.subtreeFlags&8772&&a!==null?(a.return=o,q=a):Dm(e)}}function Dm(e){for(;q!==null;){var t=q;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:ze||ji(5,t);break;case 1:var s=t.stateNode;if(t.flags&4&&!ze)if(n===null)s.componentDidMount();else{var o=t.elementType===t.type?n.memoizedProps:Pt(t.type,n.memoizedProps);s.componentDidUpdate(o,n.memoizedState,s.__reactInternalSnapshotBeforeUpdate)}var a=t.updateQueue;a!==null&&ym(t,a,s);break;case 3:var i=t.updateQueue;if(i!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}ym(t,i,n)}break;case 5:var l=t.stateNode;if(n===null&&t.flags&4){n=l;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.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 m=u.dehydrated;m!==null&&fo(m)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(T(163))}ze||t.flags&512&&xc(t)}catch(f){xe(t,t.return,f)}}if(t===e){q=null;break}if(n=t.sibling,n!==null){n.return=t.return,q=n;break}q=t.return}}function Mm(e){for(;q!==null;){var t=q;if(t===e){q=null;break}var n=t.sibling;if(n!==null){n.return=t.return,q=n;break}q=t.return}}function qm(e){for(;q!==null;){var t=q;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{ji(4,t)}catch(c){xe(t,n,c)}break;case 1:var s=t.stateNode;if(typeof s.componentDidMount=="function"){var o=t.return;try{s.componentDidMount()}catch(c){xe(t,o,c)}}var a=t.return;try{xc(t)}catch(c){xe(t,a,c)}break;case 5:var i=t.return;try{xc(t)}catch(c){xe(t,i,c)}}}catch(c){xe(t,t.return,c)}if(t===e){q=null;break}var l=t.sibling;if(l!==null){l.return=t.return,q=l;break}q=t.return}}var O0=Math.ceil,ei=yn.ReactCurrentDispatcher,Md=yn.ReactCurrentOwner,bt=yn.ReactCurrentBatchConfig,Z=0,Te=null,Se=null,qe=0,at=0,Vr=Jn(0),Pe=0,So=null,Nr=0,Ni=0,qd=0,ro=null,Ze=null,Wd=0,js=1/0,on=null,ti=!1,vc=null,Bn=null,ma=!1,qn=null,ni=0,so=0,bc=null,Pa=-1,Ra=0;function Qe(){return Z&6?be():Pa!==-1?Pa:Pa=be()}function Hn(e){return e.mode&1?Z&2&&qe!==0?qe&-qe:g0.transition!==null?(Ra===0&&(Ra=Cf()),Ra):(e=ne,e!==0||(e=window.event,e=e===void 0?16:Of(e.type)),e):1}function Dt(e,t,n,s){if(50<so)throw so=0,bc=null,Error(T(185));_o(e,n,s),(!(Z&2)||e!==Te)&&(e===Te&&(!(Z&2)&&(Ni|=n),Pe===4&&An(e,qe)),rt(e,s),n===1&&Z===0&&!(t.mode&1)&&(js=be()+500,wi&&Zn()))}function rt(e,t){var n=e.callbackNode;gw(e,t);var s=_a(e,e===Te?qe:0);if(s===0)n!==null&&Yu(n),e.callbackNode=null,e.callbackPriority=0;else if(t=s&-s,e.callbackPriority!==t){if(n!=null&&Yu(n),t===1)e.tag===0?p0(Wm.bind(null,e)):Jf(Wm.bind(null,e)),u0(function(){!(Z&6)&&Zn()}),n=null;else{switch(Af(s)){case 1:n=cd;break;case 4:n=kf;break;case 16:n=Fa;break;case 536870912:n=Sf;break;default:n=Fa}n=Kp(n,Hp.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function Hp(e,t){if(Pa=-1,Ra=0,Z&6)throw Error(T(327));var n=e.callbackNode;if(Jr()&&e.callbackNode!==n)return null;var s=_a(e,e===Te?qe:0);if(s===0)return null;if(s&30||s&e.expiredLanes||t)t=ri(e,s);else{t=s;var o=Z;Z|=2;var a=Yp();(Te!==e||qe!==t)&&(on=null,js=be()+500,xr(e,t));do try{q0();break}catch(l){Gp(e,l)}while(!0);jd(),ei.current=a,Z=o,Se!==null?t=0:(Te=null,qe=0,t=Pe)}if(t!==0){if(t===2&&(o=Ql(e),o!==0&&(s=o,t=jc(e,o))),t===1)throw n=So,xr(e,0),An(e,s),rt(e,be()),n;if(t===6)An(e,s);else{if(o=e.current.alternate,!(s&30)&&!D0(o)&&(t=ri(e,s),t===2&&(a=Ql(e),a!==0&&(s=a,t=jc(e,a))),t===1))throw n=So,xr(e,0),An(e,s),rt(e,be()),n;switch(e.finishedWork=o,e.finishedLanes=s,t){case 0:case 1:throw Error(T(345));case 2:ar(e,Ze,on);break;case 3:if(An(e,s),(s&130023424)===s&&(t=Wd+500-be(),10<t)){if(_a(e,0)!==0)break;if(o=e.suspendedLanes,(o&s)!==s){Qe(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=nc(ar.bind(null,e,Ze,on),t);break}ar(e,Ze,on);break;case 4:if(An(e,s),(s&4194240)===s)break;for(t=e.eventTimes,o=-1;0<s;){var i=31-Ot(s);a=1<<i,i=t[i],i>o&&(o=i),s&=~a}if(s=o,s=be()-s,s=(120>s?120:480>s?480:1080>s?1080:1920>s?1920:3e3>s?3e3:4320>s?4320:1960*O0(s/1960))-s,10<s){e.timeoutHandle=nc(ar.bind(null,e,Ze,on),s);break}ar(e,Ze,on);break;case 5:ar(e,Ze,on);break;default:throw Error(T(329))}}}return rt(e,be()),e.callbackNode===n?Hp.bind(null,e):null}function jc(e,t){var n=ro;return e.current.memoizedState.isDehydrated&&(xr(e,t).flags|=256),e=ri(e,t),e!==2&&(t=Ze,Ze=n,t!==null&&Nc(t)),e}function Nc(e){Ze===null?Ze=e:Ze.push.apply(Ze,e)}function D0(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var s=0;s<n.length;s++){var o=n[s],a=o.getSnapshot;o=o.value;try{if(!qt(a(),o))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;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 An(e,t){for(t&=~qd,t&=~Ni,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Ot(t),s=1<<n;e[n]=-1,t&=~s}}function Wm(e){if(Z&6)throw Error(T(327));Jr();var t=_a(e,0);if(!(t&1))return rt(e,be()),null;var n=ri(e,t);if(e.tag!==0&&n===2){var s=Ql(e);s!==0&&(t=s,n=jc(e,s))}if(n===1)throw n=So,xr(e,0),An(e,t),rt(e,be()),n;if(n===6)throw Error(T(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,ar(e,Ze,on),rt(e,be()),null}function Fd(e,t){var n=Z;Z|=1;try{return e(t)}finally{Z=n,Z===0&&(js=be()+500,wi&&Zn())}}function kr(e){qn!==null&&qn.tag===0&&!(Z&6)&&Jr();var t=Z;Z|=1;var n=bt.transition,s=ne;try{if(bt.transition=null,ne=1,e)return e()}finally{ne=s,bt.transition=n,Z=t,!(Z&6)&&Zn()}}function _d(){at=Vr.current,ie(Vr)}function xr(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,d0(n)),Se!==null)for(n=Se.return;n!==null;){var s=n;switch(wd(s),s.tag){case 1:s=s.type.childContextTypes,s!=null&&Ga();break;case 3:vs(),ie(tt),ie(Be),Pd();break;case 5:Ad(s);break;case 4:vs();break;case 13:ie(ue);break;case 19:ie(ue);break;case 10:Nd(s.type._context);break;case 22:case 23:_d()}n=n.return}if(Te=e,Se=e=Gn(e.current,null),qe=at=t,Pe=0,So=null,qd=Ni=Nr=0,Ze=ro=null,lr!==null){for(t=0;t<lr.length;t++)if(n=lr[t],s=n.interleaved,s!==null){n.interleaved=null;var o=s.next,a=n.pending;if(a!==null){var i=a.next;a.next=o,s.next=i}n.pending=s}lr=null}return e}function Gp(e,t){do{var n=Se;try{if(jd(),Sa.current=Za,Ja){for(var s=he.memoizedState;s!==null;){var o=s.queue;o!==null&&(o.pending=null),s=s.next}Ja=!1}if(jr=0,Ee=Ce=he=null,to=!1,jo=0,Md.current=null,n===null||n.return===null){Pe=1,So=t,Se=null;break}e:{var a=e,i=n.return,l=n,c=t;if(t=qe,l.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){var d=c,u=l,m=u.tag;if(!(u.mode&1)&&(m===0||m===11||m===15)){var f=u.alternate;f?(u.updateQueue=f.updateQueue,u.memoizedState=f.memoizedState,u.lanes=f.lanes):(u.updateQueue=null,u.memoizedState=null)}var w=km(i);if(w!==null){w.flags&=-257,Sm(w,i,l,a,t),w.mode&1&&Nm(a,d,t),t=w,c=d;var y=t.updateQueue;if(y===null){var g=new Set;g.add(c),t.updateQueue=g}else y.add(c);break e}else{if(!(t&1)){Nm(a,d,t),Ld();break e}c=Error(T(426))}}else if(ce&&l.mode&1){var b=km(i);if(b!==null){!(b.flags&65536)&&(b.flags|=256),Sm(b,i,l,a,t),vd(bs(c,l));break e}}a=c=bs(c,l),Pe!==4&&(Pe=2),ro===null?ro=[a]:ro.push(a),a=i;do{switch(a.tag){case 3:a.flags|=65536,t&=-t,a.lanes|=t;var h=Ap(a,c,t);xm(a,h);break e;case 1:l=c;var p=a.type,x=a.stateNode;if(!(a.flags&128)&&(typeof p.getDerivedStateFromError=="function"||x!==null&&typeof x.componentDidCatch=="function"&&(Bn===null||!Bn.has(x)))){a.flags|=65536,t&=-t,a.lanes|=t;var j=Pp(a,l,t);xm(a,j);break e}}a=a.return}while(a!==null)}$p(n)}catch(k){t=k,Se===n&&n!==null&&(Se=n=n.return);continue}break}while(!0)}function Yp(){var e=ei.current;return ei.current=Za,e===null?Za:e}function Ld(){(Pe===0||Pe===3||Pe===2)&&(Pe=4),Te===null||!(Nr&268435455)&&!(Ni&268435455)||An(Te,qe)}function ri(e,t){var n=Z;Z|=2;var s=Yp();(Te!==e||qe!==t)&&(on=null,xr(e,t));do try{M0();break}catch(o){Gp(e,o)}while(!0);if(jd(),Z=n,ei.current=s,Se!==null)throw Error(T(261));return Te=null,qe=0,Pe}function M0(){for(;Se!==null;)Vp(Se)}function q0(){for(;Se!==null&&!iw();)Vp(Se)}function Vp(e){var t=Up(e.alternate,e,at);e.memoizedProps=e.pendingProps,t===null?$p(e):Se=t,Md.current=null}function $p(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=R0(n,t),n!==null){n.flags&=32767,Se=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Pe=6,Se=null;return}}else if(n=P0(n,t,at),n!==null){Se=n;return}if(t=t.sibling,t!==null){Se=t;return}Se=t=e}while(t!==null);Pe===0&&(Pe=5)}function ar(e,t,n){var s=ne,o=bt.transition;try{bt.transition=null,ne=1,W0(e,t,n,s)}finally{bt.transition=o,ne=s}return null}function W0(e,t,n,s){do Jr();while(qn!==null);if(Z&6)throw Error(T(327));n=e.finishedWork;var o=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(T(177));e.callbackNode=null,e.callbackPriority=0;var a=n.lanes|n.childLanes;if(xw(e,a),e===Te&&(Se=Te=null,qe=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||ma||(ma=!0,Kp(Fa,function(){return Jr(),null})),a=(n.flags&15990)!==0,n.subtreeFlags&15990||a){a=bt.transition,bt.transition=null;var i=ne;ne=1;var l=Z;Z|=4,Md.current=null,T0(e,n),zp(n,e),r0(ec),La=!!Zl,ec=Zl=null,e.current=n,I0(n),lw(),Z=l,ne=i,bt.transition=a}else e.current=n;if(ma&&(ma=!1,qn=e,ni=o),a=e.pendingLanes,a===0&&(Bn=null),uw(n.stateNode),rt(e,be()),t!==null)for(s=e.onRecoverableError,n=0;n<t.length;n++)o=t[n],s(o.value,{componentStack:o.stack,digest:o.digest});if(ti)throw ti=!1,e=vc,vc=null,e;return ni&1&&e.tag!==0&&Jr(),a=e.pendingLanes,a&1?e===bc?so++:(so=0,bc=e):so=0,Zn(),null}function Jr(){if(qn!==null){var e=Af(ni),t=bt.transition,n=ne;try{if(bt.transition=null,ne=16>e?16:e,qn===null)var s=!1;else{if(e=qn,qn=null,ni=0,Z&6)throw Error(T(331));var o=Z;for(Z|=4,q=e.current;q!==null;){var a=q,i=a.child;if(q.flags&16){var l=a.deletions;if(l!==null){for(var c=0;c<l.length;c++){var d=l[c];for(q=d;q!==null;){var u=q;switch(u.tag){case 0:case 11:case 15:no(8,u,a)}var m=u.child;if(m!==null)m.return=u,q=m;else for(;q!==null;){u=q;var f=u.sibling,w=u.return;if(Fp(u),u===d){q=null;break}if(f!==null){f.return=w,q=f;break}q=w}}}var y=a.alternate;if(y!==null){var g=y.child;if(g!==null){y.child=null;do{var b=g.sibling;g.sibling=null,g=b}while(g!==null)}}q=a}}if(a.subtreeFlags&2064&&i!==null)i.return=a,q=i;else e:for(;q!==null;){if(a=q,a.flags&2048)switch(a.tag){case 0:case 11:case 15:no(9,a,a.return)}var h=a.sibling;if(h!==null){h.return=a.return,q=h;break e}q=a.return}}var p=e.current;for(q=p;q!==null;){i=q;var x=i.child;if(i.subtreeFlags&2064&&x!==null)x.return=i,q=x;else e:for(i=p;q!==null;){if(l=q,l.flags&2048)try{switch(l.tag){case 0:case 11:case 15:ji(9,l)}}catch(k){xe(l,l.return,k)}if(l===i){q=null;break e}var j=l.sibling;if(j!==null){j.return=l.return,q=j;break e}q=l.return}}if(Z=o,Zn(),$t&&typeof $t.onPostCommitFiberRoot=="function")try{$t.onPostCommitFiberRoot(fi,e)}catch{}s=!0}return s}finally{ne=n,bt.transition=t}}return!1}function Fm(e,t,n){t=bs(n,t),t=Ap(e,t,1),e=zn(e,t,1),t=Qe(),e!==null&&(_o(e,1,t),rt(e,t))}function xe(e,t,n){if(e.tag===3)Fm(e,e,n);else for(;t!==null;){if(t.tag===3){Fm(t,e,n);break}else if(t.tag===1){var s=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof s.componentDidCatch=="function"&&(Bn===null||!Bn.has(s))){e=bs(n,e),e=Pp(t,e,1),t=zn(t,e,1),e=Qe(),t!==null&&(_o(t,1,e),rt(t,e));break}}t=t.return}}function F0(e,t,n){var s=e.pingCache;s!==null&&s.delete(t),t=Qe(),e.pingedLanes|=e.suspendedLanes&n,Te===e&&(qe&n)===n&&(Pe===4||Pe===3&&(qe&130023424)===qe&&500>be()-Wd?xr(e,0):qd|=n),rt(e,t)}function Qp(e,t){t===0&&(e.mode&1?(t=na,na<<=1,!(na&130023424)&&(na=4194304)):t=1);var n=Qe();e=fn(e,t),e!==null&&(_o(e,t,n),rt(e,n))}function _0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Qp(e,n)}function L0(e,t){var n=0;switch(e.tag){case 13:var s=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:s=e.stateNode;break;default:throw Error(T(314))}s!==null&&s.delete(t),Qp(e,n)}var Up;Up=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||tt.current)et=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return et=!1,A0(e,t,n);et=!!(e.flags&131072)}else et=!1,ce&&t.flags&1048576&&Zf(t,$a,t.index);switch(t.lanes=0,t.tag){case 2:var s=t.type;Aa(e,t),e=t.pendingProps;var o=xs(t,Be.current);Xr(t,n),o=Ed(null,t,s,e,o,n);var a=Td();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,nt(s)?(a=!0,Ya(t)):a=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,Sd(t),o.updater=bi,t.stateNode=o,o._reactInternals=t,cc(t,s,e,n),t=mc(null,t,s,!0,a,n)):(t.tag=0,ce&&a&&yd(t),$e(null,t,o,n),t=t.child),t;case 16:s=t.elementType;e:{switch(Aa(e,t),e=t.pendingProps,o=s._init,s=o(s._payload),t.type=s,o=t.tag=B0(s),e=Pt(s,e),o){case 0:t=uc(null,t,s,e,n);break e;case 1:t=Pm(null,t,s,e,n);break e;case 11:t=Cm(null,t,s,e,n);break e;case 14:t=Am(null,t,s,Pt(s.type,e),n);break e}throw Error(T(306,s,""))}return t;case 0:return s=t.type,o=t.pendingProps,o=t.elementType===s?o:Pt(s,o),uc(e,t,s,o,n);case 1:return s=t.type,o=t.pendingProps,o=t.elementType===s?o:Pt(s,o),Pm(e,t,s,o,n);case 3:e:{if(Ip(t),e===null)throw Error(T(387));s=t.pendingProps,a=t.memoizedState,o=a.element,op(e,t),Ka(t,s,null,n);var i=t.memoizedState;if(s=i.element,a.isDehydrated)if(a={element:s,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){o=bs(Error(T(423)),t),t=Rm(e,t,s,n,o);break e}else if(s!==o){o=bs(Error(T(424)),t),t=Rm(e,t,s,n,o);break e}else for(lt=Ln(t.stateNode.containerInfo.firstChild),ct=t,ce=!0,Tt=null,n=rp(t,null,s,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(ys(),s===o){t=pn(e,t,n);break e}$e(e,t,s,n)}t=t.child}return t;case 5:return ap(t),e===null&&ac(t),s=t.type,o=t.pendingProps,a=e!==null?e.memoizedProps:null,i=o.children,tc(s,o)?i=null:a!==null&&tc(s,a)&&(t.flags|=32),Tp(e,t),$e(e,t,i,n),t.child;case 6:return e===null&&ac(t),null;case 13:return Op(e,t,n);case 4:return Cd(t,t.stateNode.containerInfo),s=t.pendingProps,e===null?t.child=ws(t,null,s,n):$e(e,t,s,n),t.child;case 11:return s=t.type,o=t.pendingProps,o=t.elementType===s?o:Pt(s,o),Cm(e,t,s,o,n);case 7:return $e(e,t,t.pendingProps,n),t.child;case 8:return $e(e,t,t.pendingProps.children,n),t.child;case 12:return $e(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(s=t.type._context,o=t.pendingProps,a=t.memoizedProps,i=o.value,se(Qa,s._currentValue),s._currentValue=i,a!==null)if(qt(a.value,i)){if(a.children===o.children&&!tt.current){t=pn(e,t,n);break e}}else for(a=t.child,a!==null&&(a.return=t);a!==null;){var l=a.dependencies;if(l!==null){i=a.child;for(var c=l.firstContext;c!==null;){if(c.context===s){if(a.tag===1){c=dn(-1,n&-n),c.tag=2;var d=a.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}}a.lanes|=n,c=a.alternate,c!==null&&(c.lanes|=n),ic(a.return,n,t),l.lanes|=n;break}c=c.next}}else if(a.tag===10)i=a.type===t.type?null:a.child;else if(a.tag===18){if(i=a.return,i===null)throw Error(T(341));i.lanes|=n,l=i.alternate,l!==null&&(l.lanes|=n),ic(i,n,t),i=a.sibling}else i=a.child;if(i!==null)i.return=a;else for(i=a;i!==null;){if(i===t){i=null;break}if(a=i.sibling,a!==null){a.return=i.return,i=a;break}i=i.return}a=i}$e(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,s=t.pendingProps.children,Xr(t,n),o=jt(o),s=s(o),t.flags|=1,$e(e,t,s,n),t.child;case 14:return s=t.type,o=Pt(s,t.pendingProps),o=Pt(s.type,o),Am(e,t,s,o,n);case 15:return Rp(e,t,t.type,t.pendingProps,n);case 17:return s=t.type,o=t.pendingProps,o=t.elementType===s?o:Pt(s,o),Aa(e,t),t.tag=1,nt(s)?(e=!0,Ya(t)):e=!1,Xr(t,n),Cp(t,s,o),cc(t,s,o,n),mc(null,t,s,!0,e,n);case 19:return Dp(e,t,n);
vendor: 9,603 bytes, line 40
40case 22:return Ep(e,t,n)}throw Error(T(156,t.tag))};function Kp(e,t){return Nf(e,t)}function z0(e,t,n,s){this.tag=e,this.key=n,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 vt(e,t,n,s){return new z0(e,t,n,s)}function zd(e){return e=e.prototype,!(!e||!e.isReactComponent)}function B0(e){if(typeof e=="function")return zd(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ad)return 11;if(e===id)return 14}return 2}function Gn(e,t){var n=e.alternate;return n===null?(n=vt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Ea(e,t,n,s,o,a){var i=2;if(s=e,typeof e=="function")zd(e)&&(i=1);else if(typeof e=="string")i=5;else e:switch(e){case qr:return yr(n.children,o,a,t);case od:i=8,o|=8;break;case Ol:return e=vt(12,n,t,o|2),e.elementType=Ol,e.lanes=a,e;case Dl:return e=vt(13,n,t,o),e.elementType=Dl,e.lanes=a,e;case Ml:return e=vt(19,n,t,o),e.elementType=Ml,e.lanes=a,e;case of:return ki(n,o,a,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case rf:i=10;break e;case sf:i=9;break e;case ad:i=11;break e;case id:i=14;break e;case kn:i=16,s=null;break e}throw Error(T(130,e==null?e:typeof e,""))}return t=vt(i,n,t,o),t.elementType=e,t.type=s,t.lanes=a,t}function yr(e,t,n,s){return e=vt(7,e,s,t),e.lanes=n,e}function ki(e,t,n,s){return e=vt(22,e,s,t),e.elementType=of,e.lanes=n,e.stateNode={isHidden:!1},e}function bl(e,t,n){return e=vt(6,e,null,t),e.lanes=n,e}function jl(e,t,n){return t=vt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function H0(e,t,n,s,o){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=nl(0),this.expirationTimes=nl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=nl(0),this.identifierPrefix=s,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Bd(e,t,n,s,o,a,i,l,c){return e=new H0(e,t,n,l,c),t===1?(t=1,a===!0&&(t|=8)):t=0,a=vt(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:s,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Sd(a),e}function G0(e,t,n){var s=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Mr,key:s==null?null:""+s,children:e,containerInfo:t,implementation:n}}function Xp(e){if(!e)return Vn;e=e._reactInternals;e:{if(Er(e)!==e||e.tag!==1)throw Error(T(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(nt(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(T(171))}if(e.tag===1){var n=e.type;if(nt(n))return Xf(e,n,t)}return t}function Jp(e,t,n,s,o,a,i,l,c){return e=Bd(n,s,!0,e,o,a,i,l,c),e.context=Xp(null),n=e.current,s=Qe(),o=Hn(n),a=dn(s,o),a.callback=t??null,zn(n,a,o),e.current.lanes=o,_o(e,o,s),rt(e,s),e}function Si(e,t,n,s){var o=t.current,a=Qe(),i=Hn(o);return n=Xp(n),t.context===null?t.context=n:t.pendingContext=n,t=dn(a,i),t.payload={element:e},s=s===void 0?null:s,s!==null&&(t.callback=s),e=zn(o,t,i),e!==null&&(Dt(e,o,i,a),ka(e,o,i)),i}function si(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 _m(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Hd(e,t){_m(e,t),(e=e.alternate)&&_m(e,t)}function Y0(){return null}var Zp=typeof reportError=="function"?reportError:function(e){console.error(e)};function Gd(e){this._internalRoot=e}Ci.prototype.render=Gd.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(T(409));Si(e,t,null,null)};Ci.prototype.unmount=Gd.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;kr(function(){Si(null,e,null,null)}),t[hn]=null}};function Ci(e){this._internalRoot=e}Ci.prototype.unstable_scheduleHydration=function(e){if(e){var t=Ef();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Cn.length&&t!==0&&t<Cn[n].priority;n++);Cn.splice(n,0,e),n===0&&If(e)}};function Yd(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Ai(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Lm(){}function V0(e,t,n,s,o){if(o){if(typeof s=="function"){var a=s;s=function(){var d=si(i);a.call(d)}}var i=Jp(t,s,e,0,null,!1,!1,"",Lm);return e._reactRootContainer=i,e[hn]=i.current,xo(e.nodeType===8?e.parentNode:e),kr(),i}for(;o=e.lastChild;)e.removeChild(o);if(typeof s=="function"){var l=s;s=function(){var d=si(c);l.call(d)}}var c=Bd(e,0,!1,null,null,!1,!1,"",Lm);return e._reactRootContainer=c,e[hn]=c.current,xo(e.nodeType===8?e.parentNode:e),kr(function(){Si(t,c,n,s)}),c}function Pi(e,t,n,s,o){var a=n._reactRootContainer;if(a){var i=a;if(typeof o=="function"){var l=o;o=function(){var c=si(i);l.call(c)}}Si(t,i,e,o)}else i=V0(n,t,e,o,s);return si(i)}Pf=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=Vs(t.pendingLanes);n!==0&&(dd(t,n|1),rt(t,be()),!(Z&6)&&(js=be()+500,Zn()))}break;case 13:kr(function(){var s=fn(e,1);if(s!==null){var o=Qe();Dt(s,e,1,o)}}),Hd(e,1)}};ud=function(e){if(e.tag===13){var t=fn(e,134217728);if(t!==null){var n=Qe();Dt(t,e,134217728,n)}Hd(e,134217728)}};Rf=function(e){if(e.tag===13){var t=Hn(e),n=fn(e,t);if(n!==null){var s=Qe();Dt(n,e,t,s)}Hd(e,t)}};Ef=function(){return ne};Tf=function(e,t){var n=ne;try{return ne=e,t()}finally{ne=n}};Yl=function(e,t,n){switch(t){case"input":if(Fl(e,n),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var s=n[t];if(s!==e&&s.form===e.form){var o=yi(s);if(!o)throw Error(T(90));lf(s),Fl(s,o)}}}break;case"textarea":df(e,n);break;case"select":t=n.value,t!=null&&$r(e,!!n.multiple,t,!1)}};xf=Fd;yf=kr;var $0={usingClientEntryPoint:!1,Events:[zo,Lr,yi,pf,gf,Fd]},zs={findFiberByHostInstance:ir,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Q0={bundleType:zs.bundleType,version:zs.version,rendererPackageName:zs.rendererPackageName,rendererConfig:zs.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:yn.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=bf(e),e===null?null:e.stateNode},findFiberByHostInstance:zs.findFiberByHostInstance||Y0,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 ha=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ha.isDisabled&&ha.supportsFiber)try{fi=ha.inject(Q0),$t=ha}catch{}}mt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=$0;mt.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Yd(t))throw Error(T(200));return G0(e,t,null,n)};mt.createRoot=function(e,t){if(!Yd(e))throw Error(T(299));var n=!1,s="",o=Zp;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(s=t.identifierPrefix),t.onRecoverableError!==void 0&&(o=t.onRecoverableError)),t=Bd(e,1,!1,null,null,n,!1,s,o),e[hn]=t.current,xo(e.nodeType===8?e.parentNode:e),new Gd(t)};mt.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(T(188)):(e=Object.keys(e).join(","),Error(T(268,e)));return e=bf(t),e=e===null?null:e.stateNode,e};mt.flushSync=function(e){return kr(e)};mt.hydrate=function(e,t,n){if(!Ai(t))throw Error(T(200));return Pi(null,e,t,!0,n)};mt.hydrateRoot=function(e,t,n){if(!Yd(e))throw Error(T(405));var s=n!=null&&n.hydratedSources||null,o=!1,a="",i=Zp;if(n!=null&&(n.unstable_strictMode===!0&&(o=!0),n.identifierPrefix!==void 0&&(a=n.identifierPrefix),n.onRecoverableError!==void 0&&(i=n.onRecoverableError)),t=Jp(t,null,e,1,n??null,o,!1,a,i),e[hn]=t.current,xo(e),s)for(e=0;e<s.length;e++)n=s[e],o=n._getVersion,o=o(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,o]:t.mutableSourceEagerHydrationData.push(n,o);return new Ci(t)};mt.render=function(e,t,n){if(!Ai(t))throw Error(T(200));return Pi(null,e,t,!1,n)};mt.unmountComponentAtNode=function(e){if(!Ai(e))throw Error(T(40));return e._reactRootContainer?(kr(function(){Pi(null,null,e,!1,function(){e._reactRootContainer=null,e[hn
40]=null})}),!0):!1};mt.unstable_batchedUpdates=Fd;mt.unstable_renderSubtreeIntoContainer=function(e,t,n,s){if(!Ai(n))throw Error(T(200));if(e==null||e._reactInternals===void 0)throw Error(T(38));return Pi(e,t,n,!1,s)};mt.version="18.3.1-next-f1338f8080-20240426";function eg(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(eg)}catch(e){console.error(e)}}eg(),Zh.exports=mt;var Ho=Zh.exports;const U0=zh(Ho);var tg,zm=Ho;tg=zm.createRoot,zm.hydrateRoot;function K0(e,t){if(e instanceof RegExp)return{keys:!1,pattern:e};var n,s,o,a,i=[],l="",c=e.split("/");for(c[0]||c.shift();o=c.shift();)n=o[0],n==="*"?(i.push(n),l+=o[1]==="?"?"(?:/(.*))?":"/(.*)"):n===":"?(s=o.indexOf("?",1),a=o.indexOf(".",1),i.push(o.substring(1,~s?s:~a?a:o.length)),l+=~s&&!~a?"(?:/([^/]+?))?":"/([^/]+?)",~a&&(l+=(~s?"?":"")+"\\"+o.substring(a))):l+="/"+o;return{keys:i,pattern:new RegExp("^"+l+(t?"(?=$|/)":"/?$"),"i")}}var ng={exports:{}},rg={};/** 41 * @license React 42 * use-sync-external-store-shim.production.min.js 43 * 44 * Copyright (c) Facebook, Inc. and its affiliates. 45 * 46 * This source code is licensed under the MIT license found in the 47 * LICENSE file in the root directory of this source tree. 48 */var Ns=v;function X0(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var J0=typeof Object.is=="function"?Object.is:X0,Z0=Ns.useState,ev=Ns.useEffect,tv=Ns.useLayoutEffect,nv=Ns.useDebugValue;function rv(e,t){var n=t(),s=Z0({inst:{value:n,getSnapshot:t}}),o=s[0].inst,a=s[1];return tv(function(){o.value=n,o.getSnapshot=t,Nl(o)&&a({inst:o})},[e,n,t]),ev(function(){return Nl(o)&&a({inst:o}),e(function(){Nl(o)&&a({inst:o})})},[e]),nv(n),n}function Nl(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!J0(e,n)}catch{return!0}}function sv(e,t){return t()}var ov=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?sv:rv;rg.useSyncExternalStore=Ns.useSyncExternalStore!==void 0?Ns.useSyncExternalStore:ov;ng.exports=rg;var av=ng.exports;const iv=Fy.useInsertionEffect,lv=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",cv=lv?v.useLayoutEffect:v.useEffect,dv=iv||cv,sg=e=>{const t=v.useRef([e,(...n)=>t[0](...n)]).current;return dv(()=>{t[0]=e}),t[1]},uv="popstate",Vd="pushState",$d="replaceState",mv="hashchange",Bm=[uv,Vd,$d,mv],hv=e=>{for(const t of Bm)addEventListener(t,e);return()=>{for(const t of Bm)removeEventListener(t,e)}},og=(e,t)=>av.useSyncExternalStore(hv,e,t),fv=()=>location.search,pv=({ssrSearch:e=""}={})=>og(fv,()=>e),Hm=()=>location.pathname,gv=({ssrPath:e}={})=>
48og(Hm,e?()=>e:Hm),xv=(e,{replace:t=!1,state:n=null}={})=>history[t?$d:Vd](n,"",e),yv=(e={})=>[gv(e),xv],Gm=Symbol.for("wouter_v3");if(typeof history<"u"&&typeof window[Gm]>"u"){for(const e of[Vd,$d]){const t=history[e];history[e]=function(){const n=t.apply(this,arguments),s=new Event(e);return s.arguments=arguments,dispatchEvent(s),n}}Object.defineProperty(window,Gm,{value:!0})}const wv=(e,t)=>t.toLowerCase().indexOf(e.toLowerCase())?"~"+t:t.slice(e.length)||"/",ag=(e="")=>e==="/"?"":e,vv=(e,t)=>e[0]==="~"?e.slice(1):ag(t)+e,bv=(e="",t)=>wv(Ym(ag(e)),Ym(t)),Ym=e=>{try{return decodeURI(e)}catch{return e}},ig={hook:yv,searchHook:pv,parser:K0,base:"",ssrPath:void 0,ssrSearch:void 0,hrefs:e=>e},lg=v.createContext(ig),Rs=()=>v.useContext(lg),cg={},dg=v.createContext(cg),jv=()=>v.useContext(dg),Ri=e=>{const[t,n]=e.hook(e);return[bv(e.base,t),sg((s,o)=>n(vv(s,e.base),o))]},er=()=>Ri(Rs()),Qd=(e,t,n,s)=>{const{pattern:o,keys:a}=t instanceof RegExp?{keys:!1,pattern:t}:e(t||"*",s),i=o.exec(n)||[],[l,...c]=i;return l!==void 0?[!0,(()=>{const d=a!==!1?Object.fromEntries(a.map((m,f)=>[m,c[f]])):i.groups;let u={...c};return d&&Object.assign(u,d),u})(),...s?[l]:[]]:[!1,null]},Nv=e=>Qd(Rs().parser,e,er()[0]),kv=({children:e,...t})=>{var u,m;const n=Rs(),s=t.hook?ig:n;let o=s;const[a,i]=((u=t.ssrPath)==null?void 0:u.split("?"))??[];i&&(t.ssrSearch=i,t.ssrPath=a),t.hrefs=t.hrefs??((m=t.hook)==null?void 0:m.hrefs);let l=v.useRef({}),c=l.current,d=c;for(let f in s){const w=f==="base"?s[f]+(t[f]||""):t[f]||s[f];c===d&&w!==d[f]&&(l.current=d={...d}),d[f]=w,w!==s[f]&&(o=d)}return v.createElement(lg.Provider,{value:o,children:e})},Vm=({children:e,component:t},n)=>t?v.createElement(t,{params:n}):typeof e=="function"?e(n):e,Sv=e=>{let t=v.useRef(cg),n=t.current;for(const s in e)e[s]!==n[s]&&(n=e);return Object.keys(e).length===0&&(n=e),t.current=n},le=({path:e,nest:t,match:n,...s})=>{const o=Rs(),[a]=Ri(o),[i,l,c]=n??Qd(o.parser,e,a,t),d=Sv({...jv(),...l});if(!i)return null;const u=c?v.createElement(kv,{base:c},Vm(s,d)):Vm(s,d);return v.createElement(dg.Provider,{value:d,children:u})},De=v.forwardRef((e,t)=>{const n=Rs(),[s,o]=Ri(n),{to:a="",href:i=a,onClick:l,asChild:c,children:d,className:u,replace:m,state:f,...w}=e,y=sg(b=>{b.ctrlKey||b.metaKey||b.altKey||b.shiftKey||b.button!==0||(l==null||l(b),b.defaultPrevented||(b.preventDefault(),o(i,e)))}),g=n.hrefs(i[0]==="~"?i.slice(1):n.base+i,n);return c&&v.isValidElement(d)?v.cloneElement(d,{onClick:y,href:g}):v.createElement("a",{...w,onClick:y,href:g,className:u!=null&&u.call?u(s===i):u,children:d,ref:t})}),ug=e=>Array.isArray(e)?e.flatMap(t=>ug(t&&t.type===v.Fragment?t.props.children:t)):[e],Cv=({children:e,location:t})=>{const n=Rs(),[s]=Ri(n);for(const o of ug(e)){let a=0;if(v.isValidElement(o)&&(a=Qd(n.parser,o.props.path,t||s,o.props.nest))[0])return v.cloneElement(o,{match:a})}return null};var Go=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(){}},Sr=typeof window>"u"||"Deno"in globalThis;function xt(){}function Av(e,t){return typeof e=="function"?e(t):e}function kc(e){return typeof e=="number"&&e>=0&&e!==1/0}function mg(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Zr(e,t){return typeof e=="function"?e(t):e}function It(e,t){return typeof e=="function"?e(t):e}function $m(e,t){const{type:n="all",exact:s,fetchStatus:o,predicate:a,queryKey:i,stale:l}=e;if(i){if(s){if(t.queryHash!==Ud(i,t.options))return!1}else if(!Ao(t.queryKey,i))return!1}if(n!=="all"){const c=t.isActive();if(n==="active"&&!c||n==="inactive"&&c)return!1}return!(typeof l=="boolean"&&t.isStale()!==l||o&&o!==t.state.fetchStatus||a&&!a(t))}function Qm(e,t){const{exact:n,status:s,predicate:o,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(Co(t.options.mutationKey)!==Co(a))return!1}else if(!Ao(t.options.mutationKey,a))return!1}return!(s&&t.state.status!==s||o&&!o(t))}function Ud(e,t){return((t==null?void 0:t.queryKeyHashFn)||Co)(e)}function Co(e){return JSON.stringify(e,(t,n)=>Cc(n)?Object.keys(n).sort().reduce((s,o)=>(s[o]=n[o],s),{}):n)}function Ao(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!Ao(e[n],t[n])):!1}function hg(e,t){if(e===t)return e;const n=Um(e)&&Um(t);if(n||Cc(e)&&Cc(t)){const s=n?e:Object.keys(e),o=s.length,a=n?t:Object.keys(t),i=a.length,l=n?[]:{};let c=0;for(let d=0;d<i;d++){const u=n?d:a[d];(!n&&s.includes(u)||n)&&e[u]===void 0&&t[u]===void 0?(l[u]=void 0,c++):(l[u]=hg(e[u],t[u]),l[u]===e[u]&&e[u]!==void 0&&c++)}return o===i&&c===o?e:l}return t}function Sc(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function Um(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function Cc(e){if(!Km(e))return!1;const t=e.constructor;if(t===void 0)return!0;const n=t.prototype;return!(!Km(n)||!n.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function Km(e){return Object.prototype.toString.call(e)==="[object Object]"}function Pv(e){return new Promise(t=>{setTimeout(t,e)})}function Ac(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?hg(e,t):t}function Rv(e,t,n=0){const s=[...e,t];return n&&s.length>n?s.slice(1):s}function Ev(e,t,n=0){const s=[t,...e];return n&&s.length>n?s.slice(0,-1):s}var Kd=Symbol();function fg(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===Kd?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}var dr,Pn,rs,Ih,Tv=(Ih=class extends Go{constructor(){super();G(this,dr);G(this,Pn);G(this,rs);F(this,rs,t=>{if(!Sr&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){N(this,Pn)||this.setEventListener(N(this,rs))}onUnsubscribe(){var t;this.hasListeners()||((t=N(this,Pn))==null||t.call(this),F(this,Pn,void 0))}setEventListener(t){var n;F(this,rs,t),(n=N(this,Pn))==null||n.call(this),F(this,Pn,t(s=>{typeof s=="boolean"?this.setFocused(s):this.onFocus()}))}setFocused(t){N(this,dr)!==t&&(F(this,dr,t),this.onFocus())}onFocus(){const t=this.isFocused();
vendor: 30,766 bytes, line 48
48this.listeners.forEach(n=>{n(t)})}isFocused(){var t;return typeof N(this,dr)=="boolean"?N(this,dr):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},dr=new WeakMap,Pn=new WeakMap,rs=new WeakMap,Ih),Xd=new Tv,ss,Rn,os,Oh,Iv=(Oh=class extends Go{constructor(){super();G(this,ss,!0);G(this,Rn);G(this,os);F(this,os,t=>{if(!Sr&&window.addEventListener){const n=()=>t(!0),s=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",s,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",s)}}})}onSubscribe(){N(this,Rn)||this.setEventListener(N(this,os))}onUnsubscribe(){var t;this.hasListeners()||((t=N(this,Rn))==null||t.call(this),F(this,Rn,void 0))}setEventListener(t){var n;F(this,os,t),(n=N(this,Rn))==null||n.call(this),F(this,Rn,t(this.setOnline.bind(this)))}setOnline(t){N(this,ss)!==t&&(F(this,ss,t),this.listeners.forEach(s=>{s(t)}))}isOnline(){return N(this,ss)}},ss=new WeakMap,Rn=new WeakMap,os=new WeakMap,Oh),oi=new Iv;function Pc(){let e,t;const n=new Promise((o,a)=>{e=o,t=a});n.status="pending",n.catch(()=>{});function s(o){Object.assign(n,o),delete n.resolve,delete n.reject}return n.resolve=o=>{s({status:"fulfilled",value:o}),e(o)},n.reject=o=>{s({status:"rejected",reason:o}),t(o)},n}function Ov(e){return Math.min(1e3*2**e,3e4)}function pg(e){return(e??"online")==="online"?oi.isOnline():!0}var gg=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function kl(e){return e instanceof gg}function xg(e){let t=!1,n=0,s=!1,o;const a=Pc(),i=g=>{var b;s||(f(new gg(g)),(b=e.abort)==null||b.call(e))},l=()=>{t=!0},c=()=>{t=!1},d=()=>Xd.isFocused()&&(e.networkMode==="always"||oi.isOnline())&&e.canRun(),u=()=>pg(e.networkMode)&&e.canRun(),m=g=>{var b;s||(s=!0,(b=e.onSuccess)==null||b.call(e,g),o==null||o(),a.resolve(g))},f=g=>{var b;s||(s=!0,(b=e.onError)==null||b.call(e,g),o==null||o(),a.reject(g))},w=()=>new Promise(g=>{var b;o=h=>{(s||d())&&g(h)},(b=e.onPause)==null||b.call(e)}).then(()=>{var g;o=void 0,s||(g=e.onContinue)==null||g.call(e)}),y=()=>{if(s)return;let g;const b=n===0?e.initialPromise:void 0;try{g=b??e.fn()}catch(h){g=Promise.reject(h)}Promise.resolve(g).then(m).catch(h=>{var C;if(s)return;const p=e.retry??(Sr?0:3),x=e.retryDelay??Ov,j=typeof x=="function"?x(n,h):x,k=p===!0||typeof p=="number"&&n<p||typeof p=="function"&&p(n,h);if(t||!k){f(h);return}n++,(C=e.onFail)==null||C.call(e,n,h),Pv(j).then(()=>d()?void 0:w()).then(()=>{t?f(h):y()})})};return{promise:a,cancel:i,continue:()=>(o==null||o(),a),cancelRetry:l,continueRetry:c,canStart:u,start:()=>(u()?y():w().then(y),a)}}function Dv(){let e=[],t=0,n=l=>{l()},s=l=>{l()},o=l=>setTimeout(l,0);const a=l=>{t?e.push(l):o(()=>{n(l)})},i=()=>{const l=e;e=[],l.length&&o(()=>{s(()=>{l.forEach(c=>{n(c)})})})};return{batch:l=>{let c;t++;try{c=l()}finally{t--,t||i()}return c},batchCalls:l=>(...c)=>{a(()=>{l(...c)})},schedule:a,setNotifyFunction:l=>{n=l},setBatchNotifyFunction:l=>{s=l},setScheduler:l=>{o=l}}}var Me=Dv(),ur,Dh,yg=(Dh=class{constructor(){G(this,ur)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),kc(this.gcTime)&&F(this,ur,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Sr?1/0:5*60*1e3))}clearGcTimeout(){N(this,ur)&&(clearTimeout(N(this,ur)),F(this,ur,void 0))}},ur=new WeakMap,Dh),as,is,gt,Le,Do,mr,Rt,rn,Mh,Mv=(Mh=class extends yg{constructor(t){super();G(this,Rt);G(this,as);G(this,is);G(this,gt);G(this,Le);G(this,Do);G(this,mr);F(this,mr,!1),F(this,Do,t.defaultOptions),this.setOptions(t.options),this.observers=[],F(this,gt,t.cache),this.queryKey=t.queryKey,this.queryHash=t.queryHash,F(this,as,qv(this.options)),this.state=t.state??N(this,as),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var t;return(t=N(this,Le))==null?void 0:t.promise}setOptions(t){this.options={...N(this,Do),...t},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&N(this,gt).remove(this)}setData(t,n){const s=Ac(this.state.data,t,this.options);return U(this,Rt,rn).call(this,{data:s,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),s}setState(t,n){U(this,Rt,rn).call(this,{type:"setState",state:t,setStateOptions:n})}cancel(t){var s,o;const n=(s=N(this,Le))==null?void 0:s.promise;return(o=N(this,Le))==null||o.cancel(t),n?n.then(xt).catch(xt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(N(this,as))}isActive(){return this.observers.some(t=>It(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Kd||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStale(){return this.state.isInvalidated?!0:this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0}isStaleByTime(t=0){return this.state.isInvalidated||this.state.data===void 0||!mg(this.state.dataUpdatedAt,t)}onFocus(){var n;const t=this.observers.find(s=>s.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(n=N(this,Le))==null||n.continue()}onOnline(){var n;const t=this.observers.find(s=>s.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(n=N(this,Le))==null||n.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),N(this,gt).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(N(this,Le)&&(N(this,mr)?N(this,Le).cancel({revert:!0}):N(this,Le).cancelRetry()),this.scheduleGc()),N(this,gt).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||U(this,Rt,rn).call(this,{type:"invalidate"})}fetch(t,n){var c,d,u;if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(N(this,Le))return N(this,Le).continueRetry(),N(this,Le).promise}if(t&&this.setOptions(t),!this.options.queryFn){const m=this.observers.find(f=>f.options.queryFn);m&&this.setOptions(m.options)}const s=new AbortController,o=m=>{Object.defineProperty(m,"signal",{enumerable:!0,get:()=>(F(this,mr,!0),s.signal)})},a=()=>{const m=fg(this.options,n),f={queryKey:this.queryKey,meta:this.meta};return o(f),F(this,mr,!1),this.options.persister?this.options.persister(m,f,this):m(f)},i={fetchOptions:n,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:a};o(i),(c=this.options.behavior)==null||c.onFetch(i,this),F(this,is,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((d=i.fetchOptions)==null?void 0:d.meta))&&U(this,Rt,rn).call(this,{type:"fetch",meta:(u=i.fetchOptions)==null?void 0:u.meta});const l=m=>{var f,w,y,g;kl(m)&&m.silent||U(this,Rt,rn).call(this,{type:"error",error:m}),kl(m)||((w=(f=N(this,gt).config).onError)==null||w.call(f,m,this),(g=(y=N(this,gt).config).onSettled)==null||g.call(y,this.state.data,m,this)),this.scheduleGc()};return F(this,Le,xg({initialPromise:n==null?void 0:n.initialPromise,fn:i.fetchFn,abort:s.abort.bind(s),onSuccess:m=>{var f,w,y,g;if(m===void 0){l(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(m)}catch(b){l(b);return}(w=(f=N(this,gt).config).onSuccess)==null||w.call(f,m,this),(g=(y=N(this,gt).config).onSettled)==null||g.call(y,m,this.state.error,this),this.scheduleGc()},onError:l,onFail:(m,f)=>{U(this,Rt,rn).call(this,{type:"failed",failureCount:m,error:f})},onPause:()=>{U(this,Rt,rn).call(this,{type:"pause"})},onContinue:()=>{U(this,Rt,rn).call(this,{type:"continue"})},retry:i.options.retry,retryDelay:i.options.retryDelay,networkMode:i.options.networkMode,canRun:()=>!0})),N(this,Le).start()}},as=new WeakMap,is=new WeakMap,gt=new WeakMap,Le=new WeakMap,Do=new WeakMap,mr=new WeakMap,Rt=new WeakSet,rn=function(t){const n=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,...wg(s.data,this.options),fetchMeta:t.meta??null};case"success":return{...s,data:t.data,dataUpdateCount:s.dataUpdateCount+1,dataUpdatedAt:t.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const o=t.error;return kl(o)&&o.revert&&N(this,is)?{...N(this,is),fetchStatus:"idle"}:{...s,error:o,errorUpdateCount:s.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:s.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error"};case"invalidate":return{...s,isInvalidated:!0};case"setState":return{...s,...t.state}}};this.state=n(this.state),Me.batch(()=>{this.observers.forEach(s=>{s.onQueryUpdate()}),N(this,gt).notify({query:this,type:"updated",action:t})})},Mh);function wg(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:pg(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function qv(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=t!==void 0,s=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?s??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var Bt,qh,Wv=(qh=class extends Go{constructor(t={}){super();G(this,Bt);this.config=t,F(this,Bt,new Map)}build(t,n,s){const o=n.queryKey,a=n.queryHash??Ud(o,n);let i=this.get(a);return i||(i=new Mv({cache:this,queryKey:o,queryHash:a,options:t.defaultQueryOptions(n),state:s,defaultOptions:t.getQueryDefaults(o)}),this.add(i)),i}add(t){N(this,Bt).has(t.queryHash)||(N(this,Bt).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const n=N(this,Bt).get(t.queryHash);n&&(t.destroy(),n===t&&N(this,Bt).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Me.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return N(this,Bt).get(t)}getAll(){return[...N(this,Bt).values()]}find(t){const n={exact:!0,...t};return this.getAll().find(s=>$m(n,s))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(s=>$m(t,s)):n}notify(t){Me.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){Me.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Me.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Bt=new WeakMap,qh),Ht,Ye,hr,Gt,Nn,Wh,Fv=(Wh=class extends yg{constructor(t){super();G(this,Gt);G(this,Ht);G(this,Ye);G(this,hr);this.mutationId=t.mutationId,F(this,Ye,t.mutationCache),F(this,Ht,[]),this.state=t.state||_v(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){N(this,Ht).includes(t)||(N(this,Ht).push(t),this.clearGcTimeout(),N(this,Ye).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){F(this,Ht,N(this,Ht).filter(n=>n!==t)),this.scheduleGc(),N(this,Ye).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){N(this,Ht).length||(this.state.status==="pending"?this.scheduleGc():N(this,Ye).remove(this))}continue(){var t;return((t=N(this,hr))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var o,a,i,l,c,d,u,m,f,w,y,g,b,h,p,x,j,k,C,S;F(this,hr,xg({fn:()=>this.options.mutationFn?this.options.mutationFn(t):Promise.reject(new Error("No mutationFn found")),onFail:(A,R)=>{U(this,Gt,Nn).call(this,{type:"failed",failureCount:A,error:R})},onPause:()=>{U(this,Gt,Nn).call(this,{type:"pause"})},onContinue:()=>{U(this,Gt,Nn).call(this,{type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>N(this,Ye).canRun(this)}));const n=this.state.status==="pending",s=!N(this,hr).canStart();try{if(!n){U(this,Gt,Nn).call(this,{type:"pending",variables:t,isPaused:s}),await((a=(o=N(this,Ye).config).onMutate)==null?void 0:a.call(o,t,this));const R=await((l=(i=this.options).onMutate)==null?void 0:l.call(i,t));R!==this.state.context&&U(this,Gt,Nn).call(this,{type:"pending",context:R,variables:t,isPaused:s})}const A=await N(this,hr).start();return await((d=(c=N(this,Ye).config).onSuccess)==null?void 0:d.call(c,A,t,this.state.context,this)),await((m=(u=this.options).onSuccess)==null?void 0:m.call(u,A,t,this.state.context)),await((w=(f=N(this,Ye).config).onSettled)==null?void 0:w.call(f,A,null,this.state.variables,this.state.context,this)),await((g=(y=this.options).onSettled)==null?void 0:g.call(y,A,null,t,this.state.context)),U(this,Gt,Nn).call(this,{type:"success",data:A}),A}catch(A){try{throw await((h=(b=N(this,Ye).config).onError)==null?void 0:h.call(b,A,t,this.state.context,this)),await((x=(p=this.options).onError)==null?void 0:x.call(p,A,t,this.state.context)),await((k=(j=N(this,Ye).config).onSettled)==null?void 0:k.call(j,void 0,A,this.state.variables,this.state.context,this)),await((S=(C=this.options).onSettled)==null?void 0:S.call(C,void 0,A,t,this.state.context)),A}finally{U(this,Gt,Nn).call(this,{type:"error",error:A})}}finally{N(this,Ye).runNext(this)}}},Ht=new WeakMap,Ye=new WeakMap,hr=new WeakMap,Gt=new WeakSet,Nn=function(t){const n=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=n(this.state),Me.batch(()=>{N(this,Ht).forEach(s=>{s.onMutationUpdate(t)}),N(this,Ye).notify({mutation:this,type:"updated",action:t})})},Wh);function _v(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var ot,Mo,Fh,Lv=(Fh=class extends Go{constructor(t={}){super();G(this,ot);G(this,Mo);this.config=t,F(this,ot,new Map),F(this,Mo,Date.now())}build(t,n,s){const o=new Fv({mutationCache:this,mutationId:++Ko(this,Mo)._,options:t.defaultMutationOptions(n),state:s});return this.add(o),o}add(t){const n=fa(t),s=N(this,ot).get(n)??[];s.push(t),N(this,ot).set(n,s),this.notify({type:"added",mutation:t})}remove(t){var s;const n=fa(t);if(N(this,ot).has(n)){const o=(s=N(this,ot).get(n))==null?void 0:s.filter(a=>a!==t);o&&(o.length===0?N(this,ot).delete(n):N(this,ot).set(n,o))}this.notify({type:"removed",mutation:t})}canRun(t){var s;const n=(s=N(this,ot).get(fa(t)))==null?void 0:s.find(o=>o.state.status==="pending");return!n||n===t}runNext(t){var s;const n=(s=N(this,ot).get(fa(t)))==null?void 0:s.find(o=>o!==t&&o.state.isPaused);return(n==null?void 0:n.continue())??Promise.resolve()}clear(){Me.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}getAll(){return[...N(this,ot).values()].flat()}find(t){const n={exact:!0,...t};return this.getAll().find(s=>Qm(n,s))}findAll(t={}){return this.getAll().filter(n=>Qm(t,n))}notify(t){Me.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){const t=this.getAll().filter(n=>n.state.isPaused);return Me.batch(()=>Promise.all(t.map(n=>n.continue().catch(xt))))}},ot=new WeakMap,Mo=new WeakMap,Fh);function fa(e){var t;return((t=e.options.scope)==null?void 0:t.id)??String(e.mutationId)}function Xm(e){return{onFetch:(t,n)=>{var u,m,f,w,y;const s=t.options,o=(f=(m=(u=t.fetchOptions)==null?void 0:u.meta)==null?void 0:m.fetchMore)==null?void 0:f.direction,a=((w=t.state.data)==null?void 0:w.pages)||[],i=((y=t.state.data)==null?void 0:y.pageParams)||[];let l={pages:[],pageParams:[]},c=0;const d=async()=>{let g=!1;const b=x=>{Object.defineProperty(x,"signal",{enumerable:!0,get:()=>(t.signal.aborted?g=!0:t.signal.addEventListener("abort",()=>{g=!0}),t.signal)})},h=fg(t.options,t.fetchOptions),p=async(x,j,k)=>{if(g)return Promise.reject();if(j==null&&x.pages.length)return Promise.resolve(x);const C={queryKey:t.queryKey,pageParam:j,direction:k?"backward":"forward",meta:t.options.meta};b(C);const S=await h(C),{maxPages:A}=t.options,R=k?Ev:Rv;return{pages:R(x.pages,S,A),pageParams:R(x.pageParams,j,A)}};if(o&&a.length){const x=o==="backward",j=x?zv:Jm,k={pages:a,pageParams:i},C=j(s,k);l=await p(k,C,x)}else{const x=e??a.length;do{const j=c===0?i[0]??s.initialPageParam:Jm(s,l);if(c>0&&j==null)break;l=await p(l,j),c++}while(c<x)}return l};t.options.persister?t.fetchFn=()=>{var g,b;return(b=(g=t.options).persister)==null?void 0:b.call(g,d,{queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=d}}}function Jm(e,{pages:t,pageParams:n}){const s=t.length-1;return t.length>0?e.getNextPageParam(t[s],t,n[s],n):void 0}function zv(e,{pages:t,pageParams:n}){var s;return t.length>0?(s=e.getPreviousPageParam)==null?void 0:s.call(e,t[0],t,n[0],n):void 0}var ge,En,Tn,ls,cs,In,ds,us,_h,Bv=(_h=class{constructor(e={}){G(this,ge);G(this,En);G(this,Tn);G(this,ls);G(this,cs);G(this,In);G(this,ds);G(this,us);F(this,ge,e.queryCache||new Wv),F(this,En,e.mutationCache||new Lv),F(this,Tn,e.defaultOptions||{}),F(this,ls,new Map),F(this,cs,new Map),F(this,In,0)}mount(){Ko(this,In)._++,N(this,In)===1&&(F(this,ds,Xd.subscribe(async e=>{e&&(await this.resumePausedMutations(),N(this,ge).onFocus())})),F(this,us,oi.subscribe(async e=>{e&&(await this.resumePausedMutations(),N(this,ge).onOnline())})))}unmount(){var e,t;Ko(this,In)._--,N(this,In)===0&&((e=N(this,ds))==null||e.call(this),F(this,ds,void 0),(t=N(this,us))==null||t.call(this),F(this,us,void 0))}isFetching(e){return N(this,ge).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return N(this,En).findAll({...e,status:"pending"}).length}getQueryData(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=N(this,ge).get(t.queryHash))==null?void 0:n.state.data}ensureQueryData(e){const t=this.getQueryData(e.queryKey);if(t===void 0)return this.fetchQuery(e);{const n=this.defaultQueryOptions(e),s=N(this,ge).build(this,n);return e.revalidateIfStale&&s.isStaleByTime(Zr(n.staleTime,s))&&this.prefetchQuery(n),Promise.resolve(t)}}getQueriesData(e){return N(this,ge).findAll(e).map(({queryKey:t,state:n})=>{const s=n.data;return[t,s]})}setQueryData(e,t,n){const s=this.defaultQueryOptions({queryKey:e}),o=N(this,ge).get(s.queryHash),a=o==null?void 0:o.state.data,i=Av(t,a);if(i!==void 0)return N(this,ge).build(this,s).setData(i,{...n,manual:!0})}setQueriesData(e,t,n){return Me.batch(()=>N(this,ge).findAll(e).map(({queryKey:s})=>[s,this.setQueryData(s,t,n)]))}getQueryState(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=N(this,ge).get(t.queryHash))==null?void 0:n.state}removeQueries(e){const t=N(this,ge);Me.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=N(this,ge),s={type:"active",...e};return Me.batch(()=>(n.findAll(e).forEach(o=>{o.reset()}),this.refetchQueries(s,t)))}cancelQueries(e={},t={}){const n={revert:!0,...t},s=Me.batch(()=>N(this,ge).findAll(e).map(o=>o.cancel(n)));return Promise.all(s).then(xt).catch(xt)}invalidateQueries(e={},t={}){return Me.batch(()=>{if(N(this,ge).findAll(e).forEach(s=>{s.invalidate()}),e.refetchType==="none")return Promise.resolve();const n={...e,type:e.refetchType??e.type??"active"};return this.refetchQueries(n,t)})}refetchQueries(e={},t){const n={...t,cancelRefetch:(t==null?void 0:t.cancelRefetch)??!0},s=Me.batch(()=>N(this,ge).findAll(e).filter(o=>!o.isDisabled()).map(o=>{let a=o.fetch(void 0,n);return n.throwOnError||(a=a.catch(xt)),o.state.fetchStatus==="paused"?Promise.resolve():a}));return Promise.all(s).then(xt)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const n=N(this,ge).build(this,t);return n.isStaleByTime(Zr(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(xt).catch(xt)}fetchInfiniteQuery(e){return e.behavior=Xm(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(xt).catch(xt)}ensureInfiniteQueryData(e){return e.behavior=Xm(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return oi.isOnline()?N(this,En).resumePausedMutations():Promise.resolve()}getQueryCache(){return N(this,ge)}getMutationCache(){return N(this,En)}getDefaultOptions(){return N(this,Tn)}setDefaultOptions(e){F(this,Tn,e)}setQueryDefaults(e,t){N(this,ls).set(Co(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...N(this,ls).values()];let n={};return t.forEach(s=>{Ao(e,s.queryKey)&&(n={...n,...s.defaultOptions})}),n}setMutationDefaults(e,t){N(this,cs).set(Co(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...N(this,cs).values()];let n={};return t.forEach(s=>{Ao(e,s.mutationKey)&&(n={...n,...s.defaultOptions})}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...N(this,Tn).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=Ud(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.enabled!==!0&&t.queryFn===Kd&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...N(this,Tn).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){N(this,ge).clear(),N(this,En).clear()}},ge=new WeakMap,En=new WeakMap,Tn=new WeakMap,ls=new WeakMap,cs=new WeakMap,In=new WeakMap,ds=new WeakMap,us=new WeakMap,_h),Je,K,qo,Ve,fr,ms,On,Yt,Wo,hs,fs,pr,gr,Dn,ps,te,Qs,Rc,Ec,Tc,Ic,Oc,Dc,Mc,vg,Lh,Hv=(Lh=class extends Go{constructor(t,n){super();G(this,te);G(this,Je);G(this,K);G(this,qo);G(this,Ve);G(this,fr);G(this,ms);G(this,On);G(this,Yt);G(this,Wo);G(this,hs);G(this,fs);G(this,pr);G(this,gr);G(this,Dn);G(this,ps,new Set);this.options=n,F(this,Je,t),F(this,Yt,null),F(this,On,Pc()),this.options.experimental_prefetchInRender||N(this,On).reject(new Error("experimental_prefetchInRender feature flag is not enabled")),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(N(this,K).addObserver(this),Zm(N(this,K),this.options)?U(this,te,Qs).call(this):this.updateResult(),U(this,te,Ic).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return qc(N(this,K),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return qc(N(this,K),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,U(this,te,Oc).call(this),U(this,te,Dc).call(this),N(this,K).removeObserver(this)}setOptions(t,n){const s=this.options,o=N(this,K);if(this.options=N(this,Je).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof It(this.options.enabled,N(this,K))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");U(this,te,Mc).call(this),N(this,K).setOptions(this.options),s._defaulted&&!Sc(this.options,s)&&N(this,Je).getQueryCache().notify({type:"observerOptionsUpdated",query:N(this,K),observer:this});const a=this.hasListeners();a&&eh(N(this,K),o,this.options,s)&&U(this,te,Qs).call(this),this.updateResult(n),a&&(N(this,K)!==o||It(this.options.enabled,N(this,K))!==It(s.enabled,N(this,K))||Zr(this.options.staleTime,N(this,K))!==Zr(s.staleTime,N(this,K)))&&U(this,te,Rc).call(this);const i=U(this,te,Ec).call(this);a&&(N(this,K)!==o||It(this.options.enabled,N(this,K))!==It(s.enabled,N(this,K))||i!==N(this,Dn))&&U(this,te,Tc).call(this,i)}getOptimisticResult(t){const n=N(this,Je).getQueryCache().build(N(this,Je),t),s=this.createResult(n,t);return Yv(this,s)&&(F(this,Ve,s),F(this,ms,this.options),F(this,fr,N(this,K).state)),s}getCurrentResult(){return N(this,Ve)}trackResult(t,n){const s={};return Object.keys(t).forEach(o=>{Object.defineProperty(s,o,{configurable:!1,enumerable:!0,get:()=>(this.trackProp(o),n==null||n(o),t[o])})}),s}trackProp(t){N(this,ps).add(t)}getCurrentQuery(){return N(this,K)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const n=N(this,Je).defaultQueryOptions(t),s=N(this,Je).getQueryCache().build(N(this,Je),n);return s.fetch().then(()=>this.createResult(s,n))}fetch(t){return U(this,te,Qs).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),N(this,Ve)))}createResult(t,n){var A;const s=N(this,K),o=this.options,a=N(this,Ve),i=N(this,fr),l=N(this,ms),d=t!==s?t.state:N(this,qo),{state:u}=t;let m={...u},f=!1,w;if(n._optimisticResults){const R=this.hasListeners(),E=!R&&Zm(t,n),M=R&&eh(t,s,n,o);(E||M)&&(m={...m,...wg(u.data,t.options)}),n._optimisticResults==="isRestoring"&&(m.fetchStatus="idle")}let{error:y,errorUpdatedAt:g,status:b}=m;if(n.select&&m.data!==void 0)if(a&&m.data===(i==null?void 0:i.data)&&n.select===N(this,Wo))w=N(this,hs);else try{F(this,Wo,n.select),w=n.select(m.data),w=Ac(a==null?void 0:a.data,w,n),F(this,hs,w),F(this,Yt,null)}catch(R){F(this,Yt,R)}else w=m.data;if(n.placeholderData!==void 0&&w===void 0&&b==="pending"){let R;if(a!=null&&a.isPlaceholderData&&n.placeholderData===(l==null?void 0:l.placeholderData))R=a.data;else if(R=typeof n.placeholderData=="function"?n.placeholderData((A=N(this,fs))==null?void 0:A.state.data,N(this,fs)):n.placeholderData,n.select&&R!==void 0)try{R=n.select(R),F(this,Yt,null)}catch(E){F(this,Yt,E)}R!==void 0&&(b="success",w=Ac(a==null?void 0:a.data,R,n),f=!0)}N(this,Yt)&&(y=N(this,Yt),w=N(this,hs),g=Date.now(),b="error");const h=m.fetchStatus==="fetching",p=b==="pending",x=b==="error",j=p&&h,k=w!==void 0,S={status:b,fetchStatus:m.fetchStatus,isPending:p,isSuccess:b==="success",isError:x,isInitialLoading:j,isLoading:j,data:w,dataUpdatedAt:m.dataUpdatedAt,error:y,errorUpdatedAt:g,failureCount:m.fetchFailureCount,failureReason:m.fetchFailureReason,errorUpdateCount:m.errorUpdateCount,isFetched:m.dataUpdateCount>0||m.errorUpdateCount>0,isFetchedAfterMount:m.dataUpdateCount>d.dataUpdateCount||m.errorUpdateCount>d.errorUpdateCount,isFetching:h,isRefetching:h&&!p,isLoadingError:x&&!k,isPaused:m.fetchStatus==="paused",isPlaceholderData:f,isRefetchError:x&&k,isStale:Jd(t,n),refetch:this.refetch,promise:N(this,On)};if(this.options.experimental_prefetchInRender){const R=D=>{S.status==="error"?D.reject(S.error):S.data!==void 0&&D.resolve(S.data)},E=()=>{const D=F(this,On,S.promise=Pc());R(D)},M=N(this,On);switch(M.status){case"pending":t.queryHash===s.queryHash&&R(M);break;case"fulfilled":(S.status==="error"||S.data!==M.value)&&E();break;case"rejected":(S.status!=="error"||S.error!==M.reason)&&E();break}}return S}updateResult(t){const n=N(this,Ve),s=this.createResult(N(this,K),this.options);if(F(this,fr,N(this,K).state),F(this,ms,this.options),N(this,fr).data!==void 0&&F(this,fs,N(this,K)),Sc(s,n))return;F(this,Ve,s);const o={},a=()=>{if(!n)return!0;const{notifyOnChangeProps:i}=this.options,l=typeof i=="function"?i():i;if(l==="all"||!l&&!N(this,ps).size)return!0;const c=new Set(l??N(this,ps));return this.options.throwOnError&&c.add("error"),Object.keys(N(this,Ve)).some(d=>{const u=d;return N(this,Ve)[u]!==n[u]&&c.has(u)})};(t==null?void 0:t.listeners)!==!1&&a()&&(o.listeners=!0),U(this,te,vg).call(this,{...o,...t})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&U(this,te,Ic).call(this)}},Je=new WeakMap,K=new WeakMap,qo=new WeakMap,Ve=new WeakMap,fr=new WeakMap,ms=new WeakMap,On=new WeakMap,Yt=new WeakMap,Wo=new WeakMap,hs=new WeakMap,fs=new WeakMap,pr=new WeakMap,gr=new WeakMap,Dn=new WeakMap,ps=new WeakMap,te=new WeakSet,Qs=function(t){U(this,te,Mc).call(this);let n=N(this,K).fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(xt)),n},Rc=function(){U(this,te,Oc).call(this);const t=Zr(this.options.staleTime,N(this,K));if(Sr||N(this,Ve).isStale||!kc(t))return;const s=mg(N(this,Ve).dataUpdatedAt,t)+1;F(this,pr,setTimeout(()=>{N(this,Ve).isStale||this.updateResult()},s))},Ec=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(N(this,K)):this.options.refetchInterval)??!1},Tc=function(t){U(this,te,Dc).call(this),F(this,Dn,t),!(Sr||It(this.options.enabled,N(this,K))===!1||!kc(N(this,Dn))||N(this,Dn)===0)&&F(this,gr,setInterval(()=>{(this.options.refetchIntervalInBackground||Xd.isFocused())&&U(this,te,Qs).call(this)},N(this,Dn)))},Ic=function(){U(this,te,Rc).call(this),U(this,te,Tc).call(this,U(this,te,Ec).call(this))},Oc=function(){N(this,pr)&&(clearTimeout(N(this,pr)),F(this,pr,void 0))},Dc=function(){N(this,gr)&&(clearInterval(N(this,gr)),F(this,gr,void 0))},Mc=function(){const t=N(this,Je).getQueryCache().build(N(this,Je),this.options);if(t===N(this,K))return;const n=N(this,K);F(this,K,t),F(this,qo,t.state),this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))},vg=function(t){Me.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(N(this,Ve))}),N(this,Je).getQueryCache().notify({query:N(this,K),type:"observerResultsUpdated"})})},Lh);function Gv(e,t){return It(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function Zm(e,t){return Gv(e,t)||e.state.data!==void 0&&qc(e,t,t.refetchOnMount)}function qc(e,t,n){if(It(t.enabled,e)!==!1){const s=typeof n=="function"?n(e):n;return s==="always"||s!==!1&&Jd(e,t)}return!1}function eh(e,t,n,s){return(e!==t||It(s.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&Jd(e,n)}function Jd(e,t){return It(t.enabled,e)!==!1&&e.isStaleByTime(Zr(t.staleTime,e))}function Yv(e,t){return!Sc(e.getCurrentResult(),t)}var bg=v.createContext(void 0),Vv=e=>{const t=v.useContext(bg);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},$v=({client:e,children:t})=>(v.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),r.jsx(bg.Provider,{value:e,children:t})),jg=v.createContext(!1),Qv=()=>v.useContext(jg);jg.Provider;function Uv(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Kv=v.createContext(Uv()),Xv=()=>v.useContext(Kv);function Jv(e,t){return typeof e=="function"?e(...t):!!e}function th(){}var Zv=(e,t)=>{(e.suspense||e.throwOnError||e.experimental_prefetchInRender)&&(t.isReset()||(e.retryOn
48Mount=!1))},eb=e=>{v.useEffect(()=>{e.clearReset()},[e])},tb=({result:e,errorResetBoundary:t,throwOnError:n,query:s})=>e.isError&&!t.isReset()&&!e.isFetching&&s&&Jv(n,[e.error,s]),nb=e=>{e.suspense&&(e.staleTime===void 0&&(e.staleTime=1e3),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3)))},rb=(e,t)=>e.isLoading&&e.isFetching&&!t,sb=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,nh=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function ob(e,t,n){var u,m,f,w,y;const s=Vv(),o=Qv(),a=Xv(),i=s.defaultQueryOptions(e);(m=(u=s.getDefaultOptions().queries)==null?void 0:u._experimental_beforeQuery)==null||m.call(u,i),i._optimisticResults=o?"isRestoring":"optimistic",nb(i),Zv(i,a),eb(a);const l=!s.getQueryCache().get(i.queryHash),[c]=v.useState(()=>new t(s,i)),d=c.getOptimisticResult(i);if(v.useSyncExternalStore(v.useCallback(g=>{const b=o?th:c.subscribe(Me.batchCalls(g));return c.updateResult(),b},[c,o]),()=>c.getCurrentResult(),()=>c.getCurrentResult()),v.useEffect(()=>{c.setOptions(i,{listeners:!1})},[i,c]),sb(i,d))throw nh(i,c,a);if(tb({result:d,errorResetBoundary:a,throwOnError:i.throwOnError,query:s.getQueryCache().get(i.queryHash)}))throw d.error;if((w=(f=s.getDefaultOptions().queries)==null?void 0:f._experimental_afterQuery)==null||w.call(f,i,d),i.experimental_prefetchInRender&&!Sr&&rb(d,o)){const g=l?nh(i,c,a):(y=s.getQueryCache().get(i.queryHash))==null?void 0:y.promise;g==null||g.catch(th).finally(()=>{c.updateResult()})}return i.notifyOnChangeProps?d:c.trackResult(d)}function ab(e,t){return ob(e,Hv)}async function ib(e){if(!e.ok){const t=await e.text()||e.statusText;throw new Error(`${e.status}: ${t}`)}}const lb=({on401:e})=>async({queryKey:t})=>{const n=await fetch(t[0],{credentials:"include"});return e==="returnNull"&&n.status===401?null:(await ib(n),await n.json())},cb=new Bv({defaultOptions:{queries:{queryFn:lb({on401:"throw"}),refetchInterval:!1,refetchOnWindowFocus:!1,staleTime:1/0,retry:!1},mutations:{retry:!1}}}),db=1,ub=1e6;let Sl=0;function mb(){return Sl=(Sl+1)%Number.MAX_SAFE_INTEGER,Sl.toString()}const Cl=new Map,rh=e=>{if(Cl.has(e))return;const t=setTimeout(()=>{Cl.delete(e),oo({type:"REMOVE_TOAST",toastId:e})},ub);Cl.set(e,t)},hb=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,db)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(n=>n.id===t.toast.id?{...n,...t.toast}:n)};case"DISMISS_TOAST":{const{toastId:n}=t;return n?rh(n):e.toasts.forEach(s=>{rh(s.id)}),{...e,toasts:e.toasts.map(s=>s.id===n||n===void 0?{...s,open:!1}:s)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(n=>n.id!==t.toastId)}}},Ta=[];let Ia={toasts:[]};function oo(e){Ia=hb(Ia,e),Ta.forEach(t=>{t(Ia)})}function fb({...e}){const t=mb(),n=o=>oo({type:"UPDATE_TOAST",toast:{...o,id:t}}),s=()=>oo({type:"DISMISS_TOAST",toastId:t});return oo({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:o=>{o||s()}}}),{id:t,dismiss:s,update:n}}function pb(){const[e,t]=v.useState(Ia);return v.useEffect(()=>(Ta.push(t),()=>{const n=Ta.indexOf(t);n>-1&&Ta.splice(n,1)}),[e]),{...e,toast:fb,dismiss:n=>oo({type:"DISMISS_TOAST",toastId:n})}}function Ae(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function sh(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Ng(...e){return t=>{let n=!1;const s=e.map(o=>{const a=sh(o,t);return!n&&typeof a=="function"&&(n=!0),a});if(n)return()=>{for(let o=0;o<s.length;o++){const a=s[o];typeof a=="function"?a():sh(e[o],null)}}}}function Wt(...e){return v.useCallback(Ng(...e),e)}function Ei(e,t=[]){let n=[];function s(a,i){const l=v.createContext(i),c=n.length;n=[...n,i];const d=m=>{var h;const{scope:f,children:w,...y}=m,g=((h=f==null?void 0:f[e])==null?void 0:h[c])||l,b=v.useMemo(()=>y,Object.values(y));return r.jsx(g.Provider,{value:b,children:w})};d.displayName=a+"Provider";function u(m,f){var g;const w=((g=f==null?void 0:f[e])==null?void 0:g[c])||l,y=v.useContext(w);if(y)return y;if(i!==void 0)return i;throw new Error(`\`${m}\` must be used within \`${a}\``)}return[d,u]}const o=()=>{const a=n.map(i=>v.createContext(i));return function(l){const c=(l==null?void 0:l[e])||a;return v.useMemo(()=>({[`__scope${e}`]:{...l,[e]:c}}),[l,c])}};return o.scopeName=e,[s,gb(o,...t)]}function gb(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const s=e.map(o=>({useScope:o(),scopeName:o.scopeName}));
vendor: 9,944 bytes, line 48
48return function(a){const i=s.reduce((l,{useScope:c,scopeName:d})=>{const m=c(a)[`__scope${d}`];return{...l,...m}},{});return v.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}function ai(e){const t=yb(e),n=v.forwardRef((s,o)=>{const{children:a,...i}=s,l=v.Children.toArray(a),c=l.find(vb);if(c){const d=c.props.children,u=l.map(m=>m===c?v.Children.count(d)>1?v.Children.only(null):v.isValidElement(d)?d.props.children:null:m);return r.jsx(t,{...i,ref:o,children:v.isValidElement(d)?v.cloneElement(d,void 0,u):null})}return r.jsx(t,{...i,ref:o,children:a})});return n.displayName=`${e}.Slot`,n}var xb=ai("Slot");function yb(e){const t=v.forwardRef((n,s)=>{const{children:o,...a}=n;if(v.isValidElement(o)){const i=jb(o),l=bb(a,o.props);return o.type!==v.Fragment&&(l.ref=s?Ng(s,i):i),v.cloneElement(o,l)}return v.Children.count(o)>1?v.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var kg=Symbol("radix.slottable");function wb(e){const t=({children:n})=>r.jsx(r.Fragment,{children:n});return t.displayName=`${e}.Slottable`,t.__radixId=kg,t}function vb(e){return v.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===kg}function bb(e,t){const n={...t};for(const s in t){const o=e[s],a=t[s];/^on[A-Z]/.test(s)?o&&a?n[s]=(...l)=>{a(...l),o(...l)}:o&&(n[s]=o):s==="style"?n[s]={...o,...a}:s==="className"&&(n[s]=[o,a].filter(Boolean).join(" "))}return{...e,...n}}function jb(e){var s,o;let t=(s=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Nb(e){const t=e+"CollectionProvider",[n,s]=Ei(t),[o,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),i=g=>{const{scope:b,children:h}=g,p=sn.useRef(null),x=sn.useRef(new Map).current;return r.jsx(o,{scope:b,itemMap:x,collectionRef:p,children:h})};i.displayName=t;const l=e+"CollectionSlot",c=ai(l),d=sn.forwardRef((g,b)=>{const{scope:h,children:p}=g,x=a(l,h),j=Wt(b,x.collectionRef);return r.jsx(c,{ref:j,children:p})});d.displayName=l;const u=e+"CollectionItemSlot",m="data-radix-collection-item",f=ai(u),w=sn.forwardRef((g,b)=>{const{scope:h,children:p,...x}=g,j=sn.useRef(null),k=Wt(b,j),C=a(u,h);return sn.useEffect(()=>(C.itemMap.set(j,{ref:j,...x}),()=>void C.itemMap.delete(j))),r.jsx(f,{[m]:"",ref:k,children:p})});w.displayName=u;function y(g){const b=a(e+"CollectionConsumer",g);return sn.useCallback(()=>{const p=b.collectionRef.current;if(!p)return[];const x=Array.from(p.querySelectorAll(`[${m}]`));return Array.from(b.itemMap.values()).sort((C,S)=>x.indexOf(C.ref.current)-x.indexOf(S.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:i,Slot:d,ItemSlot:w},y,s]}var kb=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Xe=kb.reduce((e,t)=>{const n=ai(`Primitive.${t}`),s=v.forwardRef((o,a)=>{const{asChild:i,...l}=o,c=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),r.jsx(c,{...l,ref:a})});return s.displayName=`Primitive.${t}`,{...e,[t]:s}},{});function Sg(e,t){e&&Ho.flushSync(()=>e.dispatchEvent(t))}function Kt(e){const t=v.useRef(e);return v.useEffect(()=>{t.current=e}),v.useMemo(()=>(...n)=>{var s;return(s=t.current)==null?void 0:s.call(t,...n)},[])}function Sb(e,t=globalThis==null?void 0:globalThis.document){const n=Kt(e);v.useEffect(()=>{const s=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",s,{capture:!0}),()=>t.removeEventListener("keydown",s,{capture:!0})},[n,t])}var Cb="DismissableLayer",Wc="dismissableLayer.update",Ab="dismissableLayer.pointerDownOutside",Pb="dismissableLayer.focusOutside",oh,Cg=v.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Zd=v.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:s,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:i,onDismiss:l,...c}=e,d=v.useContext(Cg),[u,m]=v.useState(null),f=(u==null?void 0:u.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,w]=v.useState({}),y=Wt(t,S=>m(S)),g=Array.from(d.layers),[b]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),h=g.indexOf(b),p=u?g.indexOf(u):-1,x=d.layersWithOutsidePointerEventsDisabled.size>0,j=p>=h,k=Eb(S=>{const A=S.target,R=[...d.branches].some(E=>E.contains(A));!j||R||(o==null||o(S),i==null||i(S),S.defaultPrevented||l==null||l())},f),C=Tb(S=>{const A=S.target;[...d.branches].some(E=>E.contains(A))||(a==null||a(S),i==null||i(S),S.defaultPrevented||l==null||l())},f);return Sb(S=>{p===d.layers.size-1&&(s==null||s(S),!S.defaultPrevented&&l&&(S.preventDefault(),l()))},f),v.useEffect(()=>{if(u)return n&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(oh=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(u)),d.layers.add(u),ah(),()=>{n&&d.layersWithOutsidePointerEventsDisabled.size===1&&(f.body.style.pointerEvents=oh)}},[u,f,n,d]),v.useEffect(()=>()=>{u&&(d.layers.delete(u),d.layersWithOutsidePointerEventsDisabled.delete(u),ah())},[u,d]),v.useEffect(()=>{const S=()=>w({});return document.addEventListener(Wc,S),()=>document.removeEventListener(Wc,S)},[]),r.jsx(Xe.div,{...c,ref:y,style:{pointerEvents:x?j?"auto":"none":void 0,...e.style},onFocusCapture:Ae(e.onFocusCapture,C.onFocusCapture),onBlurCapture:Ae(e.onBlurCapture,C.onBlurCapture),onPointerDownCapture:Ae(e.onPointerDownCapture,k.onPointerDownCapture)})});Zd.displayName=Cb;var Rb="DismissableLayerBranch",Ag=v.forwardRef((e,t)=>{const n=v.useContext(Cg),s=v.useRef(null),o=Wt(t,s);return v.useEffect(()=>{const a=s.current;if(a)return n.branches.add(a),()=>{n.branches.delete(a)}},[n.branches]),r.jsx(Xe.div,{...e,ref:o})});Ag.displayName=Rb;function Eb(e,t=globalThis==null?void 0:globalThis.document){const n=Kt(e),s=v.useRef(!1),o=v.useRef(()=>{});return v.useEffect(()=>{const a=l=>{if(l.target&&!s.current){let c=function(){Pg(Ab,n,d,{discrete:!0})};const d={originalEvent:l};l.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=c,t.addEventListener("click",o.current,{once:!0})):c()}else t.removeEventListener("click",o.current);s.current=!1},i=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(i),t.removeEventListener("pointerdown",a),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>s.current=!0}}function Tb(e,t=globalThis==null?void 0:globalThis.document){const n=Kt(e),s=v.useRef(!1);return v.useEffect(()=>{const o=a=>{a.target&&!s.current&&Pg(Pb,n,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>s.current=!0,onBlurCapture:()=>s.current=!1}}function ah(){const e=new CustomEvent(Wc);document.dispatchEvent(e)}function Pg(e,t,n,{discrete:s}){const o=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),s?Sg(o,a):o.dispatchEvent(a)}var Ib=Zd,Ob=Ag,Cr=globalThis!=null&&globalThis.document?v.useLayoutEffect:()=>{},Db="Portal",Rg=v.forwardRef((e,t)=>{var l;const{container:n,...s}=e,[o,a]=v.useState(!1);Cr(()=>a(!0),[]);const i=n||o&&((l=globalThis==null?void 0:globalThis.document)==null?void 0:l.body);return i?U0.createPortal(r.jsx(Xe.div,{...s,ref:t}),i):null});Rg.displayName=Db;function Mb(e,t){return v.useReducer((n,s)=>t[n][s]??n,e)}var eu=e=>{const{present:t,children:n}=e,s=qb(t),o=typeof n=="function"?n({present:s.isPresent}):v.Children.only(n),a=Wt(s.ref,Wb(o));return typeof n=="function"||s.isPresent?v.cloneElement(o,{ref:a}):null};eu.displayName="Presence";function qb(e){const[t,n]=v.useState(),s=v.useRef({}),o=v.useRef(e),a=v.useRef("none"),i=e?"mounted":"unmounted",[l,c]=Mb(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return v.useEffect(()=>{const d=pa(s.current);a.current=l==="mounted"?d:"none"},[l]),Cr(()=>{const d=s.current,u=o.current;if(u!==e){const f=a.current,w=pa(d);e?c("MOUNT"):w==="none"||(d==null?void 0:d.display)==="none"?c("UNMOUNT"):c(u&&f!==w?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,c]),Cr(()=>{if(t){let d;const u=t.ownerDocument.defaultView??window,m=w=>{const g=pa(s.current).includes(w.animationName);if(w.target===t&&g&&(c("ANIMATION_END"),!o.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",d=u.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},f=w=>{w.target===t&&(a.current=pa(s.current))};return t.addEventListener("animationstart",f),t.addEventListener("animationcancel",m),t.addEventListener("animationend",m),()=>{u.clearTimeout(d),t.removeEventListener("animationstart",f),t.removeEventListener("animationcancel",m),t.removeEventListener("animationend",m)}}else c("ANIMATION_END")},[t,c]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:v.useCallback(d=>{d&&(s.current=getComputedStyle(d)),n(d)},[])}}function pa(e){return(e==null?void 0:e.animationName)||"none"}function Wb(e){var s,o;let t=(s=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Fb({prop:e,defaultProp:t,onChange:n=()=>{}}){const[s,o]=_b({defaultProp:t,onChange:n}),a=e!==void 0,i=a?e:s,l=Kt(n),c=v.useCallback(d=>{if(a){const m=typeof d=="function"?d(e):d;m!==e&&l(m)}else o(d)},[a,e,o,l]);return[i,c]}function _b({defaultProp:e,onChange:t}){const n=v.useState(e),[s]=n,o=v.useRef(s),a=Kt(t);return v.useEffect(()=>{o.current!==s&&(a(s),o.current=s)},[s,o,a]),n}var Lb="VisuallyHidden",Ti=v.forwardRef((e,t)=>
48r.jsx(Xe.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}}));Ti.displayName=Lb;var zb=Ti,tu="ToastProvider",[nu,Bb,Hb]=Nb("Toast"),[Eg,ZS]=Ei("Toast",[Hb]),[Gb,Ii]=Eg(tu),Tg=e=>{const{__scopeToast:t,label:n="Notification",duration:s=5e3,swipeDirection:o="right",swipeThreshold:a=50,children:i}=e,[l,c]=v.useState(null),[d,u]=v.useState(0),m=v.useRef(!1),f=v.useRef(!1);return n.trim()||console.error(`Invalid prop \`label\` supplied to \`${tu}\`. Expected non-empty \`string\`.`),r.jsx(nu.Provider,{scope:t,children:r.jsx(Gb,{scope:t,label:n,duration:s,swipeDirection:o,swipeThreshold:a,toastCount:d,viewport:l,onViewportChange:c,onToastAdd:v.useCallback(()=>u(w=>w+1),[]),onToastRemove:v.useCallback(()=>u(w=>w-1),[]),isFocusedToastEscapeKeyDownRef:m,isClosePausedRef:f,children:i})})};Tg.displayName=tu;var Ig="ToastViewport",Yb=["F8"],Fc="toast.viewportPause",_c="toast.viewportResume",Og=v.forwardRef((e,t)=>{const{__scopeToast:n,hotkey:s=Yb,label:o="Notifications ({hotkey})",...a}=e,i=Ii(Ig,n),l=Bb(n),c=v.useRef(null),d=v.useRef(null),u=v.useRef(null),m=v.useRef(null),f=Wt(t,m,i.onViewportChange),w=s.join("+").replace(/Key/g,"").replace(/Digit/g,""),y=i.toastCount>0;v.useEffect(()=>{const b=h=>{var x;s.length!==0&&s.every(j=>h[j]||h.code===j)&&((x=m.current)==null||x.focus())};return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[s]),v.useEffect(()=>{const b=c.current,h=m.current;if(y&&b&&h){const p=()=>{if(!i.isClosePausedRef.current){const C=new CustomEvent(Fc);h.dispatchEvent(C),i.isClosePausedRef.current=!0}},x=()=>{if(i.isClosePausedRef.current){const C=new CustomEvent(_c);h.dispatchEvent(C),i.isClosePausedRef.current=!1}},j=C=>{!b.contains(C.relatedTarget)&&x()},k=()=>{b.contains(document.activeElement)||x()};return b.addEventListener("focusin",p),b.addEventListener("focusout",j),b.addEventListener("pointermove",p),b.addEventListener("pointerleave",k),window.addEventListener("blur",p),window.addEventListener("focus",x),()=>{b.removeEventListener("focusin",p),b.removeEventListener("focusout",j),b.removeEventListener("pointermove",p),b.removeEventListener("pointerleave",k),window.removeEventListener("blur",p),window.removeEventListener("focus",x)}}},[y,i.isClosePausedRef]);const g=v.useCallback(({tabbingDirection:b})=>{const p=l().map(x=>{const j=x.ref.current,k=[j,...s1(j)];return b==="forwards"?k:k.reverse()});return(b==="forwards"?p.reverse():p).flat()},[l]);return v.useEffect(()=>{const b=m.current;if(b){const h=p=>{var k,C,S;const x=p.altKey||p.ctrlKey||p.metaKey;if(p.key==="Tab"&&!x){const A=document.activeElement,R=p.shiftKey;if(p.target===b&&R){(k=d.current)==null||k.focus();return}const D=g({tabbingDirection:R?"backwards":"forwards"}),Y=D.findIndex(I=>I===A);Al(D.slice(Y+1))?p.preventDefault():R?(C=d.current)==null||C.focus():(S=u.current)==null||S.focus()}};return b.addEventListener("keydown",h),()=>b.removeEventListener("keydown",h)}},[l,g]),r.jsxs(Ob,{ref:c,role:"region","aria-label":o.replace("{hotkey}",w),tabIndex:-1,style:{pointerEvents:y?void 0:"none"},children:[y&&r.jsx(Lc,{ref:d,onFocusFromOutsideViewport:()=>{const b=g({tabbingDirection:"forwards"});Al(b)}}),r.jsx(nu.Slot,{scope:n,children:r.jsx(Xe.ol,{tabIndex:-1,...a,ref:f})}),y&&r.jsx(Lc,{ref:u,onFocusFromOutsideViewport:()=>{const b=g({tabbingDirection:"backwards"});Al(b)}})]})});Og.displayName=Ig;var Dg="ToastFocusProxy",Lc=v.forwardRef((e,t)=>{const{__scopeToast:n,onFocusFromOutsideViewport:s,...o}=e,a=Ii(Dg,n);return r.jsx(Ti,{"aria-hidden":!0,tabIndex:0,...o,ref:t,style:{position:"fixed"},onFocus:i=>{var d;const l=i.relatedTarget;!((d=a.viewport)!=null&&d.contains(l))&&s()}})});Lc.displayName=Dg;var Oi="Toast",Vb="toast.swipeStart",$b="toast.swipeMove",Qb="toast.swipeCancel",Ub="toast.swipeEnd",Mg=v.forwardRef((e,t)=>{const{forceMount:n,open:s,defaultOpen:o,onOpenChange:a,...i}=e,[l=!0,c]=Fb({prop:s,defaultProp:o,onChange:a});return r.jsx(eu,{present:n||l,children:r.jsx(Jb,{open:l,...i,ref:t,onClose:()=>c(!1),onPause:Kt(e.onPause),onResume:Kt(e.onResume),onSwipeStart:Ae(e.onSwipeStart,d=>{d.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:Ae(e.onSwipeMove,d=>{const{x:u,y:m}=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",`${m}px`)}),onSwipeCancel:Ae(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:Ae(e.onSwipeEnd,d=>{const{x:u,y:m}=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",`${m}px`),c(!1)})})})});Mg.displayName=Oi;var[Kb,Xb]=Eg(Oi,{onClose(){}}),Jb=v.forwardRef((e,t)=>
48{const{__scopeToast:n,type:s="foreground",duration:o,open:a,onClose:i,onEscapeKeyDown:l,onPause:c,onResume:d,onSwipeStart:u,onSwipeMove:m,onSwipeCancel:f,onSwipeEnd:w,...y}=e,g=Ii(Oi,n),[b,h]=v.useState(null),p=Wt(t,I=>h(I)),x=v.useRef(null),j=v.useRef(null),k=o||g.duration,C=v.useRef(0),S=v.useRef(k),A=v.useRef(0),{onToastAdd:R,onToastRemove:E}=g,M=Kt(()=>{var H;(b==null?void 0:b.contains(document.activeElement))&&((H=g.viewport)==null||H.focus()),i()}),D=v.useCallback(I=>{!I||I===1/0||(window.clearTimeout(A.current),C.current=new Date().getTime(),A.current=window.setTimeout(M,I))},[M]);v.useEffect(()=>{const I=g.viewport;if(I){const H=()=>{D(S.current),d==null||d()},B=()=>{const V=new Date().getTime()-C.current;S.current=S.current-V,window.clearTimeout(A.current),c==null||c()};return I.addEventListener(Fc,B),I.addEventListener(_c,H),()=>{I.removeEventListener(Fc,B),I.removeEventListener(_c,H)}}},[g.viewport,k,c,d,D]),v.useEffect(()=>{a&&!g.isClosePausedRef.current&&D(k)},[a,k,g.isClosePausedRef,D]),v.useEffect(()=>(R(),()=>E()),[R,E]);const Y=v.useMemo(()=>b?Bg(b):null,[b]);return g.viewport?r.jsxs(r.Fragment,{children:[Y&&r.jsx(Zb,{__scopeToast:n,role:"status","aria-live":s==="foreground"?"assertive":"polite","aria-atomic":!0,children:Y}),r.jsx(Kb,{scope:n,onClose:M,children:Ho.createPortal(r.jsx(nu.ItemSlot,{scope:n,children:r.jsx(Ib,{asChild:!0,onEscapeKeyDown:Ae(l,()=>{g.isFocusedToastEscapeKeyDownRef.current||M(),g.isFocusedToastEscapeKeyDownRef.current=!1}),children:r.jsx(Xe.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":a?"open":"closed","data-swipe-direction":g.swipeDirection,...y,ref:p,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:Ae(e.onKeyDown,I=>{I.key==="Escape"&&(l==null||l(I.nativeEvent),I.nativeEvent.defaultPrevented||(g.isFocusedToastEscapeKeyDownRef.current=!0,M()))}),onPointerDown:Ae(e.onPointerDown,I=>{I.button===0&&(x.current={x:I.clientX,y:I.clientY})}),onPointerMove:Ae(e.onPointerMove,I=>{if(!x.current)return;const H=I.clientX-x.current.x,B=I.clientY-x.current.y,V=!!j.current,P=["left","right"].includes(g.swipeDirection),O=["left","up"].includes(g.swipeDirection)?Math.min:Math.max,W=P?O(0,H):0,z=P?0:O(0,B),J=I.pointerType==="touch"?10:2,we={x:W,y:z},pe={originalEvent:I,delta:we};V?(j.current=we,ga($b,m,pe,{discrete:!1})):ih(we,g.swipeDirection,J)?(j.current=we,ga(Vb,u,pe,{discrete:!1}),I.target.setPointerCapture(I.pointerId)):(Math.abs(H)>J||Math.abs(B)>J)&&(x.current=null)}),onPointerUp:Ae(e.onPointerUp,I=>{const H=j.current,B=I.target;if(B.hasPointerCapture(I.pointerId)&&B.releasePointerCapture(I.pointerId),j.current=null,x.current=null,H){const V=I.currentTarget,P={originalEvent:I,delta:H};ih(H,g.swipeDirection,g.swipeThreshold)?ga(Ub,w,P,{discrete:!0}):ga(Qb,f,P,{discrete:!0}),V.addEventListener("click",O=>O.preventDefault(),{once:!0})}})})})}),g.viewport)})]}):null}),Zb=e=>{const{__scopeToast:t,children:n,...s}=e,o=Ii(Oi,t),[a,i]=v.useState(!1),[l,c]=v.useState(!1);return n1(()=>i(!0)),v.useEffect(()=>{const d=window.setTimeout(()=>c(!0),1e3);return()=>window.clearTimeout(d)},[]),l?null:r.jsx(Rg,{asChild:!0,children:r.jsx(Ti,{...s,children:a&&r.jsxs(r.Fragment,{children:[o.label," ",n]})})})},e1="ToastTitle",qg=v.forwardRef((e,t)=>{const{__scopeToast:n,...s}=e;return r.jsx(Xe.div,{...s,ref:t})});qg.displayName=e1;var t1="ToastDescription",Wg=v.forwardRef((e,t)=>{const{__scopeToast:n,...s}=e;return r.jsx(Xe.div,{...s,ref:t})});Wg.displayName=t1;var Fg="ToastAction",_g=v.forwardRef((e,t)=>{const{altText:n,...s}=e;return n.trim()?r.jsx(zg,{altText:n,asChild:!0,children:r.jsx(ru,{...s,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${Fg}\`. Expected non-empty \`string\`.`),null)});_g.displayName=Fg;var Lg="ToastClose",ru=v.forwardRef((e,t)=>{const{__scopeToast:n,...s}=e,o=Xb(Lg,n);return r.jsx(zg,{asChild:!0,children:r.jsx(Xe.button,{type:"button",...s,ref:t,onClick:Ae(e.onClick,o.onClose)})})});ru.displayName=Lg;var zg=v.forwardRef((e,t)=>{const{__scopeToast:n,altText:s,...o}=e;return r.jsx(Xe.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":s||void 0,...o,ref:t})});function Bg(e){const t=[];
vendor: 17,053 bytes, lines 48-243
48return Array.from(e.childNodes).forEach(s=>{if(s.nodeType===s.TEXT_NODE&&s.textContent&&t.push(s.textContent),r1(s)){const o=s.ariaHidden||s.hidden||s.style.display==="none",a=s.dataset.radixToastAnnounceExclude==="";if(!o)if(a){const i=s.dataset.radixToastAnnounceAlt;i&&t.push(i)}else t.push(...Bg(s))}}),t}function ga(e,t,n,{discrete:s}){const o=n.originalEvent.currentTarget,a=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),s?Sg(o,a):o.dispatchEvent(a)}var ih=(e,t,n=0)=>{const s=Math.abs(e.x),o=Math.abs(e.y),a=s>o;return t==="left"||t==="right"?a&&s>n:!a&&o>n};function n1(e=()=>{}){const t=Kt(e);Cr(()=>{let n=0,s=0;return n=window.requestAnimationFrame(()=>s=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(n),window.cancelAnimationFrame(s)}},[t])}function r1(e){return e.nodeType===e.ELEMENT_NODE}function s1(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:s=>{const o=s.tagName==="INPUT"&&s.type==="hidden";return s.disabled||s.hidden||o?NodeFilter.FILTER_SKIP:s.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Al(e){const t=document.activeElement;return e.some(n=>n===t?!0:(n.focus(),document.activeElement!==t))}var o1=Tg,Hg=Og,Gg=Mg,Yg=qg,Vg=Wg,$g=_g,Qg=ru;function Ug(e){var t,n,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=Ug(e[t]))&&(s&&(s+=" "),s+=n)}else for(n in e)e[n]&&(s&&(s+=" "),s+=n);return s}function Kg(){for(var e,t,n=0,s="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=Ug(e))&&(s&&(s+=" "),s+=t);return s}const lh=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,ch=Kg,Xg=(e,t)=>n=>{var s;if((t==null?void 0:t.variants)==null)return ch(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:o,defaultVariants:a}=t,i=Object.keys(o).map(d=>{const u=n==null?void 0:n[d],m=a==null?void 0:a[d];if(u===null)return null;const f=lh(u)||lh(m);return o[d][f]}),l=n&&Object.entries(n).reduce((d,u)=>{let[m,f]=u;return f===void 0||(d[m]=f),d},{}),c=t==null||(s=t.compoundVariants)===null||s===void 0?void 0:s.reduce((d,u)=>{let{class:m,className:f,...w}=u;return Object.entries(w).every(y=>{let[g,b]=y;return Array.isArray(b)?b.includes({...a,...l}[g]):{...a,...l}[g]===b})?[...d,m,f]:d},[]);return ch(e,i,c,n==null?void 0:n.class,n==null?void 0:n.className)};/** 49 * @license lucide-react v0.453.0 - ISC 50 * 51 * This source code is licensed under the ISC license. 52 * See the LICENSE file in the root directory of this source tree. 53 */const a1=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Jg=(...e)=>e.filter((t,n,s)=>!!t&&s.indexOf(t)===n).join(" ");/** 54 * @license lucide-react v0.453.0 - ISC 55 * 56 * This source code is licensed under the ISC license. 57 * See the LICENSE file in the root directory of this source tree. 58 */var i1={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"};/** 59 * @license lucide-react v0.453.0 - ISC 60 * 61 * This source code is licensed under the ISC license. 62 * See the LICENSE file in the root directory of this source tree. 63 */const l1=v.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:s,className:o="",children:a,iconNode:i,...l},c)=>v.createElement("svg",{ref:c,...i1,width:t,height:t,stroke:e,strokeWidth:s?Number(n)*24/Number(t):n,className:Jg("lucide",o),...l},[...i.map(([d,u])=>v.createElement(d,u)),...Array.isArray(a)?a:[a]]));/** 64 * @license lucide-react v0.453.0 - ISC 65 * 66 * This source code is licensed under the ISC license. 67 * See the LICENSE file in the root directory of this source tree. 68 */const X=(e,t)=>{const n=v.forwardRef(({className:s,...o},a)=>v.createElement(l1,{ref:a,iconNode:t,className:Jg(`lucide-${a1(e)}`,s),...o}));return n.displayName=`${e}`,n};/** 69 * @license lucide-react v0.453.0 - ISC 70 * 71 * This source code is licensed under the ISC license. 72 * See the LICENSE file in the root directory of this source tree. 73 */const Di=X("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/** 74 * @license lucide-react v0.453.0 - ISC 75 * 76 * This source code is licensed under the ISC license. 77 * See the LICENSE file in the root directory of this source tree. 78 */const Zg=X("Award",[["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"}]]);/** 79 * @license lucide-react v0.453.0 - ISC 80 * 81 * This source code is licensed under the ISC license. 82 * See the LICENSE file in the root directory of this source tree. 83 */const dh=X("Calendar",[["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"}]]);/** 84 * @license lucide-react v0.453.0 - ISC 85 * 86 * This source code is licensed under the ISC license. 87 * See the LICENSE file in the root directory of this source tree. 88 */const L=X("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** 89 * @license lucide-react v0.453.0 - ISC 90 * 91 * This source code is licensed under the ISC license. 92 * See the LICENSE file in the root directory of this source tree. 93 */const Po=X("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** 94 * @license lucide-react v0.453.0 - ISC 95 * 96 * This source code is licensed under the ISC license. 97 * See the LICENSE file in the root directory of this source tree. 98 */const Mi=X("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/** 99 * @license lucide-react v0.453.0 - ISC 100 * 101 * This source code is licensed under the ISC license. 102 * See the LICENSE file in the root directory of this source tree. 103 */const qi=X("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** 104 * @license lucide-react v0.453.0 - ISC 105 * 106 * This source code is licensed under the ISC license. 107 * See the LICENSE file in the root directory of this source tree. 108 */const zc=X("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/** 109 * @license lucide-react v0.453.0 - ISC 110 * 111 * This source code is licensed under the ISC license. 112 * See the LICENSE file in the root directory of this source tree. 113 */const c1=X("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/** 114 * @license lucide-react v0.453.0 - ISC 115 * 116 * This source code is licensed under the ISC license. 117 * See the LICENSE file in the root directory of this source tree. 118 */const ii=X("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** 119 * @license lucide-react v0.453.0 - ISC 120 * 121 * This source code is licensed under the ISC license. 122 * See the LICENSE file in the root directory of this source tree. 123 */const d1=X("Clock3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16.5 12",key:"1aq6pp"}]]);/** 124 * @license lucide-react v0.453.0 - ISC 125 * 126 * This source code is licensed under the ISC license. 127 * See the LICENSE file in the root directory of this source tree. 128 */const Oa=X("DollarSign",[["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"}]]);/** 129 * @license lucide-react v0.453.0 - ISC 130 * 131 * This source code is licensed under the ISC license. 132 * See the LICENSE file in the root directory of this source tree. 133 */const ex=X("Facebook",[["path",{d:"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z",key:"1jg4f8"}]]);/** 134 * @license lucide-react v0.453.0 - ISC 135 * 136 * This source code is licensed under the ISC license. 137 * See the LICENSE file in the root directory of this source tree. 138 */const u1=X("FileCheck",[["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"}]]);/** 139 * @license lucide-react v0.453.0 - ISC 140 * 141 * This source code is licensed under the ISC license. 142 * See the LICENSE file in the root directory of this source tree. 143 */const tx=X("FileText",[["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:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/** 144 * @license lucide-react v0.453.0 - ISC 145 * 146 * This source code is licensed under the ISC license. 147 * See the LICENSE file in the root directory of this source tree. 148 */const xa=X("Heart",[["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"}]]);/** 149 * @license lucide-react v0.453.0 - ISC 150 * 151 * This source code is licensed under the ISC license. 152 * See the LICENSE file in the root directory of this source tree. 153 */const Bc=X("House",[["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"}]]);/** 154 * @license lucide-react v0.453.0 - ISC 155 * 156 * This source code is licensed under the ISC license. 157 * See the LICENSE file in the root directory of this source tree. 158 */const nx=X("Instagram",[["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"}]]);/** 159 * @license lucide-react v0.453.0 - ISC 160 * 161 * This source code is licensed under the ISC license. 162 * See the LICENSE file in the root directory of this source tree. 163 */const m1=X("Leaf",[["path",{d:"M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z",key:"nnexq3"}],["path",{d:"M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12",key:"mt58a7"}]]);/** 164 * @license lucide-react v0.453.0 - ISC 165 * 166 * This source code is licensed under the ISC license. 167 * See the LICENSE file in the root directory of this source tree. 168 */const h1=X("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);/** 169 * @license lucide-react v0.453.0 - ISC 170 * 171 * This source code is licensed under the ISC license. 172 * See the LICENSE file in the root directory of this source tree. 173 */const f1=X("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);/** 174 * @license lucide-react v0.453.0 - ISC 175 * 176 * This source code is licensed under the ISC license. 177 * See the LICENSE file in the root directory of this source tree. 178 */const su=X("MapPin",[["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"}]]);/** 179 * @license lucide-react v0.453.0 - ISC 180 * 181 * This source code is licensed under the ISC license. 182 * See the LICENSE file in the root directory of this source tree. 183 */const p1=X("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);/** 184 * @license lucide-react v0.453.0 - ISC 185 * 186 * This source code is licensed under the ISC license. 187 * See the LICENSE file in the root directory of this source tree. 188 */const kt=X("Phone",[["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"}]]);/** 189 * @license lucide-react v0.453.0 - ISC 190 * 191 * This source code is licensed under the ISC license. 192 * See the LICENSE file in the root directory of this source tree. 193 */const g1=X("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** 194 * @license lucide-react v0.453.0 - ISC 195 * 196 * This source code is licensed under the ISC license. 197 * See the LICENSE file in the root directory of this source tree. 198 */const es=X("Shield",[["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"}]]);/** 199 * @license lucide-react v0.453.0 - ISC 200 * 201 * This source code is licensed under the ISC license. 202 * See the LICENSE file in the root directory of this source tree. 203 */const x1=X("Smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]);/** 204 * @license lucide-react v0.453.0 - ISC 205 * 206 * This source code is licensed under the ISC license. 207 * See the LICENSE file in the root directory of this source tree. 208 */const y1=X("Sparkles",[["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"}]]);/** 209 * @license lucide-react v0.453.0 - ISC 210 * 211 * This source code is licensed under the ISC license. 212 * See the LICENSE file in the root directory of this source tree. 213 */const Yo=X("Star",[["polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",key:"8f66p6"}]]);/** 214 * @license lucide-react v0.453.0 - ISC 215 * 216 * This source code is licensed under the ISC license. 217 * See the LICENSE file in the root directory of this source tree. 218 */const w1=X("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);/** 219 * @license lucide-react v0.453.0 - ISC 220 * 221 * This source code is licensed under the ISC license. 222 * See the LICENSE file in the root directory of this source tree. 223 */const v1=X("ThumbsUp",[["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"}]]);/** 224 * @license lucide-react v0.453.0 - ISC 225 * 226 * This source code is licensed under the ISC license. 227 * See the LICENSE file in the root directory of this source tree. 228 */const rx=X("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]);/** 229 * @license lucide-react v0.453.0 - ISC 230 * 231 * This source code is licensed under the ISC license. 232 * See the LICENSE file in the root directory of this source tree. 233 */const ao=X("Wrench",[["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"}]]);/** 234 * @license lucide-react v0.453.0 - ISC 235 * 236 * This source code is licensed under the ISC license. 237 * See the LICENSE file in the root directory of this source tree. 238 */const sx=X("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/** 239 * @license lucide-react v0.453.0 - ISC 240 * 241 * This source code is licensed under the ISC license. 242 * See the LICENSE file in the root directory of this source tree. 243 */const Hc=X("Zap",[["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"}]]),ou="-",b1=e=>{const t=N1(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:s}=e;return{getClassGroupId:i=>{const l=i.split(ou);return l[0]===""&&l.length!==1&&l.shift(),ox(l,t)||j1(i)},getConflictingClassGroupIds:(i,l)=>{const c=n[i]||[];return l&&s[i]?[...c,...s[i]]:c}}},ox=(e,t)=>{var i;if(e.length===0)return t.classGroupId;const n=e[0],s=t.nextPart.get(n),o=s?ox(e.slice(1),s):void 0;if(o)return o;if(t.validators.length===0)return;const a=e.join(ou);return(i=t.validators.find(({validator:l})=>l(a)))==null?void 0:i.classGroupId},uh=/^\[(.+)\]$/,j1=e=>{if(uh.test(e)){const t=uh.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},N1=e=>{const{theme:t,prefix:n}=e,s={nextPart:new Map,validators:[]};
vendor: 5,113 bytes, line 243
243return S1(Object.entries(e.classGroups),n).forEach(([a,i])=>{Gc(i,s,a,t)}),s},Gc=(e,t,n,s)=>{e.forEach(o=>{if(typeof o=="string"){const a=o===""?t:mh(t,o);a.classGroupId=n;return}if(typeof o=="function"){if(k1(o)){Gc(o(s),t,n,s);return}t.validators.push({validator:o,classGroupId:n});return}Object.entries(o).forEach(([a,i])=>{Gc(i,mh(t,a),n,s)})})},mh=(e,t)=>{let n=e;return t.split(ou).forEach(s=>{n.nextPart.has(s)||n.nextPart.set(s,{nextPart:new Map,validators:[]}),n=n.nextPart.get(s)}),n},k1=e=>e.isThemeGetter,S1=(e,t)=>t?e.map(([n,s])=>{const o=s.map(a=>typeof a=="string"?t+a:typeof a=="object"?Object.fromEntries(Object.entries(a).map(([i,l])=>[t+i,l])):a);return[n,o]}):e,C1=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,s=new Map;const o=(a,i)=>{n.set(a,i),t++,t>e&&(t=0,s=n,n=new Map)};return{get(a){let i=n.get(a);if(i!==void 0)return i;if((i=s.get(a))!==void 0)return o(a,i),i},set(a,i){n.has(a)?n.set(a,i):o(a,i)}}},ax="!",A1=e=>{const{separator:t,experimentalParseClassName:n}=e,s=t.length===1,o=t[0],a=t.length,i=l=>{const c=[];let d=0,u=0,m;for(let b=0;b<l.length;b++){let h=l[b];if(d===0){if(h===o&&(s||l.slice(b,b+a)===t)){c.push(l.slice(u,b)),u=b+a;continue}if(h==="/"){m=b;continue}}h==="["?d++:h==="]"&&d--}const f=c.length===0?l:l.substring(u),w=f.startsWith(ax),y=w?f.substring(1):f,g=m&&m>u?m-u:void 0;return{modifiers:c,hasImportantModifier:w,baseClassName:y,maybePostfixModifierPosition:g}};return n?l=>n({className:l,parseClassName:i}):i},P1=e=>{if(e.length<=1)return e;const t=[];let n=[];return e.forEach(s=>{s[0]==="["?(t.push(...n.sort(),s),n=[]):n.push(s)}),t.push(...n.sort()),t},R1=e=>({cache:C1(e.cacheSize),parseClassName:A1(e),...b1(e)}),E1=/\s+/,T1=(e,t)=>{const{parseClassName:n,getClassGroupId:s,getConflictingClassGroupIds:o}=t,a=[],i=e.trim().split(E1);let l="";for(let c=i.length-1;c>=0;c-=1){const d=i[c],{modifiers:u,hasImportantModifier:m,baseClassName:f,maybePostfixModifierPosition:w}=n(d);let y=!!w,g=s(y?f.substring(0,w):f);if(!g){if(!y){l=d+(l.length>0?" "+l:l);continue}if(g=s(f),!g){l=d+(l.length>0?" "+l:l);continue}y=!1}const b=P1(u).join(":"),h=m?b+ax:b,p=h+g;if(a.includes(p))continue;a.push(p);const x=o(g,y);for(let j=0;j<x.length;++j){const k=x[j];a.push(h+k)}l=d+(l.length>0?" "+l:l)}return l};function I1(){let e=0,t,n,s="";for(;e<arguments.length;)(t=arguments[e++])&&(n=ix(t))&&(s&&(s+=" "),s+=n);return s}const ix=e=>{if(typeof e=="string")return e;let t,n="";for(let s=0;s<e.length;s++)e[s]&&(t=ix(e[s]))&&(n&&(n+=" "),n+=t);return n};function O1(e,...t){let n,s,o,a=i;function i(c){const d=t.reduce((u,m)=>m(u),e());return n=R1(d),s=n.cache.get,o=n.cache.set,a=l,l(c)}function l(c){const d=s(c);if(d)return d;const u=T1(c,n);return o(c,u),u}return function(){return a(I1.apply(null,arguments))}}const oe=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},lx=/^\[(?:([a-z-]+):)?(.+)\]$/i,D1=/^\d+\/\d+$/,M1=new Set(["px","full","screen"]),q1=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,W1=/\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$/,F1=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,_1=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,L1=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,nn=e=>ts(e)||M1.has(e)||D1.test(e),vn=e=>Es(e,"length",Q1),ts=e=>!!e&&!Number.isNaN(Number(e)),Pl=e=>Es(e,"number",ts),Bs=e=>!!e&&Number.isInteger(Number(e)),z1=e=>e.endsWith("%")&&ts(e.slice(0,-1)),$=e=>lx.test(e),bn=e=>q1.test(e),B1=new Set(["length","size","percentage"]),H1=e=>Es(e,B1,cx),G1=e=>Es(e,"position",cx),Y1=new Set(["image","url"]),V1=e=>Es(e,Y1,K1),$1=e=>Es(e,"",U1),Hs=()=>!0,Es=(e,t,n)=>{const s=lx.exec(e);return s?s[1]?typeof t=="string"?s[1]===t:t.has(s[1]):n(s[2]):!1},Q1=e=>W1.test(e)&&!F1.test(e),cx=()=>!1,U1=e=>_1.test(e),K1=e=>L1.test(e),X1=()=>{const e=oe("colors"),t=oe("spacing"),n=oe("blur"),s=oe("brightness"),o=oe("borderColor"),a=oe("borderRadius"),i=oe("borderSpacing"),l=oe("borderWidth"),c=oe("contrast"),d=oe("grayscale"),u=oe("hueRotate"),m=oe("invert"),f=oe("gap"),w=oe("gradientColorStops"),y=oe("gradientColorStopPositions"),g=oe("inset"),b=oe("margin"),h=oe("opacity"),p=oe("padding"),x=oe("saturate"),j=oe("scale"),k=oe("sepia"),C=oe("skew"),S=oe("space"),A=oe("translate"),R=()=>["auto","contain","none"],E=()=>["auto","hidden","clip","visible","scroll"],M=()=>["auto",$,t],D=()=>[$,t],Y=()=>["",nn,vn],I=()=>["auto",ts,$],H=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],B=()=>["solid","dashed","dotted","double","none"],V=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],P=()=>["start","end","center","between","around","evenly","stretch"],O=()=>["","0",$],W=()=>["auto","avoid","all","avoid-page","page","left","right","column"],z=()=>[ts,$];return{cacheSize:500,separator:":",theme:{colors:[Hs],spacing:[nn,vn],blur:["none","",bn,$],brightness:z(),borderColor:[e],borderRadius:["n
243one","","full",bn,$],borderSpacing:D(),borderWidth:Y(),contrast:z(),grayscale:O(),hueRotate:z(),invert:O(),gap:D(),gradientColorStops:[e],gradientColorStopPositions:[z1,vn],inset:M(),margin:M(),opacity:z(),padding:D(),saturate:z(),scale:z(),sepia:O(),skew:z(),space:D(),translate:D()},classGroups:{aspect:[{aspect:["auto","square","video",$]}],container:["container"],columns:[{columns:[bn]}],"break-after":[{"break-after":W()}],"break-before":[{"break-before":W()}],"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:[...H(),$]}],overflow:[{overflow:E()}],"overflow-x":[{"overflow-x":E()}],"overflow-y":[{"overflow-y":E()}],overscroll:[{overscroll:R()}],"overscroll-x":[{"overscroll-x":R()}],"overscroll-y":[{"overscroll-y":R()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[g]}],"inset-x":[{"inset-x":[g]}],"inset-y":[{"inset-y":[g]}],start:[{start:[g]}],end:[{end:[g]}],top:[{top:[g]}],right:[{right:[g]}],bottom:[{bottom:[g]}],left:[{left:[g]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Bs,$]}],basis:[{basis:M()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",$]}],grow:[{grow:O()}],shrink:[{shrink:O()}],order:[{order:["first","last","none",Bs,$]}],"grid-cols":[{"grid-cols":[Hs]}],"col-start-end":[{col:["auto",{span:["full",Bs,$]},$]}],"col-start":[{"col-start":I()}],"col-end":[{"col-end":I()}],"grid-rows":[{"grid-rows":[Hs]}],"row-start-end":[{row:["auto",{span:[Bs,$]},$]}],"row-start":[{"row-start":I()}],"row-end":[{"row-end":I()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",$]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",$]}],gap:[{gap:[f]}],"gap-x":[{"gap-x":[f]}],"gap-y":[{"gap-y":[f]}],"justify-content":[{justify:["normal",...P()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...P(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...P(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[p]}],px:[{px:[p]}],py:[{py:[p]}],ps:[{ps:[p]}],pe:[{pe:[p]}],pt:[{pt:[p]}],pr:[{pr:[p]}],pb:[{pb:[p]}],pl:[{pl:[p]}],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":[S]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[S]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",$,t]}],"min-w":[{"min-w":[$,t,"min","max","fit"]}],"max-w":[{"max-w":[$,t,"none","full","min","max","fit","prose",{screen:[bn]},bn]}],h:[{h:[$,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[$,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[$,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[$,t,"auto","min","max","fit"]}],"font-size":[{text:["base",bn,vn]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Pl]}],"font-family":[{font:[Hs]}],"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",$]}],"line-clamp":[{"line-clamp":["none",ts,Pl]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",nn,$]}],"list-image":[{"list-image":["none",$]}],"list-style-type":[{list:["none","disc","decimal",$]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[h]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[h]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...B(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",nn,vn]}],"underline-offset":[{"underline-offset":["auto",nn,$]}],"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:D()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",$]}],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",$]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[h]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...H(),G1]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",H1]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},V1]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[y]}
vendor: 5,172 bytes, line 243
243],"gradient-via-pos":[{via:[y]}],"gradient-to-pos":[{to:[y]}],"gradient-from":[{from:[w]}],"gradient-via":[{via:[w]}],"gradient-to":[{to:[w]}],rounded:[{rounded:[a]}],"rounded-s":[{"rounded-s":[a]}],"rounded-e":[{"rounded-e":[a]}],"rounded-t":[{"rounded-t":[a]}],"rounded-r":[{"rounded-r":[a]}],"rounded-b":[{"rounded-b":[a]}],"rounded-l":[{"rounded-l":[a]}],"rounded-ss":[{"rounded-ss":[a]}],"rounded-se":[{"rounded-se":[a]}],"rounded-ee":[{"rounded-ee":[a]}],"rounded-es":[{"rounded-es":[a]}],"rounded-tl":[{"rounded-tl":[a]}],"rounded-tr":[{"rounded-tr":[a]}],"rounded-br":[{"rounded-br":[a]}],"rounded-bl":[{"rounded-bl":[a]}],"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":[h]}],"border-style":[{border:[...B(),"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":[h]}],"divide-style":[{divide:B()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-s":[{"border-s":[o]}],"border-color-e":[{"border-e":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["",...B()]}],"outline-offset":[{"outline-offset":[nn,$]}],"outline-w":[{outline:[nn,vn]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:Y()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[h]}],"ring-offset-w":[{"ring-offset":[nn,vn]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",bn,$1]}],"shadow-color":[{shadow:[Hs]}],opacity:[{opacity:[h]}],"mix-blend":[{"mix-blend":[...V(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":V()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[s]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":["","none",bn,$]}],grayscale:[{grayscale:[d]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[m]}],saturate:[{saturate:[x]}],sepia:[{sepia:[k]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"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":[m]}],"backdrop-opacity":[{"backdrop-opacity":[h]}],"backdrop-saturate":[{"backdrop-saturate":[x]}],"backdrop-sepia":[{"backdrop-sepia":[k]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[i]}],"border-spacing-x":[{"border-spacing-x":[i]}],"border-spacing-y":[{"border-spacing-y":[i]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",$]}],duration:[{duration:z()}],ease:[{ease:["linear","in","out","in-out",$]}],delay:[{delay:z()}],animate:[{animate:["none","spin","ping","pulse","bounce",$]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[j]}],"scale-x":[{"scale-x":[j]}],"scale-y":[{"scale-y":[j]}],rotate:[{rotate:[Bs,$]}],"translate-x":[{"translate-x":[A]}],"translate-y":[{"translate-y":[A]}],"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",$]}],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",$]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":D()}],"scroll-mx":[{"scroll-mx":D()}],"scroll-my":[{"scroll-my":D()}],"scroll-ms":[{"scroll-ms":D()}],"scroll-me":[{"scroll-me":D()}],"scroll-mt":[{"scroll-mt":D()}],"scroll-mr":[{"scroll-mr":D()}],"scroll-mb":[{"scroll-mb":D()}],"scroll-ml":[{"scroll-ml":D()}],"scroll-p":[{"scroll-p":D()}],"scroll-px":[{"scroll-px":D()}],"scroll-py":[{"scroll-py":D()}],"scroll-ps":[{"scroll-ps":D()}],"scroll-pe":[{"scroll-pe":D()}],"scroll-pt":[{"scroll-pt":D()}],"scroll-pr":[{"scroll-pr":D()}],"scroll-pb":[{"scroll-pb":D()}],"scroll-pl":[{"scroll-pl":D()}],"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"]}
vendor: 4,646 bytes, line 243
243],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",$]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[nn,vn,Pl]}],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"]}}},J1=O1(X1);function Jt(...e){return J1(Kg(e))}const Z1=o1,dx=v.forwardRef(({className:e,...t},n)=>r.jsx(Hg,{ref:n,className:Jt("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}));dx.displayName=Hg.displayName;const ej=Xg("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 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"}}),ux=v.forwardRef(({className:e,variant:t,...n},s)=>r.jsx(Gg,{ref:s,className:Jt(ej({variant:t}),e),...n}));ux.displayName=Gg.displayName;const tj=v.forwardRef(({className:e,...t},n)=>r.jsx($g,{ref:n,className:Jt("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 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}));tj.displayName=$g.displayName;const mx=v.forwardRef(({className:e,...t},n)=>r.jsx(Qg,{ref:n,className:Jt("absolute right-2 top-2 rounded-md p-1 text-foreground
243/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 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:r.jsx(sx,{className:"h-4 w-4"})}));mx.displayName=Qg.displayName;const hx=v.forwardRef(({className:e,...t},n)=>r.jsx(Yg,{ref:n,className:Jt("text-sm font-semibold",e),...t}));hx.displayName=Yg.displayName;const fx=v.forwardRef(({className:e,...t},n)=>r.jsx(Vg,{ref:n,className:Jt("text-sm opacity-90",e),...t}));fx.displayName=Vg.displayName;function nj(){const{toasts:e}=pb();return r.jsxs(Z1,{children:[e.map(function({id:t,title:n,description:s,action:o,...a}){return r.jsxs(ux,{...a,children:[r.jsxs("div",{className:"grid gap-1",children:[n&&r.jsx(hx,{children:n}),s&&r.jsx(fx,{children:s})]}),o,r.jsx(mx,{})]},t)}),r.jsx(dx,{})]})}const rj=["top","right","bottom","left"],$n=Math.min,it=Math.max,li=Math.round,ya=Math.floor,Ut=e=>({x:e,y:e}),sj={left:"right",right:"left",bottom:"top",top:"bottom"},oj={start:"end",end:"start"};function Yc(e,t,n){return it(e,$n(t,n))}function gn(e,t){return typeof e=="function"?e(t):e}function xn(e){return e.split("-")[0]}function Ts(e){return e.split("-")[1]}function au(e){return e==="x"?"y":"x"}function iu(e){return e==="y"?"height":"width"}function Qn(e){return["top","bottom"].includes(xn(e))?"y":"x"}function lu(e){return au(Qn(e))}function aj(e,t,n){n===void 0&&(n=!1);const s=Ts(e),o=lu(e),a=iu(o);let i=o==="x"?s===(n?"end":"start")?"right":"left":s==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(i=ci(i)),[i,ci(i)]}function ij(e){const t=ci(e);return[Vc(e),t,Vc(t)]}function Vc(e){return e.replace(/start|end/g,t=>oj[t])}
vendor: 10,855 bytes, line 243
243function lj(e,t,n){const s=["left","right"],o=["right","left"],a=["top","bottom"],i=["bottom","top"];switch(e){case"top":case"bottom":return n?t?o:s:t?s:o;case"left":case"right":return t?a:i;default:return[]}}function cj(e,t,n,s){const o=Ts(e);let a=lj(xn(e),n==="start",s);return o&&(a=a.map(i=>i+"-"+o),t&&(a=a.concat(a.map(Vc)))),a}function ci(e){return e.replace(/left|right|bottom|top/g,t=>sj[t])}function dj(e){return{top:0,right:0,bottom:0,left:0,...e}}function px(e){return typeof e!="number"?dj(e):{top:e,right:e,bottom:e,left:e}}function di(e){const{x:t,y:n,width:s,height:o}=e;return{width:s,height:o,top:n,left:t,right:t+s,bottom:n+o,x:t,y:n}}function hh(e,t,n){let{reference:s,floating:o}=e;const a=Qn(t),i=lu(t),l=iu(i),c=xn(t),d=a==="y",u=s.x+s.width/2-o.width/2,m=s.y+s.height/2-o.height/2,f=s[l]/2-o[l]/2;let w;switch(c){case"top":w={x:u,y:s.y-o.height};break;case"bottom":w={x:u,y:s.y+s.height};break;case"right":w={x:s.x+s.width,y:m};break;case"left":w={x:s.x-o.width,y:m};break;default:w={x:s.x,y:s.y}}switch(Ts(t)){case"start":w[i]-=f*(n&&d?-1:1);break;case"end":w[i]+=f*(n&&d?-1:1);break}return w}const uj=async(e,t,n)=>{const{placement:s="bottom",strategy:o="absolute",middleware:a=[],platform:i}=n,l=a.filter(Boolean),c=await(i.isRTL==null?void 0:i.isRTL(t));let d=await i.getElementRects({reference:e,floating:t,strategy:o}),{x:u,y:m}=hh(d,s,c),f=s,w={},y=0;for(let g=0;g<l.length;g++){const{name:b,fn:h}=l[g],{x:p,y:x,data:j,reset:k}=await h({x:u,y:m,initialPlacement:s,placement:f,strategy:o,middlewareData:w,rects:d,platform:i,elements:{reference:e,floating:t}});u=p??u,m=x??m,w={...w,[b]:{...w[b],...j}},k&&y<=50&&(y++,typeof k=="object"&&(k.placement&&(f=k.placement),k.rects&&(d=k.rects===!0?await i.getElementRects({reference:e,floating:t,strategy:o}):k.rects),{x:u,y:m}=hh(d,f,c)),g=-1)}return{x:u,y:m,placement:f,strategy:o,middlewareData:w}};async function Ro(e,t){var n;t===void 0&&(t={});const{x:s,y:o,platform:a,rects:i,elements:l,strategy:c}=e,{boundary:d="clippingAncestors",rootBoundary:u="viewport",elementContext:m="floating",altBoundary:f=!1,padding:w=0}=gn(t,e),y=px(w),b=l[f?m==="floating"?"reference":"floating":m],h=di(await a.getClippingRect({element:(n=await(a.isElement==null?void 0:a.isElement(b)))==null||n?b:b.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(l.floating)),boundary:d,rootBoundary:u,strategy:c})),p=m==="floating"?{x:s,y:o,width:i.floating.width,height:i.floating.height}:i.reference,x=await(a.getOffsetParent==null?void 0:a.getOffsetParent(l.floating)),j=await(a.isElement==null?void 0:a.isElement(x))?await(a.getScale==null?void 0:a.getScale(x))||{x:1,y:1}:{x:1,y:1},k=di(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:p,offsetParent:x,strategy:c}):p);return{top:(h.top-k.top+y.top)/j.y,bottom:(k.bottom-h.bottom+y.bottom)/j.y,left:(h.left-k.left+y.left)/j.x,right:(k.right-h.right+y.right)/j.x}}const mj=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:s,placement:o,rects:a,platform:i,elements:l,middlewareData:c}=t,{element:d,padding:u=0}=gn(e,t)||{};if(d==null)return{};const m=px(u),f={x:n,y:s},w=lu(o),y=iu(w),g=await i.getDimensions(d),b=w==="y",h=b?"top":"left",p=b?"bottom":"right",x=b?"clientHeight":"clientWidth",j=a.reference[y]+a.reference[w]-f[w]-a.floating[y],k=f[w]-a.reference[w],C=await(i.getOffsetParent==null?void 0:i.getOffsetParent(d));let S=C?C[x]:0;(!S||!await(i.isElement==null?void 0:i.isElement(C)))&&(S=l.floating[x]||a.floating[y]);const A=j/2-k/2,R=S/2-g[y]/2-1,E=$n(m[h],R),M=$n(m[p],R),D=E,Y=S-g[y]-M,I=S/2-g[y]/2+A,H=Yc(D,I,Y),B=!c.arrow&&Ts(o)!=null&&I!==H&&a.reference[y]/2-(I<D?E:M)-g[y]/2<0,V=B?I<D?I-D:I-Y:0;return{[w]:f[w]+V,data:{[w]:H,centerOffset:I-H-V,...B&&{alignmentOffset:V}},reset:B}}}),hj=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,s;const{placement:o,middlewareData:a,rects:i,initialPlacement:l,platform:c,elements:d}=t,{mainAxis:u=!0,crossAxis:m=!0,fallbackPlacements:f,fallbackStrategy:w="bestFit",fallbackAxisSideDirection:y="none",flipAlignment:g=!0,...b}=gn(e,t);if((n=a.arrow)!=null&&n.alignmentOffset)return{};const h=xn(o),p=Qn(l),x=xn(l)===l,j=await(c.isRTL==null?void 0:c.isRTL(d.floating)),k=f||(x||!g?[ci(l)]:ij(l)),C=y!=="none";!f&&C&&k.push(...cj(l,g,y,j));const S=[l,...k],A=await Ro(t,b),R=[];let E=((s=a.flip)==null?void 0:s.overflows)||[];if(u&&R.push(A[h]),m){const I=aj(o,i,j);R.push(A[I[0]],A[I[1]])}if(E=[...E,{placement:o,overflows:R}],!R.every(I=>I<=0)){var M,D;const I=(((M=a.flip)==null?void 0:M.index)||0)+1,H=S[I];if(H)return{data:{index:I,overflows:E},reset:{placement:H}};let B=(D=E.filter(V=>V.overflows[0]<=0).sort((V,P)=>V.overflows[1]-P.overflows[1])[0])==null?void 0:D.placement;if(!B)switch(w){case"bestFit":{var Y;const V=(Y=E.filter(P=>{if(C){const O=Qn(P.placement);return O===p||O==="y"}return!0}).map(P=>[P.placement,P.overflows.filter(O=>O>0).reduce((O,W)=>O+W,0)]).sort((P,O)=>P[1]-O[1])[0])==null?void 0:Y[0];V&&(B=V);break}case"initialPlacement":B=l;break}if(o!==B)return{reset:{placement:B}}}return{}}}};function fh(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function ph(e){return rj.some(t=>e[t]>=0)}const fj=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:s="referenceHidden",...o}=gn(e,t);switch(s){case"referenceHidden":{const a=await Ro(t,{...o,elementContext:"reference"}),i=fh(a,n.reference);return{data:{referenceHiddenOffsets:i,referenceHidden:ph(i)}}}case"escaped":{const a=await Ro(t,{...o,altBoundary:!0}),i=fh(a,n.floating);return{data:{escapedOffsets:i,escaped:ph(i)}}}default:return{}}}}};async function pj(e,t){const{placement:n,platform:s,elements:o}=e,a=await(s.isRTL==null?void 0:s.isRTL(o.floating)),i=xn(n),l=Ts(n),c=Qn(n)==="y",d=["left","top"].includes(i)?-1:1,u=a&&c?-1:1,m=gn(t,e);let{mainAxis:f,crossAxis:w,alignmentAxis:y}=typeof m=="number"?{mainAxis:m,crossAxis:0,alignmentAxis:null}:{mainAxis:m.mainAxis||0,crossAxis:m.crossAxis||0,alignmentAxis:m.alignmentAxis};return l&&typeof y=="number"&&(w=l==="end"?y*-1:y),c?{x:w*u,y:f*d}:{x:f*d,y:w*u}}const gj=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,s;const{x:o,y:a,placement:i,middlewareData:l}=t,c=await pj(t,e);return i===((n=l.offset)==null?void 0:n.placement)&&(s=l.arrow)!=null&&s.alignmentOffset?{}:{x:o+c.x,y:a+c.y,data:{...c,placement:i}}}}},xj=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:s,placement:o}=t,{mainAxis:a=!0,crossAxis:i=!1,limiter:l={fn:b=>{let{x:h,y:p}=b;return{x:h,y:p}}},...c}=gn(e,t),d={x:n,y:s},u=await Ro(t,c),m=Qn(xn(o)),f=au(m);let w=d[f],y=d[m];if(a){const b=f==="y"?"top":"left",h=f==="y"?"bottom":"right",p=w+u[b],x=w-u[h];w=Yc(p,w,x)}if(i){const b=m==="y"?"top":"left",h=m==="y"?"bottom":"right",p=y+u[b],x=y-u[h];y=Yc(p,y,x)}const g=l.fn({...t,[f]:w,[m]:y});return{...g,data:{x:g.x-n,y:g.y-s,enabled:{[f]:a,[m]:i}}}}}},yj=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:s,placement:o,rects:a,middlewareData:i}=t,{offset:l=0,mainAxis:c=!0,crossAxis:d=!0}=gn(e,t),u={x:n,y:s},m=Qn(o),f=au(m);let w=u[f],y=u[m];const g=gn(l,t),b=typeof g=="number"?{mainAxis:g,crossAxis:0}:{mainAxis:0,crossAxis:0,...g};if(c){const x=f==="y"?"height":"width",j=a.reference[f]-a.floating[x]+b.mainAxis,k=a.reference[f]+a.reference[x]-b.mainAxis;w<j?w=j:w>k&&(w=k)}if(d){var h,p;const x=f==="y"?"width":"height",j=["top","left"].includes(xn(o)),k=a.reference[m]-a.floating[x]+(j&&((h=i.offset)==null?void 0:h[m])||0)+(j?0:b.crossAxis),C=a.reference[m]+a.reference[x]+(j?0:((p=i.offset)==null?void 0:p[m])||0)-(j?b.crossAxis:0);y<k?y=k:y>C&&(y=C)}return{[f]:w,[m]:y}}}},wj=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,s;const{placement:o,rects:a,platform:i,elements:l}=t,{apply:c=()=>{},...d}=gn(e,t),u=await Ro(t,d),m=xn(o),f=Ts(o),w=Qn(o)==="y",{width:y,height:g}=a.floating;let b,h;m==="top"||m==="bottom"?(b=m,h=f===(await(i.isRTL==null?void 0:i.isRTL(l.floating))?"start":"end")?"left":"right"):(h=m,b=f==="end"?"top":"bottom");const p=g-u.top-u.bottom,x=y-u.left-u.right,j=$n(g-u[b],p),k=$n(y-u[h],x),C=!t.middlewareData.shift;let S=j,A=k;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(A=x),(s=t.middlewareData.shift)!=null&&s.enabled.y&&(S=p),C&&!f){const E=it(u.left,0),M=it(u.right,0),D=it(u.top,0),Y=it(u.bottom,0);w?A=y-2*(E!==0||M!==0?E+M:it(u.left,u.right)):S=g-2*(D!==0||Y!==0?D+Y:it(u.top,u.bottom))}await c({...t,availableWidth:A,availableHeight:S});const R=await i.getDimensions(l.floating);return y!==R.width||g!==R.height?{reset:{rects:!0}}:{}}}};function Wi(){return typeof window<"u"}function Is(e){return gx(e)?(e.nodeName||"").toLowerCase():"#document"}function dt(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Zt(e){var t;return(t=(gx(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function gx(e){return Wi()?e instanceof Node||e instanceof dt(e).Node:!1}function Ft(e){return Wi()?e instanceof Element||e instanceof dt(e).Element:!1}function Xt(e){return Wi()?e instanceof HTMLElement||e instanceof dt(e).HTMLElement:!1}function gh(e){return!Wi()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof dt(e).ShadowRoot}function Vo(e){const{overflow:t,overflowX:n,overflowY:s,display:o}=_t(e);return/auto|scroll|overlay|hidden|clip/.test(t+s+n)&&!["inline","contents"].includes(o)}function vj(e){return["table","td","th"].includes(Is(e))}function Fi(e){return[":popover-open",":modal"].some(t=>{try{return e.matches(t)}catch{return!1}})}function cu(e){const t=du(),n=Ft(e)?_t(e):e;return["transform","translate","scale","rotate","perspective"].some(s=>n[s]?n[s]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||["transform","translate","scale","rotate","perspective","filter"].some(s=>(n.willChange||"").includes(s))||["paint","layout","strict","content"].some(s=>(n.contain||"").includes(s))}function bj(e){let t=Un(e);for(;Xt(t)&&!ks(t);){if(cu(t))return t;if(Fi(t))return null;t=Un(t)}return null}function du(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function ks(e){return["html","body","#document"].includes(Is(e))}function _t(e){return dt(e).getComputedStyle(e)}function _i(e){return Ft(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Un(e){if(Is(e)==="html")return e;const t=e.assignedSlot||e.parentNode||gh(e)&&e.host||Zt(e);return gh(t)?t.host:t}function xx(e){const t=Un(e);return ks(t)?e.ownerDocument?e.ownerDocument.body:e.body:Xt(t)&&Vo(t)?t:xx(t)}function Eo(e,t,n){var s;
vendor: 4,855 bytes, line 243
243t===void 0&&(t=[]),n===void 0&&(n=!0);const o=xx(e),a=o===((s=e.ownerDocument)==null?void 0:s.body),i=dt(o);if(a){const l=$c(i);return t.concat(i,i.visualViewport||[],Vo(o)?o:[],l&&n?Eo(l):[])}return t.concat(o,Eo(o,[],n))}function $c(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function yx(e){const t=_t(e);let n=parseFloat(t.width)||0,s=parseFloat(t.height)||0;const o=Xt(e),a=o?e.offsetWidth:n,i=o?e.offsetHeight:s,l=li(n)!==a||li(s)!==i;return l&&(n=a,s=i),{width:n,height:s,$:l}}function uu(e){return Ft(e)?e:e.contextElement}function ns(e){const t=uu(e);if(!Xt(t))return Ut(1);const n=t.getBoundingClientRect(),{width:s,height:o,$:a}=yx(t);let i=(a?li(n.width):n.width)/s,l=(a?li(n.height):n.height)/o;return(!i||!Number.isFinite(i))&&(i=1),(!l||!Number.isFinite(l))&&(l=1),{x:i,y:l}}const jj=Ut(0);function wx(e){const t=dt(e);return!du()||!t.visualViewport?jj:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Nj(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==dt(e)?!1:t}function Ar(e,t,n,s){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),a=uu(e);let i=Ut(1);t&&(s?Ft(s)&&(i=ns(s)):i=ns(e));const l=Nj(a,n,s)?wx(a):Ut(0);let c=(o.left+l.x)/i.x,d=(o.top+l.y)/i.y,u=o.width/i.x,m=o.height/i.y;if(a){const f=dt(a),w=s&&Ft(s)?dt(s):s;let y=f,g=$c(y);for(;g&&s&&w!==y;){const b=ns(g),h=g.getBoundingClientRect(),p=_t(g),x=h.left+(g.clientLeft+parseFloat(p.paddingLeft))*b.x,j=h.top+(g.clientTop+parseFloat(p.paddingTop))*b.y;c*=b.x,d*=b.y,u*=b.x,m*=b.y,c+=x,d+=j,y=dt(g),g=$c(y)}}return di({width:u,height:m,x:c,y:d})}function mu(e,t){const n=_i(e).scrollLeft;return t?t.left+n:Ar(Zt(e)).left+n}function vx(e,t,n){n===void 0&&(n=!1);const s=e.getBoundingClientRect(),o=s.left+t.scrollLeft-(n?0:mu(e,s)),a=s.top+t.scrollTop;return{x:o,y:a}}function kj(e){let{elements:t,rect:n,offsetParent:s,strategy:o}=e;const a=o==="fixed",i=Zt(s),l=t?Fi(t.floating):!1;if(s===i||l&&a)return n;let c={scrollLeft:0,scrollTop:0},d=Ut(1);const u=Ut(0),m=Xt(s);if((m||!m&&!a)&&((Is(s)!=="body"||Vo(i))&&(c=_i(s)),Xt(s))){const w=Ar(s);d=ns(s),u.x=w.x+s.clientLeft,u.y=w.y+s.clientTop}const f=i&&!m&&!a?vx(i,c,!0):Ut(0);return{width:n.width*d.x,height:n.height*d.y,x:n.x*d.x-c.scrollLeft*d.x+u.x+f.x,y:n.y*d.y-c.scrollTop*d.y+u.y+f.y}}function Sj(e){return Array.from(e.getClientRects())}function Cj(e){const t=Zt(e),n=_i(e),s=e.ownerDocument.body,o=it(t.scrollWidth,t.clientWidth,s.scrollWidth,s.clientWidth),a=it(t.scrollHeight,t.clientHeight,s.scrollHeight,s.clientHeight);let i=-n.scrollLeft+mu(e);const l=-n.scrollTop;return _t(s).direction==="rtl"&&(i+=it(t.clientWidth,s.clientWidth)-o),{width:o,height:a,x:i,y:l}}function Aj(e,t){const n=dt(e),s=Zt(e),o=n.visualViewport;let a=s.clientWidth,i=s.clientHeight,l=0,c=0;if(o){a=o.width,i=o.height;const d=du();(!d||d&&t==="fixed")&&(l=o.offsetLeft,c=o.offsetTop)}return{width:a,height:i,x:l,y:c}}function Pj(e,t){const n=Ar(e,!0,t==="fixed"),s=n.top+e.clientTop,o=n.left+e.clientLeft,a=Xt(e)?ns(e):Ut(1),i=e.clientWidth*a.x,l=e.clientHeight*a.y,c=o*a.x,d=s*a.y;return{width:i,height:l,x:c,y:d}}function xh(e,t,n){let s;if(t==="viewport")s=Aj(e,n);else if(t==="document")s=Cj(Zt(e));else if(Ft(t))s=Pj(t,n);else{const o=wx(e);s={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return di(s)}function bx(e,t){const n=Un(e);return n===t||!Ft(n)||ks(n)?!1:_t(n).position==="fixed"||bx(n,t)}function Rj(e,t){const n=t.get(e);if(n)return n;let s=Eo(e,[],!1).filter(l=>Ft(l)&&Is(l)!=="body"),o=null;const a=_t(e).position==="fixed";let i=a?Un(e):e;for(;Ft(i)&&!ks(i);){const l=_t(i),c=cu(i);!c&&l.position==="fixed"&&(o=null),(a?!c&&!o:!c&&l.position==="static"&&!!o&&["absolute","fixed"].includes(o.position)||Vo(i)&&!c&&bx(e,i))?s=s.filter(u=>u!==i):o=l,i=Un(i)}return t.set(e,s),s}function Ej(e){let{element:t,boundary:n,rootBoundary:s,strategy:o}=e;const i=[...n==="clippingAncestors"?Fi(t)?[]:Rj(t,this._c):[].concat(n),s],l=i[0],c=i.reduce((d,u)=>{const m=xh(t,u,o);return d.top=it(m.top,d.top),d.right=$n(m.right,d.right),d.bottom=$n(m.bottom,d.bottom),d.left=it(m.left,d.left),d},xh(t,l,o));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function Tj(e){const{width:t,height:n}=yx(e);return{width:t,height:n}}function Ij(e,t,n){const s=Xt(t),o=Zt(t),a=n==="fixed",i=Ar(e,!0,a,t);let l={scrollLeft:0,scrollTop:0};const c=Ut(0);if(s||!s&&!a)if((Is(t)!=="body"||Vo(o))&&(l=_i(t)),s){const f=Ar(t,!0,a,t);c.x=f.x+t.clientLeft,c.y=f.y+t.clientTop}else o&&(c.x=mu(o));const d=o&&!s&&!a?vx(o,l):Ut(0),u=i.left+l.scrollLeft-c.x-d.x,m=i.top+l.scrollTop-c.y-d.y;return{x:u,y:m,width:i.width,height:i.height}}function Rl(e){return _t(e).position==="static"}function yh(e,t){if(!Xt(e)||_t(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Zt(e)===n&&(n=n.ownerDocument.body),n}function jx(e,t){const n=dt(e);
vendor: 8,976 bytes, line 243
243if(Fi(e))return n;if(!Xt(e)){let o=Un(e);for(;o&&!ks(o);){if(Ft(o)&&!Rl(o))return o;o=Un(o)}return n}let s=yh(e,t);for(;s&&vj(s)&&Rl(s);)s=yh(s,t);return s&&ks(s)&&Rl(s)&&!cu(s)?n:s||bj(e)||n}const Oj=async function(e){const t=this.getOffsetParent||jx,n=this.getDimensions,s=await n(e.floating);return{reference:Ij(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:s.width,height:s.height}}};function Dj(e){return _t(e).direction==="rtl"}const Mj={convertOffsetParentRelativeRectToViewportRelativeRect:kj,getDocumentElement:Zt,getClippingRect:Ej,getOffsetParent:jx,getElementRects:Oj,getClientRects:Sj,getDimensions:Tj,getScale:ns,isElement:Ft,isRTL:Dj};function Nx(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function qj(e,t){let n=null,s;const o=Zt(e);function a(){var l;clearTimeout(s),(l=n)==null||l.disconnect(),n=null}function i(l,c){l===void 0&&(l=!1),c===void 0&&(c=1),a();const d=e.getBoundingClientRect(),{left:u,top:m,width:f,height:w}=d;if(l||t(),!f||!w)return;const y=ya(m),g=ya(o.clientWidth-(u+f)),b=ya(o.clientHeight-(m+w)),h=ya(u),x={rootMargin:-y+"px "+-g+"px "+-b+"px "+-h+"px",threshold:it(0,$n(1,c))||1};let j=!0;function k(C){const S=C[0].intersectionRatio;if(S!==c){if(!j)return i();S?i(!1,S):s=setTimeout(()=>{i(!1,1e-7)},1e3)}S===1&&!Nx(d,e.getBoundingClientRect())&&i(),j=!1}try{n=new IntersectionObserver(k,{...x,root:o.ownerDocument})}catch{n=new IntersectionObserver(k,x)}n.observe(e)}return i(!0),a}function Wj(e,t,n,s){s===void 0&&(s={});const{ancestorScroll:o=!0,ancestorResize:a=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:c=!1}=s,d=uu(e),u=o||a?[...d?Eo(d):[],...Eo(t)]:[];u.forEach(h=>{o&&h.addEventListener("scroll",n,{passive:!0}),a&&h.addEventListener("resize",n)});const m=d&&l?qj(d,n):null;let f=-1,w=null;i&&(w=new ResizeObserver(h=>{let[p]=h;p&&p.target===d&&w&&(w.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var x;(x=w)==null||x.observe(t)})),n()}),d&&!c&&w.observe(d),w.observe(t));let y,g=c?Ar(e):null;c&&b();function b(){const h=Ar(e);g&&!Nx(g,h)&&n(),g=h,y=requestAnimationFrame(b)}return n(),()=>{var h;u.forEach(p=>{o&&p.removeEventListener("scroll",n),a&&p.removeEventListener("resize",n)}),m==null||m(),(h=w)==null||h.disconnect(),w=null,c&&cancelAnimationFrame(y)}}const Fj=gj,_j=xj,Lj=hj,zj=wj,Bj=fj,wh=mj,Hj=yj,Gj=(e,t,n)=>{const s=new Map,o={platform:Mj,...n},a={...o.platform,_c:s};return uj(e,t,{...o,platform:a})};var Da=typeof document<"u"?v.useLayoutEffect:v.useEffect;function ui(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 n,s,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(s=n;s--!==0;)if(!ui(e[s],t[s]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(s=n;s--!==0;)if(!{}.hasOwnProperty.call(t,o[s]))return!1;for(s=n;s--!==0;){const a=o[s];if(!(a==="_owner"&&e.$$typeof)&&!ui(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function kx(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function vh(e,t){const n=kx(e);return Math.round(t*n)/n}function El(e){const t=v.useRef(e);return Da(()=>{t.current=e}),t}function Yj(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:s=[],platform:o,elements:{reference:a,floating:i}={},transform:l=!0,whileElementsMounted:c,open:d}=e,[u,m]=v.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,w]=v.useState(s);ui(f,s)||w(s);const[y,g]=v.useState(null),[b,h]=v.useState(null),p=v.useCallback(P=>{P!==C.current&&(C.current=P,g(P))},[]),x=v.useCallback(P=>{P!==S.current&&(S.current=P,h(P))},[]),j=a||y,k=i||b,C=v.useRef(null),S=v.useRef(null),A=v.useRef(u),R=c!=null,E=El(c),M=El(o),D=El(d),Y=v.useCallback(()=>{if(!C.current||!S.current)return;const P={placement:t,strategy:n,middleware:f};M.current&&(P.platform=M.current),Gj(C.current,S.current,P).then(O=>{const W={...O,isPositioned:D.current!==!1};I.current&&!ui(A.current,W)&&(A.current=W,Ho.flushSync(()=>{m(W)}))})},[f,t,n,M,D]);Da(()=>{d===!1&&A.current.isPositioned&&(A.current.isPositioned=!1,m(P=>({...P,isPositioned:!1})))},[d]);const I=v.useRef(!1);Da(()=>(I.current=!0,()=>{I.current=!1}),[]),Da(()=>{if(j&&(C.current=j),k&&(S.current=k),j&&k){if(E.current)return E.current(j,k,Y);Y()}},[j,k,Y,E,R]);const H=v.useMemo(()=>({reference:C,floating:S,setReference:p,setFloating:x}),[p,x]),B=v.useMemo(()=>({reference:j,floating:k}),[j,k]),V=v.useMemo(()=>{const P={position:n,left:0,top:0};if(!B.floating)return P;const O=vh(B.floating,u.x),W=vh(B.floating,u.y);return l?{...P,transform:"translate("+O+"px, "+W+"px)",...kx(B.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:O,top:W}},[n,l,B.floating,u.x,u.y]);return v.useMemo(()=>({...u,update:Y,refs:H,elements:B,floatingStyles:V}),[u,Y,H,B,V])}const Vj=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:s,padding:o}=typeof e=="function"?e(n):e;return s&&t(s)?s.current!=null?wh({element:s.current,padding:o}).fn(n):{}:s?wh({element:s,padding:o}).fn(n):{}}}},$j=(e,t)=>({...Fj(e),options:[e,t]}),Qj=(e,t)=>({..._j(e),options:[e,t]}),Uj=(e,t)=>({...Hj(e),options:[e,t]}),Kj=(e,t)=>({...Lj(e),options:[e,t]}),Xj=(e,t)=>({...zj(e),options:[e,t]}),Jj=(e,t)=>({...Bj(e),options:[e,t]}),Zj=(e,t)=>({...Vj(e),options:[e,t]});var e2="Arrow",Sx=v.forwardRef((e,t)=>{const{children:n,width:s=10,height:o=5,...a}=e;return r.jsx(Xe.svg,{...a,ref:t,width:s,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:r.jsx("polygon",{points:"0,0 30,0 15,10"})})});Sx.displayName=e2;var t2=Sx;function n2(e){const[t,n]=v.useState(void 0);return Cr(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const s=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const a=o[0];let i,l;if("borderBoxSize"in a){const c=a.borderBoxSize,d=Array.isArray(c)?c[0]:c;i=d.inlineSize,l=d.blockSize}else i=e.offsetWidth,l=e.offsetHeight;n({width:i,height:l})});return s.observe(e,{box:"border-box"}),()=>s.unobserve(e)}else n(void 0)},[e]),t}var Cx="Popper",[Ax,Px]=Ei(Cx),[e3,Rx]=Ax(Cx),Ex="PopperAnchor",Tx=v.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:s,...o}=e,a=Rx(Ex,n),i=v.useRef(null),l=Wt(t,i);return v.useEffect(()=>{a.onAnchorChange((s==null?void 0:s.current)||i.current)}),s?null:r.jsx(Xe.div,{...o,ref:l})});Tx.displayName=Ex;var hu="PopperContent",[r2,s2]=Ax(hu),Ix=v.forwardRef((e,t)=>{var ve,Re,ft,Ge,re,_;const{__scopePopper:n,side:s="bottom",sideOffset:o=0,align:a="center",alignOffset:i=0,arrowPadding:l=0,avoidCollisions:c=!0,collisionBoundary:d=[],collisionPadding:u=0,sticky:m="partial",hideWhenDetached:f=!1,updatePositionStrategy:w="optimized",onPlaced:y,...g}=e,b=Rx(hu,n),[h,p]=v.useState(null),x=Wt(t,ee=>p(ee)),[j,k]=v.useState(null),C=n2(j),S=(C==null?void 0:C.width)??0,A=(C==null?void 0:C.height)??0,R=s+(a!=="center"?"-"+a:""),E=typeof u=="number"?u:{top:0,right:0,bottom:0,left:0,...u},M=Array.isArray(d)?d:[d],D=M.length>0,Y={padding:E,boundary:M.filter(a2),altBoundary:D},{refs:I,floatingStyles:H,placement:B,isPositioned:V,middlewareData:P}=Yj({strategy:"fixed",placement:R,whileElementsMounted:(...ee)=>Wj(...ee,{animationFrame:w==="always"}),elements:{reference:b.anchor},middleware:[$j({mainAxis:o+A,alignmentAxis:i}),c&&Qj({mainAxis:!0,crossAxis:!1,limiter:m==="partial"?Uj():void 0,...Y}),c&&Kj({...Y}),Xj({...Y,apply:({elements:ee,rects:de,availableWidth:Ie,availableHeight:pt})=>{const{width:Ct,height:tn}=de.reference,st=ee.floating.style;st.setProperty("--radix-popper-available-width",`${Ie}px`),st.setProperty("--radix-popper-available-height",`${pt}px`),st.setProperty("--radix-popper-anchor-width",`${Ct}px`),st.setProperty("--radix-popper-anchor-height",`${tn}px`)}}),j&&Zj({element:j,padding:l}),i2({arrowWidth:S,arrowHeight:A}),f&&Jj({strategy:"referenceHidden",...Y})]}),[O,W]=Mx(B),z=Kt(y);Cr(()=>{V&&(z==null||z())},[V,z]);const J=(ve=P.arrow)==null?void 0:ve.x,we=(Re=P.arrow)==null?void 0:Re.y,pe=((ft=P.arrow)==null?void 0:ft.centerOffset)!==0,[St,He]=v.useState();return Cr(()=>{h&&He(window.getComputedStyle(h).zIndex)},[h]),r.jsx("div",{ref:I.setFloating,"data-radix-popper-content-wrapper":"",style:{...H,transform:V?H.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:St,"--radix-popper-transform-origin":[(Ge=P.transformOrigin)==null?void 0:Ge.x,(re=P.transformOrigin)==null?void 0:re.y].join(" "),...((_=P.hide)==null?void 0:_.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:r.jsx(r2,{scope:n,placedSide:O,onArrowChange:k,arrowX:J,arrowY:we,shouldHideArrow:pe,children:r.jsx(Xe.div,{"data-side":O,"data-align":W,...g,ref:x,style:{...g.style,animation:V?void 0:"none"}})})})});Ix.displayName=hu;var Ox="PopperArrow",o2={top:"bottom",right:"left",bottom:"top",left:"r
243ight"},Dx=v.forwardRef(function(t,n){const{__scopePopper:s,...o}=t,a=s2(Ox,s),i=o2[a.placedSide];return r.jsx("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:r.jsx(t2,{...o,ref:n,style:{...o.style,display:"block"}})})});Dx.displayName=Ox;function a2(e){return e!==null}var i2=e=>({name:"transformOrigin",options:e,fn(t){var b,h,p;const{placement:n,rects:s,middlewareData:o}=t,i=((b=o.arrow)==null?void 0:b.centerOffset)!==0,l=i?0:e.arrowWidth,c=i?0:e.arrowHeight,[d,u]=Mx(n),m={start:"0%",center:"50%",end:"100%"}[u],f=(((h=o.arrow)==null?void 0:h.x)??0)+l/2,w=(((p=o.arrow)==null?void 0:p.y)??0)+c/2;let y="",g="";return d==="bottom"?(y=i?m:`${f}px`,g=`${-c}px`):d==="top"?(y=i?m:`${f}px`,g=`${s.floating.height+c}px`):d==="right"?(y=`${-c}px`,g=i?m:`${w}px`):d==="left"&&(y=`${s.floating.width+c}px`,g=i?m:`${w}px`),{data:{x:y,y:g}}}});function Mx(e){const[t,n="center"]=e.split("-");return[t,n]}var l2=Tx,c2=Ix,d2=Dx,[Li,t3]=Ei("Tooltip",[Px]),fu=Px(),qx="TooltipProvider",u2=700,bh="tooltip.open",[m2,Wx]=Li(qx),Fx=e=>{const{__scopeTooltip:t,delayDuration:n=u2,skipDelayDuration:s=300,disableHoverableContent:o=!1,children:a}=e,i=v.useRef(!0),l=v.useRef(!1),c=v.useRef(0);return v.useEffect(()=>{const d=c.current;return()=>window.clearTimeout(d)},[]),r.jsx(m2,{scope:t,isOpenDelayedRef:i,delayDuration:n,onOpen:v.useCallback(()=>{window.clearTimeout(c.current),i.current=!1},[]),onClose:v.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>i.current=!0,s)},[s]),isPointerInTransitRef:l,onPointerInTransitChange:v.useCallback(d=>{l.current=d},[]),disableHoverableContent:o,children:a})};Fx.displayName=qx;var _x="Tooltip",[n3,zi]=Li(_x),Qc="TooltipTrigger",h2=v.forwardRef((e,t)=>{const{__scopeTooltip:n,...s}=e,o=zi(Qc,n),a=Wx(Qc,n),i=fu(n),l=v.useRef(null),c=Wt(t,l,o.onTriggerChange),d=v.useRef(!1),u=v.useRef(!1),m=v.useCallback(()=>d.current=!1,[]);return v.useEffect(()=>()=>document.removeEventListener("pointerup",m),[m]),r.jsx(l2,{asChild:!0,...i,children:r.jsx(Xe.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...s,ref:c,onPointerMove:Ae(e.onPointerMove,f=>{f.pointerType!=="touch"&&!u.current&&!a.isPointerInTransitRef.current&&(o.onTriggerEnter(),u.current=!0)}),onPointerLeave:Ae(e.onPointerLeave,()=>{o.onTriggerLeave(),u.current=!1}),onPointerDown:Ae(e.onPointerDown,()=>{o.open&&o.onClose(),d.current=!0,document.addEventListener("pointerup",m,{once:!0})}),onFocus:Ae(e.onFocus,()=>{d.current||o.onOpen()}),onBlur:Ae(e.onBlur,o.onClose),onClick:Ae(e.onClick,o.onClose)})})});h2.displayName=Qc;var f2="TooltipPortal",[r3,p2]=Li(f2,{forceMount:void 0}),Ss="TooltipContent",Lx=v.forwardRef((e,t)=>{const n=p2(Ss,e.__scopeTooltip),{forceMount:s=n.forceMount,side:o="top",...a}=e,i=zi(Ss,e.__scopeTooltip);return r.jsx(eu,{present:s||i.open,children:i.disableHoverableContent?r.jsx(zx,{side:o,...a,ref:t}):r.jsx(g2,{side:o,...a,ref:t})})}),g2=v.forwardRef((e,t)=>{const n=zi(Ss,e.__scopeTooltip),s=Wx(Ss,e.__scopeTooltip),o=v.useRef(null),a=Wt(t,o),[i,l]=v.useState(null),{trigger:c,onClose:d}=n,u=o.current,{onPointerInTransitChange:m}=s,f=v.useCallback(()=>{l(null),m(!1)},[m]),w=v.useCallback((y,g)=>{const b=y.currentTarget,h={x:y.clientX,y:y.clientY},p=b2(h,b.getBoundingClientRect()),x=j2(h,p),j=N2(g.getBoundingClientRect()),k=S2([...x,...j]);l(k),m(!0)},[m]);return v.useEffect(()=>()=>f(),[f]),v.useEffect(()=>{if(c&&u){const y=b=>w(b,u),g=b=>w(b,c);return c.addEventListener("pointerleave",y),u.addEventListener("pointerleave",g),()=>{c.removeEventListener("pointerleave",y),u.removeEventListener("pointerleave",g)}}},[c,u,w,f]),v.useEffect(()=>{if(i){const y=g=>{const b=g.target,h={x:g.clientX,y:g.clientY},p=(c==null?void 0:c.contains(b))||(u==null?void 0:u.contains(b)),x=!k2(h,i);p?f():x&&(f(),d())};return document.addEventListener("pointermove",y),()=>document.removeEventListener("pointermove",y)}},[c,u,i,d,f]),r.jsx(zx,{...e,ref:a})}),[x2,y2]=Li(_x,{isInside:!1}),w2=wb("TooltipContent"),zx=v.forwardRef((e,t)=>
vendor: 1,681 bytes, line 243
243{const{__scopeTooltip:n,children:s,"aria-label":o,onEscapeKeyDown:a,onPointerDownOutside:i,...l}=e,c=zi(Ss,n),d=fu(n),{onClose:u}=c;return v.useEffect(()=>(document.addEventListener(bh,u),()=>document.removeEventListener(bh,u)),[u]),v.useEffect(()=>{if(c.trigger){const m=f=>{const w=f.target;w!=null&&w.contains(c.trigger)&&u()};return window.addEventListener("scroll",m,{capture:!0}),()=>window.removeEventListener("scroll",m,{capture:!0})}},[c.trigger,u]),r.jsx(Zd,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:i,onFocusOutside:m=>m.preventDefault(),onDismiss:u,children:r.jsxs(c2,{"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:[r.jsx(w2,{children:s}),r.jsx(x2,{scope:n,isInside:!0,children:r.jsx(zb,{id:c.contentId,role:"tooltip",children:o||s})})]})})});Lx.displayName=Ss;var Bx="TooltipArrow",v2=v.forwardRef((e,t)=>{const{__scopeTooltip:n,...s}=e,o=fu(n);return y2(Bx,n).isInside?null:r.jsx(d2,{...o,...s,ref:t})});v2.displayName=Bx;function b2(e,t){const n=Math.abs(t.top-e.y),s=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,s,o,a)){case a:return"left";case o:return"right";case n:return"top";case s:return"bottom";default:throw new Error("unreachable")}}function j2(e,t,n=5){const s=[];
243switch(t){case"top":s.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":s.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":s.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":s.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return s}function N2(e){const{top:t,right:n,bottom:s,left:o}=e;return[{x:o,y:t},{x:n,y:t},{x:n,y:s},{x:o,y:s}]}function k2(e,t){const{x:n,y:s}=e;let o=!1;for(let a=0,i=t.length-1;a<t.length;i=a++){const l=t[a].x,c=t[a].y,d=t[i].x,u=t[i].y;c>s!=u>s&&n<(d-l)*(s-c)/(u-c)+l&&(o=!o)}return o}function S2(e){const t=e.slice();return t.sort((n,s)=>n.x<s.x?-1:n.x>s.x?1:n.y<s.y?-1:n.y>s.y?1:0),C2(t)}function C2(e){if(e.length<=1)return e.slice();const t=[];for(let s=0;s<e.length;s++){const o=e[s];for(;t.length>=2;){const a=t[t.length-1],i=t[t.length-2];if((a.x-i.x)*(o.y-i.y)>=(a.y-i.y)*(o.x-i.x))t.pop();else break}t.push(o)}t.pop();const n=[];for(let s=e.length-1;s>=0;s--){const o=e[s];for(;n.length>=2;){const a=n[n.length-1],i=n[n.length-2];if((a.x-i.x)*(o.y-i.y)>=(a.y-i.y)*(o.x-i.x))n.pop();else break}n.push(o)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var A2=Fx,Hx=Lx;const P2=A2,R2=v.forwardRef(({className:e,sideOffset:t=4,...n},s)=>r.jsx(Hx,{ref:s,sideOffset:t,className:Jt("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md 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),...n}));R2.displayName=Hx.displayName;const Gx=v.createContext(void 0);function E2({children:e}){const{data:t,isLoading:n,error:s}=ab({queryKey:["location"],queryFn:async()=>{const a=await fetch("/api/location");if(!a.ok)throw new Error("Failed to fetch location data");return a.json()}}),o={location:t||null,isLoading:n,error:s};return r.jsx(Gx.Provider,{value:o,children:e})}function T2(){const e=v.useContext(Gx);if(e===void 0)throw new Error("useLocation must be used within a LocationProvider");return e}const I2=()=>(v.useEffect(()=>{const e=setTimeout(()=>{const t=document.createElement("script");t.src="https://beta.leadconnectorhq.com/loader.js",t.setAttribute("data-resources-url","https://beta.leadconnectorhq.com/chat-widget/loader.js"),t.setAttribute("data-widget-id","6918285133e9929e86b1fb2a"),t.async=!0,document.body.appendChild(t)},4e3);return()=>{clearTimeout(e)}},[]),null),O2=()=>{const e=v.useRef(null),t=v.useRef(null);return v.useEffect(()=>{const n=setTimeout(()=>{const s=document.createElement("script");s.type="text/javascript",s.src="https://reputationhub.site/reputation/assets/review-widget.js",s.async=!0,document.body.appendChild(s),e.current=s;const o=document.createElement("iframe");o.className="lc_reviews_widget",o.src="https://reputationhub.site/reputation/widgets/review_widget/q4iCpzYYjPNIHtDgMELo?widgetId=691ea1cf9fb28d0b069d0296",o.setAttribute("frameborder","0"),o.setAttribute("scrolling","no"),o.style.minWidth="100%",o.style.width="100%",o.setAttribute("data-testid","ghl-flash-reviews-widget"),o.title="Flash Reviews Widget",o.loading="lazy",document.body.appendChild(o),t.current=o},5e3);return()=>{var s,o;clearTimeout(n),(s=e.current)!=null&&s.parentNode&&e.current.parentNode.removeChild(e.current),(o=t.current)!=null&&o.parentNode&&t.current.parentNode.removeChild(t.current)}},[]),null},$o="/assets/logo-alimac-pro-final-400x243-C6JQEAJd.png",D2="/assets/owens%20logo_1762929411302-CUdkRo_d.jpeg",M2="/assets/certainteed_top_bar_logo_1765866686485-C9v9Squq.png",q2=()=>r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"md:hidden flex w-full",children:[r.jsxs("a",{href:"tel:206-446-3721",className:"flex-1 flex items-center justify-center gap-2 bg-[#36a326] hover:bg-[#45cc31] text-white font-bold py-3 px-4 transition-colors",children:[r.jsx(kt,{className:"w-5 h-5"}),r.jsx("span",{className:"text-sm font-bold",children:"(206) 446-3721"})]}),r.jsxs("a",{href:"/detailed-roofing-quote",className:"flex-1 flex items-center justify-center gap-2 bg-[#0c9ab9] hover:bg-[#45cc31] text-white font-bold py-3 px-4 transition-colors",children:[r.jsx("span",{className:"text-sm font-bold",children:"GET QUOTE"}),r.jsx("span",{children:"â"})]})]}),r.jsx("div",{className:"hidden md:block bg-[#0c9ab9] text-white py-3 px-4 md:px-6",children:r.jsxs("div",{className:"max-w-7xl mx-auto flex items-center justify-between gap-4 flex-wrap md:flex-nowrap",children:[r.jsxs("div",{className:"flex items-center gap-6",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("div",{className:"flex gap-0.5",children:[...Array(5)].map((e,t)=>r.jsx(Yo,{className:"w-4 h-4 fill-yellow-400 text-yellow-400"},t))}),r.jsx("span",{className:"text-xs md:text-sm font-medium whitespace-nowrap",children:"Rated 5 Stars"})]}),r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("a",{href:"https://share.google/TWSSwGnz3jWAwB8MU",target:"_blank",rel:"noopener noreferrer",className:"hover:text-app-primary transition-colors",title:"Google Reviews",children:r.jsxs("svg",{className:"w-5 h-5",viewBox:"0 0 24 24",fill:"
243currentColor",children:[r.jsx("path",{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"}),r.jsx("path",{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"}),r.jsx("path",{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"}),r.jsx("path",{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"})]})}),r.jsx("a",{href:"https://www.yelp.com/biz/alimac-pro-arlington-2",target:"_blank",rel:"noopener noreferrer",className:"hover:opacity-80 transition-opacity",title:"Yelp",children:r.jsx("img",{src:"/images/logos/yelp-icon.png",alt:"Yelp",className:"w-5 h-5",width:"20",height:"20"})}),r.jsx("a",{href:"https://www.bbb.org/us/wa/arlington/profile/roofing-contractors/alimac-pro-inc-1296-1000148051",target:"_blank",rel:"noopener noreferrer",className:"hover:opacity-80 transition-opacity",title:"Better Business Bureau",children:r.jsx("img",{src:"/images/logos/bbb-icon.png",alt:"BBB",className:"w-5 h-5",width:"20",height:"20"})}),r.jsx("a",{href:"https://www.facebook.com/alimac.pro",target:"_blank",rel:"noopener noreferrer",className:"hover:opacity-80 transition-opacity",title:"Facebook",children:r.jsx(ex,{className:"w-5 h-5"})}),r.jsx("a",{href:"https://www.instagram.com/alimac.pro?igsh=NTc4MTIwNjQ2YQ==",target:"_blank",rel:"noopener noreferrer",className:"hover:opacity-80 transition-opacity",title:"Instagram",children:r.jsx(nx,{className:"w-5 h-5"})}),r.jsx("a",{href:"https://www.owenscorning.com/en-us/roofing/contractors/contractor-profile/242102",target:"_blank",rel:"noopener noreferrer",className:"hover:opacity-80 transition-opacity",title:"Owens Corning Certified",children:r.jsx("img",{src:D2,alt:"Owens Corning",className:"h-5 w-auto rounded-sm"})}),r.jsx("a",{href:"https://www.certainteed.com/node/386391",target:"_blank",rel:"noopener noreferrer",className:"hover:opacity-80 transition-opacity",title:"CertainTeed Certified",children:r.jsx("img",{src:M2,alt:"CertainTeed",className:"h-5 w-auto"})})]})]}),r.jsxs("div",{className:"flex items-center gap-4 lg:gap-6",children:[r.jsxs("a",{href:"tel:206-446-3721",className:"flex items-center gap-3 hover:opacity-90 transition-opacity",children:[r.jsx("div",{className:"w-12 h-12 bg-white rounded-full flex items-center justify-center flex-shrink-0",children:r.jsx(kt,{className:"w-6 h-6 text-[#0c9ab9]"})}),r.jsx("span",{className:"text-base font-bold text-white whitespace-nowrap hidden sm:inline",children:"(206) 446-3721"})]}),r.jsxs("a",{href:"/detailed-roofing-quote",className:"inline-flex items-center gap-2 bg-[#36a326] hover:bg-[#45cc31] text-white font-bold px-5 py-3 rounded-full transition-colors whitespace-nowrap shadow-lg",children:["GET QUOTE",r.jsx("span",{children:"â"})]})]})]})})]}),je=()=>{const[,e]=er(),[t,n]=v.useState(!1),[s,o]=v.useState(!1),[a,i]=v.useState(!1),l=sn.useRef(null),c=[{label:"Home",href:"/"},{label:"About",href:"/about"},{label:"Services",href:"/services",submenu:[{label:"Emergency Service",href:"/services/emergency"},{label:"Roof Installation",href:"/services/roof-installation-v2"},{label:"Roof Repair",href:"/services/roof-repair"},{label:"Siding Installation & Repair",href:"/services/siding-installation"},{label:"Gutter Installation",href:"/services/gutter-installation"},{label:"Moss Removal",href:"/services/moss-removal"},{label:"Roof Cleaning",href:"/services/roof-cleaning"}]},{label:"Portfolio",href:"/portfolio"},{label:"Financing",href:"/financing"},{label:"Color Selection",href:"/color-selection"},{label:"Reviews",href:"/reviews"},{label:"FAQ",href:"/faq"}];return r.jsxs("header",{className:"sticky top-0 w-full z-50",children:[r.jsx(q2,{}),r.jsxs("div",{className:"relative w-full bg-white py-4 md:py-6 shadow-md border-b border-gray-200",children:[r.jsxs("div",{className:"flex max-w-7xl mx-auto items-center justify-between px-4 md:px-6",children:[r.jsx("button",{onClick:()=>e("/"),"data-testid":"header-logo-btn",className:"cursor-pointer","aria-label":"Go to Alimac Pro homepage",children:r.jsx("img",{src:$o,alt:"Alimac Pro Roofing",className:"h-14 md:h-20 w-auto",width:"180",height:"110"})}),r.jsx("nav",{className:"hidden lg:flex items-center gap-8",children:c.map((d,u)=>d.submenu?r.jsxs("div",{className:"relative group",onMouseEnter:()=>{l.current&&(clearTimeout(l.current),l.current=null),o(!0)},onMouseLeave:()=>{l.current=setTimeout(()=>{o(!1)},150)},children:[r.jsxs("button",{onClick:()=>e(d.href),className:"text-gray-700 hover:text-app-primary font-medium transition-colors flex items-center gap-1 text-lg","data-testid":"desktop-services-menu-btn",children:[d.label,r.jsx(Po,{className:"w-4 h-4"})]}),s&&r.jsx("div",{className:"absolute top-full left-0 mt-2 w-56 bg-white shadow-xl rounded-lg border border-gray-200 py-2",children:d.submenu.map((m,f)=>r.jsx("button",{onClick:()=>e(m.href),className:"w-full text-left block px-4 py-2 text-gray-700 hover:bg-gray-50 hover:text-app-primary transition-colors","data-testid":`desktop-menu-${m.label.toLowerCase().replace(/\s+/g,"-")}`,children:m.label},f))})]},u):r.jsx("button",{onClick:()=>e(d.href),className:"text-gray-700 hover:text-app-primary font-medium transition-colors text-lg","data-testid":`desktop-menu-${d.label.toLowerCase()}`,children:d.label},u))}),r.jsx("button",{onClick:()=>n(!t),className:"lg:hidden p-3 text-gray-700 hover:text-app-primary transition-colors","data-testid":"mobile-menu-toggle-btn","aria-label":t?"Close navigation menu":"Open navigation menu","aria-expanded":t,children:t?r.jsx(sx,{className:"w-6 h-6"}):r.jsx(p1,{className:"w-6 h-6"})})]}),t&&r.jsx("div",{className:"lg:hidden absolute top-full left-0 w-full bg-white border-t border-gray-200 shadow-xl",children:r.jsx("nav",{className:"flex flex-col p-4",children:c.map((d,u)=>d.submenu?r.jsxs("div",{className:"border-b border-gray-200 last:border-0",children:[r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx("button",{onClick:()=>{e(d.href),n(!1)},className:"flex-1 text-left py-3 text-gray-700 font-medium hover:text-app-primary","data-testid":"mobile-services-menu-link",children:d.label}),r.jsx("button",{onClick:()=>i(!a),className:"px-3 py-3 text-gray-700 hover:text-app-primary","data-testid":"mobile-services-menu-btn",children:r.jsx(Po,{className:`w-4 h-4 transition-transform ${a?"rotate-180":""}`})})]}),a&&r.jsx("div",{className:"pl-4 pb-2",children:d.submenu.map((m,f)=>r.jsx("button",{onClick:()=>{e(m.href),n(!1)},className:"w-full text-left block py-2 text-gray-600 hover:text-app-primary","data-testid":`mobile-menu-${m.label.toLowerCase().replace(/\s+/g,"-")}`,children:m.label},f))})]},u):r.jsx("button",{onClick:()=>{e(d.href),n(!1)},className:"w-full text-left py-3 text-gray-700 font-medium border-b border-gray-200 last:border-0 hover:text-app-primary","data-testid":`mobile-menu-${d.label.toLowerCase()}`,children:d.label},u))})})]})]})};var W2="Separator",jh="horizontal",F2=["horizontal","vertical"],Yx=v.forwardRef((e,t)=>
243{const{decorative:n,orientation:s=jh,...o}=e,a=_2(s)?s:jh,l=n?{role:"none"}:{"aria-orientation":a==="vertical"?a:void 0,role:"separator"};return r.jsx(Xe.div,{"data-orientation":a,...l,...o,ref:t})});Yx.displayName=W2;function _2(e){return F2.includes(e)}var Vx=Yx;const pu=v.forwardRef(({className:e,orientation:t="horizontal",decorative:n=!0,...s},o)=>r.jsx(Vx,{ref:o,decorative:n,orientation:t,className:Jt("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...s}));pu.displayName=Vx.displayName;function L2(e){return{"{{location.name}}":e.name,"{{location.phone}}":e.phone,"{{location.email}}":e.email,"{{location.address}}":e.address||"","{{location.city}}":e.city||"","{{location.state}}":e.state||"","{{location.zipCode}}":e.zipCode||"","{{location.fullAddress}}":[e.address,e.city,e.state,e.zipCode].filter(Boolean).join(", ")}}function z2(e,t){let n=e;return Object.entries(t).forEach(([s,o])=>{const a=new RegExp(B2(s),"g");n=n.replace(a,o)}),n}function B2(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Tl(e,t){if(!t)return e;const n=L2(t);return z2(e,n)}const H2="/assets/logo-alimac-pro-final-400x243-C6JQEAJd.png",G2="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAADr5JREFUeJztnWmwHUUVgE+ThS2EBEQkBAJGEAJBkVVZhECxSNgSCJtASIDCpdgslip/oEQRBYWSRXBDsIBAZAuEQBCVHSxlCSKELSGQPBBMQvKy573PH+e+4jp0z8yd6Z479775qvLnvpk+p6dPZs7pPn1apAQAg4AzgXuADmAh8B/gIWAisE6zdazwDNAHOAS4HVhOPO8A+zRb5woPANsBlwPvJQx6lNXAEc3WvyIDwGDgLOCZBgc9SifwxWb3pyIF6Cv+UGAyya/4Rrin2X1rJ4zvBoERInKqiHxTRIY0ePtcEblVRF4WkZEico6IrBcVISJDjDHv51S1whfoK/7bwHMZ/kd3ArcAo4C1Iu2OdtxzarP6WlEDfcV/A7gTWNHgoHcDjwMTgA0S5Lxtuf/qovpZEQEYCvwUmN/goAPMAX4IDG9A3l2WdmaE7GOFA+B7NO7QdQI3A/sTecWnlDnJ0ua8EP2riAH4ZQOD3g08BpxGwis+hdzjHTIG++pbRQLA+JQDPxv4AfB5j7J3csjay5eMihiA9dB5eRdLgD8A+wEhwsq10VnAKGf4llVhATjZMfDzUS9+QAE6vGaRX0UCHuib4ppRlt8Wi8guxpgOz/q4eEVEolPAIwqS3dak8cqHWX67r8DBFxH5t+W3HQqU37akMQAsv/X3rUgCr1h+G0IVCeQmjQHMtvx2JLClb2VisL0BRKrPQG7SGMCjlt/WEZFbgTQ+hA9micgay++VAYSmFoa5pn0nFahHFQk0C2CcwwC6AFuUEEKHak2gmaDz+TbeBz5XgHzbmsB7oeVW1ADWB151GMF0AswCRuSf4JBdRQJFAYzEvRp4fmDZrjWBr4WUWxEBOMcxEKuAPQPKrdYEygBggHsdRvAmMDCg7FkWmVeFklfhAM0BnOMwgjsCyr3bIq+KBJoBsA+wxmEEpwWSWUUCZQJN/rDRCWwfQF4VCZQJYC3gUcegvAys61leFQmUDWBz4EPHwFzrWVYVCZQRdH9At8MIjvYsq4oEyghwtcMAFgJbeZRjiwQe9tV+RUZqr+d/OozgWaCfJzlVJFBWgG3RLGEbXpaOce8TGOSj/Qb02Aw4qPZvF4rLjSg3uLOIvSwd08RIAI16TgVessj/L3ADsGloPUoP7qXjecAmOdtuSiQAbAw86OhXPYuA0SF1KT3AAOzeOsA0ci4dY88OChYJ1IyukeomK4HDQ+nTEgA74942nmvpmIKzg2hsX2QPS4AdQ+nUEhBo6ZgCIwFgd9R/ycJsYOMQerUE6NLxfY6Hk3npGPeagNdIAOiH3eEDfQttiX7uTgQWO66bDvTxqVdLgTpP7zoezm0Z2ywkEgAudMiZCfSPXHsAducU4DKferUceF46xh0JnO5R52HoqmaULpehoQU0bHQD43zp1pLgeemYwGsCwP0Ofa9PuO8mx31LgJG+9Gs58Lx0TMA1AeA4h54dJOQeAOsC/3DcPxv4jA8dWxI8Lh0TKBIABuIuY3tcyjaGxfRzBr3cKfSydEyg7CDgeke7DzXYTpxT+JM8OrY8eFg6xh0JfDWHXq6YfxkZ6h4BFzh07Cbl26QtwcPSMZ4jAaAv8IJDp4uytFlr93ZHm530cqfwC8DHjoeTaukYeyTwi4z6XOTQ5WVy5DKgTqHL2GfTy51Cl7fdBRyY4n4vkQAZYv4M7bucwkfo5U5h5l3HeIoEyBjzNyjjQNyTYef5ktNykGPpGA9rArhrH3Q00k5KWa7PzBJgM5+yWgoy7jomZySAh5i/EdDFsckOeb33LSAiApzteDArgV0d9+SKBHDH/NP99u7/ZA5AV0KjPBJKZktAxqVj7J+PxCgC2BN7zL8Uj7WOHbK/b5FrK4UXnIbLt4fCGIOITBARmxM3XERucNxqO1PQVtvwkz9qWHej2Ps/yRjzdtz9HihD7cVyAuyL21s+M3LtGMd1ExJkxK3ze9m/ECN7EPCWRfa0kHIbBtgROBgYC+xAgbEqcIljgLqA3wKnA9ehqWVRuoEtYtreGn3N29oOlloODEH9HNsROAAXh5LdiJL9gPOxF39YjHqwY/G869eiRx/gb44HlcQDCW1Pc9z3qwD96Bn0x4nPK1xGs2cEgU2B51M+5E4+MYbosW6+9BlK/DkFLr2cySXAHo77vMX86JL32cATpE8mDVpgK43SG2LPtU/70O8AjsGzMQBfQTdapGElCcvJNT1tHJ9TzyyD3sPNBC6xl6YDNzaotAvvxoD6H39PkPs2KQ6XRncmRcm0n4B8gw762r+IEgz+lhk7kESPMRxLTmNAl2qPBP6Exv1LgLnoHP5EIhm6jjYGOvRsJAllc3Svw5M5ntkb6NF5n83zTLwBXOxQ9E7UYx6AnuB5M5qwkYWltfZyG0OOfq7r0C12Cxfqi/gY9MuAnYvqb2qA2ywKv4YlHkanXlvWGNAdvFGm8ekja9t70OtBQ5QoiSER0B84DD0xLI8xTEFX5NYvoK+3OvR4DPgu+jZs/0GvB03BinJlg234MIZO4DcEPIkEPb3UN68DPwa+HErvoODBACLt5TWGTuBYn32M6Od6CzRCaw96PXg2gEjbPcZwE7CggQfcBYzxoYNFpw1IP+HVnoNeT0gDiMjpj+4JSGsMiwiUJYOehupKRatnFvCjthv0eooygIjMtMYQtP4fmol0PbqVawHwEVoJZBLwpZCyS0MzDCAivz9wCvas3Pdp9kxZm9P0hBBjzCpjzC0icoHlz5uKyFbFatS7aLoB1PFnx++5qopVxFMmA9jG8XtnoVr0MkphAMBQEbnC8qflIvJmwer0KppW3hTNKjpERI4VkaNExJZlNN0Ys6pQxXoZhRpAZNAPF5EBMZd3i/2tUOGR4AZQG/RDRQd9tMQPej1XG2OeDaZYhYgEMoAcg97D70XkQt96RQH2EpHxIjJKRIaI5uu/JiJ/EZEHRORJY4zt1PL2wddEEJpwMQYtiOAqGZ/EXODkEP2M6DoQXYZOYgGaL3EC7XowFfYiyKmKLNQGfSyaIZx10BcBfwQOp4Ca++jGjJkZ9FwN/BWtBbhtaD0LA/ve+Kkx1/sa9FvQQV+7BP3NwuvAlWiOQeseFgFcYelcFzC27pr6QbfN2aehaYNe14+DMuqexAL003cisFEz+pYVA+wtIk84/v68iCwRkV1FJEvK1sciMlVEpojIDGPMykxaigh60MQYEdlNRDYUkWUi8qKITDXGvJWyjSkicozlTw+KyB0ispGIHCwi+4l902ka1ojIU6JO5P3GmFkZ2ykO7HmBWVmErrV7+Z+Ort1fiW78sNFV+98XW06m1pZtk8mdRFYcgfWBo4HfoSuSeXgd+Dll/lQAI3BX7ErDQnTQR+Px9Y5WGneVXY3yLjAipi3XvoADEnRYC60fOAl3Gbm0LESN9STK9qkARtFYDl+QQa/Tpx+ardsIc3Ac0IBuf7NxcIN6bQF8Cz0/yFXWJg1r0P6Np0k+0adAa/dNjVG6ftCDFjQAfpbxwVore6EVSGzZRw+TMekE/VQchW5Z78ioL2idon3zPTGPANsA5w
243HXoAM+CfWgC6ligSaSuuoJd6CbOVz77Jfjfgu4Jn9y785FPxW7AZeSLel0Nb25fGwP6F7FjxwPaQqwTu26vqiB2rAezoB7X0CuM4wcsoYCZ6HGuiylESwFdvKpR0uBfvefcjycF3oGv+76/tj9lktiZLi2iM8hkGOGRjJHAL8G5icYQblKxRQJ7u/+YsCaMYR9LcM5lQ1shL0CCmiVsqBJqKgvsitwOfZSNd2001RzWlDH0vXddxZwwP7GiE0nRyuF2OoLQYHVOnB/ksYXpUMpIP67H7tRNYsB1O473yHPuz+QoMe/LDoUdspY03MC0W3ok0XE5rm/KCKhSqheJTpNHaWfiEymuIkaW1m6FQXJbr4BiMhlImKr7btERMYZY4I8jFphyvEi8o7lz8NE5CbC+wOHiYjtez8vpNzSQPz5QSelbCPTJ6Du/t1wrzME8weArbCfIdAFDAkltzSg331bxQ5ooGZfXgOotXGeQ48g/gA6g+g6kvY+3/JKBxrvP+14AJ+K9xPa8mEABrjXoY/X+QHiS8YvBbb2Jau0YE9CAc0w2q7BtnIbQK2dQbinlx/Akz+A+9AIgIk+ZJQaPHz3I+15MYBaW0H9AeKPjbkmb/ulB11KdR2elOl8Hp8GUGsvbn4gczFp3E4ftT60d7l4dPHmSccDmEnGAtQBDMBgP40MNG3dutKY0Gbc0XHz6SVev7fvfqRdrwZQa9ObP0C807cC2D2Pri0B8ev7DX/3I217N4Bau178AeKdvkynnLYU6HffNc+f+1y+UAZQaztufiDRHyDe6bvOh46lhkDf/YiMkAaQ2R8g3ul7mnZ3+kRiv/vO9f0MMoIZQK39wegZvzas+QPEz/TNozccEol+Q101d3Md0BCRE9QAajJ2J6U/gL41XFlHKyhwqbmp4E7p9no2TxEGUJNzrqM/XWgi6HBgZ+Aux3UAZ/jWq5SghyXZvH4v3/2IrKIMwCQMbhKucw+bSqh8gL1FxBYrn2KMWR5IZlBq+QMTRWR2htufEZGz/Wrkh1AGYFs9+9AY82IgeYVgjFkkWtBqYQO3vSEiY8ta7CqUAdg6O5gM06hlwxgzU7T8zdwUlz8vIvsbYzrCapWdUAbwkuW3viJyo28foBkYY54TkZEicrmIzLdc8qqInCsiexhjekd6Vz3oBJAr9/4DdEfPvkTO6skoqxAnMEZ+H2B74BB0g23Qk8dbBvTQpSTmA9cCX89qDM02gAoHtf8ZM1IYQQ8f8UkJmdSFFCoDKDHAJo4BSqIDPR18PxJOLcd+5O2lRfWxIgF0A+elZD9NzGkM6GqbjfbPrfNEYadxABuIyDjR6qGjxL4jJokPRORu0ShjuIh8R0Sih08iIlsbY2wbPirKAFr7ZyLwEO5Nmll5sNn9q2gAdLv2BGC6B2NYCuzQ7D5VZCSnMawm4IGTFQVTM4bT0GpcScbwDrB/s3WuCESdMdyNVtRahU4izUDr8GSt6tnr+R/Gf4dLvL8aHwAAAABJRU5ErkJggg==",Y2="/assets/google_1764706245747-JPbc07AS.png",Ne=()=>{const{location:e}=T2(),t=Tl("{{location.name}}",e),n=Tl("{{location.phone}}",e),s=Tl("{{location.email}}",e),o=new Date().getFullYear(),a=[{label:"Home",href:"/"},{label:"About",href:"/about"},{label:"Our Services",href:"/services"},{label:"Portfolio",href:"/portfolio"},{label:"Color Selection",href:"/color-selection"},{label:"Get Quote",href:"/get-quote"},{label:"Detailed Roofing Quote",href:"/detailed-roofing-quote"},{label:"Financing",href:"/financing"},{label:"Reviews",href:"/reviews"},{label:"FAQ",href:"/faq"},{label:"Video Testimonials",href:"https://reputationhub.site/reputation/video-collectors/widget/699411c409de73b7c8d549df?locationId=q4iCpzYYjPNIHtDgMELo",external:!0},{label:"Privacy Policy",href:"/privacy-policy"},{label:"Terms of Service",href:"/terms-of-service"}],i=[{label:"Roof Installation",href:"/services/roof-installation-v2"},{label:"Roof Repair",href:"/services/roof-repair"},{label:"Siding Installation & Repair",href:"/services/siding-installation"},{label:"Gutter Installation & Repair",href:"/services/gutter-installation"},{label:"Moss Removal & Treatment",href:"/services/moss-removal"},{label:"Roof Cleaning & Restoration",href:"/services/roof-cleaning"},{label:"Emergency Service",href:"/services/emergency"}],l=[{icon:su,text:"18933 59th Ave NE #106, Arlington, WA 98223"},{icon:kt,text:n}];return r.jsxs("footer",{className:"w-full",children:[r.jsx("div",{className:"w-full bg-[#36a326] py-4 px-6",children:r.jsx("div",{className:"max-w-7xl mx-auto",children:r.jsx("p",{className:"text-white text-center text-base md:text-lg font-semibold",children:"ð Limited Time Only: Get Free Gutters with Your Full Roof Replacement"})})}),r.jsx("div",{className:"w-full py-16 px-6",style:{backgroundColor:"#0c9ab9"},children:r.jsxs("div",{className:"max-w-7xl mx-auto",children:[r.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8 mb-16",children:[r.jsxs("div",{className:"lg:col-span-1",children:[r.jsx("img",{src:H2,alt:"Alimac Pro Roofing",className:"h-16 md:h-20 w-auto mb-4 brightness-0 invert",width:"164",height:"100",loading:"lazy"}),r.jsx("p",{className:"w-full max-w-[311px] text-gray-300 text-sm md:text-base leading-relaxed",children:"Your trusted Arlington, WA roofing experts serving Snohomish County and Greater Seattle with reliable, professional service for all residential and commercial roofing needs."})]}),r.jsxs("div",{className:"flex flex-col gap-3",children:[r.jsx("h3",{className:"text-white text-lg md:text-xl font-semibold",children:"Navigation"}),r.jsx("div",{className:"flex flex-col gap-1.5",children:a.map((c,d)=>"external"in c&&c.external?r.jsx("a",{href:c.href,target:"_blank",rel:"noopener noreferrer",className:"text-gray-300 text-sm md:text-base cursor-pointer hover:text-white transition-colors",children:c.label},d):r.jsx(De,{href:c.href,className:"text-gray-300 text-sm md:text-base cursor-pointer hover:text-white transition-colors",children:c.label},d))})]}),r.jsxs("div",{className:"flex flex-col gap-3",children:[r.jsx("h3",{className:"text-white text-lg md:text-xl font-semibold",children:"Services"}),r.jsx("div",{className:"flex flex-col gap-1.5",children:i.map((c,d)=>r.jsx(De,{href:c.href,className:"text-gray-300 text-sm md:text-base cursor-pointer hover:text-white transition-colors",children:c.label},d))})]}),r.jsxs("div",{className:"flex flex-col gap-3",children:[r.jsx("h3",{className:"text-white text-lg md:text-xl font-semibold",children:"Contact Us"}),r.jsxs("div",{className:"flex flex-col gap-3",children:[l.map((c,d)=>r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx(c.icon,{className:"w-6 h-6 text-gray-300"}),r.jsx("span",{className:"text-gray-300 text-sm md:text-base",children:c.text})]},d)),r.jsx("div",{className:"text-gray-300 text-sm md:text-base",children:s})]}),r.jsxs("div",{className:"mt-4",children:[r.jsx("h4",{className:"text-white text-base font-semibold mb-2",children:"Business Hours"}),r.jsxs("div",{className:"text-gray-300 text-sm space-y-1",children:[r.jsx("p",{children:"Monday â Friday: 7:00 AM â 6:00 PM"}),r.jsx("p",{children:"Saturday: 7:00 AM â 4:00 PM"}),r.jsx("p",{children:"Sunday: Closed"})]})]}),r.jsxs("div",{className:"mt-4",children:[r.jsx("h4",{className:"text-white text-base font-semibold mb-2",children:"Follow Us"}),r.jsxs("div",{className:"flex gap-3",children:[r.jsx("a",{href:"https://www.facebook.com/alimac.pro",target:"_blank",rel:"noopener noreferrer",className:"text-gray-300 hover:text-white transition-colors","aria-label":"Facebook",children:r.jsx(ex,{className:"w-6 h-6"})}),r.jsx("a",{href:"https://www.instagram.com/alimac.pro?igsh=NTc4MTIwNjQ2YQ==",target:"_blank",rel:"noopener noreferrer",className:"text-gray-300 hover:text-white transition-colors","aria-label":"Instagram",children:r.jsx(nx,{className:"w-6 h-6"})}),r.jsx("a",{href:"https://www.yelp.com/biz/alimac-pro-arlington-2",target:"_blank",rel:"noopener noreferrer",className:"hover:opacity-80 transition-opacity","aria-label":"Yelp",children:r.jsx("img",{src:G2,alt:"Yelp",className:"w-6 h-6"})}),r.jsx("a",{href:"https://share.google/TWSSwGnz3jWAwB8MU",target:"_blank",rel:"noopener noreferrer",className:"hover:opacity-80 transition-opacity","aria-label":"Google Business Profile",children:r.jsx("img",{src:Y2,alt:"Google",className:"w-6 h-6"})})]})]})]})]}),r.jsx(pu,{className:"bg-gray-100 opacity-20 mb-6"}),r.jsx("div",{className:"flex flex-col md:flex-row justify-between items-center gap-2 text-gray-300 text-sm",children:r.jsxs("p",{children:["© ",o," ",t,". All rights reserved. Licensed & Insured Roofing Contractor License #ALIMAPI805NS - Arlington, WA"]})})]})}),r.jsx("div",{className:"w-full py-6 px-6",style:{backgroundImage:"linear-gradient(to bottom right, rgba(26, 58, 92, 0.95) 0%, rgba(26, 58, 92, 0.85) 100%)",backgroundColor:"#1a3a5c"},children:r.jsx("div",{className:"max-w-7xl mx-auto text-center",children:r.jsxs("p",{className:"text-gray-400 text-xs md:text-sm",children:["Developed by"," ",r.jsx("a",{href:"https://originassets.net",target:"_blank",rel:"noopener noreferrer",className:"text-gray-300 hover:text-white transition-colors font-semibold",children:"Origin Assets"})]})})})]})};function $x(){const[,e]=er(),t=[{icon:Bc,label:"Home",description:"Return to our homepage",href:"/"},{icon:ao,label:"Roof Installation",description:"Professional roof installation",href:"/services/roof-installation-v2"},{icon:ao,label:"Roof Repair",description:"Fast, reliable repairs",href:"/services/roof-repair"},{icon:tx,label:"About Us",description:"Learn about our company",href:"/about"},{icon:Oa,label:"Financing",description:"Flexible payment options",href:"/financing"},{icon:f1,label:"Get a Quote",description:"Free estimate for your project",href:"/detailed-roofing-quote"}];return r.jsxs("div",{className:"flex flex-col w-full min-h-screen bg-white",children:[r.jsx(je,{}),r.jsx("main",{className:"flex-1 flex items-center justify-center px-4 py-16 md:py-24",children:r.jsxs("div",{className:"max-w-4xl w-full text-center",children:[r.jsxs("div",{className:"mb-12",children:[r.jsx("h1",{className:"text-8xl md:text-9xl font-bold text-app-primary mb-4",children:"404"}),r.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-gray-900 mb-4",children:"Oops! Page Not Found"}),r.jsx("p",{className:"text-lg text-gray-600 max-w-2xl mx-auto mb-8",children:"We couldn't find the page you're looking for. Don't worryâwe're here to help! Check out these helpful links to find what you need."}),r.jsxs("button",{onClick:()=>e("/"),className:"inline-flex items-center gap-2 bg-app-primary hover:bg-blue-700 text-white font-bold text-lg px-10 py-5 rounded-xl shadow-xl hover:shadow-2xl transition-all transform hover:scale-105","data-testid":"404-home-btn",children:[r.jsx(Bc,{className:"w-6 h-6"}),"Go to Homepage",r.jsx(Di,{className:"w-5 h-5"})]})]}),r.jsxs("div",{className:"mt-16",children:[r.jsx("h3",{className:"text-xl font-semibold text-gray-900 mb-6",children:"Popular Pages"}),r.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:t.map((n,s)=>{const o=n.icon;return r.jsx("button",{onClick:()=>e(n.href),className:"group p-6 bg-white border-2 border-gray-200 hover:border-app-primary rounded-xl transition-all hover:shadow-lg text-left","data-testid":`404-link-${n.label.toLowerCase().replace(/\s+/g,"-")}`,children:r.jsxs("div",{className:"flex items-start gap-4",children:[r.jsx("div",{className:"w-12 h-12 bg-app-primary/10 rounded-lg flex items-center justify-center flex-shrink-0 group-hover:bg-app-primary/20 transition-colors",children:r.jsx(o,{className:"w-6 h-6 text-app-primary"})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("h4",{className:"font-semibold text-gray-900 mb-1 group-hover:text-app-primary transition-colors",children:n.label}),r.jsx("p",{className:"text-sm text-gray-600",children:n.description})]})]})},s)})})]})]})}),r.jsx(Ne,{})]})}const Qx="https://alimacpro.com",Nh=`${Qx}/images/hero-bg.webp`;function jn(e,t,n){let s=document.querySelector(`meta[${e}="${t}"]`);s||(s=document.createElement("meta"),s.setAttribute(e,t),document.head.appendChild(s)),s.setAttribute("content",n)}function ye({title:e,description:t,path:n,ogImage:s,jsonLd:o}){v.useEffect(()=>{document.title=e;const a=`${Qx}${n==="/"?"/":n}`;jn("name","description",t),jn("property","og:title",e),jn("property","og:description",t),jn("property","og:url",a),jn("property","og:image",s||Nh),jn("name","twitter:title",e),jn("name","twitter:description",t),jn("name","twitter:image",s||Nh);let i=document.querySelector('link[rel="canonical"]');i||(i=document.createElement("link"),i.setAttribute("rel","canonical"),document.head.appendChild(i)),i.setAttribute("href",a);const l="page-jsonld";let c=document.getElementById(l);return o?(c||(c=document.createElement("script"),c.id=l,c.type="application/ld+json",document.head.appendChild(c)),c.textContent=JSON.stringify(o)):c&&c.remove(),()=>{const d=document.getElementById(l);d&&d.remove()}},[e,t,n,s,JSON.stringify(o)])}const ke=()=>{const e=v.useRef(null);return v.useEffect(()=>{let t=!1;const n=()=>{const o=document.documentElement.scrollHeight-window.innerHeight,a=window.scrollY,i=o>0?a/o*100:0;e.current&&(e.current.style.transform=`scaleX(${i/100})`),t=!1},s=()=>{t||(requestAnimationFrame(n),t=!0)};return window.addEventListener("scroll",s,{passive:!0}),n(),()=>window.removeEventListener("scroll",s)},[]),r.jsx("div",{className:"fixed bottom-0 left-0 w-full h-1 bg-gray-200 z-50","data-testid":"progress-bar-container",children:r.jsx("div",{ref:e,className:"h-full w-full bg-gradient-to-r from-app-primary to-app-accent origin-left will-change-transform",style:{transform:"scaleX(0)"},"data-testid":"progress-bar"})})},V2="/assets/nrca_logo_transaprent_1764964579262-BevtJT6A.png",$2="/assets/checklist_premium_1764964650648-6lfL10TV.png",Q2=()=>{const e=[{text:"100% Satisfaction Guarantee"},{text:"Lifetime Warranties"},{text:"Trusted, Reliable Results"}];return r.jsx("section",{className:"relative w-full bg-white py-16 md:py-24 overflow-hidden",children:r.jsxs("div",{className:"container mx-auto px-4 max-w-7xl",children:[r.jsx("div",{className:"mb-12 md:mb-16",children:r.jsx("div",{className:"rounded-3xl overflow-hidden border-4 border-[#1a3a5c] shadow-2xl max-w-4xl mx-auto",children:r.jsx("div",{className:"relative w-full",style:{paddingBottom:"56.25%"},children:r.jsx("iframe",{src:"https://player.vimeo.com/video/1147207438?badge=0&autopause=0&player_id=0&app_id=58479",className:"absolute top-0 left-0 w-full h-full",frameBorder:"0",allow:"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media",allowFullScreen:!0,title:"Alimac Pro - Arlington, WA Roofing Experts",loading:"lazy"})})})}),r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 lg:gap-16 items-center",children:[r.jsxs("div",{className:"flex flex-col gap-6",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("div",{className:"w-8 h-0.5 bg-[#0c9ab9]"}),r.jsx("span",{className:"text-[#0c9ab9] font-semibold uppercase text-sm tracking-wider",children:"ABOUT US"})]}),r.jsx("h2",{className:"text-[#1a3a5c] text-3xl md:text-4xl lg:text-5xl font-bold leading-tight",children:"Trusted Arlington, WA Roofing Experts Serving Snohomish County & Greater Seattle"}),r.jsxs("div",{className:"space-y-4",children:[r.jsx("p",{className:"text-gray-700 text-base leading-relaxed",children:"At Alimac Pro, we've been protecting Arlington, Snohomish County, and Greater Seattle homes with trusted craftsmanship since 2005. As a locally operated Arlington, WA roofing company, we understand the region's unique roofing challengesâfrom heavy rain to seasonal storms."}),r.jsx("p",{className:"text-gray-700 text-base leading-relaxed",children:"Our licensed Arlington roofing professionals bring decades of experience to every project, handling everything from storm damage to leaks and aging shingles with precision and care. Every repair includes a 17-point digital roof analysis and is backed by our 100% Satisfaction Guarantee."}),r.jsx("p",{className:"text-gray-700 text-base leading-relaxed",children:"When roof problems strike, trust the local Arlington roofing experts serving Snohomish County and Greater Seattle who are committed to doing the job right."})]}),r.jsx("div",{className:"pt-4",children:r.jsx("a",{href:"/about",className:"inline-block bg-[#0c9ab9] hover:bg-[#005f73] text-white font-bold px-8 py-3 rounded-full transition-colors duration-200",children:"LEARN MORE"})})]}),r.jsx("div",{className:"relative",children:r.jsx("div",{className:"rounded-3xl overflow-hidden border-4 border-[#1a3a5c] shadow-2xl bg-gray-100 p-6 md:p-8",children:r.jsxs("div",{className:"flex items-start gap-6",children:[r.jsx("div",{className:"flex-shrink-0",children:r.jsx("img",{src:V2,alt:"NRCA Pro Certification",className:"h-24 md:h-28 w-auto",width:"112",he
243ight:"112",loading:"lazy"})}),r.jsx("div",{className:"space-y-4 pt-2",children:e.map((t,n)=>r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("img",{src:$2,alt:"",className:"w-6 h-6 flex-shrink-0",width:"24",height:"24",loading:"lazy"}),r.jsx("span",{className:"text-[#1a3a5c] font-bold text-base md:text-lg",children:t.text})]},n))})]})})})]})]})})},U2=()=>{const e=["Arlington","Marysville","Smokey Point","Stanwood","Lake Stevens","Everett","Mukilteo","Snohomish","Mill Creek","Bothell","Lynnwood","Mountlake Terrace","Brier","Edmonds","Woodinville","Kenmore","Shoreline","Lake Forest Park","Seattle (North Seattle / Northgate / Green Lake)","Mercer Island","Redmond","Bellevue"];return r.jsxs("section",{className:"relative w-full py-16 md:py-24 overflow-hidden bg-cover bg-center",style:{backgroundImage:"url(/images/backgrounds/service-areas-bg.png)"},children:[r.jsx("div",{className:"absolute inset-0 bg-black/5"}),r.jsx("div",{className:"container mx-auto px-4 max-w-7xl relative z-10",children:r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 lg:gap-16 items-start",children:[r.jsx("div",{className:"relative h-[350px] md:h-[400px] lg:h-[500px] bg-white rounded-3xl shadow-lg overflow-hidden border border-gray-200",children:r.jsx("iframe",{src:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d168089.23553198765!2d-122.3527945!3d47.6062!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x54901090d7ae1e39%3A0x5ba62ed36f8c79e3!2sAlimac%20Pro%20Roofing!5e0!3m2!1sen!2sus!4v1234567890",width:"100%",height:"100%",style:{border:0},allowFullScreen:!0,loading:"lazy",referrerPolicy:"no-referrer-when-downgrade",title:"Alimac Pro Service Areas - Arlington, Snohomish County & Greater Seattle"})}),r.jsxs("div",{className:"flex flex-col gap-8",children:[r.jsxs("div",{children:[r.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[r.jsx("div",{className:"w-8 h-0.5 bg-[#0c9ab9]"}),r.jsx("span",{className:"text-[#0c9ab9] font-semibold uppercase text-sm tracking-wider",children:"SERVICE AREAS"})]}),r.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-4 text-gray-900",children:"Proudly Serving Arlington & Snohomish County"}),r.jsx("p",{className:"text-base leading-relaxed text-gray-700",children:"Based in Arlington, WA, Alimac Pro proudly serves homeowners and businesses across Snohomish County and the Greater Seattle area. Our licensed team brings premium roofing services to your neighborhood."})]}),r.jsx("div",{children:r.jsx("div",{className:"grid grid-cols-2 gap-3",children:e.map((t,n)=>r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(su,{className:"w-4 h-4 text-[#0c9ab9] flex-shrink-0"}),r.jsx("span",{className:"text-gray-900 text-sm",children:t})]},n))})}),r.jsx("div",{className:"pt-4",children:r.jsx("a",{href:"/detailed-roofing-quote",className:"inline-block bg-[#0c9ab9] hover:bg-[#0A7A94] text-white font-bold px-8 py-3 rounded-full transition-colors duration-200",children:"GET A FREE QUOTE"})})]})]})})]})},K2=()=>{const[e,t]=v.useState(!1);return v.useEffect(()=>{const n=setTimeout(()=>{t(!0)},100),s=setTimeout(()=>{const o=document.createElement("script");o.src="https://link.msgsndr.com/js/form_embed.js",o.async=!0,document.body.appendChild(o)},2e3);return()=>{clearTimeout(n),clearTimeout(s)}},[]),r.jsxs("section",{className:"relative w-full bg-gray-900 overflow-hidden flex items-center h-auto md:h-[calc(100vh-100px)] md:max-h-[800px]",children:[r.jsx("div",{className:"absolute inset-0 w-full h-full bg-cover bg-center",style:{backgroundImage:"url(/images/projects/DJI_0020-scaled_1762067983228.webp)",zIndex:0}}),e&&r.jsx("div",{className:"absolute inset-0 w-full h-full overflow-hidden",style:{zIndex:0},children:r.jsx("iframe",{src:"https://player.vimeo.com/video/1147207438?badge=0&autopause=0&player_id=0&app_id=58479&background=1&muted=1&loop=1&autoplay=1",className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[300vw] h-[300vh] md:w-[200vw] md:h-[200vh] lg:w-[150vw] lg:h-[150vh] min-w-full min-h-full",style:{pointerEvents:"none",border:"none"},allow:"autoplay; fullscreen; picture-in-picture",title:"Intro video"})}),r.jsx("div",{className:"absolute inset-0 z-[1]",style:{background:"linear-gradient(rgba(15, 31, 61, 0.5), rgba(26, 54, 93, 0.5))"}}),r.jsx("div",{className:"container mx-auto px-4 py-4 md:py-6 lg:py-10 relative z-10",children:r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4 md:gap-8 lg:gap-12 items-center max-w-7xl mx-auto",children:[r.jsxs("div",{className:"flex flex-col gap-3 md:gap-5",children:[r.jsx("h1",{className:"premium-heading-white text-3xl md:text-4xl lg:text-5xl xl:text-5xl text-white",children:"Premium Arlington, WA Roofing That Lasts"}),r.jsx("p",{className:"text-base md:text-lg lg:text-xl text-gray-100 leading-relaxed",children:"Get your free roof inspection today with our award-winning roofing contractor. Licensed, bonded, and certified. For a limited time, get free gutters installed with your roof replacement. We go to great heights to keep you covered."}),r.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 pt-2 md:pt-4",children:[r.jsxs("a",{href:"tel:206-446-3721",className:"inline-flex items-center justify-center gap-3 bg-[#36a326] hover:bg-[#45cc31] text-white font-bold py-3 md:py-4 px-5 md:px-6 rounded-lg transition-all duration-200 shadow-lg hover:shadow-xl",children:[r.jsx(kt,{className:"w-5 h-5"}),r.jsx("span",{children:"(206) 446-3721"})]}),r.jsxs("a",{href:"/detailed-roofing-quote",className:"inline-flex items-center justify-center gap-2 bg-[#0c9ab9] hover:bg-[#0a8a99] text-white font-bold py-3 md:py-4 px-6 md:px-8 rounded-lg transition-all duration-200 shadow-lg hover:shadow-xl",children:["GET QUOTE",r.jsx("span",{children:"â"})]})]})]}),r.jsx("div",{className:"hidden lg:flex justify-center lg:justify-end",children:r.jsx("div",{className:"w-full max-w-md bg-white shadow-2xl rounded-2xl overflow-hidden",children:r.jsx("iframe",{src:"https://api.leadconnectorhq.com/widget/form/yFz8TUGoH4Y2zh3i57eO",style:{width:"100%",height:"520px",border:"none",borderRadius:"10px"},id:"inline-yFz8TUGoH4Y2zh3i57eO","data-layout":"{'id':'INLINE'}","data-trigger-type":"alwaysShow","data-trigger-value":"","data-activation-type":"alwaysActivated","data-activation-value":"","data-deactivation-type":"neverDeactivate","data-deactivation-value":"","data-form-name":"Primary Roofing Light Form","data-height":"520","data-layout-iframe-id":"inline-yFz8TUGoH4Y2zh3i57eO","data-form-id":"yFz8TUGoH4Y2zh3i57eO",title:"Primary Roofing Light Form",sandbox:"allow-scripts allow-same-origin allow-forms",loading:"lazy"})})})]})})]})},X2=Xg("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"}}),wr=v.forwardRef(({className:e,variant:t,size:n,asChild:s=!1,...o},a)=>{const i=s?xb:"button";return r.jsx(i,{className:Jt(X2({variant:t,size:n,className:e})),ref:a,...o})});wr.displayName="Button";const Ux="/assets/roof_background_2_1765348342447-jGhsIqo6.png",Kx="/assets/seattle-roofing-service-thompson-1_1765513609849-bA7r4-ct.jpg",Xx="/assets/seattle-roofing-service-thompson-2_1765513609850-C3Dx3Fpw.jpg",Jx="/assets/seattle-roofing-service-thompson-6_1765513609854-
243Bf-O_tMu.jpg",Zx="/assets/seattle-roof-replacement-kirchgessner-1_1765513609858-DlXm8AOJ.jpg",gu="/assets/seattle-roof-replacement-kirchgessner-4_1765503365725-CWuWFjwZ.jpg",ey="/assets/seattle-roofing-service-yeagley-install-1_1765513609855-D9fAp3u7.jpg",ty="/assets/seattle-roof-install-leona-2_1765513609855-rlaCX1mD.jpg",ny="/assets/seattle-roof-replacement-after-4_1765513609857-BjoNmOE8.jpg",ry=({showViewAllButton:e=!0})=>{const[t,n]=v.useState(0),s=[{image:Kx,alt:"Seattle Roofing Project - Thompson Residence"},{image:Zx,alt:"Seattle Roof Replacement - Kirchgessner Project"},{image:ty,alt:"Seattle Roof Installation - Leona Project"},{image:Xx,alt:"Professional Roofing Installation - Thompson"},{image:gu,alt:"Complete Roof Replacement - Kirchgessner"},{image:ey,alt:"Roofing Service - Yeagley Installation"},{image:ny,alt:"Completed Roof Replacement - Seattle"},{image:Jx,alt:"Quality Roofing Work - Thompson Project"}],o=()=>{n(c=>(c+1)%s.length)},a=()=>{n(c=>(c-1+s.length)%s.length)},i=()=>{const c=[];for(let d=0;d<3;d++)c.push(s[(t+d)%s.length]);return c},l=[...s,...s];return r.jsxs("section",{className:"relative w-full py-16 md:py-20 lg:py-24",style:{backgroundImage:`url(${Ux})`,backgroundSize:"cover",backgroundPosition:"center",backgroundRepeat:"no-repeat"},children:[r.jsx("div",{className:"absolute inset-0 bg-[#1a3a5c]/85"}),r.jsxs("div",{className:"relative z-10",children:[r.jsx("div",{className:"container mx-auto px-4 max-w-7xl",children:r.jsxs("div",{className:"flex flex-col items-center gap-4 md:gap-6 mb-10 md:mb-16 text-center",children:[r.jsx("h2",{className:"text-white text-3xl md:text-4xl lg:text-5xl xl:text-6xl font-bold max-w-3xl",children:"Our Completed Projects Across Snohomish County"}),r.jsx("p",{className:"text-base md:text-lg max-w-2xl leading-relaxed text-[#e6e7eb]",children:"Showcasing our commitment to quality craftsmanship and customer satisfaction."})]})}),r.jsx("div",{className:"lg:hidden overflow-hidden mb-10",children:r.jsx("div",{className:"scroll-gallery-track flex",style:{width:"max-content"},children:l.map((c,d)=>r.jsx("div",{className:"relative overflow-hidden rounded-2xl shadow-xl flex-shrink-0",style:{width:"72vw",marginRight:"14px"},children:r.jsx("div",{className:"aspect-[4/3]",children:r.jsx("img",{src:c.image,alt:c.alt,className:"w-full h-full object-cover",loading:"lazy"})})},d))})}),r.jsxs("div",{className:"container mx-auto px-4 max-w-7xl",children:[r.jsx("div",{className:"hidden lg:block mb-12",children:r.jsxs("div",{className:"relative",children:[r.jsx("button",{onClick:a,className:"absolute left-0 top-1/2 -translate-y-1/2 -translate-x-4 z-10 bg-white hover:bg-gray-50 text-gray-800 rounded-full p-3 shadow-lg transition-all hover:scale-110","aria-label":"Previous project","data-testid":"button-prev-project",children:r.jsx(Mi,{className:"w-6 h-6"})}),r.jsx("button",{onClick:o,className:"absolute right-0 top-1/2 -translate-y-1/2 translate-x-4 z-10 bg-white hover:bg-gray-50 text-gray-800 rounded-full p-3 shadow-lg transition-all hover:scale-110","aria-label":"Next project","data-testid":"button-next-project",children:r.jsx(qi,{className:"w-6 h-6"})}),r.jsx("div",{className:"grid grid-cols-3 gap-6",children:i().map((c,d)=>r.jsx("div",{className:`relative overflow-hidden rounded-2xl shadow-xl transition-all duration-500 ${d===1?"scale-105 z-10":"scale-95 opacity-85"}`,"data-testid":`card-project-${d}`,children:r.jsx("div",{className:"aspect-[4/3] relative",children:r.jsx("img",{src:c.image,alt:c.alt,className:"w-full h-full object-cover",width:"400",height:"300",loading:"lazy"})})},d))})]})}),e&&r.jsx("div",{className:"text-center",children:r.jsx(De,{href:"/portfolio",children:r.jsx(wr,{className:"bg-[#0c9ab9] hover:bg-[#45cc31] text-white px-8 py-3 text-lg rounded-full shadow-lg hover:shadow-xl transition-all","data-testid":"button-view-portfolio",children:"View All Projects"})})})]})]})]})},J2=()=>r.jsx("section",{className:"w-full bg-[#0c9ab9] py-4 md:py-5 px-4",children:r.jsxs("div",{className:"max-w-7xl mx-auto flex items-center justify-center gap-4 text-center",children:[r.jsx("img",{src:"/images/icons/gutter-promo.png",alt:"Gutters",className:"w-6 h-6 flex-shrink-0 hidden sm:block",style:{filter:"brightness(0) invert(1)"}}),r.jsx("p",{className:"text-white font-semibold text-sm md:text-base leading-relaxed",children:"*For a Limited Time, Enjoy Free Gutters Included With Any Full Roof Replacement. Terms and Conditions Apply."})]})}),Kn=({logos:e,speed:t=30})=>{const n=[...e,...e,...e,...e];return r.jsxs("div",{className:"w-full overflow-hidden bg-transparent py-4 md:py-6",children:[r.jsx("div",{className:"mx-auto",style:{maxWidth:"680px"},children:r.jsxs("div",{className:"relative overflow-hidden",children:[r.jsx("div",{className:"flex gap-16 items-center logo-carousel-track",style:{animation:`scroll ${t}s linear infinite`,width:"max-content"},children:n.map((s,o)=>r.jsx("div",{className:"flex-shrink-0 flex items-center justify-center",style:{width:"220px"},children:r.jsx("img",{src:s.src,alt:s.alt,width:s.width||150,height:s.height||100,style:{height:"clamp(78px, 20vw, 112px)",width:"auto"},className:"object-contain opacity-70 hover:opacity-100 transition-opacity duration-300",loading:"lazy"})},o))}),r.jsx("div",{className:"absolute left-0 top-0 bottom-0 w-28 bg-gradient-to-r from-white to-transparent pointer-events-none"}),r.jsx("div",{className:"absolute right-0 top-0 bottom-0 w-28 bg-gradient-to-l from-white to-transparent pointer-events-none"})]})}),r.jsx("style",{children:` 244 @keyframes scroll { 245 0% { 246 transform: translateX(0); 247 } 248 100% { 249 transform: translateX(calc(-100% / 4)); 250 } 251 } 252 253 .logo-carousel-track { 254 will-change: transform; 255 } 256 257 @media (prefers-reduced-motion: reduce) { 258 div[style*="animation"] { 259 animation: none !important; 260 } 261 } 262 `})]})},xu="/assets/seattle-gutter-installation-valentin-2_1765504019007-DbE0kOn_.jpg",sy="/assets/seattle-roof-replacement-kirchgessner-8_1765503365723-DlpDpVjs.jpg",oy="/assets/seattle-roofing-installation-service-3_1765504274374-BhKavRVo.jpg",ay="/assets/seattle-siding-installation-art-1_1765504312208-BVTYvFX1.jpg",Z2="/assets/estimate%20icon%20white-DIm9RN9s.png",eN=()=>{const e=[{iconImage:"/images/icons/roof-install.png",title:"Roof Replacement",description:"Ready for a new roof? We deliver expert installation using premium materials for lasting protection and curb appeal.",link:"/services/roof-installation-v2",image:sy},{iconImage:"/images/icons/roof-repair.png",title:"Roof Repair",description:"Our licensed roofers deliver fast, reliable repairs that stop leaks, fix storm damage, and extend the life of your roof.",link:"/services/roof-repair",image:oy},{iconImage:"/images/icons/roof-cleaning.png",title:"Roof Cleaning",description:"Our roof cleaning removes moss, debris, and buildup to protect your shingles and extend your roof's lifespan.",link:"/services/roof-cleaning",image:"/images/projects/roof-cleaning-v2.jpg"},{iconImage:"/images/icons/gutter-install.png",title:"Gutters",description:"We install and repair gutters that protect your home from water damage and foundation issues â including K-Guard seamless gutters.",link:"/services/gutter-installation",image:xu},{iconImage:"/images/icons/siding.png",title:"Siding Installation & Repair",description:"Professional siding installation and repair services in Arlington and Snohomish County. Enhance your home's curb appeal and protection with quality siding solutions.",link:"/services/siding-installation",image:ay}
262],t=[{src:"/images/logos/nrca-transparent.png",alt:"NRCA ProCertification"},{src:"/images/logos/owens-corning-transparent.png",alt:"Owens Corning Preferred Contractor"},{src:"/images/logos/gaf-certified.png",alt:"GAF Certified Residential Roofing Contractor"},{src:"/images/logos/certainteed-master.webp",alt:"CertainTeed Select ShingleMaster Roofing Contractor"},{src:"/images/logos/total-protection-transparent.png",alt:"Total Protection Roofing System"},{src:"/images/logos/bbb-transparent.png",alt:"BBB Accredited Business"}];return r.jsxs("section",{className:"w-full bg-white py-12 md:py-16 lg:py-24 px-4",children:[r.jsx(Kn,{logos:t,speed:40}),r.jsxs("div",{className:"max-w-7xl mx-auto",children:[r.jsxs("header",{className:"flex flex-col items-center gap-4 md:gap-6 mb-12 md:mb-16",children:[r.jsxs("div",{className:"flex items-center gap-3.5",children:[r.jsx(pu,{orientation:"vertical",className:"h-5 w-px bg-gray-400"}),r.jsx("div",{className:"text-gray-600 text-sm md:text-base font-medium",children:"Top-Tier Roofing Certifications"})]}),r.jsx("h2",{className:"w-full max-w-3xl text-gray-900 text-2xl md:text-3xl lg:text-4xl xl:text-5xl text-center font-bold",children:"Complete Roofing Solutions for Every Home"})]}),r.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 lg:gap-8",children:[e.map((n,s)=>r.jsx(De,{href:n.link||"#",children:r.jsxs("div",{className:"bg-white rounded-2xl overflow-visible shadow-lg hover:shadow-xl transition-all duration-300 h-full flex flex-col cursor-pointer group hover:translate-y-[-4px] relative",children:[r.jsxs("div",{className:"relative w-full h-48 md:h-56 bg-gray-200 overflow-visible rounded-t-2xl",children:[n.image?r.jsx("img",{src:n.image,alt:n.title,className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-300 rounded-t-2xl",width:"400",height:"224",loading:"lazy"}):r.jsx("div",{className:"w-full h-full bg-gradient-to-br from-blue-500 to-blue-600 flex items-center justify-center group-hover:scale-105 transition-transform duration-300 rounded-t-2xl",children:r.jsx("span",{className:"text-white/30 text-center px-4",children:"Service Image"})}),r.jsx("div",{className:"absolute bottom-0 right-4 translate-y-1/2 w-16 h-16 bg-[#0c9ab9] rounded-xl flex items-center justify-center shadow-lg z-10",children:n.iconImage&&r.jsx("img",{src:n.iconImage,alt:"",className:"w-8 h-8",width:"32",height:"32",loading:"lazy"})})]}),r.jsxs("div",{className:"flex flex-col flex-1 p-6 pt-12",children:[r.jsx("h3",{className:"text-blue-900 text-xl font-bold mb-3",children:n.title}),r.jsx("p",{className:"text-gray-700 text-base leading-relaxed flex-1",children:n.description})]})]})},s)),r.jsxs("div",{className:"rounded-2xl p-8 md:p-10 flex flex-col items-center justify-center text-center shadow-lg h-full min-h-96 md:min-h-auto bg-[#0c9ab9]",children:[r.jsx("div",{className:"mb-6",children:r.jsx("img",{src:Z2,alt:"Get Estimate",className:"w-16 h-16 mx-auto",width:"64",height:"64",loading:"lazy"})}),r.jsx("h3",{className:"text-2xl md:text-3xl font-bold mb-4 text-[#ffffff]",children:"Request Your Estimate Today"}),r.jsx("p",{className:"font-semibold mb-8 text-[#ffffff]",children:"Get started with a free estimate from our professional, experienced team you can trust."}),r.jsxs("a",{href:"/detailed-roofing-quote",className:"inline-flex items-center gap-2 hover:bg-blue-800 text-white font-bold py-3 px-8 rounded-lg transition-colors duration-200 bg-[#36a326]",children:["GET STARTED",r.jsx("span",{children:"â"})]})]})]})]})]})},kh="206-446-3721",tN="/detailed-roofing-quote",nN={quote:{type:"link",href:tN,defaultLabel:"Get Your Free Estimate"},call:{type:"tel",href:`tel:${kh}`,defaultLabel:`(${kh})`}};function rN(e){return nN[e]}const un=({action:e,label:t,variant:n="primary",size:s="lg",showIcon:o=!1,className:a="",dataTestId:i})=>{const[,l]=er(),c=rN(e),d=t||c.defaultLabel,u=i||`cta-${e}-btn`,m="inline-flex items-center justify-center font-bold rounded-xl transition-all transform cursor-pointer",f={sm:"text-base px-6 py-3",md:"text-lg px-8 py-4",lg:"text-lg px-10 py-6"},w={primary:"bg-white hover:bg-gray-100 text-app-primary shadow-xl hover:shadow-2xl hover:scale-105",secondary:"bg-app-accent hover:bg-green-600 text-white shadow-xl hover:shadow-2xl hover:scale-105",outline:"bg-white/10 hover:bg-white/20 text-white border-2 border-white backdrop-blur-sm"},y=Jt(m,f[s],w[n],a),g=o&&e==="call"?r.jsx(kt,{className:"w-5 h-5 mr-2"}):null,b=h=>{h.preventDefault(),l(c.href)};return c.type==="tel"?r.jsxs("a",{href:c.href,"data-testid":u,className:y,children:[g,d
262]}):r.jsxs("button",{type:"button",onClick:b,"data-testid":u,className:y,children:[g,d]})},en=()=>(v.useEffect(()=>{const e=setTimeout(()=>{const t=document.createElement("script");t.type="text/javascript",t.src="https://reputationhub.site/reputation/assets/review-widget.js",t.async=!0,document.body.appendChild(t)},3e3);return()=>{clearTimeout(e)}},[]),r.jsx("section",{className:"w-full py-12 md:py-16 px-4",style:{backgroundColor:"#0c9ab9"},children:r.jsxs("div",{className:"max-w-7xl mx-auto",children:[r.jsxs("div",{className:"text-center mb-4 md:mb-6",children:[r.jsxs("div",{className:"flex items-center justify-center gap-2 mb-4",children:[r.jsx("div",{className:"flex gap-1",children:[...Array(5)].map((e,t)=>r.jsx(Yo,{className:"w-6 h-6 md:w-7 md:h-7 fill-yellow-400 text-yellow-400"},t))}),r.jsx("span",{className:"text-white text-lg md:text-xl font-semibold",children:"5.0 rating"})]}),r.jsx("h2",{className:"text-white text-3xl md:text-4xl lg:text-5xl font-bold mb-4",children:"What Our Customers Say"}),r.jsx("p",{className:"text-gray-200 text-base md:text-lg max-w-2xl mx-auto",children:"Don't just take our word for itâhear from Arlington and Snohomish County homeowners who trust Alimac Pro for their roofing needs"})]}),r.jsx("div",{className:"w-full",children:r.jsx("iframe",{className:"lc_reviews_widget",src:"https://reputationhub.site/reputation/widgets/review_widget/q4iCpzYYjPNIHtDgMELo?widgetId=69182aa9169c61da935c8b8c",frameBorder:"0",scrolling:"no",style:{minWidth:"100%",width:"100%",minHeight:"400px",border:"none"},title:"Customer Reviews",sandbox:"allow-scripts allow-same-origin",loading:"lazy"})}),r.jsxs("div",{className:"text-center mt-4 md:mt-6",children:[r.jsx("p",{className:"text-gray-300 text-base md:text-lg mb-6",children:"Join hundreds of satisfied customers across Snohomish County and the Greater Seattle area"}),r.jsx(un,{action:"quote",label:"Get Your Free Estimate Today",variant:"secondary",size:"md",dataTestId:"testimonials-quote-btn"})]})]})})),sN="/assets/financing%20seattle%20roofing-Bvi6dSE0.jpeg",oN="/assets/moss_removal_services-seattle_v2_1764966558352-BEpfNCjr.jpeg",aN="/assets/gutter_install_seattle_1764967740754-CPNgndnX.jpeg",iN=()=>{const[,e]=er(),t=()=>{const s=new Date;return new Date(s.getFullYear(),s.getMonth()+1,0).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})},n=[{image:oN,amount:"$50 OFF",service:"Roof Cleaning and Moss Treatment",expires:t()},{image:aN,amount:"FREE GUTTERS",service:"With Full Roof Replacement",expires:t()}];return r.jsx("section",{className:"relative w-full bg-white overflow-hidden py-20 md:py-28",children:r.jsxs("div",{className:"container mx-auto px-4 max-w-7xl",children:[r.jsxs("div",{className:"mb-20",children:[r.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[r.jsx("div",{className:"w-8 h-0.5 bg-[#36a326]"}),r.jsx("span",{className:"text-[#36a326] font-semibold uppercase text-sm tracking-wider",children:"OFFERS"})]}),r.jsx("h2",{className:"text-[#1a3a5c] text-3xl md:text-4xl lg:text-5xl font-bold mb-8",children:"Value Saving Specials"}),r.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8 mb-12",children:n.map((s,o)=>r.jsxs("div",{className:"bg-white rounded-3xl overflow-hidden shadow-xl border-2 border-[#0c9ab9]",children:[r.jsxs("div",{className:"relative aspect-video overflow-hidden",children:[r.jsx("img",{src:s.image,alt:s.service,className:"w-full h-full object-cover",width:"600",height:"338",loading:"lazy"}),r.jsx("div",{className:"absolute inset-0 bg-[#0c9ab9]/20"})]}),r.jsxs("div",{className:"bg-[#0c9ab9] p-8 text-white",children:[r.jsx("div",{className:"text-5xl font-bold mb-3 text-[#ffffff]",children:s.amount}),r.jsx("h3",{className:"text-lg font-bold mb-4",children:s.service}),r.jsx("button",{onClick:()=>e("/contact"),className:"w-full bg-[#36a326] hover:bg-[#4a8c2f] text-white font-bold py-3 rounded-full transition-all duration-200 mb-4 shadow-lg hover:shadow-xl",children:"GET THIS OFFER"}),r.jsxs("p",{className:"text-sm text-gray-200",children:["Expires: ",s.expires]}),r.jsx("p",{className:"text-xs text-gray-300 mt-2",children:"Offer cannot be combined with any other promotions, discounts, or special offers. Terms and conditions may apply."})]})]},o))})]}),r.jsx("div",{className:"bg-white rounded-3xl overflow-hidden shadow-xl p-12",children:r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 items-center",children:[r.jsxs("div",{children:[r.jsx("h2",{className:"text-[#1a3a5c] text-3xl md:text-4xl font-bold mb-6",children:"Financing for Roofing, Gutters & Siding"}),r.jsx("p",{className:"text-gray-700 text-base leading-relaxed mb-8",children:"We've partnered with Foundation Finance to offer fast, flexible financing with no impact to your credit score for checking options. Apply online in minutes or give us a call to learn more."}),r.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-4",children:[r.jsxs("button",{onClick:()=>e("/financing"),className:"inline-flex items-center gap-2 hover:bg-[#0f2a45] text-white font-bold px-6 py-3 rounded-full transition-colors bg-[#4BAF50]",children:["APPLY NOW",r.jsx(Di,{className:"w-5 h-5"})]}),r.jsx("p",{className:"text-gray-600 text-sm",children:"or Call 1-855-241-0024 to learn more"})]})]}),r.jsx("div",{className:"relative",children:r.jsx("div",{className:"relative rounded-2xl overflow-hidden shadow-lg",children:r.jsx("img",{src:sN,alt:"Financing consultation",className:"w-full h-96 object-cover rounded-2xl",width:"600",height:"384",loading:"lazy"})})})]})})]})})},yu=()=>{const e=[{icon:rx,label:"Locally owned and trusted in the Pacific N
262orthwest"},{icon:v1,label:"Thousands of satisfied Snohomish County homeowners"},{icon:es,label:"Licensed, bonded, and insured"},{icon:c1,label:"Clean, safe, and professional work"},{icon:Yo,label:"Workmanship warranty on every project"},{icon:Zg,label:"Backed by our 100% Satisfaction Guarantee"}];return r.jsx("section",{className:"relative w-full bg-gradient-to-b from-gray-100 to-gray-50 py-12 md:py-20 px-4",children:r.jsx("div",{className:"container mx-auto max-w-7xl",children:r.jsxs("div",{className:"relative rounded-3xl overflow-hidden shadow-2xl",children:[r.jsx("div",{className:"absolute inset-0 z-0",style:{backgroundImage:"url(/images/projects/DJI_0020-scaled_1762067983228.webp)",backgroundSize:"cover",backgroundPosition:"center"}}),r.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-[#1a3a5c]/95 to-[#1a3a5c]/70 z-1"}),r.jsxs("div",{className:"relative z-10 p-8 md:p-12 lg:p-16",children:[r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 items-start mb-12",children:[r.jsxs("div",{className:"flex flex-col gap-6",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("div",{className:"h-0.5 w-8 bg-[#0c9ab9]"}),r.jsx("span",{className:"font-bold uppercase text-sm tracking-wider text-[#ffffff]",children:"Why Choose Us"})]}),r.jsxs("h2",{className:"text-white text-3xl md:text-4xl lg:text-5xl font-bold leading-tight",children:["Expert Roofing ",r.jsx("br",{}),r.jsx("span",{className:"text-[#0c9ab9]",children:"You Can Trust"})]}),r.jsx("p",{className:"text-gray-200 text-base leading-relaxed max-w-md",children:"At Alimac Pro, we deliver premium roofing solutions with licensed expertise, industry certifications, and a commitment to exceptional results on every project."})]}),r.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-6",children:e.map((t,n)=>{const s=t.icon;return r.jsxs("div",{className:"flex items-center gap-4",children:[r.jsx("div",{className:"w-14 h-14 rounded-full flex items-center justify-center flex-shrink-0 shadow-lg bg-[#ffffff] text-[#292929]",children:r.jsx(s,{className:"w-7 h-7 text-[#1a3a5c]",strokeWidth:2})}),r.jsx("p",{className:"text-white font-semibold text-sm leading-snug",children:t.label})]},n)})})]}),r.jsxs("div",{className:"bg-[#0c9ab9] rounded-2xl p-6 md:p-8 flex flex-col sm:flex-row items-center justify-between gap-6",children:[r.jsx("p",{className:"font-semibold text-center sm:text-left text-[#ffffff] text-[18px]",children:"From roof replacements to repairs and gutter installation, Alimac Pro is your trusted roofing partner in Arlington, serving Snohomish County & Greater Seattle."}),r.jsxs("a",{href:"/detailed-roofing-quote",className:"inline-flex items-center gap-2 hover:bg-[#0f2a45] font-bold px-6 py-3 rounded-full transition-colors whitespace-nowrap bg-[#ffffff] text-[#000000]",children:["GET QUOTE",r.jsx("span",{children:"â"})]})]})]})]})})})},lN=()=>(ye({title:"Roofing Contractor in Arlington, WA | Alimac Pro",description:"Alimac Pro is a top-rated roofing contractor in Arlington, WA, serving Snohomish County & Greater Seattle. Expert roof repair, replacement, and installation. Licensed, bonded, and insured. Free estimates!",path:"/"}),r.jsxs("div",{className:"flex flex-col w-full relative bg-white",children:[r.jsx(ke,{}),r.jsx(je,{}),r.jsxs("main",{id:"main-content",children:[r.jsx(K2,{}),r.jsx(J2,{}),r.jsx(eN,{}),r.jsx(Q2,{}),r.jsx(yu,{}),r.jsx(U2,{}),r.jsx(iN,{}),r.jsx(ry,{}),r.jsx(en,{})]}),r.jsx(Ne,{})]})),cN="/assets/alimac%20pro%20team_photo_3-Bt1SQxLY.jpg",dN=()=>{ye({title:"About Alimac Pro | Arlington, WA Roofing Experts",description:"Meet the Alimac Pro team of skilled Arlington, WA roofing craftsmen serving Snohomish County & Greater Seattle. Learn our mission, values, and proven roofing process.",path:"/about"});const e=[{number:1,title:"Schedule An Estimate",description:"Book your hassle-free estimate today and get expert guidance from our trusted team.",color:"#e8f5e9"},{number:2,title:"Choose Colors",description:"Explore a wide range of roofing colors and styles to find the perfect match for your home.",color:"#c8e6c9"},{number:3,title:"Pull Permits",description:"We handle all required permits to ensure your project meets local codes and runs smoothly.",color:"#a5d6a7"},{number:4,title:"Install New Roof",description:"Our expert crew installs your new roof with precision, care, and attention to every detail.",color:"#81c784"},{number:5,title:"Enjoy Worry Free Roofing",description:"Rest easy knowing your roof is built to last and backed by our satisfaction guarantee.",color:"#36a326"}],t=[{text:"20+ Years Experience",icon:"clock"},{text:"Licensed & Insured",icon:"shield"},{text:"Lifetime Warranty",icon:"check"},{text:"Free Estimates",icon:"dollar"},{text:"Owens Corning Certified",icon:"award"},{text:"5-Star Rated",icon:"star"},{text:"Local Arlington, WA Experts",icon:"home"}],n=s=>{switch(s){case"clock":return r.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 15v-4H9l4-8v4h2l-4 8z"});case"shield":return r.jsx("path",{d:"M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.
26216-1.26 9-6.45 9-12V5l-9-4zm-1 6h2v2h-2V7zm0 4h2v6h-2v-6z"});case"check":return r.jsx("path",{d:"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"});case"dollar":return r.jsx("path",{d:"M11.8 10.9c-2.27-.59-3-1.2-3-2.15 0-1.09 1.01-1.85 2.7-1.85 1.78 0 2.44.85 2.5 2.1h2.21c-.07-1.72-1.12-3.3-3.21-3.81V3h-3v2.16c-1.94.42-3.5 1.68-3.5 3.61 0 2.31 1.91 3.46 4.7 4.13 2.5.6 3 1.48 3 2.41 0 .69-.49 1.79-2.7 1.79-2.06 0-2.87-.92-2.98-2.1h-2.2c.12 2.19 1.76 3.42 3.68 3.83V21h3v-2.15c1.95-.37 3.5-1.5 3.5-3.55 0-2.84-2.43-3.81-4.7-4.4z"});case"award":return r.jsx("path",{d:"M19 5h-2V3H7v2H5c-1.1 0-2 .9-2 2v1c0 2.55 1.92 4.63 4.39 4.94.63 1.5 1.98 2.63 3.61 2.96V19H7v2h10v-2h-4v-3.1c1.63-.33 2.98-1.46 3.61-2.96C19.08 12.63 21 10.55 21 8V7c0-1.1-.9-2-2-2zM5 8V7h2v3.82C5.84 10.4 5 9.3 5 8zm14 0c0 1.3-.84 2.4-2 2.82V7h2v1z"});case"star":return r.jsx("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"});case"home":return r.jsx("path",{d:"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"});default:return r.jsx("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"})}};return r.jsxs("div",{className:"flex flex-col w-full relative bg-white",children:[r.jsx(ke,{}),r.jsx(je,{}),r.jsxs("section",{className:"relative w-full bg-[#0c9ab9] pt-16 pb-20 md:pt-20 md:pb-24",children:[r.jsx("div",{className:"container mx-auto px-6 md:px-8 max-w-7xl",children:r.jsx("h1",{className:"text-white text-3xl md:text-4xl lg:text-[42px] font-bold text-center leading-tight",children:"About Us"})}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 overflow-hidden",children:r.jsxs("svg",{viewBox:"0 0 1440 60",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"w-full h-auto",preserveAspectRatio:"none",children:[r.jsx("path",{d:"M0 60V30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30V60H0Z",fill:"white"}),r.jsx("path",{d:"M0 30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30",stroke:"#36a326",strokeWidth:"4",fill:"none"})]})})]}),r.jsx("section",{className:"relative w-full bg-white py-20 md:py-28",children:r.jsx("div",{className:"container mx-auto px-4 max-w-7xl",children:r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 lg:gap-16 items-center",children:[r.jsxs("div",{className:"flex flex-col gap-6",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("div",{className:"w-8 h-0.5 bg-[#0c9ab9]"}),r.jsx("span",{className:"text-[#0c9ab9] font-semibold uppercase text-sm tracking-wider",children:"About Us"})]}),r.jsxs("h2",{className:"text-gray-900 text-3xl md:text-4xl lg:text-5xl font-bold leading-tight",children:["Team of Skilled Craftsmen ",r.jsx("span",{className:"bg-gradient-to-r from-[#0c9ab9] to-[#0c9ab9] bg-clip-text text-transparent",children:"Ready to Help"})]}),r.jsxs("div",{className:"space-y-4 text-gray-700 text-base md:text-lg leading-relaxed",children:[r.jsx("p",{children:"At Alimac Pro, our team of skilled craftsmen brings decades of combined experience to every project. Each member is licensed, trained, and committed to delivering high-quality workmanship with a focus on safety, durability, and customer satisfaction. From minor repairs to full roof replacements, we approach every job with precision and care."}),r.jsx("p",{children:"We take pride in offering honest recommendations, clear communication, and dependable results you can trust. No matter the size or scope of your project, you'll have a dedicated team working to protect your home and deliver long-lasting value."})]})]}),r.jsx("div",{className:"relative",children:r.jsx("div",{className:"relative h-[300px] md:h-[400px] rounded-3xl overflow-hidden shadow-xl",children:r.jsx("img",{src:cN,alt:"Alimac Pro Team",className:"w-full h-full object-cover"})})})]})})}),r.jsx("section",{className:"relative w-full bg-gradient-to-b from-white to-gray-50 py-16 md:py-24",children:r.jsxs("div",{className:"container mx-auto px-4 max-w-7xl",children:[r.jsxs("div",{className:"text-center mb-12",children:[r.jsxs("div",{className:"flex items-center justify-center gap-3 mb-4",children:[r.jsx("div",{className:"w-8 h-0.5 bg-[#36a326]"}),r.jsx("span",{className:"text-[#36a326] font-semibold uppercase text-sm tracking-wider",children:"Our Mission"}),r.jsx("div",{className:"w-8 h-0.5 bg-[#36a326]"})]}),r.jsx("h2",{className:"text-gray-900 text-3xl md:text-4xl font-bold mb-6",children:"Building Trust, One Roof at a Time"}),r.jsx("p",{className:"text-gray-700 text-base md:text-lg max-w-3xl mx-auto leading-relaxed",children:"Our mission is simple: to deliver exceptional roofing solutions with integrity, expertise, and genuine care for every homeowner we serve. We believe in doing the right thing, protecting what matters most, and building lasting relationships based on trust and quality craftsmanship."})]}),r.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-8",children:[r.jsxs("div",{className:"bg-white rounded-3xl p-8 shadow-lg border-l-4 border-[#36a326] hover:shadow-xl transition-shadow",children:[r.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[r.jsx("div",{className:"w-14 h-14 roun
262ded-full bg-[#36a326]/10 flex items-center justify-center",children:r.jsx(h1,{className:"w-7 h-7 text-[#36a326]"})}),r.jsx("h3",{className:"text-gray-900 text-xl font-bold",children:"Quality Craftsmanship"})]}),r.jsx("p",{className:"text-gray-700 leading-relaxed",children:"We never compromise on quality. Every project receives meticulous attention to detail, premium materials, and expert installation by our licensed, experienced team. Your roof is built to last."})]}),r.jsxs("div",{className:"bg-white rounded-3xl p-8 shadow-lg border-l-4 border-[#0c9ab9] hover:shadow-xl transition-shadow",children:[r.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[r.jsx("div",{className:"w-14 h-14 rounded-full bg-[#0c9ab9]/10 flex items-center justify-center",children:r.jsx(w1,{className:"w-7 h-7 text-[#0c9ab9]"})}),r.jsx("h3",{className:"text-gray-900 text-xl font-bold",children:"Honest Guidance"})]}),r.jsx("p",{className:"text-gray-700 leading-relaxed",children:"We provide transparent assessments and straightforward recommendations. You'll know exactly what you need, why you need it, and what to expectâno pressure, no surprises, just honest advice you can trust."})]}),r.jsxs("div",{className:"bg-white rounded-3xl p-8 shadow-lg border-l-4 border-[#FFB81C] hover:shadow-xl transition-shadow",children:[r.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[r.jsx("div",{className:"w-14 h-14 rounded-full bg-[#FFB81C]/10 flex items-center justify-center",children:r.jsx(rx,{className:"w-7 h-7 text-[#FFB81C]"})}),r.jsx("h3",{className:"text-gray-900 text-xl font-bold",children:"Community Care"})]}),r.jsx("p",{className:"text-gray-700 leading-relaxed",children:"We give back to the Arlington and Snohomish County community through charitable roof projects, sponsorships, and local partnerships. Strong communities thrive when businesses care, and we're committed to making a difference."})]})]})]})}),r.jsx(yu,{}),r.jsx("section",{className:"relative w-full bg-[#36a326] py-6 overflow-hidden",children:r.jsx("div",{className:"flex animate-marquee whitespace-nowrap",children:[...Array(3)].map((s,o)=>r.jsx("div",{className:"flex items-center",children:t.map((a,i)=>r.jsxs("div",{className:"flex items-center mx-8",children:[r.jsx("svg",{className:"w-6 h-6 text-white mr-3",viewBox:"0 0 24 24",fill:"currentColor",children:n(a.icon)}),r.jsx("span",{className:"text-white text-lg md:text-xl font-semibold uppercase tracking-wide",children:a.text})]},`${o}-${i}`))},o))})}),r.jsx("section",{className:"relative w-full bg-white py-16 md:py-24",children:r.jsxs("div",{className:"container mx-auto px-4 max-w-7xl",children:[r.jsxs("div",{className:"text-center mb-12",children:[r.jsxs("div",{className:"flex items-center justify-center gap-3 mb-4",children:[r.jsx("div",{className:"w-8 h-0.5 bg-[#0c9ab9]"}),r.jsx("span",{className:"text-[#0c9ab9] font-semibold uppercase text-sm tracking-wider",children:"Our Process"}),r.jsx("div",{className:"w-8 h-0.5 bg-[#0c9ab9]"})]}),r.jsx("h2",{className:"text-gray-900 text-3xl md:text-4xl font-bold",children:"Our Roofing Plan & Process"})]}),r.jsx("div",{className:"grid grid-cols-1 md:grid-cols-5 gap-4",children:e.map((s,o)=>r.jsxs("div",{className:"relative p-6 rounded-2xl text-center",style:{backgroundColor:s.color},children:[r.jsx("div",{className:"w-12 h-12 bg-white rounded-full flex items-center justify-center mx-auto mb-4 shadow-md",children:r.jsx("span",{className:"text-[#36a326] text-xl font-bold",children:s.number})}),r.jsx("h3",{className:`text-lg font-bold mb-2 ${o===4?"text-white":"text-gray-900"}`,children:s.title}),r.jsx("p",{className:`text-sm leading-relaxed ${o===4?"text-white/90":"text-gray-700"}`,children:s.description})]},o))})]})}),r.jsx(en,{}),r.jsx(Ne,{}),r.jsx("style",{children:` 263 @keyframes marquee { 264 0% { transform: translateX(0); } 265 100% { transform: translateX(-33.333%); } 266 } 267 .animate-marquee { 268 animation: marquee 20s linear infinite; 269 } 270 `})]})},uN="/assets/storm_damaged_roof_w_8b2d9d40-CQCBGEAK.jpg",mN="/assets/moss_removal_services-seattle_v2_1764966558352-BEpfNCjr.jpeg",hN=({title:e,description:t,icon:n,href:s,imageSrc:o,iconImage:a,featured:i=!1}
270)=>{const[,l]=er();return r.jsxs("button",{onClick:()=>l(s),"data-testid":`service-card-${e.toLowerCase().replace(/\s+/g,"-")}`,className:"group bg-white rounded-2xl overflow-visible shadow-lg hover:shadow-xl transition-all duration-300 h-full flex flex-col cursor-pointer hover:translate-y-[-4px] relative",children:[r.jsxs("div",{className:"relative w-full h-48 md:h-56 bg-gray-200 overflow-visible rounded-t-2xl",children:[r.jsx("img",{src:o,alt:e,className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-300 rounded-t-2xl"}),r.jsx("div",{className:"absolute bottom-0 right-4 translate-y-1/2 w-16 h-16 bg-[#0c9ab9] rounded-xl flex items-center justify-center shadow-lg z-10",children:a?r.jsx("img",{src:a,alt:e,className:"w-8 h-8"}):n?r.jsx(n,{className:"w-8 h-8 text-white"}):null})]}),r.jsxs("div",{className:"flex flex-col flex-1 p-6 pt-12",children:[r.jsx("h3",{className:"text-gray-900 text-xl font-bold mb-3",children:e}),r.jsx("p",{className:"text-gray-700 text-base leading-relaxed flex-1",children:t})]})]})},fN=()=>{ye({title:"Roofing Services in Arlington, WA | Repair, Replacement & More | Alimac Pro",description:"Alimac Pro offers a complete range of roofing services in Arlington, WA and across Snohomish County & Greater Seattle, including roof repair, replacement, cleaning, gutter installation, and siding. Contact our expert roofers today.",path:"/services"}),v.useEffect(()=>{window.scrollTo(0,0)},[]);const e=[{title:"Roof Replacement",description:"Ready for a new roof? We deliver expert installation using premium materials for lasting protection and curb appeal.",iconImage:"/images/icons/roof-install.png",href:"/services/roof-installation-v2",imageSrc:sy,featured:!0},{title:"Roof Repair",description:"Our licensed roofers deliver fast, reliable repairs that stop leaks, fix storm damage, and extend the life of your roof.",iconImage:"/images/icons/roof-repair.png",href:"/services/roof-repair",imageSrc:oy},{title:"Emergency Service",description:"Fast response with under 2 hours average response time.",icon:zc,href:"/services/emergency",imageSrc:uN},{title:"Siding Installation",description:"Professional siding installation and repair services in Arlington and Snohomish County. Enhance your home's curb appeal and protection with quality siding solutions.",iconImage:"/images/icons/siding.png",href:"/services/siding-installation",imageSrc:ay},{title:"Gutters",description:"We install and repair gutters that protect your home from water damage and foundation issues â including K-Guard seamless gutters.",iconImage:"/images/icons/gutter-install.png",href:"/services/gutter-installation",imageSrc:xu},{title:"Moss Removal",description:"Our roof cleaning removes moss, debris, and buildup to protect your shingles and extend your roof's lifespan.",icon:m1,href:"/services/moss-removal",imageSrc:mN},{title:"Roof Cleaning",description:"Our roof cleaning removes moss, debris, and buildup to protect your shingles and extend your roof's lifespan.",iconImage:"/images/icons/roof-cleaning.png",href:"/services/roof-cleaning",imageSrc:"/images/projects/roof-cleaning-v2.jpg"}];return r.jsxs("div",{className:"flex flex-col w-full relative bg-white",children:[r.jsx(ke,{}),r.jsx(je,{}),r.jsxs("section",{className:"relative w-full bg-gradient-to-br from-gray-900 via-gray-800 to-gray-900 py-20 md:py-32 lg:py-40 overflow-hidden",children:[r.jsxs("div",{className:"absolute inset-0 opacity-20",children:[r.jsx("div",{className:"absolute top-0 right-0 w-1/3 h-1/2",children:r.jsx("img",{src:"/images/roof-installation/project-portfolio-1.jpg",alt:"",className:"w-full h-full object-cover",style:{maskImage:"linear-gradient(to left, black 50%, transparent 100%)"}})}),r.jsx("div",{className:"absolute bottom-0 left-0 w-1/2 h-1/3",children:r.jsx("img",{src:"/images/moss-removal/professional-worker.jpg",alt:"",className:"w-full h-full object-cover",style:{maskImage:"linear-gradient(to right, black 50%, transparent 100%)"}})}),r.jsx("div",{className:"absolute top-1/4 left-1/4 w-1/4 h-1/3",children:r.jsx("img",{src:"/images/gutter-installation/gutter-detail.jpg",alt:"",className:"w-full h-full object-cover opacity-50"})})]}),r.jsx("div",{className:"absolute top-20 right-20 w-96 h-96 bg-app-accent/20 rounded-full blur-3xl"}),r.jsx("div",{className:"absolute bottom-20 left-20 w-96 h-96 bg-app-primary/20 rounded-full blur-3xl"}),r.jsxs("div",{className:"relative z-10 container mx-auto px-4 md:px-8 lg:px-12 max-w-7xl text-center",children:[r.jsxs("div",{className:"inline-flex items-center gap-2 bg-app-accent/20 backdrop-blur-sm px-4 py-2 rounded-full mb-6",children:[r.jsx("div",{className:"w-2 h-2 bg-app-accent rounded-full animate-pulse"}),r.jsx("span",{className:"text-app-accent text-sm font-semibold uppercase tracking-wider",children:"Our Services"})]}),r.jsxs("h1",{className:"text-white text-4xl md:text-5xl lg:text-7xl font-bold mb-6 leading-tight",children:["Comprehensive Roofing Solutions for Every ",r.jsx("span",{className:"text-app-primary",children:"Arlington Home"})]}),r.jsx("p",{className:"text-gray-300 text-lg md:text-xl max-w-3xl mx-auto leading-relaxed mb-10",children:"From professional installations to emergency repairs, Alimac Pro provides comprehensive roofing solutions for Arlington, Snohomish County & Greater Seattle homeowners. Licensed, insured, and backed by 20+ years of expertise."}),r.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center items-center",children:[r.jsx(un,{action:"quote",label:"Get Your Free Quote",variant:"primary",dataTestId:"services-hero-quote-btn"}),r.jsx(un,{action:"call",variant:"outline",showIcon:!0,dataTestId:"services-hero-call-btn"})]})]})]}),r.jsx("section",{className:"relative w-full bg-gradient-to-b from-white to-gray-50 py-12 md:py-16 lg:py-20",children:r.jsxs("div",{className:"container mx-auto px-4 md:px-8 lg:px-12 max-w-6xl",children:[r.jsxs("div",{className:"text-center mb-10",children:[r.jsx("h2",{className:"text-gray-900 text-2xl md:text-3xl lg:text-4xl font-bold mb-3",children:"Our Services"}),r.jsx("p",{className:"text-gray-600 text-base md:text-lg max-w-xl mx-auto",children:"Professional roofing solutions for Arlington & Snohomish County homeowners"})]}),r.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4",children:e.map((t,n)=>
270r.jsx(hN,{title:t.title,description:t.description,icon:t.icon,iconImage:t.iconImage,href:t.href,imageSrc:t.imageSrc,featured:t.featured},n))}),r.jsxs("div",{className:"mt-10 text-center",children:[r.jsx("p",{className:"text-gray-500 text-sm mb-4",children:"Not sure which service you need?"}),r.jsx(un,{action:"quote",label:"Get Free Consultation",variant:"primary",dataTestId:"services-grid-quote-btn"})]})]})}),r.jsx("section",{className:"relative w-full bg-white py-16 md:py-24 border-t border-gray-100",children:r.jsxs("div",{className:"container mx-auto px-4 md:px-8 lg:px-12 max-w-7xl",children:[r.jsxs("div",{className:"text-center mb-12",children:[r.jsx("h3",{className:"text-gray-900 text-2xl md:text-3xl font-bold mb-3",children:"Certified & Trusted Partners"}),r.jsx("p",{className:"text-gray-600 text-lg",children:"Industry-leading certifications and manufacturer partnerships"})]}),r.jsx(Kn,{logos:[{src:"/images/logos/nrca-transparent.png",alt:"NRCA ProCertification"},{src:"/images/logos/owens-corning-transparent.png",alt:"Owens Corning Preferred Contractor"},{src:"/images/logos/total-protection-transparent.png",alt:"Total Protection Roofing System"},{src:"/images/logos/bbb-transparent.png",alt:"BBB Accredited Business"}],speed:40})]})}),r.jsx(yu,{}),r.jsx(Ne,{}),r.jsx("style",{children:` 271 @keyframes sweep { 272 0% { transform: translateX(-100%); } 273 100% { transform: translateX(100%); } 274 } 275 `})]})},pN=()=>(ye({title:"Privacy Policy | Alimac Pro Roofing, Arlington WA",description:"Privacy Policy for Alimac Pro Inc. Learn how we protect your personal information and handle data for our Seattle roofing services.",path:"/privacy-policy"}),v.useEffect(()=>{window.scrollTo(0,0)},[]),r.jsxs("div",{className:"flex flex-col w-full relative bg-white",children:[r.jsx(ke,{}),r.jsx(je,{}),r.jsx("div",{className:"w-full bg-white py-16 md:py-24",children:r.jsxs("div",{className:"container mx-auto px-4 max-w-4xl",children:[r.jsxs("div",{className:"mb-12",children:[r.jsx("h1",{className:"text-4xl md:text-5xl font-bold text-app-primary mb-4",children:"Privacy Policy"}),r.jsxs("p",{className:"text-gray-600 text-lg",children:["Last Updated: ",new Date().toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})]})]}),r.jsx("section",{className:"mb-10",children:r.jsx("p",{className:"text-gray-700 text-lg leading-relaxed mb-4",children:"At Alimac Pro Inc., we are committed to protecting your privacy and ensuring the security of your personal information. This Privacy Policy explains how we collect, use, and safeguard your data when you interact with our roofing services in Seattle, WA."})}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Information We Collect"}),r.jsx("p",{className:"text-gray-700 leading-relaxed mb-4",children:"We may collect the following types of information:"}),r.jsxs("ul",{className:"list-disc pl-6 text-gray-700 leading-relaxed space-y-2",children:[r.jsx("li",{children:"Name and contact information (email address, phone number, mailing address)"}),r.jsx("li",{children:"Property details and service requests"}),r.jsx("li",{children:"Communication preferences"}),r.jsx("li",{children:"Website usage data through cookies and analytics"})]})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"How We Use Your Information"}),r.jsx("p",{className:"text-gray-700 leading-relaxed mb-4",children:"We use your information to:"}),r.jsxs("ul",{className:"list-disc pl-6 text-gray-700 leading-relaxed space-y-2",children:[r.jsx("li",{children:"Provide roofing estimates, services, and customer support"}),r.jsx("li",{children:"Schedule appointments and service calls"}),r.jsx("li",{children:"Send you important updates about your roofing project"}),r.jsx("li",{children:"Contact you via email, SMS, or voicemail with marketing messages, promotional offers, and service updates"}),r.jsx("li",{children:"Improve our website and services"}),r.jsx("li",{children:"Comply with legal obligations"})]})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"We Do Not Sell Your Information"}),r.jsxs("p",{className:"text-gray-700 leading-relaxed",children:[r.jsx("strong",{children:"Alimac Pro does not sell, rent, or trade your personal information to third parties."})," Your privacy is important to us, and we are committed to keeping your data secure and confidential."]})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Cookies and Tracking Technologies"}),r.jsx("p",{className:"text-gray-700 leading-relaxed mb-4",children:"Our website may use cookies and similar tracking technologies to enhance your browsing experience and analyze website traffic. We may use cookies from:"}),r.jsxs("ul",{className:"list-disc pl-6 text-gray-700 leading-relaxed space-y-2",children:[r.jsxs("li",{children:[r.jsx("strong",{children:"Meta (Facebook) Ads:"})," To deliver targeted advertising on Facebook and Instagram"]}),r.jsxs("li",{children:[r.jsx("strong",{children:"Google Ads:"})," To show relevant ads across Google's advertising network"]}),r.jsxs("li",{children:[r.jsx("strong",{children:"Other Advertising Platforms:"})," We may work with additional advertising partners to reach potential customers"]}),r.jsxs("li",{children:[r.jsx("strong",{children:"Analytics Tools:"})," To understand how visitors use our website and improve user experience"]})]}),r.jsx("p",{className:"text-gray-700 leading-relaxed mt-4",children:"You can control cookies through your browser settings. Please note that disabling cookies may affect the functionality of our website."})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Marketing Communications"}),r.jsx("p",{className:"text-gray-700 leading-relaxed mb-4",children:"With your consent, we may contact you through various channels:"}),r.jsxs("ul",{className:"list-disc pl-6 text-gray-700 leading-relaxed space-y-2",children:[r.jsxs("li",{children:[r.jsx("strong",{children:"Email:"})," Service updates, promotional offers, and roofing tips"]}),r.jsxs("li",{children:[r.jsx("strong",{children:"SMS/Text Messages:"})," Appointment reminders and special promotions"]}),r.jsxs("li",{children:[r.jsx("strong",{children:"Voicemail:"})," Important service notifications and marketing messages"]})]}),r.jsx("p",{className:"text-gray-700 leading-relaxed mt-4",children:"You can opt out of marketing communications at any time by:"}),r.jsxs("ul",{className:"list-disc pl-6 text-gray-700 leading-relaxed space-y-2 mt-2",children:[r.jsx("li",{children:'Clicking "unsubscribe" in our emails'}),r.jsx("li",{children:'Replying "STOP" to SMS messages'}),r.jsxs("li",{children:["Contacting us directly at ",r.jsx("a",{href:"mailto:[email protected]",className:"text-app-primary hover:underline",children:"[email protected]"})]})]})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Data Security"}),r.jsx("p",{className:"text-gray-700 leading-relaxed",children:"We implement appropriate technical and organizational security measures to protect your personal information from unauthorized access, disclosure, alteration, or destruction. However, no method of transmission over the internet is 100% secure, and we cannot guarantee absolute security."})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Third-Party Services"}),r.jsx("p",{className:"text-gray-700 leading-relaxed",children:"We may share your information with trusted third-party service providers who assist us in operating our business, such as payment processors, scheduling tools, and marketing platforms. These providers are contractually obligated to keep your information confidential and use it only for the services they provide to us."})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Your Rights"}),r.jsx("p",{className:"text-gray-700 leading-relaxed mb-4",children:"You have the right to:"}),r.jsxs("ul",{className:"list-disc pl-6 text-gray-700 leading-relaxed space-y-2",children:[r.jsx("li",{children:"Access the personal information we hold about you"}),r.jsx("li",{children:"Request correction of inaccurate information"}
275),r.jsx("li",{children:"Request deletion of your personal information (subject to legal obligations)"}),r.jsx("li",{children:"Opt out of marketing communications"}),r.jsx("li",{children:"Object to certain data processing activities"})]})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Children's Privacy"}),r.jsx("p",{className:"text-gray-700 leading-relaxed",children:"Our services are not directed to individuals under the age of 18. We do not knowingly collect personal information from children. If we become aware that we have collected information from a child, we will take steps to delete it."})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Changes to This Privacy Policy"}),r.jsx("p",{className:"text-gray-700 leading-relaxed",children:'We may update this Privacy Policy from time to time. We will notify you of any material changes by posting the new Privacy Policy on this page and updating the "Last Updated" date.'})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Contact Us"}),r.jsx("p",{className:"text-gray-700 leading-relaxed mb-4",children:"If you have any questions or concerns about this Privacy Policy or our data practices, please contact us:"}),r.jsx("div",{className:"bg-gray-50 p-6 rounded-lg",children:r.jsxs("p",{className:"text-gray-700 leading-relaxed",children:[r.jsx("strong",{children:"Alimac Pro Inc."}),r.jsx("br",{}),"18933 59th Ave NE #106, Arlington, WA 98223",r.jsx("br",{}),"Email: ",r.jsx("a",{href:"mailto:[email protected]",className:"text-app-primary hover:underline",children:"[email protected]"}),r.jsx("br",{}),"Phone: ",r.jsx("a",{href:"tel:206-446-3721",className:"text-app-primary hover:underline",children:"206-446-3721"})]})})]})]})}),r.jsx(Ne,{})]})),gN=()=>(ye({title:"Terms of Service | Alimac Pro Roofing, Arlington WA",description:"Terms of Service for Alimac Pro Inc. Review our terms and conditions for roofing services in Seattle, WA.",path:"/terms-of-service"}),v.useEffect(()=>{window.scrollTo(0,0)},[]),r.jsxs("div",{className:"flex flex-col w-full relative bg-white",children:[r.jsx(ke,{}),r.jsx(je,{}),r.jsx("div",{className:"w-full bg-white py-16 md:py-24",children:r.jsxs("div",{className:"container mx-auto px-4 max-w-4xl",children:[r.jsxs("div",{className:"mb-12",children:[r.jsx("h1",{className:"text-4xl md:text-5xl font-bold text-app-primary mb-4",children:"Terms of Service"}),r.jsxs("p",{className:"text-gray-600 text-lg",children:["Last Updated: ",new Date().toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})]})]}),r.jsx("section",{className:"mb-10",children:r.jsx("p",{className:"text-gray-700 text-lg leading-relaxed mb-4",children:"Welcome to Alimac Pro Inc. By accessing our website and using our roofing services in Seattle, WA, you agree to be bound by these Terms of Service. Please read them carefully before engaging our services."})}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Agreement to Terms"}),r.jsx("p",{className:"text-gray-700 leading-relaxed",children:"By accessing our website, requesting a quote, or engaging our roofing services, you agree to comply with and be bound by these Terms of Service and all applicable laws and regulations. If you do not agree with any of these terms, you are prohibited from using our services."})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Services Provided"}),r.jsx("p",{className:"text-gray-700 leading-relaxed mb-4",children:"Alimac Pro Inc. provides professional roofing services including but not limited to:"}),r.jsxs("ul",{className:"list-disc pl-6 text-gray-700 leading-relaxed space-y-2",children:[r.jsx("li",{children:"Roof repair and maintenance"}),r.jsx("li",{children:"Complete roof replacement"}),r.jsx("li",{children:"New roof installation for residential and commercial properties"}),r.jsx("li",{children:"Roof inspections and assessments"}),r.jsx("li",{children:"Emergency roofing services"}),r.jsx("li",{children:"Gutter installation and repair"})]}),r.jsx("p",{className:"text-gray-700 leading-relaxed mt-4",children:"All services are performed in accordance with industry standards and local building codes in Seattle and the Greater Puget Sound area."})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Estimates and Quotes"}),r.jsx("p",{className:"text-gray-700 leading-relaxed mb-4",children:"Free estimates provided by Alimac Pro are:"}),r.jsxs("ul",{className:"list-disc pl-6 text-gray-700 leading-relaxed space-y-2",children:[r.jsx("li",{children:"Valid for 30 days from the date of issue unless otherwise specified"}),r.jsx("li",{children:"Subject to change based on actual project scope and unforeseen conditions"}),r.jsx("li",{children:"Not binding until a formal written agreement is signed by both parties"}),r.jsx("li",{children:"Based on visual inspection and may require adjustment if hidden damage is discovered"})]})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Payment Terms"}),r.jsx("p",{className:"text-gray-700 leading-relaxed mb-4",children:"Payment for services is due according to the following terms:"}),r.jsxs("ul",{className:"list-disc pl-6 text-gray-700 leading-relaxed space-y-2",children:[r.jsx("li",{children:"A deposit may be required before work begins"}),r.jsx("li",{children:"Progress payments may be requested for larger projects"}),r.jsx("li",{children:"Final payment is due upon completion and customer approval of work"}),r.jsx("li",{children:"We accept cash, checks, and major credit cards"}),r.jsx("li",{children:"Late payments may be subject to interest charges as permitted by law"})]})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Warranties and Guarantees"}),r.jsx("p",{className:"text-gray-700 leading-relaxed mb-4",children:"Alimac Pro stands behind our work with comprehensive warranties:"}),r.jsxs("ul",{className:"list-disc pl-6 text-gray-700 leading-relaxed space-y-2",children:[r.jsxs("li",{children:[r.jsx("strong",{children:"Workmanship Warranty:"})," All work performed by Alimac Pro is guaranteed against defects in workmanship"]}),r.jsxs("li",{children:[r.jsx("strong",{children:"Material Warranties:"})," Roofing materials come with manufacturer warranties that vary by product"]}),r.jsxs("li",{children:[r.jsx("strong",{children:"Warranty Transfer:"})," Some warranties may be transferable to new property owners"]}),r.jsxs("li",{children:[r.jsx("strong",{children:"Warranty Claims:"})," Must be submitted in writing and will be addressed promptly"]})]}),r.jsx("p",{className:"text-gray-700 leading-relaxed mt-4",children:"Specific warranty terms will be provided in your service agreement."})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Scheduling and Cancellation"}),r.jsx("p",{className:"text-gray-700 leading-relaxed mb-4",children:r.jsx("strong",{children:"Scheduling:"})}),r.jsxs("ul",{className:"list-disc pl-6 text-gray-700 leading-relaxed space-y-2 mb-4",children:[r.jsx("li",{children:"We will work with you to schedule services at a mutually convenient time"}),r.jsx("li",{children:"Weather conditions may necessitate rescheduling for safety reasons"}),r.jsx("li",{children:"We will provide advance notice if schedule changes are required"})]}),r.jsx("p",{className:"text-gray-700 leading-relaxed mb-4",children:r.jsx("strong",{children:"Cancellation:"})}),r.jsxs("ul",{className:"list-disc pl-6 text-gray-700 leading-relaxed space-y-2",children:[r.jsx("li",{children:"Customers may cancel services with reasonable advance notice"}),r.jsx("li",{children:"Cancellation fees may apply if materials have been ordered or work has begun"}),r.jsx("li",{children:"Deposits may be non-refundable for custom orders or special materials"})]})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Property Access and Safety"}),r.jsx("p",{className:"text-gray-700 leading-relaxed mb-4",children:"By engaging our services, you agree to:"}),r.jsxs("ul",{className:"list-disc pl-6 text-gray-700 leading-relaxed space-y-2",children:[r.jsx("li",{children:"Provide safe and reasonable access to your property"}),r.jsx("li",{children:"Clear work areas of personal belongings and valuables"}),r.jsx("li",{children:"Keep children and pets away from work areas during service"}),r.jsx("li",{children:"Notify us of any known hazards on your property"}),r.jsx("li",{children:"Ensure utilities and services needed for the work are available"})]})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Liability and Insurance"}),r.jsx("p",{className:"text-gray-700 leading-relaxed mb-4",children:"Alimac Pro Inc. is fully licensed, bonded, and insured:"}),r.jsxs("ul",{className:"list-disc pl-6 text-gray-700 leading-relaxed space-y-2",children:[r.jsx("li",{children:"We carry comprehensive general liability insurance"}),r.jsx("li",{children:"Workers' compensation insurance covers all employees"}),r.jsx("li",{children:"We are not responsible for pre-existing damage or conditions not disclosed"}),r.jsx("li",{children:"Hidden damage discovered during work will be documented and discussed before proceeding"})]})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Intellectual Property"}),r.jsx("p",{className:"text-gray-700 leading-relaxed",children:"All content on the Alimac Pro website, including text, graphics, logos, images, and software, is the property of Alimac Pro Inc. or its content suppliers and is protected by copyright and trademark laws. You may not reproduce, distribute, or create derivative works without our express written permission."})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Limitation of Liability"}),r.jsx("p",{className:"text-gray-700 leading-relaxed",children:"Alimac Pro Inc. shall not be liable for any indirect, incidental, special, or consequential damages arising from the use of our services or inability to use our services. Our total liability shall not exceed the amount paid for the specific services in question."})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Dispute Resolution"}),r.jsx("p",{className:"text-gray-700 leading-relaxed mb-4",children:"In the event of a dispute:"}),r.jsxs("ul",{className:"list-disc pl-6 text-gray-700 leading-relaxed space-y-2",children:[r.jsx("li",{children:"We encourage customers to contact us directly to resolve issues"}),r.jsx("li",{children:"We are committed to fair and prompt resolution of all concerns"}),r.jsx("li",{children:"If necessary, disputes may be resolved through mediation or arbitration"}),r.jsx("li",{children:"These Terms of Service are governed by the laws of the State of Washington"})]})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Changes to Terms of Service"}),r.jsx("p",{className:"text-gray-700 leading-relaxed",children:'Alimac Pro Inc. reserves the right to modify these Terms of Service at any time. Changes will be posted on this page with an updated "Last Updated" date. Continued use of our services after changes constitutes acceptance of the modified terms.'})]}),r.jsxs("section",{className:"mb-10",children:[r.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-app-primary mb-4",children:"Contact Information"}),r.jsx("p",{className:"text-gray-700 leading-relaxed mb-4",children:"If you have questions about these Terms of Service, please contact us:"}),r.jsx("div",{className:"bg-gray-50 p-6 rounded-lg",children:r.jsxs("p",{className:"text-gray-700 leading-relaxed",children:[r.jsx("strong",{children:"Alimac Pro Inc."}),r.jsx("br",{}),"18933 59th Ave NE #106, Arlington, WA 98223",r.jsx("br",{}),"Email: ",r.jsx("a",{href:"mailto:[email protected]",className:"text-app-primary hover:underline",children:"[email protected]"}),r.jsx("br",{}),"Phone: ",r.jsx("a",{href:"tel:206-446-3721",className:"text-app-primary hover:underline",children:"206-446-3721"}),r.jsx("br",{}),r.jsx("br",{}),r.jsx("strong",{children:"Business Hours:"}),r.jsx("br",{}),"Monday â Friday: 7:00 AM â 6:00 PM",r.jsx("br",{}),"Saturday: 7:00 AM â 4:00 PM",r.jsx("br",{}),"Sunday: Closed"]})})]}),r.jsx("section",{className:"mb-10",children:r.jsx("div",{className:"bg-app-primary/10 border-l-4 border-app-primary p-6 rounded-r-lg",children:r.jsx("p",{className:"text-gray-700 leading-relaxed",children:r.jsx("strong",{children:"By using our services, you acknowledge that you have read, understood, and agree to be bound by these Terms of Service."})})})})]})}),r.jsx(Ne,{})]})),xN="/assets/professional_roofers_5ec42d8b-C5W2CFOO.jpg",yN="/images/roof-installation/project-portfolio-1.jpg",wN="/images/roof-installation/step1-inspection-alt.jpg",vN="/images/roof-installation/warranty-walkthrough.jpg",bN="/images/roof-installation/aged-roof.jpg",jN=()=>(ye({title:"Professional Roof Installation Services in Arlington, WA | Alimac Pro",de
275scription:"Alimac Pro provides expert new roof installation in Arlington, WA and across Snohomish County & Greater Seattle. Premium materials, master craftsmanship, and long-lasting warranties. Free estimates.",path:"/services/roof-installation"}),r.jsxs("div",{className:"flex flex-col w-full relative bg-white",children:[r.jsx(ke,{}),r.jsx(je,{}),r.jsxs("section",{className:"relative w-full min-h-[600px] md:min-h-[700px] flex items-center justify-center overflow-hidden",style:{cursor:`url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="white" stroke="black" stroke-width="1"><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"/></svg>') 16 16, pointer`},children:[r.jsxs("div",{className:"absolute inset-0 bg-cover bg-center bg-no-repeat",style:{backgroundImage:`linear-gradient(135deg, rgba(5, 46, 22, 0.92) 0%, rgba(6, 95, 70, 0.88) 30%, rgba(4, 120, 87, 0.85) 60%, rgba(16, 185, 129, 0.75) 100%), url(${xN})`},children:[r.jsx("div",{className:"absolute inset-0",style:{background:` 276 radial-gradient(circle at 20% 20%, rgba(16, 185, 129, 0.3) 0%, transparent 40%), 277 radial-gradient(circle at 80% 80%, rgba(59, 130, 246, 0.2) 0%, transparent 40%), 278 radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.1) 0%, transparent 60%), 279 linear-gradient(45deg, transparent 30%, rgba(16, 185, 129, 0.1) 50%, transparent 70%) 280 `}}),r.jsx("div",{className:"absolute inset-0 opacity-30",style:{background:"linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.2) 50%, transparent 70%)",backgroundSize:"200% 100%",animation:"shimmer 8s infinite"}}),r.jsx("div",{className:"absolute inset-0 opacity-15",style:{backgroundImage:"radial-gradient(circle, rgba(255,255,255,0.4) 1px, transparent 1px)",backgroundSize:"20px 20px"}})]}),r.jsx("div",{className:"relative z-10 container mx-auto px-4 md:px-8 lg:px-12 xl:px-24 py-20 md:py-32",children:r.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[r.jsxs("h1",{className:"text-white text-4xl md:text-5xl lg:text-6xl xl:text-7xl font-bold mb-6 leading-tight",children:["Professional Roof Installation Services in Arlington, WA |"," ",r.jsx("span",{className:"text-app-primary drop-shadow-2xl",children:"Alimac Pro Inc."})]}),r.jsx("h2",{className:"text-white text-2xl md:text-3xl lg:text-4xl font-semibold mb-8",children:"New Roof Installation Built to Last Decades, Not Just Years"}),r.jsx("p",{className:"text-white text-lg md:text-xl leading-relaxed max-w-3xl mx-auto mb-10",children:"Your home deserves more than just any roofâit deserves a complete roofing system engineered for Pacific Northwest weather. For over 20 years, Alimac Pro has been installing premium roofs across Arlington, Snohomish County, and Greater Seattle, combining modern technology with master craftsmanship to deliver installations that protect your home for generations."}),r.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center items-center",children:[r.jsx(un,{action:"quote",label:"Get Your Free Quote",variant:"primary",dataTestId:"roof-install-hero-quote-btn"}),r.jsx(un,{action:"call",variant:"outline",showIcon:!0,dataTestId:"roof-install-hero-call-btn"})]})]})})]}),r.jsxs("section",{className:"relative w-full bg-gradient-to-b from-white to-gray-50 py-16 md:py-24 lg:py-32 overflow-hidden",children:[r.jsx("div",{className:"absolute top-20 right-0 w-96 h-96 bg-app-accent/5 rounded-full blur-3xl"}),r.jsx("div",{className:"absolute bottom-20 left-0 w-96 h-96 bg-app-primary/5 rounded-full blur-3xl"}),r.jsxs("div",{className:"container mx-auto px-4 md:px-8 lg:px-12 max-w-7xl relative z-10",children:[r.jsxs("div",{className:"inline-flex items-center gap-2 bg-app-accent/10 px-4 py-2 rounded-full mb-8",children:[r.jsx("div",{className:"w-2 h-2 bg-app-accent rounded-full"}),r.jsx("span",{className:"text-app-accent text-sm font-semibold uppercase tracking-wider",children:"Warning Signs"})]}),r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 lg:gap-16 items-center",children:[r.jsxs("div",{className:"flex flex-col gap-6",children:[r.jsxs("h2",{className:"text-gray-900 text-3xl md:text-4xl lg:text-5xl font-bold leading-tight",children:["Is It Time for a ",r.jsx("span",{className:"text-app-accent",children:"New Roof"}),"? Know the Signs"]}),r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed",children:["Not every roofing problem needs a full replacementâbut knowing when it's necessary can save you ",r.jsx("span",{className:"bg-yellow-100 px-2 py-1 rounded font-semibold text-gray-900",children:"thousands in water damage"})," and emergency repairs."]}),r.jsxs("div",{className:"space-y-4",children:[r.jsx("h3",{className:"text-gray-900 text-xl md:text-2xl font-bold",children:"You Need Roof Installation If:"}),r.jsxs("div",{className:"space-y-3",children:[r.jsxs("div",{className:"flex items-start gap-3 group",children:[r.jsx("div",{className:"flex-shrink-0 w-6 h-6 rounded-full bg-app-accent flex items-center justify-center mt-0.5",children:r.jsx(L,{className:"w-4 h-4 text-white"})}),r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed flex-1",children:[r.jsx("span",{className:"font-bold text-app-accent",children:"Your roof is 20+ years old"})," â Even if it looks okay, materials deteriorate and fail in the Pacific N
280orthwest's wet climate"]})]}),r.jsxs("div",{className:"flex items-start gap-3 group",children:[r.jsx("div",{className:"flex-shrink-0 w-6 h-6 rounded-full bg-app-accent flex items-center justify-center mt-0.5",children:r.jsx(L,{className:"w-4 h-4 text-white"})}),r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed flex-1",children:[r.jsx("span",{className:"font-bold text-app-accent",children:"Shingles are curling, cracking, or missing granules"})," â Widespread damage across multiple sections means systemic failure"]})]}),r.jsxs("div",{className:"flex items-start gap-3 group",children:[r.jsx("div",{className:"flex-shrink-0 w-6 h-6 rounded-full bg-app-accent flex items-center justify-center mt-0.5",children:r.jsx(L,{className:"w-4 h-4 text-white"})}),r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed flex-1",children:[r.jsx("span",{className:"font-bold text-app-accent",children:"You have multiple leaks"})," â One leak might be fixable, but several indicate comprehensive waterproofing failure"]})]}),r.jsxs("div",{className:"flex items-start gap-3 group",children:[r.jsx("div",{className:"flex-shrink-0 w-6 h-6 rounded-full bg-app-accent flex items-center justify-center mt-0.5",children:r.jsx(L,{className:"w-4 h-4 text-white"})}),r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed flex-1",children:[r.jsx("span",{className:"font-bold text-app-accent",children:"Visible sagging or soft spots"})," â Structural issues require immediate attention and full replacement"]})]}),r.jsxs("div",{className:"flex items-start gap-3 group",children:[r.jsx("div",{className:"flex-shrink-0 w-6 h-6 rounded-full bg-app-accent flex items-center justify-center mt-0.5",children:r.jsx(L,{className:"w-4 h-4 text-white"})}),r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed flex-1",children:[r.jsx("span",{className:"font-bold text-app-accent",children:"Severe storm damage"})," â Extensive wind or hail damage often exceeds what repairs can address"]})]}),r.jsxs("div",{className:"flex items-start gap-3 group",children:[r.jsx("div",{className:"flex-shrink-0 w-6 h-6 rounded-full bg-app-accent flex items-center justify-center mt-0.5",children:r.jsx(L,{className:"w-4 h-4 text-white"})}),r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed flex-1",children:[r.jsx("span",{className:"font-bold text-app-accent",children:"Energy bills are climbing"})," â Poor insulation and ventilation from an aging roof waste money monthly"]})]}),r.jsxs("div",{className:"flex items-start gap-3 group",children:[r.jsx("div",{className:"flex-shrink-0 w-6 h-6 rounded-full bg-app-accent flex items-center justify-center mt-0.5",children:r.jsx(L,{className:"w-4 h-4 text-white"})}),r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed flex-1",children:[r.jsx("span",{className:"font-bold text-app-accent",children:"You're selling your home"})," â A new roof delivers strong ROI and eliminates buyer concerns"]})]})]})]}),r.jsxs("div",{className:"relative bg-gradient-to-br from-red-50 to-orange-50 p-6 md:p-8 rounded-2xl border-l-4 border-red-500 shadow-lg",children:[r.jsx("h3",{className:"text-gray-900 text-xl md:text-2xl font-bold mb-3",children:"The Cost of Waiting"}),r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed mb-3",children:["Delaying replacement doesn't save moneyâit multiplies risk. A failing roof leads to water damage, mold growth, insulation destruction, and structural problems. What starts as a ",r.jsx("span",{className:"bg-white px-2 py-1 rounded font-bold text-app-accent",children:"$15,000 roof replacement"})," becomes a ",r.jsx("span",{className:"bg-white px-2 py-1 rounded font-bold text-red-600",children:"$30,000+ disaster"})," when interior damage is included."]}),r.jsxs("p",{className:"text-gray-900 font-semibold text-lg",children:["Get certainty. Call ",r.jsx("a",{href:"tel:206-446-3721",className:"text-app-primary hover:underline font-bold",children:"206-446-3721"})," for a free inspection and honest assessment."]})]})]}),r.jsxs("div",{className:"relative",children:[r.jsx("div",{className:"absolute -top-8 -right-8 w-full h-full bg-gradient-to-br from-app-accent/10 to-app-primary/10 rounded-3xl"}),r.jsx("div",{className:"relative h-[400px] md:h-[500px] lg:h-[600px] rounded-3xl overflow-hidden shadow-2xl bg-gradient-to-br from-blue-100 to-green-100 p-2",children:r.jsxs("div",{className:"relative w-full h-full rounded-2xl overflow-hidden",children:[r.jsx("img",{src:bN,alt:"Aged roof showing signs of wear and deterioration",className:"w-full h-full object-cover"}),r.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/10 to-transparent"})]})}),r.jsx("div",{className:"absolute -bottom-4 -left-4 w-24 h-24 bg-gradient-to-br from-app-accent to-green-600 rounded-full opacity-80 blur-xl"})]})]})]})]}),r.jsx("section",{className:"relative w-full bg-white py-16 md:py-24 lg:py-32",children:r.jsxs("div",{className:"container mx-auto px-4 md:px-8 lg:px-12 max-w-7xl",children:[r.jsxs("div",{className:"text-center mb-16 md:mb-24",children:[r.jsxs("div",{className:"inline-flex items-center gap-2 bg-app-accent/10 px-4 py-2 rounded-full mb-4",children:[r.jsx("div",{className:"w-2 h-2 bg-app-accent rounded-full"}),r.jsx("span",{className:"text-app-accent text-sm font-semibold uppercase tracking-wider",children:"How It Works"})]}),r.jsxs("h2",{className:"text-gray-900 text-3xl md:text-4xl lg:text-5xl font-bold mb-3",children:["Our Simple ",r.jsx("span",{className:"text-app-primary",children:"3-Step"})," Roof Installation Process"]}),r.jsx("p",{className:"text-gray-600 text-lg md:text-xl",children:"Streamlined, professional, and stress-free"})]}),r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 lg:gap-20 items-center mb-20 md:mb-32",children:[r.jsxs("div",{className:"flex flex-col gap-6",children:[r.jsxs("div",{className:"inline-flex items-center gap-3",children:[r.jsx("div",{className:"flex-shrink-0 w-12 h-12 bg-gradient-to-br from-app-accent to-green-600 rounded-xl flex items-center justify-center",children:r.jsx("span",{className:"text-white text-xl font-bold",children:"1"})}),r.jsxs("div",{children:[r.jsx("div",{className:"text-app-primary text-sm font-semibold uppercase tracking-wider",children:"Day 1"}),r.jsx("h3",{className:"text-gray-900 text-2xl md:text-3xl lg:text-4xl font-bold leading-tight",children:"Inspection & Proposal"})]})]}),r.jsxs("div",{className:"space-y-4 text-gray-700 text-base md:text-lg leading-relaxed",children:[r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-app-accent flex-shrink-0 mt-1"}),r.jsxs("p",{children:[r.jsx("span",{className:"font-semibold text-gray-900",children:"Free thorough roof inspection"})," with photos"]})]}),r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-app-accent flex-shrink-0 mt-1"}),r.jsxs("p",{children:["Detailed proposal within ",r.jsx("span",{className:"text-app-accent font-semibold",children:"24-48 hours"})]})]}),r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-app-accent flex-shrink-0 mt-1"}),r.jsx("p",{children:"Clear pricing, material options, timeline"})]}),r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-app-accent flex-shrink-0 mt-1"}),r.jsxs("p",{children:[r.jsx("span",{className:"font-semibold text-gray-900",children:"No pressure"}),"âyou decide when to proceed"]})]})]})]}),r.jsx("div",{className:"relative",children:r.jsx("div",{className:"relative h-[350px] md:h-[400px] lg:h-[450px] rounded-3xl overflow-hidden bg-gradient-to-br from-blue-100 to-blue-50 p-4",children:r.jsx("img",{src:wN,alt:"Professional roof inspection",className:"w-full h-full object-cover rounded-2xl"})})})]}),r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 lg:gap-20 items-center mb-20 md:mb-32",children:[r.jsx("div",{className:"relative order-2 lg:order-1",children:r.jsx("div",{className:"relative h-[350px] md:h-[400px] lg:h-[450px] rounded-3xl overflow-hidden bg-gradient-to-br from-gray-100 to-gray-50 p-4",children:r.jsx("img",{src:yN,alt:"Professional roof installation in progress",className:"w-full h-full object-cover rounded-2xl"})})}),r.jsxs("div",{className:"flex flex-col gap-6 order-1 lg:order-2",children:[r.jsxs("div",{className:"inline-flex items-center gap-3",children:[r.jsx("div",{className:"flex-shrink-0 w-12 h-12 bg-gradient-to-br from-app-primary to-blue-600 rounded-xl flex items-center justify-center",children:r.jsx("span",{className:"text-white text-xl font-bold",children:"2"})}),r.jsxs("div",{children:[r.jsx("div",{className:"text-app-primary text-sm font-semibold uppercase tracking-wider",children:"1-3 Days"}),r.jsx("h3",{className:"text-gray-900 text-2xl md:text-3xl lg:text-4xl font-bold leading-tight",children:"Professional Installation"})]})]}),r.jsxs("div",{className:"space-y-4 text-gray-700 text-base md:text-lg leading-relaxed",children:[r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-app-primary flex-shrink-0 mt-1"}),r.jsx("p",{children:"Protect property & remove old materials"})]}),r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-app-primary flex-shrink-0 mt-1"}
280),r.jsxs("p",{children:["Install complete roofing system with ",r.jsx("span",{className:"font-semibold text-gray-900",children:"premium Owens Corning materials"})]})]}),r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-app-primary flex-shrink-0 mt-1"}),r.jsx("p",{children:"Advanced ice & water barriers, ventilation, flashing"})]}),r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-app-primary flex-shrink-0 mt-1"}),r.jsxs("p",{children:[r.jsx("span",{className:"font-semibold text-gray-900",children:"Quality inspections"})," & magnetic nail cleanup daily"]})]})]})]})]}),r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 lg:gap-20 items-center",children:[r.jsxs("div",{className:"flex flex-col gap-6",children:[r.jsxs("div",{className:"inline-flex items-center gap-3",children:[r.jsx("div",{className:"flex-shrink-0 w-12 h-12 bg-gradient-to-br from-app-accent to-green-600 rounded-xl flex items-center justify-center",children:r.jsx("span",{className:"text-white text-xl font-bold",children:"3"})}),r.jsxs("div",{children:[r.jsx("div",{className:"text-app-primary text-sm font-semibold uppercase tracking-wider",children:"Final Day"}),r.jsx("h3",{className:"text-gray-900 text-2xl md:text-3xl lg:text-4xl font-bold leading-tight",children:"Warranty & Walkthrough"})]})]}),r.jsxs("div",{className:"space-y-4 text-gray-700 text-base md:text-lg leading-relaxed",children:[r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-app-accent flex-shrink-0 mt-1"}),r.jsx("p",{children:"Complete walkthrough of finished roof"})]}),r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-app-accent flex-shrink-0 mt-1"}),r.jsxs("p",{children:["All ",r.jsx("span",{className:"font-semibold text-gray-900",children:"warranty documentation"})," provided"]})]}),r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-app-accent flex-shrink-0 mt-1"}),r.jsx("p",{children:"Maintenance guidelines included"})]}),r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-app-accent flex-shrink-0 mt-1"}),r.jsxs("p",{children:[r.jsx("span",{className:"bg-gradient-to-r from-green-100 to-blue-100 px-2 py-0.5 rounded font-semibold text-gray-900",children:"25-30 year warranty"})," coverage activated"]})]})]})]}),r.jsx("div",{className:"relative",children:r.jsx("div",{className:"relative h-[350px] md:h-[400px] lg:h-[450px] rounded-3xl overflow-hidden bg-gradient-to-br from-green-100 to-green-50 p-4",children:r.jsx("img",{src:vN,alt:"Roof installation warranty and quality assurance",className:"w-full h-full object-cover rounded-2xl"})})})]})]})}),r.jsx("section",{className:"relative w-full bg-gradient-to-b from-gray-50 to-white py-16 md:py-24 lg:py-32 overflow-hidden",children:r.jsxs("div",{className:"container mx-auto px-4 md:px-8 lg:px-12 max-w-7xl",children:[r.jsx(Kn,{logos:[{src:"/images/logos/nrca-transparent.png",alt:"NRCA ProCertification"},{src:"/images/logos/owens-corning-transparent.png",alt:"Owens Corning Preferred Contractor"},{src:"/images/logos/total-protection-transparent.png",alt:"Total Protection Roofing System"},{src:"/images/logos/bbb-transparent.png",alt:"BBB Accredited Business"}],speed:40}),r.jsxs("div",{className:"text-center mb-12 md:mb-16 mt-8",children:[r.jsxs("div",{className:"inline-flex items-center gap-2 bg-app-accent/10 px-4 py-2 rounded-full mb-4",children:[r.jsx("div",{className:"w-2 h-2 bg-app-accent rounded-full"}),r.jsx("span",{className:"text-app-accent text-sm font-semibold uppercase tracking-wider",children:"Industry-Leading Protection"})]}),r.jsx("h2",{className:"text-gray-900 text-3xl md:text-4xl lg:text-5xl font-bold",children:"Comprehensive Warranty Coverage"})]}),r.jsx("div",{className:"mb-12 flex justify-center",children:r.jsx("div",{className:"w-full max-w-2xl",children:r.jsx("img",{src:"/images/logos/tru-protection-warranty.png",alt:"TRU Protection Preferred Protection Limited Lifetime Warranty",className:"w-full h-auto"})})}),r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8 lg:gap-12",children:[r.jsxs("div",{className:"space-y-5 text-gray-700 text-base md:text-lg leading-relaxed",children:[r.jsx("h3",{className:"text-2xl font-bold text-gray-900 mb-4",children:"Owens Corning Preferred Protection Limited Lifetime Warranty"}),r.jsxs("div",{className:"space-y-4",children:[r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx("div",{className:"flex-shrink-0 w-6 h-6 rounded-full bg-app-accent flex items-center justify-center mt-0.5",children:r.jsx(L,{className:"w-4 h-4 text-white"})}),r.jsxs("div",{children:[r.jsx("p",{className:"font-semibold text-gray-900",children:"Full Coverage During TRU PROtection® Period"}),r.jsx("p",{className:"text-sm text-gray-600",children:"Complete protection against manufacturing defects and leaks during the initial warranty period"})]})]}),r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx("div",{className:"flex-shrink-0 w-6 h-6 rounded-full bg-app-accent flex items-center justify-center mt-0.5",children:r.jsx(L,{className:"w-4 h-4 text-white"})}),r.jsxs("div",{children:[r.jsx("p",{className:"font-semibold text-gray-900",children:"Comprehensive Workmanship Warranty"}),r.jsx("p",{className:"text-sm text-gray-600",children:"Covers defective installation and application errors that cause leaks or affect roof performance"})]})]}),r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx("div",{className:"flex-shrink-0 w-6 h-6 rounded-full bg-app-accent flex items-center justify-center mt-0.5",children:r.jsx(L,{className:"w-4 h-4 text-white"})}),r.jsxs("div",{children:[r.jsx("p",{className:"font-semibold text-gray-900",children:"Wind & Algae Resistance Coverage"}),r.jsx("p",{className:"text-sm text-gray-600",children:"Extended protection for wind damage and algae growth throughout the warranty period"})]})]})]})]}),r.jsxs("div",{className:"space-y-5 text-gray-700 text-base md:text-lg leading-relaxed",children:[r.jsx("h3",{className:"text-2xl font-bold text-gray-900 mb-4",children:"Why This Matters"}),r.jsxs("p",{children:["As an ",r.jsx("span",{className:"font-semibold text-app-primary",children:"Owens Corning Platinum and Preferred Contractor"}),", Alimac Pro delivers the industry's most comprehensive warranty protection. This is not a standard manufacturer's warrantyâit's a premium coverage tier available only through certified contractors."]}),r.jsxs("p",{children:["Every component of your roofing system is covered: ",r.jsx("span",{className:"font-semibold text-gray-900",children:"shingles, underlayment, ice & water barriers, ventilation, and flashing"}),". Your warranty is backed by Owens Corning and registered within 60 days of installation to ensure full activation."]}),r.jsxs("p",{children:["After the initial TRU PROtection® period, coverage transitions to prorated terms, providing extended protection. ",r.jsx("span",{className:"font-bold text-gray-900",children:"You're not just buying a roofâyou're securing 25-30
280years of manufacturer-backed peace of mind"}),"."]}),r.jsxs("div",{className:"relative bg-gradient-to-br from-app-primary/10 to-app-accent/10 p-6 rounded-2xl border-l-4 border-app-accent mt-6",children:[r.jsx("p",{className:"text-gray-900 font-semibold text-lg mb-2",children:"Want to see your complete warranty coverage?"}),r.jsxs("p",{className:"text-gray-700",children:["Call ",r.jsx("a",{href:"tel:206-446-3721",className:"text-app-primary hover:underline font-bold",children:"206-446-3721"})," for a free inspection and detailed warranty documentation."]})]})]})]})]})}),r.jsx(en,{}),r.jsx(Ne,{})]})),tr=({offerTitle:e="FREE",offerSubtitle:t="Roof Inspection",expiryDate:n="Dec 31, 2025",ctaText:s="GET THIS OFFER",ctaLink:o="/detailed-roofing-quote"})=>r.jsxs("div",{className:"bg-white border-2 border-gray-200 rounded-2xl overflow-hidden shadow-lg mb-8",children:[r.jsxs("div",{className:"relative",children:[r.jsx("img",{src:"/images/projects/DJI_0022-scaled_1762067983228.webp",alt:"Roof Installation",className:"w-full h-40 object-cover",width:"400",height:"160",loading:"lazy"}),r.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-transparent to-[#1a3a5c]/80"}),r.jsx("div",{className:"absolute bottom-3 left-1/2 -translate-x-1/2",children:r.jsx("img",{src:$o,alt:"Alimac Pro",className:"h-12 w-auto",width:"98",height:"48",loading:"lazy"})})]}),r.jsxs("div",{className:"p-6 text-center",children:[r.jsx("p",{className:"text-[#36a326] text-3xl md:text-4xl font-bold mb-1",children:e}),r.jsx("p",{className:"text-[#1a3a5c] text-lg font-semibold mb-4",children:t}),r.jsx("a",{href:o,className:"block w-full bg-[#36a326] hover:bg-[#4a8c2f] text-white font-bold py-3 rounded-lg transition-colors mb-4",children:s}),r.jsxs("p",{className:"text-gray-500 text-xs mt-1",children:["Offer cannot be combined with any other",r.jsx("br",{}),"promotions, discounts, or special offers.",r.jsx("br",{}),"Terms and conditions may apply."]})]})]}),nr=({currentPage:e=""})=>{const[t,n]=v.useState("roofing"),s=[{id:"roofing",name:"Roofing",hasSubmenu:!0,items:[{name:"Roof Replacement",href:"/services/roof-installation-v2",key:"roof-replacement"},{name:"Roof Repair",href:"/services/roof-repair",key:"roof-repair"},{name:"Roof Cleaning & Restoration",href:"/services/roof-cleaning",key:"roof-cleaning"},{name:"Moss Removal & Treatment",href:"/services/moss-removal",key:"moss-removal"},{name:"Emergency Service",href:"/services/emergency",key:"emergency"}]},{id:"siding",name:"Siding",href:"/services/siding-installation",hasSubmenu:!1,key:"siding"},{id:"gutters",name:"Gutters",href:"/services/gutter-installation",hasSubmenu:!1,key:"gutters"},{id:"financing",name:"Financing Options",href:"/financing",hasSubmenu:!1,key:"financing"}];return r.jsxs("div",{className:"bg-[#0c9ab9] border-2 border-[#0c9ab9] rounded-2xl p-6 shadow-lg",children:[r.jsx("h3",{className:"text-white text-xl font-bold mb-4",children:"Our Services"}),r.jsx("div",{className:"space-y-1",children:s.map(o=>{var a;return r.jsx("div",{className:"border-b border-gray-200 last:border-b-0",children:o.hasSubmenu?r.jsxs(r.Fragment,{children:[r.jsxs("button",{onClick:()=>n(t===o.id?null:o.id),className:"w-full flex items-center justify-between py-3 text-left",children:[r.jsx("span",{className:"text-white font-medium",children:o.name}),r.jsx(Po,{className:`w-4 h-4 text-[#FFB81C] transition-transform duration-200 ${t===o.id?"rotate-180":""}`})]}),r.jsx("div",{className:`overflow-hidden transition-all duration-300 ${t===o.id?"max-h-96 pb-3":"max-h-0"}`,children:r.jsx("div",{className:"pl-4 space-y-2",children:(a=o.items)==null?void 0:a.map((i,l)=>r.jsx(De,{href:i.href,className:`block text-sm ${i.key===e?"text-[#FFB81C] font-semibold":"text-white hover:text-[#FFB81C]"}`,children:i.name},l))})})]}):r.jsxs(De,{href:o.href||"#",className:`w-full flex items-center justify-between py-3 text-left hover:text-white transition-colors ${o.key===e?"text-[#FFB81C]":""}`,children:[r.jsx("span",{className:`font-medium ${o.key===e?"text-[#FFB81C]":"text-white"}`,children:o.name}),r.jsx(Di,{className:"w-4 h-4 text-[#FFB81C]"})]})},o.id)})})]})},NN="/assets/roof_install_seattle_v2_1765348471046-DJywqmHM.jpeg",Tr=({className:e=""})=>r.jsxs("div",{className:`relative rounded-2xl overflow-hidden ${e}`,children:[r.jsxs("div",{className:"absolute inset-0",children:[r.jsx("img",{src:NN,alt:"",className:"w-full h-full object-cover"}),r.jsx("div",{className:"absolute inset-0 bg-[#1a3a5c]/85"})]}),r.jsx("div",{className:"relative z-10 p-6 md:p-8",children:r.jsxs("div",{className:"flex flex-col md:flex-row items-start md:items-center justify-between gap-6",children:[r.jsxs("div",{children:[r.jsxs("h3",{className:"text-white text-xl md:text-2xl font-bold mb-2",children:["Schedule Your Service ",r.jsx("span",{className:"text-[#36a326]",children:"With Us Today"})]}),r.jsx("p",{className:"text-sm md:text-base text-[#ffffff]",children:"Offering 5-Star roofing, gutter and insulation Services to Arlington, Snohomish County & Greater Seattle."})]}),r.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-3",children:[r.jsxs("a",{href:"/detailed-roofing-quote",className:"inline-flex items-center gap-2 bg-white hover:bg-gray-100 text-[#1a3a5c] font-bold px-6 py-3 rounded-full transition-colors text-sm","data-testid":"service-cta-estimate-btn",children:["FREE ESTIMATE",r.jsx(Di,{className:"w-4 h-4"})]}),r.jsxs("a",{href:"tel:206-446-3721",className:"inline-flex items-center gap-2 border-2 border-white text-white hover:bg-white/10 font-bold px-5 py-2.5 rounded-full transition-colors text-sm","data-testid":"service-cta-call-btn",children:[r.jsx(kt,{className:"w-4 h-4"}),"(206) 446-3721"]})]})]})}),r.jsx("div",{className:"absolute -right-8 -bottom-8 opacity-10 z-10",children:r.jsx("img",{src:$o,alt:"",className:"w-40 h-auto"})})]});function kN(e){return Object.prototype.toString.call(e)==="[object Object]"}function Sh(e){return kN(e)||Array.isArray(e)}function SN(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function wu(e,t){const n=Object.keys(e),s=Object.keys(t);if(n.length!==s.length)return!1;const o=JSON.stringify(Object.keys(e.breakpoints||{})),a=JSON.stringify(Object.keys(t.breakpoints||{}));return o!==a?!1:n.every(i=>{const l=e[i],c=t[i];return typeof l=="function"?`${l}`==`${c}`:!Sh(l)||!Sh(c)?l===c:wu(l,c)})}function Ch(e){return e.concat().sort((t,n)=>t.name>n.name?1:-1).map(t=>t.options)}function CN(e,t){if(e.length!==t.length)return!1;const n=Ch(e),s=Ch(t);return n.every((o,a)=>{const i=s[a];return wu(o,i)})}function vu(e){return typeof e=="number"}function Uc(e){return typeof e=="string"}function Bi(e){return typeof e=="boolean"}function Ah(e){return Object.prototype.toString.call(e)==="[object Object]"}function me(e){return Math.abs(e)}function bu(e){return Math.sign(e)}
vendor: 16,068 bytes, line 280
280function io(e,t){return me(e-t)}function AN(e,t){if(e===0||t===0||me(e)<=me(t))return 0;const n=io(me(e),me(t));return me(n/e)}function PN(e){return Math.round(e*100)/100}function To(e){return Io(e).map(Number)}function Mt(e){return e[Qo(e)]}function Qo(e){return Math.max(0,e.length-1)}function ju(e,t){return t===Qo(e)}function Ph(e,t=0){return Array.from(Array(e),(n,s)=>t+s)}function Io(e){return Object.keys(e)}function iy(e,t){return[e,t].reduce((n,s)=>(Io(s).forEach(o=>{const a=n[o],i=s[o],l=Ah(a)&&Ah(i);n[o]=l?iy(a,i):i}),n),{})}function Kc(e,t){return typeof t.MouseEvent<"u"&&e instanceof t.MouseEvent}function RN(e,t){const n={start:s,center:o,end:a};function s(){return 0}function o(c){return a(c)/2}function a(c){return t-c}function i(c,d){return Uc(e)?n[e](c):e(t,c,d)}return{measure:i}}function Oo(){let e=[];function t(o,a,i,l={passive:!0}){let c;if("addEventListener"in o)o.addEventListener(a,i,l),c=()=>o.removeEventListener(a,i,l);else{const d=o;d.addListener(i),c=()=>d.removeListener(i)}return e.push(c),s}function n(){e=e.filter(o=>o())}const s={add:t,clear:n};return s}function EN(e,t,n,s){const o=Oo(),a=1e3/60;let i=null,l=0,c=0;function d(){o.add(e,"visibilitychange",()=>{e.hidden&&y()})}function u(){w(),o.clear()}function m(b){if(!c)return;i||(i=b,n(),n());const h=b-i;for(i=b,l+=h;l>=a;)n(),l-=a;const p=l/a;s(p),c&&(c=t.requestAnimationFrame(m))}function f(){c||(c=t.requestAnimationFrame(m))}function w(){t.cancelAnimationFrame(c),i=null,l=0,c=0}function y(){i=null,l=0}return{init:d,destroy:u,start:f,stop:w,update:n,render:s}}function TN(e,t){const n=t==="rtl",s=e==="y",o=s?"y":"x",a=s?"x":"y",i=!s&&n?-1:1,l=u(),c=m();function d(y){const{height:g,width:b}=y;return s?g:b}function u(){return s?"top":n?"right":"left"}function m(){return s?"bottom":n?"left":"right"}function f(y){return y*i}return{scroll:o,cross:a,startEdge:l,endEdge:c,measureSize:d,direction:f}}function Pr(e=0,t=0){const n=me(e-t);function s(d){return d<e}function o(d){return d>t}function a(d){return s(d)||o(d)}function i(d){return a(d)?s(d)?e:t:d}function l(d){return n?d-n*Math.ceil((d-t)/n):d}return{length:n,max:t,min:e,constrain:i,reachedAny:a,reachedMax:o,reachedMin:s,removeOffset:l}}function ly(e,t,n){const{constrain:s}=Pr(0,e),o=e+1;let a=i(t);function i(f){return n?me((o+f)%o):s(f)}function l(){return a}function c(f){return a=i(f),m}function d(f){return u().set(l()+f)}function u(){return ly(e,l(),n)}const m={get:l,set:c,add:d,clone:u};return m}function IN(e,t,n,s,o,a,i,l,c,d,u,m,f,w,y,g,b,h,p){const{cross:x,direction:j}=e,k=["INPUT","SELECT","TEXTAREA"],C={passive:!1},S=Oo(),A=Oo(),R=Pr(50,225).constrain(w.measure(20)),E={mouse:300,touch:400},M={mouse:500,touch:600},D=y?43:25;let Y=!1,I=0,H=0,B=!1,V=!1,P=!1,O=!1;function W(_){if(!p)return;function ee(Ie){(Bi(p)||p(_,Ie))&&He(Ie)}const de=t;S.add(de,"dragstart",Ie=>Ie.preventDefault(),C).add(de,"touchmove",()=>{},C).add(de,"touchend",()=>{}).add(de,"touchstart",ee).add(de,"mousedown",ee).add(de,"touchcancel",Re).add(de,"contextmenu",Re).add(de,"click",ft,!0)}function z(){S.clear(),A.clear()}function J(){const _=O?n:t;A.add(_,"touchmove",ve,C).add(_,"touchend",Re).add(_,"mousemove",ve,C).add(_,"mouseup",Re)}function we(_){const ee=_.nodeName||"";return k.includes(ee)}function pe(){return(y?M:E)[O?"mouse":"touch"]}function St(_,ee){const de=m.add(bu(_)*-1),Ie=u.byDistance(_,!y).distance;return y||me(_)<R?Ie:b&&ee?Ie*.5:u.byIndex(de.get(),0).distance}function He(_){const ee=Kc(_,s);O=ee,P=y&&ee&&!_.buttons&&Y,Y=io(o.get(),i.get())>=2,!(ee&&_.button!==0)&&(we(_.target)||(B=!0,a.pointerDown(_),d.useFriction(0).useDuration(0),o.set(i),J(),I=a.readPoint(_),H=a.readPoint(_,x),f.emit("pointerDown")))}function ve(_){if(!Kc(_,s)&&_.touches.length>=2)return Re(_);const de=a.readPoint(_),Ie=a.readPoint(_,x),pt=io(de,I),Ct=io(Ie,H);if(!V&&!O&&(!_.cancelable||(V=pt>Ct,!V)))return Re(_);const tn=a.pointerMove(_);pt>g&&(P=!0),d.useFriction(.3).useDuration(.75),l.start(),o.add(j(tn)),_.preventDefault()}function Re(_){const de=u.byDistance(0,!1).index!==m.get(),Ie=a.pointerUp(_)*pe(),pt=St(j(Ie),de),Ct=AN(Ie,pt),tn=D-10*Ct,st=h+Ct/50;V=!1,B=!1,A.clear(),d.useDuration(tn).useFriction(st),c.distance(pt,!y),O=!1,f.emit("pointerUp")}function ft(_){P&&(_.stopPropagation(),_.preventDefault(),P=!1)}function Ge(){return B}return{init:W,destroy:z,pointerDown:Ge}}function ON(e,t){let s,o;function a(m){return m.timeStamp}function i(m,f){const y=`client${(f||e.scroll)==="x"?"X":"Y"}`;return(Kc(m,t)?m:m.touches[0])[y]}function l(m){return s=m,o=m,i(m)}function c(m){const f=i(m)-i(o),w=a(m)-a(s)>170;return o=m,w&&(s=m),f}function d(m){if(!s||!o)return 0;const f=i(o)-i(s),w=a(m)-a(s),y=a(m)-a(o)>170,g=f/w;return w&&!y&&me(g)>.1?g:0}return{pointerDown:l,pointerMove:c,pointerUp:d,readPoint:i}}function DN(){function e(n){const{offsetTop:s,offsetLeft:o,offsetWidth:a,offsetHeight:i}=n;return{top:s,right:o+a,bottom:s+i,left:o,width:a,height:i}}return{measure:e}}function MN(e){function t(s){return e*(s/100)}return{measure:t}}function qN(e,t,n,s,o,a,i){const l=[e].concat(s);let c,d,u=[],m=!1;function f(b){return o.measureSize(i.measure(b))}function w(b){if(!a)return;d=f(e),u=s.map(f);function h(p){for(const x of p){if(m)return;const j=x.target===e,k=s.indexOf(x.target),C=j?d:u[k],S=f(j?e:s[k]);if(me(S-C)>=.5){b.reInit(),t.emit("resize");break}}}c=new ResizeObserver(p=>{(Bi(a)||a(b,p))&&h(p)}),n.requestAnimationFrame(()=>{l.forEach(p=>c.observe(p))})}function y(){m=!0,c&&c.disconnect()}return{init:w,destroy:y}}function WN(e,t,n,s,o,a){let i=0,l=0,c=o,d=a,u=e.get(),m=0;function f(){const C=s.get()-e.get(),S=!c;let A=0;return S?(i=0,n.set(s),e.set(s),A=C):(n.set(e),i+=C/c,i*=d,u+=i,e.add(i),A=u-m),l=bu(A),m=u,k}function w(){const C=s.get()-t.get();return me(C)<.001}function y(){return c}function g(){return l}function b(){return i}function h(){return x(o)}function p(){return j(a)}function x(C){return c=C,k}function j(C){return d=C,k}const k={direction:g,duration:y,velocity:b,seek:f,settled:w,useBaseFriction:p,useBaseDuration:h,useFriction:j,useDuration:x};return k}function FN(e,t,n,s,o){const a=o.measure(10),i=o.measure(50),l=Pr(.1,.99);let c=!1;function d(){return!(c||!e.reachedAny(n.get())||!e.reachedAny(t.get()))}function u(w){if(!d())return;const y=e.reachedMin(t.get())?"min":"max",g=me(e[y]-t.get()),b=n.get()-t.get(),h=l.constrain(g/i);n.subtract(b*h),!w&&me(b)<a&&(n.set(e.constrain(n.get())),s.useDuration(25).useBaseFriction())}function m(w){c=!w}return{shouldConstrain:d,constrain:u,toggleActive:m}}function _N(e,t,n,s,o){const a=Pr(-t+e,0),i=m(),l=u(),c=f();function d(y,g){return io(y,g)<=1}function u(){const y=i[0],g=Mt(i),b=i.lastIndexOf(y),h=i.indexOf(g)+1;return Pr(b,h)}function m(){return n.map((y,g)=>{const{min:b,max:h}=a,p=a.constrain(y),x=!g,j=ju(n,g);return x?h:j||d(b,p)?b:d(h,p)?h:p}).map(y=>parseFloat(y.toFixed(3)))}function f(){if(t<=e+o)return[a.max];if(s==="keepSnaps")return i;const{min:y,max:g}=l;return i.slice(y,g)}return{snapsContained:c,scrollContainLimit:l}}function LN(e,t,n){const s=t[0],o=n?s-e:Mt(t);return{limit:Pr(o,s)}}function zN(e,t,n,s){const a=t.min+.1,i=t.max+.1,{reachedMin:l,reachedMax:c}=Pr(a,i);function d(f){return f===1?c(n.get()):f===-1?l(n.get()):!1}function u(f){if(!d(f))return;const w=e*(f*-1);s.forEach(y=>y.add(w))}return{loop:u}}function BN(e){const{max:t,length:n}=e;function s(a){const i=a-t;return n?i/-n:0}return{get:s}}function HN(e,t,n,s,o){const{startEdge:a,endEdge:i}=e,{groupSlides:l}=o,c=m().map(t.measure),d=f(),u=w();function m(){return l(s).map(g=>Mt(g)[i]-g[0][a]).map(me)}function f(){return s.map(g=>n[a]-g[a]).map(g=>-me(g))}function w(){return l(d).map(g=>g[0]).map((g,b)=>g+c[b])}return{snaps:d,snapsAligned:u}}function GN(e,t,n,s,o,a){const{groupSlides:i}=o,{min:l,max:c}=s,d=u();function u(){const f=i(a),w=!e||t==="keepSnaps";return n.length===1?[a]:w?f:f.slice(l,c).map((y,g,b)=>{const h=!g,p=ju(b,g);if(h){const x=Mt(b[0])+1;return Ph(x)}if(p){const x=Qo(a)-Mt(b)[0]+1;return Ph(x,Mt(b)[0])}return y})}return{slideRegistry:d}}function YN(e,t,n,s,o){const{reachedAny:a,removeOffset:i,constrain:l}=s;function c(y){return y.concat().sort((g,b)=>me(g)-me(b))[0]}function d(y){const g=e?i(y):l(y),b=t.map((p,x)=>({diff:u(p-g,0),index:x})).sort((p,x)=>me(p.diff)-me(x.diff)),{index:h}=b[0];return{index:h,distance:g}}function u(y,g){const b=[y,y+n,y-n];if(!e)return y;if(!g)return c(b);const h=b.filter(p=>bu(p)===g);return h.length?c(h):Mt(b)-n}function m(y,g){const b=t[y]-o.get(),h=u(b,g);return{index:y,distance:h}}function f(y,g){const b=o.get()+y,{index:h,distance:p}=d(b),x=!e&&a(b);if(!g||x)return{index:h,distance:y};const j=t[h]-p,k=y+u(j,0);return{index:h,distance:k}}return{byDistance:f,byIndex:m,shortcut:u}}function VN(e,t,n,s,o,a,i){function l(m){const f=m.distance,w=m.index!==t.get();a.add(f),f&&(s.duration()?e.start():(e.update(),e.render(1),e.update())),w&&(n.set(t.get()),t.set(m.index),i.emit("select"))}function c(m,f){const w=o.byDistance(m,f);l(w)}function d(m,f){const w=t.clone().set(m),y=o.byIndex(w.get(),f);l(y)}return{distance:c,index:d}}function $N(e,t,n,s,o,a,i,l){const c={passive:!0,capture:!0};let d=0;function u(w){if(!l)return;function y(g){if(new Date().getTime()-d>10)return;i.emit("slideFocusStart"),e.scrollLeft=0;const p=n.findIndex(x=>x.includes(g));vu(p)&&(o.useDuration(0),s.index(p,0),i.emit("slideFocus"))}a.add(document,"keydown",m,!1),t.forEach((g,b)=>{a.add(g,"focus",h=>{(Bi(l)||l(w,h))&&y(b)},c)})}function m(w){w.code==="Tab"&&(d=new Date().getTime())}return{init:u}}function Us(e){let t=e;function n(){return t}function s(c){t=i(c)}function o(c){t+=i(c)}function a(c){t-=i(c)}function i(c){return vu(c)?c:c.get()}return{get:n,set:s,add:o,subtract:a}}function cy(e,t){const n=e.scroll==="x"?i:l,s=t.style;let o=null,a=!1;function i(f){return`translate3d(${f}px,0px,0px)`}function l(f){return`translate3d(0px,${f}px,0px)`}function c(f){if(a)return;const w=PN(e.direction(f));w!==o&&(s.transform=n(w),o=w)}function d(f){a=!f}function u(){a||(s.transform="",t.getAttribute("style")||t.removeAttribute("style"))}return{clear:u,to:c,toggleActive:d}}function QN(e,t,n,s,o,a,i,l,c){const u=To(o),m=To(o).reverse(),f=h().concat(p());function w(S,A){return S.reduce((R,E)=>R-o[E],A)}function y(S,A){return S.reduce((R,E)=>w(R,A)>0?R.concat([E]):R,[])}function g(S){return a.map((A,R)=>({start:A-s[R]+.5+S,end:A+t-.5+S}))}function b(S,A,R){const E=g(A);return S.map(M=>{const D=R?0:-n,Y=R?n:0,I=R?"end":"start",H=E[M][I];return{index:M,loopPoint:H,slideLocation:Us(-1),translate:cy(e,c[M]),target:()=>l.get()>H?D:Y}})}function h(){const S=i[0],A=y(m,S);return b(A,n,!1)}function p(){const S=t-i[0]-1,A=y(u,S);return b(A,-n,!0)}function x(){return f.every(({index:S})=>{const A=u.filter(R=>R!==S);return w(A,t)<=.1})}function j(){f.forEach(S=>{const{target:A,translate:R,slideLocation:E}=S,M=A();M!==E.get()&&(R.to(M),E.set(M))})}function k(){f.forEach(S=>S.translate.clear())}return{canLoop:x,clear:k,loop:j,loopPoints:f}}function UN(e,t,n){let s,o=!1;function a(c){if(!n)return;function d(u){for(const m of u)if(m.type==="childList"){c.reInit(),t.emit("slidesChanged");break}}s=new MutationObserver(u=>{o||(Bi(n)||n(c,u))&&d(u)}),s.observe(e,{childList:!0})}function i(){s&&s.disconnect(),o=!0}return{init:a,destroy:i}}function KN(e,t,n,s){const o={};let a=null,i=null,l,c=!1;function d(){l=new IntersectionObserver(y=>{c||(y.forEach(g=>{const b=t.indexOf(g.target);o[b]=g}),a=null,i=null,n.emit("slidesInView"))},{root:e.parentElement,threshold:s}),t.forEach(y=>l.observe(y))}function u(){l&&l.disconnect(),c=!0}function m(y){return Io(o).reduce((g,b)=>{const h=parseInt(b),{isIntersecting:p}=o[h];return(y&&p||!y&&!p)&&g.push(h),g},[])}function f(y=!0){if(y&&a)return a;if(!y&&i)return i;const g=m(y);return y&&(a=g),y||(i=g),g}return{init:d,destroy:u,get:f}}function XN(e,t,n,s,o,a){const{measureSize:i,startEdge:l,endEdge:c}=e,d=n[0]&&o,u=y(),m=g(),f=n.map(i),w=b();function y(){if(!d)return 0;const p=n[0];return me(t[l]-p[l])}function g(){if(!d)return 0;const p=a.getComputedStyle(Mt(s));return parseFloat(p.getPropertyValue(`margin-${c}`))}function b(){return n.map((p,x,j)=>{const k=!x,C=ju(j,x);return k?f[x]+u:C?f[x]+m:j[x+1][l]-p[l]}).map(me)}return{slideSizes:f,slideSizesWithGaps:w,startGap:u,endGap:m}}function JN(e,t,n,s,o,a,i,l,c){const{startEdge:d,endEdge:u,direction:m}=e,f=vu(n);function w(h,p){return To(h).filter(x=>x%p===0).map(x=>h.slice(x,x+p))}function y(h){return h.length?To(h).reduce((p,x,j)=>{const k=Mt(p)||0,C=k===0,S=x===Qo(h),A=o[d]-a[k][d],R=o[d]-a[x][u],E=!s&&C?m(i):0,M=!s&&S?m(l):0,D=me(R-M-(A+E));return j&&D>t+c&&p.push(x),S&&p.push(h.length),p},[]).map((p,x,j)=>{const k=Math.max(j[x-1]||0);return h.slice(k,p)}):[]}function g(h){return f?w(h,n):y(h)}return{groupSlides:g}}function ZN(e,t,n,s,o,a,i){const{align:l,axis:c,direction:d,startIndex:u,loop:m,duration:f,dragFree:w,dragThreshold:y,inViewThreshold:g,slidesToScroll:b,skipSnaps:h,containScroll:p,watchResize:x,watchSlides:j,watchDrag:k,watchFocus:C}=a,S=2,A=DN(),R=A.measure(t),E=n.map(A.measure),M=TN(c,d),D=M.measureSize(R),Y=MN(D),I=RN(l,D),H=!m&&!!p,B=m||!!p,{slideSizes:V,slideSizesWithGaps:P,startGap:O,endGap:W}=XN(M,R,E,n,B,o),z=JN(M,D,b,m,R,E,O,W,S),{snaps:J,snapsAligned:we}=HN(M,I,R,E,z),pe=-Mt(J)+Mt(P),{snapsContained:St,scrollContainLimit:He}=_N(D,pe,we,p,S),ve=H?St:we,{limit:Re}=LN(pe,ve,m),ft=ly(Qo(ve),u,m),Ge=ft.clone(),re=To(n),_=({dragHandler:Ir,scrollBody:Qi,scrollBounds:Ui,options:{loop:Uo}})=>{Uo||Ui.constrain(Ir.pointerDown()),Qi.seek()},ee=({scrollBody:Ir,translate:Qi,location:Ui,offsetLocation:Uo,previousLocation:fy,scrollLooper:py,slideLooper:gy,dragHandler:xy,animation:yy,eventHandler:Cu,scrollBounds:wy,options:{loop:Au}},Pu)=>{const Ru=Ir.settled(),vy=!wy.shouldConstrain(),Eu=Au?Ru:Ru&&vy,Tu=Eu&&!xy.pointerDown();Tu&&yy.stop();const by=Ui.get()*Pu+fy.get()*(1-Pu);Uo.set(by),Au&&(py.loop(Ir.direction()),gy.loop()),Qi.to(Uo.get()),Tu&&Cu.emit("settle"),Eu||Cu.emit("scroll")},de=EN(s,o,()=>_($i),Ir=>ee($i,Ir)),Ie=.68,pt=ve[ft.get()],Ct=Us(pt),tn=Us(pt),st=Us(pt),rr=Us(pt),Os=WN(Ct,st,tn,rr,f,Ie),Yi=YN(m,ve,pe,Re,rr),Vi=VN(de,ft,Ge,Os,Yi,rr,i),Nu=BN(Re),ku=Oo(),my=KN(t,n,i,g),{slideRegistry:Su}=GN(H,p,ve,He,z,re),hy=$N(e,n,Su,Vi,Os,ku,i,C),$i={ownerDocument:s,ownerWindow:o,eventHandler:i,containerRect:R,slideRects:E,animation:de,axis:M,dragHandler:IN(M,e,s,o,rr,ON(M,o),Ct,de,Vi,Os,Yi,ft,i,Y,w,y,h,Ie,k),eventStore:ku,percentOfView:Y,index:ft,indexPrevious:Ge,limit:Re,location:Ct,offsetLocation:st,previousLocation:tn,options:a,resizeHandler:qN(t,i,o,n,M,x,A),scrollBody:Os,scrollBounds:FN(Re,st,rr,Os,Y),scrollLooper:zN(pe,Re,st,[Ct,st,tn,rr]),scrollProgress:Nu,scrollSnapList:ve.map(Nu.get),scrollSnaps:ve,scrollTarget:Yi,scrollTo:Vi,slideLooper:QN(M,D,pe,V,P,J,ve,st,n),slideFocus:hy,slidesHandler:UN(t,i,j),slidesInView:my,slideIndexes:re,slideRegistry:Su,slidesToScroll:z,target:rr,translate:cy(M,t)};return $i}function ek(){let e={},t;function n(d){t=d}function s(d){return e[d]||[]}function o(d){return s(d).forEach(u=>u(t,d)),c}function a(d,u){return e[d]=s(d).concat([u]),c}function i(d,u){return e[d]=s(d).filter(m=>m!==u),c}function l(){e={}}const c={init:n,emit:o,off:i,on:a,clear:l};return c}const tk={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function nk(e){function t(a,i){return iy(a,i||{})}function n(a){const i=a.breakpoints||{},l=Io(i).filter(c=>e.matchMedia(c).matches).map(c=>i[c]).reduce((c,d)=>t(c,d),{});return t(a,l)}function s(a){return a.map(i=>Io(i.breakpoints||{})).reduce((i,l)=>i.concat(l),[]).map(e.matchMedia)}return{mergeOptions:t,optionsAtMedia:n,optionsMediaQueries:s}}function rk(e){let t=[];function n(a,i){return t=i.filter(({options:l})=>e.optionsAtMedia(l).active!==!1),t.forEach(l=>l.init(a,e)),i.reduce((l,c)=>Object.assign(l,{[c.name]:c}),{})}function s(){t=t.filter(a=>a.destroy())}return{init:n,destroy:s}}
vendor: 6,150 bytes, line 280
280function mi(e,t,n){const s=e.ownerDocument,o=s.defaultView,a=nk(o),i=rk(a),l=Oo(),c=ek(),{mergeOptions:d,optionsAtMedia:u,optionsMediaQueries:m}=a,{on:f,off:w,emit:y}=c,g=M;let b=!1,h,p=d(tk,mi.globalOptions),x=d(p),j=[],k,C,S;function A(){const{container:re,slides:_}=x;C=(Uc(re)?e.querySelector(re):re)||e.children[0];const de=Uc(_)?C.querySelectorAll(_):_;S=[].slice.call(de||C.children)}function R(re){const _=ZN(e,C,S,s,o,re,c);if(re.loop&&!_.slideLooper.canLoop()){const ee=Object.assign({},re,{loop:!1});return R(ee)}return _}function E(re,_){b||(p=d(p,re),x=u(p),j=_||j,A(),h=R(x),m([p,...j.map(({options:ee})=>ee)]).forEach(ee=>l.add(ee,"change",M)),x.active&&(h.translate.to(h.location.get()),h.animation.init(),h.slidesInView.init(),h.slideFocus.init(Ge),h.eventHandler.init(Ge),h.resizeHandler.init(Ge),h.slidesHandler.init(Ge),h.options.loop&&h.slideLooper.loop(),C.offsetParent&&S.length&&h.dragHandler.init(Ge),k=i.init(Ge,j)))}function M(re,_){const ee=z();D(),E(d({startIndex:ee},re),_),c.emit("reInit")}function D(){h.dragHandler.destroy(),h.eventStore.clear(),h.translate.clear(),h.slideLooper.clear(),h.resizeHandler.destroy(),h.slidesHandler.destroy(),h.slidesInView.destroy(),h.animation.destroy(),i.destroy(),l.clear()}function Y(){b||(b=!0,l.clear(),D(),c.emit("destroy"),c.clear())}function I(re,_,ee){!x.active||b||(h.scrollBody.useBaseFriction().useDuration(_===!0?0:x.duration),h.scrollTo.index(re,ee||0))}function H(re){const _=h.index.add(1).get();I(_,re,-1)}function B(re){const _=h.index.add(-1).get();I(_,re,1)}function V(){return h.index.add(1).get()!==z()}function P(){return h.index.add(-1).get()!==z()}function O(){return h.scrollSnapList}function W(){return h.scrollProgress.get(h.offsetLocation.get())}function z(){return h.index.get()}function J(){return h.indexPrevious.get()}function we(){return h.slidesInView.get()}function pe(){return h.slidesInView.get(!1)}function St(){return k}function He(){return h}function ve(){return e}function Re(){return C}function ft(){return S}const Ge={canScrollNext:V,canScrollPrev:P,containerNode:Re,internalEngine:He,destroy:Y,off:w,on:f,emit:y,plugins:St,previousScrollSnap:J,reInit:g,rootNode:ve,scrollNext:H,scrollPrev:B,scrollProgress:W,scrollSnapList:O,scrollTo:I,selectedScrollSnap:z,slideNodes:ft,slidesInView:we,slidesNotInView:pe};return E(t,n),setTimeout(()=>c.emit("init"),0),Ge}mi.globalOptions=void 0;function Hi(e={},t=[]){const n=v.useRef(e),s=v.useRef(t),[o,a]=v.useState(),[i,l]=v.useState(),c=v.useCallback(()=>{o&&o.reInit(n.current,s.current)},[o]);return v.useEffect(()=>{wu(n.current,e)||(n.current=e,c())},[e,c]),v.useEffect(()=>{CN(s.current,t)||(s.current=t,c())},[t,c]),v.useEffect(()=>{if(SN()&&i){mi.globalOptions=Hi.globalOptions;const d=mi(i,n.current,s.current);return a(d),()=>d.destroy()}else a(void 0)},[i,a]),[l,o]}Hi.globalOptions=void 0;const sk={active:!0,breakpoints:{},delay:4e3,jump:!1,playOnInit:!0,stopOnFocusIn:!0,stopOnInteraction:!0,stopOnMouseEnter:!1,stopOnLastSnap:!1,rootNode:null};function ok(e,t){const n=e.scrollSnapList();return typeof t=="number"?n.map(()=>t):t(n,e)}function ak(e,t){const n=e.rootNode();return t&&t(n)||n}function Gi(e={}){let t,n,s,o,a=null,i=0,l=!1,c=!1,d=!1,u=!1;function m(I,H){n=I;const{mergeOptions:B,optionsAtMedia:V}=H,P=B(sk,Gi.globalOptions),O=B(P,e);if(t=V(O),n.scrollSnapList().length<=1)return;u=t.jump,s=!1,o=ok(n,t.delay);const{eventStore:W,ownerDocument:z}=n.internalEngine(),J=!!n.internalEngine().options.watchDrag,we=ak(n,t.rootNode);W.add(z,"visibilitychange",h),J&&n.on("pointerDown",x),J&&!t.stopOnInteraction&&n.on("pointerUp",j),t.stopOnMouseEnter&&W.add(we,"mouseenter",k),t.stopOnMouseEnter&&!t.stopOnInteraction&&W.add(we,"mouseleave",C),t.stopOnFocusIn&&n.on("slideFocusStart",b),t.stopOnFocusIn&&!t.stopOnInteraction&&W.add(n.containerNode(),"focusout",g),t.playOnInit&&g()}function f(){n.off("pointerDown",x).off("pointerUp",j).off("slideFocusStart",b),b(),s=!0,l=!1}function w(){const{ownerWindow:I}=n.internalEngine();I.clearTimeout(i),i=I.setTimeout(M,o[n.selectedScrollSnap()]),a=new Date().getTime(),n.emit("autoplay:timerset")}function y(){const{ownerWindow:I}=n.internalEngine();I.clearTimeout(i),i=0,a=null,n.emit("autoplay:timerstopped")}function g(){if(!s){if(p()){d=!0;return}l||n.emit("autoplay:play"),w(),l=!0}}function b(){s||(l&&n.emit("autoplay:stop"),y(),l=!1)}function h(){if(p())return d=l,b();d&&g()}function p(){const{ownerDocument:I}=n.internalEngine();return I.visibilityState==="hidden"}function x(){c||b()}function j(){c||g()}function k(){c=!0,b()}function C(){c=!1,g()}function S(I){typeof I<"u"&&(u=I),g()}function A(){l&&b()}function R(){l&&g()}function E(){return l}function M(){const{index:I}=n.internalEngine(),H=I.clone().add(1).get(),B=n.scrollSnapList().length-1,V=t.stopOnLastSnap&&H===B;if(n.canScrollNext()?n.scrollNext(u):n.scrollTo(0,u),n.emit("autoplay:select"),V)return b();g()}function D(){if(!a)return null;const I=o[n.selectedScrollSnap()],H=new Date().getTime()-a;return I-H}return{name:"autoplay",options:e,init:m,destroy:f,play:S,stop:A,reset:R,isPlaying:E,timeUntilNext:D}}Gi.globalOptions=void 0;const dy="/assets/seattle-roof-replacement-kirchgessner-8_1765503365723-DlpDpVjs.jpg",uy="/assets/seattle-roofing-service-yeagley-install-2_1765503365723-BNaU8ZFZ.jpg",ik="/assets/seattle-roof-installation-buller-1_1765503365724-C9NTsg7R.jpg",lk="/assets/seattle-roof-installation-buller-3_1765503365724-AiiZ1zOp.jpg",ck="/assets/seattle-roof-repair-temes_1765503365725-DskqEBNQ.jpg",dk="/assets/seattle-roof-replacement-kirchgessner-5_1765503365725-BoqHhTFY.jpg",Rh=[{src:dy,alt:"Seattle roof replacement - aerial view of completed shingle roof"},{src:uy,alt:"Seattle roofing service - quality shingle installation detail"},{src:ik,alt:"Seattle roof installation - ridge vent and shingle work"},{src:lk,alt:"Seattle roof installation - completed roof with vents"},{src:ck,alt:"Seattle roof repair - multi-tone shingle installation"},{src:gu,alt:"Seattle roof replacement - front view of home with new roof"},{src:dk,alt:"Seattle roof replacement - aerial view with skylights"}],uk=()=>{const[e,t]=Hi({loop:!0,align:"start"}
280,[Gi({delay:4e3,stopOnInteraction:!1})]),[n,s]=v.useState(0),o=v.useCallback(()=>{t&&t.scrollPrev()},[t]),a=v.useCallback(()=>{t&&t.scrollNext()},[t]),i=v.useCallback(()=>{t&&s(t.selectedScrollSnap())},[t]);return v.useEffect(()=>{if(t)return i(),t.on("select",i),()=>{t.off("select",i)}},[t,i]),r.jsxs("div",{className:"mb-12",children:[r.jsx("h2",{className:"text-[#1a3a5c] text-2xl md:text-3xl font-bold mb-6",children:"Our Roof Installation Projects"}),r.jsxs("div",{className:"relative",children:[r.jsx("div",{className:"overflow-hidden rounded-xl",ref:e,children:r.jsx("div",{className:"flex",children:Rh.map((l,c)=>r.jsx("div",{className:"flex-[0_0_100%] min-w-0 md:flex-[0_0_50%] lg:flex-[0_0_33.33%] px-2",children:r.jsx("div",{className:"rounded-lg overflow-hidden shadow-lg h-72",children:r.jsx("img",{src:l.src,alt:l.alt,className:"w-full h-full object-cover",loading:"lazy"})})},c))})}),r.jsx("button",{onClick:o,className:"absolute left-2 top-1/2 -translate-y-1/2 bg-white/90 hover:bg-white text-[#1a3a5c] p-2 rounded-full shadow-lg transition-all z-10","aria-label":"Previous slide","data-testid":"projects-carousel-prev",children:r.jsx(Mi,{className:"w-6 h-6"})}),r.jsx("button",{onClick:a,className:"absolute right-2 top-1/2 -translate-y-1/2 bg-white/90 hover:bg-white text-[#1a3a5c] p-2 rounded-full shadow-lg transition-all z-10","aria-label":"Next slide","data-testid":"projects-carousel-next",children:r.jsx(qi,{className:"w-6 h-6"})}),r.jsx("div",{className:"flex justify-center gap-2 mt-4",children:Rh.map((l,c)=>r.jsx("button",{className:`w-2 h-2 rounded-full transition-all ${c===n?"bg-[#0c9ab9] w-6":"bg-gray-300"}`,onClick:()=>t==null?void 0:t.scrollTo(c),"aria-label":`Go to slide ${c+1}`,"data-testid":`projects-carousel-dot-${c}`},c))})]})]})},mk=()=>{const[e,t]=v.useState(null);ye({title:"Expert Roof Installation & Replacement in Arlington, WA | Alimac Pro",description:"Need a new roof? Alimac Pro provides expert roof installation and replacement services in Arlington, WA and across Snohomish County & Greater Seattle using high-quality materials. Licensed & insured. Free estimates.",path:"/services/roof-installation-v2"}),v.useEffect(()=>{window.scrollTo(0,0)},[]);const n=[{title:"Widespread Shingle Deterioration",description:"Curling, cracking, granule loss, and bald patches across large roof sections suggest the materials are breaking down past the point of repair."},{title:"Frequent Leaks in Different Areas",description:"A single leak can often be repaired, but recurring leaks in multiple zones usually indicate aging underlayment or systemic water intrusion."},{title:"Sagging or Soft Spots",description:"Sections of the roof that dip or feel spongy underfoot may point to rot or structural damage beneath the surface."},{title:"Visible Decking or Exposed Underlayment",description:"Missing shingles that expose the roofing base layers can quickly lead to moisture problemsâand signal that the outer layer is failing."},{title:"Storm or Tree Damage Too Extensive to Patch",description:"After a major storm, roof sections may be compromised beyond repair, especially if there's impact damage from fallen limbs or debris."},{title:"The Roof Is 15+ Years Old",description:"Most roofing systems begin to show age-related wear after 15 years, especially in regions with heavy rain, wind, or freezing temperatures. Once past this point, issues tend to accelerateâand replacement becomes a smarter long-term solution."}],s=[{question:"What types of roofing materials do you install?",answer:"We install asphalt shingles, metal, cedar shake, and tile, depending on the home's design and your preferences. We'll help you choose a material that fits your budget, style, and performance needs."},{question:"Do I need a permit for a roof replacement?",answer:"Yes. In most areas, a permit is required for a full roof replacement. Alimac Pro handles the permitting process for you, ensuring all work complies with local building codes and inspection requirements."},{question:"Do I need to be home during the roof replacement?",answer:"No. As long as we have access to the exterior of your home, we can complete the work while you're away. We'll stay in contact throughout the project and let you know once everything is finished and cleaned up."},{question:"Is roof replacement covered by a warranty?",answer:"Yes. We provide workmanship warranties in addition to the manufacturer warranties that come with Owens Corning roofing systems. Your coverage will be clearly explained before work begins."},{question:"How long does a roof replacement take?",answer:"Most residential roof replacements are completed in 1-3 days, depending on the size of your roof and weather conditions. We'll provide a detailed timeline during your estimate."}];return r.jsxs("div",{className:"flex flex-col w-full relative bg-white",children:[r.jsx(ke,{}),r.jsx(je,{}),r.jsxs("section",{className:"relative w-full bg-[#0c9ab9] pt-16 pb-20 md:pt-20 md:pb-24",children:[r.jsx("div",{className:"container mx-auto px-6 md:px-8 max-w-7xl",children:r.jsx("h1",{className:"text-white text-3xl md:text-4xl lg:text-[42px] font-bold text-center leading-tight",children:"Expert Roof Installation & Replacement Services in Arlington, WA"})}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 overflow-hidden",children:r.jsxs("svg",{viewBox:"0 0 1440 60",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"w-full h-auto",preserveAspectRatio:"none",children:[r.jsx("path",{d:"M0 60V30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30V60H0Z",fill:"white"}),r.jsx("path",{d:"M0 30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30",stroke:"#36a326",strokeWidth:"4",fill:"none"})]})})]}),r.jsx("section",{className:"relative w-full bg-white py-12 md:py-16",children:r.jsx("div",{className:"container mx-auto px-6 md:px-8 max-w-7xl",children:r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-8 lg:gap-12",children:[r.jsxs("div",{className:"lg:col-span-2",children:[r.jsxs("div",{className:"mb-10",children:[r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed mb-5",children:["A failing roof can compromise everything beneath itâwalls, ",r.jsx("span",{className:"font-bold text-gray-900",children:"insulation"}),", electrical systems, and peace of mind. When repairs are no longer enough, full roof replacement is the smartest way to protect your home for the long term. ",r.jsx("span",{className:"font-bold text-[#1a3a5c] underline",children:"Alimac Pro"})," specializes in replacing old, damaged, or underperforming roofs with new systems built for safety, efficiency, and durability."]}),r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed",children:["Our licensed team begins every replacement with a thorough inspection to assess structural integrity, ventilation, and the condition of existing materials. As an ",r.jsx("span",{className:"font-bold text-[#1a3a5c] underline",children:"Owens Corning Preferred Contractor"}),", we follow the industry's highest standards from tear-off to final inspection."]})]}),r.jsx(uk,{}),r.jsxs("div",{className:"mb-12",children:[r.jsx("h2",{className:"text-[#1a3a5c] text-2xl md:text-3xl font-bold mb-4",children:"Signs It's Time for Roof Replacement"}),r.jsx("p",{className:"text-gray-600 text-base leading-relaxed mb-8",children:"Not every roofing issue can be solved with a patch. Some problems point to a deeper declineâespecially when signs start stacking up across different areas of your home. Here are some of the most common indicators that it's time to consider a full replacement:"}),r.jsx("ul",{className:"space-y-5",children:n.map((o,a)=>r.jsxs("li",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsxs("div",{children:[r.jsxs("span",{className:"text-gray-900 font-bold",children:[o.title,":"]}
280)," ",r.jsx("span",{className:"text-gray-600",children:o.description})]})]},a))}),r.jsx("p",{className:"text-gray-700 text-base leading-relaxed mt-8",children:"Every phase of the process is handled with respect for your home and a commitment to getting the job done rightâstart to finish."})]}),r.jsx(Tr,{})]}),r.jsxs("div",{className:"lg:col-span-1",children:[r.jsx(tr,{}),r.jsx(nr,{currentPage:"roof-replacement"})]})]})})}),r.jsxs("section",{className:"relative w-full bg-[#E8EEF2] py-16 md:py-20",children:[r.jsxs("div",{className:"container mx-auto px-6 md:px-8 max-w-4xl",children:[r.jsxs("div",{className:"text-center mb-12",children:[r.jsxs("div",{className:"flex items-center justify-center gap-3 mb-4",children:[r.jsx("div",{className:"w-8 h-0.5 bg-[#FFB81C]"}),r.jsx("span",{className:"text-[#0c9ab9] font-semibold uppercase text-sm tracking-wider",children:"FAQS"})]}),r.jsx("h2",{className:"text-[#1a3a5c] text-3xl md:text-4xl font-bold mb-4",children:"Frequently Asked Questions"}),r.jsx("p",{className:"text-gray-600 max-w-2xl mx-auto",children:"Alimac Pro has a knowledgeable and experienced team that can help answer a variety of questions you may have."})]}),r.jsx("div",{className:"space-y-4",children:s.map((o,a)=>r.jsxs("div",{className:"bg-white rounded-xl overflow-hidden shadow-sm",children:[r.jsxs("button",{onClick:()=>t(e===a?null:a),className:"w-full flex items-center justify-between p-5 md:p-6 text-left hover:bg-gray-50 transition-colors",children:[r.jsx("h3",{className:"text-[#1a3a5c] font-semibold pr-4",children:o.question}),r.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center flex-shrink-0 bg-[#0c9ab9] transition-transform ${e===a?"rotate-180":""}`,children:r.jsx("svg",{className:"w-5 h-5 text-white",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",children:r.jsx("path",{d:"M19 9l-7 7-7-7"})})})]}),r.jsx("div",{className:`overflow-hidden transition-all duration-300 ${e===a?"max-h-96":"max-h-0"}`,children:r.jsx("div",{className:"px-5 md:px-6 pb-5 md:pb-6",children:r.jsx("div",{className:"border-l-4 border-gray-300 pl-4",children:r.jsx("p",{className:"text-gray-600 leading-relaxed",children:o.answer})})})})]},a))})]}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-1 bg-[#0c9ab9]"})]}),r.jsx(en,{}),r.jsx(Ne,{})]})},hk=({beforeImage:e,afterImage:t,beforeAlt:n,afterAlt:s})=>{const[o,a]=v.useState(50),[i,l]=v.useState(!1),[c,d]=v.useState(0),u=v.useRef(null);v.useEffect(()=>{const h=()=>{u.current&&d(u.current.offsetWidth)};return h(),window.addEventListener("resize",h),()=>window.removeEventListener("resize",h)},[]);const m=h=>{if(!u.current)return;const p=u.current.getBoundingClientRect(),x=(h-p.left)/p.width*100;x>=0&&x<=100&&a(x)},f=h=>{h.preventDefault(),l(!0),m(h.clientX)},w=h=>{i&&m(h.clientX)},y=h=>{l(!0),m(h.touches[0].clientX)},g=h=>{i&&m(h.touches[0].clientX)},b=()=>{l(!1)};return v.useEffect(()=>{if(i){const h=()=>l(!1),p=x=>{m(x.clientX)};return document.addEventListener("mouseup",h),document.addEventListener("mousemove",p),()=>{document.removeEventListener("mouseup",h),document.removeEventListener("mousemove",p)}}},[i]),r.jsxs("div",{ref:u,className:"rounded-lg overflow-hidden shadow-lg relative cursor-col-resize select-none",onMouseDown:f,onMouseMove:w,onMouseUp:b,onMouseLeave:b,onTouchStart:y,onTouchMove:g,onTouchEnd:b,"data-testid":"before-after-slider",children:[r.jsx("div",{className:"w-full",children:r.jsx("img",{src:e,alt:n,className:"w-full h-auto block",draggable:!1})}),r.jsx("div",{className:"absolute top-0 left-0 h-full overflow-hidden pointer-events-none",style:{width:`${o}%`},children:r.jsx("img",{src:t,alt:s,className:"h-full object-cover object-left",style:{width:c>0?`${c}px`:"100vw"},draggable:!1})}),r.jsx("div",{className:"absolute top-0 bottom-0 w-1 bg-white cursor-col-resize z-10",style:{left:`${o}%`,transform:"translateX(-50%)"},children:r.jsxs("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 flex items-center justify-center bg-white rounded-full p-2 shadow-lg border-2 border-gray-200",children:[r.jsx("svg",{className:"w-4 h-4 text-[#1a3a5c]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:3,d:"M15 19l-7-7 7-7"})}),r.jsx("svg",{className:"w-4 h-4 text-[#1a3a5c] -ml-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:3,d:"M9 19l7-7-7-7"})})]})}
280),r.jsx("div",{className:"absolute top-4 left-4 bg-[#36a326] text-white px-3 py-1.5 rounded-md text-sm font-bold shadow-md z-20",children:"After"}),r.jsx("div",{className:"absolute top-4 right-4 bg-[#1a3a5c] text-white px-3 py-1.5 rounded-md text-sm font-bold shadow-md z-20",children:"Before"})]})},fk="/assets/seattle-roof-replacement-before-2_1765503771154-CZDYNdrq.jpg",pk="/assets/seattle-roof-replacement-after-5_1765503771154-CbG3GXxW.jpg",gk=()=>{const[e,t]=v.useState(null);ye({title:"Fast & Reliable Roof Repair in Arlington, WA | Alimac Pro",description:"Leaky roof? Alimac Pro offers fast and reliable roof repair services in Arlington, WA and across Snohomish County & Greater Seattle for leaks, storm damage, and more. Emergency service available. Call now!",path:"/services/roof-repair"}),v.useEffect(()=>{window.scrollTo(0,0)},[]);const n=[{title:"Water Stains on Ceilings or Walls",description:"Brown or yellowish stains spreading across interior surfaces often indicate an active roof leak that requires immediate attention before further damage occurs."},{title:"Missing, Cracked, or Curling Shingles",description:"Individual shingles that are damaged, lifting at the edges, or completely missing leave your roof deck exposed to the elements and potential water infiltration."},{title:"Damaged or Deteriorating Flashing",description:"The metal strips around chimneys, vents, and roof edges can rust, crack, or pull awayâcreating gaps where water easily penetrates into your home."},{title:"Granules in Your Gutters",description:"Finding excessive shingle granules in your gutters signals that your shingles are wearing down and losing their protective coating, reducing their effectiveness."},{title:"Daylight Visible Through Roof Boards",description:"If you can see light coming through your attic roof boards, water can get in too. This indicates gaps or holes that need prompt repair."},{title:"Sagging Areas or Soft Spots",description:"Sections of roof that dip or feel spongy when walked on may indicate water damage to the underlying deckingâa problem that worsens quickly without repair."}],s=[{question:"How quickly can you respond to a roof leak?",answer:"We offer fast emergency response for active leaks and storm damage. In most cases, we can have a technician at your property within a few hours to assess the damage and implement temporary protection if needed. Full repairs are typically scheduled within 1-3 days."},{question:"How much does a typical roof repair cost?",answer:"Repair costs vary based on the type and extent of damage. Minor repairs like replacing a few shingles may cost a few hundred dollars, while more extensive repairs involving flashing or decking can range higher. We provide free inspections and detailed estimates before any work begins."},{question:"Will my homeowner's insurance cover roof repairs?",answer:"Many roof repairs due to storm damage, fallen trees, or other sudden events are covered by homeowner's insurance. We can help document the damage and work directly with your insurance company to streamline the claims process."},{question:"How do I know if I need a repair or full replacement?",answer:"During our free inspection, we assess the overall condition of your roofânot just the visible damage. If the issue is isolated and your roof is otherwise in good condition, repair is usually the best option. If we find widespread deterioration, we'll honestly recommend replacement to save you money long-term."},{question:"Do you warranty your repair work?",answer:"Yes. All our repairs come with a workmanship warranty, giving you peace of mind that the job was done right. We also use quality materials from trusted manufacturers that include their own product warranties."}];return r.jsxs("div",{className:"flex flex-col w-full relative bg-white",children:[r.jsx(ke,{}),r.jsx(je,{}),r.jsxs("section",{className:"relative w-full bg-[#0c9ab9] pt-16 pb-20 md:pt-20 md:pb-24",children:[r.jsx("div",{className:"container mx-auto px-6 md:px-8 max-w-7xl",children:r.jsx("h1",{className:"text-white text-3xl md:text-4xl lg:text-[42px] font-bold text-center leading-tight",children:"Professional Roof Repair Services in Arlington, WA"})}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 overflow-hidden",children:r.jsxs("svg",{viewBox:"0 0 1440 60",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"w-full h-auto",preserveAspectRatio:"none",children:[r.jsx("path",{d:"M0 60V30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30V60H0Z",fill:"white"}),r.jsx("path",{d:"M0 30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30",stroke:"#36a326",strokeWidth:"4",fill:"none"})]})})]}),r.jsx("section",{className:"relative w-full bg-white py-12 md:py-16",children:r.jsx("div",{className:"container mx-auto px-6 md:px-8 max-w-7xl",children:r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-8 lg:gap-12",children:[r.jsxs("div",{className:"lg:col-span-2",children:[r.jsxs("div",{className:"mb-10",children:[r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed mb-5",children:["When your roof shows signs of damage, acting fast can save you from costly repairs down the road. Whether it's a small leak, missing shingles, or storm damage, ",r.jsx("span",{className:"font-bold text-[#1a3a5c] underline",children:"Alimac Pro"})," provides fast, reliable roof repairs that address the problem at its sourceânot just the symptoms."]}),r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed",children:["Our experienced technicians diagnose issues accurately and provide ",r.jsx("span",{className:"font-bold text-gray-900",children:"honest recommendations"}),". We'll tell you if a repair will solve the problem or if replacement makes more sense for your situation. With over 20 years of experience in the Pacific N
280orthwest, we understand local roofing challenges inside and out."]})]}),r.jsx("div",{className:"mb-12",children:r.jsx(hk,{beforeImage:fk,afterImage:pk,beforeAlt:"Before: Seattle roof with aged, damaged shingles",afterAlt:"After: Seattle roof replacement with new shingles"})}),r.jsxs("div",{className:"mb-12",children:[r.jsx("h2",{className:"text-[#1a3a5c] text-2xl md:text-3xl font-bold mb-4",children:"Warning Signs Your Roof Needs Repair"}),r.jsx("p",{className:"text-gray-600 text-base leading-relaxed mb-8",children:"Catching roof problems early can prevent small issues from becoming major headaches. If you notice any of these warning signs, it's time to schedule an inspection:"}),r.jsx("ul",{className:"space-y-5",children:n.map((o,a)=>r.jsxs("li",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsxs("div",{children:[r.jsxs("span",{className:"text-gray-900 font-bold",children:[o.title,":"]})," ",r.jsx("span",{className:"text-gray-600",children:o.description})]})]},a))}),r.jsx("p",{className:"text-gray-700 text-base leading-relaxed mt-8",children:"Don't wait until a small problem becomes a costly emergency. Our team is ready to assess your roof and provide the repairs you need to keep your home protected."})]}),r.jsx(Tr,{})]}),r.jsxs("div",{className:"lg:col-span-1",children:[r.jsx(tr,{}),r.jsx(nr,{currentPage:"roof-repair"})]})]})})}),r.jsxs("section",{className:"relative w-full bg-[#E8EEF2] py-16 md:py-20",children:[r.jsxs("div",{className:"container mx-auto px-6 md:px-8 max-w-4xl",children:[r.jsxs("div",{className:"text-center mb-12",children:[r.jsxs("div",{className:"flex items-center justify-center gap-3 mb-4",children:[r.jsx("div",{className:"w-8 h-0.5 bg-[#FFB81C]"}),r.jsx("span",{className:"text-[#0c9ab9] font-semibold uppercase text-sm tracking-wider",children:"FAQS"})]}),r.jsx("h2",{className:"text-[#1a3a5c] text-3xl md:text-4xl font-bold mb-4",children:"Frequently Asked Questions"}),r.jsx("p",{className:"text-gray-600 max-w-2xl mx-auto",children:"Got questions about roof repairs? Our experienced team is here to provide the answers you need."})]}),r.jsx("div",{className:"space-y-4",children:s.map((o,a)=>r.jsxs("div",{className:"bg-white rounded-xl overflow-hidden shadow-sm",children:[r.jsxs("button",{onClick:()=>t(e===a?null:a),className:"w-full flex items-center justify-between p-5 md:p-6 text-left hover:bg-gray-50 transition-colors","data-testid":`faq-toggle-${a}`,children:[r.jsx("h3",{className:"text-[#1a3a5c] font-semibold pr-4",children:o.question}),r.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center flex-shrink-0 bg-[#0c9ab9] transition-transform ${e===a?"rotate-180":""}`,children:r.jsx("svg",{className:"w-5 h-5 text-white",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",children:r.jsx("path",{d:"M19 9l-7 7-7-7"})})})]}),r.jsx("div",{className:`overflow-hidden transition-all duration-300 ${e===a?"max-h-96":"max-h-0"}`,children:r.jsx("div",{className:"px-5 md:px-6 pb-5 md:pb-6",children:r.jsx("div",{className:"border-l-4 border-gray-300 pl-4",children:r.jsx("p",{className:"text-gray-600 leading-relaxed",children:o.answer})})})})]},a))})]}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-1 bg-[#0c9ab9]"})]}),r.jsx(en,{}),r.jsx(Ne,{})]})},xk="/assets/ALIMAC%20PRO-4_1764130276974-Dhsbom8h.jpeg",yk="/assets/ALIMAC%20PRO-6_1764129120476-D0T0Ho8g.jpeg",wk="/assets/ALIMAC%20PRO-6_1764129111881-pDHb5eeZ.jpeg",vk="/assets/ALIMAC%20PRO-6_1764129135992-Cn0JwoaA.jpeg",bk=()=>{const[e,t]=v.useState(null);ye({title:"Siding Installation & Repair in Arlington, WA | Vinyl, Fiber Cement & More | Alimac Pro",description:"Enhance your home's curb appeal with expert siding installation and repair from Alimac Pro in Arlington, WA, serving Snohomish County & Greater Seattle. We offer vinyl, fiber cement, and more. Free estimates!",path:"/services/siding-installation"}),v.useEffect(()=>{window.scrollTo(0,0)},[]);const n=[{question:"What types of siding materials do you install?",answer:"We install vinyl, fiber cement, composite, and wood siding options. Each material has distinct advantages in durability, appearance, and maintenance. We'll help you choose the best option for your home's style, budget, and Pacific N
280orthwest climate needs."},{question:"Do I need a permit for siding installation?",answer:"Yes. Most jurisdictions require permits for full siding replacement to ensure the work meets current building codes. Alimac Pro handles all permitting, inspections, and code compliance so you don't have to worry about the details."},{question:"How long does a siding installation take?",answer:"Most residential siding installations are completed in 3-7 days, depending on the size of your home and weather conditions. We'll provide a detailed timeline during your estimate and keep you updated throughout the project."},{question:"Is siding installation covered by a warranty?",answer:"Yes. We provide workmanship warranties on all our installations in addition to manufacturer warranties on the materials. Your warranty documentation will clearly explain all coverage details before work begins."},{question:"Can I stay in my home during siding installation?",answer:"Yes. As long as we have safe exterior access, you can remain home during the work. We'll maintain professional standards and keep noise and disruption to a minimum throughout the project."}];return r.jsxs("div",{className:"flex flex-col w-full relative bg-white",children:[r.jsx(ke,{}),r.jsx(je,{}),r.jsxs("section",{className:"relative w-full bg-[#0c9ab9] pt-16 pb-20 md:pt-20 md:pb-24",children:[r.jsx("div",{className:"container mx-auto px-6 md:px-8 max-w-7xl",children:r.jsx("h1",{className:"text-white text-3xl md:text-4xl lg:text-[42px] font-bold text-center leading-tight",children:"Professional Siding Installation & Repair in Arlington, WA"})}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 overflow-hidden",children:r.jsxs("svg",{viewBox:"0 0 1440 60",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"w-full h-auto",preserveAspectRatio:"none",children:[r.jsx("path",{d:"M0 60V30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30V60H0Z",fill:"white"}),r.jsx("path",{d:"M0 30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30",stroke:"#36a326",strokeWidth:"4",fill:"none"})]})})]}),r.jsx("section",{className:"relative w-full bg-white py-12 md:py-16",children:r.jsx("div",{className:"container mx-auto px-6 md:px-8 max-w-7xl",children:r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-8 lg:gap-12",children:[r.jsxs("div",{className:"lg:col-span-2",children:[r.jsxs("div",{className:"mb-10",children:[r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed mb-5",children:["Failing or aging siding compromises everything beneath itâinsulation, interior walls, electrical systems, and your family's comfort. When repairs are no longer enough, complete siding replacement is the smartest way to protect your home for decades. ",r.jsx("span",{className:"font-bold text-[#1a3a5c] underline",children:"Alimac Pro"})," specializes in replacing old, damaged, or underperforming siding with new systems built for safety, efficiency, and lasting beauty."]}),r.jsx("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed",children:"Our licensed team begins every replacement with a thorough inspection to assess structural integrity, moisture barriers, and the condition of existing materials. We follow industry best practices throughout, combining modern materials with master craftsmanship to deliver siding that protects and beautifies your home for generations."})]}),r.jsx("div",{className:"mb-12",children:r.jsx("div",{className:"rounded-lg overflow-hidden shadow-lg",children:r.jsx("img",{src:xk,alt:"Professional Siding Installation Services Seattle",className:"w-full h-auto object-cover",loading:"lazy"})})}),r.jsxs("div",{className:"mb-12",children:[r.jsx("h2",{className:"text-[#1a3a5c] text-2xl md:text-3xl font-bold mb-4",children:"Signs It's Time for Siding Replacement"}),r.jsx("p",{className:"text-gray-600 text-base leading-relaxed mb-8",children:"Not every siding issue requires replacementâbut some problems indicate deeper concerns that point to a full replacement being the smartest solution. Here are common indicators that it's time to consider a complete siding upgrade:"}),r.jsxs("ul",{className:"space-y-5",children:[r.jsxs("li",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsxs("div",{children:[r.jsx("span",{className:"text-gray-900 font-bold",children:"Your siding is 20+ years old:"})," ",r.jsx("span",{className:"text-gray-600",children:"Materials deteriorate and fail in the Pacific N
280orthwest's wet climateâmost siding materials have a 20-30 year lifespan before showing significant wear"})]})]}),r.jsxs("li",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsxs("div",{children:[r.jsx("span",{className:"text-gray-900 font-bold",children:"Visible cracks, warping, or rot:"})," ",r.jsx("span",{className:"text-gray-600",children:"Widespread damage means systemic failureâscattered issues usually signal that replacement is more cost-effective than repairs"})]})]}),r.jsxs("li",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsxs("div",{children:[r.jsx("span",{className:"text-gray-900 font-bold",children:"Water damage or mold growth:"})," ",r.jsx("span",{className:"text-gray-600",children:"Multiple leaks indicate waterproofing failureâmoisture intrusion can cause interior damage that becomes very expensive to repair"})]})]}),r.jsxs("li",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsxs("div",{children:[r.jsx("span",{className:"text-gray-900 font-bold",children:"Soft spots or structural issues:"})," ",r.jsx("span",{className:"text-gray-600",children:"Damage that makes the siding soft or spongy requires immediate attention and replacement to prevent structural problems"})]})]}),r.jsxs("li",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsxs("div",{children:[r.jsx("span",{className:"text-gray-900 font-bold",children:"Energy bills climbing:"})," ",r.jsx("span",{className:"text-gray-600",children:"Poor insulation from aging siding wastes money every monthânew siding with proper insulation saves thousands over time"})]})]})]}),r.jsx("p",{className:"text-gray-700 text-base leading-relaxed mt-8",children:"Every phase of our siding replacement process is handled with respect for your home and commitment to qualityâfrom initial inspection through final warranty documentation."})]}),r.jsx(Tr,{})]}),r.jsxs("div",{className:"lg:col-span-1",children:[r.jsx(tr,{}),r.jsx(nr,{currentPage:"siding-installation"})]})]})})}),r.jsxs("section",{className:"relative w-full bg-[#E8EEF2] py-16 md:py-20",children:[r.jsxs("div",{className:"container mx-auto px-6 md:px-8 max-w-4xl",children:[r.jsxs("div",{className:"text-center mb-12",children:[r.jsxs("div",{className:"flex items-center justify-center gap-3 mb-4",children:[r.jsx("div",{className:"w-8 h-0.5 bg-[#FFB81C]"}),r.jsx("span",{className:"text-[#0c9ab9] font-semibold uppercase text-sm tracking-wider",children:"FAQS"})]}),r.jsx("h2",{className:"text-[#1a3a5c] text-3xl md:text-4xl font-bold mb-4",children:"Frequently Asked Questions"}),r.jsx("p",{className:"text-gray-600 max-w-2xl mx-auto",children:"Alimac Pro has a knowledgeable and experienced team that can help answer a variety of questions you may have."})]}),r.jsx("div",{className:"space-y-4",children:n.map((s,o)=>r.jsxs("div",{className:"bg-white rounded-xl overflow-hidden shadow-sm",children:[r.jsxs("button",{onClick:()=>t(e===o?null:o),className:"w-full flex items-center justify-between p-5 md:p-6 text-left hover:bg-gray-50 transition-colors",children:[r.jsx("h3",{className:"text-[#1a3a5c] font-semibold pr-4",children:s.question}),r.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center flex-shrink-0 bg-[#0c9ab9] transition-transform ${e===o?"rotate-180":""}`,children:r.jsx("svg",{className:"w-5 h-5 text-white",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",children:r.jsx("path",{d:"M19 9l-7 7-7-7"})})})]}),r.jsx("div",{className:`overflow-hidden transition-all duration-300 ${e===o?"max-h-96":"max-h-0"}`,children:r.jsx("div",{className:"px-5 md:px-6 pb-5 md:pb-6",children:r.jsx("div",{className:"border-l-4 border-gray-300 pl-4",children:r.jsx("p",{className:"text-gray-600 leading-relaxed",children:s.answer})})})})]},o))})]}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-1 bg-[#0c9ab9]"})]}),r.jsx("section",{className:"relative w-full bg-white py-16 md:py-24 lg:py-32",children:r.jsxs("div",{className:"container mx-auto px-4 md:px-8 lg:px-12 max-w-7xl",children:[r.jsxs("div",{className:"text-center mb-16 md:mb-24",children:[r.jsxs("div",{className:"inline-flex items-center gap-2 bg-[#0c9ab9]/10 px-4 py-2 rounded-full mb-4",children:[r.jsx("div",{className:"w-2 h-2 bg-[#0c9ab9] rounded-full"}),r.jsx("span",{className:"text-[#0c9ab9] text-sm font-semibold uppercase tracking-wider",children:"How It Works"})]}),r.jsxs("h2",{className:"text-gray-900 text-3xl md:text-4xl lg:text-5xl font-bold mb-3",children:["Our Simple ",r.jsx("span",{className:"text-[#36a326]",children:"3-Step"})," Siding Installation Process"]}),r.jsx("p",{className:"text-gray-600 text-lg md:text-xl",children:"Streamlined, professional, and stress-free"})]}),r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 lg:gap-20 items-center mb-20 md:mb-32",children:[r.jsxs("div",{className:"flex flex-col gap-6",children:[r.jsxs("div",{className:"inline-flex items-center gap-3",children:[r.jsx("div",{className:"flex-shrink-0 w-12 h-12 bg-gradient-to-br from-[#0c9ab9] to-[#0c9ab9] rounded-xl flex items-center justify-center",children:r.jsx("span",{className:"text-white text-xl font-bold",children:"1"})}),r.jsxs("div",{children:[r.jsx("div",{className:"text-[#0c9ab9] text-sm font-semibold uppercase tracking-wider",children:"Day 1"}),r.jsx("h3",{className:"text-gray-900 text-2xl md:text-3xl lg:text-4xl font-bold leading-tight",children:"Inspection & Proposal"})]})]}),r.jsxs("div",{className:"space-y-4 text-gray-700 text-base md:text-lg leading-relaxed",children:[r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsxs("p",{children:[r.jsx("span",{className:"font-semibold text-gray-900",children:"Free thorough siding inspection"})," with detailed photos"]})]}),r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsxs("p",{children:["Detailed proposal within ",r.jsx("span",{className:"text-[#0c9ab9] font-semibold",children:"24-48 hours"})]})]}),r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsx("p",{children:"Clear pricing, material options, and installation timeline"})]}),r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsxs("p",{children:[r.jsx("span",{className:"font-semibold text-gray-900",children:"No pressure"}),"âyou decide when to proceed"]})]})]})]}),r.jsx("div",{className:"relative",children:r.jsx("div",{className:"relative h-[350px] md:h-[400px] lg:h-[450px] rounded-3xl overflow-hidden bg-gradient-to-br from-blue-100 to-blue-50 p-4",children:r.jsx("img",{src:wk,alt:"Professional siding inspection",className:"w-full h-full object-cover rounded-2xl"})})})]}),r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 lg:gap-20 items-center mb-20 md:mb-32",children:[r.jsx("div",{className:"relative order-2 lg:order-1",children:r.jsx("div",{className:"relative h-[350px] md:h-[400px] lg:h-[450px] rounded-3xl overflow-hidden bg-gradient-to-br from-gray-100 to-gray-50 p-4",children:r.jsx("img",{src:yk,alt:"Professional siding installation in progress",className:"w-full h-full object-cover rounded-2xl"})})}),r.jsxs("div",{className:"flex flex-col gap-6 order-1 lg:order-2",children:[r.jsxs("div",{className:"inline-flex items-center gap-3",children:[r.jsx("div",{className:"flex-shrink-0 w-12 h-12 bg-gradient-to-br from-[#0c9ab9] to-[#0c9ab9] rounded-xl flex items-center justify-center",children:r.jsx("span",{className:"text-white text-xl font-bold",children:"2"})}),r.jsxs("div",{children:[r.jsx("div",{className:"text-[#0c9ab9] text-sm font-semibold uppercase tracking-wider",children:"3-7 Days"}),r.jsx("h3",{className:"text-gray-900 text-2xl md:text-3xl lg:text-4xl font-bold leading-tight",children:"Professional Installation"})]})]}),r.jsxs("div",{className:"space-y-4 text-gray-700 text-base md:text-lg leading-relaxed",children:[r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsx("p",{children:"Protect your property and professionally remove old materials"})]}),r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}
280),r.jsxs("p",{children:["Install complete siding system with ",r.jsx("span",{className:"font-semibold text-gray-900",children:"premium materials"})," (vinyl, fiber cement, or composite)"]})]}),r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsx("p",{children:"Advanced moisture barriers, insulation, trim and flashing installation"})]}),r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsxs("p",{children:[r.jsx("span",{className:"font-semibold text-gray-900",children:"Quality inspections"})," and daily cleanup"]})]})]})]})]}),r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 lg:gap-20 items-center",children:[r.jsxs("div",{className:"flex flex-col gap-6",children:[r.jsxs("div",{className:"inline-flex items-center gap-3",children:[r.jsx("div",{className:"flex-shrink-0 w-12 h-12 bg-gradient-to-br from-[#0c9ab9] to-[#0c9ab9] rounded-xl flex items-center justify-center",children:r.jsx("span",{className:"text-white text-xl font-bold",children:"3"})}),r.jsxs("div",{children:[r.jsx("div",{className:"text-[#0c9ab9] text-sm font-semibold uppercase tracking-wider",children:"Final Day"}),r.jsx("h3",{className:"text-gray-900 text-2xl md:text-3xl lg:text-4xl font-bold leading-tight",children:"Warranty & Walkthrough"})]})]}),r.jsxs("div",{className:"space-y-4 text-gray-700 text-base md:text-lg leading-relaxed",children:[r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsx("p",{children:"Complete walkthrough of your newly installed siding"})]}),r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsxs("p",{children:["All ",r.jsx("span",{className:"font-semibold text-gray-900",children:"warranty documentation"})," provided"]})]}),r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsx("p",{children:"Maintenance guidelines and care instructions included"})]}),r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsxs("p",{children:[r.jsx("span",{className:"bg-gradient-to-r from-green-100 to-blue-100 px-2 py-0.5 rounded font-semibold text-gray-900",children:"25-30 year warranty"})," coverage activated"]})]})]})]}),r.jsx("div",{className:"relative",children:r.jsx("div",{className:"relative h-[350px] md:h-[400px] lg:h-[450px] rounded-3xl overflow-hidden bg-gradient-to-br from-green-100 to-green-50 p-4",children:r.jsx("img",{src:vk,alt:"Siding installation warranty and quality assurance",className:"w-full h-full object-cover rounded-2xl"})})})]})]})}),r.jsx("section",{className:"relative w-full bg-gradient-to-b from-gray-50 to-white py-16 md:py-24 lg:py-32 overflow-hidden",children:r.jsxs("div",{className:"container mx-auto px-4 md:px-8 lg:px-12 max-w-7xl",children:[r.jsx(Kn,{logos:[{src:"/images/logos/nrca-transparent.png",alt:"NRCA ProCertification"},{src:"/images/logos/owens-corning-transparent.png",alt:"Owens Corning Preferred Contractor"},{src:"/images/logos/total-protection-transparent.png",alt:"Total Protection Roofing System"},{src:"/images/logos/bbb-transparent.png",alt:"BBB Accredited Business"}],speed:40}),r.jsxs("div",{className:"text-center mb-12 md:mb-16 mt-8",children:[r.jsxs("div",{className:"inline-flex items-center gap-2 bg-[#0c9ab9]/10 px-4 py-2 rounded-full mb-4",children:[r.jsx("div",{className:"w-2 h-2 bg-[#0c9ab9] rounded-full"}),r.jsx("span",{className:"text-[#0c9ab9] text-sm font-semibold uppercase tracking-wider",children:"Industry-Leading Protection"})]}),r.jsx("h2",{className:"text-gray-900 text-3xl md:text-4xl lg:text-5xl font-bold",children:"Comprehensive Warranty Coverage"})]}),r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8 lg:gap-12",children:[r.jsxs("div",{className:"space-y-5 text-gray-700 text-base md:text-lg leading-relaxed",children:[r.jsx("p",{children:"At Alimac Pro, we know you want to protect your home investment with confidence, but you need comprehensive warranty protection backed by trusted manufacturers and expert installation."}),r.jsx("p",{children:"The problem is many siding contractors offer limited warranties or cut corners on installation, leaving homeowners vulnerable to costly repairs. We understand how frustrating it is to invest in new siding only to discover gaps in coverage when problems arise."}),r.jsx("p",{children:"That's why we've partnered with industry leaders and earned our certificationsâensuring every installation meets the highest standards and comes with manufacturer-backed warranties that actually protect you."})]}),r.jsxs("div",{className:"space-y-5 text-gray-700 text-base md:text-lg leading-relaxed",children:[r.jsxs("p",{children:["Our comprehensive warranty coverage includes both ",r.jsx("span",{className:"bg-blue-100 px-2 py-1 rounded font-semibold text-gray-900",children:"material warranties from trusted manufacturers"})," and our own ",r.jsx("span",{className:"bg-green-100 px-2 py-1 rounded font-semibold text-gray-900",children:"workmanship guarantees"}),", giving you complete protection for decades."]}),r.jsx("p",{children:"We offer extended warranty options and comprehensive coverageâupgrades that standard contractors simply can't provide. Every component is covered, from panels to underlayment to trim and flashing."}),r.jsxs("p",{children:["When you choose Alimac Pro, you get transparent warranty documentation, clear coverage details, and a team that stands behind every panel we install. ",r.jsx("span",{className:"font-bold text-gray-900",children:"Your siding is protected, your investment is secure, and your family has lasting peace of mind"}),"."]}),r.jsxs("div",{className:"relative bg-gradient-to-br from-[#0c9ab9]/10 to-[#0c9ab9]/10 p-6 rounded-2xl border-l-4 border-[#0c9ab9] mt-8",children:[r.jsx("p",{className:"text-gray-900 font-semibold text-lg mb-2",children:"Ready to protect your home with industry-leading warranty coverage?"}),r.jsxs("p",{className:"text-gray-700 mb-4",children:["Call ",r.jsx("a",{href:"tel:206-446-3721",className:"text-[#0c9ab9] hover:underline font-bold",children:"206-446-3721"})," for a free inspection and detailed warranty information."]})]})]})]})]})}),r.jsx(en,{}),r.jsx(Ne,{})]})},jk="/assets/seattle-gutter-installation-valentin-1_1765504019006-BO-HCDFI.jpg",Nk="/assets/seattle-gutter-installation-valentin-3_1765504019007-CyvPwjId.jpg",Eh=[{src:jk,alt:"Seattle gutter installation - side view with downspout"},{src:xu,alt:"Seattle gutter installation - corner downspout system"},{src:Nk,alt:"Seattle gutter installation - vertical downspout detail"}],kk=()=>{const[e,t]=Hi({loop:!0,align:"start"}
280,[Gi({delay:4e3,stopOnInteraction:!1})]),[n,s]=v.useState(0),o=v.useCallback(()=>{t&&t.scrollPrev()},[t]),a=v.useCallback(()=>{t&&t.scrollNext()},[t]),i=v.useCallback(()=>{t&&s(t.selectedScrollSnap())},[t]);return v.useEffect(()=>{if(t)return i(),t.on("select",i),()=>{t.off("select",i)}},[t,i]),r.jsxs("div",{className:"mb-12",children:[r.jsx("h2",{className:"text-[#1a3a5c] text-2xl md:text-3xl font-bold mb-6",children:"Our Gutter Installation Projects"}),r.jsxs("div",{className:"relative",children:[r.jsx("div",{className:"overflow-hidden rounded-xl",ref:e,children:r.jsx("div",{className:"flex",children:Eh.map((l,c)=>r.jsx("div",{className:"flex-[0_0_100%] min-w-0 px-2",children:r.jsx("div",{className:"rounded-lg overflow-hidden shadow-lg h-80 md:h-96",children:r.jsx("img",{src:l.src,alt:l.alt,className:"w-full h-full object-cover",loading:"lazy"})})},c))})}),r.jsx("button",{onClick:o,className:"absolute left-2 top-1/2 -translate-y-1/2 bg-white/90 hover:bg-white text-[#1a3a5c] p-2 rounded-full shadow-lg transition-all z-10","aria-label":"Previous slide","data-testid":"gutter-carousel-prev",children:r.jsx(Mi,{className:"w-6 h-6"})}),r.jsx("button",{onClick:a,className:"absolute right-2 top-1/2 -translate-y-1/2 bg-white/90 hover:bg-white text-[#1a3a5c] p-2 rounded-full shadow-lg transition-all z-10","aria-label":"Next slide","data-testid":"gutter-carousel-next",children:r.jsx(qi,{className:"w-6 h-6"})}),r.jsx("div",{className:"flex justify-center gap-2 mt-4",children:Eh.map((l,c)=>r.jsx("button",{className:`w-2 h-2 rounded-full transition-all ${c===n?"bg-[#0c9ab9] w-6":"bg-gray-300"}`,onClick:()=>t==null?void 0:t.scrollTo(c),"aria-label":`Go to slide ${c+1}`,"data-testid":`gutter-carousel-dot-${c}`},c))})]})]})},Sk=()=>{const[e,t]=v.useState(null);ye({title:"Gutter Installation & Repair in Arlington, WA | Seamless Gutters | Alimac Pro",description:"Protect your home with professional gutter installation and repair services in Arlington, WA and across Snohomish County & Greater Seattle. Alimac Pro offers seamless gutters, K-Guard systems, and reliable service.",path:"/services/gutter-installation"}),v.useEffect(()=>{window.scrollTo(0,0)},[]);const n=[{title:"Water Overflowing During Rain",description:"Clogged or undersized gutters can't handle the Pacific Northwest's heavy rainfall, causing water to cascade over edges and damage siding, landscaping, and foundation."},{title:"Gutters Sagging or Pulling Away",description:"When gutters pull away from the fascia or droop in sections, it indicates structural failure from debris weight, age, or improper installation."},{title:"Water Pooling Near Foundation",description:"Puddles forming around your home's base signal that gutters aren't directing water away properlyâputting your foundation at serious risk."},{title:"Visible Rust, Holes, or Cracks",description:"Older steel gutters corrode over time, while seams in sectional gutters develop leaks that damage trim, siding, and cause staining."},{title:"Peeling Paint or Water Stains on Siding",description:"Discoloration or bubbling paint near gutters indicates chronic overflow or leaks that have been saturating your exterior walls."},{title:"Basement Dampness or Flooding",description:"When gutters fail to divert water away from your home, moisture seeps into basements causing mold growth, structural damage, and costly repairs. The Pacific Northwest's 38+ inches of annual rainfall makes proper drainage critical."}],s=[{question:"What types of gutters do you install?",answer:"We install seamless aluminum gutters (the most popular choice), premium copper gutters for upscale homes, and galvanized steel options. Seamless gutters are fabricated on-site to the exact measurements of your home, eliminating leak-prone joints."},{question:"How long does gutter installation take?",answer:"Most residential gutter installations are completed in a single day. Larger homes or those requiring extensive fascia repair may take 1-2 days. We'll provide a detailed timeline during your free estimate."},{question:"Do you install gutter guards?",answer:"Yes! We offer several gutter guard options including micro-mesh, reverse curve, and screen guards. Gutter guards significantly reduce maintenance by keeping leaves, pine needles, and debris out while allowing water to flow freely."},{question:"How often should gutters be cleaned?",answer:"Without gutter guards, we recommend cleaning twice a yearâin late fall after leaves drop and in late spring. With quality gutter guards installed, you may only need annual inspections to ensure optimal performance."},{question:"What warranty do you provide on gutter installation?",answer:"We provide a 20-year warranty on both materials and workmanship. Our seamless aluminum gutters are built to last, and we stand behind every installation we complete."}];return r.jsxs("div",{className:"flex flex-col w-full relative bg-white",children:[r.jsx(ke,{}),r.jsx(je,{}),r.jsxs("section",{className:"relative w-full bg-[#0c9ab9] pt-16 pb-20 md:pt-20 md:pb-24",children:[r.jsx("div",{className:"container mx-auto px-6 md:px-8 max-w-7xl",children:r.jsx("h1",{className:"text-white text-3xl md:text-4xl lg:text-[42px] font-bold text-center leading-tight",children:"Professional Gutter Installation & Repair in Arlington, WA"})}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 overflow-hidden",children:r.jsxs("svg",{viewBox:"0 0 1440 60",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"w-full h-auto",preserveAspectRatio:"none",children:[r.jsx("path",{d:"M0 60V30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30V60H0Z",fill:"white"}),r.jsx("path",{d:"M0 30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30",stroke:"#36a326",strokeWidth:"4",fill:"none"})]})})]}),r.jsx("section",{className:"relative w-full bg-white py-12 md:py-16",children:r.jsx("div",{className:"container mx-auto px-6 md:px-8 max-w-7xl",children:r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-8 lg:gap-12",children:[r.jsxs("div",{className:"lg:col-span-2",children:[r.jsxs("div",{className:"mb-10",children:[r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed mb-5",children:["In the Pacific N
280orthwest's wet climate, your gutters are your home's first line of defense against costly water damage. Failing gutters can lead to ",r.jsx("span",{className:"font-bold text-gray-900",children:"foundation erosion"}),", basement flooding, and rotting fascia boards. ",r.jsx("span",{className:"font-bold text-[#1a3a5c] underline",children:"Alimac Pro"})," specializes in seamless gutter installation that channels thousands of gallons of rainwater safely away from your home."]}),r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed",children:["Our licensed team custom-fabricates seamless gutters on-site to ensure a perfect fit with ",r.jsx("span",{className:"font-bold text-[#1a3a5c] underline",children:"zero leak-prone seams"}),". We install premium aluminum and copper gutter systems backed by our 20-year warranty on materials and workmanship."]})]}),r.jsx(kk,{}),r.jsxs("div",{className:"mb-12",children:[r.jsx("h2",{className:"text-[#1a3a5c] text-2xl md:text-3xl font-bold mb-4",children:"Signs You Need New Gutters"}),r.jsx("p",{className:"text-gray-600 text-base leading-relaxed mb-8",children:"Faulty gutters silently cause thousands in water damage to foundations, siding, and landscaping. Catch these warning signs early before minor issues become major repairs:"}),r.jsx("ul",{className:"space-y-5",children:n.map((o,a)=>r.jsxs("li",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsxs("div",{children:[r.jsxs("span",{className:"text-gray-900 font-bold",children:[o.title,":"]})," ",r.jsx("span",{className:"text-gray-600",children:o.description})]})]},a))}),r.jsx("p",{className:"text-gray-700 text-base leading-relaxed mt-8",children:"Every gutter installation is handled with precisionâfrom accurate measurements to proper slope calculationâensuring your home stays protected through the Pacific Northwest's rainiest seasons."})]}),r.jsx(Tr,{})]}),r.jsxs("div",{className:"lg:col-span-1",children:[r.jsx(tr,{offerTitle:"FREE",offerSubtitle:"Gutter Inspection",expiryDate:"Dec 31, 2025",ctaText:"GET THIS OFFER",ctaLink:"/detailed-roofing-quote"}),r.jsx(nr,{currentPage:"gutters"})]})]})})}),r.jsxs("section",{className:"relative w-full bg-[#E8EEF2] py-16 md:py-20",children:[r.jsxs("div",{className:"container mx-auto px-6 md:px-8 max-w-4xl",children:[r.jsxs("div",{className:"text-center mb-12",children:[r.jsxs("div",{className:"flex items-center justify-center gap-3 mb-4",children:[r.jsx("div",{className:"w-8 h-0.5 bg-[#FFB81C]"}),r.jsx("span",{className:"text-[#0c9ab9] font-semibold uppercase text-sm tracking-wider",children:"FAQS"})]}),r.jsx("h2",{className:"text-[#1a3a5c] text-3xl md:text-4xl font-bold mb-4",children:"Frequently Asked Questions"}),r.jsx("p",{className:"text-gray-600 max-w-2xl mx-auto",children:"Alimac Pro has a knowledgeable and experienced team that can help answer a variety of questions about gutter installation and maintenance."})]}),r.jsx("div",{className:"space-y-4",children:s.map((o,a)=>r.jsxs("div",{className:"bg-white rounded-xl overflow-hidden shadow-sm",children:[r.jsxs("button",{onClick:()=>t(e===a?null:a),className:"w-full flex items-center justify-between p-5 md:p-6 text-left hover:bg-gray-50 transition-colors","data-testid":`faq-toggle-${a}`,children:[r.jsx("h3",{className:"text-[#1a3a5c] font-semibold pr-4",children:o.question}),r.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center flex-shrink-0 bg-[#0c9ab9] transition-transform ${e===a?"rotate-180":""}`,children:r.jsx("svg",{className:"w-5 h-5 text-white",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",children:r.jsx("path",{d:"M19 9l-7 7-7-7"})})})]}),r.jsx("div",{className:`overflow-hidden transition-all duration-300 ${e===a?"max-h-96":"max-h-0"}`,children:r.jsx("div",{className:"px-5 md:px-6 pb-5 md:pb-6",children:r.jsx("div",{className:"border-l-4 border-gray-300 pl-4",children:r.jsx("p",{className:"text-gray-600 leading-relaxed",children:o.answer})})})})]},a))})]}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-1 bg-[#0c9ab9]"})]}),r.jsx(en,{}),r.jsx(Ne,{})]})},Ck="/assets/moss_removal_services-seattle_v2_1764966558352-BEpfNCjr.jpeg",Ak=()=>{const[e,t]=v.useState(null);ye({title:"Roof Moss Removal & Treatment in Arlington, WA | Alimac Pro",de
280scription:"Protect your roof from moss damage with professional moss removal and treatment services in Arlington, WA and across Snohomish County & Greater Seattle. Alimac Pro offers safe, effective moss control solutions.",path:"/services/moss-removal"}),v.useEffect(()=>{window.scrollTo(0,0)},[]);const n=[{title:"Green or Black Discoloration on Shingles",description:"Visible moss growth appears as green, fuzzy patches or dark streaks across your roof, especially on north-facing slopes and shaded areas."},{title:"Lifted or Curling Shingle Edges",description:"Moss roots burrow beneath shingles, breaking the seal and causing edges to liftâcreating entry points for water infiltration."},{title:"Clogged Gutters with Organic Debris",description:"Dead moss washes into gutters, mixing with leaves and debris to create blockages that cause water to overflow and damage fascia boards."},{title:"Moisture or Water Stains in Attic",description:"Moss traps moisture against your roof deck, leading to rot, mold growth, and water spots on attic rafters or insulation."},{title:"Granule Loss on Asphalt Shingles",description:"Moss accelerates granule shedding, exposing the asphalt layer to UV damage and shortening your roof's lifespan significantly."},{title:"Spongy or Soft Spots on Roof Surface",description:"Heavy moss growth retains water weight that can cause underlying decking to weaken and feel spongy underfootâa sign of structural decay."}],s=[{question:"How often should I have my roof treated for moss in Arlington?",answer:"Most Pacific Northwest homes benefit from moss treatment every 2-3 years. Heavily shaded roofs or those with north-facing slopes may need annual treatment. Our preventative zinc treatments can extend this to 3-5 years."},{question:"Will moss removal damage my shingles?",answer:"Not when done correctly. We use low-pressure techniques and specialized tools designed specifically for asphalt shingles. Aggressive power washing can strip granules and void warrantiesâwe never use high-pressure methods."},{question:"Can I remove moss myself, or should I hire a professional?",answer:"DIY moss removal is risky. Walking on wet, mossy roofs is dangerous, and improper techniques can damage shingles more than the moss itself. Professionals have the right equipment, safety gear, and experience to do the job safely and effectively."},{question:"How much does professional moss removal cost?",answer:"Costs vary based on roof size, moss severity, and accessibility. Most homeowners pay $300-$800 for complete moss removal and prevention treatmentâa fraction of the cost of premature roof replacement. We offer free estimates."},{question:"What prevention methods do you recommend after moss removal?",answer:"We recommend zinc strip installation at the roof ridge, which naturally inhibits moss growth when it rains. Combined with trimming overhanging branches and our preventative treatment spray, most roofs stay moss-free for 3-5 years."}];return r.jsxs("div",{className:"flex flex-col w-full relative bg-white",children:[r.jsx(ke,{}),r.jsx(je,{}),r.jsxs("section",{className:"relative w-full bg-[#0c9ab9] pt-16 pb-20 md:pt-20 md:pb-24",children:[r.jsx("div",{className:"container mx-auto px-6 md:px-8 max-w-7xl",children:r.jsx("h1",{className:"text-white text-3xl md:text-4xl lg:text-[42px] font-bold text-center leading-tight",children:"Expert Roof Moss Removal & Treatment in Arlington, WA"})}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 overflow-hidden",children:r.jsxs("svg",{viewBox:"0 0 1440 60",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"w-full h-auto",preserveAspectRatio:"none",children:[r.jsx("path",{d:"M0 60V30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30V60H0Z",fill:"white"}),r.jsx("path",{d:"M0 30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30",stroke:"#36a326",strokeWidth:"4",fill:"none"})]})})]}),r.jsx("section",{className:"relative w-full bg-white py-12 md:py-16",children:r.jsx("div",{className:"container mx-auto px-6 md:px-8 max-w-7xl",children:r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-8 lg:gap-12",children:[r.jsxs("div",{className:"lg:col-span-2",children:[r.jsxs("div",{className:"mb-10",children:[r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed mb-5",children:["The Pacific N
280orthwest's damp, mild climate is paradise for mossâbut a nightmare for your roof. Moss traps moisture, lifts shingles, and accelerates decay, shaving years off your ",r.jsx("span",{className:"font-bold text-gray-900",children:"roof's lifespan"}),". When left untreated, what starts as a green tint becomes widespread growth that can lead to expensive structural damage."]}),r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed",children:[r.jsx("span",{className:"font-bold text-[#1a3a5c] underline",children:"Alimac Pro"})," has safely removed moss from thousands of Pacific Northwest roofs for over 20 years. Our gentle, eco-friendly techniques protect your shingles while eliminating moss at the rootâand our preventative treatments keep it from coming back."]})]}),r.jsx("div",{className:"mb-12",children:r.jsx("div",{className:"rounded-lg overflow-hidden shadow-lg",children:r.jsx("img",{src:Ck,alt:"Professional Moss Removal Services Seattle",className:"w-full h-auto object-cover",loading:"lazy"})})}),r.jsxs("div",{className:"mb-12",children:[r.jsx("h2",{className:"text-[#1a3a5c] text-2xl md:text-3xl font-bold mb-4",children:"Warning Signs Your Roof Needs Moss Treatment"}),r.jsx("p",{className:"text-gray-600 text-base leading-relaxed mb-8",children:"Moss isn't just unsightlyâit's actively damaging your roof. Here are the key indicators that it's time for professional moss removal before the damage spreads:"}),r.jsx("ul",{className:"space-y-5",children:n.map((o,a)=>r.jsxs("li",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsxs("div",{children:[r.jsxs("span",{className:"text-gray-900 font-bold",children:[o.title,":"]})," ",r.jsx("span",{className:"text-gray-600",children:o.description})]})]},a))}),r.jsx("p",{className:"text-gray-700 text-base leading-relaxed mt-8",children:"Our certified technicians use roof-safe, low-pressure methods and eco-friendly zinc-based treatments that eliminate moss without damaging your shingles or landscaping."})]}),r.jsx(Tr,{})]}),r.jsxs("div",{className:"lg:col-span-1",children:[r.jsx(tr,{}),r.jsx(nr,{currentPage:"moss-removal"})]})]})})}),r.jsxs("section",{className:"relative w-full bg-[#E8EEF2] py-16 md:py-20",children:[r.jsxs("div",{className:"container mx-auto px-6 md:px-8 max-w-4xl",children:[r.jsxs("div",{className:"text-center mb-12",children:[r.jsxs("div",{className:"flex items-center justify-center gap-3 mb-4",children:[r.jsx("div",{className:"w-8 h-0.5 bg-[#FFB81C]"}),r.jsx("span",{className:"text-[#0c9ab9] font-semibold uppercase text-sm tracking-wider",children:"FAQS"})]}),r.jsx("h2",{className:"text-[#1a3a5c] text-3xl md:text-4xl font-bold mb-4",children:"Frequently Asked Questions"}),r.jsx("p",{className:"text-gray-600 max-w-2xl mx-auto",children:"Alimac Pro has a knowledgeable and experienced team that can help answer a variety of questions you may have about moss removal."})]}),r.jsx("div",{className:"space-y-4",children:s.map((o,a)=>r.jsxs("div",{className:"bg-white rounded-xl overflow-hidden shadow-sm",children:[r.jsxs("button",{onClick:()=>t(e===a?null:a),className:"w-full flex items-center justify-between p-5 md:p-6 text-left hover:bg-gray-50 transition-colors","data-testid":`moss-faq-toggle-${a}`,children:[r.jsx("h3",{className:"text-[#1a3a5c] font-semibold pr-4",children:o.question}),r.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center flex-shrink-0 bg-[#0c9ab9] transition-transform ${e===a?"rotate-180":""}`,children:r.jsx("svg",{className:"w-5 h-5 text-white",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",children:r.jsx("path",{d:"M19 9l-7 7-7-7"})})})]}),r.jsx("div",{className:`overflow-hidden transition-all duration-300 ${e===a?"max-h-96":"max-h-0"}`,children:r.jsx("div",{className:"px-5 md:px-6 pb-5 md:pb-6",children:r.jsx("div",{className:"border-l-4 border-gray-300 pl-4",children:r.jsx("p",{className:"text-gray-600 leading-relaxed",children:o.answer})})})})]},a))})]}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-1 bg-[#0c9ab9]"})]}),r.jsx(en,{}),r.jsx(Ne,{})]})},Pk="/images/roof-cleaning/before-after-moss.jpg",Rk=()=>{const[e,t]=v.useState(null);ye({title:"Professional Roof Cleaning & Moss Removal in Arlington, WA | Alimac Pro",de
280scription:"Extend the life of your roof with professional roof cleaning and moss removal services from Alimac Pro in Arlington, WA, serving Snohomish County & Greater Seattle. Protect your investment. Free quote!",path:"/services/roof-cleaning"}),v.useEffect(()=>{window.scrollTo(0,0)},[]);const n=[{question:"How often should I have my roof cleaned?",answer:"We recommend professional roof cleaning every 2-3 years in the Pacific Northwest's wet climate. Homes near trees or with moss-prone roofs may benefit from annual cleaning. Regular maintenance prevents buildup and extends your roof's lifespan."},{question:"Is soft washing safe for all shingle types?",answer:"Yes. Our soft wash method is safe for asphalt, fiberglass, metal, and cedar shakes. We assess your specific shingle type during inspection and adjust our approach accordingly to ensure no damage to protective granules."},{question:"Will roof cleaning void my warranty?",answer:"Noâprofessional soft washing actually protects your warranty. Many roofing manufacturers require regular cleaning to maintain coverage. High-pressure power washing can void warranties, but our method preserves manufacturer protection."},{question:"What's included in your roof cleaning service?",answer:"Our service includes detailed inspection, soft wash cleaning of the entire roof surface, gutter clearing, removal of debris, optional algae-resistant treatment, and complete site cleanup. You'll get photos before and after."},{question:"How long does roof cleaning typically take?",answer:"Most residential roof cleaning takes 3-5 hours depending on roof size, pitch, and debris accumulation. We work safely and efficiently, weather permitting. You'll get a specific timeline during your free estimate."}];return r.jsxs("div",{className:"flex flex-col w-full relative bg-white",children:[r.jsx(ke,{}),r.jsx(je,{}),r.jsxs("section",{className:"relative w-full bg-[#0c9ab9] pt-16 pb-20 md:pt-20 md:pb-24",children:[r.jsx("div",{className:"container mx-auto px-6 md:px-8 max-w-7xl",children:r.jsx("h1",{className:"text-white text-3xl md:text-4xl lg:text-[42px] font-bold text-center leading-tight",children:"Arlington's Premier Roof Cleaning & Moss Removal Service"})}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 overflow-hidden",children:r.jsxs("svg",{viewBox:"0 0 1440 60",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"w-full h-auto",preserveAspectRatio:"none",children:[r.jsx("path",{d:"M0 60V30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30V60H0Z",fill:"white"}),r.jsx("path",{d:"M0 30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30",stroke:"#36a326",strokeWidth:"4",fill:"none"})]})})]}),r.jsx("section",{className:"relative w-full bg-white py-12 md:py-16",children:r.jsx("div",{className:"container mx-auto px-6 md:px-8 max-w-7xl",children:r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-8 lg:gap-12",children:[r.jsxs("div",{className:"lg:col-span-2",children:[r.jsxs("div",{className:"mb-10",children:[r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed mb-5",children:["A dirty roof is more than an eyesoreâit's a slow-motion deterioration of your home's most critical barrier. ",r.jsx("span",{className:"font-bold text-gray-900",children:"Black algae, moss, and lichen"})," don't just look bad; they trap moisture, lift shingles, and eat away at protective granules. Over time, this buildup voids warranties, compromises insulation, and can cost thousands in premature repairs or replacement. ",r.jsx("span",{className:"font-bold text-[#1a3a5c] underline",children:"Alimac Pro"})," specializes in safe, eco-friendly roof cleaning that removes harmful organisms and restores your roof to like-new condition."]}),r.jsx("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed",children:"Our certified soft-wash method preserves shingle integrity while delivering dramatic results. We've safely cleaned thousands of roofs across Snohomish County and the Greater Seattle area for over 20 years, earning thousands of five-star reviews from satisfied customers."})]}),r.jsxs("div",{className:"mb-12",children:[r.jsx("h2",{className:"text-[#1a3a5c] text-2xl md:text-3xl font-bold mb-4",children:"Why Professional Roof Cleaning Matters"}),r.jsx("p",{className:"text-gray-600 text-base leading-relaxed mb-8",children:"A clean roof isn't just about curb appeal. Here's what's really at stake when roof buildup is ignored:"}),r.jsxs("ul",{className:"space-y-4",children:[r.jsxs("li",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsxs("div",{children:[r.jsx("span",{className:"text-gray-900 font-bold",children:"Warranty Protection:"})," ",r.jsx("span",{className:"text-gray-600",children:"Manufacturers require regular cleaning to maintain coverage. Neglect can void
280years of protection."})]})]}),r.jsxs("li",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsxs("div",{children:[r.jsx("span",{className:"text-gray-900 font-bold",children:"Extended Roof Lifespan:"})," ",r.jsx("span",{className:"text-gray-600",children:"Professional cleaning removes organisms that accelerate decay, adding 3-5 years to your roof's life."})]})]}),r.jsxs("li",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsxs("div",{children:[r.jsx("span",{className:"text-gray-900 font-bold",children:"Home Value & Curb Appeal:"})," ",r.jsx("span",{className:"text-gray-600",children:"A clean roof can boost home value by $10,000â$20,000 and improve first impressions instantly."})]})]}),r.jsxs("li",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsxs("div",{children:[r.jsx("span",{className:"text-gray-900 font-bold",children:"Energy Efficiency:"})," ",r.jsx("span",{className:"text-gray-600",children:"Dark algae stains absorb heat, raising cooling costs. Cleaning restores reflectivity and efficiency."})]})]}),r.jsxs("li",{className:"flex items-start gap-3",children:[r.jsx(L,{className:"w-5 h-5 text-[#0c9ab9] flex-shrink-0 mt-1"}),r.jsxs("div",{children:[r.jsx("span",{className:"text-gray-900 font-bold",children:"Peace of Mind:"})," ",r.jsx("span",{className:"text-gray-600",children:"Knowing your roof is clean and protected eliminates worry about water intrusion or hidden damage."})]})]})]}),r.jsx("p",{className:"text-gray-700 text-base leading-relaxed mt-8",children:"Professional roof cleaning typically costs $400â$900âa fraction of premature replacement ($15,000â$30,000) or emergency repairs that damage your home inside and out."})]}),r.jsxs("div",{className:"mb-12",children:[r.jsx("h2",{className:"text-[#1a3a5c] text-2xl md:text-3xl font-bold mb-6",children:"Our Soft-Wash Process"}),r.jsxs("div",{className:"mb-10",children:[r.jsxs("div",{className:"inline-flex items-center gap-3 mb-4",children:[r.jsx("div",{className:"flex-shrink-0 w-12 h-12 bg-gradient-to-br from-[#0c9ab9] to-blue-600 rounded-xl flex items-center justify-center",children:r.jsx("span",{className:"text-white text-xl font-bold",children:"1"})}),r.jsxs("div",{children:[r.jsx("div",{className:"text-[#0c9ab9] text-sm font-semibold uppercase tracking-wider",children:"Free Assessment"}),r.jsx("h3",{className:"text-gray-900 text-xl md:text-2xl font-bold leading-tight",children:"Detailed Roof Inspection"})]})]}),r.jsx("p",{className:"text-gray-700 text-base leading-relaxed mb-3",children:"We document existing conditions with photos, identify shingle type and age, check for underlying damage, and provide clear upfront pricingâno hidden fees."})]}),r.jsxs("div",{className:"mb-10",children:[r.jsxs("div",{className:"inline-flex items-center gap-3 mb-4",children:[r.jsx("div",{className:"flex-shrink-0 w-12 h-12 bg-gradient-to-br from-[#0c9ab9] to-blue-600 rounded-xl flex items-center justify-center",children:r.jsx("span",{className:"text-white text-xl font-bold",children:"2"})}),r.jsxs("div",{children:[r.jsx("div",{className:"text-[#0c9ab9] text-sm font-semibold uppercase tracking-wider",children:"No High Pressure"}),r.jsx("h3",{className:"text-gray-900 text-xl md:text-2xl font-bold leading-tight",children:"Eco-Friendly Soft Wash"})]})]}),r.jsx("p",{className:"text-gray-700 text-base leading-relaxed mb-3",children:"Low-pressure application with biodegradable cleaning agents kills algae, moss, and bacteria at the rootânot just surface stains. Gutter cleaning and debris removal included."})]}),r.jsxs("div",{children:[r.jsxs("div",{className:"inline-flex items-center gap-3 mb-4",children:[r.jsx("div",{className:"flex-shrink-0 w-12 h-12 bg-gradient-to-br from-[#0c9ab9] to-blue-600 rounded-xl flex items-center justify-center",children:r.jsx("span",{className:"text-white text-xl font-bold",children:"3"})}),r.jsxs("div",{children:[r.jsx("div",{className:"text-[#0c9ab9] text-sm font-semibold uppercase tracking-wider",children:"Long-Term Results"}),r.jsx("h3",{className:"text-gray-900 text-xl md:text-2xl font-bold leading-tight",children:"Protective Treatment & Guarantee"})]})]}),r.jsx("p",{className:"text-gray-700 text-base leading-relaxed mb-3",children:"Optional algae-resistant treatment keeps your roof cleaner longer. Complete site cleanup. We stand behind our work with expert craftsmanship and professional service."})]})]}),r.jsxs("div",{className:"mb-12",children:[r.jsx("h2",{className:"text-[#1a3a5c] text-2xl md:text-3xl font-bold mb-6",children:"See Our Work"}),r.jsx("div",{className:"w-full",children:r.jsx("div",{className:"rounded-xl overflow-hidden shadow-lg",children:r.jsx("img",{src:Pk,alt:"Before and After Roof Cleaning",className:"w-full h-auto object-cover hover:scale-105 transition-transform duration-300",loading:"lazy"})})})]}),r.jsxs("div",{className:"mb-12",children:[r.jsx("h2",{className:"text-[#1a3a5c] text-2xl md:text-3xl font-bold mb-6",children:"Why Homeowners Trust Alimac Pro"}),r.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[r.jsxs("div",{className:"flex flex-col gap-3 bg-white p-6 rounded-xl shadow-md",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx(es,{className:"w-6 h-6 text-[#0c9ab9] flex-shrink-0"}),r.jsx("h3",{className:"text-gray-900 font-bold",children:"Soft-Wash Experts"})]}),r.jsx("p",{className:"text-gray-700 text-sm leading-relaxed",children:"We never use high-pressure washing that voids warranties. Our proven soft-wash method safely removes stains while preserving shingle integrity."})]}),r.jsxs("div",{className:"flex flex-col gap-3 bg-white p-6 rounded-xl shadow-md",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx(y1,{className:"w-6 h-6 text-[#0c9ab9] flex-shrink-0"}),r.jsx("h3",{className:"text-gray-900 font-bold",children:"Dramatic Results"})]}),r.jsx("p",{className:"text-gray-700 text-sm leading-relaxed",children:"Watch years of grime and black streaks disappear. Your roof looks brand new instantly, boosting curb appeal significantly."})]}),r.jsxs("div",{className:"flex flex-col gap-3 bg-white p-6 rounded-xl shadow-md",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx(L,{className:"w-6 h-6 text-[#0c9ab9] flex-shrink-0"}),r.jsx("h3",{className:"text-gray-900 font-bold",children:"Extends Roof Life"})]}),r.jsx("p",{className:"text-gray-700 text-sm leading-relaxed",children:"Professional cleaning removes organisms that accelerate decay. Add 3-5 years to your roof's lifespanâsaving thousands on replacement."})]}),r.jsxs("div",{className:"flex flex-col gap-3 bg-white p-6 rounded-xl shadow-md",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx(es,{className:"w-6 h-6 text-[#0c9ab9] flex-shrink-0"}),r.jsx("h3",{className:"text-gray-900 font-bold",children:"Eco-Friendly Process"})]}),r.jsx("p",{className:"text-gray-700 text-sm leading-relaxed",children:"Biodegradable solutions break down safely in soil and water. Protect your landscaping, pets, and the Pacific N
280orthwest's waterways."})]}),r.jsxs("div",{className:"flex flex-col gap-3 bg-white p-6 rounded-xl shadow-md",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx(L,{className:"w-6 h-6 text-[#0c9ab9] flex-shrink-0"}),r.jsx("h3",{className:"text-gray-900 font-bold",children:"Licensed & Insured"})]}),r.jsx("p",{className:"text-gray-700 text-sm leading-relaxed",children:"Fully licensed Washington contractor with comprehensive liability and workers' comp insurance. Your property is protected."})]}),r.jsxs("div",{className:"flex flex-col gap-3 bg-white p-6 rounded-xl shadow-md",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx(es,{className:"w-6 h-6 text-[#0c9ab9] flex-shrink-0"}),r.jsx("h3",{className:"text-gray-900 font-bold",children:"Trusted Since 2002"})]}),r.jsx("p",{className:"text-gray-700 text-sm leading-relaxed",children:"Over 20 years serving Arlington, Snohomish County & Greater Seattle homeowners with thousands of five-star reviews. Experience and craftsmanship you can count on."})]})]})]}),r.jsx(Tr,{className:"mb-12"})]}),r.jsxs("div",{className:"lg:col-span-1",children:[r.jsx(tr,{}),r.jsx(nr,{currentPage:"roof-cleaning"})]})]})})}),r.jsxs("section",{className:"relative w-full bg-[#E8EEF2] py-16 md:py-20",children:[r.jsxs("div",{className:"container mx-auto px-6 md:px-8 max-w-4xl",children:[r.jsxs("div",{className:"text-center mb-12",children:[r.jsxs("div",{className:"flex items-center justify-center gap-3 mb-4",children:[r.jsx("div",{className:"w-8 h-0.5 bg-[#FFB81C]"}),r.jsx("span",{className:"text-[#0c9ab9] font-semibold uppercase text-sm tracking-wider",children:"FAQS"})]}),r.jsx("h2",{className:"text-[#1a3a5c] text-3xl md:text-4xl font-bold mb-4",children:"Frequently Asked Questions"}),r.jsx("p",{className:"text-gray-600 max-w-2xl mx-auto",children:"Alimac Pro has a knowledgeable and experienced team that can help answer a variety of questions you may have about roof cleaning."})]}),r.jsx("div",{className:"space-y-4",children:n.map((s,o)=>r.jsxs("div",{className:"bg-white rounded-xl overflow-hidden shadow-sm",children:[r.jsxs("button",{onClick:()=>t(e===o?null:o),className:"w-full flex items-center justify-between p-5 md:p-6 text-left hover:bg-gray-50 transition-colors",children:[r.jsx("h3",{className:"text-[#1a3a5c] font-semibold pr-4",children:s.question}),r.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center flex-shrink-0 bg-[#0c9ab9] transition-transform ${e===o?"rotate-180":""}`,children:r.jsx("svg",{className:"w-5 h-5 text-white",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",children:r.jsx("path",{d:"M19 9l-7 7-7-7"})})})]}),r.jsx("div",{className:`overflow-hidden transition-all duration-300 ${e===o?"max-h-96":"max-h-0"}`,children:r.jsx("div",{className:"px-5 md:px-6 pb-5 md:pb-6",children:r.jsx("div",{className:"border-l-4 border-gray-300 pl-4",children:r.jsx("p",{className:"text-gray-600 leading-relaxed",children:s.answer})})})})]},o))})]}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-1 bg-[#0c9ab9]"})]}),r.jsx(en,{}),r.jsx(Ne,{})]})},Ek="/assets/ALIMAC%20PRO-4%20opt-CraaWP3H.jpg",Tk=()=>{const[e,t]=v.useState(null);ye({title:"Emergency Roof Repair in Arlington, WA | Fast Response | Alimac Pro",description:"Need emergency roof repair in Arlington, WA or Snohomish County? Alimac Pro offers fast emergency roofing services with rapid response times across Snohomish County & Greater Seattle. Call (206) 446-3721 now!",path:"/services/emergency"}),v.useEffect(()=>{window.scrollTo(0,0)},[]);const n=[{question:"What constitutes a roofing emergency?",answer:"Active water leaks inside your home, storm damage with exposed sections, tree impact damage, visible structural concerns, or ice dam issues all qualify. Any situation where water is entering your home or structural integrity is compromised requires immediate attention."},{question:"How quickly can Alimac Pro respond to emergency calls?",answer:"We dispatch a licensed technician as quickly as possible after scheduling your appointment. Our emergency vehicles are fully stocked with materials for immediate temporary or permanent repairs, ensuring your home is protected."},{question:"Will you help with insurance claims for emergency roof damage?",answer:"Yes, absolutely. We document all damage with photos and detailed reports, communicate directly with your insurance company, and can provide detailed estimates. Our claims assistance helps ensure you get the coverage you're entitled to."},{question:"Can you perform emergency repairs at night or during bad weather?",answer:"Yes. Our team is equipped to work around the clock, including nights, weekends, and holidays. We take safety precautions during severe weather but can often stabilize damage temporarily until conditions allow for permanent repairs."},{question:"What emergency services are included in your rapid response visit?",answer:"Our initial visit includes a thorough damage assessment, temporary water mitigation (tarping, etc.), identification of all issues, and a detailed plan for repairs. We can complete temporary or permanent repairs on the same day, depending on the extent of damage."}];return r.jsxs("div",{className:"flex flex-col w-full relative bg-white",children:[r.jsx(ke,{}),r.jsx(je,{}),r.jsxs("section",{className:"relative w-full bg-[#0c9ab9] pt-16 pb-20 md:pt-20 md:pb-24",children:[r.jsx("div",{className:"container mx-auto px-6 md:px-8 max-w-7xl",children:r.jsx("h1",{className:"text-white text-3xl md:text-4xl lg:text-[42px] font-bold text-center leading-tight",children:"Fast Emergency Roof Repair Services in Arlington, WA"})}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 overflow-hidden",children:r.jsxs("svg",{viewBox:"0 0 1440 60",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"w-full h-auto",preserveAspectRatio:"none",children:[r.jsx("path",{d:"M0 60V30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30V60H0Z",fill:"white"}),r.jsx("path",{d:"M0 30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30",stroke:"#36a326",strokeWidth:"4",fill:"none"})]})})]}),r.jsx("section",{className:"relative w-full bg-white py-12 md:py-16",children:r.jsx("div",{className:"container mx-auto px-6 md:px-8 max-w-7xl",children:r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-8 lg:gap-12",children:[r.jsxs("div",{className:"lg:col-span-2",children:[r.jsxs("div",{className:"mb-10",children:[r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed mb-5",children:["When your roof fails, every minute counts. Water intrusion can cause thousands in damage within hours, compromising structural integrity, insulation, electrical systems, and your family's safety. ",r.jsx("span",{className:"font-bold text-gray-900",children:"Alimac Pro's emergency response team"})," is dispatch-ready to protect your home."]}),r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed",children:["We don't just patch problemsâwe assess the full extent of damage, mitigate immediate threats, and provide lasting solutions. With ",r.jsx("span",{className:"font-bold text-[#1a3a5c] underline",children:"over 20 years of emergency roofing experience"}
280)," across the Pacific Northwest's unpredictable weather, we've handled everything from storm damage to ice dams to tree impacts."]})]}),r.jsxs("div",{className:"mb-12",children:[r.jsxs("div",{className:"mb-8",children:[r.jsxs("div",{className:"inline-flex items-center gap-2 bg-[#0c9ab9]/10 px-4 py-2 rounded-full mb-6",children:[r.jsx(zc,{className:"w-5 h-5 text-[#0c9ab9]"}),r.jsx("span",{className:"text-[#0c9ab9] text-sm font-semibold uppercase tracking-wider",children:"Common Issues"})]}),r.jsxs("h2",{className:"text-gray-900 text-2xl md:text-3xl font-bold mb-4",children:["Situations That Require ",r.jsx("span",{className:"text-[#0c9ab9]",children:"Quick Attention"})]}),r.jsx("p",{className:"text-gray-600 text-base leading-relaxed",children:"Recognize these common roofing problems and get professional help right away"})]}),r.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mb-8",children:[{title:"Active Water Leaks",description:"Water entering your home requires immediate attention to prevent interior damage",icon:"ð§"},{title:"Storm Damage",description:"Missing shingles, punctures, or visible damage from severe weather",icon:"âï¸"},{title:"Fallen Tree Impact",description:"Tree branches or debris causing visible roof damage or gaps",icon:"ð²"},{title:"Exposed Underlayment",description:"Protective layers damaged or missing, exposing interior layers",icon:"â ï¸"},{title:"Sagging or Structural Issues",description:"Visible dips or unusual shapes indicating structural concerns",icon:"ðï¸"},{title:"Ice Dam Damage",description:"Winter ice buildup causing water backup and potential leaks",icon:"âï¸"}].map((s,o)=>r.jsxs("div",{className:"relative group p-6 rounded-2xl transition-all duration-300 hover:shadow-lg bg-white border-2 border-gray-200 hover:border-[#0c9ab9]",children:[r.jsx("div",{className:"text-5xl mb-4",children:s.icon}),r.jsx("h3",{className:"text-xl font-bold mb-3 text-gray-900",children:s.title}),r.jsx("p",{className:"text-gray-600 leading-relaxed",children:s.description})]},o))}),r.jsxs("div",{className:"bg-[#0c9ab9] rounded-2xl p-6 md:p-8 text-center shadow-lg",children:[r.jsx("h3",{className:"text-white text-2xl md:text-3xl font-bold mb-4",children:"Need Fast Help?"}),r.jsx("p",{className:"text-white text-base md:text-lg mb-6 opacity-95",children:"Our team is ready to assistâcall us anytime, day or night"}),r.jsx(un,{action:"call",label:"Call Now: (206) 446-3721",variant:"secondary",showIcon:!0,dataTestId:"emergency-situations-call-btn"})]})]}),r.jsxs("div",{className:"mb-12",children:[r.jsxs("div",{className:"mb-8",children:[r.jsxs("div",{className:"inline-flex items-center gap-2 bg-[#36a326]/10 px-4 py-2 rounded-full mb-6",children:[r.jsx(Hc,{className:"w-5 h-5 text-[#36a326]"}),r.jsx("span",{className:"text-[#36a326] text-sm font-semibold uppercase tracking-wider",children:"Our Process"})]}),r.jsxs("h2",{className:"text-gray-900 text-2xl md:text-3xl font-bold mb-4",children:["How We ",r.jsx("span",{className:"text-[#36a326]",children:"Help You"})]}),r.jsx("p",{className:"text-gray-600 text-base leading-relaxed",children:"A straightforward approach to getting your roof back in shape, fast"})]}),r.jsx("div",{className:"grid grid-cols-2 md:grid-cols-2 lg:grid-cols-4 gap-6",children:[{step:"1",title:"Get In Touch",description:"Call our team to schedule an appointment. Real people ready to help.",time:"Quick",icon:kt},{step:"2",title:"Quick Dispatch",description:"We send a licensed technician to your location with tools and materials ready.",time:"Fast",icon:Hc},{step:"3",title:"Full Assessment",description:"We thoroughly inspect the damage and map out exactly what needs to be done.",time:"Thorough",icon:zc},{step:"4",title:"Get Fixed",description:"We complete repairs on-siteâtemporary solutions that day if needed, permanent soon after.",time:"Same Day",icon:L}].map((s,o)=>{const a=s.icon;return r.jsxs("div",{className:"relative group",children:[o<3&&r.jsx("div",{className:"hidden lg:block absolute top-16 left-full w-full h-0.5 bg-[#36a326] -z-10"}),r.jsxs("div",{className:"relative bg-white rounded-2xl p-6 border-2 border-gray-200 hover:border-[#36a326] transition-all duration-300 hover:shadow-lg h-full",children:[r.jsx("div",{className:"absolute -top-4 -left-4 w-12 h-12 rounded-full bg-[#3
2806a326] flex items-center justify-center text-white font-bold text-xl shadow-lg",children:s.step}),r.jsx("div",{className:"mb-4 mt-2",children:r.jsx("div",{className:"w-14 h-14 rounded-xl bg-[#36a326]/10 flex items-center justify-center",children:r.jsx(a,{className:"w-7 h-7 text-[#36a326]"})})}),r.jsx("div",{className:"inline-block bg-[#0c9ab9]/10 text-[#0c9ab9] text-xs font-bold px-3 py-1 rounded-full mb-3",children:s.time}),r.jsx("h3",{className:"text-gray-900 text-lg font-bold mb-3",children:s.title}),r.jsx("p",{className:"text-gray-600 text-sm leading-relaxed",children:s.description})]})]},o)})})]}),r.jsx("div",{className:"mb-12",children:r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8 items-center",children:[r.jsxs("div",{className:"relative order-2 lg:order-1",children:[r.jsx("div",{className:"absolute -top-8 -left-8 w-full h-full bg-gradient-to-br from-[#0c9ab9]/20 to-[#0c9ab9]/20 rounded-3xl"}),r.jsx("div",{className:"relative rounded-3xl overflow-hidden shadow-2xl",children:r.jsx("img",{src:Ek,alt:"Emergency roof repair in Seattle by Alimac Pro",className:"w-full h-[400px] md:h-[500px] object-cover"})})]}),r.jsxs("div",{className:"order-1 lg:order-2",children:[r.jsxs("div",{className:"inline-flex items-center gap-2 bg-[#0c9ab9]/10 px-4 py-2 rounded-full mb-6",children:[r.jsx(es,{className:"w-5 h-5 text-[#0c9ab9]"}),r.jsx("span",{className:"text-[#0c9ab9] text-sm font-semibold uppercase tracking-wider",children:"Arlington's Trusted Emergency Team"})]}),r.jsxs("h2",{className:"text-gray-900 text-2xl md:text-3xl font-bold mb-6 leading-tight",children:["When Seconds Count, Trust ",r.jsx("span",{className:"text-[#0c9ab9]",children:"Alimac Pro"})]}),r.jsx("div",{className:"space-y-4 mb-8",children:[{title:"Fast Response Times",description:"Real people answer our callsânot voicemail. Schedule your emergency appointment quickly."},{title:"Fully Stocked Emergency Vehicles",description:"Our trucks carry premium materials for immediate temporary or permanent repairs."},{title:"Licensed & Insured Emergency Work",description:"License #ALIMAPI805NS. All emergency repairs meet or exceed local building codes."},{title:"Insurance Claim Assistance",description:"We document everything and work directly with your insurance for faster claims."},{title:"20+ Years Emergency Experience",description:"We've seen it all. From Pacific Northwest storms to freak accidentsâwe fix it right, fast."}].map((s,o)=>r.jsxs("div",{className:"flex items-start gap-4 group",children:[r.jsx("div",{className:"flex-shrink-0 w-6 h-6 rounded-full bg-[#0c9ab9] flex items-center justify-center mt-1",children:r.jsx(L,{className:"w-4 h-4 text-white"})}),r.jsxs("div",{children:[r.jsx("h3",{className:"text-gray-900 text-base font-bold mb-1 group-hover:text-[#0c9ab9] transition-colors",children:s.title}),r.jsx("p",{className:"text-gray-600 text-sm leading-relaxed",children:s.description})]})]},o))}),r.jsx(un,{action:"quote",label:"Request Emergency Service Now",variant:"primary",dataTestId:"why-choose-emergency-quote-btn"})]})]})}),r.jsx(Tr,{})]}),r.jsxs("div",{className:"lg:col-span-1",children:[r.jsx(tr,{}),r.jsx(nr,{currentPage:"emergency-service"})]})]})})}),r.jsxs("section",{className:"relative w-full bg-[#E8EEF2] py-16 md:py-20",children:[r.jsxs("div",{className:"container mx-auto px-6 md:px-8 max-w-4xl",children:[r.jsxs("div",{className:"text-center mb-12",children:[r.jsxs("div",{className:"flex items-center justify-center gap-3 mb-4",children:[r.jsx("div",{className:"w-8 h-0.5 bg-[#FFB81C]"}),r.jsx("span",{className:"text-[#0c9ab9] font-semibold uppercase text-sm tracking-wider",children:"FAQS"})]}),r.jsx("h2",{className:"text-[#1a3a5c] text-3xl md:text-4xl font-bold mb-4",children:"Emergency Roofing Questions"}),r.jsx("p",{className:"text-gray-600 max-w-2xl mx-auto",children:"Have questions about our fast emergency response? Get quick answers to common concerns about emergency roof repairs and our rapid response process."})]}),r.jsx("div",{className:"space-y-4",children:n.map((s,o)=>r.jsxs("div",{className:"bg-white rounded-xl overflow-hidden shadow-sm",children:[r.jsxs("button",{onClick:()=>
280t(e===o?null:o),className:"w-full flex items-center justify-between p-5 md:p-6 text-left hover:bg-gray-50 transition-colors",children:[r.jsx("h3",{className:"text-[#1a3a5c] font-semibold pr-4",children:s.question}),r.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center flex-shrink-0 bg-[#0c9ab9] transition-transform ${e===o?"rotate-180":""}`,children:r.jsx("svg",{className:"w-5 h-5 text-white",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",children:r.jsx("path",{d:"M19 9l-7 7-7-7"})})})]}),r.jsx("div",{className:`overflow-hidden transition-all duration-300 ${e===o?"max-h-96":"max-h-0"}`,children:r.jsx("div",{className:"px-5 md:px-6 pb-5 md:pb-6",children:r.jsx("div",{className:"border-l-4 border-gray-300 pl-4",children:r.jsx("p",{className:"text-gray-600 leading-relaxed",children:s.answer})})})})]},o))})]}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-1 bg-[#0c9ab9]"})]}),r.jsx("section",{className:"relative w-full bg-gray-50 py-16 md:py-24",children:r.jsxs("div",{className:"container mx-auto px-4 md:px-8 lg:px-12 max-w-7xl text-center",children:[r.jsx("h2",{className:"text-gray-900 text-3xl md:text-4xl font-bold mb-6",children:"Emergency Roof Repair Across Snohomish County & Greater Seattle"}),r.jsx("p",{className:"text-gray-700 text-lg mb-8 max-w-3xl mx-auto",children:"Fast response times across Arlington, Snohomish County, and the Greater Seattle area"}),r.jsx("div",{className:"max-w-4xl mx-auto",children:r.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-3 mb-8",children:["Arlington","Marysville","Smokey Point","Stanwood","Lake Stevens","Everett","Snohomish","Lynnwood","Bothell","Woodinville","Shoreline","Seattle","Bellevue","Redmond","Kirkland"].map((s,o)=>r.jsxs("div",{className:"flex items-center gap-2 text-left",children:[r.jsx("span",{className:"w-2 h-2 bg-[#0c9ab9] rounded-full flex-shrink-0"}),r.jsx("span",{className:"text-gray-700 font-medium",children:s})]},o))})})]})}),r.jsx("section",{className:"relative w-full bg-white py-12 md:py-16 border-t border-gray-100",children:r.jsxs("div",{className:"container mx-auto px-4 md:px-8 lg:px-12 max-w-7xl",children:[r.jsxs("div",{className:"text-center mb-8",children:[r.jsx("h3",{className:"text-gray-900 text-xl md:text-2xl font-bold mb-2",children:"Certified & Trusted"}),r.jsx("p",{className:"text-gray-600",children:"Working with industry-leading manufacturers and certifications"})]}),r.jsx(Kn,{logos:[{src:"/images/logos/nrca-transparent.png",alt:"NRCA Certified"},{src:"/images/logos/owens-corning-transparent.png",alt:"Owens Corning Preferred Contractor"},{src:"/images/logos/total-protection-transparent.png",alt:"Total Protection Roofing"},{src:"/images/logos/bbb-transparent.png",alt:"BBB Accredited"}],speed:40})]})}),r.jsx(en,{}),r.jsx(Ne,{})]})},Ik=()=>{const[e,t]=v.useState(null);ye({title:"Flexible Roofing Financing Options in Arlington, WA | Alimac Pro",description:"Make your roofing project affordable with flexible financing options from Alimac Pro in Arlington, WA, serving Snohomish County & Greater Seattle. Fast approval, competitive rates, and terms from 24-84 months.",path:"/financing"}),v.useEffect(()=>{window.scrollTo(0,0)},[]);const n=[{src:"/images/logos/nrca-transparent.png",alt:"NRCA ProCertification"},{src:"/images/logos/owens-corning-transparent.png",alt:"Owens Corning Preferred Contractor"},{src:"/images/logos/total-protection-transparent.png",alt:"Total Protection Roofing System"},{src:"/images/logos/bbb-transparent.png",alt:"BBB Accredited Business"}];return r.jsxs("div",{className:"flex flex-col w-full relative bg-white",children:[r.jsx(ke,{}),r.jsx(je,{}),r.jsxs("section",{className:"relative w-full bg-[#0c9ab9] pt-16 pb-20 md:pt-20 md:pb-24",children:[r.jsx("div",{className:"container mx-auto px-6 md:px-8 max-w-7xl",children:r.jsx("h1",{className:"text-white text-3xl md:text-4xl lg:text-[42px] font-bold text-center leading-tight",children:"Flexible Roof Financing Options in Arlington, WA"})}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 overflow-hidden",children:r.jsxs("svg",{viewBox:"0 0 1440 60",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"w-full h-auto",preserveAspectRatio:"none",children:[r.jsx("path",{d:"M0 60V30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30V60H0Z",fill:"white"}),r.jsx("path",{d:"M0 30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30",stroke:"#36a326",strokeWidth:"4",fill:"none"})]})})]}),r.jsx("section",{className:"relative w-full bg-white py-12 md:py-16",children:r.jsx("div",{className:"container mx-auto px-6 md:px-8 max-w-7xl",children:r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-8 lg:gap-12",children:[r.jsxs("div",{className:"lg:col-span-2",children:[r.jsxs("div",{className:"mb-12",children:[r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed mb-6",children:["A quality roof is one of the most important investments you can make for your home. We understand that the cost can feel significant, which is why we offer ",r.jsx("span",{className:"font-bold text-gray-900",children:"flexible financing options"})," to make your roofing project affordable and manageable."]}),r.jsx("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed",children:"With our partnership with leading financing providers, you can get approved quickly and start protecting your home right awayâwithout the financial stress of a large upfront payment."})]}),r.jsxs("div",{className:"mb-12",children:[r.jsxs("div",{className:"mb-8",children:[r.jsxs("div",{className:"inline-flex items-center gap-2 bg-[#3
2806a326]/10 px-4 py-2 rounded-full mb-6",children:[r.jsx("div",{className:"w-2 h-2 bg-[#36a326] rounded-full"}),r.jsx("span",{className:"text-[#36a326] text-sm font-semibold uppercase tracking-wider",children:"Simple Process"})]}),r.jsxs("h2",{className:"text-gray-900 text-2xl md:text-3xl font-bold mb-4",children:["How ",r.jsx("span",{className:"text-[#36a326]",children:"Financing Works"})]}),r.jsx("p",{className:"text-gray-600 text-base leading-relaxed",children:"Get approved, start your project, and pay over time with flexible terms"})]}),r.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6",children:[{step:"1",title:"Apply & Get Approved",description:"Submit a quick application and get an instant or fast credit decision.",icon:x1},{step:"2",title:"Review Terms",description:"Choose flexible payment terms that fit your budgetâ24 to 84 months.",icon:tx},{step:"3",title:"Project Begins",description:"Once approved, we start work on your roof right away.",icon:ao},{step:"4",title:"Make Payments",description:"Enjoy your new roof while making affordable monthly payments.",icon:Oa}].map((s,o)=>{const a=s.icon;return r.jsx("div",{className:"relative group",children:r.jsxs("div",{className:"relative bg-white rounded-2xl p-6 border-2 border-gray-200 hover:border-[#36a326] transition-all duration-300 hover:shadow-lg h-full",children:[r.jsx("div",{className:"absolute -top-4 -left-4 w-10 h-10 rounded-full bg-[#36a326] flex items-center justify-center text-white font-bold text-base shadow-lg",children:s.step}),r.jsx("div",{className:"mb-4 mt-2",children:r.jsx("div",{className:"w-12 h-12 rounded-lg bg-[#36a326]/10 flex items-center justify-center",children:r.jsx(a,{className:"w-6 h-6 text-[#36a326]"})})}),r.jsx("h3",{className:"text-gray-900 text-base font-bold mb-2",children:s.title}),r.jsx("p",{className:"text-gray-600 text-sm leading-relaxed",children:s.description})]})},o)})})]}),r.jsxs("div",{className:"mb-12",children:[r.jsxs("div",{className:"mb-8",children:[r.jsxs("h2",{className:"text-gray-900 text-2xl md:text-3xl font-bold mb-4",children:["Why Choose ",r.jsx("span",{className:"text-[#0c9ab9]",children:"Financing"})]}),r.jsx("p",{className:"text-gray-600 text-base leading-relaxed",children:"Make your roofing project work with your budget"})]}),r.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[{icon:ii,title:"Fast Approval",description:"Most applications receive instant decisions."},{icon:Oa,title:"Preserve Your Savings",description:"Keep cash available for emergencies and other needs."},{icon:dh,title:"Flexible Terms",description:"Choose payment plans that fit your budgetâ24 to 84 months."},{icon:ao,title:"Quality Materials",description:"Financing lets you choose premium materials without compromise."}].map((s,o)=>{const a=s.icon;return r.jsxs("div",{className:"flex items-start gap-4 group",children:[r.jsx("div",{className:"flex-shrink-0 w-6 h-6 rounded-full bg-[#0c9ab9] flex items-center justify-center mt-1",children:r.jsx(a,{className:"w-4 h-4 text-white"})}),r.jsxs("div",{children:[r.jsx("h3",{className:"text-gray-900 text-base font-bold mb-1 group-hover:text-[#0c9ab9] transition-colors",children:s.title}),r.jsx("p",{className:"text-gray-600 text-sm leading-relaxed",children:s.description})]})]},o)})})]})]}),r.jsxs("div",{className:"lg:col-span-1",children:[r.jsx(tr,{offerTitle:"Flexible Terms",offerSubtitle:"Financing Options",expiryDate:"Ongoing"}),r.jsx(nr,{currentPage:"financing"})]})]})})}),r.jsxs("section",{className:"relative w-full bg-[#E8EEF2] py-16 md:py-20",children:[r.jsxs("div",{className:"container mx-auto px-6 md:px-8 max-w-4xl",children:[r.jsxs("div",{className:"text-center mb-12",children:[r.jsxs("div",{className:"flex items-center justify-center gap-3 mb-4",children:[r.jsx("div",{className:"w-8 h-0.5 bg-[#FFB81C]"}),r.jsx("span",{className:"text-[#0c9ab9] font-semibold uppercase text-sm tracking-wider",children:"FAQS"}),r.jsx("div",{className:"w-8 h-0.5 bg-[#FFB81C]"})]}),r.jsx("h2",{className:"text-[#1a3a5c] text-3xl md:text-4xl font-bold mb-4",children:"Financing Questions Answered"}),r.jsx("p",{className:"text-gray-600 max-w-2xl mx-auto",children:"Learn more about our flexible financing options and how we
280can help make your roofing project more affordable."})]}),r.jsx("div",{className:"space-y-4",children:[{question:"How quickly can I get approved for financing?",answer:"Most financing applications receive instant credit decisions. Once approved, you can move forward with your roofing project immediately. Our partnership with Foundation Finance ensures fast turnaround timesâtypically within 24 hours for final approval and documentation."},{question:"What are the typical loan terms and payment options?",answer:"We offer flexible financing terms ranging from 24 to 84 months, allowing you to choose a payment plan that fits your budget. Your specific terms depend on factors like the loan amount, creditworthiness, and the chosen repayment period. We work with you to find the most comfortable monthly payment."},{question:"What interest rates can I expect?",answer:"Interest rates are competitive and based on your credit profile and the loan terms you select. Rates typically range from prime to sub-prime depending on your credit score and other factors. We encourage you to apply for a free quote to see the specific rate you may qualify for."},{question:"Who is eligible for financing?",answer:"Most homeowners with a reasonable credit history are eligible to apply. We work with customers across various credit ranges. Requirements include proof of income, valid identification, and being at least 18 years old. Even if you have less-than-perfect credit, we encourage you to applyâwe may still be able to help."},{question:"What happens after I'm approved?",answer:"Once approved, you'll sign the loan documents and we'll begin your roofing project. Upon completion, Foundation Finance will process payment to us via ACH transfer. Your payments begin after the job is finished according to your agreed-upon loan terms. It's that simple!"}].map((s,o)=>r.jsxs("div",{className:"bg-white rounded-xl overflow-hidden shadow-sm",children:[r.jsxs("button",{onClick:()=>t(e===o?null:o),className:"w-full flex items-center justify-between p-5 md:p-6 text-left hover:bg-gray-50 transition-colors",children:[r.jsx("h3",{className:"text-[#1a3a5c] font-semibold pr-4",children:s.question}),r.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center flex-shrink-0 bg-[#0c9ab9] transition-transform ${e===o?"rotate-180":""}`,children:r.jsx("svg",{className:"w-5 h-5 text-white",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",children:r.jsx("path",{d:"M19 9l-7 7-7-7"})})})]}),r.jsx("div",{className:`overflow-hidden transition-all duration-300 ${e===o?"max-h-96":"max-h-0"}`,children:r.jsx("div",{className:"px-5 md:px-6 pb-5 md:pb-6",children:r.jsx("div",{className:"border-l-4 border-gray-300 pl-4",children:r.jsx("p",{className:"text-gray-600 leading-relaxed",children:s.answer})})})})]},o))})]}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-1 bg-[#0c9ab9]"})]}),r.jsx("section",{className:"relative w-full bg-gradient-to-b from-gray-50 to-white py-16 md:py-24 lg:py-32",children:r.jsx("div",{className:"container mx-auto px-4 md:px-8 lg:px-12 max-w-7xl",children:r.jsxs("div",{className:"max-w-4xl mx-auto space-y-12",children:[r.jsxs("div",{className:"text-center mb-12",children:[r.jsxs("h2",{className:"text-gray-900 text-3xl md:text-4xl lg:text-5xl font-bold mb-6",children:["The ",r.jsx("span",{className:"text-app-primary",children:"Complete Financing"})," Process"]}),r.jsx("p",{className:"text-gray-700 text-lg md:text-xl leading-relaxed",children:"We've partnered with Foundation Finance to make offering financing to your customers seamless and straightforward. Here's how the entire process works from start to finish."})]}),r.jsx("div",{className:"bg-white rounded-2xl p-8 md:p-10 shadow-lg border border-gray-200",children:r.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[r.jsx("div",{className:"flex-shrink-0 w-12 h-12 bg-gradient-to-br from-app-accent to-green-600 rounded-xl flex items-center justify-center",children:r.jsx("span",{className:"text-white font-bold text-xl",children:"1"})}),r.jsxs("div",{children:[r.jsx("h3",{className:"text-gray-900 text-2xl md:text-3xl font-bold mb-3",children:"Submit Credit Application"}),r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed",children:["Offering your customers financing has never been easier. Begin by either ",r.jsx("span",{className:"font-semibold text-app-accent",children:"sending your custom credit app link"})," to your customer or ",r.jsx("span",{className:"font-semibold text-app-accent",children:"log in to your LaunchPAD dealer portal"})," and scan their Driver's License to create a credit application."]})]})]})}),r.jsx("div",{className:"bg-white rounded-2xl p-8 md:p-10 shadow-lg border border-gray-200",children:r.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[r.jsx("div",{className:"flex-shrink-0 w-12 h-12 bg-gradient-to-br from-app-primary to-blue-600 rounded-xl flex items-center justify-center",children:r.jsx("span",{className:"text-white font-bold text-xl",children:"2"})}),r.jsxs("div",{children:[r.jsx("h3",{className:"text-gray-900 text-2xl md:text-3xl font-bold mb-3",children:"Fast Credit Decision & Loan Documents"}),r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed mb-4",children:["Once we receive the application, we'll get back to you quickly with the ",r.jsx("span",{className:"font-semibold text-app-primary",children:"credit decision"}),". If approved, you can offer your customer financing and generate the loan documents in the ",r.jsx("span",{className:"font-semibold text-app-primary",children:"LaunchPAD dealer portal"}),"!"]}),r.jsx("div",{className:"bg-blue-50 border-l-4 border-app-primary p-4 rounded",children:r.jsx("p",{className:"text-gray-700 text-base italic",children:"Most applications receive instant decisions, allowing you to move forward with your project immediately."})})]})]})}),r.jsx("div",{className:"bg-white rounded-2xl p-8 md:p-10 shadow-lg border border-gray-200",children:r.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[r.jsx("div",{className:"flex-shrink-0 w-12 h-12 bg-gradient-to-br from-app-accent to-green-600 rounded-xl flex items-center justify-center",children:r.jsx("span",{className:"text-white font-bold text-xl",children:"3"})}),r.jsxs("div",{children:[r.jsx("h3",{className:"text-gray-900 text-2xl md:text-3xl font-bold mb-3",children:"Complete the Job"}),r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed",children:["After you and your customer sign the loan documents, ",r.jsx("span",{className:"font-semibold text-app-accent",children:"you can begin work on their project"}),". When the job is complete, have them sign the completion certificate and we'll call the customer to review their loan terms and set the first payment date."]})]})]})}),r.jsx("div",{className:"bg-white rounded-2xl p-8 md:p-10 shadow-lg border border-gray-200",children:r.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[r.jsx("div",{className:"flex-shrink-0 w-12 h-12 bg-gradient-to-br from-app-primary to-blue-600 rounded-xl flex items-center justify-center",children:r.jsx("span",{className:"text-white font-bold text-xl",children:"4"})}),r.jsxs("div",{children:[r.jsx("h3",{className:"text-gray-900 text-2xl md:text-3xl font-bold mb-3",children:"Customer Verification Call"}),r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed",children:["We'll call the customer to ",r.jsx("span",{className:"font-semibold text-app-primary",children:"review their loan terms"})," and ",r.jsx("span",{className:"font-semibold text-app-primary",children:"set the first payment date"}),". This ensures complete transparency and confirms customer satisfaction with the completed work."]})]})]})}),r.jsx("div",{className:"bg-white rounded-2xl p-8 md:p-10 shadow-lg border border-gray-200",children:r.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[r.jsx("div",{className:"flex-shrink-0 w-12 h-12 bg-gradient-to-br from-app-accent to-green-600 rounded-xl flex items-center justify-center",children:r.jsx("span",{className:"text-white font-bold text-xl",children:"5"})}),r.jsxs("div",{children:[r.jsx("h3",{className:"text-gray-900 text-2xl md:text-3xl font-bold mb-3",children:"Get Paid via ACH"}),r.jsxs("p",{className:"text-gray-700 text-base md:text-lg leading-relaxed mb-4",children:["Then, ",r.jsx("span",{className:"font-semibold text-app-accent",children:"we'll send you the funds via ACH"}),". Fast, secure, and reliable payment processing ensures you get paid quickly for your completed work."]}),r.jsx("div",{className:"bg-green-50 border-l-4 border-app-accent p-4 rounded",children:r.jsx("p",{className:"text-gray-700 text-base font-semibold",children:"Funds typically arr
280ive within 1-2 business days after verification."})})]})]})})]})})}),r.jsx("section",{className:"relative w-full bg-white py-16 md:py-24 lg:py-32",children:r.jsxs("div",{className:"container mx-auto px-4 md:px-8 lg:px-12 max-w-7xl",children:[r.jsxs("div",{className:"text-center mb-16",children:[r.jsxs("div",{className:"inline-flex items-center gap-2 bg-app-accent/10 px-4 py-2 rounded-full mb-4",children:[r.jsx("div",{className:"w-2 h-2 bg-app-accent rounded-full"}),r.jsx("span",{className:"text-app-accent text-sm font-semibold uppercase tracking-wider",children:"Why Choose Financing"})]}),r.jsx("h2",{className:"text-gray-900 text-3xl md:text-4xl lg:text-5xl font-bold mb-4",children:"Benefits of Roof Financing"}),r.jsx("p",{className:"text-gray-600 text-lg md:text-xl max-w-3xl mx-auto",children:"Flexible financing makes quality roofing accessible to every homeowner"})]}),r.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8",children:[{icon:ii,title:"Start Immediately",description:"No need to wait while saving up. Protect your home now with affordable monthly payments."},{icon:Oa,title:"Preserve Your Savings",description:"Keep cash available for emergencies and other needs while investing in your home's protection."},{icon:dh,title:"Flexible Payment Plans",description:"Choose terms that fit your budget. Spread costs over manageable monthly installments."},{icon:kt,title:"Quick Approval",description:"Fast credit decisions mean your roofing project can start sooner. Most approvals are instant."},{icon:L,title:"Competitive Rates",description:"We work with trusted lenders to secure favorable terms and competitive interest rates."},{icon:ao,title:"Quality Materials",description:"Financing allows you to choose premium materials without compromising your budget."}].map((s,o)=>{const a=s.icon;return r.jsxs("div",{className:"group bg-gradient-to-br from-gray-50 to-white rounded-2xl p-8 border border-gray-200 hover:border-app-accent/50 hover:shadow-xl transition-all duration-300",children:[r.jsx("div",{className:"w-14 h-14 bg-gradient-to-br from-app-accent/10 to-app-primary/10 rounded-xl flex items-center justify-center mb-6 group-hover:scale-110 transition-transform duration-300",children:r.jsx(a,{className:"w-7 h-7 text-app-accent"})}),r.jsx("h3",{className:"text-gray-900 text-xl md:text-2xl font-bold mb-3",children:s.title}),r.jsx("p",{className:"text-gray-600 text-base leading-relaxed",children:s.description})]},o)})})]})}),r.jsx("section",{className:"relative w-full bg-gradient-to-b from-gray-50 to-white py-16 md:py-24",children:r.jsxs("div",{className:"container mx-auto px-4 md:px-8 lg:px-12 max-w-7xl",children:[r.jsx(Kn,{logos:n,speed:40}),r.jsxs("div",{className:"text-center mt-12 max-w-3xl mx-auto",children:[r.jsxs("h2",{className:"text-gray-900 text-2xl md:text-3xl lg:text-4xl font-bold mb-6",children:["Trusted by Arlington & Snohomish County Homeowners for ",r.jsx("span",{className:"text-app-accent",children:"20+ Years"})]}),r.jsxs("p",{className:"text-gray-700 text-lg leading-relaxed mb-6",children:["At Alimac Pro, we understand that a new roof is a significant investment. That's why we've partnered with ",r.jsx("span",{className:"font-semibold text-app-primary",children:"Foundation Finance"})," to offer flexible financing options that make it easier to protect your home without financial stress."]}),r.jsxs("p",{className:"text-gray-700 text-lg leading-relaxed",children:["Our financing solutions are designed to work with your budget, offering ",r.jsx("span",{className:"bg-green-100 px-2 py-1 rounded font-semibold",children:"competitive rates"}),", ",r.jsx("span",{className:"bg-blue-100 px-2 py-1 rounded font-semibold",children:"quick approvals"}),", and ",r.jsx("span",{className:"bg-yellow-100 px-2 py-1 rounded font-semibold",children:"flexible payment terms"}),"."]})]})]})}),r.jsx(Ne,{})]})},Ok=()=>(ye({title:"Customer Reviews | Alimac Pro Roofing, Arlington WA",description:"Read what our customers say about Alimac Pro roofing in Arlington, WA and across Snohomish County & Greater Seattle. Trusted, 5-star rated roofing service.",path:"/reviews"}),v.useEffect(()=>{const e=document.createElement("script");return e.type="text/javascript",e.src="https://reputationhub.site/reputation/assets/review-widget.js",e.async=!0,document.body.appendChild(e),()=>{document.body.contains(e)&&document.body.removeChild(e)}},[]),r.jsxs("div",{className:"flex flex-col w-full relative bg-white",children:[r.jsx(ke,{}),r.jsx(je,{}),r.jsxs("section",{className:"relative w-full bg-[#0c9ab9] pt-16 pb-20 md:pt-20 md:pb-24",children:[r.jsx("div",{className:"container mx-auto px-6 md:px-8 max-w-7xl",children:r.jsx("h1",{className:"text-white text-3xl md:text-4xl lg:text-[42px] font-bold text-center leading-tight",children:"What Our Customers Say About Alimac Pro"})}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 overflow-hidden",children:r.jsxs("svg",{viewBox:"0 0 1440 60",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"w-full h-auto",preserveAspectRatio:"none",children:[r.jsx("path",{d:"M0 60V30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30V60H0Z",fill:"white"}),r.jsx("path",{d:"M0 30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30",stroke:"#36a326",strokeWidth:"4",fill:"none"})]})})]}),r.jsx("section",{className:"relative w-full bg-gradient-to-b from-gray-50 to-white py-16 md:py-24 lg:py-32",children:r.jsxs("div",{className:"container mx-auto px-4 md:px-8 lg:px-12 max-w-7xl",children:[r.jsx("iframe",{className:"lc_reviews_widget",src:"https://reputationhub.site/reputation/widgets/review_widget/q4iCpzYYjPNIHtDgMELo?widgetId=691ea2309fb28d0b069d1d1f",frameBorder:"0",scrolling:"no",style:{minWidth:"100%",width:"100%"},title:"Customer Reviews from Go High Level","data-testid":"ghl-reviews-widget"}),r.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-8 mt-16",children:[r.jsxs("div",{className:"text-center",children:[r.jsx("div",{className:"text-5xl font-bold text-app-primary mb-2",children:"20+"}),r.jsx("div",{className:"text-gray-700 text-lg font-semibold",children:"Years of Excellence"}),r.jsx("div",{className:"text-gray-600",children:"Serving Snohomish County & Greater Seattle"})]}),r.jsxs("div",{className:"text-center",children:[r.jsx("div",{className:"text-5xl font-bold text-app-accent mb-2",children:"1000+"}),r.jsx("div",{className:"text-gray-700 text-lg font-semibold",children:"Happy Customers"}),r.jsx("div",{className:"text-gray-600",children:"Roofs Installed & Repaired"})]}),r.jsxs("div",{className:"text-center",children:[r.jsx("div",{className:"flex items-center justify-center gap-1 mb-2",children:[1,2,3,4,5].map(e=>r.jsx(Yo,{className:"w-8 h-8 text-yellow-400 fill-yellow-400"},e))}),r.jsx("div",{className:"text-gray-700 text-lg font-semibold",children:"5-Star Rated"}),r.jsx("div",{className:"text-gray-600",children:"Industry-Leading Service"})]})]})]})}),r.jsx(Ne,{})]})),Dk=()=>{ye({title:"Get a Free Roofing Quote in Arlington, WA | Alimac Pro",de
280scription:"Request a free, no-obligation roofing quote from Alimac Pro in Arlington, WA, serving Snohomish County & Greater Seattle. Get a detailed estimate within 24 hours.",path:"/get-quote"});const e=["Get a detailed quote within 24 hours","No obligation or pressure to buy","Expert assessment of your roofing needs","See financing options and payment plans"],t=[{src:"/images/logos/nrca-transparent.png",alt:"NRCA ProCertification"},{src:"/images/logos/owens-corning-transparent.png",alt:"Owens Corning Preferred Contractor"},{src:"/images/logos/total-protection-transparent.png",alt:"Total Protection Roofing System"},{src:"/images/logos/bbb-transparent.png",alt:"BBB Accredited Business"}];return v.useEffect(()=>{const n=setTimeout(()=>{const s=document.createElement("script");s.type="text/javascript",s.src="https://reputationhub.site/reputation/assets/review-widget.js",s.async=!0,document.body.appendChild(s)},3e3);return()=>{clearTimeout(n)}},[]),r.jsxs("div",{className:"flex flex-col w-full relative bg-white",children:[r.jsx(ke,{}),r.jsx(je,{}),r.jsxs("section",{className:"block lg:hidden w-full",children:[r.jsxs("div",{className:"bg-white px-4 pt-6 pb-2",children:[r.jsxs("h1",{className:"text-3xl md:text-4xl font-bold leading-tight text-gray-900 text-center mb-2",children:["Get your ",r.jsx("span",{className:"text-app-primary",children:"free quote"})," today"]}),r.jsx("p",{className:"text-gray-600 text-sm text-center mb-4",children:"Fill out the form below and we'll get back to you within 24 hours."})]}),r.jsx("div",{id:"quote-form",className:"w-full px-2",children:r.jsx("iframe",{src:"https://api.leadconnectorhq.com/widget/form/yFz8TUGoH4Y2zh3i57eO",style:{width:"100%",height:"800px",border:"none"},id:"inline-yFz8TUGoH4Y2zh3i57eO","data-layout":"{'id':'INLINE'}","data-trigger-type":"alwaysShow","data-trigger-value":"","data-activation-type":"alwaysActivated","data-activation-value":"","data-deactivation-type":"neverDeactivate","data-deactivation-value":"","data-form-name":"Primary Roofing Light Form","data-height":"800","data-layout-iframe-id":"inline-yFz8TUGoH4Y2zh3i57eO","data-form-id":"yFz8TUGoH4Y2zh3i57eO",title:"Get Quote Form",sandbox:"allow-scripts allow-same-origin allow-forms"})}),r.jsx("div",{className:"px-4 py-6 space-y-3",children:e.map((n,s)=>r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx("div",{className:"flex-shrink-0 w-5 h-5 bg-app-accent rounded-full flex items-center justify-center mt-0.5",children:r.jsx(L,{className:"w-3.5 h-3.5 text-white"})}),r.jsx("p",{className:"text-gray-700 text-sm",children:n})]},s))}),r.jsx("div",{className:"w-full px-4 py-4 border-t border-gray-200",children:r.jsx(Kn,{logos:t,speed:40})})]}),r.jsxs("section",{className:"hidden lg:block relative w-full bg-gradient-to-br from-blue-600 via-blue-700 to-blue-900 overflow-hidden",children:[r.jsx("div",{className:"absolute inset-0 opacity-10",style:{backgroundImage:"radial-gradient(circle, rgba(255,255,255,0.3) 1px, transparent 1px)",backgroundSize:"24px 24px"}}),r.jsx("div",{className:"container mx-auto px-4 py-16 lg:py-20 relative z-10",children:r.jsxs("div",{className:"max-w-7xl mx-auto bg-white rounded-3xl shadow-2xl overflow-hidden",children:[r.jsxs("div",{className:"grid grid-cols-2 gap-0 items-center",children:[r.jsxs("div",{className:"flex flex-col gap-6 p-16",children:[r.jsx("div",{className:"w-12 h-12 bg-gray-900 rounded-lg flex items-center justify-center",children:r.jsx("div",{className:"w-8 h-8 bg-white rounded"})}),r.jsx("div",{children:r.jsxs("h1",{className:"text-5xl lg:text-6xl font-bold leading-tight text-gray-900",children:["Get your"," ",r.jsx("span",{className:"text-app-primary",children:"free quote"})," today"]})}),r.jsxs("div",{className:"bg-gray-50 rounded-2xl p-6 border border-gray-200",children:[r.jsxs("div",{className:"flex items-start gap-3 mb-4",children:[r.jsx("div",{className:"text-5xl text-app-primary leading-none font-serif",children:'"'}),r.jsx("p",{className:"text-lg text-gray-700 pt-2",children:"Alimac Pro gave me a fair quote and completed my roof in just 2 days. Best decision I made for my home!"})]}),r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("div",{className:"w-10 h-10 bg-gradient-to-br from-app-accent to-app-primary rounded-full flex items-center justify-center text-white font-bold text-sm",children:"MJ"}),r.jsxs("div",{children:[r.jsx("div",{className:"font-semibold text-gray-900 text-sm",children:"Michael Johnson"}),r.jsx("div",{className:"text-xs text-gray-600",children:"Principal CEO Affordable Roofing"})]})]})]}),r.jsx("div",{className:"space-y-3",children:e.map((n,s)=>r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx("div",{className:"flex-shrink-0 w-5 h-5 bg-app-accent rounded-full flex items-center justify-center mt-0.5",children:r.jsx(L,{className:"w-3.5 h-3.5 text-white"})}),r.jsx("p",{className:"text-gray-700 text-base",children:n})]},s))})]}),r.jsx("div",{id:"quote-form-desktop",className:"bg-white flex items-center justify-center p-10",children:r.jsx("div",{className:"w-full max-w-full",children:r.jsx("iframe",{src:"https://api.leadconnectorhq.com/widget/form/yFz8TUGoH4Y2zh3i57eO",style:{width:"100%",height:"800px",border:"none"},"data-layout":"{'id':'INLINE'}","data-trigger-type":"alwaysShow","data-trigger-value":"","data-activation-type":"alwaysActivated","data-activation-value":"","data-deactivation-type":"neverDeactivate","data-deactivation-value":"","data-form-name":"Primary Roofing Light Form","data-height":"800","data-layout-iframe-id":"inline-yFz8TUGoH4Y2zh3i57eO-desktop","data-form-id":"yFz8TUGoH4Y2zh3i57eO",title:"Get Quote Form",sandbox:"allow-scripts allow-same-origin allow-forms"})})})]}),r.jsx("div",{className:"w-full px-12 py-6 border-t border-gray-200",children:r.jsx(Kn,{logos:t,speed:40})})]})})]}),r.jsx("section",{className:"w-full py-12 md:py-16 px-4",style:{backgroundColor:"#0c9ab9"},children:r.jsxs("div",{className:"max-w-7xl mx-auto",children:[r.jsxs("div",{className:"text-center mb-6",children:[r.jsx("h2",{className:"text-white text-3xl md:text-4xl font-bold mb-3",children:"What Our Customers Say"}),r.jsx("p",{className:"text-gray-200 text-base md:text-lg max-w-2xl mx-auto",children:"Don't just take our word for itâhear from Arlington and Snohomish County homeowners who trust Alimac Pro"})]}),r.jsx("div",{className:"w-full",children:r.jsx("iframe",{className:"lc_reviews_widget",src:"https://reputationhub.site/reputation/widgets/review_widget/q4iCpzYYjPNIHtDgMELo?widgetId=69182aa9169c61da935c8b8c",frameBorder:"0",scrolling:"no",style:{minWidth:"100%",width:"100%",minHeight:"400px",border:"none"},title:"Customer Reviews",sandbox:"allow-scripts allow-same-origin",loading:"lazy"})})]})}),r.jsx(Ne,{})]})},Th=()=>
280(ye({title:"Get Your Detailed Roofing Quote | Alimac Pro",description:"Answer a few quick questions and get your free, no-obligation Arlington, WA roofing quote from Alimac Pro, serving Snohomish County & Greater Seattle. Fast, simple, and 100% private.",path:"/detailed-roofing-quote"}),v.useEffect(()=>{if(window.scrollTo(0,0),!document.querySelector('script[src="https://link.msgsndr.com/js/form_embed.js"]')){const s=document.createElement("script");s.src="https://link.msgsndr.com/js/form_embed.js",s.async=!0,document.body.appendChild(s)}const t="https://reputationhub.site/reputation/assets/review-widget.js",n=window.setTimeout(()=>{if(!document.querySelector(`script[src="${t}"]`)){const o=document.createElement("script");o.type="text/javascript",o.src=t,o.async=!0,document.body.appendChild(o)}},3e3);return()=>window.clearTimeout(n)},[]),r.jsxs("div",{className:"flex flex-col w-full relative bg-white",children:[r.jsx(ke,{}),r.jsxs("main",{id:"main-content",children:[r.jsxs("section",{className:"relative w-full overflow-hidden",style:{background:"linear-gradient(135deg, #1a3a5c 0%, #0c9ab9 60%, #36a326 100%)"},children:[r.jsx("div",{className:"absolute inset-0 opacity-15 pointer-events-none",style:{backgroundImage:"radial-gradient(circle, rgba(255,255,255,0.4) 1px, transparent 1px)",backgroundSize:"20px 20px"}}),r.jsxs("div",{className:"relative z-10 mx-auto w-full max-w-4xl px-3 py-4 sm:px-5 sm:py-6",children:[r.jsxs("div",{className:"text-center text-white",children:[r.jsx("img",{src:$o,alt:"Alimac Pro Roofing",className:"mx-auto mb-2 h-14 w-auto brightness-0 invert sm:h-16",width:"105",height:"64"}),r.jsx("p",{className:"mb-1 text-xs font-bold uppercase tracking-[0.16em] text-[#FFDA73] sm:text-sm",children:"Free, no-obligation estimate"}),r.jsx("h1",{className:"text-2xl font-bold leading-tight sm:text-3xl md:text-4xl",children:"Get Your Detailed Roofing Quote"}),r.jsx("p",{className:"mx-auto mt-1 max-w-2xl text-sm text-white/90 sm:text-base",children:"Answer a few quick questions to get started. It takes less than 60 seconds."})]}),r.jsxs("div",{className:"mt-3 w-full sm:mt-4",children:[r.jsx("iframe",{src:"https://api.leadconnectorhq.com/widget/survey/n3Oekm5gWVLrap0K6kyh",className:"block w-full",style:{border:"none",minHeight:"640px"},scrolling:"no",id:"n3Oekm5gWVLrap0K6kyh",title:"Get a free roofing quote","data-testid":"iframe-quick-quote-survey"}),r.jsx("p",{className:"mt-2 text-center text-xs text-white/80",children:"Your information is private and never shared."})]})]})]}),r.jsx("section",{className:"w-full bg-white px-4 py-10 md:py-14",children:r.jsxs("div",{className:"mx-auto max-w-7xl",children:[r.jsxs("div",{className:"mb-4 text-center md:mb-6",children:[r.jsxs("div",{className:"mb-3 flex items-center justify-center gap-2",children:[r.jsx("div",{className:"flex gap-1",children:[...Array(5)].map((e,t)=>r.jsx(Yo,{className:"h-6 w-6 fill-yellow-400 text-yellow-400"},t))}),r.jsx("span",{className:"text-lg font-semibold text-[#1a3a5c]",children:"5.0 rating"})]}),r.jsx("h2",{className:"text-3xl font-bold text-[#1a3a5c] md:text-4xl",children:"What Our Customers Say"})]}),r.jsx("iframe",{className:"lc_reviews_widget",src:"https://reputationhub.site/reputation/widgets/review_widget/q4iCpzYYjPNIHtDgMELo?widgetId=69182aa9169c61da935c8b8c",frameBorder:"0",scrolling:"no",style:{minWidth:"100%",width:"100%",minHeight:"400px",border:"none"},title:"Customer Reviews",sandbox:"allow-scripts allow-same-origin",loading:"lazy"})]})}),r.jsx("section",{className:"w-full bg-[#102f4c] px-5 py-8 text-white","aria-labelledby":"quote-disclaimer-heading",children:r.jsxs("div",{className:"mx-auto max-w-5xl",children:[r.jsx("h2",{id:"quote-disclaimer-heading",className:"mb-3 text-sm font-bold uppercase tracking-wider",children:"Quote Disclaimer"}),r.jsxs("div",{className:"space-y-3 text-xs leading-relaxed text-white/75 sm:text-sm",children:[r.jsx("p",{children:"Any quote or price range generated through this page is a preliminary, non-binding estimate based solely on the information you provide. It is not an offer, contract, guarantee, insurance assessment, or final project price. A written proposal will be provided only after Alimac Pro evaluates the property, confirms measurements and scope, and identifies applicable labor, materials, permits, taxes, access conditions, structural issues, code requirements, and other project-specific factors."}),r.jsx("p",{children:"Final pricing, availability, timelines, warranties, financing, discounts, and promotional offers are subject to eligibility, verification, written terms, change, and expiration. Hidden damage or conditions discovered before or during work may require a revised scope and price with customer authorization. Submitting this form does not obligate you to purchase services and does not obligate Alimac Pro to perform work."}
280),r.jsx("p",{children:"By submitting your information, you confirm that it is accurate and that you are authorized to request information about the property. You consent to being contacted by Alimac Pro by telephone, text message, and email regarding your request, including through automated technology where permitted. Consent is not a condition of purchase. Message and data rates may apply. For urgent leaks or unsafe conditions, do not rely on this online estimate; contact a qualified professional or emergency service as appropriate."})]}),r.jsxs("p",{className:"mt-5 text-xs text-white/55",children:["© ",new Date().getFullYear()," Alimac Pro. All rights reserved."]})]})})]})]})),Mk=()=>{const[,e]=er();return ye({title:"Thank You for Your Roofing Quote Request | Alimac Pro",description:"Your roofing quote request has been received by Alimac Pro. Our team will review your information and follow up shortly.",path:"/quote-thank-you"}),v.useEffect(()=>{var o;const t=document.querySelector('meta[name="robots"]')??document.createElement("meta"),n=t.getAttribute("content"),s=t.isConnected;return t.name="robots",t.content="noindex, nofollow",s||document.head.appendChild(t),(o=window.fbq)==null||o.call(window,"track","Lead",{content_name:"Detailed Roofing Quote Request",content_category:"Roofing Quote"}),()=>{s?n?t.content=n:t.removeAttribute("content"):t.remove()}},[]),r.jsx("main",{className:"flex min-h-screen items-center justify-center bg-gradient-to-br from-[#1a3a5c] via-[#0c9ab9] to-[#36a326] px-4 py-10",children:r.jsxs("section",{className:"w-full max-w-2xl rounded-3xl bg-white px-6 py-10 text-center shadow-2xl sm:px-10 sm:py-12",children:[r.jsx("img",{src:$o,alt:"Alimac Pro Roofing",className:"mx-auto mb-6 h-20 w-auto",width:"132",height:"80"}),r.jsx(ii,{className:"mx-auto mb-5 h-16 w-16 text-[#36a326]","aria-hidden":"true"}),r.jsx("h1",{className:"text-3xl font-bold text-[#1a3a5c] sm:text-4xl",children:"Thank You! Your Request Is In."}),r.jsx("p",{className:"mx-auto mt-4 max-w-xl text-base leading-relaxed text-gray-600 sm:text-lg",children:"Weâve received your roofing information. An Alimac Pro team member will review your project details and contact you to discuss the next steps."}),r.jsx("div",{className:"mx-auto mt-8 max-w-lg rounded-2xl bg-gray-50 p-5 text-left",children:r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(d1,{className:"mt-0.5 h-6 w-6 flex-none text-[#0c9ab9]","aria-hidden":"true"}),r.jsxs("div",{children:[r.jsx("h2",{className:"font-bold text-[#1a3a5c]",children:"What happens next?"}),r.jsx("p",{className:"mt-1 text-sm leading-relaxed text-gray-600",children:"Keep an eye on your phone and email. We may ask a few follow-up questions before scheduling an inspection or preparing your detailed estimate."})]})]})}),r.jsxs("div",{className:"mt-8 flex flex-col justify-center gap-3 sm:flex-row",children:[r.jsxs("a",{href:"tel:2064463721",className:"inline-flex items-center justify-center gap-2 rounded-xl bg-[#36a326] px-6 py-3 font-bold text-white transition-colors hover:bg-green-700",children:[r.jsx(kt,{className:"h-5 w-5","aria-hidden":"true"}),"Call (206) 446-3721"]}),r.jsxs("button",{type:"button",onClick:()=>e("/"),className:"inline-flex items-center justify-center gap-2 rounded-xl border-2 border-[#1a3a5c] px-6 py-3 font-bold text-[#1a3a5c] transition-colors hover:bg-gray-50",children:[r.jsx(Bc,{className:"h-5 w-5","aria-hidden":"true"}),"Return Home"]})]}),r.jsxs("p",{className:"mt-8 text-xs text-gray-500",children:["© ",new Date().getFullYear()," Alimac Pro. All rights reserved."]})]})})},qk="/assets/Logo_TopOfTheHouseRefresh_Tippin_120916_th_final_rgb_1764709513458-DLRkganq.jpg",Wk="/assets/roof_background_2_1765348342447-jGhsIqo6.png",Fk="/assets/roof_background_5_1765348294411-B4TqLdJx.png",sr=[{id:"brownwood",name:"Brownwood",description:"Medium to dark brown shingle with a mix of dark brown, medium brown, and tan granules.",hex:"#5C4033",hueRotate:20,saturate:1.2,brightness:.7,image:"TDD_Brownwood_RGB_swatch_lgOWENSCORNING_1764708029561.jpg"},{id:"chateau-green",name:"Chateau Green",description:"Distinctive green-toned shingles with a mix of medium green, dark brown, and gray granules for a natural look.",hex:"#5D7B5F",hueRotate:120,saturate:.8,brightness:.65,image:"TDD_ChateauGreen_RGB_swatch_lgOWENSCORNING_1764708029557.jpg"},{id:"desert-rose",name:"Desert Rose",description:"Medium warm golden brown shingle with prominent buff, golden tan and dark brown granules.",hex:"#C4A882",hueRotate:35,saturate:1.1,brightness:1.1,image:"TDD_DesertTan_RGB_swatch_lgOWENSCORNING_1764708029558.jpg"}
280,{id:"driftwood",name:"Driftwood",description:"Medium neutral brown shingles with a prominent mix of dark and medium brown, sage green, and golden tan granules.",hex:"#8B8680",hueRotate:25,saturate:.6,brightness:.95,image:"TDD_Driftwood_RGB_swatch_lg_06-2022OWENSCORNING_1764708029558.jpg"},{id:"estate-gray",name:"Estate Gray",description:"Medium warm gray shingles with a green undertone achieved by mixing prominent black, and dark, medium and greenish gray granules.",hex:"#6B7B7E",hueRotate:160,saturate:.5,brightness:.85,image:"TDD_EstateGray_RGB_swatch_lgOWENSCORNING_1764708029559.jpg"},{id:"midnight-plum",name:"Midnight Plum",description:"Dark gray shingle with a deep purple undertone achieved by a mix of prominent dark gray, black, blue and red granules.",hex:"#4A3E4C",hueRotate:280,saturate:.8,brightness:.6,image:"TDD_MidnightPlum_RGB_swatch_lgOWENSCORNING_1764708029559.jpg"},{id:"onyx-black",name:"Onyx Black",description:"Black shingle with prominent dark gray and black granules.",hex:"#1A1A1A",hueRotate:0,saturate:.3,brightness:.4,image:"TDD_OnyxBlack_RGB_swatch_lgOWENSCORNING_1764708029560.jpg"},{id:"teak",name:"Teak",description:"Medium neutral shingle with a mix of gray, medium dark brown and tan granules.",hex:"#8B7D6B",hueRotate:30,saturate:.7,brightness:.9,image:"TDD_Teak_RGB_swatch_lgOWENSCORNING_1764708029560.jpg"},{id:"pepper-corn",name:"Peppercorn",description:"Dark charcoal shingle with distinctive black and gray granule blend for a bold, sophisticated appearance.",hex:"#3D3D3D",hueRotate:0,saturate:.3,brightness:.5,image:"Peppercorn_shingles_jpg_1768119303137.jpg"},{id:"sierra-gray",name:"Sierra Gray",description:"Warm gray shingle with earthy undertones and a blend of medium and dark gray granules.",hex:"#7A7A75",hueRotate:15,saturate:.4,brightness:.8,image:"Sierra_gray_shingles_jpg_1768119303138.jpg"},{id:"slatestone-gray",name:"Slatestone Gray",description:"Cool blue-gray shingle with subtle slate undertones for a refined, natural stone appearance.",hex:"#6B7075",hueRotate:200,saturate:.3,brightness:.75,image:"slatestone_gray_shingles_jpg_1768119303137.jpg"},{id:"williamsburg-gray",name:"Williamsburg Gray",description:"Classic gray shingles with subtle blend of charcoal and medium gray granules for timeless elegance.",hex:"#696B6C",hueRotate:0,saturate:.4,brightness:.75,image:"TDD_WilliamsburgGray_2023Blend_RGB_swatch_lgOWENSCORNING_1764708029560.jpg"},{id:"landmark-burnt-sienna",name:"Burnt Sienna",description:"Warm brownish-tan shingles with rich earth tones for a classic, distinguished appearance.",hex:"#8B6F47",hueRotate:30,saturate:.8,brightness:.85,image:"landmark-busi-swatch_CERTAINTEED_1764713870010.jpg",brand:"CertainTeed"},{id:"landmark-cinder-black",name:"Cinder Black",description:"Deep, sophisticated black shingles with subtle dark gray granules for a bold, modern look.",hex:"#1F1F1F",hueRotate:0,saturate:.2,brightness:.35,image:"landmark-cibl-swatch_CERTAINTEED_1764713870011.jpg",brand:"CertainTeed"},{id:"landmark-georgetown-gray",name:"Georgetown Gray",description:"Medium cool gray shingles with subtle variations for a neutral, contemporary aesthetic.",hex:"#7A7A7A",hueRotate:0,saturate:.3,brightness:.8,image:"landmark-gegr-swatch_CERTAINTEED_1764713870011.jpg",brand:"CertainTeed"},{id:"landmark-granite-gray",name:"Granite Gray",description:"Soft grayish-green shingles with natural undertones for a harmonious, organic feel.",hex:"#757575",hueRotate:90,saturate:.4,brightness:.82,image:"landmark-grgr-swatch_CERTAINTEED_1764713870012.jpg",brand:"CertainTeed"},{id:"landmark-heather-blend",name:"Heather Blend",description:"Warm tan and brown blend with natural color variation for timeless architectural charm.",hex:"#9D8B6F",hueRotate:35,saturate:.7,brightness:.88,image:"landmark-hebl-swatch_CERTAINTEED_1764713870012.jpg",brand:"CertainTeed"},{id:"landmark-moire-black",name:"Moire Black",description:"Deep charcoal with subtle gray accents for sophisticated depth and texture.",hex:"#3A3A3A",hueRotate:0,saturate:.25,brightness:.55,image:"landmark-mobl-swatch_CERTAINTEED_1764713870013.jpg",brand:"CertainTeed"},{id:"landmark-resawn-shake",name:"Resawn Shake",description:"Warm reddish-brown blend with natural variation for a rustic, authentic appearance.",hex:"#A07050",hueRotate:15,saturate:.85,brightness:.85,image:"landmark-resh-swatch_CERTAINTEED_1764713870013.jpg",brand:"CertainTeed"},{id:"landmark-silver-birch",name:"Silver Birch",description:"Soft silvery-gray shingles with light, neutral tones for a contemporary, airy aesthetic.",hex:"#BFBFBF",hueRotate:0,saturate:.2,brightness:1,image:"landmark-sibi-swatch_CERTAINTEED_1764713870014.jpg",brand:"CertainTeed"},{id:"landmark-weathered-wood",name:"Weathered Wood",description:"Muted tan and brown shingles with a weathered, aged appearance for natural charm.",hex:"#A99880",hueRotate:28,saturate:.5,brightness:.9,image:"landmark-wewo-swatch_CERTAINTEED_1764713870014.jpg",brand:"CertainTeed"},{id:"landmark-black-walnut",name:"Black Walnut",description:"Deep, rich dark brown with charcoal undertones for an elegant, sophisticated finish.",hex:"#3D3029",hueRotate:25,saturate:.6,brightness:.45,image:"landmark-blwa-swatch_CERTAINTEED_1764713870014.jpg",brand:"CertainTeed"}],_k=()=>{const[e,t]=v.useState("brownwood"),[n,s]=v.useState(new Set),o=v.useRef(null),a=u=>`/images/${u.brand==="CertainTeed"?"certainteed":"owens-corning"}/${u.image}`,i=sr.find(u=>u.id===e)||sr[0],l=u=>{const m=new Set(n);m.has(u)?m.delete(u):m.add(u),s(m)},c=u=>{o.current&&o.current.scrollBy({left:u==="left"?-180:180,behavior:"smooth"})},d=v.useMemo(()=>({"@context":"https://schema.org","@type":"ItemList",name:"TruDefinition Duration Roofing Shingles - Alimac Pro Arlington",description:"Premium Owens Corning Duration shingles available in Arlington, WA and across Snohomish County & Greater Seattle",numberOfItems:sr.length,itemListElement:sr.map((u,m)=>({"@type":"ListItem",position:m+1,item:{"@type":"Product",name:`${u.name} - TruDefinition Duration Shingles`,description:u.description,brand:{"@type":"Brand",name:"Owens Corning"},category:"Roofing Materials"}}))}),[]);return ye({title:"Roofing Color Selection Guide for Arlington, WA Homes | Alimac Pro",de
280scription:"Choose the perfect roof color for your Arlington, WA home with Alimac Pro's color selection guide, serving Snohomish County & Greater Seattle. Browse shingle colors from Owens Corning and CertainTeed.",path:"/color-selection",jsonLd:d}),r.jsxs("div",{className:"flex flex-col w-full relative bg-white",children:[r.jsx(ke,{}),r.jsx(je,{}),r.jsxs("section",{className:"relative w-full bg-[#0c9ab9] pt-16 pb-20 md:pt-20 md:pb-24",children:[r.jsx("div",{className:"container mx-auto px-6 md:px-8 max-w-7xl",children:r.jsx("h1",{className:"text-white text-3xl md:text-4xl lg:text-[42px] font-bold text-center leading-tight",children:"Choose the Perfect Roof Color for Your Arlington Home"})}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 overflow-hidden",children:r.jsxs("svg",{viewBox:"0 0 1440 60",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"w-full h-auto",preserveAspectRatio:"none",children:[r.jsx("path",{d:"M0 60V30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30V60H0Z",fill:"white"}),r.jsx("path",{d:"M0 30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30",stroke:"#36a326",strokeWidth:"4",fill:"none"})]})})]}),r.jsxs("section",{className:"relative pt-12 md:pt-16 bg-[#ffffff]",children:[r.jsx("div",{className:"container mx-auto px-4 md:px-8 py-8 md:py-12",children:r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8 items-center",children:[r.jsxs("div",{className:"relative aspect-[4/3] lg:aspect-square overflow-hidden rounded-2xl shadow-2xl",children:[r.jsx("img",{src:a(i),alt:`${i.name} shingle swatch`,className:"w-full h-full object-cover transition-all duration-500"}),r.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/20 to-transparent"}),r.jsx("div",{className:"absolute bottom-6 left-6 right-6",children:r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsxs("div",{children:[r.jsx("p",{className:"text-white/80 text-sm font-medium mb-1",children:"Currently Viewing"}),r.jsx("h2",{className:"text-white text-3xl md:text-4xl font-bold",children:i.name})]}),r.jsx("button",{onClick:()=>l(i.id),className:"p-3 bg-white/20 backdrop-blur-sm rounded-full hover:bg-white/30 transition-all",children:r.jsx(xa,{className:`w-6 h-6 text-white ${n.has(i.id)?"fill-white":""}`})})]})})]}),r.jsxs("div",{children:[r.jsx("h3",{className:"text-2xl md:text-3xl font-bold mb-4 text-[#303030]",children:i.name}),r.jsx("p",{className:"text-gray-600 text-lg leading-relaxed mb-6",children:i.description}),r.jsxs("div",{className:"flex flex-wrap gap-3 mb-8",children:[r.jsx("span",{className:"px-4 py-2 bg-gray-100 rounded-full text-sm font-medium text-gray-700",children:"Class 3 Impact Rated"}),r.jsx("span",{className:"px-4 py-2 bg-gray-100 rounded-full text-sm font-medium text-gray-700",children:"SureNail® Technology"}),r.jsx("span",{className:"px-4 py-2 bg-gray-100 rounded-full text-sm font-medium text-gray-700",children:"130 MPH Wind Warranty"})]}),r.jsx("div",{className:"flex flex-col sm:flex-row gap-4",children:r.jsx(un,{action:"quote",label:"Get Your Free Quote",variant:"secondary",dataTestId:"hero-quote-btn"})})]})]})}),r.jsx("div",{className:"py-6 relative bg-[#e0e0e0]",children:r.jsxs("div",{className:"container mx-auto px-4 md:px-8",children:[r.jsxs("div",{className:"flex items-center justify-between mb-4",children:[r.jsx("h3",{className:"text-lg font-bold text-gray-900",children:"Select a Color"}),r.jsxs("div",{className:"flex gap-2",children:[r.jsx("button",{onClick:()=>c("left"),className:"w-10 h-10 bg-gray-100 rounded-full flex items-center justify-center hover:bg-gray-200 transition-all",children:r.jsx(Mi,{className:"w-5 h-5 text-gray-700"})}),r.jsx("button",{onClick:()=>c("right"),className:"w-10 h-10 bg-gray-100 rounded-full flex items-center justify-center hover:bg-gray-200 transition-all",children:r.jsx(qi,{className:"w-5 h-5 text-gray-700"})})]})]}),r.jsx("div",{ref:o,className:"flex gap-4 overflow-x-auto scroll-smooth pt-[20px] pb-[20px]",style:{scrollbarWidth:"none",msOverflowStyle:"none"},children:sr.map(u=>r.jsxs("div",{onClick:()=>t(u.id),role:"button",tabIndex:0,onKeyDown:m=>m.key==="Enter"&&t(u.id),className:`group flex-shrink-0 transition-all duration-300 cursor-pointer ${e===u.id?"scale-105":"hover:scale-105"}`,children:[r.jsxs("div",{className:`relative w-36 h-24 rounded-xl overflow-hidden shadow-md transition-all duration-300 ${e===u.id?"ring-4 ring-app-primary ring-offset-2":"ring-1 ring-gray-200 hover:ring-2 hover:ring-app-primary/50"}`,children:[r.jsx("img",{src:a(u),alt:u.name,className:"w-full h-full object-cover"}),r.jsx("button",{onClick:m=>{m.stopPropagation(),l(u.id)},className:"absolute top-2 right-2 p-1.5 rounded-full bg-white/80 backdrop-blur-sm hover:bg-white transition-all shadow-sm",children:r.jsx(xa,{
280className:`w-3.5 h-3.5 transition-all ${n.has(u.id)?"fill-red-500 text-red-500":"text-gray-400"}`})}),e===u.id&&r.jsx("div",{className:"absolute bottom-2 left-2 bg-app-primary text-white text-xs px-2 py-0.5 rounded-full font-semibold flex items-center gap-1",children:r.jsx(L,{className:"w-3 h-3"})})]}),r.jsx("p",{className:`mt-2 text-sm font-medium text-center transition-colors ${e===u.id?"text-app-primary":"text-gray-900"}`,children:u.name})]},u.id))})]})})]}),r.jsxs("section",{className:"relative py-16 md:py-24 overflow-hidden",children:[r.jsxs("div",{className:"absolute inset-0 z-0",children:[r.jsx("img",{src:Wk,alt:"",className:"w-full h-full object-cover"}),r.jsx("div",{className:"absolute inset-0 bg-white/85"})]}),r.jsxs("div",{className:"container mx-auto px-4 md:px-8 text-center max-w-4xl relative z-10",children:[r.jsxs("h2",{className:"text-3xl md:text-4xl lg:text-5xl font-bold text-gray-900 leading-tight mb-6",children:["Bold Contrast. Deep Dimension.",r.jsx("br",{}),r.jsx("span",{className:"text-app-primary",children:"Outstanding Performance."})]}),r.jsx("div",{className:"my-8 flex justify-center",children:r.jsx("img",{src:qk,alt:"Top of the House Owens Corning Certified Contractor",className:"h-32 md:h-40 w-auto"})}),r.jsx("p",{className:"text-gray-600 text-lg md:text-xl leading-relaxed",children:"When you want the ultimate protection and impressive curb appeal, you'll want Duration® Shingles. They are specially formulated on a TruDefinition® color platform that gives them dramatic color contrast and dimension in a wide range of popular colors."})]})]}),r.jsx("section",{className:"bg-gray-50 py-16 md:py-24",children:r.jsxs("div",{className:"container mx-auto px-4 md:px-8 max-w-6xl",children:[r.jsxs("div",{className:"text-center mb-12",children:[r.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-gray-900 mb-4",children:"Owens Corning Colors"}),r.jsx("p",{className:"text-gray-600 text-lg max-w-2xl mx-auto",children:"TruDefinition Duration shingles - Click on any color to view it in detail"})]}),r.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5 gap-6",children:sr.filter(u=>!u.brand).map(u=>r.jsxs("div",{onClick:()=>{t(u.id),window.scrollTo({top:0,behavior:"smooth"})},role:"button",tabIndex:0,onKeyDown:m=>{m.key==="Enter"&&(t(u.id),window.scrollTo({top:0,behavior:"smooth"}))},className:`group relative rounded-2xl overflow-hidden transition-all duration-300 hover:scale-105 cursor-pointer ${e===u.id?"ring-4 ring-app-primary ring-offset-2":""}`,children:[r.jsxs("div",{className:"aspect-square relative overflow-hidden",children:[r.jsx("img",{src:a(u),alt:u.name,className:"w-full h-full object-cover"}),r.jsx("button",{onClick:m=>{m.stopPropagation(),l(u.id)},className:"absolute top-3 right-3 p-2 rounded-full bg-white/80 backdrop-blur-sm hover:bg-white transition-all shadow-sm",children:r.jsx(xa,{className:`w-4 h-4 transition-all ${n.has(u.id)?"fill-red-500 text-red-500":"text-gray-400"}`})}),e===u.id&&r.jsxs("div",{className:"absolute bottom-3 left-3 bg-app-primary text-white text-xs px-2 py-1 rounded-full font-semibold flex items-center gap-1",children:[r.jsx(L,{className:"w-3 h-3"}),"Selected"]})]}),r.jsx("div",{className:"p-4 bg-white",children:r.jsx("h3",{className:"font-bold text-gray-800",children:u.name})})]},u.id))})]})}),r.jsx("section",{className:"bg-white py-16 md:py-24",children:r.jsxs("div",{className:"container mx-auto px-4 md:px-8 max-w-6xl",children:[r.jsxs("div",{className:"text-center mb-12",children:[r.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-gray-900 mb-4",children:"CertainTeed Colors"}),r.jsx("p",{className:"text-gray-600 text-lg max-w-2xl mx-auto",children:"Landmark shingles - Click on any color to view it in detail"})]}),r.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5 gap-6",children:sr.filter(u=>u.brand==="CertainTeed").map(u=>r.jsxs("div",{onClick:()=>{t(u.id),window.scrollTo({top:0,behavior:"smooth"})},role:"button",tabIndex:0,onKeyDown:m=>{m.key==="Enter"&&(t(u.id),window.scrollTo({top:0,behavior:"smooth"}))},className:`group relative rounded-2xl overflow-hidden transition-all duration-300 hover:scale-105 cursor-pointer ${e===u.id?"ring-4 ring-app-primary ring-offset-2":""}`,children:[r.jsxs("div",{className:"aspect-square relative overflow-hidden",children:[r.jsx("img",{src:a(u),alt:u.name,className:"w-full h-full object-cover"}),r.jsx("button",{onClick:m=>{m.stopPropagation(),l(u.id)},className:"absolute top-3 right-3 p-2 rounded-full bg-white/80 backdrop-blur-sm hover:bg-white transition-all shadow-sm",children:r.jsx(xa,{
280className:`w-4 h-4 transition-all ${n.has(u.id)?"fill-red-500 text-red-500":"text-gray-400"}`})}),e===u.id&&r.jsxs("div",{className:"absolute bottom-3 left-3 bg-app-primary text-white text-xs px-2 py-1 rounded-full font-semibold flex items-center gap-1",children:[r.jsx(L,{className:"w-3 h-3"}),"Selected"]})]}),r.jsx("div",{className:"p-4 bg-white border border-gray-100 rounded-b-2xl",children:r.jsx("h3",{className:"font-bold text-gray-800",children:u.name})})]},u.id))})]})}),r.jsxs("section",{className:"relative py-16 md:py-24 overflow-hidden",children:[r.jsxs("div",{className:"absolute inset-0 z-0",children:[r.jsx("img",{src:Fk,alt:"",className:"w-full h-full object-cover"}),r.jsx("div",{className:"absolute inset-0 bg-white/90"})]}),r.jsxs("div",{className:"container mx-auto px-4 md:px-8 max-w-6xl relative z-10",children:[r.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-gray-900 text-center mb-12",children:"Key Features"}),r.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6",children:[r.jsxs("div",{className:"bg-white rounded-2xl p-6 shadow-lg border border-gray-100 hover:shadow-xl transition-all",children:[r.jsx("div",{className:"w-14 h-14 rounded-2xl bg-app-primary/10 flex items-center justify-center mb-4",children:r.jsx(es,{className:"w-7 h-7 text-app-primary"})}),r.jsx("h3",{className:"text-lg font-bold text-gray-900 mb-2",children:"SureNail® Technology"}),r.jsx("p",{className:"text-gray-600 text-sm leading-relaxed",children:"The fabric strip in the nailing zone delivers outstanding grip and helps minimize shingle blow-off."})]}),r.jsxs("div",{className:"bg-white rounded-2xl p-6 shadow-lg border border-gray-100 hover:shadow-xl transition-all",children:[r.jsx("div",{className:"w-14 h-14 rounded-2xl bg-app-accent/10 flex items-center justify-center mb-4",children:r.jsx(Hc,{className:"w-7 h-7 text-app-accent"})}),r.jsx("h3",{className:"text-lg font-bold text-gray-900 mb-2",children:"Class 3 Impact Rated"}),r.jsx("p",{className:"text-gray-600 text-sm leading-relaxed",children:"Tested and proven to resist impact from hail and debris for superior protection."})]}),r.jsxs("div",{className:"bg-white rounded-2xl p-6 shadow-lg border border-gray-100 hover:shadow-xl transition-all",children:[r.jsx("div",{className:"w-14 h-14 rounded-2xl bg-green-500/10 flex items-center justify-center mb-4",children:r.jsx(Zg,{className:"w-7 h-7 text-green-600"})}),r.jsx("h3",{className:"text-lg font-bold text-gray-900 mb-2",children:"130 MPH Wind Warranty"}),r.jsx("p",{className:"text-gray-600 text-sm leading-relaxed",children:"Backed by a limited warranty against wind damage up to 130 mph when properly installed."})]}),r.jsxs("div",{className:"bg-white rounded-2xl p-6 shadow-lg border border-gray-100 hover:shadow-xl transition-all",children:[r.jsx("div",{className:"w-14 h-14 rounded-2xl bg-purple-500/10 flex items-center justify-center mb-4",children:r.jsx(u1,{className:"w-7 h-7 text-purple-600"})}),r.jsx("h3",{className:"text-lg font-bold text-gray-900 mb-2",children:"Limited Lifetime Warranty"}),r.jsx("p",{className:"text-gray-600 text-sm leading-relaxed",children:"Comprehensive warranty coverage for peace of mind and long-term protection."})]})]})]})]}),r.jsx("section",{className:"bg-white py-16 md:py-24",children:r.jsxs("div",{className:"container mx-auto px-4 md:px-8 max-w-6xl",children:[r.jsxs("div",{className:"text-center mb-12",children:[r.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-gray-900 mb-4",children:"Gallery"}),r.jsx("p",{className:"text-gray-600 text-lg max-w-2xl mx-auto",children:"See how Duration® shingles look on real homes"})]}),r.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6",children:[r.jsxs("div",{className:"relative aspect-[4/3] rounded-2xl overflow-hidden shadow-lg group",children:[r.jsx("img",{src:"/images/owens-corning/gallery-1.jpg",alt:"Shingle close-up detail",className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-500"}),r.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/60 via-trans
280parent to-transparent opacity-0 group-hover:opacity-100 transition-opacity",children:r.jsx("div",{className:"absolute bottom-4 left-4",children:r.jsx("p",{className:"text-white font-semibold",children:"Premium Quality"})})})]}),r.jsxs("div",{className:"relative aspect-[4/3] rounded-2xl overflow-hidden shadow-lg group",children:[r.jsx("img",{src:"/images/owens-corning/gallery-2.jpg",alt:"Modern home with new roof",className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-500"}),r.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent opacity-0 group-hover:opacity-100 transition-opacity",children:r.jsx("div",{className:"absolute bottom-4 left-4",children:r.jsx("p",{className:"text-white font-semibold",children:"Modern Home"})})})]}),r.jsxs("div",{className:"relative aspect-[4/3] rounded-2xl overflow-hidden shadow-lg group",children:[r.jsx("img",{src:"/images/owens-corning/gallery-3.jpg",alt:"Contemporary home roof installation",className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-500"}),r.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/60 via-trans
280parent to-transparent opacity-0 group-hover:opacity-100 transition-opacity",children:r.jsx("div",{className:"absolute bottom-4 left-4",children:r.jsx("p",{className:"text-white font-semibold",children:"Contemporary Design"})})})]}),r.jsxs("div",{className:"relative aspect-[4/3] rounded-2xl overflow-hidden shadow-lg group",children:[r.jsx("img",{src:"/images/owens-corning/gallery-4.jpg",alt:"Residential home with quality roofing",className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-500"}),r.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent opacity-0 group-hover:opacity-100 transition-opacity",children:r.jsx("div",{className:"absolute bottom-4 left-4",children:r.jsx("p",{className:"text-white font-semibold",children:"Excellence Delivered"})})})]})]})]})}),r.jsx(Ne,{})]})},Lk="/assets/seattle-roof-replacement-kirchgessner-5_1765503365725-BoqHhTFY.jpg",zk="/assets/seattle-gutter-installation-valentin-1_1765504019006-BO-HCDFI.jpg",Bk="/assets/seattle-gutter-installation-valentin-2_1765504019007-DbE0kOn_.jpg",Hk="/assets/seattle-gutter-installation-valentin-3_1765504019007-CyvPwjId.jpg",Gk="/assets/seattle-roofing-installation-service-2_1765513609848-h-YgQix3.jpg",Yk="/assets/seattle-roofing-installation-service-3_1765504274374-BhKavRVo.jpg",Vk="/assets/seattle-roof-install-leona-4_1765513609856-D9uNiRyV.jpg",$k="/assets/seattle-roof-repair-temes_1765503365725-DskqEBNQ.jpg",Qk="/assets/seattle-roof-replacement-after-5_1765503771154-CbG3GXxW.jpg",Uk="/assets/seattle-roof-replacement-after-7_1765513609857-CULyCifA.jpg",Kk="/assets/seattle-siding-installation-art-1_1765504312208-BVTYvFX1.jpg",Xk="/assets/seattle-siding-installation-art-2_1765513609859-DF8BXIFP.jpg",Jk="/assets/1-Feb04202605_31pm-893N_1773712680268-DR3xtuJp.webp",Zk="/assets/2-Feb04202605_31pm-3fKp_1773712680272-BY1pUgVH.webp",eS="/assets/1-Feb11202601_38pm-Z3HK_1773712680269-BAU7A32U.webp",tS="/assets/2-Feb11202601_39pm-P3E6_1773712680272-CDrWRBJV.webp",nS="/assets/3-Feb11202601_39pm-bJjk_1773712680274-BcIdnojz.webp",rS="/assets/4-Feb11202601_39pm-aLYf_1773712680276-DI37Kp6f.webp",sS="/assets/1-Feb17202603_47pm-9XnG_1773712680270-CISA6WD8.webp",oS="/assets/2-Feb17202603_47pm-W9PL_1773712680272-CN-vRZHb.webp",aS="/assets/3-Feb17202603_48pm-euy3_1773712680274-Dgvqcf18.webp",iS="/assets/1-Feb27202605_28pm-fiD3_1773712680270-AWMEYghf.webp",lS="/assets/2-Feb27202605_28pm-fHEH_1773712680272-YKkwXzo0.webp",cS="/assets/1-Jan05202606_38pm-rkT9_1773712680271-jCx6a_VG.webp",dS="/assets/2-Jan05202606_38pm-iW4J_1773712680273-C_icSE06.webp",uS="/assets/3-Jan05202606_39pm-dTr9_1773712680274-DddJomyO.webp",mS="/assets/1-Mar14202604_14pm-rFL3_1773712680271-DN0qUDkd.webp",hS="/assets/2-Mar14202604_14pm-FJzR_1773712680273-C3Ikak0X.webp",fS="/assets/3-Mar14202604_15pm-A1YC_1773712680275-CUcP6p38.webp",pS="/assets/1-Nov20202512_10pm-2VAW_1773712680271-AjiXf9u6.webp",gS="/assets/2-Nov20202512_11pm-xrfZ_1773712680273-CzvJytuk.webp",xS="/assets/3-Nov20202512_11pm-bPrK_1773712680275-D3ITpYkd.webp",yS="/assets/4-Feb17202603_48pm-ofo5_1773712695942-BkqzeIVM.webp",wS="/assets/4-Jan05202606_39pm-63dF_1773712695936-DeS-gA_n.webp",vS="/assets/4-Mar14202604_15pm-j5rF_1773712695937-DJCBh6D2.webp",bS="/assets/4-Nov20202512_11pm-kKSs_1773712695937-cE0CE0k9.webp",jS="/assets/5-Feb11202601_40pm-eE1g_1773712695938-mztF83Rv.webp",NS="/assets/5-Feb17202603_48pm-qHQ1_1773712695938-BZgKIgG0.webp",kS="/assets/5-Jan05202606_39pm-cPZK_1773712695939-C1410OUh.webp",SS="/assets/5-Mar14202604_15pm-E1LX_1773712695939--lQsm8JU.webp",CS="/assets/5-Nov20202512_12pm-JWKc_1773712695939-mlDO5HVx.webp",AS="/assets/6-Feb11202601_40pm-dx1K_1773712695940-Cf4d2TlQ.webp",PS="/assets/6-Feb17202603_49pm-Eu2k_1773712695940-BJy3_VjJ.webp",RS="/assets/6-Jan05202606_44pm-smon_1773712695940-EULSoZr6.webp",ES="/assets/6-Mar14202604_17pm-oLpg_1773712695941-CvOn2MAw.webp",TS="/assets/6-Nov20202512_12pm-i9ws_1773712695941-DJFpeJjI.webp",IS="/assets/7-Feb11202601_40pm-rJ2c_1773712695942-DlujNe9x.webp",OS="/assets/7-Feb17202603_49pm-khR5_1773712714033-DwIxjGM6.webp",DS="/assets/7-Jan05202606_44pm-4qWi_1773712714033-D9hMez0h.webp",MS="/assets/7-Mar14202604_17pm-voDs_1773712714034-DKkoYNef.webp",qS="/assets/8-Feb11202601_40pm-R8xG_1773712714034-DbqIjJiB.webp",WS="/assets/8-Feb17202603_49pm-Dw6v_1773712714035-C2oqsHa5.webp",FS="/assets/9-Feb11202601_40pm-my5U_1773712726157-Bpw_e127.webp",_S="/assets/9-Feb17202603_49pm-29td_1773712726157-CQf9Hrkz.webp",LS="/assets/10-Feb11202601_41pm-QVTa_1773712726154-CmK1vGnM.webp",zS="/assets/10-Feb17202603_49pm-yAtv_1773712726155-BS129x6C.webp",BS="/assets/11-Feb11202601_41pm-WA42_1773712726155-DL2WXH6t.webp",HS="/assets/11-Feb17202603_49pm-w84u_1773712726156-BJkvY4FE.webp",GS="/assets/12-Feb11202601_41pm-tqXX_1773712726156-DP4PVWmz.webp",YS="/assets/13-Feb11202601_41pm-r3pd_1773712726156--ZVJj1rJ.
280webp",VS=()=>{ye({title:"Our Roofing Projects in Arlington, WA | Portfolio | Alimac Pro",description:"Browse our portfolio of completed roofing projects throughout Arlington, Snohomish County, and the Greater Seattle area. See the quality craftsmanship that Alimac Pro delivers on every job.",path:"/portfolio"}),v.useEffect(()=>{window.scrollTo(0,0)},[]);const e=[{image:Zx,alt:"Seattle Roof Replacement - Kirchgessner Project",title:"Complete Roof Replacement",category:"Roof Replacement"},{image:Kx,alt:"Seattle Roofing Project - Thompson Residence",title:"Thompson Residence Roofing",category:"Roof Installation"},{image:ey,alt:"Roofing Service - Yeagley Installation",title:"Yeagley Professional Installation",category:"Roof Installation"},{image:zk,alt:"Seattle Gutter Installation - Valentin Project",title:"Gutter Installation & Repair",category:"Gutters"},{image:gu,alt:"Complete Roof Replacement - Kirchgessner",title:"Kirchgessner Roof Replacement",category:"Roof Replacement"},{image:ny,alt:"Completed Roof Replacement - Seattle",title:"Roof Replacement Complete",category:"Roof Replacement"},{image:Xx,alt:"Professional Roofing Installation - Thompson",title:"Thompson Installation Complete",category:"Roof Installation"},{image:ty,alt:"Seattle Roof Installation - Leona Project",title:"Leona Roof Installation",category:"Roof Installation"},{image:Bk,alt:"Seattle Gutter Installation - Valentin",title:"Valentin Gutter Project",category:"Gutters"},{image:Qk,alt:"Roof Replacement After - Seattle Home",title:"Residential Roof Replacement",category:"Roof Replacement"},{image:uy,alt:"Roofing Service - Yeagley Installation",title:"Yeagley Roofing Service",category:"Roof Installation"},{image:Kk,alt:"Seattle Siding Installation - Art Project",title:"Siding Installation",category:"Siding"},{image:Lk,alt:"Premium Roof Replacement - Kirchgessner",title:"Kirchgessner Premium Install",category:"Roof Replacement"},{image:Vk,alt:"Seattle Roof Installation - Leona",title:"Leona Roof Installation Complete",category:"Roof Installation"},{image:Hk,alt:"Seattle Gutter Installation - Valentin",title:"Valentin Gutter Complete",category:"Gutters"},{image:$k,alt:"Seattle Roof Repair - Temes Project",title:"Temes Roof Repair",category:"Roof Repair"},{image:Xk,alt:"Seattle Siding Installation - Art Project",title:"Siding Installation Complete",category:"Siding"},{image:Gk,alt:"Seattle Roofing Installation Service",title:"Professional Installation",category:"Roof Installation"},{image:Uk,alt:"Completed Roof Replacement - Seattle Home",title:"Premium Roof Replacement",category:"Roof Replacement"},{image:dy,alt:"Kirchgessner Roof Replacement - Final",title:"Kirchgessner Final Install",category:"Roof Replacement"},{image:Jx,alt:"Quality Roofing Work - Thompson Project",title:"Thompson Quality Work",category:"Roof Repair"},{image:Yk,alt:"Seattle Roofing Installation Service",title:"Installation Service Complete",category:"Roof Installation"},{image:Jk,alt:"Seattle Roof with Gutter Guard Installation",title:"Roof & Gutter Guard",category:"Gutters"},{image:Zk,alt:"Seattle Roofing Project with New Gutters",title:"Roof & Gutter Installation",category:"Gutters"},{image:eS,alt:"Roof Replacement with Solar Panel Integration",title:"Solar Panel Roof Integration",category:"Roof Installation"},{image:tS,alt:"Solar Panel Mounting Hardware on Roof",title:"Solar Panel Mounting",category:"Roof Installation"},{image:nS,alt:"Large Solar Array on Seattle Home",title:"Solar Array Roof Project",category:"Roof Installation"},{image:rS,alt:"Completed Roof Shingle Installation",title:"Shingle Roof Complete",category:"Roof Replacement"},{image:sS,alt:"New Roof Installation - Seattle Area",title:"Seattle Roof Installation",category:"Roof Replacement"},{image:oS,alt:"Completed Flat Roof with Lush Backyard",title:"Residential Roof - Flat Section",category:"Roof Replacement"},{image:aS,alt:"Solar Panels Installed on Gray Shingle Roof",title:"Solar on New Roof",category:"Roof Installation"},{image:iS,alt:"Gutter Guard Installation on Brown Shingles",title:"Gutter Guard Install",category:"Gutters"},{image:lS,alt:"New White Gutter with Mesh Guard",title:"White Gutter with Guard",category:"Gutters"},{image:cS,alt:"New Dark Shingle Roof with Ridge Cap",title:"Dark Shingle Ridge Cap Roof",category:"Roof Replacement"},{image:dS,alt:"Chimney Flashing and New Roof Installation",title:"Chimney Flashing & New Roof",category:"Roof Replacement"},{image:uS,alt:"Large Dark Shingle Roof Installation in Progress",title:"Large Roof Installation",category:"Roof Installation"},{image:mS,alt:"Completed Roof Replacement - Arlington WA",title:"Arlington Roof Replacement",category:"Roof Replacement"},{image:hS,alt:"Aerial View of Completed Roof Replacement",title:"Aerial Roof View",category:"Roof Replacement"},{image:fS,alt:"Roof with Multiple Skylights Installed",title:"Skylight Installation Project",category:"Roof Installation"},{image:pS,alt:"Fresh Gray Shingle Roof Installation",title:"Gray Shingle Roof Install",category:"Roof Replacement"},{image:gS,alt:"Completed Dark Gray Shingle Roof",title:"Dark Gray Shingle Complete",category:"Roof Replacement"},{image:xS,alt:"Premium Gray Shingle Roof - Close Up",title:"Premium Gray Shingles",category:"Roof Replacement"},{image:yS,alt:"Aerial View of New Roof Installation",title:"Aerial Roof Installation View",category:"Roof Replacement"},{image:wS,alt:"Completed Dark Shingle Roof with Valley Flashing",title:"Dark Shingle Roof with Flashing",category:"Roof Replacement"},{image:vS,alt:"New Roof Installation with Skylight Detail",title:"Skylight & Roof Detail",category:"Roof Installation"},{image:bS,alt:"Roof Replacement - Side Angle View",title:"Roof Replacement Side View",category:"Roof Replacement"},{image:jS,alt:"Solar Panel Installation on New Shingle Roof",title:"Solar Panel Roof Installation",category:"Roof Installation"},{image:NS,alt:"Completed Residential Roof Replacement - Wide View",title:"Residential Roof Wide View",category:"Roof Replacement"},{image:kS,alt:"New Roof Installation - Hip Roof Design",title:"Hip Roof Installation",category:"Roof Replacement"},{image:SS,alt:"Multi-Level Roof with Skylights - Completed",title:"Multi-Level Roof with Skylights",category:"Roof Installation"},{image:CS,alt:"Fresh Shingle Roof Install - Gable View",title:"Shingle Roof Gable View",category:"Roof Replacement"},{image:AS,alt:"Full Solar Array on New Roof - Seattle Home",title:"Full Solar Array Install",category:"Roof Installation"},{image:PS,alt:"New Roof with Chimney Flashing Detail",title:"Chimney Flashing Detail",category:"Roof Replacement"},{image:RS,alt:"Completed Roof Replacement - Corner Detail",title:"Roof Corner Detail",category:"Roof Replacement"},{image:ES,alt:"Skylight Installation - Completed Roof Project",title:"Skylight Roof Project",category:"Roof Installation"},{image:TS,alt:"Roof Replacement - Eave and Gutter View",title:"Eave & Gutter View",category:"Roof Replacement"},{image:IS,alt:"Drone View of Solar Roof Installation",title:"Drone View Solar Roof",category:"Roof Installation"},{image:OS,alt:"Completed Roof - Street View",title:"Completed Roof Street View",category:"Roof Replacement"},{image:DS,alt:"Finished Shingle Roof - Rear View",title:"Finished Roof Rear View",category:"Roof Replacement"},{image:MS,alt:"Completed Multi-Pitch Roof Project",title:"Multi-Pitch Roof Project",category:"Roof Replacement"},{image:qS,alt:"Solar Integration on Completed Roof",title:"Solar Integration Complete",category:"Roof Installation"},{image:WS,alt:"Final Roof Replacement - Full House View",title:"Full House Roof Replacement",category:"Roof Replacement"},{image:FS,alt:"Roof Valley with New Shingles - Alimac Pro Job Site",title:"Roof Valley Detail",category:"Roof Replacement"},{image:_S,alt:"New Gray Shingle Roof with Dome Skylight",title:"Dome Skylight & New Roof",category:"Roof Installation"},{image:LS,alt:"Solar Panels Being Installed on Brown Shingle Roof",title:"Solar Panel Installation in Progress",category:"Roof Installation"},{image:zS,alt:"Solar Array on Dark Shingle Roof - Completed",title:"Solar Array on New Roof",category:"Roof Installation"},{image:BS,alt:"Solar Panels Close-Up with Neighborhood View",title:"Solar Panel Close-Up View",category:"Roof Installation"},{image:HS,alt:"Dark Shingle Roof - Gable and Valley Detail",title:"Gable & Valley Shingle Detail",category:"Roof Replacement"},{image:GS,alt:"Brown Shingle Roof with Dormer - Wide Angle",title:"Shingle Roof with Dormer",category:"Roof Replacement"},{image:YS,alt:"Completed Brown Shingle Roof - Street View",title:"Completed Roof Street View",category:"Roof Replacement"}];return r.jsxs("div",{className:"flex flex-col w-full relative bg-white",children:[r.jsx(ke,{}),r.jsx(je,{}),r.jsxs("main",{id:"main-content",children:[r.jsxs("section",{className:"relative w-full min-h-[500px] md:min-
280h-[600px] flex items-center justify-center overflow-hidden",children:[r.jsxs("div",{className:"absolute inset-0 bg-cover bg-center bg-no-repeat",style:{backgroundImage:`linear-gradient(135deg, rgba(26, 58, 92, 0.95) 0%, rgba(12, 154, 185, 0.85) 50%, rgba(54, 163, 38, 0.75) 100%), url(${Ux})`},children:[r.jsx("div",{className:"absolute inset-0",style:{background:` 281 radial-gradient(circle at 20% 20%, rgba(12, 154, 185, 0.3) 0%, transparent 40%), 282 radial-gradient(circle at 80% 80%, rgba(54, 163, 38, 0.2) 0%, transparent 40%), 283 radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.1) 0%, transparent 60%) 284 `}}),r.jsx("div",{className:"absolute inset-0 opacity-15",style:{backgroundImage:"radial-gradient(circle, rgba(255,255,255,0.4) 1px, transparent 1px)",backgroundSize:"20px 20px"}})]}),r.jsx("div",{className:"relative z-10 container mx-auto px-4 md:px-8 lg:px-12 xl:px-24 py-20 md:py-28",children:r.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[r.jsx("h1",{className:"text-white text-4xl md:text-5xl lg:text-6xl xl:text-7xl font-bold mb-6 leading-tight",children:"Our Completed Roofing Projects Across Snohomish County"}),r.jsx("p",{className:"text-white text-lg md:text-xl leading-relaxed max-w-3xl mx-auto",children:"Browse our extensive collection of roofing projects completed throughout Arlington, Snohomish County, and the Greater Seattle area. Each project demonstrates our commitment to quality craftsmanship and customer satisfaction."})]})})]}),r.jsx("section",{className:"py-16 md:py-20 lg:py-24 px-4",children:r.jsx("div",{className:"container mx-auto max-w-7xl",children:r.jsx("div",{className:"columns-1 sm:columns-2 lg:columns-3 gap-4 space-y-4",children:e.map((t,n)=>r.jsx("div",{className:"relative overflow-hidden rounded-xl shadow-lg hover:shadow-2xl transition-all duration-300 break-inside-avoid","data-testid":`portfolio-card-${n}`,children:r.jsx("img",{src:t.image,alt:t.alt,className:"w-full h-auto object-cover transition-transform duration-300 hover:scale-105",loading:"lazy"})},n))})})}),r.jsx(ry,{showViewAllButton:!1})]}),r.jsx(Ne,{})]})},Dr=[{id:"roof-replacement",name:"Roof Replacement",faqs:[{question:"How do I know if I need a roof replacement instead of a repair?",answer:"You likely need a full replacement when your roof is 20-plus years old, has widespread leaks, or shows curling and missing shingles across multiple slopes. If more than 30 percent of the roof is damaged, replacement is usually more cost-effective than ongoing repairs. Alimac Pro offers free inspections throughout Arlington and Snohomish County to help you decide."},{question:"How long does a full roof replacement take?",answer:"Most residential roof replacements in the Arlington area take one to three days, depending on the size, pitch, and complexity of your home. Larger homes or steep, multi-level roofs may take longer. Alimac Pro schedules around Pacific Northwest weather windows to protect your home and keep the project moving efficiently."},{question:"What is the best time of year to replace a roof in Washington?",answer:"Late spring through early fall is ideal for roof replacement in Western Washington because drier conditions help shingles seal properly. That said, Alimac Pro replaces roofs year-round by working around rain windows. We monitor Snohomish County forecasts closely and use protective measures to keep your home dry during installation."},{question:"Will you remove my old roof before installing the new one?",answer:"Yes, Alimac Pro typically performs a complete tear-off, removing all old shingles down to the decking. This lets us inspect and repair the wood underneath, install fresh underlayment, and ensure a long-lasting roof. Tear-offs are strongly recommended in the Pacific Northwest, where trapped moisture can cause hidden rot."},{question:"What shingles do you use for roof replacements?",answer:"Alimac Pro is an Owens Corning Preferred Contractor and installs Owens Corning TruDefinition Duration shingles on most replacements. These shingles offer excellent wind resistance and vibrant color, which perform well in Pacific N
284orthwest weather. As a preferred contractor, we can also offer enhanced manufacturer warranty coverage."},{question:"Do you replace the roof decking during a replacement?",answer:"We replace decking only where it is damaged or rotted, which we identify after tearing off the old roof. In the damp Pacific Northwest climate, some sheathing repair is common. Alimac Pro shows you any compromised areas and explains the cost before proceeding, so there are no surprises on your Arlington-area home."},{question:"How much does a roof replacement cost in Arlington, WA?",answer:"Asphalt shingle roof replacements in the Arlington and Snohomish County area typically range from $12,000 to $30,000 in 2026, depending on roof size, pitch, and materials. Steeper or more complex roofs cost more. Alimac Pro provides free, detailed estimates so you know exactly what your project involves before committing."},{question:"Can you replace my roof if it has multiple layers of shingles?",answer:"Yes, Alimac Pro can remove multiple existing layers during a tear-off. Washington building codes generally limit roofs to two layers, so a home with two layers usually requires a full tear-off before reroofing. We handle disposal and inspect the decking beneath every layer to ensure a solid foundation."},{question:"What warranty comes with a new roof replacement?",answer:"Alimac Pro backs every roof replacement with a lifetime workmanship warranty, plus manufacturer material warranties from Owens Corning. As an Owens Corning Preferred Contractor, we can offer enhanced system warranties on qualifying installations. This combined coverage protects both the materials and the quality of our installation for years to come."},{question:"Do I need to be home during my roof replacement?",answer:"You do not need to be home during a roof replacement, though many homeowners prefer to be available at the start and finish. Alimac Pro keeps you informed throughout the project. We secure the site each day and perform a thorough cleanup, including a magnetic sweep for nails, when work is complete."},{question:"What are signs my roof is nearing the end of its life?",answer:"Common signs include curling or cracked shingles, bald spots where granules have worn away, sagging areas, and daylight visible in the attic. Frequent leaks and moss buildup are also warnings, especially in the Pacific Northwest. If your roof is 20-plus years old, schedule a free Alimac Pro inspection in Snohomish County."},{question:"Can a new roof improve my home's energy efficiency?",answer:"Yes, a new roof with proper ventilation and modern underlayment can improve energy efficiency and reduce moisture problems common in Western Washington. Owens Corning TruDefinition Duration shingles and balanced attic ventilation help regulate temperature. Alimac Pro evaluates your ventilation during every replacement to maximize comfort and roof lifespan."},{question:"How long does a new asphalt shingle roof last in the Pacific Northwest?",answer:"A quality asphalt shingle roof typically lasts 25 to 30 years in the Pacific Northwest with proper installation and maintenance. Moss and constant moisture can shorten lifespan, so regular cleaning matters. Alimac Pro installs Owens Corning shingles and provides maintenance guidance to help your Arlington-area roof reach its full potential."},{question:"Should I replace my gutters when replacing my roof?",answer:"Replacing gutters during a roof replacement is often smart, especially if your gutters are old or damaged. Coordinating both projects ensures proper water flow and protects your Snohomish County home from Pacific Northwest rain. Alimac Pro offers gutter installation alongside roofing, saving you time and creating a seamlessly integrated system."},{question:"Do you offer financing for roof replacements?",answer:"Yes, Alimac Pro offers financing options to make roof replacement more affordable for homeowners across Arlington and the greater Seattle area. Financing lets you spread the cost over time rather than paying everything upfront. Ask about available plans during your free estimate, and we will help you find an option that fits your budget."},{question:"What happens if it rains during my roof replacement?",answer:"Alimac Pro plans around Pacific N
284orthwest weather and never leaves your home exposed. If unexpected rain arrives, we cover open areas with waterproof tarps and pause work until conditions are safe. Our experienced crews are familiar with Snohomish County weather patterns and take every precaution to keep your home dry."},{question:"Is a permit required to replace a roof in Snohomish County?",answer:"Yes, roof replacements in Snohomish County and the City of Arlington generally require a building permit. As a licensed contractor, Alimac Pro handles the permitting process for you, ensuring your project meets Washington State and local code requirements. This protects your investment and keeps your home compliant for future resale."},{question:"Can you match the style of my existing roof?",answer:"Yes, Alimac Pro offers a wide range of Owens Corning shingle colors and styles to complement your home's architecture. During your free estimate, we help you choose a look that enhances curb appeal and fits your neighborhood in Arlington or the greater Seattle area. Samples and color visualizers are available."},{question:"Why should I choose Alimac Pro for my roof replacement?",answer:"Alimac Pro brings over 20 years of experience, licensed, bonded, and insured service, and Owens Corning Preferred Contractor status to every project. We back our work with a lifetime workmanship warranty and offer free estimates and financing. Homeowners across Arlington, Snohomish County, and Seattle trust our quality craftsmanship and honest communication."}]},{id:"roof-repair",name:"Roof Repair",faqs:[{question:"How much does a roof repair typically cost?",answer:"Roof repairs in the Arlington and Snohomish County area typically cost between $400 and $3,000 in 2026, depending on the extent of damage and materials needed. Minor repairs like sealing flashing cost less, while larger leaks or structural issues cost more. Alimac Pro provides free inspections and clear, upfront pricing."},{question:"Can you repair just a section of my roof?",answer:"Yes, Alimac Pro often repairs isolated sections such as damaged flashing, missing shingles, or a single leak. Spot repairs are ideal when the rest of the roof is in good condition. If damage is widespread, we will honestly advise whether a repair or full replacement makes more financial sense for your home."},{question:"How quickly can you respond to a roof leak?",answer:"Alimac Pro provides fast response for roof leaks throughout Arlington, Snohomish County, and the greater Seattle area. Because Pacific Northwest rain can worsen damage quickly, we prioritize active leaks. Call us at 206-446-3721 and we will schedule prompt service to protect your home from further water intrusion."},{question:"What are the most common causes of roof leaks in Western Washington?",answer:"The most common causes are damaged or worn flashing, cracked shingles, clogged gutters, and moss buildup that traps moisture. The Pacific Northwest's frequent rain accelerates these problems. Alimac Pro inspects all of these areas during a repair visit to find the true source of a leak, not just the symptom."},{question:"Can a roof repair stop a leak permanently?",answer:"A properly performed roof repair can permanently stop a leak when the underlying cause is fully addressed. Alimac Pro traces leaks to their source rather than applying temporary patches. For older roofs with multiple failing areas, we may recommend replacement as a more lasting solution for your Snohomish County home."},{question:"Do you repair storm-damaged roofs?",answer:"Yes, Alimac Pro repairs roofs damaged by Pacific Northwest windstorms, fallen branches, and heavy rain. We assess the damage, provide documentation useful for insurance claims, and complete durable repairs. If you have storm damage in Arlington or the Seattle area, call 206-446-3721 for a prompt inspection and repair."},{question:"How do I know if my flashing needs repair?",answer:"Signs of failing flashing include rust, cracks, gaps around chimneys or vents, and water stains on interior ceilings. Flashing directs water away from roof joints, so damage often causes leaks. Alimac Pro inspects and repairs or replaces flashing to keep your Snohomish County home watertight against Pacific N
284orthwest rain."},{question:"Can you fix a sagging roof?",answer:"A sagging roof often indicates structural issues such as water-damaged decking or rafters, which Alimac Pro can evaluate and repair. Sagging should never be ignored, as it can worsen and become a safety concern. Schedule a free inspection so our experienced team can determine the cause and recommend the right fix."},{question:"Will my roof repair match my existing shingles?",answer:"Alimac Pro works to match your existing shingle color and style as closely as possible during repairs. Because shingles can fade over time and product lines change, exact matches are not always possible on older roofs. We will discuss your options and aim for a repair that blends well with the surrounding roof."},{question:"How long does a typical roof repair take?",answer:"Most roof repairs are completed in a few hours to a single day, depending on the complexity and accessibility of the damage. Minor leaks and shingle replacements are quick, while larger repairs take longer. Alimac Pro works efficiently and schedules repairs around Pacific Northwest weather to minimize disruption to your home."},{question:"Should I repair or replace my older roof?",answer:"If your roof is under 15 years old with isolated damage, a repair usually makes sense. For roofs over 20 years old with widespread wear or repeated leaks, replacement is often more cost-effective. Alimac Pro provides honest, free assessments so Arlington-area homeowners can make the smartest long-term decision."},{question:"Do you offer emergency roof repairs?",answer:"Yes, Alimac Pro offers fast-response emergency roof repairs across Arlington, Snohomish County, and the greater Seattle area. We can tarp exposed areas and stop active leaks to prevent further damage during Pacific Northwest storms. Call 206-446-3721 and we will prioritize getting your home protected as quickly as possible."},{question:"Can roof leaks cause damage inside my home?",answer:"Yes, untreated roof leaks can cause ceiling stains, mold growth, damaged insulation, and structural rot, which are common concerns in the damp Pacific Northwest. Addressing leaks quickly saves money and protects your health. Alimac Pro responds fast to leaks in Snohomish County to minimize interior damage to your home."},{question:"Do you repair moss damage on roofs?",answer:"Yes, Alimac Pro repairs damage caused by moss, which is very common in the moist Pacific Northwest. Moss lifts shingles and traps moisture, leading to leaks and premature wear. We repair affected areas and offer moss removal and prevention treatments to protect your Arlington-area roof going forward."},{question:"Is a repair covered by any warranty?",answer:"Alimac Pro stands behind its repair work with a workmanship warranty, so you can trust the quality of every fix. The specific coverage depends on the type of repair performed. We explain warranty details before starting work so you understand exactly what is protected on your Snohomish County home."},{question:"What should I do if I notice a water stain on my ceiling?",answer:"A ceiling water stain usually signals an active or past roof leak that needs prompt attention. Place a container to catch any dripping water and call Alimac Pro at 206-446-3721 for a fast-response inspection. Acting quickly helps prevent mold and structural damage in the wet Pacific Northwest climate."},{question:"Can you repair leaks around my chimney or skylight?",answer:"Yes, chimneys and skylights are common leak sources because their flashing and seals wear over time. Alimac Pro specializes in repairing these vulnerable areas, resealing and reflashing to stop water intrusion. Proper repairs here are especially important in rainy Snohomish County to keep your home dry year-round."},{question:"Do small roof problems really need fast attention?",answer:"Yes, small roof problems escalate quickly in the Pacific Northwest, where frequent rain exploits even minor gaps. A tiny leak can lead to rotted decking, mold, and costly interior repairs if ignored. Alimac Pro encourages Arlington-area homeowners to address minor issues early to avoid larger expenses down the road."}]},{id:"cost-pricing",name:"Cost & Pricing",faqs:[{question:"How much does a new roof cost in the Seattle area?",answer:"A new asphalt shingle roof in the greater Seattle and Snohomish County area typically costs between $12,000 and $30,000 in 2026. Price depends on roof size, pitch, materials, and complexity. Alimac Pro offers free, detailed estimates so you understand every cost involved before making a decision on your home."}
284,{question:"Why do roofing prices vary so much?",answer:"Roofing prices vary based on square footage, roof pitch, number of layers to remove, material choice, and structural repairs needed. Steep or complex roofs cost more due to added labor and safety requirements. Alimac Pro provides transparent, itemized estimates so Arlington-area homeowners see exactly what drives their price."},{question:"Do you offer free estimates?",answer:"Yes, Alimac Pro provides free, no-obligation estimates throughout Arlington, Snohomish County, and the greater Seattle area. We inspect your roof, discuss your goals, and provide detailed pricing. Call 206-446-3721 or request an estimate online to schedule a convenient time for one of our experienced team members to visit."},{question:"What factors affect the cost of my roof replacement?",answer:"Key factors include roof size measured in squares, pitch, material selection, tear-off of existing layers, decking repairs, and accessibility. Features like skylights, chimneys, and valleys add complexity and cost. Alimac Pro evaluates all of these during your free estimate to give an accurate price for your Snohomish County home."},{question:"Is the cheapest roofing quote always the best choice?",answer:"The cheapest quote is rarely the best value, because unusually low bids often cut corners on materials, labor, or warranties. Quality installation matters greatly in the wet Pacific Northwest. Alimac Pro offers competitive pricing backed by 20-plus years of experience, quality Owens Corning materials, and a lifetime workmanship warranty."},{question:"How much does roof repair cost compared to replacement?",answer:"Roof repairs in the Arlington area typically cost $400 to $3,000, while full replacements range from $12,000 to $30,000 in 2026. Repairs make sense for isolated damage on newer roofs, while replacement is better for aging roofs with widespread issues. Alimac Pro helps you determine the most cost-effective path."},{question:"Are there financing options to help with roofing costs?",answer:"Yes, Alimac Pro offers financing to help homeowners manage the cost of roofing projects across the greater Seattle area. Financing lets you spread payments over time instead of paying all at once. Ask about available plans during your free estimate, and we will help match you with an option that fits your budget."},{question:"Does roof pitch affect the price?",answer:"Yes, steeper roof pitches increase the price because they require extra safety equipment, more labor time, and greater care during installation. Complex, multi-level roofs cost more than simple, low-slope designs. Alimac Pro factors pitch into every free estimate so your Snohomish County quote is accurate and complete."},{question:"How is roofing measured for pricing?",answer:"Roofing is measured in squares, where one square equals 100 square feet of roof surface. Contractors calculate total squares along with pitch and waste factors to price a job. Alimac Pro performs precise measurements during your free estimate to ensure fair, accurate pricing for your Arlington-area home."},{question:"Will my roof cost more if there is decking damage?",answer:"Yes, replacing rotted or damaged decking adds to the total cost, which is common in the moist Pacific Northwest. Decking damage is often only visible after tear-off. Alimac Pro inspects the sheathing during your project, shows you any issues, and explains the added cost before proceeding, so there are no surprises."},{question:"Do you charge for roof inspections?",answer:"Alimac Pro provides free roof inspections and estimates throughout Snohomish County and the greater Seattle area. During the inspection, we assess your roof's condition and provide honest recommendations. There is no obligation, so it is a smart first step whether you suspect damage or are simply planning ahead for a replacement."},{question:"Can a new roof increase my home's value?",answer:"Yes, a new roof can boost curb appeal and resale value while giving buyers confidence in your home. In the competitive Seattle-area market, an updated roof with a transferable warranty is a strong selling point. Alimac Pro installs quality Owens Corning roofs that protect and enhance your property's value."},{question:"Are your estimates itemized?",answer:"Yes, Alimac Pro provides clear, itemized estimates that break down materials, labor, and any additional work. Transparency helps you understand exactly where your money goes and compare options confidently. We are happy to walk Arlington-area homeowners through every line so there are no hidden fees or surprises."},{question:"How much does it cost to remove old roofing layers?",answer:"Tear-off costs depend on how many layers must be removed and the amount of debris disposal required. Removing multiple layers costs more due to added labor and dumping fees. Alimac Pro includes tear-off details in your free estimate so you know the full scope of your Snohomish County project."},{question:"Do premium shingles cost significantly more?",answer:"Premium shingles cost more than basic three-tab options but offer better durability, wind resistance, and curb appeal, which pays off in the Pacific N
284orthwest. Owens Corning TruDefinition Duration shingles balance quality and value. Alimac Pro helps you weigh the options during your free estimate to fit your budget and goals."},{question:"Is a deposit required before roofing work begins?",answer:"Deposit and payment terms are discussed clearly during your estimate and outlined in your written agreement. Alimac Pro believes in transparent, fair terms with no surprises. We explain the full payment schedule up front so Arlington-area homeowners feel confident and informed before any work begins on their roof."},{question:"Does the time of year affect roofing prices?",answer:"Roofing demand and pricing can shift seasonally, with peak demand during dry summer months in Western Washington. Scheduling during shoulder seasons may offer more flexibility. Regardless of season, Alimac Pro provides consistent, fair pricing and works around Pacific Northwest weather to complete quality installations year-round."},{question:"What is included in an Alimac Pro roofing quote?",answer:"An Alimac Pro quote includes tear-off, materials, underlayment, flashing, labor, cleanup, disposal, permitting, and applicable warranties. We aim for complete transparency so you understand the full scope. Our free, detailed estimates help homeowners across Arlington and the greater Seattle area budget confidently for their roofing project."}]},{id:"materials-shingles",name:"Materials & Shingles",faqs:[{question:"What type of shingles does Alimac Pro install?",answer:"Alimac Pro is an Owens Corning Preferred Contractor and primarily installs Owens Corning TruDefinition Duration shingles. These architectural shingles offer strong wind resistance, rich color depth, and dependable performance in Pacific Northwest weather. As a preferred contractor, we can also provide enhanced manufacturer warranty coverage on qualifying installations."},{question:"What are Owens Corning TruDefinition Duration shingles?",answer:"Owens Corning TruDefinition Duration shingles are architectural asphalt shingles featuring patented SureNail Technology for exceptional wind resistance up to 130 mph. Their vibrant color blends enhance curb appeal. Alimac Pro installs these shingles because they perform reliably against the wind and rain common throughout Snohomish County and the Seattle area."},{question:"What is the best roofing material for the Pacific Northwest?",answer:"Asphalt architectural shingles are the most popular and cost-effective choice for the Pacific Northwest, offering good moisture and wind resistance at a reasonable price. Owens Corning TruDefinition Duration shingles are well suited to the region's rain and wind. Alimac Pro helps Arlington-area homeowners select the ideal material for their home and budget."},{question:"How long do asphalt shingles last in Western Washington?",answer:"Asphalt shingles typically last 25 to 30 years in Western Washington with proper installation and maintenance. Moss and constant moisture can shorten lifespan, so periodic cleaning helps. Alimac Pro installs quality Owens Corning shingles and provides maintenance guidance to help your Snohomish County roof reach its full life expectancy."},{question:"What shingle colors are available?",answer:"Owens Corning TruDefinition Duration shingles come in a wide range of colors, from neutral grays and browns to richer tones that complement Pacific Northwest homes. Alimac Pro provides samples and color visualizers during your free estimate. We help you choose a color that boosts curb appeal and suits your Arlington neighborhood."},{question:"What underlayment do you use?",answer:"Alimac Pro installs quality synthetic underlayment and ice-and-water shield in vulnerable areas as part of a complete roofing system. Underlayment provides a critical secondary moisture barrier, which is essential in the rainy Pacific Northwest. Proper underlayment protects your decking and helps your Snohomish County roof last for decades."},{question:"Are architectural shingles better than three-tab shingles?",answer:"Yes, architectural shingles are thicker, more durable, and more wind-resistant than flat three-tab shingles, and they offer a dimensional, upscale look. They perform better in Pacific N
284orthwest weather and generally carry longer warranties. Alimac Pro installs Owens Corning architectural shingles to give Arlington-area homes lasting protection and enhanced curb appeal."},{question:"Do you install metal roofs?",answer:"Alimac Pro focuses on quality asphalt shingle systems, which are the most popular and cost-effective choice for Pacific Northwest homes. If you are considering alternative materials, contact us at 206-446-3721 to discuss your project. We will provide honest guidance on the best roofing solution for your Snohomish County home."},{question:"What is SureNail Technology?",answer:"SureNail Technology is a feature of Owens Corning Duration shingles that includes a reinforced nailing strip for stronger fastening and superior wind resistance. This helps shingles stay put during Pacific Northwest windstorms. Alimac Pro installs these shingles so Arlington-area homeowners benefit from added durability and peace of mind."},{question:"How important is roof ventilation?",answer:"Roof ventilation is critical, especially in the moist Pacific Northwest, where trapped attic moisture causes mold, rot, and premature shingle failure. Balanced intake and exhaust ventilation regulates temperature and humidity. Alimac Pro evaluates and upgrades ventilation during every roofing project to protect your Snohomish County home and extend roof life."},{question:"What flashing materials do you use?",answer:"Alimac Pro uses durable metal flashing around chimneys, valleys, vents, and roof joints to direct water away from vulnerable areas. Quality flashing is essential in the rainy Pacific Northwest to prevent leaks. We install and seal flashing carefully so your Arlington-area roof stays watertight through years of wet weather."},{question:"Are Owens Corning shingles resistant to algae and moss?",answer:"Many Owens Corning shingles include algae-resistant technology that helps reduce black streaking, a common issue in the damp Pacific Northwest. While no shingle is completely moss-proof, algae resistance helps maintain appearance. Alimac Pro also offers moss removal and prevention to keep your Snohomish County roof clean and healthy."},{question:"What is the difference between shingle material and system warranties?",answer:"A material warranty covers manufacturing defects in the shingles, while a system warranty covers the complete roofing system when installed by a certified contractor. As an Owens Corning Preferred Contractor, Alimac Pro can offer enhanced system warranties. We also add our own lifetime workmanship warranty for complete protection."},{question:"Can I see shingle samples before deciding?",answer:"Yes, Alimac Pro provides physical shingle samples and color visualizers during your free estimate so you can choose confidently. Seeing colors against your home's exterior helps you make the best choice. We guide Arlington and Seattle-area homeowners through the options to find a look that enhances curb appeal."},{question:"What roofing accessories are part of a complete system?",answer:"A complete roofing system includes shingles, underlayment, ice-and-water shield, starter strips, hip and ridge caps, flashing, and ventilation components. Each part works together to protect your home. Alimac Pro installs full Owens Corning systems so Snohomish County homeowners receive maximum durability and eligibility for enhanced manufacturer warranties."},{question:"Do darker shingles perform differently than lighter ones?",answer:"Darker shingles absorb more heat, which can help shed snow but may slightly raise attic temperatures, while lighter shingles reflect more heat. In the mild Pacific Northwest, color is largely an aesthetic choice. Alimac Pro helps Arlington-area homeowners select a color that fits their style and complements their home."},{question:"How do I choose the right shingle for my home?",answer:"Choosing the right shingle depends on your budget, desired appearance, and durability needs. Owens Corning TruDefinition Duration shingles offer an excellent balance for Pacific Northwest homes. Alimac Pro reviews samples, colors, and warranty options with you during your free estimate to find the ideal fit for your Snohomish County home."},{question:"Are your roofing materials backed by warranties?",answer:"Yes, Alimac Pro installs Owens Corning materials backed by manufacturer warranties, and as a preferred contractor we can offer enhanced coverage on qualifying systems. We also provide our own lifetime workmanship warranty. This layered protection gives Arlington and Seattle-area homeowners confidence in both the materials and the installation."}]},{id:"insurance-claims",name:"Insurance Claims",faqs:[{question:"Does insurance cover roof replacement?",answer:"Homeowners insurance often covers roof replacement when damage results from a covered event like a storm or fallen tree, but not from normal wear or age. Coverage varies by policy. Alimac Pro inspects your roof, documents storm damage, and helps Snohomish County homeowners understand whether a claim may apply."},{question:"Can Alimac Pro help with my roofing insurance claim?",answer:"Yes, Alimac Pro assists homeowners throughout the insurance claim process by inspecting the roof and providing detailed documentation of damage. While your insurer makes coverage decisions, our thorough reports support your claim. We help Arlington and Seattle-area homeowners navigate storm damage claims with clear evidence and professional guidance."},{question:"What roof damage is typically covered by insurance?",answer:"Insurance typically covers sudden, accidental damage from windstorms, hail, fallen trees, and other covered perils common in the Pacific N
284orthwest. Damage from age, neglect, or lack of maintenance is usually not covered. Alimac Pro documents storm-related damage to help support your Snohomish County insurance claim."},{question:"How do I file a roof insurance claim after a storm?",answer:"Start by documenting the damage with photos, then contact your insurance company to open a claim. Having a professional inspection strengthens your case. Alimac Pro provides fast-response storm inspections and detailed damage reports to help Arlington-area homeowners file accurate, well-supported insurance claims after Pacific Northwest storms."},{question:"Will filing a claim raise my insurance premium?",answer:"Filing a claim may affect your premium depending on your insurer and claim history, so it is worth weighing the cost of damage against your deductible. Alimac Pro provides honest inspections and estimates so you can make an informed decision. We help Snohomish County homeowners understand their options before filing."},{question:"What is a roofing deductible?",answer:"A deductible is the amount you pay out of pocket before insurance covers the rest of a covered roofing claim. Deductibles vary by policy. Alimac Pro provides detailed estimates so you can compare repair or replacement costs against your deductible and decide whether filing a claim makes financial sense."},{question:"Do you provide documentation for insurance claims?",answer:"Yes, Alimac Pro provides detailed inspection reports, photos, and estimates that support your insurance claim. Thorough documentation helps your adjuster understand the scope of damage. This is especially valuable after Pacific Northwest storms, and it helps Arlington and Seattle-area homeowners present a clear, credible claim to their insurer."},{question:"How long do I have to file a roof damage claim?",answer:"Most policies have time limits for filing claims after damage occurs, so it is best to act quickly. Prompt documentation and inspection strengthen your case. Alimac Pro offers fast-response inspections across Snohomish County so you can file your claim within your insurer's deadline after a storm."},{question:"Can I choose my own roofing contractor for an insurance claim?",answer:"Yes, in Washington State you have the right to choose your own licensed roofing contractor for insurance-covered work. You are not required to use one suggested by your insurer. Alimac Pro is licensed, bonded, and insured, and proudly serves Arlington-area homeowners handling insurance-related roof repairs and replacements."},{question:"What should I do immediately after storm damage?",answer:"First, ensure everyone is safe, then document the damage with photos and prevent further water intrusion if possible. Call Alimac Pro at 206-446-3721 for a fast-response inspection. We can tarp exposed areas and provide documentation to support your Snohomish County insurance claim and stop additional damage."},{question:"Does insurance cover moss or wear-related roof damage?",answer:"No, insurance generally does not cover damage from moss, aging, or lack of maintenance, since these are considered preventable. Insurance typically covers sudden, accidental events. Alimac Pro helps Arlington-area homeowners distinguish between claimable storm damage and maintenance issues so you know what to expect before filing."},{question:"Will an insurance adjuster inspect my roof?",answer:"Yes, your insurer usually sends an adjuster to assess the damage before approving a claim. Having your own contractor's documentation helps ensure nothing is overlooked. Alimac Pro can provide a detailed report and be present to discuss the damage, supporting Snohomish County homeowners during the adjuster's visit."},{question:"What if my insurance claim is denied?",answer:"If your claim is denied, review the reason with your insurer and consider requesting a re-inspection with additional documentation. Alimac Pro can provide a detailed professional assessment that may support an appeal. We help Arlington and Seattle-area homeowners present clear evidence when disputing a denied roof damage claim."},{question:"Do you work directly with insurance companies?",answer:"Alimac Pro supp
284orts the claims process by providing thorough documentation and communicating with adjusters as needed. While the coverage decision rests with your insurer, our detailed reports and estimates help streamline the process. We guide Snohomish County homeowners through each step to make insurance claims less stressful."},{question:"Is emergency tarping covered by insurance?",answer:"Emergency measures like tarping to prevent further damage are often covered under homeowners insurance, so keep receipts and documentation. Alimac Pro provides fast-response tarping to protect your home during Pacific Northwest storms. We document all emergency work to help support your Arlington-area insurance claim."},{question:"How much of my roof replacement will insurance pay?",answer:"The amount insurance pays depends on your policy, coverage type, and deductible, and whether the damage is fully covered. Some policies pay actual cash value while others pay replacement cost. Alimac Pro provides detailed estimates so Snohomish County homeowners understand their potential out-of-pocket costs before proceeding."},{question:"Should I get an inspection before filing a claim?",answer:"Yes, a professional inspection before filing helps you understand the true extent of damage and whether a claim is worthwhile compared to your deductible. Alimac Pro offers free, fast-response inspections across Arlington and the greater Seattle area, giving you the clear information needed to make a confident decision."}]},{id:"financing",name:"Financing",faqs:[{question:"Does Alimac Pro offer roofing financing?",answer:"Yes, Alimac Pro offers financing options to help homeowners across Arlington, Snohomish County, and the greater Seattle area afford roofing projects. Financing lets you spread the cost over time rather than paying upfront. Ask about available plans during your free estimate and we will help you find a fit for your budget."},{question:"How does roofing financing work?",answer:"Roofing financing lets you complete your project now and pay in manageable monthly installments instead of a large lump sum. Terms depend on the plan you qualify for. Alimac Pro walks Snohomish County homeowners through the available options during a free estimate so you can choose a comfortable payment structure."},{question:"Can I finance a roof repair, not just a replacement?",answer:"Financing is most commonly used for larger projects like replacements, but Alimac Pro is happy to discuss options for your specific needs. During your free estimate, we review the project scope and available financing. Contact us at 206-446-3721 to learn what works best for your Arlington-area home."},{question:"Is there a way to get a new roof with no large upfront payment?",answer:"Yes, financing allows qualified homeowners to get a new roof without paying the full cost upfront, spreading payments over time instead. This makes urgent roofing projects more manageable. Alimac Pro helps Snohomish County homeowners explore financing so a needed roof replacement does not have to wait."},{question:"Do I need good credit to qualify for financing?",answer:"Approval and terms depend on the financing plan and your credit profile, but various options may be available. Alimac Pro can point you toward financing partners during your free estimate. We encourage Arlington-area homeowners to ask about options, as financing can make quality roofing more accessible."},{question:"How do I apply for roofing financing?",answer:"Applying for roofing financing through Alimac Pro is simple and typically handled during or after your free estimate. We explain the available plans and guide you through the process. Call 206-446-3721 to get started and learn which financing options may work for your Snohomish County roofing project."},{question:"Can financing help me afford better materials?",answer:"Yes, financing can help you choose higher-quality materials like Owens Corning TruDefinition Duration shingles without straining your budget upfront. Spreading the cost over time makes premium options more attainable. Alimac Pro helps Arlington-area homeowners balance quality and affordability so you invest in a roof that lasts."},{question:"Are there financing options with monthly payments?",answer:"Yes, roofing financing typically features predictable monthly payments that fit your budget rather than a single large expense. The exact amount depends on the project and plan. Alimac Pro reviews the numbers with Snohomish County homeowners during a free estimate so you know your payment before committing."},{question:"Is financing available for emergency roof repairs?",answer:"Alimac Pro understands that roofing emergencie
284s are stressful, and we are happy to discuss financing options for qualifying projects. Call us at 206-446-3721 for a fast-response assessment. We will explain your repair options and any available financing to help you protect your Arlington-area home right away."},{question:"Will financing affect my roof warranty?",answer:"No, financing does not affect your roof warranty. Alimac Pro provides the same lifetime workmanship warranty and Owens Corning material warranties whether you pay upfront or finance. Snohomish County homeowners receive full quality and coverage regardless of how they choose to pay for their roofing project."},{question:"Can I pay off my roofing financing early?",answer:"Many financing plans allow early payoff, though terms vary by lender. Paying early can reduce overall interest costs. Alimac Pro helps Arlington-area homeowners understand the terms of available financing options during the free estimate so you can choose a plan that matches your financial goals."},{question:"How quickly can I get approved for financing?",answer:"Financing approval timelines depend on the plan and lender, but many options offer quick decisions. Alimac Pro helps guide you through the process efficiently. Contact us at 206-446-3721 during your free estimate to learn about available financing and get your Snohomish County roofing project moving."},{question:"Is roofing financing worth it?",answer:"Roofing financing is worth considering when you need a quality roof but prefer not to pay everything at once, especially for urgent repairs in the rainy Pacific Northwest. It preserves cash flow while protecting your home. Alimac Pro helps Arlington-area homeowners weigh financing against their budget and timeline."},{question:"Does Alimac Pro offer free estimates before financing?",answer:"Yes, Alimac Pro always provides free, no-obligation estimates, and we discuss financing options as part of that process. You will know the full project cost before deciding how to pay. This transparency helps Snohomish County homeowners plan confidently for their roofing investment."},{question:"Can financing cover gutters and siding too?",answer:"Alimac Pro offers roofing, gutters, and siding services, and we are happy to discuss financing for combined projects during your free estimate. Bundling upgrades can be convenient and cost-effective. Contact us at 206-446-3721 to explore options for your Arlington-area home improvement project."}
284,{question:"What information do I need to apply for financing?",answer:"Financing applications typically require basic personal and financial information, which the lender uses to determine approval and terms. Alimac Pro guides you through what is needed during your free estimate. Reach out at 206-446-3721 and we will make the financing process straightforward for your Snohomish County project."}]},{id:"gutters",name:"Gutters",faqs:[{question:"Does Alimac Pro install gutters?",answer:"Yes, Alimac Pro installs quality gutter systems for homes across Arlington, Snohomish County, and the greater Seattle area. Properly functioning gutters are essential in the rainy Pacific Northwest to direct water away from your home. We offer free estimates and can coordinate gutter installation with your roofing project."},{question:"Why are gutters important in the Pacific Northwest?",answer:"Gutters are critical in the Pacific Northwest because they channel heavy rainfall away from your roof, siding, and foundation. Without functioning gutters, water can cause erosion, leaks, and foundation damage. Alimac Pro installs reliable gutter systems to protect Snohomish County homes from the region's frequent rain."},{question:"How often should gutters be cleaned in Washington?",answer:"Gutters in Western Washington should be cleaned at least twice a year, typically in spring and fall, and more often near trees. The Pacific Northwest's rain and falling leaves clog gutters quickly. Alimac Pro helps Arlington-area homeowners keep gutters clear to prevent overflow and water damage."},{question:"What are signs my gutters need replacement?",answer:"Signs include sagging, rust, cracks, separating seams, peeling paint nearby, and water pooling around your foundation. In the rainy Pacific Northwest, failing gutters quickly lead to bigger problems. Alimac Pro inspects your gutters and recommends repair or replacement to keep your Snohomish County home protected."},{question:"Can you install gutters with my new roof?",answer:"Yes, coordinating gutter installation with a new roof is a smart, efficient choice. It ensures proper water flow and a seamless, integrated system. Alimac Pro handles both roofing and gutters, saving Arlington-area homeowners time and creating cohesive protection against Pacific Northwest rain. Ask about combining these during your free estimate."},{question:"Do you install gutter guards?",answer:"Alimac Pro can discuss gutter protection options that help reduce debris buildup, which is especially useful in tree-heavy Snohomish County neighborhoods. Gutter guards can lower maintenance needs. Contact us at 206-446-3721 to learn what solutions fit your home and the Pacific Northwest's leaf and rain conditions."},{question:"What happens if I ignore clogged gutters?",answer:"Ignoring clogged gutters causes water to overflow, damaging your roof edge, siding, foundation, and landscaping. In the wet Pacific Northwest, this can lead to serious moisture problems and rot. Alimac Pro helps Arlington-area homeowners maintain clear, functioning gutters to prevent costly water damage."},{question:"How long do gutters typically last?",answer:"Quality gutters typically last around 20 years with proper maintenance, though the Pacific Northwest's constant rain and debris can shorten lifespan without regular cleaning. Alimac Pro installs durable gutter systems and provides maintenance guidance to help Snohomish County homeowners get the most from their investment."},{question:"Do gutters protect my home's foundation?",answer:"Yes, gutters play a key role in protecting your foundation by directing rainwater away from the base of your home. Without them, pooling water can cause cracks and settling, a real concern in the rainy Pacific Northwest. Alimac Pro installs gutters that safeguard your Arlington-area home's foundation."},{question:"Can clogged gutters cause roof damage?",answer:"Yes, clogged gutters cause water to back up under shingles and along the roof edge, leading to leaks and rot. This is a common problem in the leaf-heavy, rainy Pacific Northwest. Alimac Pro helps Snohomish County homeowners keep gutters clear to protect both the roof and the home below."},{question:"What gutter materials do you offer?",answer:"Alimac Pro offers durable gutter materials suited to Pacific N
284orthwest weather, designed to handle heavy rainfall reliably. During your free estimate, we discuss options that match your home's style and drainage needs. Contact us at 206-446-3721 to learn which gutter system is best for your Arlington-area home."},{question:"How much does gutter installation cost?",answer:"Gutter installation cost depends on your home's size, the linear footage needed, and material choice. Alimac Pro provides free, detailed estimates so you understand the price before committing. Reach out at 206-446-3721 for an accurate quote on gutter installation for your Snohomish County home."},{question:"Do you repair damaged gutters?",answer:"Yes, Alimac Pro repairs sagging, leaking, and separating gutters throughout the greater Seattle area. Prompt repairs prevent water damage to your roof, siding, and foundation. If your gutters are struggling to handle Pacific Northwest rain, call 206-446-3721 for a free assessment and repair recommendation."},{question:"Should gutters slope toward downspouts?",answer:"Yes, gutters must have a slight slope toward the downspouts so water drains properly rather than pooling. Correct pitch is essential for handling Pacific Northwest rainfall. Alimac Pro installs gutters with proper slope and downspout placement to ensure efficient drainage for your Arlington-area home."},{question:"Can gutters help prevent basement flooding?",answer:"Yes, properly installed gutters and downspouts direct water away from your foundation, reducing the risk of basement moisture and flooding. This is especially valuable in the rainy Pacific Northwest. Alimac Pro installs gutter systems that channel water safely away from Snohomish County homes to protect against water intrusion."},{question:"Why choose Alimac Pro for gutter installation?",answer:"Alimac Pro brings over 20 years of experience, licensed and insured service, and knowledge of Pacific Northwest drainage challenges to every gutter project. We offer free estimates and can combine gutters with roofing for seamless protection. Arlington and Seattle-area homeowners trust our quality workmanship and honest service."}]},{id:"siding",name:"Siding",faqs:[{question:"Does Alimac Pro install siding?",answer:"Yes, Alimac Pro offers siding installation for homes throughout Arlington, Snohomish County, and the greater Seattle area. Quality siding protects your home from Pacific Northwest moisture while boosting curb appeal. We provide free estimates and can coordinate siding with other exterior projects like roofing and gutters."},{question:"Why is siding important in the Pacific Northwest?",answer:"Siding is your home's first defense against the Pacific Northwest's constant rain and moisture, protecting the structure from rot and water intrusion. Quality siding also improves insulation and appearance. Alimac Pro installs durable siding that stands up to Snohomish County weather while enhancing your home's look."},{question:"What are signs my siding needs replacement?",answer:"Signs include warping, cracking, rot, peeling paint, moisture inside walls, and rising energy bills. In the damp Pacific Northwest, failing siding lets moisture penetrate the structure. Alimac Pro inspects your siding and recommends repair or replacement to keep your Arlington-area home protected and looking its best."},{question:"How long does siding last in Western Washington?",answer:"Siding lifespan varies by material, but quality siding can last several decades in Western Washington with proper installation and maintenance. Constant moisture makes quality installation essential. Alimac Pro installs durable siding and provides guidance so Snohomish County homeowners get lasting protection and value from their investment."},{question:"Can new siding improve energy efficiency?",answer:"Yes, new siding, especially with proper insulation, can improve energy efficiency by reducing drafts and heat loss. This helps keep your home comfortable through Pacific Northwest seasons and can lower energy bills. Alimac Pro installs quality siding systems that enhance both efficiency and curb appeal for Arlington-area homes."},{question:"Does siding increase home value?",answer:"Yes, new siding boosts curb appeal and can increase resale value, making it a strong investment in the competitive Seattle-area market. Fresh, well-installed siding signals a well-maintained home. Alimac Pro installs quality siding that protects your Snohomish County home while enhancing its appearance and market value."},{question:"Can you replace siding and roofing together?",answer:"Yes, combining siding and roofing projects is efficie
284nt and ensures a cohesive, protected exterior. Alimac Pro handles both, saving Arlington-area homeowners time and coordinating the work seamlessly. Bundling exterior upgrades is especially practical in the Pacific Northwest. Ask about combining projects during your free estimate."},{question:"What siding materials do you offer?",answer:"Alimac Pro offers siding materials suited to Pacific Northwest weather, designed to resist moisture and hold up over time. During your free estimate, we discuss options that match your home's style, budget, and durability needs. Contact us at 206-446-3721 to explore siding solutions for your Snohomish County home."},{question:"How much does siding installation cost?",answer:"Siding installation cost depends on your home's size, the material chosen, and the scope of prep work. Alimac Pro provides free, detailed estimates so you understand the price before committing. Call 206-446-3721 for an accurate quote on siding installation for your Arlington-area home."},{question:"Do you repair damaged siding?",answer:"Yes, Alimac Pro repairs cracked, warped, or moisture-damaged siding across the greater Seattle area. Prompt repairs prevent water from reaching the structure beneath. If your siding shows damage from Pacific Northwest weather, call 206-446-3721 for a free assessment and repair recommendation for your home."},{question:"Can siding help prevent moisture damage?",answer:"Yes, properly installed siding forms a protective barrier that keeps Pacific Northwest rain and moisture from penetrating your home's structure. This helps prevent rot, mold, and costly repairs. Alimac Pro installs quality siding with proper technique to safeguard Snohomish County homes against the region's wet climate."},{question:"How long does siding installation take?",answer:"Siding installation timelines depend on your home's size and the scope of the project, but most residential jobs take several days. Alimac Pro works efficiently while accounting for Pacific Northwest weather. We provide a clear timeline during your free estimate so you know what to expect."},{question:"Will new siding require much maintenance?",answer:"Maintenance needs depend on the siding material, but quality modern siding generally requires minimal upkeep beyond occasional cleaning. This is a benefit in the busy Seattle area. Alimac Pro helps Arlington-area homeowners choose low-maintenance siding suited to the Pacific Northwest so your home stays protected with less effort."},{question:"Can siding be installed in the rainy season?",answer:"Alimac Pro schedules siding installation around Pacific Northwest weather windows to protect your home during the process. While drier conditions are ideal, our experienced team takes precautions to work safely year-round. We plan carefully so Snohomish County homeowners get quality siding installation regardless of the season."},{question:"Does siding come with a warranty?",answer:"Yes, Alimac Pro backs siding installation with a workmanship warranty, and siding materials typically carry manufacturer warranties as well. This layered protection gives you confidence in both the product and the installation. We explain all warranty details to Arlington-area homeowners before beginning any siding project."},{question:"Why choose Alimac Pro for siding installation?",answer:"Alimac Pro brings over 20 years of experience, licensed and insured service, and deep knowledge of Pacific Northwest weather challenges to every siding project. We offer free estimates, quality materials, and a workmanship warranty. Snohomish County and Seattle-area homeowners trust our craftsmanship and honest communication."}]},{id:"moss-removal-cleaning",name:"Moss Removal & Roof Cleaning",faqs:[{question:"Why does moss grow so much on Pacific Northwest roofs?",answer:"Moss thrives in the Pacific Northwest because of the region's constant moisture, shade, and mild temperatures, especially on north-facing roof slopes. Snohomish County's damp climate creates ideal conditions. Alimac Pro offers professional moss removal and prevention to protect Arlington-area roofs from this widespread regional problem."},{question:"Is moss actually harmful to my roof?",answer:"Yes, moss is harmful because it holds moisture against shingles, lifts them, and traps debris, leading to leaks and premature roof failure. In the wet Pacific N
284orthwest, unchecked moss shortens roof life significantly. Alimac Pro removes moss safely and offers prevention to protect your Snohomish County roof."},{question:"Does Alimac Pro offer moss removal services?",answer:"Yes, Alimac Pro provides professional moss removal and roof cleaning throughout Arlington, Snohomish County, and the greater Seattle area. We remove moss safely to avoid damaging shingles and offer prevention treatments. Call 206-446-3721 to schedule a cleaning and protect your roof from the Pacific Northwest's persistent moss."},{question:"How often should I have my roof cleaned in Washington?",answer:"Most Western Washington roofs benefit from professional cleaning every one to three years, depending on shade and tree cover. The Pacific Northwest's moist climate encourages rapid moss growth. Alimac Pro helps Arlington-area homeowners set a maintenance schedule that keeps roofs clean and extends their lifespan."},{question:"Can I remove moss myself or should I hire a professional?",answer:"While DIY moss removal is possible, improper methods like pressure washing can damage shingles and void warranties. Professional removal is safer and more effective. Alimac Pro uses proper techniques to remove moss without harming your roof, protecting Snohomish County homes from both moss and accidental damage."},{question:"Does pressure washing damage roof shingles?",answer:"Yes, high-pressure washing can strip protective granules and damage asphalt shingles, shortening their lifespan. Alimac Pro uses safe, appropriate cleaning methods rather than harsh pressure washing. This protects your investment while effectively removing moss and debris from Arlington-area roofs in the moss-prone Pacific Northwest."},{question:"How does moss removal extend my roof's life?",answer:"Removing moss stops moisture from being trapped against shingles, which prevents premature deterioration, leaks, and rot. Regular cleaning helps your roof reach its full lifespan in the damp Pacific Northwest. Alimac Pro provides moss removal and prevention so Snohomish County homeowners protect their roofing investment."},{question:"What is involved in professional roof cleaning?",answer:"Professional roof cleaning involves safely removing moss, debris, and buildup using appropriate methods that protect shingles. Alimac Pro may also apply prevention treatments and inspect for damage. This comprehensive approach keeps Arlington-area roofs healthy and helps identify small issues before they become costly problems."},{question:"Can moss removal prevent roof leaks?",answer:"Yes, removing moss helps prevent leaks by stopping moisture from being trapped under shingles and along seams. In the rainy Pacific Northwest, this is an important preventive measure. Alimac Pro removes moss and inspects your roof to protect Snohomish County homes from water intrusion and related damage."},{question:"Do you offer moss prevention treatments?",answer:"Yes, Alimac Pro offers moss prevention treatments that help slow regrowth after cleaning, which is valuable in the moss-prone Pacific Northwest. Prevention reduces long-term maintenance and protects your roof. Ask about prevention options when you schedule roof cleaning for your Arlington-area home at 206-446-3721."},{question:"Will cleaning my roof improve curb appeal?",answer:"Yes, professional roof cleaning removes unsightly moss, black streaks, and debris, dramatically improving your home's appearance. A clean roof enhances curb appeal and signals good maintenance. Alimac Pro helps Snohomish County homeowners restore their roofs while also protecting them from moisture damage common in the Pacific Northwest."},{question:"Is roof cleaning safe for all shingle types?",answer:"Alimac Pro uses cleaning methods appropriate for your specific roofing material to avoid damage. Safe, professional techniques protect shingles while removing moss and debris. Trusting a professional ensures your Arlington-area roof is cleaned effectively without the risks of harsh DIY methods in the moss-heavy Pacific Northwest."},{question:"How much does roof cleaning cost?",answer:"Roof cleaning cost depends on your roof's size, pitch, and the extent of moss buildup. Alimac Pro provides free estimates so you know the price before scheduling. Call 206-446-3721 for an accurate quote on moss removal and roof cleaning for your Snohomish County home."},{question:"Can moss come back after removal?",answer:"Yes, moss can return in the moist Pacific N
284orthwest, which is why prevention treatments and regular cleaning are recommended. Ongoing maintenance keeps regrowth in check. Alimac Pro offers prevention options and helps Arlington-area homeowners establish a schedule to keep their roofs moss-free over the long term."},{question:"Should I remove moss before selling my home?",answer:"Yes, cleaning moss before selling improves curb appeal and reassures buyers that the roof has been maintained, which matters in the competitive Seattle market. A clean roof can strengthen your listing. Alimac Pro provides professional moss removal to help Snohomish County homeowners present their property at its best."},{question:"Why choose Alimac Pro for roof cleaning?",answer:"Alimac Pro brings over 20 years of experience and deep knowledge of Pacific Northwest moss challenges to every cleaning. We use safe methods that protect your shingles, offer prevention treatments, and provide free estimates. Arlington and Seattle-area homeowners trust our careful, professional roof cleaning service."}]},{id:"emergency-services",name:"Emergency Services",faqs:[{question:"Does Alimac Pro offer emergency roofing services?",answer:"Yes, Alimac Pro provides fast-response emergency roofing services throughout Arlington, Snohomish County, and the greater Seattle area. When storms or leaks threaten your home, we prioritize prompt protection. Call 206-446-3721 and we will work to get your home secured against further damage as quickly as possible."},{question:"What counts as a roofing emergency?",answer:"A roofing emergency includes active leaks, storm damage, fallen tree limbs, or exposed areas that let water into your home. These need fast attention in the rainy Pacific Northwest to prevent serious interior damage. Alimac Pro offers fast-response service to protect your Snohomish County home when urgent issues arise."},{question:"How quickly can you respond to a roofing emergency?",answer:"Alimac Pro provides fast response for roofing emergencies across the greater Seattle area, prioritizing active leaks and storm damage. Because Pacific Northwest rain worsens damage quickly, we act promptly. Call 206-446-3721 and we will schedule urgent service to protect your Arlington-area home from further water intrusion."},{question:"What should I do while waiting for emergency roof help?",answer:"Ensure everyone is safe, move valuables away from leaks, and place containers to catch dripping water. Avoid climbing on a wet or damaged roof. Call Alimac Pro at 206-446-3721 for fast-response help, and we will guide you and dispatch service to protect your Snohomish County home."},{question:"Do you provide emergency tarping?",answer:"Yes, Alimac Pro provides emergency tarping to cover exposed or damaged areas and stop water intrusion until permanent repairs can be made. This is critical protection during Pacific Northwest storms. Call 206-446-3721 for fast-response tarping to safeguard your Arlington-area home from further damage."},{question:"Can you handle storm damage emergencies?",answer:"Yes, Alimac Pro responds quickly to storm damage from Pacific Northwest windstorms, heavy rain, and fallen branches. We assess the damage, provide protective measures, and document everything for insurance. If a storm damages your Snohomish County roof, call 206-446-3721 for fast-response emergency service."},{question:"Will you document damage for my insurance claim?",answer:"Yes, during emergency service Alimac Pro documents the damage with photos and detailed reports to support your insurance claim. This helps Arlington-area homeowners navigate the claims process after Pacific Northwest storms. We provide the evidence your insurer needs while protecting your home from further damage."},{question:"How much does emergency roof service cost?",answer:"Emergency roofing costs depend on the extent of damage and the protective measures required. Alimac Pro provides clear pricing and, when possible, discusses financing options. Call 206-446-3721 for a fast-response assessment, and we will explain your costs and options for protecting your Snohomish County home."},{question:"Can a small leak wait, or is it an emergency?",answer:"Even a small leak can quickly worsen in the rainy Pacific N
284orthwest, leading to mold and structural damage. It is best to address leaks promptly rather than wait. Alimac Pro offers fast-response service so Arlington-area homeowners can stop leaks early before they become larger, costlier problems."},{question:"Do you offer emergency service outside of Arlington?",answer:"Yes, Alimac Pro provides fast-response emergency roofing service across Snohomish County and the greater Seattle area, not just Arlington. Wherever you are in our service area, call 206-446-3721 and we will work to protect your home quickly from storm damage and active leaks."},{question:"Is it safe to inspect roof damage myself during a storm?",answer:"No, climbing onto a wet, damaged, or storm-battered roof is dangerous and should be avoided. Instead, note visible damage from the ground and call a professional. Alimac Pro provides fast-response inspections so Snohomish County homeowners can assess damage safely without risking injury on a compromised roof."},{question:"What causes most roofing emergencies in the Pacific Northwest?",answer:"Most emergencies stem from windstorms, heavy rain, fallen tree limbs, and aging roofs that finally fail under moisture. The Pacific Northwest's weather puts constant stress on roofs. Alimac Pro provides fast-response service to help Arlington-area homeowners handle these common emergencies before they cause major interior damage."},{question:"Can you make permanent repairs after emergency service?",answer:"Yes, after stabilizing your home with emergency measures like tarping, Alimac Pro returns to complete durable, permanent repairs. We address the root cause, not just the symptoms. This ensures your Snohomish County home is fully protected against future Pacific Northwest weather. Call 206-446-3721 to get started."},{question:"Should I contact my insurance before or after calling you?",answer:"You can call Alimac Pro first for fast-response protection, then contact your insurance to file a claim. We provide documentation to support your claim either way. Prompt action limits damage in the rainy Pacific Northwest. Reach us at 206-446-3721 to secure your Arlington-area home quickly."},{question:"Why choose Alimac Pro for emergency roofing?",answer:"Alimac Pro combines fast response, over 20 years of experience, and licensed, insured service to handle roofing emergencies across the Seattle area. We protect your home, document damage for insurance, and complete lasting repairs. Snohomish County homeowners trust us to act quickly when it matters most. Call 206-446-3721."}]},{id:"arlington-local",name:"Arlington & Snohomish County",faqs:[{question:"Does Alimac Pro serve Arlington, WA?",answer:"Yes, Alimac Pro is based in Arlington, WA at 18933 59th Ave NE #106 and proudly serves the local community. We provide roofing, gutters, siding, and moss removal throughout Arlington and Snohomish County. Call 206-446-3721 for a free estimate on your local roofing project."},{question:"Do I need a permit to replace my roof in Arlington?",answer:"Yes, roof replacements in Arlington and Snohomish County generally require a building permit to meet Washington State and local code. As a licensed contractor, Alimac Pro handles the permitting process for you. This ensures your project is compliant and protects your investment for future resale."},{question:"How does Arlington's weather affect my roof?",answer:"Arlington's Pacific Northwest climate brings frequent rain, moisture, moss growth, and occasional windstorms that stress roofs over time. These conditions make quality installation and maintenance essential. Alimac Pro installs durable Owens Corning roofing systems designed to withstand Snohomish County's wet, variable weather year-round."},{question:"What roofing challenges are common in Snohomish County?",answer:"Common challenges in Snohomish County include moss growth, moisture intrusion, clogged gutters from tree debris, and wind damage. The Pacific Northwest climate accelerates roof wear. Alimac Pro understands these local challenges and provides roofing, moss removal, and maintenance solutions tailored to protect Arlington-area homes."},{question:"Where is Alimac Pro located?",answer:"Alimac Pro is located at 18933 59th Ave NE #106, Arlington, WA 98223. We serve Arlington, Snohomish County, and the greater Seattle area. Call 206-446-3721 or visit us to discu
284ss your roofing, gutter, siding, or moss removal needs and schedule a free estimate."},{question:"Is Alimac Pro licensed in Washington State?",answer:"Yes, Alimac Pro is a licensed, bonded, and insured roofing contractor in Washington State, license number ALIMAPI805NS. This protects you and ensures work meets state and local code. Snohomish County homeowners can trust our credentials and over 20 years of experience for quality, compliant roofing projects."},{question:"Do local building codes affect my roofing project?",answer:"Yes, Arlington and Snohomish County building codes govern aspects like permitted roofing layers, materials, and installation standards. As a licensed contractor, Alimac Pro ensures your project meets all Washington State and local requirements. We handle permitting and code compliance so your roof is safe and legal."},{question:"How does moss affect Arlington-area roofs specifically?",answer:"Arlington's shaded, moist Pacific Northwest environment makes moss a persistent problem, especially on north-facing slopes. Moss traps moisture and shortens roof life. Alimac Pro provides professional moss removal and prevention specifically suited to Snohomish County conditions, helping local homeowners protect their roofs from this regional challenge."},{question:"Can you help with roofs damaged by Snohomish County windstorms?",answer:"Yes, Alimac Pro repairs and replaces roofs damaged by the windstorms that periodically hit Snohomish County. We provide fast-response service, document damage for insurance, and complete durable repairs. If a Pacific Northwest storm damages your Arlington-area roof, call 206-446-3721 for prompt local assistance."},{question:"Why choose a local Arlington roofing contractor?",answer:"A local contractor like Alimac Pro understands Arlington's specific weather, building codes, and moss challenges, and is readily available for service and follow-up. Being local means faster response and community accountability. Snohomish County homeowners trust our local expertise, 20-plus years of experience, and lifetime workmanship warranty."},{question:"What areas around Arlington does Alimac Pro serve?",answer:"Alimac Pro serves Arlington, Snohomish County, and the greater Seattle area, including surrounding communities. Wherever you are in our service region, we provide roofing, gutters, siding, and moss removal. Call 206-446-3721 to confirm service to your location and schedule a free estimate for your home."},{question:"Does the rainy season affect roofing project scheduling in Arlington?",answer:"Arlington's rainy Pacific Northwest season can affect scheduling, but Alimac Pro works around weather windows to complete quality installations year-round. We monitor Snohomish County forecasts and use protective measures to keep your home dry. Our experienced crews are accustomed to working in the region's variable weather."},{question:"How long has Alimac Pro served the Arlington area?",answer:"Alimac Pro brings over 20 years of roofing experience to the Arlington and Snohomish County community. Our long track record reflects our commitment to quality craftsmanship and honest service. Local homeowners trust our expertise, Owens Corning Preferred Contractor status, and lifetime workmanship warranty for their roofing projects."},{question:"Do Arlington homes need special roofing considerations?",answer:"Yes, Arlington homes benefit from roofing systems built for Pacific Northwest moisture, including quality underlayment, proper ventilation, and moss-resistant options. The local climate demands durable materials and skilled installation. Alimac Pro tailors every roofing project to Snohomish County conditions to maximize protection and lifespan."},{question:"How do I schedule a free estimate in Arlington?",answer:"Scheduling a free estimate with Alimac Pro is easy. Call 206-446-3721 or request an estimate online, and we will arrange a convenient time to inspect your Arlington-area home. We provide detailed, no-obligation pricing for roofing, gutters, siding, and moss removal throughout Snohomish County."},{question:"What is Alimac Pro's contractor license number?",answer:"Alimac Pro's Washington State contractor license number is ALIMAPI805NS. We are licensed, bonded, and insured, giving Arlington and Snohomish County homeowners confidence in our
284credentials. You can verify our license and trust our over 20 years of experience for compliant, quality roofing work."}]},{id:"seattle-area",name:"Seattle Area Service",faqs:[{question:"Does Alimac Pro serve the greater Seattle area?",answer:"Yes, Alimac Pro serves the greater Seattle area in addition to Arlington and Snohomish County. We provide roofing, gutters, siding, and moss removal to homeowners across the region. Call 206-446-3721 to confirm service to your Seattle-area location and schedule a free, no-obligation estimate."},{question:"What roofing challenges are common in the Seattle area?",answer:"Seattle-area roofs face frequent rain, moss growth, moisture intrusion, and occasional wind damage typical of the Pacific Northwest. These conditions accelerate wear. Alimac Pro installs durable Owens Corning roofing systems and offers moss removal to help Seattle-area homeowners protect their homes from the region's demanding climate."},{question:"How does Seattle's rainy climate impact roofs?",answer:"Seattle's persistent rain keeps roofs damp, encouraging moss growth and testing every seal and flashing point. Quality installation and maintenance are essential in this environment. Alimac Pro uses proper underlayment, ventilation, and quality materials to protect Seattle-area homes from constant Pacific Northwest moisture."},{question:"Why choose Alimac Pro for Seattle-area roofing?",answer:"Alimac Pro brings over 20 years of experience, Owens Corning Preferred Contractor status, and a lifetime workmanship warranty to Seattle-area roofing projects. We are licensed, bonded, and insured, and offer free estimates and financing. Homeowners across the region trust our quality craftsmanship and understanding of Pacific Northwest weather."},{question:"Do you offer free estimates in the Seattle area?",answer:"Yes, Alimac Pro provides free, no-obligation estimates throughout the greater Seattle area. We inspect your roof, discuss your goals, and provide detailed pricing. Call 206-446-3721 or request an estimate online to schedule a convenient time for our experienced team to visit your Seattle-area home."},{question:"Can you handle roofing for older Seattle-area homes?",answer:"Yes, Alimac Pro has extensive experience with the diverse and often older homes throughout the Seattle area. We assess each roof's unique needs and recommend the best solution. Our knowledge of Pacific Northwest conditions and quality Owens Corning materials help protect character homes across the region."},{question:"Do you provide emergency service in the Seattle area?",answer:"Yes, Alimac Pro offers fast-response emergency roofing service across the greater Seattle area. When storms or leaks threaten your home, we prioritize prompt protection. Call 206-446-3721 and we will work to secure your Seattle-area home against further damage as quickly as possible."},{question:"How does moss removal help Seattle-area homeowners?",answer:"Moss removal protects Seattle-area roofs from the moisture damage caused by the region's persistent moss growth, extending roof life and improving appearance. Regular cleaning is important in this climate. Alimac Pro provides safe moss removal and prevention treatments to keep Seattle-area roofs healthy and attractive."},{question:"Do Seattle-area roofing projects require permits?",answer:"Yes, roofing projects in Seattle-area jurisdictions generally require permits to meet local and Washington State code. As a licensed contractor, Alimac Pro handles permitting for your project. This ensures compliance and protects your investment. We navigate local requirements so your Seattle-area roofing project goes smoothly."},{question:"What roofing materials work best for Seattle-area homes?",answer:"Asphalt architectural shingles like Owens Corning TruDefinition Duration are ideal for Seattle-area homes, offering moisture and wind resistance at a good value. Alimac Pro, an Owens Corning Preferred Contractor, installs these shingles to give Seattle-area homeowners durable, attractive roofing suited to the Pacific Northwest climate."},{question:"Can you install gutters for Seattle-area homes?",answer:"Yes, Alimac Pro installs quality gutter systems for Seattle-area homes, which is essential given the region's heavy rainfall. Proper gutters protect your roof, siding, and foundation. We offer free estimates and can combine gutter installation with roofing. Call 206-446-3721 to protect your Seattle-area home."},{question:"How do I schedule roofing service in the Seattle area?",answer:"Scheduling with Alimac Pro is easy. Call 206-446-3721 or request an estimate online, and we will arrange a convenient time to inspect your Seattle-area home. We provide detailed, free estimates for roofing, gutters, siding, and moss removal throughout the greater Seattle region."},{question:"Does Alimac Pro offer siding in the Seattle area?",answer:"Yes, Alimac Pro installs and repairs siding for Seattle-area homes, protecting them from Pacific N
284orthwest moisture while boosting curb appeal. Quality siding is a smart investment in this climate. We offer free estimates and can coordinate siding with roofing and gutters for a complete exterior."},{question:"Are your Seattle-area roofing projects backed by warranty?",answer:"Yes, Alimac Pro backs Seattle-area roofing projects with a lifetime workmanship warranty plus Owens Corning material warranties. As a preferred contractor, we can offer enhanced coverage on qualifying systems. This layered protection gives Seattle-area homeowners confidence in both the materials and our installation quality."},{question:"Why is a Pacific Northwest specialist important for Seattle roofing?",answer:"A Pacific Northwest specialist understands the region's rain, moss, and wind challenges and installs roofs built to withstand them. Generic approaches often fall short in this climate. Alimac Pro's 20-plus years of local experience ensure Seattle-area homeowners get roofing designed specifically for Washington's demanding weather."}]},{id:"warranties",name:"Warranties",faqs:[{question:"What warranties does Alimac Pro offer?",answer:"Alimac Pro offers a lifetime workmanship warranty on installations plus Owens Corning manufacturer warranties on materials. As an Owens Corning Preferred Contractor, we can also provide enhanced system warranties on qualifying projects. This layered coverage protects both the quality of our work and the roofing materials for years."},{question:"What is a lifetime workmanship warranty?",answer:"A lifetime workmanship warranty means Alimac Pro stands behind the quality of our installation for the life of your roof, covering issues related to how the roof was installed. This gives homeowners lasting peace of mind. It complements the manufacturer's material warranty for complete protection on your Snohomish County home."},{question:"What is the difference between material and workmanship warranties?",answer:"A material warranty from the manufacturer covers defects in the shingles themselves, while a workmanship warranty covers the quality of the installation. Both are important. Alimac Pro provides a lifetime workmanship warranty and installs Owens Corning materials backed by manufacturer warranties, giving Arlington-area homeowners comprehensive coverage."},{question:"Does Alimac Pro's Owens Corning status enhance my warranty?",answer:"Yes, as an Owens Corning Preferred Contractor, Alimac Pro can offer enhanced manufacturer system warranties on qualifying installations beyond standard coverage. This provides added protection for the complete roofing system. Ask about enhanced warranty eligibility during your free estimate for your Snohomish County home."},{question:"Is my roof warranty transferable if I sell my home?",answer:"Many manufacturer warranties include transfer provisions that can add value when selling, which is a plus in the competitive Seattle market. Terms vary by warranty type. Alimac Pro explains transfer details so Arlington-area homeowners understand how their coverage can benefit future buyers."},{question:"What could void my roof warranty?",answer:"Warranties can be voided by improper repairs, unauthorized modifications, poor maintenance, or damage from neglect like unchecked moss. Using a professional protects your coverage. Alimac Pro performs quality work and provides maintenance guidance so Snohomish County homeowners keep their warranties valid and their roofs protected."},{question:"Are roof repairs covered under warranty?",answer:"Alimac Pro backs its repair work with a workmanship warranty, and repairs on a roof we installed may fall under existing coverage. The specifics depend on the situation. We explain warranty details before starting work so Arlington-area homeowners clearly understand what is protected on their roof."},{question:"How long do manufacturer shingle warranties last?",answer:"Owens Corning shingle warranties often provide long-term coverage, with duration depending on the product and installation. Architectural shingles like TruDefinition Duration typically carry strong warranty terms. Alimac Pro reviews specific warranty details with Snohomish County homeowners during the free estimate so you know exactly what is covered."},{question:"Does moss damage affect my warranty?",answer:"Damage from neglected moss can potentially affect warranty coverage, since maintenance is the homeowner's responsibility. Regular cleaning protects both your roof and
284your warranty. Alimac Pro offers moss removal and prevention to help Arlington-area homeowners maintain their roofs and keep their warranties intact in the moss-prone Pacific Northwest."},{question:"Do gutters and siding come with warranties?",answer:"Yes, Alimac Pro backs gutter and siding installations with workmanship warranties, and materials typically carry manufacturer warranties as well. This layered protection covers both the products and our installation quality. We explain all warranty details before beginning any exterior project for your Snohomish County home."},{question:"How do I make a warranty claim with Alimac Pro?",answer:"To make a warranty claim, simply contact Alimac Pro at 206-446-3721 and describe the issue. We will assess the situation and address covered concerns promptly. Our lifetime workmanship warranty and manufacturer coverage make the process straightforward for Arlington-area homeowners who need support after installation."},{question:"Why is a workmanship warranty important?",answer:"A workmanship warranty is important because even quality materials can fail if installed improperly, so it protects you against installation errors. In the wet Pacific Northwest, proper installation is critical. Alimac Pro's lifetime workmanship warranty gives Snohomish County homeowners confidence that our installation is built to last."},{question:"Does a warranty cover storm damage?",answer:"Workmanship and material warranties typically cover installation defects and manufacturing issues, not storm damage, which usually falls under homeowners insurance. Alimac Pro helps you understand the difference and provides documentation for insurance claims. We guide Arlington-area homeowners on the right coverage path after Pacific Northwest storms."},{question:"Can I get warranty coverage on an older roof repair?",answer:"Alimac Pro provides a workmanship warranty on the repairs we perform, even on older roofs, covering the quality of our specific work. Coverage on the broader roof depends on its condition and history. We explain what is covered before starting so Snohomish County homeowners have clear expectations."},{question:"Are Alimac Pro warranties in writing?",answer:"Yes, Alimac Pro provides warranty details in writing so you have a clear record of your coverage. Transparency matters to us and protects you. We review the lifetime workmanship warranty and manufacturer coverage with Arlington-area homeowners before work begins, ensuring you fully understand your protection."}]},{id:"process-timeline",name:"Process & Timeline",faqs:[{question:"What is the process for getting a new roof with Alimac Pro?",answer:"The process begins with a free estimate and inspection, followed by material selection, permitting, scheduling, installation, and a final cleanup and walkthrough. Alimac Pro guides Arlington-area homeowners through every step with clear communication. We handle the details so your roofing project is smooth from start to finish."},{question:"How long does a typical roofing project take?",answer:"Most residential roof replacements take one to three days, depending on size, pitch, and complexity, while repairs often take hours to a single day. Alimac Pro schedules around Pacific Northwest weather to keep projects on track. We provide a clear timeline during your free estimate for your Snohomish County home."},{question:"How soon can you start my roofing project?",answer:"Start times depend on scheduling, permitting, and weather, but Alimac Pro works to begin projects promptly. For emergencies, we offer fast response. Call 206-446-3721 to discuss your timeline, and we will find the soonest suitable window to complete your Arlington-area roofing project."},{question:"What happens during the free estimate?",answer:"During the free estimate, Alimac Pro inspects your roof, discusses your goals and concerns, reviews material and color options, and provides detailed, itemized pricing. There is no obligation. This first step helps Snohomish County homeowners understand their project fully before making any decisions about roofing, gutters, or siding."},{question:"Do you handle the permitting process?",answer:"Yes, as a licensed contractor, Alimac Pro handles the permitting process for roofing projects in Arlington and Snohomish County. We ensure your project meets Washington State and local code requirements. This saves you time and guarantees your roof is compliant, protecting your investment for future resale."},{question:"How do I prepare my home for a roof replacement?",answer:"Before a roof replacement, clear vehicles from the driveway, move fragile items in the attic, and remove decorations from exterior walls. Alimac Pro provides specific guidance during scheduling. We handle site protection and cleanup, making the process easy for Arlington-area homeowners while safeguarding your property."},{question:"Will my yard and property be protected during the project?",answer:"Yes, Alimac Pro protects your landscaping and property during roofing work and performs a thorough cleanup afterward, including a magnetic sweep for stray nails. We treat your home with care. Snohomish County homeowners can trust us to leave the property clean and safe when the project is complete."},{question:"What happens on the day of installation?",answer:"On installation day, our crew arrives, protects your property, tears off the old roof, inspects and repairs decking, and installs the new roofing system. Alimac Pro secures the site and cleans up daily. We keep Arlington-area homeowners informed throughout the process for a smooth, professional experience."},{question:"Do you clean up after the project?",answer:"Yes, Alimac Pro performs a thorough cleanup after every project, remov
284ing all debris and using a magnetic sweep to collect stray nails. We leave your property clean and safe. This attention to detail is part of the quality service Snohomish County homeowners expect from us."},{question:"Will weather delay my roofing project?",answer:"Pacific Northwest weather can occasionally affect scheduling, but Alimac Pro plans around rain windows and takes protective measures to keep projects moving. Our experienced crews work efficiently in the region's climate. We keep Arlington-area homeowners informed of any weather-related adjustments to the timeline."},{question:"How do you communicate during the project?",answer:"Alimac Pro keeps you informed at every stage, from the free estimate through installation and final walkthrough. Clear communication is a priority. Snohomish County homeowners can reach us at 206-446-3721 with questions anytime during the project, ensuring you always know what to expect."},{question:"What is a final walkthrough?",answer:"A final walkthrough is when Alimac Pro reviews the completed work with you, confirms cleanup, and explains your warranty coverage. This ensures your complete satisfaction before we consider the project done. It gives Arlington-area homeowners a chance to ask questions and feel confident in their new roof."},{question:"Can I stay home during my roofing project?",answer:"Yes, you can stay home during your roofing project, though the work is noisy. Many homeowners choose to be present at the start and finish. Alimac Pro keeps the site safe and communicates throughout. We accommodate the preferences of Snohomish County homeowners for a comfortable experience."},{question:"How far in advance should I schedule my roof replacement?",answer:"Scheduling a few weeks in advance is ideal, especially during the busy dry season in Western Washington. For emergencies, Alimac Pro offers fast response. Call 206-446-3721 to discuss timing, and we will find a window that works for your Arlington-area home and the Pacific Northwest weather."},{question:"What if I have questions after my project is complete?",answer:"Alimac Pro is here for you after the project through our lifetime workmanship warranty and ongoing support. If questions or concerns arise, call 206-446-3721. We stand behind our work and remain available to Snohomish County homeowners long after installation for lasting peace of mind."}]},{id:"choosing-a-contractor",name:"Choosing a Contractor",faqs:[{question:"How do I choose the right roofing contractor?",answer:"Choose a contractor who is licensed, bonded, and insured, has strong experience, offers solid warranties, and provides clear written estimates. Local knowledge matters in the Pacific Northwest. Alimac Pro meets all these criteria with over 20 years of experience, Owens Corning Preferred status, and a lifetime workmanship warranty."},{question:"Is Alimac Pro licensed, bonded, and insured?",answer:"Yes, Alimac Pro is licensed, bonded, and insured in Washington State, license number ALIMAPI805NS. This protects you throughout your project and ensures compliance with state and local code. Snohomish County homeowners can trust our credentials and over 20 years of roofing experience for quality, reliable work."},{question:"Why does contractor experience matter?",answer:"Experience matters because seasoned contractors handle challenges skillfully, install roofs correctly, and understand local conditions like Pacific Northwest moisture. Alimac Pro brings over 20 years of experience to every project. This depth of knowledge helps Arlington-area homeowners get durable, properly installed roofs that stand up to the region's weather."},{question:"What questions should I ask a roofing contractor?",answer:"Ask about licensing, insurance, warranties, experience, materials used, and whether they handle permitting. Request a detailed written estimate. Alimac Pro answers all of these confidently, offering a lifetime workmanship warranty, Owens Corning materials, and full permitting service. We welcome questions from Snohomish County homeowners during the free estimate."},{question:"Should I hire a local roofing contractor?",answer:"Yes, a local contractor understands regi
284onal weather, building codes, and challenges like moss, and is readily available for service and follow-up. Alimac Pro is based in Arlington and serves Snohomish County and the greater Seattle area. Our local expertise and accountability give homeowners confidence in every project."},{question:"What makes Alimac Pro a trusted contractor?",answer:"Alimac Pro is trusted for over 20 years of experience, licensed and insured service, Owens Corning Preferred Contractor status, a lifetime workmanship warranty, and honest communication. We provide free estimates and financing. Arlington, Snohomish County, and Seattle-area homeowners rely on our quality craftsmanship and integrity."},{question:"Why is manufacturer certification important?",answer:"Manufacturer certification, like Owens Corning Preferred Contractor status, shows a contractor meets high standards and can offer enhanced warranties. Alimac Pro holds this certification, giving Snohomish County homeowners access to quality materials and stronger coverage. It is a sign of proven expertise and reliability you can trust."},{question:"Should I get multiple roofing estimates?",answer:"Getting multiple estimates helps you compare pricing, materials, and warranties, but remember the lowest bid is not always the best value. Focus on quality, credentials, and coverage. Alimac Pro offers competitive, transparent estimates backed by 20-plus years of experience and a lifetime workmanship warranty for lasting value."},{question:"How can I verify a contractor's license?",answer:"You can verify a Washington State contractor's license through the Department of Labor and Industries using their license number. Alimac Pro's license number is ALIMAPI805NS. We encourage Arlington-area homeowners to verify credentials, as it confirms a contractor is legitimate, bonded, and insured for your protection."},{question:"What are red flags when choosing a roofing contractor?",answer:"Red flags include no license or insurance, demands for large upfront cash payments, no written estimates, and pressure tactics. Avoid contractors who cannot verify credentials. Alimac Pro operates transparently with proper licensing, written estimates, and honest terms, giving Snohomish County homeowners a trustworthy roofing partner."},{question:"Does Alimac Pro provide references or reviews?",answer:"Yes, Alimac Pro's reputation is built on satisfied customers across Arlington, Snohomish County, and the greater Seattle area. Our over 20 years of experience and commitment to quality speak for themselves. Contact us at 206-446-3721 to learn more about our track record and quality roofing work."},{question:"How important are warranties when choosing a contractor?",answer:"Warranties are very important because they protect your investment against both material defects and installation errors. A contractor confident in their work offers strong coverage. Alimac Pro provides a lifetime workmanship warranty plus Owens Corning material warranties, giving Arlington-area homeowners comprehensive protection and peace of mind."},{question:"Should my contractor handle permits?",answer:"Yes, a reputable contractor handles permitting to ensure your project meets code, which protects your home and investment. Alimac Pro manages the permitting process for roofing projects in Arlington and Snohomish County. This saves you effort and guarantees compliance with Washington State and local requirements."},{question:"What should be included in a roofing contract?",answer:"A roofing contract should include the scope of work, materials, pricing, timeline, warranty details, and payment terms in writing. Alimac Pro provides clear, transparent agreements so there are no surprises. We review everything with Snohomish County homeowners before work begins for complete confidence and understanding."},{question:"Why do homeowners choose Alimac Pro over other contractors?",answer:"Homeowners choose Alimac Pro for our 20-plus years of experience, Owens Corning Preferred Contractor status, lifetime workmanship warranty, free estimates, financing, and honest, local service. We understand Pacific N
284orthwest roofing challenges. Arlington, Snohomish County, and Seattle-area homeowners trust us for quality craftsmanship and dependable communication."}]}],$S=()=>{var u;const[e,t]=v.useState(((u=Dr[0])==null?void 0:u.id)??""),[n,s]=v.useState(null),[o,a]=v.useState(""),i=v.useMemo(()=>Dr.reduce((m,f)=>m+f.faqs.length,0),[]),l=v.useMemo(()=>({"@context":"https://schema.org","@type":"FAQPage",mainEntity:Dr.flatMap(m=>m.faqs.map(f=>({"@type":"Question",name:f.question,acceptedAnswer:{"@type":"Answer",text:f.answer}})))}),[]);ye({title:"Roofing FAQ â 200+ Answers | Alimac Pro, Arlington WA",description:"Get answers to 200+ roofing questions from Alimac Pro, Arlington WA's trusted roofing contractor. Costs, materials, insurance, repairs, and more for Snohomish County homeowners.",path:"/faq",jsonLd:l});const c=o.trim().toLowerCase(),d=c?Dr.map(m=>({...m,faqs:m.faqs.filter(f=>f.question.toLowerCase().includes(c)||f.answer.toLowerCase().includes(c))})).filter(m=>m.faqs.length>0):Dr.filter(m=>m.id===e);return r.jsxs("div",{className:"flex flex-col w-full relative bg-white",children:[r.jsx(ke,{}),r.jsx(je,{}),r.jsxs("section",{className:"relative w-full bg-[#0c9ab9] pt-16 pb-20 md:pt-20 md:pb-24",children:[r.jsxs("div",{className:"container mx-auto px-6 md:px-8 max-w-7xl text-center",children:[r.jsx("h1",{className:"text-white text-3xl md:text-4xl lg:text-[42px] font-bold leading-tight mb-4",children:"Roofing Questions, Answered"}),r.jsxs("p",{className:"text-white/90 text-base md:text-lg max-w-3xl mx-auto",children:[i,"+ answers from Arlington, WA's trusted roofing contractor â serving Snohomish County and the Greater Seattle area."]})]}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 overflow-hidden",children:r.jsxs("svg",{viewBox:"0 0 1440 60",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"w-full h-auto",preserveAspectRatio:"none",children:[r.jsx("path",{d:"M0 60V30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30V60H0Z",fill:"white"}),r.jsx("path",{d:"M0 30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30",stroke:"#36a326",strokeWidth:"4",fill:"none"})]})})]}),r.jsxs("main",{className:"container mx-auto px-4 max-w-7xl py-12 md:py-16",children:[r.jsxs("div",{className:"max-w-xl mx-auto mb-10 relative",children:[r.jsx(g1,{className:"absolute left-4 top-1/2 -translate-y-1/2 w-5 h-5 text-gray-400"}),r.jsx("input",{type:"text",value:o,onChange:m=>a(m.target.value),placeholder:"Search all questions...",className:"w-full pl-12 pr-4 py-3 rounded-full border border-gray-300 focus:outline-none focus:ring-2 focus:ring-[#0c9ab9] text-gray-800","data-testid":"input-faq-search"})]}),!c&&r.jsx("div",{className:"flex flex-wrap justify-center gap-2 mb-10",children:Dr.map(m=>r.jsxs("button",{onClick:()=>{t(m.id),s(null)},className:`px-4 py-2 rounded-full text-sm font-medium transition-colors ${e===m.id?"bg-[#36a326] text-white":"bg-gray-100 text-gray-700 hover:bg-gray-200"}`,"data-testid":`button-faq-category-${m.id}`,children:[m.name," (",m.faqs.length,")"]},m.id))}),d.length===0&&r.jsx("p",{className:"text-center text-gray-600",children:"No questions match your search."}),d.map(m=>r.jsxs("div",{className:"mb-10",children:[r.jsx("h2",{className:"text-gray-900 text-2xl md:text-3xl font-bold mb-6",children:m.name}),r.jsx("div",{className:"space-y-3",children:m.faqs.map((f,w)=>{const y=`${m.id}-${w}`,g=n===y;return r.jsxs("div",{className:"border border-gray-200 rounded-xl overflow-hidden bg-white",children:[r.jsxs("button",{onClick:()=>s(g?null:y),className:"w-full flex items-center justify-between gap-4 px-5 py-4 text-left hover:bg-gray-50 transition-colors","data-testid":`button-faq-${y}`,children:[r.jsx("h3",{className:"text-gray-900 font-semibold text-base md:text-lg",children:f.question}),r.jsx(Po,{className:`w-5 h-5 text-[#0c9ab9] flex-shrink-0 transition-transform ${g?"rotate-180":""}`})]}),g&&r.jsx("div",{className:"px-5 pb-5 text-gray-700 leading-relaxed",children:f.answer})]},y)})})]},m.id)),r.jsxs("div",{className:"mt-12 bg-gray-50 rounded-2xl p-8 text-center",children:[r.jsx("h2",{className:"text-gray-900 text-2xl font-bold mb-3",children:"Still have questions?"}),r.jsx("p",{className:"text-gray-700 mb-6 max-w-2xl mx-auto",children:"Talk to a real roofer. We offer free estimates across Arlington, Marysv
284ille, Smokey Point, Stanwood, Lake Stevens, Everett, and the Greater Seattle area."}),r.jsxs("div",{className:"flex flex-wrap justify-center gap-4",children:[r.jsx("a",{href:"tel:206-446-3721",children:r.jsxs(wr,{className:"bg-[#36a326] hover:bg-green-700 text-white font-bold",children:[r.jsx(kt,{className:"w-5 h-5 mr-2"})," Call (206) 446-3721"]})}),r.jsx(De,{href:"/detailed-roofing-quote",children:r.jsx(wr,{variant:"outline",className:"font-bold border-[#0c9ab9] text-[#0c9ab9]",children:"Get a Free Quote"})})]}),r.jsxs("div",{className:"mt-6 flex flex-wrap justify-center gap-x-5 gap-y-2 text-sm",children:[r.jsx(De,{href:"/services/roof-installation-v2",className:"text-[#0c9ab9] hover:underline",children:"Roof Installation"}),r.jsx(De,{href:"/services/roof-repair",className:"text-[#0c9ab9] hover:underline",children:"Roof Repair"}),r.jsx(De,{href:"/services/gutter-installation",className:"text-[#0c9ab9] hover:underline",children:"Gutters"}),r.jsx(De,{href:"/services/siding-installation",className:"text-[#0c9ab9] hover:underline",children:"Siding"}),r.jsx(De,{href:"/services/moss-removal",className:"text-[#0c9ab9] hover:underline",children:"Moss Removal"}),r.jsx(De,{href:"/financing",className:"text-[#0c9ab9] hover:underline",children:"Financing"})]})]})]}),r.jsx(Ne,{})]})},Xc=[{slug:"roofing-arlington-wa",city:"Arlington",state:"WA",title:"Roofing Contractor in Arlington, WA | Alimac Pro",metaDescription:"Alimac Pro is Arlington's hometown roofing contractor on 59th Ave NE. Owens Corning Preferred, lifetime workmanship warranty, free estimates and financing. Call today.",h1:"Arlington's Hometown Roofing Contractor",intro:["Arlington is home for us at Alimac Pro. Our office sits at 18933 59th Ave NE, just minutes from the Smokey Point corridor, so the roofs we protect are the same ones we drive past every day. We have spent more than 20 years replacing and repairing roofs across Stillaguamish Valley neighborhoods, and that local presence means we understand exactly how our wet winters and windy shoulder seasons wear down shingles here.","As an Owens Corning Preferred Contractor, we install the TruDefinition Duration shingle line that stands up to Snohomish County's persistent rain and occasional heavy gusts rolling off the valley. Every Arlington roof we complete is backed by a lifetime workmanship warranty, so homeowners near Old Town, Gleneagle, and the airport get manufacturer-grade materials paired with installation we personally guarantee. We keep our crews small, trained, and accountable to the community we live in.","Because we are licensed, bonded, and insured under #ALIMAPI805NS, Arlington homeowners can trust that the company inspecting their roof is the same one standing behind it years later. We offer free estimates, flexible financing, and fast response when storms knock branches onto your shingles. From a simple flashing repair to a full tear-off and re-roof, we treat every Arlington home as if it were on our own street."],whyChooseUs:["Locally headquartered in Arlington at 18933 59th Ave NE, so response times stay short","Owens Corning Preferred Contractor installing TruDefinition Duration shingles","Lifetime workmanship warranty on every re-roof we complete","Licensed, bonded, and insured in Washington (#ALIMAPI805NS)","Free, no-pressure roof estimates and flexible financing options","Over 20 years of roofing experience across the Stillaguamish Valley"],localInfo:["Arlington blends a walkable historic Old Town along Olympic Avenue with newer developments spreading east toward the Cascade foothills and north to Smokey Point. Much of the housing stock ranges from mid-century homes near the downtown core to 1990s and 2000s subdivisions in Gleneagle and Kensington. That mix means we frequently see original 25-year shingles reaching the end of their life right as valley rainfall and moss growth accelerate the wear.","Sitting where SR-9 meets SR-530 just off I-5, Arlington catches damp marine air funneling up the Stillaguamish River, which keeps roofs shaded and moist much of the year. Homes near the Arlington Municipal Airport and Country Charm face open, wind-exposed lots, while tree-lined
284streets near Twin Rivers Park see heavy needle and moss buildup. We tailor ventilation and moss prevention to each of these microclimates."],neighborhoods:["Old Town Arlington","Gleneagle","Kensington","Smokey Point","Country Charm","Twin Rivers","Arlington Heights","Bryant"],faqs:[{question:"How much does a roof replacement cost in Arlington?",answer:"Most Arlington roof replacements run between $12,000 and $28,000 in 2026, depending on square footage, roof pitch, and whether decking needs repair. A standard single-story home with TruDefinition Duration shingles typically lands in the middle of that range. We provide a free, itemized estimate so you know exactly what your Arlington project includes."},{question:"Do you offer financing for Arlington homeowners?",answer:"Yes. We offer flexible financing so Arlington homeowners can spread the cost of a new roof over manageable monthly payments instead of paying everything upfront. Many customers combine financing with our free estimate to plan a full tear-off comfortably. Ask our team about current terms when we visit your home for your no-obligation inspection."},{question:"How long does a re-roof take in Arlington?",answer:"A typical Arlington re-roof takes one to three days once materials arrive. Larger homes, steep pitches, or multiple layers of old shingles can extend the timeline slightly. Our local crews stage everything from our nearby 59th Ave NE office, which helps us keep Arlington projects moving quickly and cleanly from tear-off to final cleanup."},{question:"What roofing shingles do you recommend for Arlington's climate?",answer:"For Arlington's damp, moss-prone climate we recommend Owens Corning TruDefinition Duration shingles paired with proper attic ventilation and algae-resistant granules. As an Owens Corning Preferred Contractor, we install these to earn strong wind and workmanship coverage. They handle the valley's persistent rain and shade far better than the builder-grade shingles found on many older homes."},{question:"Can you handle storm damage quickly in Arlington?",answer:"Yes. Because we are based right here in Arlington, we provide fast response for storm damage like lifted shingles, fallen branches, and sudden leaks. We will tarp and secure your roof to prevent further water intrusion, then document the damage for a full repair or insurance claim. Being local means we reach your home faster than out-of-area contractors."}],geo:{lat:48.1987,lng:-122.1251}},{slug:"roofing-marysville-wa",city:"Marysville",state:"WA",title:"Roofing Contractor in Marysville, WA | Alimac Pro",metaDescription:"Trusted Marysville roofing contractor Alimac Pro offers Owens Corning roofs, lifetime workmanship warranty, free estimates and financing. Licensed & insured. Call now.",h1:"Roofing Contractor Serving Marysville, WA",intro:["Marysville has grown fast, and its roofs have grown right along with it. From established homes near downtown Third Street to the sprawling developments up on the Lakewood and Sunnyside plateaus, Alimac Pro has spent over 20 years keeping Marysville families dry. Our nearby Arlington headquarters puts us just up I-5 from your neighborhood, so we know how Marysville's mix of coastal moisture and open, wind-exposed lots challenges asphalt shingles.","We are an Owens Corning Preferred Contractor, which lets us install the TruDefinition Duration shingle system and back it with strong manufacturer coverage plus our own lifetime workmanship warranty. Whether you own a 1970s rambler near Jennings Park or a newer two-story home in Sunnyside, we match ventilation, underlayment, and shingle selection to your specific roof. Marysville homeowners get durable materials and installation we personally stand behind for the life of the roof.","Licensed, bonded, and insured under #ALIMAPI805NS, we make the roofing process straightforward for busy Marysville families. Expect a free, honest estimate, flexible financing to fit your budget, and fast response when a windstorm off Port Susan strips shingles loose. From targeted leak repairs to complete tear-offs, our crews treat every Marysville home with the same care and cleanliness we would want on our own."],whyChooseUs:["Just up I-5 from Marysville for quick scheduling and fast response","Owens Corning Preferred Contractor using TruDefinition Duration shingles","Lifetime workmanship warranty backing every full re-roof","Licensed, bonded, and insured in Washington (#ALIMAPI805NS)","Free estimates with clear, itemized pricing and financing available","20+ years of roofing experience across Snohomish County"],localInfo:["Marysville stretches from the Ebey Slough waterfront and historic downtown eastward up onto the Lakewood, Sunnyside, and Kellogg Marsh plateaus. The city saw enormous residential growth from the 1990s through the 2010s, so many neighborhoods now have roofs 20 to 30 years old that are due for replacement. Older homes closer to Third Street and Jennings Park often carry aging shingles and dated ventilation that we regularly upgrade.","Bordered by I-5 to the west and SR-9 to the east, Marysville sits close enough to Port Susan and the Snohomish River delta to catch damp marine air and gusty winter storms. Open plateau developments near Quil Ceda Village and Smokey Point face strong wind exposure, while shaded streets near Jennings Park collect moss and conifer debris. We plan each Marysville roof around its exposure, drainage, and tree cover."],neighborhoods:["Downtown Marysville","Sunnyside","Lakewood","Kellogg Marsh","Jennings Park","Quil Ceda Village","Cedarcrest","Getchell"],faqs:[{question:"How much does roof replacement cost in Marysville?",answer:"Marysville roof replacements generally cost between $11,500 and $27,000 in 2026, depending on home size, roof complexity, and decking condition. A typical single-family home with Owens Corning TruDefinition Duration shingles falls near the middle. We give every Marysville homeowner a free, detailed estimate so there are no surprises before work begins."},{question:"Is financing available for a new roof in Marysville?",answer:"Yes. We offer financing so Marysville homeowners can replace a failing roof now and pay over time instead of draining savings. Combined with our free estimate, financing makes a full tear-off far more manageable for growing families. Our team will walk
284you through available terms during your in-home consultation with no pressure to commit."},{question:"How do I know if my Marysville roof needs replacing?",answer:"Warning signs common on Marysville roofs include curling or missing shingles, granules collecting in gutters, heavy moss growth, and ceiling stains after storms. Homes with original 1990s or early-2000s shingles are frequently at the end of their life. We offer a free inspection to tell you honestly whether a repair or full replacement makes more sense."},{question:"Do you remove moss from Marysville roofs?",answer:"Yes. Marysville's damp, shaded conditions near parks and greenbelts encourage heavy moss, which traps moisture and shortens shingle life. We safely remove moss and can add zinc or copper treatments to slow regrowth. On roofs already worn from moss damage, we will honestly advise whether cleaning is enough or a replacement is the smarter investment."},{question:"How quickly can you respond to a roof leak in Marysville?",answer:"We provide fast response for Marysville roof leaks and storm damage. Because our crews work throughout Snohomish County from nearby Arlington, we can reach most Marysville homes promptly to tarp and secure the roof. We then schedule a full repair and document everything you need for an insurance claim if the damage is storm related."}],geo:{lat:48.0518,lng:-122.1771}},{slug:"roofing-smokey-point-wa",city:"Smokey Point",state:"WA",title:"Roofing Contractor in Smokey Point, WA | Alimac Pro",metaDescription:"Alimac Pro is your neighbor in Smokey Point for roof replacement and repair. Owens Corning Preferred, lifetime workmanship warranty, free estimates and financing.",h1:"Roofing Contractor in Smokey Point, WA",intro:["Smokey Point is practically our backyard. Straddling the Arlington and Marysville line along the I-5 corridor, this fast-growing community sits just minutes from our office on 59th Ave NE. For more than 20 years Alimac Pro has roofed homes throughout Smokey Point's newer subdivisions and older pockets alike, and being this close means we can inspect, estimate, and start projects faster than contractors driving up from Seattle or Everett.","As an Owens Corning Preferred Contractor, we outfit Smokey Point roofs with TruDefinition Duration shingles engineered for the wind and rain that sweep across this flat, open corridor. Every full re-roof carries our lifetime workmanship warranty alongside Owens Corning's manufacturer coverage. Whether you own a home near the Cascade Industrial Center or a residential street off 172nd, we build a roofing system tuned to your exposure, ventilation needs, and long-term protection goals.","We are licensed, bonded, and insured under #ALIMAPI805NS, and we keep the process transparent for Smokey Point homeowners. That means a free, itemized estimate, flexible financing options, and fast response when winter storms tug at your shingles. From minor flashing and leak repairs to complete tear-offs, our local crews deliver clean, dependable work backed by a company that lives and works right here in the community."],whyChooseUs:["Based just minutes away in Arlington for the fastest local service","Owens Corning Preferred Contractor installing TruDefinition Duration shingles","Lifetime workmanship warranty on every complete re-roof","Fully licensed, bonded, and insured in Washington (#ALIMAPI805NS)","Free estimates and flexible financing for Smokey Point homeowners","More than 20 years of roofing experience along the I-5 corridor"],localInfo:["Smokey Point is a commercial and residential hub bridging south Arlington and north Marysville, anchored by the retail district around 172nd Street NE and the growing Cascade Industrial Center. Its housing is largely newer, with many subdivisions built from the late 1990s onward, meaning a wave of original builder-grade shingles is now reaching replacement age. We see plenty of these 20-plus-year roofs showing granule loss and worn ridge caps.","The area sits on flat, open terrain right along I-5 near the SR-531 (172nd Street) interchange, so homes here face significant wind exposure with little tree cover to break winter gusts off the valley. That open exposure makes proper shingle nailing patterns and wind-rated installation especially important in Smokey Point. On shadier, older lots near the Arlington side, moss control and ventilation upgrades become the bigger priorities."],neighborhoods:["Smokey Point Commercial District","Cascade Industrial Center","Lakewood","North Lakewood","172nd Street corridor","Country Charm","Quil Ceda","Marysville Pilchuck area"],faqs:[{question:"How much does a new roof cost in Smokey Point?",answer:"In 2026, most Smokey Point roof replacements cost between $11,500 and $27,500, depending on square footage, pitch, and decking condition. Newer subdivision homes with straightforward layouts often fall on the lower end with TruDefinition Duration shingles. We provide a free, itemized estimate so Smokey Point homeowners know the full scope before committing."},{question:"Do you offer financing for roofs in Smokey Point?",answer:"Yes. Smokey Point homeowners can take advantage of our flexible financing to replace an aging roof now and pay in comfortable monthly installments. Financing pairs well with our free estimate so you can plan a full tear-off without a large upfront cost. Our team explains the available options during your no-obligation in-home visit."},{question:"Why do Smokey Point roofs need wind-rated installation?",answer:"Smokey Point sits on flat, open land along I-5 with little tree cover, so homes catch strong winter winds off the valley. Proper wind-rated nailing patterns and starter strips keep shingles from lifting or blowing off. As an Owens Corning Preferred Contractor, we install TruDefinition Duration shingles to specification, which is critical for enduring the area's exposed conditions."},{question:"How old are most roofs in Smokey Point?",answer:"Many Smokey Point homes were built from the late 1990s through the 2010s, so a large share of original shingles are now 20 to 30 years old and nearing failure. If your roof dates to the first wave of subdivision growth, it may show granule loss and worn ridge caps. We offer a free inspection to confirm its remaining life."},{question:"Can you respond fast to storm damage in Smokey Point?",answer:"Absolutely. Our office is just minutes from Smokey Point, so we provide fast response to storm damage, wind-lifted shingles, and sudden leaks. We will secure and tarp your roof quickly to stop water intrusion, then schedule the full repair. Being local means we reach Smokey Point homes far sooner than contractors traveling from farther south."}],geo:{lat:48.1548,lng:-122.1826}},{slug:"roofing-stanwood-wa",city:"Stanwood",state:"WA",title:"Roofing Contractor in Stanwood, WA | Alimac Pro",metaDescription:"Stanwood roofing contractor Alimac Pro delivers Owens Corning roofs built for coastal weather, lifetime workmanship warranty, free estimates and financing. Call us.",h1:"Roofing Contractor Serving Stanwood, WA",intro:["Stanwood's location near the Stillaguamish River delta and Port Susan gives it a distinctly coastal character, and coastal weather is tough on roofs. Alimac Pro has spent over 20 years protecting homes from historic downtown Stanwood out toward the Camano Gateway, and we understand how salt-tinged marine air, steady rain, and open farmland winds accelerate shingle wear here. From our Arlington base, we are a short drive west along SR-532 to your neighborhood.","We install Owens Corning TruDefinition Duration shingles as a Preferred Contractor, choosing this system specifically for its ability to handle Stanwood's damp, windy exposure. Every full re-roof we complete comes with a lifetime workmanship warranty plus Owens Corning's manufacturer coverage. Whether you own a farmhouse in the flats near the river or a newer home up in the Church Creek and Hemple Hill areas, we design a roof assembly matched to your site's moisture and wind demands.","Licensed, bonded, and insured under #ALIMAPI805NS, we make roofing dependable and clear for Stanwood homeowners. You will receive a free, honest estimate, flexible financing to fit your budget, and fast response when coastal storms loosen shingles or drive rain under flashing. From spot leak repairs to full tear-offs, our crews leave every Stanwood property secure, clean, and ready for the next wet season."],whyChooseUs:["Short drive west on SR-532 from our Arlington headquarters","Owens Corning Preferred Contractor installing TruDefinition Duration shingles","Lifetime workmanship warranty on every full roof replacement","Licensed, bonded, and insured in Washington (#ALIMAPI805NS)","Free estimates and flexible financing tailored to Stanwood homeowners","Over 20 years roofing experience in coastal Snohomish County"],localInfo:["Stanwood pairs a historic downtown along the Stillaguamish River with the newer East Stanwood commercial area and residential growth spreading toward Camano Island. Its housing ranges from century-old farmhouses in the river flats to 1990s and 2000s developments near Church Creek and Hemple Hill. Older homes here often carry aging cedar or worn asphalt roofs that need ventilation and moisture upgrades along with replacement.","Connected to I-5 by SR-532, Stanwood sits low near Port Susan and the river delta, where marine air keeps humidity high and coastal storms arr
284ive with real force. Open farmland offers little windbreak, so exposed roofs take a beating during winter gales, while shaded, tree-lined streets collect moss and debris. We account for both salt-laden coastal wind and persistent moisture on every Stanwood roof we build."],neighborhoods:["Downtown Stanwood","East Stanwood","Church Creek","Hemple Hill","Camano Gateway","Twin City Foods area","Stanwood Bryant","Pioneer Highway corridor"],faqs:[{question:"How much does roof replacement cost in Stanwood?",answer:"Stanwood roof replacements typically range from $12,000 to $28,500 in 2026, influenced by home size, roof pitch, and any decking repairs from coastal moisture. Older farmhouses with complex rooflines can run higher. We provide every Stanwood homeowner a free, itemized estimate so you understand the full cost before any work begins."},{question:"Do coastal conditions affect roofing choices in Stanwood?",answer:"Yes. Stanwood's location near Port Susan means salt-laden marine air, high humidity, and strong storms that wear roofs faster. We install Owens Corning TruDefinition Duration shingles with algae-resistant granules and upgraded ventilation to combat this moisture. Corrosion-resistant fasteners and flashing are also important on coastal Stanwood homes, which we account for in every estimate."},{question:"Is financing available for Stanwood roof projects?",answer:"Yes. We offer flexible financing so Stanwood homeowners can replace a weathered roof now and pay over time rather than upfront. This is especially helpful for older homes needing a full tear-off. Combined with our free estimate, financing keeps your project manageable, and our team reviews the available terms during your no-obligation consultation."},{question:"Do you replace cedar roofs in Stanwood?",answer:"Yes. Many older Stanwood and farmhouse properties have aging cedar shake roofs that struggle in the damp coastal climate. We commonly replace worn cedar with durable Owens Corning TruDefinition Duration asphalt shingles, which require less maintenance and resist moss better. During a free inspection we will assess your existing roof and recommend the best long-term solution."},{question:"How fast can you reach Stanwood after storm damage?",answer:"We provide fast response for Stanwood storm damage, working west from Arlington along SR-532. Coastal gales off Port Susan can lift shingles and drive rain under flashing, so we prioritize tarping and securing your roof to stop leaks quickly. We then schedule full repairs and document the damage for any insurance claim you may need to file."}],geo:{lat:48.2418,lng:-122.3696}},{slug:"roofing-lake-stevens-wa",city:"Lake Stevens",state:"WA",title:"Roofing Contractor in Lake Stevens, WA | Alimac Pro",metaDescription:"Lake Stevens roofing contractor Alimac Pro installs Owens Corning roofs with a lifetime workmanship warranty, free estimates and financing. Licensed & insured.",h1:"Roofing Contractor Serving Lake Stevens, WA",intro:["Lake Stevens has transformed from a quiet lakeside community into one of Snohomish County's fastest-growing cities, and its roofs reflect that boom. Alimac Pro has roofed homes ringing the lake and climbing the surrounding hillsides for over 20 years. From our Arlington office it is a straight run down SR-9 to your neighborhood, so we know how lakeside humidity, tall conifers, and hillside wind exposure combine to challenge shingles throughout the area.","As an Owens Corning Preferred Contractor, we install TruDefinition Duration shingles chosen to withstand the moisture and moss pressure that comes with living near the water and beneath heavy tree cover. Every full re-roof we complete is protected by our lifetime workmanship warranty plus Owens Corning's manufacturer coverage. Whether your home overlooks the lake in Frontier Village or sits in a newer development near Cavelero Hill, we tailor ventilation and shingle selection to your exact setting.","We are licensed, bonded, and insured under #ALIMAPI805NS, and we keep the roofing process honest and simple for Lake Stevens families. That means a free, itemized estimate, flexible financing to match your budget, and fast response when a windstorm sends a limb through your shingles. From targeted repairs to complete tear-offs, our crews deliver clean, meticulous work backed by a company rooted right here in the region."],whyChooseUs:["Quick access via SR-9 from our nearby Arlington headquarters","Owens Corning Preferred Contractor installing TruDefinition Duration shingles","Lifetime workmanship warranty on every complete re-roof","Licensed, bonded, and insured in Washington (#ALIMAPI805NS)","Free estimates and flexible financing for Lake Stevens homeowners","20+ years of roofing experience across Snohomish County"],localInfo:["Lake Stevens wraps around its namesake lake, blending established homes near the historic downtown and Frontier Village with rapid newer growth on the surrounding hills toward Cavelero and Soper Hill. Housing ranges from mid-century lakeside cabins and 1970s homes to sprawling 2000s and 2010s subdivisions. Many of those newer developments now carry original shingles reaching 20-plus years and showing the first signs of wear.","Positioned along SR-9 with SR-204 linking it to I-5 and Everett, Lake Stevens sits amid rolling, tree-heavy terrain that keeps roofs shaded and prone to moss. Lakeside properties see extra humidity, while hillside homes near Cavelero catch stronger winter winds. Tall Douglas firs drop needles and debris that clog valleys and gutters, so we emphasize ventilation, moss prevention, and clean drainage on every Lake Stevens roof."],neighborhoods:["Frontier Village","Downtown Lake Stevens","Cavelero Hill","Soper Hill","Machias","Hartford","Lundeen Park area","North Cove"],faqs:[{question:"How much does roof replacement cost in Lake Stevens?",answer:"Lake Stevens roof replacements generally run $12,000 to $28,000 in 2026, depending on home size, roof pitch, and decking condition. Larger hillside homes with steep or c
284omplex rooflines can cost more. We provide every Lake Stevens homeowner a free, detailed estimate so you understand exactly what your project includes before we begin."},{question:"Do you handle moss problems on Lake Stevens roofs?",answer:"Yes. Lake Stevens roofs sit under heavy tree cover and near the lake, so moss thrives and traps damaging moisture. We safely remove moss and can install zinc or copper strips to slow regrowth. If moss has already shortened your roof's life, we will honestly advise whether cleaning is enough or a full replacement is the wiser investment."},{question:"Is financing available for a new roof in Lake Stevens?",answer:"Yes. Lake Stevens homeowners can use our flexible financing to replace an aging roof now and pay in manageable monthly installments. This is helpful for the many newer subdivision homes reaching replacement age at once. Paired with our free estimate, financing keeps the project affordable, and our team reviews terms during your no-obligation visit."},{question:"What shingles work best for Lake Stevens homes?",answer:"For Lake Stevens' shaded, humid, moss-prone conditions, we recommend Owens Corning TruDefinition Duration shingles with algae-resistant granules and upgraded attic ventilation. As a Preferred Contractor, we install them to earn strong wind and workmanship coverage. This system holds up far better under the area's tree cover and lakeside moisture than typical builder-grade shingles."},{question:"How quickly can you respond to a leak in Lake Stevens?",answer:"We offer fast response for Lake Stevens roof leaks and storm damage, reaching most homes quickly via SR-9 from Arlington. Falling limbs from the area's tall firs are a common cause of sudden leaks. We will tarp and secure your roof to stop water intrusion, then schedule the full repair and document everything for an insurance claim."}],geo:{lat:48.0151,lng:-122.0637}},{slug:"roofing-everett-wa",city:"Everett",state:"WA",title:"Roofing Contractor in Everett, WA | Alimac Pro",metaDescription:"Everett roofing contractor Alimac Pro installs Owens Corning roofs with a lifetime workmanship warranty, free estimates and financing. Licensed, bonded & insured.",h1:"Roofing Contractor Serving Everett, WA",intro:["Everett is Snohomish County's largest city, with a rich stock of older homes and a working waterfront that shapes its weather. Alimac Pro has roofed properties across Everett for more than 20 years, from the historic bungalows of Rucker Hill to newer homes in the Silver Lake and south Everett neighborhoods. A short trip down I-5 from our Arlington office puts us in your driveway, ready to tackle the mix of aging roofs this diverse city presents.","As an Owens Corning Preferred Contractor, we install TruDefinition Duration shingles built to endure the marine air, steady rain, and wind that roll in off Port Gardner Bay. Every full re-roof we complete carries our lifetime workmanship warranty alongside Owens Corning's manufacturer coverage. Whether your home is a century-old craftsman near Grand Avenue or a 1980s split-level near Silver Lake, we design a roofing system matched to its age, structure, and exposure.","Licensed, bonded, and insured under #ALIMAPI805NS, we bring big-city Everett homeowners the accountability of a local, community-based contractor. Expect a free, itemized estimate, flexible financing options, and fast response when a coastal storm lifts shingles or opens a leak. From detailed repairs on historic roofs to complete tear-offs on tired asphalt, our crews deliver careful, clean work that protects your Everett home for decades."],whyChooseUs:["Easy access down I-5 from our Arlington headquarters to all of Everett","Owens Corning Preferred Contractor installing TruDefinition Duration shingles","Lifetime workmanship warranty on every full roof replacement","Licensed, bonded, and insured in Washington (#ALIMAPI805NS)","Free estimates and flexible financing for Everett homeowners","More than 20 years of roofing experience across Snohomish County"],localInfo:["Everett spans historic waterfront neighborhoods, a dense grid of early-1900s homes near downtown and Rucker Hill, and sprawling postwar and later development south toward Silver Lake and Mariner. Much of the older north Everett housing carries steep-pitched roofs and original detailing that demand experienced hands, while mid-century and 1980s homes to the south often need full replacement of shingles now well past their prime.","Bordered by I-5 and perched along Port Gardner Bay near the mouth of the Snohomish River, Everett catches abundant marine moisture and gusty coastal storms. Waterfront and hilltop homes near Legion Park face strong wind exposure, while tree-shaded streets in the Bayside and View Ridge areas battle persistent moss. We adapt ventilation, flashing, and shingle choices to each of Everett's varied neighborhoods and roof styles."],neighborhoods:["Rucker Hill","Bayside","View Ridge","Silver Lake","Mariner","Riverside","Port Gardner","Delta","Harborview"],faqs:[{question:"How much does roof replacement cost in Everett?",answer:"Everett roof replacements typically range from $11,500 to $29,000 in 2026, depending on home size, roof pitch, and complexity. Older north Everett homes with steep, detailed rooflines often cost more than simpler south Everett houses. We provide a free, itemized estimate so every Everett homeowner knows the full scope and price before work starts."},{question:"Do you work on older historic homes in Everett?",answer:"Yes. Everett's north-end neighborhoods like Rucker Hill are full of early-1900s craftsman and Victorian homes with steep, complex roofs. Our crews have the experience to re-roof these carefully while preserving their character. We install Owens Corning TruDefinition Duration shingles and upgrade ventilation and flashing to protect these historic Everett homes for decades to come."},{question:"Is financing available for an Everett roof replacement?",answer:"Yes. We offer flexible financing so Everett homeowners can replace a failing roof now and pay in comfortable monthly installments. This helps with the many aging homes across the city needing a full tear-off. Combined with our free estimate, financing keeps your project manageable, and our team explains the terms during a no-obligation in-home visit."},{question:"How does Everett's coastal weather affect my roof?",answer:"Everett's location on Port Gardner Bay brings marine humidity, steady rain, and strong coastal winds that wear roofs faster than inland areas. Waterfront and hilltop homes face heavy wind exposure, while shaded streets battle moss. We install Owens Corning TruDefinition Duration shingles with proper ventilation and corrosion-resistant flashing to stand up to these demanding Everett conditions."},{question:"Can you respond quickly to storm damage in Everett?",answer:"Yes. We provide fast response for Everett storm damage, reaching the city quickly via I-5 from Arlington. Coastal winds off the bay can lift shingles and open leaks with little warning. We prioritize tarping and securing your roof to stop water intrusion, then schedule full repairs and document the damage for any insurance claim you file."}],geo:{lat:47.9789,lng:-122.2021}},{slug:"roofing-snohomish-county-wa",city:"Snohomish County",state:"WA",title:"Roofing Contractor in Snohomish County, WA | Alimac Pro",metaDescription:"Alimac Pro is a licensed Snohomish County roofing contractor based in Arlington, WA. Roof replacement, repair, gutters & moss removal. Free estimates countywide.",h1:"Snohomish County's Trusted Roofing Contractor",intro:["Snohomish County stretches from the saltwater shorelines of Everett and Stanwood to the Cascade foothills above Granite Falls, and its roofs face every kind of Pacific N
284orthwest weather along the way. Alimac Pro is headquartered right in the middle of it, at our Arlington office off SR-531, which means our crews are already in the county every working day. From first estimate to final inspection, you work with a local team that knows the building departments, the weather patterns, and the housing stock of every community we serve.","We handle complete roof replacements, targeted repairs, gutter and siding work, moss removal, and roof cleaning for homes and businesses across the county. As an Owens Corning Preferred Contractor, we install TruDefinition Duration shingles backed by a lifetime workmanship warranty, and every project is completed by a licensed, bonded, and insured crew (License #ALIMAPI805NS) with more than 20 years of experience on Western Washington roofs.","Because roofing budgets matter, we keep the process simple: a free, itemized estimate, honest recommendations on repair versus replacement, and flexible financing when you need it. In 2026, most Snohomish County roof replacements fall between $12,000 and $30,000 depending on size, pitch, and material, and we walk you through exactly where every dollar goes before any work begins."],whyChooseUs:["Headquartered in Arlington â crews based in Snohomish County, not dispatched from Seattle","Owens Corning Preferred Contractor installing TruDefinition Duration shingles","Lifetime workmanship warranty on full roof replacements","Licensed, bonded, and insured â Washington License #ALIMAPI805NS","Free, itemized estimates and flexible financing options","20+ years of experience with Pacific Northwest rain, wind, and moss conditions"],localInfo:["Snohomish County's geography creates real differences in how roofs age. Coastal cities like Everett, Mukilteo, and Stanwood take marine wind and salt-heavy humidity, while inland communities along SR-9 and US-2 â Lake Stevens, Snohomish, Monroe â deal with heavier shade, conifer debris, and aggressive moss growth. Foothill towns see more snow load than the lowlands. A roofing plan that works in one part of the county is not automatically right for another, which is why we assess ventilation, flashing, and underlayment choices house by house.","The county's housing stock is just as varied: early-1900s farmhouses around Snohomish and Arlington's Old Town, 1970sâ1990s developments in Marysville and Lynnwood, and fast-growing new construction around Smokey Point and Lake Stevens. Permit requirements differ by jurisdiction, and we handle the paperwork with each city or the county's Planning and Development Services so your project stays compliant from tear-off to final inspection."],neighborhoods:["Arlington","Marysville","Smokey Point","Stanwood","Lake Stevens","Everett","Snohomish","Granite Falls","Monroe","Mukilteo","Lynnwood","Mill Creek"],faqs:[{question:"How much does a roof replacement cost in Snohomish County?",answer:"Most Snohomish County roof replacements cost between $12,000 and $30,000 in 2026, depending on home size, roof pitch, tear-off scope, and material choice. Complex or steep roofs trend higher; simple ranch rooflines trend lower. Alimac Pro provides a free, itemized estimate so you can see exactly what drives your price before committing."},{question:"Do you serve all of Snohomish County?",answer:"Yes. From our Arlington headquarters we serve the entire county â Everett, Marysville, Lake Stevens, Stanwood, Snohomish, Monroe, Granite Falls, Mukilteo, Lynnwood, Mill Creek, and everywhere in between â plus the Greater Seattle area. Our central location off I-5 and SR-531 keeps drive times short and response times fast."},{question:"Do I need a permit to replace my roof in Snohomish County?",answer:"In most Snohomish County jurisdictions, a full roof replacement requires a permit, while small repairs often do not. Requirements vary between cities and unincorporated county areas. Alimac Pro handles all permitting with the appropriate building department as part of every replacement project, so your roof is fully code-compliant and inspection-ready."},{question:"How long does a roof last in Snohomish County's climate?",answer:"Quality architectural shingles typically last 25 to 40 years in Snohomish County when properly installed and ventilated. Heavy shade, moss buildup, and poor attic airflow can shorten that considerably. Regular moss treatment and gutter maintenance â both services we provide â help county homeowners reach the full lifespan of their roof."},{question:"Can you help with storm damage anywhere in the county?",answer:"Yes. We provide fast response for storm damage across Snohomish County, from windstorms off Puget Sound to falling-limb damage in the foothills. Our team tarps and secures your roof quickly to prevent water intrusion, documents everything for your insurance claim, and schedules permanent repairs promptly."}],geo:{lat:48.033,lng:-121.8339}}],QS=()=>{const[,e]=Nv("/:slug"),t=Xc.find(i=>i.slug===(e==null?void 0:e.slug)),[n,s]=v.useState(null),o=v.useMemo(()=>
284{if(t)return[{"@context":"https://schema.org","@type":"RoofingContractor",name:"Alimac Pro",url:`https://alimacpro.com/${t.slug}`,telephone:"+1-206-446-3721",address:{"@type":"PostalAddress",streetAddress:"18933 59th Ave NE #106",addressLocality:"Arlington",addressRegion:"WA",postalCode:"98223",addressCountry:"US"},areaServed:{"@type":"City",name:t.city,address:{"@type":"PostalAddress",addressRegion:"WA",addressCountry:"US"}},geo:{"@type":"GeoCoordinates",latitude:t.geo.lat,longitude:t.geo.lng},identifier:{"@type":"PropertyValue",name:"Washington State Contractor License",value:"ALIMAPI805NS"}},{"@context":"https://schema.org","@type":"FAQPage",mainEntity:t.faqs.map(i=>({"@type":"Question",name:i.question,acceptedAnswer:{"@type":"Answer",text:i.answer}}))}]},[t]);if(ye({title:(t==null?void 0:t.title)??"Location Not Found | Alimac Pro",description:(t==null?void 0:t.metaDescription)??"",path:t?`/${t.slug}`:"/",jsonLd:o}),!t)return r.jsx($x,{});const a=[{label:"Roof Installation & Replacement",href:"/services/roof-installation-v2"},{label:"Roof Repair",href:"/services/roof-repair"},{label:"Siding Installation & Repair",href:"/services/siding-installation"},{label:"Gutter Installation & Repair",href:"/services/gutter-installation"},{label:"Moss Removal & Treatment",href:"/services/moss-removal"},{label:"Roof Cleaning & Restoration",href:"/services/roof-cleaning"},{label:"Emergency Roofing Service",href:"/services/emergency"}];return r.jsxs("div",{className:"flex flex-col w-full relative bg-white",children:[r.jsx(ke,{}),r.jsx(je,{}),r.jsxs("section",{className:"relative w-full bg-[#0c9ab9] pt-16 pb-20 md:pt-20 md:pb-24",children:[r.jsxs("div",{className:"container mx-auto px-6 md:px-8 max-w-7xl text-center",children:[r.jsxs("div",{className:"flex items-center justify-center gap-2 text-white/90 mb-3",children:[r.jsx(su,{className:"w-5 h-5"}),r.jsxs("span",{className:"uppercase tracking-wider text-sm font-semibold",children:[t.city,", ",t.state]})]}),r.jsx("h1",{className:"text-white text-3xl md:text-4xl lg:text-[42px] font-bold leading-tight mb-6",children:t.h1}),r.jsx("a",{href:"tel:206-446-3721",children:r.jsxs(wr,{size:"lg",className:"bg-[#36a326] hover:bg-green-700 text-white font-bold",children:[r.jsx(kt,{className:"w-5 h-5 mr-2"})," Call (206) 446-3721 â Free Estimate"]})})]}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 overflow-hidden",children:r.jsxs("svg",{viewBox:"0 0 1440 60",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"w-full h-auto",preserveAspectRatio:"none",children:[r.jsx("path",{d:"M0 60V30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30V60H0Z",fill:"white"}),r.jsx("path",{d:"M0 30C360 0 720 0 1080 15C1260 22.5 1380 30 1440 30",stroke:"#36a326",strokeWidth:"4",fill:"none"})]})})]}),r.jsxs("main",{className:"container mx-auto px-4 max-w-7xl py-12 md:py-16",children:[r.jsx("div",{className:"max-w-4xl mx-auto space-y-5 text-gray-700 text-base md:text-lg leading-relaxed mb-14",children:t.intro.map((i,l)=>r.jsx("p",{children:i},l))}),r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-10 mb-14",children:[r.jsxs("div",{className:"bg-gray-50 rounded-2xl p-8",children:[r.jsxs("h2",{className:"text-gray-900 text-2xl font-bold mb-6",children:["Why ",t.city," Homeowners Choose Alimac Pro"]}),r.jsx("ul",{className:"space-y-3",children:t.whyChooseUs.map((i,l)=>r.jsxs("li",{className:"flex items-start gap-3",children:[r.jsx(ii,{className:"w-6 h-6 text-[#36a326] flex-shrink-0 mt-0.5"}),r.jsx("span",{className:"text-gray-700",children:i})]},l))})]}),r.jsxs("div",{className:"bg-white border border-gray-200 rounded-2xl p-8",children:[r.jsxs("h2",{className:"text-gray-900 text-2xl font-bold mb-6",children:["Roofing Services in ",t.city,", WA"]}),r.jsx("ul",{className:"space-y-3",children:a.map((i,l)=>r.jsx("li",{children:r.jsx(De,{href:i.href,className:"text-[#0c9ab9] hover:underline font-medium","data-testid":`link-service-${l}`,children:i.label})},l))})]})]}),r.jsxs("div",{className:"max-w-4xl mx-auto mb-14",children:[r.jsxs("h2",{className:"text-gray-900 text-2xl md:text-3xl font-bold mb-5",children:["Roofing in ",t.city,": What Local Homeowners Should Know"]}),r.jsx("div",{className:"space-y-5 text-gray-700 text-base md:text-lg leading-relaxed",children:t.localInfo.map((i,l)=>r.jsx("p",{children:i},l))})]}),r.jsxs("div",{className:"max-w-4xl mx-auto mb-14",children:[r.jsxs("h2",{className:"text-gray-900 text-2xl font-bold mb-4",children:["Areas We Serve in ",t.city]}),r.jsx("div",{className:"flex flex-wrap gap-2",children:t.neighborhoods.map((i,l)=>r.jsx("span",{className:"px-4 py-2 bg-gray-100 rounded-full text-gray-700 text-sm",children:i},l))})]}),r.jsxs("div",{className:"max-w-4xl mx-auto mb-14",children:[r.jsxs("h2",{className:"text-gray-900 text-2xl md:text-3xl font-bold mb-6",children:[t.city," Roofing FAQs"]}),r.jsx("div",{className:"space-y-3",children:t.faqs.map((i,l)=>r.jsxs("div",{className:"border border-gray-200 rounded-xl overflow-hidden",children:[r.jsxs("button",{onClick:()=>s(n===l?null:l),className:"w-full flex items-center justify-between gap-4 px-5 py-4 text-left hover:bg-gray-50 transition-colors","data-testid":`button-location-faq-${l}`,children:[r.jsx("h3",{className:"text-gray-900 font-semibold",children:i.question}),r.jsx(Po,{className:`w-5 h-5 text-[#0c9ab9] flex-shrink-0 transition-transform ${n===l?"rotate-180":""}`})]}),n===l&&r.jsx("div",{className:"px-5 pb-5 text-gray-700 leading-relaxed",children:i.answer})]},l))}),r.jsxs("p",{className:"mt-5 text-gray-700",children:["More questions?"," ",r.jsx(De,{href:"/faq",className:"text-[#0c9ab9] hover:underline font-medium",children:"Browse our full roofing FAQ"}),"."]})]}),r.jsxs("div",{className:"max-w-4xl mx-auto mb-14",children:[r.jsx("h2",{className:"text-gray-900 text-2xl font-bold mb-4",children:"Nearby Service Areas"}),r.jsx("div",{className:"flex flex-wrap gap-x-5 gap-y-2",children:Xc.filter(i=>i.slug!==t.slug).map(i=>r.jsxs(De,{href:`/${i.slug}`,className:"text-[#0c9ab9] hover:underline","data-testid":`link-location-${i.slug}`,children:["Roofing in ",i.city,", WA"]},i.slug))})]}),r.jsxs("div",{className:"bg-[#1a3a5c] rounded-2xl p-10 text-center",children:[r.jsxs("h2",{className:"text-white text-2xl md:text-3xl font-bold mb-4",children:["Get a Free Roofing Estimate in ",t.city]}),r.jsx("p",{className:"text-gray-200 mb-6 max-w-2xl mx-auto",children:"Licensed, bonded, and insured (License #ALIMAPI805NS). Based in Arlington, WA â fast response across Snohomish County."}),r.jsxs("div",{className:"flex flex-wrap justify-center gap-4",children:[r.jsx("a",{href:"tel:206-446-3721",children:r.jsxs(wr,{size:"lg",className:"bg-[#36a326] hover:bg-green-700 text-white font-bold",children:[r.jsx(kt,{className:"w-5 h-5 mr-2"})," Call (206) 446-3721"]})}),r.jsx(De,{href:"/detailed-roofing-quote",children:r.jsx(wr,{size:"lg",className:"bg-[#FFB81C] hover:bg-yellow-500 text-[#1a3a5c] font-bold",children:"Get a Free Quote"})})]})]})]}),r.jsx(Ne,{})]})};function US(){const[e]=er();return v.useEffect(()=>{const t=window.location.hash;t?setTimeout(()=>{const n=document.querySelector(t);n&&n.scrollIntoView({behavior:"smooth"})},0):window.scrollTo(0,0)},[e]),null}function KS(){return r.jsxs(r.Fragment,{children:[r.jsx(US,{}),r.jsxs(Cv,{children:[r.jsx(le,{path:"/",component:lN}),r.jsx(le,{path:"/about",component:dN}),r.jsx(le,{path:"/services",component:fN}),r.jsx(le,{path:"/services/roof-installation",component:jN}),r.jsx(le,{path:"/services/roof-installation-v2",component:mk}),r.jsx(le,{path:"/services/roof-repair",component:gk}),r.jsx(le,{path:"/services/siding-installation",component:bk}),r.jsx(le,{path:"/services/gutter-installation",component:Sk}),r.jsx(le,{path:"/services/moss-removal",component:Ak}),r.jsx(le,{path:"/services/roof-cleaning",component:Rk}),r.jsx(le,{path:"/services/emergency",component:Tk}),r.jsx(le,{path:"/financing",component:Ik}),r.jsx(le,{path:"/reviews",component:Ok}),r.jsx(le,{path:"/get-quote",component:Dk}),r.jsx(le,{path:"/detailed-roofing-quote",component:Th}),r.jsx(le,{path:"/quick-quote",component:Th}),r.jsx(le,{path:"/quote-thank-you",component:Mk}),r.jsx(le,{path:"/color-selection",component:_k}),r.jsx(le,{path:"/portfolio",component:VS}),r.jsx(le,{path:"/faq",component:$S}),Xc.map(e=>r.jsx(le,{path:`/${e.slug}`,component:QS},e.slug)),r.jsx(le,{path:"/privacy-policy",component:pN}),r.jsx(le,{path:"/terms-of-service",component:gN}),r.jsx(le,{component:$x})]})]})}function XS(){return r.jsx($v,{client:cb,children:r.jsx(E2,{children:r.jsxs(P2,{children:[r.jsx(nj,{}),r.jsx(I2,{}),r.jsx(O2,{}),r.jsx(KS,{})]})})})}tg(document.getElementById("root")).render(r.jsx(XS,{}));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.