PageSourceSearch

https://qualityautopartstore.com/assets/index-BRnhaqOl.js

js qualityautopartstore.com collected 2026-10-04 05:52:36 UTC 848,826 bytes, 198 lines download raw bytes

vendor: 5,091 bytes, lines 1-2
1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/not-found-J9TzS17L.js","assets/SEO-CYnGni6H.js","assets/circle-alert-Cbah3q5p.js","assets/Home-DzufLLiS.js","assets/api-Cs_qdazF.js","assets/QuoteForm-DwtmsCK4.js","assets/phoneValidation-Bvax6UlH.js","assets/cog-ElEiILa-.js","assets/car-rZHtEU_z.js","assets/user-DkHbYBJ1.js","assets/loader-circle-ozItO4gc.js","assets/circle-check-CJX8aiJC.js","assets/rotate-ccw-AhorQcAf.js","assets/skeleton-844w4ENO.js","assets/arrow-right-BxBEfoQr.js","assets/zap-DJ9q4-AG.js","assets/BrandDetail-qYZ6Xts3.js","assets/breadcrumb-CXVyBBBf.js","assets/button-cgVr_6B2.js","assets/brandData-gSdnmZJ3.js","assets/wrench-Dc4B8M-x.js","assets/BrandCategory-BCTowhaN.js","assets/BrandModel-Bd5t-Y6l.js","assets/BrandModelYear-C1lPfeIe.js","assets/SeoRichText-BPw0Bxme.js","assets/package-WQfBUaNh.js","assets/ProductDetail-3H-vJ1Y_.js","assets/AllParts-Da0lQUqq.js","assets/ContactUs-Bpg3yl0H.js","assets/arrow-up-right-BMvXhLX9.js","assets/AboutUs-DD9NzhCq.js","assets/PrivacyPolicy-Dgvtj8LR.js","assets/Warranty-B-cPBPS-.js","assets/TermsAndConditions-BM4XbQbq.js","assets/OrderForm-DLhTh28m.js","assets/chevron-left-BNhIA3mw.js","assets/Brands-BuBTfzyc.js","assets/Disclaimer-D7YI0FSg.js","assets/triangle-alert-SUBW0YRs.js","assets/ThankYou-B2OVZwxc.js","assets/clipboard-check-CnX2k0U9.js","assets/SearchResults-CGjGK2CF.js","assets/arrow-left-DQyFcfDF.js","assets/Engines-C0PheI7A.js","assets/CategoryShared-9HaBrg3-.js","assets/Transmissions-WzdDd0u6.js","assets/VinSearch-pdMKL-fA.js","assets/PartLandingPage-BFSrl83_.js","assets/SeoLandingPage-YzYUI09Z.js","assets/chevron-up-BZDJRmXX.js","assets/TransmissionCodePage-BMImhQaX.js","assets/transmissionCodes-BFp6BI0p.js","assets/TransmissionCodesIndex-DOdzKzFn.js"])))=>i.map(i=>d[i]);
2function lT(t,n){for(var r=0;r<n.length;r++){const o=n[r];if(typeof o!="string"&&!Array.isArray(o)){for(const l in o)if(l!=="default"&&!(l in t)){const u=Object.getOwnPropertyDescriptor(o,l);u&&Object.defineProperty(t,l,u.get?u:{enumerable:!0,get:()=>o[l]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))o(l);new MutationObserver(l=>{for(const u of l)if(u.type==="childList")for(const d of u.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&o(d)}).observe(document,{childList:!0,subtree:!0});function r(l){const u={};return l.integrity&&(u.integrity=l.integrity),l.referrerPolicy&&(u.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?u.credentials="include":l.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function o(l){if(l.ep)return;l.ep=!0;const u=r(l);fetch(l.href,u)}})();function iw(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var dd={exports:{}},ps={};var Ey;function cT(){if(Ey)return ps;Ey=1;var t=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function r(o,l,u){var d=null;if(u!==void 0&&(d=""+u),l.key!==void 0&&(d=""+l.key),"key"in l){u={};for(var f in l)f!=="key"&&(u[f]=l[f])}else u=l;return l=u.ref,{$$typeof:t,type:o,key:d,ref:l!==void 0?l:null,props:u}}return ps.Fragment=n,ps.jsx=r,ps.jsxs=r,ps}var My;function uT(){return My||(My=1,dd.exports=cT()),dd.exports}var w=uT(),hd={exports:{}},ms={},fd={exports:{}},pd={};var Ry;function dT(){return Ry||(Ry=1,(function(t){function n(q,K){var W=q.length;q.push(K);e:for(;0<W;){var ee=W-1>>>1,A=q[ee];if(0<l(A,K))q[ee]=K,q[W]=A,W=ee;else break e}}function r(q){return q.length===0?null:q[0]}function o(q){if(q.length===0)return null;var K=q[0],W=q.pop();if(W!==K){q[0]=W;e:for(var ee=0,A=q.length,I=A>>>1;ee<I;){var $=2*(ee+1)-1,Z=q[$],se=$+1,he=q[se];if(0>l(Z,W))se<A&&0>l(he,Z)?(q[ee]=he,q[se]=W,ee=se):(q[ee]=Z,q[$]=W,ee=$);else if(se<A&&0>l(he,W))q[ee]=he,q[se]=W,ee=se;else break e}}return K}function l(q,K){var W=q.sortIndex-K.sortIndex;return W!==0?W:q.id-K.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var u=performance;t.unstable_now=function(){return u.now()}}else{var d=Date,f=d.now();t.unstable_now=function(){return d.now()-f}}var m=[],p=[],g=1,v=null,b=3,S=!1,T=!1,E=!1,C=!1,D=typeof setTimeout=="function"?setTimeout:null,V=typeof clearTimeout=="function"?clearTimeout:null,N=typeof setImmediate<"u"?setImmediate:null;function P(q){for(var K=r(p);K!==null;){if(K.callback===null)o(p);else if(K.startTime<=q)o(p),K.sortIndex=K.expirationTime,n(m,K);else break;K=r(p)}}function _(q){if(E=!1,P(q),!T)if(r(m)!==null)T=!0,Y||(Y=!0,ce());else{var K=r(p);K!==null&&de(_,K.startTime-q)}}var Y=!1,Q=-1,B=5,X=-1;function oe(){return C?!0:!(t.unstable_now()-X<B)}function me(){if(C=!1,Y){var q=t.unstable_now();X=q;var K=!0;try{e:{T=!1,E&&(E=!1,V(Q),Q=-1),S=!0;var W=b;try{t:{for(P(q),v=r(m);v!==null&&!(v.expirationTime>q&&oe());){var ee=v.callback;if(typeof ee=="function"){v.callback=null,b=v.priorityLevel;var A=ee(v.expirationTime<=q);
vendor: 22,409 bytes, line 2
2if(q=t.unstable_now(),typeof A=="function"){v.callback=A,P(q),K=!0;break t}v===r(m)&&o(m),P(q)}else o(m);v=r(m)}if(v!==null)K=!0;else{var I=r(p);I!==null&&de(_,I.startTime-q),K=!1}}break e}finally{v=null,b=W,S=!1}K=void 0}}finally{K?ce():Y=!1}}}var ce;if(typeof N=="function")ce=function(){N(me)};else if(typeof MessageChannel<"u"){var we=new MessageChannel,J=we.port2;we.port1.onmessage=me,ce=function(){J.postMessage(null)}}else ce=function(){D(me,0)};function de(q,K){Q=D(function(){q(t.unstable_now())},K)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(q){q.callback=null},t.unstable_forceFrameRate=function(q){0>q||125<q?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):B=0<q?Math.floor(1e3/q):5},t.unstable_getCurrentPriorityLevel=function(){return b},t.unstable_next=function(q){switch(b){case 1:case 2:case 3:var K=3;break;default:K=b}var W=b;b=K;try{return q()}finally{b=W}},t.unstable_requestPaint=function(){C=!0},t.unstable_runWithPriority=function(q,K){switch(q){case 1:case 2:case 3:case 4:case 5:break;default:q=3}var W=b;b=q;try{return K()}finally{b=W}},t.unstable_scheduleCallback=function(q,K,W){var ee=t.unstable_now();switch(typeof W=="object"&&W!==null?(W=W.delay,W=typeof W=="number"&&0<W?ee+W:ee):W=ee,q){case 1:var A=-1;break;case 2:A=250;break;case 5:A=1073741823;break;case 4:A=1e4;break;default:A=5e3}return A=W+A,q={id:g++,callback:K,priorityLevel:q,startTime:W,expirationTime:A,sortIndex:-1},W>ee?(q.sortIndex=W,n(p,q),r(m)===null&&q===r(p)&&(E?(V(Q),Q=-1):E=!0,de(_,W-ee))):(q.sortIndex=A,n(m,q),T||S||(T=!0,Y||(Y=!0,ce()))),q},t.unstable_shouldYield=oe,t.unstable_wrapCallback=function(q){var K=b;return function(){var W=b;b=K;try{return q.apply(this,arguments)}finally{b=W}}}})(pd)),pd}var Dy;function hT(){return Dy||(Dy=1,fd.exports=dT()),fd.exports}var md={exports:{}},ge={};var Oy;function fT(){if(Oy)return ge;Oy=1;var t=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),u=Symbol.for("react.consumer"),d=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),v=Symbol.iterator;function b(A){return A===null||typeof A!="object"?null:(A=v&&A[v]||A["@@iterator"],typeof A=="function"?A:null)}var S={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},T=Object.assign,E={};function C(A,I,$){this.props=A,this.context=I,this.refs=E,this.updater=$||S}C.prototype.isReactComponent={},C.prototype.setState=function(A,I){if(typeof A!="object"&&typeof A!="function"&&A!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,A,I,"setState")},C.prototype.forceUpdate=function(A){this.updater.enqueueForceUpdate(this,A,"forceUpdate")};function D(){}D.prototype=C.prototype;function V(A,I,$){this.props=A,this.context=I,this.refs=E,this.updater=$||S}var N=V.prototype=new D;N.constructor=V,T(N,C.prototype),N.isPureReactComponent=!0;var P=Array.isArray,_={H:null,A:null,T:null,S:null,V:null},Y=Object.prototype.hasOwnProperty;function Q(A,I,$,Z,se,he){return $=he.ref,{$$typeof:t,type:A,key:I,ref:$!==void 0?$:null,props:he}}function B(A,I){return Q(A.type,I,void 0,void 0,void 0,A.props)}function X(A){return typeof A=="object"&&A!==null&&A.$$typeof===t}function oe(A){var I={"=":"=0",":":"=2"};return"$"+A.replace(/[=:]/g,function($){return I[$]})}var me=/\/+/g;function ce(A,I){return typeof A=="object"&&A!==null&&A.key!=null?oe(""+A.key):I.toString(36)}function we(){}function J(A){switch(A.status){case"fulfilled":return A.value;case"rejected":throw A.reason;default:switch(typeof A.status=="string"?A.then(we,we):(A.status="pending",A.then(function(I){A.status==="pending"&&(A.status="fulfilled",A.value=I)},function(I){A.status==="pending"&&(A.status="rejected",A.reason=I)})),A.status){case"fulfilled":return A.value;case"rejected":throw A.reason}}throw A}function de(A,I,$,Z,se){var he=typeof A;(he==="undefined"||he==="boolean")&&(A=null);var re=!1;if(A===null)re=!0;else switch(he){case"bigint":case"string":case"number":re=!0;break;case"object":switch(A.$$typeof){case t:case n:re=!0;break;case g:return re=A._init,de(re(A._payload),I,$,Z,se)}}if(re)return se=se(A),re=Z===""?"."+ce(A,0):Z,P(se)?($="",re!=null&&($=re.replace(me,"$&/")+"/"),de(se,I,$,"",function(Me){return Me})):se!=null&&(X(se)&&(se=B(se,$+(se.key==null||A&&A.key===se.key?"":(""+se.key).replace(me,"$&/")+"/")+re)),I.push(se)),1;re=0;var _e=Z===""?".":Z+":";if(P(A))for(var Ee=0;Ee<A.length;Ee++)Z=A[Ee],he=_e+ce(Z,Ee),re+=de(Z,I,$,he,se);else if(Ee=b(A),typeof Ee=="function")for(A=Ee.call(A),Ee=0;!(Z=A.next()).done;)Z=Z.value,he=_e+ce(Z,Ee++),re+=de(Z,I,$,he,se);else if(he==="object"){if(typeof A.then=="function")return de(J(A),I,$,Z,se);throw I=String(A),Error("Objects are not valid as a React child (found: "+(I==="[object Object]"?"object with keys {"+Object.keys(A).join(", ")+"}":I)+"). If you meant to render a collection of children, use an array instead.")}return re}function q(A,I,$){if(A==null)return A;var Z=[],se=0;return de(A,Z,"","",function(he){return I.call($,he,se++)}),Z}function K(A){if(A._status===-1){var I=A._result;I=I(),I.then(function($){(A._status===0||A._status===-1)&&(A._status=1,A._result=$)},function($){(A._status===0||A._status===-1)&&(A._status=2,A._result=$)}),A._status===-1&&(A._status=0,A._result=I)}if(A._status===1)return A._result.default;throw A._result}var W=typeof reportError=="function"?reportError:function(A){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var I=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof A=="object"&&A!==null&&typeof A.message=="string"?String(A.message):String(A),error:A});if(!window.dispatchEvent(I))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",A);return}console.error(A)};function ee(){}return ge.Children={map:q,forEach:function(A,I,$){q(A,function(){I.apply(this,arguments)},$)},count:function(A){var I=0;return q(A,function(){I++}),I},toArray:function(A){return q(A,function(I){return I})||[]},only:function(A){if(!X(A))throw Error("React.Children.only expected to receive a single React element child.");return A}},ge.Component=C,ge.Fragment=r,ge.Profiler=l,ge.PureComponent=V,ge.StrictMode=o,ge.Suspense=m,ge.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=_,ge.__COMPILER_RUNTIME={__proto__:null,c:function(A){return _.H.useMemoCache(A)}},ge.cache=function(A){return function(){return A.apply(null,arguments)}},ge.cloneElement=function(A,I,$){if(A==null)throw Error("The argument must be a React element, but you passed "+A+".");var Z=T({},A.props),se=A.key,he=void 0;if(I!=null)for(re in I.ref!==void 0&&(he=void 0),I.key!==void 0&&(se=""+I.key),I)!Y.call(I,re)||re==="key"||re==="__self"||re==="__source"||re==="ref"&&I.ref===void 0||(Z[re]=I[re]);var re=arguments.length-2;if(re===1)Z.children=$;else if(1<re){for(var _e=Array(re),Ee=0;Ee<re;Ee++)_e[Ee]=arguments[Ee+2];Z.children=_e}return Q(A.type,se,void 0,void 0,he,Z)},ge.createContext=function(A){return A={$$typeof:d,_currentValue:A,_currentValue2:A,_threadCount:0,Provider:null,Consumer:null},A.Provider=A,A.Consumer={$$typeof:u,_context:A},A},ge.createElement=function(A,I,$){var Z,se={},he=null;if(I!=null)for(Z in I.key!==void 0&&(he=""+I.key),I)Y.call(I,Z)&&Z!=="key"&&Z!=="__self"&&Z!=="__source"&&(se[Z]=I[Z]);var re=arguments.length-2;if(re===1)se.children=$;else if(1<re){for(var _e=Array(re),Ee=0;Ee<re;Ee++)_e[Ee]=arguments[Ee+2];se.children=_e}if(A&&A.defaultProps)for(Z in re=A.defaultProps,re)se[Z]===void 0&&(se[Z]=re[Z]);return Q(A,he,void 0,void 0,null,se)},ge.createRef=function(){return{current:null}},ge.forwardRef=function(A){return{$$typeof:f,render:A}},ge.isValidElement=X,ge.lazy=function(A){return{$$typeof:g,_payload:{_status:-1,_result:A},_init:K}},ge.memo=function(A,I){return{$$typeof:p,type:A,compare:I===void 0?null:I}},ge.startTransition=function(A){var I=_.T,$={};_.T=$;try{var Z=A(),se=_.S;se!==null&&se($,Z),typeof Z=="object"&&Z!==null&&typeof Z.then=="function"&&Z.then(ee,W)}catch(he){W(he)}finally{_.T=I}},ge.unstable_useCacheRefresh=function(){return _.H.useCacheRefresh()},ge.use=function(A){return _.H.use(A)},ge.useActionState=function(A,I,$){return _.H.useActionState(A,I,$)},ge.useCallback=function(A,I){return _.H.useCallback(A,I)},ge.useContext=function(A){return _.H.useContext(A)},ge.useDebugValue=function(){},ge.useDeferredValue=function(A,I){return _.H.useDeferredValue(A,I)},ge.useEffect=function(A,I,$){var Z=_.H;if(typeof $=="function")throw Error("useEffect CRUD overload is not enabled in this build of React.");return Z.useEffect(A,I)},ge.useId=function(){return _.H.useId()},ge.useImperativeHandle=function(A,I,$){return _.H.useImperativeHandle(A,I,$)},ge.useInsertionEffect=function(A,I){return _.H.useInsertionEffect(A,I)},ge.useLayoutEffect=function(A,I){return _.H.useLayoutEffect(A,I)},ge.useMemo=function(A,I){return _.H.useMemo(A,I)},ge.useOptimistic=function(A,I){return _.H.useOptimistic(A,I)},ge.useReducer=function(A,I,$){return _.H.useReducer(A,I,$)},ge.useRef=function(A){return _.H.useRef(A)},ge.useState=function(A){return _.H.useState(A)},ge.useSyncExternalStore=function(A,I,$){return _.H.useSyncExternalStore(A,I,$)},ge.useTransition=function(){return _.H.useTransition()},ge.version="19.1.0",ge}var Ny;function Ul(){return Ny||(Ny=1,md.exports=fT()),md.exports}var gd={exports:{}},ht={};var Vy;function pT(){if(Vy)return ht;Vy=1;var t=Ul();function n(m){var p="https://react.dev/errors/"+m;if(1<arguments.length){p+="?args[]="+encodeURIComponent(arguments[1]);for(var g=2;g<arguments.length;g++)p+="&args[]="+encodeURIComponent(arguments[g])}return"Minified React error #"+m+"; visit "+p+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function r(){}var o={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},l=Symbol.for("react.portal");function u(m,p,g){var v=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:l,key:v==null?null:""+v,children:m,containerInfo:p,implementation:g}}var d=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function f(m,p){if(m==="font")return"";if(typeof p=="string")return p==="use-credentials"?p:""}return ht.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=o,ht.createPortal=function(m,p){var g=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!p||p.nodeType!==1&&p.nodeType!==9&&p.nodeType!==11)throw Error(n(299));return u(m,p,null,g)},ht.flushSync=function(m){var p=d.T,g=o.p;try{if(d.T=null,o.p=2,m)return m()}finally{d.T=p,o.p=g,o.d.f()}},ht.preconnect=function(m,p){typeof m=="string"&&(p?(p=p.crossOrigin,p=typeof p=="string"?p==="use-credentials"?p:"":void 0):p=null,o.d.C(m,p))},ht.prefetchDNS=function(m){typeof m=="string"&&o.d.D(m)},ht.preinit=function(m,p){if(typeof m=="string"&&p&&typeof p.as=="string"){var g=p.as,v=f(g,p.crossOrigin),b=typeof p.integrity=="string"?p.integrity:void 0,S=typeof p.fetchPriority=="string"?p.fetchPriority:void 0;g==="style"?o.d.S(m,typeof p.precedence=="string"?p.precedence:void 0,{crossOrigin:v,integrity:b,fetchPriority:S}):g==="script"&&o.d.X(m,{crossOrigin:v,integrity:b,fetchPriority:S,nonce:typeof p.nonce=="string"?p.nonce:void 0})}},ht.preinitModule=function(m,p){if(typeof m=="string")if(typeof p=="object"&&p!==null){if(p.as==null||p.as==="script"){var g=f(p.as,p.crossOrigin);o.d.M(m,{crossOrigin:g,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0})}}else p==null&&o.d.M(m)},ht.preload=function(m,p){if(typeof m=="string"&&typeof p=="object"&&p!==null&&typeof p.as=="string"){var g=p.as,v=f(g,p.crossOrigin);o.d.L(m,g,{crossOrigin:v,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0,type:typeof p.type=="string"?p.type:void 0,fetchPriority:typeof p.fetchPriority=="string"?p.fetchPriority:void 0,referrerPolicy:typeof p.referrerPolicy=="string"?p.referrerPolicy:void 0,imageSrcSet:typeof p.imageSrcSet=="string"?p.imageSrcSet:void 0,imageSizes:typeof p.imageSizes=="string"?p.imageSizes:void 0,media:typeof p.media=="string"?p.media:void 0})}},ht.preloadModule=function(m,p){if(typeof m=="string")if(p){var g=f(p.as,p.crossOrigin);o.d.m(m,{as:typeof p.as=="string"&&p.as!=="script"?p.as:void 0,crossOrigin:g,integrity:typeof p.integrity=="string"?p.integrity:void 0})}else o.d.m(m)},ht.requestFormReset=function(m){o.d.r(m)},ht.unstable_batchedUpdates=function(m,p){return m(p)},ht.useFormState=function(m,p,g){return d.H.useFormState(m,p,g)},ht.useFormStatus=function(){return d.H.useHostTransitionStatus()},ht.version="19.1.0",ht}var qy;function rw(){if(qy)return gd.exports;qy=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(n){console.error(n)}}return t(),gd.exports=pT(),gd.exports}var jy;function mT(){if(jy)return ms;jy=1;var t=hT(),n=Ul(),r=rw();function o(e){var a="https://react.dev/errors/"+e;if(1<arguments.length){a+="?args[]="+encodeURIComponent(arguments[1]);for(var i=2;i<arguments.length;i++)a+="&args[]="+encodeURIComponent(arguments[i])}return"Minified React error #"+e+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function l(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function u(e){var a=e,i=e;if(e.alternate)for(;a.return;)a=a.return;else{e=a;do a=e,(a.flags&4098)!==0&&(i=a.return),e=a.return;while(e)}return a.tag===3?i:null}function d(e){if(e.tag===13){var a=e.memoizedState;if(a===null&&(e=e.alternate,e!==null&&(a=e.memoizedState)),a!==null)return a.dehydrated}return null}function f(e){if(u(e)!==e)throw Error(o(188))}function m(e){var a=e.alternate;if(!a){if(a=u(e),a===null)throw Error(o(188));return a!==e?null:e}for(var i=e,s=a;;){var c=i.return;if(c===null)break;var h=c.alternate;if(h===null){if(s=c.return,s!==null){i=s;continue}break}if(c.child===h.child){for(h=c.child;h;){if(h===i)return f(c),e;if(h===s)return f(c),a;h=h.sibling}throw Error(o(188))}if(i.return!==s.return)i=c,s=h;else{for(var y=!1,x=c.child;x;){if(x===i){y=!0,i=c,s=h;break}if(x===s){y=!0,s=c,i=h;break}x=x.sibling}if(!y){for(x=h.child;x;){if(x===i){y=!0,i=h,s=c;break}if(x===s){y=!0,s=h,i=c;break}x=x.sibling}if(!y)throw Error(o(189))}}if(i.alternate!==s)throw Error(o(190))}if(i.tag!==3)throw Error(o(188));return i.stateNode.current===i?e:a}function p(e){var a=e.tag;if(a===5||a===26||a===27||a===6)return e;for(e=e.child;e!==null;){if(a=p(e),a!==null)return a;e=e.sibling}return null}var g=Object.assign,v=Symbol.for("react.element"),b=Symbol.for("react.transitional.element"),S=Symbol.for("react.portal"),T=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),D=Symbol.for("react.provider"),V=Symbol.for("react.consumer"),N=Symbol.for("react.context"),P=Symbol.for("react.forward_ref"),_=Symbol.for("react.suspense"),Y=Symbol.for("react.suspense_list"),Q=Symbol.for("react.memo"),B=Symbol.for("react.lazy"),X=Symbol.for("react.activity"),oe=Symbol.for("react.memo_cache_sentinel"),me=Symbol.iterator;function ce(e){return e===null||typeof e!="object"?null:(e=me&&e[me]||e["@@iterator"],typeof e=="function"?e:null)}var we=Symbol.for("react.client.reference");function J(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===we?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case T:return"Fragment";case C:return"Profiler";case E:return"StrictMode";case _:return"Suspense";case Y:return"SuspenseList";case X:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case S:return"Portal";case N:return(e.displayName||"Context")+".Provider";case V:return(e._context.displayName||"Context")+".Consumer";case P:var a=e.render;return e=e.displayName,e||(e=a.displayName||a.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Q:return a=e.displayName||null,a!==null?a:J(e.type)||"Memo";case B:a=e._payload,e=e._init;try{return J(e(a))}catch{}}return null}var de=Array.isArray,q=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,K=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,W={pending:!1,data:null,method:null,action:null},ee=[],A=-1;function I(e){return{current:e}}function $(e){0>A||(e.current=ee[A],ee[A]=null,A--)}function Z(e,a){A++,ee[A]=e.current,e.current=a}var se=I(null),he=I(null),re=I(null),_e=I(null);function Ee(e,a){switch(Z(re,a),Z(he,e),Z(se,null),a.nodeType){case 9:case 11:e=(e=a.documentElement)&&(e=e.namespaceURI)?ty(e):0;break;default:if(e=a.tagName,a=a.namespaceURI)a=ty(a),e=ay(a,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}$(se),Z(se,e)}function Me(){$(se),$(he),$(re)}function Za(e){e.memoizedState!==null&&Z(_e,e);var a=se.current,i=ay(a,e.type);a!==i&&(Z(he,e),Z(se,i))}function ra(e){he.current===e&&($(se),$(he)),_e.current===e&&($(_e),cs._currentValue=W)}var va=Object.prototype.hasOwnProperty,Yt=t.unstable_scheduleCallback,$a=t.unstable_cancelCallback,Hk=t.unstable_shouldYield,Bk=t.unstable_requestPaint,ba=t.unstable_now,zk=t.unstable_getCurrentPriorityLevel,jf=t.unstable_ImmediatePriority,Uf=t.unstable_UserBlockingPriority,Ls=t.unstable_NormalPriority,Ik=t.unstable_LowPriority,Pf=t.unstable_IdlePriority,Fk=t.log,Wk=t.unstable_setDisableYieldValue,yr=null,Et=null;function Ja(e){if(typeof Fk=="function"&&Wk(e),Et&&typeof Et.setStrictMode=="function")try{Et.setStrictMode(yr,e)}catch{}}var Mt=Math.clz32?Math.clz32:Kk,Gk=Math.log,Yk=Math.LN2;function Kk(e){return e>>>=0,e===0?32:31-(Gk(e)/Yk|0)|0}var Hs=256,Bs=4194304;function Un(e){var a=e&42;if(a!==0)return a;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:return 64;case 128:return 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&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function zs(e,a,i){var s=e.pendingLanes;if(s===0)return 0;var c=0,h=e.suspendedLanes,y=e.pingedLanes;e=e.warmLanes;var x=s&134217727;return x!==0?(s=x&~h,s!==0?c=Un(s):(y&=x,y!==0?c=Un(y):i||(i=x&~e,i!==0&&(c=Un(i))))):(x=s&~h,x!==0?c=Un(x):y!==0?c=Un(y):i||(i=s&~e,i!==0&&(c=Un(i)))),c===0?0:a!==0&&a!==c&&(a&h)===0&&(h=c&-c,i=a&-a,h>=i||h===32&&(i&4194048)!==0)?a:c}function vr(e,a){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&a)===0}function Qk(e,a){switch(e){case 1:case 2:case 4:case 8:case 64:return a+250;case 16:case 32: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 a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function _f(){var e=Hs;return Hs<<=1,(Hs&4194048)===0&&(Hs=256),e}function Lf(){var e=Bs;return Bs<<=1,(Bs&62914560)===0&&(Bs=4194304),e}function ec(e){for(var a=[],i=0;31>i;i++)a.push(e);return a}function br(e,a){e.pendingLanes|=a,a!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Xk(e,a,i,s,c,h){var y=e.pendingLanes;e.pendingLanes=i,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=i,e.entangledLanes&=i,e.errorRecoveryDisabledLanes&=i,e.shellSuspendCounter=0;var x=e.entanglements,M=e.expirationTimes,U=e.hiddenUpdates;for(i=y&~i;0<i;){var z=31-Mt(i),G=1<<z;x[z]=0,M[z]=-1;var L=U[z];if(L!==null)for(U[z]=null,z=0;z<L.length;z++){var H=L[z];H!==null&&(H.lane&=-536870913)}i&=~G}s!==0&&Hf(e,s,0),h!==0&&c===0&&e.tag!==0&&(e.suspendedLanes|=h&~(y&~a))}function Hf(e,a,i){e.pendingLanes|=a,e.suspendedLanes&=~a;var s=31-Mt(a);e.entangledLanes|=a,e.entanglements[s]=e.entanglements[s]|1073741824|i&4194090}function Bf(e,a){var i=e.entangledLanes|=a;for(e=e.entanglements;i;){var s=31-Mt(i),c=1<<s;c&a|e[s]&a&&(e[s]|=a),i&=~c}}function tc(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;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:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function ac(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function zf(){var e=K.p;return e!==0?e:(e=window.event,e===void 0?32:xy(e.type))}function Zk(e,a){var i=K.p;try{return K.p=e,a()}finally{K.p=i}}var en=Math.random().toString(36).slice(2),ut="__reactFiber$"+en,wt="__reactProps$"+en,fi="__reactContainer$"+en,nc="__reactEvents$"+en,$k="__reactListeners$"+en,Jk="__reactHandles$"+en,If="__reactResources$"+en,wr="__reactMarker$"+en;function ic(e){delete e[ut],delete e[wt],delete e[nc],delete e[$k],delete e[Jk]}function pi(e){var a=e[ut];if(a)return a;for(var i=e.parentNode;i;){if(a=i[fi]||i[ut]){if(i=a.alternate,a.child!==null||i!==null&&i.child!==null)for(e=sy(e);e!==null;){if(i=e[ut])return i;e=sy(e)}return a}e=i,i=e.parentNode}return null}function mi(e){if(e=e[ut]||e[fi]){var a=e.tag;if(a===5||a===6||a===13||a===26||a===27||a===3)return e}return null}function xr(e){var a=e.tag;if(a===5||a===26||a===27||a===6)return e.stateNode;throw Error(o(33))}function gi(e){var a=e[If];return a||(a=e[If]={hoistableStyles:new Map,hoistableScripts:new Map}),a}function at(e){e[wr]=!0}var Ff=new Set,Wf={};function Pn(e,a){yi(e,a),yi(e+"Capture",a)}function yi(e,a){for(Wf[e]=a,e=0;e<a.length;e++)Ff.add(a[e])}var eS=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u
2037D\\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]*$"),Gf={},Yf={};function tS(e){return va.call(Yf,e)?!0:va.call(Gf,e)?!1:eS.test(e)?Yf[e]=!0:(Gf[e]=!0,!1)}function Is(e,a,i){if(tS(a))if(i===null)e.removeAttribute(a);else{switch(typeof i){case"undefined":case"function":case"symbol":e.removeAttribute(a);return;case"boolean":var s=a.toLowerCase().slice(0,5);if(s!=="data-"&&s!=="aria-"){e.removeAttribute(a);return}}e.setAttribute(a,""+i)}}function Fs(e,a,i){if(i===null)e.removeAttribute(a);else{switch(typeof i){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttribute(a,""+i)}}function Oa(e,a,i,s){if(s===null)e.removeAttribute(i);else{switch(typeof s){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(i);return}e.setAttributeNS(a,i,""+s)}}var rc,Kf;function vi(e){if(rc===void 0)try{throw Error()}catch(i){var a=i.stack.trim().match(/\n( *(at )?)/);rc=a&&a[1]||"",Kf=-1<i.stack.indexOf(`
3    at`)?" (<anonymous>)":-1<i.stack.indexOf("@")?"@unknown:0:0":""}return`
4`+rc+e+Kf}var sc=!1;function oc(e,a){if(!e||sc)return"";sc=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var s={DetermineComponentFrameRoot:function(){try{if(a){var G=function(){throw Error()};if(Object.defineProperty(G.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(G,[])}catch(H){var L=H}Reflect.construct(e,[],G)}else{try{G.call()}catch(H){L=H}e.call(G.prototype)}}else{try{throw Error()}catch(H){L=H}(G=e())&&typeof G.catch=="function"&&G.catch(function(){})}}catch(H){if(H&&L&&typeof H.stack=="string")return[H.stack,L.stack]}return[null,null]}};s.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var c=Object.getOwnPropertyDescriptor(s.DetermineComponentFrameRoot,"name");c&&c.configurable&&Object.defineProperty(s.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var h=s.DetermineComponentFrameRoot(),y=h[0],x=h[1];if(y&&x){var M=y.split(`
5`),U=x.split(`
6`);for(c=s=0;s<M.length&&!M[s].includes("DetermineComponentFrameRoot");)s++;for(;c<U.length&&!U[c].includes("DetermineComponentFrameRoot");)c++;if(s===M.length||c===U.length)for(s=M.length-1,c=U.length-1;1<=s&&0<=c&&M[s]!==U[c];)c--;for(;1<=s&&0<=c;s--,c--)if(M[s]!==U[c]){if(s!==1||c!==1)do if(s--,c--,0>c||M[s]!==U[c]){var z=`
7`+M[s].replace(" at new "," at ");return e.displayName&&z.includes("<anonymous>")&&(z=z.replace("<anonymous>",e.displayName)),z}while(1<=s&&0<=c);break}}}finally{sc=!1,Error.prepareStackTrace=i}return(i=e?e.displayName||e.name:"")?vi(i):""}function aS(e){switch(e.tag){case 26:case 27:case 5:return vi(e.type);case 16:return vi("Lazy");case 13:return vi("Suspense");case 19:return vi("SuspenseList");case 0:case 15:return oc(e.type,!1);case 11:return oc(e.type.render,!1);case 1:return oc(e.type,!0);case 31:return vi("Activity");default:return""}}function Qf(e){try{var a="";do a+=aS(e),e=e.return;while(e);return a}catch(i){return`
8Error generating stack: `+i.message+`
9`+i.stack}}function Kt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Xf(e){var a=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(a==="checkbox"||a==="radio")}function nS(e){var a=Xf(e)?"checked":"value",i=Object.getOwnPropertyDescriptor(e.constructor.prototype,a),s=""+e[a];if(!e.hasOwnProperty(a)&&typeof i<"u"&&typeof i.get=="function"&&typeof i.set=="function"){var c=i.get,h=i.set;return Object.defineProperty(e,a,{configurable:!0,get:function(){return c.call(this)},set:function(y){s=""+y,h.call(this,y)}}),Object.defineProperty(e,a,{enumerable:i.enumerable}),{getValue:function(){return s},setValue:function(y){s=""+y},stopTracking:function(){e._valueTracker=null,delete e[a]}}}}function Ws(e){e._valueTracker||(e._valueTracker=nS(e))}function Zf(e){if(!e)return!1;var a=e._valueTracker;if(!a)return!0;var i=a.getValue(),s="";return e&&(s=Xf(e)?e.checked?"true":"false":e.value),e=s,e!==i?(a.setValue(e),!0):!1}function Gs(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}}var iS=/[\n"\\]/g;function Qt(e){return e.replace(iS,function(a){return"\\"+a.charCo
vendor: 4,399 bytes, line 9
9deAt(0).toString(16)+" "})}function lc(e,a,i,s,c,h,y,x){e.name="",y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"?e.type=y:e.removeAttribute("type"),a!=null?y==="number"?(a===0&&e.value===""||e.value!=a)&&(e.value=""+Kt(a)):e.value!==""+Kt(a)&&(e.value=""+Kt(a)):y!=="submit"&&y!=="reset"||e.removeAttribute("value"),a!=null?cc(e,y,Kt(a)):i!=null?cc(e,y,Kt(i)):s!=null&&e.removeAttribute("value"),c==null&&h!=null&&(e.defaultChecked=!!h),c!=null&&(e.checked=c&&typeof c!="function"&&typeof c!="symbol"),x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"?e.name=""+Kt(x):e.removeAttribute("name")}function $f(e,a,i,s,c,h,y,x){if(h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"&&(e.type=h),a!=null||i!=null){if(!(h!=="submit"&&h!=="reset"||a!=null))return;i=i!=null?""+Kt(i):"",a=a!=null?""+Kt(a):i,x||a===e.value||(e.value=a),e.defaultValue=a}s=s??c,s=typeof s!="function"&&typeof s!="symbol"&&!!s,e.checked=x?e.checked:!!s,e.defaultChecked=!!s,y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"&&(e.name=y)}function cc(e,a,i){a==="number"&&Gs(e.ownerDocument)===e||e.defaultValue===""+i||(e.defaultValue=""+i)}function bi(e,a,i,s){if(e=e.options,a){a={};for(var c=0;c<i.length;c++)a["$"+i[c]]=!0;for(i=0;i<e.length;i++)c=a.hasOwnProperty("$"+e[i].value),e[i].selected!==c&&(e[i].selected=c),c&&s&&(e[i].defaultSelected=!0)}else{for(i=""+Kt(i),a=null,c=0;c<e.length;c++){if(e[c].value===i){e[c].selected=!0,s&&(e[c].defaultSelected=!0);return}a!==null||e[c].disabled||(a=e[c])}a!==null&&(a.selected=!0)}}function Jf(e,a,i){if(a!=null&&(a=""+Kt(a),a!==e.value&&(e.value=a),i==null)){e.defaultValue!==a&&(e.defaultValue=a);return}e.defaultValue=i!=null?""+Kt(i):""}function ep(e,a,i,s){if(a==null){if(s!=null){if(i!=null)throw Error(o(92));if(de(s)){if(1<s.length)throw Error(o(93));s=s[0]}i=s}i==null&&(i=""),a=i}i=Kt(a),e.defaultValue=i,s=e.textContent,s===i&&s!==""&&s!==null&&(e.value=s)}function wi(e,a){if(a){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=a;return}}e.textContent=a}var rS=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function tp(e,a,i){var s=a.indexOf("--")===0;i==null||typeof i=="boolean"||i===""?s?e.setProperty(a,""):a==="float"?e.cssFloat="":e[a]="":s?e.setProperty(a,i):typeof i!="number"||i===0||rS.has(a)?a==="float"?e.cssFloat=i:e[a]=(""+i).trim():e[a]=i+"px"}function ap(e,a,i){if(a!=null&&typeof a!="object")throw Error(o(62));if(e=e.style,i!=null){for(var s in i)!i.hasOwnProperty(s)||a!=null&&a.hasOwnProperty(s)||(s.indexOf("--")===0?e.setProperty(s,""):s==="float"?e.cssFloat="":e[s]="");for(var c in a)s=a[c],a.hasOwnProperty(c)&&i[c]!==s&&tp(e,c,s)}else for(var h in a)a.hasOwnProperty(h)&&tp(e,h,a[h])}function uc(e){if(e.indexOf("-")===-1)return!1;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 sS=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRen
9dering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),oS=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Ys(e){return oS.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}var dc=null;function hc(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var xi=null,ki=null;function np(e){var a=mi(e);if(a&&(e=a.stateNode)){var i=e[wt]||null;e:switch(e=a.stateNode,a.type){case"input":if(lc(e,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name),a=i.name,i.type==="radio"&&a!=null){for(i=e;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll('input[name="'+Qt(""+a)+'"][type="radio"]'),a=0;a<i.length;a++){var s=i[a];if(s!==e&&s.form===e.form){var c=s[wt]||null;if(!c)throw Error(o(90));lc(s,c.value,c.defaultValue,c.defaultValue,c.checked,c.defaultChecked,c.type,c.name)}}for(a=0;a<i.length;a++)s=i[a],s.form===e.form&&Zf(s)}break e;case"textarea":Jf(e,i.value,i.defaultValue);break e;case"select":a=i.value,a!=null&&bi(e,!!i.multiple,a,!1)}}}var fc=!1;function ip(e,a,i){if(fc)return e(a,i);fc=!0;try{var s=e(a);return s}finally{if(fc=!1,(xi!==null||ki!==null)&&(Vo(),xi&&(a=xi,e=ki,ki=xi=null,np(a),e)))for(a=0;a<e.length;a++)np(e[a])}}function kr(e,a){var i=e.stateNode;if(i===null)return null;var s=i[wt]||null;if(s===null)return null;i=s[a];e:switch(a){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(i&&typeof i!="function")throw Error(o(231,a,typeof i));return i}var Na=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),pc=!1;if(Na)try{var Sr={};Object.defineProperty(Sr,"passive",{get:function(){pc=!0}}),window.addEventListener("test",Sr,Sr),window.removeEventListener("test",Sr,Sr)}catch{pc=!1}var tn=null,mc=null,Ks=null;function rp(){if(Ks)return Ks;var e,a=mc,i=a.length,s,c="value"in tn?tn.value:tn.textContent,h=c.length;for(e=0;e<i&&a[e]===c[e];e++);var y=i-e;for(s=1;s<=y&&a[i-s]===c[h-s];s++);return Ks=c.slice(e,1<s?1-s:void 0)}function Qs(e){var a=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&a===13&&(e=13)):e=a,e===10&&(e=13),32<=e||e===13?e:0}function Xs(){return!0}function sp(){return!1}function xt(e){function a(i,s,c,h,y){this._reactName=i,this._targetInst=c,this.type=s,this.nativeEvent=h,this.target=y,this.currentTarget=null;
vendor: 5,254 bytes, line 9
9for(var x in e)e.hasOwnProperty(x)&&(i=e[x],this[x]=i?i(h):h[x]);return this.isDefaultPrevented=(h.defaultPrevented!=null?h.defaultPrevented:h.returnValue===!1)?Xs:sp,this.isPropagationStopped=sp,this}return g(a.prototype,{preventDefault:function(){this.defaultPrevented=!0;var i=this.nativeEvent;i&&(i.preventDefault?i.preventDefault():typeof i.returnValue!="unknown"&&(i.returnValue=!1),this.isDefaultPrevented=Xs)},stopPropagation:function(){var i=this.nativeEvent;i&&(i.stopPropagation?i.stopPropagation():typeof i.cancelBubble!="unknown"&&(i.cancelBubble=!0),this.isPropagationStopped=Xs)},persist:function(){},isPersistent:Xs}),a}var _n={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Zs=xt(_n),Ar=g({},_n,{view:0,detail:0}),lS=xt(Ar),gc,yc,Tr,$s=g({},Ar,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:bc,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!==Tr&&(Tr&&e.type==="mousemove"?(gc=e.screenX-Tr.screenX,yc=e.screenY-Tr.screenY):yc=gc=0,Tr=e),gc)},movementY:function(e){return"movementY"in e?e.movementY:yc}}),op=xt($s),cS=g({},$s,{dataTransfer:0}),uS=xt(cS),dS=g({},Ar,{relatedTarget:0}),vc=xt(dS),hS=g({},_n,{animationName:0,elapsedTime:0,pseudoElement:0}),fS=xt(hS),pS=g({},_n,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),mS=xt(pS),gS=g({},_n,{data:0}),lp=xt(gS),yS={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},vS={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"},bS={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function wS(e){var a=this.nativeEvent;return a.getModifierState?a.getModifierState(e):(e=bS[e])?!!a[e]:!1}function bc(){return wS}var xS=g({},Ar,{key:function(e){if(e.key){var a=yS[e.key]||e.key;if(a!=="Unidentified")return a}return e.type==="keypress"?(e=Qs(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?vS[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:bc,charCode:function(e){return e.type==="keypress"?Qs(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Qs(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),kS=xt(xS),SS=g({},$s,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),cp=xt(SS),AS=g({},Ar,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:bc}),TS=xt(AS),CS=g({},_n,{propertyName:0,elapsedTime:0,pseudoElement:0}),ES=xt(CS),MS=g({},$s,{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}),RS=xt(MS),DS=g({},_n,{newState:0,oldState:0}),OS=xt(DS),NS=[9,13,27,32],wc=Na&&"CompositionEvent"in window,Cr=null;Na&&"documentMode"in document&&(Cr=document.documentMode);var VS=Na&&"TextEvent"in window&&!Cr,up=Na&&(!wc||Cr&&8<Cr&&11>=Cr),dp=" ",hp=!1;function fp(e,a){switch(e){case"keyup":return NS.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function pp(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Si=!1;function qS(e,a){switch(e){case"compositionend":return pp(a);case"keypress":return a.which!==32?null:(hp=!0,dp);case"textInput":return e=a.data,e===dp&&hp?null:e;default:return null}}function jS(e,a){if(Si)return e==="compositionend"||!wc&&fp(e,a)?(e=rp(),Ks=mc=tn=null,Si=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1<a.char.length)return a.char;if(a.which)return String.fromCharCode(a.which)}return null;case"compositionend":return up&&a.locale!=="ko"?null:a.data;default:return null}}var US={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 mp(e){var a=e&&e.nodeName&&e.nodeName.toLowerCase();return a==="input"?!!US[e.type]:a==="textarea"}function gp(e,a,i,s){xi?ki?ki.push(s):ki=[s]:xi=s,a=Lo(a,"onChange"),0<a.length&&(i=new Zs("onChange","change",null,i,s),e.push({event:i,listeners:a}))}var Er=null,Mr=null;function PS(e){Xg(e,0)}function Js(e){var a=xr(e);if(Zf(a))return e}function yp(e,a){if(e==="change")return a}var vp=!1;if(Na){var xc;
vendor: 75,194 bytes, line 9
9if(Na){var kc="oninput"in document;if(!kc){var bp=document.createElement("div");bp.setAttribute("oninput","return;"),kc=typeof bp.oninput=="function"}xc=kc}else xc=!1;vp=xc&&(!document.documentMode||9<document.documentMode)}function wp(){Er&&(Er.detachEvent("onpropertychange",xp),Mr=Er=null)}function xp(e){if(e.propertyName==="value"&&Js(Mr)){var a=[];gp(a,Mr,e,hc(e)),ip(PS,a)}}function _S(e,a,i){e==="focusin"?(wp(),Er=a,Mr=i,Er.attachEvent("onpropertychange",xp)):e==="focusout"&&wp()}function LS(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Js(Mr)}function HS(e,a){if(e==="click")return Js(a)}function BS(e,a){if(e==="input"||e==="change")return Js(a)}function zS(e,a){return e===a&&(e!==0||1/e===1/a)||e!==e&&a!==a}var Rt=typeof Object.is=="function"?Object.is:zS;function Rr(e,a){if(Rt(e,a))return!0;if(typeof e!="object"||e===null||typeof a!="object"||a===null)return!1;var i=Object.keys(e),s=Object.keys(a);if(i.length!==s.length)return!1;for(s=0;s<i.length;s++){var c=i[s];if(!va.call(a,c)||!Rt(e[c],a[c]))return!1}return!0}function kp(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Sp(e,a){var i=kp(e);e=0;for(var s;i;){if(i.nodeType===3){if(s=e+i.textContent.length,e<=a&&s>=a)return{node:i,offset:a-e};e=s}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=kp(i)}}function Ap(e,a){return e&&a?e===a?!0:e&&e.nodeType===3?!1:a&&a.nodeType===3?Ap(e,a.parentNode):"contains"in e?e.contains(a):e.compareDocumentPosition?!!(e.compareDocumentPosition(a)&16):!1:!1}function Tp(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var a=Gs(e.document);a instanceof e.HTMLIFrameElement;){try{var i=typeof a.contentWindow.location.href=="string"}catch{i=!1}if(i)e=a.contentWindow;else break;a=Gs(e.document)}return a}function Sc(e){var a=e&&e.nodeName&&e.nodeName.toLowerCase();return a&&(a==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||a==="textarea"||e.contentEditable==="true")}var IS=Na&&"documentMode"in document&&11>=document.documentMode,Ai=null,Ac=null,Dr=null,Tc=!1;function Cp(e,a,i){var s=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;Tc||Ai==null||Ai!==Gs(s)||(s=Ai,"selectionStart"in s&&Sc(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}),Dr&&Rr(Dr,s)||(Dr=s,s=Lo(Ac,"onSelect"),0<s.length&&(a=new Zs("onSelect","select",null,a,i),e.push({event:a,listeners:s}),a.target=Ai)))}function Ln(e,a){var i={};return i[e.toLowerCase()]=a.toLowerCase(),i["Webkit"+e]="webkit"+a,i["Moz"+e]="moz"+a,i}var Ti={animationend:Ln("Animation","AnimationEnd"),animationiteration:Ln("Animation","AnimationIteration"),animationstart:Ln("Animation","AnimationStart"),transitionrun:Ln("Transition","TransitionRun"),transitionstart:Ln("Transition","TransitionStart"),transitioncancel:Ln("Transition","TransitionCancel"),transitionend:Ln("Transition","TransitionEnd")},Cc={},Ep={};Na&&(Ep=document.createElement("div").style,"AnimationEvent"in window||(delete Ti.animationend.animation,delete Ti.animationiteration.animation,delete Ti.animationstart.animation),"TransitionEvent"in window||delete Ti.transitionend.transition);function Hn(e){if(Cc[e])return Cc[e];if(!Ti[e])return e;var a=Ti[e],i;for(i in a)if(a.hasOwnProperty(i)&&i in Ep)return Cc[e]=a[i];return e}var Mp=Hn("animationend"),Rp=Hn("animationiteration"),Dp=Hn("animationstart"),FS=Hn("transitionrun"),WS=Hn("transitionstart"),GS=Hn("transitioncancel"),Op=Hn("transitionend"),Np=new Map,Ec="abort auxClick beforeToggle 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(" ");Ec.push("scrollEnd");function sa(e,a){Np.set(e,a),Pn(a,[e])}var Vp=new WeakMap;function Xt(e,a){if(typeof e=="object"&&e!==null){var i=Vp.get(e);return i!==void 0?i:(a={value:e,source:a,stack:Qf(a)},Vp.set(e,a),a)}return{value:e,source:a,stack:Qf(a)}}var Zt=[],Ci=0,Mc=0;function eo(){for(var e=Ci,a=Mc=Ci=0;a<e;){var i=Zt[a];Zt[a++]=null;var s=Zt[a];Zt[a++]=null;var c=Zt[a];Zt[a++]=null;var h=Zt[a];if(Zt[a++]=null,s!==null&&c!==null){var y=s.pending;y===null?c.next=c:(c.next=y.next,y.next=c),s.pending=c}h!==0&&qp(i,c,h)}}function to(e,a,i,s){Zt[Ci++]=e,Zt[Ci++]=a,Zt[Ci++]=i,Zt[Ci++]=s,Mc|=s,e.lanes|=s,e=e.alternate,e!==null&&(e.lanes|=s)}function Rc(e,a,i,s){return to(e,a,i,s),ao(e)}function Ei(e,a){return to(e,null,null,a),ao(e)}function qp(e,a,i){e.lanes|=i;var s=e.alternate;s!==null&&(s.lanes|=i);for(var c=!1,h=e.return;h!==null;)h.childLanes|=i,s=h.alternate,s!==null&&(s.childLanes|=i),h.tag===22&&(e=h.stateNode,e===null||e._visibility&1||(c=!0)),e=h,h=h.return;return e.tag===3?(h=e.stateNode,c&&a!==null&&(c=31-Mt(i),e=h.hiddenUpdates,s=e[c],s===null?e[c]=[a]:s.push(a),a.lane=i|536870912),h):null}function ao(e){if(50<ts)throw ts=0,ju=null,Error(o(185));for(var a=e.return;a!==null;)e=a,a=e.return;return e.tag===3?e.stateNode:null}var Mi={};function YS(e,a,i,s){this.tag=e,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=a,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 Dt(e,a,i,s){return new YS(e,a,i,s)}function Dc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Va(e,a){var i=e.alternate;return i===null?(i=Dt(e.tag,a,e.key,e.mode),i.elementType=e.elementType,i.type=e.type,i.stateNode=e.stateNode,i.alternate=e,e.alternate=i):(i.pendingProps=a,i.type=e.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=e.flags&65011712,i.childLanes=e.childLanes,i.lanes=e.lanes,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,a=e.dependencies,i.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext},i.sibling=e.sibling,i.index=e.index,i.ref=e.ref,i.refCleanup=e.refCleanup,i}function jp(e,a){e.flags&=65011714;var i=e.alternate;return i===null?(e.childLanes=0,e.lanes=a,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=i.childLanes,e.lanes=i.lanes,e.child=i.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=i.memoizedProps,e.memoizedState=i.memoizedState,e.updateQueue=i.updateQueue,e.type=i.type,a=i.dependencies,e.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext}),e}function no(e,a,i,s,c,h){var y=0;if(s=e,typeof e=="function")Dc(e)&&(y=1);else if(typeof e=="string")y=QA(e,i,se.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case X:return e=Dt(31,i,a,c),e.elementType=X,e.lanes=h,e;case T:return Bn(i.children,c,h,a);case E:y=8,c|=24;break;case C:return e=Dt(12,i,a,c|2),e.elementType=C,e.lanes=h,e;case _:return e=Dt(13,i,a,c),e.elementType=_,e.lanes=h,e;case Y:return e=Dt(19,i,a,c),e.elementType=Y,e.lanes=h,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case D:case N:y=10;break e;case V:y=9;break e;case P:y=11;break e;case Q:y=14;break e;case B:y=16,s=null;break e}y=29,i=Error(o(130,e===null?"null":typeof e,"")),s=null}return a=Dt(y,i,a,c),a.elementType=e,a.type=s,a.lanes=h,a}function Bn(e,a,i,s){return e=Dt(7,e,s,a),e.lanes=i,e}function Oc(e,a,i){return e=Dt(6,e,null,a),e.lanes=i,e}function Nc(e,a,i){return a=Dt(4,e.children!==null?e.children:[],e.key,a),a.lanes=i,a.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},a}var Ri=[],Di=0,io=null,ro=0,$t=[],Jt=0,zn=null,qa=1,ja="";function In(e,a){Ri[Di++]=ro,Ri[Di++]=io,io=e,ro=a}function Up(e,a,i){$t[Jt++]=qa,$t[Jt++]=ja,$t[Jt++]=zn,zn=e;var s=qa;e=ja;var c=32-Mt(s)-1;s&=~(1<<c),i+=1;var h=32-Mt(a)+c;if(30<h){var y=c-c%5;h=(s&(1<<y)-1).toString(32),s>>=y,c-=y,qa=1<<32-Mt(a)+c|i<<c|s,ja=h+e}else qa=1<<h|i<<c|s,ja=e}function Vc(e){e.return!==null&&(In(e,1),Up(e,1,0))}function qc(e){for(;e===io;)io=Ri[--Di],Ri[Di]=null,ro=Ri[--Di],Ri[Di]=null;for(;e===zn;)zn=$t[--Jt],$t[Jt]=null,ja=$t[--Jt],$t[Jt]=null,qa=$t[--Jt],$t[Jt]=null}var pt=null,ze=null,Ce=!1,Fn=null,wa=!1,jc=Error(o(519));function Wn(e){var a=Error(o(418,""));throw Vr(Xt(a,e)),jc}function Pp(e){var a=e.stateNode,i=e.type,s=e.memoizedProps;switch(a[ut]=e,a[wt]=s,i){case"dialog":Se("cancel",a),Se("close",a);break;case"iframe":case"object":case"embed":Se("load",a);break;case"video":case"audio":for(i=0;i<ns.length;i++)Se(ns[i],a);break;case"source":Se("error",a);break;case"img":case"image":case"link":Se("error",a),Se("load",a);break;case"details":Se("toggle",a);break;case"input":Se("invalid",a),$f(a,s.value,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name,!0),Ws(a);break;case"select":Se("invalid",a);break;case"textarea":Se("invalid",a),ep(a,s.value,s.defaultValue,s.children),Ws(a)}i=s.children,typeof i!="string"&&typeof i!="number"&&typeof i!="bigint"||a.textContent===""+i||s.suppressHydrationWarning===!0||ey(a.textContent,i)?(s.popover!=null&&(Se("beforetoggle",a),Se("toggle",a)),s.onScroll!=null&&Se("scroll",a),s.onScrollEnd!=null&&Se("scrollend",a),s.onClick!=null&&(a.onclick=Ho),a=!0):a=!1,a||Wn(e)}function _p(e){for(pt=e.return;pt;)switch(pt.tag){case 5:case 13:wa=!1;return;case 27:case 3:wa=!0;return;default:pt=pt.return}}function Or(e){if(e!==pt)return!1;if(!Ce)return _p(e),Ce=!0,!1;var a=e.tag,i;if((i=a!==3&&a!==27)&&((i=a===5)&&(i=e.type,i=!(i!=="form"&&i!=="button")||Zu(e.type,e.memoizedProps)),i=!i),i&&ze&&Wn(e),_p(e),a===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));e:{for(e=e.nextSibling,a=0;e;){if(e.nodeType===8)if(i=e.data,i==="/$"){if(a===0){ze=la(e.nextSibling);break e}a--}else i!=="$"&&i!=="$!"&&i!=="$?"||a++;e=e.nextSibling}ze=null}}else a===27?(a=ze,vn(e.type)?(e=td,td=null,ze=e):ze=a):ze=pt?la(e.stateNode.nextSibling):null;return!0}function Nr(){ze=pt=null,Ce=!1}function Lp(){var e=Fn;return e!==null&&(At===null?At=e:At.push.apply(At,e),Fn=null),e}function Vr(e){Fn===null?Fn=[e]:Fn.push(e)}var Uc=I(null),Gn=null,Ua=null;function an(e,a,i){Z(Uc,a._currentValue),a._currentValue=i}function Pa(e){e._currentValue=Uc.current,$(Uc)}function Pc(e,a,i){for(;e!==null;){var s=e.alternate;if((e.childLanes&a)!==a?(e.childLanes|=a,s!==null&&(s.childLanes|=a)):s!==null&&(s.childLanes&a)!==a&&(s.childLanes|=a),e===i)break;e=e.return}}function _c(e,a,i,s){var c=e.child;for(c!==null&&(c.return=e);c!==null;){var h=c.dependencies;if(h!==null){var y=c.child;h=h.firstContext;e:for(;h!==null;){var x=h;h=c;for(var M=0;M<a.length;M++)if(x.context===a[M]){h.lanes|=i,x=h.alternate,x!==null&&(x.lanes|=i),Pc(h.return,i,e),s||(y=null);break e}h=x.next}}else if(c.tag===18){if(y=c.return,y===null)throw Error(o(341));y.lanes|=i,h=y.alternate,h!==null&&(h.lanes|=i),Pc(y,i,e),y=null}else y=c.child;if(y!==null)y.return=c;else for(y=c;y!==null;){if(y===e){y=null;break}if(c=y.sibling,c!==null){c.return=y.return,y=c;break}y=y.return}c=y}}function qr(e,a,i,s){e=null;for(var c=a,h=!1;c!==null;){if(!h){if((c.flags&524288)!==0)h=!0;else if((c.flags&262144)!==0)break}if(c.tag===10){var y=c.alternate;if(y===null)throw Error(o(387));if(y=y.memoizedProps,y!==null){var x=c.type;Rt(c.pendingProps.value,y.value)||(e!==null?e.push(x):e=[x])}}else if(c===_e.current){if(y=c.alternate,y===null)throw Error(o(387));y.memoizedState.memoizedState!==c.memoizedState.memoizedState&&(e!==null?e.push(cs):e=[cs])}c=c.return}e!==null&&_c(a,e,i,s),a.flags|=262144}function so(e){for(e=e.firstContext;e!==null;){if(!Rt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Yn(e){Gn=e,Ua=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function dt(e){return Hp(Gn,e)}function oo(e,a){return Gn===null&&Yn(e),Hp(e,a)}function Hp(e,a){var i=a._currentValue;if(a={context:a,memoizedValue:i,next:null},Ua===null){if(e===null)throw Error(o(308));Ua=a,e.dependencies={lanes:0,firstContext:a},e.flags|=524288}else Ua=Ua.next=a;return i}var KS=typeof AbortController<"u"?AbortController:function(){var e=[],a=this.signal={aborted:!1,addEventListener:function(i,s){e.push(s)}};this.abort=function(){a.aborted=!0,e.forEach(function(i){return i()})}},QS=t.unstable_scheduleCallback,XS=t.unstable_NormalPriority,Xe={$$typeof:N,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Lc(){return{controller:new KS,data:new Map,refCount:0}}function jr(e){e.refCount--,e.refCount===0&&QS(XS,function(){e.controller.abort()})}var Ur=null,Hc=0,Oi=0,Ni=null;function ZS(e,a){if(Ur===null){var i=Ur=[];Hc=0,Oi=zu(),Ni={status:"pending",value:void 0,then:function(s){i.push(s)}}}return Hc++,a.then(Bp,Bp),a}function Bp(){if(--Hc===0&&Ur!==null){Ni!==null&&(Ni.status="fulfilled");var e=Ur;Ur=null,Oi=0,Ni=null;for(var a=0;a<e.length;a++)(0,e[a])()}}function $S(e,a){var i=[],s={status:"pending",value:null,reason:null,then:function(c){i.push(c)}};return e.then(function(){s.status="fulfilled",s.value=a;for(var c=0;c<i.length;c++)(0,i[c])(a)},function(c){for(s.status="rejected",s.reason=c,c=0;c<i.length;c++)(0,i[c])(void 0)}),s}var zp=q.S;q.S=function(e,a){typeof a=="object"&&a!==null&&typeof a.then=="function"&&ZS(e,a),zp!==null&&zp(e,a)};var Kn=I(null);function Bc(){var e=Kn.current;return e!==null?e:je.pooledCache}function lo(e,a){a===null?Z(Kn,Kn.current):Z(Kn,a.pool)}function Ip(){var e=Bc();return e===null?null:{parent:Xe._currentValue,pool:e}}var Pr=Error(o(460)),Fp=Error(o(474)),co=Error(o(542)),zc={then:function(){}};function Wp(e){return e=e.status,e==="fulfilled"||e==="rejected"}function uo(){}function Gp(e,a,i){switch(i=e[i],i===void 0?e.push(a):i!==a&&(a.then(uo,uo),a=i),a.status){case"fulfilled":return a.value;case"rejected":throw e=a.reason,Kp(e),e;default:if(typeof a.status=="string")a.then(uo,uo);else{if(e=je,e!==null&&100<e.shellSuspendCounter)throw Error(o(482));e=a,e.status="pending",e.then(function(s){if(a.status==="pending"){var c=a;c.status="fulfilled",c.value=s}},function(s){if(a.status==="pending"){var c=a;c.status="rejected",c.reason=s}})}switch(a.status){case"fulfilled":return a.value;case"rejected":throw e=a.reason,Kp(e),e}throw _r=a,Pr}}var _r=null;function Yp(){if(_r===null)throw Error(o(459));var e=_r;return _r=null,e}function Kp(e){if(e===Pr||e===co)throw Error(o(483))}var nn=!1;function Ic(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Fc(e,a){e=e.updateQueue,a.updateQueue===e&&(a.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function rn(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function sn(e,a,i){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,(Re&2)!==0){var c=s.pending;return c===null?a.next=a:(a.next=c.next,c.next=a),s.pending=a,a=ao(e),qp(e,null,i),a}return to(e,s,a,i),ao(e)}function Lr(e,a,i){if(a=a.updateQueue,a!==null&&(a=a.shared,(i&4194048)!==0)){var s=a.lanes;s&=e.pendingLanes,i|=s,a.lanes=i,Bf(e,i)}}function Wc(e,a){var i=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,i===s)){var c=null,h=null;if(i=i.firstBaseUpdate,i!==null){do{var y={lane:i.lane,tag:i.tag,payload:i.payload,callback:null,next:null};h===null?c=h=y:h=h.next=y,i=i.next}while(i!==null);h===null?c=h=a:h=h.next=a}else c=h=a;i={baseState:s.baseState,firstBaseUpdate:c,lastBaseUpdate:h,shared:s.shared,callbacks:s.callbacks},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=a:e.next=a,i.lastBaseUpdate=a}var Gc=!1;function Hr(){if(Gc){var e=Ni;if(e!==null)throw e}}function Br(e,a,i,s){Gc=!1;var c=e.updateQueue;nn=!1;var h=c.firstBaseUpdate,y=c.lastBaseUpdate,x=c.shared.pending;if(x!==null){c.shared.pending=null;var M=x,U=M.next;M.next=null,y===null?h=U:y.next=U,y=M;var z=e.alternate;z!==null&&(z=z.updateQueue,x=z.lastBaseUpdate,x!==y&&(x===null?z.firstBaseUpdate=U:x.next=U,z.lastBaseUpdate=M))}if(h!==null){var G=c.baseState;y=0,z=U=M=null,x=h;do{var L=x.lane&-536870913,H=L!==x.lane;if(H?(Ae&L)===L:(s&L)===L){L!==0&&L===Oi&&(Gc=!0),z!==null&&(z=z.next={lane:0,tag:x.tag,payload:x.payload,callback:null,next:null});e:{var pe=e,ue=x;L=a;var Ve=i;switch(ue.tag){case 1:if(pe=ue.payload,typeof pe=="function"){G=pe.call(Ve,G,L);break e}G=pe;break e;case 3:pe.flags=pe.flags&-65537|128;case 0:if(pe=ue.payload,L=typeof pe=="function"?pe.call(Ve,G,L):pe,L==null)break e;G=g({},G,L);break e;case 2:nn=!0}}L=x.callback,L!==null&&(e.flags|=64,H&&(e.flags|=8192),H=c.callbacks,H===null?c.callbacks=[L]:H.push(L))}else H={lane:L,tag:x.tag,payload:x.payload,callback:x.callback,next:null},z===null?(U=z=H,M=G):z=z.next=H,y|=L;if(x=x.next,x===null){if(x=c.shared.pending,x===null)break;H=x,x=H.next,H.next=null,c.lastBaseUpdate=H,c.shared.pending=null}}while(!0);z===null&&(M=G),c.baseState=M,c.firstBaseUpdate=U,c.lastBaseUpdate=z,h===null&&(c.shared.lanes=0),pn|=y,e.lanes=y,e.memoizedState=G}}function Qp(e,a){if(typeof e!="function")throw Error(o(191,e));e.call(a)}function Xp(e,a){var i=e.callbacks;if(i!==null)for(e.callbacks=null,e=0;e<i.length;e++)Qp(i[e],a)}var Vi=I(null),ho=I(0);function Zp(e,a){e=Fa,Z(ho,e),Z(Vi,a),Fa=e|a.baseLanes}function Yc(){Z(ho,Fa),Z(Vi,Vi.current)}function Kc(){Fa=ho.current,$(Vi),$(ho)}var on=0,ye=null,Oe=null,Ye=null,fo=!1,qi=!1,Qn=!1,po=0,zr=0,ji=null,JS=0;function We(){throw Error(o(321))}function Qc(e,a){if(a===null)return!1;for(var i=0;i<a.length&&i<e.length;i++)if(!Rt(e[i],a[i]))return!1;return!0}function Xc(e,a,i,s,c,h){return on=h,ye=a,a.memoizedState=null,a.updateQueue=null,a.lanes=0,q.H=e===null||e.memoizedState===null?qm:jm,Qn=!1,h=i(s,c),Qn=!1,qi&&(h=Jp(a,i,s,c)),$p(e),h}function $p(e){q.H=wo;var a=Oe!==null&&Oe.next!==null;if(on=0,Ye=Oe=ye=null,fo=!1,zr=0,ji=null,a)throw Error(o(300));e===null||nt||(e=e.dependencies,e!==null&&so(e)&&(nt=!0))}function Jp(e,a,i,s){ye=e;var c=0;do{if(qi&&(ji=null),zr=0,qi=!1,25<=c)throw Error(o(301));if(c+=1,Ye=Oe=null,e.updateQueue!=null){var h=e.updateQueue;h.lastEffect=null,h.events=null,h.stores=null,h.memoCache!=null&&(h.memoCache.index=0)}q.H=sA,h=a(i,s)}while(qi);return h}function eA(){var e=q.H,a=e.useState()[0];return a=typeof a.then=="function"?Ir(a):a,e=e.useState()[0],(Oe!==null?Oe.memoizedState:null)!==e&&(ye.flags|=1024),a}function Zc(){var e=po!==0;return po=0,e}function $c(e,a,i){a.updateQueue=e.updateQueue,a.flags&=-2053,e.lanes&=~i}function Jc(e){if(fo){for(e=e.memoizedState;e!==null;){var a=e.queue;a!==null&&(a.pending=null),e=e.next}fo=!1}on=0,Ye=Oe=ye=null,qi=!1,zr=po=0,ji=null}function kt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ye===null?ye.memoizedState=Ye=e:Ye=Ye.next=e,Ye}function Ke(){if(Oe===null){var e=ye.alternate;e=e!==null?e.memoizedState:null}else e=Oe.next;var a=Ye===null?ye.memoizedState:Ye.next;if(a!==null)Ye=a,Oe=e;else{if(e===null)throw ye.alternate===null?Error(o(467)):Error(o(310));Oe=e,e={memoizedState:Oe.memoizedState,baseState:Oe.baseState,baseQueue:Oe.baseQueue,queue:Oe.queue,next:null},Ye===null?ye.memoizedState=Ye=e:Ye=Ye.next=e}return Ye}function eu(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Ir(e){var a=zr;return zr+=1,ji===null&&(ji=[]),e=Gp(ji,e,a),a=ye,(Ye===null?a.memoizedState:Ye.next)===null&&(a=a.alternate,q.H=a===null||a.memoizedState===null?qm:jm),e}function mo(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Ir(e);if(e.$$typeof===N)return dt(e)}throw Error(o(438,String(e)))}function tu(e){var a=null,i=ye.updateQueue;if(i!==null&&(a=i.memoCache),a==null){var s=ye.alternate;s!==null&&(s=s.updateQueue,s!==null&&(s=s.memoCache,s!=null&&(a={data:s.data.map(function(c){return c.slice()}),index:0})))}if(a==null&&(a={data:[],index:0}),i===null&&(i=eu(),ye.updateQueue=i),i.memoCache=a,i=a.data[a.index],i===void 0)for(i=a.data[a.index]=Array(e),s=0;s<e;s++)i[s]=oe;return a.index++,i}function _a(e,a){return typeof a=="function"?a(e):a}function go(e){var a=Ke();return au(a,Oe,e)}function au(e,a,i){var s=e.queue;if(s===null)throw Error(o(311));s.lastRenderedReducer=i;var c=e.baseQueue,h=s.pending;if(h!==null){if(c!==null){var y=c.next;c.next=h.next,h.next=y}a.baseQueue=c=h,s.pending=null}if(h=e.baseState,c===null)e.memoizedState=h;else{a=c.next;var x=y=null,M=null,U=a,z=!1;do{var G=U.lane&-536870913;if(G!==U.lane?(Ae&G)===G:(on&G)===G){var L=U.revertLane;if(L===0)M!==null&&(M=M.next={lane:0,revertLane:0,action:U.action,hasEagerState:U.hasEagerState,eagerState:U.eagerState,next:null}),G===Oi&&(z=!0);else if((on&L)===L){U=U.next,L===Oi&&(z=!0);continue}else G={lane:0,revertLane:U.revertLane,action:U.action,hasEagerState:U.hasEagerState,eagerState:U.eagerState,next:null},M===null?(x=M=G,y=h):M=M.next=G,ye.lanes|=L,pn|=L;G=U.action,Qn&&i(h,G),h=U.hasEagerState?U.eagerState:i(h,G)}else L={lane:G,revertLane:U.revertLane,action:U.action,hasEagerState:U.hasEagerState,eagerState:U.eagerState,next:null},M===null?(x=M=L,y=h):M=M.next=L,ye.lanes|=G,pn|=G;U=U.next}while(U!==null&&U!==a);if(M===null?y=h:M.next=x,!Rt(h,e.memoizedState)&&(nt=!0,z&&(i=Ni,i!==null)))throw i;e.memoizedState=h,e.baseState=y,e.baseQueue=M,s.lastRenderedState=h}return c===null&&(s.lanes=0),[e.memoizedState,s.dispatch]}function nu(e){var a=Ke(),i=a.queue;if(i===null)throw Error(o(311));i.lastRenderedReducer=e;var s=i.dispatch,c=i.pending,h=a.memoizedState;if(c!==null){i.pending=null;var y=c=c.next;do h=e(h,y.action),y=y.next;while(y!==c);Rt(h,a.memoizedState)||(nt=!0),a.memoizedState=h,a.baseQueue===null&&(a.baseState=h),i.lastRenderedState=h}return[h,s]}function em(e,a,i){var s=ye,c=Ke(),h=Ce;if(h){if(i===void 0)throw Error(o(407));i=i()}else i=a();var y=!Rt((Oe||c).memoizedState,i);y&&(c.memoizedState=i,nt=!0),c=c.queue;var x=nm.bind(null,s,c,e);if(Fr(2048,8,x,[e]),c.getSnapshot!==a||y||Ye!==null&&Ye.memoizedState.tag&1){if(s.flags|=2048,Ui(9,yo(),am.bind(null,s,c,i,a),null),je===null)throw Error(o(349));h||(on&124)!==0||tm(s,a,i)}return i}function tm(e,a,i){e.flags|=16384,e={getSnapshot:a,value:i},a=ye.updateQueue,a===null?(a=eu(),ye.updateQueue=a,a.stores=[e]):(i=a.stores,i===null?a.stores=[e]:i.push(e))}function am(e,a,i,s){a.value=i,a.getSnapshot=s,im(a)&&rm(e)}function nm(e,a,i){return i(function(){im(a)&&rm(e)})}function im(e){var a=e.getSnapshot;e=e.value;try{var i=a();return!Rt(e,i)}catch{return!0}}function rm(e){var a=Ei(e,2);a!==null&&jt(a,e,2)}function iu(e){var a=kt();if(typeof e=="function"){var i=e;if(e=i(),Qn){Ja(!0);try{i()}finally{Ja(!1)}}}return a.memoizedState=a.baseState=e,a.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:_a,lastRenderedState:e},a}function sm(e,a,i,s){return e.baseState=i,au(e,Oe,typeof s=="function"?s:_a)}function tA(e,a,i,s,c){if(bo(e))throw Error(o(485));if(e=a.action,e!==null){var h={payload:c,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(y){h.listeners.push(y)}};q.T!==null?i(!0):h.isTransition=!1,s(h),i=a.pending,i===null?(h.next=a.pending=h,om(a,h)):(h.next=i.next,a.pending=i.next=h)}}function om(e,a){var i=a.action,s=a.payload,c=e.state;if(a.isTransition){var h=q.T,y={};q.T=y;try{var x=i(c,s),M=q.S;M!==null&&M(y,x),lm(e,a,x)}catch(U){ru(e,a,U)}finally{q.T=h}}else try{h=i(c,s),lm(e,a,h)}catch(U){ru(e,a,U)}}function lm(e,a,i){i!==null&&typeof i=="object"&&typeof i.then=="function"?i.then(function(s){cm(e,a,s)},function(s){return ru(e,a,s)}):cm(e,a,i)}function cm(e,a,i){a.status="fulfilled",a.value=i,um(a),e.state=i,a=e.pending,a!==null&&(i=a.next,i===a?e.pending=null:(i=i.next,a.next=i,om(e,i)))}function ru(e,a,i){var s=e.pending;if(e.pending=null,s!==null){s=s.next;do a.status="rejected",a.reason=i,um(a),a=a.next;while(a!==s)}e.action=null}function um(e){e=e.listeners;for(var a=0;a<e.length;a++)(0,e[a])()}function dm(e,a){return a}function hm(e,a){if(Ce){var i=je.formState;if(i!==null){e:{var s=ye;if(Ce){if(ze){t:{for(var c=ze,h=wa;c.nodeType!==8;){if(!h){c=null;break t}if(c=la(c.nextSibling),c===null){c=null;break t}}h=c.data,c=h==="F!"||h==="F"?c:null}if(c){ze=la(c.nextSibling),s=c.data==="F!";break e}}Wn(s)}s=!1}s&&(a=i[0])}}return i=kt(),i.memoizedState=i.baseState=a,s={pending:null,lanes:0,dispatch:null,lastRenderedReducer:dm,lastRenderedState:a},i.queue=s,i=Om.bind(null,ye,s),s.dispatch=i,s=iu(!1),h=uu.bind(null,ye,!1,s.queue),s=kt(),c={state:a,dispatch:null,action:e,pending:null},s.queue=c,i=tA.bind(null,ye,c,h,i),c.dispatch=i,s.memoizedState=e,[a,i,!1]}function fm(e){var a=Ke();return pm(a,Oe,e)}function pm(e,a,i){if(a=au(e,a,dm)[0],e=go(_a)[0],typeof a=="object"&&a!==null&&typeof a.then=="function")try{var s=Ir(a)}catch(y){throw y===Pr?co:y}else s=a;a=Ke();var c=a.queue,h=c.dispatch;return i!==a.memoizedState&&(ye.flags|=2048,Ui(9,yo(),aA.bind(null,c,i),null)),[s,h,e]}function aA(e,a){e.action=a}function mm(e){var a=Ke(),i=Oe;if(i!==null)return pm(a,i,e);Ke(),a=a.memoizedState,i=Ke();var s=i.queue.dispatch;return i.memoizedState=e,[a,s,!1]}function Ui(e,a,i,s){return e={tag:e,create:i,deps:s,inst:a,next:null},a=ye.updateQueue,a===null&&(a=eu(),ye.updateQueue=a),i=a.lastEffect,i===null?a.lastEffect=e.next=e:(s=i.next,i.next=e,e.next=s,a.lastEffect=e),e}function yo(){return{destroy:void 0,resource:void 0}}function gm(){return Ke().memoizedState}function vo(e,a,i,s){var c=kt();s=s===void 0?null:s,ye.flags|=e,c.memoizedState=Ui(1|a,yo(),i,s)}function Fr(e,a,i,s){var c=Ke();s=s===void 0?null:s;var h=c.memoizedState.inst;Oe!==null&&s!==null&&Qc(s,Oe.memoizedState.deps)?c.memoizedState=Ui(a,h,i,s):(ye.flags|=e,c.memoizedState=Ui(1|a,h,i,s))}function ym(e,a){vo(8390656,8,e,a)}function vm(e,a){Fr(2048,8,e,a)}function bm(e,a){return Fr(4,2,e,a)}function wm(e,a){return Fr(4,4,e,a)}function xm(e,a){if(typeof a=="function"){e=e();var i=a(e);return function(){typeof i=="function"?i():a(null)}}if(a!=null)return e=e(),a.current=e,function(){a.current=null}}function km(e,a,i){i=i!=null?i.concat([e]):null,Fr(4,4,xm.bind(null,a,e),i)}function su(){}function Sm(e,a){var i=Ke();a=a===void 0?null:a;var s=i.memoizedState;return a!==null&&Qc(a,s[1])?s[0]:(i.memoizedState=[e,a],e)}function Am(e,a){var i=Ke();a=a===void 0?null:a;var s=i.memoizedState;if(a!==null&&Qc(a,s[1]))return s[0];if(s=e(),Qn){Ja(!0);try{e()}finally{Ja(!1)}}return i.memoizedState=[s,a],s}function ou(e,a,i){return i===void 0||(on&1073741824)!==0?e.memoizedState=a:(e.memoizedState=i,e=Eg(),ye.lanes|=e,pn|=e,i)}function Tm(e,a,i,s){return Rt(i,a)?i:Vi.current!==null?(e=ou(e,i,s),Rt(e,a)||(nt=!0),e):(on&42)===0?(nt=!0,e.memoizedState=i):(e=Eg(),ye.lanes|=e,pn|=e,a)}function Cm(e,a,i,s,c){var h=K.p;K.p=h!==0&&8>h?h:8;var y=q.T,x={};q.T=x,uu(e,!1,a,i);try{var M=c(),U=q.S;if(U!==null&&U(x,M),M!==null&&typeof M=="object"&&typeof M.then=="function"){var z=$S(M,s);Wr(e,a,z,qt(e))}else Wr(e,a,s,qt(e))}catch(G){Wr(e,a,{then:function(){},status:"rejected",reason:G},qt())}finally{K.p=h,q.T=y}}function nA(){}function lu(e,a,i,s){if(e.tag!==5)throw Error(o(476));var c=Em(e).queue;Cm(e,c,a,W,i===null?nA:function(){return Mm(e),i(s)})}function Em(e){var a=e.memoizedState;if(a!==null)return a;a={memoizedState:W,baseState:W,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:_a,lastRenderedState:W},next:null};var i={};return a.next={memoizedState:i,baseState:i,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:_a,lastRenderedState:i},next:null},e.memoizedState=a,e=e.alternate,e!==null&&(e.memoizedState=a),a}function Mm(e){var a=Em(e).next.queue;Wr(e,a,{},qt())}function cu(){return dt(cs)}function Rm(){return Ke().memoizedState}function Dm(){return Ke().memoizedState}function iA(e){for(var a=e.return;a!==null;){switch(a.tag){case 24:case 3:var i=qt();e=rn(i);var s=sn(a,e,i);s!==null&&(jt(s,a,i),Lr(s,a,i)),a={cache:Lc()},e.payload=a;return}a=a.return}}function rA(e,a,i){var s=qt();i={lane:s,revertLane:0,action:i,hasEagerState:!1,eagerState:null,next:null},bo(e)?Nm(a,i):(i=Rc(e,a,i,s),i!==null&&(jt(i,e,s),Vm(i,a,s)))}function Om(e,a,i){var s=qt();Wr(e,a,i,s)}function Wr(e,a,i,s){var c={lane:s,revertLane:0,action:i,hasEagerState:!1,eagerState:null,next:null};if(bo(e))Nm(a,c);else{var h=e.alternate;if(e.lanes===0&&(h===null||h.lanes===0)&&(h=a.lastRenderedReducer,h!==null))try{var y=a.lastRenderedState,x=h(y,i);if(c.hasEagerState=!0,c.eagerState=x,Rt(x,y))return to(e,a,c,0),je===null&&eo(),!1}catch{}if(i=Rc(e,a,c,s),i!==null)return jt(i,e,s),Vm(i,a,s),!0}return!1}function uu(e,a,i,s){if(s={lane:2,revertLane:zu(),action:s,hasEagerState:!1,eagerState:null,next:null},bo(e)){if(a)throw Error(o(479))}else a=Rc(e,i,s,2),a!==null&&jt(a,e,2)}function bo(e){var a=e.alternate;return e===ye||a!==null&&a===ye}function Nm(e,a){qi=fo=!0;var i=e.pending;i===null?a.next=a:(a.next=i.next,i.next=a),e.pending=a}function Vm(e,a,i){if((i&4194048)!==0){var s=a.lanes;s&=e.pendingLanes,i|=s,a.lanes=i,Bf(e,i)}}var wo={readContext:dt,use:mo,useCallback:We,useContext:We,useEffect:We,useImperativeHandle:We,useLayoutEffect:We,useInsertionEffect:We,useMemo:We,useReducer:We,useRef:We,useState:We,useDebugValue:We,useDeferredValue:We,useTransition:We,useSyncExternalStore:We,useId:We,useHostTransitionStatus:We,useFormState:We,useActionState:We,useOptimistic:We,useMemoCache:We,useCacheRefresh:We},qm={readContext:dt,use:mo,useCallback:function(e,a){return kt().memoizedState=[e,a===void 0?null:a],e},useContext:dt,useEffect:ym,useImperativeHandle:function(e,a,i){i=i!=null?i.concat([e]):null,vo(4194308,4,xm.bind(null,a,e),i)},useLayoutEffect:function(e,a){return vo(4194308,4,e,a)},useInsertionEffect:function(e,a){vo(4,2,e,a)},useMemo:function(e,a){var i=kt();a=a===void 0?null:a;var s=e();if(Qn){Ja(!0);try{e()}finally{Ja(!1)}}return i.memoizedState=[s,a],s},useReducer:function(e,a,i){var s=kt();if(i!==void 0){var c=i(a);if(Qn){Ja(!0);try{i(a)}finally{Ja(!1)}}}else c=a;return s.memoizedState=s.baseState=c,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:c},s.queue=e,e=e.dispatch=rA.bind(null,ye,e),[s.memoizedState,e]},useRef:function(e){var a=kt();return e={current:e},a.memoizedState=e},useState:function(e){e=iu(e);var a=e.queue,i=Om.bind(null,ye,a);return a.dispatch=i,[e.memoizedState,i]},useDebugValue:su,useDeferredValue:function(e,a){var i=kt();return ou(i,e,a)},useTransition:function(){var e=iu(!1);return e=Cm.bind(null,ye,e.queue,!0,!1),kt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,a,i){var s=ye,c=kt();if(Ce){if(i===void 0)throw Error(o(407));i=i()}else{if(i=a(),je===null)throw Error(o(349));(Ae&124)!==0||tm(s,a,i)}c.memoizedState=i;var h={value:i,getSnapshot:a};return c.queue=h,ym(nm.bind(null,s,h,e),[e]),s.flags|=2048,Ui(9,yo(),am.bind(null,s,h,i,a),null),i},useId:function(){var e=kt(),a=je.identifierPrefix;if(Ce){var i=ja,s=qa;i=(s&~(1<<32-Mt(s)-1)).toString(32)+i,a="«"+a+"R"+i,i=po++,0<i&&(a+="H"+i.toString(32)),a+="»"}else i=JS++,a="«"+a+"r"+i.toString(32)+"»";return e.memoizedState=a},useHostTransitionStatus:cu,useFormState:hm,useActionState:hm,useOptimistic:function(e){var a=kt();a.memoizedState=a.baseState=e;var i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return a.queue=i,a=uu.bind(null,ye,!0,i),i.dispatch=a,[e,a]},useMemoCache:tu,useCacheRefresh:function(){return kt().memoizedState=iA.bind(null,ye)}},jm={readContext:dt,use:mo,useCallback:Sm,useContext:dt,useEffect:vm,useImperativeHandle:km,useInsertionEffect:bm,useLayoutEffect:wm,useMemo:Am,useReducer:go,useRef:gm,useState:function(){return go(_a)},useDebugValue:su,useDeferredValue:function(e,a){var i=Ke();return Tm(i,Oe.memoizedState,e,a)},useTransition:function(){var e=go(_a)[0],a=Ke().memoizedState;return[typeof e=="boolean"?e:Ir(e),a]},useSyncExternalStore:em,useId:Rm,useHostTransitionStatus:cu,useFormState:fm,useActionState:fm,useOptimistic:function(e,a){var i=Ke();return sm(i,Oe,e,a)},useMemoCache:tu,useCacheRefresh:Dm},sA={readContext:dt,use:mo,useCallback:Sm,useContext:dt,useEffect:vm,useImperativeHandle:km,useInsertionEffect:bm,useLayoutEffect:wm,useMemo:Am,useReducer:nu,useRef:gm,useState:function(){return nu(_a)},useDebugValue:su,useDeferredValue:function(e,a){var i=Ke();return Oe===null?ou(i,e,a):Tm(i,Oe.memoizedState,e,a)},useTransition:function(){var e=nu(_a)[0],a=Ke().memoizedState;return[typeof e=="boolean"?e:Ir(e),a]},useSyncExternalStore:em,useId:Rm,useHostTransitionStatus:cu,useFormState:mm,useActionState:mm,useOptimistic:function(e,a){var i=Ke();return Oe!==null?sm(i,Oe,e,a):(i.baseState=e,[e,i.queue.dispatch])},useMemoCache:tu,useCacheRefresh:Dm},Pi=null,Gr=0;function xo(e){var a=Gr;return Gr+=1,Pi===null&&(Pi=[]),Gp(Pi,e,a)}function Yr(e,a){a=a.props.ref,e.ref=a!==void 0?a:null}function ko(e,a){throw a.$$typeof===v?Error(o(525)):(e=Object.prototype.toString.call(a),Error(o(31,e==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":e)))}function Um(e){var a=e._init;return a(e._payload)}function Pm(e){function a(O,R){if(e){var j=O.deletions;j===null?(O.deletions=[R],O.flags|=16):j.push(R)}}function i(O,R){if(!e)return null;for(;R!==null;)a(O,R),R=R.sibling;return null}function s(O){for(var R=new Map;O!==null;)O.key!==null?R.set(O.key,O):R.set(O.index,O),O=O.sibling;return R}function c(O,R){return O=Va(O,R),O.index=0,O.sibling=null,O}function h(O,R,j){return O.index=j,e?(j=O.alternate,j!==null?(j=j.index,j<R?(O.flags|=67108866,R):j):(O.flags|=67108866,R)):(O.flags|=1048576,R)}function y(O){return e&&O.alternate===null&&(O.flags|=67108866),O}function x(O,R,j,F){return R===null||R.tag!==6?(R=Oc(j,O.mode,F),R.return=O,R):(R=c(R,j),R.return=O,R)}function M(O,R,j,F){var te=j.type;return te===T?z(O,R,j.props.children,F,j.key):R!==null&&(R.elementType===te||typeof te=="object"&&te!==null&&te.$$typeof===B&&Um(te)===R.type)?(R=c(R,j.props),Yr(R,j),R.return=O,R):(R=no(j.type,j.key,j.props,null,O.mode,F),Yr(R,j),R.return=O,R)}function U(O,R,j,F){return R===null||R.tag!==4||R.stateNode.containerInfo!==j.containerInfo||R.stateNode.implementation!==j.implementation?(R=Nc(j,O.mode,F),R.return=O,R):(R=c(R,j.children||[]),R.return=O,R)}function z(O,R,j,F,te){return R===null||R.tag!==7?(R=Bn(j,O.mode,F,te),R.return=O,R):(R=c(R,j),R.return=O,R)}function G(O,R,j){if(typeof R=="string"&&R!==""||typeof R=="number"||typeof R=="bigint")return R=Oc(""+R,O.mode,j),R.return=O,R;if(typeof R=="object"&&R!==null){switch(R.$$typeof){case b:return j=no(R.type,R.key,R.props,null,O.mode,j),Yr(j,R),j.return=O,j;case S:return R=Nc(R,O.mode,j),R.return=O,R;case B:var F=R._init;return R=F(R._payload),G(O,R,j)}if(de(R)||ce(R))return R=Bn(R,O.mode,j,null),R.return=O,R;if(typeof R.then=="function")return G(O,xo(R),j);if(R.$$typeof===N)return G(O,oo(O,R),j);ko(O,R)}return null}function L(O,R,j,F){var te=R!==null?R.key:null;if(typeof j=="string"&&j!==""||typeof j=="number"||typeof j=="bigint")return te!==null?null:x(O,R,""+j,F);if(typeof j=="object"&&j!==null){switch(j.$$typeof){case b:return j.key===te?M(O,R,j,F):null;case S:return j.key===te?U(O,R,j,F):null;case B:return te=j._init,j=te(j._payload),L(O,R,j,F)}if(de(j)||ce(j))return te!==null?null:z(O,R,j,F,null);if(typeof j.then=="function")return L(O,R,xo(j),F);if(j.$$typeof===N)return L(O,R,oo(O,j),F);ko(O,j)}return null}function H(O,R,j,F,te){if(typeof F=="string"&&F!==""||typeof F=="number"||typeof F=="bigint")return O=O.get(j)||null,x(R,O,""+F,te);if(typeof F=="object"&&F!==null){switch(F.$$typeof){case b:return O=O.get(F.key===null?j:F.key)||null,M(R,O,F,te);case S:return O=O.get(F.key===null?j:F.key)||null,U(R,O,F,te);case B:var xe=F._init;return F=xe(F._payload),H(O,R,j,F,te)}if(de(F)||ce(F))return O=O.get(j)||null,z(R,O,F,te,null);if(typeof F.then=="function")return H(O,R,j,xo(F),te);if(F.$$typeof===N)return H(O,R,j,oo(R,F),te);ko(R,F)}return null}function pe(O,R,j,F){for(var te=null,xe=null,le=R,fe=R=0,rt=null;le!==null&&fe<j.length;fe++){le.index>fe?(rt=le,le=null):rt=le.sibling;var Te=L(O,le,j[fe],F);if(Te===null){le===null&&(le=rt);break}e&&le&&Te.alternate===null&&a(O,le),R=h(Te,R,fe),xe===null?te=Te:xe.sibling=Te,xe=Te,le=rt}if(fe===j.length)return i(O,le),Ce&&In(O,fe),te;if(le===null){for(;fe<j.length;fe++)le=G(O,j[fe],F),le!==null&&(R=h(le,R,fe),xe===null?te=le:xe.sibling=le,xe=le);return Ce&&In(O,fe),te}for(le=s(le);fe<j.length;fe++)rt=H(le,O,fe,j[fe],F),rt!==null&&(e&&rt.alternate!==null&&le.delete(rt.key===null?fe:rt.key),R=h(rt,R,fe),xe===null?te=rt:xe.sibling=rt,xe=rt);return e&&le.forEach(function(Sn){return a(O,Sn)}),Ce&&In(O,fe),te}function ue(O,R,j,F){if(j==null)throw Error(o(151));for(var te=null,xe=null,le=R,fe=R=0,rt=null,Te=j.next();le!==null&&!Te.done;fe++,Te=j.next()){le.index>fe?(rt=le,le=null):rt=le.sibling;var Sn=L(O,le,Te.value,F);if(Sn===null){le===null&&(le=rt);break}e&&le&&Sn.alternate===null&&a(O,le),R=h(Sn,R,fe),xe===null?te=Sn:xe.sibling=Sn,xe=Sn,le=rt}if(Te.done)return i(O,le),Ce&&In(O,fe),te;if(le===null){for(;!Te.done;fe++,Te=j.next())Te=G(O,Te.value,F),Te!==null&&(R=h(Te,R,fe),xe===null?te=Te:xe.sibling=Te,xe=Te);return Ce&&In(O,fe),te}for(le=s(le);!Te.done;fe++,Te=j.next())Te=H(le,O,fe,Te.value,F),Te!==null&&(e&&Te.alternate!==null&&le.delete(Te.key===null?fe:Te.key),R=h(Te,R,fe),xe===null?te=Te:xe.sibling=Te,xe=Te);return e&&le.forEach(function(oT){return a(O,oT)}),Ce&&In(O,fe),te}function Ve(O,R,j,F){if(typeof j=="object"&&j!==null&&j.type===T&&j.key===null&&(j=j.props.children),typeof j=="object"&&j!==null){switch(j.$$typeof){case b:e:{for(var te=j.key;R!==null;){if(R.key===te){if(te=j.type,te===T){if(R.tag===7){i(O,R.sibling),F=c(R,j.props.children),F.return=O,O=F;break e}}else if(R.elementType===te||typeof te=="object"&&te!==null&&te.$$typeof===B&&Um(te)===R.type){i(O,R.sibling),F=c(R,j.props),Yr(F,j),F.return=O,O=F;break e}i(O,R);break}else a(O,R);R=R.sibling}j.type===T?(F=Bn(j.props.children,O.mode,F,j.key),F.return=O,O=F):(F=no(j.type,j.key,j.props,null,O.mode,F),Yr(F,j),F.return=O,O=F)}return y(O);case S:e:{for(te=j.key;R!==null;){if(R.key===te)if(R.tag===4&&R.stateNode.containerInfo===j.containerInfo&&R.stateNode.implementation===j.implementation){i(O,R.sibling),F=c(R,j.children||[]),F.return=O,O=F;break e}else{i(O,R);break}else a(O,R);R=R.sibling}F=Nc(j,O.mode,F),F.return=O,O=F}return y(O);case B:return te=j._init,j=te(j._payload),Ve(O,R,j,F)}if(de(j))return pe(O,R,j,F);if(ce(j)){if(te=ce(j),typeof te!="function")throw Error(o(150));return j=te.call(j),ue(O,R,j,F)}if(typeof j.then=="function")return Ve(O,R,xo(j),F);if(j.$$typeof===N)return Ve(O,R,oo(O,j),F);ko(O,j)}return typeof j=="string"&&j!==""||typeof j=="number"||typeof j=="bigint"?(j=""+j,R!==null&&R.tag===6?(i(O,R.sibling),F=c(R,j),F.return=O,O=F):(i(O,R),F=Oc(j,O.mode,F),F.return=O,O=F),y(O)):i(O,R)}return function(O,R,j,F){try{Gr=0;var te=Ve(O,R,j,F);return Pi=null,te}catch(le){if(le===Pr||le===co)throw le;var xe=Dt(29,le,null,O.mode);return xe.lanes=F,xe.return=O,xe}}}var _i=Pm(!0),_m=Pm(!1),ea=I(null),xa=null;function ln(e){var a=e.alternate;Z(Ze,Ze.current&1),Z(ea,e),xa===null&&(a===null||Vi.current!==null||a.memoizedState!==null)&&(xa=e)}function Lm(e){if(e.tag===22){if(Z(Ze,Ze.current),Z(ea,e),xa===null){var a=e.alternate;a!==null&&a.memoizedState!==null&&(xa=e)}}else cn()}function cn(){Z(Ze,Ze.current),Z(ea,ea.current)}function La(e){$(ea),xa===e&&(xa=null),$(Ze)}var Ze=I(0);function So(e){for(var a=e;a!==null;){if(a.tag===13){var i=a.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||i.data==="$?"||ed(i)))return a}else if(a.tag===19&&a.memoizedProps.revealOrder!==void 0){if((a.flags&128)!==0)return a}else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===e)break;for(;a.sibling===null;){if(a.return===null||a.return===e)return null;a=a.return}a.sibling.return=a.return,a=a.sibling}return null}function du(e,a,i,s){a=e.memoizedState,i=i(s,a),i=i==null?a:g({},a,i),e.memoizedState=i,e.lanes===0&&(e.updateQueue.baseState=i)}var hu={enqueueSetState:function(e,a,i){e=e._reactInternals;var s=qt(),c=rn(s);c.payload=a,i!=null&&(c.callback=i),a=sn(e,c,s),a!==null&&(jt(a,e,s),Lr(a,e,s))},enqueueReplaceState:function(e,a,i){e=e._reactInternals;var s=qt(),c=rn(s);c.tag=1,c.payload=a,i!=null&&(c.callback=i),a=sn(e,c,s),a!==null&&(jt(a,e,s),Lr(a,e,s))},enqueueForceUpdate:function(e,a){e=e._reactInternals;var i=qt(),s=rn(i);s.tag=2,a!=null&&(s.callback=a),a=sn(e,s,i),a!==null&&(jt(a,e,i),Lr(a,e,i))}};function Hm(e,a,i,s,c,h,y){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(s,h,y):a.prototype&&a.prototype.isPureReactComponent?!Rr(i,s)||!Rr(c,h):!0}function Bm(e,a,i,s){e=a.state,typeof a.componentWillReceiveProps=="function"&&a.componentWillReceiveProps(i,s),typeof a.UNSAFE_componentWillReceiveProps=="function"&&a.UNSAFE_componentWillReceiveProps(i,s),a.state!==e&&hu.enqueueReplaceState(a,a.state,null)}function Xn(e,a){var i=a;if("ref"in a){i={};for(var s in a)s!=="ref"&&(i[s]=a[s])}if(e=e.defaultProps){i===a&&(i=g({},i));for(var c in e)i[c]===void 0&&(i[c]=e[c])}return i}var Ao=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var a=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(a))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)};function zm(e){Ao(e)}function Im(e){console.error(e)}function Fm(e){Ao(e)}function To(e,a){try{var i=e.onUncaughtError;i(a.value,{componentStack:a.stack})}catch(s){setTimeout(function(){throw s})}}function Wm(e,a,i){try{var s=e.onCaughtError;s(i.value,{componentStack:i.stack,errorBoundary:a.tag===1?a.stateNode:null})}catch(c){setTimeout(function(){throw c})}}function fu(e,a,i){return i=rn(i),i.tag=3,i.payload={element:null},i.callback=function(){To(e,a)},i}function Gm(e){return e=rn(e),e.tag=3,e}function Ym(e,a,i,s){var c=i.type.getDerivedStateFromError;if(typeof c=="function"){var h=s.value;e.payload=function(){return c(h)},e.callback=function(){Wm(a,i,s)}}var y=i.stateNode;y!==null&&typeof y.componentDidCatch=="function"&&(e.callback=function(){Wm(a,i,s),typeof c!="function"&&(mn===null?mn=new Set([this]):mn.add(this));var x=s.stack;this.componentDidCatch(s.value,{componentStack:x!==null?x:""})})}function oA(e,a,i,s,c){if(i.flags|=32768,s!==null&&typeof s=="object"&&typeof s.then=="function"){if(a=i.alternate,a!==null&&qr(a,i,c,!0),i=ea.current,i!==null){switch(i.tag){case 13:return xa===null?Pu():i.alternate===null&&Ie===0&&(Ie=3),i.flags&=-257,i.flags|=65536,i.lanes=c,s===zc?i.flags|=16384:(a=i.updateQueue,a===null?i.updateQueue=new Set([s]):a.add(s),Lu(e,s,c)),!1;case 22:return i.flags|=65536,s===zc?i.flags|=16384:(a=i.updateQueue,a===null?(a={transitions:null,markerInstances:null,retryQueue:new Set([s])},i.updateQueue=a):(i=a.retryQueue,i===null?a.retryQueue=new Set([s]):i.add(s)),Lu(e,s,c)),!1}throw Error(o(435,i.tag))}return Lu(e,s,c),Pu(),!1}if(Ce)return a=ea.current,a!==null?((a.flags&65536)===0&&(a.flags|=256),a.flags|=65536,a.lanes=c,s!==jc&&(e=Error(o(422),{cause:s}),Vr(Xt(e,i)))):(s!==jc&&(a=Error(o(423),{cause:s}),Vr(Xt(a,i))),e=e.current.alternate,e.flags|=65536,c&=-c,e.lanes|=c,s=Xt(s,i),c=fu(e.stateNode,s,c),Wc(e,c),Ie!==4&&(Ie=2)),!1;var h=Error(o(520),{cause:s});if(h=Xt(h,i),es===null?es=[h]:es.push(h),Ie!==4&&(Ie=2),a===null)return!0;s=Xt(s,i),i=a;do{switch(i.tag){case 3:return i.flags|=65536,e=c&-c,i.lanes|=e,e=fu(i.stateNode,s,e),Wc(i,e),!1;case 1:if(a=i.type,h=i.stateNode,(i.flags&128)===0&&(typeof a.getDerivedStateFromError=="function"||h!==null&&typeof h.componentDidCatch=="function"&&(mn===null||!mn.has(h))))return i.flags|=65536,c&=-c,i.lanes|=c,c=Gm(c),Ym(c,e,i,s),Wc(i,c),!1}i=i.return}while(i!==null);return!1}var Km=Error(o(461)),nt=!1;function st(e,a,i,s){a.child=e===null?_m(a,null,i,s):_i(a,e.child,i,s)}function Qm(e,a,i,s,c){i=i.render;var h=a.ref;if("ref"in s){var y={};for(var x in s)x!=="ref"&&(y[x]=s[x])}else y=s;return Yn(a),s=Xc(e,a,i,y,h,c),x=Zc(),e!==null&&!nt?($c(e,a,c),Ha(e,a,c)):(Ce&&x&&Vc(a),a.flags|=1,st(e,a,s,c),a.child)}function Xm(e,a,i,s,c){if(e===null){var h=i.type;return typeof h=="function"&&!Dc(h)&&h.defaultProps===void 0&&i.compare===null?(a.tag=15,a.type=h,Zm(e,a,h,s,c)):(e=no(i.type,null,s,a,a.mode,c),e.ref=a.ref,e.return=a,a.child=e)}if(h=e.child,!xu(e,c)){var y=h.memoizedProps;if(i=i.compare,i=i!==null?i:Rr,i(y,s)&&e.ref===a.ref)return Ha(e,a,c)}return a.flags|=1,e=Va(h,s),e.ref=a.ref,e.return=a,a.child=e}function Zm(e,a,i,s,c){if(e!==null){var h=e.memoizedProps;if(Rr(h,s)&&e.ref===a.ref)if(nt=!1,a.pendingProps=s=h,xu(e,c))(e.flags&131072)!==0&&(nt=!0);else return a.lanes=e.lanes,Ha(e,a,c)}return pu(e,a,i,s,c)}function $m(e,a,i){var s=a.pendingProps,c=s.children,h=e!==null?e.memoizedState:null;if(s.mode==="hidden"){if((a.flags&128)!==0){if(s=h!==null?h.baseLanes|i:i,e!==null){for(c=a.child=e.child,h=0;c!==null;)h=h|c.lanes|c.childLanes,c=c.sibling;a.childLanes=h&~s}else a.childLanes=0,a.child=null;return Jm(e,a,s,i)}if((i&536870912)!==0)a.memoizedState={baseLanes:0,cachePool:null},e!==null&&lo(a,h!==null?h.cachePool:null),h!==null?Zp(a,h):Yc(),Lm(a);else return a.lanes=a.childLanes=536870912,Jm(e,a,h!==null?h.baseLanes|i:i,i)}else h!==null?(lo(a,h.cachePool),Zp(a,h),cn(),a.memoizedState=null):(e!==null&&lo(a,null),Yc(),cn());return st(e,a,c,i),a.child}function Jm(e,a,i,s){var c=Bc();return c=c===null?null:{parent:Xe._currentValue,pool:c},a.memoizedState={baseLanes:i,cachePool:c},e!==null&&lo(a,null),Yc(),Lm(a),e!==null&&qr(e,a,s,!0),null}function Co(e,a){var i=a.ref;if(i===null)e!==null&&e.ref!==null&&(a.flags|=4194816);else{if(typeof i!="function"&&typeof i!="object")throw Error(o(284));(e===null||e.ref!==i)&&(a.flags|=4194816)}}function pu(e,a,i,s,c){return Yn(a),i=Xc(e,a,i,s,void 0,c),s=Zc(),e!==null&&!nt?($c(e,a,c),Ha(e,a,c)):(Ce&&s&&Vc(a),a.flags|=1,st(e,a,i,c),a.child)}function eg(e,a,i,s,c,h){return Yn(a),a.updateQueue=null,i=Jp(a,s,i,c),$p(e),s=Zc(),e!==null&&!nt?($c(e,a,h),Ha(e,a,h)):(Ce&&s&&Vc(a),a.flags|=1,st(e,a,i,h),a.child)}function tg(e,a,i,s,c){if(Yn(a),a.stateNode===null){var h=Mi,y=i.contextType;typeof y=="object"&&y!==null&&(h=dt(y)),h=new i(s,h),a.memoizedState=h.state!==null&&h.state!==void 0?h.state:null,h.updater=hu,a.stateNode=h,h._reactInternals=a,h=a.stateNode,h.props=s,h.state=a.memoizedState,h.refs={},Ic(a),y=i.contextType,h.context=typeof y=="object"&&y!==null?dt(y):Mi,h.state=a.memoizedState,y=i.getDerivedStateFromProps,typeof y=="function"&&(du(a,i,y,s),h.state=a.memoizedState),typeof i.getDerivedStateFromProps=="function"||typeof h.getSnapshotBeforeUpdate=="function"||typeof h.UNSAFE_componentWillMount!="function"&&typeof h.componentWillMount!="function"||(y=h.state,typeof h.componentWillMount=="function"&&h.componentWillMount(),typeof h.UNSAFE_componentWillMount=="function"&&h.UNSAFE_componentWillMount(),y!==h.state&&hu.enqueueReplaceState(h,h.state,null),Br(a,s,h,c),Hr(),h.state=a.memoizedState),typeof h.componentDidMount=="function"&&(a.flags|=4194308),s=!0}else if(e===null){h=a.stateNode;var x=a.memoizedProps,M=Xn(i,x);h.props=M;var U=h.context,z=i.contextType;y=Mi,typeof z=="object"&&z!==null&&(y=dt(z));var G=i.getDerivedStateFromProps;z=typeof G=="function"||typeof h.getSnapshotBeforeUpdate=="function",x=a.pendingProps!==x,z||typeof h.UNSAFE_componentWillReceiveProps!="function"&&typeof h.componentWillReceiveProps!="function"||(x||U!==y)&&Bm(a,h,s,y),nn=!1;var L=a.memoizedState;h.state=L,Br(a,s,h,c),Hr(),U=a.memoizedState,x||L!==U||nn?(typeof G=="function"&&(du(a,i,G,s),U=a.memoizedState),(M=nn||Hm(a,i,M,s,L,U,y))?(z||typeof h.UNSAFE_componentWillMount!="function"&&typeof h.componentWillMount!="function"||(typeof h.componentWillMount=="function"&&h.componentWillMount(),typeof h.UNSAFE_componentWillMount=="function"&&h.UNSAFE_componentWillMount()),typeof h.componentDidMount=="function"&&(a.flags|=4194308)):(typeof h.componentDidMount=="function"&&(a.flags|=4194308),a.memoizedProps=s,a.memoizedState=U),h.props=s,h.state=U,h.context=y,s=M):(typeof h.componentDidMount=="function"&&(a.flags|=4194308),s=!1)}else{h=a.stateNode,Fc(e,a),y=a.memoizedProps,z=Xn(i,y),h.props=z,G=a.pendingProps,L=h.context,U=i.contextType,M=Mi,typeof U=="object"&&U!==null&&(M=dt(U)),x=i.getDerivedStateFromProps,(U=typeof x=="function"||typeof h.getSnapshotBeforeUpdate=="function")||typeof h.UNSAFE_componentWillReceiveProps!="function"&&typeof h.componentWillReceiveProps!="function"||(y!==G||L!==M)&&Bm(a,h,s,M),nn=!1,L=a.memoizedState,h.state=L,Br(a,s,h,c),Hr();var H=a.memoizedState;y!==G||L!==H||nn||e!==null&&e.dependencies!==null&&so(e.dependencies)?(typeof x=="function"&&(du(a,i,x,s),H=a.memoizedState),(z=nn||Hm(a,i,z,s,L,H,M)||e!==null&&e.dependencies!==null&&so(e.dependencies))?(U||typeof h.UNSAFE_componentWillUpdate!="function"&&typeof h.componentWillUpdate!="function"||(typeof h.componentWillUpdate=="function"&&h.componentWillUpdate(s,H,M),typeof h.UNSAFE_componentWillUpdate=="function"&&h.UNSAFE_componentWillUpdate(s,H,M)),typeof h.componentDidUpdate=="function"&&(a.flags|=4),typeof h.getSnapshotBeforeUpdate=="function"&&(a.flags|=1024)):(typeof h.componentDidUpdate!="function"||y===e.memoizedProps&&L===e.memoizedState||(a.flags|=4),typeof h.getSnapshotBeforeUpdate!="function"||y===e.memoizedProps&&L===e.memoizedState||(a.flags|=1024),a.memoizedProps=s,a.memoizedState=H),h.props=s,h.state=H,h.context=M,s=z):(typeof h.componentDidUpdate!="function"||y===e.memoizedProps&&L===e.memoizedState||(a.flags|=4),typeof h.getSnapshotBeforeUpdate!="function"||y===e.memoizedProps&&L===e.memoizedState||(a.flags|=1024),s=!1)}return h=s,Co(e,a),s=(a.flags&128)!==0,h||s?(h=a.stateNode,i=s&&typeof i.getDerivedStateFromError!="function"?null:h.render(),a.flags|=1,e!==null&&s?(a.child=_i(a,e.child,null,c),a.child=_i(a,null,i,c)):st(e,a,i,c),a.memoizedState=h.state,e=a.child):e=Ha(e,a,c),e}function ag(e,a,i,s){return Nr(),a.flags|=256,st(e,a,i,s),a.child}var mu={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function gu(e){return{baseLanes:e,cachePool:Ip()}}function yu(e,a,i){return e=e!==null?e.childLanes&~i:0,a&&(e|=ta),e}function ng(e,a,i){var s=a.pendingProps,c=!1,h=(a.flags&128)!==0,y;if((y=h)||(y=e!==null&&e.memoizedState===null?!1:(Ze.current&2)!==0),y&&(c=!0,a.flags&=-129),y=(a.flags&32)!==0,a.flags&=-33,e===null){if(Ce){if(c?ln(a):cn(),Ce){var x=ze,M;if(M=x){e:{for(M=x,x=wa;M.nodeType!==8;){if(!x){x=null;break e}if(M=la(M.nextSibling),M===null){x=null;break e}}x=M}x!==null?(a.memoizedState={dehydrated:x,treeContext:zn!==null?{id:qa,overflow:ja}:null,retryLane:536870912,hydrationErrors:null},M=Dt(18,null,null,0),M.stateNode=x,M.return=a,a.child=M,pt=a,ze=null,M=!0):M=!1}M||Wn(a)}if(x=a.memoizedState,x!==null&&(x=x.dehydrated,x!==null))return ed(x)?a.lanes=32:a.lanes=536870912,null;La(a)}return x=s.children,s=s.fallback,c?(cn(),c=a.mode,x=Eo({mode:"hidden",children:x},c),s=Bn(s,c,i,null),x.return=a,s.return=a,x.sibling=s,a.child=x,c=a.child,c.memoizedState=gu(i),c.childLanes=yu(e,y,i),a.memoizedState=mu,s):(ln(a),vu(a,x))}if(M=e.memoizedState,M!==null&&(x=M.dehydrated,x!==null)){if(h)a.flags&256?(ln(a),a.flags&=-257,a=bu(e,a,i)):a.memoizedState!==null?(cn(),a.child=e.child,a.flags|=128,a=null):(cn(),c=s.fallback,x=a.mode,s=Eo({mode:"visible",children:s.children},x),c=Bn(c,x,i,null),c.flags|=2,s.return=a,c.return=a,s.sibling=c,a.child=s,_i(a,e.child,null,i),s=a.child,s.memoizedState=gu(i),s.childLanes=yu(e,y,i),a.memoizedState=mu,a=c);else if(ln(a),ed(x)){if(y=x.nextSibling&&x.nextSibling.dataset,y)var U=y.dgst;y=U,s=Error(o(419)),s.stack="",s.digest=y,Vr({value:s,source:null,stack:null}),a=bu(e,a,i)}else if(nt||qr(e,a,i,!1),y=(i&e.childLanes)!==0,nt||y){if(y=je,y!==null&&(s=i&-i,s=(s&42)!==0?1:tc(s),s=(s&(y.suspendedLanes|i))!==0?0:s,s!==0&&s!==M.retryLane))throw M.retryLane=s,Ei(e,s),jt(y,e,s),Km;x.data==="$?"||Pu(),a=bu(e,a,i)}else x.data==="$?"?(a.flags|=192,a.child=e.child,a=null):(e=M.treeContext,ze=la(x.nextSibling),pt=a,Ce=!0,Fn=null,wa=!1,e!==null&&($t[Jt++]=qa,$t[Jt++]=ja,$t[Jt++]=zn,qa=e.id,ja=e.overflow,zn=a),a=vu(a,s.children),a.flags|=4096);return a}return c?(cn(),c=s.fallback,x=a.mode,M=e.child,U=M.sibling,s=Va(M,{mode:"hidden",children:s.children}),s.subtreeFlags=M.subtreeFlags&65011712,U!==null?c=Va(U,c):(c=Bn(c,x,i,null),c.flags|=2),c.return=a,s.return=a,s.sibling=c,a.child=s,s=c,c=a.child,x=e.child.memoizedState,x===null?x=gu(i):(M=x.cachePool,M!==null?(U=Xe._currentValue,M=M.parent!==U?{parent:U,pool:U}:M):M=Ip(),x={baseLanes:x.baseLanes|i,cachePool:M}),c.memoizedState=x,c.childLanes=yu(e,y,i),a.memoizedState=mu,s):(ln(a),i=e.child,e=i.sibling,i=Va(i,{mode:"visible",children:s.children}),i.return=a,i.sibling=null,e!==null&&(y=a.deletions,y===null?(a.deletions=[e],a.flags|=16):y.push(e)),a.child=i,a.memoizedState=null,i)}function vu(e,a){return a=Eo({mode:"visible",children:a},e.mode),a.return=e,e.child=a}function Eo(e,a){return e=Dt(22,e,null,a),e.lanes=0,e.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null},e}function bu(e,a,i){return _i(a,e.child,null,i),e=vu(a,a.pendingProps.children),e.flags|=2,a.memoizedState=null,e}function ig(e,a,i){e.lanes|=a;var s=e.alternate;s!==null&&(s.lanes|=a),Pc(e.return,a,i)}function wu(e,a,i,s,c){var h=e.memoizedState;h===null?e.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:s,tail:i,tailMode:c}:(h.isBackwards=a,h.rendering=null,h.renderingStartTime=0,h.last=s,h.tail=i,h.tailMode=c)}function rg(e,a,i){var s=a.pendingProps,c=s.revealOrder,h=s.tail;if(st(e,a,s.children,i),s=Ze.current,(s&2)!==0)s=s&1|2,a.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=a.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&ig(e,i,a);else if(e.tag===19)ig(e,i,a);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===a)break e;for(;e.sibling===null;){if(e.return===null||e.return===a)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}s&=1}switch(Z(Ze,s),c){case"forwards":for(i=a.child,c=null;i!==null;)e=i.alternate,e!==null&&So(e)===null&&(c=i),i=i.sibling;i=c,i===null?(c=a.child,a.child=null):(c=i.sibling,i.sibling=null),wu(a,!1,c,i,h);break;case"backwards":for(i=null,c=a.child,a.child=null;c!==null;){if(e=c.alternate,e!==null&&So(e)===null){a.child=c;break}e=c.sibling,c.sibling=i,i=c,c=e}wu(a,!0,i,null,h);break;case"together":wu(a,!1,null,null,void 0);break;default:a.memoizedState=null}return a.child}function Ha(e,a,i){if(e!==null&&(a.dependencies=e.dependencies),pn|=a.lanes,(i&a.childLanes)===0)if(e!==null){if(qr(e,a,i,!1),(i&a.childLanes)===0)return null}else return null;if(e!==null&&a.child!==e.child)throw Error(o(153));if(a.child!==null){for(e=a.child,i=Va(e,e.pendingProps),a.child=i,i.return=a;e.sibling!==null;)e=e.sibling,i=i.sibling=Va(e,e.pendingProps),i.return=a;i.sibling=null}return a.child}function xu(e,a){return(e.lanes&a)!==0?!0:(e=e.dependencies,!!(e!==null&&so(e)))}function lA(e,a,i){switch(a.tag){case 3:Ee(a,a.stateNode.containerInfo),an(a,Xe,e.memoizedState.cache),Nr();break;case 27:case 5:Za(a);break;case 4:Ee(a,a.stateNode.containerInfo);break;case 10:an(a,a.type,a.memoizedProps.value);break;case 13:var s=a.memoizedState;if(s!==null)return s.dehydrated!==null?(ln(a),a.flags|=128,null):(i&a.child.childLanes)!==0?ng(e,a,i):(ln(a),e=Ha(e,a,i),e!==null?e.sibling:null);ln(a);break;case 19:var c=(e.flags&128)!==0;if(s=(i&a.childLanes)!==0,s||(qr(e,a,i,!1),s=(i&a.childLanes)!==0),c){if(s)return rg(e,a,i);a.flags|=128}if(c=a.memoizedState,c!==null&&(c.rendering=null,c.tail=null,c.lastEffect=null),Z(Ze,Ze.current),s)break;return null;case 22:case 23:return a.lanes=0,$m(e,a,i);case 24:an(a,Xe,e.memoizedState.cache)}return Ha(e,a,i)}function sg(e,a,i){if(e!==null)if(e.memoizedProps!==a.pendingProps)nt=!0;else{if(!xu(e,i)&&(a.flags&128)===0)return nt=!1,lA(e,a,i);nt=(e.flags&131072)!==0}else nt=!1,Ce&&(a.flags&1048576)!==0&&Up(a,ro,a.index);switch(a.lanes=0,a.tag){case 16:e:{e=a.pendingProps;var s=a.elementType,c=s._init;if(s=c(s._payload),a.type=s,typeof s=="function")Dc(s)?(e=Xn(s,e),a.tag=1,a=tg(null,a,s,e,i)):(a.tag=0,a=pu(null,a,s,e,i));else{if(s!=null){if(c=s.$$typeof,c===P){a.tag=11,a=Qm(null,a,s,e,i);break e}else if(c===Q){a.tag=14,a=Xm(null,a,s,e,i);break e}}throw a=J(s)||s,Error(o(306,a,""))}}return a;case 0:return pu(e,a,a.type,a.pendingProps,i);case 1:return s=a.type,c=Xn(s,a.pendingProps),tg(e,a,s,c,i);case 3:e:{if(Ee(a,a.stateNode.containerInfo),e===null)throw Error(o(387));s=a.pendingProps;var h=a.memoizedState;c=h.element,Fc(e,a),Br(a,s,null,i);var y=a.memoizedState;if(s=y.cache,an(a,Xe,s),s!==h.cache&&_c(a,[Xe],i,!0),Hr(),s=y.element,h.isDehydrated)if(h={element:s,isDehydrated:!1,cache:y.cache},a.updateQueue.baseState=h,a.memoizedState=h,a.flags&256){a=ag(e,a,s,i);break e}else if(s!==c){c=Xt(Error(o(424)),a),Vr(c),a=ag(e,a,s,i);break e}else for(e=a.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,ze=la(e.firstChild),pt=a,Ce=!0,Fn=null,wa=!0,i=_m(a,null,s,i),a.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(Nr(),s===c){a=Ha(e,a,i);break e}st(e,a,s,i)}a=a.child}return a;case 26:return Co(e,a),e===null?(i=uy(a.type,null,a.pendingProps,null))?a.memoizedState=i:Ce||(i=a.type,e=a.pendingProps,s=Bo(re.current).createElement(i),s[ut]=a,s[wt]=e,lt(s,i,e),at(s),a.stateNode=s):a.memoizedState=uy(a.type,e.memoizedProps,a.pendingProps,e.memoizedState),null;case 27:return Za(a),e===null&&Ce&&(s=a.stateNode=oy(a.type,a.pendingProps,re.current),pt=a,wa=!0,c=ze,vn(a.type)?(td=c,ze=la(s.firstChild)):ze=c),st(e,a,a.pendingProps.children,i),Co(e,a),e===null&&(a.flags|=4194304),a.child;case 5:return e===null&&Ce&&((c=s=ze)&&(s=UA(s,a.type,a.pendingProps,wa),s!==null?(a.stateNode=s,pt=a,ze=la(s.firstChild),wa=!1,c=!0):c=!1),c||Wn(a)),Za(a),c=a.type,h=a.pendingProps,y=e!==null?e.memoizedProps:null,s=h.children,Zu(c,h)?s=null:y!==null&&Zu(c,y)&&(a.flags|=32),a.memoizedState!==null&&(c=Xc(e,a,eA,null,null,i),cs._currentValue=c),Co(e,a),st(e,a,s,i),a.child;case 6:return e===null&&Ce&&((e=i=ze)&&(i=PA(i,a.pendingProps,wa),i!==null?(a.stateNode=i,pt=a,ze=null,e=!0):e=!1),e||Wn(a)),null;case 13:return ng(e,a,i);case 4:return Ee(a,a.stateNode.containerInfo),s=a.pendingProps,e===null?a.child=_i(a,null,s,i):st(e,a,s,i),a.child;case 11:return Qm(e,a,a.type,a.pendingProps,i);case 7:return st(e,a,a.pendingProps,i),a.child;case 8:return st(e,a,a.pendingProps.children,i),a.child;case 12:return st(e,a,a.pendingProps.children,i),a.child;case 10:return s=a.pendingProps,an(a,a.type,s.value),st(e,a,s.children,i),a.child;case 9:return c=a.type._context,s=a.pendingProps.children,Yn(a),c=dt(c),s=s(c),a.flags|=1,st(e,a,s,i),a.child;case 14:return Xm(e,a,a.type,a.pendingProps,i);case 15:return Zm(e,a,a.type,a.pendingProps,i);case 19:return rg(e,a,i);case 31:return s=a.pendingProps,i=a.mode,s={mode:s.mode,children:s.children},e===null?(i=Eo(s,i),i.ref=a.ref,a.child=i,i.return=a,a=i):(i=Va(e.child,s),i.ref=a.ref,a.child=i,i.return=a,a=i),a;case 22:return $m(e,a,i);case 24:return Yn(a),s=dt(Xe),e===null?(c=Bc(),c===null&&(c=je,h=Lc(),c.pooledCache=h,h.refCount++,h!==null&&(c.pooledCacheLanes|=i),c=h),a.memoizedState={parent:s,cache:c},Ic(a),an(a,Xe,c)):((e.lanes&i)!==0&&(Fc(e,a),Br(a,null,null,i),Hr()),c=e.memoizedState,h=a.memoizedState,c.parent!==s?(c={parent:s,cache:s},a.memoizedState=c,a.lanes===0&&(a.memoizedState=a.updateQueue.baseState=c),an(a,Xe,s)):(s=h.cache,an(a,Xe,s),s!==c.cache&&_c(a,[Xe],i,!0))),st(e,a,a.pendingProps.children,i),a.child;case 29:throw a.pendingProps}throw Error(o(156,a.tag))}function Ba(e){e.flags|=4}function og(e,a){if(a.type!=="stylesheet"||(a.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!my(a)){if(a=ea.current,a!==null&&((Ae&4194048)===Ae?xa!==null:(Ae&62914560)!==Ae&&(Ae&536870912)===0||a!==xa))throw _r=zc,Fp;e.flags|=8192}}function Mo(e,a){a!==null&&(e.flags|=4),e.flags&16384&&(a=e.tag!==22?Lf():536870912,e.lanes|=a,zi|=a)}function Kr(e,a){if(!Ce)switch(e.tailMode){case"hidden":a=e.tail;for(var i=null;a!==null;)a.alternate!==null&&(i=a),a=a.sibling;i===null?e.tail=null:i.sibling=null;break;case"collapsed":i=e.tail;for(var s=null;i!==null;)i.alternate!==null&&(s=i),i=i.sibling;s===null?a||e.tail===null?e.tail=null:e.tail.sibling=null:s.sibling=null}}function He(e){var a=e.alternate!==null&&e.alternate.child===e.child,i=0,s=0;if(a)for(var c=e.child;c!==null;)i|=c.lanes|c.childLanes,s|=c.subtreeFlags&65011712,s|=c.flags&65011712,c.return=e,c=c.sibling;else for(c=e.child;c!==null;)i|=c.lanes|c.childLanes,s|=c.subtreeFlags,s|=c.flags,c.return=e,c=c.sibling;return e.subtreeFlags|=s,e.childLanes=i,a}function cA(e,a,i){var s=a.pendingProps;switch(qc(a),a.tag){case 31:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return He(a),null;case 1:return He(a),null;case 3:return i=a.stateNode,s=null,e!==null&&(s=e.memoizedState.cache),a.memoizedState.cache!==s&&(a.flags|=2048),Pa(Xe),Me(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&(Or(a)?Ba(a):e===null||e.memoizedState.isDehydrated&&(a.flags&256)===0||(a.flags|=1024,Lp())),He(a),null;case 26:return i=a.memoizedState,e===null?(Ba(a),i!==null?(He(a),og(a,i)):(He(a),a.flags&=-16777217)):i?i!==e.memoizedState?(Ba(a),He(a),og(a,i)):(He(a),a.flags&=-16777217):(e.memoizedProps!==s&&Ba(a),He(a),a.flags&=-16777217),null;case 27:ra(a),i=re.current;var c=a.type;if(e!==null&&a.stateNode!=null)e.memoizedProps!==s&&Ba(a);else{if(!s){if(a.stateNode===null)throw Error(o(166));return He(a),null}e=se.current,Or(a)?Pp(a):(e=oy(c,s,i),a.stateNode=e,Ba(a))}return He(a),null;case 5:if(ra(a),i=a.type,e!==null&&a.stateNode!=null)e.memoizedProps!==s&&Ba(a);else{if(!s){if(a.stateNode===null)throw Error(o(166));return He(a),null}if(e=se.current,Or(a))Pp(a);else{switch(c=Bo(re.current),e){case 1:e=c.createElementNS("http://www.w3.org/2000/svg",i);break;case 2:e=c.createElementNS("http://www.w3.org/1998/Math/MathML",i);break;default:switch(i){case"svg":e=c.createElementNS("http://www.w3.org/2000/svg",i);break;case"math":e=c.createElementNS("http://www.w3.org/1998/Math/MathML",i);break;case"script":e=c.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild);break;case"select":e=typeof s.is=="string"?c.createElement("select",{is:s.is}):c.createElement("select"),s.multiple?e.multiple=!0:s.size&&(e.size=s.size);break;default:e=typeof s.is=="string"?c.createElement(i,{is:s.is}):c.createElement(i)}}e[ut]=a,e[wt]=s;e:for(c=a.child;c!==null;){if(c.tag===5||c.tag===6)e.appendChild(c.stateNode);else if(c.tag!==4&&c.tag!==27&&c.child!==null){c.child.return=c,c=c.child;continue}if(c===a)break e;for(;c.sibling===null;){if(c.return===null||c.return===a)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}a.stateNode=e;e:switch(lt(e,i,s),i){case"button":case"input":case"select":case"textarea":e=!!s.autoFocus;break e;case"img":e=!0;break e;default:e=!1}e&&Ba(a)}}return He(a),a.flags&=-16777217,null;case 6:if(e&&a.stateNode!=null)e.memoizedProps!==s&&Ba(a);else{if(typeof s!="string"&&a.stateNode===null)throw Error(o(166));if(e=re.current,Or(a)){if(e=a.stateNode,i=a.memoizedProps,s=null,c=pt,c!==null)switch(c.tag){case 27:case 5:s=c.memoizedProps}e[ut]=a,e=!!(e.nodeValue===i||s!==null&&s.suppressHydrationWarning===!0||ey(e.nodeValue,i)),e||Wn(a)}else e=Bo(e).createTextNode(s),e[ut]=a,a.stateNode=e}return He(a),null;case 13:if(s=a.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(c=Or(a),s!==null&&s.dehydrated!==null){if(e===null){if(!c)throw Error(o(318));if(c=a.memoizedState,c=c!==null?c.dehydrated:null,!c)throw Error(o(317));c[ut]=a}else Nr(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;He(a),c=!1}else c=Lp(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=c),c=!0;if(!c)return a.flags&256?(La(a),a):(La(a),null)}if(La(a),(a.flags&128)!==0)return a.lanes=i,a;if(i=s!==null,e=e!==null&&e.memoizedState!==null,i){s=a.child,c=null,s.alternate!==null&&s.alternate.memoizedState!==null&&s.alternate.memoizedState.cachePool!==null&&(c=s.alternate.memoizedState.cachePool.pool);var h=null;s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(h=s.memoizedState.cachePool.pool),h!==c&&(s.flags|=2048)}return i!==e&&i&&(a.child.flags|=8192),Mo(a,a.updateQueue),He(a),null;case 4:return Me(),e===null&&Gu(a.stateNode.containerInfo),He(a),null;case 10:return Pa(a.type),He(a),null;case 19:if($(Ze),c=a.memoizedState,c===null)return He(a),null;if(s=(a.flags&128)!==0,h=c.rendering,h===null)if(s)Kr(c,!1);else{if(Ie!==0||e!==null&&(e.flags&128)!==0)for(e=a.child;e!==null;){if(h=So(e),h!==null){for(a.flags|=128,Kr(c,!1),e=h.updateQueue,a.updateQueue=e,Mo(a,e),a.subtreeFlags=0,e=i,i=a.child;i!==null;)jp(i,e),i=i.sibling;return Z(Ze,Ze.current&1|2),a.child}e=e.sibling}c.tail!==null&&ba()>Oo&&(a.flags|=128,s=!0,Kr(c,!1),a.lanes=4194304)}else{if(!s)if(e=So(h),e!==null){if(a.flags|=128,s=!0,e=e.updateQueue,a.updateQueue=e,Mo(a,e),Kr(c,!0),c.tail===null&&c.tailMode==="hidden"&&!h.alternate&&!Ce)return He(a),null}else 2*ba()-c.renderingStartTime>Oo&&i!==536870912&&(a.flags|=128,s=!0,Kr(c,!1),a.lanes=4194304);c.isBackwards?(h.sibling=a.child,a.child=h):(e=c.last,e!==null?e.sibling=h:a.child=h,c.last=h)}return c.tail!==null?(a=c.tail,c.rendering=a,c.tail=a.sibling,c.renderingStartTime=ba(),a.sibling=null,e=Ze.current,Z(Ze,s?e&1|2:e&1),a):(He(a),null);case 22:case 23:return La(a),Kc(),s=a.memoizedState!==null,e!==null?e.memoizedState!==null!==s&&(a.flags|=8192):s&&(a.flags|=8192),s?(i&536870912)!==0&&(a.flags&128)===0&&(He(a),a.subtreeFlags&6&&(a.flags|=8192)):He(a),i=a.updateQueue,i!==null&&Mo(a,i.retryQueue),i=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(i=e.memoizedState.cachePool.pool),s=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(s=a.memoizedState.cachePool.pool),s!==i&&(a.flags|=2048),e!==null&&$(Kn),null;case 24:return i=null,e!==null&&(i=e.memoizedState.cache),a.memoizedState.cache!==i&&(a.flags|=2048),Pa(Xe),He(a),null;case 25:return null;case 30:return null}throw Error(o(156,a.tag))}function uA(e,a){switch(qc(a),a.tag){case 1:return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 3:return Pa(Xe),Me(),e=a.flags,(e&65536)!==0&&(e&128)===0?(a.flags=e&-65537|128,a):null;case 26:case 27:case 5:return ra(a),null;case 13:if(La(a),e=a.memoizedState,e!==null&&e.dehydrated!==null){if(a.alternate===null)throw Error(o(340));Nr()}return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 19:return $(Ze),null;case 4:return Me(),null;case 10:return Pa(a.type),null;case 22:case 23:return La(a),Kc(),e!==null&&$(Kn),e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 24:return Pa(Xe),null;case 25:return null;default:return null}}function lg(e,a){switch(qc(a),a.tag){case 3:Pa(Xe),Me();break;case 26:case 27:case 5:ra(a);break;case 4:Me();break;case 13:La(a);break;case 19:$(Ze);break;case 10:Pa(a.type);break;case 22:case 23:La(a),Kc(),e!==null&&$(Kn);break;case 24:Pa(Xe)}}function Qr(e,a){try{var i=a.updateQueue,s=i!==null?i.lastEffect:null;if(s!==null){var c=s.next;i=c;do{if((i.tag&e)===e){s=void 0;var h=i.create,y=i.inst;s=h(),y.destroy=s}i=i.next}while(i!==c)}}catch(x){qe(a,a.return,x)}}function un(e,a,i){try{var s=a.updateQueue,c=s!==null?s.lastEffect:null;if(c!==null){var h=c.next;s=h;do{if((s.tag&e)===e){var y=s.inst,x=y.destroy;if(x!==void 0){y.destroy=void 0,c=a;var M=i,U=x;try{U()}catch(z){qe(c,M,z)}}}s=s.next}while(s!==h)}}catch(z){qe(a,a.return,z)}}function cg(e){var a=e.updateQueue;if(a!==null){var i=e.stateNode;try{Xp(a,i)}catch(s){qe(e,e.return,s)}}}function ug(e,a,i){i.props=Xn(e.type,e.memoizedProps),i.state=e.memoizedState;try{i.componentWillUnmount()}catch(s){qe(e,a,s)}}function Xr(e,a){try{var i=e.ref;if(i!==null){switch(e.tag){case 26:case 27:case 5:var s=e.stateNode;break;case 30:s=e.stateNode;break;default:s=e.stateNode}typeof i=="function"?e.refCleanup=i(s):i.current=s}}catch(c){qe(e,a,c)}}function ka(e,a){var i=e.ref,s=e.refCleanup;if(i!==null)if(typeof s=="function")try{s()}catch(c){qe(e,a,c)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof i=="function")try{i(null)}catch(c){qe(e,a,c)}else i.current=null}function dg(e){var a=e.type,i=e.memoizedProps,s=e.stateNode;try{e:switch(a){case"button":case"input":case"select":case"textarea":i.autoFocus&&s.focus();break e;case"img":i.src?s.src=i.src:i.srcSet&&(s.srcset=i.srcSet)}}catch(c){qe(e,e.return,c)}}function ku(e,a,i){try{var s=e.stateNode;OA(s,e.type,i,a),s[wt]=a}catch(c){qe(e,e.return,c)}}function hg(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&vn(e.type)||e.tag===4}function Su(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||hg(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.tag===27&&vn(e.type)||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 Au(e,a,i){var s=e.tag;if(s===5||s===6)e=e.stateNode,a?(i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i).insertBefore(e,a):(a=i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i,a.appendChild(e),i=i._reactRootContainer,i!=null||a.onclick!==null||(a.onclick=Ho));else if(s!==4&&(s===27&&vn(e.type)&&(i=e.stateNode,a=null),e=e.child,e!==null))for(Au(e,a,i),e=e.sibling;e!==null;)Au(e,a,i),e=e.sibling}function Ro(e,a,i){var s=e.tag;if(s===5||s===6)e=e.stateNode,a?i.insertBefore(e,a):i.appendChild(e);else if(s!==4&&(s===27&&vn(e.type)&&(i=e.stateNode),e=e.child,e!==null))for(Ro(e,a,i),e=e.sibling;e!==null;)Ro(e,a,i),e=e.sibling}function fg(e){var a=e.stateNode,i=e.memoizedProps;try{for(var s=e.type,c=a.attributes;c.length;)a.removeAttributeNode(c[0]);lt(a,s,i),a[ut]=e,a[wt]=i}catch(h){qe(e,e.return,h)}}var za=!1,Ge=!1,Tu=!1,pg=typeof WeakSet=="function"?WeakSet:Set,it=null;function dA(e,a){if(e=e.containerInfo,Qu=Yo,e=Tp(e),Sc(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else e:{i=(i=e.ownerDocument)&&i.defaultView||window;var s=i.getSelection&&i.getSelection();if(s&&s.rangeCount!==0){i=s.anchorNode;var c=s.anchorOffset,h=s.focusNode;s=s.focusOffset;try{i.nodeType,h.nodeType}catch{i=null;break e}var y=0,x=-1,M=-1,U=0,z=0,G=e,L=null;t:for(;;){for(var H;G!==i||c!==0&&G.nodeType!==3||(x=y+c),G!==h||s!==0&&G.nodeType!==3||(M=y+s),G.nodeType===3&&(y+=G.nodeValue.length),(H=G.firstChild)!==null;)L=G,G=H;for(;;){if(G===e)break t;if(L===i&&++U===c&&(x=y),L===h&&++z===s&&(M=y),(H=G.nextSibling)!==null)break;G=L,L=G.parentNode}G=H}i=x===-1||M===-1?null:{start:x,end:M}}else i=null}i=i||{start:0,end:0}}else i=null;for(Xu={focusedElem:e,selectionRange:i},Yo=!1,it=a;it!==null;)if(a=it,e=a.child,(a.subtreeFlags&1024)!==0&&e!==null)e.return=a,it=e;else for(;it!==null;){switch(a=it,h=a.alternate,e=a.flags,a.tag){case 0:break;case 11:case 15:break;case 1:if((e&1024)!==0&&h!==null){e=void 0,i=a,c=h.memoizedProps,h=h.memoizedState,s=i.stateNode;try{var pe=Xn(i.type,c,i.elementType===i.type);e=s.getSnapshotBeforeUpdate(pe,h),s.__reactInternalSnapshotBeforeUpdate=e}catch(ue){qe(i,i.return,ue)}}break;case 3:if((e&1024)!==0){if(e=a.stateNode.containerInfo,i=e.nodeType,i===9)Ju(e);else if(i===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Ju(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(o(163))}if(e=a.sibling,e!==null){e.return=a.return,it=e;break}it=a.return}}function mg(e,a,i){var s=i.flags;switch(i.tag){case 0:case 11:case 15:dn(e,i),s&4&&Qr(5,i);break;case 1:if(dn(e,i),s&4)if(e=i.stateNode,a===null)try{e.componentDidMount()}catch(y){qe(i,i.return,y)}else{var c=Xn(i.type,a.memoizedProps);a=a.memoizedState;try{e.componentDidUpdate(c,a,e.__reactInternalSnapshotBeforeUpdate)}catch(y){qe(i,i.return,y)}}s&64&&cg(i),s&512&&Xr(i,i.return);break;case 3:if(dn(e,i),s&64&&(e=i.updateQueue,e!==null)){if(a=null,i.child!==null)switch(i.child.tag){case 27:case 5:a=i.child.stateNode;break;case 1:a=i.child.stateNode}try{Xp(e,a)}catch(y){qe(i,i.return,y)}}break;case 27:a===null&&s&4&&fg(i);case 26:case 5:dn(e,i),a===null&&s&4&&dg(i),s&512&&Xr(i,i.return);break;case 12:dn(e,i);break;case 13:dn(e,i),s&4&&vg(e,i),s&64&&(e=i.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(i=wA.bind(null,i),_A(e,i))));break;case 22:if(s=i.memoizedState!==null||za,!s){a=a!==null&&a.memoizedState!==null||Ge,c=za;var h=Ge;za=s,(Ge=a)&&!h?hn(e,i,(i.subtreeFlags&8772)!==0):dn(e,i),za=c,Ge=h}break;case 30:break;default:dn(e,i)}}function gg(e){var a=e.alternate;a!==null&&(e.alternate=null,gg(a)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(a=e.stateNode,a!==null&&ic(a)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Le=null,St=!1;function Ia(e,a,i){for(i=i.child;i!==null;)yg(e,a,i),i=i.sibling}function yg(e,a,i){if(Et&&typeof Et.onCommitFiberUnmount=="function")try{Et.onCommitFiberUnmount(yr,i)}catch{}switch(i.tag){case 26:Ge||ka(i,a),Ia(e,a,i),i.memoizedState?i.memoizedState.count--:i.stateNode&&(i=i.stateNode,i.parentNode.removeChild(i));break;case 27:Ge||ka(i,a);var s=Le,c=St;vn(i.type)&&(Le=i.stateNode,St=!1),Ia(e,a,i),rs(i.stateNode),Le=s,St=c;break;case 5:Ge||ka(i,a);case 6:if(s=Le,c=St,Le=null,Ia(e,a,i),Le=s,St=c,Le!==null)if(St)try{(Le.nodeType===9?Le.body:Le.nodeName==="HTML"?Le.ownerDocument.body:Le).removeChild(i.stateNode)}catch(h){qe(i,a,h)}else try{Le.removeChild(i.stateNode)}catch(h){qe(i,a,h)}break;case 18:Le!==null&&(St?(e=Le,ry(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,i.stateNode),fs(e)):ry(Le,i.stateNode));break;case 4:s=Le,c=St,Le=i.stateNode.containerInfo,St=!0,Ia(e,a,i),Le=s,St=c;break;case 0:case 11:case 14:case 15:Ge||un(2,i,a),Ge||un(4,i,a),Ia(e,a,i);break;case 1:Ge||(ka(i,a),s=i.stateNode,typeof s.componentWillUnmount=="function"&&ug(i,a,s)),Ia(e,a,i);break;case 21:Ia(e,a,i);break;case 22:Ge=(s=Ge)||i.memoizedState!==null,Ia(e,a,i),Ge=s;break;default:Ia(e,a,i)}}function vg(e,a){if(a.memoizedState===null&&(e=a.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{fs(e)}catch(i){qe(a,a.return,i)}}function hA(e){switch(e.tag){case 13:case 19:var a=e.stateNode;return a===null&&(a=e.stateNode=new pg),a;case 22:return e=e.stateNode,a=e._retryCache,a===null&&(a=e._retryCache=new pg),a;default:throw Error(o(435,e.tag))}}function Cu(e,a){var i=hA(e);a.forEach(function(s){var c=xA.bind(null,e,s);i.has(s)||(i.add(s),s.then(c,c))})}
vendor: 3,836 bytes, line 9
9function Ot(e,a){var i=a.deletions;if(i!==null)for(var s=0;s<i.length;s++){var c=i[s],h=e,y=a,x=y;e:for(;x!==null;){switch(x.tag){case 27:if(vn(x.type)){Le=x.stateNode,St=!1;break e}break;case 5:Le=x.stateNode,St=!1;break e;case 3:case 4:Le=x.stateNode.containerInfo,St=!0;break e}x=x.return}if(Le===null)throw Error(o(160));yg(h,y,c),Le=null,St=!1,h=c.alternate,h!==null&&(h.return=null),c.return=null}if(a.subtreeFlags&13878)for(a=a.child;a!==null;)bg(a,e),a=a.sibling}var oa=null;function bg(e,a){var i=e.alternate,s=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Ot(a,e),Nt(e),s&4&&(un(3,e,e.return),Qr(3,e),un(5,e,e.return));break;case 1:Ot(a,e),Nt(e),s&512&&(Ge||i===null||ka(i,i.return)),s&64&&za&&(e=e.updateQueue,e!==null&&(s=e.callbacks,s!==null&&(i=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=i===null?s:i.concat(s))));break;case 26:var c=oa;if(Ot(a,e),Nt(e),s&512&&(Ge||i===null||ka(i,i.return)),s&4){var h=i!==null?i.memoizedState:null;if(s=e.memoizedState,i===null)if(s===null)if(e.stateNode===null){e:{s=e.type,i=e.memoizedProps,c=c.ownerDocument||c;t:switch(s){case"title":h=c.getElementsByTagName("title")[0],(!h||h[wr]||h[ut]||h.namespaceURI==="http://www.w3.org/2000/svg"||h.hasAttribute("itemprop"))&&(h=c.createElement(s),c.head.insertBefore(h,c.querySelector("head > title"))),lt(h,s,i),h[ut]=e,at(h),s=h;break e;case"link":var y=fy("link","href",c).get(s+(i.href||""));if(y){for(var x=0;x<y.length;x++)if(h=y[x],h.getAttribute("href")===(i.href==null||i.href===""?null:i.href)&&h.getAttribute("rel")===(i.rel==null?null:i.rel)&&h.getAttribute("title")===(i.title==null?null:i.title)&&h.getAttribute("crossorigin")===(i.crossOrigin==null?null:i.crossOrigin)){y.splice(x,1);break t}}h=c.createElement(s),lt(h,s,i),c.head.appendChild(h);break;case"meta":if(y=fy("meta","content",c).get(s+(i.content||""))){for(x=0;x<y.length;x++)if(h=y[x],h.getAttribute("content")===(i.content==null?null:""+i.content)&&h.getAttribute("name")===(i.name==null?null:i.name)&&h.getAttribute("property")===(i.property==null?null:i.property)&&h.getAttribute("http-equiv")===(i.httpEquiv==null?null:i.httpEquiv)&&h.getAttribute("charset")===(i.charSet==null?null:i.charSet)){y.splice(x,1);break t}}h=c.createElement(s),lt(h,s,i),c.head.appendChild(h);break;default:throw Error(o(468,s))}h[ut]=e,at(h),s=h}e.stateNode=s}else py(c,e.type,e.stateNode);else e.stateNode=hy(c,s,e.memoizedProps);else h!==s?(h===null?i.stateNode!==null&&(i=i.stateNode,i.parentNode.removeChild(i)):h.count--,s===null?py(c,e.type,e.stateNode):hy(c,s,e.memoizedProps)):s===null&&e.stateNode!==null&&ku(e,e.memoizedProps,i.memoizedProps)}break;case 27:Ot(a,e),Nt(e),s&512&&(Ge||i===null||ka(i,i.return)),i!==null&&s&4&&ku(e,e.memoizedProps,i.memoizedProps);break;case 5:if(Ot(a,e),Nt(e),s&512&&(Ge||i===null||ka(i,i.return)),e.flags&32){c=e.stateNode;try{wi(c,"")}catch(H){qe(e,e.return,H)}}s&4&&e.stateNode!=null&&(c=e.memoizedProps,ku(e,c,i!==null?i.memoizedProps:c)),s&1024&&(Tu=!0);break;case 6:if(Ot(a,e),Nt(e),s&4){if(e.stateNode===null)throw Error(o(162));s=e.memoizedProps,i=e.stateNode;try{i.nodeValue=s}catch(H){qe(e,e.return,H)}}break;case 3:if(Fo=null,c=oa,oa=zo(a.containerInfo),Ot(a,e),oa=c,Nt(e),s&4&&i!==null&&i.memoizedState.isDehydrated)try{fs(a.containerInfo)}catch(H){qe(e,e.return,H)}Tu&&(Tu=!1,wg(e));break;case 4:s=oa,oa=zo(e.stateNode.containerInfo),Ot(a,e),Nt(e),oa=s;break;case 12:Ot(a,e),Nt(e);break;case 13:Ot(a,e),Nt(e),e.child.flags&8192&&e.memoizedState!==null!=(i!==null&&i.memoizedState!==null)&&(Nu=ba()),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,Cu(e,s)));break;case 22:c=e.memoizedState!==null;var M=i!==null&&i.memoizedState!==null,U=za,z=Ge;if(za=U||c,Ge=z||M,Ot(a,e),Ge=z,za=U,Nt(e),s&8192)e:for(a=e.stateNode,a._visibility=c?a._visibility&-2:a._visibility|1,c&&(i===null||M||za||Ge||Zn(e)),i=null,a=e;;
vendor: 31,233 bytes, lines 9-10
9){if(a.tag===5||a.tag===26){if(i===null){M=i=a;try{if(h=M.stateNode,c)y=h.style,typeof y.setProperty=="function"?y.setProperty("display","none","important"):y.display="none";else{x=M.stateNode;var G=M.memoizedProps.style,L=G!=null&&G.hasOwnProperty("display")?G.display:null;x.style.display=L==null||typeof L=="boolean"?"":(""+L).trim()}}catch(H){qe(M,M.return,H)}}}else if(a.tag===6){if(i===null){M=a;try{M.stateNode.nodeValue=c?"":M.memoizedProps}catch(H){qe(M,M.return,H)}}}else if((a.tag!==22&&a.tag!==23||a.memoizedState===null||a===e)&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===e)break e;for(;a.sibling===null;){if(a.return===null||a.return===e)break e;i===a&&(i=null),a=a.return}i===a&&(i=null),a.sibling.return=a.return,a=a.sibling}s&4&&(s=e.updateQueue,s!==null&&(i=s.retryQueue,i!==null&&(s.retryQueue=null,Cu(e,i))));break;case 19:Ot(a,e),Nt(e),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,Cu(e,s)));break;case 30:break;case 21:break;default:Ot(a,e),Nt(e)}}function Nt(e){var a=e.flags;if(a&2){try{for(var i,s=e.return;s!==null;){if(hg(s)){i=s;break}s=s.return}if(i==null)throw Error(o(160));switch(i.tag){case 27:var c=i.stateNode,h=Su(e);Ro(e,h,c);break;case 5:var y=i.stateNode;i.flags&32&&(wi(y,""),i.flags&=-33);var x=Su(e);Ro(e,x,y);break;case 3:case 4:var M=i.stateNode.containerInfo,U=Su(e);Au(e,U,M);break;default:throw Error(o(161))}}catch(z){qe(e,e.return,z)}e.flags&=-3}a&4096&&(e.flags&=-4097)}function wg(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var a=e;wg(a),a.tag===5&&a.flags&1024&&a.stateNode.reset(),e=e.sibling}}function dn(e,a){if(a.subtreeFlags&8772)for(a=a.child;a!==null;)mg(e,a.alternate,a),a=a.sibling}function Zn(e){for(e=e.child;e!==null;){var a=e;switch(a.tag){case 0:case 11:case 14:case 15:un(4,a,a.return),Zn(a);break;case 1:ka(a,a.return);var i=a.stateNode;typeof i.componentWillUnmount=="function"&&ug(a,a.return,i),Zn(a);break;case 27:rs(a.stateNode);case 26:case 5:ka(a,a.return),Zn(a);break;case 22:a.memoizedState===null&&Zn(a);break;case 30:Zn(a);break;default:Zn(a)}e=e.sibling}}function hn(e,a,i){for(i=i&&(a.subtreeFlags&8772)!==0,a=a.child;a!==null;){var s=a.alternate,c=e,h=a,y=h.flags;switch(h.tag){case 0:case 11:case 15:hn(c,h,i),Qr(4,h);break;case 1:if(hn(c,h,i),s=h,c=s.stateNode,typeof c.componentDidMount=="function")try{c.componentDidMount()}catch(U){qe(s,s.return,U)}if(s=h,c=s.updateQueue,c!==null){var x=s.stateNode;try{var M=c.shared.hiddenCallbacks;if(M!==null)for(c.shared.hiddenCallbacks=null,c=0;c<M.length;c++)Qp(M[c],x)}catch(U){qe(s,s.return,U)}}i&&y&64&&cg(h),Xr(h,h.return);break;case 27:fg(h);case 26:case 5:hn(c,h,i),i&&s===null&&y&4&&dg(h),Xr(h,h.return);break;case 12:hn(c,h,i);break;case 13:hn(c,h,i),i&&y&4&&vg(c,h);break;case 22:h.memoizedState===null&&hn(c,h,i),Xr(h,h.return);break;case 30:break;default:hn(c,h,i)}a=a.sibling}}function Eu(e,a){var i=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(i=e.memoizedState.cachePool.pool),e=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(e=a.memoizedState.cachePool.pool),e!==i&&(e!=null&&e.refCount++,i!=null&&jr(i))}function Mu(e,a){e=null,a.alternate!==null&&(e=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==e&&(a.refCount++,e!=null&&jr(e))}function Sa(e,a,i,s){if(a.subtreeFlags&10256)for(a=a.child;a!==null;)xg(e,a,i,s),a=a.sibling}function xg(e,a,i,s){var c=a.flags;switch(a.tag){case 0:case 11:case 15:Sa(e,a,i,s),c&2048&&Qr(9,a);break;case 1:Sa(e,a,i,s);break;case 3:Sa(e,a,i,s),c&2048&&(e=null,a.alternate!==null&&(e=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==e&&(a.refCount++,e!=null&&jr(e)));break;case 12:if(c&2048){Sa(e,a,i,s),e=a.stateNode;try{var h=a.memoizedProps,y=h.id,x=h.onPostCommit;typeof x=="function"&&x(y,a.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(M){qe(a,a.return,M)}}else Sa(e,a,i,s);break;case 13:Sa(e,a,i,s);break;case 23:break;case 22:h=a.stateNode,y=a.alternate,a.memoizedState!==null?h._visibility&2?Sa(e,a,i,s):Zr(e,a):h._visibility&2?Sa(e,a,i,s):(h._visibility|=2,Li(e,a,i,s,(a.subtreeFlags&10256)!==0)),c&2048&&Eu(y,a);break;case 24:Sa(e,a,i,s),c&2048&&Mu(a.alternate,a);break;default:Sa(e,a,i,s)}}function Li(e,a,i,s,c){for(c=c&&(a.subtreeFlags&10256)!==0,a=a.child;a!==null;){var h=e,y=a,x=i,M=s,U=y.flags;switch(y.tag){case 0:case 11:case 15:Li(h,y,x,M,c),Qr(8,y);break;case 23:break;case 22:var z=y.stateNode;y.memoizedState!==null?z._visibility&2?Li(h,y,x,M,c):Zr(h,y):(z._visibility|=2,Li(h,y,x,M,c)),c&&U&2048&&Eu(y.alternate,y);break;case 24:Li(h,y,x,M,c),c&&U&2048&&Mu(y.alternate,y);break;default:Li(h,y,x,M,c)}a=a.sibling}}function Zr(e,a){if(a.subtreeFlags&10256)for(a=a.child;a!==null;){var i=e,s=a,c=s.flags;switch(s.tag){case 22:Zr(i,s),c&2048&&Eu(s.alternate,s);break;case 24:Zr(i,s),c&2048&&Mu(s.alternate,s);break;default:Zr(i,s)}a=a.sibling}}var $r=8192;function Hi(e){if(e.subtreeFlags&$r)for(e=e.child;e!==null;)kg(e),e=e.sibling}function kg(e){switch(e.tag){case 26:Hi(e),e.flags&$r&&e.memoizedState!==null&&ZA(oa,e.memoizedState,e.memoizedProps);break;case 5:Hi(e);break;case 3:case 4:var a=oa;oa=zo(e.stateNode.containerInfo),Hi(e),oa=a;break;case 22:e.memoizedState===null&&(a=e.alternate,a!==null&&a.memoizedState!==null?(a=$r,$r=16777216,Hi(e),$r=a):Hi(e));break;default:Hi(e)}}function Sg(e){var a=e.alternate;if(a!==null&&(e=a.child,e!==null)){a.child=null;do a=e.sibling,e.sibling=null,e=a;while(e!==null)}}function Jr(e){var a=e.deletions;if((e.flags&16)!==0){if(a!==null)for(var i=0;i<a.length;i++){var s=a[i];it=s,Tg(s,e)}Sg(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Ag(e),e=e.sibling}function Ag(e){switch(e.tag){case 0:case 11:case 15:Jr(e),e.flags&2048&&un(9,e,e.return);break;case 3:Jr(e);break;case 12:Jr(e);break;case 22:var a=e.stateNode;e.memoizedState!==null&&a._visibility&2&&(e.return===null||e.return.tag!==13)?(a._visibility&=-3,Do(e)):Jr(e);break;default:Jr(e)}}function Do(e){var a=e.deletions;if((e.flags&16)!==0){if(a!==null)for(var i=0;i<a.length;i++){var s=a[i];it=s,Tg(s,e)}Sg(e)}for(e=e.child;e!==null;){switch(a=e,a.tag){case 0:case 11:case 15:un(8,a,a.return),Do(a);break;case 22:i=a.stateNode,i._visibility&2&&(i._visibility&=-3,Do(a));break;default:Do(a)}e=e.sibling}}function Tg(e,a){for(;it!==null;){var i=it;switch(i.tag){case 0:case 11:case 15:un(8,i,a);break;case 23:case 22:if(i.memoizedState!==null&&i.memoizedState.cachePool!==null){var s=i.memoizedState.cachePool.pool;s!=null&&s.refCount++}break;case 24:jr(i.memoizedState.cache)}if(s=i.child,s!==null)s.return=i,it=s;else e:for(i=e;it!==null;){s=it;var c=s.sibling,h=s.return;if(gg(s),s===i){it=null;break e}if(c!==null){c.return=h,it=c;break e}it=h}}}var fA={getCacheForType:function(e){var a=dt(Xe),i=a.data.get(e);return i===void 0&&(i=e(),a.data.set(e,i)),i}},pA=typeof WeakMap=="function"?WeakMap:Map,Re=0,je=null,ke=null,Ae=0,De=0,Vt=null,fn=!1,Bi=!1,Ru=!1,Fa=0,Ie=0,pn=0,$n=0,Du=0,ta=0,zi=0,es=null,At=null,Ou=!1,Nu=0,Oo=1/0,No=null,mn=null,ot=0,gn=null,Ii=null,Fi=0,Vu=0,qu=null,Cg=null,ts=0,ju=null;function qt(){if((Re&2)!==0&&Ae!==0)return Ae&-Ae;if(q.T!==null){var e=Oi;return e!==0?e:zu()}return zf()}function Eg(){ta===0&&(ta=(Ae&536870912)===0||Ce?_f():536870912);var e=ea.current;return e!==null&&(e.flags|=32),ta}function jt(e,a,i){(e===je&&(De===2||De===9)||e.cancelPendingCommit!==null)&&(Wi(e,0),yn(e,Ae,ta,!1)),br(e,i),((Re&2)===0||e!==je)&&(e===je&&((Re&2)===0&&($n|=i),Ie===4&&yn(e,Ae,ta,!1)),Aa(e))}function Mg(e,a,i){if((Re&6)!==0)throw Error(o(327));var s=!i&&(a&124)===0&&(a&e.expiredLanes)===0||vr(e,a),c=s?yA(e,a):_u(e,a,!0),h=s;do{if(c===0){Bi&&!s&&yn(e,a,0,!1);break}else{if(i=e.current.alternate,h&&!mA(i)){c=_u(e,a,!1),h=!1;continue}if(c===2){if(h=a,e.errorRecoveryDisabledLanes&h)var y=0;else y=e.pendingLanes&-536870913,y=y!==0?y:y&536870912?536870912:0;if(y!==0){a=y;e:{var x=e;c=es;var M=x.current.memoizedState.isDehydrated;if(M&&(Wi(x,y).flags|=256),y=_u(x,y,!1),y!==2){if(Ru&&!M){x.errorRecoveryDisabledLanes|=h,$n|=h,c=4;break e}h=At,At=c,h!==null&&(At===null?At=h:At.push.apply(At,h))}c=y}if(h=!1,c!==2)continue}}if(c===1){Wi(e,0),yn(e,a,0,!0);break}e:{switch(s=e,h=c,h){case 0:case 1:throw Error(o(345));case 4:if((a&4194048)!==a)break;case 6:yn(s,a,ta,!fn);break e;case 2:At=null;break;case 3:case 5:break;default:throw Error(o(329))}if((a&62914560)===a&&(c=Nu+300-ba(),10<c)){if(yn(s,a,ta,!fn),zs(s,0,!0)!==0)break e;s.timeoutHandle=ny(Rg.bind(null,s,i,At,No,Ou,a,ta,$n,zi,fn,h,2,-0,0),c);break e}Rg(s,i,At,No,Ou,a,ta,$n,zi,fn,h,0,-0,0)}}break}while(!0);Aa(e)}function Rg(e,a,i,s,c,h,y,x,M,U,z,G,L,H){if(e.timeoutHandle=-1,G=a.subtreeFlags,(G&8192||(G&16785408)===16785408)&&(ls={stylesheets:null,count:0,unsuspend:XA},kg(a),G=$A(),G!==null)){e.cancelPendingCommit=G(Ug.bind(null,e,a,h,i,s,c,y,x,M,z,1,L,H)),yn(e,h,y,!U);return}Ug(e,a,h,i,s,c,y,x,M)}function mA(e){for(var a=e;;){var i=a.tag;if((i===0||i===11||i===15)&&a.flags&16384&&(i=a.updateQueue,i!==null&&(i=i.stores,i!==null)))for(var s=0;s<i.length;s++){var c=i[s],h=c.getSnapshot;c=c.value;try{if(!Rt(h(),c))return!1}catch{return!1}}if(i=a.child,a.subtreeFlags&16384&&i!==null)i.return=a,a=i;else{if(a===e)break;for(;a.sibling===null;){if(a.return===null||a.return===e)return!0;a=a.return}a.sibling.return=a.return,a=a.sibling}}return!0}function yn(e,a,i,s){a&=~Du,a&=~$n,e.suspendedLanes|=a,e.pingedLanes&=~a,s&&(e.warmLanes|=a),s=e.expirationTimes;for(var c=a;0<c;){var h=31-Mt(c),y=1<<h;s[h]=-1,c&=~y}i!==0&&Hf(e,i,a)}function Vo(){return(Re&6)===0?(as(0),!1):!0}function Uu(){if(ke!==null){if(De===0)var e=ke.return;else e=ke,Ua=Gn=null,Jc(e),Pi=null,Gr=0,e=ke;for(;e!==null;)lg(e.alternate,e),e=e.return;ke=null}}function Wi(e,a){var i=e.timeoutHandle;i!==-1&&(e.timeoutHandle=-1,VA(i)),i=e.cancelPendingCommit,i!==null&&(e.cancelPendingCommit=null,i()),Uu(),je=e,ke=i=Va(e.current,null),Ae=a,De=0,Vt=null,fn=!1,Bi=vr(e,a),Ru=!1,zi=ta=Du=$n=pn=Ie=0,At=es=null,Ou=!1,(a&8)!==0&&(a|=a&32);var s=e.entangledLanes;if(s!==0)for(e=e.entanglements,s&=a;0<s;){var c=31-Mt(s),h=1<<c;a|=e[c],s&=~h}return Fa=a,eo(),i}function Dg(e,a){ye=null,q.H=wo,a===Pr||a===co?(a=Yp(),De=3):a===Fp?(a=Yp(),De=4):De=a===Km?8:a!==null&&typeof a=="object"&&typeof a.then=="function"?6:1,Vt=a,ke===null&&(Ie=1,To(e,Xt(a,e.current)))}function Og(){var e=q.H;return q.H=wo,e===null?wo:e}function Ng(){var e=q.A;return q.A=fA,e}function Pu(){Ie=4,fn||(Ae&4194048)!==Ae&&ea.current!==null||(Bi=!0),(pn&134217727)===0&&($n&134217727)===0||je===null||yn(je,Ae,ta,!1)}function _u(e,a,i){var s=Re;Re|=2;var c=Og(),h=Ng();(je!==e||Ae!==a)&&(No=null,Wi(e,a)),a=!1;var y=Ie;e:do try{if(De!==0&&ke!==null){var x=ke,M=Vt;switch(De){case 8:Uu(),y=6;break e;case 3:case 2:case 9:case 6:ea.current===null&&(a=!0);var U=De;if(De=0,Vt=null,Gi(e,x,M,U),i&&Bi){y=0;break e}break;default:U=De,De=0,Vt=null,Gi(e,x,M,U)}}gA(),y=Ie;break}catch(z){Dg(e,z)}while(!0);return a&&e.shellSuspendCounter++,Ua=Gn=null,Re=s,q.H=c,q.A=h,ke===null&&(je=null,Ae=0,eo()),y}function gA(){for(;ke!==null;)Vg(ke)}function yA(e,a){var i=Re;Re|=2;var s=Og(),c=Ng();je!==e||Ae!==a?(No=null,Oo=ba()+500,Wi(e,a)):Bi=vr(e,a);e:do try{if(De!==0&&ke!==null){a=ke;var h=Vt;t:switch(De){case 1:De=0,Vt=null,Gi(e,a,h,1);break;case 2:case 9:if(Wp(h)){De=0,Vt=null,qg(a);break}a=function(){De!==2&&De!==9||je!==e||(De=7),Aa(e)},h.then(a,a);break e;case 3:De=7;break e;case 4:De=5;break e;case 7:Wp(h)?(De=0,Vt=null,qg(a)):(De=0,Vt=null,Gi(e,a,h,7));break;case 5:var y=null;switch(ke.tag){case 26:y=ke.memoizedState;case 5:case 27:var x=ke;if(!y||my(y)){De=0,Vt=null;var M=x.sibling;if(M!==null)ke=M;else{var U=x.return;U!==null?(ke=U,qo(U)):ke=null}break t}}De=0,Vt=null,Gi(e,a,h,5);break;case 6:De=0,Vt=null,Gi(e,a,h,6);break;case 8:Uu(),Ie=6;break e;default:throw Error(o(462))}}vA();break}catch(z){Dg(e,z)}while(!0);return Ua=Gn=null,q.H=s,q.A=c,Re=i,ke!==null?0:(je=null,Ae=0,eo(),Ie)}function vA(){for(;ke!==null&&!Hk();)Vg(ke)}function Vg(e){var a=sg(e.alternate,e,Fa);e.memoizedProps=e.pendingProps,a===null?qo(e):ke=a}function qg(e){var a=e,i=a.alternate;switch(a.tag){case 15:case 0:a=eg(i,a,a.pendingProps,a.type,void 0,Ae);break;case 11:a=eg(i,a,a.pendingProps,a.type.render,a.ref,Ae);break;case 5:Jc(a);default:lg(i,a),a=ke=jp(a,Fa),a=sg(i,a,Fa)}e.memoizedProps=e.pendingProps,a===null?qo(e):ke=a}function Gi(e,a,i,s){Ua=Gn=null,Jc(a),Pi=null,Gr=0;var c=a.return;try{if(oA(e,c,a,i,Ae)){Ie=1,To(e,Xt(i,e.current)),ke=null;return}}catch(h){if(c!==null)throw ke=c,h;Ie=1,To(e,Xt(i,e.current)),ke=null;return}a.flags&32768?(Ce||s===1?e=!0:Bi||(Ae&536870912)!==0?e=!1:(fn=e=!0,(s===2||s===9||s===3||s===6)&&(s=ea.current,s!==null&&s.tag===13&&(s.flags|=16384))),jg(a,e)):qo(a)}function qo(e){var a=e;do{if((a.flags&32768)!==0){jg(a,fn);return}e=a.return;var i=cA(a.alternate,a,Fa);if(i!==null){ke=i;return}if(a=a.sibling,a!==null){ke=a;return}ke=a=e}while(a!==null);Ie===0&&(Ie=5)}function jg(e,a){do{var i=uA(e.alternate,e);if(i!==null){i.flags&=32767,ke=i;return}if(i=e.return,i!==null&&(i.flags|=32768,i.subtreeFlags=0,i.deletions=null),!a&&(e=e.sibling,e!==null)){ke=e;return}ke=e=i}while(e!==null);Ie=6,ke=null}function Ug(e,a,i,s,c,h,y,x,M){e.cancelPendingCommit=null;do jo();while(ot!==0);if((Re&6)!==0)throw Error(o(327));if(a!==null){if(a===e.current)throw Error(o(177));if(h=a.lanes|a.childLanes,h|=Mc,Xk(e,i,h,y,x,M),e===je&&(ke=je=null,Ae=0),Ii=a,gn=e,Fi=i,Vu=h,qu=c,Cg=s,(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,kA(Ls,function(){return Bg(),null})):(e.callbackNode=null,e.callbackPriority=0),s=(a.flags&13878)!==0,(a.subtreeFlags&13878)!==0||s){s=q.T,q.T=null,c=K.p,K.p=2,y=Re,Re|=4;try{dA(e,a,i)}finally{Re=y,K.p=c,q.T=s}}ot=1,Pg(),_g(),Lg()}}function Pg(){if(ot===1){ot=0;var e=gn,a=Ii,i=(a.flags&13878)!==0;if((a.subtreeFlags&13878)!==0||i){i=q.T,q.T=null;var s=K.p;K.p=2;var c=Re;Re|=4;try{bg(a,e);var h=Xu,y=Tp(e.containerInfo),x=h.focusedElem,M=h.selectionRange;if(y!==x&&x&&x.ownerDocument&&Ap(x.ownerDocument.documentElement,x)){if(M!==null&&Sc(x)){var U=M.start,z=M.end;if(z===void 0&&(z=U),"selectionStart"in x)x.selectionStart=U,x.selectionEnd=Math.min(z,x.value.length);else{var G=x.ownerDocument||document,L=G&&G.defaultView||window;if(L.getSelection){var H=L.getSelection(),pe=x.textContent.length,ue=Math.min(M.start,pe),Ve=M.end===void 0?ue:Math.min(M.end,pe);!H.extend&&ue>Ve&&(y=Ve,Ve=ue,ue=y);var O=Sp(x,ue),R=Sp(x,Ve);if(O&&R&&(H.rangeCount!==1||H.anchorNode!==O.node||H.anchorOffset!==O.offset||H.focusNode!==R.node||H.focusOffset!==R.offset)){var j=G.createRange();j.setStart(O.node,O.offset),H.removeAllRanges(),ue>Ve?(H.addRange(j),H.extend(R.node,R.offset)):(j.setEnd(R.node,R.offset),H.addRange(j))}}}}for(G=[],H=x;H=H.parentNode;)H.nodeType===1&&G.push({element:H,left:H.scrollLeft,top:H.scrollTop});for(typeof x.focus=="function"&&x.focus(),x=0;x<G.length;x++){var F=G[x];F.element.scrollLeft=F.left,F.element.scrollTop=F.top}}Yo=!!Qu,Xu=Qu=null}finally{Re=c,K.p=s,q.T=i}}e.current=a,ot=2}}function _g(){if(ot===2){ot=0;var e=gn,a=Ii,i=(a.flags&8772)!==0;if((a.subtreeFlags&8772)!==0||i){i=q.T,q.T=null;var s=K.p;K.p=2;var c=Re;Re|=4;try{mg(e,a.alternate,a)}finally{Re=c,K.p=s,q.T=i}}ot=3}}function Lg(){if(ot===4||ot===3){ot=0,Bk();var e=gn,a=Ii,i=Fi,s=Cg;(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?ot=5:(ot=0,Ii=gn=null,Hg(e,e.pendingLanes));var c=e.pendingLanes;if(c===0&&(mn=null),ac(i),a=a.stateNode,Et&&typeof Et.onCommitFiberRoot=="function")try{Et.onCommitFiberRoot(yr,a,void 0,(a.current.flags&128)===128)}catch{}if(s!==null){a=q.T,c=K.p,K.p=2,q.T=null;try{for(var h=e.onRecoverableError,y=0;y<s.length;y++){var x=s[y];h(x.value,{componentStack:x.stack})}}finally{q.T=a,K.p=c}}(Fi&3)!==0&&jo(),Aa(e),c=e.pendingLanes,(i&4194090)!==0&&(c&42)!==0?e===ju?ts++:(ts=0,ju=e):ts=0,as(0)}}function Hg(e,a){(e.pooledCacheLanes&=a)===0&&(a=e.pooledCache,a!=null&&(e.pooledCache=null,jr(a)))}function jo(e){return Pg(),_g(),Lg(),Bg()}function Bg(){if(ot!==5)return!1;var e=gn,a=Vu;Vu=0;var i=ac(Fi),s=q.T,c=K.p;try{K.p=32>i?32:i,q.T=null,i=qu,qu=null;var h=gn,y=Fi;if(ot=0,Ii=gn=null,Fi=0,(Re&6)!==0)throw Error(o(331));var x=Re;if(Re|=4,Ag(h.current),xg(h,h.current,y,i),Re=x,as(0,!1),Et&&typeof Et.onPostCommitFiberRoot=="function")try{Et.onPostCommitFiberRoot(yr,h)}catch{}return!0}finally{K.p=c,q.T=s,Hg(e,a)}}function zg(e,a,i){a=Xt(i,a),a=fu(e.stateNode,a,2),e=sn(e,a,2),e!==null&&(br(e,2),Aa(e))}function qe(e,a,i){if(e.tag===3)zg(e,e,i);else for(;a!==null;){if(a.tag===3){zg(a,e,i);break}else if(a.tag===1){var s=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof s.componentDidCatch=="function"&&(mn===null||!mn.has(s))){e=Xt(i,e),i=Gm(2),s=sn(a,i,2),s!==null&&(Ym(i,s,a,e),br(s,2),Aa(s));break}}a=a.return}}function Lu(e,a,i){var s=e.pingCache;if(s===null){s=e.pingCache=new pA;var c=new Set;s.set(a,c)}else c=s.get(a),c===void 0&&(c=new Set,s.set(a,c));c.has(i)||(Ru=!0,c.add(i),e=bA.bind(null,e,a,i),a.then(e,e))}function bA(e,a,i){var s=e.pingCache;s!==null&&s.delete(a),e.pingedLanes|=e.suspendedLanes&i,e.warmLanes&=~i,je===e&&(Ae&i)===i&&(Ie===4||Ie===3&&(Ae&62914560)===Ae&&300>ba()-Nu?(Re&2)===0&&Wi(e,0):Du|=i,zi===Ae&&(zi=0)),Aa(e)}function Ig(e,a){a===0&&(a=Lf()),e=Ei(e,a),e!==null&&(br(e,a),Aa(e))}function wA(e){var a=e.memoizedState,i=0;a!==null&&(i=a.retryLane),Ig(e,i)}function xA(e,a){var i=0;switch(e.tag){case 13:var s=e.stateNode,c=e.memoizedState;c!==null&&(i=c.retryLane);break;case 19:s=e.stateNode;break;case 22:s=e.stateNode._retryCache;break;default:throw Error(o(314))}s!==null&&s.delete(a),Ig(e,i)}function kA(e,a){return Yt(e,a)}var Uo=null,Yi=null,Hu=!1,Po=!1,Bu=!1,Jn=0;function Aa(e){e!==Yi&&e.next===null&&(Yi===null?Uo=Yi=e:Yi=Yi.next=e),Po=!0,Hu||(Hu=!0,AA())}function as(e,a){if(!Bu&&Po){Bu=!0;do for(var i=!1,s=Uo;s!==null;){if(e!==0){var c=s.pendingLanes;if(c===0)var h=0;else{var y=s.suspendedLanes,x=s.pingedLanes;h=(1<<31-Mt(42|e)+1)-1,h&=c&~(y&~x),h=h&201326741?h&201326741|1:h?h|2:0}h!==0&&(i=!0,Yg(s,h))}else h=Ae,h=zs(s,s===je?h:0,s.cancelPendingCommit!==null||s.timeoutHandle!==-1),(h&3)===0||vr(s,h)||(i=!0,Yg(s,h));s=s.next}while(i);Bu=!1}}function SA(){Fg()}function Fg(){Po=Hu=!1;var e=0;Jn!==0&&(NA()&&(e=Jn),Jn=0);for(var a=ba(),i=null,s=Uo;s!==null;){var c=s.next,h=Wg(s,a);h===0?(s.next=null,i===null?Uo=c:i.next=c,c===null&&(Yi=i)):(i=s,(e!==0||(h&3)!==0)&&(Po=!0)),s=c}as(e)}function Wg(e,a){for(var i=e.suspendedLanes,s=e.pingedLanes,c=e.expirationTimes,h=e.pendingLanes&-62914561;0<h;){var y=31-Mt(h),x=1<<y,M=c[y];M===-1?((x&i)===0||(x&s)!==0)&&(c[y]=Qk(x,a)):M<=a&&(e.expiredLanes|=x),h&=~x}if(a=je,i=Ae,i=zs(e,e===a?i:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),s=e.callbackNode,i===0||e===a&&(De===2||De===9)||e.cancelPendingCommit!==null)return s!==null&&s!==null&&$a(s),e.callbackNode=null,e.callbackPriority=0;if((i&3)===0||vr(e,i)){if(a=i&-i,a===e.callbackPriority)return a;switch(s!==null&&$a(s),ac(i)){case 2:case 8:i=Uf;break;case 32:i=Ls;break;case 268435456:i=Pf;break;default:i=Ls}return s=Gg.bind(null,e),i=Yt(i,s),e.callbackPriority=a,e.callbackNode=i,a}return s!==null&&s!==null&&$a(s),e.callbackPriority=2,e.callbackNode=null,2}function Gg(e,a){if(ot!==0&&ot!==5)return e.callbackNode=null,e.callbackPriority=0,null;var i=e.callbackNode;if(jo()&&e.callbackNode!==i)return null;var s=Ae;return s=zs(e,e===je?s:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),s===0?null:(Mg(e,s,a),Wg(e,ba()),e.callbackNode!=null&&e.callbackNode===i?Gg.bind(null,e):null)}function Yg(e,a){if(jo())return null;Mg(e,a,!0)}function AA(){qA(function(){(Re&6)!==0?Yt(jf,SA):Fg()})}function zu(){return Jn===0&&(Jn=_f()),Jn}function Kg(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Ys(""+e)}function Qg(e,a){var i=a.ownerDocument.createElement("input");return i.name=a.name,i.value=a.value,e.id&&i.setAttribute("form",e.id),a.parentNode.insertBefore(i,a),e=new FormData(e),i.parentNode.removeChild(i),e}function TA(e,a,i,s,c){if(a==="submit"&&i&&i.stateNode===c){var h=Kg((c[wt]||null).action),y=s.submitter;y&&(a=(a=y[wt]||null)?Kg(a.formAction):y.getAttribute("formAction"),a!==null&&(h=a,y=null));var x=new Zs("action","action",null,s,c);e.push({event:x,listeners:[{instance:null,listener:function(){if(s.defaultPrevented){if(Jn!==0){var M=y?Qg(c,y):new FormData(c);lu(i,{pending:!0,data:M,method:c.method,action:h},null,M)}}else typeof h=="function"&&(x.preventDefault(),M=y?Qg(c,y):new FormData(c),lu(i,{pending:!0,data:M,method:c.method,action:h},h,M))},currentTarget:c}]})}}for(var Iu=0;Iu<Ec.length;Iu++){var Fu=Ec[Iu],CA=Fu.toLowerCase(),EA=Fu[0].toUpperCase()+Fu.slice(1);sa(CA,"on"+EA)}sa(Mp,"onAnimationEnd"),sa(Rp,"onAnimationIteration"),sa(Dp,"onAnimationStart"),sa("dblclick","onDoubleClick"),sa("focusin","onFocus"),sa("focusout","onBlur"),sa(FS,"onTransitionRun"),sa(WS,"onTransitionStart"),sa(GS,"onTransitionCancel"),sa(Op,"onTransitionEnd"),yi("onMouseEnter",["mouseout","mouseover"]),yi("onMouseLeave",["mouseout","mouseover"]),yi("onPointerEnter",["pointerout","pointerover"]),yi("onPointerLeave",["pointerout","pointerover"]),Pn("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Pn("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Pn("onBeforeInput",["compositionend","keypress","textInput","paste"]),Pn("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Pn("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Pn("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ns="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(" "),MA=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(ns));function Xg(e,a){a=(a&4)!==0;for(var i=0;i<e.length;i++){var s=e[i],c=s.event;s=s.listeners;e:{var h=void 0;if(a)for(var y=s.length-1;0<=y;y--){var x=s[y],M=x.instance,U=x.currentTarget;if(x=x.listener,M!==h&&c.isPropagationStopped())break e;h=x,c.currentTarget=U;try{h(c)}catch(z){Ao(z)}c.currentTarget=null,h=M}else for(y=0;y<s.length;y++){if(x=s[y],M=x.instance,U=x.currentTarget,x=x.listener,M!==h&&c.isPropagationStopped())break e;h=x,c.currentTarget=U;try{h(c)}catch(z){Ao(z)}c.currentTarget=null,h=M}}}}function Se(e,a){var i=a[nc];i===void 0&&(i=a[nc]=new Set);var s=e+"__bubble";i.has(s)||(Zg(a,e,2,!1),i.add(s))}function Wu(e,a,i){var s=0;a&&(s|=4),Zg(i,e,s,a)}var _o="_reactListening"+Math.random().toString(36).slice(2);function Gu(e){if(!e[_o]){e[_o]=!0,Ff.forEach(function(i){i!=="selectionchange"&&(MA.has(i)||Wu(i,!1,e),Wu(i,!0,e))});var a=e.nodeType===9?e:e.ownerDocument;a===null||a[_o]||(a[_o]=!0,Wu("selectionchange",!1,a))}}function Zg(e,a,i,s){switch(xy(a)){case 2:var c=tT;break;case 8:c=aT;break;default:c=sd}i=c.bind(null,a,i,e),c=void 0,!pc||a!=="touchstart"&&a!=="touchmove"&&a!=="wheel"||(c=!0),s?c!==void 0?e.addEventListener(a,i,{capture:!0,passive:c}):e.addEventListener(a,i,!0):c!==void 0?e.addEventListener(a,i,{passive:c}):e.addEventListener(a,i,!1)}function Yu(e,a,i,s,c){var h=s;if((a&1)===0&&(a&2)===0&&s!==null)e:for(;;){if(s===null)return;var y=s.tag;if(y===3||y===4){var x=s.stateNode.containerInfo;if(x===c)break;if(y===4)for(y=s.return;y!==null;){var M=y.tag;if((M===3||M===4)&&y.stateNode.containerInfo===c)return;y=y.return}for(;x!==null;){if(y=pi(x),y===null)return;if(M=y.tag,M===5||M===6||M===26||M===27){s=h=y;continue e}x=x.parentNode}}s=s.return}ip(function(){var U=h,z=hc(i),G=[];e:{var L=Np.get(e);if(L!==void 0){var H=Zs,pe=e;switch(e){case"keypress":if(Qs(i)===0)break e;case"keydown":case"keyup":H=kS;break;case"focusin":pe="focus",H=vc;break;case"focusout":pe="blur",H=vc;break;case"beforeblur":case"afterblur":H=vc;break;case"click":if(i.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":H=op;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":H=uS;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":H=TS;break;case Mp:case Rp:case Dp:H=fS;break;case Op:H=ES;break;case"scroll":case"scrollend":H=lS;break;case"wheel":H=RS;break;case"copy":case"cut":case"paste":H=mS;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":H=cp;break;case"toggle":case"beforetoggle":H=OS}var ue=(a&4)!==0,Ve=!ue&&(e==="scroll"||e==="scrollend"),O=ue?L!==null?L+"Capture":null:L;ue=[];for(var R=U,j;R!==null;){var F=R;if(j=F.stateNode,F=F.tag,F!==5&&F!==26&&F!==27||j===null||O===null||(F=kr(R,O),F!=null&&ue.push(is(R,F,j))),Ve)break;R=R.return}0<ue.length&&(L=new H(L,pe,null,i,z),G.push({event:L,listeners:ue}))}}if((a&7)===0){e:{if(L=e==="mouseover"||e==="pointerover",H=e==="mouseout"||e==="pointerout",L&&i!==dc&&(pe=i.relatedTarget||i.fromElement)&&(pi(pe)||pe[fi]))break e;if((H||L)&&(L=z.window===z?z:(L=z.ownerDocument)?L.defaultView||L.parentWindow:window,H?(pe=i.relatedTarget||i.toElement,H=U,pe=pe?pi(pe):null,pe!==null&&(Ve=u(pe),ue=pe.tag,pe!==Ve||ue!==5&&ue!==27&&ue!==6)&&(pe=null)):(H=null,pe=U),H!==pe)){if(ue=op,F="onMouseLeave",O="onMouseEnter",R="mouse",(e==="pointerout"||e==="pointerover")&&(ue=cp,F="onPointerLeave",O="onPointerEnter",R="pointer"),Ve=H==null?L:xr(H),j=pe==null?L:xr(pe),L=new ue(F,R+"leave",H,i,z),L.target=Ve,L.relatedTarget=j,F=null,pi(z)===U&&(ue=new ue(O,R+"enter",pe,i,z),ue.target=j,ue.relatedTarget=Ve,F=ue),Ve=F,H&&pe)t:{for(ue=H,O=pe,R=0,j=ue;j;j=Ki(j))R++;for(j=0,F=O;F;F=Ki(F))j++;for(;0<R-j;)ue=Ki(ue),R--;for(;0<j-R;)O=Ki(O),j--;for(;R--;){if(ue===O||O!==null&&ue===O.alternate)break t;ue=Ki(ue),O=Ki(O)}ue=null}else ue=null;H!==null&&$g(G,L,H,ue,!1),pe!==null&&Ve!==null&&$g(G,Ve,pe,ue,!0)}}e:{if(L=U?xr(U):window,H=L.nodeName&&L.nodeName.toLowerCase(),H==="select"||H==="input"&&L.type==="file")var te=yp;else if(mp(L))if(vp)te=BS;else{te=LS;var xe=_S}else H=L.nodeName,!H||H.toLowerCase()!=="input"||L.type!=="checkbox"&&L.type!=="radio"?U&&uc(U.elementType)&&(te=yp):te=HS;if(te&&(te=te(e,U))){gp(G,te,i,z);break e}xe&&xe(e,L,U),e==="focusout"&&U&&L.type==="number"&&U.memoizedProps.value!=null&&cc(L,"number",L.value)}switch(xe=U?xr(U):window,e){case"focusin":(mp(xe)||xe.contentEditable==="true")&&(Ai=xe,Ac=U,Dr=null);break;case"focusout":Dr=Ac=Ai=null;break;case"mousedown":Tc=!0;break;case"contextmenu":case"mouseup":case"dragend":Tc=!1,Cp(G,i,z);break;case"selectionchange":if(IS)break;case"keydown":case"keyup":Cp(G,i,z)}var le;if(wc)e:{switch(e){case"compositionstart":var fe="onCompositionStart";break e;case"compositionend":fe="onCompositionEnd";break e;case"compositionupdate":fe="onCompositionUpdate";break e}fe=void 0}else Si?fp(e,i)&&(fe="onCompositionEnd"):e==="keydown"&&i.keyCode===229&&(fe="onCompositionStart");fe&&(up&&i.locale!=="ko"&&(Si||fe!=="onCompositionStart"?fe==="onCompositionEnd"&&Si&&(le=rp()):(tn=z,mc="value"in tn?tn.value:tn.textContent,Si=!0)),xe=Lo(U,fe),0<xe.length&&(fe=new lp(fe,e,null,i,z),G.push({event:fe,listeners:xe}),le?fe.data=le:(le=pp(i),le!==null&&(fe.data=le)))),(le=VS?qS(e,i):jS(e,i))&&(fe=Lo(U,"onBeforeInput"),0<fe.length&&(xe=new lp("onBeforeInput","beforeinput",null,i,z),G.push({event:xe,listeners:fe}),xe.data=le)),TA(G,e,U,i,z)}Xg(G,a)})}function is(e,a,i){return{instance:e,listener:a,currentTarget:i}}function Lo(e,a){for(var i=a+"Capture",s=[];e!==null;){var c=e,h=c.stateNode;if(c=c.tag,c!==5&&c!==26&&c!==27||h===null||(c=kr(e,i),c!=null&&s.unshift(is(e,c,h)),c=kr(e,a),c!=null&&s.push(is(e,c,h))),e.tag===3)return s;e=e.return}return[]}function Ki(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function $g(e,a,i,s,c){for(var h=a._reactName,y=[];i!==null&&i!==s;){var x=i,M=x.alternate,U=x.stateNode;if(x=x.tag,M!==null&&M===s)break;x!==5&&x!==26&&x!==27||U===null||(M=U,c?(U=kr(i,h),U!=null&&y.unshift(is(i,U,M))):c||(U=kr(i,h),U!=null&&y.push(is(i,U,M)))),i=i.return}y.length!==0&&e.push({event:a,listeners:y})}var RA=/\r\n?/g,DA=/\u0000|\uFFFD/g;function Jg(e){return(typeof e=="string"?e:""+e).replace(RA,`
10`).replace(DA,"")}function ey(e,a){return a=Jg(a),Jg(e)===a}function Ho(){}function Ne(e,a,i,s,c,h){switch(i){case"children":typeof s=="string"?a==="body"||a==="textarea"&&s===""||wi(e,s):(typeof s=="number"||typeof s=="bigint")&&a!=="body"&&wi(e,""+s);break;case"className":Fs(e,"class",s);break;case"tabIndex":Fs(e,"tabindex",s);break;case"dir":case"role":case"viewBox":case"width":case"height":Fs(e,i,s);break;case"style":ap(e,s,h);break;case"data":if(a!=="object"){Fs(e,"data",s);break}case"src":case"href":if(s===""&&(a!=="a"||i!=="href")){e.removeAttribute(i);break}if(s==null||typeof s=="function"||typeof s=="symbol"||typeof s=="boolean"){e.removeAttribute(i);break}s=Ys(""+s),e.setAttribute(i,s);break;case"action":case"formAction":if(typeof s=="function"){e.setAttribute(i,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof h=="function"&&(i==="formAction"?(a!=="input"&&Ne(e,a,"name",c.name,c,null),Ne(e,a,"formEncType",c.formEncType,c,null),Ne(e,a,"formMethod",c.formMethod,c,null),Ne(e,a,"formTarget",c.formTarget,c,null)):(Ne(e,a,"encType",c.encType,c,null),Ne(e,a,"method",c.method,c,null),Ne(e,a,"target",c.target,c,null)));if(s==null||typeof s=="symbol"||typeof s=="boolean"){e.removeAttribute(i);break}s=Ys(""+s),e.setAttribute(i,s);break;case"onClick":s!=null&&(e.onclick=Ho);break;case"onScroll":s!=null&&Se("scroll",e);break;case"onScrollEnd":s!=null&&Se("scrollend",e);break;case"dangerouslySetInnerHTML":if(s!=null){if(typeof s!="object"||!("__html"in s))throw Error(o(61));if(i=s.__html,i!=null){if(c.children!=null)throw Error(o(60));e.innerHTML=i}}break;case"multiple":e.multiple=s&&typeof s!="function"&&typeof s!="symbol";break;case"muted":e.muted=s&&typeof s!="function"&&typeof s!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(s==null||typeof s=="function"||typeof s=="boolean"||typeof s=="symbol"){e.removeAttribute("xlink:href");break}i=Ys(""+s),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",i);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":s!=null&&typeof s!="function"&&typeof s!="symbol"?e.setAttribute(i,""+s):e.removeAttribute(i);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInl
10ine":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":s&&typeof s!="function"&&typeof s!="symbol"?e.setAttribute(i,""):e.removeAttribute(i);break;case"capture":case"download":s===!0?e.setAttribute(i,""):s!==!1&&s!=null&&typeof s!="function"&&typeof s!="symbol"?e.setAttribute(i,s):e.removeAttribute(i);break;case"cols":case"rows":case"size":case"span":s!=null&&typeof s!="function"&&typeof s!="symbol"&&!isNaN(s)&&1<=s?e.setAttribute(i,s):e.removeAttribute(i);break;case"rowSpan":case"start":s==null||typeof s=="function"||typeof s=="symbol"||isNaN(s)?e.removeAttribute(i):e.setAttribute(i,s);break;case"popover":Se("beforetoggle",e),Se("toggle",e),Is(e,"popover",s);break;case"xlinkActuate":Oa(e,"http://www.w3.org/1999/xlink","xlink:actuate",s);break;case"xlinkArcrole":Oa(e,"http://www.w3.org/1999/xlink","xlink:arcrole",s);break;case"xlinkRole":Oa(e,"http://www.w3.org/1999/xlink","xlink:role",s);break;case"xlinkShow":Oa(e,"http://www.w3.org/1999/xlink","xlink:show",s);break;case"xlinkTitle":Oa(e,"http://www.w3.org/1999/xlink","xlink:title",s);break;case"xlinkType":Oa(e,"http://www.w3.org/1999/xlink","xlink:type",s);break;case"xmlBase":Oa(e,"http://www.w3.org/XML/1998/namespace","xml:base",s);break;case"xmlLang":Oa(e,"http://www.w3.org/XML/1998/namespace","xml:lang",s);break;case"xmlSpace":Oa(e,"http://www.w3.org/XML/1998/namespace","xml:space",s);break;case"is":Is(e,"is",s);break;case"innerText":case"textContent":break;default:(!(2<i.length)||i[0]!=="o"&&i[0]!=="O"||i[1]!=="n"&&i[1]!=="N")&&(i=sS.get(i)||i,Is(e,i,s))}}function Ku(e,a,i,s,c,h){switch(i){case"style":ap(e,s,h);break;case"dangerouslySetInnerHTML":if(s!=null){if(typeof s!="object"||!("__html"in s))throw Error(o(61));if(i=s.__html,i!=null){if(c.children!=null)throw Error(o(60));e.innerHTML=i}}break;case"children":typeof s=="string"?wi(e,s):(typeof s=="number"||typeof s=="bigint")&&wi(e,""+s);break;case"onScroll":s!=null&&Se("scroll",e);break;case"onScrollEnd":s!=null&&Se("scrollend",e);break;case"onClick":s!=null&&(e.onclick=Ho);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Wf.hasOwnProperty(i))e:{if(i[0]==="o"&&i[1]==="n"&&(c=i.endsWith("Capture"),a=i.slice(2,c?i.length-7:void 0),h=e[wt]||null,h=h!=null?h[i]:null,typeof h=="function"&&e.removeEventListener(a,h,c),typeof s=="function")){typeof h!="function"&&h!==null&&(i in e?e[i]=null:e.hasAttribute(i)&&e.removeAttribute(i)),e.addEventListener(a,s,c);break e}i in e?e[i]=s:s===!0?e.setAttribute(i,""):Is(e,i,s)}}}function lt(e,a,i){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Se("error",e),Se("load",e);var s=!1,c=!1,h;for(h in i)if(i.hasOwnProperty(h)){var y=i[h];if(y!=null)switch(h){case"src":s=!0;break;case"srcSet":c=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(o(137,a));default:Ne(e,a,h,y,i,null)}}c&&Ne(e,a,"srcSet",i.srcSet,i,null),s&&Ne(e,a,"src",i.src,i,null);return;case"input":Se("invalid",e);var x=h=y=c=null,M=null,U=null;for(s in i)if(i.hasOwnProperty(s)){var z=i[s];if(z!=null)switch(s){case"name":c=z;break;case"type":y=z;break;case"checked":M=z;break;case"defaultChecked":U=z;break;case"value":h=z;break;case"defaultValue":x=z;break;case"children":case"dangerouslySetInnerHTML":if(z!=null)throw Error(o(137,a));break;default:Ne(e,a,s,z,i,null)}}$f(e,h,x,M,U,y,c,!1),Ws(e);return;case"select":Se("invalid",e),s=y=h=null;for(c in i)if(i.hasOwnProperty(c)&&(x=i[c],x!=null))switch(c){case"value":h=x;break;case"defaultValue":y=x;break;case"multiple":s=x;default:Ne(e,a,c,x,i,null)}a=h,i=y,e.multiple=!!s,a!=null?bi(e,!!s,a,!1):i!=null&&bi(e,!!s,i,!0);return;case"textarea":Se("invalid",e),h=c=s=null;for(y in i)if(i.hasOwnProperty(y)&&(x=i[y],x!=null))switch(y){case"value":s=x;break;case"defaultValue":c=x;break;case"children":h=x;break;case"dangerouslySetInnerHTML":if(x!=null)throw Error(o(91));break;default:Ne(e,a,y,x,i,null)}ep(e,s,c,h),Ws(e);return;case"option":for(M in i)i.hasOwnProperty(M)&&(s=i[M],s!=null)&&(M==="selected"?e.selected=s&&typeof s!="function"&&typeof s!="symbol":Ne(e,a,M,s,i,null));return;case"dialog":Se("beforetoggle",e),Se("toggle",e),Se("cancel",e),Se("close",e);break;case"iframe":case"object":Se("load",e);break;case"video":case"audio":for(s=0;s<ns.length;s++)Se(ns[s],e);break;case"image":Se("error",e),Se("load",e);break;case"details":Se("toggle",e);break;case"embed":case"source":case"link":Se("error",e),Se("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(U in i)if(i.hasOwnProperty(U)&&(s=i[U],s!=null))switch(U){case"children":case"dangerouslySetInnerHTML":throw Error(o(137,a));default:Ne(e,a,U,s,i,null)}return;default:if(uc(a)){for(z in i)i.hasOwnProperty(z)&&(s=i[z],s!==void 0&&Ku(e,a,z,s,i,void 0));return}}for(x in i)i.hasOwnProperty(x)&&(s=i[x],s!=null&&Ne(e,a,x,s,i,null))}function OA(e,a,i,s){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var c=null,h=null,y=null,x=null,M=null,U=null,z=null;for(H in i){var G=i[H];if(i.hasOwnProperty(H)&&G!=null)switch(H){case"checked":break;case"value":break;case"defaultValue":M=G;default:s.hasOwnProperty(H)||Ne(e,a,H,null,s,G)}}for(var L in s){var H=s[L];if(G=i[L],s.hasOwnProperty(L)&&(H!=null||G!=null))switch(L){case"type":h=H;break;case"name":c=H;break;case"checked":U=H;break;case"defaultChecked":z=H;break;case"value":y=H;break;case"defaultValue":x=H;break;case"children":case"dangerouslySetInnerHTML":if(H!=null)throw Error(o(137,a));break;default:H!==G&&Ne(e,a,L,H,s,G)}}lc(e,y,x,M,U,z,h,c);return;case"select":H=y=x=L=null;for(h in i)if(M=i[h],i.hasOwnProperty(h)&&M!=null)switch(h){case"value":break;case"multiple":H=M;default:s.hasOwnProperty(h)||Ne(e,a,h,null,s,M)}for(c in s)if(h=s[c],M=i[c],s.hasOwnProperty(c)&&(h!=null||M!=null))switch(c){case"value":L=h;break;case"defaultValue":x=h;break;case"multiple":y=h;default:h!==M&&Ne(e,a,c,h,s,M)}a=x,i=y,s=H,L!=null?bi(e,!!i,L,!1):!!s!=!!i&&(a!=null?bi(e,!!i,a,!0):bi(e,!!i,i?[]:"",!1));return;case"textarea":H=L=null;for(x in i)if(c=i[x],i.hasOwnProperty(x)&&c!=null&&!s.hasOwnProperty(x))switch(x){case"value":break;case"children":break;default:Ne(e,a,x,null,s,c)}for(y in s)if(c=s[y],h=i[y],s.hasOwnProperty(y)&&(c!=null||h!=null))switch(y){case"value":L=c;break;case"defaultValue":H=c;break;case"children":break;case"dangerouslySetInnerHTML":if(c!=null)throw Error(o(91));break;default:c!==h&&Ne(e,a,y,c,s,h)}Jf(e,L,H);return;case"option":for(var pe in i)L=i[pe],i.hasOwnProperty(pe)&&L!=null&&!s.hasOwnProperty(pe)&&(pe==="selected"?e.selected=!1:Ne(e,a,pe,null,s,L));for(M in s)L=s[M],H=i[M],s.hasOwnProperty(M)&&L!==H&&(L!=null||H!=null)&&(M==="selected"?e.selected=L&&typeof L!="function"&&typeof L!="symbol":Ne(e,a,M,L,s,H));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var ue in i)L=i[ue],i.hasOwnProperty(ue)&&L!=null&&!s.hasOwnProperty(ue)&&Ne(e,a,ue,null,s,L);for(U in s)if(L=s[U],H=i[U],s.hasOwnProperty(U)&&L!==H&&(L!=null||H!=null))switch(U){case"children":case"dangerouslySetInnerHTML":if(L!=null)throw Error(o(137,a));break;default:Ne(e,a,U,L,s,H)}return;
vendor: 4,847 bytes, line 10
10default:if(uc(a)){for(var Ve in i)L=i[Ve],i.hasOwnProperty(Ve)&&L!==void 0&&!s.hasOwnProperty(Ve)&&Ku(e,a,Ve,void 0,s,L);for(z in s)L=s[z],H=i[z],!s.hasOwnProperty(z)||L===H||L===void 0&&H===void 0||Ku(e,a,z,L,s,H);return}}for(var O in i)L=i[O],i.hasOwnProperty(O)&&L!=null&&!s.hasOwnProperty(O)&&Ne(e,a,O,null,s,L);for(G in s)L=s[G],H=i[G],!s.hasOwnProperty(G)||L===H||L==null&&H==null||Ne(e,a,G,L,s,H)}var Qu=null,Xu=null;function Bo(e){return e.nodeType===9?e:e.ownerDocument}function ty(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function ay(e,a){if(e===0)switch(a){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&a==="foreignObject"?0:e}function Zu(e,a){return e==="textarea"||e==="noscript"||typeof a.children=="string"||typeof a.children=="number"||typeof a.children=="bigint"||typeof a.dangerouslySetInnerHTML=="object"&&a.dangerouslySetInnerHTML!==null&&a.dangerouslySetInnerHTML.__html!=null}var $u=null;function NA(){var e=window.event;return e&&e.type==="popstate"?e===$u?!1:($u=e,!0):($u=null,!1)}var ny=typeof setTimeout=="function"?setTimeout:void 0,VA=typeof clearTimeout=="function"?clearTimeout:void 0,iy=typeof Promise=="function"?Promise:void 0,qA=typeof queueMicrotask=="function"?queueMicrotask:typeof iy<"u"?function(e){return iy.resolve(null).then(e).catch(jA)}:ny;function jA(e){setTimeout(function(){throw e})}function vn(e){return e==="head"}function ry(e,a){var i=a,s=0,c=0;do{var h=i.nextSibling;if(e.removeChild(i),h&&h.nodeType===8)if(i=h.data,i==="/$"){if(0<s&&8>s){i=s;var y=e.ownerDocument;if(i&1&&rs(y.documentElement),i&2&&rs(y.body),i&4)for(i=y.head,rs(i),y=i.firstChild;y;){var x=y.nextSibling,M=y.nodeName;y[wr]||M==="SCRIPT"||M==="STYLE"||M==="LINK"&&y.rel.toLowerCase()==="stylesheet"||i.removeChild(y),y=x}}if(c===0){e.removeChild(h),fs(a);return}c--}else i==="$"||i==="$?"||i==="$!"?c++:s=i.charCodeAt(0)-48;else s=0;i=h}while(i);fs(a)}function Ju(e){var a=e.firstChild;for(a&&a.nodeType===10&&(a=a.nextSibling);a;){var i=a;switch(a=a.nextSibling,i.nodeName){case"HTML":case"HEAD":case"BODY":Ju(i),ic(i);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(i.rel.toLowerCase()==="stylesheet")continue}e.removeChild(i)}}function UA(e,a,i,s){for(;e.nodeType===1;){var c=i;if(e.nodeName.toLowerCase()!==a.toLowerCase()){if(!s&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(s){if(!e[wr])switch(a){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(h=e.getAttribute("rel"),h==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(h!==c.rel||e.getAttribute("href")!==(c.href==null||c.href===""?null:c.href)||e.getAttribute("crossorigin")!==(c.crossOrigin==null?null:c.crossOrigin)||e.getAttribute("title")!==(c.title==null?null:c.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(h=e.getAttribute("src"),(h!==(c.src==null?null:c.src)||e.getAttribute("type")!==(c.type==null?null:c.type)||e.getAttribute("crossorigin")!==(c.crossOrigin==null?null:c.crossOrigin))&&h&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(a==="input"&&e.type==="hidden"){var h=c.name==null?null:""+c.name;if(c.type==="hidden"&&e.getAttribute("name")===h)return e}else return e;if(e=la(e.nextSibling),e===null)break}return null}function PA(e,a,i){if(a==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!i||(e=la(e.nextSibling),e===null))return null;return e}function ed(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState==="complete"}function _A(e,a){var i=e.ownerDocument;if(e.data!=="$?"||i.readyState==="complete")a();else{var s=function(){a(),i.removeEventListener("DOMContentLoaded",s)};i.addEventListener("DOMContentLoaded",s),e._reactRetry=s}}function la(e){for(;e!=null;e=e.nextSibling){var a=e.nodeType;if(a===1||a===3)break;if(a===8){if(a=e.data,a==="$"||a==="$!"||a==="$?"||a==="F!"||a==="F")break;if(a==="/$")return null}}return e}var td=null;function sy(e){e=e.previousSibling;for(var a=0;e;){if(e.nodeType===8){var i=e.data;if(i==="$"||i==="$!"||i==="$?"){if(a===0)return e;a--}else i==="/$"&&a++}e=e.previousSibling}return null}function oy(e,a,i){switch(a=Bo(i),e){case"html":if(e=a.documentElement,!e)throw Error(o(452));return e;case"head":if(e=a.head,!e)throw Error(o(453));return e;case"body":if(e=a.body,!e)throw Error(o(454));return e;default:throw Error(o(451))}}function rs(e){for(var a=e.attributes;a.length;)e.removeAttributeNode(a[0]);ic(e)}var aa=new Map,ly=new Set;function zo(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Wa=K.d;K.d={f:LA,r:HA,D:BA,C:zA,L:IA,m:FA,X:GA,S:WA,M:YA};function LA(){var e=Wa.f(),a=Vo();return e||a}function HA(e){var a=mi(e);
vendor: 4,713 bytes, line 10
10a!==null&&a.tag===5&&a.type==="form"?Mm(a):Wa.r(e)}var Qi=typeof document>"u"?null:document;function cy(e,a,i){var s=Qi;if(s&&typeof a=="string"&&a){var c=Qt(a);c='link[rel="'+e+'"][href="'+c+'"]',typeof i=="string"&&(c+='[crossorigin="'+i+'"]'),ly.has(c)||(ly.add(c),e={rel:e,crossOrigin:i,href:a},s.querySelector(c)===null&&(a=s.createElement("link"),lt(a,"link",e),at(a),s.head.appendChild(a)))}}function BA(e){Wa.D(e),cy("dns-prefetch",e,null)}function zA(e,a){Wa.C(e,a),cy("preconnect",e,a)}function IA(e,a,i){Wa.L(e,a,i);var s=Qi;if(s&&e&&a){var c='link[rel="preload"][as="'+Qt(a)+'"]';a==="image"&&i&&i.imageSrcSet?(c+='[imagesrcset="'+Qt(i.imageSrcSet)+'"]',typeof i.imageSizes=="string"&&(c+='[imagesizes="'+Qt(i.imageSizes)+'"]')):c+='[href="'+Qt(e)+'"]';var h=c;switch(a){case"style":h=Xi(e);break;case"script":h=Zi(e)}aa.has(h)||(e=g({rel:"preload",href:a==="image"&&i&&i.imageSrcSet?void 0:e,as:a},i),aa.set(h,e),s.querySelector(c)!==null||a==="style"&&s.querySelector(ss(h))||a==="script"&&s.querySelector(os(h))||(a=s.createElement("link"),lt(a,"link",e),at(a),s.head.appendChild(a)))}}function FA(e,a){Wa.m(e,a);var i=Qi;if(i&&e){var s=a&&typeof a.as=="string"?a.as:"script",c='link[rel="modulepreload"][as="'+Qt(s)+'"][href="'+Qt(e)+'"]',h=c;switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":h=Zi(e)}if(!aa.has(h)&&(e=g({rel:"modulepreload",href:e},a),aa.set(h,e),i.querySelector(c)===null)){switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(i.querySelector(os(h)))return}s=i.createElement("link"),lt(s,"link",e),at(s),i.head.appendChild(s)}}}function WA(e,a,i){Wa.S(e,a,i);var s=Qi;if(s&&e){var c=gi(s).hoistableStyles,h=Xi(e);a=a||"default";var y=c.get(h);if(!y){var x={loading:0,preload:null};if(y=s.querySelector(ss(h)))x.loading=5;else{e=g({rel:"stylesheet",href:e,"data-precedence":a},i),(i=aa.get(h))&&ad(e,i);var M=y=s.createElement("link");at(M),lt(M,"link",e),M._p=new Promise(function(U,z){M.onload=U,M.onerror=z}),M.addEventListener("load",function(){x.loading|=1}),M.addEventListener("error",function(){x.loading|=2}),x.loading|=4,Io(y,a,s)}y={type:"stylesheet",instance:y,count:1,state:x},c.set(h,y)}}}function GA(e,a){Wa.X(e,a);var i=Qi;if(i&&e){var s=gi(i).hoistableScripts,c=Zi(e),h=s.get(c);h||(h=i.querySelector(os(c)),h||(e=g({src:e,async:!0},a),(a=aa.get(c))&&nd(e,a),h=i.createElement("script"),at(h),lt(h,"link",e),i.head.appendChild(h)),h={type:"script",instance:h,count:1,state:null},s.set(c,h))}}function YA(e,a){Wa.M(e,a);var i=Qi;if(i&&e){var s=gi(i).hoistableScripts,c=Zi(e),h=s.get(c);h||(h=i.querySelector(os(c)),h||(e=g({src:e,async:!0,type:"module"},a),(a=aa.get(c))&&nd(e,a),h=i.createElement("script"),at(h),lt(h,"link",e),i.head.appendChild(h)),h={type:"script",instance:h,count:1,state:null},s.set(c,h))}}function uy(e,a,i,s){var c=(c=re.current)?zo(c):null;if(!c)throw Error(o(446));switch(e){case"meta":case"title":return null;case"style":return typeof i.precedence=="string"&&typeof i.href=="string"?(a=Xi(i.href),i=gi(c).hoistableStyles,s=i.get(a),s||(s={type:"style",instance:null,count:0,state:null},i.set(a,s)),s):{type:"void",instance:null,count:0,state:null};case"link":if(i.rel==="stylesheet"&&typeof i.href=="string"&&typeof i.precedence=="string"){e=Xi(i.href);var h=gi(c).hoistableStyles,y=h.get(e);if(y||(c=c.ownerDocument||c,y={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},h.set(e,y),(h=c.querySelector(ss(e)))&&!h._p&&(y.instance=h,y.state.loading=5),aa.has(e)||(i={rel:"preload",as:"style",href:i.href,crossOrigin:i.crossOrigin,integrity:i.integrity,media:i.media,hrefLang:i.hrefLang,referrerPolicy:i.referrerPolicy},aa.set(e,i),h||KA(c,e,i,y.state))),a&&s===null)throw Error(o(528,""));return y}if(a&&s!==null)throw Error(o(529,""));return null;case"script":return a=i.async,i=i.src,typeof i=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(a=Zi(i),i=gi(c).hoistableScripts,s=i.get(a),s||(s={type:"script",instance:null,count:0,state:null},i.set(a,s)),s):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,e))}}function Xi(e){return'href="'+Qt(e)+'"'}function ss(e){return'link[rel="stylesheet"]['+e+"]"}function dy(e){return g({},e,{"data-precedence":e.precedence,precedence:null})}function KA(e,a,i,s){e.querySelector('link[rel="preload"][as="style"]['+a+"]")?s.loading=1:(a=e.createElement("link"),s.preload=a,a.addEventListener("load",function(){return s.loading|=1}),a.addEventListener("error",function(){return s.loading|=2}),lt(a,"link",i),at(a),e.head.appendChild(a))}function Zi(e){return'[src="'+Qt(e)+'"]'}function os(e){return"script[async]"+e}
vendor: 11,000 bytes, line 10
10function hy(e,a,i){if(a.count++,a.instance===null)switch(a.type){case"style":var s=e.querySelector('style[data-href~="'+Qt(i.href)+'"]');if(s)return a.instance=s,at(s),s;var c=g({},i,{"data-href":i.href,"data-precedence":i.precedence,href:null,precedence:null});return s=(e.ownerDocument||e).createElement("style"),at(s),lt(s,"style",c),Io(s,i.precedence,e),a.instance=s;case"stylesheet":c=Xi(i.href);var h=e.querySelector(ss(c));if(h)return a.state.loading|=4,a.instance=h,at(h),h;s=dy(i),(c=aa.get(c))&&ad(s,c),h=(e.ownerDocument||e).createElement("link"),at(h);var y=h;return y._p=new Promise(function(x,M){y.onload=x,y.onerror=M}),lt(h,"link",s),a.state.loading|=4,Io(h,i.precedence,e),a.instance=h;case"script":return h=Zi(i.src),(c=e.querySelector(os(h)))?(a.instance=c,at(c),c):(s=i,(c=aa.get(h))&&(s=g({},i),nd(s,c)),e=e.ownerDocument||e,c=e.createElement("script"),at(c),lt(c,"link",s),e.head.appendChild(c),a.instance=c);case"void":return null;default:throw Error(o(443,a.type))}else a.type==="stylesheet"&&(a.state.loading&4)===0&&(s=a.instance,a.state.loading|=4,Io(s,i.precedence,e));return a.instance}function Io(e,a,i){for(var s=i.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),c=s.length?s[s.length-1]:null,h=c,y=0;y<s.length;y++){var x=s[y];if(x.dataset.precedence===a)h=x;else if(h!==c)break}h?h.parentNode.insertBefore(e,h.nextSibling):(a=i.nodeType===9?i.head:i,a.insertBefore(e,a.firstChild))}function ad(e,a){e.crossOrigin==null&&(e.crossOrigin=a.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=a.referrerPolicy),e.title==null&&(e.title=a.title)}function nd(e,a){e.crossOrigin==null&&(e.crossOrigin=a.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=a.referrerPolicy),e.integrity==null&&(e.integrity=a.integrity)}var Fo=null;function fy(e,a,i){if(Fo===null){var s=new Map,c=Fo=new Map;c.set(i,s)}else c=Fo,s=c.get(i),s||(s=new Map,c.set(i,s));if(s.has(e))return s;for(s.set(e,null),i=i.getElementsByTagName(e),c=0;c<i.length;c++){var h=i[c];if(!(h[wr]||h[ut]||e==="link"&&h.getAttribute("rel")==="stylesheet")&&h.namespaceURI!=="http://www.w3.org/2000/svg"){var y=h.getAttribute(a)||"";y=e+y;var x=s.get(y);x?x.push(h):s.set(y,[h])}}return s}function py(e,a,i){e=e.ownerDocument||e,e.head.insertBefore(i,a==="title"?e.querySelector("head > title"):null)}function QA(e,a,i){if(i===1||a.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof a.precedence!="string"||typeof a.href!="string"||a.href==="")break;return!0;case"link":if(typeof a.rel!="string"||typeof a.href!="string"||a.href===""||a.onLoad||a.onError)break;return a.rel==="stylesheet"?(e=a.disabled,typeof a.precedence=="string"&&e==null):!0;case"script":if(a.async&&typeof a.async!="function"&&typeof a.async!="symbol"&&!a.onLoad&&!a.onError&&a.src&&typeof a.src=="string")return!0}return!1}function my(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}var ls=null;function XA(){}function ZA(e,a,i){if(ls===null)throw Error(o(475));var s=ls;if(a.type==="stylesheet"&&(typeof i.media!="string"||matchMedia(i.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var c=Xi(i.href),h=e.querySelector(ss(c));if(h){e=h._p,e!==null&&typeof e=="object"&&typeof e.then=="function"&&(s.count++,s=Wo.bind(s),e.then(s,s)),a.state.loading|=4,a.instance=h,at(h);return}h=e.ownerDocument||e,i=dy(i),(c=aa.get(c))&&ad(i,c),h=h.createElement("link"),at(h);var y=h;y._p=new Promise(function(x,M){y.onload=x,y.onerror=M}),lt(h,"link",i),a.instance=h}s.stylesheets===null&&(s.stylesheets=new Map),s.stylesheets.set(a,e),(e=a.state.preload)&&(a.state.loading&3)===0&&(s.count++,a=Wo.bind(s),e.addEventListener("load",a),e.addEventListener("error",a))}}function $A(){if(ls===null)throw Error(o(475));var e=ls;return e.stylesheets&&e.count===0&&id(e,e.stylesheets),0<e.count?function(a){var i=setTimeout(function(){if(e.stylesheets&&id(e,e.stylesheets),e.unsuspend){var s=e.unsuspend;e.unsuspend=null,s()}},6e4);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(i)}}:null}function Wo(){if(this.count--,this.count===0){if(this.stylesheets)id(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Go=null;function id(e,a){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Go=new Map,a.forEach(JA,e),Go=null,Wo.call(e))}function JA(e,a){if(!(a.state.loading&4)){var i=Go.get(e);if(i)var s=i.get(null);else{i=new Map,Go.set(e,i);for(var c=e.querySelectorAll("link[data-precedence],style[data-precedence]"),h=0;h<c.length;h++){var y=c[h];(y.nodeName==="LINK"||y.getAttribute("media")!=="not all")&&(i.set(y.dataset.precedence,y),s=y)}s&&i.set(null,s)}c=a.instance,y=c.getAttribute("data-precedence"),h=i.get(y)||s,h===s&&i.set(null,c),i.set(y,c),this.count++,s=Wo.bind(this),c.addEventListener("load",s),c.addEventListener("error",s),h?h.parentNode.insertBefore(c,h.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(c,e.firstChild)),a.state.loading|=4}}var cs={$$typeof:N,Provider:null,Consumer:null,_currentValue:W,_currentValue2:W,_threadCount:0};function eT(e,a,i,s,c,h,y,x){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=ec(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ec(0),this.hiddenUpdates=ec(null),this.identifierPrefix=s,this.onUncaughtError=c,this.onCaughtError=h,this.onRecoverableError=y,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=x,this.incompleteTransitions=new Map}function gy(e,a,i,s,c,h,y,x,M,U,z,G){return e=new eT(e,a,i,y,x,M,U,G),a=1,h===!0&&(a|=24),h=Dt(3,null,null,a),e.current=h,h.stateNode=e,a=Lc(),a.refCount++,e.pooledCache=a,a.refCount++,h.memoizedState={element:s,isDehydrated:i,cache:a},Ic(h),e}function yy(e){return e?(e=Mi,e):Mi}function vy(e,a,i,s,c,h){c=yy(c),s.context===null?s.context=c:s.pendingContext=c,s=rn(a),s.payload={element:i},h=h===void 0?null:h,h!==null&&(s.callback=h),i=sn(e,s,a),i!==null&&(jt(i,e,a),Lr(i,e,a))}function by(e,a){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var i=e.retryLane;e.retryLane=i!==0&&i<a?i:a}}function rd(e,a){by(e,a),(e=e.alternate)&&by(e,a)}function wy(e){if(e.tag===13){var a=Ei(e,67108864);a!==null&&jt(a,e,67108864),rd(e,67108864)}}var Yo=!0;function tT(e,a,i,s){var c=q.T;q.T=null;var h=K.p;try{K.p=2,sd(e,a,i,s)}finally{K.p=h,q.T=c}}function aT(e,a,i,s){var c=q.T;q.T=null;var h=K.p;try{K.p=8,sd(e,a,i,s)}finally{K.p=h,q.T=c}}function sd(e,a,i,s){if(Yo){var c=od(s);if(c===null)Yu(e,a,s,Ko,i),ky(e,s);else if(iT(c,e,a,i,s))s.stopPropagation();else if(ky(e,s),a&4&&-1<nT.indexOf(e)){for(;c!==null;){var h=mi(c);if(h!==null)switch(h.tag){case 3:if(h=h.stateNode,h.current.memoizedState.isDehydrated){var y=Un(h.pendingLanes);if(y!==0){var x=h;for(x.pendingLanes|=2,x.entangledLanes|=2;y;){var M=1<<31-Mt(y);x.entanglements[1]|=M,y&=~M}Aa(h),(Re&6)===0&&(Oo=ba()+500,as(0))}}break;case 13:x=Ei(h,2),x!==null&&jt(x,h,2),Vo(),rd(h,2)}if(h=od(s),h===null&&Yu(e,a,s,Ko,i),h===c)break;c=h}c!==null&&s.stopPropagation()}else Yu(e,a,s,null,i)}}function od(e){return e=hc(e),ld(e)}var Ko=null;function ld(e){if(Ko=null,e=pi(e),e!==null){var a=u(e);if(a===null)e=null;else{var i=a.tag;if(i===13){if(e=d(a),e!==null)return e;e=null}else if(i===3){if(a.stateNode.current.memoizedState.isDehydrated)return a.tag===3?a.stateNode.containerInfo:null;e=null}else a!==e&&(e=null)}}return Ko=e,null}function xy(e){switch(e){case"beforetoggle":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"toggle":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 2;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"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(zk()){case jf:return 2;case Uf:return 8;case Ls:case Ik:return 32;case Pf:return 268435456;default:return 32}default:return 32}}var cd=!1,bn=null,wn=null,xn=null,us=new Map,ds=new Map,kn=[],nT="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".split(" ");function ky(e,a){switch(e){case"focusin":case"focusout":bn=null;break;case"dragenter":case"dragleave":wn=null;break;case"mouseover":case"mouseout":xn=null;break;case"pointerover":case"pointerout":us.delete(a.pointerId);break;case"gotpointercapture":case"lostpointercapture":ds.delete(a.pointerId)}}function hs(e,a,i,s,c,h){return e===null||e.nativeEvent!==h?(e={blockedOn:a,domEventName:i,eventSystemFlags:s,nativeEvent:h,targetContainers:[c]},a!==null&&(a=mi(a),a!==null&&wy(a)),e):(e.eventSystemFlags|=s,a=e.targetContainers,c!==null&&a.indexOf(c)===-1&&a.push(c),e)}function iT(e,a,i,s,c){switch(a){case"focusin":return bn=hs(bn,e,a,i,s,c),!0;case"dragenter":return wn=hs(wn,e,a,i,s,c),!0;case"mouseover":return xn=hs(xn,e,a,i,s,c),!0;case"pointerover":var h=c.pointerId;return us.set(h,hs(us.get(h)||null,e,a,i,s,c)),!0;case"gotpointercapture":return h=c.pointerId,ds.set(h,hs(ds.get(h)||null,e,a,i,s,c)),!0}return!1}function Sy(e){var a=pi(e.target);if(a!==null){var i=u(a);if(i!==null){if(a=i.tag,a===13){if(a=d(i),a!==null){e.blockedOn=a,Zk(e.priority,function(){if(i.tag===13){var s=qt();s=tc(s);var c=Ei(i,s);c!==null&&jt(c,i,s),rd(i,s)}});return}}else if(a===3&&i.stateNode.current.memoizedState.isDehydrated){e.blockedOn=i.tag===3?i.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Qo(e){if(e.blockedOn!==null)return!1;for(var a=e.targetContainers;0<a.length;){var i=od(e.nativeEvent);if(i===null){i=e.nativeEvent;var s=new i.constructor(i.type,i);dc=s,i.target.dispatchEvent(s),dc=null}else return a=mi(i),a!==null&&wy(a),e.blockedOn=i,!1;a.shift()}return!0}function Ay(e,a,i){Qo(e)&&i.delete(a)}function rT(){cd=!1,bn!==null&&Qo(bn)&&(bn=null),wn!==null&&Qo(wn)&&(wn=null),xn!==null&&Qo(xn)&&(xn=null),us.forEac
10h(Ay),ds.forEach(Ay)}function Xo(e,a){e.blockedOn===a&&(e.blockedOn=null,cd||(cd=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,rT)))}var Zo=null;function Ty(e){Zo!==e&&(Zo=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){Zo===e&&(Zo=null);for(var a=0;a<e.length;a+=3){var i=e[a],s=e[a+1],c=e[a+2];if(typeof s!="function"){if(ld(s||i)===null)continue;break}var h=mi(i);h!==null&&(e.splice(a,3),a-=3,lu(h,{pending:!0,data:c,method:i.method,action:s},s,c))}}))}function fs(e){function a(M){return Xo(M,e)}bn!==null&&Xo(bn,e),wn!==null&&Xo(wn,e),xn!==null&&Xo(xn,e),us.forEach(a),ds.forEach(a);for(var i=0;i<kn.length;i++){var s=kn[i];s.blockedOn===e&&(s.blockedOn=null)}for(;0<kn.length&&(i=kn[0],i.blockedOn===null);)Sy(i),i.blockedOn===null&&kn.shift();if(i=(e.ownerDocument||e).$$reactFormReplay,i!=null)for(s=0;s<i.length;s+=3){var c=i[s],h=i[s+1],y=c[wt]||null;if(typeof h=="function")y||Ty(i);else if(y){var x=null;if(h&&h.hasAttribute("formAction")){if(c=h,y=h[wt]||null)x=y.formAction;else if(ld(c)!==null)continue}else x=y.action;typeof x=="function"?i[s+1]=x:(i.splice(s,3),s-=3),Ty(i)}}}function ud(e){this._internalRoot=e}$o.prototype.render=ud.prototype.render=function(e){var a=this._internalRoot;if(a===null)throw Error(o(409));var i=a.current,s=qt();vy(i,s,e,a,null,null)},$o.prototype.unmount=ud.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var a=e.containerInfo;vy(e.current,2,null,e,null,null),Vo(),a[fi]=null}};function $o(e){this._internalRoot=e}$o.prototype.unstable_scheduleHydration=function(e){if(e){var a=zf();e={blockedOn:null,target:e,priority:a};for(var i=0;i<kn.length&&a!==0&&a<kn[i].priority;i++);kn.splice(i,0,e),i===0&&Sy(e)}};var Cy=n.version;if(Cy!=="19.1.0")throw Error(o(527,Cy,"19.1.0"));K.findDOMNode=function(e){var a=e._reactInternals;if(a===void 0)throw typeof e.render=="function"?Error(o(188)):(e=Object.keys(e).join(","),Error(o(268,e)));return e=m(a),e=e!==null?p(e):null,e=e===null?null:e.stateNode,e};var sT={bundleType:0,version:"19.1.0",rendererPackageName:"react-dom",currentDispatcherRef:q,reconcilerVersion:"19.1.0"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Jo=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Jo.isDisabled&&Jo.supportsFiber)try{yr=Jo.inject(sT),Et=Jo}catch{}}return ms.createRoot=function(e,a){if(!l(e))throw Error(o(299));var i=!1,s="",c=zm,h=Im,y=Fm,x=null;return a!=null&&(a.unstable_strictMode===!0&&(i=!0),a.identifierPrefix!==void 0&&(s=a.identifierPrefix),a.onUncaughtError!==void 0&&(c=a.onUncaughtError),a.onCaughtError!==void 0&&(h=a.onCaughtError),a.onRecoverableError!==void 0&&(y=a.onRecoverableError),a.unstable_transitionCallbacks!==void 0&&(x=a.unstable_transitionCallbacks)),a=gy(e,1,!1,null,null,i,s,c,h,y,x,null),e[fi]=a.current,Gu(e),new ud(a)},ms.hydrateRoot=function(e,a,i){if(!l(e))throw Error(o(299));var s=!1,c="",h=zm,y=Im,x=Fm,M=null,U=null;return i!=null&&(i.unstable_strictMode===!0&&(s=!0),i.identifierPrefix!==void 0&&(c=i.identifierPrefix),i.onUncaughtError!==void 0&&(h=i.onUncaughtError),i.onCaughtError!==void 0&&(y=i.onCaughtError),i.onRecoverableError!==void 0&&(x=i.onRecoverableError),i.unstable_transitionCallbacks!==void 0&&(M=i.unstable_transitionCallbacks),i.formState!==void 0&&(U=i.formState)),a=gy(e,1,!0,a,i??null,s,c,h,y,x,M,U),a.context=yy(null),i=a.current,s=qt(),s=tc(s),c=rn(s),c.callback=null,sn(i,c,s),i=s,a.current.lanes=i,br(a,i),Aa(a),e[fi]=a.current,Gu(e),new $o(a)},ms.version="19.1.0",ms}var Uy;function gT(){if(Uy)return hd.exports;Uy=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(n){console.error(n)}}return t(),hd.exports=mT(),hd.exports}var yT=gT();const vT="modulepreload",bT=function(t){return"/"+t},Py={},Pe=function(n,r,o){let l=Promise.resolve();if(r&&r.length>0){let m=function(p){return Promise.all(p.map(g=>Promise.resolve(g).then(v=>({status:"fulfilled",value:v}),v=>({status:"rejected",reason:v}))))};document.getElementsByTagName("link");const d=document.querySelector("meta[property=csp-nonce]"),f=d?.nonce||d?.getAttribute("nonce");l=m(r.map(p=>{if(p=bT(p),p in Py)return;Py[p]=!0;const g=p.endsWith(".css"),v=g?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${p}"]${v}`))return;const b=document.createElement("link");if(b.rel=g?"stylesheet":vT,g||(b.as="script"),b.crossOrigin="",b.href=p,f&&b.setAttribute("nonce",f),document.head.appendChild(b),g)return new Promise((S,T)=>{b.addEventListener("load",S),b.addEventListener("error",()=>T(new Error(`Unable to preload CSS for ${p}`)))})}))}function u(d){const f=new Event("vite:preloadError",{cancelable:!0});if(f.payload=d,window.dispatchEvent(f),!f.defaultPrevented)throw d}return l.then(d=>{for(const f of d||[])f.status==="rejected"&&u(f.reason);return n().catch(u)})};var k=Ul();const Cn=iw(k),sw=lT({__proto__:null,default:Cn},[k]);function wT(t,n){if(t instanceof RegExp)return{keys:!1,pattern:t};var r,o,l,u,d=[],f="",m=t.split("/");for(m[0]||m.shift();l=m.shift();)r=l[0],r==="*"?(d.push(r),f+=l[1]==="?"?"(?:/(.*))?":"/(.*)"):r===":"?(o=l.indexOf("?",1),u=l.indexOf(".",1),d.push(l.substring(1,~o?o:~u?u:l.length)),f+=~o&&!~u?"(?:/([^/]+?))?":"/([^/]+?)",~u&&(f+=(~o?"?":"")+"\\"+l.substring(u))):f+="/"+l;return{keys:d,pattern:new RegExp("^"+f+(n?"(?=$|/)":"/?$"),"i")}}var yd={exports:{}},vd={};var _y;function xT(){if(_y)return vd;_y=1;var t=Ul();function n(v,b){return v===b&&(v!==0||1/v===1/b)||v!==v&&b!==b}var r=typeof Object.is=="function"?Object.is:n,o=t.useState,l=t.useEffect,u=t.useLayoutEffect,d=t.useDebugValue;
10function f(v,b){var S=b(),T=o({inst:{value:S,getSnapshot:b}}),E=T[0].inst,C=T[1];return u(function(){E.value=S,E.getSnapshot=b,m(E)&&C({inst:E})},[v,S,b]),l(function(){return m(E)&&C({inst:E}),v(function(){m(E)&&C({inst:E})})},[v]),d(S),S}function m(v){var b=v.getSnapshot;v=v.value;try{var S=b();return!r(v,S)}catch{return!0}}function p(v,b){return b()}var g=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?p:f;return vd.useSyncExternalStore=t.useSyncExternalStore!==void 0?t.useSyncExternalStore:g,vd}var Ly;function kT(){return Ly||(Ly=1,yd.exports=xT()),yd.exports}var ST=kT();const AT=sw.useInsertionEffect,TT=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",CT=TT?k.useLayoutEffect:k.useEffect,ET=AT||CT,ow=t=>{const n=k.useRef([t,(...r)=>n[0](...r)]).current;return ET(()=>{n[0]=t}),n[1]},MT="popstate",qh="pushState",jh="replaceState",RT="hashchange",Hy=[MT,qh,jh,RT],DT=t=>{for(const n of Hy)addEventListener(n,t);return()=>{for(const n of Hy)removeEventListener(n,t)}},lw=(t,n)=>ST.useSyncExternalStore(DT,t,n),By=()=>location.search,OT=({ssrSearch:t}={})=>lw(By,t!=null?()=>t:By),zy=()=>location.pathname,NT=({ssrPath:t}={})=>lw(zy,t!=null?()=>t:zy),VT=(t,{replace:n=!1,state:r=null}={})=>history[n?jh:qh](r,"",t),qT=(t={})=>[NT(t),VT],Iy=Symbol.for("wouter_v3");if(typeof history<"u"&&typeof window[Iy]>"u"){for(const t of[qh,jh]){const n=history[t];history[t]=function(){const r=n.apply(this,arguments),o=new Event(t);return o.arguments=arguments,dispatchEvent(o),r}}Object.defineProperty(window,Iy,{value:!0})}const jT=(t,n)=>n.toLowerCase().indexOf(t.toLowerCase())?"~"+n:n.slice(t.length)||"/",cw=(t="")=>t==="/"?"":t,UT=(t,n)=>t[0]==="~"?t.slice(1):cw(n)+t,PT=(t="",n)=>jT(Kd(cw(t)),Kd(n)),_T=t=>t[0]==="?"?t.slice(1):t,Kd=t=>{try{return decodeURI(t)}catch{return t}},LT=t=>Kd(_T(t)),uw={hook:qT,searchHook:OT,parser:wT,base:"",ssrPath:void 0,ssrSearch:void 0,ssrContext:void 0,hrefs:t=>t,aroundNav:(t,n,r)=>t(n,r)},dw=k.createContext(uw),ci=()=>k.useContext(dw),hw={},fw=k.createContext(hw),HT=()=>k.useContext(fw),Pl=t=>{const[n,r]=t.hook(t);return[PT(t.base,n),ow((o,l)=>t.aroundNav(r,UT(o,t.base),l))]},ui=()=>Pl(ci()),Bj=()=>{const t=ci();return LT(t.searchHook(t))},Uh=(t,n,r,o)=>{const{pattern:l,keys:u}=n instanceof RegExp?{keys:!1,pattern:n}:t(n||"*",o),d=l.exec(r)||[],[f,...m]=d;return f!==void 0?[!0,(()=>{const p=u!==!1?Object.fromEntries(u.map((v,b)=>[v,m[b]])):d.groups;let g={...m};return p&&Object.assign(g,p),g})(),...o?[f]:[]]:[!1,null]},zj=t=>Uh(ci().parser,t,ui()[0]),pw=({children:t,...n})=>{const r=ci(),o=n.hook?uw:r;let l=o;const[u,d=n.ssrSearch??""]=n.ssrPath?.split("?")??[];u&&(n.ssrSearch=d,n.ssrPath=u),n.hrefs=n.hrefs??n.hook?.hrefs,n.searchHook=n.searchHook??n.hook?.searchHook;let f=k.useRef({}),m=f.current,p=m;for(let g in o){const v=g==="base"?o[g]+(n[g]??""):n[g]??o[g];m===p&&v!==p[g]&&(f.current=p={...p}),p[g]=v,(v!==o[g]||v!==l[g])&&(l=p)}return k.createElement(dw.Provider,{value:l,children:t})},Fy=({children:t,component:n},r)=>n?k.createElement(n,{params:r}):typeof t=="function"?t(r):t,BT=t=>{let n=k.useRef(hw);const r=n.current;return n.current=Object.keys(t).length!==Object.keys(r).length||Object.entries(t).some(([o,l])=>l!==r[o])?t:r},ve=({path:t,nest:n,match:r,...o})=>{const l=ci(),[u]=Pl(l),[d,f,m]=r??Uh(l.parser,t,u,n),p=BT({...HT(),...f});if(!d)return null;const g=m?k.createElement(pw,{base:m},Fy(o,p)):Fy(o,p);return k.createElement(fw.Provider,{value:p,children:g})},et=k.forwardRef((t,n)=>{const r=ci(),[o,l]=Pl(r),{to:u="",href:d=u,onClick:f,asChild:m,children:p,className:g,replace:v,state:b,transition:S,...T}=t,E=ow(D=>{D.ctrlKey||D.metaKey||D.altKey||D.shiftKey||D.button!==0||(f?.(D),D.defaultPrevented||(D.preventDefault(),l(d,t)))}),C=r.hrefs(d[0]==="~"?d.slice(1):r.base+d,r);return m&&k.isValidElement(p)?k.cloneElement(p,{onClick:E,href:C}):k.createElement("a",{...T,onClick:E,href:C,className:g?.call?g(o===d):g,children:p,ref:n})}),mw=t=>Array.isArray(t)?t.flatMap(n=>mw(n&&n.type===k.Fragment?n.props.children:n)):[t],zT=({children:t,location:n})=>{const r=ci(),[o]=Pl(r);for(const l of mw(t)){let u=0;if(k.isValidElement(l)&&(u=Uh(r.parser,l.props.path,n||o,l.props.nest))[0])return k.cloneElement(l,{match:u})}return null};var _l=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},IT={setTimeout:(t,n)=>setTimeout(t,n),clearTimeout:t=>clearTimeout(t),setInterval:(t,n)=>setInterval(t,n),clearInterval:t=>clearInterval(t)},FT=class{#e=IT;#a=!1;setTimeoutProvider(t){this.#e=t}setTimeout(t,n){return this.#e.setTimeout(t,n)}clearTimeout(t){this.#e.clearTimeout(t)}setInterval(t,n){return this.#e.setInterval(t,n)}clearInterval(t){this.#e.clearInterval(t)}},Qd=new FT;function WT(t){setTimeout(t,0)}var Ll=typeof window>"u"||"Deno"in globalThis;function ha(){}function GT(t,n){return typeof t=="function"?t(n):t}function YT(t){return typeof t=="number"&&t>=0&&t!==1/0}
vendor: 20,599 bytes, line 10
10function KT(t,n){return Math.max(t+(n||0)-Date.now(),0)}function Xd(t,n){return typeof t=="function"?t(n):t}function QT(t,n){return typeof t=="function"?t(n):t}function Wy(t,n){const{type:r="all",exact:o,fetchStatus:l,predicate:u,queryKey:d,stale:f}=t;if(d){if(o){if(n.queryHash!==Ph(d,n.options))return!1}else if(!Ts(n.queryKey,d))return!1}if(r!=="all"){const m=n.isActive();if(r==="active"&&!m||r==="inactive"&&m)return!1}return!(typeof f=="boolean"&&n.isStale()!==f||l&&l!==n.state.fetchStatus||u&&!u(n))}function Gy(t,n){const{exact:r,status:o,predicate:l,mutationKey:u}=t;if(u){if(!n.options.mutationKey)return!1;if(r){if(As(n.options.mutationKey)!==As(u))return!1}else if(!Ts(n.options.mutationKey,u))return!1}return!(o&&n.state.status!==o||l&&!l(n))}function Ph(t,n){return(n?.queryKeyHashFn||As)(t)}function As(t){return JSON.stringify(t,(n,r)=>Zd(r)?Object.keys(r).sort().reduce((o,l)=>(o[l]=r[l],o),{}):r)}function Ts(t,n){return t===n?!0:typeof t!=typeof n?!1:t&&n&&typeof t=="object"&&typeof n=="object"?Object.keys(n).every(r=>Ts(t[r],n[r])):!1}var XT=Object.prototype.hasOwnProperty;function gw(t,n,r=0){if(t===n)return t;if(r>500)return n;const o=Yy(t)&&Yy(n);if(!o&&!(Zd(t)&&Zd(n)))return n;const u=(o?t:Object.keys(t)).length,d=o?n:Object.keys(n),f=d.length,m=o?new Array(f):{};let p=0;for(let g=0;g<f;g++){const v=o?g:d[g],b=t[v],S=n[v];if(b===S){m[v]=b,(o?g<u:XT.call(t,v))&&p++;continue}if(b===null||S===null||typeof b!="object"||typeof S!="object"){m[v]=S;continue}const T=gw(b,S,r+1);m[v]=T,T===b&&p++}return u===f&&p===u?t:m}function Ij(t,n){if(!n||Object.keys(t).length!==Object.keys(n).length)return!1;for(const r in t)if(t[r]!==n[r])return!1;return!0}function Yy(t){return Array.isArray(t)&&t.length===Object.keys(t).length}function Zd(t){if(!Ky(t))return!1;const n=t.constructor;if(n===void 0)return!0;const r=n.prototype;return!(!Ky(r)||!r.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(t)!==Object.prototype)}function Ky(t){return Object.prototype.toString.call(t)==="[object Object]"}function ZT(t){return new Promise(n=>{Qd.setTimeout(n,t)})}function $T(t,n,r){return typeof r.structuralSharing=="function"?r.structuralSharing(t,n):r.structuralSharing!==!1?gw(t,n):n}function JT(t,n,r=0){const o=[...t,n];return r&&o.length>r?o.slice(1):o}function eC(t,n,r=0){const o=[n,...t];return r&&o.length>r?o.slice(0,-1):o}var _h=Symbol();function yw(t,n){return!t.queryFn&&n?.initialPromise?()=>n.initialPromise:!t.queryFn||t.queryFn===_h?()=>Promise.reject(new Error(`Missing queryFn: '${t.queryHash}'`)):t.queryFn}function Fj(t,n){return typeof t=="function"?t(...n):!!t}function tC(t,n,r){let o=!1,l;return Object.defineProperty(t,"signal",{enumerable:!0,get:()=>(l??=n(),o||(o=!0,l.aborted?r():l.addEventListener("abort",r,{once:!0})),l)}),t}var aC=class extends _l{#e;#a;#t;constructor(){super(),this.#t=t=>{if(!Ll&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}}}onSubscribe(){this.#a||this.setEventListener(this.#t)}onUnsubscribe(){this.hasListeners()||(this.#a?.(),this.#a=void 0)}setEventListener(t){this.#t=t,this.#a?.(),this.#a=t(n=>{typeof n=="boolean"?this.setFocused(n):this.onFocus()})}setFocused(t){this.#e!==t&&(this.#e=t,this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(n=>{n(t)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},vw=new aC;function nC(){let t,n;const r=new Promise((l,u)=>{t=l,n=u});r.status="pending",r.catch(()=>{});function o(l){Object.assign(r,l),delete r.resolve,delete r.reject}return r.resolve=l=>{o({status:"fulfilled",value:l}),t(l)},r.reject=l=>{o({status:"rejected",reason:l}),n(l)},r}var iC=WT;function rC(){let t=[],n=0,r=f=>{f()},o=f=>{f()},l=iC;const u=f=>{n?t.push(f):l(()=>{r(f)})},d=()=>{const f=t;t=[],f.length&&l(()=>{o(()=>{f.forEach(m=>{r(m)})})})};return{batch:f=>{let m;n++;try{m=f()}finally{n--,n||d()}return m},batchCalls:f=>(...m)=>{u(()=>{f(...m)})},schedule:u,setNotifyFunction:f=>{r=f},setBatchNotifyFunction:f=>{o=f},setScheduler:f=>{l=f}}}var yt=rC(),sC=class extends _l{#e=!0;#a;#t;constructor(){super(),this.#t=t=>{if(!Ll&&window.addEventListener){const n=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#a||this.setEventListener(this.#t)}onUnsubscribe(){this.hasListeners()||(this.#a?.(),this.#a=void 0)}setEventListener(t){this.#t=t,this.#a?.(),this.#a=t(this.setOnline.bind(this))}setOnline(t){this.#e!==t&&(this.#e=t,this.listeners.forEach(r=>{r(t)}))}isOnline(){return this.#e}},kl=new sC;function oC(t){return Math.min(1e3*2**t,3e4)}function bw(t){return(t??"online")==="online"?kl.isOnline():!0}var $d=class extends Error{constructor(t){super("CancelledError"),this.revert=t?.revert,this.silent=t?.silent}};function ww(t){let n=!1,r=0,o;const l=nC(),u=()=>l.status!=="pending",d=E=>{if(!u()){const C=new $d(E);b(C),t.onCancel?.(C)}},f=()=>{n=!0},m=()=>{n=!1},p=()=>vw.isFocused()&&(t.networkMode==="always"||kl.isOnline())&&t.canRun(),g=()=>bw(t.networkMode)&&t.canRun(),v=E=>{u()||(o?.(),l.resolve(E))},b=E=>{u()||(o?.(),l.reject(E))},S=()=>new Promise(E=>{o=C=>{(u()||p())&&E(C)},t.onPause?.()}).then(()=>{o=void 0,u()||t.onContinue?.()}),T=()=>{if(u())return;let E;const C=r===0?t.initialPromise:void 0;try{E=C??t.fn()}catch(D){E=Promise.reject(D)}Promise.resolve(E).then(v).catch(D=>{if(u())return;const V=t.retry??(Ll?0:3),N=t.retryDelay??oC,P=typeof N=="function"?N(r,D):N,_=V===!0||typeof V=="number"&&r<V||typeof V=="function"&&V(r,D);if(n||!_){b(D);return}r++,t.onFail?.(r,D),ZT(P).then(()=>p()?void 0:S()).then(()=>{n?b(D):T()})})};return{promise:l,status:()=>l.status,cancel:d,continue:()=>(o?.(),l),cancelRetry:f,continueRetry:m,canStart:g,start:()=>(g()?T():S().then(T),l)}}var xw=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),YT(this.gcTime)&&(this.#e=Qd.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(Ll?1/0:300*1e3))}clearGcTimeout(){this.#e&&(Qd.clearTimeout(this.#e),this.#e=void 0)}},lC=class extends xw{#e;#a;#t;#i;#n;#s;#o;constructor(t){super(),this.#o=!1,this.#s=t.defaultOptions,this.setOptions(t.options),this.observers=[],this.#i=t.client,this.#t=this.#i.getQueryCache(),this.queryKey=t.queryKey,this.queryHash=t.queryHash,this.#e=Xy(this.options),this.state=t.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#n?.promise}setOptions(t){if(this.options={...this.#s,...t},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const n=Xy(this.options);n.data!==void 0&&(this.setState(Qy(n.data,n.dataUpdatedAt)),this.#e=n)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#t.remove(this)}setData(t,n){const r=$T(this.state.data,t,this.options);return this.#r({data:r,type:"success",dataUpdatedAt:n?.updatedAt,manual:n?.manual}),r}setState(t,n){this.#r({type:"setState",state:t,setStateOptions:n})}cancel(t){const n=this.#n?.promise;return this.#n?.cancel(t),n?n.then(ha).catch(ha):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#e)}isActive(){return this.observers.some(t=>QT(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===_h||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>Xd(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!KT(this.state.dataUpdatedAt,t)}onFocus(){this.observers.find(n=>n.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#n?.continue()}onOnline(){this.observers.find(n=>n.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#n?.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),this.#t.notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(this.#n&&(this.#o?this.#n.cancel({revert:!0}):this.#n.cancelRetry()),this.scheduleGc()),this.#t.notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#r({type:"invalidate"})}async fetch(t,n){if(this.state.fetchStatus!=="idle"&&this.#n?.status()!=="rejected"){if(this.state.data!==void 0&&n?.cancelRefetch)this.cancel({silent:!0});else if(this.#n)return this.#n.continueRetry(),this.#n.promise}if(t&&this.setOptions(t),!this.options.queryFn){const f=this.observers.find(m=>m.options.queryFn);f&&this.setOptions(f.options)}const r=new AbortController,o=f=>{Object.defineProperty(f,"signal",{enumerable:!0,get:()=>(this.#o=!0,r.signal)})},l=()=>{const f=yw(this.options,n),p=(()=>{const g={client:this.#i,queryKey:this.queryKey,meta:this.meta};return o(g),g})();return this.#o=!1,this.options.persister?this.options.persister(f,p,this):f(p)},d=(()=>{const f={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:l};return o(f),f})();this.options.behavior?.onFetch(d,this),this.#a=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==d.fetchOptions?.meta)&&this.#r({type:"fetch",meta:d.fetchOptions?.meta}),this.#n=ww({initialPromise:n?.initialPromise,fn:d.fetchFn,onCancel:f=>{f instanceof $d&&f.revert&&this.setState({...this.#a,fetchStatus:"idle"}),r.abort()},onFail:(f,m)=>{this.#r({type:"failed",failureCount:f,error:m})},onPause:()=>{this.#r({type:"pause"})},onContinue:()=>{this.#r({type:"continue"})},retry:d.options.retry,retryDelay:d.options.retryDelay,networkMode:d.options.networkMode,canRun:()=>!0});try{const f=await this.#n.start();if(f===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(f),this.#t.config.onSuccess?.(f,this),this.#t.config.onSettled?.(f,this.state.error,this),f}catch(f){if(f instanceof $d){if(f.silent)return this.#n.promise;if(f.revert){if(this.state.data===void 0)throw f;return this.state.data}}throw this.#r({type:"error",error:f}),this.#t.config.onError?.(f,this),this.#t.config.onSettled?.(this.state.data,f,this),f}finally{this.scheduleGc()}}#r(t){const n=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...cC(r.data,this.options),fetchMeta:t.meta??null};case"success":const o={...r,...Qy(t.data,t.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#a=t.manual?o:void 0,o;case"error":const l=t.error;return{...r,error:l,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:l,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),yt.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),this.#t.notify({query:this,type:"updated",action:t})})}};function cC(t,n){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:bw(n.networkMode)?"fetching":"paused",...t===void 0&&{error:null,status:"pending"}}}function Qy(t,n){return{data:t,dataUpdatedAt:n??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Xy(t){const n=typeof t.initialData=="function"?t.initialData():t.initialData,r=n!==void 0,o=r?typeof t.initialDataUpdatedAt=="function"?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:n,dataUpdateCount:0,dataUpdatedAt:r?o??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}function Zy(t){return{onFetch:(n,r)=>{const o=n.options,l=n.fetchOptions?.meta?.fetchMore?.direction,u=n.state.data?.pages||[],d=n.state.data?.pageParams||[];let f={pages:[],pageParams:[]},m=0;const p=async()=>{let g=!1;const v=T=>{tC(T,()=>n.signal,()=>g=!0)},b=yw(n.options,n.fetchOptions),S=async(T,E,C)=>{if(g)return Promise.reject();if(E==null&&T.pages.length)return Promise.resolve(T);const V=(()=>{const Y={client:n.client,queryKey:n.queryKey,pageParam:E,direction:C?"backward":"forward",meta:n.options.meta};return v(Y),Y})(),N=await b(V),{maxPages:P}=n.options,_=C?eC:JT;return{pages:_(T.pages,N,P),pageParams:_(T.pageParams,E,P)}};if(l&&u.length){const T=l==="backward",E=T?uC:$y,C={pages:u,pageParams:d},D=E(o,C);f=await S(C,D,T)}else{const T=t??u.length;do{const E=m===0?d[0]??o.initialPageParam:$y(o,f);if(m>0&&E==null)break;f=await S(f,E),m++}while(m<T)}return f};n.options.persister?n.fetchFn=()=>n.options.persister?.(p,{client:n.client,queryKey:n.queryKey,meta:n.options.meta,signal:n.signal},r):n.fetchFn=p}}}function $y(t,{pages:n,pageParams:r}){const o=n.length-1;return n.length>0?t.getNextPageParam(n[o],n,r[o],r):void 0}function uC(t,{pages:n,pageParams:r}){return n.length>0?t.getPreviousPageParam?.(n[0],n,r[0],r):void 0}var dC=class extends xw{#e;#a;#t;#i;constructor(t){super(),this.#e=t.client,this.mutationId=t.mutationId,this.#t=t.mutationCache,this.#a=[],this.state=t.state||hC(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){this.#a.includes(t)||(this.#a.push(t),this.clearGcTimeout(),this.#t.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.#a=this.#a.filter(n=>n!==t),this.scheduleGc(),this.#t.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.#a.length||(this.state.status==="pending"?this.scheduleGc():this.#t.remove(this))}continue(){return this.#i?.continue()??this.execute(this.state.variables)}async execute(t){const n=()=>{this.#n({type:"continue"})},r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#i=ww({fn:()=>this.options.mutationFn?this.options.mutationFn(t,r):Promise.reject(new Error("No mutationFn found")),onFail:(u,d)=>{this.#n({type:"failed",failureCount:u,error:d})},onPause:()=>{this.#n({type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#t.canRun(this)});const o=this.state.status==="pending",l=!this.#i.canStart();try{if(o)n();else{this.#n({type:"pending",variables:t,isPaused:l}),this.#t.config.onMutate&&await this.#t.config.onMutate(t,this,r);const d=await this.options.onMutate?.(t,r);d!==this.state.context&&this.#n({type:"pending",context:d,variables:t,isPaused:l})}const u=await this.#i.start();return await this.#t.config.onSuccess?.(u,t,this.state.context,this,r),await this.options.onSuccess?.(u,t,this.state.context,r),await this.#t.config.onSettled?.(u,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(u,null,t,this.state.context,r),this.#n({type:"success",data:u}),u}catch(u){try{await this.#t.config.onError?.(u,t,this.state.context,this,r)}catch(d){Promise.reject(d)}try{await this.options.onError?.(u,t,this.state.context,r)}catch(d){Promise.reject(d)}try{await this.#t.config.onSettled?.(void 0,u,this.state.variables,this.state.context,this,r)}catch(d){Promise.reject(d)}try{await this.options.onSettled?.(void 0,u,t,this.state.context,r)}catch(d){Promise.reject(d)}throw this.#n({type:"error",error:u}),u}finally{this.#t.runNext(this)}}#n(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,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{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=n(this.state),yt.batch(()=>{this.#a.forEach(r=>{r.onMutationUpdate(t)}),this.#t.notify({mutation:this,type:"updated",action:t})})}};function hC(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var fC=class extends _l{constructor(t={}){super(),this.config=t,this.#e=new Set,this.#a=new Map,this.#t=0}#e;#a;#t;build(t,n,r){const o=new dC({client:t,mutationCache:this,mutationId:++this.#t,options:t.defaultMutationOptions(n),state:r});return this.add(o),o}add(t){this.#e.add(t);const n=el(t);if(typeof n=="string"){const r=this.#a.get(n);r?r.push(t):this.#a.set(n,[t])}this.notify({type:"added",mutation:t})}remove(t){if(this.#e.delete(t)){const n=el(t);if(typeof n=="string"){const r=this.#a.get(n);if(r)if(r.length>1){const o=r.indexOf(t);o!==-1&&r.splice(o,1)}else r[0]===t&&this.#a.delete(n)}}this.notify({type:"removed",mutation:t})}canRun(t){const n=el(t);if(typeof n=="string"){const o=this.#a.get(n)?.find(l=>l.state.status==="pending");return!o||o===t}else return!0}runNext(t){const n=el(t);return typeof n=="string"?this.#a.get(n)?.find(o=>o!==t&&o.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){yt.batch(()=>{this.#e.forEach(t=>{this.notify({type:"removed",mutation:t})}),this.#e.clear(),this.#a.clear()})}getAll(){return Array.from(this.#e)}find(t){const n={exact:!0,...t};return this.getAll().find(r=>Gy(n,r))}findAll(t={}){return this.getAll().filter(n=>Gy(t,n))}notify(t){yt.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){const t=this.getAll().filter(n=>n.state.isPaused);return yt.batch(()=>Promise.all(t.map(n=>n.continue().catch(ha))))}};function el(t){return t.options.scope?.id}var pC=class extends _l{constructor(t={}){super(),this.config=t,this.#e=new Map}#e;build(t,n,r){const o=n.queryKey,l=n.queryHash??Ph(o,n);let u=this.get(l);return u||(u=new lC({client:t,queryKey:o,queryHash:l,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(o)}),this.add(u)),u}add(t){this.#e.has(t.queryHash)||(this.#e.set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const n=this.#e.get(t.queryHash);n&&(t.destroy(),n===t&&this.#e.delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){yt.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return this.#e.get(t)}getAll(){return[...this.#e.values()]}find(t){const n={exact:!0,...t};return this.getAll().find(r=>Wy(n,r))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(r=>Wy(t,r)):n}notify(t){yt.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){yt.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){yt.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},mC=class{#e;#a;#t;#i;#n;#s;#o;#r;constructor(t={}){this.#e=t.queryCache||new pC,this.#a=t.mutationCache||new fC,this.#t=t.defaultOptions||{},this.#i=new Map,this.#n=new Map,this.#s=0}mount(){this.#s++,this.#s===1&&(this.#o=vw.subscribe(async t=>{t&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#r=kl.subscribe(async t=>{t&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#s--,this.#s===0&&(this.#o?.(),this.#o=void 0,this.#r?.(),this.#r=void 0)}isFetching(t){return this.#e.findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return this.#a.findAll({...t,status:"pending"}).length}getQueryData(t){const n=this.defaultQueryOptions({queryKey:t});return this.#e.get(n.queryHash)?.state.data}ensureQueryData(t){const n=this.defaultQueryOptions(t),r=this.#e.build(this,n),o=r.state.data;return o===void 0?this.fetchQuery(t):(t.revalidateIfStale&&r.isStaleByTime(Xd(n.staleTime,r))&&this.prefetchQuery(n),Promise.resolve(o))}getQueriesData(t){return this.#e.findAll(t).map(({queryKey:n,state:r})=>{const o=r.data;return[n,o]})}setQueryData(t,n,r){const o=this.defaultQueryOptions({queryKey:t}),u=this.#e.get(o.queryHash)?.state.data,d=GT(n,u);if(d!==void 0)return this.#e.build(this,o).setData(d,{...r,manual:!0})}
10setQueriesData(t,n,r){return yt.batch(()=>this.#e.findAll(t).map(({queryKey:o})=>[o,this.setQueryData(o,n,r)]))}getQueryState(t){const n=this.defaultQueryOptions({queryKey:t});return this.#e.get(n.queryHash)?.state}removeQueries(t){const n=this.#e;yt.batch(()=>{n.findAll(t).forEach(r=>{n.remove(r)})})}resetQueries(t,n){const r=this.#e;return yt.batch(()=>(r.findAll(t).forEach(o=>{o.reset()}),this.refetchQueries({type:"active",...t},n)))}cancelQueries(t,n={}){const r={revert:!0,...n},o=yt.batch(()=>this.#e.findAll(t).map(l=>l.cancel(r)));return Promise.all(o).then(ha).catch(ha)}invalidateQueries(t,n={}){return yt.batch(()=>(this.#e.findAll(t).forEach(r=>{r.invalidate()}),t?.refetchType==="none"?Promise.resolve():this.refetchQueries({...t,type:t?.refetchType??t?.type??"active"},n)))}refetchQueries(t,n={}){const r={...n,cancelRefetch:n.cancelRefetch??!0},o=yt.batch(()=>this.#e.findAll(t).filter(l=>!l.isDisabled()&&!l.isStatic()).map(l=>{let u=l.fetch(void 0,r);return r.throwOnError||(u=u.catch(ha)),l.state.fetchStatus==="paused"?Promise.resolve():u}));return Promise.all(o).then(ha)}fetchQuery(t){const n=this.defaultQueryOptions(t);n.retry===void 0&&(n.retry=!1);const r=this.#e.build(this,n);return r.isStaleByTime(Xd(n.staleTime,r))?r.fetch(n):Promise.resolve(r.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(ha).catch(ha)}fetchInfiniteQuery(t){return t.behavior=Zy(t.pages),this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(ha).catch(ha)}ensureInfiniteQueryData(t){return t.behavior=Zy(t.pages),this.ensureQueryData(t)}resumePausedMutations(){return kl.isOnline()?this.#a.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#a}getDefaultOptions(){return this.#t}setDefaultOptions(t){this.#t=t}setQueryDefaults(t,n){this.#i.set(As(t),{queryKey:t,defaultOptions:n})}getQueryDefaults(t){const n=[...this.#i.values()],r={};return n.forEach(o=>{Ts(t,o.queryKey)&&Object.assign(r,o.defaultOptions)}),r}setMutationDefaults(t,n){this.#n.set(As(t),{mutationKey:t,defaultOptions:n})}getMutationDefaults(t){const n=[...this.#n.values()],r={};return n.forEach(o=>{Ts(t,o.mutationKey)&&Object.assign(r,o.defaultOptions)}),r}defaultQueryOptions(t){if(t._defaulted)return t;const n={...this.#t.queries,...this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return n.queryHash||(n.queryHash=Ph(n.queryKey,n)),n.refetchOnReconnect===void 0&&(n.refetchOnReconnect=n.networkMode!=="always"),n.throwOnError===void 0&&(n.throwOnError=!!n.suspense),!n.networkMode&&n.persister&&(n.networkMode="offlineFirst"),n.queryFn===_h&&(n.enabled=!1),n}defaultMutationOptions(t){return t?._defaulted?t:{...this.#t.mutations,...t?.mutationKey&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){this.#e.clear(),this.#a.clear()}},kw=k.createContext(void 0),Wj=t=>{const n=k.useContext(kw);if(!n)throw new Error("No QueryClient set, use QueryClientProvider to set one");return n},gC=({client:t,children:n})=>(k.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),w.jsx(kw.Provider,{value:t,children:n}));const yC=1,vC=1e6;let bd=0;function bC(){return bd=(bd+1)%Number.MAX_SAFE_INTEGER,bd.toString()}const wd=new Map,Jy=t=>{if(wd.has(t))return;const n=setTimeout(()=>{wd.delete(t),bs({type:"REMOVE_TOAST",toastId:t})},vC);wd.set(t,n)},wC=(t,n)=>{switch(n.type){case"ADD_TOAST":return{...t,toasts:[n.toast,...t.toasts].slice(0,yC)};case"UPDATE_TOAST":return{...t,toasts:t.toasts.map(r=>r.id===n.toast.id?{...r,...n.toast}:r)};case"DISMISS_TOAST":{const{toastId:r}=n;return r?Jy(r):t.toasts.forEach(o=>{Jy(o.id)}),{...t,toasts:t.toasts.map(o=>o.id===r||r===void 0?{...o,open:!1}:o)}}case"REMOVE_TOAST":return n.toastId===void 0?{...t,toasts:[]}:{...t,toasts:t.toasts.filter(r=>r.id!==n.toastId)}}},dl=[];let hl={toasts:[]};function bs(t){hl=wC(hl,t),dl.forEach(n=>{n(hl)})}function xC({...t}){const n=bC(),r=l=>bs({type:"UPDATE_TOAST",toast:{...l,id:n}}),o=()=>bs({type:"DISMISS_TOAST",toastId:n});return bs({type:"ADD_TOAST",toast:{...t,id:n,open:!0,onOpenChange:l=>{l||o()}}}),{id:n,dismiss:o,update:r}}function kC(){const[t,n]=k.useState(hl);return k.useEffect(()=>(dl.push(n),()=>{const r=dl.indexOf(n);r>-1&&dl.splice(r,1)}),[t]),{...t,toast:xC,dismiss:r=>bs({type:"DISMISS_TOAST",toastId:r})}}var Hl=rw();const SC=iw(Hl);function tt(t,n,{checkForDefaultPrevented:r=!0}={}){return function(l){if(t?.(l),r===!1||!l.defaultPrevented)return n?.(l)}}function ev(t,n){if(typeof t=="function")return t(n);t!=null&&(t.current=n)}function Sw(...t){return n=>{let r=!1;const o=t.map(l=>{const u=ev(l,n);return!r&&typeof u=="function"&&(r=!0),u});if(r)return()=>{for(let l=0;l<o.length;l++){const u=o[l];typeof u=="function"?u():ev(t[l],null)}}}}function ma(...t){return k.useCallback(Sw(...t),t)}function Bl(t,n=[]){let r=[];function o(u,d){const f=k.createContext(d),m=r.length;r=[...r,d];const p=v=>{const{scope:b,children:S,...T}=v,E=b?.[t]?.[m]||f,C=k.useMemo(()=>T,Object.values(T));return w.jsx(E.Provider,{value:C,children:S})};p.displayName=u+"Provider";function g(v,b){const S=b?.[t]?.[m]||f,T=k.useContext(S);if(T)return T;if(d!==void 0)return d;throw new Error(`\`${v}\` must be used within \`${u}\``)}return[p,g]}const l=()=>{const u=r.map(d=>k.createContext(d));return function(f){const m=f?.[t]||u;return k.useMemo(()=>({[`__scope${t}`]:{...f,[t]:m}}),[f,m])}};return l.scopeName=t,[o,AC(l,...n)]}function AC(...t){const n=t[0];if(t.length===1)return n;const r=()=>{const o=t.map(l=>({useScope:l(),scopeName:l.scopeName}));return function(u){const d=o.reduce((f,{useScope:m,scopeName:p})=>{const v=m(u)[`__scope${p}`];return{...f,...v}},{});return k.useMemo(()=>({[`__scope${n.scopeName}`]:d}),[d])}};return r.scopeName=n.scopeName,r}function Jd(t){const n=TC(t),r=k.forwardRef((o,l)=>{const{children:u,...d}=o,f=k.Children.toArray(u),m=f.find(EC);if(m){const p=m.props.children,g=f.map(v=>v===m?k.Children.count(p)>1?k.Children.only(null):k.isValidElement(p)?p.props.children:null:v);return w.jsx(n,{...d,ref:l,children:k.isValidElement(p)?k.cloneElement(p,void 0,g):null})}return w.jsx(n,{...d,ref:l,children:u})});return r.displayName=`${t}.Slot`,r}function TC(t){const n=k.forwardRef((r,o)=>{const{children:l,...u}=r;if(k.isValidElement(l)){const d=RC(l),f=MC(u,l.props);return l.type!==k.Fragment&&(f.ref=o?Sw(o,d):d),k.cloneElement(l,f)}return k.Children.count(l)>1?k.Children.only(null):null});return n.displayName=`${t}.SlotClone`,n}var Aw=Symbol("radix.slottable");function CC(t){const n=({children:r})=>w.jsx(w.Fragment,{children:r});return n.displayName=`${t}.Slottable`,n.__radixId=Aw,n}function EC(t){return k.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===Aw}function MC(t,n){const r={...n};for(const o in n){const l=t[o],u=n[o];/^on[A-Z]/.test(o)?l&&u?r[o]=(...f)=>{const m=u(...f);return l(...f),m}:l&&(r[o]=l):o==="style"?r[o]={...l,...u}
vendor: 9,794 bytes, line 10
10:o==="className"&&(r[o]=[l,u].filter(Boolean).join(" "))}return{...t,...r}}function RC(t){let n=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning;return r?t.ref:(n=Object.getOwnPropertyDescriptor(t,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning,r?t.props.ref:t.props.ref||t.ref)}function DC(t){const n=t+"CollectionProvider",[r,o]=Bl(n),[l,u]=r(n,{collectionRef:{current:null},itemMap:new Map}),d=E=>{const{scope:C,children:D}=E,V=Cn.useRef(null),N=Cn.useRef(new Map).current;return w.jsx(l,{scope:C,itemMap:N,collectionRef:V,children:D})};d.displayName=n;const f=t+"CollectionSlot",m=Jd(f),p=Cn.forwardRef((E,C)=>{const{scope:D,children:V}=E,N=u(f,D),P=ma(C,N.collectionRef);return w.jsx(m,{ref:P,children:V})});p.displayName=f;const g=t+"CollectionItemSlot",v="data-radix-collection-item",b=Jd(g),S=Cn.forwardRef((E,C)=>{const{scope:D,children:V,...N}=E,P=Cn.useRef(null),_=ma(C,P),Y=u(g,D);return Cn.useEffect(()=>(Y.itemMap.set(P,{ref:P,...N}),()=>{Y.itemMap.delete(P)})),w.jsx(b,{[v]:"",ref:_,children:V})});S.displayName=g;function T(E){const C=u(t+"CollectionConsumer",E);return Cn.useCallback(()=>{const V=C.collectionRef.current;if(!V)return[];const N=Array.from(V.querySelectorAll(`[${v}]`));return Array.from(C.itemMap.values()).sort((Y,Q)=>N.indexOf(Y.ref.current)-N.indexOf(Q.ref.current))},[C.collectionRef,C.itemMap])}return[{Provider:d,Slot:p,ItemSlot:S},T,o]}var OC=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Tt=OC.reduce((t,n)=>{const r=Jd(`Primitive.${n}`),o=k.forwardRef((l,u)=>{const{asChild:d,...f}=l,m=d?r:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),w.jsx(m,{...f,ref:u})});return o.displayName=`Primitive.${n}`,{...t,[n]:o}},{});function Tw(t,n){t&&Hl.flushSync(()=>t.dispatchEvent(n))}function Rn(t){const n=k.useRef(t);return k.useEffect(()=>{n.current=t}),k.useMemo(()=>(...r)=>n.current?.(...r),[])}function NC(t,n=globalThis?.document){const r=Rn(t);k.useEffect(()=>{const o=l=>{l.key==="Escape"&&r(l)};return n.addEventListener("keydown",o,{capture:!0}),()=>n.removeEventListener("keydown",o,{capture:!0})},[r,n])}var VC="DismissableLayer",eh="dismissableLayer.update",qC="dismissableLayer.pointerDownOutside",jC="dismissableLayer.focusOutside",tv,Cw=k.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Lh=k.forwardRef((t,n)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:o,onPointerDownOutside:l,onFocusOutside:u,onInteractOutside:d,onDismiss:f,...m}=t,p=k.useContext(Cw),[g,v]=k.useState(null),b=g?.ownerDocument??globalThis?.document,[,S]=k.useState({}),T=ma(n,Q=>v(Q)),E=Array.from(p.layers),[C]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),D=E.indexOf(C),V=g?E.indexOf(g):-1,N=p.layersWithOutsidePointerEventsDisabled.size>0,P=V>=D,_=PC(Q=>{const B=Q.target,X=[...p.branches].some(oe=>oe.contains(B));!P||X||(l?.(Q),d?.(Q),Q.defaultPrevented||f?.())},b),Y=_C(Q=>{const B=Q.target;[...p.branches].some(oe=>oe.contains(B))||(u?.(Q),d?.(Q),Q.defaultPrevented||f?.())},b);return NC(Q=>{V===p.layers.size-1&&(o?.(Q),!Q.defaultPrevented&&f&&(Q.preventDefault(),f()))},b),k.useEffect(()=>{if(g)return r&&(p.layersWithOutsidePointerEventsDisabled.size===0&&(tv=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),p.layersWithOutsidePointerEventsDisabled.add(g)),p.layers.add(g),av(),()=>{r&&p.layersWithOutsidePointerEventsDisabled.size===1&&(b.body.style.pointerEvents=tv)}},[g,b,r,p]),k.useEffect(()=>()=>{g&&(p.layers.delete(g),p.layersWithOutsidePointerEventsDisabled.delete(g),av())},[g,p]),k.useEffect(()=>{const Q=()=>S({});return document.addEventListener(eh,Q),()=>document.removeEventListener(eh,Q)},[]),w.jsx(Tt.div,{...m,ref:T,style:{pointerEvents:N?P?"auto":"none":void 0,...t.style},onFocusCapture:tt(t.onFocusCapture,Y.onFocusCapture),onBlurCapture:tt(t.onBlurCapture,Y.onBlurCapture),onPointerDownCapture:tt(t.onPointerDownCapture,_.onPointerDownCapture)})});Lh.displayName=VC;var UC="DismissableLayerBranch",Ew=k.forwardRef((t,n)=>{const r=k.useContext(Cw),o=k.useRef(null),l=ma(n,o);return k.useEffect(()=>{const u=o.current;if(u)return r.branches.add(u),()=>{r.branches.delete(u)}},[r.branches]),w.jsx(Tt.div,{...t,ref:l})});Ew.displayName=UC;function PC(t,n=globalThis?.document){const r=Rn(t),o=k.useRef(!1),l=k.useRef(()=>{});return k.useEffect(()=>{const u=f=>{if(f.target&&!o.current){let m=function(){Mw(qC,r,p,{discrete:!0})};const p={originalEvent:f};f.pointerType==="touch"?(n.removeEventListener("click",l.current),l.current=m,n.addEventListener("click",l.current,{once:!0})):m()}else n.removeEventListener("click",l.current);o.current=!1},d=window.setTimeout(()=>{n.addEventListener("pointerdown",u)},0);return()=>{window.clearTimeout(d),n.removeEventListener("pointerdown",u),n.removeEventListener("click",l.current)}},[n,r]),{onPointerDownCapture:()=>o.current=!0}}function _C(t,n=globalThis?.document){const r=Rn(t),o=k.useRef(!1);return k.useEffect(()=>{const l=u=>{u.target&&!o.current&&Mw(jC,r,{originalEvent:u},{discrete:!1})};return n.addEventListener("focusin",l),()=>n.removeEventListener("focusin",l)},[n,r]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function av(){const t=new CustomEvent(eh);document.dispatchEvent(t)}function Mw(t,n,r,{discrete:o}){const l=r.originalEvent.target,u=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:r});n&&l.addEventListener(t,n,{once:!0}),o?Tw(l,u):l.dispatchEvent(u)}var LC=Lh,HC=Ew,Dn=globalThis?.document?k.useLayoutEffect:()=>{},BC="Portal",Hh=k.forwardRef((t,n)=>{const{container:r,...o}=t,[l,u]=k.useState(!1);Dn(()=>u(!0),[]);const d=r||l&&globalThis?.document?.body;return d?SC.createPortal(w.jsx(Tt.div,{...o,ref:n}),d):null});Hh.displayName=BC;function zC(t,n){return k.useReducer((r,o)=>n[r][o]??r,t)}var zl=t=>{const{present:n,children:r}=t,o=IC(n),l=typeof r=="function"?r({present:o.isPresent}):k.Children.only(r),u=ma(o.ref,FC(l));return typeof r=="function"||o.isPresent?k.cloneElement(l,{ref:u}):null};zl.displayName="Presence";function IC(t){const[n,r]=k.useState(),o=k.useRef(null),l=k.useRef(t),u=k.useRef("none"),d=t?"mounted":"unmounted",[f,m]=zC(d,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return k.useEffect(()=>{const p=tl(o.current);u.current=f==="mounted"?p:"none"},[f]),Dn(()=>{const p=o.current,g=l.current;if(g!==t){const b=u.current,S=tl(p);t?m("MOUNT"):S==="none"||p?.display==="none"?m("UNMOUNT"):m(g&&b!==S?"ANIMATION_OUT":"UNMOUNT"),l.current=t}},[t,m]),Dn(()=>{if(n){let p;const g=n.ownerDocument.defaultView??window,v=S=>{const E=tl(o.current).includes(CSS.escape(S.animationName));if(S.target===n&&E&&(m("ANIMATION_END"),!l.current)){const C=n.style.animationFillMode;n.style.animationFillMode="forwards",p=g.setTimeout(()=>{n.style.animationFillMode==="forwards"&&(n.style.animationFillMode=C)})}},b=S=>{S.target===n&&(u.current=tl(o.current))};return n.addEventListener("animationstart",b),n.addEventListener("animationcancel",v),n.addEventListener("animationend",v),()=>{g.clearTimeout(p),n.removeEventListener("animationstart",b),n.removeEventListener("animationcancel",v),n.removeEventListener("animationend",v)}}else m("ANIMATION_END")},[n,m]),{isPresent:["mounted","unmountSuspended"].includes(f),ref:k.useCallback(p=>{o.current=p?getComputedStyle(p):null,r(p)},[])}}function tl(t){return t?.animationName||"none"}function FC(t){let n=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning;return r?t.ref:(n=Object.getOwnPropertyDescriptor(t,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning,r?t.props.ref:t.props.ref||t.ref)}var WC=sw[" useInsertionEffect ".trim().toString()]||Dn;function GC({prop:t,defaultProp:n,onChange:r=()=>{},caller:o}){const[l,u,d]=YC({defaultProp:n,onChange:r}),f=t!==void 0,m=f?t:l;{const g=k.useRef(t!==void 0);k.useEffect(()=>{const v=g.current;v!==f&&console.warn(`${o} is changing from ${v?"controlled":"uncontrolled"} to ${f?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),g.current=f},[f,o])}const p=k.useCallback(g=>{if(f){const v=KC(g)?g(t):g;v!==t&&d.current?.(v)}else u(g)},[f,t,u,d]);return[m,p]}function YC({defaultProp:t,onChange:n}){const[r,o]=k.useState(t),l=k.useRef(r),u=k.useRef(n);return WC(()=>{u.current=n},[n]),k.useEffect(()=>{l.current!==r&&(u.current?.(r),l.current=r)},[r,l]),[r,o,u]}function KC(t){return typeof t=="function"}var QC=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),XC="VisuallyHidden",Il=k.forwardRef((t,n)=>w.jsx(Tt.span,{...t,ref:n,style:{...QC,...t.style}}));Il.displayName=XC;var ZC=Il,Bh="ToastProvider",[zh,$C,JC]=DC("Toast"),[Rw]=Bl("Toast",[JC]),[e1,Fl]=Rw(Bh),Dw=t=>{const{__scopeToast:n,label:r="Notification",duration:o=5e3,swipeDirection:l="right",swipeThreshold:u=50,children:d}=t,[f,m]=k.useState(null),[p,g]=k.useState(0),v=k.useRef(!1),b=k.useRef(!1);return r.trim()||console.error(`Invalid prop \`label\` supplied to \`${Bh}\`. Expected non-empty \`string\`.`),w.jsx(zh.Provider,{scope:n,children:w.jsx(e1,{scope:n,label:r,duration:o,swipeDirection:l,swipeThreshold:u,toastCount:p,viewport:f,onViewportChange:m,onToastAdd:k.useCallback(()=>g(S=>S+1),[]),onToastRemove:k.useCallback(()=>g(S=>S-1),[]),isFocusedToastEscapeKeyDownRef:v,isClosePausedRef:b,children:d})})};Dw.displayName=Bh;var Ow="ToastViewport",t1=["F8"],th="toast.viewportPause",ah="toast.viewportResume",Nw=k.forwardRef((t,
10n)=>{const{__scopeToast:r,hotkey:o=t1,label:l="Notifications ({hotkey})",...u}=t,d=Fl(Ow,r),f=$C(r),m=k.useRef(null),p=k.useRef(null),g=k.useRef(null),v=k.useRef(null),b=ma(n,v,d.onViewportChange),S=o.join("+").replace(/Key/g,"").replace(/Digit/g,""),T=d.toastCount>0;k.useEffect(()=>{const C=D=>{o.length!==0&&o.every(N=>D[N]||D.code===N)&&v.current?.focus()};return document.addEventListener("keydown",C),()=>document.removeEventListener("keydown",C)},[o]),k.useEffect(()=>{const C=m.current,D=v.current;if(T&&C&&D){const V=()=>{if(!d.isClosePausedRef.current){const Y=new CustomEvent(th);D.dispatchEvent(Y),d.isClosePausedRef.current=!0}},N=()=>{if(d.isClosePausedRef.current){const Y=new CustomEvent(ah);D.dispatchEvent(Y),d.isClosePausedRef.current=!1}},P=Y=>{!C.contains(Y.relatedTarget)&&N()},_=()=>{C.contains(document.activeElement)||N()};return C.addEventListener("focusin",V),C.addEventListener("focusout",P),C.addEventListener("pointermove",V),C.addEventListener("pointerleave",_),window.addEventListener("blur",V),window.addEventListener("focus",N),()=>{C.removeEventListener("focusin",V),C.removeEventListener("focusout",P),C.removeEventListener("pointermove",V),C.removeEventListener("pointerleave",_),window.removeEventListener("blur",V),window.removeEventListener("focus",N)}}},[T,d.isClosePausedRef]);const E=k.useCallback(({tabbingDirection:C})=>{const V=f().map(N=>{const P=N.ref.current,_=[P,...p1(P)];return C==="forwards"?_:_.reverse()});return(C==="forwards"?V.reverse():V).flat()},[f]);return k.useEffect(()=>{const C=v.current;if(C){const D=V=>{const N=V.altKey||V.ctrlKey||V.metaKey;if(V.key==="Tab"&&!N){const _=document.activeElement,Y=V.shiftKey;if(V.target===C&&Y){p.current?.focus();return}const X=E({tabbingDirection:Y?"backwards":"forwards"}),oe=X.findIndex(me=>me===_);xd(X.slice(oe+1))?V.preventDefault():Y?p.current?.focus():g.current?.focus()}};return C.addEventListener("keydown",D),()=>C.removeEventListener("keydown",D)}},[f,E]),w.jsxs(HC,{ref:m,role:"region","aria-label":l.replace("{hotkey}",S),tabIndex:-1,style:{pointerEvents:T?void 0:"none"},children:[T&&w.jsx(nh,{ref:p,onFocusFromOutsideViewport:()=>{const C=E({tabbingDirection:"forwards"});xd(C)}}),w.jsx(zh.Slot,{scope:r,children:w.jsx(Tt.ol,{tabIndex:-1,...u,ref:b})}),T&&w.jsx(nh,{ref:g,onFocusFromOutsideViewport:()=>{const C=E({tabbingDirection:"backwards"});xd(C)}})]})});Nw.displayName=Ow;var Vw="ToastFocusProxy",nh=k.forwardRef((t,n)=>{const{__scopeToast:r,onFocusFromOutsideViewport:o,...l}=t,u=Fl(Vw,r);return w.jsx(Il,{tabIndex:0,...l,ref:n,style:{position:"fixed"},onFocus:d=>{const f=d.relatedTarget;!u.viewport?.contains(f)&&o()}})});nh.displayName=Vw;var Ns="Toast",a1="toast.swipeStart",n1="toast.swipeMove",i1="toast.swipeCancel",r1="toast.swipeEnd",qw=k.forwardRef((t,n)=>{const{forceMount:r,open:o,defaultOpen:l,onOpenChange:u,...d}=t,[f,m]=GC({prop:o,defaultProp:l??!0,onChange:u,caller:Ns});return w.jsx(zl,{present:r||f,children:w.jsx(l1,{open:f,...d,ref:n,onClose:()=>m(!1),onPause:Rn(t.onPause),onResume:Rn(t.onResume),onSwipeStart:tt(t.onSwipeStart,p=>{p.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:tt(t.onSwipeMove,p=>{const{x:g,y:v}=p.detail.delta;p.currentTarget.setAttribute("data-swipe","move"),p.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${g}px`),p.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${v}px`)}),onSwipeCancel:tt(t.onSwipeCancel,p=>{p.currentTarget.setAttribute("data-swipe","cancel"),p.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),p.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),p.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),p.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:tt(t.onSwipeEnd,p=>{const{x:g,y:v}=p.detail.delta;p.currentTarget.setAttribute("data-swipe","end"),p.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),p.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),p.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${g}px`),p.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${v}px`),m(!1)})})})});qw.displayName=Ns;var[s1,o1]=Rw(Ns,{onClose(){}}
10),l1=k.forwardRef((t,n)=>{const{__scopeToast:r,type:o="foreground",duration:l,open:u,onClose:d,onEscapeKeyDown:f,onPause:m,onResume:p,onSwipeStart:g,onSwipeMove:v,onSwipeCancel:b,onSwipeEnd:S,...T}=t,E=Fl(Ns,r),[C,D]=k.useState(null),V=ma(n,J=>D(J)),N=k.useRef(null),P=k.useRef(null),_=l||E.duration,Y=k.useRef(0),Q=k.useRef(_),B=k.useRef(0),{onToastAdd:X,onToastRemove:oe}=E,me=Rn(()=>{C?.contains(document.activeElement)&&E.viewport?.focus(),d()}),ce=k.useCallback(J=>{!J||J===1/0||(window.clearTimeout(B.current),Y.current=new Date().getTime(),B.current=window.setTimeout(me,J))},[me]);k.useEffect(()=>{const J=E.viewport;if(J){const de=()=>{ce(Q.current),p?.()},q=()=>{const K=new Date().getTime()-Y.current;Q.current=Q.current-K,window.clearTimeout(B.current),m?.()};return J.addEventListener(th,q),J.addEventListener(ah,de),()=>{J.removeEventListener(th,q),J.removeEventListener(ah,de)}}},[E.viewport,_,m,p,ce]),k.useEffect(()=>{u&&!E.isClosePausedRef.current&&ce(_)},[u,_,E.isClosePausedRef,ce]),k.useEffect(()=>(X(),()=>oe()),[X,oe]);const we=k.useMemo(()=>C?Bw(C):null,[C]);return E.viewport?w.jsxs(w.Fragment,{children:[we&&w.jsx(c1,{__scopeToast:r,role:"status","aria-live":o==="foreground"?"assertive":"polite",children:we}),w.jsx(s1,{scope:r,onClose:me,children:Hl.createPortal(w.jsx(zh.ItemSlot,{scope:r,children:w.jsx(LC,{asChild:!0,onEscapeKeyDown:tt(f,()=>{E.isFocusedToastEscapeKeyDownRef.current||me(),E.isFocusedToastEscapeKeyDownRef.current=!1}),children:w.jsx(Tt.li,{tabIndex:0,"data-state":u?"open":"closed","data-swipe-direction":E.swipeDirection,...T,ref:V,style:{userSelect:"none",touchAction:"none",...t.style},onKeyDown:tt(t.onKeyDown,J=>{J.key==="Escape"&&(f?.(J.nativeEvent),J.nativeEvent.defaultPrevented||(E.isFocusedToastEscapeKeyDownRef.current=!0,me()))}),onPointerDown:tt(t.onPointerDown,J=>{J.button===0&&(N.current={x:J.clientX,y:J.clientY})}),onPointerMove:tt(t.onPointerMove,J=>{if(!N.current)return;const de=J.clientX-N.current.x,q=J.clientY-N.current.y,K=!!P.current,W=["left","right"].includes(E.swipeDirection),ee=["left","up"].includes(E.swipeDirection)?Math.min:Math.max,A=W?ee(0,de):0,I=W?0:ee(0,q),$=J.pointerType==="touch"?10:2,Z={x:A,y:I},se={originalEvent:J,delta:Z};K?(P.current=Z,al(n1,v,se,{discrete:!1})):nv(Z,E.swipeDirection,$)?(P.current=Z,al(a1,g,se,{discrete:!1}),J.target.setPointerCapture(J.pointerId)):(Math.abs(de)>$||Math.abs(q)>$)&&(N.current=null)}),onPointerUp:tt(t.onPointerUp,J=>{const de=P.current,q=J.target;if(q.hasPointerCapture(J.pointerId)&&q.releasePointerCapture(J.pointerId),P.current=null,N.current=null,de){const K=J.currentTarget,W={originalEvent:J,delta:de};nv(de,E.swipeDirection,E.swipeThreshold)?al(r1,S,W,{discrete:!0}):al(i1,b,W,{discrete:!0}),K.addEventListener("click",ee=>ee.preventDefault(),{once:!0})}})})})}),E.viewport)})]}):null}),c1=t=>{const{__scopeToast:n,children:r,...o}=t,l=Fl(Ns,n),[u,d]=k.useState(!1),[f,m]=k.useState(!1);return h1(()=>d(!0)),k.useEffect(()=>{const p=window.setTimeout(()=>m(!0),1e3);return()=>window.clearTimeout(p)},[]),f?null:w.jsx(Hh,{asChild:!0,children:w.jsx(Il,{...o,children:u&&w.jsxs(w.Fragment,{children:[l.label," ",r]})})})},u1="ToastTitle",jw=k.forwardRef((t,n)=>{const{__scopeToast:r,...o}=t;return w.jsx(Tt.div,{...o,ref:n})});jw.displayName=u1;var d1="ToastDescription",Uw=k.forwardRef((t,n)=>{const{__scopeToast:r,...o}=t;return w.jsx(Tt.div,{...o,ref:n})});Uw.displayName=d1;var Pw="ToastAction",_w=k.forwardRef((t,n)=>{const{altText:r,...o}=t;return r.trim()?w.jsx(Hw,{altText:r,asChild:!0,children:w.jsx(Ih,{...o,ref:n})}):(console.error(`Invalid prop \`altText\` supplied to \`${Pw}\`. Expected non-empty \`string\`.`),null)});_w.displayName=Pw;var Lw="ToastClose",Ih=k.forwardRef((t,n)=>{const{__scopeToast:r,...o}=t,l=o1(Lw,r);return w.jsx(Hw,{asChild:!0,children:w.jsx(Tt.button,{type:"button",...o,ref:n,onClick:tt(t.onClick,l.onClose)})})});Ih.displayName=Lw;var Hw=k.forwardRef((t,n)=>{const{__scopeToast:r,altText:o,...l}=t;return w.jsx(Tt.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":o||void 0,...l,ref:n})});function Bw(t){const n=[];
10return Array.from(t.childNodes).forEach(o=>{if(o.nodeType===o.TEXT_NODE&&o.textContent&&n.push(o.textContent),f1(o)){const l=o.ariaHidden||o.hidden||o.style.display==="none",u=o.dataset.radixToastAnnounceExclude==="";if(!l)if(u){const d=o.dataset.radixToastAnnounceAlt;d&&n.push(d)}else n.push(...Bw(o))}}),n}function al(t,n,r,{discrete:o}){const l=r.originalEvent.currentTarget,u=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:r});n&&l.addEventListener(t,n,{once:!0}),o?Tw(l,u):l.dispatchEvent(u)}var nv=(t,n,r=0)=>{const o=Math.abs(t.x),l=Math.abs(t.y),u=o>l;return n==="left"||n==="right"?u&&o>r:!u&&l>r};function h1(t=()=>{}){const n=Rn(t);Dn(()=>{let r=0,o=0;return r=window.requestAnimationFrame(()=>o=window.requestAnimationFrame(n)),()=>{window.cancelAnimationFrame(r),window.cancelAnimationFrame(o)}},[n])}function f1(t){return t.nodeType===t.ELEMENT_NODE}function p1(t){const n=[],r=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const l=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||l?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)n.push(r.currentNode);return n}function xd(t){const n=document.activeElement;return t.some(r=>r===n?!0:(r.focus(),document.activeElement!==n))}var m1=Dw,zw=Nw,Iw=qw,Fw=jw,Ww=Uw,Gw=_w,Yw=Ih;function Kw(t){var n,r,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t)){var l=t.length;for(n=0;n<l;n++)t[n]&&(r=Kw(t[n]))&&(o&&(o+=" "),o+=r)}else for(r in t)t[r]&&(o&&(o+=" "),o+=r);return o}function Qw(){for(var t,n,r=0,o="",l=arguments.length;r<l;r++)(t=arguments[r])&&(n=Kw(t))&&(o&&(o+=" "),o+=n);return o}const iv=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,rv=Qw,g1=(t,n)=>r=>{var o;if(n?.variants==null)return rv(t,r?.class,r?.className);const{variants:l,defaultVariants:u}=n,d=Object.keys(l).map(p=>{const g=r?.[p],v=u?.[p];if(g===null)return null;const b=iv(g)||iv(v);return l[p][b]}),f=r&&Object.entries(r).reduce((p,g)=>{let[v,b]=g;return b===void 0||(p[v]=b),p},{}),m=n==null||(o=n.compoundVariants)===null||o===void 0?void 0:o.reduce((p,g)=>{let{class:v,className:b,...S}=g;return Object.entries(S).every(T=>{let[E,C]=T;return Array.isArray(C)?C.includes({...u,...f}[E]):{...u,...f}[E]===C})?[...p,v,b]:p},[]);return rv(t,d,m,r?.class,r?.className)};const y1=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),v1=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(n,r,o)=>o?o.toUpperCase():r.toLowerCase()),sv=t=>{const n=v1(t);return n.charAt(0).toUpperCase()+n.slice(1)},Xw=(...t)=>t.filter((n,r,o)=>!!n&&n.trim()!==""&&o.indexOf(n)===r).join(" ").trim(),b1=t=>{for(const n in t)if(n.startsWith("aria-")||n==="role"||n==="title")return!0};var w1={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"};const x1=k.forwardRef(({color:t="currentColor",size:n=24,strokeWidth:r=2,absoluteStrokeWidth:o,className:l="",children:u,iconNode:d,...f},m)=>k.createElement("svg",{ref:m,...w1,width:n,height:n,stroke:t,strokeWidth:o?Number(r)*24/Number(n):r,className:Xw("lucide",l),...!u&&!b1(f)&&{"aria-hidden":"true"},...f},[...d.map(([p,g])=>k.createElement(p,g)),...Array.isArray(u)?u:[u]]));const Ct=(t,n)=>{const r=k.forwardRef(({className:o,...l},u)=>k.createElement(x1,{ref:u,iconNode:n,className:Xw(`lucide-${y1(sv(t))}`,`lucide-${t}`,o),...l}));return r.displayName=sv(t),r};const k1=[["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"}]],Zw=Ct("award",k1);const S1=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],A1=Ct("chevron-down",S1);const T1=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],C1=Ct("chevron-right",T1);const E1=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],M1=Ct("clock",E1);const R1=[["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"}]],D1=Ct("file-text",R1);const O1=[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]],ov=Ct("mail",O1);const N1=[["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"}]],lv=Ct("map-pin",N1);const V1=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],q1=Ct("menu",V1);const j1=[["path",{d:"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 
100 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",key:"9njp5v"}]],si=Ct("phone",j1);const U1=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],cv=Ct("search",U1);const P1=[["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"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Ji=Ct("shield-check",P1);const _1=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],uv=Ct("star",_1);const L1=[["path",{d:"M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2",key:"wrbu53"}],["path",{d:"M15 18H9",key:"1lyqi6"}],["path",{d:"M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14",key:"lysw3i"}],["circle",{cx:"17",cy:"18",r:"2",key:"332jqn"}],["circle",{cx:"7",cy:"18",r:"2",key:"19iecd"}]],$w=Ct("truck",L1);const H1=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Fh=Ct("x",H1),B1=(t,n)=>{const r=new Array(t.length+n.length);for(let o=0;o<t.length;o++)r[o]=t[o];for(let o=0;o<n.length;o++)r[t.length+o]=n[o];return r},z1=(t,n)=>({classGroupId:t,validator:n}),Jw=(t=new Map,n=null,r)=>({nextPart:t,validators:n,classGroupId:r}),Sl="-",dv=[],I1="arbitrary..",F1=t=>{const n=G1(t),{conflictingClassGroups:r,conflictingClassGroupModifiers:o}=t;return{getClassGroupId:d=>{if(d.startsWith("[")&&d.endsWith("]"))return W1(d);const f=d.split(Sl),m=f[0]===""&&f.length>1?1:0;return e0(f,m,n)},getConflictingClassGroupIds:(d,f)=>{if(f){const m=o[d],p=r[d];return m?p?B1(p,m):m:p||dv}return r[d]||dv}}},e0=(t,n,r)=>{if(t.length-n===0)return r.classGroupId;const l=t[n],u=r.nextPart.get(l);if(u){const p=e0(t,n+1,u);if(p)return p}const d=r.validators;if(d===null)return;const f=n===0?t.join(Sl):t.slice(n).join(Sl),m=d.length;for(let p=0;p<m;p++){const g=d[p];if(g.validator(f))return g.classGroupId}},W1=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=t.slice(1,-1),r=n.indexOf(":"),o=n.slice(0,r);return o?I1+o:void 0})(),G1=t=>{const{theme:n,classGroups:r}=t;return Y1(r,n)},Y1=(t,n)=>{const r=Jw();for(const o in t){const l=t[o];Wh(l,r,o,n)}return r},Wh=(t,n,r,o)=>{const l=t.length;for(let u=0;u<l;u++){const d=t[u];K1(d,n,r,o)}},K1=(t,n,r,o)=>{if(typeof t=="string"){Q1(t,n,r);return}if(typeof t=="function"){X1(t,n,r,o);return}Z1(t,n,r,o)},Q1=(t,n,r)=>{const o=t===""?n:t0(n,t);o.classGroupId=r},X1=(t,n,r,o)=>{if($1(t)){Wh(t(o),n,r,o);return}n.validators===null&&(n.validators=[]),n.validators.push(z1(r,t))},Z1=(t,n,r,o)=>{const l=Object.entries(t),u=l.length;for(let d=0;d<u;d++){const[f,m]=l[d];Wh(m,t0(n,f),r,o)}},t0=(t,n)=>{let r=t;const o=n.split(Sl),l=o.length;for(let u=0;u<l;u++){const d=o[u];let f=r.nextPart.get(d);f||(f=Jw(),r.nextPart.set(d,f)),r=f}return r},$1=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,J1=t=>{if(t<1)return{get:()=>{},set:()=>{}};let n=0,r=Object.create(null),o=Object.create(null);const l=(u,d)=>{r[u]=d,n++,n>t&&(n=0,o=r,r=Object.create(null))};return{get(u){let d=r[u];if(d!==void 0)return d;if((d=o[u])!==void 0)return l(u,d),d},set(u,d){u in r?r[u]=d:l(u,d)}}},ih="!",hv=":",eE=[],fv=(t,n,r,o,l)=>({modifiers:t,hasImportantModifier:n,baseClassName:r,maybePostfixModifierPosition:o,isExternal:l}),tE=t=>{const{prefix:n,experimentalParseClassName:r}=t;let o=l=>{const u=[];let d=0,f=0,m=0,p;const g=l.length;for(let E=0;E<g;E++){const C=l[E];if(d===0&&f===0){if(C===hv){u.push(l.slice(m,E)),m=E+1;continue}if(C==="/"){p=E;continue}}C==="["?d++:C==="]"?d--:C==="("?f++:C===")"&&f--}const v=u.length===0?l:l.slice(m);let b=v,S=!1;v.endsWith(ih)?(b=v.slice(0,-1),S=!0):v.startsWith(ih)&&(b=v.slice(1),S=!0);const T=p&&p>m?p-m:void 0;return fv(u,S,b,T)};if(n){const l=n+hv,u=o;o=d=>d.startsWith(l)?u(d.slice(l.length)):fv(eE,!1,d,void 0,!0)}if(r){const l=o;o=u=>r({className:u,parseClassName:l})}return o},aE=t=>{const n=new Map;
vendor: 5,277 bytes, line 10
10return t.orderSensitiveModifiers.forEach((r,o)=>{n.set(r,1e6+o)}),r=>{const o=[];let l=[];for(let u=0;u<r.length;u++){const d=r[u],f=d[0]==="[",m=n.has(d);f||m?(l.length>0&&(l.sort(),o.push(...l),l=[]),o.push(d)):l.push(d)}return l.length>0&&(l.sort(),o.push(...l)),o}},nE=t=>({cache:J1(t.cacheSize),parseClassName:tE(t),sortModifiers:aE(t),...F1(t)}),iE=/\s+/,rE=(t,n)=>{const{parseClassName:r,getClassGroupId:o,getConflictingClassGroupIds:l,sortModifiers:u}=n,d=[],f=t.trim().split(iE);let m="";for(let p=f.length-1;p>=0;p-=1){const g=f[p],{isExternal:v,modifiers:b,hasImportantModifier:S,baseClassName:T,maybePostfixModifierPosition:E}=r(g);if(v){m=g+(m.length>0?" "+m:m);continue}let C=!!E,D=o(C?T.substring(0,E):T);if(!D){if(!C){m=g+(m.length>0?" "+m:m);continue}if(D=o(T),!D){m=g+(m.length>0?" "+m:m);continue}C=!1}const V=b.length===0?"":b.length===1?b[0]:u(b).join(":"),N=S?V+ih:V,P=N+D;if(d.indexOf(P)>-1)continue;d.push(P);const _=l(D,C);for(let Y=0;Y<_.length;++Y){const Q=_[Y];d.push(N+Q)}m=g+(m.length>0?" "+m:m)}return m},sE=(...t)=>{let n=0,r,o,l="";for(;n<t.length;)(r=t[n++])&&(o=a0(r))&&(l&&(l+=" "),l+=o);return l},a0=t=>{if(typeof t=="string")return t;let n,r="";for(let o=0;o<t.length;o++)t[o]&&(n=a0(t[o]))&&(r&&(r+=" "),r+=n);return r},oE=(t,...n)=>{let r,o,l,u;const d=m=>{const p=n.reduce((g,v)=>v(g),t());return r=nE(p),o=r.cache.get,l=r.cache.set,u=f,f(m)},f=m=>{const p=o(m);if(p)return p;const g=rE(m,r);return l(m,g),g};return u=d,(...m)=>u(sE(...m))},lE=[],$e=t=>{const n=r=>r[t]||lE;return n.isThemeGetter=!0,n},n0=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,i0=/^\((?:(\w[\w-]*):)?(.+)\)$/i,cE=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,uE=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,dE=/\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$/,hE=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,fE=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,pE=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,An=t=>cE.test(t),be=t=>!!t&&!Number.isNaN(Number(t)),Tn=t=>!!t&&Number.isInteger(Number(t)),kd=t=>t.endsWith("%")&&be(t.slice(0,-1)),Ga=t=>uE.test(t),r0=()=>!0,mE=t=>dE.test(t)&&!hE.test(t),Gh=()=>!1,gE=t=>fE.test(t),yE=t=>pE.test(t),vE=t=>!ae(t)&&!ie(t),bE=t=>qn(t,l0,Gh),ae=t=>n0.test(t),ei=t=>qn(t,c0,mE),pv=t=>qn(t,EE,be),wE=t=>qn(t,d0,r0),xE=t=>qn(t,u0,Gh),mv=t=>qn(t,s0,Gh),kE=t=>qn(t,o0,yE),nl=t=>qn(t,h0,gE),ie=t=>i0.test(t),gs=t=>di(t,c0),SE=t=>di(t,u0),gv=t=>di(t,s0),AE=t=>di(t,l0),TE=t=>di(t,o0),il=t=>di(t,h0,!0),CE=t=>di(t,d0,!0),qn=(t,n,r)=>{const o=n0.exec(t);return o?o[1]?n(o[1]):r(o[2]):!1},di=(t,n,r=!1)=>{const o=i0.exec(t);return o?o[1]?n(o[1]):r:!1},s0=t=>t==="position"||t==="percentage",o0=t=>t==="image"||t==="url",l0=t=>t==="length"||t==="size"||t==="bg-size",c0=t=>t==="length",EE=t=>t==="number",u0=t=>t==="family-name",d0=t=>t==="number"||t==="weight",h0=t=>t==="shadow",ME=()=>{const t=$e("color"),n=$e("font"),r=$e("text"),o=$e("font-weight"),l=$e("tracking"),u=$e("leading"),d=$e("breakpoint"),f=$e("container"),m=$e("spacing"),p=$e("radius"),g=$e("shadow"),v=$e("inset-shadow"),b=$e("text-shadow"),S=$e("drop-shadow"),T=$e("blur"),E=$e("perspective"),C=$e("aspect"),D=$e("ease"),V=$e("animate"),N=()=>["auto","avoid","all","avoid-page","page","left","right","column"],P=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],_=()=>[...P(),ie,ae],Y=()=>["auto","hidden","clip","visible","scroll"],Q=()=>["auto","contain","none"],B=()=>[ie,ae,m],X=()=>[An,"full","auto",...B()],oe=()=>[Tn,"none","subgrid",ie,ae],me=()=>["auto",{span:["full",Tn,ie,ae]},Tn,ie,ae],ce=()=>[Tn,"auto",ie,ae],we=()=>["auto","min","max","fr",ie,ae],J=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],de=()=>["start","end","center","stretch","center-safe","end-safe"],q=()=>["auto",...B()],K=()=>[An,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...B()],W=()=>[An,"screen","full","dvw","lvw","svw","min","max","fit",...B()],ee=()=>[An,"screen","full","lh","dvh","lvh","svh","min","max","fit",...B()],A=()=>[t,ie,ae],I=()=>[...P(),gv,mv,{position:[ie,ae]}],$=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Z=()=>["auto","cover","contain",AE,bE,{size:[ie,ae]}],se=()=>[kd,gs,ei],he=()=>["","none","full",p,ie,ae],re=()=>["",be,gs,ei],_e=()=>["solid","dashed","dotted","double"],Ee=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Me=()=>[be,kd,gv,mv],Za=()=>["","none",T,ie,ae],ra=()=>["none",be,ie,ae],va=()=>["none",be,ie,ae],Yt=()=>[be,ie,ae],$a=()=>[An,"full",...B()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Ga],breakpoint:[Ga],color:[r0],container:[Ga],"drop-shadow":[Ga],ease:["in","out","in-out"],font:[vE],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Ga],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Ga
vendor: 6,293 bytes, line 10
10],shadow:[Ga],spacing:["px",be],text:[Ga],"text-shadow":[Ga],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",An,ae,ie,C]}],container:["container"],columns:[{columns:[be,ae,ie,f]}],"break-after":[{"break-after":N()}],"break-before":[{"break-before":N()}],"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"],sr:["sr-only","not-sr-only"],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:_()}],overflow:[{overflow:Y()}],"overflow-x":[{"overflow-x":Y()}],"overflow-y":[{"overflow-y":Y()}],overscroll:[{overscroll:Q()}],"overscroll-x":[{"overscroll-x":Q()}],"overscroll-y":[{"overscroll-y":Q()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:X()}],"inset-x":[{"inset-x":X()}],"inset-y":[{"inset-y":X()}],start:[{"inset-s":X(),start:X()}],end:[{"inset-e":X(),end:X()}],"inset-bs":[{"inset-bs":X()}],"inset-be":[{"inset-be":X()}],top:[{top:X()}],right:[{right:X()}],bottom:[{bottom:X()}],left:[{left:X()}],visibility:["visible","invisible","collapse"],z:[{z:[Tn,"auto",ie,ae]}],basis:[{basis:[An,"full","auto",f,...B()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[be,An,"auto","initial","none",ae]}],grow:[{grow:["",be,ie,ae]}],shrink:[{shrink:["",be,ie,ae]}],order:[{order:[Tn,"first","last","none",ie,ae]}],"grid-cols":[{"grid-cols":oe()}],"col-start-end":[{col:me()}],"col-start":[{"col-start":ce()}],"col-end":[{"col-end":ce()}],"grid-rows":[{"grid-rows":oe()}],"row-start-end":[{row:me()}],"row-start":[{"row-start":ce()}],"row-end":[{"row-end":ce()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":we()}],"auto-rows":[{"auto-rows":we()}],gap:[{gap:B()}],"gap-x":[{"gap-x":B()}],"gap-y":[{"gap-y":B()}],"justify-content":[{justify:[...J(),"normal"]}],"justify-items":[{"justify-items":[...de(),"normal"]}],"justify-self":[{"justify-self":["auto",...de()]}],"align-content":[{content:["normal",...J()]}],"align-items":[{items:[...de(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...de(),{baseline:["","last"]}]}],"place-content":[{"place-content":J()}],"place-items":[{"place-items":[...de(),"baseline"]}],"place-self":[{"place-self":["auto",...de()]}],p:[{p:B()}],px:[{px:B()}],py:[{py:B()}],ps:[{ps:B()}],pe:[{pe:B()}],pbs:[{pbs:B()}],pbe:[{pbe:B()}],pt:[{pt:B()}],pr:[{pr:B()}],pb:[{pb:B()}],pl:[{pl:B()}],m:[{m:q()}],mx:[{mx:q()}],my:[{my:q()}],ms:[{ms:q()}],me:[{me:q()}],mbs:[{mbs:q()}],mbe:[{mbe:q()}],mt:[{mt:q()}],mr:[{mr:q()}],mb:[{mb:q()}],ml:[{ml:q()}],"space-x":[{"space-x":B()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":B()}],"space-y-reverse":["space-y-reverse"],size:[{size:K()}],"inline-size":[{inline:["auto",...W()]}],"min-inline-size":[{"min-inline":["auto",...W()]}],"max-inline-size":[{"max-inline":["none",...W()]}],"block-size":[{block:["auto",...ee()]}],"min-block-size":[{"min-block":["auto",...ee()]}],"max-block-size":[{"max-block":["none",...ee()]}],w:[{w:[f,"screen",...K()]}],"min-w":[{"min-w":[f,"screen","none",...K()]}],"max-w":[{"max-w":[f,"screen","none","prose",{screen:[d]},...K()]}],h:[{h:["screen","lh",...K()]}],"min-h":[{"min-h":["screen","lh","none",...K()]}],"max-h":[{"max-h":["screen","lh",...K()]}],"font-size":[{text:["base",r,gs,ei]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,CE,wE]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",kd,ae]}],"font-family":[{font:[SE,xE,n]}],"font-features":[{"font-features":[ae]}],"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:[l,ie,ae]}],"line-clamp":[{"line-clamp":[be,"none",ie,pv]}],leading:[{leading:[u,...B()]}],"list-image":[{"list-image":["none",ie,ae]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ie,ae]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:A()}],"text-color":[{text:A()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[..._e(),"wavy"]}],"text-decoration-thickness":[{decoration:[be,"from-font","auto",ie,ei]}],"text-decoration-color":[{decoration:A()}],"underline-offset":[{"underline-offset":[be,"auto",ie,ae]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:B()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ie,ae]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ie,ae]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:I()}],"bg-repeat":[{bg:$()}],"bg-size":[{bg:Z()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Tn,ie,ae],radial:["",ie,ae],conic:[Tn,ie,ae]},TE,kE]}],"bg-color":[{bg:A()}],"gradient-from-pos":[{from:se()}
vendor: 7,402 bytes, line 10
10],"gradient-via-pos":[{via:se()}],"gradient-to-pos":[{to:se()}],"gradient-from":[{from:A()}],"gradient-via":[{via:A()}],"gradient-to":[{to:A()}],rounded:[{rounded:he()}],"rounded-s":[{"rounded-s":he()}],"rounded-e":[{"rounded-e":he()}],"rounded-t":[{"rounded-t":he()}],"rounded-r":[{"rounded-r":he()}],"rounded-b":[{"rounded-b":he()}],"rounded-l":[{"rounded-l":he()}],"rounded-ss":[{"rounded-ss":he()}],"rounded-se":[{"rounded-se":he()}],"rounded-ee":[{"rounded-ee":he()}],"rounded-es":[{"rounded-es":he()}],"rounded-tl":[{"rounded-tl":he()}],"rounded-tr":[{"rounded-tr":he()}],"rounded-br":[{"rounded-br":he()}],"rounded-bl":[{"rounded-bl":he()}],"border-w":[{border:re()}],"border-w-x":[{"border-x":re()}],"border-w-y":[{"border-y":re()}],"border-w-s":[{"border-s":re()}],"border-w-e":[{"border-e":re()}],"border-w-bs":[{"border-bs":re()}],"border-w-be":[{"border-be":re()}],"border-w-t":[{"border-t":re()}],"border-w-r":[{"border-r":re()}],"border-w-b":[{"border-b":re()}],"border-w-l":[{"border-l":re()}],"divide-x":[{"divide-x":re()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":re()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[..._e(),"hidden","none"]}],"divide-style":[{divide:[..._e(),"hidden","none"]}],"border-color":[{border:A()}],"border-color-x":[{"border-x":A()}],"border-color-y":[{"border-y":A()}],"border-color-s":[{"border-s":A()}],"border-color-e":[{"border-e":A()}],"border-color-bs":[{"border-bs":A()}],"border-color-be":[{"border-be":A()}],"border-color-t":[{"border-t":A()}],"border-color-r":[{"border-r":A()}],"border-color-b":[{"border-b":A()}],"border-color-l":[{"border-l":A()}],"divide-color":[{divide:A()}],"outline-style":[{outline:[..._e(),"none","hidden"]}],"outline-offset":[{"outline-offset":[be,ie,ae]}],"outline-w":[{outline:["",be,gs,ei]}],"outline-color":[{outline:A()}],shadow:[{shadow:["","none",g,il,nl]}],"shadow-color":[{shadow:A()}],"inset-shadow":[{"inset-shadow":["none",v,il,nl]}],"inset-shadow-color":[{"inset-shadow":A()}],"ring-w":[{ring:re()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:A()}],"ring-offset-w":[{"ring-offset":[be,ei]}],"ring-offset-color":[{"ring-offset":A()}],"inset-ring-w":[{"inset-ring":re()}],"inset-ring-color":[{"inset-ring":A()}],"text-shadow":[{"text-shadow":["none",b,il,nl]}],"text-shadow-color":[{"text-shadow":A()}],opacity:[{opacity:[be,ie,ae]}],"mix-blend":[{"mix-blend":[...Ee(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Ee()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[be]}],"mask-image-linear-from-pos":[{"mask-linear-from":Me()}],"mask-image-linear-to-pos":[{"mask-linear-to":Me()}],"mask-image-linear-from-color":[{"mask-linear-from":A()}],"mask-image-linear-to-color":[{"mask-linear-to":A()}],"mask-image-t-from-pos":[{"mask-t-from":Me()}],"mask-image-t-to-pos":[{"mask-t-to":Me()}],"mask-image-t-from-color":[{"mask-t-from":A()}],"mask-image-t-to-color":[{"mask-t-to":A()}],"mask-image-r-from-pos":[{"mask-r-from":Me()}],"mask-image-r-to-pos":[{"mask-r-to":Me()}],"mask-image-r-from-color":[{"mask-r-from":A()}],"mask-image-r-to-color":[{"mask-r-to":A()}],"mask-image-b-from-pos":[{"mask-b-from":Me()}],"mask-image-b-to-pos":[{"mask-b-to":Me()}],"mask-image-b-from-color":[{"mask-b-from":A()}],"mask-image-b-to-color":[{"mask-b-to":A()}],"mask-image-l-from-pos":[{"mask-l-from":Me()}],"mask-image-l-to-pos":[{"mask-l-to":Me()}],"mask-image-l-from-color":[{"mask-l-from":A()}],"mask-image-l-to-color":[{"mask-l-to":A()}],"mask-image-x-from-pos":[{"mask-x-from":Me()}],"mask-image-x-to-pos":[{"mask-x-to":Me()}],"mask-image-x-from-color":[{"mask-x-from":A()}],"mask-image-x-to-color":[{"mask-x-to":A()}],"mask-image-y-from-pos":[{"mask-y-from":Me()}],"mask-image-y-to-pos":[{"mask-y-to":Me()}],"mask-image-y-from-color":[{"mask-y-from":A()}],"mask-image-y-to-color":[{"mask-y-to":A()}],"mask-image-radial":[{"mask-radial":[ie,ae]}],"mask-image-radial-from-pos":[{"mask-radial-from":Me()}],"mask-image-radial-to-pos":[{"mask-radial-to":Me()}],"mask-image-radial-from-color":[{"mask-radial-from":A()}],"mask-image-radial-to-color":[{"mask-radial-to":A()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":P()}],"mask-image-conic-pos":[{"mask-conic":[be]}],"mask-image-conic-from-pos":[{"mask-conic-from":Me()}],"mask-image-conic-to-pos":[{"mask-conic-to":Me()}],"mask-image-conic-from-color":[{"mask-conic-from":A()}],"mask-image-conic-to-color":[{"mask-conic-to":A()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:I()}],"mask-repeat":[{mask:$()}],"mask-size":[{mask:Z()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ie,ae]}],filter:[{filter:["","none",ie,ae]}],blur:[{blur:Za()}],brightness:[{brightness:[be,ie,ae]}],contrast:[{contrast:[be,ie,ae]}],"drop-shadow":[{"drop-shadow":["","none",S,il,nl]}],"drop-shadow-color":[{"drop-shadow":A()}],grayscale:[{grayscale:["",be,ie,ae]}],"hue-rotate":[{"hue-rotate":[be,ie,ae]}],invert:[{invert:["",be,ie,ae]}],saturate:[{saturate:[be,ie,ae]}],sepia:[{sepia:["",be,ie,ae]}],"backdrop-filter":[{"backdrop-filter":["","none",ie,ae]}],"backdrop-blur":[{"backdrop-blur":Za()}],"backdrop-brightness":[{"backdrop-brightness":[be,ie,ae]}],"backdrop-contrast":[{"backdrop-contrast":[be,ie,ae]}],"backdrop-grayscale":[{"backdrop-grayscale":["",be,ie,ae]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[be,ie,ae]}],"backdrop-invert":[{"backdrop-invert":["",be,ie,ae]}],"backdrop-opacity":[{"backdrop-opacity":[be,ie,ae]}],"backdrop-saturate":[{"backdrop-saturate":[be,ie,ae]}],"backdrop-sepia":[{"backdrop-sepia":["",be,ie,ae]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":B()}],"border-spacing-x":[{"border-spacing-x":B()}],"border-spacing-y":[{"border-spacing-y":B()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ie,ae]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[be,"initial",ie,ae]}],ease:[{ease:["linear","initial",D,ie,ae]}],delay:[{delay:[be,ie,ae]}],animate:[{animate:["none",V,ie,ae]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[E,ie,ae]}],"perspective-origin":[{"perspective-origin":_()}],rotate:[{rotate:ra()}],"rotate-x":[{"rotate-x":ra()}],"rotate-y":[{"rotate-y":ra()}],"rotate-z":[{"rotate-z":ra()}],scale:[{scale:va()}],"scale-x":[{"scale-x":va()}],"scale-y":[{"scale-y":va()}],"scale-z":[{"scale-z":va()}],"scale-3d":["scale-3d"],skew:[{skew:Yt()}],"skew-x":[{"skew-x":Yt()}],"skew-y":[{"skew-y":Yt()}],transform:[{transform:[ie,ae,"","none","gpu","cpu"]}],"transform-origin":[{origin:_()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:$a()}],"translate-x":[{"translate-x":$a()}],"translate-y":[{"translate-y":$a()}],"translate-z":[{"translate-z":$a()}],"translate-none":["translate-none"],accent:[{accent:A()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:A()}
10],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],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",ie,ae]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":B()}],"scroll-mx":[{"scroll-mx":B()}],"scroll-my":[{"scroll-my":B()}],"scroll-ms":[{"scroll-ms":B()}],"scroll-me":[{"scroll-me":B()}],"scroll-mbs":[{"scroll-mbs":B()}],"scroll-mbe":[{"scroll-mbe":B()}],"scroll-mt":[{"scroll-mt":B()}],"scroll-mr":[{"scroll-mr":B()}],"scroll-mb":[{"scroll-mb":B()}],"scroll-ml":[{"scroll-ml":B()}],"scroll-p":[{"scroll-p":B()}],"scroll-px":[{"scroll-px":B()}],"scroll-py":[{"scroll-py":B()}],"scroll-ps":[{"scroll-ps":B()}],"scroll-pe":[{"scroll-pe":B()}],"scroll-pbs":[{"scroll-pbs":B()}],"scroll-pbe":[{"scroll-pbe":B()}],"scroll-pt":[{"scroll-pt":B()}],"scroll-pr":[{"scroll-pr":B()}],"scroll-pb":[{"scroll-pb":B()}],"scroll-pl":[{"scroll-pl":B()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ie,ae]}],fill:[{fill:["none",...A()]}],"stroke-w":[{stroke:[be,gs,ei,pv]}],stroke:[{stroke:["none",...A()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","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","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","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-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","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-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","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"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","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-pbs","scroll-pbe","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"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},RE=oE(ME);function hi(...t){return RE(Qw(t))}const DE=m1,f0=k.forwardRef(({className:t,...n},r)=>w.jsx(zw,{ref:r,className:hi("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]",t),...n}));f0.displayName=zw.displayName;const OE=g1("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"}}),p0=k.forwardRef(({className:t,variant:n,...r},o)=>w.jsx(Iw,{ref:o,className:hi(OE({variant:n}),t),...r}));p0.displayName=Iw.displayName;const NE=k.forwardRef(({className:t,...n},r)=>w.jsx(Gw,{ref:r,className:hi("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",t),...n}));NE.displayName=Gw.displayName;const m0=k.forwardRef(({className:t,...n},r)=>w.jsx(Yw,{ref:r,className:hi("absolute right-2 top-2 rounded-md p-1 text-foreground
vendor: 4,012 bytes, line 10
10/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",t),"toast-close":"",...n,children:w.jsx(Fh,{className:"h-4 w-4"})}));m0.displayName=Yw.displayName;const g0=k.forwardRef(({className:t,...n},r)=>w.jsx(Fw,{ref:r,className:hi("text-sm font-semibold",t),...n}));g0.displayName=Fw.displayName;const y0=k.forwardRef(({className:t,...n},r)=>w.jsx(Ww,{ref:r,className:hi("text-sm opacity-90",t),...n}));y0.displayName=Ww.displayName;function VE(){const{toasts:t}=kC();return w.jsxs(DE,{children:[t.map(function({id:n,title:r,description:o,action:l,...u}){return w.jsxs(p0,{...u,children:[w.jsxs("div",{className:"grid gap-1",children:[r&&w.jsx(g0,{children:r}),o&&w.jsx(y0,{children:o})]}),l,w.jsx(m0,{})]},n)}),w.jsx(f0,{})]})}const qE=["top","right","bottom","left"],On=Math.min,Wt=Math.max,Al=Math.round,rl=Math.floor,Ea=t=>({x:t,y:t}),jE={left:"right",right:"left",bottom:"top",top:"bottom"};function rh(t,n,r){return Wt(t,On(n,r))}function Ya(t,n){return typeof t=="function"?t(n):t}function Ka(t){return t.split("-")[0]}function dr(t){return t.split("-")[1]}function Yh(t){return t==="x"?"y":"x"}function Kh(t){return t==="y"?"height":"width"}function Ca(t){const n=t[0];return n==="t"||n==="b"?"y":"x"}function Qh(t){return Yh(Ca(t))}function UE(t,n,r){r===void 0&&(r=!1);const o=dr(t),l=Qh(t),u=Kh(l);let d=l==="x"?o===(r?"end":"start")?"right":"left":o==="start"?"bottom":"top";return n.reference[u]>n.floating[u]&&(d=Tl(d)),[d,Tl(d)]}function PE(t){const n=Tl(t);return[sh(t),n,sh(n)]}function sh(t){return t.includes("start")?t.replace("start","end"):t.replace("end","start")}const yv=["left","right"],vv=["right","left"],_E=["top","bottom"],LE=["bottom","top"];function HE(t,n,r){switch(t){case"top":case"bottom":return r?n?vv:yv:n?yv:vv;case"left":case"right":return n?_E:LE;default:return[]}}function BE(t,n,r,o){const l=dr(t);let u=HE(Ka(t),r==="start",o);return l&&(u=u.map(d=>d+"-"+l),n&&(u=u.concat(u.map(sh)))),u}function Tl(t){const n=Ka(t);return jE[n]+t.slice(n.length)}function zE(t){return{top:0,right:0,bottom:0,left:0,...t}}function v0(t){return typeof t!="number"?zE(t):{top:t,right:t,bottom:t,left:t}}function Cl(t){const{x:n,y:r,width:o,height:l}=t;return{width:o,height:l,top:r,left:n,right:n+o,bottom:r+l,x:n,y:r}}function bv(t,n,r){let{reference:o,floating:l}=t;const u=Ca(n),d=Qh(n),f=Kh(d),m=Ka(n),p=u==="y",g=o.x+o.width/2-l.width/2,v=o.y+o.height/2-l.height/2,b=o[f]/2-l[f]/2;let S;switch(m){case"top":S={x:g,y:o.y-l.height};break;case"bottom":S={x:g,y:o.y+o.height};break;case"right":S={x:o.x+o.width,y:v};break;case"left":S={x:o.x-l.width,y:v};break;default:S={x:o.x,y:o.y}}switch(dr(n)){case"start":S[d]-=b*(r&&p?-1:1);break;case"end":S[d]+=b*(r&&p?-1:1);break}return S}async function IE(t,n){var r;n===void 0&&(n={});const{x:o,y:l,platform:u,rects:d,elements:f,strategy:m}=t,{boundary:p="clippingAncestors",rootBoundary:g="viewport",elementContext:v="floating",altBoundary:b=!1,padding:S=0}=Ya(n,t),T=v0(S),C=f[b?v==="floating"?"reference":"floating":v],D=Cl(await u.getClippingRect({element:(r=await(u.isElement==null?void 0:u.isElement(C)))==null||r?C:C.contextElement||await(u.getDocumentElement==null?void 0:u.getDocumentElement(f.floating)),boundary:p,rootBoundary:g,strategy:m})),V=v==="floating"?{x:o,y:l,width:d.floating.width,height:d.floating.height}:d.reference,N=await(u.getOffsetParent==null?void 0:u.getOffsetParent(f.floating)),P=await(u.isElement==null?void 0:u.isElement(N))?await(u.getScale==null?void 0:u.getScale(N))||{x:1,y:1}:{x:1,y:1},_=Cl(u.convertOffsetParentRelativeRectToViewportRelativeRect?await u.convertOffsetParentRelativeRectToViewportRelativeRect({elements:f,rect:V,offsetParent:N,strategy:m}):V);return{top:(D.top-_.top+T.top)/P.y,bottom:(_.bottom-D.bottom+T.bottom)/P.y,left:(D.left-_.left+T.left)/P.x,r
vendor: 4,098 bytes, line 10
10ight:(_.right-D.right+T.right)/P.x}}const FE=50,WE=async(t,n,r)=>{const{placement:o="bottom",strategy:l="absolute",middleware:u=[],platform:d}=r,f=d.detectOverflow?d:{...d,detectOverflow:IE},m=await(d.isRTL==null?void 0:d.isRTL(n));let p=await d.getElementRects({reference:t,floating:n,strategy:l}),{x:g,y:v}=bv(p,o,m),b=o,S=0;const T={};for(let E=0;E<u.length;E++){const C=u[E];if(!C)continue;const{name:D,fn:V}=C,{x:N,y:P,data:_,reset:Y}=await V({x:g,y:v,initialPlacement:o,placement:b,strategy:l,middlewareData:T,rects:p,platform:f,elements:{reference:t,floating:n}});g=N??g,v=P??v,T[D]={...T[D],..._},Y&&S<FE&&(S++,typeof Y=="object"&&(Y.placement&&(b=Y.placement),Y.rects&&(p=Y.rects===!0?await d.getElementRects({reference:t,floating:n,strategy:l}):Y.rects),{x:g,y:v}=bv(p,b,m)),E=-1)}return{x:g,y:v,placement:b,strategy:l,middlewareData:T}},GE=t=>({name:"arrow",options:t,async fn(n){const{x:r,y:o,placement:l,rects:u,platform:d,elements:f,middlewareData:m}=n,{element:p,padding:g=0}=Ya(t,n)||{};if(p==null)return{};const v=v0(g),b={x:r,y:o},S=Qh(l),T=Kh(S),E=await d.getDimensions(p),C=S==="y",D=C?"top":"left",V=C?"bottom":"right",N=C?"clientHeight":"clientWidth",P=u.reference[T]+u.reference[S]-b[S]-u.floating[T],_=b[S]-u.reference[S],Y=await(d.getOffsetParent==null?void 0:d.getOffsetParent(p));let Q=Y?Y[N]:0;(!Q||!await(d.isElement==null?void 0:d.isElement(Y)))&&(Q=f.floating[N]||u.floating[T]);const B=P/2-_/2,X=Q/2-E[T]/2-1,oe=On(v[D],X),me=On(v[V],X),ce=oe,we=Q-E[T]-me,J=Q/2-E[T]/2+B,de=rh(ce,J,we),q=!m.arrow&&dr(l)!=null&&J!==de&&u.reference[T]/2-(J<ce?oe:me)-E[T]/2<0,K=q?J<ce?J-ce:J-we:0;return{[S]:b[S]+K,data:{[S]:de,centerOffset:J-de-K,...q&&{alignmentOffset:K}},reset:q}}}),YE=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(n){var r,o;const{placement:l,middlewareData:u,rects:d,initialPlacement:f,platform:m,elements:p}=n,{mainAxis:g=!0,crossAxis:v=!0,fallbackPlacements:b,fallbackStrategy:S="bestFit",fallbackAxisSideDirection:T="none",flipAlignment:E=!0,...C}=Ya(t,n);if((r=u.arrow)!=null&&r.alignmentOffset)return{};const D=Ka(l),V=Ca(f),N=Ka(f)===f,P=await(m.isRTL==null?void 0:m.isRTL(p.floating)),_=b||(N||!E?[Tl(f)]:PE(f)),Y=T!=="none";!b&&Y&&_.push(...BE(f,E,T,P));const Q=[f,..._],B=await m.detectOverflow(n,C),X=[];let oe=((o=u.flip)==null?void 0:o.overflows)||[];if(g&&X.push(B[D]),v){const J=UE(l,d,P);X.push(B[J[0]],B[J[1]])}if(oe=[...oe,{placement:l,overflows:X}],!X.every(J=>J<=0)){var me,ce;const J=(((me=u.flip)==null?void 0:me.index)||0)+1,de=Q[J];if(de&&(!(v==="alignment"?V!==Ca(de):!1)||oe.every(W=>Ca(W.placement)===V?W.overflows[0]>0:!0)))return{data:{index:J,overflows:oe},reset:{placement:de}};let q=(ce=oe.filter(K=>K.overflows[0]<=0).sort((K,W)=>K.overflows[1]-W.overflows[1])[0])==null?void 0:ce.placement;if(!q)switch(S){case"bestFit":{var we;const K=(we=oe.filter(W=>{if(Y){const ee=Ca(W.placement);return ee===V||ee==="y"}return!0}).map(W=>[W.placement,W.overflows.filter(ee=>ee>0).reduce((ee,A)=>ee+A,0)]).sort((W,ee)=>W[1]-ee[1])[0])==null?void 0:we[0];K&&(q=K);break}case"initialPlacement":q=f;break}if(l!==q)return{reset:{placement:q}}}return{}}}};function wv(t,n){return{top:t.top-n.height,right:t.right-n.width,bottom:t.bottom-n.height,left:t.left-n.width}}function xv(t){return qE.some(n=>t[n]>=0)}const KE=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(n){const{rects:r,platform:o}=n,{strategy:l="referenceHidden",...u}=Ya(t,n);switch(l){case"referenceHidden":{const d=await o.detectOverflow(n,{...u,elementContext:"reference"}),f=wv(d,r.reference);return{data:{referenceHiddenOffsets:f,referenceHidden:xv(f)}}}case"escaped":{const d=await o.detectOverflow(n,{...u,altBoundary:!0}),f=wv(d,r.floating);return{data:{escapedOffsets:f,escaped:xv(f)}}}default:return{}}}}},b0=new Set(["left","top"]);async function QE(t,n){const{placement:r,platform:o,elements:l}=t,u=await(o.isRTL==null?void 0:o.isRTL(l.floating)),d=Ka(r),f=dr(r),m=Ca(r)==="y",p=b0.has(d)?-1:1,g=u&&m?-1:1,v=Ya(n,t);let{mainAxis:b,crossAxis:S,alignmentAxis:T}=typeof v=="number"?{mainAxis:v,crossAxis:0,alignmentAxis:null}
10:{mainAxis:v.mainAxis||0,crossAxis:v.crossAxis||0,alignmentAxis:v.alignmentAxis};return f&&typeof T=="number"&&(S=f==="end"?T*-1:T),m?{x:S*g,y:b*p}:{x:b*p,y:S*g}}const XE=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(n){var r,o;const{x:l,y:u,placement:d,middlewareData:f}=n,m=await QE(n,t);return d===((r=f.offset)==null?void 0:r.placement)&&(o=f.arrow)!=null&&o.alignmentOffset?{}:{x:l+m.x,y:u+m.y,data:{...m,placement:d}}}}},ZE=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(n){const{x:r,y:o,placement:l,platform:u}=n,{mainAxis:d=!0,crossAxis:f=!1,limiter:m={fn:D=>{let{x:V,y:N}=D;return{x:V,y:N}}},...p}=Ya(t,n),g={x:r,y:o},v=await u.detectOverflow(n,p),b=Ca(Ka(l)),S=Yh(b);let T=g[S],E=g[b];if(d){const D=S==="y"?"top":"left",V=S==="y"?"bottom":"right",N=T+v[D],P=T-v[V];T=rh(N,T,P)}if(f){const D=b==="y"?"top":"left",V=b==="y"?"bottom":"right",N=E+v[D],P=E-v[V];E=rh(N,E,P)}const C=m.fn({...n,[S]:T,[b]:E});return{...C,data:{x:C.x-r,y:C.y-o,enabled:{[S]:d,[b]:f}}}}}},$E=function(t){return t===void 0&&(t={}),{options:t,fn(n){const{x:r,y:o,placement:l,rects:u,middlewareData:d}=n,{offset:f=0,mainAxis:m=!0,crossAxis:p=!0}=Ya(t,n),g={x:r,y:o},v=Ca(l),b=Yh(v);let S=g[b],T=g[v];const E=Ya(f,n),C=typeof E=="number"?{mainAxis:E,crossAxis:0}:{mainAxis:0,crossAxis:0,...E};if(m){const N=b==="y"?"height":"width",P=u.reference[b]-u.floating[N]+C.mainAxis,_=u.reference[b]+u.reference[N]-C.mainAxis;S<P?S=P:S>_&&(S=_)}if(p){var D,V;const N=b==="y"?"width":"height",P=b0.has(Ka(l)),_=u.reference[v]-u.floating[N]+(P&&((D=d.offset)==null?void 0:D[v])||0)+(P?0:C.crossAxis),Y=u.reference[v]+u.reference[N]+(P?0:((V=d.offset)==null?void 0:V[v])||0)-(P?C.crossAxis:0);T<_?T=_:T>Y&&(T=Y)}return{[b]:S,[v]:T}}}},JE=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(n){var r,o;const{placement:l,rects:u,platform:d,elements:f}=n,{apply:m=()=>{},...p}=Ya(t,n),g=await d.detectOverflow(n,p),v=Ka(l),b=dr(l),S=Ca(l)==="y",{width:T,height:E}=u.floating;let C,D;v==="top"||v==="bottom"?(C=v,D=b===(await(d.isRTL==null?void 0:d.isRTL(f.floating))?"start":"end")?"left":"right"):(D=v,C=b==="end"?"top":"bottom");const V=E-g.top-g.bottom,N=T-g.left-g.right,P=On(E-g[C],V),_=On(T-g[D],N),Y=!n.middlewareData.shift;let Q=P,B=_;if((r=n.middlewareData.shift)!=null&&r.enabled.x&&(B=N),(o=n.middlewareData.shift)!=null&&o.enabled.y&&(Q=V),Y&&!b){const oe=Wt(g.left,0),me=Wt(g.right,0),ce=Wt(g.top,0),we=Wt(g.bottom,0);S?B=T-2*(oe!==0||me!==0?oe+me:Wt(g.left,g.right)):Q=E-2*(ce!==0||we!==0?ce+we:Wt(g.top,g.bottom))}await m({...n,availableWidth:B,availableHeight:Q});const X=await d.getDimensions(f.floating);return T!==X.width||E!==X.height?{reset:{rects:!0}}:{}}}};function Wl(){return typeof window<"u"}function hr(t){return w0(t)?(t.nodeName||"").toLowerCase():"#document"}function Gt(t){var n;return(t==null||(n=t.ownerDocument)==null?void 0:n.defaultView)||window}function Da(t){var n;return(n=(w0(t)?t.ownerDocument:t.document)||window.document)==null?void 0:n.documentElement}function w0(t){return Wl()?t instanceof Node||t instanceof Gt(t).Node:!1}function ga(t){return Wl()?t instanceof Element||t instanceof Gt(t).Element:!1}function Xa(t){return Wl()?t instanceof HTMLElement||t instanceof Gt(t).HTMLElement:!1}function kv(t){return!Wl()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof Gt(t).ShadowRoot}function Vs(t){const{overflow:n,overflowX:r,overflowY:o,display:l}=ya(t);return/auto|scroll|overlay|hidden|clip/.test(n+o+r)&&l!=="inline"&&l!=="contents"}function eM(t){return/^(table|td|th)$/.test(hr(t))}function Gl(t){try{if(t.matches(":popover-open"))return!0}catch{}try{return t.matches(":modal")}catch{return!1}}const tM=/transform|translate|scale|rotate|perspective|filter/,aM=/paint|layout|strict|content/,ti=t=>!!t&&t!=="none";let Sd;function Xh(t){const n=ga(t)?ya(t):t;return ti(n.transform)||ti(n.translate)||ti(n.scale)||ti(n.rotate)||ti(n.perspective)||!Zh()&&(ti(n.backdropFilter)||ti(n.filter))||tM.test(n.willChange||"")||aM.test(n.contain||"")}function nM(t){let n=Nn(t);for(;Xa(n)&&!lr(n);){if(Xh(n))return n;if(Gl(n))return null;n=Nn(n)}return null}function Zh(){return Sd==null&&(Sd=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Sd}function lr(t){return/^(html|body|#document)$/.test(hr(t))}function ya(t){return Gt(t).getComputedStyle(t)}function Yl(t){return ga(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function Nn(t){if(hr(t)==="html")return t;const n=t.assignedSlot||t.parentNode||kv(t)&&t.host||Da(t);return kv(n)?n.host:n}function x0(t){const n=Nn(t);return lr(n)?t.ownerDocument?t.ownerDocument.body:t.body:Xa(n)&&Vs(n)?n:x0(n)}function Cs(t,n,r){var o;n===void 0&&(n=[]),r===void 0&&(r=!0);const l=x0(t),u=l===((o=t.ownerDocument)==null?void 0:o.body),d=Gt(l);if(u){const f=oh(d);
vendor: 4,444 bytes, line 10
10return n.concat(d,d.visualViewport||[],Vs(l)?l:[],f&&r?Cs(f):[])}else return n.concat(l,Cs(l,[],r))}function oh(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function k0(t){const n=ya(t);let r=parseFloat(n.width)||0,o=parseFloat(n.height)||0;const l=Xa(t),u=l?t.offsetWidth:r,d=l?t.offsetHeight:o,f=Al(r)!==u||Al(o)!==d;return f&&(r=u,o=d),{width:r,height:o,$:f}}function $h(t){return ga(t)?t:t.contextElement}function rr(t){const n=$h(t);if(!Xa(n))return Ea(1);const r=n.getBoundingClientRect(),{width:o,height:l,$:u}=k0(n);let d=(u?Al(r.width):r.width)/o,f=(u?Al(r.height):r.height)/l;return(!d||!Number.isFinite(d))&&(d=1),(!f||!Number.isFinite(f))&&(f=1),{x:d,y:f}}const iM=Ea(0);function S0(t){const n=Gt(t);return!Zh()||!n.visualViewport?iM:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function rM(t,n,r){return n===void 0&&(n=!1),!r||n&&r!==Gt(t)?!1:n}function li(t,n,r,o){n===void 0&&(n=!1),r===void 0&&(r=!1);const l=t.getBoundingClientRect(),u=$h(t);let d=Ea(1);n&&(o?ga(o)&&(d=rr(o)):d=rr(t));const f=rM(u,r,o)?S0(u):Ea(0);let m=(l.left+f.x)/d.x,p=(l.top+f.y)/d.y,g=l.width/d.x,v=l.height/d.y;if(u){const b=Gt(u),S=o&&ga(o)?Gt(o):o;let T=b,E=oh(T);for(;E&&o&&S!==T;){const C=rr(E),D=E.getBoundingClientRect(),V=ya(E),N=D.left+(E.clientLeft+parseFloat(V.paddingLeft))*C.x,P=D.top+(E.clientTop+parseFloat(V.paddingTop))*C.y;m*=C.x,p*=C.y,g*=C.x,v*=C.y,m+=N,p+=P,T=Gt(E),E=oh(T)}}return Cl({width:g,height:v,x:m,y:p})}function Kl(t,n){const r=Yl(t).scrollLeft;return n?n.left+r:li(Da(t)).left+r}function A0(t,n){const r=t.getBoundingClientRect(),o=r.left+n.scrollLeft-Kl(t,r),l=r.top+n.scrollTop;return{x:o,y:l}}function sM(t){let{elements:n,rect:r,offsetParent:o,strategy:l}=t;const u=l==="fixed",d=Da(o),f=n?Gl(n.floating):!1;if(o===d||f&&u)return r;let m={scrollLeft:0,scrollTop:0},p=Ea(1);const g=Ea(0),v=Xa(o);if((v||!v&&!u)&&((hr(o)!=="body"||Vs(d))&&(m=Yl(o)),v)){const S=li(o);p=rr(o),g.x=S.x+o.clientLeft,g.y=S.y+o.clientTop}const b=d&&!v&&!u?A0(d,m):Ea(0);return{width:r.width*p.x,height:r.height*p.y,x:r.x*p.x-m.scrollLeft*p.x+g.x+b.x,y:r.y*p.y-m.scrollTop*p.y+g.y+b.y}}function oM(t){return Array.from(t.getClientRects())}function lM(t){const n=Da(t),r=Yl(t),o=t.ownerDocument.body,l=Wt(n.scrollWidth,n.clientWidth,o.scrollWidth,o.clientWidth),u=Wt(n.scrollHeight,n.clientHeight,o.scrollHeight,o.clientHeight);let d=-r.scrollLeft+Kl(t);const f=-r.scrollTop;return ya(o).direction==="rtl"&&(d+=Wt(n.clientWidth,o.clientWidth)-l),{width:l,height:u,x:d,y:f}}const Sv=25;function cM(t,n){const r=Gt(t),o=Da(t),l=r.visualViewport;let u=o.clientWidth,d=o.clientHeight,f=0,m=0;if(l){u=l.width,d=l.height;const g=Zh();(!g||g&&n==="fixed")&&(f=l.offsetLeft,m=l.offsetTop)}const p=Kl(o);if(p<=0){const g=o.ownerDocument,v=g.body,b=getComputedStyle(v),S=g.compatMode==="CSS1Compat"&&parseFloat(b.marginLeft)+parseFloat(b.marginRight)||0,T=Math.abs(o.clientWidth-v.clientWidth-S);T<=Sv&&(u-=T)}else p<=Sv&&(u+=p);return{width:u,height:d,x:f,y:m}}function uM(t,n){const r=li(t,!0,n==="fixed"),o=r.top+t.clientTop,l=r.left+t.clientLeft,u=Xa(t)?rr(t):Ea(1),d=t.clientWidth*u.x,f=t.clientHeight*u.y,m=l*u.x,p=o*u.y;return{width:d,height:f,x:m,y:p}}function Av(t,n,r){let o;if(n==="viewport")o=cM(t,r);else if(n==="document")o=lM(Da(t));else if(ga(n))o=uM(n,r);else{const l=S0(t);o={x:n.x-l.x,y:n.y-l.y,width:n.width,height:n.height}}return Cl(o)}function T0(t,n){const r=Nn(t);return r===n||!ga(r)||lr(r)?!1:ya(r).position==="fixed"||T0(r,n)}function dM(t,n){const r=n.get(t);if(r)return r;let o=Cs(t,[],!1).filter(f=>ga(f)&&hr(f)!=="body"),l=null;const u=ya(t).position==="fixed";let d=u?Nn(t):t;for(;ga(d)&&!lr(d);){const f=ya(d),m=Xh(d);!m&&f.position==="fixed"&&(l=null),(u?!m&&!l:!m&&f.position==="static"&&!!l&&(l.position==="absolute"||l.position==="fixed")||Vs(d)&&!m&&T0(t,d))?o=o.filter(g=>g!==d):l=f,d=Nn(d)}return n.set(t,o),o}function hM(t){let{element:n,boundary:r,rootBoundary:o,strategy:l}=t;const d=[...r==="clippingAncestors"?Gl(n)?[]:dM(n,this._c):[].concat(r),o],f=Av(n,d[0],l);let m=f.top,p=f.right,g=f.bottom,v=f.left;for(let b=1;b<d.length;b++){const S=Av(n,d[b],l);m=Wt(S.top,m),p=On(S.right,p),g=On(S.bottom,g),v=Wt(S.left,v)}return{width:p-v,height:g-m,x:v,y:m}}function fM(t){const{width:n,height:r}=k0(t);return{width:n,height:r}}function pM(t,n,r){const o=Xa(n),l=Da(n),u=r==="fixed",d=li(t,!0,u,n);let f={scrollLeft:0,scrollTop:0};const m=Ea(0);function p(){m.x=Kl(l)}
vendor: 4,443 bytes, line 10
10if(o||!o&&!u)if((hr(n)!=="body"||Vs(l))&&(f=Yl(n)),o){const S=li(n,!0,u,n);m.x=S.x+n.clientLeft,m.y=S.y+n.clientTop}else l&&p();u&&!o&&l&&p();const g=l&&!o&&!u?A0(l,f):Ea(0),v=d.left+f.scrollLeft-m.x-g.x,b=d.top+f.scrollTop-m.y-g.y;return{x:v,y:b,width:d.width,height:d.height}}function Ad(t){return ya(t).position==="static"}function Tv(t,n){if(!Xa(t)||ya(t).position==="fixed")return null;if(n)return n(t);let r=t.offsetParent;return Da(t)===r&&(r=r.ownerDocument.body),r}function C0(t,n){const r=Gt(t);if(Gl(t))return r;if(!Xa(t)){let l=Nn(t);for(;l&&!lr(l);){if(ga(l)&&!Ad(l))return l;l=Nn(l)}return r}let o=Tv(t,n);for(;o&&eM(o)&&Ad(o);)o=Tv(o,n);return o&&lr(o)&&Ad(o)&&!Xh(o)?r:o||nM(t)||r}const mM=async function(t){const n=this.getOffsetParent||C0,r=this.getDimensions,o=await r(t.floating);return{reference:pM(t.reference,await n(t.floating),t.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function gM(t){return ya(t).direction==="rtl"}const yM={convertOffsetParentRelativeRectToViewportRelativeRect:sM,getDocumentElement:Da,getClippingRect:hM,getOffsetParent:C0,getElementRects:mM,getClientRects:oM,getDimensions:fM,getScale:rr,isElement:ga,isRTL:gM};function E0(t,n){return t.x===n.x&&t.y===n.y&&t.width===n.width&&t.height===n.height}function vM(t,n){let r=null,o;const l=Da(t);function u(){var f;clearTimeout(o),(f=r)==null||f.disconnect(),r=null}function d(f,m){f===void 0&&(f=!1),m===void 0&&(m=1),u();const p=t.getBoundingClientRect(),{left:g,top:v,width:b,height:S}=p;if(f||n(),!b||!S)return;const T=rl(v),E=rl(l.clientWidth-(g+b)),C=rl(l.clientHeight-(v+S)),D=rl(g),N={rootMargin:-T+"px "+-E+"px "+-C+"px "+-D+"px",threshold:Wt(0,On(1,m))||1};let P=!0;function _(Y){const Q=Y[0].intersectionRatio;if(Q!==m){if(!P)return d();Q?d(!1,Q):o=setTimeout(()=>{d(!1,1e-7)},1e3)}Q===1&&!E0(p,t.getBoundingClientRect())&&d(),P=!1}try{r=new IntersectionObserver(_,{...N,root:l.ownerDocument})}catch{r=new IntersectionObserver(_,N)}r.observe(t)}return d(!0),u}function bM(t,n,r,o){o===void 0&&(o={});const{ancestorScroll:l=!0,ancestorResize:u=!0,elementResize:d=typeof ResizeObserver=="function",layoutShift:f=typeof IntersectionObserver=="function",animationFrame:m=!1}=o,p=$h(t),g=l||u?[...p?Cs(p):[],...n?Cs(n):[]]:[];g.forEach(D=>{l&&D.addEventListener("scroll",r,{passive:!0}),u&&D.addEventListener("resize",r)});const v=p&&f?vM(p,r):null;let b=-1,S=null;d&&(S=new ResizeObserver(D=>{let[V]=D;V&&V.target===p&&S&&n&&(S.unobserve(n),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var N;(N=S)==null||N.observe(n)})),r()}),p&&!m&&S.observe(p),n&&S.observe(n));let T,E=m?li(t):null;m&&C();function C(){const D=li(t);E&&!E0(E,D)&&r(),E=D,T=requestAnimationFrame(C)}return r(),()=>{var D;g.forEach(V=>{l&&V.removeEventListener("scroll",r),u&&V.removeEventListener("resize",r)}),v?.(),(D=S)==null||D.disconnect(),S=null,m&&cancelAnimationFrame(T)}}const wM=XE,xM=ZE,kM=YE,SM=JE,AM=KE,Cv=GE,TM=$E,CM=(t,n,r)=>{const o=new Map,l={platform:yM,...r},u={...l.platform,_c:o};return WE(t,n,{...l,platform:u})};var EM=typeof document<"u",MM=function(){},fl=EM?k.useLayoutEffect:MM;function El(t,n){if(t===n)return!0;if(typeof t!=typeof n)return!1;if(typeof t=="function"&&t.toString()===n.toString())return!0;let r,o,l;if(t&&n&&typeof t=="object"){if(Array.isArray(t)){if(r=t.length,r!==n.length)return!1;for(o=r;o--!==0;)if(!El(t[o],n[o]))return!1;return!0}if(l=Object.keys(t),r=l.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!{}.hasOwnProperty.call(n,l[o]))return!1;for(o=r;o--!==0;){const u=l[o];if(!(u==="_owner"&&t.$$typeof)&&!El(t[u],n[u]))return!1}return!0}return t!==t&&n!==n}function M0(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function Ev(t,n){const r=M0(t);return Math.round(n*r)/r}function Td(t){const n=k.useRef(t);return fl(()=>{n.current=t}),n}function RM(t){t===void 0&&(t={});const{placement:n="bottom",strategy:r="absolute",middleware:o=[],platform:l,elements:{reference:u,floating:d}={},transform:f=!0,whileElementsMounted:m,open:p}=t,[g,v]=k.useState({x:0,y:0,strategy:r,placement:n,middlewareData:{},isPositioned:!1}),[b,S]=k.useState(o);El(b,o)||S(o);const[T,E]=k.useState(null),[C,D]=k.useState(null),V=k.useCallback(W=>{W!==Y.current&&(Y.current=W,E(W))},[]),N=k.useCallback(W=>{W!==Q.current&&(Q.current=W,D(W))},[]),P=u||T,_=d||C,Y=k.useRef(null),Q=k.useRef(null),B=k.useRef(g),X=m!=null,oe=Td(m),me=Td(l),ce=Td(p),we=k.useCallback(()=>
vendor: 7,151 bytes, line 10
10{if(!Y.current||!Q.current)return;const W={placement:n,strategy:r,middleware:b};me.current&&(W.platform=me.current),CM(Y.current,Q.current,W).then(ee=>{const A={...ee,isPositioned:ce.current!==!1};J.current&&!El(B.current,A)&&(B.current=A,Hl.flushSync(()=>{v(A)}))})},[b,n,r,me,ce]);fl(()=>{p===!1&&B.current.isPositioned&&(B.current.isPositioned=!1,v(W=>({...W,isPositioned:!1})))},[p]);const J=k.useRef(!1);fl(()=>(J.current=!0,()=>{J.current=!1}),[]),fl(()=>{if(P&&(Y.current=P),_&&(Q.current=_),P&&_){if(oe.current)return oe.current(P,_,we);we()}},[P,_,we,oe,X]);const de=k.useMemo(()=>({reference:Y,floating:Q,setReference:V,setFloating:N}),[V,N]),q=k.useMemo(()=>({reference:P,floating:_}),[P,_]),K=k.useMemo(()=>{const W={position:r,left:0,top:0};if(!q.floating)return W;const ee=Ev(q.floating,g.x),A=Ev(q.floating,g.y);return f?{...W,transform:"translate("+ee+"px, "+A+"px)",...M0(q.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:ee,top:A}},[r,f,q.floating,g.x,g.y]);return k.useMemo(()=>({...g,update:we,refs:de,elements:q,floatingStyles:K}),[g,we,de,q,K])}const DM=t=>{function n(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:t,fn(r){const{element:o,padding:l}=typeof t=="function"?t(r):t;return o&&n(o)?o.current!=null?Cv({element:o.current,padding:l}).fn(r):{}:o?Cv({element:o,padding:l}).fn(r):{}}}},OM=(t,n)=>{const r=wM(t);return{name:r.name,fn:r.fn,options:[t,n]}},NM=(t,n)=>{const r=xM(t);return{name:r.name,fn:r.fn,options:[t,n]}},VM=(t,n)=>({fn:TM(t).fn,options:[t,n]}),qM=(t,n)=>{const r=kM(t);return{name:r.name,fn:r.fn,options:[t,n]}},jM=(t,n)=>{const r=SM(t);return{name:r.name,fn:r.fn,options:[t,n]}},UM=(t,n)=>{const r=AM(t);return{name:r.name,fn:r.fn,options:[t,n]}},PM=(t,n)=>{const r=DM(t);return{name:r.name,fn:r.fn,options:[t,n]}};var _M="Arrow",R0=k.forwardRef((t,n)=>{const{children:r,width:o=10,height:l=5,...u}=t;return w.jsx(Tt.svg,{...u,ref:n,width:o,height:l,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:t.asChild?r:w.jsx("polygon",{points:"0,0 30,0 15,10"})})});R0.displayName=_M;var LM=R0;function HM(t){const[n,r]=k.useState(void 0);return Dn(()=>{if(t){r({width:t.offsetWidth,height:t.offsetHeight});const o=new ResizeObserver(l=>{if(!Array.isArray(l)||!l.length)return;const u=l[0];let d,f;if("borderBoxSize"in u){const m=u.borderBoxSize,p=Array.isArray(m)?m[0]:m;d=p.inlineSize,f=p.blockSize}else d=t.offsetWidth,f=t.offsetHeight;r({width:d,height:f})});return o.observe(t,{box:"border-box"}),()=>o.unobserve(t)}else r(void 0)},[t]),n}var D0="Popper",[O0,N0]=Bl(D0),[Gj,V0]=O0(D0),q0="PopperAnchor",j0=k.forwardRef((t,n)=>{const{__scopePopper:r,virtualRef:o,...l}=t,u=V0(q0,r),d=k.useRef(null),f=ma(n,d),m=k.useRef(null);return k.useEffect(()=>{const p=m.current;m.current=o?.current||d.current,p!==m.current&&u.onAnchorChange(m.current)}),o?null:w.jsx(Tt.div,{...l,ref:f})});j0.displayName=q0;var Jh="PopperContent",[BM,zM]=O0(Jh),U0=k.forwardRef((t,n)=>{const{__scopePopper:r,side:o="bottom",sideOffset:l=0,align:u="center",alignOffset:d=0,arrowPadding:f=0,avoidCollisions:m=!0,collisionBoundary:p=[],collisionPadding:g=0,sticky:v="partial",hideWhenDetached:b=!1,updatePositionStrategy:S="optimized",onPlaced:T,...E}=t,C=V0(Jh,r),[D,V]=k.useState(null),N=ma(n,_e=>V(_e)),[P,_]=k.useState(null),Y=HM(P),Q=Y?.width??0,B=Y?.height??0,X=o+(u!=="center"?"-"+u:""),oe=typeof g=="number"?g:{top:0,right:0,bottom:0,left:0,...g},me=Array.isArray(p)?p:[p],ce=me.length>0,we={padding:oe,boundary:me.filter(FM),altBoundary:ce},{refs:J,floatingStyles:de,placement:q,isPositioned:K,middlewareData:W}=RM({strategy:"fixed",placement:X,whileElementsMounted:(..._e)=>bM(..._e,{animationFrame:S==="always"}),elements:{reference:C.anchor},middleware:[OM({mainAxis:l+B,alignmentAxis:d}),m&&NM({mainAxis:!0,crossAxis:!1,limiter:v==="partial"?VM():void 0,...we}),m&&qM({...we}),jM({...we,apply:({elements:_e,rects:Ee,availableWidth:Me,availableHeight:Za})=>{const{width:ra,height:va}=Ee.reference,Yt=_e.floating.style;Yt.setProperty("--radix-popper-available-width",`${Me}px`),Yt.setProperty("--radix-popper-available-height",`${Za}px`),Yt.setProperty("--radix-popper-anchor-width",`${ra}px`),Yt.setProperty("--radix-popper-anchor-height",`${va}px`)}}),P&&PM({element:P,padding:f}),WM({arrowWidth:Q,arrowHeight:B}),b&&UM({strategy:"referenceHidden",...we})]}),[ee,A]=L0(q),I=Rn(T);Dn(()=>{K&&I?.()},[K,I]);const $=W.arrow?.x,Z=W.arrow?.y,se=W.arrow?.centerOffset!==0,[he,re]=k.useState();return Dn(()=>{D&&re(window.getComputedStyle(D).zIndex)},[D]),w.jsx("div",{ref:J.setFloating,"data-radix-popper-content-wrapper":"",style:{...de,transform:K?de.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:he,"--radix-popper-transform-origin":[W.transformOrigin?.x,W.transformOrigin?.y].join(" "),...W.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:t.dir,children:w.jsx(BM,{scope:r,placedSide:ee,onArrowChange:_,arrowX:$,arrowY:Z,shouldHideArrow:se,children:w.jsx(Tt.div,{"data-side":ee,"data-align":A,...E,ref:N,style:{...E.style,animation:K?void 0:"none"}})})})});U0.displayName=Jh;var P0="PopperArrow",IM={top:"bottom",right:"left",bottom:"top",left:"right"},_0=k.forwardRef(function(n,r){const{__scopePopper:o,...l}=n,u=zM(P0,o),d=IM[u.placedSide];return w.jsx("span",{ref:u.onArrowChange,style:{position:"absolute",left:u.arrowX,top:u.arrowY,[d]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[u.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[u.placedSide],visibility:u.shouldHideArrow?"hidden":void 0},children:w.jsx(LM,{...l,ref:r,style:{...l.style,display:"block"}})})});_0.displayName=P0;function FM(t){return t!==null}var WM=t=>({name:"transformOrigin",options:t,fn(n){const{placement:r,rects:o,middlewareData:l}=n,d=l.arrow?.centerOffset!==0,f=d?0:t.arrowWidth,m=d?0:t.arrowHeight,[p,g]=L0(r),v={start:"0%",center:"50%",end:"100%"}[g],b=(l.arrow?.x??0)+f/2,S=(l.arrow?.y??0)+m/2;let T="",E="";return p==="bottom"?(T=d?v:`${b}px`,E=`${-m}px`):p==="top"?(T=d?v:`${b}px`,E=`${o.floating.height+m}px`):p==="right"?(T=`${-m}px`,E=d?v:`${S}px`):p==="left"&&(T=`${o.floating.width+m}px`,E=d?v:`${S}px`),{data:{x:T,y:E}}}});function L0(t){const[n,r="center"]=t.split("-");return[n,r]}var GM=j0,YM=U0,KM=_0,[Ql]=Bl("Tooltip",[N0]),ef=N0(),H0="TooltipProvider",QM=700,Mv="tooltip.open",[XM,B0]=Ql(H0),z0=t=>{const{__scopeTooltip:n,delayDuration:r=QM,skipDelayDuration:o=300,disableHoverableContent:l=!1,children:u}=t,d=k.useRef(!0),f=k.useRef(!1),m=k.useRef(0);return k.useEffect(()=>{const p=m.current;return()=>window.clearTimeout(p)},[]),w.jsx(XM,{scope:n,isOpenDelayedRef:d,delayDuration:r,onOpen:k.useCallback(()=>{window.clearTimeout(m.current),d.current=!1},[]),onClose:k.useCallback(()=>{window.clearTimeout(m.current),m.current=window.setTimeout(()=>d.current=!0,o)},[o]),isPointerInTransitRef:f,onPointerInTransitChange:k.useCallback(p=>{f.current=p},[]),disableHoverableContent:l,children:u})};z0.displayName=H0;var I0="Tooltip",[Yj,qs]=Ql(I0),lh="TooltipTrigger",ZM=k.forwardRef((t,
vendor: 4,436 bytes, line 10
10n)=>{const{__scopeTooltip:r,...o}=t,l=qs(lh,r),u=B0(lh,r),d=ef(r),f=k.useRef(null),m=ma(n,f,l.onTriggerChange),p=k.useRef(!1),g=k.useRef(!1),v=k.useCallback(()=>p.current=!1,[]);return k.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),w.jsx(GM,{asChild:!0,...d,children:w.jsx(Tt.button,{"aria-describedby":l.open?l.contentId:void 0,"data-state":l.stateAttribute,...o,ref:m,onPointerMove:tt(t.onPointerMove,b=>{b.pointerType!=="touch"&&!g.current&&!u.isPointerInTransitRef.current&&(l.onTriggerEnter(),g.current=!0)}),onPointerLeave:tt(t.onPointerLeave,()=>{l.onTriggerLeave(),g.current=!1}),onPointerDown:tt(t.onPointerDown,()=>{l.open&&l.onClose(),p.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:tt(t.onFocus,()=>{p.current||l.onOpen()}),onBlur:tt(t.onBlur,l.onClose),onClick:tt(t.onClick,l.onClose)})})});ZM.displayName=lh;var tf="TooltipPortal",[$M,JM]=Ql(tf,{forceMount:void 0}),F0=t=>{const{__scopeTooltip:n,forceMount:r,children:o,container:l}=t,u=qs(tf,n);return w.jsx($M,{scope:n,forceMount:r,children:w.jsx(zl,{present:r||u.open,children:w.jsx(Hh,{asChild:!0,container:l,children:o})})})};F0.displayName=tf;var cr="TooltipContent",W0=k.forwardRef((t,n)=>{const r=JM(cr,t.__scopeTooltip),{forceMount:o=r.forceMount,side:l="top",...u}=t,d=qs(cr,t.__scopeTooltip);return w.jsx(zl,{present:o||d.open,children:d.disableHoverableContent?w.jsx(G0,{side:l,...u,ref:n}):w.jsx(eR,{side:l,...u,ref:n})})}),eR=k.forwardRef((t,n)=>{const r=qs(cr,t.__scopeTooltip),o=B0(cr,t.__scopeTooltip),l=k.useRef(null),u=ma(n,l),[d,f]=k.useState(null),{trigger:m,onClose:p}=r,g=l.current,{onPointerInTransitChange:v}=o,b=k.useCallback(()=>{f(null),v(!1)},[v]),S=k.useCallback((T,E)=>{const C=T.currentTarget,D={x:T.clientX,y:T.clientY},V=rR(D,C.getBoundingClientRect()),N=sR(D,V),P=oR(E.getBoundingClientRect()),_=cR([...N,...P]);f(_),v(!0)},[v]);return k.useEffect(()=>()=>b(),[b]),k.useEffect(()=>{if(m&&g){const T=C=>S(C,g),E=C=>S(C,m);return m.addEventListener("pointerleave",T),g.addEventListener("pointerleave",E),()=>{m.removeEventListener("pointerleave",T),g.removeEventListener("pointerleave",E)}}},[m,g,S,b]),k.useEffect(()=>{if(d){const T=E=>{const C=E.target,D={x:E.clientX,y:E.clientY},V=m?.contains(C)||g?.contains(C),N=!lR(D,d);V?b():N&&(b(),p())};return document.addEventListener("pointermove",T),()=>document.removeEventListener("pointermove",T)}},[m,g,d,p,b]),w.jsx(G0,{...t,ref:u})}),[tR,aR]=Ql(I0,{isInside:!1}),nR=CC("TooltipContent"),G0=k.forwardRef((t,n)=>{const{__scopeTooltip:r,children:o,"aria-label":l,onEscapeKeyDown:u,onPointerDownOutside:d,...f}=t,m=qs(cr,r),p=ef(r),{onClose:g}=m;return k.useEffect(()=>(document.addEventListener(Mv,g),()=>document.removeEventListener(Mv,g)),[g]),k.useEffect(()=>{if(m.trigger){const v=b=>{b.target?.contains(m.trigger)&&g()};return window.addEventListener("scroll",v,{capture:!0}),()=>window.removeEventListener("scroll",v,{capture:!0})}},[m.trigger,g]),w.jsx(Lh,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:v=>v.preventDefault(),onDismiss:g,children:w.jsxs(YM,{"data-state":m.stateAttribute,...p,...f,ref:n,style:{...f.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:[w.jsx(nR,{children:o}),w.jsx(tR,{scope:r,isInside:!0,children:w.jsx(ZC,{id:m.contentId,role:"tooltip",children:l||o})})]})})});W0.displayName=cr;var Y0="TooltipArrow",iR=k.forwardRef((t,n)=>{const{__scopeTooltip:r,...o}=t,l=ef(r);return aR(Y0,r).isInside?null:w.jsx(KM,{...l,...o,ref:n})});iR.displayName=Y0;function rR(t,n){const r=Math.abs(n.top-t.y),o=Math.abs(n.bottom-t.y),l=Math.abs(n.right-t.x),u=Math.abs(n.left-t.x);switch(Math.min(r,o,l,u)){case u:return"left";case l:return"right";case r:return"top";case o:return"bottom";default:throw new Error("unreachable")}}function sR(t,n,r=5){const o=[];switch(n){case"top":o.push({x:t.x-r,y:t.y+r},{x:t.x+r,y:t.y+r});break;case"bottom":o.push({x:t.x-r,y:t.y-r},{x:t.x+r,y:t.y-r});break;case"left":o.push({x:t.x+r,y:t.y-r},{x:t.x+r,y:t.y+r});break;case"right":o.push({x:t.x-r,y:t.y-r},{x:t.x-r,y:t.y+r});break}return o}
10function oR(t){const{top:n,right:r,bottom:o,left:l}=t;return[{x:l,y:n},{x:r,y:n},{x:r,y:o},{x:l,y:o}]}function lR(t,n){const{x:r,y:o}=t;let l=!1;for(let u=0,d=n.length-1;u<n.length;d=u++){const f=n[u],m=n[d],p=f.x,g=f.y,v=m.x,b=m.y;g>o!=b>o&&r<(v-p)*(o-g)/(b-g)+p&&(l=!l)}return l}function cR(t){const n=t.slice();return n.sort((r,o)=>r.x<o.x?-1:r.x>o.x?1:r.y<o.y?-1:r.y>o.y?1:0),uR(n)}function uR(t){if(t.length<=1)return t.slice();const n=[];for(let o=0;o<t.length;o++){const l=t[o];for(;n.length>=2;){const u=n[n.length-1],d=n[n.length-2];if((u.x-d.x)*(l.y-d.y)>=(u.y-d.y)*(l.x-d.x))n.pop();else break}n.push(l)}n.pop();const r=[];for(let o=t.length-1;o>=0;o--){const l=t[o];for(;r.length>=2;){const u=r[r.length-1],d=r[r.length-2];if((u.x-d.x)*(l.y-d.y)>=(u.y-d.y)*(l.x-d.x))r.pop();else break}r.push(l)}return r.pop(),n.length===1&&r.length===1&&n[0].x===r[0].x&&n[0].y===r[0].y?n:n.concat(r)}var dR=z0,hR=F0,K0=W0;const fR=dR,pR=k.forwardRef(({className:t,sideOffset:n=4,...r},o)=>w.jsx(hR,{children:w.jsx(K0,{ref:o,sideOffset:n,className:hi("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",t),...r})}));pR.displayName=K0.displayName;const Cd={keywords:["used transfer case for sale","used transfer case","transfer case for sale","replacement transfer case","used transfer case assembly","transfer case assembly for sale","4x4 transfer case for sale","4WD transfer case for sale","AWD transfer case for sale","OEM used transfer case","used transfer case near me","remanufactured transfer case alternative","transfer case replacement parts","used truck transfer case","used SUV transfer case"].join(", "),metaTitle:"Used Transfer Cases for Sale | Tested OEM 4WD & AWD Units",metaDescription:"Find a used transfer case for sale with chain and gear inspection, VIN fitment help, up to 5-year warranty, and free shipping across the USA."},mR="Find a dependable used transfer case for sale without paying the price of a brand-new dealership assembly. QualityAutoPartStore.com supplies inspected OEM transfer cases for 4WD and AWD cars, trucks, and SUVs. Our team uses your VIN, drivetrain configuration, transmission, and transfer-case details to help identify the right replacement before it ships. Every unit is checked for leaks, bearing play, chain or gear wear, and proper engagement of its drive modes. With free USA shipping and warranty coverage of up to 5 years on eligible units, a used transfer case can restore your vehicle’s traction system while keeping your repair budget under control.",gR=`
11<p>A transfer case is the drivetrain component that sends engine power from the transmission to both the front and rear axles. In a four-wheel-drive vehicle, it lets the driver select settings such as two-wheel drive, four-wheel drive high, and four-wheel drive low. In an all-wheel-drive vehicle, the transfer case or related power-transfer unit helps distribute torque automatically as road conditions change. The exact design depends on the vehicle, but the job is always important: move power through the drivetrain while keeping the front and rear systems synchronized.</p>
12
13<h3>What a transfer case does</h3>
14<p>When your vehicle leaves the transmission, power normally travels through one main driveshaft. A transfer case adds the connection needed for a second axle. Inside the housing are gears or a chain, shafts, bearings, seals, and a lubrication system. Many units also include a range mechanism that gives the vehicle extra low-speed torque for steep grades, mud, snow, rocks, or heavy work. Newer vehicles may use an electric shift motor, encoder, control module, or clutch pack to select the requested drive mode.</p>
15<p>That combination of moving parts makes transfer-case fitment more specific than simply matching a vehicle make. Two trucks with the same engine and model name can use different transfer cases because of the transmission, wheelbase, axle ratio, cab configuration, production year, or electronic controls. That is 
15why our specialists verify the VIN and part identification details before recommending a used transfer case.</p>
16
17<h3>Common signs of transfer-case trouble</h3>
18<p>A transfer case can show several different symptoms as its fluid, bearings, chain, gears, or controls wear. A grinding or whining sound that changes with vehicle speed may point to internal bearing or gear wear. A clunk when shifting between drive modes may come from worn components, a stretched chain, or a control problem elsewhere in the drivetrain. Fluid spots near the transfer case can indicate a worn output seal, input seal, cover gasket, or damaged housing.</p>
19<ul>
20  <li>Four-wheel drive will not engage or will not disengage.</li>
21  <li>A 4WD, AWD, service 4x4, or drivetrain warning light appears.</li>
22  <li>Grinding, whining, popping, or humming comes from below the center of the vehicle.</li>
23  <li>The vehicle shudders, binds, or hops during tight turns.</li>
24  <li>There is a vibration through the floor, driveshaft, or center console.</li>
25  <li>Fluid is leaking from the transfer-case housing or an output shaft.</li>
26  <li>The vehicle loses power to the front or rear axle under load.</li>
27</ul>
28<p>These signs do not always prove that the transfer case itself has failed. A worn driveshaft, differential, axle, CV joint, tire mismatch, sensor, wiring harness, or control module can create similar symptoms. Have the drivetrain diagnosed before ordering. If the transfer case is confirmed as the problem, we can help compare the original identification number with available OEM used transfer case assemblies.</p>
29
30<h3>Why choose a used transfer case?</h3>
31<p>A new transfer case from a dealer can be expensive, especially for late-model 4WD trucks and luxury AWD vehicles. A remanufactured unit may also have a high purchase price, a long lead time, or a core charge. A carefully selected used transfer case offers another option: you receive an original-equipment assembly designed for the vehicle, often at a lower cost than a new unit. The goal is not to choose the cheapest part blindly. The goal is to choose a tested, correctly identified assembly that gives your vehicle the right mechanical and electronic fit.</p>
32<p>Our inventory is sourced from inspected donor vehicles and is organized by application details. We provide condition information, part numbers when available, and fitment support so you can make a clear decision. If your transfer case has chain drive, gear drive, a clutch pack, an electronic shift motor, or a low-range selector, tell our team. Those details help us narrow the search and avoid an expensive mismatch.</p>
33
34<h3>Transfer-case maintenance that protects your repair</h3>
35<p>After installing a replacement transfer case, maintenance is one of the best ways to protect the investment. Check the fluid level at the interval recommended for your exact vehicle, and inspect the housing and output seals whenever the vehicle is serviced. A small leak can become a serious internal problem when the unit runs low on lubricant. If you regularly tow, drive on trails, or operate in snow and mud, ask your mechanic whether a shorter fluid-service interval is appropriate.</p>
36<p>Tires also matter more than many owners realize. On full-time 4WD and AWD systems, tires with substantially different tread depth, diameter, or inflation can make the front and rear axles rotate at different speeds. That can create heat, binding, clutch-pack wear, and extra stress inside the transfer case. Keep all four tires properly inflated and replace them as a matched set when the vehicle manufacturer requires it. Correct tire maintenance helps the replacement assembly work as designed.</p>
37<p>Use the vehicle’s 4WD modes according to the owner’s manual. Some part-time systems should not be operated on dry pavement in a locked 4WD setting because the axles cannot release the difference in speed created during turns. Other systems are designed for full-time use and have different rules. If a warning light returns after installation, do not continue forcing the selector. Scan the control system and have the shift motor, wiring, sensors, and fluid checked before the condition creates additional damage.</p>
38<p>When troubleshooting, write down when the noise or vibration occurs: during acceleration, deceleration, turning, shifting, or a particular drive mode. Note whether the sound follows vehicle speed or engine speed. This information helps separate a transfer-case concern from a driveshaft bearing, differential, CV joint, tire, or transmission problem. A good diagnosis makes it easier to choose the right used transfer case assembly the first time and avoids replacing a part that was not the original source of the symptom.</p>
39`,yR=`
40<p>Transfer-case compatibility depends on more than the badge on the hood. The correct used transfer case must work with your vehicle’s transmission output, driveshaft lengths, mou
40nting points, axle relationship, control system, and programmed drive modes. A part that looks similar may still have the wrong input spline count, output configuration, gear ratio, range setup, or electrical connector. VIN-based fitment is the safest starting point, especially for modern vehicles.</p>
41
42<h3>Popular 4WD and AWD applications</h3>
43<p>We help customers locate used transfer case assemblies for many domestic and import vehicles. Common truck and SUV applications include Ford F-150, F-250, F-350 Super Duty, Ranger, Bronco, and Expedition; Chevrolet Silverado, Colorado, Tahoe, Suburban, Trailblazer, and Traverse; GMC Sierra, Canyon, Yukon, and Acadia; Dodge Ram 1500, 2500, and 3500, Durango, and Dakota; and Jeep Wrangler, Grand Cherokee, Cherokee, Gladiator, and Liberty.</p>
44<p>Our coverage also includes Toyota Tacoma, Tundra, 4Runner, Sequoia, Land Cruiser, and Highlander; Nissan Frontier, Titan, Pathfinder, Armada, and Xterra; Subaru Forester, Outback, Ascent, and Crosstrek; Honda Pilot and Ridgeline; BMW X3, X5, and X6; Mercedes-Benz, Audi, Land Rover, and other AWD applications. Availability changes by model year and drivetrain, so contact us with your vehicle information for a current match.</p>
45
46<h3>Details to have ready before ordering</h3>
47<p>To locate the right replacement transfer case, send us your 17-character VIN whenever possible. Also include the year, make, model, engine size, transmission type, drive type, and whether the vehicle uses a floor lever, rotary dial, push-button selector, or automatic AWD system. A photograph of the identification tag or a clear photograph of the housing can help our team verify the assembly.</p>
48<ul>
49  <li>Vehicle identification number and current mileage.</li>
50  <li>Model year, trim, body style, and wheelbase when known.</li>
51  <li>Engine size and transmission model or transmission type.</li>
52  <li>4WD, full-time AWD, part-time 4WD, or selectable drive configuration.</li>
53  <li>Transfer-case identification number, casting number, or tag information.</li>
54  <li>Electronic shift motor, encoder, clutch pack, or manual-shift details.</li>
55  <li>Front and rear driveshaft connection style and output position.</li>
56</ul>
57<p>Providing these details does not make the process complicated; it prevents guesswork. Our fitment team can compare the information with the available assembly and explain any differences before you buy. If a transfer case needs a compatible shift motor or a specific encoder, ask us to confirm what is included in the listing.</p>
58
59<h3>Why VIN matching matters for transfer cases</h3>
60<p>Manufacturers may change a transfer case during a model generation without changing the vehicle name. A 2012 truck and a 2014 truck may have different controls or internal ratios. A two-door SUV can use different driveshaft dimensions than a four-door version. Diesel and gasoline powertrains can use different input components. Even a transfer case from the correct family may not communicate with the vehicle’s control module if the electronics are different.</p>
61<p>We treat fitment as part of the buying process, not an afterthought. Before shipment, confirm whether the assembly is being installed in the original vehicle, whether the existing shift motor will be reused, and whether your mechanic has identified any related drivetrain damage. This information helps us supply a replacement transfer case that is practical for your repair rather than a part that only appears similar in a catalog photograph.</p>
62`,vR=`
63<p>Condition matters when you buy a used transfer case assembly. These components operate under high torque and are exposed to heat, water, road debris, and changing loads. Our inspection process is designed to identify common wear areas before a unit is listed. The exact checks vary by design, but every eligible assembly is reviewed for physical condition, identification, and operation-related concerns.</p>
64
65<h3>Inspection points we review</h3>
66<ul>
67  <li><strong>Housing:</strong> We look for cracks, broken mounting ears, impact damage, stripped threads, and signs of severe corrosion.</li>
68  <li><strong>Seals and leaks:</strong> Input and output seal areas are checked for wetness, damage, and fluid loss.</li>
69  <li><strong>Bearings:</strong> Shafts are checked for excessive play, roughness, or noise that can indicate bearing wear.</li>
70  <li><strong>Chain or gears:</strong> Chain-driven units are reviewed for stretch and guide wear; gear-driven units are checked for tooth damage and abnormal wear patterns.</li>
71  <li><strong>Range mechanism:</strong> High-range, low-range, neutral, and drive-mode engagement are reviewed when the design allows testing.</li>
72  <li><strong>Shift components:</strong> Electronic shift motors, encoder components, connectors, and mounting points are checked for damage.</li>
73  <li><strong>Identification:</strong> Part numbers, tags, casting marks, and application notes are compared with the vehicle information.</li>
74</ul>
75<p>Used parts can show normal cosmetic marks from storage or removal. Cosmetic wear does not automatically affect operation, but structural damage, severe corrosion, missing components, or questionable identification is not treated as acceptable condition for a standard listing. Ask for current availability and condition notes when you request a quote.</p>
76
77<h3>Warranty support and realistic expectations</h3>
78<p>Eligible used transfer cases include warranty coverage of up to 5 years, with the exact term depending on the unit and purchase details. Warranty protection is intended to cover qualifying mechanical defects under normal use. Installation by a qualified shop is strongly recommended because incorrect fluid, mismatched tires, improper driveshaft alignment, or unresolved differential problems can damage a replacement unit.</p>
79<p>Before installation, compare the replacement part with the original. Confirm mounting points, output positions, connectors, shift components, and identification numbers. Use the manufacturer-recommended fluid and fill level. After installation, check for leaks, verify that the selected modes engage correctly, and test the vehicle in a safe area. Following the installer’s procedures helps protect the transfer case and preserve warranty coverage.</p>
80
81<h3>Used, remanufactured, and new transfer cases</h3>
82<p>A new transfer case is unused and usually carries the highest purchase cost. A remanufactured transfer case has been disassembled and rebuilt according to the supplier’s process, which may include replaced wear parts and testing. A used transfer case is an original assembly removed from another vehicle and inspected for resale. Eac
82h option has a place. A used unit is often attractive when the vehicle needs an OEM replacement quickly and the existing unit is not economical to rebuild.</p>
83<p>When comparing prices, consider the total repair. Ask whether the part includes a shift motor, whether freight shipping is included, how fitment is confirmed, what warranty applies, and whether a core return is required. A lower advertised price can become more expensive if the part is wrong or missing an essential component. Our specialists explain the unit and the next step before you place the order.</p>
84`,bR=`
85<p>Most used transfer cases ship within 24–48 hours after order and fitment confirmation. Because a transfer case is a heavy drivetrain component, we package it securely for freight or protected ground service. Ports and openings are protected, loose components are secured, and the unit is placed to reduce movement during transit. Delivery commonly takes 2–5 business days, depending on destination, carrier schedule, and whether the shipment goes to a residence, business, or repair shop.</p>
86
87<h3>Ship to your home, business, or mechanic</h3>
88<p>Before ordering, tell us where the transfer case should be delivered. A commercial repair shop with a loading dock may be the simplest freight destination. Residential deliveries may require appointment scheduling or liftgate service. We can help review the delivery requirements so there are no surprises when the carrier calls. Tracking information is provided when the shipment leaves our facility.</p>
89
90<h3>What to do when the transfer case arrives</h3>
91<ol>
92  <li>Inspect the box, skid, and housing for visible shipping damage before signing for delivery.</li>
93  <li>Photograph any damage and note it with the carrier immediately.</li>
94  <li>Compare the part number, tag, connectors, mounting points, and output configuration with your original unit.</li>
95  <li>Do not install a part that appears damaged or does not match the confirmed application.</li>
96  <li>Have a qualified installer use the correct fluid and follow the vehicle service procedure.</li>
97</ol>
98<p>Free USA shipping applies to eligible orders shipped within the contiguous United States. Alaska, Hawaii, remote destinations, and special freight services may require a separate quote. Call before ordering if you need expedited delivery or direct-to-shop shipping. Our goal is to make the entire replacement process clear from fitment check to final delivery.</p>
99
100<h3>Request a transfer-case quote</h3>
101<p>Use the quote form on this page or call our parts specialists with your VIN. Tell us whether you need a 4x4 transfer case for sale, a 4WD transfer case for sale, an AWD transfer case for sale, or a complete used transfer case assembly. We will check current availability, explain the condition, confirm the warranty, and provide the next step. A few minutes of fitment verification can save days of returns and installation delays.</p>
102`,wR=[{q:"How do I find the correct used transfer case for my vehicle?",a:"Send your VIN, year, make, model, engine, transmission, and drivetrain configuration. If available, include the transfer-case tag or casting number. We compare those details with the replacement assembly before shipping because transfer cases can vary by transmission, wheelbase, controls, and model year."},{q:"What is the difference between a 4WD and AWD transfer case?",a:"A 4WD transfer case commonly gives the driver selectable modes such as 2H, 4H, and 4L. An AWD system usually manages torque automatically through a transfer case, power-transfer unit, clutch pack, or related drive unit. The correct replacement depends on the vehicle’s original drivetrain design."},{q:"What symptoms indicate that my transfer case may be failing?",a:"Common symptoms include grinding or whining, fluid leaks, vibration, clunking, difficulty shifting into 4WD, a warning light, binding during turns, or loss of power to one axle. Other drivetrain parts can cause similar symptoms, so a qualified technician should diagnose the vehicle before ordering."},{q:"Does a used transfer case include the shift motor?",a:"It depends on the specific listing and vehicle application. Some electronic transfer cases are sold with the shift motor and encoder installed, while others reuse the original motor. Ask us to confirm the included components using your VIN and the part number before purchase."},{q:"How much does a used transfer case cost?",a:"Price varies by vehicle, model year, transfer-case design, mileage, condition, electronics, and availability. Used units generally cost less than new dealer assemblies, but the right comparison includes fitment verification, included components, shipping, and warranty coverage. Request a current quote for your exact vehicle."},{q:"Can a used transfer case be installed at home?",a:"Transfer cases are heavy and require safe lifting equipment, correct alignment, proper fluid, and drivetrain knowledge. Some experienced technicians can complete the work, but most vehicle owners choose a professional shop. We can ship the replacement directly to your mechanic."},{q:"What fluid should I use in a replacement transfer case?",a:"Use only the fluid specified for your exact vehicle and transfer-case model. Automatic transmission fluid, gear oil, and specialized transfer-case fluids are not interchangeable. Your installer should confirm the manufacturer specification, fill level, and service procedure before operating the vehicle."},{q:"How long will a used transfer case last?",a:"Service life depends on the original design, mileage, maintenance, tire matching, towing, off-road use, and installation quality. A properly matched and inspected transfer case can provide many years of service. Keeping the fluid at the correct level and repairing leaks early are important for long-term reliability."},{q:"Do you ship transfer cases across the USA?",a:"Yes. Eligible orders ship free within the contiguous United States. Most units leave within 24–48 hours after fitment confirmation and arr
102ive in approximately 2–5 business days. Residential, liftgate, remote-area, Alaska, Hawaii, or expedited freight needs may require a separate delivery quote."},{q:"Can I return a transfer case if it does not fit?",a:"Fitment should be confirmed before ordering, which is why we request your VIN and drivetrain details. If a problem occurs, contact our team before installation or modification. Return eligibility depends on the purchase terms, part condition, and whether the unit has been installed or altered."}],xR="Used Alternators for Sale",kR="A dependable alternator keeps the battery charged, stabilizes vehicle voltage, and supplies the electrical power your car or truck needs while the engine is running. When the charging system fails, a used alternator for sale can be a sensible replacement when it is identified by the correct part number, tested under load, and matched to the vehicle. Quality Auto Parts helps you compare a used OEM alternator for cars, trucks, and SUVs with the fitment details, output rating, included hardware, warranty, and delivery information you need before ordering.",SR="<h3>What an Alternator Does</h3><p>An alternator is the vehicle's engine-driven electrical generator. The serpentine belt turns its rotor, the rotor creates a magnetic field inside the stator, and the resulting alternating current is converted to direct current by a rectifier. A voltage regulator controls the output so the battery can recharge without being overcharged. The alternator supplies current to the ignition, fuel system, lighting, climate controls, infotainment, safety modules, electric cooling fans, and other accessories after the engine starts. The battery provides the large burst of energy needed for cranking; the alternator takes over the steady electrical load once the engine is running.</p><p>That division of work explains why a vehicle may start normally one morning and then leave you stranded later the same day. A battery can have enough reserve for one start while the alternator is no longer replenishing it. As voltage falls, the headlights may dim, warning lights may appear, the blower motor may slow, the transmission or engine modules may set low-voltage codes, and the vehicle may eventually shut down. The same symptoms can also come from a weak battery, loose belt, corroded cable, blown fuse, damaged wiring, or a poor ground. Testing the entire charging circuit is more reliable than replacing the first part that looks suspicious.</p><h3>Used Alternator for Sale: What You Receive</h3><p>A used alternator is a previously installed OEM assembly recovered from a vehicle and evaluated for another compatible application. The value is not simply that it costs less than a new dealer part. A correct used OEM alternator preserves the factory mounting pattern, pulley arrangement, connector style, regulator strategy, and output design intended for the vehicle. It may al
102so avoid the core deposit that accompanies some remanufactured units. The important questions are whether the housing is correct, whether the pulley and plug match, whether the amperage is appropriate, whether the unit passed a meaningful test, and what warranty supports the purchase.</p><p>Our listings are organized around practical replacement decisions. We show the vehicle application, available condition details, price range, shipping information, and warranty language before you commit. When several alternators look similar, send the VIN, the old alternator label, and a photo of the connector or mounting ears. A specialist can compare the candidate against the original instead of relying on a broad search for a car alternator for sale.</p><h3>Alternator Replacement Cost</h3><p>Alternator replacement cost has two parts: the replacement unit and the labor required to access, remove, install, and test it. A compact four-cylinder may have an alternator that is easy to reach, while a transverse engine, hybrid accessory layout, turbocharged truck, or tightly packaged SUV can require substantially more labor. The quote may also include a serpentine belt, tensioner, pulley, battery recharge, diagnostic time, shop supplies, or a replacement cable if the original charging fault damaged other components. Ask whether the advertised number is for the part only or for a complete installed repair.</p><p>A used alternator can lower the part portion of the repair without forcing you into an unknown marketplace unit. It is still important to compare total value rather than the lowest headline price. Confirm the tested output, correct amperage, included pulley, shipping, warranty, and return requirements. If the battery has been deeply discharged, include a battery test and recharge in the repair plan. A low-priced replacement alternator will not solve a damaged cable or a battery that can no longer hold a charge.</p>",AR="<h3>
102Alternator Compatibility Guide</h3><p>The correct replacement alternator is identified by the vehicle's year, make, model, engine, trim, drivetrain where relevant, production date, original amperage, mounting arrangement, pulley type, and electrical connector. A single model can use several alternators in the same generation. A base engine may use a 100-amp unit while a police, towing, fleet, diesel, heated-windshield, or premium-audio package uses a higher-output design. A physically similar case can still have a different regulator signal, belt alignment, clocking position, or connector and should not be treated as interchangeable without verification.</p><p>Start with the 17-character VIN and the label on the old unit. The label may show an OEM number, remanufacturer number, amperage, or family code. Photograph the front pulley, rear connector, mounting ears, and any stamped number if the alternator has been removed. We use those details to check whether the used alternator matches your application. Do not assume that the engine size alone identifies the part, and do not increase amperage unless the wiring, fuse protection, battery, control system, and physical fitment support that change.</p><h3>Used Honda Alternators</h3><p>Used Honda alternators are commonly requested for Civic, Accord, CR-V, Pilot, Odyssey, Ridgeline, and other Honda vehicles. Fitment may change with the K-series, J-series, L-series, or other engine family, model year, hybrid equipment, and factory electrical package. Honda connectors and mounting brackets can look alike across generations while using different regulator communication or belt-line geometry. For a Honda alternator replacement, provide the VIN and the original alternator number so the output rating and plug can be checked together.</p><h3>Used Toyota Alternators</h3><p>Used Toyota alternators support applications such as Camry, Corolla, RAV4, Tacoma, Tundra, 4Runner, Highlander, and Sienna. Toyota alternator compatibility can change with engine family, 2WD or 4WD packaging, hybrid status, cold-climate equipment, and model-year revisions. Truck and SUV applications may use higher-output units or different pulley arrangements. A used OEM alternator should be compared by the connector, mounting points, pulley, amperage, and VIN rather than by the Toyota model name alone.</p><h3>Used Ford Alternators</h3><p>Used Ford alternators are available for F-150, Super Duty, Ranger, Explorer, Escape, Mustang, Edge, Expedition, and many other Ford vehicles. Ford applications may use several output levels for the same body style, especially when the truck has a diesel engine, trailer package, fleet equipment, or dual-battery system. The regulator may be controlled through the vehicle network, so the correct connector and calibration matter. Send the VIN, engine, model year, and the number from the original unit when requesting a Ford alternator for sale.</p><h3>Used Chevrolet Alternators</h3><p>Used Chevrolet alternators cover Silverado, Tahoe, Suburban, Equinox, Traverse, Malibu, Camaro, Colorado, and other Chevy cars and trucks. GM alternator selection can depend on engine RPO, output rating, 2WD or 4WD, battery-management strategy, and accessory package. A truck alternator for sale should be checked for the correct pulley, plug, case clocking, and amperage instead of being selected only because it came from a Silverado. We clarify the application before shipping.</p><h3>Used GMC Alternators</h3><p>Used GMC alternators are commonly matched to Sierra, Yukon, Acadia, Canyon, Terrain, Savana, and other GMC vehicles. Sierra and Yukon configurations can use different output ratings for gasoline and diesel engines, and commercial or towing packages may have additional electrical demand. The VIN, RPO information, old-unit label, and connector photo help separate similar GM units. We can help locate a used OEM alternator that fits the factory bracket and charging strategy.</p><h3>Used Jeep Alternators</h3><p>Used Jeep alternators support Wrangler, Grand Cherokee, Cherokee, Compass, Renegade, Gladiator, and other Jeep applications. A Jeep alternator can vary with engine, 4WD equipment, auxiliary electrical load, ESS or battery-management system, and model year. Some vehicles use more than one battery or require a specific control signal. Check the original amperage, pulley, mounting, and connector before choosing a replacement alternator, especially when the vehicle has winches, lighting, or other accessories.</p><h3>Used Dodge Alternators</h3><p>Used Dodge alternators are available for Charger, Challenger, Durango, Journey, Caravan, Ram-derived applications, and other Dodge vehicles. V6, HEMI, diesel, police, and fleet versions can have different output ratings and mounting details. The right alternator for sale must align with the belt system and communicate correctly with the vehicle's regulator or powertrain module. Give us the VIN and original part number so a Dodge alternator is selected for the exact engine and electrical package.</p><h3>Cars, Trucks, and High-Output Applications</h3><p>We also help with used alternators for Nissan, Hyundai, Kia, Subaru, BMW, Mercedes-Benz, Audi, Volkswagen, Lexus, Acura, Infiniti, Volvo, and many other makes. A car alternator for sale and a truck alternator for sale may share a visual design but have very different current capacity, pulley spacing, heat protection, and mounting strength. If the vehicle has an upgraded audio system, off-road lighting, refrigeration equipment, a liftgate, snowplow, or frequent idle time, ask about a compatible high-output option. Higher amperage is useful only when the complete charging system is designed for it.</p>",TR="<h3>How We Test a Used Alternator</h3><p>Our alternator inspection begins with identification and visual screening. We check the housing for cracks, damaged mounting ears, impact marks, severe corrosion, broken terminals, and evidence of overheating. The pulley is checked for damaged grooves, correct one-way-clutch behavior when equipped, and abnormal wobble. The electrical connector and threaded output terminal are inspected because a damaged connection can create a charging complaint even when the internal 
102components are sound. Units with obvious structural damage or an uncertain identity are not represented as verified matches.</p><p>We then use a regulated bench test and load bank to evaluate the alternator under operating conditions. The technician checks starting voltage, output at a low test speed, output at a higher speed, and regulator control across the load range. The unit must maintain a stable charging response instead of producing a number only with no electrical demand. We also inspect AC ripple. Excessive ripple can indicate a rectifier diode or stator problem that may cause module interference, battery drain, radio noise, or an alternator not charging battery symptoms that return after installation.</p><h3>Voltage, Amperage, and Load Testing</h3><p>Voltage alone does not prove an alternator is healthy. A failed regulator may show normal voltage with little load but collapse when the headlights, blower, rear defroster, and other accessories are switched on. Conversely, a high voltage reading can indicate an overcharging regulator that damages a battery and sensitive electronics. We compare the result with the application specification and document the available test information. The alternator should produce the expected current at the test speed while keeping voltage within a controlled range.</p><p>Bench testing is not a substitute for vehicle diagnosis. The belt must drive the pulley at the correct tension, the battery must be able to accept a charge, and the positive cable and ground path must have low resistance. Smart charging systems may intentionally vary voltage, so a single reading at idle can be misleading. A professional installer should test at the battery and alternator, scan for charging-system codes, and verify the repair under the vehicle's real electrical load.</p><h3>Used OEM Alternator vs. New or Remanufactured</h3><p>A new aftermarket alternator may be the right choice for some repairs, while a new OEM unit can offer factory provenance at a higher cost. A remanufactured alternator may contain new wear components, but quality varies by supplier and the buyer may owe a core charge. A used OEM alternator preserves the factory assembly and can be a strong value when its output has been tested and the application is confirmed. Compare the actual warranty, return policy, test method, amperage, and included pulley rather than assuming that “new” or “remanufactured” automatically means better.</p><p>We do not describe a used part as a universal fit. If the old alternator failed because of coolant contamination, oil leakage, belt misalignment, a seized tensioner, or a shorted wire, those causes must be repaired before installing another unit. Replacing the belt when it is glazed or cracked, cleaning cable connections, and checking the battery can protect the replacement alternator and prevent a repeat failure.</p>",CR="<h3>Shipping a Replacement Alternator</h3><p>Used alternators are compact parts that normally ship by ground parcel. Eligible orders leave promptly after fitment and order details are confirmed, with tracking supplied when the carrier accepts the package. Free shipping is available on qualifying orders across the contiguous United States; ask about Alaska, Hawaii, residential freight rules, or expedited delivery before ordering. We package the pulley, terminals, and connector to reduce the chance of transit damage.</p><p>For the fastest quote, provide your VIN, year, make, model, engine, old alternator number, delivery ZIP code, and whether the vehicle has a high-output electrical package. Tell the specialist if the alternator will ship to a repair shop. Before installation, compare the delivered unit with the original, confirm the connector and pulley line up, and report any discrepancy before fitting it. Warranty coverage applies according to the terms supplied with the specific unit, and professional installation is recommended.</p><h3>Alternator Replacement Checklist</h3><ul><li>Test the battery and inspect the serpentine belt before condemning the alternator.</li><li>Record the VIN, engine, original amperage, connector, pulley, and OEM number.</li><li>Compare the replacement alternator's case, mounting ears, pulley, plug, and output terminal before installation.</li><li>Clean and voltage-drop-test the positive cable and engine or chassis grounds.</li><li>Use the vehicle's specified belt tension and charging-system procedure.</li><li>Verify charging voltage, output under load, AC ripple, warning lights, and stored codes after the repair.</li></ul>",ER="<h3>Alternator Problems: A Practical Diagnostic Sequence</h3><p>Begin with the complaint and the conditions under which it occurs. A battery light that appears immediately after startup is different from a warning that appears only when the headlights, heater fan, or rear defroster are on. Listen for belt squeal, bearing growl, or a sharp electrical whine, but remember that an idler pulley, tensioner, water pump, or vacuum pump can make a similar sound. Look at the belt for cracks, glazing, oil saturation, and poor alignment. A loose belt can make a good alternator appear to be failing because the rotor is not turning at the necessary speed.</p><p>With the engine off, inspect the battery terminals, positive cable, ground strap, alternator fuse, and small control connector. Corrosion or a loose connection can create resistance that reduces voltage at the battery even when the alternator itself is producing power. With the engine running, compare voltage at the alternator output stud with voltage at the battery. A meaningful difference suggests a cable, fuse, terminal, or ground problem. Use a voltage-drop test under load rather than judging a cable by appearance. Never short the output terminal to ground, and follow the vehicle manufacturer's precautions around moving belts and fans.</p><h3>How to Test an Alternator Without Guessing</h3><p>A basic test starts with a charged battery and a digital multimeter. A conventional charging system may show roughly 13.5 to 14.8 volts at the battery while the engine runs, but the correct range varies by vehicle and temperature. Turn on the headlights and blower and watch whether the system maintains a controlled voltage. A smart alternator may intentionally lower or raise voltage based on battery temperature, state of charge, acceleration, and commands from the engine or body module, so a single idle reading is not a final diagnosis. Read the service information and scan for charging-related codes when the vehicle uses network control.</p><p>Next, measure AC ripple with the meter set correctly and compare the result with the service specification. Excessive ripple points toward rectifier or stator trouble and can interfere with sensitive electronics. If the battery is repeatedly dead, test parasitic draw after the vehicle goes to sleep; a draw from a module, lamp, or accessory can discharge a healthy battery overnight. If the charging output is correct but the battery still fails, the battery may be sulfated or unable to accept a charge. The goal of alternator testing is to identify the failed link, not to replace parts until the warning disappears.</p><h3>When an Alternator Replacement Is the Right Repair</h3><p>An alternator replacement makes sense when the unit fails a controlled load test, has excessive AC ripple, produces uncontrolled high voltage, has a seized bearing or damaged pulley, or has internal damage that is not economical to repair. Before installation, verify that the replacement has the same mounting pattern, connector, pulley alignment, rotation, and output strategy. Transferable brackets, spacers, pulley covers, and wiring should not be moved without confirming the application. If the original failure followed a flooded engine bay, coolant leak, oil leak, jump-start error, or wiring short, repair that cause first.</p><p>After the replacement is installed, check belt tension, cable routing, battery state of charge, charging voltage, output under load, AC ripple, warning lights, and diagnostic codes. Let the vehicle reach normal operating temperature and repeat the test because heat can expose a regulator or diode fault that is not visible on a cold start. This final verification protects the customer, the repair shop, and the used alternator warranty. It also gives the driver confidence that the battery will be recharged during ordinary driving.</p>",MR=[{q:"What are the most common bad alternator symptoms?",a:"Common bad alternator symptoms include a battery or charging warning light, headlights that dim or pulse, slow power windows, a weak blower motor, repeated dead batteries, unusual belt or bearing noise, electrical warning messages, and a vehicle that stalls after the battery reserve is exhausted. These symptoms can also come from a weak battery, belt, cable, ground, fuse, or control module, so test the whole charging system before ordering."},{q:"Why is my alternator not charging the battery?",a:"An alternator may not charge the battery because of worn brushes, a failed regulator, rectifier or diode damage, an open field circuit, a broken belt, a seized pulley, poor cable connection, bad ground, blown fuse, or a smart-charging control problem. Measure voltage at the battery and alternator, inspect belt drive and cables, test AC ripple, and scan for codes before replacing the unit."},{q:"How do you test a used alternator before selling it?",a:"We identify the unit, inspect its case, mounting points, pulley, terminals, and connector, then test it on a regulated bench load bank. Output voltage and current are checked at more than one speed and under electrical load, regulator response is reviewed, and AC ripple is measured for rectifier problems. Fitment is still confirmed against the buyer's VIN and original part number."},{q:"What is alternator replacement cost?",a:"Alternator replacement cost depends on the used, new, or remanufactured part price, engine access, labor time, belt or tensioner condition, battery service, cables, and vehicle electronics. A simple accessible car alternator may be a smaller repair than a truck or SUV with limited access and a high-output charging system. Ask for a quote that separates the part, labor, diagnostic work, and warranty."},{q:"Is a used OEM alternator better than a remanufactured alternator?",a:"Neither option is automatically right for every vehicle. A tested used OEM alternator keeps the factory case, mounting, pulley, connector, and regulator design and can cost less without a core deposit. A remanufactured unit may have replaced wear components but varies by supplier. Compare test results, correct amperage, warranty, return terms, and fitment instead of choosing from the label alone."},{q:"How do I choose the correct alternator for my car or truck?",a:"Use the 17-ch
102aracter VIN, year, make, model, engine, original alternator number, amperage, connector, pulley style, and mounting details. Check special equipment such as diesel power, towing, fleet service, police packages, hybrid systems, dual batteries, or aftermarket electrical loads. We compare those details before confirming a used alternator for sale."},{q:"Can I install a higher-output alternator for aftermarket accessories?",a:"Possibly, but only when the higher-output alternator matches the mounting, belt alignment, connector, regulator strategy, battery, fuse protection, and vehicle wiring. Added audio, lighting, winches, refrigeration, or long idle periods may justify a high-output option. A qualified installer should calculate the load and verify the complete charging system rather than installing a higher-amperage unit by appearance."},{q:"Should I replace the belt and battery when replacing an alternator?",a:"Inspect both before deciding. Replace a cracked, glazed, contaminated, loose, or noisy belt and check the tensioner and pulley. Test the battery after the charging fault because a deeply discharged or sulfated battery may not recover. Replacing a healthy battery or belt is not always necessary, but ignoring a component that caused or absorbed the failure can damage the replacement alternator."}],RR=["Honda","Toyota","Ford","Chevrolet","GMC","Jeep","Dodge","Nissan","Hyundai","Kia","BMW"],DR=["Load-Bank Tested","Voltage Verified","No Core Charge","Up to 5-Yr Warranty"],OR="used alternators for sale, used alternator, used alternator for sale, alternator for sale, replacement alternator, OEM alternator, used OEM alternator, car alternator for sale, truck alternator for sale, alternator replacement, alternator replacement cost, bad alternator symptoms, alternator problems, alternator not charging battery, used vs new alternator, how to test an alternator, alternator compatibility guide",NR="Used Alternators for Sale | Tested OEM Charging Units",VR="Shop a used alternator for sale with output and voltage load testing, VIN fitment help, free USA shipping, and up to 5-year warranty for cars and trucks.",Ut={h1:xR,intro:kR,aboutSection:SR,compatSection:AR,qualitySection:TR,shippingNote:CR,diagnosticsSection:ER,faqs:MR,topMakes:RR,badges:DR,keywords:OR,metaTitle:NR,metaDescription:VR},qR="Used Power Steering Pumps for Sale",jR="A power steering pump turns engine power into the hydraulic pressure that makes a heavy vehicle feel easy to guide. When the pump wears out, the steering wheel may become hard to turn, the belt area may whine, or fluid may begin to leak around the shaft and housing. Quality Auto Parts helps you find a used power steering pump for sale that is identified by the correct vehicle, pulley, connector, pressure specification, and mounting pattern. Every eligible unit is inspected for structural condition and tested for useful pressure and flow before it is listed, so you can restore steering assist without paying the full price of a dealer replacement.",UR="<h3>What a Power Steering Pump Does</h3><p>A hydraulic power steering pump is an engine-driven pump that circulates specialized fluid through the steering system. A belt turns the pump pulley, the pump creates pressure, and a control valve sends that pressure to the steering gear or rack when the driver turns the wheel. The hydraulic assist does not steer the vehicle by itself; it reduces the effort required to move the tires, especially during parking, low-speed turns, and maneuvering with a trailer. The reservoir, hoses, steering gear or rack, cooler, belt, and fluid all work with the pump as one system.</p><p>Many pumps use a vane design, although some applications use a different internal arrangement. As the pulley rotates, internal chambers move fluid from the inlet to the pressure outlet. A relief valve limits peak pressure when the wheel reaches the end of its travel. That is why holding the steering wheel hard against the stop can create a loud groan and unnecessary heat. A healthy system operates quietly with the correct fluid level, a properly tensioned belt, and n
102o air in the hoses. If any part of that circuit is wrong, replacing the pump alone may not solve the steering complaint.</p><h3>Used Power Steering Pump for Sale: What Makes It a Good Replacement</h3><p>A used power steering pump is a previously installed OEM assembly removed from a compatible vehicle and prepared for another repair. Choosing a used OEM power steering pump can preserve the factory case, pressure characteristics, bracket relationship, pulley alignment, and hose connections intended for the vehicle. That matters because two pumps can bolt into a similar-looking bracket but produce different pressure, use a different reservoir connection, or place the pulley at a different distance from the belt line.</p><p>Our listings are designed for a practical replacement decision. We help confirm the year, make, model, engine, drive configuration, part number, pulley style, and included reservoir before the order is finalized. If you have a photo of the pump, a number from the housing, or the 17-character VIN, share it with our parts team. Those details are more dependable than choosing a power steering pump for sale from a broad vehicle description. The right match should fit the mounting points, connect to the original hoses, turn in the correct direction, and provide the pressure the steering gear expects.</p><h3>Power Steering Pump Assembly Components</h3><p>A power steering pump assembly may include the bare pump, pulley, reservoir, mounting bracket, pressure switch, pressure fitting, or a combination of those pieces. Included components vary by vehicle and listing. Some reservoirs are remote-mounted and reusable, while others are built into the pump body. Some pulleys press onto the shaft and require a special removal tool; others are part of the original assembly. Before ordering, compare the inlet size, pressure-port thread, return-hose connection, pulley grooves, shaft length, mounting ears, and electrical switch or sensor.</p><p>Do not assume a reservoir, pulley, bracket, or pressure line transfers automatically between generations. A pump can be internally correct but still be unsuitable if the pulley sits out of alignment or the pressure fitting cannot accept the vehicle's hose. We will explain what is included with the specific used power steering pump and what should be transferred from the original. This makes installation planning clearer and helps prevent a low-cost part from becoming an expensive mismatch.</p><h3>Power Steering Pump Replacement Cost</h3><p>Power steering pump replacement cost depends on more than the price of the pump. The total repair can include the replacement unit, labor, new fluid, a system flush, a belt or tensioner, replacement O-rings, a pressure hose, a pulley tool, and diagnostic time. A pump that is easy to reach on a front-wheel-drive car may take less time than one buried behind accessories on a truck or SUV. Rusted fittings, a contaminated reservoir filter, or a leaking steering rack can also increase the final invoice.</p><p>A used replacement power steering pump can reduce the parts portion of the repair while keeping an OEM-style fit. Compare the tested condition, pressure verification, seal inspection, included hardware, warranty, return terms, and shipping rather than focusing only on the lowest listing price. If the system has been running low on fluid, a flush and leak repair are important parts of the quote. Installing a replacement pump into a system that still contains metal debris or air can damage the new-to-you unit and bring the same noise back.</p>",PR="<h3>Power Steering Pump Compatibility Guide</h3><p>Start with the 17-character VIN, year, make, model, engine, and drivetrain. Then compare the original pump's part number, pulley diameter, number of grooves, mounting pattern, shaft position, reservoir design, hose fittings, pressure switch, and whether the vehicle uses a hydraulic rack, steering box, or hydroboost brake system. The engine accessory layout can change the pump even when the body and model name stay the same. Diesel trucks, heavy-duty packages, performance models, and vehicles with hydroboost often require a pump with different flow or pressure behavior.</p><p>Look at the pump while it is still installed if possible. Photograph the front pulley, rear mounting ears, reservoir, pressure outlet, return inlet, and any label or casting number. A vehicle that has electric power steering does not use a hydraulic power steering pump, so confirm the type of assist before shopping. If the steering is hard because of a failed electric motor, rack, control module, belt, or low fluid, a hydraulic pump will not be the correct replacement. We use the VIN and original component details to separate similar units before shipping.</p><h3>Used Honda Power Steering Pumps</h3><p>Used Honda power steering pumps are commonly needed for Accord, Civic, CR-V, Odyssey, Pilot, Ridgeline, and other Honda applications. Pump fitment can change with the K-series, J-series, L-series, V6, four-cylinder, production year, and pulley arrangement. Honda systems are sensitive to the correct fluid and can become noisy when air is trapped after a repair. A Honda pump that matches the bracket may still have the wrong pressure fitting or reservoir connection, so provide the VIN and the number on the original assembly when requesting a replacement power steering pump.</p><h3>Used Toyota Power Steering Pumps</h3><p>
102Used Toyota power steering pumps support Camry, Corolla, RAV4, Tacoma, Tundra, 4Runner, Highlander, Sienna, and other Toyota vehicles. Car and truck applications may use different output requirements, belt alignment, and reservoir arrangements. Toyota trucks with larger tires, 4WD equipment, or hydroboost-related accessories need especially careful identification. We compare the Toyota pump's pulley, mounting points, hose ports, and application details instead of treating every pump from the same model family as interchangeable.</p><h3>Used Ford Power Steering Pumps</h3><p>Used Ford power steering pumps are available for F-150, F-250, F-350, Ranger, Explorer, Expedition, Mustang, Escape, and other Ford vehicles. Ford pump designs vary across engines, generations, pulley systems, and steering gear applications. Super Duty and diesel trucks may require a pump capable of supporting both steering assist and other hydraulic demands. A Ford pump from a similar-looking truck can have different pressure, flow, or bracket geometry. Send the VIN, engine, original pump number, and whether the vehicle uses hydroboost so we can check the complete application.</p><h3>Used Chevrolet Power Steering Pumps</h3><p>Used Chevrolet power steering pumps cover Silverado, Tahoe, Suburban, Equinox, Traverse, Colorado, Camaro, Malibu, and many other Chevy cars and trucks. GM applications may change with the engine RPO, accessory drive, pulley type, reservoir position, and steering gear. A pump for a Silverado 1500 is not automatically correct for every Silverado engine or model year, and a truck with hydroboost may need a higher-demand design. We verify the Chevrolet pump's ports, mounting, output requirements, and included parts before confirming a match.</p><h3>Used GMC Power Steering Pumps</h3><p>Used GMC power steering pumps are often matched to Sierra, Yukon, Canyon, Acadia, Terrain, Savana, and related GMC models. Gasoline and diesel engines can use different pump assemblies, and towing, commercial, or hydroboost equipment may change the hydraulic demand. Similar GM brackets and reservoirs can hide important differences in pulley offset and pressure fitting size. Provide the VIN or original casting number for a GMC pump search, especially when the vehicle is a Sierra HD or has a modified accessory system.</p><h3>Used Jeep Power Steering Pumps</h3><p>Used Jeep power steering pumps fit applications including Wrangler, Grand Cherokee, Cherokee, Gladiator, Compass, and Liberty. Jeep pumps can vary with the engine, model year, 4WD packaging, reservoir location, and steering gear. Larger tires and off-road use can expose a weak pump, but heavy steering can also result from tire pressure, steering linkage, ball joints, or a damaged gear. We help identify the Jeep assembly by its pressure port, pulley, bracket, and VIN instead of recommending a universal pump based only on the vehicle name.</p><h3>Used Dodge Power Steering Pumps</h3><p>
102Used Dodge power steering pumps support Charger, Challenger, Durango, Caravan, Dakota, Ram-derived applications, and other Dodge vehicles. V6, HEMI, diesel, police, and heavy-duty versions may use separate pump and pulley arrangements. Some trucks combine steering assist with hydroboost, which makes output specifications particularly important. When you request a Dodge power steering pump for sale, include the engine, model year, VIN, old part number, and whether the pump has a separate or built-in reservoir. We can then compare the assembly instead of guessing from a photo.</p><h3>Other Cars, Trucks, and Hydraulic Steering Applications</h3><p>We also help locate used power steering pumps for Nissan, Hyundai, Kia, Subaru, BMW, Mercedes-Benz, Lexus, Acura, Infiniti, Volvo, Chrysler, and many other makes. Luxury vehicles may use electronically controlled valves or unusual fluid requirements, while commercial vans and work trucks can use pumps that support steering, hydroboost, or other hydraulic accessories. If the vehicle has a lift kit, oversized tires, a replacement steering box, or an aftermarket bracket, tell the parts specialist. Factory fitment and modified fitment are not always the same, and the extra context helps us recommend a safe, compatible replacement.</p>",_R="<h3>How We Inspect a Used Power Steering Pump</h3><p>Inspection begins with identity and structural condition. We check the housing for cracks, impact damage, deep corrosion, damaged mounting ears, and signs that the pump was exposed to contaminated fluid. The pulley is examined for bent flanges, damaged grooves, wobble, and the correct belt configuration. We inspect the shaft area for seal leakage and excessive radial or axial play, then review the reservoir, cap, inlet screen, pressure fitting, return port, and electrical switch where equipped. A pump with an uncertain identity or obvious structural damage is not presented as a verified replacement.</p><p>Internal condition matters because a pump can look clean while its vanes, cam ring, bearings, or relief valve are worn. We use pressure and flow testing appropriate to the application to confirm that the pump builds useful hydraulic output rather than simply turning on a bench. We listen for abnormal bearing growl, vane chatter, and cavitation, and we check that the shaft rotates smoothly. The test result is considered with the part number and fitment information; a pump that produces pressure but has the wrong output specification is still not the right pump for the vehicle.</p><h3>Pressure, Flow, and Seal Checks</h3><p>Power steering complaints are often described as pressure problems, but pressure and flow are different measurements. A worn pump may create acceptable pressure with the outlet restricted while failing to move enough fluid during normal steering demand. A stuck relief valve may create excessive pressure, heat, and noise. A restricted inlet hose or clogged reservoir screen can make a good pump cavitate. That is why a meaningful evaluation considers pressure response, flow behavior, noise, shaft condition, and the physical connections together.</p><p>We also look for clues that the pump failed because of another problem. Metallic debris from a damaged steering rack can circulate back to the pump. A leaking pressure hose can lower the fluid level and pull air into the system. A loose belt can slip under load, while an over-tightened belt can wear the pump bearing. The replacement should not be installed until the installer identifies the original cause, cleans the system, and confirms that the fluid type and belt tension match the vehicle's service information.</p><h3>Used OEM Power Steering Pump vs. New or Remanufactured</h3><p>A new aftermarket power steering pump may be appropriate for a common application, and a new OEM unit may offer factory-supplied parts at a higher price. A remanufactured pump may have new seals, bearings, or internal wear components, but quality and testing standards vary between suppliers. A used OEM power steering pump keeps the original manufacturer's case and application design and can be a sensible choice when it has been properly pressure-tested and fitment-checked. The label alone does not determine reliability; compare the test method, output specification, seal condition, included pulley, warranty, and return policy.</p><p>
102The best choice also depends on the rest of the vehicle. A high-mileage car may need a cost-conscious repair, while a modified truck may justify a specialized high-output or hydroboost-compatible unit. Do not install a pump with a different pressure rating just because the bracket appears close. Excess pressure can stress the rack, gear, hoses, or seals, and too little flow can leave the steering heavy. We focus on the original application and explain any important differences before you buy.</p>",LR="<h3>Shipping a Replacement Power Steering Pump</h3><p>Power steering pumps usually ship by ground parcel in protective packaging. We secure the pulley, shaft, ports, and reservoir so they are less likely to be damaged in transit. Eligible orders typically leave after the vehicle and part details are confirmed, and tracking is supplied when the carrier accepts the package. Free shipping is available on qualifying orders across the USA; ask about expedited service, Alaska and Hawaii, residential delivery, or a repair-shop address when requesting a quote.</p><p>For a quick and accurate quote, send the VIN, year, make, model, engine, delivery ZIP code, original pump number, and a note about hydroboost, oversized tires, or other modifications. When the package arrives, compare the mounting ears, pulley grooves, shaft, pressure port, return inlet, reservoir, and electrical connector with the original before transferring hardware. Do not force a hose onto an incompatible fitting or press a pulley onto the shaft without the correct tool. Contact the parts team before installation if anything differs from the confirmed listing.</p><h3>Power Steering Pump Installation Checklist</h3><ul><li>Confirm the vehicle uses hydraulic power steering and verify the replacement by VIN and original part number.</li><li>Inspect the belt, tensioner, hoses, steering rack or box, reservoir screen, and cooler for the cause of the original failure.</li><li>Flush contaminated fluid and use only the fluid specified for the vehicle.</li><li>Use new O-rings or seals where required and tighten hose fittings to the service specification.</li><li>Use the proper pulley puller and installer; never hammer a pulley onto the pump shaft.</li><li>Bleed air from the system with the correct wheel and engine procedure, then check for leaks.</li><li>Verify quiet operation, steering effort, fluid level, belt alignment, and pressure after the repair.</li></ul>",HR="<h3>Bad Power Steering Pump Symptoms</h3><p>The most familiar bad power steering pump symptoms are a steering wheel that suddenly feels heavy, a whine or groan from the belt area, fluid leaking near the pump shaft, and assist that changes as engine speed changes. You may notice the problem first when parallel parking, turning into a driveway, or maneuvering a truck at low speed. Some pumps work normally when cold and become noisy after the fluid warms up. Others produce assist in one direction but feel weak or jerky in both directions. These clues point toward the hydraulic system, but they do not prove the pump is the failed part.</p><p>A low fluid level, aerated fluid, a cracked inlet hose, slipping belt, restricted filter, failing steering rack, worn steering gear, or suspension binding can create the same symptoms. Check the fluid level and condition, inspect for wetness, and look for bubbles or foam in the reservoir. Do not keep driving with a serious leak: the pump can run dry, overheat, and shed debris into the rack or gear. A technician should inspect the complete system before ordering a replacement power steering pump.</p><h3>Power Steering Pump Making Noise or Whining</h3><p>A power steering pump making noise may produce a high-pitched whine that changes with engine RPM, a groan when the wheel is turned, or a rough grinding sound near the pulley. Power steering pump whining often begins after a hose or pump replacement because air remains in the system or the wrong fluid was used. Low fluid can make the pump cavitate, which sounds like a growl or moan and may create foam in the reservoir. A loose belt can squeal, while a 
102worn pump bearing can rumble even when the steering wheel is centered.</p><p>Listen with the vehicle safely parked, but never place hands or loose clothing near a moving belt. Compare the sound at idle, during a small steering input, and with the wheel away from the full-lock stop. If the noise changes when the belt is removed briefly for a qualified inspection, an accessory pulley may be involved rather than the pump. Do not hold the steering wheel against the stop while diagnosing; it raises system pressure and can make a healthy pump sound worse.</p><h3>Power Steering Pump Leaking or Not Working</h3><p>A power steering pump leaking may leave fluid around the front shaft seal, pump body, pressure fitting, or reservoir connection. Fluid can travel along the belt or engine bracket, making the original leak point difficult to see. Clean the area and inspect it after a short run rather than assuming the wettest spot is the source. A power steering pump not working may have an internal failure, but it may also be unable to build pressure because the reservoir is empty, the belt is broken, the inlet is restricted, or the steering gear has a major internal leak.</p><p>When assist disappears, stop and determine whether the belt is present and whether the fluid level is safe. Steering without hydraulic assist may still be mechanically possible, but it requires much more effort and can be unsafe in traffic. Avoid driving a vehicle with a rapidly leaking system or a belt that also drives the water pump. Towing the vehicle to a shop is safer than running the pump dry and spreading contamination through the steering circuit.</p><h3>Hard Steering and Low Power Steering Pressure Symptoms</h3><p>Hard steering is most noticeable at low speed, but a weak pump can also cause slow return-to-center, jerky assist, or a steering wheel that becomes difficult to move during repeated turns. Low power steering pressure symptoms can include assist that fades when the engine idles, a pump that whines under load, a steering wheel that feels heavier in one direction, and pressure readings below the vehicle specification. A failed pressure-control valve, worn pump vanes, low fluid, or a restricted inlet can all reduce effective pressure.</p><p>Check simple causes first. Confirm tire pressure, examine the belt, inspect fluid level, and make sure the steering linkage and front suspension are not binding. If those checks are normal, a shop can connect a power steering pressure gauge and compare pressure with the service specification while measuring flow and observing the relief-valve response. A pressure test is more useful than replacing the pump based on noise alone. If pressure is correct but the wheel remains hard, the rack, gear, column, joints, or suspension may be the actual source.</p><h3>Can a Bad Power Steering Pump Damage the Steering System?</h3><p>Yes, continuing to operate with a bad or dry power steering pump can damage related components. A failing pump may send metal particles through the fluid, overheat the fluid, or create pressure spikes that stress hoses and seals. If the pump is leaking, low fluid can cause the steering gear or rack to run without sufficient lubrication and may damage its internal seals. A broken belt can also affect other engine accessories depending on the routing. The risk is higher when the driver continues turning against heavy resistance or ignores a pump whining and leaking for an extended period.</p><p>Replacing the pump without cleaning the rest of the system can allow old debris to damage the replacement. The installer should identify the failure, inspect the rack or gear, flush or replace contaminated fluid, repair leaks, and bleed air before judging the new pump. If a pressure test shows the rack has an internal bypass or the hose has collapsed, replacing only the pump may leave the hard steering problem unresolved.</p><h3>When Should a Power Steering Pump Be Replaced?</h3><p>A power steering pump should be replaced when it fails a pressure and flow test, has a seized or excessively loose bearing, leaks from a damaged shaft seal or cracked housing, produces persistent abnormal noise after correct bleeding, or cannot maintain the application's specified output. Replacement is also reasonable when internal wear has contaminated the system and rebuilding the pump is not economical. A minor external seal leak may be repairable on some designs, but the repair must address the condition of the shaft, bearing, vanes, and housing rather than masking the leak.</p><p>Before ordering a replacement power steering pump, verify that the belt drive is sound and that the rack or gear, hoses, and reservoir are not causing the complaint. If the vehicle has hydroboost, a steering box, or aftermarket tires, confirm that the replacement supports the complete hydraulic demand. A tested used OEM unit can be a practical repair when it matches those requirements and includes a clear warranty.</p><h3>How to Check a Power Steering Pump</h3><p>Begin by checking the reservoir level and fluid condition with the vehicle parked on a level surface. Look for foam, a burnt odor, metallic particles, or fluid that is visibly contaminated. Inspect the belt for glazing, cracks, slack, and misalignment. Examine the pressure and return hoses for wet fittings, kinks, collapsed 
102sections, and damage. If the reservoir is empty or the leak is active, do not run the pump for a long time just to listen to it.</p><p>A technician can check the pump more accurately with a power steering pressure-and-flow gauge installed according to the service procedure. The gauge is used to compare pressure during normal steering input and briefly observe the relief response; the valve should not be held closed longer than specified because that creates heat. The test result must be compared with the vehicle's factory range. If the pump passes, diagnose the rack, gear, hose, belt, or suspension. If it fails, replace it with a correctly matched assembly, flush the system, bleed it, and repeat the test after installation.</p>",BR=[{q:"What are the most common bad power steering pump symptoms?",a:"The most common symptoms are hard steering at low speed, a whining or groaning sound that changes with engine RPM, fluid leaking from the pump or pulley area, foamy fluid in the reservoir, jerky assist, and steering that becomes heavier as the fluid warms. A belt, hose, reservoir, rack, steering gear, or suspension problem can cause similar symptoms, so test the complete system before ordering."},{q:"Why is my power steering pump making noise or whining?",a:"Power steering pump noise or whining is often caused by low fluid, air in the system, the wrong fluid, a restricted inlet, a slipping belt, worn bearings, or internal pump wear. Check the fluid level and belt first, then bleed the system and inspect for leaks. If the noise remains, a pressure-and-flow test can determine whether the pump or another accessory is at fault."},{q:"How do I know if my power steering pump is leaking?",a:"Clean the pump and surrounding bracket, then look for fresh fluid around the front shaft seal, housing, reservoir connection, pressure fitting, or return hose. Fluid can travel along the belt and make the source appear elsewhere. Do not continue driving with an active leak or empty reservoir because the pump can run dry and send contamination into the steering rack or gear."},{q:"Can a bad power steering pump damage the steering system?",a:"Yes. A failing or dry pump can overheat, shed metal debris, create pressure problems, and contaminate the rack, steering gear, hoses, or reservoir. Low fluid can also damage seals and internal surfaces. Before installing a replacement, repair the leak, inspect related components, flush contaminated fluid, and bleed the system using the vehicle's specified procedure."},{q:"When should a power steering pump be replaced?",a:"Replace the pump when it fails the vehicle's pressure or flow specification, has a damaged housing, seized or loose bearing, persistent internal noise, or a shaft seal that leaks after the system is correctly serviced. First rule out low fluid, air, a loose belt, restricted hose, steering rack, steering gear, and suspension binding so the replacement addresses the actual failure."},{q:"How do you test a power steering pump?",a:"Start with fluid level and condition, belt inspection, leak inspection, and a check for air in the reservoir. A shop can then connect a power steering pressure-and-flow gauge and compare normal output and relief response with the manufacturer's specification. A pressure test is more reliable than judging the pump by noise alone, and a passing pump means the rack, gear, hoses, or steering linkage need further diagnosis."},{q:"Is a used OEM power steering pump better than a new aftermarket pump?",a:"Neither option is automatically best for every vehicle. A tested used OEM power steering pump can retain the original pressure design, mounting, pulley, and hose connections at a lower parts cost. A new aftermarket pump may also work when it meets the exact specification. Compare pressure and flow testing, seal condition, included hardware, warranty, return terms, and VIN fitment rather than choosing by the word new alone."},{q:"What does power steering pump replacement cost?",a:"Power steering pump replacement cost includes the pump, labor, fluid, flushing, seals, belt or tensioner work, and any hose, rack, or reservoir repair that the diagnosis reveals. Access varies widely between cars and trucks. A used replacement power steering pump can lower the parts cost, but the quote should also account for cleaning and bleeding the system so the replacement is protected."}],zR=["Honda","Toyota","Ford","Chevrolet","GMC","Jeep","Dodge","Nissan","Chrysler","Ram","BMW"],IR=["Pressure Tested","Flow Verified","Shaft Seal Inspected","Up to 5-Yr Warranty"],FR="used power steering pumps for sale, used power steering pump, used power steering pump for sale, power steering pump for sale, replacement power steering pump, OEM power steering pump, used OEM power steering pump, power steering pump replacement, power steering pump assembly, bad power steering pump symptoms, power steering pump making noise, power steering pump whining, power steering pump leaking, power steering pump not working, hard steering, power steering problems, low power steering pressure symptoms, power steering pump replacement cost, power steering pump problems, how to test a power steering pump, used vs new power steering pump",WR="Used Power Steering Pumps for Sale | Tested OEM Units",GR="Shop a used power steering pump for sale with pressure and flow testing, VIN fitment help, free USA shipping, and warranty coverage for cars and trucks.",Pt={h1:qR,intro:jR,aboutSection:UR,compatSection:PR,qualitySection:_R,shippingNote:LR,diagnosticsSection:HR,faqs:BR,topMakes:zR,badges:IR,keywords:FR,metaTitle:WR,metaDescription:GR},YR="Used Water Pumps for Sale",KR="A water pump keeps coolant moving through the engine, radiator, heater core, and related passages so combustion heat can leave the engine safely. When the pump starts leaking, the bearing becomes noisy, or the impeller stops circulating coolant, a vehicle can overheat quickly and suffer expensive damage. Quality Auto Parts helps you find a used water pump for sale that is matched to the year, make, model, engine, belt or chain drive, housing, and coolant connections. Eligible units are inspected for seal and bearing condition before shipping, giving you a practical replacement water pump option for cars, trucks, and SUVs.",QR="<h3>What an Automotive Water Pump Does</h3><p>An automotive water pump is the circulation point of the engine cooling system. After the engine starts, the pump moves coolant through passages in the engine block and cylinder head, then sends the heated coolant toward the radiator. Air passing through the radiator removes heat before the coolant returns to the engine. A portion of the flow is directed through the heater core to warm the passenger cabin. The thermostat controls when the larger radiator circuit opens, but the pump provides the movement that makes the entire temperature-control system work.</p><p>Most conventional pumps use an impeller attached to a shaft. The shaft is turned by an accessory belt, timing belt, timing chain, or an electric motor depending on the vehicle design. A mechanical seal keeps coolant away from the bearing, while the housing directs fluid through the correct passages. A pump can fail even when the housing looks intact: the bearing may develop play, the seal may leak from the weep hole, the impeller may corrode, or a plastic impeller may loosen from the shaft. Those failures can reduce flow before the dashboard gauge shows a serious problem.</p><h3>Used Water Pump for Sale: What You Should Match</h3><p>A used water pump is an original equipment assembly removed from a compatible vehicle and inspected for another application. The value of a used OEM water pump comes from matching the factory housing, mounting points, pulley or sprocket, impeller design, hose outlets, and flow path to the original engine. A pump that bolts on but uses a different impeller depth or outlet angle can create poor circulation, belt interference, or a hose-routing problem. The part should be identified by the engine and application, not by appearance alone.</p><p>
102When you contact our team, provide the 17-character VIN, year, make, model, engine size or engine code, and the number from the original pump if available. Tell us whether the water pump is driven by the timing belt, timing chain, serpentine belt, or electric motor. A photo of the pulley, housing, gasket surface, and hose connections can help separate similar units. We confirm the replacement water pump before it ships so you know whether the listing includes a pulley, thermostat housing, gasket, O-ring, or only the pump assembly.</p><h3>Engine Water Pump and Water Pump Assembly Components</h3><p>An engine water pump assembly can be sold as a bare pump or as a larger unit that includes a pulley, backing plate, housing, thermostat outlet, coolant pipe, or electric connector. Some engines use a water pump mounted behind the timing cover, while others use a belt-driven pump mounted at the front of the engine. High-output or turbocharged engines may use additional coolant circuits or an auxiliary electric pump. The included components vary by listing, so confirm the exact contents before installation.</p><p>Pay attention to the gasket surface and fastener pattern. Corrosion around a coolant passage can prevent a new seal from sitting flat, and a bent backing plate can allow a leak even when the pump itself tests well. The installer should compare the old and replacement pump side by side, verify the impeller direction and depth, and use the correct gasket or O-ring. Never seal a precision water pump with an unapproved excess of silicone that can squeeze into the cooling passages.</p><h3>Water Pump Replacement Cost</h3><p>Water pump replacement cost depends heavily on where the pump is located and what must be removed to reach it. An accessory-belt pump on an older car may be accessible from the front of the engine, while a timing-belt-driven pump can require removal of the belt, covers, tensioner, and related components. Some modern engines place the pump behind a timing chain or inside a complex cooling module. Labor, coolant, gaskets, belts, tensioners, pulleys, thermostat service, and cooling-system bleeding may all affect the final repair price.</p><p>A used water pump can lower the parts portion of the repair, especially for an older vehicle where a new OEM pump is costly or difficult to source. Compare the tested condition, seal and bearing inspection, included hardware, fitment confirmation, warranty, shipping, and return terms. The cheapest pump is not a good value if the wrong gasket, pulley, or housing requires the job to be repeated. Ask the repair shop for a complete estimate that separates the pump from related maintenance so you can compare used, new, and remanufactured options fairly.</p>",XR="<h3>Water Pump Compatibility Guide</h3><p>The correct water pump is determined by the engine, not just the vehicle badge. Confirm the model year, make, model, engine family, displacement, fuel type, production date, drive configuration when relevant, and whether the vehicle has a mechanical or electric pump. Compare the mounting holes, gasket outline, impeller diameter and depth, rotation, pulley or sprocket, belt alignment, hose outlets, thermostat connection, and any temperature or auxiliary-pump connector. A car water pump and a truck water pump may look similar but have different flow requirements, bearing loads, or mounting geometry.</p><p>Cooling-system modifications also matter. A turbocharged or supercharged engine, diesel truck, heavy-duty tow package, hybrid system, electric water pump, or aftermarket cooling setup may use an application-specific design. If the engine has overheated, ask the technician to identify why before ordering. A failed thermostat, restricted radiator, collapsed hose, trapped air pocket, cooling fan problem, head-gasket leak, or low coolant can create water pump failure symptoms without the pump being the original cause. We use the VIN and original part details to prevent a broad search from becoming a costly mismatch.</p><h3>Used Honda Water Pumps</h3><p>Used Honda water pumps are commonly requested for Civic, Accord, CR-V, Pilot, Odyssey, Ridgeline, Element, and other Honda vehicles. Four-cylinder and V6 engines can use different housings, belt drives, pulley arrangements, and impeller designs. On a timing-belt Honda engine, the pump may be located behind the timing cover and replaced during the same service as the belt and tensioner. On other applications, the pump is mounted externally and has a different removal procedure. Provide the Honda engine code or VIN so the pump, gasket, pulley, and belt relationship can be checked together.</p><h3>Used Toyota Water Pumps</h3><p>Used Toyota water pumps fit applications such as Camry, Corolla, RAV4, Tacoma, Tundra, 4Runner, Highlander, Sienna, Sequoia, and other Toyota vehicles. Toyota engines may use belt-driven pumps, timing-chain systems, electric auxiliary pumps, or hybrid cooling circuits depending on the year and powertrain. A Tacoma or Tundra pump may need to handle a different belt load and coolant flow than a compact car pump. We verify the Toyota pump by engine family, housing, pulley, impeller, and VIN rather than selecting it only by the model name.</p><h3>Used Ford Water Pumps</h3><p>Used Ford water pumps are available for F-150, F-250, F-350, Ranger, Explorer, Escape, Mustang, Edge, Expedition, Fusion, and many other Ford applications. Ford water pump fitment can change with EcoBoost, modular V8, Power Stroke diesel, V6, and four-cylinder engines. Some engines place the pump behind the timing cover, while others use a front-mounted accessory pump. A Ford truck water pump should be checked for the correct outlet positions, rotation, pulley, and gasket shape, especially when the vehicle has a heavy-duty cooling package or a diesel engine.</p><h3>Used Chevrolet Water Pumps</h3><p>Used Chevrolet water pumps support Silverado, Tahoe, Suburban, Equinox, Traverse, Colorado, Camaro, Malibu, Impala, and other Chevy cars and trucks. GM engines can use different water pump housings, bypass passages, belt alignments, and thermostat arrangements within the same body generation. Small-block and LS-family engines also vary by accessory drive and application. For a Chevrolet water pump replacement, compare the bolt pattern, inlet and outlet positions, pulley offset, impeller depth, and engine code. A VIN or casting number helps confirm the pump before shipping.</p><h3>Used GMC Water Pumps</h3><p>Used GMC water pumps are commonly matched to Sierra, Yukon, Acadia, Canyon, Terrain, Savana, and related GMC models. Gasoline, diesel, and heavy-duty engine packages may use different pump assemblies and coolant connections. A Sierra HD pump can have requirements that do not match a light-duty Sierra pump, even when the body style looks nearly identical. Send the GMC VIN, engine information, and a photo or number from the original pump so the correct housing, pulley, and gasket can be identified.</p><h3>Used Jeep Water Pumps</h3><p>Used Jeep water pumps cover Wrangler, Grand Cherokee, Cherokee, Gladiator, Compass, Liberty, and other Jeep applications. Jeep engine families and model years can use different pump locations, pulley systems, and coolant outlet designs. A vehicle used for towing or off-road driving may experience higher cooling demand, but overheating can also come from a fan clutch, radiator restriction, thermostat, hose, or trapped air. We compare the Jeep pump against the engine and original mounting details instead of assuming that every pump for a Wrangler or Grand Cherokee is interchangeable.</p><h3>Used Dodge Water Pumps</h3><p>Used Dodge water pumps are available for Ram-derived applications, Durango, Charger, Challenger, Caravan, Journey, Dakota, and other Dodge vehicles. V6, HEMI, Cummins diesel, and performance applications can use different pump housings, flow characteristics, and belt routing. Some Dodge pumps are involved in timing-belt or chain service, making the surrounding labor important to the replacement decision. Provide the Dodge VIN, engine, model year, and whether the pump is mechanical or electric so we can match the complete application.</p><h3>Other Automotive Water Pump Applications</h3><p>We also help find water pumps for Nissan, Hyundai, Kia, Subaru, BMW, Mercedes-Benz, Volkswagen, Audi, Lexus, Acura, Infiniti, Volvo, Chrysler, and many other makes. European engines may use electric pumps, auxiliary pumps, or integrated thermostat modules that require a different diagnosis than a standard belt-driven pump. Commercial vans, diesel trucks, and hybrid vehicles can have multiple coolant loops. If the vehicle has an aftermarket radiator, electric fan, engine swap, or performance modification, mention it before ordering so the replacement water pump is evaluated against the actual cooling system.</p>",ZR="<h3>How We Inspect a Used Water Pump</h3><p>Inspection begins with part identification and a visual review of the housing. We check the casting, mounting ears, bolt holes, coolant passages, hose outlets, pulley or sprocket, and gasket surface for cracks, impact damage, deep corrosion, or distortion. The shaft is checked for radial and axial play, roughness, and signs of a failed bearing. We inspect the seal area and weep hole for active leakage or heavy dried coolant tracks. A pump with uncertain fitment, a damaged housing, a bent pulley, or excessive shaft movement is not presented as a verified replacement.</p><p>The impeller receives close attention because it is the part that moves coolant. We look for broken, eroded, corroded, or missing blades and check that the impeller is secure on the shaft. A plastic impeller that has slipped may create overheating with no obvious external leak. A metal impeller can also lose eff
102iciency when corrosion changes its blade shape. We compare the impeller depth and direction with the application when that information is available. The pump must be the right design as well as a mechanically sound unit.</p><h3>Seal, Bearing, and Gasket-Surface Checks</h3><p>The mechanical seal separates coolant from the bearing. When it fails, coolant may emerge from the weep hole or run along the shaft and pulley. A small amount of dry residue may be old service evidence, but fresh wetness, a growing stain, or coolant tracks around the pulley indicate a problem. Bearing wear may produce a grinding or growling noise and can allow the pulley to wobble. Wobble can damage the belt, cover, or seal, so it is not a condition to ignore.</p><p>The gasket surface must be flat, cleanable, and free of deep pitting around the coolant passages. An old gasket can hide corrosion that prevents a new O-ring or paper gasket from sealing. We also check whether the pulley is included and whether it has damaged grooves or an incorrect offset. For pumps driven by a timing belt or chain, the sprocket and shaft relationship must be correct. The installer should not reuse a damaged belt, tensioner, gasket, or fastener when the service procedure calls for replacement.</p><h3>Used OEM Water Pump vs. New or Remanufactured</h3><p>A new aftermarket water pump can be a good fit when it meets the engine's exact specification, while a new OEM water pump offers factory-supplied design at a higher price. A remanufactured unit may use replaced bearings and seals, but quality and testing vary between suppliers. A used OEM water pump can preserve the original housing, impeller profile, pulley alignment, and hose layout and may cost less for an older vehicle. The word new does not by itself prove the pump has better fit or flow. Compare the application, inspection, warranty, included gasket, and return policy.</p><p>Used is not a reason to skip the cooling-system repair. If the original pump failed because of contaminated coolant, a broken belt, an over-tightened belt, an incorrect sealant, a clogged radiator, or a leaking hose, correct that cause before installing another pump. Reusing a contaminated reservoir or leaving abrasive debris in the system can shorten the life of any replacement. A professional flush, the correct coolant mixture, and proper bleeding can be as important as the pump itself.</p>",$R="<h3>Shipping a Replacement Water Pump</h3><p>Water pumps normally ship by ground parcel in protective packaging. We protect the pulley, shaft, gasket surface, ports, and electrical connectors from impact during transit. Eligible orders usually leave after the VIN and fitment details are confirmed, and tracking is provided when the carrier accepts the package. Free shipping is available on qualifying orders across the USA. Tell us if the pump should go to a repair shop, if expedited delivery is needed, or if the destination has special receiving requirements.</p><p>Before installation, compare the delivered pump with the original assembly. Check the housing outline, bolt holes, impeller, pulley or sprocket, hose outlets, connector, and gasket or O-ring. Do not force a hose or pulley onto a part that does not match the confirmed application. The installer should follow the engine's torque sequence, belt or chain timing procedure, coolant specification, and bleeding process. After the repair, confirm that the engine reaches normal temperature, the heater works, the fans cycle correctly, the belt tracks straight, and no coolant is leaking.</p><h3>Water Pump Replacement Checklist</h3><ul><li>Confirm the VIN, engine code, pump drive type, pulley or sprocket, and gasket shape before ordering.</li><li>Identify whether the pump is external, timing-belt driven, timing-chain driven, or electric.</li><li>Inspect the thermostat, radiator, hoses, fan, belt, tensioner, and reservoir for the original overheating cause.</li><li>Use a new gasket or O-ring and the coolant type specified by the vehicle manufacturer.</li><li>Replace the timing belt, tensioner, or related service parts when the maintenance procedure requires it.</li><li>Fill and bleed the cooling system correctly;
102 trapped air can mimic a failed water pump.</li><li>Verify temperature, cabin heat, fan operation, belt tracking, pressure, and leaks after installation.</li></ul>",JR="<h3>Bad Water Pump Symptoms</h3><p>Bad water pump symptoms include coolant leaking near the pump, a grinding or growling sound from the pulley area, an overheating engine, a temperature gauge that rises during traffic, weak cabin heat, steam or a coolant odor, and visible wobble at the pulley. Some water pump failure symptoms appear gradually. The driver may need to add coolant more often, notice a small stain after parking, or hear a light chirp before a seal or bearing fails completely. Other failures are sudden, such as an impeller separating from the shaft or a bearing locking and throwing the belt.</p><p>These symptoms overlap with other cooling-system problems. A stuck thermostat can cause overheating without a pump failure, while a failed radiator fan can make the temperature rise at idle but fall at highway speed. A head-gasket leak can pressurize the system and push coolant out. A collapsed hose, restricted radiator, loose belt, low coolant, or air pocket can also reduce circulation. Diagnosis should combine a visual inspection, cooling-system pressure test, belt check, temperature comparison, and pump evaluation rather than relying on one symptom.</p><h3>Water Pump Leaking Coolant</h3><p>A water pump leaking coolant may show wetness around the weep hole, shaft seal, gasket edge, housing seam, or nearby hose connection. Coolant can run down the front of the engine and make the leak appear lower than its true source. Dried white, green, pink, blue, or orange residue may show where coolant has evaporated, but the color depends on the fluid. Clean the area and inspect it after the engine reaches operating temperature. Never open a hot radiator or expansion tank, because pressurized coolant can cause serious burns.</p><p>A small active leak should not be treated as harmless. The weep hole exists to show that the seal is beginning to fail, and continued driving can lower the coolant level until the pump runs with poor lubrication or the engine overheats. If the pump is driven by the timing belt, a coolant leak can contaminate the belt and cause belt failure. If it is driven by the serpentine belt, coolant can make the belt slip or damage other accessories. Repair the source and clean the belt path before installing a replacement.</p><h3>Water Pump Problems and Failure Symptoms</h3><p>Water pump problems can be mechanical, hydraulic, or installation-related. A worn bearing creates noise and shaft movement. A failed seal creates a leak. A damaged or slipping impeller reduces coolant flow. A corroded housing or incorrect gasket allows coolant to escape. A wrong-rotation pump, loose belt, trapped air pocket, or incorrect coolant mixture can cause poor circulation even when the pump itself is new. Electric pumps add motor, wiring, relay, and control-module concerns that do not apply to a traditional belt-driven design.</p><p>Pay attention to when the symptom occurs. Overheating only at idle may point toward a fan or airflow issue; overheating under load can suggest low flow, a restricted radiator, a weak pump, or a head-gasket problem. Cabin heat that disappears when the engine is warm can indicate low coolant or air in the heater circuit. A pressure test can locate external leaks, while infrared temperature checks across the radiator and hoses can show whether coolant is moving through the expected path. Use the vehicle's service information for exact test values.</p><h3>How to Test a Water Pump</h3><p>Start with the engine cold. Check the coolant level in the correct reservoir, inspect the belt or timing-drive area, look for dried coolant, and examine the pump pulley for wobble. With the engine running, listen for bearing noise and observe whether the temperature changes normally, but keep hands, clothing, and tools away from moving components. Do not remove a cap or open a hose while the system is hot. A cooling-system pressure tester can help reveal an external leak, but pressure loss does not by itself prove the pump is the source.</p><p>For a mechanical pump, a technician may compare temperature at the upper and lower radiator hoses, observe heater performance, inspect the pump through an opening when accessible, and check shaft play with the belt removed. A borescope or direct inspection during timing-belt service may reveal a damaged impeller. For an electric pump, scan for control codes, check power and ground, verify command signals, and test current draw according to the manufacturer's procedure. A pump that passes a basic visual test can still fail under operating conditions, so use the complete diagnostic sequence.</p><h3>When Should a Water Pump Be Replaced?</h3><p>A water pump should be replaced when it has an active seal leak, excessive bearing play, a rough or seized shaft, broken or corroded impeller blades, a damaged housing, or insufficient coolant flow confirmed by testing. Replacement is also appropriate during a timing-belt service when the pump is located behind the belt and the vehicle's maintenance procedure calls for doing both together. Preventive replacement can make sense when access labor is high and the pump has reached the recommended service interval.</p><p>Do not replace the pump simply because the engine ran hot once. Find the reason for the overheating and verify the pump is involved. A thermostat, fan clutch, electric fan, radiator, hose, coolant cap, head gasket, or air pocket may be the actual problem. When the pump is replaced, flush contaminated coolant, repair related leaks, use the specified gasket, and bleed the system. A correctly matched used water pump can provide dependable service when the surrounding cooling system is restored at the same time.</p>",eD=[{q:"What are the most common bad water pump symptoms?",a:"Common bad water pump symptoms include coolant leaking near the pump or pulley, grinding or growling bearing noise, pulley wobble, overheating, a temperature gauge that rises in traffic, weak heater output, and a coolant odor. These signs can also come from a thermostat, radiator, fan, hose, belt, air pocket, or head-gasket problem, so inspect the complete cooling system before ordering."},{q:"Why is my water pump leaking coolant?",a:"A water pump may leak coolant because its mechanical shaft seal is worn, the housing gasket or O-ring has failed, the housing is corroded or cracked, or a nearby hose is leaking. Coolant can run along the engine and disguise the source. Clean the area, pressure-test the cold system, and repair the actual leak before driving far or installing another pump."},{q:"How do I know if my water pump has failed?",a:"Look for an active pump-area leak, bearing noise, shaft or pulley play, overheating, poor cabin heat, or evidence that c
102oolant is not circulating. A technician can pressure-test the system, compare hose temperatures, inspect the belt drive, check flow, and examine the impeller when accessible. One symptom alone does not distinguish the pump from a thermostat, radiator, fan, or hose problem."},{q:"How do you test a water pump?",a:"Start with a cold visual inspection, coolant-level check, belt check, and search for dried or fresh coolant. A pressure test can locate external leaks, while temperature comparisons and heater performance help evaluate circulation. Mechanical pumps may be checked for shaft play and impeller condition; electric pumps also require power, ground, control-signal, code, and current-draw tests."},{q:"What is water pump replacement cost?",a:"Water pump replacement cost depends on the pump price, engine access, labor, coolant, gaskets, belts, tensioners, thermostat service, and whether the pump is behind a timing belt or chain. A used water pump can reduce the parts cost, but request a complete estimate that includes the required belt or chain service and cooling-system bleeding."},{q:"Should I replace the water pump with the timing belt?",a:"If the water pump is driven by the timing belt and the belt is already being removed, replacing the pump at the same time is common practice. The extra pump cost is usually smaller than paying for the access labor again if the pump leaks later. Follow the vehicle's service schedule and inspect the tensioner, idlers, seals, and belt before reassembly."},{q:"Is a used OEM water pump better than a new aftermarket pump?",a:"Neither option is automatically best for every application. A tested used OEM water pump can retain the factory housing, impeller, pulley, and coolant connections at a lower price. A new aftermarket pump can also work when its flow, fit, materials, and warranty meet the engine specification. Compare fitment, seal and bearing condition, included gasket, warranty, and return terms."},{q:"Can I use a used water pump on a truck or turbocharged engine?",a:"Yes, when the pump is matched to the exact truck or turbocharged engine and its required coolant flow, housing, pulley, and drive system. Heavy-duty and forced-induction applications can have different thermal demands than passenger cars. Provide the VIN, engine information, and any cooling modifications so the replacement is checked against the original application."}],tD=["Honda","Toyota","Ford","Chevrolet","GMC","Jeep","Dodge","Nissan","Chrysler","Ram","BMW"],aD=["Bearing Play Tested","Impeller Inspected","Seal Integrity Verified","Up to 5-Yr Warranty"],nD="used water pumps for sale, used water pump, used water pump for sale, water pump for sale, replacement water pump, automotive water pump, used OEM water pump, OEM water pump, engine water pump, car water pump, truck water pump, water pump replacement cost, bad water pump symptoms, water pump problems, water pump leaking coolant, water pump failure symptoms, how to test a water pump, used vs new water pump",iD="Used Water Pumps for Sale | Tested OEM Cooling Units",rD="Shop a used water pump for sale with bearing and seal testing, VIN fitment help, free USA shipping, and warranty coverage for cars, trucks, and SUVs nationwide.",_t={h1:YR,intro:KR,aboutSection:QR,compatSection:XR,qualitySection:ZR,shippingNote:$R,diagnosticsSection:JR,faqs:eD,topMakes:tD,badges:aD,keywords:nD,metaTitle:iD,metaDescription:rD},sD="Used Differentials for Sale",oD="Used Differentials for Sale? Share your VIN, vehicle details, axle position, ratio, and tag or part number when available. We’ll help check fitment.",lD=[{heading:"Used Differentials for Sale",body:'<p>A differential transfers power to an axle while allowing its wheels to rotate at different speeds during a turn. Housing, ratio, outputs and drivetrain determine whether a Used Differential fits.</p><p>Used Car Differentials may be complete assemblies or center sections, so confirm what is included. If diagnosis points elsewhere, compare <a href="/parts/axle-assembly">used axle assemblies</a> or browse <a href="/parts">used auto parts</a>. A differential is separate from engine components such as <a href="/parts/cylinder-head">used cylinder heads</a>.</p>'},{heading:"Quality Used Differentials for Cars, Trucks & SUVs",body:'<p>Used differentials are requested for cars, pickups, work trucks, crossovers and SUVs with rear-wheel, all-wheel or four-wheel drive. Year, make, model, engine, trim and drivetrain can change the axle housing, ratio, splines, flanges and traction equipment.</p><p>Provide full vehicle details instead of relying on a broad year range. If diagnosis identifies another assembly, compare <a href="/engines">used engines</a> and <a href="/transmissions">used transmissions</a>. Ford owners can also browse <a href="/brand/ford/engines">Ford engines</a> and <a href="/brand/ford/transmissions">Ford transmissions</a>.</p>'},{heading:"Front and Rear Used Differentials",body:"<p>A front differential powers the front axle; a rear differential powers the rear axle. A front unit may be inside a transaxle or mounted 
102in a separate housing. Rear designs include independent carriers and solid axles. Mounts, input angles, outputs and clearances differ by application.</p><p>Do not assume front and rear units are interchangeable because the model name or ratio matches. Many AWD and 4WD vehicles need compatible front and rear ratios. Confirm axle position, ratio and housing before ordering a Used Front Differential or Used Rear Differential; have a mechanic check related driveline parts if the original failed.</p>"},{heading:"How to Find the Correct Used Differential",body:"<p>Start with the 17-character VIN, year, make, model, engine, trim and drivetrain. Add axle position, gear ratio, axle tag or casting number, and OEM or part number when available. These details distinguish applications that share a model name but use different gears, housings or outputs.</p><p>VIN verification can narrow the factory configuration, but an axle tag may be needed if the vehicle was modified. Mention a locker, limited-slip unit, towing package, lift, larger tires or prior gear change.</p>"},{heading:"Used Differential Assembly and Components",body:"<p>A Used Differential Assembly for Sale may include a housing or carrier with ring-and-pinion gears and internal components. Depending on the unit, it may also include axle shafts, cover, yoke, flanges, sensors, actuator or brackets. Other units are bare housings or center sections that need parts transferred.</p><p>Ask for the exact component list. Confirm whether shafts, locker hardware, sensors, seals, cover and brackets are included or must be reused. “Complete” can mean different things, so clarify supplied parts before ordering. Fluid and installation requirements depend on the vehicle’s service procedure.</p>"},{heading:"2WD and 4WD Differential Compatibility",body:"<p>Drivetrain configuration affects fitment. A 2WD vehicle may use a driven rear axle without a front differential; a 4WD vehicle generally has front and rear drive components linked through a transfer case. AWD layouts vary, and some integrate differential functions with other assemblies.</p><p>Provide drivetrain, axle position, ratio and transfer-case or traction-control details. AWD and 4WD vehicles need compatible front and rear ratios; a mismatch can stress the driveline. If configuration is unclear, share the VIN and axle-tag information, then have the installer compare the candidate with vehicle specifications.</p>"},{heading:"Used Differential Condition and Inspection",body:"<p>Condition information is specific to each unit. Ask what is known about housing damage, corrosion, gears, bearings, seals and flanges, and what inspection information is available. A noise or leak does not identify the failed part by itself; a technician should diagnose the vehicle first.</p><p>Request the unit’s condition details, included components, installation requirements, warranty terms and return conditions before purchase. Inspection procedures can vary; this page does not claim every differential was tested or rebuilt. The installer should follow the vehicle service manual and specified fluid requirements.</p>"},{heading:"Used Differentials Near Me and USA Shipping",body:"<p>Searching for Used Differentials Near Me may locate nearby sellers, but distance does not confirm fitment or condition. You can also request a quote online with vehicle information, VIN, axle tag and part number so the application and current options can be reviewed.</p><p>Nationwide USA shipping may be available for selected units, depending on the part and destination. Freight method, delivery appointment and liftgate access can affect the quote. Confirm cost, timing and destination service for the specific unit; do not assume free shipping or identical terms for every order.</p>"},{heading:"Why Buy Used Differentials from Quality Auto Parts?",body:"<p>Quality Auto Parts provides a way to submit vehicle and part details for fitment assistance. Share the VIN, axle position, drivetrain, ratio or tag, and OEM number when available. A parts specialist can review the application and explain current options for the unit being quoted.</p><p>Condition, included components, warranty information and shipping options vary by unit and destination. Ask for those details with the quote and compare them with your repair needs. No single warranty or shipping offer applies to every differential.</p>"},{heading:"How to Order a Used Differential",body:'<p><strong>Step 1:</strong> Provide year, make, model, engine, trim and drivetrain. <strong>Step 2:</strong> Share the VIN and OEM or part number when available. <strong>Step 3:</strong> Confirm front or rear position, ratio, housing and 2WD, AWD or 4WD configuration.</p><p><strong>Step 4:</strong> Review condition and included components. <strong>Step 5:</strong> Confirm unit-specific price, warranty and shipping details. <strong>Step 6:</strong> Place the order once fitment and quote information are clear. Use the <a href="#differential-quote">differential fitment form</a> to send your details and ask what still needs confirmation.</p>'}],cD="Frequently Asked Questions",uD=[{q:"What is a used differential?",a:"It is a previously installed drivetrain assembly that powers an axle while letting its wheels turn at different speeds. Fit depends on position, ratio and drivetrain."},{q:"How do I know which differential fits my vehicle?",a:"Match the VIN, vehicle details, axle position, drivetrain and ratio. An axle tag or part number can confirm information the VIN may not show."},{q:"What is the difference between a front and rear differential?",a:"A front differential powers the front axle; a rear differential powers the rear. Their housings, mounts, outputs and ratios can differ."},{q:"Can I find a used differential by VIN?",a:"Yes. A VIN narrows the factory configuration; share the axle tag or part number too, especially if the vehicle may have been modified."}
102,{q:"What information do I need before ordering a used differential?",a:"Have the VIN, year, make, model, engine, trim, drivetrain, axle position and ratio. Include the axle tag, OEM number and locker details when available."},{q:"Are used differentials available for 2WD and 4WD vehicles?",a:"Differentials serve both 2WD and 4WD applications, but those assemblies are not automatically interchangeable. Confirm drivetrain, axle position and ratio."},{q:"Does a used differential come as a complete assembly?",a:"Some are complete assemblies; others are housings or center sections. Ask which shafts, sensors, brackets and locker hardware are included."},{q:"How much does a used differential cost?",a:"Price depends on application, ratio, condition, included parts, warranty and shipping. Request a quote for the exact fitment."},{q:"Can I buy used differentials online?",a:"Yes. Request an online fitment and availability quote with your VIN, vehicle details, axle information and part number, then review the unit-specific terms."},{q:"Do you ship used differentials across the USA?",a:"USA shipping may be available by unit and destination. Confirm method, cost, timing and freight requirements in the quote."},{q:"Is a warranty available for used differentials?",a:"Warranty terms vary by unit and order. Ask for applicable coverage and conditions in writing before ordering."}],dD=["Ford","Chevrolet","GMC","Jeep","Toyota","Honda","Dodge","Ram","Nissan","Subaru"],hD=["VIN & Ratio Fitment Review","Condition Details by Unit","Warranty Terms by Unit","USA Shipping Options"],fD="used differentials for sale, used differential, used differentials, differential for sale, used differential assembly, used front differential, used rear differential, used car differentials, used differentials near me, OEM used differential, used differential assembly for sale, differential fitment, differential ratio, USA shipping",pD="Used Differentials for Sale | Quality Auto Parts",mD="Shop used differentials for sale at Quality Auto Parts. Find quality options for cars, trucks and SUVs with VIN fitment help, USA shipping and warranty.",mt={h1:sD,intro:oD,sections:lD,faqHeading:cD,faqs:uD,topMakes:dD,badges:hD,keywords:fD,metaTitle:pD,metaDescription:mD},gD="Used Radiators for Sale",yD="When an engine runs hot, loses coolant, or shows damage from a front-end impact, the radiator is one of the first parts a technician checks. Quality Auto Parts helps you find a used radiator for sale that matches your vehicle by VIN, year, make, model, engine, transmission, cooling package, and original part number. Our used radiators are reviewed for tank condition, core integrity, mounting points, hose outlets, transmission-cooler fittings, and fan-shroud compatibility before a specialist confirms the replacement. That gives you a practical way to repair a car, truck, or SUV without paying new-dealer pricing for every application.",vD="<h3>What an Automotive Radiator Does</h3><p>An automotive radiator is the heat exchanger that removes combustion heat from engine coolant. A water pump sends hot coolant through the engine block and cylinder head, where it absorbs heat. The fluid then travels to the radiator through the upper hose or an application-specific outlet. Inside the radiator, coolant passes through narrow tubes while fins transfer heat to air moving through the grille. The cooled fluid returns through the lower hose so the cycle can continue. The thermostat controls when the main circuit opens, and the cooling fan helps maintain airflow when the vehicle is stopped or moving slowly.</p><p>A radiator can look clean from the outside and still have an internal restriction, a cracked tank, a weak seam, bent fins, or a leak that appears only when the system is hot and pressurized. A damaged radiator can cause overheating, low coolant, poor heater performance, transmission-fluid contamination, or repeated coolant loss. Because other cooling parts can create similar symptoms, a technician should test the system rather than assume every temperature problem means the radiator is bad.</p><h3>Used Radiator for Sale: What You Receive</h3><p>A used radiator is an original-equipment cooling component removed from a compatible vehicle and prepared for another service life. The radiator may be sold as a core-only unit or as a radiator assembly with a fan shroud, electric fans, transmission cooler, oil cooler, brackets, sensors, or mounting cushions. The exact contents change by listing. Confirm whether the replacement includes the cap, drain plug, fan assembly, shroud, brackets, and cooler fittings before ordering.</p><p>The best used radiator for sale is not simply the lowest-priced unit with the same model name. Radiator size, tube count, core thickness, tank material, hose location, inlet and outlet diameter, fan clearance, and cooler connections can change within one generation. Send the VIN, engine size, transmission type, production date, towing or heavy-duty package, and a photo of the old radiator when possible. We compare those details before shipping so the replacement is selected for the actual vehicle.</p><h3>Car Radiator, Truck Radiator, or SUV Radiator?</h3><p>A car radiator is often sized for a compact engine bay and may use a thinner core, smaller tanks, and an integrated automatic-transmission cooler. A truck radiator may need a larger heat-transfer area, stronger mounting points, additional oil cooling, or a heavy-duty package for towing and payload. An SUV radiator can combine engine cooling, transmission cooling, and extra fan-shroud requirements in a tight front-end assembly. These differences matter even when two parts appear similar in a photograph.</p><p>Vehicle use also affects the right choice. A truck that tows, a sport utility vehicle used off-road, a turbocharged car, and a hybrid with multiple cooling loops may require application-specific components. An aftermarket winch, bumper, intercooler, electric fan, engine swap, or non-factory transmission can change available space and cooling demand. Tell us about modifications so a specialist can identify whether an original radiator assembly will work or whether the system needs a different solution.</p><h3>Replacement Radiator Basics</h3><p>A replacement radiator should match the original cooling capacity and physical connections, not just the vehicle badge. Compare the core height and width, thickness, tube and fin design, plastic or aluminum tank style, inlet and outlet position, drain location, mounting pegs, fan-shroud tabs, and any oil or transmission-cooler ports. Check whether the radiator uses a separate cap or a pressurized expansion tank. A part that bolts into the support but has the wrong hose angle or cooler fitting can create a leak or prevent other components from fitting correctly.</p><p>Before installation, the technician should identify why the original radiator failed. A collision may have bent the support or condenser. A failed water pump or thermostat may have caused the overheating. Electrolysis, incorrect coolant, restricted airflow, a failed fan, a head-gasket leak, and excessive cooling-system pressure can damage a replacement radiator. Repairing the cause protects the new part and prevents a repeat failure.</p>",bD="<h3>Radiator Fitment Starts With the VIN</h3><p>The VIN is the most reliable starting point for a radiator search because one vehicle model can use several engine, transmission, and cooling-package combinations. Provide the 17-ch
102aracter VIN, model year, make, model, engine displacement or code, transmission, drivetrain when relevant, and whether the vehicle has a towing or severe-duty package. If the radiator is removed, photograph the identification label, tanks, fittings, hose outlets, mounting pegs, fan shroud, and damage. A casting or supplier number can help, but it should be checked against the vehicle rather than treated as the only proof of fit.</p><p>Fitment review includes the radiator core dimensions, tank construction, hose routing, transmission-cooler circuit, engine-oil cooler, fan and shroud clearance, mounting cushions, condenser relationship, and pressure-cap arrangement. Automatic and manual transmissions may use different radiator designs. Diesel, turbocharged, hybrid, police, fleet, and towing applications can have larger cores or additional heat exchangers. We do not treat a similar-looking radiator as interchangeable until those details are confirmed.</p><h3>Used Honda Radiator</h3><p>A used Honda radiator is commonly requested for Civic, Accord, CR-V, Pilot, and Odyssey applications, but Honda radiator fitment can change by engine, body generation, transmission, and production year. A Honda Civic radiator may have different hose positions and automatic-transmission cooler connections than a manual-transmission version. A Honda Accord radiator can vary between four-cylinder and V6 layouts, while a Honda CR-V radiator may be paired with an AWD cooling package. A used Honda Pilot radiator and Honda Odyssey radiator can require larger assemblies, separate transmission cooling, or different fan-shroud mounting.</p><p>When looking for a Honda radiator for sale or a used Honda radiator for sale, provide the VIN and identify whether the vehicle is automatic or manual, front-wheel drive or AWD, and equipped with factory towing or auxiliary cooling. We compare the core, tanks, brackets, fittings, and included components so a replacement radiator does not create a hose or fan mismatch. If the original failure involved overheating, have the thermostat, water pump, fans, cap, hoses, and head gasket checked before installation.</p><h3>Used Toyota Radiator</h3><p>Used Toyota radiators support popular applications such as Camry, Corolla, RAV4, Tacoma, and 4Runner. A Toyota Camry radiator can differ by four-cylinder or V6 engine, hybrid system, transmission, and model year. A Toyota Corolla radiator may use different hose outlets and cooler fittings across generations. A Toyota RAV4 radiator can change with engine, AWD system, and hybrid cooling layout. A Toyota Tacoma radiator and Toyota 4Runner radiator often need careful review of core thickness, transmission-cooler lines, fan shroud, and off-road or towing equipment.</p><p>A used Toyota radiator should be compared with the original by VIN and engine family, not selected only because the model name matches. Tell us whether your Tacoma or 4Runner has a tow package, automatic transmission, auxiliary cooler, or aftermarket fan. We can confirm whether the listing is a radiator alone or a complete radiator assembly with shroud, fans, brackets, and cooler hardware. Correctly matching those details helps preserve coolant flow and makes installation more predictable.</p><h3>Used Ford Radiator</h3><p>Ford radiator requests frequently include the F-150, F-250, F-350, Explorer, and Escape. A Ford F-150 radiator can vary by engine, transmission, model year, tow package, and whether the truck uses a standard or heavy-duty cooling system. A Ford F-250 radiator and Ford F-350 radiator may be different for gasoline and Power Stroke diesel engines and can include additional transmission or oil-cooling circuits. A Ford Explorer radiator can change with engine and drivetrain, while a Ford Escape radiator may vary between gasoline, hybrid, and turbocharged applications.</p><p>When you need a Ford radiator for sale or a used Ford radiator for sale, send the VIN, engine code, transmission, and any towing or fleet package information. We compare the radiator core, side brackets, upper and lower hose locations, cooler ports, fan shroud, and pressure-cap arrangement. Truck radiators are often shipped with extra protection because bent fins or cracked plastic tanks can occur when a large assembly is handled carelessly. Confirm whether your order is radiator-only or includes the attached fan and shroud.</p><h3>Used Chevrolet Radiator</h3><p>Used Chevrolet radiators are available for Silverado, Tahoe, Suburban, and Equinox applications, among other Chevy cars and trucks. A Chevy Silverado radiator may vary by 1500, 2500HD, or 3500HD configuration, gasoline or Duramax die
102sel engine, transmission, and cooling package. A Chevy Tahoe radiator and Chevy Suburban radiator can have different core dimensions, cooler arrangements, and fan-shroud requirements depending on the model year and engine. A Chevy Equinox radiator is more compact, but engine, turbo, transmission, and production changes still affect the correct part.</p><p>Searches for a used Chevy radiator, used Chevrolet radiator, or Chevy radiator for sale should include the complete vehicle identity. Provide the VIN, engine, transmission, and whether the vehicle has a tow package or auxiliary cooler. We check the side supports, condenser interface, hose connections, transmission cooler, drain, fans, and shroud. Chevrolet and GMC platforms can share some radiator designs, but shared appearance does not guarantee that every Silverado, Tahoe, Sierra, or Yukon part is a direct replacement.</p><h3>Other Automotive Radiator Applications</h3><p>We also help locate replacement radiators for GMC Sierra and Yukon, Jeep Wrangler and Grand Cherokee, Dodge Ram and Durango, Nissan Frontier and Titan, Subaru Outback and Forester, Hyundai Santa Fe and Tucson, Kia Sorento and Sportage, BMW, Mercedes-Benz, Volkswagen, Audi, Lexus, Acura, and many other vehicles. European, diesel, hybrid, and performance applications may use separate low-temperature radiators, integrated expansion tanks, auxiliary coolers, or electronically controlled fans. Tell us if the vehicle has more than one radiator or a modified cooling system.</p><p>Fleet vehicles, emergency vehicles, delivery vans, and work trucks can have different radiator capacities than a standard passenger model. A radiator from the same body style may still have the wrong mounting hardware or cooling capacity. We use the vehicle details and original assembly photos to narrow the choice, then explain what is included and what should be transferred from the old unit before the quote is finalized.</p>",wD="<h3>How We Inspect a Used Radiator</h3><p>Inspection begins with identification. We record the donor vehicle information when available, radiator brand or part number, core dimensions, tank style, hose outlets, cooler fittings, brackets, fan-shroud tabs, and included hardware. The assembly is then examined for c
102ollision damage, bent supports, cracked plastic, broken mounting pegs, corrosion, missing drain plugs, damaged threads, and repairs that could affect sealing. A clean appearance is helpful, but it does not replace a pressure and flow evaluation.</p><p>Radiator tanks and seams receive particular attention. Plastic side tanks can develop hairline cracks near hose necks, mounting points, and crimped gasket channels. Aluminum tanks and soldered joints can seep after heat cycling. We look for dried coolant tracks, staining, distortion, and evidence of a previous repair. Hose necks must be round and secure, while cooler fittings must have usable threads and undamaged sealing surfaces. Radiators with structural uncertainty are not presented as verified replacements.</p><h3>Pressure Testing and Core Condition</h3><p>A suitable used radiator is air or water pressure-tested using a procedure appropriate to its design. The test helps identify leaks in the core, tank seams, drain, hose necks, and cooler circuit. A radiator can hold pressure when cold and leak only after heat expands a damaged seam, so the technician should also inspect the unit for temperature-related failure signs. Pressure testing does not prove that every internal passage has perfect flow, which is why core condition and contamination are reviewed separately.</p><p>Fins may be bent from road debris without stopping coolant flow, but crushed sections can reduce airflow and deep corrosion can lead to a future leak. The tubes are checked for obvious restriction, heavy scale, oil contamination, and impact damage. If an automatic-transmission cooler is integrated into the radiator, it must be separated from the engine-coolant circuit and evaluated for cross-contamination. Milky transmission fluid or oily coolant can indicate a failed internal cooler and may require flushing both systems before the replacement is used.</p><h3>Radiator Assembly Components</h3><p>A radiator assembly may include more than the heat exchanger. Depending on the vehicle, it can contain electric cooling fans, a fan shroud, brackets, rubber isolators, a transmission cooler, an engine-oil cooler, sensors, a drain plug, a cap, or a separate expansion tank. The listing should state what is included rather than assuming that a photograph shows every component. A fan motor, shroud, or bracket transferred from the old assembly may be correct, but the installer should compare part numbers and mounting points first.</p><p>Radiator caps, hoses, clamps, cushions, and coolant are commonly service items and may not be included. Use the pressure rating specified by the vehicle manufacturer. A cap with the wrong rating can allow coolant loss or excessive system pressure. Replace swollen hoses, brittle clamps, damaged mounts, and contaminated coolant while access is available. A replacement radiator cannot correct a fan-control fault, a blocked condenser, a failed water pump, or a leaking head gasket.</p><h3>Used OEM Radiator vs. New Aftermarket</h3><p>A used OEM radiator is an original-equipment unit that has already served on another vehicle and has been inspected for a second service life. It can preserve the factory hose geometry, tank design, core size, fan clearance, and integrated cooler arrangement. A new OEM radiator is unused and may be preferred when the vehicle is newer or the exact factory specification is critical. A new aftermarket radiator may also be a practical option when its dimensions, materials, cooling capacity, and warranty meet the application.</p><p>Compare the complete repair rather than the word new or used alone. Review the VIN fitment, pressure-test result, core condition, included hardware, shipping protection, warranty, return terms, and total cost. A low-priced radiator that needs an adapter, different fan, or extra cooler lines can become more expensive than a verified used OEM radiator. On the other hand, a used unit with an unclear history is not a value simply because it looks original. Ask what was checked and what the installer should verify before filling the system.</p>",xD="<h3>Bad Radiator Symptoms</h3><p>Bad radiator symptoms may include an overheating engine, coolant leaking from a tank or seam, a temperature gauge that rises in traffic, low coolant after parking, steam or a sweet coolant odor, visible crust around a hose neck, a collapsed or swollen hose, and coolant that looks rusty or contaminated. A restricted radiator can cause the upper hose to become very hot while the lower hose stays much cooler than expected. A failed internal transmission cooler may produce pink or milky fluid, shifting problems, or coolant contamination.</p><p>These signs do not identify the radiator by themselves. A failed thermostat, weak water pump, non-working fan, air pocket, damaged cap, blocked condenser, head-gasket leak, or low coolant can produce similar overheating. The technician should note when the problem occurs. Overheating at idle often points toward airflow or fan control; overheating under load can involve coolant flow, radiator restriction, a pump, combustion gases, or a cooling-system capacity problem. Diagnose before ordering so the replacement addresses the actual failure.</p><h3>Radiator Leak Diagnosis</h3><p>To find a radiator leak, begin with a cold visual inspection of the tanks, seams, drain, hose necks, cap, hoses, and nearby components. Dried residue can show where coolant escaped, but a leak may run along the support and appear far from its source. A cooling-system pressure tester can reveal an external leak without running the engine. The system must be tested with the correct adapter and pressure limit, and a hot radiator cap should never be removed because pressurized coolant can cause serious burns.</p><p>Some leaks open only when the radiator reaches operating temperature or when vibration moves a cracked plastic tank. If a cold pressure test is inconclusive, a technician can inspect the system during warm-up using appropriate safety equipment and a UV dye approved for the coolant. A leak at a hose, water pump, heater core, expansion tank, or head gasket should not be mistaken for a radiator leak. Repair the source and clean the cooling system before fitting a replacement.</p><h3>Signs of a Clogged or Restricted Radiator</h3><p>A clogged radiator can reduce heat transfer even when no coolant is visible on the ground. Internal scale, stop-leak residue, rust, oil, and degraded coolant can block tubes. External dirt, bent fins, a blocked condenser, or an incorrect fan shroud can reduce airflow through the core. Symptoms may include overheating on hills, temperature swings, weak cooling at highway speed, a large temperature difference across the core, or coolant that looks dirty after a flush.</p><p>A technician can compare inlet and outlet temperatures with an infrared tool, inspect airflow, check coolant concentration, and evaluate flow during service. Temperature readings need to be interpreted with the thermostat, ambient temperature, fan 
102state, and engine load in mind. Do not drill, cut, or aggressively straighten a radiator as a substitute for diagnosis. Severe internal restriction or structural corrosion usually calls for radiator replacement and a careful flush of the connected system.</p><h3>How to Test a Radiator</h3><p>Radiator testing should include fitment identification, a cold visual inspection, a pressure test, and a review of core condition. On the vehicle, check coolant level, cap condition, hose routing, fan operation, thermostat behavior, and signs of combustion gas in the cooling system. A shop may use a combustion-gas test, pressure test, temperature comparison, flow test, or inspection camera depending on the symptoms. If the radiator has an integrated transmission cooler, test for cross-leakage before returning the vehicle to service.</p><p>When a used radiator arrives, compare it with the original before installation. Verify the core dimensions, hose outlets, cooler fittings, mounting points, drain, cap arrangement, fan shroud, and included hardware. Do not force a hose onto the wrong neck or reuse a bent bracket to make an uncertain part fit. After installation, fill with the specified coolant, bleed air according to the service procedure, confirm fan cycling, inspect for leaks under pressure, and recheck the coolant level after a complete heat cycle.</p><h3>When Should a Radiator Be Replaced?</h3><p>A radiator should be replaced when a tank or seam is cracked, the core leaks, the cooler has cross-contamination, the internal passages are severely restricted, the mounting structure is damaged, or the cooling capacity cannot be restored with cleaning and proper airflow. Replacement is also sensible after a collision when the assembly has hidden impact damage or when repeated repairs to the same tank no longer provide confidence. The technician should document the failure and inspect related cooling components before the vehicle is driven normally.</p>",kD="<h3>Shipping a Replacement Radiator</h3><p>Radiators are packaged to protect plastic tanks, aluminum cores, hose necks, cooler fittings, mounting pegs, and fan-shroud tabs during transit. Eligible orders usually ship after VIN and fitment details are confirmed, with tracking supplied when the carrier accepts the package. Most parcel deliveries arrive in approximately 2–5 business days, while large truck and SUV radiator assemblies may require additional packaging or freight handling. Tell us if the order should go directly to a repair shop or if the destination has commercial receiving requirements.</p><p>Inspect the package before installation. Photograph any visible carrier damage and compare the radiator with the confirmed description and the original assembly. Check the core, tanks, seams, drain, brackets, hose outlets, cooler fittings, fan clearance, and included components. Do not install a radiator that arrives cracked, bent, contaminated, or different from the approved application. Contact the parts team promptly so the condition can be documented under the applicable warranty and return process.</p><h3>Radiator Replacement Checklist</h3><ul><li>Confirm the VIN, engine, transmission, model year, cooling package, and original radiator number.</li><li>Verify whether the order includes the radiator only or a complete radiator assembly with fans, shroud, brackets, or cooler.</li><li>Inspect the thermostat, water pump, cap, hoses, fans, condenser, and engine for the original overheating cause.</li><li>Use the manufacturer-specified coolant, pressure cap, gasket, clamps, and bleeding procedure.</li><li>Flush oil or stop-leak contamination and repair any transmission-cooler cross-leak before filling the system.</li><li>Pressure-test the installed system, confirm fan operation, and check for leaks after a complete heat cycle.</li></ul><h3>Request a Radiator Quote</h3><p>Use the quote form on this page or call with your VIN, year, make, model, engine, transmission, symptoms, and original radiator number. Tell us whether you need a car radiator, truck radiator, SUV radiator, radiator assembly, or a used OEM radiator with specific fan and cooler components. We will review available inventory, confirm fitment, explain the inspection and warranty, and help your mechanic plan the installation before the part ships.</p>",SD=[{q:"How do I find the correct used radiator for my vehicle?",a:"Send the 17-ch
102aracter VIN, year, make, model, engine, transmission, and any towing, diesel, hybrid, or heavy-duty cooling package information. A photo or number from the original radiator helps us compare the core size, hose outlets, cooler fittings, brackets, and fan-shroud arrangement before confirming the replacement."},{q:"What is included with a used radiator assembly?",a:"Contents vary by listing. A radiator assembly may include the radiator, electric fans, fan shroud, brackets, cushions, transmission cooler, oil cooler, sensors, drain plug, or cap, but some listings are radiator-only. We confirm the exact included components with you before the order is finalized."},{q:"Is a used OEM radiator better than a new aftermarket radiator?",a:"Neither is automatically best for every vehicle. A pressure-tested used OEM radiator can retain the factory core dimensions, hose routing, cooler design, and mounting points. A new aftermarket radiator can also be a good option when its materials, cooling capacity, fitment, and warranty meet the vehicle specification. Compare the complete repair and warranty."},{q:"What are common bad radiator symptoms?",a:"Common symptoms include an overheating engine, coolant leaking from a tank or seam, low coolant, a sweet odor, steam, temperature rise in traffic, restricted coolant flow, damaged fins, and contaminated transmission fluid when an internal cooler fails. A thermostat, fan, water pump, hose, cap, or head gasket can cause similar signs, so test the system first."},{q:"How do you test a used radiator before shipping?",a:"We identify the application and inspect tanks, seams, core condition, hose necks, mounting points, drain, cooler fittings, and fan-shroud tabs. Suitable units are pressure-tested using a method appropriate to the design. We also reject radiators with structural damage, uncertain fitment, active leaks, or questionable cooler contamination."},{q:"Can I use a radiator from the same model but a different engine?",a:"Not without verification. The same model can use different radiator cores, tank sizes, hose positions, fan clearance, transmission coolers, pressure caps, and mounting hardware by engine, transmission, year, drivetrain, or cooling package. Match by VIN and compare the original assembly before ordering."},{q:"What does radiator replacement cost?",a:"Radiator replacement cost includes the part, labor, coolant, hoses, clamps, cap, fans or shroud when needed, and any repairs that caused the failure. Labor can increase when the radiator is part of a tightly packaged front-end assembly or when the vehicle needs a flush and bleeding procedure. A used OEM radiator can reduce the parts portion of the repair."},{q:"Can you ship a replacement radiator to my mechanic?",a:"Yes. We can ship eligible radiators and radiator assemblies to a repair shop, dealership, or commercial address. Provide the complete delivery information and tell us about liftgate, freight, or receiving requirements. Your mechanic should inspect the part against the original before installation."}],AD=["Honda","Toyota","Ford","Chevrolet","GMC","Jeep","Dodge","Nissan","Ram","Subaru","BMW"],TD=["Pressure-Tested","Core Integrity Checked","Tank & Seam Inspected","Up to 5-Yr Warranty"],CD="used radiators for sale, used radiator, used radiator for sale, radiator for sale, replacement radiator, automotive radiator, car radiator, truck radiator, SUV radiator, used OEM radiator, OEM radiator, radiator assembly, radiator replacement, used Honda radiator, Honda radiator for sale, used Honda radiator for sale, Honda Civic radiator, Honda Accord radiator, Honda CR-V radiator, Honda Pilot radiator, Honda Odyssey radiator, used Toyota radiator, Toyota radiator for sale, used Toyota radiator for sale, Toyota Camry radiator, Toyota Corolla radiator, Toyota RAV4 radiator, Toyota Tacoma radiator, Toyota 4Runner radiator, used Ford radiator, Ford radiator for sale, used Ford radiator for sale, Ford F-150 radiator, Ford F-250 radiator, Ford F-350 radiator, Ford Explorer radiator, Ford Escape radiator, used Chevy radiator, Chevy radiator for sale, used Chevrolet radiator, Chevy Silverado radiator, Chevy Tahoe radiator, Chevy Suburban radiator, Chevy Equinox radiator",ED="Used Radiators for Sale | Pressure-Tested OEM Units",MD="Shop a used radiator for sale matched by VIN. Pressure-tested OEM radiators for cars, trucks, and SUVs with free USA shipping and warranty support nationwide.",Lt={h1:gD,intro:yD,aboutSection:vD,compatSection:bD,qual
102itySection:wD,diagnosticsSection:xD,shippingNote:kD,faqs:SD,topMakes:AD,badges:TD,keywords:CD,metaTitle:ED,metaDescription:MD},RD="Used Starter Motors for Sale",DD="When your vehicle clicks once, cranks slowly, or stays silent when you turn the key, a failing starter motor may be the reason you cannot get to work, the shop, or home. Quality Auto Parts helps you find a used starter motor for sale matched to your vehicle by VIN, year, make, model, engine, transmission, drivetrain, and starter identification number. Every eligible used starter motor is selected for application accuracy and inspected before shipment, giving owners of a car starter motor or truck starter motor application a practical alternative to expensive dealer replacement pricing. We support original-equipment applications for Honda, Toyota, Ford, Chevrolet, GMC, Jeep, Dodge, Nissan, and many other makes, with warranty and free USA shipping on qualifying orders.",OD="<h4>What Is an Automotive Starter Motor?</h4><p>An <strong>automotive starter motor</strong> is the high-torque electric motor that turns the engine crankshaft fast enough for combustion to begin. It receives power from the battery through a heavy positive cable, a ground path, the ignition or push-button circuit, and a starter relay or control module. When you request a start, the starter solenoid moves a plunger that closes the high-current contacts and pushes the pinion gear toward the flywheel or flexplate ring gear. The motor then spins the gear, which rotates the engine until it can run on its own.</p><p>A typical <strong>starter motor assembly</strong> includes the electric motor, solenoid, drive gear, overrunning clutch, armature, brushes, commutator, housing, bearings or bushings, and mounting nose. Some units use a direct-drive design, while many newer applications use a gear-reduction starter. Gear reduction lets a compact motor spin quickly while planetary gears multiply torque at the pinion. The design, clocking, mounting ears, terminal position, gear tooth count, and nose length can all affect fitment. Two starters may look similar but still be wrong for one another.</p><h4>Why Starter Motors Wear Out</h4><p>Starter wear is usually gradual. Each start places a very high current demand on the motor, and repeated heat cycles can weaken solenoid contacts, dry out brushes, or damage the armature and commutator. Engine oil leaks, road splash, corrosion, a loose battery cable, an incorrectly installed ground strap, or a damaged ring gear can create additional stress. Hot-soak conditions are common on compact engine bays and trucks with exhaust components near the starter. A weak battery can also make a good starter appear defective because low voltage prevents the motor from reaching the required speed.</p><p>Choosing a replacement should therefore begin with diagnosis, not a guess based only on the sound. A single click can indicate a solenoid contact problem, but it can also come from a discharged battery or poor cable connection. A grinding sound may be starter gear damage, a damaged flywheel ring gear, or incorrect engagement. A specialist can help compare the symptoms, vehicle details, and old-unit markings before confirming the part.</p>",ND="<h4>Starter Motor Compatibility Guide</h4><p>The safest <strong>starter motor compatibility guide</strong> starts with the complete vehicle identity. Provide the 17-character VIN, model year, make, model, engine size or engine code, transmission, drivetrain, and delivery ZIP code. If available, include the original starter part number, casting number, label photograph, tooth count, and a photo showing the mounting pattern and terminal arrangement. The same model can use different starters for a different engine, transmission, production date, emissions package, stop-start system, or four-wheel-drive configuration.</p><p>Before a <strong>starter replacement</strong> is approved, compare the mounting flange, bolt spacing, pinion position, gear tooth count, rotation direction, nose cone depth, solenoid location, terminal studs, and electrical connector. The replacement also must have the correct torque capacity for the engine’s compression and starting load. Diesel engines and large-displacement trucks often require high-torque gear-reduction units, while a small passenger car may use a compact starter with different terminal and clocking details. Never assume that a starter from the same brand or engine family is interchangeable without checking the application.</p><h4>Used Honda Starter Motors</h4><p>We help locate <strong>used Honda starter motors</strong> for Civic, Accord, CR-V, Pilot, Odyssey, Element, Ridgeline, Fit, Passport, and other Honda applications. Honda starters can vary by four-cylinder or V6 engine, generation, transmission, and hybrid system. A starter for a Civic may not match an Accord simply because the displacement appears similar. Verify the engine code, production year, electrical connector, and mounting arrangement. For a Honda with intermittent starting, test the battery and cable voltage drop before ordering so the replacement addresses the actual fault.</p><h4>Used Toyota Starter Motors</h4><p><strong>Used Toyota starter motors</strong> are available for Camry, Corolla, RAV4, Tacoma, Tundra, 4Runner, Highlander, Sienna, Prius, Avalon, Sequoia, and other Toyota vehicles. Toyota a
102pplications may use different starter gear-reduction units for a four-cylinder, V6, V8, diesel, or hybrid-related configuration. A Prius and a conventional Corolla do not use the same starting architecture, and some hybrid vehicles use the electric motor-generator rather than a traditional engine starter. Send the VIN and engine information before ordering a Toyota starter motor so the correct assembly and control requirements are identified.</p><h4>Used Ford Starter Motors</h4><p>Our <strong>used Ford starter motors</strong> coverage includes F-150, F-250, F-350, Ranger, Explorer, Expedition, Escape, Mustang, Transit, Super Duty, and other Ford cars and trucks. Ford starter fitment can change with engine family, transmission, model year, two-wheel drive or four-wheel drive, and diesel versus gasoline power. A Power Stroke starter must provide the torque needed for high-compression diesel cranking, while a Mustang or Escape may require a different mounting and terminal layout. Use the original part number and VIN together, especially when a Ford model spans multiple generations.</p><h4>Used Chevrolet Starter Motors</h4><p><strong>Used Chevrolet starter motors</strong> for Silverado, Tahoe, Suburban, Equinox, Traverse, Colorado, Camaro, Cruze, Malibu, Impala, and other Chevrolet models require engine-specific matching. GM small-block and LS-family starters may differ in gear reduction, offset, nose shape, and heat shielding, while diesel Silverado applications need a heavy-duty starter. Confirm whether the vehicle has a 4.8L, 5.3L, 6.0L, 6.2L, diesel, or another engine before comparing a starter motor for sale. The correct unit should clear the oil pan, exhaust, frame, and transmission housing.</p><h4>Used GMC Starter Motors</h4><p>We also support <strong>used GMC starter motors</strong> for Sierra, Yukon, Canyon, Acadia, Terrain, Savana, and other GMC applications. Sierra and Yukon starters can differ by engine, four-wheel-drive system, and transmission, even within a single model year. Diesel Duramax units have substantially different current and torque requirements than gasoline V8 units. Match by VIN, engine code, and the label on the old unit, and confirm the mounting bolts and cable terminals before installation.</p><h4>Used Jeep Starter Motors</h4><p><strong>Used Jeep starter motors</strong> for Wrangler, Grand Cherokee, Cherokee, Gladiator, Compass, Patriot, Renegade, and other Jeep vehicles should be matched to the exact engine and generation. A Wrangler with a four-cylinder turbo, V6, or diesel can use different starter assemblies, while a Jeep with automatic start-stop may include battery and control-system requirements that need separate diagnosis. Check clearance around skid plates and exhaust components on off-road applications, where impact or corrosion can affect starter wiring and mounting.</p><h4>Used Dodge Starter Motors</h4><p>Our <strong>used Dodge starter motors</strong> coverage includes Ram 1500, Ram 2500, Ram 3500, Durango, Charger, Challenger, Dakota, Caravan, and other Dodge applications. High-compression Hemi and Cummins engines place different demands on the starter than a compact four-cylinder or V6. Confirm engine displacement, transmission, model year, and two-wheel-drive or four-wheel-drive configuration. A Dodge truck starter should also be checked for cable length, solenoid position, heat exposure, and clearance before the old unit is removed.</p><h4>Used Nissan Starter Motors</h4><p><strong>Used Nissan starter motors</strong> are available for Altima, Maxima, Sentra, Rogue, Frontier, Titan, Pathfinder, Murano, Armada, and other Nissan models. Nissan fitment varies by engine, CVT or automatic transmission, production year, and start-stop equipment. A Frontier or Titan truck may need a different high-torque unit than an Altima or Sentra. Share the VIN and original starter identification so a specialist can distinguish similar-looking assemblies and verify the correct connector, gear, and mounting position.</p>",VD="<h4>How We Inspect a Used Starter Motor</h4><p>A reliable <strong>used OEM starter motor</strong> should be more than a visually clean part pulled from a donor vehicle. We begin by recording the application, part number, donor information when available, and included hardware. The housing, nose cone, mounting ears, terminals, connector, and heat shield are examined for cracks, impact damage, corrosion, oil saturation, and missing hardware. The pinion gear is checked for chipped or roun
102ded teeth, and the overrunning clutch is evaluated for proper one-way action. A starter with questionable identity, damaged mounts, or unsafe electrical condition is not treated as a ready replacement.</p><p>On the bench, the motor is connected using appropriate test equipment and checked for clean solenoid pull-in, hold-in, release, rotation, and abnormal noise. No-load speed and current draw are compared with the expected behavior for the design. We also apply a measured resistance load where appropriate to simulate the demand of turning an engine. Excessive draw, slow rotation, a dragging armature, erratic engagement, or a solenoid that fails to hold indicates a unit that should not be shipped as a replacement. Test results are considered together with fitment information rather than used as a substitute for correct application matching.</p><h4>Warranty and What Is Included</h4><p>Every listing should clearly explain what is included, the warranty term, shipping method, and any return conditions. Some used starter motors include the solenoid and drive gear as a complete assembly; others may be listed as a motor or housing that requires component transfer. Ask whether mounting bolts, brackets, heat shields, terminals, and connectors are included before purchase. We provide warranty support on eligible parts and help the buyer understand installation requirements. The warranty does not make an incorrectly matched starter compatible, so VIN verification remains the first step.</p><p>Keep the invoice, delivery packaging, test records, installation receipt, and photographs of the part number. The installer should compare the delivered unit with the original before fitting it. If a starter fails immediately, do not repeatedly energize it or modify the wiring. Check the battery state, cable connections, grounds, ring gear, and control circuit, then contact the seller with the vehicle information and test results. That creates a faster path to a correct diagnosis and warranty decision.</p><h4>Used vs New Starter Motor</h4><p>The choice between a <strong>used vs new starter motor</strong> depends on vehicle age, availability, budget, warranty, and the quality of the specific unit. A new dealer starter can provide factory packaging and is often the right choice for a new vehicle under factory coverage. A new aftermarket starter may be affordable, but quality and fitment can vary by brand and application. A properly identified, tested used OEM starter can preserve the original design and mounting geometry while reducing the part cost, particularly for an older vehicle, a work truck, or a discontinued application.</p><p>Compare the complete repair rather than a single advertised price. Ask about the warranty length, shipping, return terms, core charge, included components, test process, and expected delivery. A used starter motor is not automatically better than a new unit, and a new starter is not automatically correct. The strongest choice is the one that matches the vehicle, has documented inspection, supports the required torque, and fits the installer’s repair plan.</p>",qD='<h4>Bad Starter Motor Symptoms</h4><p><strong>Bad starter motor symptoms</strong> can overlap with battery, alternator, ignition, neutral-safety switch, relay, wiring, and engine problems. A single click followed by no crank may indicate solenoid contacts, but low battery voltage or a poor ground can create the same sound. Repeated rapid clicks usually point toward low battery voltage or high resistance. A slow crank can be a weak battery, corroded cable, seized accessory, thick oil in cold weather, or a starter drawing too much current. Complete silence can come from a failed control circuit, a blown fuse, a relay, a neutral-safety switch, an immobilizer issue, or an internal starter fault.</p><h4>Starter Motor Clicking</h4><p><strong>Starter motor clicking</strong> should be diagnosed by sound pattern and measured voltage rather than replaced automatically. One solid click means the solenoid may be moving but the motor is not receiving or using current correctly. Rapid clicks mean the solenoid is repeatedly losing voltage as the battery voltage collapses under load. A click with the engine turning may point to gear engagement or ring-gear damage. A metallic grind after the engine starts can indicate a drive gear that does not retract. Stop attempting to start the vehicle if grinding continues, because repeated engagement can damage the starter and flywheel teeth.</p><h4>Starter Motor Problems to Check</h4><p>Before ordering a replacement starter motor, inspect the battery terminals, positive cable, engine ground strap, starter ground path, main terminal, small control connector, relay, fuse, and ignition or push-button signal. Look for green corrosion, loose fasteners, melted insulation, oil contamination, and damaged wiring. Make sure the transmission is in Park or Neutral, or follow the manual-transmission clutch-start procedure. If the engine turns by hand and the battery is known to be charged, a shop can measure voltage at the starter while the key is held in the start position. A voltage-drop test across the positive and ground sides can expose resistance that a simple voltage check misses.</p><h4>How to Test a Starter Motor</h4><p>To <strong>test a starter motor</strong> safely, start with a fully charged battery. A resting battery near 12.6 volts is a useful starting point, but state of charge alone does not prove battery health. Measure voltage at the battery and at the starter’s main terminal while an assistant attempts to start the vehicle. Check the control terminal for the start signal, and measure voltage loss across the positive cable and ground path under load. If correct voltage reaches the starter and the motor does not rotate, or if current draw is excessive with slow rotation, the starter is a strong suspect. If there is no start signal, diagnose the relay, switch, neutral-safety cir
102cuit, immobilizer, or control module instead.</p><p>A bench test after removal can confirm motor speed, current draw, solenoid engagement, gear travel, and abnormal noise, but it cannot prove that the unit fits every vehicle. The starter should be tested against the application and the original part number. A professional technician should perform high-current testing with insulated tools and appropriate safety equipment. Do not bridge terminals with a screwdriver on a vehicle, bypass safety circuits, or place hands near the flywheel and rotating parts.</p><h4>Starter Replacement and Installation</h4><p>Good <strong>starter replacement</strong> work includes finding and correcting the reason the original failed. Clean and tighten the battery terminals and grounds, inspect the cable ends, and verify the starter mounting surfaces are clean and secure. A missing bolt or poor ground can cause slow cranking and damage the replacement. Compare the pinion gear and mounting flange before installation. Route cables away from exhaust heat and moving components, reconnect the control wire correctly, and torque fasteners to the vehicle manufacturer’s specification. If the old starter had a damaged gear, inspect the flywheel or flexplate ring gear through the access opening and rotate the engine to check the full circumference.</p><p>After installation, confirm that the engine cranks at a normal speed and starts without grinding, dragging, or a starter that remains engaged. Check charging voltage after the engine runs and scan for related codes when the vehicle uses a networked starting system. Some start-stop and hybrid vehicles require a different service procedure, battery reset, or control-module diagnosis. When the vehicle has been modified, has an engine swap, or uses a performance or high-compression engine, provide the full build details before selecting the replacement.</p><h4>Starter Motor Replacement Cost</h4><p><strong>Starter motor replacement cost</strong> includes more than the part price. The final repair may include diagnosis, labor, battery or cable service, hardware, heat shielding, access-panel removal, fluids or cleaning, and inspection of the flywheel ring gear. Labor is usually higher when the starter is beneath an intake manifold, behind an exhaust component, near a frame crossmember, or on a four-wheel-drive truck with limited access. A diesel or high-output performance application may also require a more expensive high-torque assembly. Ask the installer to separate the starter price from labor and related service before approving the repair.</p><p>A used starter motor can lower the parts portion of the job while retaining an OEM-style fit. To compare offers, include the delivered price, warranty, core charge, return policy, included hardware, and expected downtime. A very low price is not a good value if the unit is untested, has uncertain fitment, or requires a second removal because the wrong starter was shipped. Send the VIN and original-unit details through our <a href="/vin-search">VIN search</a> or <a href="/contact">contact and quote page</a> so a parts specialist can review the application before shipment.</p>',jD='<h4>Fast Shipping for Car and Truck Starter Motors</h4><p>Eligible starter motors ship throughout the United States after fitment and delivery information are confirmed. Most parcel orders leave the warehouse within 24–48 hours and arrive in approximately 2–5 business days, depending on destination and carrier service. Provide a repair-shop, dealership, fleet, commercial, or residential address that can receive the package. Tell us if a liftgate, signature, or special delivery instruction is needed.</p><p>When the package arrives, inspect the box before opening it and photograph visible damage. Confirm the label, connector, mounting flange, gear, terminals, and included components against the quote and original starter. Do not install a damaged or incorrect part. If your local shop needs the part quickly, share the VIN and the target installation date when requesting a <strong>starter motor for sale</strong>. We can explain availability, warranty, delivery expectations, and whether a replacement starter motor is listed as a complete assembly or a component.</p><p>For related electrical repairs, compare our <a href="/parts/alternator">used alternators</a> when the battery is not charging, or review <a href="/parts/abs-module">used ABS modules</a>
102 and <a href="/parts/ecu-pcm">used ECU and PCM units</a> when a warning light or control fault is involved. Our <a href="/parts?category=engine">used engine-parts inventory</a> also includes components for cooling, fuel, and engine management repairs. Matching the part and shipping plan before installation helps reduce vehicle downtime.</p>',UD=[{q:"How do I know whether I need a replacement starter motor?",a:"Begin with a fully charged battery and inspect the battery terminals, positive cable, engine ground, fuses, relay, and control connector. Measure voltage at the starter’s main terminal and start-signal terminal while attempting to crank. If correct voltage reaches the starter but the motor does not turn, turns slowly with excessive current draw, or has abnormal gear noise, the starter is a strong suspect. A technician should also inspect the flywheel or flexplate ring gear because a damaged ring gear can mimic starter failure."},{q:"What are the most common bad starter motor symptoms?",a:"Common symptoms include one heavy click with no crank, rapid clicking, slow engine cranking, complete silence, intermittent starting, grinding during engagement, or a starter that stays engaged after the engine starts. These symptoms can also come from a weak battery, corroded cables, a poor ground, a relay, a neutral-safety switch, an immobilizer, or ring-gear damage. Test the starting circuit before ordering a part."},{q:"What does starter motor replacement cost?",a:"Starter motor replacement cost depends on the vehicle, part type, access, labor rate, and related repairs. The total may include the starter, diagnosis, labor, battery or cable service, hardware, heat shielding, and ring-gear inspection. A used OEM starter can reduce the parts portion of the repair, but compare the delivered price, warranty, core charge, return policy, and included components rather than choosing by price alone."},{q:"Is a used starter motor better than a new aftermarket starter?",a:"Neither is automatically best. A tested used OEM starter can preserve the original mounting geometry and electrical design and may be a good value for an older vehicle or discontinued application. A new aftermarket unit can also be appropriate when its brand, fitment, warranty, and torque capacity are confirmed. Compare the specific unit, inspection process, warranty, return terms, and total repair cost."},{q:"How do you test a used starter motor before shipping?",a:"The starter is identified by application and part number, then inspected for housing cracks, damaged mounts, corrosion, terminal condition, gear wear, and solenoid operation. Bench testing checks clean pull-in and release, motor rotation, no-load speed, current draw, and abnormal noise. A measured load can simulate engine-cranking demand where appropriate. Testing is combined with VIN and part-number fitment verification."},{q:"Can you find a high-torque truck or diesel starter motor?",a:"Yes. High-torque and gear-reduction starters are available for many diesel and large-displacement applications, including Ford Power Stroke, Chevrolet and GMC Duramax, Dodge and Ram Cummins, Hemi, and other truck engines. Provide the VIN, engine, transmission, drivetrain, and original starter number because torque rating, mounting, gear position, and terminal layout vary."},{q:"Will a starter from the same model fit my vehicle?",a:"Not necessarily. Starter compatibility can change by engine, transmission, model year, production date, drivetrain, emissions package, start-stop system, and hybrid architecture. Confirm the VIN, engine code, mounting flange, gear tooth count, rotation, nose depth, terminals, connector, and original part number before ordering. A similar-looking starter may still be electrically or mechanically incorrect."},{q:"Do you ship starter motors to repair shops?",a:"Yes. Eligible starter motors can ship to residential addresses, repair shops, dealerships, fleets, and commercial locations across the USA. Most parcel orders ship within 24–48 hours after fitment and delivery details are confirmed, with many arriving in approximately 2–5 business days. Inspect the package and compare the part with the original before installation."}],PD=["Honda","Toyota","Ford","Chevrolet","GMC","Jeep","Dodge","Nissan","Ram","Hyun
102dai","Subaru"],_D=["Bench-Tested","Solenoid Verified","Gear Inspected","Up to 5-Yr Warranty"],LD="used starter motor for sale, used starter motor, starter motor for sale, replacement starter motor, starter motor assembly, automotive starter motor, car starter motor, truck starter motor, used OEM starter motor, OEM starter motor, engine starter motor, starter replacement, used Honda starter motor, used Toyota starter motor, used Ford starter motor, used Chevrolet starter motor, used GMC starter motor, used Jeep starter motor, used Dodge starter motor, used Nissan starter motor, starter motor replacement cost, bad starter motor symptoms, starter motor problems, starter motor clicking, how to test a starter motor, used vs new starter motor, starter motor compatibility guide",HD="Used Starter Motors for Sale | Tested OEM Replacements",BD="Shop a used starter motor for sale matched by VIN. Bench-tested OEM starters for cars and trucks with fast USA shipping, warranty support, and fitment help.",Ht={h1:RD,intro:DD,aboutSection:OD,compatSection:ND,qualitySection:VD,diagnosticsSection:qD,shippingNote:jD,faqs:UD,topMakes:PD,badges:_D,keywords:LD,metaTitle:HD,metaDescription:BD},zD="Used Intake Manifolds for Sale",ID="Find a tested used intake manifold for sale when a cracked, warped, or leaking original is affecting engine performance. Quality Auto Parts supplies inspected OEM intake manifold assemblies for cars, trucks, and SUVs, with VIN-based fitment help, free USA shipping, and warranty options. We verify the casting, runner layout, throttle-body opening, sensor ports, fuel-rail provisions, and emissions configuration before confirming a replacement.",FD="<p>The intake manifold is the engine's air-distribution system. It receives air from the throttle body and routes a measured charge through individual runners to each cylinder. On older engines it may also help mix fuel with air, while modern fuel-injected designs use the manifold to support injector placement, vacuum accessories, MAP sensing, crankcase ventilation, and sometimes variable runner control. A manifold that looks acceptable from the outside can still have a hidden crack, distorted gasket surface, damaged mounting boss, or incorrect internal runner configuration.</p><p>When you shop <strong>used intake manifolds for sale</strong>, the goal is not simply to find a part with the same number of runners. You need the correct engine family, model year range, fuel system, cylinder-head port shape, throttle-body pattern, vacuum routing, and emissions package. Our specialists compare those details with the vehicle VIN and the original manifold information so you can buy an original-equipment component with a clear understanding of its condition and included hardware.</p><h3>Used Intake Manifold</h3><p>A <strong>used intake manifold</strong> is an original component removed from another vehicle or engine and prepared for a second service life. It can be a practical repair when the block, cylinder head, valves, and lower engine remain serviceable but the original manifold has cracked, warped, or developed a persistent gasket leak. Keeping the factory design can also reduce adaptation work because the ports, throttle body, sensors, fuel rails, and brackets were designed to operate together.</p><p>Used does not mean unidentified. We record the visible casting or part number, inspect the sealing faces, and note whether the listing includes a fuel rail, injectors, throttle body, IMRC actuator, vacuum valves, sensors, brackets, or related hardware. A manifold sold as a bare casting should not be compared with a complete intake manifold assembly at the same price without accounting for the labor and parts needed to transfer components.</p><h3>What an Intake Manifold Does</h3><p>Each runner is shaped to balance airflow, velocity, and resonance across the engine's operating range. A short, large-volume runner can support high-RPM airflow, while a longer or variable runner can improve low-speed torque and throttle response. The factory design also coordinates with the camshaft, compression ratio, injector location, exhaust system, and engine-control calibration. This is why a manifold from a different displacement or generation may bolt on yet produce poor drivability or incorrect sensor readings.</p><p>On many composite designs, coolant flows through a crossover passage near the manifold. Thermal cycling can create a crack that allows coolant to enter the intake or escape externally. Metal manifolds can resist some forms of cracking but may warp after severe overheating. Gasket surfaces, bolt bosses, vacuum nipples, and throttle-body adapters deserve equal attention during inspection.</p><h3>Why Runner Design and Materials Matter</h3><p>Composite, aluminum, and cast-iron manifolds each have different inspection priorities. Composite material is light and can reduce heat transfer, but thermal cycling may stress coolant crossovers and thin mounting areas. Aluminum can dissipate heat and support performance applications, yet it may suffer corrosion, porosity, or flange distortion after overheating. Cast-iron pieces are durable but can develop cracks around mounting points and heavy heat-load areas. Runner length, plenum volume, material, and actuator design should all match the factory application or the documented engine build.</p>",WD="<p><strong>Intake manifold compatibility</strong> starts with the complete engine identity, not only the vehicle badge. Send the VIN, year, make, model, engine displacement, engine code, fuel type, drivetrain when relevant, and the casting or part number from the original manifold. Tell us about turbocharging, supercharging, hybrid operation, aftermarket cylinder heads, performance camshafts, deleted emissions equipment, or other modifications. These details can change port dimensions, vacuum routing, injector placement, and control-module calibration.</p><h3>Ford Intake Manifold Applications</h3><p>A <strong>Ford intake manifold</strong> varies considerably among Modular V8, EcoBoost, Duratec, Cyclone, Power Stroke, and older pushrod applications. A Ford F-150, Mustang, Explorer, Crown Victoria, or Super Duty may use several manifolds within a single model generation. The 4.6L and 5.4L Modular engines can have different runner layouts, coolant crossover designs, throttle-body openings, and IMRC provisions. A manifold for a truck application should not be assumed to match a similar-looking passenger-car engine. We check the engine family, casting revision, sensor and actuator provisions, and production-year range before recommending a part.</p><h3>Chevy Intake Manifold Applications</h3><p>A <strong>Chevy intake manifold</strong> may be designed for a small-block Gen I, LS-family V8, Vortec truck engine, EcoTec four-cylinder, or a modern V6. The 5.3 intake manifold is especially application-sensitive because truck and 
102SUV versions can use different throttle-body locations, injector arrangements, cathedral-port or rectangular-port heads, and electronic controls. A 6.0 intake manifold may also vary between LQ4, LQ9, L96, LY6, and related configurations. Verify the exact casting and head-port family before treating any GM manifold as interchangeable.</p><h3>Toyota and Honda Intake Manifolds</h3><p>A <strong>Toyota intake manifold</strong> can differ by engine family, port geometry, throttle control, emissions equipment, and whether the vehicle uses a four-cylinder, V6, or truck V8. Camry, Tacoma, 4Runner, Tundra, Highlander, and Lexus-related applications should be matched by engine code and year. A <strong>Honda intake manifold</strong> for a K-series, J-series, or four-cylinder application may include different fuel-rail mounts, MAP provisions, throttle-body patterns, and runner-control hardware. An Accord, Civic, CR-V, Pilot, Odyssey, and Ridgeline should never be matched by model name alone.</p><h3>LS1 Intake Manifold and LS3 Intake Manifold</h3><p>The <strong>LS1 intake manifold</strong> and <strong>LS3 intake manifold</strong> are popular search terms, but they describe specific port, injector, throttle-body, and engine-control relationships. LS1 cathedral-port heads and LS3 rectangular-port heads do not use the same manifold design. Some swaps also change the throttle body, fuel rails, injectors, valley cover, wiring, and calibration. If the vehicle has an engine conversion, tell us the actual block, heads, injectors, throttle body, and ECM rather than the chassis model. We can help identify whether an OEM manifold, a complete assembly, or a compatible conversion component is appropriate.</p><h3>Other Domestic and Import Fitment</h3><p>We also research Dodge and Jeep 4.7L and 3.6L applications, Chrysler Pentastar engines, BMW M54 and N52 engines, Volkswagen 2.0T designs, Subaru boxer engines, Nissan VQ and QR families, Hyundai and Kia four-cylinder and V6 platforms, Mazda Skyactiv applications, and Mitsubishi four-cylinder engines. Availability changes with inventory, so the strongest fitment evidence is the VIN, engine code, original casting, and photos of the ports and connections.</p>",GD=`<p>Our inspection process is built around the failures that create repeat intake repairs. First, we identify the component by casting mark, part number, engine family, and configuration. We compare the runner shape, throttle-body flange, coolant passage, fuel-rail mounts, vacuum ports, sensor bosses, and bracket locations with the intended application. This prevents a clean-looking manifold from being sold as a universal match when it belongs to a different revision.</p><h3>Crack and Porosity Inspection</h3><p>Every suitable used manifold receives a visual inspection around coolant crossovers, runner walls, mounting bosses, injector pockets, vacuum nipples, and throttle-body openings. Where the design includes coolant passages, the passages are pressure-checked using a controlled method appropriate for the material. We look for staining, corrosion, previous repairs, stripped threads, broken bolts, and evidence of coolant exposure. Composite pieces are checked for stress cracks and distortion; aluminum castings are inspected for porosity, impact damage, and corrosion near sealing surfaces.</p><h3>Port and Gasket Surface Inspection</h3><p>A manifold can leak even when the runners and plenum are intact. We check the gasket surfaces for warping, deep erosion, gouges, and damaged bolt holes. Port openings are compared with the cylinder-head pattern, and the throttle-body flange is checked for a flat, usable mounting surface. If a component needs machine-shop preparation or a new seal kit, that information should be known before installation. For additional engine-side context, review our 
102<a href="/parts/cylinder-head">used cylinder heads for sale</a> page when a manifold leak may have affected the head's intake ports or sealing surface.</p><h3>Actuators, Sensors, and Included Hardware</h3><p>Many late-model intake manifolds include an IMRC, VIM, runner-control actuator, vacuum diaphragm, electric motor, or position sensor. We test available actuators for movement and inspect connectors, linkage, and mounting points. A control component may be sold with the manifold or may need to be transferred from the original; the listing should say which. Fuel rails and injectors are also application-dependent. A port-injected manifold may include a rail, while a direct-injection engine places the injectors in the cylinder head and uses a different manifold arrangement.</p><h3>OEM Intake Manifold Versus Aftermarket</h3><p>An <strong>OEM intake manifold</strong> follows the factory engine's port geometry, sensor locations, thermal design, and control strategy. For a daily driver, that original design can be valuable because it preserves the expected throttle response and engine-control calibration. A <strong>used OEM intake manifold</strong> can provide that factory fit at a lower part cost than a new dealer component, especially for an older vehicle. However, OEM identification alone does not prove compatibility. A manifold from a different casting revision, displacement, or cylinder-head port family can still be wrong for the vehicle.</p><p>Aftermarket performance manifolds can be appropriate for a planned build, but they may require different injectors, throttle bodies, rails, sensors, brackets, tuning, or hood clearance. If your goal is to repair a factory vehicle, a documented OEM match is usually the more predictable choice. We explain whether the part is original equipment, complete, bare, tested, or sold for inspection before you order.</p><h3>Intake Manifold Assembly</h3><p>An <strong>intake manifold assembly</strong> may include the manifold body, fuel rail, injectors, throttle body, sensors, actuator, gaskets, brackets, or vacuum valves. “Complete” can mean different things between sellers, so confirm each component. If the original failure involved coolant contamination, a transferred sensor or injector may need separate testing. If an actuator is not included, verify that the original linkage and motor can be reused. Clear component lists make it easier for a mechanic to estimate the true repair cost.</p>`,YD='<p>Diagnosing an intake problem before ordering protects you from replacing a good manifold. Several engine faults can imitate a leak, including a torn intake gasket, cracked vacuum hose, stuck PCV valve, throttle-body seal, brake-booster hose, injector issue, mass-air-flow problem, exhaust leak ahead of the oxygen sensor, or a damaged cylinder head. Scan codes and fuel-trim data are useful clues, but they do not identify the failed component by themselves.</p><h3>Intake Manifold Leak Symptoms</h3><p><strong>Intake manifold leak symptoms</strong> often include a rough or high idle, hard starting, engine hesitation, stalling when the throttle closes, lean fuel-trim codes, uneven acceleration, a vacuum-leak hiss, and reduced fuel economy. If the leak is at a coolant crossover, you may also see an external coolant trail, unexplained coolant loss, white vapor, overheating, or contamination around the oil and coolant systems. Symptoms can change with engine temperature because plastic and metal expand at different rates.</p><h3>Bad Intake Manifold Symptoms</h3><p><strong>Bad intake manifold symptoms</strong> are not limited to a check-engine light. A damaged runner can create a cylinder-specific misfire or a loss of power at one RPM range. A failed IMRC actuator can cause a runner-control code and weak low-speed or high-speed performance. A warped flange can create an intermittent vacuum leak after the engine warms. Coolant entering the intake can foul a spark plug, lower compression, create white exhaust, or damage the catalytic converter if the vehicle continues to run.</p><h3>Common Intake Manifold Problems</h3><p>Common <strong>intake manifold problems</strong> include cracked composite coolant passages, failed runner-control components, warped gasket rails, stripped mounting bosses, broken vacuum ports, damaged throttle-body flanges, injector-seat leaks, and carbon buildup around the runners. On engines with a shared coolant crossover, one crack can produce both a vacuum issue and a cooling-system problem. On engines with a separate manifold and cylinder head, an intake leak may be caused by the gasket or head surface rather than the manifold casting.</p><h3>How to Confirm the Diagnosis</h3><p>A technician can use a smoke machine to locate vacuum leaks, a cooling-system pressure test to identify coolant passage leaks, fuel-trim data to confirm an unmetered-air condition, and a borescope or visual inspection to check for c
102oolant in the runners. A straight edge can reveal flange distortion after removal. The shop should compare the original and replacement manifolds before installing gaskets, then check throttle and actuator operation after assembly. If the manifold attaches to a damaged head, the replacement will not seal for long. Our <a href="/parts/cylinder-head">cylinder head inspection guidance</a> can help when diagnostic evidence points to both components.</p><h3>Intake Manifold Replacement</h3><p><strong>Intake manifold replacement</strong> should begin with the cause of failure, not just removal of the old part. The mechanic should relieve fuel pressure when required, label vacuum and electrical connections, protect open ports from debris, clean the head surface without gouging aluminum, and replace one-time-use seals or bolts as specified. After installation, check coolant level, vacuum readings, fuel trims, throttle adaptation, actuator movement, and leaks. Correct torque sequence matters because uneven tightening can distort a plastic or composite flange.</p>',KD=`<p>After fitment and component contents are confirmed, most intake manifolds ship in protective packaging within 24–48 hours. Ports and gasket surfaces are covered to keep out dust and packing material, and fragile vacuum nipples, connectors, actuator linkages, and throttle-body flanges are supported against impact. Most packages arrive in approximately 2–5 business days, depending on destination, carrier capacity, residential access, and whether the order is sent to a commercial repair shop.</p><h3>Intake Manifold Replacement Cost</h3><p><strong>Intake manifold replacement cost</strong> depends on the part configuration, engine layout, labor access, gaskets, coolant and fuel-system service, actuator or sensor transfer, and whether related damage is found during disassembly. A simple four-cylinder manifold can require less labor than a V6 or V8 design buried beneath wiring, fuel rails, or other engine components. The advertised part price is only one part of the estimate. Ask whether the quote includes a complete assembly, gasket set, fuel rail, injectors, throttle body, actuator, shipping, warranty, and return support.</p><p>A used manifold can reduce the parts portion of the repair while preserving the factory engine design. The best value is not always the lowest advertised number; it is the option with verified fitment, usable sealing surfaces, the right included components, and a warranty that matches the vehicle's expected service life. We help your shop compare a <strong>replacement intake manifold</strong> with new dealer inventory, remanufactured alternatives, or an unverified salvage-yard part so the final estimate reflects the complete job.</p><h3>Inspect Before Installation</h3><p>Compare the delivered manifold with the approved description before removing protective covers or installing gaskets. Check the casting number, runner and port layout, throttle-body flange, coolant crossover, sensor bosses, fuel-rail mounts, actuator linkage, connectors, and brackets. Photograph any shipping damage or mismatch immediately. Do not install a part with a cracked flange, missing mounting boss, contaminated port, or incorrect configuration. Keep the original component until the replacement has been accepted and the shop has confirmed that the diagnosis was correct.</p><h3>Request a Quote</h3><p>For a quick quote, send the 17-character VIN, year, make, model, engine size and code, the original manifold casting or part number, and the symptoms or diagnostic results. Tell us whether you need a bare casting, a complete <strong>intake manifold assembly</strong>, or a manifold with fuel rails, injectors, throttle body, and runner-control hardware. You can also review our <a href="/parts/cylinder-head">used cylinder head inventory</a> if the repair involves intake-port or head-surface damage. We will confirm availability, compatibility, included components, warranty terms, and shipping before your order is finalized.</p>`,QD=[{q:"What is the safest way to buy a used intake manifold for sale?",a:"Start with the VIN, engine code, original casting number, and ph
102otos of the ports and connections. Confirm the runner layout, throttle-body pattern, fuel-rail provisions, coolant passages, included hardware, inspection process, warranty, and return terms before ordering. Do not match an intake manifold by vehicle name or displacement alone."},{q:"What are the most common intake manifold leak symptoms?",a:"Common intake manifold leak symptoms include rough or high idle, a vacuum hiss, hard starting, hesitation, stalling, lean fuel-trim codes, poor fuel economy, and a check-engine light. A coolant-passage leak can also cause coolant loss, white exhaust, overheating, or contamination. Smoke and cooling-system pressure tests help confirm the source."},{q:"How much does intake manifold replacement cost?",a:"Intake manifold replacement cost varies by engine, access, part configuration, labor rate, gaskets, coolant service, and included components. A used OEM manifold may reduce the part cost, but compare the complete delivered assembly, warranty, shipping, and labor risk rather than choosing only the lowest advertised price."},{q:"Is a used OEM intake manifold better than an aftermarket manifold?",a:"For a factory daily driver, a used OEM intake manifold often provides the most predictable port geometry, sensor locations, throttle response, and bracket fit. An aftermarket manifold can be appropriate for a performance build, but may require different injectors, throttle-body parts, tuning, or clearance. Verify the exact application either way."},{q:"Does the intake manifold assembly include injectors and the fuel rail?",a:"Contents vary by listing and engine design. Some port-injected assemblies include the fuel rail and injectors, while others are sold as a bare manifold. Direct-injection engines place injectors in the cylinder head and use different components. We confirm every included part before the quote is approved."},{q:"Are a 5.3 intake manifold and 6.0 intake manifold interchangeable?",a:"Not automatically. GM 5.3 and 6.0 engines can use different cylinder-head ports, throttle-body locations, injector arrangements, casting revisions, and engine controls. Some combinations can work in a planned swap, but the VIN, engine code, head casting, throttle body, fuel rail, and calibration must be checked first."},{q:"Will an LS1 intake manifold fit an LS3 engine?",a:"Usually not as a direct, complete interchange because LS1 cathedral-port heads and LS3 rectangular-port heads use different intake-port geometry. A swap may require compatible heads, injectors, rails, throttle-body parts, sensors, wiring, and tuning. Confirm the actual block and cylinder heads rather than relying on the LS name."},{q:"What should I replace during intake manifold installation?",a:"Use the correct new intake gaskets and replace seals, O-rings, coolant seals, and torque-to-yield fasteners when the manufacturer requires them. Inspect vacuum hoses, PCV parts, throttle-body seals, injector O-rings, and brittle connectors. Clean the head surface carefully, follow the torque sequence, and check for vacuum and coolant leaks after assembly."}],XD=["Ford","Chevrolet","Toyota","Honda","Dodge","Jeep","GMC","Nissan","BMW","Volkswagen"],ZD=["Crack & Porosity Checked","Port Faces Flat-Checked","Actuator Verified","Up to 5-Yr Warranty"],$D="used intake manifold, used intake manifolds for sale, used intake manifold for sale, intake manifold for sale, replacement intake manifold, OEM intake manifold, used OEM intake manifold, intake manifold assembly, intake manifold replacement, intake manifold replacement cost, intake manifold leak, intake manifold leak symptoms, bad intake manifold symptoms, intake manifold problems, intake manifold compatibility, Ford intake manifold, Chevy intake manifold, Toyota intake manifold, Honda intake manifold, 5.3 intake manifold, 5.4 intake manifold, 6.0 intake manifold, LS1 intake manifold, LS3 intake manifold",JD="Used Intake Manifolds for Sale | OEM-Tested Assemblies",eO="Shop used intake manifolds for sale with crack, port, gasket, and actuator checks. VIN-matched Ford, Chevy, Toyota, Honda, LS & more. Free USA shipping.",Bt={h1:zD,intro:ID,aboutSection:FD,c
102ompatSection:WD,qualitySection:GD,diagnosticsSection:YD,shippingNote:KD,faqs:QD,topMakes:XD,badges:ZD,keywords:$D,metaTitle:JD,metaDescription:eO},tO="Used Timing Chain Kits for Sale",aO="Shop a used timing chain kit for sale when a worn chain, damaged guide, or weak tensioner is putting your engine at risk. Quality Auto Parts helps drivers and repair shops find inspected OEM timing components for cars, trucks, and SUVs. We review the chain, guides, tensioner, sprockets, part number, engine family, and vehicle identification details before confirming a replacement. Send your VIN for current availability, included-component information, warranty terms, and free USA shipping options.",nO='<p>A timing chain is the mechanical link that keeps the crankshaft and camshaft or camshafts synchronized. The crankshaft turns as the pistons move, while the camshaft controls when the intake and exhaust valves open. The chain transfers that motion through a precise relationship between the crankshaft sprocket and camshaft sprocket. If that relationship changes, the engine may run poorly, set a camshaft timing code, or stop completely. On an interference engine, a chain that jumps can allow a piston to contact an open valve and cause expensive internal damage.</p><p>A complete <strong>timing chain assembly</strong> is more than one piece of metal. Depending on the engine, an engine timing kit may include the primary chain, secondary chains, camshaft sprockets, crankshaft sprocket, chain guides, hydraulic or mechanical tensioner, guide fasteners, spacers, seals, and related hardware. Some engines use one chain while others use separate chains for each bank or camshaft. Because the contents vary, the phrase <strong>timing chain kit</strong> should always be supported by a clear component list. A bare chain is not equivalent to a complete replacement timing chain kit.</p><h3>Used Timing Chain Kits</h3><p>A <strong>used timing chain kit</strong> is an original-equipment timing system removed from a donor engine and evaluated for a possible second service life. It can be a practical option when the rest of the engine is healthy and the vehicle needs an application-specific timing component that is difficult or expensive to source new. A used part should not be chosen only because it has the right number of links. Chain length, pitch, sprocket tooth profile, guide shape, tensioner design, oil passages, and engine-control targets all need to match.</p><p>Quality used does not mean unidentified. For suitable inventory, we record the donor engine information, visible casting or part numbers, mileage when available, component contents, and condition. We also explain when a kit is a complete assembly, a partial set, or a group of transferable components. If the original failure scattered metal through the oil system, damaged the guides, or affected the camshaft and crankshaft, your mechanic should diagnose the entire engine before selecting an individual used timing chain.</p><h3>Why the Timing Chain System Matters</h3><p>The timing system works in a clean, pressurized oil environment, but it still experiences repeated load changes every time the engine accelerates, decelerates, starts, and stops. A chain can develop wear at its pins and rollers. Plastic guides can crack or wear through. A hydraulic tensioner can lose prime, leak down, or fail to maintain pressure. Sprocket teeth can become sharp, hooked, or uneven. These failures often develop together, which is why replacing only the visibly noisy part may not solve the underlying problem.</p><p>Oil quality and maintenance have a direct effect on timing components. Sludge can restrict a tensioner oil feed, while low oil level can reduce the pressure needed to control chain movement. Fuel dilution, coolant contamination, incorrect viscosity, and extended oil-change intervals can accelerate wear. A good <strong>engine timing chain kit</strong> helps restore the mechanical relationship, but it cannot correct a blocked oil passage, damaged cam phaser, worn bearing, or low oil-pressure problem. A complete repair begins with diagnosis.</p><h3>Timing Chain Components Explained</h3><ul><li><strong>Timing chain:</strong> the linked drive that transfers crankshaft rotation to the camshaft or camshafts.</li><li><strong>Timing chain tensioner:</strong>
102 an oil-pressure or spring-assisted device that controls slack and prevents the chain from whipping.</li><li><strong>Timing chain guide:</strong> a fixed or sliding rail that supports the chain and keeps its path stable.</li><li><strong>Timing chain guides:</strong> multiple rails used on many V6 and V8 engines to control primary and secondary chains.</li><li><strong>Crankshaft sprocket:</strong> the lower gear that establishes the starting point of crankshaft timing.</li><li><strong>Camshaft sprocket:</strong> the upper gear or gears that position each camshaft in relation to the crankshaft.</li><li><strong>Related hardware:</strong> bolts, spacers, seals, oil-control pieces, tensioner shoes, and covers that vary by application.</li></ul><p>When you compare timing chain components, ask which pieces are included and which are meant to transfer from the original. Some listings include a chain and guides but not camshaft gears. Other applications use a complete multi-chain system with several tensioners. The right answer depends on the engine code and the repair plan, not the listing photo alone.</p><h3>Timing Chain or Timing Belt?</h3><p>A timing chain uses metal links and sprockets, while a timing belt uses a reinforced rubber belt and toothed pulleys. Both systems synchronize the crankshaft and camshaft, but their service requirements differ. Timing chains are commonly installed inside the engine and rely on engine oil for tensioner operation. Timing belts are usually serviced at a scheduled mileage or age interval. Do not order a chain kit for an engine designed for a belt, or assume that a timing belt kit can replace a chain system because the two parts perform a similar job.</p><p>If you are unsure which system your vehicle uses, send the VIN, engine size, engine code, and model year. A vehicle model may have changed from a belt to a chain during a production cycle, and a single model can use multiple engines. We can also help compare a <a href="/parts/timing-belt-kit">used timing belt kit</a> when the application calls for a belt-driven system.</p>',iO="<p>Correct fitment is the most important part of buying a <strong>timing chain kit for sale</strong>. Start with the 17-character VIN, year, make, model, engine displacement, engine code, drivetrain, and production date when available. Add the original timing-cover or component part number, the number of chains, and any diagnostic code from the vehicle. A timing kit for a similar engine may have different chain lengths, guide positions, camshaft sprockets, tensioner oil feeds, or variable-valve-timing provisions.</p><h3>Used Ford Timing Chain Kits</h3><p>A <strong>used Ford timing chain kit</strong> can vary between Modular V8, Coyote V8, EcoBoost, Duratec, Cyclone, and older pushrod engine families. Ford applications may use primary and secondary chains, multiple colored timing links, hydraulic tensioners, guides, cam phasers, and different sprocket profiles. A Ford F-150 timing chain kit should be matched by the actual engine, such as a 4.6L, 5.0L, 5.4L, 3.5L EcoBoost, or another documented configuration. Truck and passenger-car versions may share an engine family but still use different accessories, calibration, or timing hardware.</p><p>Ford timing chain replacement also requires attention to camshaft timing marks, tensioner priming, oil passages, and one-time-use fasteners. A <strong>Ford F-150 timing chain kit</strong> for one generation should not be assumed to fit every F-150. Ford Explorer timing chain applications can change between four-cylinder, V6, and turbocharged engines, so provide the engine code and model year when requesting a <strong>Ford Explorer timing chain</strong>.</p><h3>Chevrolet and GM Timing Chain Kits</h3><p>A <strong>Chevrolet timing chain kit</strong> may be used with a small-block, LS-family V8, EcoTec four-cylinder, 4.3L V6, or newer turbocharged engine. GM engines can differ in camshaft position sensors, timing-cover design, reluctor arrangement, chain guide layout, and variable-valve-timing hardware. A <strong>used Chevy timing chain</strong> for an older small-block is not a substitute for the multi-chain system used by a modern direct-injection V6.</p><p>A <strong>
102Chevy Silverado timing chain kit</strong> must match the engine and generation. Silverado 1500 applications can use 4.8L, 5.3L, 6.0L, 6.2L, or turbocharged engines with different timing parts. A kit for a 5.3L truck engine may not match a 6.0L or 6.2L without confirming the block, camshaft, sprocket, sensor, and guide arrangement. We also review the configuration for Tahoe, Suburban, Equinox, Traverse, Colorado, and other Chevrolet vehicles before describing a replacement as compatible.</p><h3>Dodge, Ram, and Jeep Timing Chain Kits</h3><p>A <strong>used Dodge timing chain kit</strong> may cover a 3.6L Pentastar, 5.7L Hemi, 6.4L Hemi, 4.7L V8, or another engine family. Ram trucks and Jeep SUVs often use related powerplants, but the exact chain system can change with the engine revision and production year. A <strong>Ram timing chain kit</strong> for a 5.7L Hemi should be checked for the correct guides, tensioner, camshaft sprocket, crankshaft sprocket, and oil-pump relationship. A part number and VIN are more dependable than a broad Hemi or Ram label.</p><p>A <strong>Jeep timing chain kit</strong> may be needed for a Wrangler, Grand Cherokee, Cherokee, Compass, or another Jeep model. The popular <strong>Jeep Wrangler timing chain kit</strong> search includes several engines and generations, including four-cylinder, V6, and V8 applications. Wrangler timing hardware, cam phasers, and guide arrangements are not automatically interchangeable across JK, JL, and earlier vehicles. Share the engine code and whether the vehicle has been modified before choosing a kit.</p><h3>Toyota Timing Chain Kits</h3><p>A <strong>Toyota timing chain kit</strong> can support four-cylinder, V6, hybrid, or truck V8 engines, with differences in primary chains, secondary chains, camshaft gears, tensioners, and variable-valve-timing control. Toyota Camry timing chain kit searches may refer to four-cylinder and V6 applications with different engine codes. A Toyota Camry timing chain kit for a 2.5L should not be matched to a 3.5L V6 simply because the model year is the same. Tacoma, 4Runner, Tundra, Highlander, RAV4, Lexus, and Scion applications also need engine-specific confirmation.</p><p>When evaluating a used Toyota timing chain, ask whether the kit includes the guide rails, tensioner, camshaft gears, crankshaft sprocket, and any chain for a second camshaft or oil pump. Hybrid engines can have unique starting, oiling, and control requirements. We document the available components and ask for the VIN before calling a Toyota assembly a direct replacement.</p><h3>Honda and Nissan Timing Chain Kits</h3><p>A <strong>Honda timing chain kit</strong> may fit a K-series four-cylinder, J-series V6, or another Honda or Acura engine, but the chain system depends on engine code, head design, camshaft position, and variable-valve-timing equipment. A <strong>Honda Accord timing chain kit</strong> must be matched to the four-cylinder or V6 engine and model year. Accord, Civic, CR-V, Pilot, Odyssey, and Ridgeline vehicles can have different kits even within the same generation.</p><p>A <strong>Nissan timing chain kit</strong> may be used with QR, VQ, VK, or other Nissan and Infiniti engines. Nissan Altima, Maxima, Rogue, Murano, Frontier, Pathfinder, and Titan applications can use different primary and secondary chains, guides, tensioners, and camshaft sprockets. We compare the engine code, part number, VIN, and the number of chains before confirming a used Nissan timing chain or timing chain replacement kit.</p><h3>Model-Specific Fitment Requests</h3><p>For a fast quote, describe the vehicle in a way a technician can verify: Ford F-150 timing chain kit with engine code and year; Chevy Silverado timing chain kit with displacement and VIN; Ford Explorer timing chain with the engine and production date; Jeep Wrangler timing chain kit with generation and engine; Toyota Camry timing chain kit with four-cylinder or V6 information; or Honda Accord timing chain kit with engine code. Model phrases are useful for starting a search, but the VIN and original identification keep similar applications from being mixed together.</p><h3>OEM and Engine-Swap Considerations</h3><p>An <strong>OEM used timing chain</strong> can be a good match when the engine remains factory-specification. Engine swaps, performance camshafts, aftermarket cylinder heads, deleted variable-valve-timing equipment, or a custom ECU can change the required components. If the engine has been replaced, identify the engine itself rather than relying on the vehicle chassis. Include photos of the timing cover, sprockets, chain guides, or identification marks when the original engine is unknown.<
102/p>",rO="<p>Our goal is to separate a usable used timing chain assembly from a part that only appears clean in a photograph. We begin with application identification: donor vehicle, engine family, engine code, casting or part number, chain count, and component layout. We compare those details with the request before discussing price. If the data is incomplete, we ask for more information instead of presenting a similar-looking kit as a guaranteed match.</p><h3>Chain Inspection and Measurement</h3><p>We inspect links, pins, rollers, plates, and the overall chain path for corrosion, impact, discoloration, binding, and abnormal wear. Where the application and available equipment allow, chain elongation is checked against the engine manufacturer's reference or a documented baseline. A chain that has stretched beyond an acceptable limit is rejected. Surface appearance alone is not enough because internal pin and roller wear can create excess movement before a chain looks dramatically damaged.</p><h3>Guides and Tensioner Testing</h3><p>Timing chain guides are checked for cracks, missing wear material, deep grooves, broken mounting points, and heat damage. Plastic guide fragments in the oil pan or filter can be evidence of a larger failure, so the repair shop should inspect the oiling system when a guide has broken. The <strong>timing chain tensioner</strong> is checked for leakage, movement, spring action, oil retention, and damage to the shoe or contact surface as applicable. Hydraulic tensioners may need a specific priming procedure before installation.</p><h3>Sprocket and Cam Gear Inspection</h3><p>The <strong>camshaft sprocket</strong> and <strong>crankshaft sprocket</strong> establish the chain's tooth engagement and timing position. We look for hooked teeth, chipped edges, uneven polishing, burrs, rust, damaged keyways, and evidence of a loose bolt. Variable-valve-timing cam gears require additional care because their internal mechanism, locking behavior, oil control, and sensor relationship can vary. If a kit is not supplied with a cam phaser or gear, the original should be tested before it is transferred.</p><h3>Documented Quality for Used Engine Components</h3><p>We describe condition in practical terms: tested used timing chain, inspected timing chain components, donor mileage when documented, included hardware, and any parts that are not included. A <strong>quality used timing chain</strong> is not automatically new, remanufactured, or suitable for every engine. Our team provides the available inspection information so you and your installer can decide whether a used assembly is appropriate for the repair, a new kit is the better choice, or a complete used engine should be compared.</p><h3>Used Versus New Timing Parts</h3><p>A new aftermarket timing chain kit can be the right answer for a common vehicle with accessible parts and a repair plan that calls for all-new wear items. A used OEM timing component can make sense for an older vehicle, a hard-to-source application, a factory-specific sprocket or guide, or a customer who needs to control the parts portion of a repair. The comparison should include chain and guide quality, included components, fitment certainty, warranty, delivery, labor exposure, and return terms. The cheapest box is not always the lowest total repair cost.</p><h3>Inspection Before Installation</h3><p>Your mechanic should compare the delivered assembly with the approved description before opening the engine. Confirm chain count, link arrangement, guide shapes, tensioner design, sprocket teeth, timing marks, sensors, bolts, seals, and the engine code. Photograph any transit damage or mismatch. Do not install a chain with bent plates, chipped teeth, cracked guides, corrosion, missing hardware, or an incorrect part number. Keep the original components until fitment and condition have been accepted.</p>",sO="<p>Timing-chain noise deserves a careful diagnosis because several other engine problems sound similar. A loose accessory belt, belt tensioner, water pump bearing, exhaust heat shield, low oil pressure, camshaft phaser, or internal bearing can create a rattle or tapping noise near the front cover. Replacing a timing chain without confirming the source can waste labor and leave the original fault unresolved.</p><h3>Timing Chain Failure Symptoms</h3><p>Common symptoms include a rattle during cold start, a metallic slap that follows engine speed, hard starting, rough idle, hesitation, reduced power, poor fuel economy, stalling, and a check-engine light. Camshaft-to-crankshaft correlation codes such as P0016, P0017, P0018, and P0019 may appear when the relationship is outside the control module's expected range. These symptoms can point to chain stretch, a weak tensioner, damaged guides, a failed cam phaser, a sensor problem, low oil pressure, or a timing error from a previous repair.</p><h3>How a Shop Confirms Chain Wear</h3><p>A technician may listen during cold start, inspect oil level and condition, scan for codes, review camshaft timing data, test oil pressure, and compare commanded with actual camshaft position. Depending on the engine, the shop may remove a valve cover, inspect guide material, check timing marks, use a borescope, or measure chain movement. If the chain has jumped, compression and leak-down testing can help determine whether valves or pistons were damaged. The engine should not be repeatedly driven while a severe rattle or correlation fault is present.</p><h3>Other Parts to Check</h3><p>A timing chain repair can involve the oil pump, cam phasers, crankshaft keyway, seals, timing cover, water pump, valve cover, oil pan, sensors, and fasteners. If guides have disintegrated, the oil pickup screen and passages need inspection. If coolant entered the oil, bearings may have been affected. If a chain jumped, the mechanic should verify compression and valve timing before assuming that a kit alone will restore the engine. These 
102checks protect the replacement part and the repair warranty.</p><h3>When a Timing Chain Replacement Kit Makes Sense</h3><p>A <strong>timing chain replacement kit</strong> is a reasonable repair when testing shows excessive chain movement, damaged guides, tensioner failure, sprocket wear, or a verified timing-correlation problem while the block, cylinder head, compression, oil pressure, and lower end remain serviceable. A <strong>timing chain repair kit</strong> should match the repair scope. If the engine has severe valve, piston, bearing, or oiling damage, compare the cost of a complete used engine with the cost of disassembly and internal repair.</p><h3>Installation Planning</h3><p>Timing work is engine-specific and should follow current service information. The mechanic generally needs to set the crankshaft and camshafts at the correct reference positions, lock or support the shafts, install guides and tensioners in the specified order, torque fasteners correctly, prime hydraulic components, verify timing marks, and rotate the engine by hand before starting it. Some modern systems require scan-tool relearn or camshaft-position adaptation after installation. Never rely on a generic diagram when the manufacturer specifies a different procedure.</p>",oO="<p>After fitment and component contents are confirmed, eligible timing chain kits are packed to protect links, guide rails, tensioners, sprockets, sensors, and small hardware from impact. Most orders ship within 24–48 hours, and many arrive in approximately 2–5 business days depending on destination, carrier capacity, and whether delivery is made to a commercial repair shop. Free USA shipping availability and warranty terms are included in the quote before the order is finalized.</p><h3>Timing Chain Kit Price and Repair Cost</h3><p>The price of a <strong>timing chain kit for sale</strong> depends on engine design, chain count, included sprockets, guide and tensioner contents, donor information, condition, and availability. The total timing chain replacement cost also includes labor, gaskets, seals, fluids, one-time-use bolts, cam phaser or water-pump work, and any damage found during disassembly. A V6 or V8 with multiple chains can require much more labor than a compact four-cylinder engine. Ask whether the quote is for a bare chain, a partial set, or a complete timing chain assembly.</p><p>Customers looking to <strong>buy used timing chain kits</strong> often compare a used OEM part with a new aftermarket kit, dealer inventory, or a complete used engine. The best value is the part that matches the engine, contains the components your repair requires, and carries clear condition and warranty information. An affordable timing chain kit is only affordable if it avoids a second teardown caused by the wrong chain, missing guide, incompatible sprocket, or untested tensioner.</p><h3>Buying a Used Timing Chain Kit Online</h3><p>Online ordering is easiest when the request includes the VIN, engine code, year, make, model, original part number, chain count, and symptoms. Tell us whether you need a complete kit, a timing chain and tensioner kit, a specific camshaft sprocket, or individual <strong>timing chain replacement parts</strong>. If you need a used engine timing part for a rebuild, list the parts already in hand so we do not duplicate hardware or omit a required component.</p><h3>What to Confirm Before Ordering</h3><ul><li>Exact engine family, code, displacement, and model-year range.</li><li>Whether the system uses one chain, primary and secondary chains, or an oil-pump chain.</li><li>Chain, sprockets, guides, tensioner, seals, bolts, and other included components.</li><li>Donor mileage and available inspection evidence.</li><li>Whether the original cam phasers, sensors, or covers must be transferred.</li><li>Warranty coverage, return requirements, shipping method, and delivery timing.</li></ul><h3>Request a Fitment Quote</h3><p>Send the VIN and the engine information from your vehicle or replacement engine. Include a photo of the original timing component or a scan-tool co
102de when available. We will check current inventory for a used timing chain kit, explain whether it is a complete set, review the available inspection details, and provide the price, warranty, and shipping information before you purchase. If your diagnosis indicates broader internal damage, we can also help compare used engine components or a complete replacement engine so the repair decision is based on the full job.</p>",lO=[{q:"What is included in a used timing chain kit?",a:"Contents depend on the engine. A complete kit may include the timing chain, camshaft and crankshaft sprockets, timing chain guides, tensioner, guide hardware, seals, and related pieces. Some listings are partial sets, so confirm every included component against your repair plan and engine code before ordering."},{q:"Is a used timing chain kit safe to install?",a:"A used kit can be appropriate when it is correctly identified, inspected, within acceptable wear limits, and matched to an engine that is otherwise serviceable. Chain stretch, guide condition, tensioner operation, sprocket teeth, donor information, warranty, and installation requirements should be reviewed before purchase. A damaged or unidentified kit should not be installed."},{q:"How do I know if my timing chain needs replacement?",a:"Cold-start rattling, camshaft-crankshaft correlation codes, hard starting, rough idle, loss of power, and poor fuel economy can indicate a timing problem. The same symptoms can come from low oil pressure, a cam phaser, sensor, accessory, or another engine fault. Have a qualified technician scan, test, and inspect the system before ordering."},{q:"Are timing chain guides and tensioners included?",a:"They may be, but the answer varies by listing and engine. Some timing chain kits include the primary chain, guides, tensioner, camshaft sprocket, and crankshaft sprocket; others contain only selected parts. We provide the available component list and identify what must transfer from the original before confirming a quote."},{q:"Can I use a Ford F-150 timing chain kit in another Ford?",a:"Not based on the vehicle name alone. Ford timing systems vary by engine family, displacement, camshaft layout, model year, chain count, and variable-valve-timing hardware. A Ford F-150, Explorer, Mustang, or other Ford may share an engine family but still require different timing components. Use the VIN and engine code for fitment."},{q:"Are Chevy Silverado timing chain kits interchangeable between engines?",a:"No. Silverado applications can use different V6, V8, turbocharged, and model-year engine systems. A kit for a 5.3L, 6.0L, or 6.2L engine may have different chain guides, sprockets, sensors, or camshaft timing hardware. Confirm the engine code, VIN, and original part number before treating a kit as a direct replacement."},{q:"What is the difference between a timing chain kit and an engine timing kit?",a:"The terms are often used for the same repair category, but sellers may define them differently. An engine timing kit can mean a complete chain system with guides, tensioner, and sprockets, while a timing chain kit may contain only selected parts. Always compare the actual component list rather than relying on the title."},{q:"How much does timing chain replacement cost?",a:"Timing chain replacement cost depends on the vehicle, engine layout, labor access, chain count, parts included, gaskets, seals, one-time-use bolts, cam phasers, water pump, and any internal damage. A used OEM kit may reduce the parts cost, but the quote should account for complete fitment, included hardware, shipping, warranty, and installation risk."},{q:"Can I buy a used timing chain kit online by model only?",a:"Model-only ordering is risky because one model can use several engines and timing systems. Provide the VIN, engine code, displacement, year, original part number, and whether the engine is factory-installed or swapped. Those details allow a specialist to compare the correct chain length, sprockets, guides, tensioner, and control hardware."},{q:"Should I replace the camshaft and crankshaft sprockets with the chain?",a:"Replace or reuse sprockets based on their measured condition and the manufacturer's repair guidance. Worn, hooked, chipped, or mismatched teeth can quickly damage a replacement chain. If the sprockets are included in the kit, compare the tooth count, timing marks, keyway, sensor relationship, and part number before installation."}],cO=["Ford","Chevrolet","Dodge","Ram","Jeep","Toyota","Honda","Nissan","GMC","BMW"],uO=["Chain Stretch Reviewed","Guides & Tensioner Inspected","Sprocket Teeth Checked","Up to 5-Yr Warranty"],dO="used timing chain kit, timing chain kit, used timing chain, timing chain kit for sale, used timing chain kit for sale, replacement timing chain kit, automotive timing chain kit, engine timing chain kit, timing chain tensioner, timing chain guide, timing chain guides, timing chain sprocket, camshaft sprocket, crankshaft sprocket, timing chain assembly, engine timing kit, cam chain kit, timing chain replacement kit, timing chain repair kit, timing chain components, used Ford timing chain kit, Ford timing chain replacement, used Chevy timing chain, Chevrolet timing chain kit, used Dodge timing chain kit, Ram timing chain kit, Jeep timing chain kit, Toyota timing chain kit, Honda timing chain kit, Nissan timing chain kit, Ford F-150 timing chain kit, Chevy Silverado timing chain kit, Ford Explorer timing chain, Jeep Wrangler timing chain kit, Toyota Camry timing chain kit, Honda Accord timing chain kit, buy used timing chain kit, affordable timing chain kit, OEM timing chain kit, used OEM timing chain, timing chain replacement parts, timing chain kit online, used engine timing parts, tested used timing chain, inspected timing chain components, quality used timing chain, OEM used timing components, recycled auto parts, used engine components, used engine timing parts",hO="Used Timing Chain Kits for Sale | Tested OEM Parts",fO="Shop used timing chain kits for sale with inspected chains, guides, tensioners and sprockets. VIN-matched OEM fitment, warranty and free USA shipping.",zt={h1:tO,intro:aO,aboutSection:nO,compatSection:iO,qualitySection:rO,diagnosticsSection:sO,shippingNote:oO,faqs:lO,topMakes:cO,badges:uO,keywords:dO,metaTitle:hO,metaDescription:fO},pO="Used AC Compressors for Sale – Quality Replacement Air Conditioning Parts",mO="Shop a used AC compressor for sale when your vehicle's air conditioner is blowing warm air, the clutch will not engage, or a noisy compressor is making every drive uncomfortable. Quality Auto Part Store helps drivers and repair professionals find tested used OEM AC compressors for cars, trucks, and SUVs. We compare the year, make, model, engine, compressor type, clutch configuration, original part number, and VIN before confirming a replacement. Send your vehicle details to check current inventory, warranty coverage, shipping options, and the right fit without guessing.",gO="<p>An automotive AC compressor is the heart of a vehicle's air conditioning system. Often called the car air conditioning compressor or vehicle AC compressor, it uses engine power to compress refrigerant and move it through the condenser, expansion device, and evaporator. Refrigerant changes pressure and temperature as it travels through that closed system. The evaporator absorbs heat from cabin air, the blower pushes cooled air through the vents, and the compressor begins the cycle again. If the compressor cannot create the required pressure difference, the air conditioner may run but never produce cold air. A used car AC compressor or used automotive AC compressor is intended to restore this same factory-designed cycle when its identity and condition are verified.</p><p>Most belt-driven systems use an AC compressor assembly made up of the compressor body, pulley, electromagnetic AC compressor clutch, front shaft seal, internal pistons or scroll mechanism, valves, refrigerant ports, and mounting ears. Some applications also include a separate AC compressor bracket, manifold block, pressure sensor connection, or special line fitting. The pulley usually spins with the serpentine belt, while the clutch engages the compressor shaft only when the climate-control system requests cooling. That distinction matters during diagnosis: a freely spinning pulley does not prove that the compressor itself is healthy.</p><h3>How the compressor creates cold air</h3><p>When the cabin control calls for cooling, the compressor clutch receives power and connects the belt-driven pulley to the compressor shaft. The compressor draws low-pressure refrigerant vapor from the evaporator and compresses it into a high-pressure vapor. The condenser releases heat to the outside air and changes the refrigerant into a high-pressure liquid. After the expansion valve or orifice tube reduces pressure, the refrigerant enters the evaporator and absorbs heat from the cabin. A restriction, low charge, electrical fault, or internal 
102compressor problem can interrupt any part of this process, so a correct repair starts with system testing rather than replacing parts based on one symptom.</p><h3>Used OEM AC compressor versus a new aftermarket unit</h3><p>A used OEM AC compressor is an original factory-specified component recovered from a donor vehicle. It may be a practical choice when a new dealer unit is expensive, a particular bracket or connector is difficult to source, or an older vehicle does not justify the cost of a complete new assembly. The value is not simply that the part is used. The compressor must be identified, inspected, and matched to the application. A lower price cannot make up for the wrong displacement, refrigerant design, clutch connector, pulley arrangement, or mounting pattern. The phrases used air conditioning compressor and used air conditioner compressor may describe the same replacement category, but the exact application still controls fitment.</p><p>There is also a difference between a used AC compressor and used AC compressor parts. A clutch, pulley, bracket, manifold, or compressor body can sometimes be sold separately, but a component-only solution is not interchangeable with a complete replacement AC compressor. Tell us whether your failure is electrical, mechanical, or caused by contamination so we can help determine whether you need a full assembly or an individual AC compressor part.</p>",yO="<p>AC compressor compatibility depends on more than the vehicle badge. The same model can use different compressors across engine sizes, model years, trim levels, refrigerant systems, drivetrain layouts, and production dates. A Ford F-150 with a 2.7L EcoBoost may use a different compressor from a 5.0L V8 or a 3.3L V6. A Toyota Camry AC compressor can vary between four-cylinder, V6, hybrid, and different-generation applications. The safest replacement is the one that matches the original compressor number and the vehicle's complete configuration.</p><h3>Ford AC compressors</h3><p>We help customers locate a used Ford AC compressor for applications including the Ford F-150 AC compressor, Ford Escape AC compressor, and Ford Focus AC compressor. These vehicles can have different pulley grooves, clutch connectors, mounting ears, and refrigerant requirements even when the model name is the same. F-150 fitment may also change with engine family and cab generation. Escape and Focus listings should be checked against the engine, production year, compressor label, and VIN before ordering.</p><h3>Chevrolet and Chevy AC compressors</h3><p>A used Chevy AC compressor may be needed for a Silverado, Tahoe, Equinox, or another GM vehicle. A Chevy Silverado AC compressor can differ by engine, heavy-duty package, and model generation. A Chevy Tahoe AC compressor may share a family resemblance with other GM truck units but still require a different bracket or clutch connector. Chevrolet Equinox AC compressor fitment can change with the four-cylinder engine, turbocharged application, or model redesign. Compare the OEM AC compressor number and the original mounting layout instead of relying on a broad catalog description.</p><h3>Toyota AC compressors</h3><p>Our Toyota coverage includes the Toyota Camry AC compressor, Toyota Tacoma AC compressor, and Toyota Corolla AC compressor, along with other passenger cars and trucks. A Camry compressor can be different between a gasoline engine, hybrid system, and model generation. Tacoma compressors may vary by engine and year, while Corolla units can change with the engine family and refrigerant system. Provide the VIN and original label so we can verify the compressor type, clutch or electric-drive configuration, ports, and bracket location.</p><h3>Honda AC compressors</h3><p>We also source a used Honda AC compressor for popular applications such as the Honda Accord AC compressor, Honda Civic AC compressor, and Honda CR-V AC compressor. Accord and Civic compressor fitment can change with four-cylinder, V6, turbocharged, and hybrid powertrains. CR-V applications may use a different clutch, pulley, or control strategy from a similar Honda model. Year, engine, body style, and part number help separate a direct replacement from a compressor that only looks similar.</p><h3>AC compressor by year, make, and model</h3><p>Searching for an AC compressor by vehicle is a useful starting point, not a final fitment decision. Send the year, make, model, engine size, VIN, drive belt arrangement, and original compressor number whenever possible. We can compare the clutch face, pulley diameter, number of grooves, connector position, line ports, bracket ears, displacement, and refrigerant specification. This AC compressor replacement compatibility review is especially important for vehicles with an engine swap, imported trim, salvage history, or mid-year production change.</p>",vO="<p>Every tested used AC compressor is handled as a precision component, not an unverified pull-off. We begin by recording the donor vehicle information and visible OEM AC compressor number. The housing is examined for cracks, impact damage, broken mounting ears, damaged threads, port corrosion, and oil staining. The pulley is checked for rough bearings, wobble, excessive play, and damaged grooves. We inspect the AC compressor clutch face, connector, coil, and air gap for signs of overheating or physical damage. Units with severe case damage or unclear identity are not presented as a confident match.</p><h3>What our inspection looks for</h3><ul><li><strong>Clutch and coil:</strong>
102 the AC compressor clutch is checked for coil continuity, connector condition, engagement behavior, and an air gap that is consistent with the application. A clutch that does not engage can be the failed part, but it can also be intentionally open because of low refrigerant pressure or a control-system fault.</li><li><strong>Pulley and bearing:</strong> the AC compressor pulley should turn smoothly without grinding, wobble, or excessive radial play. A noisy pulley bearing can imitate an internal compressor failure and should be distinguished before installation.</li><li><strong>Shaft and seal:</strong> the shaft area is examined for oil residue, scoring, and evidence of a damaged front seal. A small amount of shipping oil is not the same as active leakage, so condition is assessed in context.</li><li><strong>Housing and ports:</strong> mounting ears, threaded holes, manifold surfaces, refrigerant ports, and pressure-sensor provisions are compared with the original unit. Broken brackets or mismatched ports can make an otherwise functional compressor unusable.</li><li><strong>Internal condition:</strong> where testing equipment and application data allow, the unit is evaluated for rotation resistance, abnormal binding, valve response, and contamination indicators. A compressor that has ingested metal debris should not be treated as an ordinary replacement.</li></ul><h3>Warranty and condition information</h3><p>A used AC compressor with warranty protection gives you a clearer path if the part has a verified fitment or functional problem after professional installation. Warranty eligibility, coverage period, return conditions, and installation requirements are provided with the quote. Keep the invoice, installation record, refrigerant service record, and any required replaced components. Warranty coverage does not replace proper system preparation: installing a replacement into a contaminated or incorrectly charged system can cause a second failure.</p><p>We describe condition honestly. A tested used AC compressor may have normal cosmetic wear, light oxidation, or marks from removal while still being mechanically suitable. A warranty does not mean every compressor has identical cosmetic appearance. It means the unit has been evaluated against the stated application and supplied with documented terms. If your repair requires a bracket, clutch, manifold, or sensor, confirm whether that hardware is included before purchase.</p>",bO="<p>Warm air is not proof that the compressor has failed. The air conditioning system also depends on refrigerant charge, fuses, relays, wiring, pressure switches, temperature sensors, the expansion device, condenser airflow, evaporator airflow, and the HVAC control module. A professional AC compressor troubleshooting process tests the system before condemning the most expensive component. Do not open a pressurized refrigerant circuit or release refrigerant into the atmosphere; recovery, evacuation, and charging require the correct equipment and trained handling.</p><h3>Bad AC compressor symptoms</h3><p>Common bad AC compressor symptoms include car AC not blowing cold air, a compressor that never engages, a drive belt squeal, grinding or knocking from the accessory drive, visible refrigerant oil around the shaft seal, repeated fuse failure, or high and low side pressures that do not respond normally. A failing AC compressor may still cool intermittently, especially when its clutch slips, an internal valve sticks, or the compressor becomes less efficient as it warms up. A single warm-air event can also come from low charge or a blend-door problem, so measure pressures and inspect the electrical command before ordering.</p><h3>AC compressor not working</h3><p>If the AC compressor is not working, first observe whether the pulley turns with the belt and whether the clutch plate engages when cooling is requested. Check the related fuse, relay, wiring, pressure signal, and command from the climate-control system. The clutch may be prevented from engaging because refrigerant pressure is too low or too high. On some newer vehicles, variable-displacement compressors use an electronic control valve and may not behave like an old fixed-displacement clutch system. A scan tool, manifold gauges, electrical meter, and service information may be needed to identify the real fault.</p><h3>AC compressor making noise</h3><p>An AC compressor making noise can produce chirping, squealing, rumbling, grinding, rattling, or a sharp knock. Noise that changes when the clutch engages can point toward the compressor, clutch, pulley bearing, or belt system. A bearing may growl with the clutch disengaged, while an internal failure may become louder when the compressor is pumping. Inspect nearby idler pulleys, the tensioner, alternator, and belt before blaming the compressor. Metal particles in the oil or refrigerant circuit are a serious warning because they can damage a replacement unit if the condenser, lines, expansion valve, and receiver-drier are not addressed.</p><h3>AC compressor clutch not engaging</h3><p>An AC compressor clutch not engaging can be caused by a failed coil, poor ground, broken connector, bad relay, blown fuse, low refrigerant, excessive system pressure, a control-module command, or a mechanical clutch air-gap problem. Jumping power directly to a clutch without following service procedures can damage the coil or create a safety hazard. If the clutch receives the correct command and voltage but will not pull in, the clutch assembly may need service. If the clutch is not commanded, diagnose the system protection circuit first. Replacing a complete compressor will not repair a blown fuse caused by a shorted wire or a seized accessory drive.</p><h3>When replacement is justified</h3><p>AC compressor failure is more likely when pressure testing shows abnormal compression, the shaft binds, the pulley bearing is damaged, the clutch or shaft seal is visibly failed, or internal debris is present. If the compressor is seized, ask the technician 
102whether the condenser, receiver-drier or accumulator, expansion valve or orifice tube, and lines need replacement or flushing. If the fault is only a clutch coil or pulley bearing and the compressor body still tests correctly, an AC compressor part may be a more appropriate repair than the complete assembly. Diagnosis protects your budget and prevents a good replacement from being damaged by the original cause.</p>",wO="<p>Once fitment is confirmed, we prepare the replacement AC compressor with protective caps, secure packaging, and the condition and warranty information included in your quote. Used AC compressors can be heavy and contain delicate ports, pulleys, and clutch faces, so careful packing helps prevent shipping damage. Many orders leave within 24–48 hours and arrive in approximately 2–5 business days, depending on inventory location and destination. Free USA shipping is available on eligible orders; the exact service and delivery estimate are confirmed before payment.</p><h3>What to confirm before installation</h3><ul><li>Compare the replacement's OEM or compressor part number with the original and the vehicle record.</li><li>Verify that the clutch, pulley, bracket, manifold, pressure port, and electrical connector match the repair plan.</li><li>Replace seals and O-rings that the service procedure calls for; do not reuse damaged or flattened line seals.</li><li>Measure and add the correct type and quantity of compressor oil according to the vehicle service information and the oil already in the system.</li><li>Have a qualified technician recover the old refrigerant, inspect for contamination, evacuate the system, and recharge it by weight.</li></ul><p>If the original compressor failed cleanly, the installation may be straightforward. If it seized or scattered metal, system cleanup is part of the car AC compressor replacement. Ask the installer to document the refrigerant type, oil amount, vacuum hold, operating pressures, belt alignment, and leak check. Good preparation is as important as selecting the correct used AC compressor.</p>",xO=[{q:"What should I check before buying a used AC compressor?",a:"Provide the year, make, model, engine, VIN, original compressor number, refrigerant type, and a photo of the label or connector if available. Also explain whether you need the complete AC compressor assembly, an AC compressor clutch, pulley, bracket, or another individual part. We compare mounting ears, ports, pulley grooves, clutch configuration, control strategy, and part number before confirming a replacement."},{q:"How do I know if I need a replacement AC compressor?",a:"A replacement AC compressor may be appropriate when pressure testing shows that the compressor cannot create the required pressure difference, the shaft is seized, the internal mechanism is noisy or damaged, the front seal leaks, or the unit has contaminated the system. Warm air alone is not enough evidence. Low refrigerant, a clutch circuit, expansion device, condenser airflow, or HVAC control fault can create similar symptoms."},{q:"Can I use a used OEM AC compressor instead of a new aftermarket compressor?",a:"A tested used OEM AC compressor can be a sensible alternative when its exact fitment, condition, warranty, and included hardware are confirmed. OEM and aftermarket units should be compared by compressor type, displacement, clutch, pulley, ports, bracket, refrigerant, control valve, and warranty rather than price alone. The best choice depends on the vehicle and the repair requirements."},{q:"Why is my car AC not blowing cold air after a compressor replacement?",a:"The system may have the wrong refrigerant charge, trapped air, a leak, incorrect oil quantity, an unengaged clutch, a blocked expansion device, poor condenser airflow, a wiring problem, or an HVAC door fault. If the old compressor failed mechanically, metal debris may have reached other components. Have the technician verify vacuum hold, charge by weight, operating pressures, clutch command, belt drive, and vent temperature."},{q:"What are the signs of a bad AC compressor?",a:"Signs of a bad AC compressor can include warm cabin air, abnormal high and low side pressures, a seized or binding shaft, grinding or knocking, belt squeal, oil at the front seal, an AC compressor clutch that will not engage, or repeated contamination after service. The
102se symptoms overlap with other air-conditioning faults, so use pressure, electrical, and visual tests to confirm the compressor before replacement."},{q:"What causes an AC compressor clutch not to engage?",a:"A clutch may not engage because of low or excessive refrigerant pressure, a blown fuse, bad relay, wiring or ground fault, failed clutch coil, incorrect air gap, control-module protection, or a compressor control-valve strategy that does not use a traditional on-off clutch. Check for the correct command and voltage before applying power directly. A new compressor cannot solve an upstream electrical or pressure-sensor problem."},{q:"How much does AC compressor replacement cost?",a:"AC compressor replacement cost includes the compressor, clutch or bracket if needed, seals, oil, refrigerant recovery and recharge, labor, leak testing, and any system cleanup. A clean clutch-only repair costs less than replacing a seized compressor and contaminated condenser or expansion valve. A used AC compressor can lower the parts portion of the repair, but request a complete estimate based on the vehicle and the cause of failure."},{q:"Can I buy a used AC compressor online by model only?",a:"Ordering by model only is risky because one model can use several engines, compressor numbers, clutch designs, and refrigerant systems. You can buy a used AC compressor online with confidence when the seller checks year, make, model, engine, VIN, original part number, and compressor configuration. Send those details before payment so the listing is treated as a fitment review rather than a generic model match."},{q:"What is included with a used AC compressor for sale?",a:"The listing should state whether it includes the compressor body, pulley, clutch, manifold or line block, pressure-sensor provision, mounting hardware, and any bracket. O-rings, oil, bolts, and sensors are not automatically included unless the quote says so. Compare the photographed unit and component list with the compressor being removed, especially when your repair involves an AC compressor bracket or a separate AC compressor clutch."},{q:"Do I need to flush the system after AC compressor failure?",a:"Flush and component-replacement requirements depend on the failure. A compressor that seized, ground internally, or sent metal through the circuit can contaminate the condenser, expansion valve or orifice tube, accumulator or receiver-drier, and lines. A clean electrical clutch failure may not require the same level of cleanup. Your technician should inspect the oil and recovered refrigerant, follow the vehicle procedure, and protect the replacement from debris."}],kO=["Ford","Chevrolet","Toyota","Honda","GMC","Dodge","Ram","Jeep","Nissan","Hyundai","Subaru","Lexus"],SO=["Clutch Engagement Reviewed","Pulley & Bearing Inspected","Ports & Mounts Checked","Up to 5-Yr Warranty"],AO="used AC compressor, used A/C compressor, used AC compressor for sale, AC compressor for sale, used car AC compressor, used automotive AC compressor, replacement AC compressor, used air conditioning compressor, used air conditioner compressor, AC compressor clutch, AC compressor pulley, AC compressor assembly, AC compressor bracket, automotive AC compressor, car air conditioning compressor, vehicle AC compressor, AC compressor replacement, AC compressor parts, OEM AC compressor, used OEM AC compressor, bad AC compressor symptoms, failing AC compressor, AC compressor not working, AC compressor making noise, AC compressor clutch not engaging, car AC not blowing cold air, AC compressor failure, signs of a bad AC compressor, AC compressor troubleshooting, used Ford AC compressor, Ford F-150 AC compressor, Ford Escape AC compressor, Ford Focus AC compressor, used Chevy AC compressor, Chevy Silverado AC compressor, Chevy Tahoe AC compressor, Chevy Equinox AC compressor, used Toyota AC compressor, Toyota Camry AC compressor, Toyota Tacoma AC compressor, Toyota Corolla AC compressor, used Honda AC compressor, Honda Accord AC compressor, Honda Civic AC compressor, Honda CR-V AC compressor, buy used AC compressor, used AC compressor online, affordable AC compressor, cheap used AC compressor, replacement AC compressor for sale, OEM AC compressor for sale, tested used AC compressor, used AC compressor near me, used AC compressor with warranty, AC compressor replacement cost, AC compressor compatibility, AC compressor part number, AC compressor by vehicle, AC compressor by year make model, OEM AC compressor number, AC compressor fitment, AC compressor replacement compatibility, car AC compressor replacement",TO="Used AC Compressors for Sale | Tested OEM Replacements",CO="Shop used AC compressors for sale with clutch, pulley and port inspection. VIN-matched OEM fitment, warranty coverage and free USA shipping for cars and trucks.",It={h1:pO,intro:mO,aboutSection:gO,compatSection:yO,qualitySection:vO,diagnosticsSection:bO,shippingNote:wO,faqs:xO,topMakes:kO,badges:SO,keywords:AO,metaTitle:TO,metaDescription:CO},EO="Used Cylinder Heads for Sale",MO="VIN and engine-code fitment support for cars, trucks, and SUVs",RO="Quality Auto Parts offers used cylinder heads for cars, trucks, and SUVs. To find a compatible unit, provide the year, make, model, trim, engine, VIN, and original casting or part number when available. We confirm the application and current availability before you order.",DO=[{heading:"Used Cylinder Heads for Sale",body:"<p>A used engine cylinder head is the upper casting that carries the combustion chambers, valves, and ports; many designs also mount camshafts. Replacing a failed head can be practical when diagnosis confirms the problem and the block and lower engine remain serviceable. The right part must match the engine, not just the vehicle badge.</p><p>Quality Auto Parts offers used cylinder heads for cars, trucks, and SUVs. Before buying, confirm the candidate's application, condition details, included components, warranty terms, and shipping information for your quote.</p>"},{heading:"Quality Used Cylinder Heads for Cars, Trucks & SUVs",body:'<p>
102A cylinder head for sale should have clear application and condition information. Quality used cylinder heads should be described by unit, because inspection scope can vary. Ask what was checked, such as casting identity, visible damage, sealing surfaces, pressure-test results, or machine-shop measurements. Confirm any recommended cleaning, resurfacing, or valve service.</p><p>Browse our <a href="/parts">Used Auto Parts</a> if diagnosis points to a different replacement category.</p>'},{heading:"How to Find the Correct Used Cylinder Head",body:"<p>Start with a confirmed diagnosis, then match the engine family, code, model year, and cylinder bank. Similar-looking heads may use different chambers, ports, sensors, timing features, or emissions provisions. On a V engine, verify left or right bank; do not assume the sides interchange. Used car cylinder heads may also vary by trim.</p><p>Share the drivetrain too. A 2WD or 4WD layout can affect nearby components. Have your installer compare the candidate with the original before assembly.</p>"},{heading:"Check Your VIN, Engine and Part Number",body:"<p>Send the complete 17-character VIN with the year, make, model, trim, engine size, and engine code if known. The VIN helps identify factory build details; the engine code narrows the application. A photo of the old head's casting mark or part number can distinguish production revisions.</p><p>If the engine was swapped or modified, compare the actual casting too. Include photos of the deck, ports, sensors, and cam area if the head is removed.</p>"},{heading:"Used Cylinder Head Condition and Included Components",body:"<p>A bare cylinder head is generally a casting without its valvetrain; a used cylinder head assembly may include valves, springs, retainers, camshafts, rockers, or other hardware. “Complete” varies by listing, so confirm items and omissions in writing. Ask whether head bolts, gaskets, sensors, injectors, and timing parts are separate.</p><p>Review the unit's condition notes and inspection scope, including available surface or pressure-test information. Your installer should verify flatness and determine whether additional work is needed before fitting the head.</p>"},{heading:"OEM Used Cylinder Heads and Vehicle Compatibility",body:`<p>OEM used cylinder heads follow the vehicle maker's design, but OEM appearance alone does not prove a match. Casting number, engine code, production date, cylinder bank, fuel system, and emissions equipment can affect fitment. Compare ports, bolt pattern, timing provisions, and sensors with the original head and service information.</p><p>For related applications, browse <a href="/brand/honda/engines">Honda engine listings</a> or <a href="/brand/ford/transmissions">Ford transmission listings</a>. If diagnosis shows broader engine damage, compare <a href="/engines">Used Engines for Sale</a> before choosing a head-only repair.</p>`},{heading:"Used Cylinder Heads Near Me and Nationwide USA Shipping",body:'<p>Searching for used cylinder heads near me can help you find local options, but distance does not confirm fitment or condition. Quality Auto Parts serves buyers across the United States. We review vehicle and unit details, then confirm shipping options, cost, and estimated timing in your quote.</p><p>For a broader powertrain repair, review <a href="/transmissions">Used Transmissions for Sale</a>. Shipping method and location or freight requirements depend on the order.</p>'},{heading:"Why Choose Quality Auto Parts?",body:'<p>Choosing a used engine component is easier when application, condition, included parts, and warranty terms are clear before purchase. Share your VIN and original part number so our team can review the candidate and explain what your installer should verify.</p><p>If overheating caused the failure, ask your shop to check the cooling system. Review our <a href="/parts/water-pump">used water pump</a> and <a href="/parts/radiator">used radiator</a> pages when diagnosis points to those parts.</p>'},{heading:"How to Order a Used Cylinder Head",body:"<p>To request a quote, provide your VIN, year, make, model, trim, engine, cylinder bank, and original casting or part number. Tell us whether you need a bare casting or assembled head, and share relevant diagnostic findings or photos.</p><p>Ready to confirm fitment and availability? Send your information through the quote form above. Review the description, inspection details, included components, written warranty, and shipping terms with your installer before ordering.</p>"}],OO="Frequently Asked Questions",NO=[{q:"What is a used cylinder head?",a:"A used cylinder head is a previously installed upper-engine component containing combustion chambers, valves, and ports, and sometimes camshafts. It is sourced for reuse after application and condition review. It may be sold bare or assembled, so ask what inspection and preparation it needs."},{q:"How do I know which cylinder head fits my vehicle?",a:"Match the engine, not just the vehicle name. Provide year, make, model, trim, engine code, VIN, cylinder bank, and the original casting or part number. Compare ports, sensors, timing features, and valvetrain, then have your installer confirm fitment before installation."},{q:"How can I find a used cylinder head by VIN?",a:"Share the complete 17-character VIN through the quote form, along with year, make, model, and engine if known. A VIN narrows factory build details, but casting or part-number confirmation may still be needed for production updates, engine swaps, or modified vehicles."},{q:"Are used cylinder heads inspected before sale?",a:"We review available identification and condition details, but inspection scope can vary by unit. Ask what was checked, such as visible condition, sealing surfaces, or pressure-test results if available. Your repair shop should inspect the head and block before installation."},{q:"What is included with a used cylinder head?",a:"Included parts depen
102d on the listing. A bare head may be only the casting; an assembled unit may include valves, springs, camshafts, rockers, or sensors. Request a component list and confirm bank, omissions, and whether bolts, gasket, or timing hardware are separate."},{q:"How much does a used cylinder head cost?",a:"There is no single fixed price for every application. Cost varies with engine, bank, casting, condition, included components, machine-shop needs, shipping, and warranty. Send the VIN and part number for availability and a quote separate from other repair costs."},{q:"Can I order a used cylinder head online?",a:"Yes. Send vehicle details and the original part number through the quote form, then review fitment, condition, included components, price, warranty, and delivery. Confirm the engine and casting details before ordering. A specialist can clarify the bank or assembly details if the old head is unavailable."},{q:"Do used cylinder heads come with a warranty?",a:"Warranty coverage and duration can vary by part. Ask for the written terms for the exact cylinder head, including coverage, start date, installation requirements, and return steps. Keep the invoice and have a qualified shop follow manufacturer procedures; clarify any service-plan requirements before installation."},{q:"Do you ship used cylinder heads across the USA?",a:"We ship used cylinder heads across the United States. Carrier, delivery estimate, and freight or location limits depend on the destination and unit. Confirm cost and timing in your quote, then inspect the package and casting before installation. Ask about residential delivery or shop drop-off when requesting the quote."}],VO=["Toyota","Honda","Ford","Chevrolet","Subaru","BMW","Nissan","Hyundai","Kia","Mitsubishi"],qO=["VIN Fitment Review","Condition Details","Component List","Warranty Terms by Unit"],jO="used cylinder heads for sale, used cylinder head, used cylinder heads, cylinder head for sale, used cylinder heads near me, used car cylinder heads, used engine cylinder head, used cylinder head assembly, OEM used cylinder heads, quality used cylinder heads",UO="Used Cylinder Heads for Sale | VIN & Engine Fitment",PO="Shop used cylinder heads for cars, trucks and SUVs. Check fitment by VIN, engine code and casting number. Review condition, parts, warranty and USA shipping.",ca={h1:EO,tagline:MO,intro:RO,sections:DO,faqHeading:OO,faqs:NO,topMakes:VO,badges:qO,keywords:jO,metaTitle:UO,metaDescription:PO},_O="Used Axle Assembly for Sale",LO="Used axle assemblies for cars, trucks and SUVs — fitment details by unit",HO="Need a Used Axle Assembly for Sale? Share your VIN, vehicle details, and part number when available. We’ll help confirm fitment and unit-specific terms.",BO=[{heading:"Used Axle Assembly for Sale",body:'<p>An axle assembly transfers power to driven wheels. Depending on design, it may mean a housing and differential, an independent carrier, an axle shaft or a CV half-shaft; these parts are not interchangeable. Identify what the repair requires and share a tag, part number or photo. Browse <a href="/parts">used auto parts</a> if diagnosis points elsewhere.</p>'},{heading:"Quality Used Axle Assemblies for Cars, Trucks & SUVs",body:'<p>Axle designs differ across cars, SUVs, pickups and vans with front-wheel drive, rear-wheel drive, AWD or 4WD. A used car axle assembly can differ even between trims of the same model. Year, make, model, engine, trim, transmission, wheelbase and drivetrain can change the housing, shafts, ratio, mounts and connectors. Share the full configuration, not only the model name.</p><p>If diagnosis points elsewhere, compare <a href="/engines">used engines</a> and <a href="/transmissions">used transmissions</a>. Ford owners can browse <a href="/brand/ford/engines">Ford engines</a> or <a href="/brand/ford/transmissions">Ford transmissions</a>.</p>'},{heading:"How to Find the Correct Used Axle Assembly",body:"<p>Start with the 17-character VIN, year, make, model, engine, trim, transmission and drivetrain. Identify front or rear position and, for a side-specific shaft, left or right. An OEM number, axle tag, casting mark, RPO code or clear photo can narrow the application.</p><p>Compare ratio, spline count, flange or yoke, housing width, brakes and connectors where relevant. A VIN describes the factory build, not later modifications; mention changed gearing, suspension or drivetrain parts. Have the installer compare the candidate with the original and service information.</p>"},{heading:"Front and Rear Axle Assemblies",body:'<p>Confirm whether you need a used front axle assembly or used rear axle assembly. A front axle may be a CV half-shaft on a front-wheel-drive car or a powered axle and differential on an AWD or 4WD vehicle. Rear designs include solid housings, independent carriers and separate shafts. Position affects mounts, outputs and length, so front and rear parts are not presumed interchangeable.</p><p>For AWD and 4WD, confirm front and rear ratios together. If diagnosis points inside the differential, compare <a href="/parts/differential">used differentials</a> and verify the required assembly.</p>'},{heading:"Used Axle Assembly Configurations",body:"<p>Confirm left or right, front or rear, and 2WD, AWD or 4WD. Used axle assembly parts may mean a bare housing or carrier, or an assembly with shafts, hubs, brakes, sensors, brackets or locking hardware. Ask for an itemized list; “complete” does not always mean every installation component.</p><p>Mounts, axle width, outputs, splines and connectors are application-specific. A similar appearance or vehicle badge does not establish fit. Share photos and identification marks, especially when the vehicle has non-factory equipment.</p>"},{heading:"Used Axle Assembly Condition and Included Components",body:"<p>Condition and included parts vary by unit. Request current photos and details about the housing, shafts, flanges, splines, seals, bearings, connectors and mounts. Ask whether donor mileage is recorded and what checks, if any, are documented. Do not assume every assembly was tested, rebuilt or supplied with the same hardware.</p><p>
102Confirm whether hubs, brakes, ABS sensors, brackets and locker parts are included or whether you are buying only the housing. Review unit-specific condition, return and warranty terms before ordering.</p>"},{heading:"OEM Used Axle Assembly Compatibility",body:'<p>An OEM number or axle code can identify the original application, but revisions and configurations may differ. Production date, ratio, brakes, axle rating, differential option and drivetrain can affect fit. Pair a VIN lookup with the tag or stamped number from the part being replaced.</p><p>If the vehicle was modified or the original is unavailable, provide measurements and photos. For engine-related repairs, see <a href="/parts/cylinder-head">used cylinder heads</a> and confirm fitment for each part.</p>'},{heading:"Used Axle Assembly Near Me and USA Shipping",body:"<p>A nearby search may surface local options, but distance does not confirm ratio, side or fitment. Include your VIN, axle tag and part number in an online request so the application and current options can be reviewed before pickup or delivery.</p><p>USA shipping may be available for selected units and destinations. Housings may require freight; smaller shafts may ship by parcel. Confirm cost, timing, delivery appointment, liftgate needs and destination service for the quoted part.</p>"},{heading:"Why Buy a Used Axle Assembly from Quality Auto Parts?",body:'<p>Submit the VIN, axle position, drivetrain, tag or OEM number and photos when available. A specialist can review the application and explain the details known about a specific unit, its included parts and anything still needing confirmation.</p><p>Warranty and shipping terms depend on the assembly and destination; request them with the quote. If diagnosis identifies another repair, compare <a href="/parts/differential">differentials</a>, <a href="/parts/cylinder-head">cylinder heads</a>, <a href="/engines">engines</a> or <a href="/transmissions">transmissions</a>.</p>'},{heading:"How to Order a Used Axle Assembly",body:'<p><strong>1.</strong> Send the VIN and vehicle details. <strong>2.</strong> Identify front or rear position and left or right side, if applicable. <strong>3.</strong> Add the axle tag, OEM or part number, ratio, photos and modifications when available.</p><p><strong>4.</strong> Review fitment and the itemized parts list. <strong>5.</strong> Confirm condition, warranty, return and shipping terms for that unit. <strong>6.</strong> Have the installer compare it with vehicle specifications. Use the <a href="#axle-assembly-quote">axle assembly quote form</a> to provide your VIN, vehicle information and part number for fitment, availability, warranty and shipping review.</p>'}],zO="Frequently Asked Questions",IO=[{q:"What is a used axle assembly?",a:"It is a previously used drivetrain part that transfers power to the wheels. It may mean a housing, carrier, axle shaft or CV half-shaft, depending on the vehicle."},{q:"How do I know which axle assembly fits my vehicle?",a:"Match the VIN and vehicle details with axle position, drivetrain, ratio and part identifiers. Confirm modifications and physical details before ordering."},{q:"Can I find a used axle assembly by VIN?",a:"Yes. A VIN can narrow the factory application; add the axle tag, OEM number or photos if the vehicle was modified or the original part was changed."}
102,{q:"What information do I need before ordering?",a:"Provide the VIN, year, make, model, engine, trim, transmission, drivetrain, axle position and available tag, ratio or part number."},{q:"What is the difference between a front and rear axle assembly?",a:"They serve different axle positions and may use different housings, shafts, mounts, outputs and ratios. Confirm the position and drivetrain."},{q:"Are used axle assemblies available for 2WD and 4WD vehicles?",a:"Options may cover both, but 2WD, AWD and 4WD assemblies are not automatically interchangeable. Match the vehicle configuration and ratio."},{q:"Does a used axle assembly include all components?",a:"Not always. Ask whether shafts, hubs, brakes, sensors, brackets and locking hardware are included or need to transfer from your original."},{q:"How much does a used axle assembly cost?",a:"Price depends on application, configuration, condition details, included components and shipping. Request a quote for the exact vehicle and part."},{q:"Can I buy a used axle assembly online?",a:"Yes. Submit your vehicle information and part identifiers online, then review fitment and unit-specific terms before placing the order."},{q:"Can I find a used axle assembly near me?",a:"Local options depend on location and current inventory. Share your vehicle details to ask about a nearby match or delivery options."},{q:"Do you ship used axle assemblies across the USA?",a:"USA shipping may be available for selected units and destinations. Confirm the method, cost, timing and freight requirements in your quote."},{q:"Is a warranty available for used axle assemblies?",a:"Warranty terms vary by unit and order. Ask for the applicable coverage, exclusions and installation conditions in writing before ordering."}],FO=["Ford","Chevrolet","Ram","Dodge","Jeep","Toyota","GMC","Nissan","Honda","Subaru"],WO=["VIN & Part-Number Review","Configuration by Unit","Condition Details by Unit","Warranty & Shipping by Quote"],GO="Used Axle Assembly for Sale, used axle assemblies, used axle assembly, axle assembly for sale, used car axle assembly, used front axle assembly, used rear axle assembly, used axle assembly near me, OEM used axle assembly, used axle assembly parts",YO="Used Axle Assembly for Sale | Quality Auto Parts",KO="Shop used axle assembly for sale at Quality Auto Parts. Find quality options for cars, trucks and SUVs with VIN fitment help, USA shipping and warranty.",gt={h1:_O,tagline:LO,intro:HO,sections:BO,faqHeading:zO,faqs:IO,topMakes:FO,badges:WO,keywords:GO,metaTitle:YO,metaDescription:KO},Q0=[{slug:"transfer-case",name:"Transfer Case",plural:"Transfer Cases",category:"Drivetrain",priceMin:299,priceMax:1799,h1:"Used Transfer Cases for Sale",tagline:"OEM-tested 4WD & AWD transfer cases — free shipping nationwide",intro:mR,aboutSection:gR,compatSection:yR,qualitySection:vR,shippingNote:bR,faqs:wR,topMakes:["Ford","Chevrolet","Dodge","Jeep","GMC","Toyota","Nissan","BMW","Subaru","Land Rover"],badges:["4WD/AWD Specialist","Chain & Gear Inspected","Fluid Flushed","Up to 5-Yr Warranty"],keywords:Cd.keywords,metaTitle:Cd.metaTitle,metaDescription:Cd.metaDescription},{slug:"differential",name:"Differential",plural:"Differentials",category:"Drivetrain",priceMin:249,priceMax:1499,h1:mt.h1,tagline:"Front, rear and locking differential fitment support",intro:mt.intro,aboutSection:mt.sections[0].body,compatSection:mt.sections[3].body,qualitySection:mt.sections[6].body,diagnosticsSection:mt.sections[5].body,shippingNote:mt.sections[7].body,faqs:mt.faqs,topMakes:mt.topMakes,badges:mt.badges,keywords:mt.keywords,metaTitle:mt.metaTitle,metaDescription:mt.metaDescription,contentSections:mt.sections,faqHeading:mt.faqHeading},{slug:"axle-assembly",name:"Axle Assembly",plural:"Axle Assemblies",category:"Drivetrain",priceMin:149,priceMax:899,h1:gt.h1,tagline:gt.tagline,intro:gt.intro,aboutSection:gt.sections[0].body,compatSection:gt.sections[2].body,qualitySection:gt.sections[5].body,shippingNote:gt.sections[7].body,faqs:gt.faqs,topMakes:gt.topMakes,badges:gt.badges,keywords:gt.keywords,metaTitle:gt.metaTitle,metaDescription:gt.metaDescription,contentSections:gt.sections,faqHeading:gt.faqHeading},{slug:"cylinder-head",name:"Cylinder Head",plural:"Cylinder Heads",category:"Engine",priceMin:199,priceMax:1199,h1:ca.h1,tagline:ca.tagline,intro:ca.intro,aboutSection:`
103<p>A cylinder head seals the top of the engine block and completes the combustion chambers. It contains passages for coolant and oil, intake and exhaust ports, valves, springs, retainers, and often one or more camshafts. The head must keep combustion pressure inside the cylinder while allowing air, fuel, exhaust, coolant, and lubrication to move through carefully controlled paths. A small loss of flatness or a hairline crack can therefore affect starting, power, emissions, cooling, and engine life at the same time.</p>
104
105<h3>Used Cylinder Head</h3>
106<p>A <strong>used cylinder head</strong> is an original-equipment component removed from another engine or vehicle and prepared for a second service life. Choosing used can make sense when the engine block, crankshaft, pistons, and bottom end remain serviceable but the original head is cracked, warped, damaged by overheating, or too worn to repair economically. An inspected used head also preserves the factory port layout, sensor locations, and valvetrain relationship that a generic replacement may not match.</p>
107<p>Used does not mean unidentified or automatically ready to install. Ask about the casting number, 
107complete or bare configuration, valve condition, camshaft inclusion, surface measurements, pressure-test result, and warranty. A reputable seller should be willing to discuss the application and should not describe every head for the same model as interchangeable. We record those details so your installer can make an informed decision.</p>
108
109<h3>Cylinder Head for Sale</h3>
110<p>When searching for a <strong>cylinder head for sale</strong>, start with the engine rather than the vehicle badge. The same SUV name may have several engine families, and a single engine family may use different heads by model year, production date, fuel system, emissions package, or cylinder bank. A listing should identify whether it is for the left or right bank on a V engine, whether it is a bare casting or complete assembly, and whether the valves, springs, camshafts, rockers, and sensors are included.</p>
111<p>Price is useful for narrowing choices, but it should not be the only comparison. A low advertised price can become expensive if the head needs pressure testing, resurfacing, valves, guides, springs, or missing hardware after delivery. We help you compare the delivered part, included components, warranty, and fitment support so the quote reflects the real repair rather than just the first number you see online.</p>
112
113<h3>Replacement Cylinder Head</h3>
114<p>A <strong>replacement cylinder head</strong> should match the original engine’s bore spacing, head-bolt pattern, combustion-chamber design, valve sizes, port locations, and timing components. Some engines use a head that looks nearly identical across several years but has a different compression ratio, cam trigger, coolant passage, or variable-valve-timing provision. Installing the wrong version can create poor compression, warning lights, coolant leaks, piston-to-valve interference, or an engine that will not run.</p>
115<p>Before ordering, photograph the identification mark on the old casting and write down the engine code from the vehicle label or service records. If the head is already removed, photograph the combustion chamber, deck, ports, cam caps, and sensor bosses. These images do not replace a VIN check, but they give a specialist useful evidence when multiple revisions exist.</p>
116
117<h3>Cylinder Head Replacement</h3>
118<p><strong>Cylinder head replacement</strong> is a precision repair, not simply a matter of removing one cover and installing another. The shop should identify the cause of the original failure, inspect the block deck, check for coolant or oil contamination, and follow the manufacturer’s tightening sequence. Many modern applications use torque-to-yield head bolts that must be replaced. The timing chain or belt, tensioner, guides, seals, and fluids may also need attention while access is available.</p>
119<p>A qualified technician should verify deck and head flatness, clean threaded holes, inspect dowels, confirm gasket orientation, and measure valve-to-piston clearance where required. After assembly, the cooling system needs to be filled and bled correctly, the engine should be checked for leaks and abnormal pressure, and the vehicle should be scanned for faults. Good installation protects the used head and helps reveal whether an overheating or lubrication problem could damage the replacement.</p>
120
121<h3>Cylinder Head Replacement Cost</h3>
122<p><strong>Cylinder head replacement cost</strong> depends on the engine layout, labor access, machine-shop work, gasket and bolt kit, timing-system service, fluid replacement, and whether the head is complete. A single accessible four-cylinder head is generally less involved than two heads on a V6 or V8. A quote should distinguish the part price from labor and should state whether resurfacing, pressure testing, valve work, gaskets, bolts, fluids, and related repairs are included.</p>
123<p>A used head can reduce the part portion of the repair while retaining the vehicle’s original engine block. That savings is most useful when the rest of the engine has good compression, oil pressure, and bearing condition. We recommend asking the shop for test results before authorizing a head replacement. If the bottom end is also damaged, installing a head alone may not be the most economical solution.</p>
124
125<h3>Cylinder Head Problems</h3>
126<p><strong>Cylinder head problems</strong> can begin with one overheating event, chronic low coolant, a failed head gasket, freezing damage, corrosion, valve-seat wear, or a lubrication failure. Common signs include repeated coolant loss without an obvious external leak, white exhaust after warm-up, bubbles in the exp
126ansion tank, milky oil, low compression, rough running, misfires, overheating, an unexplained pressure increase in the cooling system, or oil and coolant crossing inside the engine.</p>
127<p>These symptoms are not proof that the head itself has failed. A cracked block, warped deck, failed gasket, damaged injector, cooling-system fault, or timing problem can look similar. A shop should perform the appropriate compression, leak-down, cooling-system, combustion-gas, and visual tests before the part is ordered. Diagnosing the cause first is less expensive than replacing a good head and repeating the same failure.</p>
128
129<h3>Cylinder Head vs Engine Block</h3>
130<p><strong>Cylinder head vs engine block</strong> is a useful distinction when planning a repair. The block is the lower structure that houses the cylinders, pistons, crankshaft, and main oil and coolant routes. The head sits above it and contains the combustion chambers, valves, ports, and often the camshaft. The head gasket seals the two surfaces and keeps combustion, coolant, and oil in their separate passages.</p>
131<p>A head can be replaced while the block remains in the vehicle, but only if the block deck is sound and the lower engine has not suffered consequential damage. A machine shop can check both surfaces for warpage and cracks. If an engine was severely overheated, request a broader inspection instead of assuming a new head will correct every symptom. Understanding the difference helps you choose the right component and avoid paying for an incomplete repair.</p>
132`,compatSection:`
133<p>Fitment begins with the full engine identity. Send the VIN, model year, make, model, engine displacement, engine code, cylinder bank, transmission if relevant, and the casting or part number from the original head. Tell us whether the vehicle has variable valve timing, direct injection, turbocharging, a secondary-air system, or emissions equipment that may change the port and sensor layout. We review those details against the candidate rather than relying on a broad catalog description.</p>
134
135<h3>Used Cylinder Head for Sale</h3>
136<p>A <strong>used cylinder head for sale</strong> may be listed as bare, semi-complete, or complete. A bare head is usually a casting without valves and valvetrain components. A semi-complete head may include installed valves and springs but omit camshafts, rockers, or sensors. A complete head can include the camshafts and most hardware, although the exact contents still need to be confirmed. Knowing this distinction matters because transferring parts from the damaged head adds labor and may not be wise if those parts caused or suffered the original failure.</p>
137<p>We can review common applications across Toyota 2AZ-FE, 1GR-FE, and 3UR-FE engines; Honda K20, K24, and J35 families; Ford 5.4L Triton, 3.5L EcoBoost, and 2.0L engines; Chevrolet LS-series, Ecotec, and 3.6L V6 engines; Subaru EJ25; BMW N52 and N54; Nissan VQ35 and QR25; Hyundai and Kia Theta and Nu families; and many Mopar, Mitsubishi, and Mazda engines. Availability changes, so the VIN and casting data remain more important than a model list.</p>
138
139<h3>OEM Cylinder Head</h3>
140<p>An <strong>OEM cylinder head</strong> follows the original manufacturer’s design and is built around the factory block, gasket, valvetrain, and control strategy. For a daily driver, retaining that original design can simplify sensors, timing components, intake and exhaust connections, and engine-control calibration. It is still essential to verify the exact revision. OEM appearance alone does not guarantee compatibility when a manufacturer updated a casting during the production run.</p>
141<p>Ask whether the head is original equipment, aftermarket, remanufactured, or assembled from mixed components. Each option can be useful, but they should not be described as the same product. Our specialists explain what identification is visible and what the inspection covered so you and your mechanic know what is being purchased.</p>
142
143<h3>Used OEM Cylinder Head</h3>
144<p>A <strong>used OEM cylinder head</strong> can be a cost-conscious choice for an older car, a high-mileage truck, or a vehicle for which a new casting is difficult to source. The original casting may align with the factory exhaust manifold, intake, timing cover, and sensors without adapting unrelated parts. It can also preserve the correct combustion-chamber volume for the engine’s compression ratio.</p>
145<p>Before installation, your shop should compare the used OEM head with the removed component, measure the deck, inspect the seats and guides, and verify any required machine work. If the listing includes a camshaft or valves, have the installer check those parts rather than assuming every included component should be reused. The goal is a documented, compatible assembly—not simply the oldest or cheapest part available.</p>
146
147<h3>Cylinder Head Assembly</h3>
148<p>A <strong>cylinder head assembly</strong> can save time when it includes the valves, springs, retainers, camshafts, rocker arms, or followers your application requires. It may al
148so reduce the risk of transferring damaged hardware from an overheated head. However, “complete” is not a universal term. Confirm whether the timing actuator, cam caps, injectors, spark-plug tubes, exhaust studs, sensors, and covers are included, and whether the bank is identified.</p>
149<p>Some assemblies are best installed as received after routine checks; others are supplied for inspection or machine-shop preparation. The listing should state the condition of wear components and any known omissions. A specialist can help you decide whether a complete assembly or a bare casting makes more sense for your repair plan and labor budget.</p>
150
151<h3>Automotive Cylinder Head</h3>
152<p>An <strong>automotive cylinder head</strong> varies by engine architecture. An overhead-cam four-cylinder head may carry one or two camshafts, while a pushrod engine places the camshaft in the block and uses the head primarily for ports and valves. Diesel heads may have different pressures, injector provisions, and glow-plug locations. Turbocharged and direct-injection engines can require specialized cooling passages and sealing surfaces. This is why the engine code is more reliable than a simple vehicle-name search.</p>
153<p>We support fitment research for passenger cars, crossovers, vans, and trucks. Bring details about modifications such as a performance camshaft, non-factory turbo, cylinder-head swap, or conversion. Modified engines may need a different verification process, and a factory replacement should not be promised as a match until the surrounding components are understood.</p>
154
155<h3>How to Choose a Used Cylinder Head</h3>
156<p><strong>How to choose a used cylinder head</strong> starts with a proven diagnosis and accurate identification. Then compare the casting number, head revision, cylinder bank, included valvetrain, pressure-test result, flatness measurement, visible corrosion, warranty, and return policy. Request clear photos of the deck, combustion chambers, ports, cam journals, and mounting bosses. If a seller cannot explain what was checked, treat the part as an unverified core rather than a ready replacement.</p>
157<p>Finally, include your installer in the decision. The shop can tell you whether it prefers a bare head for machine work or an assembled unit, which new gaskets and bolts are required, and whether the original timing components should be replaced. Matching those expectations before shipment prevents avoidable delays and makes the delivered part easier to inspect.</p>
158`,qualitySection:`
159<p>Our inspection process is designed to identify the defects that can turn an inexpensive replacement into a repeat repair. Identification comes first: we record visible casting marks, part numbers, engine family clues, cylinder-bank details, and the components included with the head. We then evaluate the casting and sealing surfaces, because a clean appearance cannot reveal every crack or distortion.</p>
160
161<h3>Cracked Cylinder Head Symptoms</h3>
162<p><strong>Cracked cylinder head symptoms</strong> may include persistent coolant loss, white exhaust smoke, a misfire that returns after warm-up, low compression in one or more cylinders, coolant pressurization, oil contamination, or a spark plug that looks unusually clean from steam washing. Cracks can occur around valve seats, combustion chambers, bolt holes, cam journals, freeze plugs, or coolant passages. Some open only as the metal reaches operating temperature, so a cold visual inspection is not enough.</p>
163<p>Have a technician verify the suspected failure with the right diagnostic test. If the vehicle overheated, ask the shop to inspect the radiator, thermostat, water pump, fans, hoses, oil cooler, and cooling-system pressure. If lubrication failed, check the cam journals and lower engine. Finding the original cause protects a replacement head from the same damage.</p>
164
165<h3>Pressure Testing and Surface Inspection</h3>
166<p>Each suitable head is reviewed for cracks in the casting and water jacket using pressure-testing methods appropriate to its design. The deck is checked with a precision straight edge, and severe corrosion, impact marks, broken mounts, damaged threads, and questionable repair history are recorded. Valve seats, guides, stems, springs, retainers, cam journals, and timing provisions are evaluated when those components are present.</p>
167<p>Normal cosmetic marks from removal or storage are different from a structural defect. We separate those conditions in the description so a mechanic can plan any cleaning or machine-shop work. If the application needs resurfacing, valve work, or new seals, that recommendation should be made before installation rather than hidden inside a vague “tested” label.</p>
168
169<h3>Used vs Rebuilt Cylinder Head</h3>
170<p><strong>Used vs rebuilt cylinder head</strong> is a choice between different preparation levels. A used head is an original component inspected for identification and condition; it may need the installer’s preferred machine-shop checks. A rebuilt head has normally been disassembled, cleaned, measured, and reconditioned according to a supplier’s process, with selected wear parts replaced. A new head is unused, but may cost more or still require assembly and setup.<
170/p>
171<p>Neither label replaces fitment verification. A rebuilt head with the wrong casting will not solve the problem, and a well-identified used head may be a better value when the casting is sound and the shop can complete the required checks. Compare the total repair: part, machine work, gaskets, bolts, labor, shipping, warranty, and the expected service life of the vehicle.</p>
172
173<h3>Valve Train and Included Hardware</h3>
174<p>The valves and valvetrain determine how the head breathes and seals. A camshaft with a different profile, a damaged cam cap, incorrect spring height, worn guide, or mismatched rocker can create noise, low compression, or rapid wear. If an assembly includes these parts, the installer should check clearances and timing marks. If it is a bare casting, confirm that the original hardware is reusable before choosing that option.</p>
175<p>Head bolts, gaskets, seals, and fluids are often service items rather than included parts. Use new components where the manufacturer requires them and follow the correct torque sequence. Do not transfer a contaminated gasket, stretched bolt, or visibly damaged sensor simply because it came from the original engine.</p>
176`,shippingNote:`
177<p>Once fitment and condition are confirmed, cylinder heads typically ship within 24–48 hours in protective packaging. The deck surface, ports, cam journals, and sensor bosses are protected from impact and contamination during transit. Most deliveries arrive in approximately 2–5 business days, although destination, carrier capacity, residential access, and freight requirements can change the timing.</p>
178
179<h3>Prepare Before the Cylinder Head Arrives</h3>
180<p>Ask your mechanic to confirm the exact head configuration, gasket type, head-bolt requirement, timing-system parts, and machine-shop plan before the package ships. Have the VIN and original casting photos available for comparison. If the shop has already removed the head, keep the old component until the replacement is inspected and accepted. Do not dispose of identification tags, cam caps, brackets, or sensors that may help resolve a question.</p>
181
182<h3>Inspection at Delivery</h3>
183<p>Inspect the package before signing when possible. Photograph visible damage, then compare the casting number, cylinder bank, deck, ports, mounting points, valves, cams, sensors, and included hardware with the confirmed description. Do not install a head that arrives cracked, bent, contaminated, or different from the approved application. Contact the parts team promptly so the condition can be documented under the applicable warranty and return process.</p>
184
185<h3>Related Drivetrain Repairs</h3>
186<p>Engine repairs sometimes expose related drivetrain maintenance needs. If your vehicle also has a worn four-wheel-drive system, you can review our <a href="/parts/transfer-case">used transfer case inventory</a> for inspected OEM transfer cases and VIN fitment help. That is a separate search from a cylinder head, but checking connected repairs together can help your shop plan downtime, fluids, and shipping.</p>
187
188<h3>Request a Cylinder Head Quote</h3>
189<p>Use the quote form on this page or contact our parts team with the VIN, engine code, year, model, casting number, cylinder bank, and the symptoms or diagnostic results. Tell us whether you need a bare casting, semi-complete head, or complete assembly. We will confirm what is available, explain the inspection and included components, review warranty coverage, and help your installer decide what should be checked before final assembly.</p>
190`,faqs:ca.faqs,topMakes:ca.topMakes,badges:ca.badges,keywords:ca.keywords,metaTitle:ca.metaTitle,metaDescription:ca.metaDescription,contentSections:ca.sections,faqHeading:ca.faqHeading},{slug:"crankshaft",name:"Crankshaft",plural:"Crankshafts",category:"Engine",priceMin:149,priceMax:799,h1:"Used Crankshafts for Sale",tagline:"Journal-measured crankshafts — grade-A used OEM quality",intro:"The crankshaft is one of the most stressed components in your engine, converting the linear force of the pistons into the rotational torque your transmission needs. When a crank journal fails or the crankshaft bends, internal engine damage follows quickly. Our used crankshafts are measured at every journal, inspected for cracks, and graded for remaining service life so you get a trustworthy foundation for your engine rebuild.",aboutSection:"A crankshaft converts the reciprocating motion of engine pistons into rotational energy through a series of offset journals connected by counterweighted arms. The main journals ride in the engine block; the rod journals connect to the connecting rods. Journal wear, scoring from oil starvation, or physical damage from a spun bearing can ruin a crankshaft beyond inexpensive repair. A quality used crankshaft is often the smartest choice for an engine rebuild — especially when the rest of the short block is serviceable.",compatSection:"We carry used crankshafts for popular engine families including Toyota's 2GR-FE V6 and 2AZ-FE four-cylinder; Honda's K-series and B-series; Ford's 4.6L, 5.0L, and 5.4L modular V8s and EcoBoost four-cylinders; GM's LS-series V8s, Ecotec four-cylinders, and 3.6L V6; Chrysler's Hemi, 3.6L Pentastar, and 2.4L Tigershark; Subaru's EJ25; BMW's N52, N54, and N55; and many Diesel applications.",qualitySection:"Every used crankshaft is measured at each main journal and rod journal using a precision micrometer set. We check for taper, out-of-round, and undersize — and n
190ote what bearing size will be required for installation. Magnetic-particle crack inspection (Magnaflux) is performed on all high-demand applications. Only crankshafts within standard or one-size-under tolerances are listed.",shippingNote:"Crankshafts are heavy and ship via LTL freight or ground parcel depending on size. Most ship within 48 hours in heavy-duty protective packaging.",faqs:[{q:"What bearing size will I need for a used crankshaft?",a:`We measure every crankshaft and note the journal dimensions in the listing. If the journals are standard size, you'll use standard bearings. If the crank has been ground 0.010" or 0.020" undersize, you'll need the corresponding undersize bearings. This information is included with each unit.`},{q:"Can a crankshaft be reground if the journals are worn?",a:'Yes — most crankshafts can be reground at a machine shop to remove scoring and restore a true journal surface, typically in 0.010" increments. This adds cost but produces an excellent result on a high-quality crank. We can advise on whether a specific unit is a good candidate.'},{q:"Is a used crankshaft safe for a high-performance build?",a:"For stock or mild performance builds, a properly inspected used OEM crankshaft is perfectly appropriate. For high-horsepower or forced-induction applications, we recommend having the crank Magnaflux-tested and balanced after purchase for added confidence."},{q:"What causes crankshaft failure?",a:"The primary culprits are oil starvation (which scores or spins a bearing and damages the journal), detonation events that bend or crack the crank, and extreme fatigue from excessive mileage or severe use. Proper oil maintenance is the best prevention."}],topMakes:["Toyota","Honda","Ford","Chevrolet","Chrysler","Subaru","BMW","Nissan","Dodge","GMC"],badges:["Journal-Measured","Crack Inspected","Graded & Documented","Up to 5-Yr Warranty"],keywords:"used crankshaft, used crankshaft for sale, used crankshaft near me, crankshaft replacement, engine rebuild crankshaft, cheap crankshaft",metaTitle:"Buy Used Crankshafts for Sale | Journal-Measured OEM Quality",metaDescription:"Used crankshafts — every main & rod journal micrometer-measured, crack-inspected & graded. Fits LS, Hemi, EcoBoost, K-series, EJ25 & more. Free shipping, up to 5-yr warranty."},{slug:"camshaft",name:"Camshaft",plural:"Camshafts",category:"Engine",priceMin:74,priceMax:399,h1:"Used Camshafts for Sale",tagline:"Lobe-inspected camshafts for precise valve timing — free shipping",intro:"The camshaft controls when your engine breathes — and a worn or damaged cam lobe can rob you of power, fuel economy, and reliability. New OEM camshafts can be expensive and hard to source for older engines, making a quality used camshaft the practical choice. Our used camshafts are individually measured for lobe lift and journal diameter, ensuring you get one that will perform to spec from day one.",aboutSection:"The camshaft is driven by the crankshaft via a timing chain or belt and opens the intake and exhaust valves at precisely timed intervals. On overhead camshaft (OHC) engines, the camshaft lives in the cylinder head and acts directly on the valves or rocker arms. On overhead valve (OHV) engines, the cam is in the block and operates pushrods. Camshaft failure is most commonly caused by oil starvation — which causes pitting or flat spots on the lobes — or by excessive mileage on high-lift performance cams. A flat cam lobe causes a misfire-like condition limited to one cylinder.",compatSection:"Our used camshaft inventory covers SOHC and DOHC configurations for Toyota, Honda, Ford, General Motors, Chrysler/Mopar, Subaru, BMW, Nissan, Hyundai, Kia, Mitsubishi, and Volkswagen/Audi engines. We also carry OHV camshafts for GM LS and Gen III/IV V8s, Ford Windsor and Modular V8s, and Chrysler Hemi and Magnum engines.",qualitySection:'We measure camshaft lobe lift at the base circle and peak lift using a dial indicator, and measure each journal for taper and wear with a micrometer. Only camshafts within 0.002" of OEM specifications are listed. Journal surface finish is inspected and any pitting or scoring that would cause accelerated bearing wear is cause for rejection.',shippingNote:"Camshafts ship in protective tube packaging within 24 hours. Most arrive within 2–4 business days. Camshaft installation kits (new followers/lifters) are available upon request.",faqs:[{q:"Should I replace the lifters or followers when I install a used camshaft?",a:"Yes — it is strongly recommended to always install a new set of lifters or cam followers with any camshaft replacement, new or used. Lifters develop a wear pattern matched to the old cam lobes; installing them on a different cam causes accelerated wear and potential early failure."},{q:"How do I know the used camshaft has the correct lift and duration specs?",a:"We document the part number and verify the lift measurement on every listing. If you need a specific grind or performance specification, provide us with the part number and we'll match it."},{q:"Can a flat or worn cam lobe be repaired?",a:"Once a cam lobe is worn flat or pitted, the camshaft must be replaced — cam lobe repair is not practical. This is why prompt oil changes and using the correct oil viscosity are so important for camshaft longevity."},{q:"Do DOHC engines require two camshafts?",a:"Yes. Dual overhead camshaft (DOHC) engines have a separate intake and exhaust camshaft for each cylinder bank. When ordering, confirm whether you need intake, exhaust, or both, and which cylinder bank (driver or passenger side on V-configuration engines)."}],topMakes:["Toyota","Honda","Ford","Chevrolet","BMW","Subaru","Nissan","Chrysler","Hyun
190dai","Volkswagen"],badges:["Lobe Lift Measured","Journal Diameter Checked","OHC & OHV In Stock","Up to 5-Yr Warranty"],keywords:"used camshaft, used camshaft for sale, used camshaft near me, camshaft replacement, cheap camshaft, OEM camshaft",metaTitle:"Buy Used Camshafts for Sale | Lobe-Measured & Spec-Verified",metaDescription:"Used camshafts — lobe lift & journal diameter measured to OEM spec. OHC & OHV in stock. Fits Toyota, Honda, Ford, Chevy, BMW & more. Free shipping, up to 5-yr warranty."},{slug:"timing-chain-kit",name:"Timing Chain Kit",plural:"Timing Chain Kits",category:"Engine",priceMin:79,priceMax:349,h1:zt.h1,tagline:"Complete timing chain sets — chain, guides, tensioners & sprockets",intro:zt.intro,aboutSection:zt.aboutSection,compatSection:zt.compatSection,qualitySection:zt.qualitySection,diagnosticsSection:zt.diagnosticsSection,shippingNote:zt.shippingNote,faqs:zt.faqs,topMakes:zt.topMakes,badges:zt.badges,keywords:zt.keywords,metaTitle:zt.metaTitle,metaDescription:zt.metaDescription},{slug:"timing-belt-kit",name:"Timing Belt Kit",plural:"Timing Belt Kits",category:"Engine",priceMin:49,priceMax:249,h1:"Used Timing Belt Kits for Sale",tagline:"Complete timing belt sets with water pump — inspected, low-mileage",intro:"Timing belt replacement is a mandatory interval service on millions of four-cylinder and V6 engines — and on interference-fit engines, a snapped belt means destroyed valves. For older vehicles where new part cost can exceed the car's value, a low-mileage used timing belt kit gives you documented mileage and visual integrity at a price that makes the repair financially sensible.",aboutSection:"The timing belt performs the same function as a timing chain — keeping the crankshaft and camshaft(s) synchronized — but uses a rubber-reinforced belt and requires periodic replacement, typically every 60,000 to 105,000 miles. A complete timing belt service includes the belt itself, the idler pulleys, the tensioner, and usually the water pump (since it is driven by the same belt and replacement is recommended simultaneously). Engines like the Honda 2.4L, Toyota 3.0L V6, Subaru 2.5L, Mitsubishi 2.0L, and Volkswagen 1.8T are classic timing belt applications.",compatSection:"Our used timing belt kits cover Honda Accord, Odyssey, and Pilot with 3.5L V6; Toyota Camry V6, Solara, and Highlander with 3.0L 1MZ-FE; Subaru Impreza, Forester, Legacy, and Outback with EJ25; Mitsubishi Eclipse, Galant, and Outlander; Chrysler/Dodge 2.4L and 3.5L engines; Volkswagen 1.8T and 2.0L TDI diesel; Mazda 6 and CX-7 with MZR engines; and many other belt-driven four-cylinder and V6 applications through 2010.",qualitySection:"Every used timing belt kit is visually inspected for cracking, glazing, missing teeth, and fraying on both the belt and ribs. Tensioner spring preload is verified, and idler pulley bearing play is checked. We source kits exclusively from engines with mileage well under the manufacturer's replacement interval, ensuring full remaining belt life.",shippingNote:"Timing belt kits ship in complete set packaging within 24 hours. Most arrive within 2–4 business days. We can also include a matching used water pump upon request.",faqs:[{q:"Is it safe to use a used timing belt?",a:"Yes — if the belt comes from an engine with mileage well below the replacement interval and shows no visual deterioration. Our inspection process checks for all known failure indicators. For high-mileage donor engines, we do not sell the timing belt. Age and heat exposure are factors, so used timing belts are best suited for lower-budget repairs where the vehicle isn't driven in extreme conditions."},{q:"Should I replace the water pump when replacing the timing belt?",a:"Yes — since the water pump is driven by the timing belt and accessed during the same service, replacing it at the same time saves significant labor cost and prevents being back in the same position if the water pump fails before the next belt interval. We can include a matching used water pump with your kit."},{q:"What engines use timing belts vs. timing chains?",a:"As a general rule, most four-cylinder and some V6 engines built before 2010 use timing belts. Most modern engines (and virtually all V8s) use timing chains. Common belt engines include Subaru EJ-series, Honda J-series V6, Toyota MZ-series V6, Mitsubishi 4G-series, and Volkswagen/Audi EA827 family. Check your owner's manual for confirmation."},{q:"What happens if a timing belt breaks?",a:"On a non-interference engine, the engine simply stops and you lose power without internal damage. On an interference engine (the majority of modern designs), the pistons will collide with open valves, bending them and causing severe engine damage. This is why timing belt service intervals must be respected."}],topMakes:["Honda","Toyota","Subaru","Mitsubishi","Volkswagen","Chrysler","Dodge","Mazda","Hyundai","Kia"],badges:["Belt Integrity Checked","Tensioner Verified","Below Replacement Interval","Up to 5-Yr Warranty"],keywords:"used timing belt kit, timing belt replacement kit, used timing belt set, timing belt and water pump kit, cheap timing belt kit, timing belt near me",metaTitle:"Buy Used Timing Belt Kits for Sale | Includes Water Pump & Tensioner",metaDescription:"Complete used timing belt kits — belt, water pump, tensioner & idler pulleys, all low-mileage. Fits Honda, Toyota, Subaru, Mitsubishi, Audi & more. Free shipping."},{slug:"turbocharger",name:"Turbocharger",plural:"Turbochargers",category:"Engine",priceMin:199,priceMax:1499,h1:"Used Turbochargers for Sale",tagline:"Shaft-play tested turbos — restore boost pressure at a fraction of new cost",intro:"Turbocharger failure — whether from oil starvation, bearing wear, or foreign object damage — leaves your engine down on power and often pumping blue or white smoke. New OEM turbos routinely cost $800 to $3,000, but a quality used turbocharger from the same or a closely related application gives you factory boost pressure without the new-part premium. Our used turbos are bench-tested for shaft play, blade condition, and waste gate function before shipping.",aboutSection:"A turbocharger uses exhaust gas energy to spin a compressor wheel that forces additional air into the engine's intake, dramatically increasing power and efficie
190ncy without increasing engine displacement. When a turbo fails — through worn center section bearings, a cracked housing, damaged compressor or turbine blades, or a failed waste gate actuator — the symptoms include reduced boost, excessive oil consumption, grinding or whining noises, and smoke from the exhaust. Many late-model vehicles now come turbocharged from the factory, making used turbo availability important for cost-effective repairs.",compatSection:"We carry used turbochargers for Ford EcoBoost 1.5L, 1.6L, 2.0L, and 3.5L engines; GM 2.0L Ecotec and 3.0L diesel; Chrysler 3.6L Pentastar turbo and 2.0L; BMW N54 twin-turbo, N55, and B48 single-turbo; Volkswagen/Audi 1.8T, 2.0T TSI, and TDI diesel; Subaru EJ25 WRX and STI; Mitsubishi 4G63 and 4B11; Nissan RB26 and SR20; Toyota 2JZ-GTE; and many diesel applications including Ford Power Stroke, GM Duramax, and Dodge Cummins.",qualitySection:"Every used turbocharger is bench-tested using a compressed-air spin fixture to check bearing condition, shaft play (must be within OEM specification), and blade integrity. The center section is inspected for oil leaks and carbon buildup. Waste gate actuators are checked for proper travel and pressure response. We only list turbos from vehicles with properly documented oil change histories.",shippingNote:"Turbochargers ship wrapped in protective foam within 24–48 hours. We include a new oil inlet/outlet gasket set when available for your application. Most orders arrive within 2–5 business days.",faqs:[{q:"What causes a turbocharger to fail prematurely?",a:"The most common cause is oil starvation — insufficient lubrication from dirty oil, a clogged oil feed line, or starting the engine under boost before oil pressure builds. Other causes include foreign object ingestion through the intake, coolant contamination, and detonation from incorrect timing or low-octane fuel. Our used turbos are sourced from engines that failed for unrelated reasons."},{q:"Does the oil feed and return line need to be replaced when installing a used turbocharger?",a:"It is strongly recommended to replace the oil feed and return lines whenever a turbocharger is replaced, as the old lines may contain contamination or varnish that contributed to the original failure and could damage the replacement unit."},{q:"Should I let the engine idle before driving after turbo installation?",a:"Yes. It's best practice to prime the oil system before first start by cranking the engine without spark until oil pressure registers, then letting the engine idle for 2–3 minutes before driving. This ensures the turbo center section is fully lubricated before boost is applied."},{q:"Will a used turbocharger from a different trim or variant fit my vehicle?",a:"Some vehicles use the same turbocharger across multiple power levels with different waste gate settings or software maps. Our team cross-references part numbers to confirm fitment before shipping. Provide your exact build and we'll verify compatibility."}],topMakes:["Ford","BMW","Volkswagen","Audi","Subaru","Mitsubishi","Nissan","Toyota","Chevrolet","Chrysler"],badges:["Shaft-Play Tested","Blade Inspected","Waste Gate Verified","Up to 5-Yr Warranty"],keywords:"used turbocharger, used turbo for sale, turbocharger replacement, used turbo near me, cheap turbocharger, OEM turbocharger used",metaTitle:"Buy Used Turbochargers for Sale | Shaft-Tested, Boost-Ready OEM Units",metaDescription:"Used turbochargers — shaft play & compressor/turbine wheel inspected, housing leak-checked. Fits Ford EcoBoost, Cummins, Duramax, BMW, Subaru & more. Free shipping."},{slug:"supercharger",name:"Supercharger",plural:"Superchargers",category:"Engine",priceMin:399,priceMax:2499,h1:"Used Superchargers for Sale",tagline:"OEM superchargers — rotor-inspected, bypass-tested, ready to bolt on",intro:"A used OEM supercharger is one of the most cost-effective ways to restore factory forced induction or upgrade your naturally-aspirated engine — at a fraction of aftermarket kit pricing. Our used superchargers are pulled from factory-supercharged vehicles, inspected for rotor condition, snout bearing wear, and bypass valve operation, and shipped with the confidence of a real parts warranty.",aboutSection:"A supercharger compresses intake air using a belt-driven compressor, delivering immediate boost without the lag associated with turbochargers. Roots-type and twin-screw superchargers are common on American V8 applications (Ford GT500, Cadillac CTS-V, Dodge Hellcat, Chevrolet Corvette ZR1), while centrifugal superchargers are popular on performance imports and aftermarket kits. Supercharger failure typically manifests as a whining noise, reduced boost, or intercooler condensate from a failed bypass valve. A quality used supercharger from the same application restores factory performance at significant savings.",compatSection:"We stock used superchargers for Ford Mustang Shelby GT500 (TVS2300), Ford F-150 Raptor, Chevrolet Corvette ZR1 (LS9), Cadillac CTS-V (LSA), Dodge Challenger and Charger Hellcat (IHI twin-screw), Jaguar XKR and XFR (3.0L Lysholm), Range Rover and Land Rover (3.0L supercharged V6), Mercedes-Benz AMG applications, and BMW 1.6L Mini Cooper S applications.",qualitySection:"Each used supercharger is inspected with the front cover removed to check rotor lobe condition, housing seal integrity, and bypass valve function. The snout bearing is inspected for play and noise. Outlet and inlet ports are inspected for scoring that could indicate bearing failure debris. We bench-test rotor smoothness by hand before each listing.",shippingNote:"Superchargers ship in reinforced packaging within 48 hours. Many units ship via LTL freight for larger assemblies. Intercooler cores and inlet manifold adapters are available separately on request.",faqs:[{q:"How do I know if my supercharger is failing vs. other boost system issues?",a:"A failing supercharger typically produces a whining, grinding, or chattering noise that changes with engine RPM rather than vehicle speed. Reduced boost visible on a scan tool or boost gauge, combined with a noise that persists on steady-throttle cruise, points to the supercharger itself. A failing bypass valve causes surging or an over-boost condition."},{q:"Can I use a larger supercharger from a higher-output variant of my engine?",a:"Yes, in many cases — this is a popular OEM upgrade. For example, the LSA from a CTS-V can be installed on an LS3 engine with adapter spacers. Compatibility depends on the inlet and outlet geometry, drive pulley sizing, and ECU tuning. Our team can advise on interchange applications."},{q:"Does a supercharger require an oil change at service intervals?",a:"Most Roots-type and twin-screw superchargers contain a small reservoir of gear oil that requires periodic inspection and occasional change. Centrifugal superchargers are typically sealed and maintenance-free. We include service interval documentation with each unit where available."},{q:"What is the typical life expectancy of a used OEM supercharger?",a:"OEM superchargers are designed to last the life of the vehicle. With proper oil service and no overheating events, a used supercharger with under 60,000 miles has significant remaining life. Our inspection process catches units with bearing or rotor wear that would compromise longevity."}],topMakes:["Ford","Chevrolet","Dodge","Cadillac","Jaguar","Land Rover","Range Rover","Mercedes-Benz","BMW","Mini"],badges:["Rotor Inspected","Bypass Valve Tested","Snout Bearing Checked","Up to 5-Yr Warranty"],keywords:"used supercharger, used supercharger for sale, OEM supercharger, supercharger replacement, used blower for sale, buy used supercharger",metaTitle:"Buy Used Superchargers for Sale | OEM Rotor-Inspected, Bypass-Tested",metaDescription:"Used OEM superchargers — rotor clearance & bypass valve tested, snout & pulley inspected. Fits Mustang GT500, Camaro ZL1, Cadillac CTS-V, Jaguar, Range Rover & more. Free shipping."},{slug:"alternator",name:"Alternator",plural:"Alternators",category:"Electrical",priceMin:49,priceMax:349,h1:Ut.h1,tagline:"Output-tested used alternators — restore charging at a budget-friendly price",intro:Ut.intro,aboutSection:Ut.aboutSection,compatSection:Ut.compatSection,qual
190itySection:Ut.qualitySection,diagnosticsSection:Ut.diagnosticsSection,shippingNote:Ut.shippingNote,faqs:Ut.faqs,topMakes:Ut.topMakes,badges:Ut.badges,keywords:Ut.keywords,metaTitle:Ut.metaTitle,metaDescription:Ut.metaDescription},{slug:"starter-motor",name:"Starter Motor",plural:"Starter Motors",category:"Electrical",priceMin:39,priceMax:249,h1:Ht.h1,tagline:"Bench-tested used starters — crank reliably, save confidently",intro:Ht.intro,aboutSection:Ht.aboutSection,compatSection:Ht.compatSection,qualitySection:Ht.qualitySection,diagnosticsSection:Ht.diagnosticsSection,shippingNote:Ht.shippingNote,faqs:Ht.faqs,topMakes:Ht.topMakes,badges:Ht.badges,keywords:Ht.keywords,metaTitle:Ht.metaTitle,metaDescription:Ht.metaDescription},{slug:"power-steering-pump",name:"Power Steering Pump",plural:"Power Steering Pumps",category:"Engine Accessories",priceMin:49,priceMax:299,h1:Pt.h1,tagline:"Pressure-tested used steering pumps — quiet, leak-free, warrantied",intro:Pt.intro,aboutSection:Pt.aboutSection,compatSection:Pt.compatSection,qualitySection:Pt.qualitySection,diagnosticsSection:Pt.diagnosticsSection,shippingNote:Pt.shippingNote,faqs:Pt.faqs,topMakes:Pt.topMakes,badges:Pt.badges,keywords:Pt.keywords,metaTitle:Pt.metaTitle,metaDescription:Pt.metaDescription},{slug:"ac-compressor",name:"A/C Compressor",plural:"A/C Compressors",category:"Cooling & Fuel",priceMin:79,priceMax:499,h1:It.h1,tagline:"Tested used AC compressors — restore cold air without the new-dealer price",intro:It.intro,aboutSection:It.aboutSection,compatSection:It.compatSection,qualitySection:It.qualitySection,diagnosticsSection:It.diagnosticsSection,shippingNote:It.shippingNote,faqs:It.faqs,topMakes:It.topMakes,badges:It.badges,keywords:It.keywords,metaTitle:It.metaTitle,metaDescription:It.metaDescription,sectionHeadingLevel:"h2",sectionLabels:{about:"What Is an AC Compressor?",compat:"AC Compressors by Vehicle",quality:"Used AC Compressor Inspection, Quality & Warranty",diagnostics:"Signs of a Bad AC Compressor",shipping:"Buy a Used AC Compressor"}},{slug:"water-pump",name:"Water Pump",plural:"Water Pumps",category:"Cooling & Fuel",priceMin:39,priceMax:249,h1:_t.h1,tagline:"Bearing-tested water pumps — stop the leak, prevent the overheat",intro:_t.intro,aboutSection:_t.aboutSection,compatSection:_t.compatSection,qualitySection:_t.qualitySection,diagnosticsSection:_t.diagnosticsSection,shippingNote:_t.shippingNote,faqs:_t.faqs,topMakes:_t.topMakes,badges:_t.badges,keywords:_t.keywords,metaTitle:_t.metaTitle,metaDescription:_t.metaDescription},{slug:"radiator",name:"Radiator",plural:"Radiators",category:"Cooling & Fuel",priceMin:74,priceMax:449,h1:Lt.h1,tagline:"Pressure-tested radiators — inspected tanks, cores, and cooler fittings",intro:Lt.intro,aboutSection:Lt.aboutSection,compatSection:Lt.compatSection,qualitySection:Lt.qualitySection,diagnosticsSection:Lt.diagnosticsSection,shippingNote:Lt.shippingNote,faqs:Lt.faqs,topMakes:Lt.topMakes,badges:Lt.badges,keywords:Lt.keywords,metaTitle:Lt.metaTitle,metaDescription:Lt.metaDescription},{slug:"fuel-pump",name:"Fuel Pump",plural:"Fuel Pumps",category:"Cooling & Fuel",priceMin:49,priceMax:349,h1:"Used Fuel Pumps for Sale",tagline:"Flow-tested used fuel pumps — restore fuel pressure and driveability",intro:"A failing fuel pump starves your engine of the fuel pressure it needs, causing hard starts, stalling, hesitation, and eventually a no-start condition. New OEM in-tank fuel pumps can be surprisingly expensive for some applications, but our used fuel pumps are pressure-flow tested so you can restore reliable fuel delivery without overspending on an older vehicle.",aboutSection:"The fuel pump is mounted inside the fuel tank on most modern vehicles, submerged in gasoline which cools the pump motor. It draws fuel from the tank, pressurizes it, and delivers it to the fuel injectors at precise pressure. Common failure symptoms include hard starting when the engine is hot (fuel vapor lock from a weak pump), sputtering or losing power at high RPM (insufficient flow at peak demand), and a whirring or whining noise from the tank. Running the fuel tank low frequently accelerates pump wear by reducing cooling and allowing sediment to contact the pump inlet.",compatSection:"We stock used fuel pumps for Toyota Camry, Tacoma, Tundra, and 4Runner; Honda Accord and CR-V; Ford F-150, Mustang, and Focus; Chevrolet Silverado, Impala, and Colorado; Dodge Ram and Charger; Jeep Grand Cherokee and Wrangler; GMC Sierra and Canyon; Nissan Altima and Frontier; Subaru Forester and Outback; and many other domestic and import applications.",qualitySection:"Every used fuel pump assembly is tested on a flow bench measuring output pressure and flow rate at simulated operating voltage. Pressure regulator function is verified, and strainer/filter condition is inspected. The float and sender unit is tested for accurate gauge reading across the full tank range. Pump motor current draw is measured to confirm no stiction or partial failure.",shippingNote:"Fuel pumps 
190ship within 24 hours, typically as complete module assemblies including the sending unit and strainer. Most arrive within 2–4 business days.",faqs:[{q:"Should I replace the fuel filter at the same time as the fuel pump?",a:"Absolutely — a clogged fuel filter forces the pump to work harder, accelerates wear, and is often a contributing cause of pump failure. Since you're already dealing with fuel system service, replacing the filter is inexpensive insurance that protects your pump investment."},{q:"How do I confirm the fuel pump has failed vs. the fuel pressure regulator or injectors?",a:"A fuel pressure gauge is the definitive diagnostic tool. Measure fuel pressure with the key on and the engine running. Normal fuel pressure for most fuel-injected engines is 35–65 psi depending on design. Low pressure on both tests points to the pump; pressure that drops rapidly after shutdown points to a leaking injector or failing check valve."},{q:"Can running a car on low fuel damage a used fuel pump quickly?",a:"Yes. The pump is cooled by the fuel surrounding it. Running consistently on fumes means the pump runs hot, accelerating wear. After installing a used pump, maintaining a fuel level above 1/4 tank extends pump life significantly."},{q:"Is the fuel sending unit included with the pump?",a:"Most of our fuel pump listings are complete drop-in module assemblies that include the pump, sending unit (fuel gauge float), strainer, and pressure regulator — everything needed for a plug-and-play installation. Individual listings specify what components are included."}],topMakes:["Toyota","Honda","Ford","Chevrolet","Dodge","Jeep","GMC","Nissan","Subaru","GM"],badges:["Flow-Bench Tested","Pressure Verified","Sender Included","Up to 5-Yr Warranty"],keywords:"used fuel pump, used fuel pump for sale, fuel pump replacement, cheap fuel pump, used fuel pump near me, in-tank fuel pump",metaTitle:"Buy Used Fuel Pumps for Sale | Flow-Tested In-Tank Assemblies",metaDescription:"Used in-tank fuel pumps — flow rate & pressure tested, filter & fuel level sender included. Fits Toyota, Honda, Ford, Chevy, Dodge & more. Free shipping, up to 5-yr warranty."},{slug:"intake-manifold",name:"Intake Manifold",plural:"Intake Manifolds",category:"Engine Accessories",priceMin:74,priceMax:499,h1:Bt.h1,tagline:"Crack-tested intake manifolds — restore airflow and fuel distribution",intro:Bt.intro,aboutSection:Bt.aboutSection,compatSection:Bt.compatSection,qualitySection:Bt.qualitySection,diagnosticsSection:Bt.diagnosticsSection,shippingNote:Bt.shippingNote,faqs:Bt.faqs,topMakes:Bt.topMakes,badges:Bt.badges,keywords:Bt.keywords,metaTitle:Bt.metaTitle,metaDescription:Bt.metaDescription},{slug:"exhaust-manifold",name:"Exhaust Manifold",plural:"Exhaust Manifolds",category:"Engine Accessories",priceMin:59,priceMax:399,h1:"Used Exhaust Manifolds for Sale",tagline:"Crack-inspected used exhaust manifolds — stop the leak and the noise",intro:"A cracked exhaust manifold leaks hot exhaust gases into the engine bay, creating a distinctive ticking or hissing sound, potential fire hazard, oxygen sensor errors, and exhaust smell inside the cabin. New OEM cast-iron or tubular manifolds can be surprisingly expensive, especially for trucks and European vehicles. Our used exhaust manifolds are crack-inspected and flange-checked, giving you a safe, leak-free exhaust at a sensible price.",aboutSection:"The exhaust manifold bolts directly to the cylinder head and collects exhaust gases from all cylinders, channeling them into the exhaust pipe leading to the catalytic converter. Manifolds operate under extreme temperature cycling — from ambient cold to over 1,600°F — which causes thermal fatigue cracks in both cast-iron and tubular designs. Ford 4.6L and 5.4L trucks are notorious for manifold cracking; BMW and Mercedes-Benz inline-six and V8 manifolds also commonly crack. Crack symptoms include a distinct cold-start tick that may quiet as the metal expands, exhaust smell, and oxygen sensor codes from unmetered air intrusion at the crack site.",compatSection:"We carry used exhaust manifolds for Ford F-150 through F-350 with 4.6L and 5.4L V8 engines (a particularly common failure); Dodge Ram and Durango; Chevrolet Silverado and Tahoe; Toyota Tacoma, Tundra, and 4Runner; Honda Accord and Ridgeline; Jeep Grand Cherokee; BMW 3 Series, 5 Series, and X5; Mercedes-Benz M-Class and E-Class; and many other domestic and import applications.",qualitySection:"Every used exhaust manifold is inspected visually and with a dye penetrant for cracks at the mounting flanges, between ports, and around the collector junction — the highest-stress areas. Manifold flanges are checked for flatness and thread condition on the mounting studs. Heat shield mounting points are verified. Only manifolds passing dye-penetrant and visual inspection are listed.",shippingNote:"Exhaust manifolds ship within 24–48 hours in heavy-duty packaging. Heat shield hardware is included where available. Most arrive within 2–5 business days.",faqs:[{q:"Can a cracked exhaust manifold be welded instead of replaced?",a:"Cast-iron manifold welding is possible but requires specialized welding technique and pre-heating to prevent additional cracking during the weld. Results can be temporary due to continued thermal cycling. For tubular steel manifolds, welding is more reliable. For most applications, replacement with a quality used manifold is more cost-effective and permanent."},{q:"Do I need to replace the manifold studs when installing a used exhaust manifold?",a:"Yes — exhaust manifold studs are one-time-use fasteners on most applications, as heat-cycling stretches and corrodes them. Always install new studs and nuts. Seized studs that break in the head require extraction — a labor-intensive repair that is worth preventing."},{q:"What gaskets do I need for exhaust manifold installation?",a:"New exhaust manifold gaskets are required for every installation. OEM or premium-brand gaskets are strongly recommended — economy manifold gaskets often fail prematurely in this high-heat application. New exhaust pipe gaskets or flange bolts may also be needed."},{q:"Will a used exhaust manifold trigger my oxygen sensor codes?",a:"A crack-free, properly sealed exhaust manifold should not trigger oxygen sensor codes. Our inspection process specifically targets cracks that would allow air intrusion — the primary cause of false lean readings at the upstream O2 sensor. Confirmed crack-free manifolds restore proper O2 sensor function."}],topMakes:["Ford","Dodge","Chevrolet","Toyota","Honda","Jeep","BMW","Mercedes-Benz","GMC","Ram"],badges:["Dye-Penetrant Tested","Flange Flatness Checked","Stud Threads Verified","Up to 5-Yr Warranty"],keywords:"used exhaust manifold, exhaust manifold for sale, used exhaust manifold near me, exhaust manifold replacement, cheap exhaust manifold, cracked exhaust manifold replacement",metaTitle:"Buy Used Exhaust Manifolds for Sale | Crack-Inspected OEM Units",metaDescription:"Used exhaust manifolds — crack-inspected, mating surface flatness & stud condition verified. Fix exhaust leaks & rattles. Fits Ford, Chevy, Dodge, Toyota & more. Free shipping."},{slug:"egr-valve",name:"EGR Valve",plural:"EGR Valves",category:"Cooling & Fuel",priceMin:39,priceMax:249,h1:"Used EGR Valves for Sale",tagline:"Cleaned and flow-tested EGR valves — pass emissions, clear the codes",intro:"A failed EGR valve triggers check engine codes, fails emissions tests, and can cause rough idle, surging, and engine ping from detonation. New OEM EGR valves are often expensive for diesel and European applications. Our used EGR valves are ultrasonically cleaned, flow-tested for proper valve travel, and verified for c
190orrect electrical function — so you can clear the codes and pass inspection without overspending.",aboutSection:"The exhaust gas recirculation (EGR) valve recirculates a controlled portion of exhaust gases back into the intake manifold, diluting the incoming air charge to reduce peak combustion temperatures and lower nitrogen oxide (NOx) emissions. EGR valves fail from carbon buildup that prevents the valve from opening or closing fully — a stuck-open valve causes rough idle and rich running; a stuck-closed valve causes detonation, overheating, and emissions failure. Electronic EGR valves are also subject to actuator and position sensor failure.",compatSection:"We stock used EGR valves for Ford F-150 through F-350 and Power Stroke diesel; Chevrolet Silverado and Colorado with both gas and Duramax diesel engines; Dodge Ram and Cummins diesel applications; Toyota Tacoma, Tundra, and 4Runner; Honda Accord and CR-V; Nissan Frontier and Titan; BMW 3 Series and 5 Series diesel; Volkswagen TDI diesel; and many European and import passenger car applications.",qualitySection:"Every used EGR valve is disassembled, ultrasonically cleaned to remove carbon deposits, and reassembled before listing. Valve travel is tested electrically to verify smooth, full range of motion. Position sensor output is measured across the operating range. Valve seat sealing is verified by pressurizing the valve in the closed position.",shippingNote:"EGR valves ship within 24 hours in static-safe packaging. Most arrive within 2–4 business days. New gasket is included when available for your application.",faqs:[{q:"Is it worth replacing an EGR valve on a high-mileage vehicle?",a:"Yes — EGR valve replacement often costs much less than the vehicle devaluation from an open check engine light or a failed emissions test. A quality cleaned and tested used EGR valve is a cost-effective fix that clears the code and restores proper engine function."},{q:"Can I just clean my EGR valve instead of replacing it?",a:"Cleaning is worth attempting on early-stage carbon buildup. However, severe carbon accumulation, damaged valve seats, or failed position sensors cannot be remedied by cleaning alone. If your valve shows external damage or electrical faults, a replacement is more reliable."},{q:"What codes does a failed EGR valve set?",a:"Common codes include P0400 (EGR flow insufficient), P0401 (EGR flow insufficient detected), P0402 (EGR excessive flow), P0404 (EGR circuit range/performance), and P0405/P0406 (EGR position sensor circuit). Diesel applications may also set NOx sensor codes related to EGR malfunction."},{q:"Does my vehicle require an EGR delete if I'm racing or off-road only?",a:"We supply only street-legal replacement EGR valves for street-registered vehicles. EGR systems are federally mandated emissions equipment on all street-legal vehicles — removal or defeat devices are illegal for road use in all 50 states."}],topMakes:["Ford","Chevrolet","Dodge","Toyota","Honda","Nissan","BMW","Volkswagen","GMC","Ram"],badges:["Ultrasonic Cleaned","Flow Tested","Sensor Verified","Up to 5-Yr Warranty"],keywords:"used EGR valve, EGR valve for sale, EGR valve replacement, cheap EGR valve, used EGR valve near me, buy EGR valve",metaTitle:"Buy Used EGR Valves for Sale | Cleaned, Tested & P0400 Code Ready",metaDescription:"Used EGR valves — electronically actuated & flow-tested, carbon-cleaned before shipping. Fix P0400–P0408 co
190des. Fits Toyota, Ford, Chevy, Dodge, Honda & more. Free shipping."},{slug:"mass-air-flow-sensor",name:"Mass Air Flow Sensor",plural:"Mass Air Flow Sensors",category:"Electrical",priceMin:49,priceMax:299,h1:"Used Mass Air Flow Sensors for Sale",tagline:"Output-verified MAF sensors — restore fuel trim and driveability",intro:"A contaminated or failed mass air flow sensor throws your engine's fuel calibration off, causing poor fuel economy, hesitation, rough idle, black smoke, and a check engine light. New OEM MAF sensors can be expensive — especially for European and diesel applications — but our used sensors are output-tested with a live data scanner, cleaned, and verified for accuracy so you can restore precise air measurement without paying dealer prices.",aboutSection:"The mass air flow (MAF) sensor measures the volume and density of air entering the engine so the ECU can calculate the exact fuel injection duration needed for the correct air-fuel ratio. Hot-wire MAF sensors use a heated wire whose cooling rate correlates to airflow — contamination from oil mist, dust, or improper intake work causes the wire to read low, causing the ECU to run the engine lean (or rich, depending on design). Symptoms include code P0100–P0103, hesitation on acceleration, long-term fuel trim deviations of more than ±10%, and in severe cases, stalling at idle.",compatSection:"We stock used MAF sensors for Toyota Camry, Corolla, Tundra, and Sequoia; Honda Accord and CR-V; Ford F-150 with 5.0L and EcoBoost engines; Chevrolet Silverado and Impala; BMW 3 Series, 5 Series, and X5 with N52 and N54 engines; Mercedes-Benz E-Class and M-Class; Volkswagen Golf, Jetta, and Passat TDI; Nissan Altima and Pathfinder; Subaru Forester and Outback; and many other domestic and import applications.",qualitySection:"Every used MAF sensor is cleaned with MAF-safe spray cleaner and tested using a live data scanner while simulating known airflow. Output voltage or frequency is measured at known RPM and compared against OEM published data tables. Sensors showing more than 5% deviation from published values are rejected. Connector and wiring harness integrity is verified.",shippingNote:"MAF sensors ship in static-protective packaging within 24 hours. Most arrive within 2–4 business days. Clean installation instructions are included.",faqs:[{q:"Can I clean my MAF sensor instead of replacing it?",a:"Yes, if the sensor wire is contaminated but undamaged, MAF-specific cleaning spray can often restore output. However, if the sensor wire is broken, burned, or if the housing is cracked, replacement is necessary. Our used sensors are pre-cleaned and output-verified, so they represent a reliable step up from DIY cleaning of a marginal sensor."},{q:"How do I tell if my MAF or oxygen sensor is causing my fuel trim issues?",a:"Long-term fuel trim codes combined with a MAF-specific code (P0100-P0103) point to the MAF. O2 sensor codes (P0131, P0171) without MAF codes more often indicate an O2 sensor or vacuum leak. A scan tool showing actual MAF gram-per-second output versus expected values at idle and under load is the definitive test."},{q:"Do I need to reset the ECU after installing a used MAF sensor?",a:"Yes — clearing fuel trim adaptations with a scan tool after installation allows the ECU to relearn the correct fuel map with the new sensor's specific output characteristics. Running for a few drive cycles before evaluating driveability is also recommended."},{q:"Will an aftermarket MAF sensor work as well as an OEM used unit?",a:"OEM MAF sensors are calibrated to the engine's specific airflow curve. Many aftermarket units have calibration variations that cause fuel trim issues even when new. A quality used OEM sensor with verified output is often more reliable than a cheap new aftermarket unit."}],topMakes:["Toyota","Honda","Ford","Chevrolet","BMW","Mercedes-Benz","Volkswagen","Nissan","Subaru","GM"],badges:["Output Verified","Pre-Cleaned","Live Data Tested","Up to 5-Yr Warranty"],keywords:"used mass air flow sensor, used MAF sensor for sale, MAF sensor replacement, cheap MAF sensor, buy MAF sensor used, mass airflow sensor near me",metaTitle:"Buy Used Mass Air Flow Sensors for Sale | Output-Verified MAF Sensors",metaDescription:"Used MAF sensors — output signal & frequency verified, housing & connector inspected. Fix P0100–P0104 codes & rough idle. Fits Toyota, Honda, Ford, GM, BMW & more. Free shipping."},{slug:"throttle-body",name:"Throttle Body",plural:"Throttle Bodies",category:"Electrical",priceMin:59,priceMax:349,h1:"Used Throttle Bodies for Sale",tagline:"Cleaned and TP
190S-tested throttle bodies — restore smooth throttle response",intro:"A dirty, stuck, or failed throttle body causes rough idle, hesitation, stumbling on acceleration, and high or erratic idle speed. On drive-by-wire (electronic) throttle bodies, a failed TPS or motor can trigger limp mode. Our used throttle bodies are ultrasonically cleaned, throttle plate and bore inspected, and TPS sweep-tested so you get smooth, predictable throttle response from the moment of installation.",aboutSection:"The throttle body is the air metering valve between the air filter and intake manifold, controlling the volume of air entering the engine based on accelerator pedal input. On traditional cable-throttle systems, a mechanical cable opens the throttle plate. On electronic throttle control (ETC or drive-by-wire) systems, the throttle body contains a DC motor and throttle position sensor (TPS) that respond to accelerator pedal sensor signals. Throttle body failure on ETC systems can cause codes P2100–P2119 (throttle actuator circuit), P0121–P0123 (TPS range), and unexpected limp mode activation.",compatSection:"We carry used throttle bodies for Toyota Camry, Corolla, Tacoma, Tundra, and Lexus IS/ES/GS; Honda Accord, CR-V, and Odyssey; Ford F-150 EcoBoost and 5.0L, Mustang, and Focus; Chevrolet Silverado, Malibu, and Equinox; BMW 3 Series, X3, and X5; Mercedes-Benz C and E-Class; Volkswagen Golf and Jetta 2.0T; Dodge Challenger and Charger with HEMI; Jeep Wrangler and Grand Cherokee; and many more domestic and import applications.",qualitySection:"Each used throttle body is disassembled, ultrasonically cleaned to remove all carbon deposits from the bore and throttle plate sealing surface, and reassembled. TPS sensor output is swept from fully closed to fully open and back, measuring voltage linearity at 5-degree increments. The throttle motor is tested for smooth, full range of motion and correct current draw. Bore integrity and plate seal are verified.",shippingNote:"Throttle bodies ship within 24 hours in protective packaging. Most arrive within 2–4 business days. Electronic throttle bodies ship in static-protective material.",faqs:[{q:"Does an electronic throttle body need to be relearned after installation?",a:"Yes — virtually all electronic throttle bodies require a throttle body relearn procedure after installation. This can be performed with a scan tool or, on some vehicles, by following a key-on/engine-off procedure described in the service manual. Skipping this step causes idle quality issues and possible throttle codes."},{q:"What is the difference between cleaning and replacing a throttle body?",a:"Cleaning with throttle body cleaner spray is effective for minor carbon deposits and often resolves rough idle symptoms. However, a failed TPS sensor, worn throttle plate shaft bushings, or damaged motor cannot be fixed by cleaning. Our used throttle bodies are cleaned AND electrically verified, addressing both contamination and component integrity."},{q:"Should I replace the throttle body gasket when installing a used unit?",a:"Yes — always install a new throttle body gasket. The gasket seals the throttle body to the intake manifold and a leak causes a vacuum leak that affects idle quality and fuel trim. New gaskets are inexpensive and available at any parts store."},{q:"My vehicle has a cable throttle. Can I still use a drive-by-wire throttle body?",a:"No — cable and drive-by-wire throttle systems are not interchangeable. They use different ECU calibrations and pedal sensors. Always replace with the same system type as your vehicle came with. We carry both types."}],topMakes:["Toyota","Honda","Ford","Chevrolet","BMW","Mercedes-Benz","Volkswagen","Dodge","Jeep","Lexus"],badges:["Ultrasonic Cleaned","TPS Sweep Tested","Motor Current Verified","Up to 5-Yr Warranty"],keywords:"used throttle body, throttle body for sale, used throttle body near me, throttle body replacement, cheap throttle body, electronic throttle body used",metaTitle:"Buy Used Throttle Bodies for Sale | Cleaned, Calibrated & Tested",metaDescription:"Used throttle bodies — plate movement, TPS signal & motor function tested, carbon-cleaned. Fix rough idle & codes. Fits Toyota, Honda, Ford, Chevy, BMW & more. Free shipping."},{slug:"abs-module",name:"ABS Module",plural:"ABS Modules",category:"Electrical",priceMin:99,priceMax:599,h1:"Used ABS Modules for Sale",tagline:"Fault-free used ABS control modules — restore anti-lock braking safely",intro:"A failed ABS module disables your anti-lock braking system and triggers the ABS warning light — in many vehicles, it also disables traction control and stability control systems. New OEM ABS modules can run $500 to $1,500, but our used units are sourced from non-accident vehicles, fault-code scanned, and communication-tested so you can restore full braking safety without the high new-part cost.",aboutSection:"The ABS control module (also called the EBCM — Electronic Brake Control Module) monitors wheel speed sensor inputs and modulates brake pressure at individual wheels to prevent lockup during emergency braking. It communicates with the engine control system to enable traction control (TC) and electronic stability control (ESC). When the module fails internally — from moisture intrusion, capacitor failure, or physical damage to the circuit board — it sets ABS codes and disables the entire system. The hydraulic control unit (HCU) is often a separate component, though some designs integrate both into a single assembly.",compatSection:"We stock used ABS modules for Ford F-150, Explorer, and Mustang; Chevrolet Silverado, Tahoe, and Impala; Dodge Ram, Durango, and Charger; Jeep Wrangler, Grand Cherokee, and Cherokee; GMC Sierra and Yukon; Toyota Camry, Tacoma, and 4Runner; Honda Accord, CR-V, and Pilot; Nissan Altima, Pathfinder, and Titan; BMW 3 Series and 5 Series; Mercedes-Benz E-Class and ML-Class; and many more domestic and import vehicles.",qualitySection:"Every used ABS module is connected to a bi-directional scan tool for a full ABS module communication test, fault co
190de scan, and active command verification. Wheel speed sensor input simulation is performed to verify the module responds correctly to all four channels. The module connector is inspected for corrosion and damage. Modules with pending or stored codes related to internal module faults are rejected.",shippingNote:"ABS modules ship in static-protective packaging within 24–48 hours. Most arrive within 2–5 business days. Calibration instructions for your specific vehicle are provided upon request.",faqs:[{q:"Does a used ABS module need to be programmed to my vehicle?",a:"This depends on the vehicle. Most ABS modules are plug-and-play on the same vehicle generation (same platform, same VIN-class). Some BMW, Mercedes-Benz, and late-model GM vehicles require module-to-VIN programming by a dealer or shop with the appropriate programming interface. Our team will advise on programming requirements for your specific application before you order."},{q:"What is the difference between the ABS module and the ABS pump/HCU?",a:"The ABS module (EBCM) is the electronic control unit — the computer. The HCU (hydraulic control unit) is the electro-hydraulic pump and solenoid valve assembly that physically modulates brake pressure. Some vehicles bolt these together as one assembly (module + HCU). We carry both separate modules and combined module/HCU assemblies."},{q:"My ABS light is on but brakes feel fine. Do I need to fix it?",a:"While basic brake function is maintained with a failed ABS module, you lose anti-lock protection, traction control, and stability control — safety systems that are critical in emergency situations. Many states also flag ABS warning lights during safety inspections. Addressing the failure is important for both safety and inspection purposes."},{q:"Can module corrosion be repaired instead of replacing the unit?",a:"Some ABS module circuit board repairs are possible — particularly capacitor replacement on known failure modes (common on certain GM and Dodge applications). However, module repair requires specialized electronics knowledge and equipment. A quality used replacement is often the most reliable and cost-effective solution."}],topMakes:["Ford","Chevrolet","Dodge","Jeep","GMC","Toyota","Honda","Nissan","BMW","Mercedes-Benz"],badges:["Fault-Code Scanned","Communication Tested","All 4 Channels Verified","Up to 5-Yr Warranty"],keywords:"used ABS module, used ABS control module for sale, ABS module replacement, cheap ABS module, used ABS pump module, EBCM for sale",metaTitle:"Buy Used ABS Modules for Sale | Tested EBCM & ABS Pump Units",metaDescription:"Used ABS control modules — actuator, solenoid & pump motor tested, plug-and-play ready. Fix ABS & traction control lights. Fits Ford, Chevy, Dodge, Toyota & more. Free shipping."},{slug:"ecu-pcm",name:"ECU / PCM",plural:"ECUs / PCMs",category:"Electrical",priceMin:99,priceMax:799,h1:"Used ECU / PCM for Sale",tagline:"Verified used engine control modules — correct part number, fault-free",intro:"The ECU or PCM is the command center of your vehicle's powertrain — when it fails, symptoms range from intermittent no-start and bizarre drivability issues to permanent engine shutdown. New OEM control modules can cost $500 to $2,000 and require dealer programming. Our used ECUs and PCMs are part-number matched, fault-code verified, and flash-compatibility confirmed so you get a solid foundation for your vehicle's brain at a fraction of the new price.",aboutSection:"The Engine Control Unit (ECU) or Powertrain Control Module (PCM) is the primary computer that manages fuel injection, ignition timing, idle control, EVAP system, emission controls, and transmission operation (on integrated PCMs). It receives input from dozens of sensors and produces output to actuators in real time — managing thousands of calculations per second. ECU/PCM failure can result from moisture intrusion, voltage spike damage, software corruption, or simply age-related component failure of internal capacitors or processors. Symptoms include no-start, random misfires, failure to communicate on OBD-II, and codes referencing module internal errors.",compatSection:"We carry used ECUs and PCMs for Ford F-150, Mustang, Explorer, and Fusion; Chevrolet Silverado, Camaro, and Malibu; Dodge Ram, Charger, and Challenger; Jeep Grand Cherokee and Wrangler; GMC Sierra and Canyon; Toyota Camry, Tacoma, and Tundra; Honda Accord, Civic, and CR-V; Nissan Altima and Frontier; BMW 3 Series, X5, and M3; Mercedes-Benz C-Class and E-Class; and many other domestic and import platforms.",qualitySection:"Every used ECU/PCM is scanned with a full bi-directional scan tool for stored and pending codes, module communication errors, and internal processor test results. Part number is verified against the application record and cross-referenced for software version compatibility. Connector pins are inspected under magnification for corrosion, bent pins, and damage. Modules with internal hardware fault co
190des are immediately rejected.",shippingNote:"ECUs and PCMs ship in static-protective, anti-shock packaging within 24–48 hours. Programming instructions and dealer contact guidance are provided with each unit.",faqs:[{q:"Will a used ECU/PCM need to be programmed to my vehicle?",a:"In most cases, yes — control modules must be VIN-programmed to your specific vehicle by a dealership or a shop with the manufacturer's programming interface (such as Ford IDS, GM Tech2/GDS2, or Chrysler StarSCAN). Some older vehicles are completely plug-and-play. Our team will advise you on the programming requirement before you order and can often recommend a local programmer in your area."},{q:"What is the difference between a PCM, ECM, and ECU?",a:"These terms are often used interchangeably. An ECU (Engine Control Unit) or ECM (Engine Control Module) focuses on engine management. A PCM (Powertrain Control Module) integrates both engine and transmission control in a single unit — common on domestic vehicles since the mid-1990s. Most of what we sell are PCMs or integrated ECM/TCMs."},{q:"Can a bad ECU cause a no-start without any warning?",a:"Yes — an ECU that fails internally can cause a sudden no-start with no prior warning codes. The OBD-II port may show no communication at all, or may communicate on some modules but not others (depending on how the internal failure occurred). A known-good scan tool and a communication test are the first diagnostic steps."},{q:"How do I match the correct used ECU to my vehicle?",a:"Provide us with your complete VIN, the exact part number from your current ECU (printed on a label on the unit), and your vehicle's options (transmission type, engine size, emission calibration). We cross-reference all three to confirm software and hardware compatibility before shipping."}],topMakes:["Ford","Chevrolet","Dodge","Jeep","GMC","Toyota","Honda","Nissan","BMW","Mercedes-Benz"],badges:["Part# Verified","Fault-Code Scanned","Communication Tested","Up to 5-Yr Warranty"],keywords:"used ECU, used PCM, used engine control module, used ECM for sale, used powertrain control module, PCM replacement, cheap ECU near me",metaTitle:"Buy Used ECU & PCM for Sale | VIN-Matched Engine Computers",metaDescription:"Used ECU/PCM engine computers — VIN-matched, bench communication-tested. Restore driveability & fix P-codes. Fits Ford, Chevy, Dodge, Toyota, Honda & more. Free shipping."},{slug:"front-axle",name:"Front Axle",plural:"Front Axles",category:"Drivetrain",priceMin:149,priceMax:899,h1:"Used Front Axles for Sale",tagline:"Complete front axle assemblies for FWD and 4WD vehicles — inspected and warrantied",intro:"A clicking, vibrating, or binding front axle shaft makes every turn a reminder that something is wrong. Whether you need a complete front axle assembly for a 4WD truck or individual front half-shafts for a front-wheel-drive car, our used front axles are shaft-inspected, joint-tested, and boot-integrity checked so you can restore smooth, confident power delivery from front wheel to front wheel.",aboutSection:"Front axle assemblies perform two critical functions: transferring power from the differential or transaxle to the front wheels, and accommodating the constant up-and-down suspension travel and steering articulation. On FWD and AWD cars, this means CV (constant velocity) axle shafts with inner and outer CV joints. On solid-front-axle trucks (Jeep Wrangler, Ford Super Duty, older Ram HD), this means an entire axle housing with kingpins or ball joints, a differential, and full-float or semi-float axle shafts. CV joint failure is characterized by clicking sounds on turns (outer joint) or clunking during acceleration (inner joint).",compatSection:"We carry used front axle assemblies and front half-shaft assemblies for Jeep Wrangler and Grand Cherokee (solid front Dana 30 and Dana 44); Ford Super Duty F-250 and F-350 with front Dana 60; Toyota Tacoma and 4Runner front differential assemblies; Dodge Ram 2500 and 3500 front axle assemblies; and individual front CV axle shafts for Toyota Camry, Honda Accord, Ford Escape, Chevrolet Equinox, Nissan Altima, Subaru Outback, and hundreds of other FWD and AWD applications.",qualitySection:"Each used front axle or half-shaft is inspected for shaft straightness, inner and outer CV joint play and smoothness, spline wear, and boot integrity. Complete solid-axle assemblies are checked for differential gear condition, bearing play, and pinion shaft seal condition. Joint play is measured with the shaft secured and both inner and outer joints articulated through their full range of motion.",shippingNote:"Front axle shafts (half-shafts) ship within 24 hours via ground parcel. Complete solid-axle assemblies ship freight. Most orders arrive within 2–5 business days.",faqs:[{q:"How do I know if I need a front axle shaft or the complete front axle assembly?",a:"FWD and AWD cars use individual half-shaft CV axles — typically only one side fails and only that shaft needs replacement. 4WD trucks with solid front axles may need the complete housing if the differential or internal bearings have failed. Clicking on turns = CV joints on a half-shaft. Grinding, whining, or binding during 4WD engagement often = the solid axle or its differential."}
190,{q:"Do I need to match the axle ratio on a solid front axle replacement?",a:"Yes. The front and rear axle gear ratios on a 4WD vehicle must match. An incorrect ratio causes drivetrain windup and binding in 4WD mode, which damages transfer case and axle components."},{q:"Are front CV axle shafts interchangeable between different vehicles?",a:"Generally, no. CV axle shafts are vehicle-specific due to differences in inner joint spline count, outer joint spline count, shaft diameter, and overall length. We cross-reference the part number and vehicle application for every order."},{q:"Do used front axle assemblies come with differential fluid?",a:"Solid-axle housings are shipped without fluid (drained for safe transport) and should be filled with the manufacturer-specified gear oil before installation. We include a spec sheet with fluid type and quantity for your application."}],topMakes:["Jeep","Ford","Toyota","Dodge","Ram","Honda","Chevrolet","Subaru","Nissan","GMC"],badges:["CV Joint Tested","Boot Integrity Checked","Spline Condition Verified","Up to 5-Yr Warranty"],keywords:"used front axle, used front axle assembly for sale, front axle replacement, used front CV axle, cheap front axle, front axle shaft near me",metaTitle:"Buy Used Front Axles for Sale | CV & Solid Front Axle Shafts",metaDescription:"Used front axles — shaft straightness, CV joint play & boot integrity inspected. Fits Ford, Chevy, Dodge, Jeep, Toyota, Nissan & more. Free shipping, up to 5-yr warranty."},{slug:"rear-axle",name:"Rear Axle",plural:"Rear Axles",category:"Drivetrain",priceMin:149,priceMax:899,h1:"Used Rear Axles for Sale",tagline:"Inspected rear axle assemblies for trucks, SUVs & cars — ship nationwide",intro:"A worn or failed rear axle assembly — whether a solid-axle housing for a truck or individual rear half-shafts on an independent suspension vehicle — affects handling, traction, and drivetrain integrity. Our used rear axle assemblies are gear-inspected, bearing-checked, and seal-verified so you get a trustworthy foundation for your rear drivetrain without overpaying for a complete new build.",aboutSection:"The rear axle assembly transfers power from the driveshaft and differential to the rear wheels. On rear-wheel-drive and 4WD trucks, a solid rear axle housing contains the differential, ring-and-pinion gears, carrier bearings, and rear axle shafts in a single unit. Independent rear suspension (IRS) vehicles — most modern cars and crossovers — use individual rear half-shaft assemblies with CV joints. Rear axle failure on solid-axle trucks presents as whining (bearing or gear wear), howling that changes with load, or clunking on acceleration (excessive backlash from gear wear).",compatSection:'We stock complete used rear axle assemblies for Ford F-150 (8.8" and 9.75" rear ends); Ford Super Duty (Dana 70 and 80); Chevrolet Silverado (GM 10-bolt and 14-bolt); Dodge Ram (Dana 60 and 70); Jeep Wrangler and Cherokee (Dana 35 and 44); GMC Sierra and Yukon (AAM 11.5"); Toyota Tacoma and Tundra (7.5", 8", and 9.5" rear ends); Nissan Frontier and Titan; and individual rear CV axle shafts for FWD and AWD cars from Honda, Toyota, Subaru, Nissan, BMW, Mercedes-Benz, and Audi.',qualitySection:"Complete rear axle assemblies are cleaned, drained, and inspected internally through the differential cover. Ring-and-pinion tooth contact pattern is evaluated, carrier bearing play is measured, and pinion bearing preload is assessed. The axle ratio is verified against the tag and application record. Individual rear half-shafts are checked for CV joint play, boot integrity, and shaft straightness.",shippingNote:"Complete rear axle housings ship freight with secure skid packaging. Individual rear half-shafts ship ground parcel within 24 hours. Most freight shipments arrive within 3–6 business days.",faqs:[{q:"What rear axle ratio does my vehicle have?",a:"The axle ratio is stamped on a tag typically attached to the differential cover or axle housing. You can also decode it from your vehicle's door jamb sticker (on many domestic trucks) or confirm via VIN. Common ratios for full-size trucks range from 3.31 to 4.10:1."},{q:"Can I upgrade to a stronger rear axle from a higher-capacity trim?",a:'Yes — this is common for towing and off-road builds. For example, upgrading from a Ford 8.8" to a 9.75" rear end, or from a GM 10-bolt to a 14-bolt. Gear ratio matching and brake system compatibility are the main considerations. Our team can advise on upgrade options.'},{q:"Do I need to have a used rear axle assembly professionally installed?",a:"Complete solid-axle swaps on trucks are advanced work requiring proper shimming, backlash measurement, and brake bleeding. Most customers use a professional shop. Individual rear half-shaft replacement is 
190within reach of an experienced DIYer with basic tools and a torque wrench."},{q:"Will a used rear axle assembly come with a limited-slip differential?",a:"If the donor vehicle had a limited-slip or locking differential, the housing will include it. Our listings specify whether the unit contains open, limited-slip, or locking differential carriers. Limited-slip units are noted and often priced at a premium."}],topMakes:["Ford","Chevrolet","Dodge","Ram","Jeep","Toyota","GMC","Nissan","Honda","Subaru"],badges:["Ratio Verified","Ring & Pinion Inspected","Bearing Play Measured","Up to 5-Yr Warranty"],keywords:"used rear axle, used rear axle assembly for sale, rear axle replacement, used rear axle near me, cheap rear axle, rear differential axle housing",metaTitle:"Buy Used Rear Axles for Sale | Complete Housing & Shaft Assemblies",metaDescription:"Used rear axle assemblies — bearing, seal & shaft condition inspected, ratio verified. Fits Ford, Chevy, Dodge, Jeep, Toyota, Nissan & more. Free shipping, up to 5-yr warranty."},{slug:"cv-axle",name:"CV Axle",plural:"CV Axles",category:"Drivetrain",priceMin:59,priceMax:349,h1:"Used CV Axles for Sale",tagline:"Joint-inspected CV axle shafts — stop the clicking, restore smooth drive",intro:"That clicking or clunking sound when you turn or accelerate is a classic CV axle failure — and ignoring it long enough leads to a seized joint and a tow truck. Our used CV axle shafts are inner and outer CV joint inspected, boot integrity verified, and shaft-straightness checked so you can stop the noise and restore reliable power transfer without paying new-part prices.",aboutSection:"CV (constant velocity) axle shafts transmit power from the transaxle differential to the drive wheels on front-wheel-drive, all-wheel-drive, and independent rear suspension vehicles. They use CV joints at both the inner and outer ends to maintain constant rotational speed despite changes in suspension height and steering angle. The outer CV joint typically fails first, producing a rhythmic clicking sound while turning under power. Inner CV joint failure causes clunking during straight-ahead acceleration. Torn CV boots are the leading cause of premature joint failure — once the grease escapes and dirt enters, the joint quickly wears.",compatSection:"Our used CV axle inventory covers Toyota Camry, Corolla, RAV4, and Highlander; Honda Accord, Civic, CR-V, and Odyssey; Ford Focus, Escape, and Fusion; Chevrolet Equinox, Malibu, and Sonic; Nissan Altima, Sentra, and Rogue; Subaru Impreza, Forester, and Outback; Hyundai Sonata, Tucson, and Santa Fe; Kia Optima and Sportage; Dodge Avenger and Journey; Volkswagen Jetta and Golf; BMW FWD and AWD xDrive shafts; and virtually every other FWD and AWD passenger car application.",qualitySection:"Every used CV axle shaft is inspected with the boot removed for inner and outer joint play, smoothness of rotation, and grease condition. The shaft is checked for straightness (a bent shaft causes vibration at speed). Spline condition at both inner and outer ends is verified. Boots are inspected for integrity — we replace any boot showing cracking or damage before shipping and repack the joint with fresh grease.",shippingNote:"CV axle shafts ship within 24 hours, typically in pairs or individually via ground parcel. New inner and outer boot clamps are included. Most arrive within 2–4 business days.",faqs:[{q:"Should I replace both CV axles if only one is clicking?",a:"It's not required, but many mechanics recommend it for symmetrical repair and to avoid a second repair soon after. Both axles have equal mileage and wear conditions. Whether to replace one or both is a personal and budget decision. We sell individual shafts so you can decide what makes sense."},{q:"Is it safe to drive with a torn CV boot?",a:"A torn boot alone (no clicking yet) means grease is escaping and contamination is entering the joint. The joint will begin to fail within weeks to months of normal driving. Driving with active clicking risks the outer joint failing completely at speed — potentially leaving you without steering control. Address it promptly."},{q:"What is the difference between a 'used' and 'remanufactured' CV axle?",a:"A used CV axle is an OEM unit removed from a vehicle with relatively low mileage and inspected for remaining service life. A remanufactured axle is typically a rebuilt unit using recycled components — quality varies significantly by rebuilder. OEM used units often deliver better real-world reliability than budget remans."},{q:"How long does CV axle replacement take?",a:"On a typical FWD vehicle, one CV axle replacement takes 1–2 hours for an experienced mechanic. AWD or 4WD vehicles may require additional steps to access the inner joint at the transfer case or rear differential. DIY installation is feasible with basic tools including a ball joint separator and hub puller."}],topMakes:["Toyota","Honda","Ford","Chevrolet","Nissan","Subaru","Hyundai","Kia","Dodge","Volkswagen"],badges:["Joint Play Inspected","Boot Integrity Checked","Fresh Grease Packed","Up to 5-Yr Warranty"],keywords:"used CV axle, used CV shaft for sale, CV axle replacement, cheap CV axle, used CV joint axle near me, buy used CV axle shaft",metaTitle:"Buy Used CV Axles for Sale | Low-Mile Half-Shaft Replacements",metaDescription:"Used CV axles — inner & outer joint play tested, boot integrity & spline condition inspected. Fix clicking on turns. Fits Honda, Toyota, Ford, Chevy, Subaru & more. Free shipping."},{slug:"driveshaft",name:"Driveshaft",plural:"Driveshafts",category:"Drivetrain",priceMin:99,priceMax:599,h1:"Used Driveshafts for Sale",tagline:"Balance-tested used driveshafts — smooth power delivery, free shipping",intro:"A vibration that intensifies with speed — especially between 45 and 65 mph — is the signature symptom of a failing driveshaft, whether from a worn U-joint, an out-of-balance tube, or a failed center support bearing. Our used driveshafts are U-joint inspected, balance-verified, and tube-straightness checked so you can eliminate the shake and restore smooth power delivery at a fraction of the cost of a new replacement.",aboutSection:"The driveshaft (also called a propeller shaft or prop shaft) transfers rotational power from the transmission or transfer case to the rear differential on RWD and 4WD vehicles. Two-piece driveshafts on longer vehicles use a center support bearing that is a common wear point. Universal joints (U-joints) at each end of the shaft accommodate the angle between transmission output and differential pinion. U-joint failure causes a clunking noise at the transition between acceleration and deceleration and eventually a grinding vibration. Aluminum driveshafts common on modern trucks are also prone to end-yoke corrosion that disrupts balance.",compatSection:"We stock used driveshafts for Ford F-150 through F-450 (two-piece with carrier bearing); Chevrolet Silverado and Colorado; Dodge Ram 1500 through 3500; Jeep Wrangler (front and rear); Toyota Tacoma and Tundra; GMC Sierra and Canyon; Nissan Frontier, Titan, and Xterra; Subaru Legacy and Outback AWD rear shafts; BMW E46, E90, and F30 propeller shafts; and many domestic and import car and SUV rear driveshafts.",qualitySection:"Every used driveshaft is inspected for U-joint play (both axes, all ends), tube straightness using a dial indicator on a V-block, and end-yoke wear. Two-piece shafts are tested for center bearing play and rubber isolator condition. We balance-test driveshafts on our dynamic balancer and add weights as needed to bring them within 0.5 oz-in of OEM specification before shipping.",shippingNote:"Driveshafts ship in protective tube packaging within 24–48 hours. Most arrive within 2–5 business days via ground parcel or freight depending on length.",faqs:[{q:"How do I know if my vibration is from the driveshaft vs. tires or wheels?",a:"Driveshaft vibration is typically load-sensitive — it intensifies during acceleration and diminishes when coasting. Tire/wheel imbalance vibration is more consistent at a given speed regardless of throttle position. A clunk when transitioning between acceleration and deceleration points strongly to the U-joints."},{q:"Should I replace all U-joints when I install a used driveshaft?",a:"Our used driveshafts include inspected U-joints. However, if you want maximum peace of mind, having all U-joints replaced at the time of installation is reasonable insurance — U-joint kits are inexpensive. We can note U-joint condition in the listing on request."},{q:"Can a driveshaft be shortened or lengthened for a lifted truck?",a:"Yes — driveshafts can be modified by a driveshaft shop to accommodate lift-kit installation, slip yoke elimination conversions, or custom applications. A used driveshaft is an excellent starting point for this type of modification since the machining cost is the same regardless of the tube's origin."},{q:"Is a one-piece vs. two-piece driveshaft better?",a:"One-piece shafts are generally preferred for their simplicity and lower potential failure points. Two-piece shafts are used on longer wheelbases where a single shaft would have unacceptable critical speed vibration at highway RPM. We carry both configurations for appropriate applications."}],topMakes:["Ford","Chevrolet","Dodge","Ram","Jeep","Toyota","GMC","Nissan","Subaru","BMW"],badges:["U-Joint Inspected","Dynamic Balanced","Tube Straightness Checked","Up to 5-Yr Warranty"],keywords:"used driveshaft, used drive shaft for sale, driveshaft replacement, cheap driveshaft near me, prop shaft for sale, front rear driveshaft used",metaTitle:"Buy Used Driveshafts for Sale | Balanced, U-Joint Inspected",metaDescription:"Used driveshafts — balance, u-joint play, slip yoke & center support bearing inspected. Fits Ford, Chevy, Dodge, Toyota, Nissan & more. Free shipping, up to 5-yr warranty."},{slug:"catalytic-converter",name:"Catalytic Converter",plural:"Catalytic Converters",category:"Cooling & Fuel",priceMin:99,priceMax:799,h1:"Used Catalytic Converters for Sale",tagline:"Flow-tested used catalytic converters — pass emissions, free shipping",intro:"A failed catalytic converter causes rattling, sulfur smell, a glowing red-hot undercarriage, and guaranteed failure at your next emissions test. New OEM converters — especially on trucks, V8s, and European vehicles — can cost $800 to $2,500. Our used catalytic converters are flow-tested for substrate integrity, checked for rattle, and confirmed emissions-compl
190iant so you can pass inspection without the new-part price shock.",aboutSection:"The catalytic converter is mounted in the exhaust system downstream of the exhaust manifold and uses a platinum, palladium, and rhodium catalyst substrate to convert harmful exhaust gases (CO, HC, NOx) into less harmful CO2, H2O, and N2. Converter failure occurs from internal substrate fracture (causing rattle and flow restriction), contamination from coolant leaks or oil consumption, and physical external damage from road hazards. A failed converter can be confirmed with a back-pressure test, an infrared temperature scan (both in and out should read within spec), or by comparison of upstream and downstream O2 sensor activity on a live data scan.",compatSection:"We carry used catalytic converters for Toyota Camry, Tacoma, and 4Runner; Honda Accord and CR-V; Ford F-150 and Mustang with both bank 1 and bank 2 units; Chevrolet Silverado and Equinox; Dodge Ram and Charger; Jeep Grand Cherokee and Wrangler; BMW 3 Series and X5 with manifold-integrated converters; Mercedes-Benz E-Class; Subaru Forester and Outback (known for converter failures from head gasket issues); and many other applications.",qualitySection:"Every used catalytic converter is tapped externally to check for internal substrate rattle, flow-tested with a differential pressure gauge at known airflow to verify substrate condition, and thermally scanned to confirm even heating of the catalyst bed. Oxygen sensor bungs are inspected for thread integrity. We only list converters from engines that did not experience coolant intrusion or heavy oil consumption — the primary causes of substrate contamination.",shippingNote:"Catalytic converters ship in heat-resistant protective packaging within 24–48 hours. Most arrive within 2–5 business days. O2 sensor bungs are included as found on the donor unit.",faqs:[{q:"Will a used catalytic converter pass an emissions test?",a:"Yes — if the converter's substrate is intact and functioning, it will convert exhaust gases just as well as a new unit. Our flow and temp testing confirms the substrate is active. Some states may require a California-certified (CARB) converter for registration renewal after replacement, so check your local regulations."},{q:"How do I know if my catalytic converter has been stolen vs. failed internally?",a:"Theft is external and obvious — your vehicle will suddenly sound like a loud racecar (exhaust roar without a muffler) with no warning. Internal failure is gradual — reduced power, rattling, sulfur smell, and check engine light (P0420/P0430 catalyst efficiency codes). We carry replacement converters for both scenarios."},{q:"What causes catalytic converter substrate failure?",a:"The leading causes are coolant intrusion from a blown head gasket (which poisons the catalyst), heavy oil consumption that coats the substrate, physical impact damage, and running the engine severely rich (from a stuck-open injector or failed MAF) which can melt the substrate. Proper engine maintenance is the best prevention."},{q:"Is a used catalytic converter legal to install on my vehicle?",a:"Federal law allows used OEM catalytic converters to be installed on vehicles of the same year and engine. State laws vary — California and s
190ome other states have stricter requirements. We can advise on applicability for your state and vehicle before ordering."}],topMakes:["Toyota","Honda","Ford","Chevrolet","Dodge","Jeep","BMW","Mercedes-Benz","Subaru","Nissan"],badges:["Flow Tested","Substrate Intact","Rattle Checked","Up to 5-Yr Warranty"],keywords:"used catalytic converter, used cat converter for sale, catalytic converter replacement, cheap catalytic converter, used catalytic converter near me, buy used cat",metaTitle:"Buy Used Catalytic Converters for Sale | OEM Fit, Emissions Ready",metaDescription:"Used catalytic converters — substrate intact, weld & flange condition inspected. Fix P0420 & P0430 codes, pass emissions. Fits Ford, Toyota, Honda, Chevy & more. Free shipping."},{slug:"airbag-module",name:"Airbag Module",plural:"Airbag Modules",category:"Electrical",priceMin:99,priceMax:699,h1:"Used Airbag Modules for Sale",tagline:"Non-deployed SRS modules — fault-code cleared, safety-verified",intro:"After an accident — or sometimes from moisture or electrical fault with no accident at all — the airbag warning light illuminates and your entire supplemental restraint system (SRS) is disabled. New OEM SRS modules can run $400 to $1,500 and require dealer programming. Our used airbag modules are sourced exclusively from non-deployed, non-accident vehicles, fault-code scanned, and communication-tested for safety-critical reliability.",aboutSection:"The airbag control module (also called the SRS module or ACM) monitors the vehicle's accelerometer and impact sensors, and in the event of a collision exceeding the deployment threshold, fires the appropriate airbag inflator circuits. It also manages seatbelt pretensioners and collision warning system outputs on modern vehicles. After any deployment event, the SRS module stores a crash data record that prevents reuse — only modules from vehicles that have never experienced an air bag deployment are acceptable as replacements. Modules also fail from moisture ingress, corrosion of crash data contacts, or software corruption.",compatSection:"We stock used airbag modules for Ford F-150, Explorer, Mustang, and Fusion; Chevrolet Silverado, Tahoe, and Equinox; Dodge Ram, Challenger, and Charger; Jeep Grand Cherokee and Wrangler; GMC Sierra and Acadia; Toyota Camry, Corolla, and RAV4; Honda Accord, CR-V, and Civic; Nissan Altima and Rogue; BMW 3 Series and X5; Mercedes-Benz C-Class and GLE; and many more domestic and import vehicles.",qualitySection:"Every used airbag module is tested with a dealer-grade bi-directional scan tool for stored crash records, deployment history, and communication fault codes. Modules with any stored crash data, pre-deployment events, or internal hardware codes are immediately destroyed — we do not clean or reprogram crashed modules. Only clean, non-deployed modules are listed. Connector pin condition is inspected under magnification for corrosion.",shippingNote:"Airbag modules ship in static-protective, ESD-safe packaging within 24–48 hours. Programming by a dealer or SRS specialist is required for most applications.",faqs:[{q:"Can a used airbag module simply be plugged in, or does it require programming?",a:"Most modern SRS modules require VIN programming to the vehicle by a dealer or SRS specialist. Some older vehicles (pre-2010) may be plug-and-play within the same model year and trim. Our team will advise on your specific application's programming requirements before you order, and can often connect you with a local SRS specialist."},{q:"Is it legal to use a used airbag module?",a:"Yes — using a used OEM airbag module from a non-deployed vehicle is legal and safe. The critical safety requirement is that the module has never experienced a deployment event and contains no stored crash data. Our sourcing and testing process verifies this absolutely."},{q:"What should I do if my airbag light came on after a minor fender-bender?",a:"Even a minor impact can store a crash pre-event record in the SRS module without actually deploying airbags. In this case, the original module often cannot be reused. An SRS specialist can read the module to determine whether it is recoverable or must be replaced."},{q:"Why should I choose a used OEM airbag module over a remanufactured one?",a:"Remanufactured airbag modules are available, but they involve resetting a previously-crashed module's crash data — a practice that carries safety questions. A non-deployed used OEM module has never experienced a crash event, making it the safest and most straightforward replacement option."}],topMakes:["Ford","Chevrolet","Dodge","Jeep","GMC","Toyota","Honda","Nissan","BMW","Mercedes-Benz"],badges:["Non-Deployed Only","Crash Data Verified","Communication Tested","Up to 5-Yr Warranty"],keywords:"used airbag module, used SRS module for sale, airbag control module replacement, cheap airbag module, buy used SRS module, ACM for sale near me",metaTitle:"Buy Used Airbag Modules for Sale | SRS Reset & Bench-Tested",metaDescription:"Used airbag/SRS control modules — crash data cleared, communication & output circuits tested. Fix airbag warning lights. Fits Ford, Honda, Toyota, Chevy & more. Free shipping."},{slug:"instrument-cluster",name:"Instrument Cluster",plural:"Instrument Cluster
190s",category:"Interior & Controls",priceMin:99,priceMax:699,h1:"Used Instrument Clusters for Sale",tagline:"Tested OEM gauge clusters — clear warning lights, restore every vital reading",intro:"A failed instrument cluster can leave you guessing about speed, fuel level, warning lights, or engine temperature. Our used OEM instrument clusters are sourced from clean donor vehicles, display-and-gauge tested, and matched by part number so you can restore dependable information at the wheel without paying dealer-level replacement costs.",aboutSection:'<h3>What an instrument cluster does</h3><p>Your instrument cluster is the information center directly in front of the driver. It displays vehicle speed, RPM, fuel level, coolant temperature, warning indicators, odometer information, and—on many late-model vehicles—trip, driver-assist, and message-center data. When pixels fade, gauges sweep erratically, the backlight fails, or warning lamps stop responding, the cluster itself may be the source.</p><h3>Common signs you need a replacement</h3><ul><li>Speedometer, tachometer, fuel gauge, or temperature gauge reads incorrectly or not at all</li><li>Flickering display, dead backlighting, dim pixels, or intermittent power</li><li>Multiple gauges fail together after power and ground circuits have been verified</li><li>Persistent cluster communication or internal-fault codes</li></ul><p>A verified used OEM instrument cluster preserves the original fit, connector layout, and vehicle-specific display design. For other electrical diagnosis needs, explore our <a href="/parts/ecu-pcm">used ECU / PCM inventory</a> or use our <a href="/vin-search">VIN search service</a> before you order.</p>',compatSection:'<h3>Popular applications we source</h3><p>We carry used instrument clusters for Ford F-150, Explorer, Mustang, and Escape; Chevrolet Silverado, Tahoe, Malibu, and Equinox; GMC Sierra and Yukon; Dodge Ram, Charger, and Durango; Jeep Wrangler and Grand Cherokee; Toyota Camry, Corolla, Tacoma, and 4Runner; Honda Accord, Civic, CR-V, and Pilot; Nissan Altima, Rogue, and Frontier; plus BMW, Mercedes-Benz, Volkswagen, Subaru, Hyundai, Kia, and more.</p><h3>Fitment and programming matter</h3><p>Clusters are not interchangeable simply because they look alike. Engine, transmission, trim level, display type, drive configuration, and option packages can change the part number and programming requirements. Send our team your VIN, current cluster part number, and vehicle options through our <a href="/vin-search">VIN verification form</a>. We will help confirm the correct OEM replacement before shipment.</p>',qualitySection:'<h3>Our cluster inspection checklist</h3><ul><li>Power-up, screen, backlight, and LCD/pixel condition checked</li><li>Gauge needles and warning-light circuits inspected for correct response</li><li>Connector pins, housing tabs, lens condition, and mounting points reviewed</li><li>Part number and donor-vehicle configuration documented for fitment matching</li></ul><p>Many modern clusters require VIN coding, immobilizer synchronization, mileage programming where legally required, or a configuration procedure after installation. We clearly identify known programming needs so your installer can plan ahead. Every eligible order is backed by our <a href="/warranty">warranty coverage</a> for added confidence.</p>',shippingNote:'<h3>Secure delivery and simple ordering</h3><p>Instrument clusters ship in static-safe, impact-protective packaging within 24–48 hours. Most ground orders arrive in 2–5 business days, and we can ship to your home or directly to your repair shop. Call <a href="tel:+18883818872">(888) 381-8872</a> or request a quote with your VIN and original part number. Need related electrical parts? Browse <a href="/parts/abs-module">ABS modules</a>, <a href="/parts/mass-air-flow-sensor">MAF sensors</a>, and <a href="/parts/throttle-body">throttle bodies</a>.</p>',faqs:[{q:"Will a used instrument cluster need programming?",a:"Often, yes. Many late-model clusters require VIN coding, configuration, immobilizer synchronization, or odometer programming by a qualified shop. Requirements vary by make, model, and year, so we verify them with you before purchase."},{q:"Can I use an instrument cluster with a different mileage reading?",a:"Mileage must be handled according to applicable federal and state rules. Some vehicles store mileage in another module, while others require compliant programming and documentation. A qualified installer can advise on the correct legal procedure for your vehicle."},{q:"How do I match the right instrument cluster?",a:"The safest method is matching the OEM part number from your original cluster along with the VIN, year, engine, trim, and options. Our parts specialists use those details to verify the replacement before it ships."},{q:"What if only one gauge in my cluster has stopped working?",a:"A single inoperative gauge can be caused by the cluster, the related sender, wiring, or another control module. We recommend diagnosing the circuit first. If the cluster is confirmed at fault, a tested used OEM unit is a cost-effective replacement."}],topMakes:["Ford","Chevrolet","GMC","Dodge","Jeep","Toyota","Honda","Nissan","BMW","Mercedes-Benz"],badges:["Display & Gauge Tested","Part Number Matched","Static-Safe Packed","Up to 5-Yr Warranty"],keywords:"used instrument cluster, used gauge cluster for sale, OEM instrument panel cluster, speedometer cluster replacement, used dashboard cluster",metaTitle:"Used Instrument Cluster
190s for Sale | Tested OEM Gauge Panels",metaDescription:"Shop tested OEM instrument clusters. Displays, gauges and connector pins inspected, with VIN and part-number fitment support. Free US shipping and warranty."},{slug:"steering-column",name:"Steering Column",plural:"Steering Columns",category:"Interior & Controls",priceMin:149,priceMax:999,h1:"Used Steering Columns for Sale",tagline:"OEM steering columns inspected for smooth, secure control — shipped nationwide",intro:"A loose, binding, damaged, or electrically failed steering column affects more than comfort—it can compromise the controls you rely on every drive. Our used OEM steering columns are sourced from clean donor vehicles, inspected for smooth operation and mounting integrity, and matched to your vehicle's configuration for a dependable replacement at a fraction of a new dealer assembly.",aboutSection:'<h3>The steering column is more than a shaft</h3><p>The steering column connects the steering wheel to the steering gear while housing or supporting key driver controls. Depending on the vehicle, it can include the ignition housing, shift interlock, tilt or telescoping mechanism, clockspring, column lock, multifunction switches, and steering-wheel control connections. A quality OEM replacement helps preserve proper wheel position, smooth steering input, and factory control integration.</p><h3>Signs your steering column may be failing</h3><ul><li>Excessive play, knocking, looseness, or binding while turning the wheel</li><li>Tilt or telescoping adjustment that will not lock or hold position</li><li>Damaged ignition housing, shift linkage, or column-mounted control functions</li><li>Collision damage, broken mounts, or noise from the intermediate-shaft connection</li></ul><p>For hydraulic steering concerns, see our <a href="/parts/power-steering-pump">used power steering pumps</a>. For an exact replacement, start with our <a href="/vin-search">VIN fitment check</a>.</p>',compatSection:"<h3>Steering columns for popular makes</h3><p>We source used steering columns for Ford F-150, Super Duty, Explorer, and Mustang; Chevrolet Silverado, Tahoe, Malibu, and Equinox; GMC Sierra and Yukon; Dodge Ram, Charger, and Durango; Jeep Wrangler and Grand Cherokee; Toyota Camry, Tacoma, Tundra, and 4Runner; Honda Accord, Civic, CR-V, and Pilot; Nissan Altima, Rogue, and Frontier; and select BMW, Mercedes-Benz, Volkswagen, Subaru, Hyundai, and Kia applications.</p><h3>Why options must match</h3><p>Column fitment can vary by transmission, key type, tilt/telescope equipment, steering-wheel controls, airbag system, wiper and lighting switches, and electronic power steering features. Send your VIN and the part number on your original column so our team can match the correct design. Matching details up front prevents a costly installation mismatch.</p>",qualitySection:'<h3>What we inspect before listing</h3><ul><li>Column shaft turns smoothly with no excessive radial or axial play</li><li>Tilt, telescoping, lock, and shift functions checked when equipped</li><li>Mounting points, housings, splines, and connector pins inspected for damage</li><li>Visible collision damage, cracks, corrosion, and altered wiring rejected</li></ul><p>Steering-column work can involve airbag components, clocksprings, and calibration procedures. We recommend professional installation and following the factory service manual. If an airbag-related part is also required, browse our verified <a href="/parts/airbag-module">airbag modules</a> and review our <a href="/warranty">warranty information</a>.</p>',shippingNote:'<h3>Protected shipping to your shop or home</h3><p>Used steering columns are securely boxed or freight-packed to protect shafts, housings, and connectors in transit. Most orders leave within 24–48 hours and arrive in 2–5 business days depending on location. Call <a href="tel:+18883818872">(888) 381-8872</a> with your VIN for a fast quote and fitment confirmation. We can also help with related <a href="/parts/power-steering-pump">power steering pumps</a>, <a href="/parts/instrument-cluster">
190instrument clusters</a>, and <a href="/parts/abs-module">ABS modules</a> when your repair involves multiple systems.</p>',faqs:[{q:"How do I know which steering column fits my vehicle?",a:"Match the VIN, OEM part number, transmission type, key or push-button start setup, tilt/telescope options, steering-wheel controls, and any column-mounted switches. Our team checks those details before confirming an order."},{q:"Does a replacement steering column include the steering wheel or airbag?",a:"Usually no. Included components vary by donor vehicle and are listed for each assembly. Steering wheels and airbags are typically separate items, and airbag work should be completed by a qualified technician using the correct safety procedures."},{q:"Will I need a wheel alignment after replacing a steering column?",a:"Column replacement itself does not always require alignment, but the steering wheel must be centered and the intermediate shaft installed correctly. If other steering or suspension components were removed or damaged, an alignment is recommended."},{q:"Can I install a used steering column myself?",a:"Because the job can involve airbag circuits, clocksprings, ignition components, and critical steering fasteners, professional installation is strongly recommended. Your installer should follow the factory procedure and torque specifications."}],topMakes:["Ford","Chevrolet","GMC","Dodge","Jeep","Toyota","Honda","Nissan","Subaru","Hyundai"],badges:["Shaft & Lock Inspected","Options Matched","Mounting Points Checked","Up to 5-Yr Warranty"],keywords:"used steering column, used steering column for sale, OEM steering column replacement, tilt steering column, steering shaft assembly",metaTitle:"Used Steering Columns for Sale | OEM Tilt & Control Assemblies",metaDescription:"Shop inspected used OEM steering columns with shafts, locks and mounts checked. VIN-matched fitment help, free US shipping and warranty coverage."}],Rv=[{label:"Drivetrain & Axles",slugs:["transfer-case","differential","axle-assembly","front-axle","rear-axle","cv-axle","driveshaft"]},{label:"Engine Components",slugs:["cylinder-head","crankshaft","camshaft","timing-chain-kit","timing-belt-kit","turbocharger","supercharger"]},{label:"Cooling, Fuel & Emissions",slugs:["water-pump","radiator","fuel-pump","ac-compressor","egr-valve","catalytic-converter"]},{label:"Electrical & Sensors",slugs:["alternator","starter-motor","abs-module","ecu-pcm","mass-air-flow-sensor","throttle-body","airbag-module"]},{label:"Engine Accessories",slugs:["power-steering-pump","intake-manifold","exhaust-manifold"]},{label:"Interior & Controls",slugs:["instrument-cluster","steering-column"]}];function Kj(t){return Q0.find(n=>n.slug===t)}const ch={};for(const t of Q0)ch[t.slug]=t.name;function QO(){const[t,n]=k.useState(!1),[r,o]=k.useState(!1),[l,u]=k.useState(!1),[d,f]=k.useState(""),[m,p]=ui(),g=k.useRef(null),v=m==="/parts/cylinder-head",b=m==="/parts/differential",S=m==="/parts/axle-assembly",T=m==="/engines"||m==="/transmissions",E=C=>{C.key==="Enter"&&d.trim()&&(p(`/parts?search=${encodeURIComponent(d.trim())}`),f(""),n(!1))};return k.useEffect(()=>{const C=D=>{g.current&&!g.current.contains(D.target)&&u(!1)};return document.addEventListener("mousedown",C),()=>document.removeEventListener("mousedown",C)},[]),w.jsxs("header",{className:"sticky top-0 z-50 w-full shadow-md",children:[w.jsx("div",{className:"bg-primary py-2 px-4",children:w.jsxs("div",{className:"container mx-auto flex items-center justify-between text-sm font-medium text-white",children:[w.jsxs("div",{className:"flex items-center gap-4",children:[w.jsxs("span",{className:"flex items-center gap-1.5","data-testid":"trust-badge-header",children:[w.jsx(Ji,{className:"h-4 w-4 text-yellow-300"}),v?"VIN & Casting Fitment Review":b?"VIN, Axle & Ratio Fitment Review":S?"VIN & Part Number Fitment Review":T?"VIN Fitment Review":"Quality Used Auto Parts"]}),w.jsx("span",{className:"hidden md:inline text-white/50",children:"|"}),w.jsx("span",{className:"hidden md:inline",children:v||b||S||T?"Condition, warranty & shipping details by unit":"Fitment help for cars, trucks & SUVs"})]}),w.jsxs("a",{href:"tel:18883818872",className:"flex items-center gap-1.5 font-bold text-yellow-300 hover:text-yellow-200 transition-colors","data-testid":"phone-header",children:[w.jsx(si,{className:"h-4 w-4"}),w.jsx("span",{className:"hidden sm:inline",children:"(888) 381-8872"})]})]})}),w.jsxs("div",{className:"bg-white border-b border-slate-200",children:[w.jsxs("div",{className:"container mx-auto px-4 h-[68px] flex items-center justify-between gap-6",children:[w.jsxs(et,{href:"/",className:"flex shrink-0 items-center gap-2.5","data-testid":"logo-link",children:[w.jsx("div",{className:"flex h-9 w-9 items-center justify-center rounded-lg bg-primary text-white shadow-sm",children:w.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-5 w-5",children:[w.jsx("path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"}),w.jsx("path",{d:"M14 2v6h6"}),w.jsx("path",{d:"m9 15 2 2 4-4"})]})}),w.jsxs("span",{className:"text-xl font-extrabold tracking-tight text-slate-900",children:["Quality",w.jsx("span",{className:"text-primary",children:"AutoParts"})]})]}),w.jsxs("nav",{className:"hidden md:flex items-center gap-1",children:[[{label:"Home",href:"/"},{label:"Engines",href:"/engines"},{label:"Transmissions",href:"/transmissions"},{label:"VIN Search",href:"/vin-search"}].map(({label:C,href:D})=>w.jsx(et,{href:D,className:"rounded-lg px-3 py-2 text-sm font-semibold text-slate-700 transition-colors hover:bg-primary/8 hover:text-primary",children:C},C)),w.jsxs("div",{className:"relative",ref:g,children:[w.jsxs("button",{onClick:()=>u(C=>!C),className:`flex items-center gap-1 rounded-lg px-3 py-2 text-sm font-semibold transition-colors hover:bg-primary/8 hover:text-primary ${l?"bg-primary/8 text-primary":"text-slate-700"}`,children:["Auto Parts",w.jsx(A1,{className:`h-3.5 w-3.5 transition-transform duration-200 ${l?"rotate-180":""}`})]}),l&&w.jsxs("div",{className:"absolute left-0 top-[calc(100%+8px)] z-50 w-[720px] rounded-2xl border border-slate-200 bg-white p-5 shadow-2xl shadow-slate-200/80",children:[w.jsx("div",{className:"absolute -top-2 left-8 h-4 w-4 rotate-45 border-l border-t border-slate-200 bg-white"}),w.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[w.jsx("p",{className:"text-xs font-bold uppercase tracking-widest text-slate-400",children:"Browse by Category"}),w.jsx(et,{href:"/parts/transfer-case",onClick:()=>u(!1),className:"text-xs font-semibold text-primary hover:underline",children:"View all parts →"})]}
190),w.jsx("div",{className:"grid grid-cols-5 gap-4",children:Rv.map(C=>w.jsxs("div",{children:[w.jsx("p",{className:"mb-2 text-[11px] font-bold uppercase tracking-wider text-slate-500 border-b border-slate-100 pb-1",children:C.label}),w.jsx("ul",{className:"space-y-1",children:C.slugs.map(D=>w.jsx("li",{children:w.jsx(et,{href:`/parts/${D}`,onClick:()=>u(!1),className:"block rounded px-1 py-0.5 text-[13px] font-medium text-slate-600 transition-colors hover:bg-primary/8 hover:text-primary",children:ch[D]??D})},D))})]},C.label))})]})]}),w.jsx(et,{href:"/brands",className:"rounded-lg px-3 py-2 text-sm font-semibold text-slate-700 transition-colors hover:bg-primary/8 hover:text-primary",children:"Brands"})]}),w.jsxs("div",{className:"flex items-center gap-3",children:[w.jsxs("div",{className:"relative hidden lg:flex items-center w-56 xl:w-64",children:[w.jsx(cv,{className:"absolute left-3 h-4 w-4 text-primary pointer-events-none"}),w.jsx("input",{type:"text",value:d,onChange:C=>f(C.target.value),onKeyDown:E,placeholder:"Search parts...",className:"w-full rounded-full border-2 border-slate-200 bg-slate-50 py-2 pl-9 pr-4 text-sm font-medium text-slate-700 placeholder-slate-400 outline-none transition focus:border-primary focus:bg-white focus:shadow-[0_0_0_3px_rgba(8,66,152,0.12)]"})]}),w.jsx(et,{href:"/contact",className:"hidden sm:inline-flex items-center gap-2 rounded-full bg-[#F26A1A] px-5 py-2.5 text-sm font-extrabold text-white shadow-sm shadow-orange-300/40 transition hover:bg-orange-600",children:"Get a Quote"}),w.jsx("a",{href:"tel:+18883818872",className:"md:hidden flex items-center justify-center h-10 w-10 rounded-full bg-orange-500 text-white shadow-md shadow-orange-300/50 active:scale-95 transition-transform","aria-label":"Call us",children:w.jsx(si,{className:"h-5 w-5"})}),w.jsx("button",{onClick:()=>n(C=>!C),className:"md:hidden rounded-lg p-2 text-slate-600 hover:bg-slate-100 transition","aria-label":"Toggle menu",children:t?w.jsx(Fh,{className:"h-5 w-5"}):w.jsx(q1,{className:"h-5 w-5"})})]})]}),t&&w.jsxs("div",{className:"md:hidden border-t border-slate-100 bg-white px-4 pb-4 pt-2",children:[w.jsxs("div",{className:"relative mb-3 flex items-center",children:[w.jsx(cv,{className:"absolute left-3 h-4 w-4 text-primary pointer-events-none"}),w.jsx("input",{type:"text",value:d,onChange:C=>f(C.target.value),onKeyDown:E,placeholder:"Search parts...",className:"w-full rounded-full border-2 border-slate-200 bg-slate-50 py-2 pl-9 pr-4 text-sm outline-none focus:border-primary focus:bg-white"})]}),w.jsxs("nav",{className:"flex flex-col gap-0.5",children:[[{label:"Home",href:"/"},{label:"Engines",href:"/engines"},{label:"Transmissions",href:"/transmissions"},{label:"VIN Search",href:"/vin-search"}].map(({label:C,href:D})=>w.jsx(et,{href:D,onClick:()=>n(!1),className:"rounded-lg px-4 py-2.5 text-sm font-semibold text-slate-700 hover:bg-primary/8 hover:text-primary transition",children:C},C)),w.jsxs("button",{onClick:()=>o(C=>!C),className:"flex items-center justify-between rounded-lg px-4 py-2.5 text-sm font-semibold text-slate-700 hover:bg-primary/8 hover:text-primary transition w-full text-left",children:[w.jsx("span",{children:"Auto Parts"}),w.jsx(C1,{className:`h-4 w-4 transition-transform duration-200 ${r?"rotate-90":""}`})]}),r&&w.jsx("div",{className:"ml-4 mt-1 mb-2 rounded-xl border border-slate-100 bg-slate-50 p-3 space-y-3",children:Rv.map(C=>w.jsxs("div",{children:[w.jsx("p",{className:"mb-1.5 text-[10px] font-bold uppercase tracking-wider text-slate-400",children:C.label}),w.jsx("div",{className:"flex flex-wrap gap-1.5",children:C.slugs.map(D=>w.jsx(et,{href:`/parts/${D}`,onClick:()=>{n(!1),o(!1)},className:"rounded-full border border-slate-200 bg-white px-2.5 py-1 text-xs font-medium text-slate-600 hover:border-primary hover:text-primary transition",children:ch[D]??D},D))})]},C.label))}),w.jsx(et,{href:"/brands",onClick:()=>n(!1),className:"rounded-lg px-4 py-2.5 text-sm font-semibold text-slate-700 hover:bg-primary/8 hover:text-primary transition",children:"Brands"}),w.jsx(et,{href:"/contact",onClick:()=>n(!1),className:"mt-2 flex items-center justify-center rounded-full bg-[#F26A1A] py-3 text-sm font-extrabold text-white",children:"Get a Quote"})]})]})]})]})}const Dv="(888) 381-8872",Ed="tel:18883818872",Ov="(502) 668-1316",Nv="tel:15026681316";function XO(){return w.jsxs("footer",{id:"contact",children:[w.jsxs("div",{className:"block sm:hidden bg-slate-950 px-6 py-8 space-y-5",children:[w.jsxs("div",{className:"flex items-center gap-2.5",children:[w.jsx("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-primary text-white",children:w.jsx(Ji,{className:"h-4 w-4"})}),w.jsxs("span",{className:"text-lg font-extrabold tracking-tight text-white",children:["Quality",w.jsx("span",{className:"text-primary",children:"AutoParts"})]})]}),w.jsxs("ul",{className:"space-y-4",children:[w.jsxs("li",{className:"flex items-start gap-3",children:[w.jsx("div",{className:"mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-primary/20",children:w.jsx(si,{className:"h-3.5 w-3.5 text-primary"})}),w.jsxs("div",{children:[w.jsx("p",{className:"text-[10px] font-bold uppercase tracking-wide text-slate-500",children:"Call Us"}),w.jsx("a",{href:Ed,className:"text-base font-bold text-white",children:Dv}),w.jsx("a",{href:Nv,className:"mt-1 block text-sm font-semibold text-slate-300 hover:text-white",children:Ov}),w.jsx("p",{className:"text-[10px] text-slate-500 mt-0.5",children:"Mon–Sat 8AM–7PM 
190EST"})]})]}),w.jsxs("li",{className:"flex items-start gap-3",children:[w.jsx("div",{className:"mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-primary/20",children:w.jsx(ov,{className:"h-3.5 w-3.5 text-primary"})}),w.jsxs("div",{children:[w.jsx("p",{className:"text-[10px] font-bold uppercase tracking-wide text-slate-500",children:"Email"}),w.jsx("a",{href:"mailto:[email protected]",className:"text-sm text-slate-300 break-all",children:"[email protected]"})]})]}),w.jsxs("li",{className:"flex items-start gap-3",children:[w.jsx("div",{className:"mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-primary/20",children:w.jsx(lv,{className:"h-3.5 w-3.5 text-primary"})}),w.jsxs("div",{children:[w.jsx("p",{className:"text-[10px] font-bold uppercase tracking-wide text-slate-500",children:"Address"}),w.jsxs("p",{className:"text-sm text-slate-300",children:["1982 Highland Pike,",w.jsx("br",{}),"Fort Wright, KY 41017",w.jsx("br",{}),"United States"]})]})]})]}),w.jsxs("p",{className:"text-[11px] text-slate-600 border-t border-slate-800 pt-4",children:["© ",new Date().getFullYear()," QualityAutoPartStore.com — All Rights Reserved."]})]}),w.jsxs("div",{className:"hidden sm:block bg-slate-950",children:[w.jsx("div",{className:"border-b border-slate-800 bg-slate-900",children:w.jsx("div",{className:"container mx-auto px-6 py-5",children:w.jsx("div",{className:"flex flex-wrap items-center justify-center gap-x-8 gap-y-3 text-xs font-semibold uppercase tracking-wider text-slate-400",children:[{icon:Ji,label:"A+ BBB Accredited Business"},{icon:uv,label:"4.8 / 5 — 360+ Reviews"},{icon:$w,label:"Free USA Shipping"},{icon:Zw,label:"Up to 5-Year Warranty"},{icon:M1,label:"Same-Day Expert Response"}].map(({icon:t,label:n})=>w.jsxs("span",{className:"flex items-center gap-1.5 text-slate-300",children:[w.jsx(t,{className:"h-4 w-4 text-primary shrink-0"}),n]},n))})})}),w.jsx("div",{className:"container mx-auto px-6 py-14",children:w.jsxs("div",{className:"grid grid-cols-1 gap-12 sm:grid-cols-2 lg:grid-cols-4",children:[w.jsxs("div",{className:"space-y-5",children:[w.jsxs(et,{href:"/",className:"inline-flex items-center gap-2.5",children:[w.jsx("div",{className:"flex h-9 w-9 items-center justify-center rounded-lg bg-primary text-white shadow-sm",children:w.jsx(Ji,{className:"h-5 w-5"})}),w.jsxs("span",{className:"text-xl font-extrabold tracking-tight text-white",children:["Quality",w.jsx("span",{className:"text-primary",children:"AutoParts"})]})]}),w.jsx("p",{className:"text-sm leading-relaxed text-slate-400 max-w-xs",children:"America's most trusted source for tested, low-mileage used engines and transmissions. VIN-matched fitment, free USA shipping, up to 5-year warranty."}),w.jsxs("div",{className:"flex flex-wrap gap-2 pt-1",children:[w.jsxs("div",{className:"flex items-center gap-1.5 rounded-lg border border-slate-700 bg-slate-800 px-3 py-2",children:[w.jsx(Ji,{className:"h-4 w-4 text-emerald-400"}),w.jsxs("div",{children:[w.jsx("p",{className:"text-[11px] font-black text-white leading-none",children:"A+"}),w.jsx("p",{className:"text-[9px] text-slate-400 uppercase tracking-wide leading-none mt-0.5",children:"BBB Rating"})]})]}),w.jsxs("div",{className:"flex items-center gap-1.5 rounded-lg border border-slate-700 bg-slate-800 px-3 py-2",children:[w.jsx("div",{className:"flex gap-0.5",children:Array.from({length:5}).map((t,n)=>w.jsx(uv,{className:"h-3 w-3 fill-yellow-400 text-yellow-400"},n))}),w.jsxs("div",{children:[w.jsx("p",{className:"text-[11px] font-black text-white leading-none",children:"4.8"}),w.jsx("p",{className:"text-[9px] text-slate-400 uppercase tracking-wide leading-none mt-0.5",children:"360+ Reviews"})]})]}),w.jsxs("div",{className:"flex items-center gap-1.5 rounded-lg border border-slate-700 bg-slate-800 px-3 py-2",children:[w.jsx("span",{className:"text-[11px]",children:"🔒"}),w.jsxs("div",{children:[w.jsx("p",{className:"text-[11px] font-black text-white leading-none",children:"SSL"}),w.jsx("p",{className:"text-[9px] text-slate-400 uppercase tracking-wide leading-none mt-0.5",children:"Secure Site"})]})]})]})]}),w.jsxs("div",{className:"space-y-4",children:[w.jsx("h4",{className:"text-xs font-bold uppercase tracking-widest text-slate-500",children:"Qu
190ick Links"}),w.jsx("ul",{className:"space-y-2.5",children:[{label:"Home",href:"/"},{label:"Engines",href:"/engines"},{label:"Transmissions",href:"/transmissions"},{label:"VIN Search",href:"/vin-search"},{label:"Shop by Brand",href:"/brands"},{label:"Browse All Parts",href:"/parts"},{label:"About Us",href:"/about"},{label:"Contact Us",href:"/contact"},{label:"Order Form",href:"/order"},{label:"Transmission Codes",href:"/transmission-codes"},{label:"Privacy Policy",href:"/privacy"},{label:"Warranty Policy",href:"/warranty"},{label:"Terms & Conditions",href:"/terms"},{label:"Disclaimer",href:"/disclaimer"}].map(({label:t,href:n})=>w.jsx("li",{children:w.jsx(et,{href:n,className:"text-sm text-slate-400 transition-colors hover:text-white",children:t})},t))})]}),w.jsxs("div",{className:"space-y-4",children:[w.jsx("h4",{className:"text-xs font-bold uppercase tracking-widest text-slate-500",children:"Top Brands"}),w.jsx("ul",{className:"space-y-2.5",children:[{label:"Honda Engines",href:"/brand/honda/engines"},{label:"Toyota Engines",href:"/brand/toyota/engines"},{label:"Ford Engines",href:"/brand/ford/engines"},{label:"Chevrolet Engines",href:"/brand/chevrolet/engines"},{label:"Nissan Engines",href:"/brand/nissan/engines"},{label:"BMW Transmissions",href:"/brand/bmw/transmissions"}].map(({label:t,href:n})=>w.jsx("li",{children:w.jsx(et,{href:n,className:"text-sm text-slate-400 transition-colors hover:text-white",children:t})},t))})]}),w.jsxs("div",{className:"space-y-4",children:[w.jsx("h4",{className:"text-xs font-bold uppercase tracking-widest text-slate-500",children:"Contact Us"}),w.jsxs("ul",{className:"space-y-4",children:[w.jsxs("li",{className:"flex items-start gap-3",children:[w.jsx("div",{className:"mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-primary/20",children:w.jsx(si,{className:"h-3.5 w-3.5 text-primary"})}),w.jsxs("div",{children:[w.jsx("p",{className:"text-[10px] font-bold uppercase tracking-wide text-slate-500",children:"Call Us"}),w.jsx("a",{href:Ed,className:"text-base font-bold text-white hover:text-primary transition-colors",children:Dv}),w.jsx("a",{href:Nv,className:"mt-1 block text-sm font-semibold text-slate-300 hover:text-primary transition-colors",children:Ov}),w.jsx("p",{className:"text-[10px] text-slate-500 mt-0.5",children:"Mon–Sat 8AM–7PM EST"})]})]}),w.jsxs("li",{className:"flex items-start gap-3",children:[w.jsx("div",{className:"mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-primary/20",children:w.jsx(ov,{className:"h-3.5 w-3.5 text-primary"})}),w.jsxs("div",{children:[w.jsx("p",{className:"text-[10px] font-bold uppercase tracking-wide text-slate-500",children:"Email"}),w.jsx("a",{href:"mailto:[email protected]",className:"text-sm text-slate-300 hover:text-white transition-colors break-all",children:"[email protected]"})]})]}),w.jsxs("li",{className:"flex items-start gap-3",children:[w.jsx("div",{className:"mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-primary/20",children:w.jsx(lv,{className:"h-3.5 w-3.5 text-primary"})}),w.jsxs("div",{children:[w.jsx("p",{className:"text-[10px] font-bold uppercase tracking-wide text-slate-500",children:"Address"}),w.jsxs("p",{className:"text-sm text-slate-300",children:["1982 Highland Pike,",w.jsx("br",{}),"Fort Wright, KY 41017",w.jsx("br",{}),"United States"]})]})]})]}),w.jsxs("a",{href:Ed,className:"mt-2 flex w-full items-center justify-center gap-2 rounded-xl bg-primary py-3 text-sm font-bold text-white shadow-md transition hover:bg-primary/90",children:[w.jsx(si,{className:"h-4 w-4"})," Call Now — Free Quote"]})]})]})}),w.jsx("div",{className:"border-t border-slate-800 bg-slate-950",children:w.jsx("div",{className:"container mx-auto px-6 py-5",children:w.jsxs("div",{className:"flex flex-col items-center justify-between gap-3 text-xs text-slate-500 sm:flex-row",children:[w.jsxs("p",{children:["© ",new Date().getFullYear()," QualityAutoPartStore.com — All Rights Reserved."]}),w.jsxs("div",{className:"flex flex-wrap items-center gap-5",children:[w.jsx(et,{href:"/about",className:"hover:text-white transition-colors",children:"About Us"}),w.jsx(et,{href:"/contact",className:"hover:text-white transition-colors",children:"Contact Us"}),w.jsx(et,{href:"/order",className:"hover:text-white transition-colors",children:"Order Form"}),w.jsx(et,{href:"/privacy",className:"hover:text-white transition-colors",children:"Privacy Policy"}),w.jsx(et,{href:"/warranty",className:"hover:text-white transition-colors",children:"Warranty"}),w.jsx(et,{href:"/terms",className:"hover:text-white transition-colors",children:"Terms & Conditions"})]})]})})})]})]})}const af=k.createContext({});function nf(t){const n=k.useRef(null);return n.current===null&&(n.current=t()),n.current}const ZO=typeof window<"u",X0=ZO?k.useLayoutEffect:k.useEffect,Xl=k.createContext(null);function rf(t,n){t.indexOf(n)===-1&&t.push(n)}function Ml(t,n){const r=t.indexOf(n);r>-1&&t.splice(r,1)}const Ra=(t,n,r)=>r>n?n:r<t?t:r;let sf=()=>{};const Qa={},Z0=t=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(t);function $0(t){return typeof t=="object"&&t!==null}const J0=t=>/^0[^.\s]+$/u.test(t);function ex(t){let n;return()=>(n===void 0&&(n=t()),n)}const ia=t=>t,$O=(t,n)=>r=>n(t(r)),js=(...t)=>t.reduce($O),Es=(t,n,r)=>{const o=n-t;return o===0?1:(r-t)/o};class of{constructor(){this.subscriptions=[]}add(n){return rf(this.subscriptions,n),()=>Ml(this.subscriptions,n)}notify(n,r,o){const l=this.subscriptions.length;if(l)if(l===1)this.subscriptions[0](n,r,o);else for(let u=0;u<l;u++){const d=this.subscriptions[u];d&&d(n,r,o)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const fa=t=>t*1e3,na=t=>t/1e3;function tx(t,n){return n?t*(1e3/n):0}const ax=(t,n,r)=>(((1-3*r+3*n)*t+(3*r-6*n))*t+3*n)*t,JO=1e-7,e3=12;function t3(t,n,r,o,l){let u,d,f=0;do d=n+(r-n)/2,u=ax(d,o,l)-t,u>0?r=d:n=d;while(Math.abs(u)>JO&&++f<e3);return d}function Us(t,n,r,o){if(t===n&&r===o)return ia;const l=u=>t3(u,0,1,t,r);return u=>u===0||u===1?u:ax(l(u),n,o)}const nx=t=>n=>n<=.5?t(2*n)/2:(2-t(2*(1-n)))/2,ix=t=>n=>1-t(1-n),rx=Us(.33,1.53,.69,.99),lf=ix(rx),sx=nx(lf),ox=t=>(t*=2)<1?.5*lf(t):.5*(2-Math.pow(2,-10*(t-1))),cf=t=>1-Math.sin(Math.acos(t)),lx=ix(cf),cx=nx(cf),a3=Us(.42,0,1,1),n3=Us(0,0,.58,1),ux=Us(.42,0,.58,1),i3=t=>Array.isArray(t)&&typeof t[0]!="number",dx=t=>Array.isArray(t)&&typeof t[0]=="number",r3={linear:ia,easeIn:a3,easeInOut:ux,easeOut:n3,cir
vendor: 19,742 bytes, line 190
190cIn:cf,circInOut:cx,circOut:lx,backIn:lf,backInOut:sx,backOut:rx,anticipate:ox},s3=t=>typeof t=="string",Vv=t=>{if(dx(t)){sf(t.length===4);const[n,r,o,l]=t;return Us(n,r,o,l)}else if(s3(t))return r3[t];return t},sl=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function o3(t,n){let r=new Set,o=new Set,l=!1,u=!1;const d=new WeakSet;let f={delta:0,timestamp:0,isProcessing:!1};function m(g){d.has(g)&&(p.schedule(g),t()),g(f)}const p={schedule:(g,v=!1,b=!1)=>{const T=b&&l?r:o;return v&&d.add(g),T.has(g)||T.add(g),g},cancel:g=>{o.delete(g),d.delete(g)},process:g=>{if(f=g,l){u=!0;return}l=!0,[r,o]=[o,r],r.forEach(m),r.clear(),l=!1,u&&(u=!1,p.process(g))}};return p}const l3=40;function hx(t,n){let r=!1,o=!0;const l={delta:0,timestamp:0,isProcessing:!1},u=()=>r=!0,d=sl.reduce((N,P)=>(N[P]=o3(u),N),{}),{setup:f,read:m,resolveKeyframes:p,preUpdate:g,update:v,preRender:b,render:S,postRender:T}=d,E=()=>{const N=Qa.useManualTiming?l.timestamp:performance.now();r=!1,Qa.useManualTiming||(l.delta=o?1e3/60:Math.max(Math.min(N-l.timestamp,l3),1)),l.timestamp=N,l.isProcessing=!0,f.process(l),m.process(l),p.process(l),g.process(l),v.process(l),b.process(l),S.process(l),T.process(l),l.isProcessing=!1,r&&n&&(o=!1,t(E))},C=()=>{r=!0,o=!0,l.isProcessing||t(E)};return{schedule:sl.reduce((N,P)=>{const _=d[P];return N[P]=(Y,Q=!1,B=!1)=>(r||C(),_.schedule(Y,Q,B)),N},{}),cancel:N=>{for(let P=0;P<sl.length;P++)d[sl[P]].cancel(N)},state:l,steps:d}}const{schedule:Ue,cancel:Vn,state:ct,steps:Md}=hx(typeof requestAnimationFrame<"u"?requestAnimationFrame:ia,!0);let pl;function c3(){pl=void 0}const vt={now:()=>(pl===void 0&&vt.set(ct.isProcessing||Qa.useManualTiming?ct.timestamp:performance.now()),pl),set:t=>{pl=t,queueMicrotask(c3)}},fx=t=>n=>typeof n=="string"&&n.startsWith(t),px=fx("--"),u3=fx("var(--"),uf=t=>u3(t)?d3.test(t.split("/*")[0].trim()):!1,d3=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function qv(t){return typeof t!="string"?!1:t.split("/*")[0].includes("var(--")}const fr={test:t=>typeof t=="number",parse:parseFloat,transform:t=>t},Ms={...fr,transform:t=>Ra(0,1,t)},ol={...fr,default:1},ws=t=>Math.round(t*1e5)/1e5,df=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function h3(t){return t==null}const f3=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,hf=(t,n)=>r=>!!(typeof r=="string"&&f3.test(r)&&r.startsWith(t)||n&&!h3(r)&&Object.prototype.hasOwnProperty.call(r,n)),mx=(t,n,r)=>o=>{if(typeof o!="string")return o;const[l,u,d,f]=o.match(df);return{[t]:parseFloat(l),[n]:parseFloat(u),[r]:parseFloat(d),alpha:f!==void 0?parseFloat(f):1}},p3=t=>Ra(0,255,t),Rd={...fr,transform:t=>Math.round(p3(t))},ii={test:hf("rgb","red"),parse:mx("red","green","blue"),transform:({red:t,green:n,blue:r,alpha:o=1})=>"rgba("+Rd.transform(t)+", "+Rd.transform(n)+", "+Rd.transform(r)+", "+ws(Ms.transform(o))+")"};function m3(t){let n="",r="",o="",l="";return t.length>5?(n=t.substring(1,3),r=t.substring(3,5),o=t.substring(5,7),l=t.substring(7,9)):(n=t.substring(1,2),r=t.substring(2,3),o=t.substring(3,4),l=t.substring(4,5),n+=n,r+=r,o+=o,l+=l),{red:parseInt(n,16),green:parseInt(r,16),blue:parseInt(o,16),alpha:l?parseInt(l,16)/255:1}}const uh={test:hf("#"),parse:m3,transform:ii.transform},Ps=t=>({test:n=>typeof n=="string"&&n.endsWith(t)&&n.split(" ").length===1,parse:parseFloat,transform:n=>`${n}${t}`}),En=Ps("deg"),Ma=Ps("%"),ne=Ps("px"),g3=Ps("vh"),y3=Ps("vw"),jv={...Ma,parse:t=>Ma.parse(t)/100,transform:t=>Ma.transform(t*100)},er={test:hf("hsl","hue"),parse:mx("hue","saturation","lightness"),transform:({hue:t,saturation:n,lightness:r,alpha:o=1})=>"hsla("+Math.round(t)+", "+Ma.transform(ws(n))+", "+Ma.transform(ws(r))+", "+ws(Ms.transform(o))+")"},Qe={test:t=>ii.test(t)||uh.test(t)||er.test(t),parse:t=>ii.test(t)?ii.parse(t):er.test(t)?er.parse(t):uh.parse(t),transform:t=>typeof t=="string"?t:t.hasOwnProperty("red")?ii.transform(t):er.transform(t),getAnimatableNone:t=>{const n=Qe.parse(t);return n.alpha=0,Qe.transform(n)}},v3=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function b3(t){return isNaN(t)&&typeof t=="string"&&(t.match(df)?.length||0)+(t.match(v3)?.length||0)>0}const gx="number",yx="color",w3="var",x3="var(",Uv="${}",k3=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function Rs(t){const n=t.toString(),r=[],o={color:[],number:[],var:[]},l=[];let u=0;const f=n.replace(k3,m=>(Qe.test(m)?(o.color.push(u),l.push(yx),r.push(Qe.parse(m))):m.startsWith(x3)?(o.var.push(u),l.push(w3),r.push(m)):(o.number.push(u),l.push(gx),r.push(parseFloat(m))),++u,Uv)).split(Uv);return{values:r,split:f,indexes:o,types:l}}function vx(t){return Rs(t).values}function bx(t){const{split:n,types:r}=Rs(t),o=n.length;return l=>{let u="";for(let d=0;d<o;d++)if(u+=n[d],l[d]!==void 0){const f=r[d];f===gx?u+=ws(l[d]):f===yx?u+=Qe.transform(l[d]):u+=l[d]}return u}}const S3=t=>typeof t=="number"?0:Qe.test(t)?Qe.getAnimatableNone(t):t;function A3(t){const n=vx(t);return bx(t)(n.map(S3))}const pa={test:b3,parse:vx,createTransformer:bx,getAnimatableNone:A3};function Dd(t,n,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+(n-t)*6*r:r<1/2?n:r<2/3?t+(n-t)*(2/3-r)*6:t}function T3({hue:t,saturation:n,lightness:r,alpha:o}){t/=360,n/=100,r/=100;let l=0,u=0,d=0;if(!n)l=u=d=r;else{const f=r<.5?r*(1+n):r+n-r*n,m=2*r-f;l=Dd(m,f,t+1/3),u=Dd(m,f,t),d=Dd(m,f,t-1/3)}return{red:Math.round(l*255),green:Math.round(u*255),blue:Math.round(d*255),alpha:o}}function Rl(t,n){return r=>r>0?n:t}const Be=(t,n,r)=>t+(n-t)*r,Od=(t,n,r)=>{const o=t*t,l=r*(n*n-o)+o;return l<0?0:Math.sqrt(l)},C3=[uh,ii,er],E3=t=>C3.find(n=>n.test(t));function Pv(t){const n=E3(t);if(!n)return!1;let r=n.parse(t);return n===er&&(r=T3(r)),r}const _v=(t,n)=>{const r=Pv(t),o=Pv(n);if(!r||!o)return Rl(t,n);const l={...r};return u=>(l.red=Od(r.red,o.red,u),l.green=Od(r.green,o.green,u),l.blue=Od(r.blue,o.blue,u),l.alpha=Be(r.alpha,o.alpha,u),ii.transform(l))},dh=new Set(["none","hidden"]);function M3(t,n){return dh.has(t)?r=>r<=0?t:n:r=>r>=1?n:t}function R3(t,n){return r=>Be(t,n,r)}function ff(t){return typeof t=="number"?R3:typeof t=="string"?uf(t)?Rl:Qe.test(t)?_v:N3:Array.isArray(t)?wx:typeof t=="object"?Qe.test(t)?_v:D3:Rl}function wx(t,n){const r=[...t],o=r.length,l=t.map((u,d)=>ff(u)(u,n[d]));return u=>{for(let d=0;d<o;d++)r[d]=l[d](u);return r}}function D3(t,n){const r={...t,...n},o={};for(const l in r)t[l]!==void 0&&n[l]!==void 0&&(o[l]=ff(t[l])(t[l],n[l]));return l=>{for(const u in o)r[u]=o[u](l);return r}}function O3(t,n){const r=[],o={color:0,var:0,number:0};for(let l=0;l<n.values.length;l++){const u=n.types[l],d=t.indexes[u][o[u]],f=t.values[d]??0;r[l]=f,o[u]++}return r}const N3=(t,n)=>{const r=pa.createTransformer(n),o=Rs(t),l=Rs(n);return o.indexes.var.length===l.indexes.var.length&&o.indexes.color.length===l.indexes.color.length&&o.indexes.number.length>=l.indexes.number.length?dh.has(t)&&!l.values.length||dh.has(n)&&!o.values.length?M3(t,n):js(wx(O3(o,l),l.values),r):Rl(t,n)};function xx(t,n,r){return typeof t=="number"&&typeof n=="number"&&typeof r=="number"?Be(t,n,r):ff(t)(t,n)}const V3=t=>{const n=({timestamp:r})=>t(r);return{start:(r=!0)=>Ue.update(n,r),stop:()=>Vn(n),now:()=>ct.isProcessing?ct.timestamp:vt.now()}},kx=(t,n,r=10)=>{let o="";const l=Math.max(Math.round(n/r),2);for(let u=0;u<l;u++)o+=Math.round(t(u/(l-1))*1e4)/1e4+", ";return`linear(${o.substring(0,o.length-2)})`},Dl=2e4;function pf(t){let n=0;const r=50;let o=t.next(n);for(;!o.done&&n<Dl;)n+=r,o=t.next(n);return n>=Dl?1/0:n}function q3(t,n=100,r){const o=r({...t,keyframes:[0,n]}),l=Math.min(pf(o),Dl);return{type:"keyframes",ease:u=>o.next(l*u).value/n,duration:na(l)}}const j3=5;function Sx(t,n,r){const o=Math.max(n-j3,0);return tx(r-t(o),n-o)}const Fe={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},Nd=.001;function U3({duration:t=Fe.duration,bounce:n=Fe.bounce,velocity:r=Fe.velocity,mass:o=Fe.mass}){let l,u,d=1-n;d=Ra(Fe.minDamping,Fe.maxDamping,d),t=Ra(Fe.minDuration,Fe.maxDuration,na(t)),d<1?(l=p=>{const g=p*d,v=g*t,b=g-r,S=hh(p,d),T=Math.exp(-v);return Nd-b/S*T},u=p=>{const v=p*d*t,b=v*r+r,S=Math.pow(d,2)*Math.pow(p,2)*t,T=Math.exp(-v),E=hh(Math.pow(p,2),d);return(-l(p)+Nd>0?-1:1)*((b-S)*T)/E}):(l=p=>{const g=Math.exp(-p*t),v=(p-r)*t+1;return-Nd+g*v},u=p=>{const g=Math.exp(-p*t),v=(r-p)*(t*t);return g*v});const f=5/t,m=_3(l,u,f);if(t=fa(t),isNaN(m))return{stiffness:Fe.stiffness,damping:Fe.damping,duration:t};{const p=Math.pow(m,2)*o;return{stiffness:p,damping:d*2*Math.sqrt(o*p),duration:t}}}const P3=12;function _3(t,n,r){let o=r;for(let l=1;l<P3;l++)o=o-t(o)/n(o);return o}function hh(t,n){return t*Math.sqrt(1-n*n)}const L3=["duration","bounce"],H3=["stiffness","damping","mass"];function Lv(t,n){return n.some(r=>t[r]!==void 0)}function B3(t){let n={velocity:Fe.velocity,stiffness:Fe.stiffness,damping:Fe.damping,mass:Fe.mass,isResolvedFromDuration:!1,...t};if(!Lv(t,H3)&&Lv(t,L3))if(n.velocity=0,t.visualDuration){const r=t.visualDuration,o=2*Math.PI/(r*1.2),l=o*o,u=2*Ra(.05,1,1-(t.bounce||0))*Math.sqrt(l);n={...n,mass:Fe.mass,stiffness:l,damping:u}}else{const r=U3({...t,velocity:0});n={...n,...r,mass:Fe.mass},n.isResolvedFromDuration=!0}return n}function Ol(t=Fe.visualDuration,n=Fe.bounce){const r=typeof t!="object"?{visualDuration:t,keyframes:[0,1],bounce:n}:t;let{restSpeed:o,restDelta:l}=r;const u=r.keyframes[0],d=r.keyframes[r.keyframes.length-1],f={done:!1,value:u},{stiffness:m,damping:p,mass:g,duration:v,velocity:b,isResolvedFromDuration:S}=B3({...r,velocity:-na(r.velocity||0)}),T=b||0,E=p/(2*Math.sqrt(m*g)),C=d-u,D=na(Math.sqrt(m/g)),V=Math.abs(C)<5;o||(o=V?Fe.restSpeed.granular:Fe.restSpeed.default),l||(l=V?Fe.restDelta.granular:Fe.restDelta.default);let N;if(E<1){const _=hh(D,E);N=Y=>{const Q=Math.exp(-E*D*Y);return d-Q*((T+E*D*C)/_*Math.sin(_*Y)+C*Math.cos(_*Y))}}else if(E===1)N=_=>d-Math.exp(-D*_)*(C+(T+D*C)*_);else{const _=D*Math.sqrt(E*E-1);N=Y=>{const Q=Math.exp(-E*D*Y),B=Math.min(_*Y,300);return d-Q*((T+E*D*C)*Math.sinh(B)+_*C*Math.cosh(B))/_}}const P={calculatedDuration:S&&v||null,next:_=>{const Y=N(_);if(S)f.done=_>=v;else{let Q=_===0?T:0;E<1&&(Q=_===0?fa(T):Sx(N,_,Y));const B=Math.abs(Q)<=o,X=Math.abs(d-Y)<=l;f.done=B&&X}return f.value=f.done?d:Y,f},toString:()=>{const _=Math.min(pf(P),Dl),Y=kx(Q=>P.next(_*Q).value,_,30);return _+"ms "+Y},toTransition:()=>{}};return P}Ol.applyToOptions=t=>{const n=q3(t,100,Ol);return t.ease=n.ease,t.duration=fa(n.duration),t.type="keyframes",t};function fh({keyframes:t,velocity:n=0,power:r=.8,timeConstant:o=325,bounceDamping:l=10,bounceStiffness:u=500,modifyTarget:d,min:f,max:m,restDelta:p=.5,restSpeed:g}){const v=t[0],b={done:!1,value:v},S=B=>f!==void 0&&B<f||m!==void 0&&B>m,T=B=>f===void 0?m:m===void 0||Math.abs(f-B)<Math.abs(m-B)?f:m;let E=r*n;const C=v+E,D=d===void 0?C:d(C);D!==C&&(E=D-v);const V=B=>-E*Math.exp(-B/o),N=B=>D+V(B),P=B=>{const X=V(B),oe=N(B);b.done=Math.abs(X)<=p,b.value=b.done?D:oe};let _,Y;const Q=B=>{S(b.value)&&(_=B,Y=Ol({keyframes:[b.value,T(b.value)],velocity:Sx(N,B,b.value),damping:l,stiffness:u,restDelta:p,restSpeed:g}))};return Q(0),{calculatedDuration:null,next:B=>{let X=!1;return!Y&&_===void 0&&(X=!0,P(B),Q(B)),_!==void 0&&B>=_?Y.next(B-_):(!X&&P(B),b)}}}function z3(t,n,r){const o=[],l=r||Qa.mix||xx,u=t.length-1;for(let d=0;d<u;d++){let f=l(t[d],t[d+1]);if(n){const m=Array.isArray(n)?n[d]||ia:n;f=js(m,f)}o.push(f)}return o}function I3(t,n,{clamp:r=!0,ease:o,mixer:l}={}){const u=t.length;if(sf(u===n.length),u===1)return()=>n[0];if(u===2&&n[0]===n[1])return()=>n[1];const d=t[0]===t[1];t[0]>t[u-1]&&(t=[...t].reverse(),n=[...n].reverse());const f=z3(n,o,l),m=f.length,p=g=>{if(d&&g<t[0])return n[0];let v=0;if(m>1)for(;v<t.length-2&&!(g<t[v+1]);v++);const b=Es(t[v],t[v+1],g);return f[v](b)};return r?g=>p(Ra(t[0],t[u-1],g)):p}function F3(t,n){const r=t[t.length-1];for(let o=1;o<=n;o++){const l=Es(0,n,o);t.push(Be(r,1,l))}}function W3(t){const n=[0];return F3(n,t.length-1),n}function G3(t,n){return t.map(r=>r*n)}function Y3(t,n){return t.map(()=>n||ux).splice(0,t.length-1)}function xs({duration:t=300,keyframes:n,times:r,ease:o="easeInOut"}){const l=i3(o)?o.map(Vv):Vv(o),u={done:!1,value:n[0]},d=G3(r&&r.length===n.length?r:W3(n),t),f=I3(d,n,{ease:Array.isArray(l)?l:Y3(n,l)});return{calculatedDuration:t,next:m=>(u.value=f(m),u.done=m>=t,u)}}const K3=t=>t!==null;function mf(t,{repeat:n,repeatType:r="loop"},o,l=1){const u=t.filter(K3),f=l<0||n&&r!=="loop"&&n%2===1?0:u.length-1;return!f||o===void 0?u[f]:o}const Q3={decay:fh,inertia:fh,tween:xs,keyframes:xs,spring:Ol};function Ax(t){typeof t.type=="string"&&(t.type=Q3[t.type])}class gf{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(n=>{this.resolve=n})}notifyFinished(){this.resolve()}then(n,r){return this.finished.then(n,r)}}const X3=t=>t/100;class yf extends gf{constructor(n){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{const{motionValue:r}=this.options;r&&r.updatedAt!==vt.now()&&this.tick(vt.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),this.options.onStop?.())},this.options=n,this.initAnimation(),this.play(),n.autoplay===!1&&this.pause()}initAnimation(){const{options:n}=this;Ax(n);const{type:r=xs,repeat:o=0,repeatDelay:l=0,repeatType:u,velocity:d=0}=n;let{keyframes:f}=n;const m=r||xs;m!==xs&&typeof f[0]!="number"&&(this.mixKeyframes=js(X3,xx(f[0],f[1])),f=[0,100]);const p=m({...n,keyframes:f});u==="mirror"&&(this.mirroredGenerator=m({...n,keyframes:[...f].reverse(),velocity:-d})),p.calculatedDuration===null&&(p.calculatedDuration=pf(p));const{calculatedDuration:g}=p;this.calculatedDuration=g,this.resolvedDuration=g+l,this.totalDuration=this.resolvedDuration*(o+1)-l,this.generator=p}updateTime(n){const r=Math.round(n-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=r}tick(n,r=!1){const{generator:o,totalDuration:l,mixKeyframes:u,mirroredGenerator:d,resolvedDuration:f,calculatedDuration:m}=this;if(this.startTime===null)return o.next(0);const{delay:p=0,keyframes:g,repeat:v,repeatType:b,repeatDelay:S,type:T,onUpdate:E,finalKeyframe:C}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,n):this.speed<0&&(this.startTime=Math.min(n-l/this.speed,this.startTime)),r?this.currentTime=n:this.updateTime(n);const D=this.currentTime-p*(this.playbackSpeed>=0?1:-1),V=this.playbackSpeed>=0?D<0:D>l;this.currentTime=Math.max(D,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=l);let N=this.currentTime,P=o;if(v){const B=Math.min(this.currentTime,l)/f;let X=Math.floor(B),oe=B%1;!oe&&B>=1&&(oe=1),oe===1&&X--,X=Math.min(X,v+1),X%2&&(b==="reverse"?(oe=1-oe,S&&(oe-=S/f)):b==="mirror"&&(P=d)),N=Ra(0,1,oe)*f}const _=V?{done:!1,value:g[0]}:P.next(N);u&&!V&&(_.value=u(_.value));let{done:Y}=_;!V&&m!==null&&(Y=this.playbackSpeed>=0?this.currentTime>=l:this.currentTime<=0);const Q=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&Y);return Q&&T!==fh&&(_.value=mf(g,this.options,C,this.speed)),E&&E(_.value),Q&&this.finish(),_}then(n,r){return this.finished.then(n,r)}get duration(){return na(this.calculatedDuration)}get iterationDuration(){const{delay:n=0}=this.options||{};return this.duration+na(n)}get time(){return na(this.currentTime)}set time(n){n=fa(n),this.currentTime=n,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=n:this.driver&&(this.startTime=this.driver.now()-n/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state="paused",this.holdTime=n,this.tick(n))}get speed(){return this.playbackSpeed}set speed(n){const r=this.playbackSpeed!==n;r&&this.driver&&this.updateTime(vt.now()),this.playbackSpeed=n,r&&this.driver&&(this.time=na(this.currentTime))}play(){if(this.isStopped)return;const{driver:n=V3,startTime:r}=this.options;this.driver||(this.driver=n(l=>this.tick(l))),this.options.onPlay?.();const o=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=o):this.holdTime!==null?this.startTime=o-this.holdTime:this.startTime||(this.startTime=r??o),this.state==="finished"&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(vt.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(n){return this.startTime=0,this.tick(n,!0)}attachTimeline(n){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),n.observe(this)}}function Z3(t){for(let n=1;n<t.length;n++)t[n]??(t[n]=t[n-1])}const ri=t=>t*180/Math.PI,ph=t=>{const n=ri(Math.atan2(t[1],t[0]));return mh(n)},$3={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:t=>(Math.abs(t[0])+Math.abs(t[3]))/2,rotate:ph,rotateZ:ph,skewX:t=>ri(Math.atan(t[1])),skewY:t=>ri(Math.atan(t[2])),skew:t=>(Math.abs(t[1])+Math.abs(t[2]))/2},mh=t=>(t=t%360,t<0&&(t+=360),t),Hv=ph,Bv=t=>Math.sqrt(t[0]*t[0]+t[1]*t[1]),zv=t=>Math.sqrt(t[4]*t[4]+t[5]*t[5]),J3={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:Bv,scaleY:zv,scale:t=>(Bv(t)+zv(t))/2,rotateX:t=>mh(ri(Math.atan2(t[6],t[5]))),rotateY:t=>mh(ri(Math.atan2(-t[2],t[0]))),rotateZ:Hv,rotate:Hv,skewX:t=>ri(Math.atan(t[4])),skewY:t=>ri(Math.atan(t[1])),skew:t=>(Math.abs(t[1])+Math.abs(t[4]))/2};function gh(t){return t.includes("scale")?1:0}function yh(t,n){if(!t||t==="none")return gh(n);const r=t.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let o,l;if(r)o=J3,l=r;else{const f=t.match(/^matrix\(([-\d.e\s,]+)\)$/u);o=$3,l=f}if(!l)return gh(n);const u=o[n],d=l[1].split(",").map(t2);return typeof u=="function"?u(d):d[u]}const e2=(t,n)=>{const{transform:r="none"}=getComputedStyle(t);return yh(r,n)};function t2(t){return parseFloat(t.trim())}const pr=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],mr=new Set(pr),Iv=t=>t===fr||t===ne,a2=new Set(["x","y","z"]),n2=pr.filter(t=>!a2.has(t));function i2(t){const n=[];return n2.forEach(r=>{const o=t.getValue(r);o!==void 0&&(n.push([r,o.get()]),o.set(r.startsWith("scale")?1:0))}),n}const Mn={width:({x:t},{paddingLeft:n="0",paddingRight:r="0"})=>t.max-t.min-parseFloat(n)-parseFloat(r),height:({y:t},{paddingTop:n="0",paddingBottom:r="0"})=>t.max-t.min-parseFloat(n)-parseFloat(r),top:(t,{top:n})=>parseFloat(n),left:(t,{left:n})=>parseFloat(n),bottom:({y:t},{top:n})=>parseFloat(n)+(t.max-t.min),right:({x:t},{left:n})=>parseFloat(n)+(t.max-t.min),x:(t,{transform:n})=>yh(n,"x"),y:(t,{transform:n})=>yh(n,"y")};Mn.translateX=Mn.x;Mn.translateY=Mn.y;const oi=new Set;let vh=!1,bh=!1,wh=!1;function Tx(){if(bh){const t=Array.from(oi).filter(o=>o.needsMeasurement),n=new Set(t.map(o=>o.element)),r=new Map;
vendor: 5,964 bytes, line 190
190n.forEach(o=>{const l=i2(o);l.length&&(r.set(o,l),o.render())}),t.forEach(o=>o.measureInitialState()),n.forEach(o=>{o.render();const l=r.get(o);l&&l.forEach(([u,d])=>{o.getValue(u)?.set(d)})}),t.forEach(o=>o.measureEndState()),t.forEach(o=>{o.suspendedScrollY!==void 0&&window.scrollTo(0,o.suspendedScrollY)})}bh=!1,vh=!1,oi.forEach(t=>t.complete(wh)),oi.clear()}function Cx(){oi.forEach(t=>{t.readKeyframes(),t.needsMeasurement&&(bh=!0)})}function r2(){wh=!0,Cx(),Tx(),wh=!1}class vf{constructor(n,r,o,l,u,d=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...n],this.onComplete=r,this.name=o,this.motionValue=l,this.element=u,this.isAsync=d}scheduleResolve(){this.state="scheduled",this.isAsync?(oi.add(this),vh||(vh=!0,Ue.read(Cx),Ue.resolveKeyframes(Tx))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:n,name:r,element:o,motionValue:l}=this;if(n[0]===null){const u=l?.get(),d=n[n.length-1];if(u!==void 0)n[0]=u;else if(o&&r){const f=o.readValue(r,d);f!=null&&(n[0]=f)}n[0]===void 0&&(n[0]=d),l&&u===void 0&&l.set(n[0])}Z3(n)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(n=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,n),oi.delete(this)}cancel(){this.state==="scheduled"&&(oi.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const s2=t=>t.startsWith("--");function Ex(t,n,r){s2(n)?t.style.setProperty(n,r):t.style[n]=r}const o2={};function Mx(t,n){const r=ex(t);return()=>o2[n]??r()}const l2=Mx(()=>window.ScrollTimeline!==void 0,"scrollTimeline"),Rx=Mx(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),vs=([t,n,r,o])=>`cubic-bezier(${t}, ${n}, ${r}, ${o})`,Fv={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:vs([0,.65,.55,1]),circOut:vs([.55,0,1,.45]),backIn:vs([.31,.01,.66,-.59]),backOut:vs([.33,1.53,.69,.99])};function Dx(t,n){if(t)return typeof t=="function"?Rx()?kx(t,n):"ease-out":dx(t)?vs(t):Array.isArray(t)?t.map(r=>Dx(r,n)||Fv.easeOut):Fv[t]}function c2(t,n,r,{delay:o=0,duration:l=300,repeat:u=0,repeatType:d="loop",ease:f="easeOut",times:m}={},p=void 0){const g={[n]:r};m&&(g.offset=m);const v=Dx(f,l);Array.isArray(v)&&(g.easing=v);const b={delay:o,duration:l,easing:Array.isArray(v)?"linear":v,fill:"both",iterations:u+1,direction:d==="reverse"?"alternate":"normal"};return p&&(b.pseudoElement=p),t.animate(g,b)}function Ox(t){return typeof t=="function"&&"applyToOptions"in t}function u2({type:t,...n}){return Ox(t)&&Rx()?t.applyToOptions(n):(n.duration??(n.duration=300),n.ease??(n.ease="easeOut"),n)}class Nx extends gf{constructor(n){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!n)return;const{element:r,name:o,keyframes:l,pseudoElement:u,allowFlatten:d=!1,finalKeyframe:f,onComplete:m}=n;this.isPseudoElement=!!u,this.allowFlatten=d,this.options=n,sf(typeof n.type!="string");const p=u2(n);this.animation=c2(r,o,l,p,u),p.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!u){const g=mf(l,this.options,f,this.speed);this.updateMotionValue&&this.updateMotionValue(g),Ex(r,o,g),this.animation.cancel()}m?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:n}=this;n==="idle"||n==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){const n=this.options?.element;!this.isPseudoElement&&n?.isConnected&&this.animation.commitStyles?.()}get duration(){const n=this.animation.effect?.getComputedTiming?.().duration||0;return na(Number(n))}get iterationDuration(){const{delay:n=0}=this.options||{};return this.duration+na(n)}get time(){return na(Number(this.animation.currentTime)||0)}set time(n){const r=this.finishedTime!==null;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=fa(n),r&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(n){n<0&&(this.finishedTime=null),this.animation.playbackRate=n}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(n){this.manualStartTime=this.animation.startTime=n}attachTimeline({timeline:n,rangeStart:r,rangeEnd:o,observe:l}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,n&&l2()?(this.animation.timeline=n,r&&(this.animation.rangeStart=r),o&&(this.animation.rangeEnd=o),ia):l(this)}}const Vx={anticipate:ox,backInOut:sx,circInOut:cx};function d2(t){return t in Vx}function h2(t){typeof t.ease=="string"&&d2(t.ease)&&(t.ease=Vx[t.ease])}const Vd=10;class f2 extends Nx{constructor(n){h2(n),Ax(n),super(n),n.startTime!==void 0&&(this.startTime=n.startTime),this.options=n}updateMotionValue(n){const{motionValue:r,onUpdate:o,onComplete:l,element:u,...d}=this.options;if(!r)return;if(n!==void 0){r.set(n);return}const f=new yf({...d,autoplay:!1}),m=Math.max(Vd,vt.now()-this.startTime),p=Ra(0,Vd,m-Vd),g=f.sample(m).value,{name:v}=this.options;u&&v&&Ex(u,v,g),r.setWithVelocity(f.sample(Math.max(0,m-p)).value,g,p),f.stop()}}const Wv=(t,n)=>n==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(pa.test(t)||t==="0")&&!t.startsWith("url("));function p2(t){const n=t[0];if(t.length===1)return!0;for(let r=0;r<t.length;r++)if(t[r]!==n)return!0}function m2(t,n,r,o){const l=t[0];if(l===null)return!1;if(n==="display"||n==="visibility")return!0;const u=t[t.length-1],d=Wv(l,n),f=Wv(u,n);
vendor: 4,842 bytes, line 190
190return!d||!f?!1:p2(t)||(r==="spring"||Ox(r))&&o}function xh(t){t.duration=0,t.type="keyframes"}const g2=new Set(["opacity","clipPath","filter","transform"]),y2=ex(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function v2(t){const{motionValue:n,name:r,repeatDelay:o,repeatType:l,damping:u,type:d}=t;if(!(n?.owner?.current instanceof HTMLElement))return!1;const{onUpdate:m,transformTemplate:p}=n.owner.getProps();return y2()&&r&&g2.has(r)&&(r!=="transform"||!p)&&!m&&!o&&l!=="mirror"&&u!==0&&d!=="inertia"}const b2=40;class w2 extends gf{constructor({autoplay:n=!0,delay:r=0,type:o="keyframes",repeat:l=0,repeatDelay:u=0,repeatType:d="loop",keyframes:f,name:m,motionValue:p,element:g,...v}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=vt.now();const b={autoplay:n,delay:r,type:o,repeat:l,repeatDelay:u,repeatType:d,name:m,motionValue:p,element:g,...v},S=g?.KeyframeResolver||vf;this.keyframeResolver=new S(f,(T,E,C)=>this.onKeyframesResolved(T,E,b,!C),m,p,g),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(n,r,o,l){this.keyframeResolver=void 0;const{name:u,type:d,velocity:f,delay:m,isHandoff:p,onUpdate:g}=o;this.resolvedAt=vt.now(),m2(n,u,d,f)||((Qa.instantAnimations||!m)&&g?.(mf(n,o,r)),n[0]=n[n.length-1],xh(o),o.repeat=0);const b={startTime:l?this.resolvedAt?this.resolvedAt-this.createdAt>b2?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:r,...o,keyframes:n},S=!p&&v2(b),T=b.motionValue?.owner?.current,E=S?new f2({...b,element:T}):new yf(b);E.finished.then(()=>{this.notifyFinished()}).catch(ia),this.pendingTimeline&&(this.stopTimeline=E.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=E}get finished(){return this._animation?this.animation.finished:this._finished}then(n,r){return this.finished.finally(n).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),r2()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(n){this.animation.time=n}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(n){this.animation.speed=n}get startTime(){return this.animation.startTime}attachTimeline(n){return this._animation?this.stopTimeline=this.animation.attachTimeline(n):this.pendingTimeline=n,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}function qx(t,n,r,o=0,l=1){const u=Array.from(t).sort((p,g)=>p.sortNodePosition(g)).indexOf(n),d=t.size,f=(d-1)*o;return typeof r=="function"?r(u,d):l===1?u*o:f-u*o}const x2=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function k2(t){const n=x2.exec(t);if(!n)return[,];const[,r,o,l]=n;return[`--${r??o}`,l]}function jx(t,n,r=1){const[o,l]=k2(t);if(!o)return;const u=window.getComputedStyle(n).getPropertyValue(o);if(u){const d=u.trim();return Z0(d)?parseFloat(d):d}return uf(l)?jx(l,n,r+1):l}const S2={type:"spring",stiffness:500,damping:25,restSpeed:10},A2=t=>({type:"spring",stiffness:550,damping:t===0?2*Math.sqrt(550):30,restSpeed:10}),T2={type:"keyframes",duration:.8},C2={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},E2=(t,{keyframes:n})=>n.length>2?T2:mr.has(t)?t.startsWith("scale")?A2(n[1]):S2:C2,M2=t=>t!==null;function R2(t,{repeat:n,repeatType:r="loop"},o){const l=t.filter(M2),u=n&&r!=="loop"&&n%2===1?0:l.length-1;return l[u]}function Ux(t,n){if(t?.inherit&&n){const{inherit:r,...o}=t;return{...n,...o}}return t}function bf(t,n){const r=t?.[n]??t?.default??t;return r!==t?Ux(r,t):r}function D2({when:t,delay:n,delayChildren:r,staggerChildren:o,staggerDirection:l,repeat:u,repeatType:d,repeatDelay:f,from:m,elapsed:p,...g}){return!!Object.keys(g).length}const wf=(t,n,r,o={},l,u)=>d=>{const f=bf(o,t)||{},m=f.delay||o.delay||0;let{elapsed:p=0}=o;p=p-fa(m);const g={keyframes:Array.isArray(r)?r:[null,r],ease:"easeOut",velocity:n.getVelocity(),...f,delay:-p,onUpdate:b=>{n.set(b),f.onUpdate&&f.onUpdate(b)},onComplete:()=>{d(),f.onComplete&&f.onComplete()},name:t,motionValue:n,element:u?void 0:l};D2(f)||Object.assign(g,E2(t,g)),g.duration&&(g.duration=fa(g.duration)),g.repeatDelay&&(g.repeatDelay=fa(g.repeatDelay)),g.from!==void 0&&(g.keyframes[0]=g.from);let v=!1;if((g.type===!1||g.duration===0&&!g.repeatDelay)&&(xh(g),g.delay===0&&(v=!0)),(Qa.instantAnimations||Qa.skipAnimations||l?.shouldSkipAnimations)&&(v=!0,xh(g),g.delay=0),g.allowFlatten=!f.type&&!f.ease,v&&!u&&n.get()!==void 0){const b=R2(g.keyframes,f);if(b!==void 0){Ue.update(()=>{g.onUpdate(b),g.onComplete()});return}}return f.isSync?new yf(g):new w2(g)};function Gv(t){const n=[{},{}];
vendor: 19,158 bytes, line 190
190return t?.values.forEach((r,o)=>{n[0][o]=r.get(),n[1][o]=r.getVelocity()}),n}function xf(t,n,r,o){if(typeof n=="function"){const[l,u]=Gv(o);n=n(r!==void 0?r:t.custom,l,u)}if(typeof n=="string"&&(n=t.variants&&t.variants[n]),typeof n=="function"){const[l,u]=Gv(o);n=n(r!==void 0?r:t.custom,l,u)}return n}function sr(t,n,r){const o=t.getProps();return xf(o,n,r!==void 0?r:o.custom,t)}const Px=new Set(["width","height","top","left","right","bottom",...pr]),Yv=30,O2=t=>!isNaN(parseFloat(t));class N2{constructor(n,r={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=o=>{const l=vt.now();if(this.updatedAt!==l&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(o),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(const u of this.dependents)u.dirty()},this.hasAnimated=!1,this.setCurrent(n),this.owner=r.owner}setCurrent(n){this.current=n,this.updatedAt=vt.now(),this.canTrackVelocity===null&&n!==void 0&&(this.canTrackVelocity=O2(this.current))}setPrevFrameValue(n=this.current){this.prevFrameValue=n,this.prevUpdatedAt=this.updatedAt}onChange(n){return this.on("change",n)}on(n,r){this.events[n]||(this.events[n]=new of);const o=this.events[n].add(r);return n==="change"?()=>{o(),Ue.read(()=>{this.events.change.getSize()||this.stop()})}:o}clearListeners(){for(const n in this.events)this.events[n].clear()}attach(n,r){this.passiveEffect=n,this.stopPassiveEffect=r}set(n){this.passiveEffect?this.passiveEffect(n,this.updateAndNotify):this.updateAndNotify(n)}setWithVelocity(n,r,o){this.set(r),this.prev=void 0,this.prevFrameValue=n,this.prevUpdatedAt=this.updatedAt-o}jump(n,r=!0){this.updateAndNotify(n),this.prev=n,this.prevUpdatedAt=this.prevFrameValue=void 0,r&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(n){this.dependents||(this.dependents=new Set),this.dependents.add(n)}removeDependent(n){this.dependents&&this.dependents.delete(n)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const n=vt.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||n-this.updatedAt>Yv)return 0;const r=Math.min(this.updatedAt-this.prevUpdatedAt,Yv);return tx(parseFloat(this.current)-parseFloat(this.prevFrameValue),r)}start(n){return this.stop(),new Promise(r=>{this.hasAnimated=!0,this.animation=n(r),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function ur(t,n){return new N2(t,n)}const kh=t=>Array.isArray(t);function V2(t,n,r){t.hasValue(n)?t.getValue(n).set(r):t.addValue(n,ur(r))}function q2(t){return kh(t)?t[t.length-1]||0:t}function j2(t,n){const r=sr(t,n);let{transitionEnd:o={},transition:l={},...u}=r||{};u={...u,...o};for(const d in u){const f=q2(u[d]);V2(t,d,f)}}const ft=t=>!!(t&&t.getVelocity);function U2(t){return!!(ft(t)&&t.add)}function Sh(t,n){const r=t.getValue("willChange");if(U2(r))return r.add(n);if(!r&&Qa.WillChange){const o=new Qa.WillChange("auto");t.addValue("willChange",o),o.add(n)}}function kf(t){return t.replace(/([A-Z])/g,n=>`-${n.toLowerCase()}`)}const P2="framerAppearId",_x="data-"+kf(P2);function Lx(t){return t.props[_x]}function _2({protectedKeys:t,needsAnimating:n},r){const o=t.hasOwnProperty(r)&&n[r]!==!0;return n[r]=!1,o}function Hx(t,n,{delay:r=0,transitionOverride:o,type:l}={}){let{transition:u,transitionEnd:d,...f}=n;const m=t.getDefaultTransition();u=u?Ux(u,m):m;const p=u?.reduceMotion;o&&(u=o);const g=[],v=l&&t.animationState&&t.animationState.getState()[l];for(const b in f){const S=t.getValue(b,t.latestValues[b]??null),T=f[b];if(T===void 0||v&&_2(v,b))continue;const E={delay:r,...bf(u||{},b)},C=S.get();if(C!==void 0&&!S.isAnimating&&!Array.isArray(T)&&T===C&&!E.velocity)continue;let D=!1;if(window.MotionHandoffAnimation){const P=Lx(t);if(P){const _=window.MotionHandoffAnimation(P,b,Ue);_!==null&&(E.startTime=_,D=!0)}}Sh(t,b);const V=p??t.shouldReduceMotion;S.start(wf(b,S,T,V&&Px.has(b)?{type:!1}:E,t,D));const N=S.animation;N&&g.push(N)}if(d){const b=()=>Ue.update(()=>{d&&j2(t,d)});g.length?Promise.all(g).then(b):b()}return g}function Ah(t,n,r={}){const o=sr(t,n,r.type==="exit"?t.presenceContext?.custom:void 0);let{transition:l=t.getDefaultTransition()||{}}=o||{};r.transitionOverride&&(l=r.transitionOverride);const u=o?()=>Promise.all(Hx(t,o,r)):()=>Promise.resolve(),d=t.variantChildren&&t.variantChildren.size?(m=0)=>{const{delayChildren:p=0,staggerChildren:g,staggerDirection:v}=l;return L2(t,n,m,p,g,v,r)}:()=>Promise.resolve(),{when:f}=l;if(f){const[m,p]=f==="beforeChildren"?[u,d]:[d,u];return m().then(()=>p())}else return Promise.all([u(),d(r.delay)])}function L2(t,n,r=0,o=0,l=0,u=1,d){const f=[];for(const m of t.variantChildren)m.notify("AnimationStart",n),f.push(Ah(m,n,{...d,delay:r+(typeof o=="function"?0:o)+qx(t.variantChildren,m,o,l,u)}).then(()=>m.notify("AnimationComplete",n)));return Promise.all(f)}function H2(t,n,r={}){t.notify("AnimationStart",n);let o;if(Array.isArray(n)){const l=n.map(u=>Ah(t,u,r));o=Promise.all(l)}else if(typeof n=="string")o=Ah(t,n,r);else{const l=typeof n=="function"?sr(t,n,r.custom):n;o=Promise.all(Hx(t,l,r))}return o.then(()=>{t.notify("AnimationComplete",n)})}const B2={test:t=>t==="auto",parse:t=>t},Bx=t=>n=>n.test(t),zx=[fr,ne,Ma,En,y3,g3,B2],Kv=t=>zx.find(Bx(t));function z2(t){return typeof t=="number"?t===0:t!==null?t==="none"||t==="0"||J0(t):!0}const I2=new Set(["brightness","contrast","saturate","opacity"]);function F2(t){const[n,r]=t.slice(0,-1).split("(");if(n==="drop-shadow")return t;const[o]=r.match(df)||[];if(!o)return t;const l=r.replace(o,"");let u=I2.has(n)?1:0;return o!==r&&(u*=100),n+"("+u+l+")"}const W2=/\b([a-z-]*)\(.*?\)/gu,Th={...pa,getAnimatableNone:t=>{const n=t.match(W2);return n?n.map(F2).join(" "):t}},Ch={...pa,getAnimatableNone:t=>{const n=pa.parse(t);return pa.createTransformer(t)(n.map(o=>typeof o=="number"?0:typeof o=="object"?{...o,alpha:1}:o))}},Qv={...fr,transform:Math.round},G2={rotate:En,rotateX:En,rotateY:En,rotateZ:En,scale:ol,scaleX:ol,scaleY:ol,scaleZ:ol,skew:En,skewX:En,skewY:En,distance:ne,translateX:ne,translateY:ne,translateZ:ne,x:ne,y:ne,z:ne,perspective:ne,transformPerspective:ne,opacity:Ms,originX:jv,originY:jv,originZ:ne},Sf={borderWidth:ne,borderTopWidth:ne,borderRightWidth:ne,borderBottomWidth:ne,borderLeftWidth:ne,borderRadius:ne,borderTopLeftRadius:ne,borderTopRightRadius:ne,borderBottomRightRadius:ne,borderBottomLeftRadius:ne,width:ne,maxWidth:ne,height:ne,maxHeight:ne,top:ne,right:ne,bottom:ne,left:ne,inset:ne,insetBlock:ne,insetBlockStart:ne,insetBlockEnd:ne,insetInline:ne,insetInlineStart:ne,insetInlineEnd:ne,padding:ne,paddingTop:ne,paddingRight:ne,paddingBottom:ne,paddingLeft:ne,paddingBlock:ne,paddingBlockStart:ne,paddingBlockEnd:ne,paddingInline:ne,paddingInlineStart:ne,paddingInlineEnd:ne,margin:ne,marginTop:ne,marginRight:ne,marginBottom:ne,marginLeft:ne,marginBlock:ne,marginBlockStart:ne,marginBlockEnd:ne,marginInline:ne,marginInlineStart:ne,marginInlineEnd:ne,fontSize:ne,backgroundPositionX:ne,backgroundPositionY:ne,...G2,zIndex:Qv,fillOpacity:Ms,strokeOpacity:Ms,numOctaves:Qv},Y2={...Sf,color:Qe,backgroundColor:Qe,outlineColor:Qe,fill:Qe,stroke:Qe,borderColor:Qe,borderTopColor:Qe,borderRightColor:Qe,borderBottomColor:Qe,borderLeftColor:Qe,filter:Th,WebkitFilter:Th,mask:Ch,WebkitMask:Ch},Ix=t=>Y2[t],K2=new Set([Th,Ch]);function Fx(t,n){let r=Ix(t);return K2.has(r)||(r=pa),r.getAnimatableNone?r.getAnimatableNone(n):void 0}const Q2=new Set(["auto","none","0"]);function X2(t,n,r){let o=0,l;for(;o<t.length&&!l;){const u=t[o];typeof u=="string"&&!Q2.has(u)&&Rs(u).values.length&&(l=t[o]),o++}if(l&&r)for(const u of n)t[u]=Fx(r,l)}class Z2 extends vf{constructor(n,r,o,l,u){super(n,r,o,l,u,!0)}readKeyframes(){const{unresolvedKeyframes:n,element:r,name:o}=this;if(!r||!r.current)return;super.readKeyframes();for(let g=0;g<n.length;g++){let v=n[g];if(typeof v=="string"&&(v=v.trim(),uf(v))){const b=jx(v,r.current);b!==void 0&&(n[g]=b),g===n.length-1&&(this.finalKeyframe=v)}}if(this.resolveNoneKeyframes(),!Px.has(o)||n.length!==2)return;const[l,u]=n,d=Kv(l),f=Kv(u),m=qv(l),p=qv(u);if(m!==p&&Mn[o]){this.needsMeasurement=!0;return}if(d!==f)if(Iv(d)&&Iv(f))for(let g=0;g<n.length;g++){const v=n[g];typeof v=="string"&&(n[g]=parseFloat(v))}else Mn[o]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:n,name:r}=this,o=[];for(let l=0;l<n.length;l++)(n[l]===null||z2(n[l]))&&o.push(l);o.length&&X2(n,o,r)}measureInitialState(){const{element:n,unresolvedKeyframes:r,name:o}=this;if(!n||!n.current)return;o==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=Mn[o](n.measureViewportBox(),window.getComputedStyle(n.current)),r[0]=this.measuredOrigin;const l=r[r.length-1];l!==void 0&&n.getValue(o,l).jump(l,!1)}measureEndState(){const{element:n,name:r,unresolvedKeyframes:o}=this;if(!n||!n.current)return;const l=n.getValue(r);l&&l.jump(this.measuredOrigin,!1);const u=o.length-1,d=o[u];o[u]=Mn[r](n.measureViewportBox(),window.getComputedStyle(n.current)),d!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=d),this.removedTransforms?.length&&this.removedTransforms.forEach(([f,m])=>{n.getValue(f).set(m)}),this.resolveNoneKeyframes()}}const $2=new Set(["opacity","clipPath","filter","transform"]);function Wx(t,n,r){if(t==null)return[];if(t instanceof EventTarget)return[t];if(typeof t=="string"){let o=document;const l=r?.[t]??o.querySelectorAll(t);return l?Array.from(l):[]}return Array.from(t).filter(o=>o!=null)}const Gx=(t,n)=>n&&typeof t=="number"?n.transform(t):t;function Eh(t){return $0(t)&&"offsetHeight"in t}const{schedule:Af}=hx(queueMicrotask,!1),da={x:!1,y:!1};function Yx(){return da.x||da.y}function J2(t){return t==="x"||t==="y"?da[t]?null:(da[t]=!0,()=>{da[t]=!1}):da.x||da.y?null:(da.x=da.y=!0,()=>{da.x=da.y=!1})}function Kx(t,n){const r=Wx(t),o=new AbortController,l={passive:!0,...n,signal:o.signal};return[r,l,()=>o.abort()]}function eN(t){return!(t.pointerType==="touch"||Yx())}function tN(t,n,r={}){const[o,l,u]=Kx(t,r);return o.forEach(d=>{let f=!1,m=!1,p;const g=()=>{d.removeEventListener("pointerleave",T)},v=C=>{p&&(p(C),p=void 0),g()},b=C=>{f=!1,window.removeEventListener("pointerup",b),window.removeEventListener("pointercancel",b),m&&(m=!1,v(C))},S=()=>{f=!0,window.addEventListener("pointerup",b,l),window.addEventListener("pointercancel",b,l)},T=C=>{if(C.pointerType!=="touch"){if(f){m=!0;return}v(C)}},E=C=>{if(!eN(C))return;m=!1;const D=n(d,C);typeof D=="function"&&(p=D,d.addEventListener("pointerleave",T,l))};d.addEventListener("pointerenter",E,l),d.addEventListener("pointerdown",S,l)}),u}const Qx=(t,n)=>n?t===n?!0:Qx(t,n.parentElement):!1,Tf=t=>t.pointerType==="mouse"?typeof t.button!="number"||t.button<=0:t.isPrimary!==!1,aN=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function nN(t){return aN.has(t.tagName)||t.isContentEditable===!0}const iN=new Set(["INPUT","SELECT","TEXTAREA"]);function rN(t){return iN.has(t.tagName)||t.isContentEditable===!0}const ml=new WeakSet;function Xv(t){return n=>{n.key==="Enter"&&t(n)}}function qd(t,n){t.dispatchEvent(new PointerEvent("pointer"+n,{isPrimary:!0,bubbles:!0}))}const sN=(t,n)=>{const r=t.currentTarget;if(!r)return;const o=Xv(()=>{if(ml.has(r))return;qd(r,"down");const l=Xv(()=>{qd(r,"up")}),u=()=>qd(r,"cancel");r.addEventListener("keyup",l,n),r.addEventListener("blur",u,n)});r.addEventListener("keydown",o,n),r.addEventListener("blur",()=>r.removeEventListener("keydown",o),n)};function Zv(t){return Tf(t)&&!Yx()}const $v=new WeakSet;function oN(t,n,r={}){const[o,l,u]=Kx(t,r),d=f=>{const m=f.currentTarget;if(!Zv(f)||$v.has(f))return;ml.add(m),r.stopPropagation&&$v.add(f);const p=n(m,f),g=(S,T)=>{window.removeEventListener("pointerup",v),window.removeEventListener("pointercancel",b),ml.has(m)&&ml.delete(m),Zv(S)&&typeof p=="function"&&p(S,{success:T})},v=S=>{g(S,m===window||m===document||r.useGlobalTarget||Qx(m,S.target))},b=S=>{g(S,!1)};window.addEventListener("pointerup",v,l),window.addEventListener("pointercancel",b,l)};return o.forEach(f=>{(r.useGlobalTarget?window:f).addEventListener("pointerdown",d,l),Eh(f)&&(f.addEventListener("focus",p=>sN(p,l)),!nN(f)&&!f.hasAttribute("tabindex")&&(f.tabIndex=0))}),u}function Cf(t){return $0(t)&&"ownerSVGElement"in t}const gl=new WeakMap;let yl;const Xx=(t,n,r)=>(o,l)=>l&&l[0]?l[0][t+"Size"]:Cf(o)&&"getBBox"in o?o.getBBox()[n]:o[r],lN=Xx("inline","width","offsetWidth"),cN=Xx("block","height","offsetHeight");function uN({target:t,borderBoxSize:n}){gl.get(t)?.forEach(r=>{r(t,{get width(){return lN(t,n)},get height(){return cN(t,n)}})})}function dN(t){t.forEach(uN)}function hN(){typeof ResizeObserver>"u"||(yl=new ResizeObserver(dN))}function fN(t,n){yl||hN();const r=Wx(t);return r.forEach(o=>{let l=gl.get(o);l||(l=new Set,gl.set(o,l)),l.add(n),yl?.observe(o)}),()=>{r.forEach(o=>{const l=gl.get(o);l?.delete(n),l?.size||yl?.unobserve(o)})}}const vl=new Set;let tr;function pN(){tr=()=>{const t={get width(){return window.innerWidth},get height(){return window.innerHeight}};vl.forEach(n=>n(t))},window.addEventListener("resize",tr)}function mN(t){return vl.add(t),tr||pN(),()=>{vl.delete(t),!vl.size&&typeof tr=="function"&&(window.removeEventListener("resize",tr),tr=void 0)}}function Jv(t,n){return typeof t=="function"?mN(t):fN(t,n)}function gN(t){return Cf(t)&&t.tagName==="svg"}const yN=[...zx,Qe,pa],vN=t=>yN.find(Bx(t)),eb=()=>({translate:0,scale:1,origin:0,originPoint:0}),ar=()=>({x:eb(),y:eb()}),tb=()=>({min:0,max:0}),Je=()=>({x:tb(),y:tb()}),bN=new WeakMap;function Zl(t){return t!==null&&typeof t=="object"&&typeof t.start=="function"}function Ds(t){return typeof t=="string"||Array.isArray(t)}const Ef=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],Mf=["initial",...Ef];function $l(t){return Zl(t.animate)||Mf.some(n=>Ds(t[n]))}function Zx(t){return!!($l(t)||t.variants)}function wN(t,n,r){for(const o in n){const l=n[o],u=r[o];if(ft(l))t.addValue(o,l);else if(ft(u))t.addValue(o,ur(l,{owner:t}));else if(u!==l)if(t.hasValue(o)){const d=t.getValue(o);d.liveStyle===!0?d.jump(l):d.hasAnimated||d.set(l)}else{const d=t.getStaticValue(o);t.addValue(o,ur(d!==void 0?d:l,{owner:t}))}}for(const o in r)n[o]===void 0&&t.removeValue(o);return n}const Mh={current:null},$x={current:!1},xN=typeof window<"u";function kN(){if($x.current=!0,!!xN)if(window.matchMedia){const t=window.matchMedia("(prefers-reduced-motion)"),n=()=>Mh.current=t.matches;t.addEventListener("change",n),n()}else Mh.current=!1}const ab=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];let Nl={};function Jx(t){Nl=t}function SN(){return Nl}class AN{scrapeMotionValuesFromProps(n,r,o){return{}}constructor({parent:n,props:r,presenceContext:o,reducedMotionConfig:l,skipAnimations:u,blockInitialAnimation:d,visualState:f},m={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=vf,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const S=vt.now();this.renderScheduledAt<S&&(this.renderScheduledAt=S,Ue.render(this.render,!1,!0))};const{latestValues:p,renderState:g}=f;this.latestValues=p,this.baseTarget={...p},this.initialValues=r.initial?{...p}:{},this.renderState=g,this.parent=n,this.props=r,this.presenceContext=o,this.depth=n?n.depth+1:0,this.reducedMotionConfig=l,this.skipAnimationsConfig=u,this.options=m,this.blockInitialAnimation=!!d,this.isControllingVariants=$l(r),this.isVariantNode=Zx(r),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(n&&n.current);const{willChange:v,...b}=this.scrapeMotionValuesFromProps(r,{},this);for(const S in b){const T=b[S];p[S]!==void 0&&ft(T)&&T.set(p[S])}}mount(n){if(this.hasBeenMounted)for(const r in this.initialValues)this.values.get(r)?.jump(this.initialValues[r]),this.latestValues[r]=this.initialValues[r];this.current=n,bN.set(n,this),this.projection&&!this.projection.instance&&this.projection.mount(n),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((r,o)=>this.bindToMotionValue(o,r)),this.reducedMotionConfig==="never"?this.shouldReduceMotion=!1:this.reducedMotionConfig==="always"?this.shouldReduceMotion=!0:($x.current||kN(),this.shouldReduceMotion=Mh.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){this.projection&&this.projection.unmount(),Vn(this.notifyUpdate),Vn(this.render),this.valueSubscriptions.forEach(n=>n()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(const n in this.events)this.events[n].clear();for(const n in this.features){const r=this.features[n];r&&(r.unmount(),r.isMounted=!1)}this.current=null}addChild(n){this.children.add(n),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(n)}removeChild(n){this.children.delete(n),this.enteringChildren&&this.enteringChildren.delete(n)}bindToMotionValue(n,r){if(this.valueSubscriptions.has(n)&&this.valueSubscriptions.get(n)(),r.accelerate&&$2.has(n)&&this.current instanceof HTMLElement){const{factory:d,keyframes:f,times:m,ease:p,duration:g}=r.accelerate,v=new Nx({element:this.current,name:n,keyframes:f,times:m,ease:p,duration:fa(g)}),b=d(v);this.valueSubscriptions.set(n,()=>{b(),v.cancel()});return}const o=mr.has(n);o&&this.onBindTransform&&this.onBindTransform();const l=r.on("change",d=>{this.latestValues[n]=d,this.props.onUpdate&&Ue.preRender(this.notifyUpdate),o&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let u;typeof window<"u"&&window.MotionCheckAppearSync&&(u=window.MotionCheckAppearSync(this,n,r)),this.valueSubscriptions.set(n,()=>{l(),u&&u(),r.owner&&r.stop()})}sortNodePosition(n){return!this.current||!this.sortInstanceNodePosition||this.type!==n.type?0:this.sortInstanceNodePosition(this.current,n.current)}updateFeatures(){let n="animation";for(n in Nl){const r=Nl[n];if(!r)continue;const{isEnabled:o,Feature:l}=r;if(!this.features[n]&&l&&o(this.props)&&(this.features[n]=new l(this)),this.features[n]){const u=this.features[n];
vendor: 8,261 bytes, line 190
190u.isMounted?u.update():(u.mount(),u.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Je()}getStaticValue(n){return this.latestValues[n]}setStaticValue(n,r){this.latestValues[n]=r}update(n,r){(n.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=n,this.prevPresenceContext=this.presenceContext,this.presenceContext=r;for(let o=0;o<ab.length;o++){const l=ab[o];this.propEventSubscriptions[l]&&(this.propEventSubscriptions[l](),delete this.propEventSubscriptions[l]);const u="on"+l,d=n[u];d&&(this.propEventSubscriptions[l]=this.on(l,d))}this.prevMotionValues=wN(this,this.scrapeMotionValuesFromProps(n,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(n){return this.props.variants?this.props.variants[n]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(n){const r=this.getClosestVariantNode();if(r)return r.variantChildren&&r.variantChildren.add(n),()=>r.variantChildren.delete(n)}addValue(n,r){const o=this.values.get(n);r!==o&&(o&&this.removeValue(n),this.bindToMotionValue(n,r),this.values.set(n,r),this.latestValues[n]=r.get())}removeValue(n){this.values.delete(n);const r=this.valueSubscriptions.get(n);r&&(r(),this.valueSubscriptions.delete(n)),delete this.latestValues[n],this.removeValueFromRenderState(n,this.renderState)}hasValue(n){return this.values.has(n)}getValue(n,r){if(this.props.values&&this.props.values[n])return this.props.values[n];let o=this.values.get(n);return o===void 0&&r!==void 0&&(o=ur(r===null?void 0:r,{owner:this}),this.addValue(n,o)),o}readValue(n,r){let o=this.latestValues[n]!==void 0||!this.current?this.latestValues[n]:this.getBaseTargetFromProps(this.props,n)??this.readValueFromInstance(this.current,n,this.options);return o!=null&&(typeof o=="string"&&(Z0(o)||J0(o))?o=parseFloat(o):!vN(o)&&pa.test(r)&&(o=Fx(n,r)),this.setBaseTarget(n,ft(o)?o.get():o)),ft(o)?o.get():o}setBaseTarget(n,r){this.baseTarget[n]=r}getBaseTarget(n){const{initial:r}=this.props;let o;if(typeof r=="string"||typeof r=="object"){const u=xf(this.props,r,this.presenceContext?.custom);u&&(o=u[n])}if(r&&o!==void 0)return o;const l=this.getBaseTargetFromProps(this.props,n);return l!==void 0&&!ft(l)?l:this.initialValues[n]!==void 0&&o===void 0?void 0:this.baseTarget[n]}on(n,r){return this.events[n]||(this.events[n]=new of),this.events[n].add(r)}notify(n,...r){this.events[n]&&this.events[n].notify(...r)}scheduleRenderMicrotask(){Af.render(this.render)}}class ek extends AN{constructor(){super(...arguments),this.KeyframeResolver=Z2}sortInstanceNodePosition(n,r){return n.compareDocumentPosition(r)&2?1:-1}getBaseTargetFromProps(n,r){const o=n.style;return o?o[r]:void 0}removeValueFromRenderState(n,{vars:r,style:o}){delete r[n],delete o[n]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:n}=this.props;ft(n)&&(this.childSubscription=n.on("change",r=>{this.current&&(this.current.textContent=`${r}`)}))}}class jn{constructor(n){this.isMounted=!1,this.node=n}update(){}}function tk({top:t,left:n,right:r,bottom:o}){return{x:{min:n,max:r},y:{min:t,max:o}}}function TN({x:t,y:n}){return{top:n.min,right:t.max,bottom:n.max,left:t.min}}function CN(t,n){if(!n)return t;const r=n({x:t.left,y:t.top}),o=n({x:t.right,y:t.bottom});return{top:r.y,left:r.x,bottom:o.y,right:o.x}}function jd(t){return t===void 0||t===1}function Rh({scale:t,scaleX:n,scaleY:r}){return!jd(t)||!jd(n)||!jd(r)}function ni(t){return Rh(t)||ak(t)||t.z||t.rotate||t.rotateX||t.rotateY||t.skewX||t.skewY}function ak(t){return nb(t.x)||nb(t.y)}function nb(t){return t&&t!=="0%"}function Vl(t,n,r){const o=t-r,l=n*o;return r+l}function ib(t,n,r,o,l){return l!==void 0&&(t=Vl(t,l,o)),Vl(t,r,o)+n}function Dh(t,n=0,r=1,o,l){t.min=ib(t.min,n,r,o,l),t.max=ib(t.max,n,r,o,l)}function nk(t,{x:n,y:r}){Dh(t.x,n.translate,n.scale,n.originPoint),Dh(t.y,r.translate,r.scale,r.originPoint)}const rb=.999999999999,sb=1.0000000000001;function EN(t,n,r,o=!1){const l=r.length;if(!l)return;n.x=n.y=1;let u,d;for(let f=0;f<l;f++){u=r[f],d=u.projectionDelta;const{visualElement:m}=u.options;m&&m.props.style&&m.props.style.display==="contents"||(o&&u.options.layoutScroll&&u.scroll&&u!==u.root&&ir(t,{x:-u.scroll.offset.x,y:-u.scroll.offset.y}),d&&(n.x*=d.x.scale,n.y*=d.y.scale,nk(t,d)),o&&ni(u.latestValues)&&ir(t,u.latestValues))}n.x<sb&&n.x>rb&&(n.x=1),n.y<sb&&n.y>rb&&(n.y=1)}function nr(t,n){t.min=t.min+n,t.max=t.max+n}function ob(t,n,r,o,l=.5){const u=Be(t.min,t.max,l);Dh(t,n,r,u,o)}function lb(t,n){return typeof t=="string"?parseFloat(t)/100*(n.max-n.min):t}function ir(t,n){ob(t.x,lb(n.x,t.x),n.scaleX,n.scale,n.originX),ob(t.y,lb(n.y,t.y),n.scaleY,n.scale,n.originY)}function ik(t,n){return tk(CN(t.getBoundingClientRect(),n))}function MN(t,n,r){const o=ik(t,r),{scroll:l}=n;return l&&(nr(o.x,l.offset.x),nr(o.y,l.offset.y)),o}const RN={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},DN=pr.length;function ON(t,n,r){let o="",l=!0;for(let u=0;u<DN;u++){const d=pr[u],f=t[d];if(f===void 0)continue;let m=!0;if(typeof f=="number")m=f===(d.startsWith("scale")?1:0);else{const p=parseFloat(f);m=d.startsWith("scale")?p===1:p===0}if(!m||r){const p=Gx(f,Sf[d]);if(!m){l=!1;const g=RN[d]||d;o+=`${g}(${p}) `}r&&(n[d]=p)}}return o=o.trim(),r?o=r(n,l?"":o):l&&(o="none"),o}function Rf(t,n,r){const{style:o,vars:l,transformOrigin:u}=t;let d=!1,f=!1;for(const m in n){const p=n[m];if(mr.has(m)){d=!0;continue}else if(px(m)){l[m]=p;continue}else{const g=Gx(p,Sf[m]);m.startsWith("origin")?(f=!0,u[m]=g):o[m]=g}}if(n.transform||(d||r?o.transform=ON(n,t.transform,r):o.transform&&(o.transform="none")),f){const{originX:m="50%",originY:p="50%",originZ:g=0}=u;o.transformOrigin=`${m} ${p} ${g}`}}function rk(t,{style:n,vars:r},o,l){const u=t.style;let d;for(d in n)u[d]=n[d];l?.applyProjectionStyles(u,o);for(d in r)u.setProperty(d,r[d])}function cb(t,n){return n.max===n.min?0:t/(n.max-n.min)*100}const ys={correct:(t,n)=>{if(!n.target)return t;if(typeof t=="string")if(ne.test(t))t=parseFloat(t);else return t;const r=cb(t,n.target.x),o=cb(t,n.target.y);return`${r}% ${o}%`}},NN={correct:(t,{treeScale:n,projectionDelta:r})=>{const o=t,l=pa.parse(t);if(l.length>5)return o;const u=pa.createTransformer(t),d=typeof l[0]!="number"?1:0,f=r.x.scale*n.x,m=r.y.scale*n.y;l[0+d]/=f,l[1+d]/=m;const p=Be(f,m,.5);return typeof l[2+d]=="number"&&(l[2+d]/=p),typeof l[3+d]=="number"&&(l[3+d]/=p),u(l)}},Oh={borderRadius:{...ys,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:ys,borderTopRightRadius:ys,borderBottomLeftRadius:ys,borderBottomRightRadius:ys,boxShadow:NN};function sk(t,{layout:n,layoutId:r}){return mr.has(t)||t.startsWith("origin")||(n||r!==void 0)&&(!!Oh[t]||t==="opacity")}function Df(t,n,r){const o=t.style,l=n?.style,u={};if(!o)return u;for(const d in o)(ft(o[d])||l&&ft(l[d])||sk(d,t)||r?.getValue(d)?.liveStyle!==void 0)&&(u[d]=o[d]);return u}function VN(t){return window.getComputedStyle(t)}class qN extends ek{constructor(){super(...arguments),this.type="html",this.renderInstance=rk}readValueFromInstance(n,r){if(mr.has(r))return this.projection?.isProjecting?gh(r):e2(n,r);{const o=VN(n),l=(px(r)?o.getPropertyValue(r):o[r])||0;return typeof l=="string"?l.trim():l}}measureInstanceViewportBox(n,{transformPagePoint:r}){return ik(n,r)}build(n,r,o){Rf(n,r,o.transformTemplate)}scrapeMotionValuesFromProps(n,r,o){return Df(n,r,o)}}const jN={offset:"stroke-dashoffset",array:"stroke-dasharray"},UN={offset:"strokeDashoffset",array:"strokeDasharray"};function PN(t,n,r=1,o=0,l=!0){t.pathLength=1;const u=l?jN:UN;t[u.offset]=`${-o}`,t[u.array]=`${n} ${r}`}const _N=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function ok(t,{attrX:n,attrY:r,attrScale:o,pathLength:l,pathSpacing:u=1,pathOffset:d=0,...f}
vendor: 11,386 bytes, line 190
190,m,p,g){if(Rf(t,f,p),m){t.style.viewBox&&(t.attrs.viewBox=t.style.viewBox);return}t.attrs=t.style,t.style={};const{attrs:v,style:b}=t;v.transform&&(b.transform=v.transform,delete v.transform),(b.transform||v.transformOrigin)&&(b.transformOrigin=v.transformOrigin??"50% 50%",delete v.transformOrigin),b.transform&&(b.transformBox=g?.transformBox??"fill-box",delete v.transformBox);for(const S of _N)v[S]!==void 0&&(b[S]=v[S],delete v[S]);n!==void 0&&(v.x=n),r!==void 0&&(v.y=r),o!==void 0&&(v.scale=o),l!==void 0&&PN(v,l,u,d,!1)}const lk=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]),ck=t=>typeof t=="string"&&t.toLowerCase()==="svg";function LN(t,n,r,o){rk(t,n,void 0,o);for(const l in n.attrs)t.setAttribute(lk.has(l)?l:kf(l),n.attrs[l])}function uk(t,n,r){const o=Df(t,n,r);for(const l in t)if(ft(t[l])||ft(n[l])){const u=pr.indexOf(l)!==-1?"attr"+l.charAt(0).toUpperCase()+l.substring(1):l;o[u]=t[l]}return o}class HN extends ek{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=Je}getBaseTargetFromProps(n,r){return n[r]}readValueFromInstance(n,r){if(mr.has(r)){const o=Ix(r);return o&&o.default||0}return r=lk.has(r)?r:kf(r),n.getAttribute(r)}scrapeMotionValuesFromProps(n,r,o){return uk(n,r,o)}build(n,r,o){ok(n,r,this.isSVGTag,o.transformTemplate,o.style)}renderInstance(n,r,o,l){LN(n,r,o,l)}mount(n){this.isSVGTag=ck(n.tagName),super.mount(n)}}const BN=Mf.length;function dk(t){if(!t)return;if(!t.isControllingVariants){const r=t.parent?dk(t.parent)||{}:{};return t.props.initial!==void 0&&(r.initial=t.props.initial),r}const n={};for(let r=0;r<BN;r++){const o=Mf[r],l=t.props[o];(Ds(l)||l===!1)&&(n[o]=l)}return n}function hk(t,n){if(!Array.isArray(n))return!1;const r=n.length;if(r!==t.length)return!1;for(let o=0;o<r;o++)if(n[o]!==t[o])return!1;return!0}const zN=[...Ef].reverse(),IN=Ef.length;function FN(t){return n=>Promise.all(n.map(({animation:r,options:o})=>H2(t,r,o)))}function WN(t){let n=FN(t),r=ub(),o=!0,l=!1;const u=p=>(g,v)=>{const b=sr(t,v,p==="exit"?t.presenceContext?.custom:void 0);if(b){const{transition:S,transitionEnd:T,...E}=b;g={...g,...E,...T}}return g};function d(p){n=p(t)}function f(p){const{props:g}=t,v=dk(t.parent)||{},b=[],S=new Set;let T={},E=1/0;for(let D=0;D<IN;D++){const V=zN[D],N=r[V],P=g[V]!==void 0?g[V]:v[V],_=Ds(P),Y=V===p?N.isActive:null;Y===!1&&(E=D);let Q=P===v[V]&&P!==g[V]&&_;if(Q&&(o||l)&&t.manuallyAnimateOnMount&&(Q=!1),N.protectedKeys={...T},!N.isActive&&Y===null||!P&&!N.prevProp||Zl(P)||typeof P=="boolean")continue;if(V==="exit"&&N.isActive&&Y!==!0){N.prevResolvedValues&&(T={...T,...N.prevResolvedValues});continue}const B=GN(N.prevProp,P);let X=B||V===p&&N.isActive&&!Q&&_||D>E&&_,oe=!1;const me=Array.isArray(P)?P:[P];let ce=me.reduce(u(V),{});Y===!1&&(ce={});const{prevResolvedValues:we={}}=N,J={...we,...ce},de=W=>{X=!0,S.has(W)&&(oe=!0,S.delete(W)),N.needsAnimating[W]=!0;const ee=t.getValue(W);ee&&(ee.liveStyle=!1)};for(const W in J){const ee=ce[W],A=we[W];if(T.hasOwnProperty(W))continue;let I=!1;kh(ee)&&kh(A)?I=!hk(ee,A):I=ee!==A,I?ee!=null?de(W):S.add(W):ee!==void 0&&S.has(W)?de(W):N.protectedKeys[W]=!0}N.prevProp=P,N.prevResolvedValues=ce,N.isActive&&(T={...T,...ce}),(o||l)&&t.blockInitialAnimation&&(X=!1);const q=Q&&B;X&&(!q||oe)&&b.push(...me.map(W=>{const ee={type:V};if(typeof W=="string"&&(o||l)&&!q&&t.manuallyAnimateOnMount&&t.parent){const{parent:A}=t,I=sr(A,W);if(A.enteringChildren&&I){const{delayChildren:$}=I.transition||{};ee.delay=qx(A.enteringChildren,t,$)}}return{animation:W,options:ee}}))}if(S.size){const D={};if(typeof g.initial!="boolean"){const V=sr(t,Array.isArray(g.initial)?g.initial[0]:g.initial);V&&V.transition&&(D.transition=V.transition)}S.forEach(V=>{const N=t.getBaseTarget(V),P=t.getValue(V);P&&(P.liveStyle=!0),D[V]=N??null}),b.push({animation:D})}let C=!!b.length;return o&&(g.initial===!1||g.initial===g.animate)&&!t.manuallyAnimateOnMount&&(C=!1),o=!1,l=!1,C?n(b):Promise.resolve()}function m(p,g){if(r[p].isActive===g)return Promise.resolve();t.variantChildren?.forEach(b=>b.animationState?.setActive(p,g)),r[p].isActive=g;const v=f(p);for(const b in r)r[b].protectedKeys={};return v}return{animateChanges:f,setActive:m,setAnimateFunction:d,getState:()=>r,reset:()=>{r=ub(),l=!0}}}function GN(t,n){return typeof n=="string"?n!==t:Array.isArray(n)?!hk(n,t):!1}function ai(t=!1){return{isActive:t,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function ub(){return{animate:ai(!0),whileInView:ai(),whileHover:ai(),whileTap:ai(),whileDrag:ai(),whileFocus:ai(),exit:ai()}}function db(t,n){t.min=n.min,t.max=n.max}function ua(t,n){db(t.x,n.x),db(t.y,n.y)}function hb(t,n){t.translate=n.translate,t.scale=n.scale,t.originPoint=n.originPoint,t.origin=n.origin}const fk=1e-4,YN=1-fk,KN=1+fk,pk=.01,QN=0-pk,XN=0+pk;function bt(t){return t.max-t.min}function ZN(t,n,r){return Math.abs(t-n)<=r}function fb(t,n,r,o=.5){t.origin=o,t.originPoint=Be(n.min,n.max,t.origin),t.scale=bt(r)/bt(n),t.translate=Be(r.min,r.max,t.origin)-t.originPoint,(t.scale>=YN&&t.scale<=KN||isNaN(t.scale))&&(t.scale=1),(t.translate>=QN&&t.translate<=XN||isNaN(t.translate))&&(t.translate=0)}function ks(t,n,r,o){fb(t.x,n.x,r.x,o?o.originX:void 0),fb(t.y,n.y,r.y,o?o.originY:void 0)}function pb(t,n,r){t.min=r.min+n.min,t.max=t.min+bt(n)}function $N(t,n,r){pb(t.x,n.x,r.x),pb(t.y,n.y,r.y)}function mb(t,n,r){t.min=n.min-r.min,t.max=t.min+bt(n)}function ql(t,n,r){mb(t.x,n.x,r.x),mb(t.y,n.y,r.y)}function gb(t,n,r,o,l){return t-=n,t=Vl(t,1/r,o),l!==void 0&&(t=Vl(t,1/l,o)),t}function JN(t,n=0,r=1,o=.5,l,u=t,d=t){if(Ma.test(n)&&(n=parseFloat(n),n=Be(d.min,d.max,n/100)-d.min),typeof n!="number")return;let f=Be(u.min,u.max,o);t===u&&(f-=n),t.min=gb(t.min,n,r,f,l),t.max=gb(t.max,n,r,f,l)}function yb(t,n,[r,o,l],u,d){JN(t,n[r],n[o],n[l],n.scale,u,d)}const eV=["x","scaleX","originX"],tV=["y","scaleY","originY"];function vb(t,n,r,o){yb(t.x,n,eV,r?r.x:void 0,o?o.x:void 0),yb(t.y,n,tV,r?r.y:void 0,o?o.y:void 0)}function bb(t){return t.translate===0&&t.scale===1}function mk(t){return bb(t.x)&&bb(t.y)}function wb(t,n){return t.min===n.min&&t.max===n.max}function aV(t,n){return wb(t.x,n.x)&&wb(t.y,n.y)}function xb(t,n){return Math.round(t.min)===Math.round(n.min)&&Math.round(t.max)===Math.round(n.max)}function gk(t,n){return xb(t.x,n.x)&&xb(t.y,n.y)}function kb(t){return bt(t.x)/bt(t.y)}function Sb(t,n){return t.translate===n.translate&&t.scale===n.scale&&t.originPoint===n.originPoint}function Ta(t){return[t("x"),t("y")]}function nV(t,n,r){let o="";const l=t.x.translate/n.x,u=t.y.translate/n.y,d=r?.z||0;if((l||u||d)&&(o=`translate3d(${l}px, ${u}px, ${d}px) `),(n.x!==1||n.y!==1)&&(o+=`scale(${1/n.x}, ${1/n.y}) `),r){const{transformPerspective:p,rotate:g,rotateX:v,rotateY:b,skewX:S,skewY:T}=r;p&&(o=`perspective(${p}px) ${o}`),g&&(o+=`rotate(${g}deg) `),v&&(o+=`rotateX(${v}deg) `),b&&(o+=`rotateY(${b}deg) `),S&&(o+=`skewX(${S}deg) `),T&&(o+=`skewY(${T}deg) `)}const f=t.x.scale*n.x,m=t.y.scale*n.y;return(f!==1||m!==1)&&(o+=`scale(${f}, ${m})`),o||"none"}const yk=["TopLeft","TopRight","BottomLeft","BottomRight"],iV=yk.length,Ab=t=>typeof t=="string"?parseFloat(t):t,Tb=t=>typeof t=="number"||ne.test(t);function rV(t,n,r,o,l,u){l?(t.opacity=Be(0,r.opacity??1,sV(o)),t.opacityExit=Be(n.opacity??1,0,oV(o))):u&&(t.opacity=Be(n.opacity??1,r.opacity??1,o));for(let d=0;d<iV;d++){const f=`border${yk[d]}Radius`;let m=Cb(n,f),p=Cb(r,f);if(m===void 0&&p===void 0)continue;m||(m=0),p||(p=0),m===0||p===0||Tb(m)===Tb(p)?(t[f]=Math.max(Be(Ab(m),Ab(p),o),0),(Ma.test(p)||Ma.test(m))&&(t[f]+="%")):t[f]=p}(n.rotate||r.rotate)&&(t.rotate=Be(n.rotate||0,r.rotate||0,o))}function Cb(t,n){return t[n]!==void 0?t[n]:t.borderRadius}const sV=vk(0,.5,lx),oV=vk(.5,.95,ia);function vk(t,n,r){return o=>o<t?0:o>n?1:r(Es(t,n,o))}function lV(t,n,r){const o=ft(t)?t:ur(t);return o.start(wf("",o,n,r)),o.animation}function Os(t,n,r,o={passive:!0}){return t.addEventListener(n,r,o),()=>t.removeEventListener(n,r)}const cV=(t,n)=>t.depth-n.depth;class uV{constructor(){this.children=[],this.isDirty=!1}add(n){rf(this.children,n),this.isDirty=!0}remove(n){Ml(this.children,n),this.isDirty=!0}forEach(n){this.isDirty&&this.children.sort(cV),this.isDirty=!1,this.children.forEach(n)}}function dV(t,n){const r=vt.now(),o=({timestamp:l})=>{const u=l-r;u>=n&&(Vn(o),t(u-n))};return Ue.setup(o,!0),()=>Vn(o)}function bl(t){return ft(t)?t.get():t}class hV{constructor(){this.members=[]}add(n){rf(this.members,n);for(let r=this.members.length-1;r>=0;r--){const o=this.members[r];if(o===n||o===this.lead||o===this.prevLead)continue;const l=o.instance;(!l||l.isConnected===!1)&&!o.snapshot&&(Ml(this.members,o),o.unmount())}n.scheduleRender()}remove(n){if(Ml(this.members,n),n===this.prevLead&&(this.prevLead=void 0),n===this.lead){const r=this.members[this.members.length-1];r&&this.promote(r)}}relegate(n){for(let r=this.members.indexOf(n)-1;r>=0;r--){const o=this.members[r];if(o.isPresent!==!1&&o.instance?.isConnected!==!1)return this.promote(o),!0}return!1}promote(n,r){const o=this.lead;if(n!==o&&(this.prevLead=o,this.lead=n,n.show(),o)){o.updateSnapshot(),n.scheduleRender();const{layoutDependency:l}=o.options,{layoutDependency:u}=n.options;(l===void 0||l!==u)&&(n.resumeFrom=o,r&&(o.preserveOpacity=!0),o.snapshot&&(n.snapshot=o.snapshot,n.snapshot.latestValues=o.animationValues||o.latestValues),n.root?.isUpdating&&(n.isLayoutDirty=!0)),n.options.crossfade===!1&&o.hide()}}exitAnimationComplete(){this.members.forEach(n=>{n.options.onExitComplete?.(),n.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(n=>n.instance&&n.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}}const wl={hasAnimatedSinceResize:!0,hasEverUpdated:!1},Ud=["","X","Y","Z"],fV=1e3;let pV=0;function Pd(t,n,r,o){const{latestValues:l}=n;l[t]&&(r[t]=l[t],n.setStaticValue(t,0),o&&(o[t]=0))}function bk(t){if(t.hasCheckedOptimisedAppear=!0,t.root===t)return;const{visualElement:n}=t.options;if(!n)return;const r=Lx(n);if(window.MotionHasOptimisedAnimation(r,"transform")){const{layout:l,layoutId:u}=t.options;window.MotionCancelOptimisedAnimation(r,"transform",Ue,!(l||u))}const{parent:o}=t;o&&!o.hasCheckedOptimisedAppear&&bk(o)}function wk({attachResizeListener:t,defaultParent:n,measureScroll:r,checkIsScrollRoot:o,resetTransform:l}){return class{constructor(d={},f=n?.()){this.id=pV++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>
vendor: 10,421 bytes, line 190
190{this.projectionUpdateScheduled=!1,this.nodes.forEach(yV),this.nodes.forEach(xV),this.nodes.forEach(kV),this.nodes.forEach(vV)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=d,this.root=f?f.root||f:this,this.path=f?[...f.path,f]:[],this.parent=f,this.depth=f?f.depth+1:0;for(let m=0;m<this.path.length;m++)this.path[m].shouldResetTransform=!0;this.root===this&&(this.nodes=new uV)}addEventListener(d,f){return this.eventHandlers.has(d)||this.eventHandlers.set(d,new of),this.eventHandlers.get(d).add(f)}notifyListeners(d,...f){const m=this.eventHandlers.get(d);m&&m.notify(...f)}hasListeners(d){return this.eventHandlers.has(d)}mount(d){if(this.instance)return;this.isSVG=Cf(d)&&!gN(d),this.instance=d;const{layoutId:f,layout:m,visualElement:p}=this.options;if(p&&!p.current&&p.mount(d),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(m||f)&&(this.isLayoutDirty=!0),t){let g,v=0;const b=()=>this.root.updateBlockedByResize=!1;Ue.read(()=>{v=window.innerWidth}),t(d,()=>{const S=window.innerWidth;S!==v&&(v=S,this.root.updateBlockedByResize=!0,g&&g(),g=dV(b,250),wl.hasAnimatedSinceResize&&(wl.hasAnimatedSinceResize=!1,this.nodes.forEach(Rb)))})}f&&this.root.registerSharedNode(f,this),this.options.animate!==!1&&p&&(f||m)&&this.addEventListener("didUpdate",({delta:g,hasLayoutChanged:v,hasRelativeLayoutChanged:b,layout:S})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const T=this.options.transition||p.getDefaultTransition()||EV,{onLayoutAnimationStart:E,onLayoutAnimationComplete:C}=p.getProps(),D=!this.targetLayout||!gk(this.targetLayout,S),V=!v&&b;if(this.options.layoutRoot||this.resumeFrom||V||v&&(D||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const N={...bf(T,"layout"),onPlay:E,onComplete:C};(p.shouldReduceMotion||this.options.layoutRoot)&&(N.delay=0,N.type=!1),this.startAnimation(N),this.setAnimationOrigin(g,V)}else v||Rb(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=S})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const d=this.getStack();d&&d.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),Vn(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(SV),this.animationId++)}getTransformTemplate(){const{visualElement:d}=this.options;return d&&d.getProps().transformTemplate}willUpdate(d=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&bk(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let g=0;g<this.path.length;g++){const v=this.path[g];v.shouldResetTransform=!0,v.updateScroll("snapshot"),v.options.layoutRoot&&v.willUpdate(!1)}const{layoutId:f,layout:m}=this.options;if(f===void 0&&!m)return;const p=this.getTransformTemplate();this.prevTransformTemplateValue=p?p(this.latestValues,""):void 0,this.updateSnapshot(),d&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach(Eb);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(Mb);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(wV),this.nodes.forEach(mV),this.nodes.forEach(gV)):this.nodes.forEach(Mb),this.clearAllSnapshots();const f=vt.now();ct.delta=Ra(0,1e3/60,f-ct.timestamp),ct.timestamp=f,ct.isProcessing=!0,Md.update.process(ct),Md.preRender.process(ct),Md.render.process(ct),ct.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,Af.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(bV),this.sharedNodes.forEach(AV)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,Ue.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){Ue.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!bt(this.snapshot.measuredBox.x)&&!bt(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let m=0;m<this.path.length;m++)this.path[m].updateScroll();const d=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected=Je(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:f}=this.options;f&&f.notify("LayoutMeasure",this.layout.layoutBox,d?d.layoutBox:void 0)}updateScroll(d="measure"){let f=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===d&&(f=!1),f&&this.instance){const m=o(this.instance);this.scroll={animationId:this.root.animationId,phase:d,isRoot:m,offset:r(this.instance),wasRoot:this.scroll?this.scroll.isRoot:m}}}resetTransform(){if(!l)return;const d=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,f=this.projectionDelta&&!mk(this.projectionDelta),m=this.getTransformTemplate(),p=m?m(this.latestValues,""):void 0,g=p!==this.prevTransformTemplateValue;d&&this.instance&&(f||ni(this.latestValues)||g)&&(l(this.instance,p),this.shouldResetTransform=!1,this.scheduleRender())}measure(d=!0){const f=this.measurePageBox();let m=this.removeElementScroll(f);return d&&(m=this.removeTransform(m)),MV(m),{animationId:this.root.animationId,measuredBox:f,layoutBox:m,latestValues:{},source:this.id}}measurePageBox(){const{visualElement:d}=this.options;if(!d)return Je();const f=d.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(RV))){const{scroll:p}=this.root;p&&(nr(f.x,p.offset.x),nr(f.y,p.offset.y))}return f}removeElementScroll(d){const f=Je();if(ua(f,d),this.scroll?.wasRoot)return f;for(let m=0;m<this.path.length;m++){const p=this.path[m],{scroll:g,options:v}=p;p!==this.root&&g&&v.layoutScroll&&(g.wasRoot&&ua(f,d),nr(f.x,g.offset.x),nr(f.y,g.offset.y))}return f}applyTransform(d,f=!1){const m=Je();ua(m,d);for(let p=0;p<this.path.length;p++){const g=this.path[p];!f&&g.options.layoutScroll&&g.scroll&&g!==g.root&&ir(m,{x:-g.scroll.offset.x,y:-g.scroll.offset.y}),ni(g.latestValues)&&ir(m,g.latestValues)}return ni(this.latestValues)&&ir(m,this.latestValues),m}removeTransform(d){const f=Je();ua(f,d);for(let m=0;m<this.path.length;m++){const p=this.path[m];if(!p.instance||!ni(p.latestValues))continue;Rh(p.latestValues)&&p.updateSnapshot();const g=Je(),v=p.measurePageBox();ua(g,v),vb(f,p.latestValues,p.snapshot?p.snapshot.layoutBox:void 0,g)}return ni(this.latestValues)&&vb(f,this.latestValues),f}setTargetDelta(d){this.targetDelta=d,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(d){this.options={...this.options,...d,crossfade:d.crossfade!==void 0?d.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==ct.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(d=!1){const f=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=f.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=f.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=f.isSharedProjectionDirty);const m=!!this.resumingFrom||this!==f;if(!(d||m&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:g,layoutId:v}=this.options;if(!this.layout||!(g||v))return;this.resolvedRelativeTargetAt=ct.timestamp;const b=this.getClosestProjectingParent();b&&this.linkedParentVersion!==b.layoutVersion&&!b.options.layoutRoot&&this.removeRelativeTarget(),!this.targetDelta&&!this.relativeTarget&&(b&&b.layout?this.createRelativeTarget(b,this.layout.layoutBox,b.layout.layoutBox):this.removeRelativeTarget()),!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=Je(),this.targetWithTransforms=Je()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),$N(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):ua(this.target,this.layout.layoutBox),nk(this.target,this.targetDelta)):ua(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,b&&!!b.resumingFrom==!!this.resumingFrom&&!b.options.layoutScroll&&b.target&&this.animationProgress!==1?this.createRelativeTarget(b,this.target,b.target):this.relativeParent=this.relativeTarget=void 0))}getClosestProjectingParent(){if(!(!this.parent||Rh(this.parent.latestValues)||ak(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(d,f,m){this.relativeParent=d,this.linkedParentVersion=d.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=Je(),this.relativeTargetOrigin=Je(),ql(this.relativeTargetOrigin,f,m),ua(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){const d=this.getLead(),f=!!this.resumingFrom||this!==d;let m=!0;
vendor: 4,768 bytes, line 190
190if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(m=!1),f&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(m=!1),this.resolvedRelativeTargetAt===ct.timestamp&&(m=!1),m)return;const{layout:p,layoutId:g}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(p||g))return;ua(this.layoutCorrected,this.layout.layoutBox);const v=this.treeScale.x,b=this.treeScale.y;EN(this.layoutCorrected,this.treeScale,this.path,f),d.layout&&!d.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(d.target=d.layout.layoutBox,d.targetWithTransforms=Je());const{target:S}=d;if(!S){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(hb(this.prevProjectionDelta.x,this.projectionDelta.x),hb(this.prevProjectionDelta.y,this.projectionDelta.y)),ks(this.projectionDelta,this.layoutCorrected,S,this.latestValues),(this.treeScale.x!==v||this.treeScale.y!==b||!Sb(this.projectionDelta.x,this.prevProjectionDelta.x)||!Sb(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",S))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(d=!0){if(this.options.visualElement?.scheduleRender(),d){const f=this.getStack();f&&f.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=ar(),this.projectionDelta=ar(),this.projectionDeltaWithTransform=ar()}setAnimationOrigin(d,f=!1){const m=this.snapshot,p=m?m.latestValues:{},g={...this.latestValues},v=ar();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!f;const b=Je(),S=m?m.source:void 0,T=this.layout?this.layout.source:void 0,E=S!==T,C=this.getStack(),D=!C||C.members.length<=1,V=!!(E&&!D&&this.options.crossfade===!0&&!this.path.some(CV));this.animationProgress=0;let N;this.mixTargetDelta=P=>{const _=P/1e3;Db(v.x,d.x,_),Db(v.y,d.y,_),this.setTargetDelta(v),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(ql(b,this.layout.layoutBox,this.relativeParent.layout.layoutBox),TV(this.relativeTarget,this.relativeTargetOrigin,b,_),N&&aV(this.relativeTarget,N)&&(this.isProjectionDirty=!1),N||(N=Je()),ua(N,this.relativeTarget)),E&&(this.animationValues=g,rV(g,p,this.latestValues,_,V,D)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=_},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(d){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&(Vn(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=Ue.update(()=>{wl.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=ur(0)),this.motionValue.jump(0,!1),this.currentAnimation=lV(this.motionValue,[0,1e3],{...d,velocity:0,isSync:!0,onUpdate:f=>{this.mixTargetDelta(f),d.onUpdate&&d.onUpdate(f)},onStop:()=>{},onComplete:()=>{d.onComplete&&d.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const d=this.getStack();d&&d.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(fV),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const d=this.getLead();let{targetWithTransforms:f,target:m,layout:p,latestValues:g}=d;if(!(!f||!m||!p)){if(this!==d&&this.layout&&p&&xk(this.options.animationType,this.layout.layoutBox,p.layoutBox)){m=this.target||Je();const v=bt(this.layout.layoutBox.x);m.x.min=d.target.x.min,m.x.max=m.x.min+v;const b=bt(this.layout.layoutBox.y);m.y.min=d.target.y.min,m.y.max=m.y.min+b}ua(f,m),ir(f,g),ks(this.projectionDeltaWithTransform,this.layoutCorrected,f,g)}}registerSharedNode(d,f){this.sharedNodes.has(d)||this.sharedNodes.set(d,new hV),this.sharedNodes.get(d).add(f);const p=f.options.initialPromotionConfig;f.promote({transition:p?p.transition:void 0,preserveFollowOpacity:p&&p.shouldPreserveFollowOpacity?p.shouldPreserveFollowOpacity(f):void 0})}isLead(){const d=this.getStack();return d?d.lead===this:!0}getLead(){const{layoutId:d}=this.options;
vendor: 13,282 bytes, lines 190-198
190return d?this.getStack()?.lead||this:this}getPrevLead(){const{layoutId:d}=this.options;return d?this.getStack()?.prevLead:void 0}getStack(){const{layoutId:d}=this.options;if(d)return this.root.sharedNodes.get(d)}promote({needsReset:d,transition:f,preserveFollowOpacity:m}={}){const p=this.getStack();p&&p.promote(this,m),d&&(this.projectionDelta=void 0,this.needsReset=!0),f&&this.setOptions({transition:f})}relegate(){const d=this.getStack();return d?d.relegate(this):!1}resetSkewAndRotation(){const{visualElement:d}=this.options;if(!d)return;let f=!1;const{latestValues:m}=d;if((m.z||m.rotate||m.rotateX||m.rotateY||m.rotateZ||m.skewX||m.skewY)&&(f=!0),!f)return;const p={};m.z&&Pd("z",d,p,this.animationValues);for(let g=0;g<Ud.length;g++)Pd(`rotate${Ud[g]}`,d,p,this.animationValues),Pd(`skew${Ud[g]}`,d,p,this.animationValues);d.render();for(const g in p)d.setStaticValue(g,p[g]),this.animationValues&&(this.animationValues[g]=p[g]);d.scheduleRender()}applyProjectionStyles(d,f){if(!this.instance||this.isSVG)return;if(!this.isVisible){d.visibility="hidden";return}const m=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,d.visibility="",d.opacity="",d.pointerEvents=bl(f?.pointerEvents)||"",d.transform=m?m(this.latestValues,""):"none";return}const p=this.getLead();if(!this.projectionDelta||!this.layout||!p.target){this.options.layoutId&&(d.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,d.pointerEvents=bl(f?.pointerEvents)||""),this.hasProjected&&!ni(this.latestValues)&&(d.transform=m?m({},""):"none",this.hasProjected=!1);return}d.visibility="";const g=p.animationValues||p.latestValues;this.applyTransformsToTarget();let v=nV(this.projectionDeltaWithTransform,this.treeScale,g);m&&(v=m(g,v)),d.transform=v;const{x:b,y:S}=this.projectionDelta;d.transformOrigin=`${b.origin*100}% ${S.origin*100}% 0`,p.animationValues?d.opacity=p===this?g.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:g.opacityExit:d.opacity=p===this?g.opacity!==void 0?g.opacity:"":g.opacityExit!==void 0?g.opacityExit:0;for(const T in Oh){if(g[T]===void 0)continue;const{correct:E,applyTo:C,isCSSVariable:D}=Oh[T],V=v==="none"?g[T]:E(g[T],p);if(C){const N=C.length;for(let P=0;P<N;P++)d[C[P]]=V}else D?this.options.visualElement.renderState.vars[T]=V:d[T]=V}this.options.layoutId&&(d.pointerEvents=p===this?bl(f?.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(d=>d.currentAnimation?.stop()),this.root.nodes.forEach(Eb),this.root.sharedNodes.clear()}}}function mV(t){t.updateLayout()}function gV(t){const n=t.resumeFrom?.snapshot||t.snapshot;if(t.isLead()&&t.layout&&n&&t.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:o}=t.layout,{animationType:l}=t.options,u=n.source!==t.layout.source;l==="size"?Ta(g=>{const v=u?n.measuredBox[g]:n.layoutBox[g],b=bt(v);v.min=r[g].min,v.max=v.min+b}):xk(l,n.layoutBox,r)&&Ta(g=>{const v=u?n.measuredBox[g]:n.layoutBox[g],b=bt(r[g]);v.max=v.min+b,t.relativeTarget&&!t.currentAnimation&&(t.isProjectionDirty=!0,t.relativeTarget[g].max=t.relativeTarget[g].min+b)});const d=ar();ks(d,r,n.layoutBox);const f=ar();u?ks(f,t.applyTransform(o,!0),n.measuredBox):ks(f,r,n.layoutBox);const m=!mk(d);let p=!1;if(!t.resumeFrom){const g=t.getClosestProjectingParent();if(g&&!g.resumeFrom){const{snapshot:v,layout:b}=g;if(v&&b){const S=Je();ql(S,n.layoutBox,v.layoutBox);const T=Je();ql(T,r,b.layoutBox),gk(S,T)||(p=!0),g.options.layoutRoot&&(t.relativeTarget=T,t.relativeTargetOrigin=S,t.relativeParent=g)}}}t.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:f,layoutDelta:d,hasLayoutChanged:m,hasRelativeLayoutChanged:p})}else if(t.isLead()){const{onExitComplete:r}=t.options;r&&r()}t.options.transition=void 0}function yV(t){t.parent&&(t.isProjecting()||(t.isProjectionDirty=t.parent.isProjectionDirty),t.isSharedProjectionDirty||(t.isSharedProjectionDirty=!!(t.isProjectionDirty||t.parent.isProjectionDirty||t.parent.isSharedProjectionDirty)),t.isTransformDirty||(t.isTransformDirty=t.parent.isTransformDirty))}function vV(t){t.isProjectionDirty=t.isSharedProjectionDirty=t.isTransformDirty=!1}function bV(t){t.clearSnapshot()}function Eb(t){t.clearMeasurements()}function Mb(t){t.isLayoutDirty=!1}function wV(t){const{visualElement:n}=t.options;n&&n.getProps().onBeforeLayoutMeasure&&n.notify("BeforeLayoutMeasure"),t.resetTransform()}function Rb(t){t.finishAnimation(),t.targetDelta=t.relativeTarget=t.target=void 0,t.isProjectionDirty=!0}function xV(t){t.resolveTargetDelta()}function kV(t){t.calcProjection()}function SV(t){t.resetSkewAndRotation()}function AV(t){t.removeLeadSnapshot()}function Db(t,n,r){t.translate=Be(n.translate,0,r),t.scale=Be(n.scale,1,r),t.origin=n.origin,t.originPoint=n.originPoint}function Ob(t,n,r,o){t.min=Be(n.min,r.min,o),t.max=Be(n.max,r.max,o)}function TV(t,n,r,o){Ob(t.x,n.x,r.x,o),Ob(t.y,n.y,r.y,o)}function CV(t){return t.animationValues&&t.animationValues.opacityExit!==void 0}const EV={duration:.45,ease:[.4,0,.1,1]},Nb=t=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(t),Vb=Nb("applewebkit/")&&!Nb("chrome/")?Math.round:ia;function qb(t){t.min=Vb(t.min),t.max=Vb(t.max)}function MV(t){qb(t.x),qb(t.y)}function xk(t,n,r){return t==="position"||t==="preserve-aspect"&&!ZN(kb(n),kb(r),.2)}function RV(t){return t!==t.root&&t.scroll?.wasRoot}const DV=wk({attachResizeListener:(t,n)=>Os(t,"resize",n),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),_d={current:void 0},kk=wk({measureScroll:t=>({x:t.scrollLeft,y:t.scrollTop}),defaultParent:()=>{if(!_d.current){const t=new DV({});t.mount(window),t.setOptions({layoutScroll:!0}),_d.current=t}return _d.current},resetTransform:(t,n)=>{t.style.transform=n!==void 0?n:"none"},checkIsScrollRoot:t=>window.getComputedStyle(t).position==="fixed"}),Of=k.createContext({transformPagePoint:t=>t,isStatic:!1,reducedMotion:"never"});function jb(t,n){if(typeof t=="function")return t(n);t!=null&&(t.current=n)}function OV(...t){return n=>{let r=!1;const o=t.map(l=>{const u=jb(l,n);return!r&&typeof u=="function"&&(r=!0),u});if(r)return()=>{for(let l=0;l<o.length;l++){const u=o[l];typeof u=="function"?u():jb(t[l],null)}}}}function NV(...t){return k.useCallback(OV(...t),t)}class VV extends k.Component{getSnapshotBeforeUpdate(n){const r=this.props.childRef.current;if(r&&n.isPresent&&!this.props.isPresent&&this.props.pop!==!1){const o=r.offsetParent,l=Eh(o)&&o.offsetWidth||0,u=Eh(o)&&o.offsetHeight||0,d=this.props.sizeRef.current;d.height=r.offsetHeight||0,d.width=r.offsetWidth||0,d.top=r.offsetTop,d.left=r.offsetLeft,d.right=l-d.width-d.left,d.bottom=u-d.height-d.top}return null}componentDidUpdate(){}render(){return this.props.children}}function qV({children:t,isPresent:n,anchorX:r,anchorY:o,root:l,pop:u}){const d=k.useId(),f=k.useRef(null),m=k.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0}),{nonce:p}=k.useContext(Of),g=t.props?.ref??t?.ref,v=NV(f,g);return k.useInsertionEffect(()=>{const{width:b,height:S,top:T,left:E,right:C,bottom:D}=m.current;if(n||u===!1||!f.current||!b||!S)return;const V=r==="left"?`left: ${E}`:`right: ${C}`,N=o==="bottom"?`bottom: ${D}`:`top: ${T}`;f.current.dataset.motionPopId=d;const P=document.createElement("style");p&&(P.nonce=p);const _=l??document.head;return _.appendChild(P),P.sheet&&P.sheet.insertRule(`
191          [data-motion-pop-id="${d}"] {
192            position: absolute !important;
193            width: ${b}px !important;
194            height: ${S}px !important;
195            ${V}px !important;
196            ${N}px !important;
197          }
198        `),()=>{_.contains(P)&&_.removeChild(P)}},[n]),w.jsx(VV,{isPresent:n,childRef:f,sizeRef:m,pop:u,children:u===!1?t:k.cloneElement(t,{ref:v})})}const jV=({children:t,initial:n,isPresent:r,onExitComplete:o,custom:l,presenceAffectsLayout:u,mode:d,anchorX:f,anchorY:m,root:p})=>{const g=nf(UV),v=k.useId();let b=!0,S=k.useMemo(()=>(b=!1,{id:v,initial:n,isPresent:r,custom:l,onExitComplete:T=>{g.set(T,!0);for(const E of g.values())if(!E)return;o&&o()},register:T=>(g.set(T,!1),()=>g.delete(T))}),[r,g,o]);return u&&b&&(S={...S}),k.useMemo(()=>{g.forEach((T,E)=>g.set(E,!1))},[r]),k.useEffect(()=>{!r&&!g.size&&o&&o()},[r]),t=w.jsx(qV,{pop:d==="popLayout",isPresent:r,anchorX:f,anchorY:m,root:p,children:t}),w.jsx(Xl.Provider,{value:S,children:t})};function UV(){return new Map}function Sk(t=!0){const n=k.useContext(Xl);if(n===null)return[!0,null];const{isPresent:r,onExitComplete:o,register:l}=n,u=k.useId();k.useEffect(()=>{if(t)return l(u)},[t]);const d=k.useCallback(()=>t&&o&&o(u),[u,o,t]);return!r&&o?[!1,d]:[!0]}const ll=t=>t.key||"";function Ub(t){const n=[];return k.Children.forEach(t,r=>{k.isValidElement(r)&&n.push(r)}),n}const PV=({children:t,custom:n,initial:r=!0,onExitComplete:o,presenceAffectsLayout:l=!0,mode:u="sync",propagate:d=!1,anchorX:f="left",anchorY:m="top",root:p})=>{const[g,v]=Sk(d),b=k.useMemo(()=>Ub(t),[t]),S=d&&!g?[]:b.map(ll),T=k.useRef(!0),E=k.useRef(b),C=nf(()=>new Map),D=k.useRef(new Set),[V,N]=k.useState(b),[P,_]=k.useState(b);X0(()=>{T.current=!1,E.current=b;for(let B=0;B<P.length;B++){const X=ll(P[B]);S.includes(X)?(C.delete(X),D.current.delete(X)):C.get(X)!==!0&&C.set(X,!1)}},[P,S.length,S.join("-")]);const Y=[];if(b!==V){let B=[...b];for(let X=0;X<P.length;X++){const oe=P[X],me=ll(oe);S.includes(me)||(B.splice(X,0,oe),Y.push(oe))}return u==="wait"&&Y.length&&(B=Y),_(Ub(B)),N(b),null}const{forceRender:Q}=k.useContext(af);return w.jsx(w.Fragment,{children:P.map(B=>{const X=ll(B),oe=d&&!g?!1:b===P||S.includes(X),me=()=>{if(D.current.has(X))return;if(D.current.add(X),C.has(X))C.set(X,!0);else return;let ce=!0;C.forEach(we=>{we||(ce=!1)}),ce&&(Q?.(),_(E.current),d&&v?.(),o&&o())};return w.jsx(jV,{isPresent:oe,initial:!T.current||r?void 0:!1,custom:n,presenceAffectsLayout:l,mode:u,root:p,onExitComplete:oe?void 0:me,anchorX:f,anchorY:m,children:B},X)})})},Ak=k.createContext({strict:!1}),Pb={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]};let _b=!1;function _V(){if(_b)return;const t={};for(const n in Pb)t[n]={isEnabled:r=>Pb[n].some(o=>!!r[o])};Jx(t),_b=!0}function Tk(){return _V(),SN()}function LV(t){const n=Tk();for(const r in t)n[r]={...n[r],...t[r]};Jx(n)}const HV=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function jl(t){return t.startsWith("while")||t.startsWith("drag")&&t!=="draggable"||t.startsWith("layout")||t.startsWith("onTap")||t.startsWith("onPan")||t.startsWith("onLayout")||HV.has(t)}let Ck=t=>!jl(t);function BV(t){typeof t=="function"&&(Ck=n=>n.startsWith("on")?!jl(n):t(n))}try{BV(require("@emotion/is-prop-valid").default)}catch{}function zV(t,n,r){const o={};for(const l in t)l==="values"&&typeof t.values=="object"||(Ck(l)||r===!0&&jl(l)||!n&&!jl(l)||t.draggable&&l.startsWith("onDrag"))&&(o[l]=t[l]);return o}const Jl=k.createContext({});function IV(t,n){if($l(t)){const{initial:r,animate:o}=t;return{initial:r===!1||Ds(r)?r:void 0,animate:Ds(o)?o:void 0}}return t.inherit!==!1?n:{}}function FV(t){const{initial:n,animate:r}=IV(t,k.useContext(Jl));return k.useMemo(()=>({initial:n,animate:r}),[Lb(n),Lb(r)])}function Lb(t){return Array.isArray(t)?t.join(" "):t}const Nf=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function Ek(t,n,r){for(const o in n)!ft(n[o])&&!sk(o,r)&&(t[o]=n[o])}function WV({transformTemplate:t},n){return k.useMemo(()=>{const r=Nf();return Rf(r,n,t),Object.assign({},r.vars,r.style)},[n])}function GV(t,n){const r=t.style||{},o={};return Ek(o,r,t),Object.assign(o,WV(t,n)),o}function YV(t,n){const r={},o=GV(t,n);return t.drag&&t.dragListener!==!1&&(r.draggable=!1,o.userSelect=o.WebkitUserSelect=o.WebkitTouchCallout="none",o.touchAction=t.drag===!0?"none":`pan-${t.drag==="x"?"y":"x"}`),t.tabIndex===void 0&&(t.onTap||t.onTapStart||t.whileTap)&&(r.tabIndex=0),r.style=o,r}const Mk=()=>({...Nf(),attrs:{}});function KV(t,n,r,o){const l=k.useMemo(()=>{const u=Mk();return ok(u,n,ck(o),t.transformTemplate,t.style),{...u.attrs,style:{...u.style}}},[n]);if(t.style){const u={};Ek(u,t.style,t),l.style={...u,...l.style}}return l}const QV=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function Vf(t){return typeof t!="string"||t.includes("-")?!1:!!(QV.indexOf(t)>-1||/[A-Z]/u.test(t))}function XV(t,n,r,{latestValues:o}
vendor: 23,792 bytes, line 198
198,l,u=!1,d){const m=(d??Vf(t)?KV:YV)(n,o,l,t),p=zV(n,typeof t=="string",u),g=t!==k.Fragment?{...p,...m,ref:r}:{},{children:v}=n,b=k.useMemo(()=>ft(v)?v.get():v,[v]);return k.createElement(t,{...g,children:b})}function ZV({scrapeMotionValuesFromProps:t,createRenderState:n},r,o,l){return{latestValues:$V(r,o,l,t),renderState:n()}}function $V(t,n,r,o){const l={},u=o(t,{});for(const b in u)l[b]=bl(u[b]);let{initial:d,animate:f}=t;const m=$l(t),p=Zx(t);n&&p&&!m&&t.inherit!==!1&&(d===void 0&&(d=n.initial),f===void 0&&(f=n.animate));let g=r?r.initial===!1:!1;g=g||d===!1;const v=g?f:d;if(v&&typeof v!="boolean"&&!Zl(v)){const b=Array.isArray(v)?v:[v];for(let S=0;S<b.length;S++){const T=xf(t,b[S]);if(T){const{transitionEnd:E,transition:C,...D}=T;for(const V in D){let N=D[V];if(Array.isArray(N)){const P=g?N.length-1:0;N=N[P]}N!==null&&(l[V]=N)}for(const V in E)l[V]=E[V]}}}return l}const Rk=t=>(n,r)=>{const o=k.useContext(Jl),l=k.useContext(Xl),u=()=>ZV(t,n,o,l);return r?u():nf(u)},JV=Rk({scrapeMotionValuesFromProps:Df,createRenderState:Nf}),eq=Rk({scrapeMotionValuesFromProps:uk,createRenderState:Mk}),tq=Symbol.for("motionComponentSymbol");function aq(t,n,r){const o=k.useRef(r);k.useInsertionEffect(()=>{o.current=r});const l=k.useRef(null);return k.useCallback(u=>{u&&t.onMount?.(u);const d=o.current;if(typeof d=="function")if(u){const f=d(u);typeof f=="function"&&(l.current=f)}else l.current?(l.current(),l.current=null):d(u);else d&&(d.current=u);n&&(u?n.mount(u):n.unmount())},[n])}const Dk=k.createContext({});function $i(t){return t&&typeof t=="object"&&Object.prototype.hasOwnProperty.call(t,"current")}function nq(t,n,r,o,l,u){const{visualElement:d}=k.useContext(Jl),f=k.useContext(Ak),m=k.useContext(Xl),p=k.useContext(Of),g=p.reducedMotion,v=p.skipAnimations,b=k.useRef(null),S=k.useRef(!1);o=o||f.renderer,!b.current&&o&&(b.current=o(t,{visualState:n,parent:d,props:r,presenceContext:m,blockInitialAnimation:m?m.initial===!1:!1,reducedMotionConfig:g,skipAnimations:v,isSVG:u}),S.current&&b.current&&(b.current.manuallyAnimateOnMount=!0));const T=b.current,E=k.useContext(Dk);T&&!T.projection&&l&&(T.type==="html"||T.type==="svg")&&iq(b.current,r,l,E);const C=k.useRef(!1);k.useInsertionEffect(()=>{T&&C.current&&T.update(r,m)});const D=r[_x],V=k.useRef(!!D&&typeof window<"u"&&!window.MotionHandoffIsComplete?.(D)&&window.MotionHasOptimisedAnimation?.(D));return X0(()=>{S.current=!0,T&&(C.current=!0,window.MotionIsMounted=!0,T.updateFeatures(),T.scheduleRenderMicrotask(),V.current&&T.animationState&&T.animationState.animateChanges())}),k.useEffect(()=>{T&&(!V.current&&T.animationState&&T.animationState.animateChanges(),V.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(D)}),V.current=!1),T.enteringChildren=void 0)}),T}function iq(t,n,r,o){const{layoutId:l,layout:u,drag:d,dragConstraints:f,layoutScroll:m,layoutRoot:p,layoutCrossfade:g}=n;t.projection=new r(t.latestValues,n["data-framer-portal-id"]?void 0:Ok(t.parent)),t.projection.setOptions({layoutId:l,layout:u,alwaysMeasureLayout:!!d||f&&$i(f),visualElement:t,animationType:typeof u=="string"?u:"both",initialPromotionConfig:o,crossfade:g,layoutScroll:m,layoutRoot:p})}function Ok(t){if(t)return t.options.allowProjection!==!1?t.projection:Ok(t.parent)}function Ld(t,{forwardMotionProps:n=!1,type:r}={},o,l){o&&LV(o);const u=r?r==="svg":Vf(t),d=u?eq:JV;function f(p,g){let v;const b={...k.useContext(Of),...p,layoutId:rq(p)},{isStatic:S}=b,T=FV(p),E=d(p,S);if(!S&&typeof window<"u"){sq();const C=oq(b);v=C.MeasureLayout,T.visualElement=nq(t,E,b,l,C.ProjectionNode,u)}return w.jsxs(Jl.Provider,{value:T,children:[v&&T.visualElement?w.jsx(v,{visualElement:T.visualElement,...b}):null,XV(t,p,aq(E,T.visualElement,g),E,S,n,u)]})}f.displayName=`motion.${typeof t=="string"?t:`create(${t.displayName??t.name??""})`}`;const m=k.forwardRef(f);return m[tq]=t,m}function rq({layoutId:t}){const n=k.useContext(af).id;return n&&t!==void 0?n+"-"+t:t}function sq(t,n){k.useContext(Ak).strict}function oq(t){const n=Tk(),{drag:r,layout:o}=n;if(!r&&!o)return{};const l={...r,...o};return{MeasureLayout:r?.isEnabled(t)||o?.isEnabled(t)?l.MeasureLayout:void 0,ProjectionNode:l.ProjectionNode}}function lq(t,n){if(typeof Proxy>"u")return Ld;const r=new Map,o=(u,d)=>Ld(u,d,t,n),l=(u,d)=>o(u,d);return new Proxy(l,{get:(u,d)=>d==="create"?o:(r.has(d)||r.set(d,Ld(d,void 0,t,n)),r.get(d))})}const cq=(t,n)=>n.isSVG??Vf(t)?new HN(n):new qN(n,{allowProjection:t!==k.Fragment});class uq extends jn{constructor(n){super(n),n.animationState||(n.animationState=WN(n))}updateAnimationControlsSubscription(){const{animate:n}=this.node.getProps();Zl(n)&&(this.unmountControls=n.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:n}=this.node.getProps(),{animate:r}=this.node.prevProps||{};n!==r&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let dq=0;class hq extends jn{constructor(){super(...arguments),this.id=dq++}update(){if(!this.node.presenceContext)return;const{isPresent:n,onExitComplete:r}=this.node.presenceContext,{isPresent:o}=this.node.prevPresenceContext||{};if(!this.node.animationState||n===o)return;const l=this.node.animationState.setActive("exit",!n);r&&!n&&l.then(()=>{r(this.id)})}mount(){const{register:n,onExitComplete:r}=this.node.presenceContext||{};r&&r(this.id),n&&(this.unmount=n(this.id))}unmount(){}}const fq={animation:{Feature:uq},exit:{Feature:hq}};function _s(t){return{point:{x:t.pageX,y:t.pageY}}}const pq=t=>n=>Tf(n)&&t(n,_s(n));function Ss(t,n,r,o){return Os(t,n,pq(r),o)}const Nk=({current:t})=>t?t.ownerDocument.defaultView:null,Hb=(t,n)=>Math.abs(t-n);function mq(t,n){const r=Hb(t.x,n.x),o=Hb(t.y,n.y);return Math.sqrt(r**2+o**2)}const Bb=new Set(["auto","scroll"]);class Vk{constructor(n,r,{transformPagePoint:o,contextWindow:l=window,dragSnapToOrigin:u=!1,distanceThreshold:d=3,element:f}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=S=>{this.handleScroll(S.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const S=Bd(this.lastMoveEventInfo,this.history),T=this.startEvent!==null,E=mq(S.offset,{x:0,y:0})>=this.distanceThreshold;if(!T&&!E)return;const{point:C}=S,{timestamp:D}=ct;this.history.push({...C,timestamp:D});const{onStart:V,onMove:N}=this.handlers;T||(V&&V(this.lastMoveEvent,S),this.startEvent=this.lastMoveEvent),N&&N(this.lastMoveEvent,S)},this.handlePointerMove=(S,T)=>{this.lastMoveEvent=S,this.lastMoveEventInfo=Hd(T,this.transformPagePoint),Ue.update(this.updatePoint,!0)},this.handlePointerUp=(S,T)=>{this.end();const{onEnd:E,onSessionEnd:C,resumeAnimation:D}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&D&&D(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const V=Bd(S.type==="pointercancel"?this.lastMoveEventInfo:Hd(T,this.transformPagePoint),this.history);this.startEvent&&E&&E(S,V),C&&C(S,V)},!Tf(n))return;this.dragSnapToOrigin=u,this.handlers=r,this.transformPagePoint=o,this.distanceThreshold=d,this.contextWindow=l||window;const m=_s(n),p=Hd(m,this.transformPagePoint),{point:g}=p,{timestamp:v}=ct;this.history=[{...g,timestamp:v}];const{onSessionStart:b}=r;b&&b(n,Bd(p,this.history)),this.removeListeners=js(Ss(this.contextWindow,"pointermove",this.handlePointerMove),Ss(this.contextWindow,"pointerup",this.handlePointerUp),Ss(this.contextWindow,"pointercancel",this.handlePointerUp)),f&&this.startScrollTracking(f)}startScrollTracking(n){let r=n.parentElement;for(;r;){const o=getComputedStyle(r);(Bb.has(o.overflowX)||Bb.has(o.overflowY))&&this.scrollPositions.set(r,{x:r.scrollLeft,y:r.scrollTop}),r=r.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(n){const r=this.scrollPositions.get(n);if(!r)return;const o=n===window,l=o?{x:window.scrollX,y:window.scrollY}:{x:n.scrollLeft,y:n.scrollTop},u={x:l.x-r.x,y:l.y-r.y};u.x===0&&u.y===0||(o?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=u.x,this.lastMoveEventInfo.point.y+=u.y):this.history.length>0&&(this.history[0].x-=u.x,this.history[0].y-=u.y),this.scrollPositions.set(n,l),Ue.update(this.updatePoint,!0))}updateHandlers(n){this.handlers=n}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),Vn(this.updatePoint)}}function Hd(t,n){return n?{point:n(t.point)}:t}function zb(t,n){return{x:t.x-n.x,y:t.y-n.y}}function Bd({point:t},n){return{point:t,delta:zb(t,qk(n)),offset:zb(t,gq(n)),velocity:yq(n,.1)}}function gq(t){return t[0]}function qk(t){return t[t.length-1]}function yq(t,n){if(t.length<2)return{x:0,y:0};let r=t.length-1,o=null;const l=qk(t);for(;r>=0&&(o=t[r],!(l.timestamp-o.timestamp>fa(n)));)r--;if(!o)return{x:0,y:0};o===t[0]&&t.length>2&&l.timestamp-o.timestamp>fa(n)*2&&(o=t[1]);const u=na(l.timestamp-o.timestamp);if(u===0)return{x:0,y:0};const d={x:(l.x-o.x)/u,y:(l.y-o.y)/u};return d.x===1/0&&(d.x=0),d.y===1/0&&(d.y=0),d}function vq(t,{min:n,max:r},o){return n!==void 0&&t<n?t=o?Be(n,t,o.min):Math.max(t,n):r!==void 0&&t>r&&(t=o?Be(r,t,o.max):Math.min(t,r)),t}function Ib(t,n,r){return{min:n!==void 0?t.min+n:void 0,max:r!==void 0?t.max+r-(t.max-t.min):void 0}}function bq(t,{top:n,left:r,bottom:o,right:l}){return{x:Ib(t.x,r,l),y:Ib(t.y,n,o)}}function Fb(t,n){let r=n.min-t.min,o=n.max-t.max;return n.max-n.min<t.max-t.min&&([r,o]=[o,r]),{min:r,max:o}}function wq(t,n){return{x:Fb(t.x,n.x),y:Fb(t.y,n.y)}}function xq(t,n){let r=.5;const o=bt(t),l=bt(n);return l>o?r=Es(n.min,n.max-o,t.min):o>l&&(r=Es(t.min,t.max-l,n.min)),Ra(0,1,r)}function kq(t,n){const r={};return n.min!==void 0&&(r.min=n.min-t.min),n.max!==void 0&&(r.max=n.max-t.min),r}const Nh=.35;function Sq(t=Nh){return t===!1?t=0:t===!0&&(t=Nh),{x:Wb(t,"left","right"),y:Wb(t,"top","bottom")}}function Wb(t,n,r){return{min:Gb(t,n),max:Gb(t,r)}}function Gb(t,n){return typeof t=="number"?t:t[n]||0}const Aq=new WeakMap;class Tq{constructor(n){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Je(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=n}start(n,{snapToCursor:r=!1,distanceThreshold:o}={}){const{presenceContext:l}=this.visualElement;if(l&&l.isPresent===!1)return;const u=v=>{r&&this.snapToCursor(_s(v).point),this.stopAnimation()},d=(v,b)=>{const{drag:S,dragPropagation:T,onDragStart:E}=this.getProps();if(S&&!T&&(this.openDragLock&&this.openDragLock(),this.openDragLock=J2(S),!this.openDragLock))return;this.latestPointerEvent=v,this.latestPanInfo=b,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Ta(D=>{let V=this.getAxisMotionValue(D).get()||0;if(Ma.test(V)){const{projection:N}=this.visualElement;if(N&&N.layout){const P=N.layout.layoutBox[D];P&&(V=bt(P)*(parseFloat(V)/100))}}this.originPoint[D]=V}),E&&Ue.update(()=>E(v,b),!1,!0),Sh(this.visualElement,"transform");const{animationState:C}=this.visualElement;C&&C.setActive("whileDrag",!0)},f=(v,b)=>{this.latestPointerEvent=v,this.latestPanInfo=b;const{dragPropagation:S,dragDirectionLock:T,onDirectionLock:E,onDrag:C}=this.getProps();if(!S&&!this.openDragLock)return;const{offset:D}=b;if(T&&this.currentDirection===null){this.currentDirection=Eq(D),this.currentDirection!==null&&E&&E(this.currentDirection);return}this.updateAxis("x",b.point,D),this.updateAxis("y",b.point,D),this.visualElement.render(),C&&Ue.update(()=>C(v,b),!1,!0)},m=(v,b)=>{this.latestPointerEvent=v,this.latestPanInfo=b,this.stop(v,b),this.latestPointerEvent=null,this.latestPanInfo=null},p=()=>{const{dragSnapToOrigin:v}=this.getProps();(v||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:g}=this.getProps();this.panSession=new Vk(n,{onSessionStart:u,onStart:d,onMove:f,onSessionEnd:m,resumeAnimation:p},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:g,distanceThreshold:o,contextWindow:Nk(this.visualElement),element:this.visualElement.current})}stop(n,r){const o=n||this.latestPointerEvent,l=r||this.latestPanInfo,u=this.isDragging;if(this.cancel(),!u||!l||!o)return;const{velocity:d}=l;this.startAnimation(d);const{onDragEnd:f}=this.getProps();f&&Ue.postRender(()=>f(o,l))}cancel(){this.isDragging=!1;const{projection:n,animationState:r}=this.visualElement;n&&(n.isAnimationBlocked=!1),this.endPanSession();const{dragPropagation:o}=this.getProps();!o&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),r&&r.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(n,r,o){const{drag:l}=this.getProps();if(!o||!cl(n,l,this.currentDirection))return;const u=this.getAxisMotionValue(n);let d=this.originPoint[n]+o[n];this.constraints&&this.constraints[n]&&(d=vq(d,this.constraints[n],this.elastic[n])),u.set(d)}resolveConstraints(){const{dragConstraints:n,dragElastic:r}=this.getProps(),o=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,l=this.constraints;n&&$i(n)?this.constraints||(this.constraints=this.resolveRefConstraints()):n&&o?this.constraints=bq(o.layoutBox,n):this.constraints=!1,this.elastic=Sq(r),l!==this.constraints&&!$i(n)&&o&&this.constraints&&!this.hasMutatedConstraints&&Ta(u=>{this.constraints!==!1&&this.getAxisMotionValue(u)&&(this.constraints[u]=kq(o.layoutBox[u],this.constraints[u]))})}resolveRefConstraints(){const{dragConstraints:n,onMeasureDragConstraints:r}=this.getProps();if(!n||!$i(n))return!1;const o=n.current,{projection:l}=this.visualElement;if(!l||!l.layout)return!1;const u=MN(o,l.root,this.visualElement.getTransformPagePoint());let d=wq(l.layout.layoutBox,u);if(r){const f=r(TN(d));this.hasMutatedConstraints=!!f,f&&(d=tk(f))}return d}startAnimation(n){const{drag:r,dragMomentum:o,dragElastic:l,dragTransition:u,dragSnapToOrigin:d,onDragTransitionEnd:f}=this.getProps(),m=this.constraints||{},p=Ta(g=>{if(!cl(g,r,this.currentDirection))return;let v=m&&m[g]||{};d&&(v={min:0,max:0});const b=l?200:1e6,S=l?40:1e7,T={type:"inertia",velocity:o?n[g]:0,bounceStiffness:b,bounceDamping:S,timeConstant:750,restDelta:1,restSpeed:10,...u,...v};return this.startAxisValueAnimation(g,T)});return Promise.all(p).then(f)}startAxisValueAnimation(n,r){const o=this.getAxisMotionValue(n);return Sh(this.visualElement,n),o.start(wf(n,o,0,r,this.visualElement,!1))}stopAnimation(){Ta(n=>this.getAxisMotionValue(n).stop())}getAxisMotionValue(n){const r=`_drag${n.toUpperCase()}`,o=this.visualElement.getProps(),l=o[r];return l||this.visualElement.getValue(n,(o.initial?o.initial[n]:void 0)||0)}snapToCursor(n){Ta(r=>{const{drag:o}=this.getProps();if(!cl(r,o,this.currentDirection))return;const{projection:l}=this.visualElement,u=this.getAxisMotionValue(r);if(l&&l.layout){const{min:d,max:f}=l.layout.layoutBox[r],m=u.get()||0;u.set(n[r]-Be(d,f,.5)+m)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:n,dragConstraints:r}=this.getProps(),{projection:o}=this.visualElement;if(!$i(r)||!o||!this.constraints)return;this.stopAnimation();const l={x:0,y:0};Ta(d=>{const f=this.getAxisMotionValue(d);if(f&&this.constraints!==!1){const m=f.get();l[d]=xq({min:m,max:m},this.constraints[d])}});const{transformTemplate:u}=this.visualElement.getProps();this.visualElement.current.style.transform=u?u({},""):"none",o.root&&o.root.updateScroll(),o.updateLayout(),this.constraints=!1,this.resolveConstraints(),Ta(d=>{if(!cl(d,n,null))return;const f=this.getAxisMotionValue(d),{min:m,max:p}=this.constraints[d];f.set(Be(m,p,l[d]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;Aq.set(this.visualElement,this);const n=this.visualElement.current,r=Ss(n,"pointerdown",p=>{const{drag:g,dragListener:v=!0}=this.getProps(),b=p.target,S=b!==n&&rN(b);g&&v&&!S&&this.start(p)});let o;const l=()=>{const{dragConstraints:p}=this.getProps();$i(p)&&p.current&&(this.constraints=this.resolveRefConstraints(),o||(o=Cq(n,p.current,()=>this.scalePositionWithinConstraints())))},{projection:u}=this.visualElement,d=u.addEventListener("measure",l);u&&!u.layout&&(u.root&&u.root.updateScroll(),u.updateLayout()),Ue.read(l);const f=Os(window,"resize",()=>this.scalePositionWithinConstraints()),m=u.addEventListener("didUpdate",(({delta:p,hasLayoutChanged:g})=>{this.isDragging&&g&&(Ta(v=>{const b=this.getAxisMotionValue(v);b&&(this.originPoint[v]+=p[v].translate,b.set(b.get()+p[v].translate))}),this.visualElement.render())}));return()=>{f(),r(),d(),m&&m(),o&&o()}}getProps(){const n=this.visualElement.getProps(),{drag:r=!1,dragDirectionLock:o=!1,dragPropagation:l=!1,dragConstraints:u=!1,dragElastic:d=Nh,dragMomentum:f=!0}=n;return{...n,drag:r,dragDirectionLock:o,dragPropagation:l,dragConstraints:u,dragElastic:d,dragMomentum:f}}}function Yb(t){let n=!0;return()=>{if(n){n=!1;return}t()}}function Cq(t,n,r){const o=Jv(t,Yb(r)),l=Jv(n,Yb(r));return()=>{o(),l()}}function cl(t,n,r){return(n===!0||n===t)&&(r===null||r===t)}function Eq(t,n=10){let r=null;return Math.abs(t.y)>n?r="y":Math.abs(t.x)>n&&(r="x"),r}class Mq extends jn{constructor(n){super(n),this.removeGroupControls=ia,this.removeListeners=ia,this.controls=new Tq(n)}mount(){const{dragControls:n}=this.node.getProps();n&&(this.removeGroupControls=n.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||ia}update(){const{dragControls:n}=this.node.getProps(),{dragControls:r}=this.node.prevProps||{};n!==r&&(this.removeGroupControls(),n&&(this.removeGroupControls=n.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}const zd=t=>(n,r)=>{t&&Ue.update(()=>t(n,r),!1,!0)};class Rq extends jn{constructor(){super(...arguments),this.removePointerDownListener=ia}onPointerDown(n){this.session=new Vk(n,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:Nk(this.node)})}createPanHandlers(){const{onPanSessionStart:n,onPanStart:r,onPan:o,onPanEnd:l}=this.node.getProps();return{onSessionStart:zd(n),onStart:zd(r),onMove:zd(o),onEnd:(u,d)=>{delete this.session,l&&Ue.postRender(()=>l(u,d))}}}mount(){this.removePointerDownListener=Ss(this.node.current,"pointerdown",n=>this.onPointerDown(n))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}let Id=!1;class Dq extends k.Component{componentDidMount(){const{visualElement:n,layoutGroup:r,switchLayoutGroup:o,layoutId:l}=this.props,{projection:u}=n;u&&(r.group&&r.group.add(u),o&&o.register&&l&&o.register(u),Id&&u.root.didUpdate(),u.addEventListener("animationComplete",()=>{this.safeToRemove()}),u.setOptions({...u.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),wl.hasEverUpdated=!0}getSnapshotBeforeUpdate(n){const{layoutDependency:r,visualElement:o,drag:l,isPresent:u}=this.props,{projection:d}=o;return d&&(d.isPresent=u,n.layoutDependency!==r&&d.setOptions({...d.options,layoutDependency:r}),Id=!0,l||n.layoutDependency!==r||r===void 0||n.isPresent!==u?d.willUpdate():this.safeToRemove(),n.isPresent!==u&&(u?d.promote():d.relegate()||Ue.postRender(()=>{const f=d.getStack();(!f||!f.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:n}=this.props.visualElement;n&&(n.root.didUpdate(),Af.postRender(()=>{!n.currentAnimation&&n.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:n,layoutGroup:r,switchLayoutGroup:o}=this.props,{projection:l}=n;Id=!0,l&&(l.scheduleCheckAfterUnmount(),r&&r.group&&r.group.remove(l),o&&o.deregister&&o.deregister(l))}safeToRemove(){const{safeToRemove:n}=this.props;n&&n()}render(){return null}}function jk(t){const[n,r]=Sk(),o=k.useContext(af);return w.jsx(Dq,{...t,layoutGroup:o,switchLayoutGroup:k.useContext(Dk),isPresent:n,safeToRemove:r})}const Oq={pan:{Feature:Rq},drag:{Feature:Mq,ProjectionNode:kk,MeasureLayout:jk}};function Kb(t,n,r){const{props:o}=t;t.animationState&&o.whileHover&&t.animationState.setActive("whileHover",r==="Start");const l="onHover"+r,u=o[l];u&&Ue.postRender(()=>u(n,_s(n)))}class Nq extends jn{mount(){const{current:n}=this.node;n&&(this.unmount=tN(n,(r,o)=>(Kb(this.node,o,"Start"),l=>Kb(this.node,l,"End"))))}unmount(){}}class Vq extends jn{constructor(){super(...arguments),this.isActive=!1}onFocus(){let n=!1;try{n=this.node.current.matches(":focus-visible")}catch{n=!0}!n||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=js(Os(this.node.current,"focus",()=>this.onFocus()),Os(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function Qb(t,n,r){const{props:o}=t;if(t.current instanceof HTMLButtonElement&&t.current.disabled)return;t.animationState&&o.whileTap&&t.animationState.setActive("whileTap",r==="Start");const l="onTap"+(r==="End"?"":r),u=o[l];u&&Ue.postRender(()=>u(n,_s(n)))}class qq extends jn{mount(){const{current:n}=this.node;if(!n)return;const{globalTapTarget:r,propagate:o}=this.node.props;this.unmount=oN(n,(l,u)=>(Qb(this.node,u,"Start"),(d,{success:f})=>Qb(this.node,d,f?"End":"Cancel")),{useGlobalTarget:r,stopPropagation:o?.tap===!1})}unmount(){}}const Vh=new WeakMap,Fd=new WeakMap,jq=t=>{const n=Vh.get(t.target);n&&n(t)},Uq=t=>{t.forEach(jq)};function Pq({root:t,...n}){const r=t||document;Fd.has(r)||Fd.set(r,{});const o=Fd.get(r),l=JSON.stringify(n);return o[l]||(o[l]=new IntersectionObserver(Uq,{root:t,...n})),o[l]}function _q(t,n,r){const o=Pq(n);return Vh.set(t,r),o.observe(t),()=>{Vh.delete(t),o.unobserve(t)}}const Lq={some:0,all:1};class Hq extends jn{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:n={}}=this.node.getProps(),{root:r,margin:o,amount:l="some",once:u}=n,d={root:r?r.current:void 0,rootMargin:o,threshold:typeof l=="number"?l:Lq[l]},f=m=>{const{isIntersecting:p}=m;if(this.isInView===p||(this.isInView=p,u&&!p&&this.hasEnteredView))return;p&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",p);const{onViewportEnter:g,onViewportLeave:v}=this.node.getProps(),b=p?g:v;b&&b(m)};return _q(this.node.current,d,f)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:n,prevProps:r}=this.node;["amount","margin","root"].some(Bq(n,r))&&this.startObserver()}unmount(){}}function Bq({viewport:t={}},{viewport:n={}}={}){return r=>t[r]!==n[r]}const zq={inView:{Feature:Hq},tap:{Feature:qq},focus:{Feature:Vq},hover:{Feature:Nq}},Iq={layout:{ProjectionNode:kk,MeasureLayout:jk}},Fq={...fq,...zq,...Oq,...Iq},Xb=lq(Fq,cq);function Wq(){const[t,n]=k.useState(!1);k.useEffect(()=>{if(sessionStorage.getItem("cta_popup_seen"))return;const o=setTimeout(()=>n(!0),4e4);return()=>clearTimeout(o)},[]);const r=()=>{n(!1),sessionStorage.setItem("cta_popup_seen","1")};return w.jsx(PV,{children:t&&w.jsxs(w.Fragment,{children:[w.jsx(Xb.div,{initial:{opacity:0}
198,animate:{opacity:1},exit:{opacity:0},transition:{duration:.25},onClick:r,className:"fixed inset-0 z-[9998] bg-black/70 backdrop-blur-md"},"backdrop"),w.jsx(Xb.div,{initial:{opacity:0,scale:.82,y:24},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.9,y:16},transition:{type:"spring",damping:20,stiffness:260},className:"fixed inset-0 z-[9999] flex items-center justify-center p-4",style:{pointerEvents:"none"},children:w.jsxs("div",{className:"relative w-full max-w-md overflow-hidden rounded-[2rem] shadow-[0_32px_80px_rgba(0,0,0,0.55)]",style:{pointerEvents:"auto"},children:[w.jsx("button",{onClick:r,className:"absolute right-4 top-4 z-20 flex h-10 w-10 items-center justify-center rounded-full bg-white/20 text-white shadow-lg backdrop-blur-sm transition hover:bg-white/35 hover:scale-110 active:scale-95","aria-label":"Close",children:w.jsx(Fh,{className:"h-5 w-5 font-bold",strokeWidth:2.5})}),w.jsx("div",{className:"h-1.5 w-full bg-gradient-to-r from-orange-500 via-yellow-400 to-orange-500"}),w.jsxs("div",{className:"relative bg-gradient-to-br from-[#07234d] via-[#0a2f63] to-[#061a3a] px-7 pb-8 pt-7",children:[w.jsx("div",{className:"pointer-events-none absolute -right-16 -top-16 h-56 w-56 rounded-full bg-blue-500/10 blur-3xl"}),w.jsx("div",{className:"pointer-events-none absolute -left-12 bottom-0 h-40 w-40 rounded-full bg-orange-500/10 blur-3xl"}),w.jsxs("div",{className:"mb-5 flex items-center gap-2",children:[w.jsxs("span",{className:"relative flex h-2.5 w-2.5",children:[w.jsx("span",{className:"absolute inline-flex h-full w-full animate-ping rounded-full bg-green-400 opacity-75"}),w.jsx("span",{className:"relative inline-flex h-2.5 w-2.5 rounded-full bg-green-400"})]}),w.jsx("span",{className:"text-[11px] font-bold uppercase tracking-widest text-green-400",children:"Experts Available Now"})]}),w.jsxs("h2",{className:"mb-2 text-[1.75rem] font-black leading-tight text-white",style:{fontFamily:"Outfit, sans-serif"},children:["Don't Leave Without"," ",w.jsx("span",{className:"bg-gradient-to-r from-yellow-400 to-orange-400 bg-clip-text text-transparent",children:"Your Free Quote!"})]}),w.jsx("p",{className:"mb-6 text-sm leading-relaxed text-slate-300",children:"Our parts specialists are standing by — get a guaranteed-fit engine or transmission quote in under 60 seconds. Free shipping. Up to 5-year warranty."}),w.jsx("div",{className:"mb-7 grid grid-cols-3 gap-2",children:[{icon:Ji,label:"5-Year",sub:"Warranty"},{icon:$w,label:"Free",sub:"Shipping"},{icon:Zw,label:"4.8★",sub:"Google"}].map(({icon:o,label:l,sub:u})=>w.jsxs("div",{className:"flex flex-col items-center gap-1 rounded-xl bg-white/6 py-3",children:[w.jsx(o,{className:"h-4 w-4 text-yellow-400"}),w.jsx("span",{className:"text-sm font-extrabold text-white",style:{fontFamily:"Outfit, sans-serif"},children:l}),w.jsx("span",{className:"text-[10px] font-medium text-slate-400",children:u})]},u))}),w.jsxs("a",{href:"tel:18883818872",onClick:r,className:"group relative flex w-full items-center justify-center gap-3 overflow-hidden rounded-2xl bg-gradient-to-r from-[#F26A1A] to-orange-500 px-6 py-5 text-lg font-extrabold text-white shadow-[0_8px_32px_rgba(242,106,26,0.55)] transition-all duration-200 hover:shadow-[0_12px_40px_rgba(242,106,26,0.7)] hover:scale-[1.02] active:scale-[0.98]",style:{fontFamily:"Outfit, sans-serif"},children:[w.jsx("span",{className:"pointer-events-none absolute inset-0 rounded-2xl ring-2 ring-orange-400/60 animate-ping",style:{animationDuration:"2s"}}),w.jsxs("span",{className:"relative flex items-center gap-3",children:[w.jsx("span",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-white/20",children:w.jsx(si,{className:"h-5 w-5"})}),w.jsxs("span",{className:"flex flex-col items-start leading-tight",children:[w.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-widest text-orange-200",children:"Call Free · No Obligation"}),w.jsx("span",{children:"(888) 381-8872"})]})]})]}),w.jsx("p",{className:"mt-4 text-center text-[11px] text-slate-500",children:"Mon–Sat 8 am–8 pm EST · Secure & Private · 10,000+ Parts Delivered"})]})]})},"popup")]})})}const Gq="tel:+18883818872";function Yq(){const[t,n]=ui();function r(){if(t==="/"){const o=document.getElementById("quote");o&&o.scrollIntoView({behavior:"smooth",block:"start"})}else n("/#quote")}return w.jsxs("div",{className:"fixed bottom-0 left-0 right-0 z-[99999] flex sm:hidden",children:[w.jsxs("button",{onClick:r,className:"flex flex-1 items-center justify-center gap-2 bg-[#f97316] py-4 text-sm font-bold text-white active:brightness-90",children:[w.jsx(D1,{className:"h-4 w-4 shrink-0"}),"Get a Quote"]}),w.jsxs("a",{href:Gq,className:"flex flex-1 items-center justify-center gap-2 bg-[#084298] py-4 text-sm font-bold text-white active:brightness-90",children:[w.jsx(si,{className:"h-4 w-4 shrink-0"}),"Call Now"]})]})}function Kq({children:t}){const[n]=ui();return w.jsxs("div",{className:"min-h-[100dvh] flex flex-col bg-background text-foreground font-sans",children:[w.jsx(QO,{}),w.jsx("main",{className:"flex-1 flex flex-col pb-[60px] sm:pb-0",children:t}),w.jsx(XO,{}),n!=="/order"&&w.jsx(Wq,{}),w.jsx(Yq,{})]})}const Zb="qap_session_id";let Qq=0,or=null;const xl=[];function Xq(){try{let t=localStorage.getItem(Zb);return t||(t=crypto.randomUUID(),localStorage.setItem(Zb,t)),t}catch{return""}}function Zq(){or===null&&(or=setTimeout(()=>{or=null,Uk()},2e3))}const $q="qap_visitor_id";function Jq(){try{return localStorage.getItem($q)}catch{return null}}async function Uk(){if(xl.length===0)return;const t=Xq();if(!t)return;const n=xl.splice(0,xl.length);try{await fetch("/api/tracking",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:t,visitorId:Jq(),events:n}),keepalive:!0})}catch{}}function gr(t,n={}){try{const r={eventType:t,pageUrl:window.location.href,pageTitle:document.title,data:n.data,sequenceNo:++Qq,ts:Date.now()};xl.push(r),Zq()}catch{}}typeof window<"u"&&window.addEventListener("pagehide",()=>{or!==null&&(clearTimeout(or),or=null),Uk()});const $b="qap_visitor_id",Jb="qap_visitor_session_id",ew="landing_url",tw="lead_source",Pk="qap_lead_submitted";function ej(){try{let t=localStorage.getItem($b);return t||(t=crypto.randomUUID(),localStorage.setItem($b,t)),t}catch{return""}}function tj(){try{let t=sessionStorage.getItem(Jb);return t||(t=crypto.randomUUID(),sessionStorage.setItem(Jb,t)),t}catch{return""}}function _k(){const t=new URLSearchParams(window.location.search),n=t.get("gclid"),r=t.get("msclkid"),o=(t.get("utm_source")||"").toLowerCase(),l=document.referrer.toLowerCase();let u="Direct";return n?u="Google Ads":r?u="Bing Ads":o.includes("google")?u="Google Ads":o.includes("bing")||o.includes("microsoft")?u="Bing Ads":l.includes("google.")?u="Google Organic":l.includes("bing.")?u="Bing Organic":l&&(u="Referral"),{source:u,gclid:n,msclkid:r}}function aj(){const t=navigator.userAgent;return/tablet|ipad/i.test(t)?"Tablet":/mobile|iphone|android/i.test(t)?"Mobile":"Desktop"}function nj(){const t=navigator.userAgent;
198return t.includes("Edg/")?"Edge":t.includes("Chrome/")&&!t.includes("Edg/")?"Chrome":t.includes("Firefox/")?"Firefox":t.includes("Safari/")&&!t.includes("Chrome/")?"Safari":"Other"}function ij(){let t=sessionStorage.getItem(ew),n=sessionStorage.getItem(tw);return t||(t=window.location.href,sessionStorage.setItem(ew,t)),n||(n=_k().source,sessionStorage.setItem(tw,n)),{landingUrl:t,leadSource:n}}function Lk(){const t=ej(),n=tj(),{landingUrl:r,leadSource:o}=ij();return{visitorId:t,sessionId:n,landingUrl:r,leadSource:o,deviceType:aj(),browser:nj()}}function rj(){try{sessionStorage.setItem(Pk,"1")}catch{}}function sj(t){let n=!1;try{n=sessionStorage.getItem(Pk)==="1"}catch{}gr(n?"Post Call":"Pre Call",{data:{phoneNumber:t}})}function oj(t){gr("Form Started",{data:{formName:t}})}function lj(t,n){gr("Form Submitted",{data:{formName:t,timeTakenMs:n}})}function cj(t){gr("Form Abandoned",{data:{formName:t}})}function uj(t){gr("CTA Click",{data:{label:t}})}const qf="/api/tracking";async function dj(){const t=Lk(),{gclid:n,msclkid:r}=_k();try{await fetch(`${qf}/visitor`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({visitorId:t.visitorId,sessionId:t.sessionId,trafficSource:t.leadSource,gclid:n,msclkid:r,firstLandingUrl:t.landingUrl,referrer:document.referrer||null,deviceType:t.deviceType,browser:t.browser}),keepalive:!0})}catch{}}async function hj(){const t=Lk();try{const n=await fetch(`${qf}/page`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({visitorId:t.visitorId,sessionId:t.sessionId,pageUrl:window.location.href,pageTitle:document.title})});return n.ok?(await n.json()).pageId??null:null}catch{return null}}function Wd(t,n){try{const r=`${qf}/page/${t}/exit`,o=new Blob([JSON.stringify({timeSpentSeconds:n})],{type:"application/json"});navigator.sendBeacon?navigator.sendBeacon(r,o):fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:o,keepalive:!0})}catch{}}const ul=new WeakMap,Gd=new WeakSet;function Yd(t){const n=t;return n.getAttribute("data-form-name")||n.name||n.id||n.getAttribute("aria-label")||"unnamed_form"}function fj(){const[t]=ui(),n=k.useRef(null),r=k.useRef(Date.now()),o=k.useRef(0);return k.useEffect(()=>{const l=window.setTimeout(()=>{dj()},1e3);return()=>window.clearTimeout(l)},[]),k.useEffect(()=>{function l(f){const m=f.target?.closest?.("a[href^='tel:']");if(m){const g=m.getAttribute("href")?.replace("tel:","")??"";sj(g);return}const p=f.target?.closest?.("[data-cta]");p&&uj(p.getAttribute("data-cta")||"unnamed_cta")}function u(f){const m=f.target?.closest?.("form");m&&!ul.has(m)&&(ul.set(m,Date.now()),oj(Yd(m)))}function d(f){const m=f.target,p=ul.get(m);Gd.add(m),lj(Yd(m),p?Date.now()-p:0),rj()}return document.addEventListener("click",l,!0),document.addEventListener("focusin",u,!0),document.addEventListener("submit",d,!0),()=>{document.removeEventListener("click",l,!0),document.removeEventListener("focusin",u,!0),document.removeEventListener("submit",d,!0)}},[]),k.useEffect(()=>{const l=n.current,u=r.current;l!==null&&Wd(l,Math.round((Date.now()-u)/1e3)),r.current=Date.now(),o.current=0;let d=!1;const f=window.setTimeout(()=>{hj().then(m=>{d||(n.current=m)})},1e3);return()=>{d=!0,window.clearTimeout(f);const m=n.current;m!==null&&Wd(m,Math.round((Date.now()-r.current)/1e3))}},[t]),k.useEffect(()=>{const l=[15,40,82,100],u=new Set;function d(){const f=document.documentElement,m=window.scrollY||f.scrollTop,p=f.scrollHeight-f.clientHeight;if(p<=0)return;const g=Math.min(100,Math.round(m/p*100));if(g>o.current){o.current=g;for(const v of l)g>=v&&!u.has(v)&&(u.add(v),gr("Page Scroll %",{data:{percent:v}}))}}return window.addEventListener("scroll",d,{passive:!0}),()=>window.removeEventListener("scroll",d)},[t]),k.useEffect(()=>{function l(){document.querySelectorAll("form").forEach(d=>{ul.has(d)&&!Gd.has(d)&&(cj(Yd(d)),Gd.add(d))})}function u(){const d=n.current;d!==null&&Wd(d,Math.round((Date.now()-r.current)/1e3)),l()}return window.addEventListener("pagehide",u),()=>{window.removeEventListener("pagehide",u),l()}},[t]),null}const pj=k.lazy(()=>Pe(()=>import("./not-found-J9TzS17L.js"),__vite__mapDeps([0,1,2]))),mj=k.lazy(()=>Pe(()=>import("./Home-DzufLLiS.js"),__vite__mapDeps([3,4,1,5,6,7,8,9,10,11,12,13,14,15]))),gj=k.lazy(()=>Pe(()=>import("./BrandDetail-qYZ6Xts3.js"),__vite__mapDeps([16,4,1,5,6,7,8,9,10,17,18,13,19,15,20]))),aw=k.lazy(()=>Pe(()=>import("./BrandCategory-BCTowhaN.js"),__vite__mapDeps([21,4,1,5,6,7,8,9,10,17,13,18,19,11,15,20]))),yj=k.lazy(()=>Pe(()=>import("./BrandModel-Bd5t-Y6l.js"),__vite__mapDeps([22,4,1,5,6,7,8,9,10,17,13,18,19,15,11]))),vj=k.lazy(()=>Pe(()=>import("./BrandModelYear-C1lPfeIe.js"),__vite__mapDeps([23,4,1,5,6,7,8,9,10,17,13,19,24,15,25,11,14]))),bj=k.lazy(()=>Pe(()=>import("./ProductDetail-3H-vJ1Y_.js"),__vite__mapDeps([26,4,1,5,6,7,8,9,10,24,13,15,11,20,25,14]))),wj=k.lazy(()=>Pe(()=>import("./AllParts-Da0lQUqq.js"),__vite__mapDeps([27,4,1,13,5,6,7,8,9,10,15]))),xj=k.lazy(()=>Pe(()=>import("./ContactUs-Bpg3yl0H.js"),__vite__mapDeps([28,1,6,11,29,10,14]))),kj=k.lazy(()=>Pe(()=>import("./AboutUs-DD9NzhCq.js"),__vite__mapDeps([30,1,11,20,14]))),Sj=k.lazy(()=>Pe(()=>import("./PrivacyPolicy-Dgvtj8LR.js"),__vite__mapDeps([31,1]))),Aj=k.lazy(()=>Pe(()=>import("./Warranty-B-cPBPS-.js"),__vite__mapDeps([32,1,11]))),Tj=k.lazy(()=>Pe(()=>import("./TermsAndConditions-BM4XbQbq.js"),__vite__mapDeps([33,1]))),Cj=k.lazy(()=>Pe(()=>import("./OrderForm-DLhTh28m.js"),__vite__mapDeps([34,1,6,25,11,20,9,35]))),Ej=k.lazy(()=>Pe(()=>import("./Brands-BuBTfzyc.js"),__vite__mapDeps([36,1,4,13,7,15,14]))),Mj=k.lazy(()=>Pe(()=>import("./Disclaimer-D7YI0FSg.js"),__vite__mapDeps([37,1,38]))),Rj=k.lazy(()=>Pe(()=>import("./ThankYou-B2OVZwxc.js"),__vite__mapDeps([39,1,4,40,11,20,8,15,14,10]))),Dj=k.lazy(()=>Pe(()=>import("./SearchResults-CGjGK2CF.js"),__vite__mapDeps([41,4,6,1,5,7,8,9,10,13,42,11]))),Oj=k.lazy(()=>Pe(()=>import("./Engines-C0PheI7A.js"),__vite__mapDeps([43,1,44,4,19,10,40,38,29]))),Nj=k.lazy(()=>Pe(()=>import("./Transmissions-WzdDd0u6.js"),__vite__mapDeps([45,1,44,4,19,10,40,38,29]))),Vj=k.lazy(()=>Pe(()=>import("./VinSearch-pdMKL-fA.js"),__vite__mapDeps([46,1,8,2,10,15,12,11,14]))),nw=k.lazy(()=>Pe(()=>import("./PartLandingPage-BFSrl83_.js"),__vite__mapDeps([47,1,5,6,7,8,9,10,4,11,35]))),Ft=k.lazy(()=>Pe(()=>import("./SeoLandingPage-YzYUI09Z.js"),__vite__mapDeps([48,1,5,6,7,8,9,10,24,20,11,15,49]))),qj=k.lazy(()=>Pe(()=>import("./TransmissionCodePage-BMImhQaX.js"),__vite__mapDeps([50,1,5,6,7,8,9,10,51,42,20,11,15,49]))),jj=k.lazy(()=>Pe(()=>import("./TransmissionCodesIndex-DOdzKzFn.js"),__vite__mapDeps([52,1,51,15,14]))),Uj=new mC;function Pj(){const[t]=ui();return k.useEffect(()=>{window.scrollTo({top:0,left:0,behavior:"instant"})},[t]),null}function _j(){const[t]=ui();return k.useEffect(()=>{const n=new URLSearchParams(window.location.search),r=n.get("gclid"),o=n.get("msclkid"),l=(n.get("utm_source")||"").toLowerCase(),u=(n.get("utm_medium")||"").toLowerCase(),d=n.get("utm_campaign")||"",f=n.get("utm_content")||"";let m="";
198if(r||l.includes("google")?m="Google":o||l.includes("bing")||l.includes("microsoft")?m="Bing":(u==="cpc"||u==="ppc")&&(m="Paid / Unknown"),m){sessionStorage.setItem("ads_trafficSource",m),d&&sessionStorage.setItem("ads_utmCampaign",d),f&&sessionStorage.setItem("ads_utmContent",f);const p=n.get("utm_source")||(r?"gclid":o?"msclkid":"");p&&sessionStorage.setItem("ads_utmSourceRaw",p)}},[t]),null}function Lj(){return w.jsxs(Kq,{children:[w.jsx(Pj,{}),w.jsx(_j,{}),w.jsx(fj,{}),w.jsx(k.Suspense,{fallback:w.jsx("div",{"data-route-loading":"true",className:"min-h-[100dvh] flex-1","aria-hidden":"true"}),children:w.jsxs(zT,{children:[w.jsx(ve,{path:"/",component:mj}),w.jsx(ve,{path:"/brand/:slug",component:gj}),w.jsx(ve,{path:"/brand/:slug/engines",children:w.jsx(aw,{category:"engine"})}),w.jsx(ve,{path:"/brand/:slug/transmissions",children:w.jsx(aw,{category:"transmission"})}),w.jsx(ve,{path:"/brand/:slug/:category/:model/:year",component:vj}),w.jsx(ve,{path:"/brand/:slug/:category/:model",component:yj}),w.jsx(ve,{path:"/brands",component:Ej}),w.jsx(ve,{path:"/engines",component:Oj}),w.jsx(ve,{path:"/transmissions",component:Nj}),w.jsx(ve,{path:"/vin-search",component:Vj}),w.jsx(ve,{path:"/parts/transfer-case/ford",children:w.jsx(nw,{variant:"ford-transfer-case"})}),w.jsx(ve,{path:"/parts/:slug",component:nw}),w.jsx(ve,{path:"/parts",component:wj}),w.jsx(ve,{path:"/product/:slug",component:bj}),w.jsx(ve,{path:"/contact",component:xj}),w.jsx(ve,{path:"/about",component:kj}),w.jsx(ve,{path:"/privacy",component:Sj}),w.jsx(ve,{path:"/warranty",component:Aj}),w.jsx(ve,{path:"/terms",component:Tj}),w.jsx(ve,{path:"/disclaimer",component:Mj}),w.jsx(ve,{path:"/order",component:Cj}),w.jsx(ve,{path:"/thank-you",component:Rj}),w.jsx(ve,{path:"/search",component:Dj}),w.jsx(ve,{path:"/lkq-engines",children:w.jsx(Ft,{slug:"lkq-engines"})}),w.jsx(ve,{path:"/lkq-transmission",children:w.jsx(Ft,{slug:"lkq-transmission"})}),w.jsx(ve,{path:"/used-engines-for-sale-near-me",children:w.jsx(Ft,{slug:"used-engines-for-sale-near-me"})}),w.jsx(ve,{path:"/car-engines-for-sale",children:w.jsx(Ft,{slug:"car-engines-for-sale"})}),w.jsx(ve,{path:"/used-5-7-hemi-engine-for-sale",children:w.jsx(Ft,{slug:"used-5-7-hemi-engine-for-sale"})}),w.jsx(ve,{path:"/used-motors-for-sale-near-me",children:w.jsx(Ft,{slug:"used-motors-for-sale-near-me"})}),w.jsx(ve,{path:"/motors-for-sale-near-me",children:w.jsx(Ft,{slug:"motors-for-sale-near-me"})}),w.jsx(ve,{path:"/car-motors-for-sale",children:w.jsx(Ft,{slug:"car-motors-for-sale"})}),w.jsx(ve,{path:"/used-transmissions-near-me",children:w.jsx(Ft,{slug:"used-transmissions-near-me"})}),w.jsx(ve,{path:"/used-transmission-for-sale",children:w.jsx(Ft,{slug:"used-transmission-for-sale"})}),w.jsx(ve,{path:"/4l60e-transmission-for-sale",children:w.jsx(Ft,{slug:"4l60e-transmission-for-sale"})}),w.jsx(ve,{path:"/4l80e-transmission-for-sale",children:w.jsx(Ft,{slug:"4l80e-transmission-for-sale"})}),w.jsx(ve,{path:"/rebuilt-transmissions-for-sale",children:w.jsx(Ft,{slug:"rebuilt-transmissions-for-sale"})}),w.jsx(ve,{path:"/transmission-codes",component:jj}),w.jsx(ve,{path:"/transmission/:code",component:qj}),w.jsx(ve,{component:pj})]})})]})}function Hj(){return w.jsx(gC,{client:Uj,children:w.jsxs(fR,{children:[w.jsx(pw,{base:"/".replace(/\/$/,""),children:w.jsx(Lj,{})}),w.jsx(VE,{})]})})}yT.createRoot(document.getElementById("root")).render(w.jsx(Hj,{}));export{Zw as A,YT as B,C1 as C,KT as D,Qd as E,D1 as F,vw as G,cC as H,$T as I,yt as J,Fj as K,et as L,lv as M,Wj as N,si as P,sw as R,Ji as S,$w as T,Fh as X,M1 as a,uv as b,HT as c,A1 as d,Ct as e,cv as f,hi as g,g1 as h,Sw as i,w as j,Bj as k,ov as l,Xb as m,Xq as n,PV as o,zj as p,Kj as q,k as r,_l as s,nC as t,ui as u,QT as v,Ij as w,Xd as x,ha as y,Ll as z};

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.