(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))a(u);new MutationObserver(u=>{for(const f of u)if(f.type==="childList")for(const d of f.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&a(d)}).observe(document,{childList:!0,subtree:!0});function s(u){const f={};return u.integrity&&(f.integrity=u.integrity),u.referrerPolicy&&(f.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?f.credentials="include":u.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function a(u){if(u.ep)return;u.ep=!0;const f=s(u);fetch(u.href,f)}})();function Jh(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var ll={exports:{}},pi={},ul={exports:{}},ae={};/** * @license React * react.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var Af;function by(){if(Af)return ae;Af=1;var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),f=Symbol.for("react.provider"),d=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),x=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),v=Symbol.iterator;function w(P){return P===null||typeof P!="object"?null:(P=v&&P[v]||P["@@iterator"],typeof P=="function"?P:null)}var C={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},N=Object.assign,D={};function M(P,L,se){this.props=P,this.context=L,this.refs=D,this.updater=se||C}M.prototype.isReactComponent={},M.prototype.setState=function(P,L){if(typeof P!="object"&&typeof P!="function"&&P!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,P,L,"setState")},M.prototype.forceUpdate=function(P){this.updater.enqueueForceUpdate(this,P,"forceUpdate")};function I(){}I.prototype=M.prototype;function U(P,L,se){this.props=P,this.context=L,this.refs=D,this.updater=se||C}var B=U.prototype=new I;B.constructor=U,N(B,M.prototype),B.isPureReactComponent=!0;var b=Array.isArray,G=Object.prototype.hasOwnProperty,ie={current:null},oe={key:!0,ref:!0,__self:!0,__source:!0};function J(P,L,se){var le,de={},fe=null,xe=null;if(L!=null)for(le in L.ref!==void 0&&(xe=L.ref),L.key!==void 0&&(fe=""+L.key),L)G.call(L,le)&&!oe.hasOwnProperty(le)&&(de[le]=L[le]);var me=arguments.length-2;if(me===1)de.children=se;else if(1>>1,L=z[P];if(0>>1;Pu(de,W))feu(xe,de)?(z[P]=xe,z[fe]=W,P=fe):(z[P]=de,z[le]=W,P=le);else if(feu(xe,W))z[P]=xe,z[fe]=W,P=fe;else break e}}return X}function u(z,X){var W=z.sortIndex-X.sortIndex;return W!==0?W:z.id-X.id}if(typeof performance=="object"&&typeof performance.now=="function"){var f=performance;n.unstable_now=function(){return f.now()}}else{var d=Date,h=d.now();n.unstable_now=function(){return d.now()-h}}var g=[],x=[],y=1,v=null,w=3,C=!1,N=!1,D=!1,M=typeof setTimeout=="function"?setTimeout:null,I=typeof clearTimeout=="function"?clearTimeout:null,U=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function B(z){for(var X=s(x);X!==null;){if(X.callback===null)a(x);else if(X.startTime<=z)a(x),X.sortIndex=X.expirationTime,r(g,X);else break;X=s(x)}}function b(z){if(D=!1,B(z),!N)if(s(g)!==null)N=!0,Se(G);else{var X=s(x);X!==null&&Ne(b,X.startTime-z)}}function G(z,X){N=!1,D&&(D=!1,I(J),J=-1),C=!0;var W=w;try{for(B(X),v=s(g);v!==null&&(!(v.expirationTime>X)||z&&!ce());){var P=v.callback;if(typeof P=="function"){v.callback=null,w=v.priorityLevel;var L=P(v.expirationTime<=X);X=n.unstable_now(),typeof L=="function"?v.callback=L:v===s(g)&&a(g),B(X)}else a(g);v=s(g)}if(v!==null)var se=!0;else{var le=s(x);le!==null&&Ne(b,le.startTime-X),se=!1}return se}finally{v=null,w=W,C=!1}}var ie=!1,oe=null,J=-1,re=5,q=-1;function ce(){return!(n.unstable_now()-qz||125P?(z.sortIndex=W,r(x,z),s(g)===null&&z===s(x)&&(D?(I(J),J=-1):D=!0,Ne(b,W-P))):(z.sortIndex=L,r(g,z),N||C||(N=!0,Se(G))),z},n.unstable_shouldYield=ce,n.unstable_wrapCallback=function(z){var X=w;return function(){var W=w;w=X;try{return z.apply(this,arguments)}finally{w=W}}}})(fl)),fl}var Df;function Ky(){return Df||(Df=1,dl.exports=Gy()),dl.exports}/** * @license React * react-dom.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var Lf;function $y(){if(Lf)return ut;Lf=1;var n=tu(),r=Ky();function s(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,i=1;i"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),g=Object.prototype.hasOwnProperty,x=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,y={},v={};function w(e){return g.call(v,e)?!0:g.call(y,e)?!1:x.test(e)?v[e]=!0:(y[e]=!0,!1)}function C(e,t,i,o){if(i!==null&&i.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return o?!1:i!==null?!i.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function N(e,t,i,o){if(t===null||typeof t>"u"||C(e,t,i,o))return!0;if(o)return!1;if(i!==null)switch(i.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function D(e,t,i,o,l,c,p){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=o,this.attributeNamespace=l,this.mustUseProperty=i,this.propertyName=e,this.type=t,this.sanitizeURL=c,this.removeEmptyString=p}var M={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){M[e]=new D(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];M[t]=new D(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){M[e]=new D(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){M[e]=new D(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){M[e]=new D(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){M[e]=new D(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){M[e]=new D(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){M[e]=new D(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){M[e]=new D(e,5,!1,e.toLowerCase(),null,!1,!1)});var I=/[\-:]([a-z])/g;function U(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(I,U);M[t]=new D(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(I,U);M[t]=new D(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(I,U);M[t]=new D(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){M[e]=new D(e,1,!1,e.toLowerCase(),null,!1,!1)}),M.xlinkHref=new D("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){M[e]=new D(e,1,!1,e.toLowerCase(),null,!0,!0)});function B(e,t,i,o){var l=M.hasOwnProperty(t)?M[t]:null;(l!==null?l.type!==0:o||!(2S||l[p]!==c[S]){var k=` `+l[p].replace(" at new "," at ");return e.displayName&&k.includes("")&&(k=k.replace("",e.displayName)),k}while(1<=p&&0<=S);break}}}finally{se=!1,Error.prepareStackTrace=i}return(e=e?e.displayName||e.name:"")?L(e):""}function de(e){switch(e.tag){case 5:return L(e.type);case 16:return L("Lazy");case 13:return L("Suspense");case 19:return L("SuspenseList");case 0:case 2:case 15:return e=le(e.type,!1),e;case 11:return e=le(e.type.render,!1),e;case 1:return e=le(e.type,!0),e;default:return""}}function fe(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case oe:return"Fragment";case ie:return"Portal";case re:return"Profiler";case J:return"StrictMode";case je:return"Suspense";case Le:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ce:return(e.displayName||"Context")+".Consumer";case q:return(e._context.displayName||"Context")+".Provider";case ye:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case _e:return t=e.displayName||null,t!==null?t:fe(e.type)||"Memo";case Se:t=e._payload,e=e._init;try{return fe(e(t))}catch{}}return null}function xe(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return fe(t);case 8:return t===J?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function me(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Pe(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function ct(e){var t=Pe(e)?"checked":"value",i=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),o=""+e[t];if(!e.hasOwnProperty(t)&&typeof i<"u"&&typeof i.get=="function"&&typeof i.set=="function"){var l=i.get,c=i.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(p){o=""+p,c.call(this,p)}}),Object.defineProperty(e,t,{enumerable:i.enumerable}),{getValue:function(){return o},setValue:function(p){o=""+p},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ni(e){e._valueTracker||(e._valueTracker=ct(e))}function Du(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var i=t.getValue(),o="";return e&&(o=Pe(e)?e.checked?"true":"false":e.value),e=o,e!==i?(t.setValue(e),!0):!1}function Mi(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function mo(e,t){var i=t.checked;return W({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:i??e._wrapperState.initialChecked})}function Lu(e,t){var i=t.defaultValue==null?"":t.defaultValue,o=t.checked!=null?t.checked:t.defaultChecked;i=me(t.value!=null?t.value:i),e._wrapperState={initialChecked:o,initialValue:i,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Ru(e,t){t=t.checked,t!=null&&B(e,"checked",t,!1)}function go(e,t){Ru(e,t);var i=me(t.value),o=t.type;if(i!=null)o==="number"?(i===0&&e.value===""||e.value!=i)&&(e.value=""+i):e.value!==""+i&&(e.value=""+i);else if(o==="submit"||o==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?yo(e,t.type,i):t.hasOwnProperty("defaultValue")&&yo(e,t.type,me(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Fu(e,t,i){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var o=t.type;if(!(o!=="submit"&&o!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,i||t===e.value||(e.value=t),e.defaultValue=t}i=e.name,i!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,i!==""&&(e.name=i)}function yo(e,t,i){(t!=="number"||Mi(e.ownerDocument)!==e)&&(i==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+i&&(e.defaultValue=""+i))}var Nr=Array.isArray;function Kn(e,t,i,o){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=Di.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Mr(e,t){if(t){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=t;return}}e.textContent=t}var Dr={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Gm=["Webkit","ms","Moz","O"];Object.keys(Dr).forEach(function(e){Gm.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Dr[t]=Dr[e]})});function Bu(e,t,i){return t==null||typeof t=="boolean"||t===""?"":i||typeof t!="number"||t===0||Dr.hasOwnProperty(e)&&Dr[e]?(""+t).trim():t+"px"}function bu(e,t){e=e.style;for(var i in t)if(t.hasOwnProperty(i)){var o=i.indexOf("--")===0,l=Bu(i,t[i],o);i==="float"&&(i="cssFloat"),o?e.setProperty(i,l):e[i]=l}}var Km=W({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function wo(e,t){if(t){if(Km[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(s(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(s(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(s(61))}if(t.style!=null&&typeof t.style!="object")throw Error(s(62))}}function So(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ko=null;function To(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Co=null,$n=null,Yn=null;function Uu(e){if(e=Jr(e)){if(typeof Co!="function")throw Error(s(280));var t=e.stateNode;t&&(t=es(t),Co(e.stateNode,e.type,t))}}function Wu(e){$n?Yn?Yn.push(e):Yn=[e]:$n=e}function Hu(){if($n){var e=$n,t=Yn;if(Yn=$n=null,Uu(e),t)for(e=0;e>>=0,e===0?32:31-(rg(e)/ig|0)|0}var Ii=64,_i=4194304;function Vr(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function zi(e,t){var i=e.pendingLanes;if(i===0)return 0;var o=0,l=e.suspendedLanes,c=e.pingedLanes,p=i&268435455;if(p!==0){var S=p&~l;S!==0?o=Vr(S):(c&=p,c!==0&&(o=Vr(c)))}else p=i&~l,p!==0?o=Vr(p):c!==0&&(o=Vr(c));if(o===0)return 0;if(t!==0&&t!==o&&(t&l)===0&&(l=o&-o,c=t&-t,l>=c||l===16&&(c&4194240)!==0))return t;if((o&4)!==0&&(o|=i&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=o;0i;i++)t.push(e);return t}function Ir(e,t,i){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Pt(t),e[t]=i}function lg(e,t){var i=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var o=e.eventTimes;for(e=e.expirationTimes;0=Hr),vc=" ",xc=!1;function wc(e,t){switch(e){case"keyup":return Ig.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Sc(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var qn=!1;function zg(e,t){switch(e){case"compositionend":return Sc(t);case"keypress":return t.which!==32?null:(xc=!0,vc);case"textInput":return e=t.data,e===vc&&xc?null:e;default:return null}}function Og(e,t){if(qn)return e==="compositionend"||!Uo&&wc(e,t)?(e=fc(),Wi=Io=on=null,qn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:i,offset:t-e};e=o}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=jc(i)}}function Mc(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Mc(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Dc(){for(var e=window,t=Mi();t instanceof e.HTMLIFrameElement;){try{var i=typeof t.contentWindow.location.href=="string"}catch{i=!1}if(i)e=t.contentWindow;else break;t=Mi(e.document)}return t}function Go(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Yg(e){var t=Dc(),i=e.focusedElem,o=e.selectionRange;if(t!==i&&i&&i.ownerDocument&&Mc(i.ownerDocument.documentElement,i)){if(o!==null&&Go(i)){if(t=o.start,e=o.end,e===void 0&&(e=t),"selectionStart"in i)i.selectionStart=t,i.selectionEnd=Math.min(e,i.value.length);else if(e=(t=i.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=i.textContent.length,c=Math.min(o.start,l);o=o.end===void 0?c:Math.min(o.end,l),!e.extend&&c>o&&(l=o,o=c,c=l),l=Nc(i,c);var p=Nc(i,o);l&&p&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==p.node||e.focusOffset!==p.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),c>o?(e.addRange(t),e.extend(p.node,p.offset)):(t.setEnd(p.node,p.offset),e.addRange(t)))}}for(t=[],e=i;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof i.focus=="function"&&i.focus(),i=0;i=document.documentMode,Zn=null,Ko=null,Yr=null,$o=!1;function Lc(e,t,i){var o=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;$o||Zn==null||Zn!==Mi(o)||(o=Zn,"selectionStart"in o&&Go(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),Yr&&$r(Yr,o)||(Yr=o,o=qi(Ko,"onSelect"),0rr||(e.current=sa[rr],sa[rr]=null,rr--)}function we(e,t){rr++,sa[rr]=e.current,e.current=t}var cn={},Qe=un(cn),it=un(!1),Nn=cn;function ir(e,t){var i=e.type.contextTypes;if(!i)return cn;var o=e.stateNode;if(o&&o.__reactInternalMemoizedUnmaskedChildContext===t)return o.__reactInternalMemoizedMaskedChildContext;var l={},c;for(c in i)l[c]=t[c];return o&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function st(e){return e=e.childContextTypes,e!=null}function ts(){Te(it),Te(Qe)}function $c(e,t,i){if(Qe.current!==cn)throw Error(s(168));we(Qe,t),we(it,i)}function Yc(e,t,i){var o=e.stateNode;if(t=t.childContextTypes,typeof o.getChildContext!="function")return i;o=o.getChildContext();for(var l in o)if(!(l in t))throw Error(s(108,xe(e)||"Unknown",l));return W({},i,o)}function ns(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||cn,Nn=Qe.current,we(Qe,e),we(it,it.current),!0}function Xc(e,t,i){var o=e.stateNode;if(!o)throw Error(s(169));i?(e=Yc(e,t,Nn),o.__reactInternalMemoizedMergedChildContext=e,Te(it),Te(Qe),we(Qe,e)):Te(it),we(it,i)}var $t=null,rs=!1,oa=!1;function Qc(e){$t===null?$t=[e]:$t.push(e)}function oy(e){rs=!0,Qc(e)}function dn(){if(!oa&&$t!==null){oa=!0;var e=0,t=ge;try{var i=$t;for(ge=1;e>=p,l-=p,Yt=1<<32-Pt(t)+l|i<ne?(Ge=te,te=null):Ge=te.sibling;var he=R(A,te,E[ne],O);if(he===null){te===null&&(te=Ge);break}e&&te&&he.alternate===null&&t(A,te),T=c(he,T,ne),ee===null?Z=he:ee.sibling=he,ee=he,te=Ge}if(ne===E.length)return i(A,te),Ae&&Dn(A,ne),Z;if(te===null){for(;nene?(Ge=te,te=null):Ge=te.sibling;var wn=R(A,te,he.value,O);if(wn===null){te===null&&(te=Ge);break}e&&te&&wn.alternate===null&&t(A,te),T=c(wn,T,ne),ee===null?Z=wn:ee.sibling=wn,ee=wn,te=Ge}if(he.done)return i(A,te),Ae&&Dn(A,ne),Z;if(te===null){for(;!he.done;ne++,he=E.next())he=V(A,he.value,O),he!==null&&(T=c(he,T,ne),ee===null?Z=he:ee.sibling=he,ee=he);return Ae&&Dn(A,ne),Z}for(te=o(A,te);!he.done;ne++,he=E.next())he=H(te,A,ne,he.value,O),he!==null&&(e&&he.alternate!==null&&te.delete(he.key===null?ne:he.key),T=c(he,T,ne),ee===null?Z=he:ee.sibling=he,ee=he);return e&&te.forEach(function(By){return t(A,By)}),Ae&&Dn(A,ne),Z}function Ie(A,T,E,O){if(typeof E=="object"&&E!==null&&E.type===oe&&E.key===null&&(E=E.props.children),typeof E=="object"&&E!==null){switch(E.$$typeof){case G:e:{for(var Z=E.key,ee=T;ee!==null;){if(ee.key===Z){if(Z=E.type,Z===oe){if(ee.tag===7){i(A,ee.sibling),T=l(ee,E.props.children),T.return=A,A=T;break e}}else if(ee.elementType===Z||typeof Z=="object"&&Z!==null&&Z.$$typeof===Se&&nd(Z)===ee.type){i(A,ee.sibling),T=l(ee,E.props),T.ref=ei(A,ee,E),T.return=A,A=T;break e}i(A,ee);break}else t(A,ee);ee=ee.sibling}E.type===oe?(T=On(E.props.children,A.mode,O,E.key),T.return=A,A=T):(O=Ds(E.type,E.key,E.props,null,A.mode,O),O.ref=ei(A,T,E),O.return=A,A=O)}return p(A);case ie:e:{for(ee=E.key;T!==null;){if(T.key===ee)if(T.tag===4&&T.stateNode.containerInfo===E.containerInfo&&T.stateNode.implementation===E.implementation){i(A,T.sibling),T=l(T,E.children||[]),T.return=A,A=T;break e}else{i(A,T);break}else t(A,T);T=T.sibling}T=rl(E,A.mode,O),T.return=A,A=T}return p(A);case Se:return ee=E._init,Ie(A,T,ee(E._payload),O)}if(Nr(E))return $(A,T,E,O);if(X(E))return Q(A,T,E,O);as(A,E)}return typeof E=="string"&&E!==""||typeof E=="number"?(E=""+E,T!==null&&T.tag===6?(i(A,T.sibling),T=l(T,E),T.return=A,A=T):(i(A,T),T=nl(E,A.mode,O),T.return=A,A=T),p(A)):i(A,T)}return Ie}var lr=rd(!0),id=rd(!1),ls=un(null),us=null,ur=null,fa=null;function ha(){fa=ur=us=null}function pa(e){var t=ls.current;Te(ls),e._currentValue=t}function ma(e,t,i){for(;e!==null;){var o=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,o!==null&&(o.childLanes|=t)):o!==null&&(o.childLanes&t)!==t&&(o.childLanes|=t),e===i)break;e=e.return}}function cr(e,t){us=e,fa=ur=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(ot=!0),e.firstContext=null)}function vt(e){var t=e._currentValue;if(fa!==e)if(e={context:e,memoizedValue:t,next:null},ur===null){if(us===null)throw Error(s(308));ur=e,us.dependencies={lanes:0,firstContext:e}}else ur=ur.next=e;return t}var Ln=null;function ga(e){Ln===null?Ln=[e]:Ln.push(e)}function sd(e,t,i,o){var l=t.interleaved;return l===null?(i.next=i,ga(t)):(i.next=l.next,l.next=i),t.interleaved=i,Qt(e,o)}function Qt(e,t){e.lanes|=t;var i=e.alternate;for(i!==null&&(i.lanes|=t),i=e,e=e.return;e!==null;)e.childLanes|=t,i=e.alternate,i!==null&&(i.childLanes|=t),i=e,e=e.return;return i.tag===3?i.stateNode:null}var fn=!1;function ya(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function od(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function qt(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function hn(e,t,i){var o=e.updateQueue;if(o===null)return null;if(o=o.shared,(ue&2)!==0){var l=o.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),o.pending=t,Qt(e,i)}return l=o.interleaved,l===null?(t.next=t,ga(o)):(t.next=l.next,l.next=t),o.interleaved=t,Qt(e,i)}function cs(e,t,i){if(t=t.updateQueue,t!==null&&(t=t.shared,(i&4194240)!==0)){var o=t.lanes;o&=e.pendingLanes,i|=o,t.lanes=i,Do(e,i)}}function ad(e,t){var i=e.updateQueue,o=e.alternate;if(o!==null&&(o=o.updateQueue,i===o)){var l=null,c=null;if(i=i.firstBaseUpdate,i!==null){do{var p={eventTime:i.eventTime,lane:i.lane,tag:i.tag,payload:i.payload,callback:i.callback,next:null};c===null?l=c=p:c=c.next=p,i=i.next}while(i!==null);c===null?l=c=t:c=c.next=t}else l=c=t;i={baseState:o.baseState,firstBaseUpdate:l,lastBaseUpdate:c,shared:o.shared,effects:o.effects},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=t:e.next=t,i.lastBaseUpdate=t}function ds(e,t,i,o){var l=e.updateQueue;fn=!1;var c=l.firstBaseUpdate,p=l.lastBaseUpdate,S=l.shared.pending;if(S!==null){l.shared.pending=null;var k=S,j=k.next;k.next=null,p===null?c=j:p.next=j,p=k;var F=e.alternate;F!==null&&(F=F.updateQueue,S=F.lastBaseUpdate,S!==p&&(S===null?F.firstBaseUpdate=j:S.next=j,F.lastBaseUpdate=k))}if(c!==null){var V=l.baseState;p=0,F=j=k=null,S=c;do{var R=S.lane,H=S.eventTime;if((o&R)===R){F!==null&&(F=F.next={eventTime:H,lane:0,tag:S.tag,payload:S.payload,callback:S.callback,next:null});e:{var $=e,Q=S;switch(R=t,H=i,Q.tag){case 1:if($=Q.payload,typeof $=="function"){V=$.call(H,V,R);break e}V=$;break e;case 3:$.flags=$.flags&-65537|128;case 0:if($=Q.payload,R=typeof $=="function"?$.call(H,V,R):$,R==null)break e;V=W({},V,R);break e;case 2:fn=!0}}S.callback!==null&&S.lane!==0&&(e.flags|=64,R=l.effects,R===null?l.effects=[S]:R.push(S))}else H={eventTime:H,lane:R,tag:S.tag,payload:S.payload,callback:S.callback,next:null},F===null?(j=F=H,k=V):F=F.next=H,p|=R;if(S=S.next,S===null){if(S=l.shared.pending,S===null)break;R=S,S=R.next,R.next=null,l.lastBaseUpdate=R,l.shared.pending=null}}while(!0);if(F===null&&(k=V),l.baseState=k,l.firstBaseUpdate=j,l.lastBaseUpdate=F,t=l.shared.interleaved,t!==null){l=t;do p|=l.lane,l=l.next;while(l!==t)}else c===null&&(l.shared.lanes=0);Vn|=p,e.lanes=p,e.memoizedState=V}}function ld(e,t,i){if(e=t.effects,t.effects=null,e!==null)for(t=0;ti?i:4,e(!0);var o=ka.transition;ka.transition={};try{e(!1),t()}finally{ge=i,ka.transition=o}}function Ed(){return xt().memoizedState}function cy(e,t,i){var o=yn(e);if(i={lane:o,action:i,hasEagerState:!1,eagerState:null,next:null},jd(e))Nd(t,i);else if(i=sd(e,t,i,o),i!==null){var l=tt();Dt(i,e,o,l),Md(i,t,o)}}function dy(e,t,i){var o=yn(e),l={lane:o,action:i,hasEagerState:!1,eagerState:null,next:null};if(jd(e))Nd(t,l);else{var c=e.alternate;if(e.lanes===0&&(c===null||c.lanes===0)&&(c=t.lastRenderedReducer,c!==null))try{var p=t.lastRenderedState,S=c(p,i);if(l.hasEagerState=!0,l.eagerState=S,At(S,p)){var k=t.interleaved;k===null?(l.next=l,ga(t)):(l.next=k.next,k.next=l),t.interleaved=l;return}}catch{}finally{}i=sd(e,t,l,o),i!==null&&(l=tt(),Dt(i,e,o,l),Md(i,t,o))}}function jd(e){var t=e.alternate;return e===De||t!==null&&t===De}function Nd(e,t){ii=ps=!0;var i=e.pending;i===null?t.next=t:(t.next=i.next,i.next=t),e.pending=t}function Md(e,t,i){if((i&4194240)!==0){var o=t.lanes;o&=e.pendingLanes,i|=o,t.lanes=i,Do(e,i)}}var ys={readContext:vt,useCallback:qe,useContext:qe,useEffect:qe,useImperativeHandle:qe,useInsertionEffect:qe,useLayoutEffect:qe,useMemo:qe,useReducer:qe,useRef:qe,useState:qe,useDebugValue:qe,useDeferredValue:qe,useTransition:qe,useMutableSource:qe,useSyncExternalStore:qe,useId:qe,unstable_isNewReconciler:!1},fy={readContext:vt,useCallback:function(e,t){return zt().memoizedState=[e,t===void 0?null:t],e},useContext:vt,useEffect:xd,useImperativeHandle:function(e,t,i){return i=i!=null?i.concat([e]):null,ms(4194308,4,kd.bind(null,t,e),i)},useLayoutEffect:function(e,t){return ms(4194308,4,e,t)},useInsertionEffect:function(e,t){return ms(4,2,e,t)},useMemo:function(e,t){var i=zt();return t=t===void 0?null:t,e=e(),i.memoizedState=[e,t],e},useReducer:function(e,t,i){var o=zt();return t=i!==void 0?i(t):t,o.memoizedState=o.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},o.queue=e,e=e.dispatch=cy.bind(null,De,e),[o.memoizedState,e]},useRef:function(e){var t=zt();return e={current:e},t.memoizedState=e},useState:yd,useDebugValue:Na,useDeferredValue:function(e){return zt().memoizedState=e},useTransition:function(){var e=yd(!1),t=e[0];return e=uy.bind(null,e[1]),zt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,i){var o=De,l=zt();if(Ae){if(i===void 0)throw Error(s(407));i=i()}else{if(i=t(),He===null)throw Error(s(349));(Fn&30)!==0||fd(o,t,i)}l.memoizedState=i;var c={value:i,getSnapshot:t};return l.queue=c,xd(pd.bind(null,o,c,e),[e]),o.flags|=2048,ai(9,hd.bind(null,o,c,i,t),void 0,null),i},useId:function(){var e=zt(),t=He.identifierPrefix;if(Ae){var i=Xt,o=Yt;i=(o&~(1<<32-Pt(o)-1)).toString(32)+i,t=":"+t+"R"+i,i=si++,0<\/script>",e=e.removeChild(e.firstChild)):typeof o.is=="string"?e=p.createElement(i,{is:o.is}):(e=p.createElement(i),i==="select"&&(p=e,o.multiple?p.multiple=!0:o.size&&(p.size=o.size))):e=p.createElementNS(e,i),e[It]=t,e[Zr]=o,Qd(e,t,!1,!1),t.stateNode=e;e:{switch(p=So(i,o),i){case"dialog":ke("cancel",e),ke("close",e),l=o;break;case"iframe":case"object":case"embed":ke("load",e),l=o;break;case"video":case"audio":for(l=0;lmr&&(t.flags|=128,o=!0,li(c,!1),t.lanes=4194304)}else{if(!o)if(e=fs(p),e!==null){if(t.flags|=128,o=!0,i=e.updateQueue,i!==null&&(t.updateQueue=i,t.flags|=4),li(c,!0),c.tail===null&&c.tailMode==="hidden"&&!p.alternate&&!Ae)return Ze(t),null}else 2*Ve()-c.renderingStartTime>mr&&i!==1073741824&&(t.flags|=128,o=!0,li(c,!1),t.lanes=4194304);c.isBackwards?(p.sibling=t.child,t.child=p):(i=c.last,i!==null?i.sibling=p:t.child=p,c.last=p)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=Ve(),t.sibling=null,i=Me.current,we(Me,o?i&1|2:i&1),t):(Ze(t),null);case 22:case 23:return Ja(),o=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==o&&(t.flags|=8192),o&&(t.mode&1)!==0?(pt&1073741824)!==0&&(Ze(t),t.subtreeFlags&6&&(t.flags|=8192)):Ze(t),null;case 24:return null;case 25:return null}throw Error(s(156,t.tag))}function wy(e,t){switch(la(t),t.tag){case 1:return st(t.type)&&ts(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return dr(),Te(it),Te(Qe),Sa(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return xa(t),null;case 13:if(Te(Me),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(s(340));ar()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Te(Me),null;case 4:return dr(),null;case 10:return pa(t.type._context),null;case 22:case 23:return Ja(),null;case 24:return null;default:return null}}var Ss=!1,Je=!1,Sy=typeof WeakSet=="function"?WeakSet:Set,K=null;function hr(e,t){var i=e.ref;if(i!==null)if(typeof i=="function")try{i(null)}catch(o){Re(e,t,o)}else i.current=null}function ba(e,t,i){try{i()}catch(o){Re(e,t,o)}}var Jd=!1;function ky(e,t){if(Jo=bi,e=Dc(),Go(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else e:{i=(i=e.ownerDocument)&&i.defaultView||window;var o=i.getSelection&&i.getSelection();if(o&&o.rangeCount!==0){i=o.anchorNode;var l=o.anchorOffset,c=o.focusNode;o=o.focusOffset;try{i.nodeType,c.nodeType}catch{i=null;break e}var p=0,S=-1,k=-1,j=0,F=0,V=e,R=null;t:for(;;){for(var H;V!==i||l!==0&&V.nodeType!==3||(S=p+l),V!==c||o!==0&&V.nodeType!==3||(k=p+o),V.nodeType===3&&(p+=V.nodeValue.length),(H=V.firstChild)!==null;)R=V,V=H;for(;;){if(V===e)break t;if(R===i&&++j===l&&(S=p),R===c&&++F===o&&(k=p),(H=V.nextSibling)!==null)break;V=R,R=V.parentNode}V=H}i=S===-1||k===-1?null:{start:S,end:k}}else i=null}i=i||{start:0,end:0}}else i=null;for(ea={focusedElem:e,selectionRange:i},bi=!1,K=t;K!==null;)if(t=K,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,K=e;else for(;K!==null;){t=K;try{var $=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if($!==null){var Q=$.memoizedProps,Ie=$.memoizedState,A=t.stateNode,T=A.getSnapshotBeforeUpdate(t.elementType===t.type?Q:jt(t.type,Q),Ie);A.__reactInternalSnapshotBeforeUpdate=T}break;case 3:var E=t.stateNode.containerInfo;E.nodeType===1?E.textContent="":E.nodeType===9&&E.documentElement&&E.removeChild(E.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(s(163))}}catch(O){Re(t,t.return,O)}if(e=t.sibling,e!==null){e.return=t.return,K=e;break}K=t.return}return $=Jd,Jd=!1,$}function ui(e,t,i){var o=t.updateQueue;if(o=o!==null?o.lastEffect:null,o!==null){var l=o=o.next;do{if((l.tag&e)===e){var c=l.destroy;l.destroy=void 0,c!==void 0&&ba(t,i,c)}l=l.next}while(l!==o)}}function ks(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var i=t=t.next;do{if((i.tag&e)===e){var o=i.create;i.destroy=o()}i=i.next}while(i!==t)}}function Ua(e){var t=e.ref;if(t!==null){var i=e.stateNode;switch(e.tag){case 5:e=i;break;default:e=i}typeof t=="function"?t(e):t.current=e}}function ef(e){var t=e.alternate;t!==null&&(e.alternate=null,ef(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[It],delete t[Zr],delete t[ia],delete t[iy],delete t[sy])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function tf(e){return e.tag===5||e.tag===3||e.tag===4}function nf(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||tf(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Wa(e,t,i){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?i.nodeType===8?i.parentNode.insertBefore(e,t):i.insertBefore(e,t):(i.nodeType===8?(t=i.parentNode,t.insertBefore(e,i)):(t=i,t.appendChild(e)),i=i._reactRootContainer,i!=null||t.onclick!==null||(t.onclick=Ji));else if(o!==4&&(e=e.child,e!==null))for(Wa(e,t,i),e=e.sibling;e!==null;)Wa(e,t,i),e=e.sibling}function Ha(e,t,i){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?i.insertBefore(e,t):i.appendChild(e);else if(o!==4&&(e=e.child,e!==null))for(Ha(e,t,i),e=e.sibling;e!==null;)Ha(e,t,i),e=e.sibling}var Ke=null,Nt=!1;function pn(e,t,i){for(i=i.child;i!==null;)rf(e,t,i),i=i.sibling}function rf(e,t,i){if(Vt&&typeof Vt.onCommitFiberUnmount=="function")try{Vt.onCommitFiberUnmount(Vi,i)}catch{}switch(i.tag){case 5:Je||hr(i,t);case 6:var o=Ke,l=Nt;Ke=null,pn(e,t,i),Ke=o,Nt=l,Ke!==null&&(Nt?(e=Ke,i=i.stateNode,e.nodeType===8?e.parentNode.removeChild(i):e.removeChild(i)):Ke.removeChild(i.stateNode));break;case 18:Ke!==null&&(Nt?(e=Ke,i=i.stateNode,e.nodeType===8?ra(e.parentNode,i):e.nodeType===1&&ra(e,i),br(e)):ra(Ke,i.stateNode));break;case 4:o=Ke,l=Nt,Ke=i.stateNode.containerInfo,Nt=!0,pn(e,t,i),Ke=o,Nt=l;break;case 0:case 11:case 14:case 15:if(!Je&&(o=i.updateQueue,o!==null&&(o=o.lastEffect,o!==null))){l=o=o.next;do{var c=l,p=c.destroy;c=c.tag,p!==void 0&&((c&2)!==0||(c&4)!==0)&&ba(i,t,p),l=l.next}while(l!==o)}pn(e,t,i);break;case 1:if(!Je&&(hr(i,t),o=i.stateNode,typeof o.componentWillUnmount=="function"))try{o.props=i.memoizedProps,o.state=i.memoizedState,o.componentWillUnmount()}catch(S){Re(i,t,S)}pn(e,t,i);break;case 21:pn(e,t,i);break;case 22:i.mode&1?(Je=(o=Je)||i.memoizedState!==null,pn(e,t,i),Je=o):pn(e,t,i);break;default:pn(e,t,i)}}function sf(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var i=e.stateNode;i===null&&(i=e.stateNode=new Sy),t.forEach(function(o){var l=Dy.bind(null,e,o);i.has(o)||(i.add(o),o.then(l,l))})}}function Mt(e,t){var i=t.deletions;if(i!==null)for(var o=0;ol&&(l=p),o&=~c}if(o=l,o=Ve()-o,o=(120>o?120:480>o?480:1080>o?1080:1920>o?1920:3e3>o?3e3:4320>o?4320:1960*Cy(o/1960))-o,10e?16:e,gn===null)var o=!1;else{if(e=gn,gn=null,Es=0,(ue&6)!==0)throw Error(s(331));var l=ue;for(ue|=4,K=e.current;K!==null;){var c=K,p=c.child;if((K.flags&16)!==0){var S=c.deletions;if(S!==null){for(var k=0;kVe()-$a?_n(e,0):Ka|=i),lt(e,t)}function vf(e,t){t===0&&((e.mode&1)===0?t=1:(t=_i,_i<<=1,(_i&130023424)===0&&(_i=4194304)));var i=tt();e=Qt(e,t),e!==null&&(Ir(e,t,i),lt(e,i))}function My(e){var t=e.memoizedState,i=0;t!==null&&(i=t.retryLane),vf(e,i)}function Dy(e,t){var i=0;switch(e.tag){case 13:var o=e.stateNode,l=e.memoizedState;l!==null&&(i=l.retryLane);break;case 19:o=e.stateNode;break;default:throw Error(s(314))}o!==null&&o.delete(t),vf(e,i)}var xf;xf=function(e,t,i){if(e!==null)if(e.memoizedProps!==t.pendingProps||it.current)ot=!0;else{if((e.lanes&i)===0&&(t.flags&128)===0)return ot=!1,vy(e,t,i);ot=(e.flags&131072)!==0}else ot=!1,Ae&&(t.flags&1048576)!==0&&qc(t,ss,t.index);switch(t.lanes=0,t.tag){case 2:var o=t.type;ws(e,t),e=t.pendingProps;var l=ir(t,Qe.current);cr(t,i),l=Ca(null,t,o,e,l,i);var c=Pa();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,st(o)?(c=!0,ns(t)):c=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,ya(t),l.updater=vs,t.stateNode=l,l._reactInternals=t,Da(t,o,e,i),t=Va(null,t,o,!0,c,i)):(t.tag=0,Ae&&c&&aa(t),et(null,t,l,i),t=t.child),t;case 16:o=t.elementType;e:{switch(ws(e,t),e=t.pendingProps,l=o._init,o=l(o._payload),t.type=o,l=t.tag=Ry(o),e=jt(o,e),l){case 0:t=Fa(null,t,o,e,i);break e;case 1:t=Hd(null,t,o,e,i);break e;case 11:t=Od(null,t,o,e,i);break e;case 14:t=Bd(null,t,o,jt(o.type,e),i);break e}throw Error(s(306,o,""))}return t;case 0:return o=t.type,l=t.pendingProps,l=t.elementType===o?l:jt(o,l),Fa(e,t,o,l,i);case 1:return o=t.type,l=t.pendingProps,l=t.elementType===o?l:jt(o,l),Hd(e,t,o,l,i);case 3:e:{if(Gd(t),e===null)throw Error(s(387));o=t.pendingProps,c=t.memoizedState,l=c.element,od(e,t),ds(t,o,null,i);var p=t.memoizedState;if(o=p.element,c.isDehydrated)if(c={element:o,isDehydrated:!1,cache:p.cache,pendingSuspenseBoundaries:p.pendingSuspenseBoundaries,transitions:p.transitions},t.updateQueue.baseState=c,t.memoizedState=c,t.flags&256){l=fr(Error(s(423)),t),t=Kd(e,t,o,i,l);break e}else if(o!==l){l=fr(Error(s(424)),t),t=Kd(e,t,o,i,l);break e}else for(ht=ln(t.stateNode.containerInfo.firstChild),ft=t,Ae=!0,Et=null,i=id(t,null,o,i),t.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(ar(),o===l){t=Zt(e,t,i);break e}et(e,t,o,i)}t=t.child}return t;case 5:return ud(t),e===null&&ca(t),o=t.type,l=t.pendingProps,c=e!==null?e.memoizedProps:null,p=l.children,ta(o,l)?p=null:c!==null&&ta(o,c)&&(t.flags|=32),Wd(e,t),et(e,t,p,i),t.child;case 6:return e===null&&ca(t),null;case 13:return $d(e,t,i);case 4:return va(t,t.stateNode.containerInfo),o=t.pendingProps,e===null?t.child=lr(t,null,o,i):et(e,t,o,i),t.child;case 11:return o=t.type,l=t.pendingProps,l=t.elementType===o?l:jt(o,l),Od(e,t,o,l,i);case 7:return et(e,t,t.pendingProps,i),t.child;case 8:return et(e,t,t.pendingProps.children,i),t.child;case 12:return et(e,t,t.pendingProps.children,i),t.child;case 10:e:{if(o=t.type._context,l=t.pendingProps,c=t.memoizedProps,p=l.value,we(ls,o._currentValue),o._currentValue=p,c!==null)if(At(c.value,p)){if(c.children===l.children&&!it.current){t=Zt(e,t,i);break e}}else for(c=t.child,c!==null&&(c.return=t);c!==null;){var S=c.dependencies;if(S!==null){p=c.child;for(var k=S.firstContext;k!==null;){if(k.context===o){if(c.tag===1){k=qt(-1,i&-i),k.tag=2;var j=c.updateQueue;if(j!==null){j=j.shared;var F=j.pending;F===null?k.next=k:(k.next=F.next,F.next=k),j.pending=k}}c.lanes|=i,k=c.alternate,k!==null&&(k.lanes|=i),ma(c.return,i,t),S.lanes|=i;break}k=k.next}}else if(c.tag===10)p=c.type===t.type?null:c.child;else if(c.tag===18){if(p=c.return,p===null)throw Error(s(341));p.lanes|=i,S=p.alternate,S!==null&&(S.lanes|=i),ma(p,i,t),p=c.sibling}else p=c.child;if(p!==null)p.return=c;else for(p=c;p!==null;){if(p===t){p=null;break}if(c=p.sibling,c!==null){c.return=p.return,p=c;break}p=p.return}c=p}et(e,t,l.children,i),t=t.child}return t;case 9:return l=t.type,o=t.pendingProps.children,cr(t,i),l=vt(l),o=o(l),t.flags|=1,et(e,t,o,i),t.child;case 14:return o=t.type,l=jt(o,t.pendingProps),l=jt(o.type,l),Bd(e,t,o,l,i);case 15:return bd(e,t,t.type,t.pendingProps,i);case 17:return o=t.type,l=t.pendingProps,l=t.elementType===o?l:jt(o,l),ws(e,t),t.tag=1,st(o)?(e=!0,ns(t)):e=!1,cr(t,i),Ld(t,o,l),Da(t,o,l,i),Va(null,t,o,!0,e,i);case 19:return Xd(e,t,i);case 22:return Ud(e,t,i)}throw Error(s(156,t.tag))};function wf(e,t){return Zu(e,t)}function Ly(e,t,i,o){this.tag=e,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function St(e,t,i,o){return new Ly(e,t,i,o)}function tl(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Ry(e){if(typeof e=="function")return tl(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ye)return 11;if(e===_e)return 14}return 2}function xn(e,t){var i=e.alternate;return i===null?(i=St(e.tag,t,e.key,e.mode),i.elementType=e.elementType,i.type=e.type,i.stateNode=e.stateNode,i.alternate=e,e.alternate=i):(i.pendingProps=t,i.type=e.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=e.flags&14680064,i.childLanes=e.childLanes,i.lanes=e.lanes,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,t=e.dependencies,i.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},i.sibling=e.sibling,i.index=e.index,i.ref=e.ref,i}function Ds(e,t,i,o,l,c){var p=2;if(o=e,typeof e=="function")tl(e)&&(p=1);else if(typeof e=="string")p=5;else e:switch(e){case oe:return On(i.children,l,c,t);case J:p=8,l|=8;break;case re:return e=St(12,i,t,l|2),e.elementType=re,e.lanes=c,e;case je:return e=St(13,i,t,l),e.elementType=je,e.lanes=c,e;case Le:return e=St(19,i,t,l),e.elementType=Le,e.lanes=c,e;case Ne:return Ls(i,l,c,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case q:p=10;break e;case ce:p=9;break e;case ye:p=11;break e;case _e:p=14;break e;case Se:p=16,o=null;break e}throw Error(s(130,e==null?e:typeof e,""))}return t=St(p,i,t,l),t.elementType=e,t.type=o,t.lanes=c,t}function On(e,t,i,o){return e=St(7,e,o,t),e.lanes=i,e}function Ls(e,t,i,o){return e=St(22,e,o,t),e.elementType=Ne,e.lanes=i,e.stateNode={isHidden:!1},e}function nl(e,t,i){return e=St(6,e,null,t),e.lanes=i,e}function rl(e,t,i){return t=St(4,e.children!==null?e.children:[],e.key,t),t.lanes=i,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Fy(e,t,i,o,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Mo(0),this.expirationTimes=Mo(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Mo(0),this.identifierPrefix=o,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function il(e,t,i,o,l,c,p,S,k){return e=new Fy(e,t,i,S,k),t===1?(t=1,c===!0&&(t|=8)):t=0,c=St(3,null,null,t),e.current=c,c.stateNode=e,c.memoizedState={element:o,isDehydrated:i,cache:null,transitions:null,pendingSuspenseBoundaries:null},ya(c),e}function Vy(e,t,i){var o=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(r){console.error(r)}}return n(),cl.exports=$y(),cl.exports}var Ff;function Xy(){if(Ff)return Os;Ff=1;var n=Yy();return Os.createRoot=n.createRoot,Os.hydrateRoot=n.hydrateRoot,Os}var Qy=Xy();const qy=Jh(Qy),nu=_.createContext({});function ru(n){const r=_.useRef(null);return r.current===null&&(r.current=n()),r.current}const Zy=typeof window<"u",ep=Zy?_.useLayoutEffect:_.useEffect,uo=_.createContext(null);function iu(n,r){n.indexOf(r)===-1&&n.push(r)}function Js(n,r){const s=n.indexOf(r);s>-1&&n.splice(s,1)}const Gt=(n,r,s)=>s>r?r:s{};const Cn={},tp=n=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(n);function np(n){return typeof n=="object"&&n!==null}const rp=n=>/^0[^.\s]+$/u.test(n);function ip(n){let r;return()=>(r===void 0&&(r=n()),r)}const Tt=n=>n,Jy=(n,r)=>s=>r(n(s)),Pi=(...n)=>n.reduce(Jy),Si=(n,r,s)=>{const a=r-n;return a===0?1:(s-n)/a};class ou{constructor(){this.subscriptions=[]}add(r){return iu(this.subscriptions,r),()=>Js(this.subscriptions,r)}notify(r,s,a){const u=this.subscriptions.length;if(u)if(u===1)this.subscriptions[0](r,s,a);else for(let f=0;fn*1e3,kt=n=>n/1e3;function sp(n,r){return r?n*(1e3/r):0}const op=(n,r,s)=>(((1-3*s+3*r)*n+(3*s-6*r))*n+3*r)*n,e0=1e-7,t0=12;function n0(n,r,s,a,u){let f,d,h=0;do d=r+(s-r)/2,f=op(d,a,u)-n,f>0?s=d:r=d;while(Math.abs(f)>e0&&++hn0(f,0,1,n,s);return f=>f===0||f===1?f:op(u(f),r,a)}const ap=n=>r=>r<=.5?n(2*r)/2:(2-n(2*(1-r)))/2,lp=n=>r=>1-n(1-r),up=Ai(.33,1.53,.69,.99),au=lp(up),cp=ap(au),dp=n=>n>=1?1:(n*=2)<1?.5*au(n):.5*(2-Math.pow(2,-10*(n-1))),lu=n=>1-Math.sin(Math.acos(n)),fp=lp(lu),hp=ap(lu),r0=Ai(.42,0,1,1),i0=Ai(0,0,.58,1),pp=Ai(.42,0,.58,1),s0=n=>Array.isArray(n)&&typeof n[0]!="number",mp=n=>Array.isArray(n)&&typeof n[0]=="number",o0={linear:Tt,easeIn:r0,easeInOut:pp,easeOut:i0,circIn:lu,circInOut:hp,circOut:fp,backIn:au,backInOut:cp,backOut:up,anticipate:dp},a0=n=>typeof n=="string",Vf=n=>{if(mp(n)){su(n.length===4);const[r,s,a,u]=n;return Ai(r,s,a,u)}else if(a0(n))return o0[n];return n},Bs=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function l0(n,r){let s=new Set,a=new Set,u=!1,f=!1;const d=new WeakSet;let h={delta:0,timestamp:0,isProcessing:!1};function g(y){d.has(y)&&(x.schedule(y),n()),y(h)}const x={schedule:(y,v=!1,w=!1)=>{const N=w&&u?s:a;return v&&d.add(y),N.add(y),y},cancel:y=>{a.delete(y),d.delete(y)},process:y=>{if(h=y,u){f=!0;return}u=!0;const v=s;s=a,a=v,s.forEach(g),s.clear(),u=!1,f&&(f=!1,x.process(y))}};return x}const u0=40;function gp(n,r){let s=!1,a=!0;const u={delta:0,timestamp:0,isProcessing:!1},f=()=>s=!0,d=Bs.reduce((B,b)=>(B[b]=l0(f),B),{}),{setup:h,read:g,resolveKeyframes:x,preUpdate:y,update:v,preRender:w,render:C,postRender:N}=d,D=()=>{const B=Cn.useManualTiming,b=B?u.timestamp:performance.now();s=!1,B||(u.delta=a?1e3/60:Math.max(Math.min(b-u.timestamp,u0),1)),u.timestamp=b,u.isProcessing=!0,h.process(u),g.process(u),x.process(u),y.process(u),v.process(u),w.process(u),C.process(u),N.process(u),u.isProcessing=!1,s&&r&&(a=!1,n(D))},M=()=>{s=!0,a=!0,u.isProcessing||n(D)};return{schedule:Bs.reduce((B,b)=>{const G=d[b];return B[b]=(ie,oe=!1,J=!1)=>(s||M(),G.schedule(ie,oe,J)),B},{}),cancel:B=>{for(let b=0;b(Gs===void 0&&nt.set(Ye.isProcessing||Cn.useManualTiming?Ye.timestamp:performance.now()),Gs),set:n=>{Gs=n,queueMicrotask(c0)}},yp=n=>r=>typeof r=="string"&&r.startsWith(n),vp=yp("--"),d0=yp("var(--"),uu=n=>d0(n)?f0.test(n.split("/*")[0].trim()):!1,f0=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function If(n){return typeof n!="string"?!1:n.split("/*")[0].includes("var(--")}const Ar={test:n=>typeof n=="number",parse:parseFloat,transform:n=>n},ki={...Ar,transform:n=>Gt(0,1,n)},bs={...Ar,default:1},yi=n=>Math.round(n*1e5)/1e5,cu=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function h0(n){return n==null}const p0=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,du=(n,r)=>s=>!!(typeof s=="string"&&p0.test(s)&&s.startsWith(n)||r&&!h0(s)&&Object.prototype.hasOwnProperty.call(s,r)),xp=(n,r,s)=>a=>{if(typeof a!="string")return a;const[u,f,d,h]=a.match(cu);return{[n]:parseFloat(u),[r]:parseFloat(f),[s]:parseFloat(d),alpha:h!==void 0?parseFloat(h):1}},m0=n=>Gt(0,255,n),pl={...Ar,transform:n=>Math.round(m0(n))},Un={test:du("rgb","red"),parse:xp("red","green","blue"),transform:({red:n,green:r,blue:s,alpha:a=1})=>"rgba("+pl.transform(n)+", "+pl.transform(r)+", "+pl.transform(s)+", "+yi(ki.transform(a))+")"};function g0(n){let r="",s="",a="",u="";return n.length>5?(r=n.substring(1,3),s=n.substring(3,5),a=n.substring(5,7),u=n.substring(7,9)):(r=n.substring(1,2),s=n.substring(2,3),a=n.substring(3,4),u=n.substring(4,5),r+=r,s+=s,a+=a,u+=u),{red:parseInt(r,16),green:parseInt(s,16),blue:parseInt(a,16),alpha:u?parseInt(u,16)/255:1}}const Nl={test:du("#"),parse:g0,transform:Un.transform},Ei=n=>({test:r=>typeof r=="string"&&r.endsWith(n)&&r.split(" ").length===1,parse:parseFloat,transform:r=>`${r}${n}`}),Sn=Ei("deg"),Ht=Ei("%"),Y=Ei("px"),y0=Ei("vh"),v0=Ei("vw"),_f={...Ht,parse:n=>Ht.parse(n)/100,transform:n=>Ht.transform(n*100)},xr={test:du("hsl","hue"),parse:xp("hue","saturation","lightness"),transform:({hue:n,saturation:r,lightness:s,alpha:a=1})=>"hsla("+Math.round(n)+", "+Ht.transform(yi(r))+", "+Ht.transform(yi(s))+", "+yi(ki.transform(a))+")"},Oe={test:n=>Un.test(n)||Nl.test(n)||xr.test(n),parse:n=>Un.test(n)?Un.parse(n):xr.test(n)?xr.parse(n):Nl.parse(n),transform:n=>typeof n=="string"?n:n.hasOwnProperty("red")?Un.transform(n):xr.transform(n),getAnimatableNone:n=>{const r=Oe.parse(n);return r.alpha=0,Oe.transform(r)}},x0=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function w0(n){var r,s;return isNaN(n)&&typeof n=="string"&&(((r=n.match(cu))==null?void 0:r.length)||0)+(((s=n.match(x0))==null?void 0:s.length)||0)>0}const wp="number",Sp="color",S0="var",k0="var(",zf="${}",T0=/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 Cr(n){const r=n.toString(),s=[],a={color:[],number:[],var:[]},u=[];let f=0;const h=r.replace(T0,g=>(Oe.test(g)?(a.color.push(f),u.push(Sp),s.push(Oe.parse(g))):g.startsWith(k0)?(a.var.push(f),u.push(S0),s.push(g)):(a.number.push(f),u.push(wp),s.push(parseFloat(g))),++f,zf)).split(zf);return{values:s,split:h,indexes:a,types:u}}function C0(n){return Cr(n).values}function kp({split:n,types:r}){const s=n.length;return a=>{let u="";for(let f=0;ftypeof n=="number"?0:Oe.test(n)?Oe.getAnimatableNone(n):n,E0=(n,r)=>typeof n=="number"?r!=null&&r.trim().endsWith("/")?n:0:A0(n);function j0(n){const r=Cr(n);return kp(r)(r.values.map((a,u)=>E0(a,r.split[u])))}const Ft={test:w0,parse:C0,createTransformer:P0,getAnimatableNone:j0};function ml(n,r,s){return s<0&&(s+=1),s>1&&(s-=1),s<1/6?n+(r-n)*6*s:s<1/2?r:s<2/3?n+(r-n)*(2/3-s)*6:n}function N0({hue:n,saturation:r,lightness:s,alpha:a}){n/=360,r/=100,s/=100;let u=0,f=0,d=0;if(!r)u=f=d=s;else{const h=s<.5?s*(1+r):s+r-s*r,g=2*s-h;u=ml(g,h,n+1/3),f=ml(g,h,n),d=ml(g,h,n-1/3)}return{red:Math.round(u*255),green:Math.round(f*255),blue:Math.round(d*255),alpha:a}}function eo(n,r){return s=>s>0?r:n}const Ce=(n,r,s)=>n+(r-n)*s,gl=(n,r,s)=>{const a=n*n,u=s*(r*r-a)+a;return u<0?0:Math.sqrt(u)},M0=[Nl,Un,xr],D0=n=>M0.find(r=>r.test(n));function Of(n){const r=D0(n);if(!r)return!1;let s=r.parse(n);return r===xr&&(s=N0(s)),s}const Bf=(n,r)=>{const s=Of(n),a=Of(r);if(!s||!a)return eo(n,r);const u={...s};return f=>(u.red=gl(s.red,a.red,f),u.green=gl(s.green,a.green,f),u.blue=gl(s.blue,a.blue,f),u.alpha=Ce(s.alpha,a.alpha,f),Un.transform(u))},Ml=new Set(["none","hidden"]);function L0(n,r){return Ml.has(n)?s=>s<=0?n:r:s=>s>=1?r:n}function R0(n,r){return s=>Ce(n,r,s)}function fu(n){return typeof n=="number"?R0:typeof n=="string"?uu(n)?eo:Oe.test(n)?Bf:I0:Array.isArray(n)?Tp:typeof n=="object"?Oe.test(n)?Bf:F0:eo}function Tp(n,r){const s=[...n],a=s.length,u=n.map((f,d)=>fu(f)(f,r[d]));return f=>{for(let d=0;d{for(const f in a)s[f]=a[f](u);return s}}function V0(n,r){const s=[],a={color:0,var:0,number:0};for(let u=0;u{const s=Ft.createTransformer(r),a=Cr(n),u=Cr(r);return a.indexes.var.length===u.indexes.var.length&&a.indexes.color.length===u.indexes.color.length&&a.indexes.number.length>=u.indexes.number.length?Ml.has(n)&&!u.values.length||Ml.has(r)&&!a.values.length?L0(n,r):Pi(Tp(V0(a,u),u.values),s):eo(n,r)};function Cp(n,r,s){return typeof n=="number"&&typeof r=="number"&&typeof s=="number"?Ce(n,r,s):fu(n)(n,r)}const _0=n=>{const r=({timestamp:s})=>n(s);return{start:(s=!0)=>ve.update(r,s),stop:()=>Pn(r),now:()=>Ye.isProcessing?Ye.timestamp:nt.now()}},Pp=(n,r,s=10)=>{let a="";const u=Math.max(Math.round(r/s),2);for(let f=0;f=to?1/0:r}function z0(n,r=100,s){const a=s({...n,keyframes:[0,r]}),u=Math.min(hu(a),to);return{type:"keyframes",ease:f=>a.next(u*f).value/r,duration:kt(u)}}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};function Dl(n,r){return n*Math.sqrt(1-r*r)}const O0=12;function B0(n,r,s){let a=s;for(let u=1;u{const y=x*d,v=y*n,w=y-s,C=Dl(x,d),N=Math.exp(-v);return yl-w/C*N},f=x=>{const v=x*d*n,w=v*s+s,C=Math.pow(d,2)*Math.pow(x,2)*n,N=Math.exp(-v),D=Dl(Math.pow(x,2),d);return(-u(x)+yl>0?-1:1)*((w-C)*N)/D}):(u=x=>{const y=Math.exp(-x*n),v=(x-s)*n+1;return-yl+y*v},f=x=>{const y=Math.exp(-x*n),v=(s-x)*(n*n);return y*v});const h=5/n,g=B0(u,f,h);if(n=mt(n),isNaN(g))return{stiffness:Fe.stiffness,damping:Fe.damping,duration:n};{const x=Math.pow(g,2)*a;return{stiffness:x,damping:d*2*Math.sqrt(a*x),duration:n}}}const U0=["duration","bounce"],W0=["stiffness","damping","mass"];function bf(n,r){return r.some(s=>n[s]!==void 0)}function H0(n){let r={velocity:Fe.velocity,stiffness:Fe.stiffness,damping:Fe.damping,mass:Fe.mass,isResolvedFromDuration:!1,...n};if(!bf(n,W0)&&bf(n,U0))if(r.velocity=0,n.visualDuration){const s=n.visualDuration,a=2*Math.PI/(s*1.2),u=a*a,f=2*Gt(.05,1,1-(n.bounce||0))*Math.sqrt(u);r={...r,mass:Fe.mass,stiffness:u,damping:f}}else{const s=b0({...n,velocity:0});r={...r,...s,mass:Fe.mass},r.isResolvedFromDuration=!0}return r}function no(n=Fe.visualDuration,r=Fe.bounce){const s=typeof n!="object"?{visualDuration:n,keyframes:[0,1],bounce:r}:n;let{restSpeed:a,restDelta:u}=s;const f=s.keyframes[0],d=s.keyframes[s.keyframes.length-1],h={done:!1,value:f},{stiffness:g,damping:x,mass:y,duration:v,velocity:w,isResolvedFromDuration:C}=H0({...s,velocity:-kt(s.velocity||0)}),N=w||0,D=x/(2*Math.sqrt(g*y)),M=d-f,I=kt(Math.sqrt(g/y)),U=Math.abs(M)<5;a||(a=U?Fe.restSpeed.granular:Fe.restSpeed.default),u||(u=U?Fe.restDelta.granular:Fe.restDelta.default);let B,b,G,ie,oe,J;if(D<1)G=Dl(I,D),ie=(N+D*I*M)/G,B=q=>{const ce=Math.exp(-D*I*q);return d-ce*(ie*Math.sin(G*q)+M*Math.cos(G*q))},oe=D*I*ie+M*G,J=D*I*M-ie*G,b=q=>Math.exp(-D*I*q)*(oe*Math.sin(G*q)+J*Math.cos(G*q));else if(D===1){B=ce=>d-Math.exp(-I*ce)*(M+(N+I*M)*ce);const q=N+I*M;b=ce=>Math.exp(-I*ce)*(I*q*ce-N)}else{const q=I*Math.sqrt(D*D-1);B=Le=>{const _e=Math.exp(-D*I*Le),Se=Math.min(q*Le,300);return d-_e*((N+D*I*M)*Math.sinh(Se)+q*M*Math.cosh(Se))/q};const ce=(N+D*I*M)/q,ye=D*I*ce-M*q,je=D*I*M-ce*q;b=Le=>{const _e=Math.exp(-D*I*Le),Se=Math.min(q*Le,300);return _e*(ye*Math.sinh(Se)+je*Math.cosh(Se))}}const re={calculatedDuration:C&&v||null,velocity:q=>mt(b(q)),next:q=>{if(!C&&D<1){const ye=Math.exp(-D*I*q),je=Math.sin(G*q),Le=Math.cos(G*q),_e=d-ye*(ie*je+M*Le),Se=mt(ye*(oe*je+J*Le));return h.done=Math.abs(Se)<=a&&Math.abs(d-_e)<=u,h.value=h.done?d:_e,h}const ce=B(q);if(C)h.done=q>=v;else{const ye=mt(b(q));h.done=Math.abs(ye)<=a&&Math.abs(d-ce)<=u}return h.value=h.done?d:ce,h},toString:()=>{const q=Math.min(hu(re),to),ce=Pp(ye=>re.next(q*ye).value,q,30);return q+"ms "+ce},toTransition:()=>{}};return re}no.applyToOptions=n=>{const r=z0(n,100,no);return n.ease=r.ease,n.duration=mt(r.duration),n.type="keyframes",n};const G0=5;function Ap(n,r,s){const a=Math.max(r-G0,0);return sp(s-n(a),r-a)}function Ll({keyframes:n,velocity:r=0,power:s=.8,timeConstant:a=325,bounceDamping:u=10,bounceStiffness:f=500,modifyTarget:d,min:h,max:g,restDelta:x=.5,restSpeed:y}){const v=n[0],w={done:!1,value:v},C=J=>h!==void 0&&Jg,N=J=>h===void 0?g:g===void 0||Math.abs(h-J)-D*Math.exp(-J/a),B=J=>I+U(J),b=J=>{const re=U(J),q=B(J);w.done=Math.abs(re)<=x,w.value=w.done?I:q};let G,ie;const oe=J=>{C(w.value)&&(G=J,ie=no({keyframes:[w.value,N(w.value)],velocity:Ap(B,J,w.value),damping:u,stiffness:f,restDelta:x,restSpeed:y}))};return oe(0),{calculatedDuration:null,next:J=>{let re=!1;return!ie&&G===void 0&&(re=!0,b(J),oe(J)),G!==void 0&&J>=G?ie.next(J-G):(!re&&b(J),w)}}}function K0(n,r,s){const a=[],u=s||Cn.mix||Cp,f=n.length-1;for(let d=0;dr[0];if(f===2&&r[0]===r[1])return()=>r[1];const d=n[0]===n[1];n[0]>n[f-1]&&(n=[...n].reverse(),r=[...r].reverse());const h=K0(r,a,u),g=h.length,x=y=>{if(d&&y1)for(;vx(Gt(n[0],n[f-1],y)):x}function Y0(n,r){const s=n[n.length-1];for(let a=1;a<=r;a++){const u=Si(0,r,a);n.push(Ce(s,1,u))}}function X0(n){const r=[0];return Y0(r,n.length-1),r}function Q0(n,r){return n.map(s=>s*r)}function q0(n,r){return n.map(()=>r||pp).splice(0,n.length-1)}function vi({duration:n=300,keyframes:r,times:s,ease:a="easeInOut"}){const u=s0(a)?a.map(Vf):Vf(a),f={done:!1,value:r[0]},d=Q0(s&&s.length===r.length?s:X0(r),n),h=$0(d,r,{ease:Array.isArray(u)?u:q0(r,u)});return{calculatedDuration:n,next:g=>(f.value=h(g),f.done=g>=n,f)}}const Z0=n=>n!==null;function co(n,{repeat:r,repeatType:s="loop"},a,u=1){const f=n.filter(Z0),h=u<0||r&&s!=="loop"&&r%2===1?0:f.length-1;return!h||a===void 0?f[h]:a}const J0={decay:Ll,inertia:Ll,tween:vi,keyframes:vi,spring:no};function Ep(n){typeof n.type=="string"&&(n.type=J0[n.type])}class pu{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(r=>{this.resolve=r})}notifyFinished(){this.resolve()}then(r,s){return this.finished.then(r,s)}}const ev=n=>n/100;class ro extends pu{constructor(r){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{var a,u;const{motionValue:s}=this.options;s&&s.updatedAt!==nt.now()&&this.tick(nt.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),(u=(a=this.options).onStop)==null||u.call(a))},this.options=r,this.initAnimation(),this.play(),r.autoplay===!1&&this.pause()}initAnimation(){const{options:r}=this;Ep(r);const{type:s=vi,repeat:a=0,repeatDelay:u=0,repeatType:f,velocity:d=0}=r;let{keyframes:h}=r;const g=s||vi;g!==vi&&typeof h[0]!="number"&&(this.mixKeyframes=Pi(ev,Cp(h[0],h[1])),h=[0,100]);const x=g({...r,keyframes:h});f==="mirror"&&(this.mirroredGenerator=g({...r,keyframes:[...h].reverse(),velocity:-d})),x.calculatedDuration===null&&(x.calculatedDuration=hu(x));const{calculatedDuration:y}=x;this.calculatedDuration=y,this.resolvedDuration=y+u,this.totalDuration=this.resolvedDuration*(a+1)-u,this.generator=x}updateTime(r){const s=Math.round(r-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=s}tick(r,s=!1){const{generator:a,totalDuration:u,mixKeyframes:f,mirroredGenerator:d,resolvedDuration:h,calculatedDuration:g}=this;if(this.startTime===null)return a.next(0);const{delay:x=0,keyframes:y,repeat:v,repeatType:w,repeatDelay:C,type:N,onUpdate:D,finalKeyframe:M}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,r):this.speed<0&&(this.startTime=Math.min(r-u/this.speed,this.startTime)),s?this.currentTime=r:this.updateTime(r);const I=this.currentTime-x*(this.playbackSpeed>=0?1:-1),U=this.playbackSpeed>=0?I<0:I>u;this.currentTime=Math.max(I,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=u);let B=this.currentTime,b=a;if(v){const J=Math.min(this.currentTime,u)/h;let re=Math.floor(J),q=J%1;!q&&J>=1&&(q=1),q===1&&re--,re=Math.min(re,v+1),!!(re%2)&&(w==="reverse"?(q=1-q,C&&(q-=C/h)):w==="mirror"&&(b=d)),B=Gt(0,1,q)*h}let G;U?(this.delayState.value=y[0],G=this.delayState):G=b.next(B),f&&!U&&(G.value=f(G.value));let{done:ie}=G;!U&&g!==null&&(ie=this.playbackSpeed>=0?this.currentTime>=u:this.currentTime<=0);const oe=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&ie);return oe&&N!==Ll&&(G.value=co(y,this.options,M,this.speed)),D&&D(G.value),oe&&this.finish(),G}then(r,s){return this.finished.then(r,s)}get duration(){return kt(this.calculatedDuration)}get iterationDuration(){const{delay:r=0}=this.options||{};return this.duration+kt(r)}get time(){return kt(this.currentTime)}set time(r){r=mt(r),this.currentTime=r,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=r:this.driver&&(this.startTime=this.driver.now()-r/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state="paused",this.holdTime=r,this.tick(r))}getGeneratorVelocity(){const r=this.currentTime;if(r<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(r);const s=this.generator.next(r).value;return Ap(a=>this.generator.next(a).value,r,s)}get speed(){return this.playbackSpeed}set speed(r){const s=this.playbackSpeed!==r;s&&this.driver&&this.updateTime(nt.now()),this.playbackSpeed=r,s&&this.driver&&(this.time=kt(this.currentTime))}play(){var u,f;if(this.isStopped)return;const{driver:r=_0,startTime:s}=this.options;this.driver||(this.driver=r(d=>this.tick(d))),(f=(u=this.options).onPlay)==null||f.call(u);const a=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=a):this.holdTime!==null?this.startTime=a-this.holdTime:this.startTime||(this.startTime=s??a),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(nt.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){var r,s;this.notifyFinished(),this.teardown(),this.state="finished",(s=(r=this.options).onComplete)==null||s.call(r)}cancel(){var r,s;this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),(s=(r=this.options).onCancel)==null||s.call(r)}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(r){return this.startTime=0,this.tick(r,!0)}attachTimeline(r){var s;return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),(s=this.driver)==null||s.stop(),r.observe(this)}}function tv(n){for(let r=1;rn*180/Math.PI,Rl=n=>{const r=Wn(Math.atan2(n[1],n[0]));return Fl(r)},nv={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:n=>(Math.abs(n[0])+Math.abs(n[3]))/2,rotate:Rl,rotateZ:Rl,skewX:n=>Wn(Math.atan(n[1])),skewY:n=>Wn(Math.atan(n[2])),skew:n=>(Math.abs(n[1])+Math.abs(n[2]))/2},Fl=n=>(n=n%360,n<0&&(n+=360),n),Uf=Rl,Wf=n=>Math.sqrt(n[0]*n[0]+n[1]*n[1]),Hf=n=>Math.sqrt(n[4]*n[4]+n[5]*n[5]),rv={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:Wf,scaleY:Hf,scale:n=>(Wf(n)+Hf(n))/2,rotateX:n=>Fl(Wn(Math.atan2(n[6],n[5]))),rotateY:n=>Fl(Wn(Math.atan2(-n[2],n[0]))),rotateZ:Uf,rotate:Uf,skewX:n=>Wn(Math.atan(n[4])),skewY:n=>Wn(Math.atan(n[1])),skew:n=>(Math.abs(n[1])+Math.abs(n[4]))/2};function Vl(n){return n.includes("scale")?1:0}function Il(n,r){if(!n||n==="none")return Vl(r);const s=n.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let a,u;if(s)a=rv,u=s;else{const h=n.match(/^matrix\(([-\d.e\s,]+)\)$/u);a=nv,u=h}if(!u)return Vl(r);const f=a[r],d=u[1].split(",").map(sv);return typeof f=="function"?f(d):d[f]}const iv=(n,r)=>{const{transform:s="none"}=getComputedStyle(n);return Il(s,r)};function sv(n){return parseFloat(n.trim())}const Er=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],jr=new Set(Er),Gf=n=>n===Ar||n===Y,ov=new Set(["x","y","z"]),av=Er.filter(n=>!ov.has(n));function lv(n){const r=[];return av.forEach(s=>{const a=n.getValue(s);a!==void 0&&(r.push([s,a.get()]),a.set(s.startsWith("scale")?1:0))}),r}const Tn={width:({x:n},{paddingLeft:r="0",paddingRight:s="0",boxSizing:a})=>{const u=n.max-n.min;return a==="border-box"?u:u-parseFloat(r)-parseFloat(s)},height:({y:n},{paddingTop:r="0",paddingBottom:s="0",boxSizing:a})=>{const u=n.max-n.min;return a==="border-box"?u:u-parseFloat(r)-parseFloat(s)},top:(n,{top:r})=>parseFloat(r),left:(n,{left:r})=>parseFloat(r),bottom:({y:n},{top:r})=>parseFloat(r)+(n.max-n.min),right:({x:n},{left:r})=>parseFloat(r)+(n.max-n.min),x:(n,{transform:r})=>Il(r,"x"),y:(n,{transform:r})=>Il(r,"y")};Tn.translateX=Tn.x;Tn.translateY=Tn.y;const Hn=new Set;let _l=!1,zl=!1,Ol=!1;function jp(){if(zl){const n=Array.from(Hn).filter(a=>a.needsMeasurement),r=new Set(n.map(a=>a.element)),s=new Map;r.forEach(a=>{const u=lv(a);u.length&&(s.set(a,u),a.render())}),n.forEach(a=>a.measureInitialState()),r.forEach(a=>{a.render();const u=s.get(a);u&&u.forEach(([f,d])=>{var h;(h=a.getValue(f))==null||h.set(d)})}),n.forEach(a=>a.measureEndState()),n.forEach(a=>{a.suspendedScrollY!==void 0&&window.scrollTo(0,a.suspendedScrollY)})}zl=!1,_l=!1,Hn.forEach(n=>n.complete(Ol)),Hn.clear()}function Np(){Hn.forEach(n=>{n.readKeyframes(),n.needsMeasurement&&(zl=!0)})}function uv(){Ol=!0,Np(),jp(),Ol=!1}class mu{constructor(r,s,a,u,f,d=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...r],this.onComplete=s,this.name=a,this.motionValue=u,this.element=f,this.isAsync=d}scheduleResolve(){this.state="scheduled",this.isAsync?(Hn.add(this),_l||(_l=!0,ve.read(Np),ve.resolveKeyframes(jp))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:r,name:s,element:a,motionValue:u}=this;if(r[0]===null){const f=u==null?void 0:u.get(),d=r[r.length-1];if(f!==void 0)r[0]=f;else if(a&&s){const h=a.readValue(s,d);h!=null&&(r[0]=h)}r[0]===void 0&&(r[0]=d),u&&f===void 0&&u.set(r[0])}tv(r)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(r=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,r),Hn.delete(this)}cancel(){this.state==="scheduled"&&(Hn.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const cv=n=>n.startsWith("--");function Mp(n,r,s){cv(r)?n.style.setProperty(r,s):n.style[r]=s}const dv={};function Dp(n,r){const s=ip(n);return()=>dv[r]??s()}const fv=Dp(()=>window.ScrollTimeline!==void 0,"scrollTimeline"),Lp=Dp(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),gi=([n,r,s,a])=>`cubic-bezier(${n}, ${r}, ${s}, ${a})`,Kf={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:gi([0,.65,.55,1]),circOut:gi([.55,0,1,.45]),backIn:gi([.31,.01,.66,-.59]),backOut:gi([.33,1.53,.69,.99])};function Rp(n,r){if(n)return typeof n=="function"?Lp()?Pp(n,r):"ease-out":mp(n)?gi(n):Array.isArray(n)?n.map(s=>Rp(s,r)||Kf.easeOut):Kf[n]}function hv(n,r,s,{delay:a=0,duration:u=300,repeat:f=0,repeatType:d="loop",ease:h="easeOut",times:g}={},x=void 0){const y={[r]:s};g&&(y.offset=g);const v=Rp(h,u);Array.isArray(v)&&(y.easing=v);const w={delay:a,duration:u,easing:Array.isArray(v)?"linear":v,fill:"both",iterations:f+1,direction:d==="reverse"?"alternate":"normal"};return x&&(w.pseudoElement=x),n.animate(y,w)}function Fp(n){return typeof n=="function"&&"applyToOptions"in n}function pv({type:n,...r}){return Fp(n)&&Lp()?n.applyToOptions(r):(r.duration??(r.duration=300),r.ease??(r.ease="easeOut"),r)}class Vp extends pu{constructor(r){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!r)return;const{element:s,name:a,keyframes:u,pseudoElement:f,allowFlatten:d=!1,finalKeyframe:h,onComplete:g}=r;this.isPseudoElement=!!f,this.allowFlatten=d,this.options=r,su(typeof r.type!="string");const x=pv(r);this.animation=hv(s,a,u,x,f),x.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!f){const y=co(u,this.options,h,this.speed);this.updateMotionValue&&this.updateMotionValue(y),Mp(s,a,y),this.animation.cancel()}g==null||g(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){var r,s;(s=(r=this.animation).finish)==null||s.call(r)}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:r}=this;r==="idle"||r==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){var s,a,u;const r=(s=this.options)==null?void 0:s.element;!this.isPseudoElement&&(r!=null&&r.isConnected)&&((u=(a=this.animation).commitStyles)==null||u.call(a))}get duration(){var s,a;const r=((a=(s=this.animation.effect)==null?void 0:s.getComputedTiming)==null?void 0:a.call(s).duration)||0;return kt(Number(r))}get iterationDuration(){const{delay:r=0}=this.options||{};return this.duration+kt(r)}get time(){return kt(Number(this.animation.currentTime)||0)}set time(r){const s=this.finishedTime!==null;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=mt(r),s&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(r){r<0&&(this.finishedTime=null),this.animation.playbackRate=r}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(r){this.manualStartTime=this.animation.startTime=r}attachTimeline({timeline:r,rangeStart:s,rangeEnd:a,observe:u}){var f;return this.allowFlatten&&((f=this.animation.effect)==null||f.updateTiming({easing:"linear"})),this.animation.onfinish=null,r&&fv()?(this.animation.timeline=r,s&&(this.animation.rangeStart=s),a&&(this.animation.rangeEnd=a),Tt):u(this)}}const Ip={anticipate:dp,backInOut:cp,circInOut:hp};function mv(n){return n in Ip}function gv(n){typeof n.ease=="string"&&mv(n.ease)&&(n.ease=Ip[n.ease])}const vl=10;class yv extends Vp{constructor(r){gv(r),Ep(r),super(r),r.startTime!==void 0&&r.autoplay!==!1&&(this.startTime=r.startTime),this.options=r}updateMotionValue(r){const{motionValue:s,onUpdate:a,onComplete:u,element:f,...d}=this.options;if(!s)return;if(r!==void 0){s.set(r);return}const h=new ro({...d,autoplay:!1}),g=Math.max(vl,nt.now()-this.startTime),x=Gt(0,vl,g-vl),y=h.sample(g).value,{name:v}=this.options;f&&v&&Mp(f,v,y),s.setWithVelocity(h.sample(Math.max(0,g-x)).value,y,x),h.stop()}}const $f=(n,r)=>r==="zIndex"?!1:!!(typeof n=="number"||Array.isArray(n)||typeof n=="string"&&(Ft.test(n)||n==="0")&&!n.startsWith("url("));function vv(n){const r=n[0];if(n.length===1)return!0;for(let s=0;sObject.hasOwnProperty.call(Element.prototype,"animate"));function Cv(n){var v;const{motionValue:r,name:s,repeatDelay:a,repeatType:u,damping:f,type:d,keyframes:h}=n;if(!(((v=r==null?void 0:r.owner)==null?void 0:v.current)instanceof HTMLElement))return!1;const{onUpdate:x,transformTemplate:y}=r.owner.getProps();return Tv()&&s&&(_p.has(s)||kv.has(s)&&Sv(h))&&(s!=="transform"||!y)&&!x&&!a&&u!=="mirror"&&f!==0&&d!=="inertia"}const Pv=40;class Av extends pu{constructor({autoplay:r=!0,delay:s=0,type:a="keyframes",repeat:u=0,repeatDelay:f=0,repeatType:d="loop",keyframes:h,name:g,motionValue:x,element:y,...v}){var N;super(),this.stop=()=>{var D,M;this._animation&&(this._animation.stop(),(D=this.stopTimeline)==null||D.call(this)),(M=this.keyframeResolver)==null||M.cancel()},this.createdAt=nt.now();const w={autoplay:r,delay:s,type:a,repeat:u,repeatDelay:f,repeatType:d,name:g,motionValue:x,element:y,...v},C=(y==null?void 0:y.KeyframeResolver)||mu;this.keyframeResolver=new C(h,(D,M,I)=>this.onKeyframesResolved(D,M,w,!I),g,x,y),(N=this.keyframeResolver)==null||N.scheduleResolve()}onKeyframesResolved(r,s,a,u){var I,U;this.keyframeResolver=void 0;const{name:f,type:d,velocity:h,delay:g,isHandoff:x,onUpdate:y}=a;this.resolvedAt=nt.now();let v=!0;xv(r,f,d,h)||(v=!1,(Cn.instantAnimations||!g)&&(y==null||y(co(r,a,s))),r[0]=r[r.length-1],Bl(a),a.repeat=0);const C={startTime:u?this.resolvedAt?this.resolvedAt-this.createdAt>Pv?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:s,...a,keyframes:r},N=v&&!x&&Cv(C),D=(U=(I=C.motionValue)==null?void 0:I.owner)==null?void 0:U.current;let M;if(N)try{M=new yv({...C,element:D})}catch{M=new ro(C)}else M=new ro(C);M.finished.then(()=>{this.notifyFinished()}).catch(Tt),this.pendingTimeline&&(this.stopTimeline=M.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=M}get finished(){return this._animation?this.animation.finished:this._finished}then(r,s){return this.finished.finally(r).then(()=>{})}get animation(){var r;return this._animation||((r=this.keyframeResolver)==null||r.resume(),uv()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(r){this.animation.time=r}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(r){this.animation.speed=r}get startTime(){return this.animation.startTime}attachTimeline(r){return this._animation?this.stopTimeline=this.animation.attachTimeline(r):this.pendingTimeline=r,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){var r;this._animation&&this.animation.cancel(),(r=this.keyframeResolver)==null||r.cancel()}}function zp(n,r,s,a=0,u=1){const f=Array.from(n).sort((x,y)=>x.sortNodePosition(y)).indexOf(r),d=n.size,h=(d-1)*a;return typeof s=="function"?s(f,d):u===1?f*a:h-f*a}const Ev=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function jv(n){const r=Ev.exec(n);if(!r)return[,];const[,s,a,u]=r;return[`--${s??a}`,u]}function Op(n,r,s=1){const[a,u]=jv(n);if(!a)return;const f=window.getComputedStyle(r).getPropertyValue(a);if(f){const d=f.trim();return tp(d)?parseFloat(d):d}return uu(u)?Op(u,r,s+1):u}const Nv={type:"spring",stiffness:500,damping:25,restSpeed:10},Mv=n=>({type:"spring",stiffness:550,damping:n===0?2*Math.sqrt(550):30,restSpeed:10}),Dv={type:"keyframes",duration:.8},Lv={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Rv=(n,{keyframes:r})=>r.length>2?Dv:jr.has(n)?n.startsWith("scale")?Mv(r[1]):Nv:Lv;function Bp(n,r){if(n!=null&&n.inherit&&r){const{inherit:s,...a}=n;return{...r,...a}}return n}function gu(n,r){const s=(n==null?void 0:n[r])??(n==null?void 0:n.default)??n;return s!==n?Bp(s,n):s}const Fv=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"]);function Vv(n){for(const r in n)if(!Fv.has(r))return!0;return!1}const yu=(n,r,s,a={},u,f)=>d=>{const h=gu(a,n)||{},g=h.delay||a.delay||0;let{elapsed:x=0}=a;x=x-mt(g);const y={keyframes:Array.isArray(s)?s:[null,s],ease:"easeOut",velocity:r.getVelocity(),...h,delay:-x,onUpdate:w=>{r.set(w),h.onUpdate&&h.onUpdate(w)},onComplete:()=>{d(),h.onComplete&&h.onComplete()},name:n,motionValue:r,element:f?void 0:u};Vv(h)||Object.assign(y,Rv(n,y)),y.duration&&(y.duration=mt(y.duration)),y.repeatDelay&&(y.repeatDelay=mt(y.repeatDelay)),y.from!==void 0&&(y.keyframes[0]=y.from);let v=!1;if((y.type===!1||y.duration===0&&!y.repeatDelay)&&(Bl(y),y.delay===0&&(v=!0)),(Cn.instantAnimations||Cn.skipAnimations||u!=null&&u.shouldSkipAnimations)&&(v=!0,Bl(y),y.delay=0),y.allowFlatten=!h.type&&!h.ease,v&&!f&&r.get()!==void 0){const w=co(y.keyframes,h);if(w!==void 0){ve.update(()=>{y.onUpdate(w),y.onComplete()});return}}return h.isSync?new ro(y):new Av(y)};function Yf(n){const r=[{},{}];return n==null||n.values.forEach((s,a)=>{r[0][a]=s.get(),r[1][a]=s.getVelocity()}),r}function vu(n,r,s,a){if(typeof r=="function"){const[u,f]=Yf(a);r=r(s!==void 0?s:n.custom,u,f)}if(typeof r=="string"&&(r=n.variants&&n.variants[r]),typeof r=="function"){const[u,f]=Yf(a);r=r(s!==void 0?s:n.custom,u,f)}return r}function Gn(n,r,s){const a=n.getProps();return vu(a,r,s!==void 0?s:a.custom,n)}const bp=new Set(["width","height","top","left","right","bottom",...Er]),Xf=30,Iv=n=>!isNaN(parseFloat(n));class _v{constructor(r,s={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=a=>{var f;const u=nt.now();if(this.updatedAt!==u&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(a),this.current!==this.prev&&((f=this.events.change)==null||f.notify(this.current),this.dependents))for(const d of this.dependents)d.dirty()},this.hasAnimated=!1,this.setCurrent(r),this.owner=s.owner}setCurrent(r){this.current=r,this.updatedAt=nt.now(),this.canTrackVelocity===null&&r!==void 0&&(this.canTrackVelocity=Iv(this.current))}setPrevFrameValue(r=this.current){this.prevFrameValue=r,this.prevUpdatedAt=this.updatedAt}onChange(r){return this.on("change",r)}on(r,s){this.events[r]||(this.events[r]=new ou);const a=this.events[r].add(s);return r==="change"?()=>{a(),ve.read(()=>{this.events.change.getSize()||this.stop()})}:a}clearListeners(){for(const r in this.events)this.events[r].clear()}attach(r,s){this.passiveEffect=r,this.stopPassiveEffect=s}set(r){this.passiveEffect?this.passiveEffect(r,this.updateAndNotify):this.updateAndNotify(r)}setWithVelocity(r,s,a){this.set(s),this.prev=void 0,this.prevFrameValue=r,this.prevUpdatedAt=this.updatedAt-a}jump(r,s=!0){this.updateAndNotify(r),this.prev=r,this.prevUpdatedAt=this.prevFrameValue=void 0,s&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){var r;(r=this.events.change)==null||r.notify(this.current)}addDependent(r){this.dependents||(this.dependents=new Set),this.dependents.add(r)}removeDependent(r){this.dependents&&this.dependents.delete(r)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const r=nt.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||r-this.updatedAt>Xf)return 0;const s=Math.min(this.updatedAt-this.prevUpdatedAt,Xf);return sp(parseFloat(this.current)-parseFloat(this.prevFrameValue),s)}start(r){return this.stop(),new Promise(s=>{this.hasAnimated=!0,this.animation=r(s),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){var r,s;(r=this.dependents)==null||r.clear(),(s=this.events.destroy)==null||s.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Pr(n,r){return new _v(n,r)}const bl=n=>Array.isArray(n);function zv(n,r,s){n.hasValue(r)?n.getValue(r).set(s):n.addValue(r,Pr(s))}function Ov(n){return bl(n)?n[n.length-1]||0:n}function Bv(n,r){const s=Gn(n,r);let{transitionEnd:a={},transition:u={},...f}=s||{};f={...f,...a};for(const d in f){const h=Ov(f[d]);zv(n,d,h)}}const Xe=n=>!!(n&&n.getVelocity);function bv(n){return!!(Xe(n)&&n.add)}function Ul(n,r){const s=n.getValue("willChange");if(bv(s))return s.add(r);if(!s&&Cn.WillChange){const a=new Cn.WillChange("auto");n.addValue("willChange",a),a.add(r)}}function xu(n){return n.replace(/([A-Z])/g,r=>`-${r.toLowerCase()}`)}const Uv="framerAppearId",Up="data-"+xu(Uv);function Wp(n){return n.props[Up]}function Wv({protectedKeys:n,needsAnimating:r},s){const a=n.hasOwnProperty(s)&&r[s]!==!0;return r[s]=!1,a}function Hp(n,r,{delay:s=0,transitionOverride:a,type:u}={}){let{transition:f,transitionEnd:d,...h}=r;const g=n.getDefaultTransition();f=f?Bp(f,g):g;const x=f==null?void 0:f.reduceMotion;a&&(f=a);const y=[],v=u&&n.animationState&&n.animationState.getState()[u];for(const w in h){const C=n.getValue(w,n.latestValues[w]??null),N=h[w];if(N===void 0||v&&Wv(v,w))continue;const D={delay:s,...gu(f||{},w)},M=C.get();if(M!==void 0&&!C.isAnimating()&&!Array.isArray(N)&&N===M&&!D.velocity){ve.update(()=>C.set(N));continue}let I=!1;if(window.MotionHandoffAnimation){const b=Wp(n);if(b){const G=window.MotionHandoffAnimation(b,w,ve);G!==null&&(D.startTime=G,I=!0)}}Ul(n,w);const U=x??n.shouldReduceMotion;C.start(yu(w,C,N,U&&bp.has(w)?{type:!1}:D,n,I));const B=C.animation;B&&y.push(B)}if(d){const w=()=>ve.update(()=>{d&&Bv(n,d)});y.length?Promise.all(y).then(w):w()}return y}function Wl(n,r,s={}){var g;const a=Gn(n,r,s.type==="exit"?(g=n.presenceContext)==null?void 0:g.custom:void 0);let{transition:u=n.getDefaultTransition()||{}}=a||{};s.transitionOverride&&(u=s.transitionOverride);const f=a?()=>Promise.all(Hp(n,a,s)):()=>Promise.resolve(),d=n.variantChildren&&n.variantChildren.size?(x=0)=>{const{delayChildren:y=0,staggerChildren:v,staggerDirection:w}=u;return Hv(n,r,x,y,v,w,s)}:()=>Promise.resolve(),{when:h}=u;if(h){const[x,y]=h==="beforeChildren"?[f,d]:[d,f];return x().then(()=>y())}else return Promise.all([f(),d(s.delay)])}function Hv(n,r,s=0,a=0,u=0,f=1,d){const h=[];for(const g of n.variantChildren)g.notify("AnimationStart",r),h.push(Wl(g,r,{...d,delay:s+(typeof a=="function"?0:a)+zp(n.variantChildren,g,a,u,f)}).then(()=>g.notify("AnimationComplete",r)));return Promise.all(h)}function Gv(n,r,s={}){n.notify("AnimationStart",r);let a;if(Array.isArray(r)){const u=r.map(f=>Wl(n,f,s));a=Promise.all(u)}else if(typeof r=="string")a=Wl(n,r,s);else{const u=typeof r=="function"?Gn(n,r,s.custom):r;a=Promise.all(Hp(n,u,s))}return a.then(()=>{n.notify("AnimationComplete",r)})}const Kv={test:n=>n==="auto",parse:n=>n},Gp=n=>r=>r.test(n),Kp=[Ar,Y,Ht,Sn,v0,y0,Kv],Qf=n=>Kp.find(Gp(n));function $v(n){return typeof n=="number"?n===0:n!==null?n==="none"||n==="0"||rp(n):!0}const Yv=new Set(["brightness","contrast","saturate","opacity"]);function Xv(n){const[r,s]=n.slice(0,-1).split("(");if(r==="drop-shadow")return n;const[a]=s.match(cu)||[];if(!a)return n;const u=s.replace(a,"");let f=Yv.has(r)?1:0;return a!==s&&(f*=100),r+"("+f+u+")"}const Qv=/\b([a-z-]*)\(.*?\)/gu,Hl={...Ft,getAnimatableNone:n=>{const r=n.match(Qv);return r?r.map(Xv).join(" "):n}},Gl={...Ft,getAnimatableNone:n=>{const r=Ft.parse(n);return Ft.createTransformer(n)(r.map(a=>typeof a=="number"?0:typeof a=="object"?{...a,alpha:1}:a))}},qf={...Ar,transform:Math.round},qv={rotate:Sn,rotateX:Sn,rotateY:Sn,rotateZ:Sn,scale:bs,scaleX:bs,scaleY:bs,scaleZ:bs,skew:Sn,skewX:Sn,skewY:Sn,distance:Y,translateX:Y,translateY:Y,translateZ:Y,x:Y,y:Y,z:Y,perspective:Y,transformPerspective:Y,opacity:ki,originX:_f,originY:_f,originZ:Y},wu={borderWidth:Y,borderTopWidth:Y,borderRightWidth:Y,borderBottomWidth:Y,borderLeftWidth:Y,borderRadius:Y,borderTopLeftRadius:Y,borderTopRightRadius:Y,borderBottomRightRadius:Y,borderBottomLeftRadius:Y,width:Y,maxWidth:Y,height:Y,maxHeight:Y,top:Y,right:Y,bottom:Y,left:Y,inset:Y,insetBlock:Y,insetBlockStart:Y,insetBlockEnd:Y,insetInline:Y,insetInlineStart:Y,insetInlineEnd:Y,padding:Y,paddingTop:Y,paddingRight:Y,paddingBottom:Y,paddingLeft:Y,paddingBlock:Y,paddingBlockStart:Y,paddingBlockEnd:Y,paddingInline:Y,paddingInlineStart:Y,paddingInlineEnd:Y,margin:Y,marginTop:Y,marginRight:Y,marginBottom:Y,marginLeft:Y,marginBlock:Y,marginBlockStart:Y,marginBlockEnd:Y,marginInline:Y,marginInlineStart:Y,marginInlineEnd:Y,fontSize:Y,backgroundPositionX:Y,backgroundPositionY:Y,...qv,zIndex:qf,fillOpacity:ki,strokeOpacity:ki,numOctaves:qf},Zv={...wu,color:Oe,backgroundColor:Oe,outlineColor:Oe,fill:Oe,stroke:Oe,borderColor:Oe,borderTopColor:Oe,borderRightColor:Oe,borderBottomColor:Oe,borderLeftColor:Oe,filter:Hl,WebkitFilter:Hl,mask:Gl,WebkitMask:Gl},$p=n=>Zv[n],Jv=new Set([Hl,Gl]);function Yp(n,r){let s=$p(n);return Jv.has(s)||(s=Ft),s.getAnimatableNone?s.getAnimatableNone(r):void 0}const ex=new Set(["auto","none","0"]);function tx(n,r,s){let a=0,u;for(;a{r.getValue(g).set(x)}),this.resolveNoneKeyframes()}}function Xp(n,r,s){if(n==null)return[];if(n instanceof EventTarget)return[n];if(typeof n=="string"){let a=document;const u=(s==null?void 0:s[n])??a.querySelectorAll(n);return u?Array.from(u):[]}return Array.from(n).filter(a=>a!=null)}const Qp=(n,r)=>r&&typeof n=="number"?r.transform(n):n;function Ks(n){return np(n)&&"offsetHeight"in n&&!("ownerSVGElement"in n)}const{schedule:Su}=gp(queueMicrotask,!1),Rt={x:!1,y:!1};function qp(){return Rt.x||Rt.y}function rx(n){return n==="x"||n==="y"?Rt[n]?null:(Rt[n]=!0,()=>{Rt[n]=!1}):Rt.x||Rt.y?null:(Rt.x=Rt.y=!0,()=>{Rt.x=Rt.y=!1})}function Zp(n,r){const s=Xp(n),a=new AbortController,u={passive:!0,...r,signal:a.signal};return[s,u,()=>a.abort()]}function ix(n){return!(n.pointerType==="touch"||qp())}function sx(n,r,s={}){const[a,u,f]=Zp(n,s);return a.forEach(d=>{let h=!1,g=!1,x;const y=()=>{d.removeEventListener("pointerleave",N)},v=M=>{x&&(x(M),x=void 0),y()},w=M=>{h=!1,window.removeEventListener("pointerup",w),window.removeEventListener("pointercancel",w),g&&(g=!1,v(M))},C=()=>{h=!0,window.addEventListener("pointerup",w,u),window.addEventListener("pointercancel",w,u)},N=M=>{if(M.pointerType!=="touch"){if(h){g=!0;return}v(M)}},D=M=>{if(!ix(M))return;g=!1;const I=r(d,M);typeof I=="function"&&(x=I,d.addEventListener("pointerleave",N,u))};d.addEventListener("pointerenter",D,u),d.addEventListener("pointerdown",C,u)}),f}const Jp=(n,r)=>r?n===r?!0:Jp(n,r.parentElement):!1,ku=n=>n.pointerType==="mouse"?typeof n.button!="number"||n.button<=0:n.isPrimary!==!1,ox=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function ax(n){return ox.has(n.tagName)||n.isContentEditable===!0}const lx=new Set(["INPUT","SELECT","TEXTAREA"]);function ux(n){return lx.has(n.tagName)||n.isContentEditable===!0}const $s=new WeakSet;function Zf(n){return r=>{r.key==="Enter"&&n(r)}}function xl(n,r){n.dispatchEvent(new PointerEvent("pointer"+r,{isPrimary:!0,bubbles:!0}))}const cx=(n,r)=>{const s=n.currentTarget;if(!s)return;const a=Zf(()=>{if($s.has(s))return;xl(s,"down");const u=Zf(()=>{xl(s,"up")}),f=()=>xl(s,"cancel");s.addEventListener("keyup",u,r),s.addEventListener("blur",f,r)});s.addEventListener("keydown",a,r),s.addEventListener("blur",()=>s.removeEventListener("keydown",a),r)};function Jf(n){return ku(n)&&!qp()}const eh=new WeakSet;function dx(n,r,s={}){const[a,u,f]=Zp(n,s),d=h=>{const g=h.currentTarget;if(!Jf(h)||eh.has(h))return;$s.add(g),s.stopPropagation&&eh.add(h);const x=r(g,h),y=(C,N)=>{window.removeEventListener("pointerup",v),window.removeEventListener("pointercancel",w),$s.has(g)&&$s.delete(g),Jf(C)&&typeof x=="function"&&x(C,{success:N})},v=C=>{y(C,g===window||g===document||s.useGlobalTarget||Jp(g,C.target))},w=C=>{y(C,!1)};window.addEventListener("pointerup",v,u),window.addEventListener("pointercancel",w,u)};return a.forEach(h=>{(s.useGlobalTarget?window:h).addEventListener("pointerdown",d,u),Ks(h)&&(h.addEventListener("focus",x=>cx(x,u)),!ax(h)&&!h.hasAttribute("tabindex")&&(h.tabIndex=0))}),f}function Tu(n){return np(n)&&"ownerSVGElement"in n}const Ys=new WeakMap;let kn;const em=(n,r,s)=>(a,u)=>u&&u[0]?u[0][n+"Size"]:Tu(a)&&"getBBox"in a?a.getBBox()[r]:a[s],fx=em("inline","width","offsetWidth"),hx=em("block","height","offsetHeight");function px({target:n,borderBoxSize:r}){var s;(s=Ys.get(n))==null||s.forEach(a=>{a(n,{get width(){return fx(n,r)},get height(){return hx(n,r)}})})}function mx(n){n.forEach(px)}function gx(){typeof ResizeObserver>"u"||(kn=new ResizeObserver(mx))}function yx(n,r){kn||gx();const s=Xp(n);return s.forEach(a=>{let u=Ys.get(a);u||(u=new Set,Ys.set(a,u)),u.add(r),kn==null||kn.observe(a)}),()=>{s.forEach(a=>{const u=Ys.get(a);u==null||u.delete(r),u!=null&&u.size||kn==null||kn.unobserve(a)})}}const Xs=new Set;let wr;function vx(){wr=()=>{const n={get width(){return window.innerWidth},get height(){return window.innerHeight}};Xs.forEach(r=>r(n))},window.addEventListener("resize",wr)}function xx(n){return Xs.add(n),wr||vx(),()=>{Xs.delete(n),!Xs.size&&typeof wr=="function"&&(window.removeEventListener("resize",wr),wr=void 0)}}function th(n,r){return typeof n=="function"?xx(n):yx(n,r)}function wx(n){return Tu(n)&&n.tagName==="svg"}const Sx=[...Kp,Oe,Ft],kx=n=>Sx.find(Gp(n)),nh=()=>({translate:0,scale:1,origin:0,originPoint:0}),Sr=()=>({x:nh(),y:nh()}),rh=()=>({min:0,max:0}),Ue=()=>({x:rh(),y:rh()}),Tx=new WeakMap;function fo(n){return n!==null&&typeof n=="object"&&typeof n.start=="function"}function Ti(n){return typeof n=="string"||Array.isArray(n)}const Cu=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],Pu=["initial",...Cu];function ho(n){return fo(n.animate)||Pu.some(r=>Ti(n[r]))}function tm(n){return!!(ho(n)||n.variants)}function Cx(n,r,s){for(const a in r){const u=r[a],f=s[a];if(Xe(u))n.addValue(a,u);else if(Xe(f))n.addValue(a,Pr(u,{owner:n}));else if(f!==u)if(n.hasValue(a)){const d=n.getValue(a);d.liveStyle===!0?d.jump(u):d.hasAnimated||d.set(u)}else{const d=n.getStaticValue(a);n.addValue(a,Pr(d!==void 0?d:u,{owner:n}))}}for(const a in s)r[a]===void 0&&n.removeValue(a);return r}const Kl={current:null},nm={current:!1},Px=typeof window<"u";function Ax(){if(nm.current=!0,!!Px)if(window.matchMedia){const n=window.matchMedia("(prefers-reduced-motion)"),r=()=>Kl.current=n.matches;n.addEventListener("change",r),r()}else Kl.current=!1}const ih=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];let io={};function rm(n){io=n}function Ex(){return io}class jx{scrapeMotionValuesFromProps(r,s,a){return{}}constructor({parent:r,props:s,presenceContext:a,reducedMotionConfig:u,skipAnimations:f,blockInitialAnimation:d,visualState:h},g={}){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=mu,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 C=nt.now();this.renderScheduledAtthis.bindToMotionValue(f,u)),this.reducedMotionConfig==="never"?this.shouldReduceMotion=!1:this.reducedMotionConfig==="always"?this.shouldReduceMotion=!0:(nm.current||Ax(),this.shouldReduceMotion=Kl.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,(a=this.parent)==null||a.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){var r;this.projection&&this.projection.unmount(),Pn(this.notifyUpdate),Pn(this.render),this.valueSubscriptions.forEach(s=>s()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),(r=this.parent)==null||r.removeChild(this);for(const s in this.events)this.events[s].clear();for(const s in this.features){const a=this.features[s];a&&(a.unmount(),a.isMounted=!1)}this.current=null}addChild(r){this.children.add(r),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(r)}removeChild(r){this.children.delete(r),this.enteringChildren&&this.enteringChildren.delete(r)}bindToMotionValue(r,s){if(this.valueSubscriptions.has(r)&&this.valueSubscriptions.get(r)(),s.accelerate&&_p.has(r)&&this.current instanceof HTMLElement){const{factory:d,keyframes:h,times:g,ease:x,duration:y}=s.accelerate,v=new Vp({element:this.current,name:r,keyframes:h,times:g,ease:x,duration:mt(y)}),w=d(v);this.valueSubscriptions.set(r,()=>{w(),v.cancel()});return}const a=jr.has(r);a&&this.onBindTransform&&this.onBindTransform();const u=s.on("change",d=>{this.latestValues[r]=d,this.props.onUpdate&&ve.preRender(this.notifyUpdate),a&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let f;typeof window<"u"&&window.MotionCheckAppearSync&&(f=window.MotionCheckAppearSync(this,r,s)),this.valueSubscriptions.set(r,()=>{u(),f&&f(),s.owner&&s.stop()})}sortNodePosition(r){return!this.current||!this.sortInstanceNodePosition||this.type!==r.type?0:this.sortInstanceNodePosition(this.current,r.current)}updateFeatures(){let r="animation";for(r in io){const s=io[r];if(!s)continue;const{isEnabled:a,Feature:u}=s;if(!this.features[r]&&u&&a(this.props)&&(this.features[r]=new u(this)),this.features[r]){const f=this.features[r];f.isMounted?f.update():(f.mount(),f.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Ue()}getStaticValue(r){return this.latestValues[r]}setStaticValue(r,s){this.latestValues[r]=s}update(r,s){(r.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=r,this.prevPresenceContext=this.presenceContext,this.presenceContext=s;for(let a=0;as.variantChildren.delete(r)}addValue(r,s){const a=this.values.get(r);s!==a&&(a&&this.removeValue(r),this.bindToMotionValue(r,s),this.values.set(r,s),this.latestValues[r]=s.get())}removeValue(r){this.values.delete(r);const s=this.valueSubscriptions.get(r);s&&(s(),this.valueSubscriptions.delete(r)),delete this.latestValues[r],this.removeValueFromRenderState(r,this.renderState)}hasValue(r){return this.values.has(r)}getValue(r,s){if(this.props.values&&this.props.values[r])return this.props.values[r];let a=this.values.get(r);return a===void 0&&s!==void 0&&(a=Pr(s===null?void 0:s,{owner:this}),this.addValue(r,a)),a}readValue(r,s){let a=this.latestValues[r]!==void 0||!this.current?this.latestValues[r]:this.getBaseTargetFromProps(this.props,r)??this.readValueFromInstance(this.current,r,this.options);return a!=null&&(typeof a=="string"&&(tp(a)||rp(a))?a=parseFloat(a):!kx(a)&&Ft.test(s)&&(a=Yp(r,s)),this.setBaseTarget(r,Xe(a)?a.get():a)),Xe(a)?a.get():a}setBaseTarget(r,s){this.baseTarget[r]=s}getBaseTarget(r){var f;const{initial:s}=this.props;let a;if(typeof s=="string"||typeof s=="object"){const d=vu(this.props,s,(f=this.presenceContext)==null?void 0:f.custom);d&&(a=d[r])}if(s&&a!==void 0)return a;const u=this.getBaseTargetFromProps(this.props,r);return u!==void 0&&!Xe(u)?u:this.initialValues[r]!==void 0&&a===void 0?void 0:this.baseTarget[r]}on(r,s){return this.events[r]||(this.events[r]=new ou),this.events[r].add(s)}notify(r,...s){this.events[r]&&this.events[r].notify(...s)}scheduleRenderMicrotask(){Su.render(this.render)}}class im extends jx{constructor(){super(...arguments),this.KeyframeResolver=nx}sortInstanceNodePosition(r,s){return r.compareDocumentPosition(s)&2?1:-1}getBaseTargetFromProps(r,s){const a=r.style;return a?a[s]:void 0}removeValueFromRenderState(r,{vars:s,style:a}){delete s[r],delete a[r]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:r}=this.props;Xe(r)&&(this.childSubscription=r.on("change",s=>{this.current&&(this.current.textContent=`${s}`)}))}}class An{constructor(r){this.isMounted=!1,this.node=r}update(){}}function sm({top:n,left:r,right:s,bottom:a}){return{x:{min:r,max:s},y:{min:n,max:a}}}function Nx({x:n,y:r}){return{top:r.min,right:n.max,bottom:r.max,left:n.min}}function Mx(n,r){if(!r)return n;const s=r({x:n.left,y:n.top}),a=r({x:n.right,y:n.bottom});return{top:s.y,left:s.x,bottom:a.y,right:a.x}}function wl(n){return n===void 0||n===1}function $l({scale:n,scaleX:r,scaleY:s}){return!wl(n)||!wl(r)||!wl(s)}function bn(n){return $l(n)||om(n)||n.z||n.rotate||n.rotateX||n.rotateY||n.skewX||n.skewY}function om(n){return sh(n.x)||sh(n.y)}function sh(n){return n&&n!=="0%"}function so(n,r,s){const a=n-s,u=r*a;return s+u}function oh(n,r,s,a,u){return u!==void 0&&(n=so(n,u,a)),so(n,s,a)+r}function Yl(n,r=0,s=1,a,u){n.min=oh(n.min,r,s,a,u),n.max=oh(n.max,r,s,a,u)}function am(n,{x:r,y:s}){Yl(n.x,r.translate,r.scale,r.originPoint),Yl(n.y,s.translate,s.scale,s.originPoint)}const ah=.999999999999,lh=1.0000000000001;function Dx(n,r,s,a=!1){var h;const u=s.length;if(!u)return;r.x=r.y=1;let f,d;for(let g=0;gah&&(r.x=1),r.yah&&(r.y=1)}function Wt(n,r){n.min+=r,n.max+=r}function uh(n,r,s,a,u=.5){const f=Ce(n.min,n.max,u);Yl(n,r,s,f,a)}function ch(n,r){return typeof n=="string"?parseFloat(n)/100*(r.max-r.min):n}function Qs(n,r,s){const a=s??n;uh(n.x,ch(r.x,a.x),r.scaleX,r.scale,r.originX),uh(n.y,ch(r.y,a.y),r.scaleY,r.scale,r.originY)}function lm(n,r){return sm(Mx(n.getBoundingClientRect(),r))}function Lx(n,r,s){const a=lm(n,s),{scroll:u}=r;return u&&(Wt(a.x,u.offset.x),Wt(a.y,u.offset.y)),a}const Rx={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Fx=Er.length;function Vx(n,r,s){let a="",u=!0;for(let f=0;f{if(!r.target)return n;if(typeof n=="string")if(Y.test(n))n=parseFloat(n);else return n;const s=dh(n,r.target.x),a=dh(n,r.target.y);return`${s}% ${a}%`}},Ix={correct:(n,{treeScale:r,projectionDelta:s})=>{const a=n,u=Ft.parse(n);if(u.length>5)return a;const f=Ft.createTransformer(n),d=typeof u[0]!="number"?1:0,h=s.x.scale*r.x,g=s.y.scale*r.y;u[0+d]/=h,u[1+d]/=g;const x=Ce(h,g,.5);return typeof u[2+d]=="number"&&(u[2+d]/=x),typeof u[3+d]=="number"&&(u[3+d]/=x),f(u)}},Xl={borderRadius:{...mi,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:mi,borderTopRightRadius:mi,borderBottomLeftRadius:mi,borderBottomRightRadius:mi,boxShadow:Ix};function cm(n,{layout:r,layoutId:s}){return jr.has(n)||n.startsWith("origin")||(r||s!==void 0)&&(!!Xl[n]||n==="opacity")}function Eu(n,r,s){var d;const a=n.style,u=r==null?void 0:r.style,f={};if(!a)return f;for(const h in a)(Xe(a[h])||u&&Xe(u[h])||cm(h,n)||((d=s==null?void 0:s.getValue(h))==null?void 0:d.liveStyle)!==void 0)&&(f[h]=a[h]);return f}function _x(n){return window.getComputedStyle(n)}class zx extends im{constructor(){super(...arguments),this.type="html",this.renderInstance=um}readValueFromInstance(r,s){var a;if(jr.has(s))return(a=this.projection)!=null&&a.isProjecting?Vl(s):iv(r,s);{const u=_x(r),f=(vp(s)?u.getPropertyValue(s):u[s])||0;return typeof f=="string"?f.trim():f}}measureInstanceViewportBox(r,{transformPagePoint:s}){return lm(r,s)}build(r,s,a){Au(r,s,a.transformTemplate)}scrapeMotionValuesFromProps(r,s,a){return Eu(r,s,a)}}const Ox={offset:"stroke-dashoffset",array:"stroke-dasharray"},Bx={offset:"strokeDashoffset",array:"strokeDasharray"};function bx(n,r,s=1,a=0,u=!0){n.pathLength=1;const f=u?Ox:Bx;n[f.offset]=`${-a}`,n[f.array]=`${r} ${s}`}const Ux=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function dm(n,{attrX:r,attrY:s,attrScale:a,pathLength:u,pathSpacing:f=1,pathOffset:d=0,...h},g,x,y){if(Au(n,h,x),g){n.style.viewBox&&(n.attrs.viewBox=n.style.viewBox);return}n.attrs=n.style,n.style={};const{attrs:v,style:w}=n;v.transform&&(w.transform=v.transform,delete v.transform),(w.transform||v.transformOrigin)&&(w.transformOrigin=v.transformOrigin??"50% 50%",delete v.transformOrigin),w.transform&&(w.transformBox=(y==null?void 0:y.transformBox)??"fill-box",delete v.transformBox);for(const C of Ux)v[C]!==void 0&&(w[C]=v[C],delete v[C]);r!==void 0&&(v.x=r),s!==void 0&&(v.y=s),a!==void 0&&(v.scale=a),u!==void 0&&bx(v,u,f,d,!1)}const fm=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"]),hm=n=>typeof n=="string"&&n.toLowerCase()==="svg";function Wx(n,r,s,a){um(n,r,void 0,a);for(const u in r.attrs)n.setAttribute(fm.has(u)?u:xu(u),r.attrs[u])}function pm(n,r,s){const a=Eu(n,r,s);for(const u in n)if(Xe(n[u])||Xe(r[u])){const f=Er.indexOf(u)!==-1?"attr"+u.charAt(0).toUpperCase()+u.substring(1):u;a[f]=n[u]}return a}class Hx extends im{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=Ue}getBaseTargetFromProps(r,s){return r[s]}readValueFromInstance(r,s){if(jr.has(s)){const a=$p(s);return a&&a.default||0}return s=fm.has(s)?s:xu(s),r.getAttribute(s)}scrapeMotionValuesFromProps(r,s,a){return pm(r,s,a)}build(r,s,a){dm(r,s,this.isSVGTag,a.transformTemplate,a.style)}renderInstance(r,s,a,u){Wx(r,s,a,u)}mount(r){this.isSVGTag=hm(r.tagName),super.mount(r)}}const Gx=Pu.length;function mm(n){if(!n)return;if(!n.isControllingVariants){const s=n.parent?mm(n.parent)||{}:{};return n.props.initial!==void 0&&(s.initial=n.props.initial),s}const r={};for(let s=0;sPromise.all(r.map(({animation:s,options:a})=>Gv(n,s,a)))}function Xx(n){let r=Yx(n),s=fh(),a=!0,u=!1;const f=x=>(y,v)=>{var C;const w=Gn(n,v,x==="exit"?(C=n.presenceContext)==null?void 0:C.custom:void 0);if(w){const{transition:N,transitionEnd:D,...M}=w;y={...y,...M,...D}}return y};function d(x){r=x(n)}function h(x){const{props:y}=n,v=mm(n.parent)||{},w=[],C=new Set;let N={},D=1/0;for(let I=0;I<$x;I++){const U=Kx[I],B=s[U],b=y[U]!==void 0?y[U]:v[U],G=Ti(b),ie=U===x?B.isActive:null;ie===!1&&(D=I);let oe=b===v[U]&&b!==y[U]&&G;if(oe&&(a||u)&&n.manuallyAnimateOnMount&&(oe=!1),B.protectedKeys={...N},!B.isActive&&ie===null||!b&&!B.prevProp||fo(b)||typeof b=="boolean")continue;if(U==="exit"&&B.isActive&&ie!==!0){B.prevResolvedValues&&(N={...N,...B.prevResolvedValues});continue}const J=Qx(B.prevProp,b);let re=J||U===x&&B.isActive&&!oe&&G||I>D&&G,q=!1;const ce=Array.isArray(b)?b:[b];let ye=ce.reduce(f(U),{});ie===!1&&(ye={});const{prevResolvedValues:je={}}=B,Le={...je,...ye},_e=z=>{re=!0,C.has(z)&&(q=!0,C.delete(z)),B.needsAnimating[z]=!0;const X=n.getValue(z);X&&(X.liveStyle=!1)};for(const z in Le){const X=ye[z],W=je[z];if(N.hasOwnProperty(z))continue;let P=!1;bl(X)&&bl(W)?P=!gm(X,W):P=X!==W,P?X!=null?_e(z):C.add(z):X!==void 0&&C.has(z)?_e(z):B.protectedKeys[z]=!0}B.prevProp=b,B.prevResolvedValues=ye,B.isActive&&(N={...N,...ye}),(a||u)&&n.blockInitialAnimation&&(re=!1);const Se=oe&&J;re&&(!Se||q)&&w.push(...ce.map(z=>{const X={type:U};if(typeof z=="string"&&(a||u)&&!Se&&n.manuallyAnimateOnMount&&n.parent){const{parent:W}=n,P=Gn(W,z);if(W.enteringChildren&&P){const{delayChildren:L}=P.transition||{};X.delay=zp(W.enteringChildren,n,L)}}return{animation:z,options:X}}))}if(C.size){const I={};if(typeof y.initial!="boolean"){const U=Gn(n,Array.isArray(y.initial)?y.initial[0]:y.initial);U&&U.transition&&(I.transition=U.transition)}C.forEach(U=>{const B=n.getBaseTarget(U),b=n.getValue(U);b&&(b.liveStyle=!0),I[U]=B??null}),w.push({animation:I})}let M=!!w.length;return a&&(y.initial===!1||y.initial===y.animate)&&!n.manuallyAnimateOnMount&&(M=!1),a=!1,u=!1,M?r(w):Promise.resolve()}function g(x,y){var w;if(s[x].isActive===y)return Promise.resolve();(w=n.variantChildren)==null||w.forEach(C=>{var N;return(N=C.animationState)==null?void 0:N.setActive(x,y)}),s[x].isActive=y;const v=h(x);for(const C in s)s[C].protectedKeys={};return v}return{animateChanges:h,setActive:g,setAnimateFunction:d,getState:()=>s,reset:()=>{s=fh(),u=!0}}}function Qx(n,r){return typeof r=="string"?r!==n:Array.isArray(r)?!gm(r,n):!1}function Bn(n=!1){return{isActive:n,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function fh(){return{animate:Bn(!0),whileInView:Bn(),whileHover:Bn(),whileTap:Bn(),whileDrag:Bn(),whileFocus:Bn(),exit:Bn()}}function Ql(n,r){n.min=r.min,n.max=r.max}function Lt(n,r){Ql(n.x,r.x),Ql(n.y,r.y)}function hh(n,r){n.translate=r.translate,n.scale=r.scale,n.originPoint=r.originPoint,n.origin=r.origin}const ym=1e-4,qx=1-ym,Zx=1+ym,vm=.01,Jx=0-vm,e1=0+vm;function rt(n){return n.max-n.min}function t1(n,r,s){return Math.abs(n-r)<=s}function ph(n,r,s,a=.5){n.origin=a,n.originPoint=Ce(r.min,r.max,n.origin),n.scale=rt(s)/rt(r),n.translate=Ce(s.min,s.max,n.origin)-n.originPoint,(n.scale>=qx&&n.scale<=Zx||isNaN(n.scale))&&(n.scale=1),(n.translate>=Jx&&n.translate<=e1||isNaN(n.translate))&&(n.translate=0)}function xi(n,r,s,a){ph(n.x,r.x,s.x,a?a.originX:void 0),ph(n.y,r.y,s.y,a?a.originY:void 0)}function mh(n,r,s,a=0){const u=a?Ce(s.min,s.max,a):s.min;n.min=u+r.min,n.max=n.min+rt(r)}function n1(n,r,s,a){mh(n.x,r.x,s.x,a==null?void 0:a.x),mh(n.y,r.y,s.y,a==null?void 0:a.y)}function gh(n,r,s,a=0){const u=a?Ce(s.min,s.max,a):s.min;n.min=r.min-u,n.max=n.min+rt(r)}function oo(n,r,s,a){gh(n.x,r.x,s.x,a==null?void 0:a.x),gh(n.y,r.y,s.y,a==null?void 0:a.y)}function yh(n,r,s,a,u){return n-=r,n=so(n,1/s,a),u!==void 0&&(n=so(n,1/u,a)),n}function r1(n,r=0,s=1,a=.5,u,f=n,d=n){if(Ht.test(r)&&(r=parseFloat(r),r=Ce(d.min,d.max,r/100)-d.min),typeof r!="number")return;let h=Ce(f.min,f.max,a);n===f&&(h-=r),n.min=yh(n.min,r,s,h,u),n.max=yh(n.max,r,s,h,u)}function vh(n,r,[s,a,u],f,d){r1(n,r[s],r[a],r[u],r.scale,f,d)}const i1=["x","scaleX","originX"],s1=["y","scaleY","originY"];function xh(n,r,s,a){vh(n.x,r,i1,s?s.x:void 0,a?a.x:void 0),vh(n.y,r,s1,s?s.y:void 0,a?a.y:void 0)}function wh(n){return n.translate===0&&n.scale===1}function xm(n){return wh(n.x)&&wh(n.y)}function Sh(n,r){return n.min===r.min&&n.max===r.max}function o1(n,r){return Sh(n.x,r.x)&&Sh(n.y,r.y)}function kh(n,r){return Math.round(n.min)===Math.round(r.min)&&Math.round(n.max)===Math.round(r.max)}function wm(n,r){return kh(n.x,r.x)&&kh(n.y,r.y)}function Th(n){return rt(n.x)/rt(n.y)}function Ch(n,r){return n.translate===r.translate&&n.scale===r.scale&&n.originPoint===r.originPoint}function bt(n){return[n("x"),n("y")]}function a1(n,r,s){let a="";const u=n.x.translate/r.x,f=n.y.translate/r.y,d=(s==null?void 0:s.z)||0;if((u||f||d)&&(a=`translate3d(${u}px, ${f}px, ${d}px) `),(r.x!==1||r.y!==1)&&(a+=`scale(${1/r.x}, ${1/r.y}) `),s){const{transformPerspective:x,rotate:y,rotateX:v,rotateY:w,skewX:C,skewY:N}=s;x&&(a=`perspective(${x}px) ${a}`),y&&(a+=`rotate(${y}deg) `),v&&(a+=`rotateX(${v}deg) `),w&&(a+=`rotateY(${w}deg) `),C&&(a+=`skewX(${C}deg) `),N&&(a+=`skewY(${N}deg) `)}const h=n.x.scale*r.x,g=n.y.scale*r.y;return(h!==1||g!==1)&&(a+=`scale(${h}, ${g})`),a||"none"}const Sm=["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"],l1=Sm.length,Ph=n=>typeof n=="string"?parseFloat(n):n,Ah=n=>typeof n=="number"||Y.test(n);function u1(n,r,s,a,u,f){u?(n.opacity=Ce(0,s.opacity??1,c1(a)),n.opacityExit=Ce(r.opacity??1,0,d1(a))):f&&(n.opacity=Ce(r.opacity??1,s.opacity??1,a));for(let d=0;dar?1:s(Si(n,r,a))}function f1(n,r,s){const a=Xe(n)?n:Pr(n);return a.start(yu("",a,r,s)),a.animation}function Ci(n,r,s,a={passive:!0}){return n.addEventListener(r,s,a),()=>n.removeEventListener(r,s)}const h1=(n,r)=>n.depth-r.depth;class p1{constructor(){this.children=[],this.isDirty=!1}add(r){iu(this.children,r),this.isDirty=!0}remove(r){Js(this.children,r),this.isDirty=!0}forEach(r){this.isDirty&&this.children.sort(h1),this.isDirty=!1,this.children.forEach(r)}}function m1(n,r){const s=nt.now(),a=({timestamp:u})=>{const f=u-s;f>=r&&(Pn(a),n(f-r))};return ve.setup(a,!0),()=>Pn(a)}function qs(n){return Xe(n)?n.get():n}class g1{constructor(){this.members=[]}add(r){iu(this.members,r);for(let s=this.members.length-1;s>=0;s--){const a=this.members[s];if(a===r||a===this.lead||a===this.prevLead)continue;const u=a.instance;(!u||u.isConnected===!1)&&!a.snapshot&&(Js(this.members,a),a.unmount())}r.scheduleRender()}remove(r){if(Js(this.members,r),r===this.prevLead&&(this.prevLead=void 0),r===this.lead){const s=this.members[this.members.length-1];s&&this.promote(s)}}relegate(r){var s;for(let a=this.members.indexOf(r)-1;a>=0;a--){const u=this.members[a];if(u.isPresent!==!1&&((s=u.instance)==null?void 0:s.isConnected)!==!1)return this.promote(u),!0}return!1}promote(r,s){var u;const a=this.lead;if(r!==a&&(this.prevLead=a,this.lead=r,r.show(),a)){a.updateSnapshot(),r.scheduleRender();const{layoutDependency:f}=a.options,{layoutDependency:d}=r.options;(f===void 0||f!==d)&&(r.resumeFrom=a,s&&(a.preserveOpacity=!0),a.snapshot&&(r.snapshot=a.snapshot,r.snapshot.latestValues=a.animationValues||a.latestValues),(u=r.root)!=null&&u.isUpdating&&(r.isLayoutDirty=!0)),r.options.crossfade===!1&&a.hide()}}exitAnimationComplete(){this.members.forEach(r=>{var s,a,u,f,d;(a=(s=r.options).onExitComplete)==null||a.call(s),(d=(u=r.resumingFrom)==null?void 0:(f=u.options).onExitComplete)==null||d.call(f)})}scheduleRender(){this.members.forEach(r=>r.instance&&r.scheduleRender(!1))}removeLeadSnapshot(){var r;(r=this.lead)!=null&&r.snapshot&&(this.lead.snapshot=void 0)}}const Zs={hasAnimatedSinceResize:!0,hasEverUpdated:!1},Sl=["","X","Y","Z"],y1=1e3;let v1=0;function kl(n,r,s,a){const{latestValues:u}=r;u[n]&&(s[n]=u[n],r.setStaticValue(n,0),a&&(a[n]=0))}function Tm(n){if(n.hasCheckedOptimisedAppear=!0,n.root===n)return;const{visualElement:r}=n.options;if(!r)return;const s=Wp(r);if(window.MotionHasOptimisedAnimation(s,"transform")){const{layout:u,layoutId:f}=n.options;window.MotionCancelOptimisedAnimation(s,"transform",ve,!(u||f))}const{parent:a}=n;a&&!a.hasCheckedOptimisedAppear&&Tm(a)}function Cm({attachResizeListener:n,defaultParent:r,measureScroll:s,checkIsScrollRoot:a,resetTransform:u}){return class{constructor(d={},h=r==null?void 0:r()){this.id=v1++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(S1),this.nodes.forEach(E1),this.nodes.forEach(j1),this.nodes.forEach(k1)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=d,this.root=h?h.root||h:this,this.path=h?[...h.path,h]:[],this.parent=h,this.depth=h?h.depth+1:0;for(let g=0;gthis.root.updateBlockedByResize=!1;ve.read(()=>{v=window.innerWidth}),n(d,()=>{const C=window.innerWidth;C!==v&&(v=C,this.root.updateBlockedByResize=!0,y&&y(),y=m1(w,250),Zs.hasAnimatedSinceResize&&(Zs.hasAnimatedSinceResize=!1,this.nodes.forEach(Mh)))})}h&&this.root.registerSharedNode(h,this),this.options.animate!==!1&&x&&(h||g)&&this.addEventListener("didUpdate",({delta:y,hasLayoutChanged:v,hasRelativeLayoutChanged:w,layout:C})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const N=this.options.transition||x.getDefaultTransition()||R1,{onLayoutAnimationStart:D,onLayoutAnimationComplete:M}=x.getProps(),I=!this.targetLayout||!wm(this.targetLayout,C),U=!v&&w;if(this.options.layoutRoot||this.resumeFrom||U||v&&(I||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const B={...gu(N,"layout"),onPlay:D,onComplete:M};(x.shouldReduceMotion||this.options.layoutRoot)&&(B.delay=0,B.type=!1),this.startAnimation(B),this.setAnimationOrigin(y,U)}else v||Mh(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=C})}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(),Pn(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(N1),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&&Tm(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let y=0;y{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!rt(this.snapshot.measuredBox.x)&&!rt(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 g=0;g{const G=b/1e3;Dh(v.x,d.x,G),Dh(v.y,d.y,G),this.setTargetDelta(v),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(oo(w,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),D1(this.relativeTarget,this.relativeTargetOrigin,w,G),B&&o1(this.relativeTarget,B)&&(this.isProjectionDirty=!1),B||(B=Ue()),Lt(B,this.relativeTarget)),D&&(this.animationValues=y,u1(y,x,this.latestValues,G,U,I)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=G},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(d){var h,g,x;this.notifyListeners("animationStart"),(h=this.currentAnimation)==null||h.stop(),(x=(g=this.resumingFrom)==null?void 0:g.currentAnimation)==null||x.stop(),this.pendingAnimation&&(Pn(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=ve.update(()=>{Zs.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=Pr(0)),this.motionValue.jump(0,!1),this.currentAnimation=f1(this.motionValue,[0,1e3],{...d,velocity:0,isSync:!0,onUpdate:y=>{this.mixTargetDelta(y),d.onUpdate&&d.onUpdate(y)},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(y1),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const d=this.getLead();let{targetWithTransforms:h,target:g,layout:x,latestValues:y}=d;if(!(!h||!g||!x)){if(this!==d&&this.layout&&x&&Pm(this.options.animationType,this.layout.layoutBox,x.layoutBox)){g=this.target||Ue();const v=rt(this.layout.layoutBox.x);g.x.min=d.target.x.min,g.x.max=g.x.min+v;const w=rt(this.layout.layoutBox.y);g.y.min=d.target.y.min,g.y.max=g.y.min+w}Lt(h,g),Qs(h,y),xi(this.projectionDeltaWithTransform,this.layoutCorrected,h,y)}}registerSharedNode(d,h){this.sharedNodes.has(d)||this.sharedNodes.set(d,new g1),this.sharedNodes.get(d).add(h);const x=h.options.initialPromotionConfig;h.promote({transition:x?x.transition:void 0,preserveFollowOpacity:x&&x.shouldPreserveFollowOpacity?x.shouldPreserveFollowOpacity(h):void 0})}isLead(){const d=this.getStack();return d?d.lead===this:!0}getLead(){var h;const{layoutId:d}=this.options;return d?((h=this.getStack())==null?void 0:h.lead)||this:this}getPrevLead(){var h;const{layoutId:d}=this.options;return d?(h=this.getStack())==null?void 0:h.prevLead:void 0}getStack(){const{layoutId:d}=this.options;if(d)return this.root.sharedNodes.get(d)}promote({needsReset:d,transition:h,preserveFollowOpacity:g}={}){const x=this.getStack();x&&x.promote(this,g),d&&(this.projectionDelta=void 0,this.needsReset=!0),h&&this.setOptions({transition:h})}relegate(){const d=this.getStack();return d?d.relegate(this):!1}resetSkewAndRotation(){const{visualElement:d}=this.options;if(!d)return;let h=!1;const{latestValues:g}=d;if((g.z||g.rotate||g.rotateX||g.rotateY||g.rotateZ||g.skewX||g.skewY)&&(h=!0),!h)return;const x={};g.z&&kl("z",d,x,this.animationValues);for(let y=0;y{var h;return(h=d.currentAnimation)==null?void 0:h.stop()}),this.root.nodes.forEach(jh),this.root.sharedNodes.clear()}}}function x1(n){n.updateLayout()}function w1(n){var s;const r=((s=n.resumeFrom)==null?void 0:s.snapshot)||n.snapshot;if(n.isLead()&&n.layout&&r&&n.hasListeners("didUpdate")){const{layoutBox:a,measuredBox:u}=n.layout,{animationType:f}=n.options,d=r.source!==n.layout.source;if(f==="size")bt(v=>{const w=d?r.measuredBox[v]:r.layoutBox[v],C=rt(w);w.min=a[v].min,w.max=w.min+C});else if(f==="x"||f==="y"){const v=f==="x"?"y":"x";Ql(d?r.measuredBox[v]:r.layoutBox[v],a[v])}else Pm(f,r.layoutBox,a)&&bt(v=>{const w=d?r.measuredBox[v]:r.layoutBox[v],C=rt(a[v]);w.max=w.min+C,n.relativeTarget&&!n.currentAnimation&&(n.isProjectionDirty=!0,n.relativeTarget[v].max=n.relativeTarget[v].min+C)});const h=Sr();xi(h,a,r.layoutBox);const g=Sr();d?xi(g,n.applyTransform(u,!0),r.measuredBox):xi(g,a,r.layoutBox);const x=!xm(h);let y=!1;if(!n.resumeFrom){const v=n.getClosestProjectingParent();if(v&&!v.resumeFrom){const{snapshot:w,layout:C}=v;if(w&&C){const N=n.options.layoutAnchor||void 0,D=Ue();oo(D,r.layoutBox,w.layoutBox,N);const M=Ue();oo(M,a,C.layoutBox,N),wm(D,M)||(y=!0),v.options.layoutRoot&&(n.relativeTarget=M,n.relativeTargetOrigin=D,n.relativeParent=v)}}}n.notifyListeners("didUpdate",{layout:a,snapshot:r,delta:g,layoutDelta:h,hasLayoutChanged:x,hasRelativeLayoutChanged:y})}else if(n.isLead()){const{onExitComplete:a}=n.options;a&&a()}n.options.transition=void 0}function S1(n){n.parent&&(n.isProjecting()||(n.isProjectionDirty=n.parent.isProjectionDirty),n.isSharedProjectionDirty||(n.isSharedProjectionDirty=!!(n.isProjectionDirty||n.parent.isProjectionDirty||n.parent.isSharedProjectionDirty)),n.isTransformDirty||(n.isTransformDirty=n.parent.isTransformDirty))}function k1(n){n.isProjectionDirty=n.isSharedProjectionDirty=n.isTransformDirty=!1}function T1(n){n.clearSnapshot()}function jh(n){n.clearMeasurements()}function C1(n){n.isLayoutDirty=!0,n.updateLayout()}function Nh(n){n.isLayoutDirty=!1}function P1(n){n.isAnimationBlocked&&n.layout&&!n.isLayoutDirty&&(n.snapshot=n.layout,n.isLayoutDirty=!0)}function A1(n){const{visualElement:r}=n.options;r&&r.getProps().onBeforeLayoutMeasure&&r.notify("BeforeLayoutMeasure"),n.resetTransform()}function Mh(n){n.finishAnimation(),n.targetDelta=n.relativeTarget=n.target=void 0,n.isProjectionDirty=!0}function E1(n){n.resolveTargetDelta()}function j1(n){n.calcProjection()}function N1(n){n.resetSkewAndRotation()}function M1(n){n.removeLeadSnapshot()}function Dh(n,r,s){n.translate=Ce(r.translate,0,s),n.scale=Ce(r.scale,1,s),n.origin=r.origin,n.originPoint=r.originPoint}function Lh(n,r,s,a){n.min=Ce(r.min,s.min,a),n.max=Ce(r.max,s.max,a)}function D1(n,r,s,a){Lh(n.x,r.x,s.x,a),Lh(n.y,r.y,s.y,a)}function L1(n){return n.animationValues&&n.animationValues.opacityExit!==void 0}const R1={duration:.45,ease:[.4,0,.1,1]},Rh=n=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(n),Fh=Rh("applewebkit/")&&!Rh("chrome/")?Math.round:Tt;function Vh(n){n.min=Fh(n.min),n.max=Fh(n.max)}function F1(n){Vh(n.x),Vh(n.y)}function Pm(n,r,s){return n==="position"||n==="preserve-aspect"&&!t1(Th(r),Th(s),.2)}function V1(n){var r;return n!==n.root&&((r=n.scroll)==null?void 0:r.wasRoot)}const I1=Cm({attachResizeListener:(n,r)=>Ci(n,"resize",r),measureScroll:()=>{var n,r;return{x:document.documentElement.scrollLeft||((n=document.body)==null?void 0:n.scrollLeft)||0,y:document.documentElement.scrollTop||((r=document.body)==null?void 0:r.scrollTop)||0}},checkIsScrollRoot:()=>!0}),Tl={current:void 0},Am=Cm({measureScroll:n=>({x:n.scrollLeft,y:n.scrollTop}),defaultParent:()=>{if(!Tl.current){const n=new I1({});n.mount(window),n.setOptions({layoutScroll:!0}),Tl.current=n}return Tl.current},resetTransform:(n,r)=>{n.style.transform=r!==void 0?r:"none"},checkIsScrollRoot:n=>window.getComputedStyle(n).position==="fixed"}),ju=_.createContext({transformPagePoint:n=>n,isStatic:!1,reducedMotion:"never"});function Ih(n,r){if(typeof n=="function")return n(r);n!=null&&(n.current=r)}function _1(...n){return r=>{let s=!1;const a=n.map(u=>{const f=Ih(u,r);return!s&&typeof f=="function"&&(s=!0),f});if(s)return()=>{for(let u=0;u{const{width:C,height:N,top:D,left:M,right:I,bottom:U}=g.current;if(r||f===!1||!h.current||!C||!N)return;const B=s==="left"?`left: ${M}`:`right: ${I}`,b=a==="bottom"?`bottom: ${U}`:`top: ${D}`;h.current.dataset.motionPopId=d;const G=document.createElement("style");x&&(G.nonce=x);const ie=u??document.head;return ie.appendChild(G),G.sheet&&G.sheet.insertRule(` [data-motion-pop-id="${d}"] { position: absolute !important; width: ${C}px !important; height: ${N}px !important; ${B}px !important; ${b}px !important; } `),()=>{var oe;(oe=h.current)==null||oe.removeAttribute("data-motion-pop-id"),ie.contains(G)&&ie.removeChild(G)}},[r]),m.jsx(O1,{isPresent:r,childRef:h,sizeRef:g,pop:f,children:f===!1?n:_.cloneElement(n,{ref:v})})}const b1=({children:n,initial:r,isPresent:s,onExitComplete:a,custom:u,presenceAffectsLayout:f,mode:d,anchorX:h,anchorY:g,root:x})=>{const y=ru(U1),v=_.useId();let w=!0,C=_.useMemo(()=>(w=!1,{id:v,initial:r,isPresent:s,custom:u,onExitComplete:N=>{y.set(N,!0);for(const D of y.values())if(!D)return;a&&a()},register:N=>(y.set(N,!1),()=>y.delete(N))}),[s,y,a]);return f&&w&&(C={...C}),_.useMemo(()=>{y.forEach((N,D)=>y.set(D,!1))},[s]),_.useEffect(()=>{!s&&!y.size&&a&&a()},[s]),n=m.jsx(B1,{pop:d==="popLayout",isPresent:s,anchorX:h,anchorY:g,root:x,children:n}),m.jsx(uo.Provider,{value:C,children:n})};function U1(){return new Map}function Em(n=!0){const r=_.useContext(uo);if(r===null)return[!0,null];const{isPresent:s,onExitComplete:a,register:u}=r,f=_.useId();_.useEffect(()=>{if(n)return u(f)},[n]);const d=_.useCallback(()=>n&&a&&a(f),[f,a,n]);return!s&&a?[!1,d]:[!0]}const Us=n=>n.key||"";function _h(n){const r=[];return _.Children.forEach(n,s=>{_.isValidElement(s)&&r.push(s)}),r}const Tr=({children:n,custom:r,initial:s=!0,onExitComplete:a,presenceAffectsLayout:u=!0,mode:f="sync",propagate:d=!1,anchorX:h="left",anchorY:g="top",root:x})=>{const[y,v]=Em(d),w=_.useMemo(()=>_h(n),[n]),C=d&&!y?[]:w.map(Us),N=_.useRef(!0),D=_.useRef(w),M=ru(()=>new Map),I=_.useRef(new Set),[U,B]=_.useState(w),[b,G]=_.useState(w);ep(()=>{N.current=!1,D.current=w;for(let J=0;J{const re=Us(J),q=d&&!y?!1:w===b||C.includes(re),ce=()=>{if(I.current.has(re))return;if(M.has(re))I.current.add(re),M.set(re,!0);else return;let ye=!0;M.forEach(je=>{je||(ye=!1)}),ye&&(oe==null||oe(),G(D.current),d&&(v==null||v()),a&&a())};return m.jsx(b1,{isPresent:q,initial:!N.current||s?void 0:!1,custom:r,presenceAffectsLayout:u,mode:f,root:x,onExitComplete:q?void 0:ce,anchorX:h,anchorY:g,children:J},re)})})},jm=_.createContext({strict:!1}),zh={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 Oh=!1;function W1(){if(Oh)return;const n={};for(const r in zh)n[r]={isEnabled:s=>zh[r].some(a=>!!s[a])};rm(n),Oh=!0}function Nm(){return W1(),Ex()}function H1(n){const r=Nm();for(const s in n)r[s]={...r[s],...n[s]};rm(r)}const G1=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 ao(n){return n.startsWith("while")||n.startsWith("drag")&&n!=="draggable"||n.startsWith("layout")||n.startsWith("onTap")||n.startsWith("onPan")||n.startsWith("onLayout")||G1.has(n)}let Mm=n=>!ao(n);function K1(n){typeof n=="function"&&(Mm=r=>r.startsWith("on")?!ao(r):n(r))}try{K1(require("@emotion/is-prop-valid").default)}catch{}function $1(n,r,s){const a={};for(const u in n)u==="values"&&typeof n.values=="object"||Xe(n[u])||(Mm(u)||s===!0&&ao(u)||!r&&!ao(u)||n.draggable&&u.startsWith("onDrag"))&&(a[u]=n[u]);return a}const po=_.createContext({});function Y1(n,r){if(ho(n)){const{initial:s,animate:a}=n;return{initial:s===!1||Ti(s)?s:void 0,animate:Ti(a)?a:void 0}}return n.inherit!==!1?r:{}}function X1(n){const{initial:r,animate:s}=Y1(n,_.useContext(po));return _.useMemo(()=>({initial:r,animate:s}),[Bh(r),Bh(s)])}function Bh(n){return Array.isArray(n)?n.join(" "):n}const Nu=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function Dm(n,r,s){for(const a in r)!Xe(r[a])&&!cm(a,s)&&(n[a]=r[a])}function Q1({transformTemplate:n},r){return _.useMemo(()=>{const s=Nu();return Au(s,r,n),Object.assign({},s.vars,s.style)},[r])}function q1(n,r){const s=n.style||{},a={};return Dm(a,s,n),Object.assign(a,Q1(n,r)),a}function Z1(n,r){const s={},a=q1(n,r);return n.drag&&n.dragListener!==!1&&(s.draggable=!1,a.userSelect=a.WebkitUserSelect=a.WebkitTouchCallout="none",a.touchAction=n.drag===!0?"none":`pan-${n.drag==="x"?"y":"x"}`),n.tabIndex===void 0&&(n.onTap||n.onTapStart||n.whileTap)&&(s.tabIndex=0),s.style=a,s}const Lm=()=>({...Nu(),attrs:{}});function J1(n,r,s,a){const u=_.useMemo(()=>{const f=Lm();return dm(f,r,hm(a),n.transformTemplate,n.style),{...f.attrs,style:{...f.style}}},[r]);if(n.style){const f={};Dm(f,n.style,n),u.style={...f,...u.style}}return u}const ew=["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 Mu(n){return typeof n!="string"||n.includes("-")?!1:!!(ew.indexOf(n)>-1||/[A-Z]/u.test(n))}function tw(n,r,s,{latestValues:a},u,f=!1,d){const g=(d??Mu(n)?J1:Z1)(r,a,u,n),x=$1(r,typeof n=="string",f),y=n!==_.Fragment?{...x,...g,ref:s}:{},{children:v}=r,w=_.useMemo(()=>Xe(v)?v.get():v,[v]);return _.createElement(n,{...y,children:w})}function nw({scrapeMotionValuesFromProps:n,createRenderState:r},s,a,u){return{latestValues:rw(s,a,u,n),renderState:r()}}function rw(n,r,s,a){const u={},f=a(n,{});for(const w in f)u[w]=qs(f[w]);let{initial:d,animate:h}=n;const g=ho(n),x=tm(n);r&&x&&!g&&n.inherit!==!1&&(d===void 0&&(d=r.initial),h===void 0&&(h=r.animate));let y=s?s.initial===!1:!1;y=y||d===!1;const v=y?h:d;if(v&&typeof v!="boolean"&&!fo(v)){const w=Array.isArray(v)?v:[v];for(let C=0;C(r,s)=>{const a=_.useContext(po),u=_.useContext(uo),f=()=>nw(n,r,a,u);return s?f():ru(f)},iw=Rm({scrapeMotionValuesFromProps:Eu,createRenderState:Nu}),sw=Rm({scrapeMotionValuesFromProps:pm,createRenderState:Lm}),ow=Symbol.for("motionComponentSymbol");function aw(n,r,s){const a=_.useRef(s);_.useInsertionEffect(()=>{a.current=s});const u=_.useRef(null);return _.useCallback(f=>{var h;f&&((h=n.onMount)==null||h.call(n,f));const d=a.current;if(typeof d=="function")if(f){const g=d(f);typeof g=="function"&&(u.current=g)}else u.current?(u.current(),u.current=null):d(f);else d&&(d.current=f);r&&(f?r.mount(f):r.unmount())},[r])}const Fm=_.createContext({});function vr(n){return n&&typeof n=="object"&&Object.prototype.hasOwnProperty.call(n,"current")}function lw(n,r,s,a,u,f){var B,b;const{visualElement:d}=_.useContext(po),h=_.useContext(jm),g=_.useContext(uo),x=_.useContext(ju),y=x.reducedMotion,v=x.skipAnimations,w=_.useRef(null),C=_.useRef(!1);a=a||h.renderer,!w.current&&a&&(w.current=a(n,{visualState:r,parent:d,props:s,presenceContext:g,blockInitialAnimation:g?g.initial===!1:!1,reducedMotionConfig:y,skipAnimations:v,isSVG:f}),C.current&&w.current&&(w.current.manuallyAnimateOnMount=!0));const N=w.current,D=_.useContext(Fm);N&&!N.projection&&u&&(N.type==="html"||N.type==="svg")&&uw(w.current,s,u,D);const M=_.useRef(!1);_.useInsertionEffect(()=>{N&&M.current&&N.update(s,g)});const I=s[Up],U=_.useRef(!!I&&typeof window<"u"&&!((B=window.MotionHandoffIsComplete)!=null&&B.call(window,I))&&((b=window.MotionHasOptimisedAnimation)==null?void 0:b.call(window,I)));return ep(()=>{C.current=!0,N&&(M.current=!0,window.MotionIsMounted=!0,N.updateFeatures(),N.scheduleRenderMicrotask(),U.current&&N.animationState&&N.animationState.animateChanges())}),_.useEffect(()=>{N&&(!U.current&&N.animationState&&N.animationState.animateChanges(),U.current&&(queueMicrotask(()=>{var G;(G=window.MotionHandoffMarkAsComplete)==null||G.call(window,I)}),U.current=!1),N.enteringChildren=void 0)}),N}function uw(n,r,s,a){const{layoutId:u,layout:f,drag:d,dragConstraints:h,layoutScroll:g,layoutRoot:x,layoutAnchor:y,layoutCrossfade:v}=r;n.projection=new s(n.latestValues,r["data-framer-portal-id"]?void 0:Vm(n.parent)),n.projection.setOptions({layoutId:u,layout:f,alwaysMeasureLayout:!!d||h&&vr(h),visualElement:n,animationType:typeof f=="string"?f:"both",initialPromotionConfig:a,crossfade:v,layoutScroll:g,layoutRoot:x,layoutAnchor:y})}function Vm(n){if(n)return n.options.allowProjection!==!1?n.projection:Vm(n.parent)}function Cl(n,{forwardMotionProps:r=!1,type:s}={},a,u){a&&H1(a);const f=s?s==="svg":Mu(n),d=f?sw:iw;function h(x,y){let v;const w={..._.useContext(ju),...x,layoutId:cw(x)},{isStatic:C}=w,N=X1(x),D=d(x,C);if(!C&&typeof window<"u"){dw();const M=fw(w);v=M.MeasureLayout,N.visualElement=lw(n,D,w,u,M.ProjectionNode,f)}return m.jsxs(po.Provider,{value:N,children:[v&&N.visualElement?m.jsx(v,{visualElement:N.visualElement,...w}):null,tw(n,x,aw(D,N.visualElement,y),D,C,r,f)]})}h.displayName=`motion.${typeof n=="string"?n:`create(${n.displayName??n.name??""})`}`;const g=_.forwardRef(h);return g[ow]=n,g}function cw({layoutId:n}){const r=_.useContext(nu).id;return r&&n!==void 0?r+"-"+n:n}function dw(n,r){_.useContext(jm).strict}function fw(n){const r=Nm(),{drag:s,layout:a}=r;if(!s&&!a)return{};const u={...s,...a};return{MeasureLayout:s!=null&&s.isEnabled(n)||a!=null&&a.isEnabled(n)?u.MeasureLayout:void 0,ProjectionNode:u.ProjectionNode}}function hw(n,r){if(typeof Proxy>"u")return Cl;const s=new Map,a=(f,d)=>Cl(f,d,n,r),u=(f,d)=>a(f,d);return new Proxy(u,{get:(f,d)=>d==="create"?a:(s.has(d)||s.set(d,Cl(d,void 0,n,r)),s.get(d))})}const pw=(n,r)=>r.isSVG??Mu(n)?new Hx(r):new zx(r,{allowProjection:n!==_.Fragment});class mw extends An{constructor(r){super(r),r.animationState||(r.animationState=Xx(r))}updateAnimationControlsSubscription(){const{animate:r}=this.node.getProps();fo(r)&&(this.unmountControls=r.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:r}=this.node.getProps(),{animate:s}=this.node.prevProps||{};r!==s&&this.updateAnimationControlsSubscription()}unmount(){var r;this.node.animationState.reset(),(r=this.unmountControls)==null||r.call(this)}}let gw=0;class yw extends An{constructor(){super(...arguments),this.id=gw++,this.isExitComplete=!1}update(){var f;if(!this.node.presenceContext)return;const{isPresent:r,onExitComplete:s}=this.node.presenceContext,{isPresent:a}=this.node.prevPresenceContext||{};if(!this.node.animationState||r===a)return;if(r&&a===!1){if(this.isExitComplete){const{initial:d,custom:h}=this.node.getProps();if(typeof d=="string"){const g=Gn(this.node,d,h);if(g){const{transition:x,transitionEnd:y,...v}=g;for(const w in v)(f=this.node.getValue(w))==null||f.jump(v[w])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1;return}const u=this.node.animationState.setActive("exit",!r);s&&!r&&u.then(()=>{this.isExitComplete=!0,s(this.id)})}mount(){const{register:r,onExitComplete:s}=this.node.presenceContext||{};s&&s(this.id),r&&(this.unmount=r(this.id))}unmount(){}}const vw={animation:{Feature:mw},exit:{Feature:yw}};function ji(n){return{point:{x:n.pageX,y:n.pageY}}}const xw=n=>r=>ku(r)&&n(r,ji(r));function wi(n,r,s,a){return Ci(n,r,xw(s),a)}const Im=({current:n})=>n?n.ownerDocument.defaultView:null,bh=(n,r)=>Math.abs(n-r);function ww(n,r){const s=bh(n.x,r.x),a=bh(n.y,r.y);return Math.sqrt(s**2+a**2)}const Uh=new Set(["auto","scroll"]);class _m{constructor(r,s,{transformPagePoint:a,contextWindow:u=window,dragSnapToOrigin:f=!1,distanceThreshold:d=3,element:h}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=C=>{this.handleScroll(C.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=Ws(this.lastRawMoveEventInfo,this.transformPagePoint));const C=Pl(this.lastMoveEventInfo,this.history),N=this.startEvent!==null,D=ww(C.offset,{x:0,y:0})>=this.distanceThreshold;if(!N&&!D)return;const{point:M}=C,{timestamp:I}=Ye;this.history.push({...M,timestamp:I});const{onStart:U,onMove:B}=this.handlers;N||(U&&U(this.lastMoveEvent,C),this.startEvent=this.lastMoveEvent),B&&B(this.lastMoveEvent,C)},this.handlePointerMove=(C,N)=>{this.lastMoveEvent=C,this.lastRawMoveEventInfo=N,this.lastMoveEventInfo=Ws(N,this.transformPagePoint),ve.update(this.updatePoint,!0)},this.handlePointerUp=(C,N)=>{this.end();const{onEnd:D,onSessionEnd:M,resumeAnimation:I}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&I&&I(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const U=Pl(C.type==="pointercancel"?this.lastMoveEventInfo:Ws(N,this.transformPagePoint),this.history);this.startEvent&&D&&D(C,U),M&&M(C,U)},!ku(r))return;this.dragSnapToOrigin=f,this.handlers=s,this.transformPagePoint=a,this.distanceThreshold=d,this.contextWindow=u||window;const g=ji(r),x=Ws(g,this.transformPagePoint),{point:y}=x,{timestamp:v}=Ye;this.history=[{...y,timestamp:v}];const{onSessionStart:w}=s;w&&w(r,Pl(x,this.history)),this.removeListeners=Pi(wi(this.contextWindow,"pointermove",this.handlePointerMove),wi(this.contextWindow,"pointerup",this.handlePointerUp),wi(this.contextWindow,"pointercancel",this.handlePointerUp)),h&&this.startScrollTracking(h)}startScrollTracking(r){let s=r.parentElement;for(;s;){const a=getComputedStyle(s);(Uh.has(a.overflowX)||Uh.has(a.overflowY))&&this.scrollPositions.set(s,{x:s.scrollLeft,y:s.scrollTop}),s=s.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(r){const s=this.scrollPositions.get(r);if(!s)return;const a=r===window,u=a?{x:window.scrollX,y:window.scrollY}:{x:r.scrollLeft,y:r.scrollTop},f={x:u.x-s.x,y:u.y-s.y};f.x===0&&f.y===0||(a?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=f.x,this.lastMoveEventInfo.point.y+=f.y):this.history.length>0&&(this.history[0].x-=f.x,this.history[0].y-=f.y),this.scrollPositions.set(r,u),ve.update(this.updatePoint,!0))}updateHandlers(r){this.handlers=r}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),Pn(this.updatePoint)}}function Ws(n,r){return r?{point:r(n.point)}:n}function Wh(n,r){return{x:n.x-r.x,y:n.y-r.y}}function Pl({point:n},r){return{point:n,delta:Wh(n,zm(r)),offset:Wh(n,Sw(r)),velocity:kw(r,.1)}}function Sw(n){return n[0]}function zm(n){return n[n.length-1]}function kw(n,r){if(n.length<2)return{x:0,y:0};let s=n.length-1,a=null;const u=zm(n);for(;s>=0&&(a=n[s],!(u.timestamp-a.timestamp>mt(r)));)s--;if(!a)return{x:0,y:0};a===n[0]&&n.length>2&&u.timestamp-a.timestamp>mt(r)*2&&(a=n[1]);const f=kt(u.timestamp-a.timestamp);if(f===0)return{x:0,y:0};const d={x:(u.x-a.x)/f,y:(u.y-a.y)/f};return d.x===1/0&&(d.x=0),d.y===1/0&&(d.y=0),d}function Tw(n,{min:r,max:s},a){return r!==void 0&&ns&&(n=a?Ce(s,n,a.max):Math.min(n,s)),n}function Hh(n,r,s){return{min:r!==void 0?n.min+r:void 0,max:s!==void 0?n.max+s-(n.max-n.min):void 0}}function Cw(n,{top:r,left:s,bottom:a,right:u}){return{x:Hh(n.x,s,u),y:Hh(n.y,r,a)}}function Gh(n,r){let s=r.min-n.min,a=r.max-n.max;return r.max-r.mina?s=Si(r.min,r.max-a,n.min):a>u&&(s=Si(n.min,n.max-u,r.min)),Gt(0,1,s)}function Ew(n,r){const s={};return r.min!==void 0&&(s.min=r.min-n.min),r.max!==void 0&&(s.max=r.max-n.min),s}const ql=.35;function jw(n=ql){return n===!1?n=0:n===!0&&(n=ql),{x:Kh(n,"left","right"),y:Kh(n,"top","bottom")}}function Kh(n,r,s){return{min:$h(n,r),max:$h(n,s)}}function $h(n,r){return typeof n=="number"?n:n[r]||0}const Nw=new WeakMap;class Mw{constructor(r){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Ue(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=r}start(r,{snapToCursor:s=!1,distanceThreshold:a}={}){const{presenceContext:u}=this.visualElement;if(u&&u.isPresent===!1)return;const f=v=>{s&&this.snapToCursor(ji(v).point),this.stopAnimation()},d=(v,w)=>{const{drag:C,dragPropagation:N,onDragStart:D}=this.getProps();if(C&&!N&&(this.openDragLock&&this.openDragLock(),this.openDragLock=rx(C),!this.openDragLock))return;this.latestPointerEvent=v,this.latestPanInfo=w,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),bt(I=>{let U=this.getAxisMotionValue(I).get()||0;if(Ht.test(U)){const{projection:B}=this.visualElement;if(B&&B.layout){const b=B.layout.layoutBox[I];b&&(U=rt(b)*(parseFloat(U)/100))}}this.originPoint[I]=U}),D&&ve.update(()=>D(v,w),!1,!0),Ul(this.visualElement,"transform");const{animationState:M}=this.visualElement;M&&M.setActive("whileDrag",!0)},h=(v,w)=>{this.latestPointerEvent=v,this.latestPanInfo=w;const{dragPropagation:C,dragDirectionLock:N,onDirectionLock:D,onDrag:M}=this.getProps();if(!C&&!this.openDragLock)return;const{offset:I}=w;if(N&&this.currentDirection===null){this.currentDirection=Lw(I),this.currentDirection!==null&&D&&D(this.currentDirection);return}this.updateAxis("x",w.point,I),this.updateAxis("y",w.point,I),this.visualElement.render(),M&&ve.update(()=>M(v,w),!1,!0)},g=(v,w)=>{this.latestPointerEvent=v,this.latestPanInfo=w,this.stop(v,w),this.latestPointerEvent=null,this.latestPanInfo=null},x=()=>{const{dragSnapToOrigin:v}=this.getProps();(v||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:y}=this.getProps();this.panSession=new _m(r,{onSessionStart:f,onStart:d,onMove:h,onSessionEnd:g,resumeAnimation:x},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:y,distanceThreshold:a,contextWindow:Im(this.visualElement),element:this.visualElement.current})}stop(r,s){const a=r||this.latestPointerEvent,u=s||this.latestPanInfo,f=this.isDragging;if(this.cancel(),!f||!u||!a)return;const{velocity:d}=u;this.startAnimation(d);const{onDragEnd:h}=this.getProps();h&&ve.postRender(()=>h(a,u))}cancel(){this.isDragging=!1;const{projection:r,animationState:s}=this.visualElement;r&&(r.isAnimationBlocked=!1),this.endPanSession();const{dragPropagation:a}=this.getProps();!a&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),s&&s.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(r,s,a){const{drag:u}=this.getProps();if(!a||!Hs(r,u,this.currentDirection))return;const f=this.getAxisMotionValue(r);let d=this.originPoint[r]+a[r];this.constraints&&this.constraints[r]&&(d=Tw(d,this.constraints[r],this.elastic[r])),f.set(d)}resolveConstraints(){var f;const{dragConstraints:r,dragElastic:s}=this.getProps(),a=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(f=this.visualElement.projection)==null?void 0:f.layout,u=this.constraints;r&&vr(r)?this.constraints||(this.constraints=this.resolveRefConstraints()):r&&a?this.constraints=Cw(a.layoutBox,r):this.constraints=!1,this.elastic=jw(s),u!==this.constraints&&!vr(r)&&a&&this.constraints&&!this.hasMutatedConstraints&&bt(d=>{this.constraints!==!1&&this.getAxisMotionValue(d)&&(this.constraints[d]=Ew(a.layoutBox[d],this.constraints[d]))})}resolveRefConstraints(){const{dragConstraints:r,onMeasureDragConstraints:s}=this.getProps();if(!r||!vr(r))return!1;const a=r.current,{projection:u}=this.visualElement;if(!u||!u.layout)return!1;const f=Lx(a,u.root,this.visualElement.getTransformPagePoint());let d=Pw(u.layout.layoutBox,f);if(s){const h=s(Nx(d));this.hasMutatedConstraints=!!h,h&&(d=sm(h))}return d}startAnimation(r){const{drag:s,dragMomentum:a,dragElastic:u,dragTransition:f,dragSnapToOrigin:d,onDragTransitionEnd:h}=this.getProps(),g=this.constraints||{},x=bt(y=>{if(!Hs(y,s,this.currentDirection))return;let v=g&&g[y]||{};(d===!0||d===y)&&(v={min:0,max:0});const w=u?200:1e6,C=u?40:1e7,N={type:"inertia",velocity:a?r[y]:0,bounceStiffness:w,bounceDamping:C,timeConstant:750,restDelta:1,restSpeed:10,...f,...v};return this.startAxisValueAnimation(y,N)});return Promise.all(x).then(h)}startAxisValueAnimation(r,s){const a=this.getAxisMotionValue(r);return Ul(this.visualElement,r),a.start(yu(r,a,0,s,this.visualElement,!1))}stopAnimation(){bt(r=>this.getAxisMotionValue(r).stop())}getAxisMotionValue(r){const s=`_drag${r.toUpperCase()}`,a=this.visualElement.getProps(),u=a[s];return u||this.visualElement.getValue(r,(a.initial?a.initial[r]:void 0)||0)}snapToCursor(r){bt(s=>{const{drag:a}=this.getProps();if(!Hs(s,a,this.currentDirection))return;const{projection:u}=this.visualElement,f=this.getAxisMotionValue(s);if(u&&u.layout){const{min:d,max:h}=u.layout.layoutBox[s],g=f.get()||0;f.set(r[s]-Ce(d,h,.5)+g)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:r,dragConstraints:s}=this.getProps(),{projection:a}=this.visualElement;if(!vr(s)||!a||!this.constraints)return;this.stopAnimation();const u={x:0,y:0};bt(d=>{const h=this.getAxisMotionValue(d);if(h&&this.constraints!==!1){const g=h.get();u[d]=Aw({min:g,max:g},this.constraints[d])}});const{transformTemplate:f}=this.visualElement.getProps();this.visualElement.current.style.transform=f?f({},""):"none",a.root&&a.root.updateScroll(),a.updateLayout(),this.constraints=!1,this.resolveConstraints(),bt(d=>{if(!Hs(d,r,null))return;const h=this.getAxisMotionValue(d),{min:g,max:x}=this.constraints[d];h.set(Ce(g,x,u[d]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;Nw.set(this.visualElement,this);const r=this.visualElement.current,s=wi(r,"pointerdown",x=>{const{drag:y,dragListener:v=!0}=this.getProps(),w=x.target,C=w!==r&&ux(w);y&&v&&!C&&this.start(x)});let a;const u=()=>{const{dragConstraints:x}=this.getProps();vr(x)&&x.current&&(this.constraints=this.resolveRefConstraints(),a||(a=Dw(r,x.current,()=>this.scalePositionWithinConstraints())))},{projection:f}=this.visualElement,d=f.addEventListener("measure",u);f&&!f.layout&&(f.root&&f.root.updateScroll(),f.updateLayout()),ve.read(u);const h=Ci(window,"resize",()=>this.scalePositionWithinConstraints()),g=f.addEventListener("didUpdate",(({delta:x,hasLayoutChanged:y})=>{this.isDragging&&y&&(bt(v=>{const w=this.getAxisMotionValue(v);w&&(this.originPoint[v]+=x[v].translate,w.set(w.get()+x[v].translate))}),this.visualElement.render())}));return()=>{h(),s(),d(),g&&g(),a&&a()}}getProps(){const r=this.visualElement.getProps(),{drag:s=!1,dragDirectionLock:a=!1,dragPropagation:u=!1,dragConstraints:f=!1,dragElastic:d=ql,dragMomentum:h=!0}=r;return{...r,drag:s,dragDirectionLock:a,dragPropagation:u,dragConstraints:f,dragElastic:d,dragMomentum:h}}}function Yh(n){let r=!0;return()=>{if(r){r=!1;return}n()}}function Dw(n,r,s){const a=th(n,Yh(s)),u=th(r,Yh(s));return()=>{a(),u()}}function Hs(n,r,s){return(r===!0||r===n)&&(s===null||s===n)}function Lw(n,r=10){let s=null;return Math.abs(n.y)>r?s="y":Math.abs(n.x)>r&&(s="x"),s}class Rw extends An{constructor(r){super(r),this.removeGroupControls=Tt,this.removeListeners=Tt,this.controls=new Mw(r)}mount(){const{dragControls:r}=this.node.getProps();r&&(this.removeGroupControls=r.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Tt}update(){const{dragControls:r}=this.node.getProps(),{dragControls:s}=this.node.prevProps||{};r!==s&&(this.removeGroupControls(),r&&(this.removeGroupControls=r.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}const Al=n=>(r,s)=>{n&&ve.update(()=>n(r,s),!1,!0)};class Fw extends An{constructor(){super(...arguments),this.removePointerDownListener=Tt}onPointerDown(r){this.session=new _m(r,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:Im(this.node)})}createPanHandlers(){const{onPanSessionStart:r,onPanStart:s,onPan:a,onPanEnd:u}=this.node.getProps();return{onSessionStart:Al(r),onStart:Al(s),onMove:Al(a),onEnd:(f,d)=>{delete this.session,u&&ve.postRender(()=>u(f,d))}}}mount(){this.removePointerDownListener=wi(this.node.current,"pointerdown",r=>this.onPointerDown(r))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}let El=!1;class Vw extends _.Component{componentDidMount(){const{visualElement:r,layoutGroup:s,switchLayoutGroup:a,layoutId:u}=this.props,{projection:f}=r;f&&(s.group&&s.group.add(f),a&&a.register&&u&&a.register(f),El&&f.root.didUpdate(),f.addEventListener("animationComplete",()=>{this.safeToRemove()}),f.setOptions({...f.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),Zs.hasEverUpdated=!0}getSnapshotBeforeUpdate(r){const{layoutDependency:s,visualElement:a,drag:u,isPresent:f}=this.props,{projection:d}=a;return d&&(d.isPresent=f,r.layoutDependency!==s&&d.setOptions({...d.options,layoutDependency:s}),El=!0,u||r.layoutDependency!==s||s===void 0||r.isPresent!==f?d.willUpdate():this.safeToRemove(),r.isPresent!==f&&(f?d.promote():d.relegate()||ve.postRender(()=>{const h=d.getStack();(!h||!h.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{visualElement:r,layoutAnchor:s}=this.props,{projection:a}=r;a&&(a.options.layoutAnchor=s,a.root.didUpdate(),Su.postRender(()=>{!a.currentAnimation&&a.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:r,layoutGroup:s,switchLayoutGroup:a}=this.props,{projection:u}=r;El=!0,u&&(u.scheduleCheckAfterUnmount(),s&&s.group&&s.group.remove(u),a&&a.deregister&&a.deregister(u))}safeToRemove(){const{safeToRemove:r}=this.props;r&&r()}render(){return null}}function Om(n){const[r,s]=Em(),a=_.useContext(nu);return m.jsx(Vw,{...n,layoutGroup:a,switchLayoutGroup:_.useContext(Fm),isPresent:r,safeToRemove:s})}const Iw={pan:{Feature:Fw},drag:{Feature:Rw,ProjectionNode:Am,MeasureLayout:Om}};function Xh(n,r,s){const{props:a}=n;n.animationState&&a.whileHover&&n.animationState.setActive("whileHover",s==="Start");const u="onHover"+s,f=a[u];f&&ve.postRender(()=>f(r,ji(r)))}class _w extends An{mount(){const{current:r}=this.node;r&&(this.unmount=sx(r,(s,a)=>(Xh(this.node,a,"Start"),u=>Xh(this.node,u,"End"))))}unmount(){}}class zw extends An{constructor(){super(...arguments),this.isActive=!1}onFocus(){let r=!1;try{r=this.node.current.matches(":focus-visible")}catch{r=!0}!r||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Pi(Ci(this.node.current,"focus",()=>this.onFocus()),Ci(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function Qh(n,r,s){const{props:a}=n;if(n.current instanceof HTMLButtonElement&&n.current.disabled)return;n.animationState&&a.whileTap&&n.animationState.setActive("whileTap",s==="Start");const u="onTap"+(s==="End"?"":s),f=a[u];f&&ve.postRender(()=>f(r,ji(r)))}class Ow extends An{mount(){const{current:r}=this.node;if(!r)return;const{globalTapTarget:s,propagate:a}=this.node.props;this.unmount=dx(r,(u,f)=>(Qh(this.node,f,"Start"),(d,{success:h})=>Qh(this.node,d,h?"End":"Cancel")),{useGlobalTarget:s,stopPropagation:(a==null?void 0:a.tap)===!1})}unmount(){}}const Zl=new WeakMap,jl=new WeakMap,Bw=n=>{const r=Zl.get(n.target);r&&r(n)},bw=n=>{n.forEach(Bw)};function Uw({root:n,...r}){const s=n||document;jl.has(s)||jl.set(s,{});const a=jl.get(s),u=JSON.stringify(r);return a[u]||(a[u]=new IntersectionObserver(bw,{root:n,...r})),a[u]}function Ww(n,r,s){const a=Uw(r);return Zl.set(n,s),a.observe(n),()=>{Zl.delete(n),a.unobserve(n)}}const Hw={some:0,all:1};class Gw extends An{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){var g;(g=this.stopObserver)==null||g.call(this);const{viewport:r={}}=this.node.getProps(),{root:s,margin:a,amount:u="some",once:f}=r,d={root:s?s.current:void 0,rootMargin:a,threshold:typeof u=="number"?u:Hw[u]},h=x=>{const{isIntersecting:y}=x;if(this.isInView===y||(this.isInView=y,f&&!y&&this.hasEnteredView))return;y&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",y);const{onViewportEnter:v,onViewportLeave:w}=this.node.getProps(),C=y?v:w;C&&C(x)};this.stopObserver=Ww(this.node.current,d,h)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:r,prevProps:s}=this.node;["amount","margin","root"].some(Kw(r,s))&&this.startObserver()}unmount(){var r;(r=this.stopObserver)==null||r.call(this),this.hasEnteredView=!1,this.isInView=!1}}function Kw({viewport:n={}},{viewport:r={}}={}){return s=>n[s]!==r[s]}const $w={inView:{Feature:Gw},tap:{Feature:Ow},focus:{Feature:zw},hover:{Feature:_w}},Yw={layout:{ProjectionNode:Am,MeasureLayout:Om}},Xw={...vw,...$w,...Iw,...Yw},pe=hw(Xw,pw);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Qw=n=>n.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Bm=(...n)=>n.filter((r,s,a)=>!!r&&r.trim()!==""&&a.indexOf(r)===s).join(" ").trim();/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */var qw={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Zw=_.forwardRef(({color:n="currentColor",size:r=24,strokeWidth:s=2,absoluteStrokeWidth:a,className:u="",children:f,iconNode:d,...h},g)=>_.createElement("svg",{ref:g,...qw,width:r,height:r,stroke:n,strokeWidth:a?Number(s)*24/Number(r):s,className:Bm("lucide",u),...h},[...d.map(([x,y])=>_.createElement(x,y)),...Array.isArray(f)?f:[f]]));/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Ct=(n,r)=>{const s=_.forwardRef(({className:a,...u},f)=>_.createElement(Zw,{ref:f,iconNode:r,className:Bm(`lucide-${Qw(n)}`,a),...u}));return s.displayName=`${n}`,s};/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const bm=Ct("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Jw=Ct("Briefcase",[["path",{d:"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"jecpp"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const kr=Ct("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Um=Ct("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const qh=Ct("Github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Zh=Ct("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const eS=Ct("Layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Wm=Ct("Linkedin",[["path",{d:"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z",key:"c2jq9f"}],["rect",{width:"4",height:"12",x:"2",y:"9",key:"mk3on5"}],["circle",{cx:"4",cy:"4",r:"2",key:"bt5ra8"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Jl=Ct("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const tS=Ct("Phone",[["path",{d:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",key:"foiqr5"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const lo=Ct("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/** * @license lucide-react v0.469.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const eu=Ct("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]),en={name:"VO NGUYEN DANG KHOA",title:"AI CREATIVE LEAD & SOFTWARE DEVELOPER",dob:"19/01/1993",phone:"0398300340",email:"vonguyendangkhoa@gmail.com",location:"Ho Chi Minh City, Vietnam",portfolio:"khoavo.myds.me",github:"git.khoavo.myds.me/vndangkhoa",summary:"Highly accomplished Creative Leader bridging the gap between artistic direction and high-performance software engineering. With over 9+ years managing brand strategies and digital design, I evaluate and execute technology-driven projects from concept to production. Specialized in merging traditional creative direction with cutting-edge generative AI workflows (ComfyUI, FLUX) and full-stack development (Go, React)."},nS=[{period:"12/2012 - 06/2016",school:"RMIT Vietnam",degree:"Bachelor of Multimedia System Design (Graduated with Excellence)"}],rS=[{category:"Creative & AI Tools",items:"Adobe Creative Suite (Ps, Ai, Id, Pr), ComfyUI, Stable Diffusion, FLUX, Ollama, 3D Animation, Motion Graphics"},{category:"Development Stack",items:"React, Next.js, Go (Gin), Rust (Axum), Python (FastAPI), TypeScript, Tailwind CSS"},{category:"Infrastructure",items:"Docker, SQLite, Synology NAS Deployment, HLS Video Streaming"},{category:"Leadership",items:"Cross-Functional Management, Creative Strategy, Technical Mentorship, Process Optimization"}],iS=[{role:"AI Creative Lead",company:"Phibious Viet Nam",period:"06/2024 - Present",highlights:["Manage highly complex, technology-driven creative projects, merging traditional design with advanced generative AI models and data analytics.","Deploy and utilize ComfyUI, Stable Diffusion, FLUX, and local LLMs (Ollama, LM Studio) to augment design workflows and drive overarching agency strategies.","Lead cross-functional collaboration between traditional designers, copywriters, and data analysts to ensure measurable campaign performance.","Optimize internal design processes by integrating advanced image generation pipelines into daily operations.","Train and mentor the broader agency (including interns) on core AI design competencies and prompt engineering."]},{role:"eCOM Design Lead",company:"Procter & Gamble (P&G) Vietnam",period:"09/2023 - 06/2025",highlights:["Spearheaded strategic design concepts and visual strategies for e-commerce, directly impacting consumer engagement and online sales for Hair Care brands.","Managed end-to-end medium-to-large design projects, actively improving internal design processes and ensuring strict corporate standard compliance.","Collaborated globally across functional geographic boundaries and cross-functional teams to deliver cohesive brand stories."]},{role:"ECOM Graphic Designer (ABM)",company:"P&G Viet Nam",period:"11/2020 - 09/2023",highlights:["Built concepts and executed visual strategy across vast consumer touchpoints including packaging, eCommerce, and social media under the Hair Care Packaging Design Studio.","Leveraged hands-on design mastery to craft illustrations and brand expressions that consistently met high commercial demands.","Ensured brand guidelines and directives were embraced consistently and creatively across all regional platforms."]},{role:"Production Creative Lead",company:"Inn Saigon",period:"12/2019 - 11/2020",highlights:["Led the photography and production team, setting the standard for internal branding deliverables (Food, Product, Events).","Managed project budgets, retouching workflows, and cross-team communications to deliver high-volume outcomes.","Conducted frequent feedback sessions to boost performance and facilitate the development of team members."]},{role:"Regional Head of Design",company:"ASIAMARINE",period:"12/2018 - 12/2019",highlights:["Supervised all creation of concepts and layouts across digital/offline marketing for luxury marine sectors.","Managed independent contractors and junior designers, leveraging creative marketing to develop targeted campaigns."]},{role:"Senior Graphic Designer",company:"EMG",period:"12/2017 - 12/2018",highlights:["Created outstanding digital and print designs, managing corporate identity, merchandise, and digital displays.","Assisted with concept proposals to clients including mockup preparations and asset sourcing."]},{role:"Graphic Artist",company:"Le Meridien Saigon",period:"12/2016 - 12/2017",highlights:["Designed and executed all promotional collateral according to strict Le Meridien brand identity guidelines.","Liaised with external suppliers to ensure creative print quality and deadlines were consistently met."]},{role:"Animation Designer",company:"Adidas Group",period:"06/2016 - 12/2016",highlights:["Developed graphics and animations for production environment simulations (Line Balancing, One Pair Flow).","Compiled and edited video infographics for visual training purposes."]}],sS=[{name:"KV-Tube",tech:"Go (Gin), Next.js, SQLite, Docker, HLS.js",desc:"YouTube-like video streaming platform with HLS support, subscriptions, and Synology NAS deployment."},{name:"Spotify Clone",tech:"React, Rust (Axum), YouTube API",desc:"Full-featured music player with real-time lyrics and custom playlists."},{name:"APIx (kv-pix)",tech:"Next.js 14, TypeScript, Prisma",desc:"AI Image Generator powered by multiple providers (Grok, Meta, Whisk)."}],oS=[{name:"Dung Bui",title:"Senior Manager",company:"Adidas Group",contact:"dung.bui@adidas-group.com"},{name:"Wouter Pasman",title:"Graphic Designer",company:"FreshStudio.vn",contact:"0908074383"},{name:"Tran Nhuan Vu",title:"Marketing Mgr",company:"Element Mgmt",contact:"Vu.tran@element.vn"}],Ee={pageContainer:{width:"210mm",padding:"14mm 16mm",background:"#ffffff",fontFamily:"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif",color:"#000000",fontSize:"9pt",lineHeight:"1.5",margin:"0 auto"},header:{borderBottom:"2px solid #000",paddingBottom:"4mm",marginBottom:"4mm"},name:{fontSize:"25pt",fontWeight:900,letterSpacing:"-0.02em",margin:"0 0 4px 0",lineHeight:"1"},title:{fontSize:"11pt",fontWeight:600,color:"#333",margin:"0 0 4mm 0",letterSpacing:"0.05em"},infoGrid:{display:"flex",flexWrap:"wrap",gap:"3mm 8mm",fontSize:"8pt",color:"#444"},sectionTitle:{fontSize:"11pt",fontWeight:800,textTransform:"uppercase",letterSpacing:"0.05em",borderBottom:"1px solid #ccc",paddingBottom:"1.5mm",margin:"5mm 0 3mm 0",color:"#000"},summary:{fontSize:"9pt",lineHeight:"1.5",margin:"0 0 4mm 0",textAlign:"justify"},skillGrid:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"2mm 5mm",marginBottom:"3mm"},experienceItem:{marginBottom:"4mm"},expHeader:{display:"flex",justifyContent:"space-between",alignItems:"baseline",marginBottom:"1.5mm"},expRole:{fontSize:"10pt",fontWeight:700,margin:0},expCompany:{fontWeight:600,color:"#333"},expPeriod:{fontSize:"8pt",color:"#555",fontWeight:600},expList:{margin:"0",paddingLeft:"5mm"},expBullet:{marginBottom:"1mm",textAlign:"justify"},projectItem:{marginBottom:"2.5mm"},projectHeader:{fontWeight:700,fontSize:"9.5pt"},projectTech:{fontSize:"7.5pt",color:"#555",fontFamily:"monospace",marginLeft:"2mm"},refGrid:{display:"flex",justifyContent:"space-between",fontSize:"8pt",marginTop:"2mm"}};function aS(){return m.jsxs("div",{style:Ee.pageContainer,children:[m.jsxs("div",{style:Ee.header,children:[m.jsx("h1",{style:Ee.name,children:en.name}),m.jsx("div",{style:Ee.title,children:en.title}),m.jsxs("div",{style:Ee.infoGrid,children:[m.jsxs("span",{children:[m.jsx("strong",{children:"Email:"})," ",en.email]}),m.jsxs("span",{children:[m.jsx("strong",{children:"Phone:"})," ",en.phone]}),m.jsxs("span",{children:[m.jsx("strong",{children:"Location:"})," ",en.location]}),m.jsxs("span",{children:[m.jsx("strong",{children:"Portfolio:"})," ",en.portfolio]}),m.jsxs("span",{children:[m.jsx("strong",{children:"GitHub:"})," ",en.github]}),m.jsxs("span",{children:[m.jsx("strong",{children:"DOB:"})," ",en.dob]})]})]}),m.jsx("p",{style:Ee.summary,children:en.summary}),m.jsx("h2",{style:Ee.sectionTitle,children:"Core Competencies"}),m.jsx("div",{style:Ee.skillGrid,children:rS.map((n,r)=>m.jsxs("div",{children:[m.jsx("strong",{style:{display:"block",fontSize:"9pt",marginBottom:"1mm"},children:n.category}),m.jsx("span",{style:{fontSize:"8.5pt",color:"#333"},children:n.items})]},r))}),m.jsx("h2",{style:Ee.sectionTitle,children:"Work Experience"}),m.jsx("div",{children:iS.map((n,r)=>m.jsxs("div",{style:Ee.experienceItem,children:[m.jsxs("div",{style:Ee.expHeader,children:[m.jsxs("h3",{style:Ee.expRole,children:[n.role," ",m.jsx("span",{style:{fontWeight:400},children:"at"})," ",m.jsx("span",{style:Ee.expCompany,children:n.company})]}),m.jsx("span",{style:Ee.expPeriod,children:n.period})]}),m.jsx("ul",{style:Ee.expList,children:n.highlights.map((s,a)=>m.jsx("li",{style:Ee.expBullet,children:s},a))})]},r))}),m.jsx("h2",{style:Ee.sectionTitle,children:"Software Engineering Projects"}),m.jsx("div",{children:sS.map((n,r)=>m.jsxs("div",{style:Ee.projectItem,children:[m.jsx("span",{style:Ee.projectHeader,children:n.name}),m.jsxs("span",{style:Ee.projectTech,children:["[",n.tech,"]"]}),m.jsx("span",{style:{display:"block",fontSize:"8.5pt",color:"#333",marginTop:"1mm"},children:n.desc})]},r))}),m.jsx("h2",{style:Ee.sectionTitle,children:"Education"}),m.jsx("div",{style:{marginBottom:"6mm"},children:nS.map((n,r)=>m.jsxs("div",{style:{display:"flex",justifyContent:"space-between"},children:[m.jsx("strong",{children:n.school}),m.jsx("span",{children:n.degree}),m.jsx("span",{style:Ee.expPeriod,children:n.period})]},r))}),m.jsx("h2",{style:Ee.sectionTitle,children:"References"}),m.jsx("div",{style:Ee.refGrid,children:oS.map((n,r)=>m.jsxs("div",{children:[m.jsx("strong",{children:n.name}),m.jsx("br",{}),m.jsxs("span",{style:{color:"#555"},children:[n.title,", ",n.company]}),m.jsx("br",{}),m.jsx("span",{children:n.contact})]},r))})]})}const Ut={name:"Vo Nguyen Dang Khoa",phone:"0398300340",email:"vonguyendangkhoa@gmail.com",location:"Ho Chi Minh City, Vietnam",linkedin:"https://www.linkedin.com/in/khoa-vo-76291236/",portfolio:"https://khoavo.myds.me/"},Bt={title:"AI Creative Lead & Motion Designer",summary:"Visionary Creative Leader with 9+ years of expertise bridging brand strategy, digital design, motion graphics, and cutting-edge generative AI. Currently pioneering AI-augmented creative workflows at Phibious, merging traditional art direction with ComfyUI, Stable Diffusion, and FLUX to redefine what's possible in visual storytelling. Previously led eCommerce design at P&G, shaping digital experiences for millions of consumers across Southeast Asia.",tagline:"Where Design Meets Intelligence",skills:[{category:"AI & Generative Design",items:["ComfyUI","Stable Diffusion","FLUX","Midjourney","RunwayML","Ollama","LM Studio","LoRA Training","ControlNet","IP-Adapter"]},{category:"Design & Creative Tools",items:["Adobe Creative Suite","Figma","After Effects","Premiere Pro","Cinema 4D","Blender","Photoshop","Illustrator","InDesign"]},{category:"Motion & Animation",items:["Motion Graphics","3D Animation","Kinetic Typography","Visual Effects","Character Animation","Storyboarding"]},{category:"Brand & Strategy",items:["Brand Identity","Art Direction","Visual Storytelling","Editorial Design","Packaging Design","Strategic Design"]}],projects:[{id:1,title:"The Language of Poetry & Literature",category:"AI Generated Art",image:"https://portfolio.khoavo.myds.me/wp-content/uploads/2025/08/i2i_1756355661_62547902.png",description:"Exploring the ethereal boundary between reality and imagination through AI-generated visuals. Created with Stable Diffusion, ComfyUI, and custom LoRA training to capture the intangible essence of poetic imagery.",link:"https://portfolio.khoavo.myds.me/2025/08/28/the-language-of-poetry-and-literature/",year:"2025"},{id:2,title:"Delux Perfume – Fineline 2025 Launch",category:"AI Branding & Video",image:"https://portfolio.khoavo.myds.me/wp-content/uploads/2025/08/Delux-Perfume_red.png",description:"End-to-end creative strategy and art direction for premium perfume launch. From AI-generated mood boards and product visuals to cinematic video production, creating a cohesive brand narrative for Southeast Asia market.",link:"https://portfolio.khoavo.myds.me/2025/08/11/giving-art-direction-to-a-brand-a-case-study/",year:"2025"},{id:3,title:"AI Studio Photography",category:"AI-Generated Branding",image:"https://portfolio.khoavo.myds.me/wp-content/uploads/2025/07/img_0317.jpg",description:"Revolutionary approach to professional studio photography using AI. ComfyUI workflows with custom LoRA to generate studio-quality product and portrait images, reducing production costs by 70%.",link:"https://portfolio.khoavo.myds.me/2025/07/27/%F0%9F%A7%A0%F0%9F%93%B8-ai-studio-i-can-do-that-too/",year:"2025"},{id:4,title:"NAVIGATOR – ASIAMARINE Magazine",category:"Editorial Design",image:"https://portfolio.khoavo.myds.me/wp-content/uploads/2020/10/navigator-vol1_page_001.webp",description:"Complete editorial design for Vietnam's premier yacht market publication. Art direction, layout design, and visual storytelling for a luxury marine sector brand reaching high-net-worth readers across Asia.",link:"https://portfolio.khoavo.myds.me/2020/10/20/navigator/",year:"2020"},{id:5,title:"PetroVietnam – PCT Corporate Identity",category:"Brand Identity & 3D",image:"https://portfolio.khoavo.myds.me/wp-content/uploads/2017/04/cip_mockup2.png",description:"Comprehensive corporate identity for PetroVietnam Transportation. 3D vehicle visualization, logo design, stationery system, and POSM materials creating a cohesive national brand presence.",link:"https://portfolio.khoavo.myds.me/2017/04/10/petrovietnam-pct/",year:"2017"},{id:6,title:"Skyxx – Animated Poster Series",category:"Motion Graphics",image:"https://portfolio.khoavo.myds.me/wp-content/uploads/2019/04/aash-3-scaled.jpg",description:"Award-winning weekly animated poster series for entertainment events. Dynamic motion graphics with 3D elements, pushing creative boundaries under tight deadlines while maintaining exceptional quality.",link:"https://portfolio.khoavo.myds.me/2019/02/17/skyxx-poster-animation/",year:"2019"}],experience:[{role:"AI Creative Lead",company:"Phibious Vietnam",period:"2025 - Present",location:"Ho Chi Minh City",highlights:["Spearhead the integration of generative AI (ComfyUI, Stable Diffusion, FLUX) into creative workflows, reducing production time by 50%","Lead cross-functional teams of designers, copywriters, and data analysts to deliver technology-driven creative campaigns","Developed proprietary AI tools for mood boarding, concept visualization, and rapid prototyping","Created AI-augmented design concepts for digital and physical platforms serving Fortune 500 clients"]},{role:"eCommerce Design Lead",company:"Procter & Gamble (P&G)",period:"2020 - 2025",location:"Ho Chi Minh City",highlights:["Led visual strategy for eCommerce platforms across Hair Care category, directly impacting millions of consumers in SEA","Managed end-to-end design projects from concept to execution, aligning with global marketing strategies","Spearheaded the digital transformation of brand assets for omnichannel retail experiences","Mentored junior designers and established design standards adopted across the regional team"]},{role:"Production Creative Lead",company:"INN SaiGon",period:"Dec 2019 - Nov 2020",location:"Ho Chi Minh City",highlights:["Directed photography production for food, product, and event projects with 30+ client accounts","Established comprehensive brand guidelines and visual standards ensuring consistency across deliverables","Optimized post-production workflows, reducing turnaround time by 40%"]},{role:"Regional Head of Design",company:"ASIAMARINE",period:"2018 - 2019",location:"Ho Chi Minh City",highlights:["Led design team creating digital marketing assets, web graphics, and editorial content for luxury yacht brand","Delegated projects to junior designers while maintaining quality control and brand consistency","Collaborated with international teams to localize content for Asian markets"]},{role:"Senior Graphic Designer",company:"EMG - Element Management Group",period:"2017 - 2018",location:"Ho Chi Minh City",highlights:["Created impactful designs for print and digital campaigns for global luxury and lifestyle brands","Expert in photo sourcing, advanced image retouching, and brand identity development","Delivered corporate identity packages for multinational clients"]}],awards:[{title:"Best Digital Campaign",year:"2024",organization:"P&G SEA Digital Awards"},{title:"Outstanding Art Direction",year:"2019",organization:"Vietnam Design Awards"}]},yr={summary:"9-month intensive coding journey from zero to production. Built 5+ deployed applications including video streaming platforms, AI image generators, and music players. Proficient in modern web frameworks, containerization, and cloud deployment. Self-taught developer with a creative background bringing unique problem-solving perspective.",journey:[{month:"MAY '24",title:"The Spark",description:"First deep dive into Next.js. Abandoned manual CSS for Tailwind efficiency."},{month:"JUL '24",title:"First Production App",description:"Built kv-pix AI image generator with multi-provider support (Google Whisk, Meta AI, Grok)."},{month:"SEP '24",title:"Full-Stack Mastery",description:"Created KV-Tube YouTube platform with Go backend + Next.js. Dockerized for Synology NAS."},{month:"NOV '24",title:"The AI Pivot",description:"Fully embraced AI coding. Cursor and v0 became primary development engine."},{month:"DEC '24",title:"Rust Exploration",description:"Built Spotify clone with Rust Axum backend. Advanced system architecture."},{month:"PRESENT",title:"Vibe Ascended",description:"Building complex apps through high-level prompting and intuition."}],skills:{languages:["TypeScript","JavaScript","Go","Rust","Python","HTML/CSS","SQL"],frontend:["React","Next.js","Vite","Tailwind CSS","Shadcn","Framer Motion","Zustand","PWA"],backend:["Node.js","Go (Gin)","Rust (Axum)","Express","REST APIs","WebSocket"],ai:["LLM Integration","Cursor AI","v0","Replit AI","Ollama","Prompt Engineering","Multi-Provider AI APIs"],devops:["Docker","Docker Compose","GitHub Actions","Forgejo CI/CD","Synology NAS","Nginx","SQLite"],tools:["Git","VS Code","Figma","Postman","MongoDB","Prisma","ffmpeg"]},projects:[{name:"KV-Tube",description:"YouTube-like video streaming platform with HLS support, subscriptions, watch history, and PWA. Deployed on Synology NAS via Docker.",tech:["Go (Gin)","Next.js","TypeScript","SQLite","Docker","HLS.js","PWA"],github:"https://git.khoavo.myds.me/vndangkhoa/kv-tube"},{name:"Spotify Clone",description:"Full-featured Spotify-like music player with YouTube Music integration, real-time lyrics, custom playlists, and PWA support.",tech:["React (Vite)","Rust (Axum)","TailwindCSS","YouTube API","PWA"],github:"https://git.khoavo.myds.me/vndangkhoa/spotify-clone"},{name:"kv-pix (APIx)",description:"AI Image Generator powered by Google Whisk, Meta AI, and Grok. Multi-provider support with prompt library and history.",tech:["Next.js 14","TypeScript","Tailwind","Zustand","Docker"],github:"https://git.khoavo.myds.me/vndangkhoa/apix"},{name:"IT CV Portfolio",description:"This terminal-style interactive resume with typing animations and system aesthetics.",tech:["React","Vite","Tailwind","Framer Motion","TypeScript"],github:"https://git.khoavo.myds.me/vndangkhoa/it-cv"},{name:"kv-tiktok-download",description:"Douyin/TikTok video download API with batch processing support.",tech:["Python","FastAPI","yt-dlp"],github:"https://git.khoavo.myds.me/vndangkhoa/kv-tiktok-download"}],experience:[{role:"Creative Technology",company:"Phibious Vietnam",period:"2025 - Present",highlights:["Bridge between creative and technical teams","Develop interactive prototypes and AI-powered tools","Automate creative workflows with custom scripts","Build internal tools for design team productivity"]},{role:"Freelance Developer",company:"Self-Employed",period:"2024 - Present",highlights:["Built 5+ production web applications deployed on cloud and NAS","Integrated AI capabilities (image generation, video processing) into client solutions","Implemented CI/CD pipelines with GitHub/Forgejo Actions","Dockerized applications for easy deployment on various platforms"]}],forgejo:"https://git.khoavo.myds.me/vndangkhoa"},Hm=({size:n=36,vnColor:r="#1A1A1A",dkColor:s="#00FF94",className:a=""})=>m.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",width:n,height:n,fill:"none",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round",className:a,children:[m.jsx("path",{stroke:r,d:"M 15 25 L 30 45 L 45 25"}),m.jsx("path",{stroke:r,d:"M 55 45 L 55 25 L 85 45 L 85 25"}),m.jsx("path",{stroke:s,d:"M 15 55 L 30 55 A 10 10 0 0 1 30 75 L 15 75 Z"}),m.jsx("path",{stroke:s,d:"M 55 55 L 55 75 M 85 55 L 55 65 L 85 75"})]}),lS=({onSelect:n})=>{const[r,s]=_.useState(!1);return m.jsxs(pe.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0,y:-50},className:"fixed inset-0 overflow-hidden bg-[#FAFAFA]",children:[m.jsxs("div",{className:"relative w-full h-full flex flex-col items-center justify-center px-6",children:[m.jsxs("div",{className:"absolute inset-0 z-0",children:[m.jsx("div",{className:"absolute top-[-10%] left-[-10%] w-[40%] h-[40%] rounded-full bg-slate-100 blur-[120px] opacity-60 animate-pulse"}),m.jsx("div",{className:"absolute bottom-[-10%] right-[-10%] w-[40%] h-[40%] rounded-full bg-slate-200 blur-[120px] opacity-60 animate-pulse",style:{animationDelay:"2s"}})]}),m.jsx("div",{className:"absolute inset-0 opacity-[0.03] bg-[linear-gradient(rgba(0,0,0,0.1)_1px,transparent_1px),linear-gradient(90deg,rgba(0,0,0,0.1)_1px,transparent_1px)] bg-[size:60px_60px]"}),m.jsx("div",{className:"relative z-10 max-w-5xl w-full text-center",children:m.jsxs(pe.div,{initial:{y:30,opacity:0},animate:{y:0,opacity:1},transition:{duration:1,ease:[.22,1,.36,1]},children:[m.jsx("div",{className:"overflow-hidden mb-4 py-2 px-4",children:m.jsx(pe.h1,{initial:{y:"100%"},animate:{y:0},transition:{duration:1.2,ease:[.22,1,.36,1],delay:.2},className:"text-[clamp(2rem,6.5vw,7.5rem)] font-serif font-bold text-[#1A1A1A] tracking-tighter leading-tight whitespace-nowrap",style:{textShadow:"0 2px 4px rgba(0,0,0,0.02)"},children:"Vo Nguyen Dang Khoa"})}),m.jsx(pe.p,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.8,delay:.8},className:"text-lg md:text-2xl font-serif text-[#1A1A1A]/70 mb-2 italic",children:"Where Design Meets Intelligence"}),m.jsx(pe.p,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.8,delay:1},className:"text-[10px] font-bold tracking-[0.4em] text-[#1A1A1A]/30 uppercase mb-10 md:mb-12",children:"AI Creative Lead & Motion Designer"}),m.jsxs("button",{onClick:()=>n("creative"),className:"hidden md:inline-flex items-center gap-3 px-10 py-5 bg-[#1A1A1A] text-white text-lg font-medium rounded-full hover:bg-black hover:scale-105 transition-all shadow-2xl border-4 border-transparent hover:border-black/5",children:["Explore Portfolio",m.jsx(pe.div,{animate:{x:[0,5,0]},transition:{repeat:1/0,duration:1.5,ease:"easeInOut"},children:m.jsx(kr,{size:22})})]}),m.jsxs("div",{className:"md:hidden flex flex-col gap-4 mt-8",children:[m.jsxs("button",{onClick:()=>n("creative"),className:"flex items-center justify-between px-6 py-5 bg-[#1A1A1A] text-white font-medium rounded-2xl shadow-xl active:scale-[0.98] transition-transform",children:[m.jsxs("span",{className:"flex items-center gap-3",children:[m.jsx(lo,{size:18})," Creative Portfolio"]}),m.jsx(kr,{size:18})]}),m.jsxs("button",{onClick:()=>n("it"),className:"flex items-center justify-between px-6 py-5 border border-[#1A1A1A]/10 text-[#1A1A1A] font-medium rounded-2xl bg-white/50 backdrop-blur-md shadow-sm active:scale-[0.98] transition-transform",children:[m.jsxs("span",{className:"flex items-center gap-3",children:[m.jsx(eu,{size:18})," Developer Side"]}),m.jsx(kr,{size:18})]}),m.jsx("p",{className:"text-[10px] tracking-widest text-[#999] uppercase mt-2 opacity-60",children:"Select a persona to enter"})]})]})}),m.jsx(pe.div,{initial:{opacity:.5},animate:{opacity:r?0:.5},className:"absolute bottom-12 text-sm text-[#BBB] hidden md:block",children:m.jsxs("span",{className:"flex items-center gap-4",children:[m.jsx("span",{className:"w-12 h-px bg-[#BBB]"}),"Hover right to preview Developer side",m.jsx("span",{className:"w-12 h-px bg-[#BBB]"})]})})]}),m.jsxs(pe.div,{className:"absolute inset-y-0 right-0 w-full md:w-[75%] bg-[#0a0a0a] cursor-pointer hidden md:block z-40 border-l border-[#00FF94]/30",initial:{x:"calc(100% - 60px)"},animate:{x:r?"0%":"calc(100% - 60px)"},transition:{duration:.6,ease:[.22,1,.36,1]},onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),onClick:()=>n("it"),children:[!r&&m.jsx(pe.div,{initial:{opacity:0},animate:{opacity:1},className:"absolute left-0 inset-y-0 w-[60px] flex items-center justify-center pointer-events-none",children:m.jsx("span",{className:"rotate-90 text-[10px] tracking-[0.5em] text-[#00FF94]/40 font-mono whitespace-nowrap",children:"DEVELOPER SIDE // PREVIEW"})}),m.jsx("div",{className:"absolute inset-0 opacity-[0.04] bg-[linear-gradient(rgba(0,255,136,0.1)_1px,transparent_1px),linear-gradient(90deg,rgba(0,255,136,0.1)_1px,transparent_1px)] bg-[size:25px_25px]"}),m.jsx("div",{className:"relative z-10 w-full h-full flex flex-col items-center justify-center px-8",children:m.jsxs("div",{className:"max-w-md text-center",children:[m.jsx(eu,{size:56,className:"text-[#00FF94] mx-auto mb-6"}),m.jsx("h2",{className:"text-4xl md:text-5xl font-bold text-white font-mono mb-2",children:"DEVELOPER"}),m.jsx("p",{className:"text-[#00FF94]/70 font-mono text-sm tracking-[0.3em] mb-8",children:"FULL-STACK & DEVOPS"}),m.jsxs("p",{className:"text-slate-400 font-mono text-base mb-8 leading-relaxed",children:["9-month coding journey.",m.jsx("br",{}),"Built 5+ production applications.",m.jsx("br",{}),"Self-taught with AI-powered development."]}),m.jsxs("button",{className:"inline-flex items-center gap-2 px-8 py-4 border-2 border-[#00FF94]/40 bg-[#00FF94]/10 text-[#00FF94] font-mono text-base rounded-full hover:bg-[#00FF94]/20 transition-colors",children:["Enter Terminal ",m.jsx(kr,{size:18})]}),m.jsxs("div",{className:"mt-10 font-mono text-sm text-[#00FF94]/40 text-left space-y-2",children:[m.jsxs("div",{children:[m.jsx("span",{className:"text-[#00D9FF]",children:"const"}),' stack = ["Go", "Rust", "TS"];']}),m.jsxs("div",{children:[m.jsx("span",{className:"text-[#00D9FF]",children:"const"})," deployed = 5;"]}),m.jsxs("div",{children:[m.jsx("span",{className:"text-[#00D9FF]",children:"const"}),' vibe = "S-Tier";']})]})]})})]}),m.jsx(pe.div,{initial:{opacity:0},animate:{opacity:r?0:1},transition:{duration:.4},className:"absolute top-8 left-6 md:left-8 z-50 text-[10px] md:text-lg",children:m.jsxs("div",{className:"text-[#1A1A1A] font-serif font-bold tracking-widest flex items-center gap-2",children:["KHOA.VO ",m.jsx("span",{className:"w-4 md:w-8 h-px bg-[#1A1A1A]/30"})]})})]})},uS=({onComplete:n})=>{const r=_.useRef(null);return _.useEffect(()=>{const s=window.innerWidth,a=window.innerHeight,u=Math.floor(s/8)+5,f=Math.floor(a/10)+5;let d=0;const h=()=>{d+=.08;let y="";for(let v=0;v1.5?y+="V":C>.8?y+="N":C>.2?y+="D":C>-.2?y+="K":C>-.8?y+="→":C>-1.2?y+="←":C>-1.8?y+="↑":y+="↓"}y+=` `}return y},g=setInterval(()=>{r.current&&(r.current.textContent=h())},50),x=setTimeout(()=>{clearInterval(g),n()},5e3);return()=>{clearInterval(g),clearTimeout(x)}},[n]),m.jsxs(pe.div,{exit:{opacity:0,scale:1.05,filter:"blur(5px)",transition:{duration:.8,ease:[.76,0,.24,1]}},className:"fixed inset-0 z-[200] bg-[#FAFAFA] flex items-center justify-center overflow-hidden",children:[m.jsx("pre",{ref:r,className:"text-[#1A1A1A] font-mono font-bold italic text-[10px] md:text-xs leading-[10px] md:leading-[12px] opacity-30 select-none whitespace-pre transform scale-110",style:{letterSpacing:"0.15em"}}),m.jsxs("button",{onClick:n,className:"absolute bottom-8 right-8 z-[210] flex items-center gap-2 text-[10px] md:text-xs font-bold tracking-[0.2em] uppercase text-[#1A1A1A]/50 hover:text-[#1A1A1A] transition-colors bg-white/80 px-4 py-2 backdrop-blur-sm rounded",children:["Click to Skip ",m.jsx("span",{className:"opacity-50",children:"→"})]})]})},cS=({onComplete:n})=>{const[r,s]=_.useState([]),a=["INIT SYSTEM KHOA.VO...","MOUNTING VIRTUAL DOM [OK]","LOADING REACT ROOT [OK]","ESTABLISHING AI SUBSYSTEMS...","AI SUBSYSTEMS [ONLINE]","BYPASSING SECURITY PROTOCOLS...","ACCESS GRANTED."];return _.useEffect(()=>{let u=0;const f=setInterval(()=>{u[...d,a[u]]),u++):(clearInterval(f),setTimeout(n,500))},180);return()=>clearInterval(f)},[n]),m.jsx(pe.div,{exit:{opacity:0,scale:1.05,filter:"blur(10px)",transition:{duration:.6,ease:"easeIn"}},className:"fixed inset-0 z-[200] bg-[#0a0a0a] text-[#00FF94] font-mono p-6 md:p-12 flex flex-col justify-end pb-24",children:m.jsxs("div",{className:"space-y-2 opacity-80 text-sm md:text-base",children:[r.map((u,f)=>m.jsxs("div",{children:["> ",u]},f)),r.length ▋"})]})})},dS=({onBack:n,onSwitch:r})=>{const[s,a]=_.useState(!0),[u,f]=_.useState(!1),[d,h]=_.useState(null),[g,x]=_.useState([]);_.useEffect(()=>{const v=()=>{f(window.scrollY>400)};return window.addEventListener("scroll",v),()=>window.removeEventListener("scroll",v)},[]);const y=()=>{window.scrollTo({top:0,behavior:"smooth"})};return _.useEffect(()=>{if(s)return;const v=setTimeout(()=>{x(Bt.projects.map(w=>w.id))},500);return()=>clearTimeout(v)},[s]),m.jsxs(m.Fragment,{children:[m.jsx(Tr,{children:s&&m.jsx(uS,{onComplete:()=>a(!1)})}),m.jsxs(pe.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"min-h-screen bg-[#FAFAFA] text-[#1A1A1A]",children:[m.jsx("nav",{className:"fixed top-0 left-0 right-0 z-50 bg-[#FAFAFA]/90 backdrop-blur-sm border-b border-[#1A1A1A]/10",children:m.jsxs("div",{className:"max-w-7xl mx-auto px-4 md:px-6 h-16 flex items-center justify-between",children:[m.jsxs("button",{onClick:n,className:"p-2 flex items-center gap-1.5 text-sm md:text-base text-[#1A1A1A]/60 hover:text-[#1A1A1A] transition-colors",children:[m.jsx(bm,{size:18})," ",m.jsx("span",{className:"hidden md:inline",children:"Back"})]}),m.jsx("div",{className:"flex items-center justify-center",children:m.jsx(Hm,{size:36,vnColor:"#1A1A1A",dkColor:"#00FF94"})}),m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsxs("button",{onClick:()=>window.print(),className:"px-3 py-1.5 text-[10px] md:text-xs font-bold uppercase tracking-widest text-[#1A1A1A] border border-[#1A1A1A] rounded-full hover:bg-[#1A1A1A] hover:text-white transition-colors flex items-center gap-2",children:[m.jsx("span",{className:"hidden md:inline",children:"Download CV"}),m.jsx("span",{className:"md:hidden",children:"CV"})]}),m.jsxs("button",{onClick:r,className:"px-4 py-2 text-[10px] md:text-xs text-white bg-[#1A1A1A] border border-[#1A1A1A] rounded-full hover:bg-transparent hover:text-[#1A1A1A] transition-colors flex items-center gap-2",children:[m.jsx(eu,{size:14})," ",m.jsx("span",{className:"hidden md:inline",children:"IT View"}),m.jsx("span",{className:"md:hidden",children:"IT"})]})]})]})}),m.jsx(Tr,{children:u&&m.jsx(pe.button,{initial:{opacity:0,scale:.8,y:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.8,y:20},onClick:y,className:"fixed bottom-8 right-6 z-50 p-4 bg-[#1A1A1A] text-white rounded-full shadow-2xl md:hidden",children:m.jsx(kr,{size:20,className:"-rotate-90"})})}),m.jsxs("main",{className:"pt-20",children:[m.jsx("section",{className:"max-w-5xl mx-auto px-6 py-24 md:py-32",children:m.jsxs(pe.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},children:[m.jsx("p",{className:"text-xs tracking-[0.3em] text-[#666] uppercase mb-4",children:Bt.title}),m.jsx("h1",{className:"text-5xl md:text-7xl font-serif font-bold leading-tight mb-4",children:Bt.tagline}),m.jsx("p",{className:"text-2xl md:text-3xl font-serif text-[#666] mb-8",children:Ut.name}),m.jsx("p",{className:"text-lg text-[#666] max-w-2xl leading-relaxed",children:Bt.summary}),m.jsxs("div",{className:"flex flex-wrap gap-4 mt-8 text-sm text-[#999]",children:[m.jsxs("span",{className:"flex items-center gap-1",children:[m.jsx(Zh,{size:14})," ",Ut.location]}),m.jsxs("span",{className:"flex items-center gap-1",children:[m.jsx(Jl,{size:14})," ",Ut.email]}),m.jsxs("span",{className:"flex items-center gap-1",children:[m.jsx(tS,{size:14})," ",Ut.phone]})]})]})}),Bt.awards&&Bt.awards.length>0&&m.jsx("section",{className:"max-w-5xl mx-auto px-6 pb-16",children:m.jsx("div",{className:"flex flex-wrap gap-6",children:Bt.awards.map((v,w)=>m.jsxs(pe.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:w*.1},className:"flex items-center gap-3 bg-[#F5F5F5] px-4 py-2 rounded-full",children:[m.jsx(lo,{size:14,className:"text-amber-500"}),m.jsx("span",{className:"text-sm font-medium",children:v.title}),m.jsx("span",{className:"text-xs text-[#999]",children:v.year})]},w))})}),m.jsxs("section",{className:"max-w-7xl mx-auto px-6 py-16",children:[m.jsxs(pe.div,{initial:{opacity:0},whileInView:{opacity:1},viewport:{once:!0},className:"flex items-center gap-4 mb-12",children:[m.jsx(eS,{size:20}),m.jsx("h2",{className:"text-2xl font-serif font-bold",children:"Selected Works"})]}),m.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:Bt.projects.map((v,w)=>m.jsxs(pe.div,{initial:{opacity:0,y:30},animate:{opacity:g.includes(v.id)?1:0,y:g.includes(v.id)?0:30},transition:{duration:.6,delay:w*.1},className:"group cursor-pointer",onClick:()=>h(v),children:[m.jsxs("div",{className:"relative aspect-[4/3] overflow-hidden bg-slate-200 mb-4",children:[m.jsx("img",{src:v.image,alt:v.title,className:"w-full h-full object-cover transition-transform duration-700 group-hover:scale-105"}),m.jsx("div",{className:"absolute inset-0 bg-black/0 group-hover:bg-black/20 transition-colors duration-300"}),m.jsx("span",{className:"absolute top-4 right-4 bg-white/90 px-3 py-1 text-xs font-medium",children:v.year})]}),m.jsx("p",{className:"text-xs tracking-widest text-[#666] uppercase mb-1",children:v.category}),m.jsx("h3",{className:"text-lg font-serif font-semibold group-hover:text-[#666] transition-colors",children:v.title})]},v.id))})]}),m.jsxs("section",{className:"max-w-7xl mx-auto px-6 py-16 bg-[#F5F5F5]",children:[m.jsxs(pe.div,{initial:{opacity:0},whileInView:{opacity:1},viewport:{once:!0},className:"flex items-center gap-4 mb-12",children:[m.jsx(lo,{size:20}),m.jsx("h2",{className:"text-2xl font-serif font-bold",children:"Expertise"})]}),m.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8",children:Bt.skills.map((v,w)=>m.jsxs(pe.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:w*.1},children:[m.jsx("h3",{className:"text-sm font-bold text-[#1A1A1A] mb-4 pb-2 border-b border-[#1A1A1A]/10",children:v.category}),m.jsx("div",{className:"flex flex-wrap gap-2",children:v.items.map(C=>m.jsx("span",{className:"text-xs text-[#666] bg-white px-3 py-1 border border-[#1A1A1A]/10",children:C},C))})]},v.category))})]}),m.jsxs("section",{className:"max-w-5xl mx-auto px-6 py-16",children:[m.jsxs(pe.div,{initial:{opacity:0},whileInView:{opacity:1},viewport:{once:!0},className:"flex items-center gap-4 mb-12",children:[m.jsx(Jw,{size:20}),m.jsx("h2",{className:"text-2xl font-serif font-bold",children:"Professional Journey"})]}),m.jsxs("div",{className:"relative",children:[m.jsx("div",{className:"absolute left-0 top-0 bottom-0 w-px bg-[#1A1A1A]/10"}),m.jsx("div",{className:"space-y-10",children:Bt.experience.map((v,w)=>m.jsxs(pe.div,{initial:{opacity:0,x:-30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{delay:w*.1},className:"relative pl-8",children:[m.jsx("div",{className:"absolute left-[-3px] top-2 w-2 h-2 bg-[#1A1A1A] rounded-full"}),m.jsxs("div",{className:"flex flex-col md:flex-row md:items-start gap-2 md:gap-6 mb-2",children:[m.jsx("div",{className:"text-sm font-medium text-[#1A1A1A] shrink-0",children:v.period}),m.jsxs("div",{children:[m.jsx("h3",{className:"text-xl font-bold text-[#1A1A1A]",children:v.role}),m.jsxs("div",{className:"flex items-center gap-2 text-[#666] mt-1",children:[m.jsx("span",{className:"font-medium",children:v.company}),v.location&&m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"text-[#999]",children:"•"}),m.jsx("span",{className:"text-sm",children:v.location})]})]})]})]}),m.jsx("ul",{className:"text-[#666] space-y-2 mt-3",children:v.highlights.map((C,N)=>m.jsxs("li",{className:"leading-relaxed flex items-start gap-2",children:[m.jsx("span",{className:"w-1.5 h-1.5 bg-[#1A1A1A]/30 rounded-full mt-2 shrink-0"}),m.jsx("span",{children:C})]},N))})]},w))})]})]}),m.jsxs("footer",{className:"max-w-7xl mx-auto px-6 py-16 border-t border-[#1A1A1A]/10",children:[m.jsxs("div",{className:"flex flex-col md:flex-row justify-between items-center gap-8",children:[m.jsxs("div",{children:[m.jsx("h3",{className:"text-2xl font-serif font-bold mb-2",children:"Let's Create Together"}),m.jsx("p",{className:"text-[#666]",children:"Open for creative collaborations and opportunities"})]}),m.jsxs("div",{className:"flex gap-4",children:[m.jsx("a",{href:Ut.linkedin,target:"_blank",rel:"noreferrer",className:"p-3 border border-[#1A1A1A]/20 hover:bg-[#1A1A1A] hover:text-white transition-colors",children:m.jsx(Wm,{size:20})}),m.jsx("a",{href:Ut.email,className:"p-3 border border-[#1A1A1A]/20 hover:bg-[#1A1A1A] hover:text-white transition-colors",children:m.jsx(Jl,{size:20})}),m.jsx("a",{href:Ut.portfolio,target:"_blank",rel:"noreferrer",className:"p-3 border border-[#1A1A1A]/20 hover:bg-[#1A1A1A] hover:text-white transition-colors",children:m.jsx(Zh,{size:20})})]})]}),m.jsxs("p",{className:"text-center text-xs text-[#999] mt-12",children:["© ",new Date().getFullYear()," Vo Nguyen Dang Khoa. All rights reserved."]})]})]}),m.jsx(Tr,{children:d&&m.jsx(pe.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"fixed inset-0 z-[100] flex items-center justify-center bg-black/80 backdrop-blur-sm p-8",onClick:()=>h(null),children:m.jsxs(pe.div,{initial:{scale:.9,y:20},animate:{scale:1,y:0},exit:{scale:.9,y:20},className:"bg-[#FAFAFA] max-w-4xl w-full rounded-lg overflow-hidden",onClick:v=>v.stopPropagation(),children:[m.jsx("img",{src:d.image,alt:d.title,className:"w-full h-64 md:h-96 object-cover"}),m.jsxs("div",{className:"p-8",children:[m.jsx("p",{className:"text-xs tracking-widest text-[#666] uppercase mb-2",children:d.category}),m.jsx("h3",{className:"text-2xl font-serif font-bold mb-4",children:d.title}),m.jsx("p",{className:"text-[#666] mb-6",children:d.description}),m.jsxs("a",{href:d.link,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-2 text-sm font-medium text-[#1A1A1A] border-b border-[#1A1A1A] pb-1 hover:opacity-60",children:["View Project ",m.jsx(Um,{size:14})]})]})]})})})]})]})},fS=({onBack:n,onSwitch:r})=>{const[s,a]=_.useState(!0),[u,f]=_.useState("about"),[d,h]=_.useState(""),[g,x]=_.useState(!1),y=`> whoami Vo Nguyen Dang Khoa AI-Powered Developer 9-month coding journey from zero to production`;_.useEffect(()=>{const w=()=>{x(window.scrollY>400)};return window.addEventListener("scroll",w),()=>window.removeEventListener("scroll",w)},[]);const v=()=>{window.scrollTo({top:0,behavior:"smooth"})};return _.useEffect(()=>{if(s)return;let w=0;const C=setInterval(()=>{wclearInterval(C)},[s]),m.jsxs(m.Fragment,{children:[m.jsx(Tr,{children:s&&m.jsx(cS,{onComplete:()=>a(!1)})}),m.jsxs(pe.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"min-h-screen bg-[#0a0a0a] text-[#00FF94] font-mono",children:[m.jsx(Tr,{children:g&&m.jsx(pe.button,{initial:{opacity:0,scale:.8,y:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.8,y:20},onClick:v,className:"fixed bottom-8 right-6 z-50 p-4 bg-[#00FF94] text-[#0a0a0a] rounded-full shadow-[0_0_20px_rgba(0,255,148,0.3)] md:hidden",children:m.jsx(kr,{size:20,className:"-rotate-90"})})}),m.jsx("nav",{className:"fixed top-0 left-0 right-0 z-50 bg-[#0a0a0a]/90 backdrop-blur-sm border-b border-[#00FF94]/20",children:m.jsxs("div",{className:"max-w-6xl mx-auto px-4 h-14 flex items-center justify-between",children:[m.jsxs("button",{onClick:n,className:"p-2 -ml-2 flex items-center gap-1.5 text-xs text-[#00FF94]/60 hover:text-[#00FF94] transition-colors uppercase",children:[m.jsx(bm,{size:16})," ",m.jsx("span",{className:"hidden md:inline",children:"Exit"})]}),m.jsx("div",{className:"flex items-center justify-center opacity-90 drop-shadow-[0_0_5px_rgba(0,255,148,0.3)]",children:m.jsx(Hm,{size:32,vnColor:"#FFFFFF",dkColor:"#00FF94"})}),m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsxs("button",{onClick:()=>window.print(),className:"px-3 py-1.5 text-[10px] md:text-xs text-[#00FF94] border border-[#00FF94] rounded hover:bg-[#00FF94] hover:text-[#0a0a0a] transition-colors flex items-center gap-1.5 font-bold uppercase",children:[m.jsx("span",{className:"hidden md:inline",children:"Download CV"}),m.jsx("span",{className:"md:hidden",children:"CV"})]}),m.jsxs("button",{onClick:r,className:"px-3 py-1.5 text-[10px] md:text-xs text-[#0a0a0a] bg-[#00FF94] border border-[#00FF94] rounded hover:bg-transparent hover:text-[#00FF94] transition-colors flex items-center gap-1.5 uppercase font-bold",children:[m.jsx(lo,{size:12})," ",m.jsx("span",{className:"hidden md:inline",children:"Design View"}),m.jsx("span",{className:"md:hidden",children:"Design"})]})]})]})}),m.jsx("main",{className:"pt-16",children:m.jsxs("div",{className:"max-w-5xl mx-4 md:mx-auto",children:[m.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 bg-[#111] border border-[#00FF94]/20 border-b-0 rounded-t-lg",children:[m.jsx("div",{className:"w-3 h-3 rounded-full bg-red-500/50"}),m.jsx("div",{className:"w-3 h-3 rounded-full bg-yellow-500/50"}),m.jsx("div",{className:"w-3 h-3 rounded-full bg-green-500/50"}),m.jsx("span",{className:"ml-4 text-xs text-[#00FF94]/50",children:"khoa@portfolio ~"})]}),m.jsxs("div",{className:"border border-[#00FF94]/20 bg-[#0a0a0a] p-6 md:p-8 min-h-[80vh]",children:[m.jsx("div",{className:"flex gap-2 overflow-x-auto pb-4 mb-4 md:mb-8 no-scrollbar touch-pan-x",children:["about","skills","projects","experience"].map(w=>m.jsx("button",{onClick:()=>f(w),className:`px-5 py-3 md:px-4 md:py-2 text-[10px] md:text-xs border transition-colors whitespace-nowrap shrink-0 ${u===w?"border-[#00FF94] bg-[#00FF94]/10 text-[#00FF94]":"border-[#00FF94]/30 text-[#00FF94]/50 hover:text-[#00FF94] hover:border-[#00FF94]/50"}`,children:w.toUpperCase()},w))}),u==="about"&&m.jsxs(pe.div,{initial:{opacity:0},animate:{opacity:1},children:[m.jsx("div",{className:"text-xs text-[#00FF94]/50 mb-4",children:"SYSTEM STARTED..."}),m.jsxs("pre",{className:"text-sm leading-relaxed whitespace-pre-wrap",children:[d,m.jsx("span",{className:"animate-pulse",children:"▋"})]}),m.jsxs("div",{className:"mt-8 pt-8 border-t border-[#00FF94]/20",children:[m.jsx("div",{className:"text-xs text-[#00FF94]/50 mb-2",children:"> echo $JOURNEY"}),m.jsx("div",{className:"space-y-4",children:yr.journey.map((w,C)=>m.jsxs("div",{className:"flex gap-4",children:[m.jsx("span",{className:"text-[#00D9FF] text-xs shrink-0",children:w.month}),m.jsxs("div",{children:[m.jsx("span",{className:"text-white",children:w.title}),m.jsxs("span",{className:"text-[#00FF94]/50",children:[" — ",w.description]})]})]},C))})]}),m.jsxs("div",{className:"mt-8 pt-8 border-t border-[#00FF94]/20",children:[m.jsx("div",{className:"text-xs text-[#00FF94]/50 mb-4",children:"> cat summary.txt"}),m.jsx("p",{className:"text-sm text-slate-300 leading-relaxed max-w-xl",children:yr.summary})]})]}),u==="skills"&&m.jsx(pe.div,{initial:{opacity:0},animate:{opacity:1},children:Object.entries(yr.skills).map(([w,C])=>m.jsxs("div",{className:"mb-6",children:[m.jsx("div",{className:"text-xs text-[#00D9FF] mb-2 uppercase tracking-wider",children:w}),m.jsx("div",{className:"flex flex-wrap gap-2",children:C.map((N,D)=>m.jsx("span",{className:"text-sm border border-[#00FF94]/30 px-3 py-1 bg-[#00FF94]/5",children:N},D))})]},w))}),u==="projects"&&m.jsx(pe.div,{initial:{opacity:0},animate:{opacity:1},children:m.jsx("div",{className:"space-y-6",children:yr.projects.map((w,C)=>m.jsxs("div",{className:"border border-[#00FF94]/20 p-4 hover:border-[#00FF94]/40 transition-colors",children:[m.jsxs("div",{className:"flex items-center justify-between mb-2",children:[m.jsx("span",{className:"text-white font-bold",children:w.name}),m.jsxs("div",{className:"flex gap-2",children:[w.demo&&m.jsx("a",{href:w.demo,target:"_blank",rel:"noreferrer",className:"text-[#00D9FF] hover:text-[#00FF94]",title:"Live Demo",children:m.jsx(Um,{size:16})}),m.jsx("a",{href:w.github,target:"_blank",rel:"noreferrer",className:"text-[#00FF94] hover:text-[#00D9FF]",children:m.jsx(qh,{size:16})})]})]}),m.jsx("p",{className:"text-sm text-slate-400 mb-3",children:w.description}),m.jsx("div",{className:"flex flex-wrap gap-2",children:w.tech.map((N,D)=>m.jsx("span",{className:"text-xs bg-[#00FF94]/10 px-2 py-0.5 text-[#00FF94]",children:N},D))})]},C))})}),u==="experience"&&m.jsx(pe.div,{initial:{opacity:0},animate:{opacity:1},children:m.jsx("div",{className:"space-y-6",children:yr.experience.map((w,C)=>m.jsxs("div",{className:"border-l-2 border-[#00FF94] pl-4",children:[m.jsxs("div",{className:"flex justify-between items-start mb-2",children:[m.jsx("span",{className:"text-white font-bold",children:w.role}),m.jsx("span",{className:"text-xs text-[#00FF94]/50",children:w.period})]}),m.jsx("div",{className:"text-sm text-[#00D9FF] mb-2",children:w.company}),m.jsx("ul",{className:"text-sm text-slate-400 space-y-1",children:w.highlights.map((N,D)=>m.jsxs("li",{children:["• ",N]},D))})]},C))})}),m.jsxs("div",{className:"mt-12 pt-8 border-t border-[#00FF94]/20",children:[m.jsx("div",{className:"text-xs text-[#00FF94]/50 mb-4",children:"> exit --contact"}),m.jsxs("div",{className:"flex flex-wrap gap-4",children:[m.jsxs("a",{href:`mailto:${Ut.email}`,className:"flex items-center gap-2 text-sm text-slate-300 hover:text-[#00FF94]",children:[m.jsx(Jl,{size:14})," ",Ut.email]}),m.jsxs("a",{href:yr.forgejo,target:"_blank",rel:"noreferrer",className:"flex items-center gap-2 text-sm text-slate-300 hover:text-[#00FF94]",children:[m.jsx(qh,{size:14})," git.khoavo.myds.me/vndangkhoa"]}),m.jsxs("a",{href:Ut.linkedin,target:"_blank",rel:"noreferrer",className:"flex items-center gap-2 text-sm text-slate-300 hover:text-[#00FF94]",children:[m.jsx(Wm,{size:14})," linkedin.com/in/khoa-vo-76291236"]})]})]})]})]})}),m.jsxs("footer",{className:"py-8 text-center text-xs text-[#00FF94]/30",children:["khoa@portfolio:~$ echo ",new Date().getFullYear()," © Vo Nguyen Dang Khoa"]})]})]})};function hS(){const[n,r]=_.useState("landing"),[s,a]=_.useState(!1),u=d=>{r(d)},f=()=>{r("landing")};return m.jsxs(m.Fragment,{children:[m.jsxs(Tr,{mode:"wait",children:[n==="landing"&&m.jsx(lS,{onSelect:u},"landing"),n==="creative"&&m.jsx(dS,{onBack:f,onSwitch:()=>r("it")},"creative"),n==="it"&&m.jsx(fS,{onBack:f,onSwitch:()=>r("creative")},"it")]}),m.jsx("div",{className:"print-portfolio",children:m.jsx(aS,{})})]})}qy.createRoot(document.getElementById("root")).render(m.jsx(Hy.StrictMode,{children:m.jsx(hS,{})}));