diff --git a/dist/assets/index-BmyDbce7.js b/dist/assets/index-BmyDbce7.js new file mode 100644 index 0000000..730db32 --- /dev/null +++ b/dist/assets/index-BmyDbce7.js @@ -0,0 +1,270 @@ +(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))a(l);new MutationObserver(l=>{for(const c of l)if(c.type==="childList")for(const u of c.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&a(u)}).observe(document,{childList:!0,subtree:!0});function i(l){const c={};return l.integrity&&(c.integrity=l.integrity),l.referrerPolicy&&(c.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?c.credentials="include":l.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function a(l){if(l.ep)return;l.ep=!0;const c=i(l);fetch(l.href,c)}})();var sd={exports:{}},qr={};/** + * @license React + * react-jsx-runtime.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Ky;function ZS(){if(Ky)return qr;Ky=1;var n=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function i(a,l,c){var u=null;if(c!==void 0&&(u=""+c),l.key!==void 0&&(u=""+l.key),"key"in l){c={};for(var d in l)d!=="key"&&(c[d]=l[d])}else c=l;return l=c.ref,{$$typeof:n,type:a,key:u,ref:l!==void 0?l:null,props:c}}return qr.Fragment=e,qr.jsx=i,qr.jsxs=i,qr}var Yy;function WS(){return Yy||(Yy=1,sd.exports=ZS()),sd.exports}var g=WS(),id={exports:{}},be={};/** + * @license React + * react.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Xy;function e1(){if(Xy)return be;Xy=1;var n=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),c=Symbol.for("react.consumer"),u=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),v=Symbol.for("react.activity"),x=Symbol.iterator;function _(E){return E===null||typeof E!="object"?null:(E=x&&E[x]||E["@@iterator"],typeof E=="function"?E:null)}var S={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},T=Object.assign,k={};function C(E,P,X){this.props=E,this.context=P,this.refs=k,this.updater=X||S}C.prototype.isReactComponent={},C.prototype.setState=function(E,P){if(typeof E!="object"&&typeof E!="function"&&E!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,E,P,"setState")},C.prototype.forceUpdate=function(E){this.updater.enqueueForceUpdate(this,E,"forceUpdate")};function M(){}M.prototype=C.prototype;function N(E,P,X){this.props=E,this.context=P,this.refs=k,this.updater=X||S}var z=N.prototype=new M;z.constructor=N,T(z,C.prototype),z.isPureReactComponent=!0;var Y=Array.isArray;function Z(){}var F={H:null,A:null,T:null,S:null},G=Object.prototype.hasOwnProperty;function ne(E,P,X){var ee=X.ref;return{$$typeof:n,type:E,key:P,ref:ee!==void 0?ee:null,props:X}}function Q(E,P){return ne(E.type,P,E.props)}function ce(E){return typeof E=="object"&&E!==null&&E.$$typeof===n}function me(E){var P={"=":"=0",":":"=2"};return"$"+E.replace(/[=:]/g,function(X){return P[X]})}var _e=/\/+/g;function Re(E,P){return typeof E=="object"&&E!==null&&E.key!=null?me(""+E.key):P.toString(36)}function Se(E){switch(E.status){case"fulfilled":return E.value;case"rejected":throw E.reason;default:switch(typeof E.status=="string"?E.then(Z,Z):(E.status="pending",E.then(function(P){E.status==="pending"&&(E.status="fulfilled",E.value=P)},function(P){E.status==="pending"&&(E.status="rejected",E.reason=P)})),E.status){case"fulfilled":return E.value;case"rejected":throw E.reason}}throw E}function V(E,P,X,ee,se){var ue=typeof E;(ue==="undefined"||ue==="boolean")&&(E=null);var ve=!1;if(E===null)ve=!0;else switch(ue){case"bigint":case"string":case"number":ve=!0;break;case"object":switch(E.$$typeof){case n:case e:ve=!0;break;case y:return ve=E._init,V(ve(E._payload),P,X,ee,se)}}if(ve)return se=se(E),ve=ee===""?"."+Re(E,0):ee,Y(se)?(X="",ve!=null&&(X=ve.replace(_e,"$&/")+"/"),V(se,P,X,"",function(fn){return fn})):se!=null&&(ce(se)&&(se=Q(se,X+(se.key==null||E&&E.key===se.key?"":(""+se.key).replace(_e,"$&/")+"/")+ve)),P.push(se)),1;ve=0;var Je=ee===""?".":ee+":";if(Y(E))for(var Ye=0;Ye>>1,ae=V[pe];if(0>>1;pel(X,W))eel(se,X)?(V[pe]=se,V[ee]=W,pe=ee):(V[pe]=X,V[P]=W,pe=P);else if(eel(se,W))V[pe]=se,V[ee]=W,pe=ee;else break e}}return K}function l(V,K){var W=V.sortIndex-K.sortIndex;return W!==0?W:V.id-K.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var c=performance;n.unstable_now=function(){return c.now()}}else{var u=Date,d=u.now();n.unstable_now=function(){return u.now()-d}}var m=[],p=[],y=1,v=null,x=3,_=!1,S=!1,T=!1,k=!1,C=typeof setTimeout=="function"?setTimeout:null,M=typeof clearTimeout=="function"?clearTimeout:null,N=typeof setImmediate<"u"?setImmediate:null;function z(V){for(var K=i(p);K!==null;){if(K.callback===null)a(p);else if(K.startTime<=V)a(p),K.sortIndex=K.expirationTime,e(m,K);else break;K=i(p)}}function Y(V){if(T=!1,z(V),!S)if(i(m)!==null)S=!0,Z||(Z=!0,me());else{var K=i(p);K!==null&&Se(Y,K.startTime-V)}}var Z=!1,F=-1,G=5,ne=-1;function Q(){return k?!0:!(n.unstable_now()-neV&&Q());){var pe=v.callback;if(typeof pe=="function"){v.callback=null,x=v.priorityLevel;var ae=pe(v.expirationTime<=V);if(V=n.unstable_now(),typeof ae=="function"){v.callback=ae,z(V),K=!0;break t}v===i(m)&&a(m),z(V)}else a(m);v=i(m)}if(v!==null)K=!0;else{var E=i(p);E!==null&&Se(Y,E.startTime-V),K=!1}}break e}finally{v=null,x=W,_=!1}K=void 0}}finally{K?me():Z=!1}}}var me;if(typeof N=="function")me=function(){N(ce)};else if(typeof MessageChannel<"u"){var _e=new MessageChannel,Re=_e.port2;_e.port1.onmessage=ce,me=function(){Re.postMessage(null)}}else me=function(){C(ce,0)};function Se(V,K){F=C(function(){V(n.unstable_now())},K)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(V){V.callback=null},n.unstable_forceFrameRate=function(V){0>V||125pe?(V.sortIndex=W,e(p,V),i(m)===null&&V===i(p)&&(T?(M(F),F=-1):T=!0,Se(Y,W-pe))):(V.sortIndex=ae,e(m,V),S||_||(S=!0,Z||(Z=!0,me()))),V},n.unstable_shouldYield=Q,n.unstable_wrapCallback=function(V){var K=x;return function(){var W=x;x=K;try{return V.apply(this,arguments)}finally{x=W}}}})(od)),od}var Zy;function n1(){return Zy||(Zy=1,rd.exports=t1()),rd.exports}var ld={exports:{}},zt={};/** + * @license React + * react-dom.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Wy;function s1(){if(Wy)return zt;Wy=1;var n=Tf();function e(m){var p="https://react.dev/errors/"+m;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),ld.exports=s1(),ld.exports}/** + * @license React + * react-dom-client.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var t0;function a1(){if(t0)return Fr;t0=1;var n=n1(),e=Tf(),i=i1();function a(t){var s="https://react.dev/errors/"+t;if(1ae||(t.current=pe[ae],pe[ae]=null,ae--)}function X(t,s){ae++,pe[ae]=t.current,t.current=s}var ee=E(null),se=E(null),ue=E(null),ve=E(null);function Je(t,s){switch(X(ue,s),X(se,t),X(ee,null),s.nodeType){case 9:case 11:t=(t=s.documentElement)&&(t=t.namespaceURI)?gy(t):0;break;default:if(t=s.tagName,s=s.namespaceURI)s=gy(s),t=yy(s,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}P(ee),X(ee,t)}function Ye(){P(ee),P(se),P(ue)}function fn(t){t.memoizedState!==null&&X(ve,t);var s=ee.current,r=yy(s,t.type);s!==r&&(X(se,t),X(ee,r))}function As(t){se.current===t&&(P(ee),P(se)),ve.current===t&&(P(ve),Vr._currentValue=W)}var ts,oi;function J(t){if(ts===void 0)try{throw Error()}catch(r){var s=r.stack.trim().match(/\n( *(at )?)/);ts=s&&s[1]||"",oi=-1)":-1h||A[o]!==U[h]){var $=` +`+A[o].replace(" at new "," at ");return t.displayName&&$.includes("")&&($=$.replace("",t.displayName)),$}while(1<=o&&0<=h);break}}}finally{je=!1,Error.prepareStackTrace=r}return(r=t?t.displayName||t.name:"")?J(r):""}function Ne(t,s){switch(t.tag){case 26:case 27:case 5:return J(t.type);case 16:return J("Lazy");case 13:return t.child!==s&&s!==null?J("Suspense Fallback"):J("Suspense");case 19:return J("SuspenseList");case 0:case 15:return Oe(t.type,!1);case 11:return Oe(t.type.render,!1);case 1:return Oe(t.type,!0);case 31:return J("Activity");default:return""}}function ct(t){try{var s="",r=null;do s+=Ne(t,r),r=t,t=t.return;while(t);return s}catch(o){return` +Error generating stack: `+o.message+` +`+o.stack}}var vt=Object.prototype.hasOwnProperty,Pt=n.unstable_scheduleCallback,et=n.unstable_cancelCallback,Ht=n.unstable_shouldYield,Hn=n.unstable_requestPaint,At=n.unstable_now,js=n.unstable_getCurrentPriorityLevel,Gt=n.unstable_ImmediatePriority,tn=n.unstable_UserBlockingPriority,mn=n.unstable_NormalPriority,Ut=n.unstable_LowPriority,Ns=n.unstable_IdlePriority,zi=n.log,xt=n.unstable_setDisableYieldValue,ks=null,Lt=null;function Nn(t){if(typeof zi=="function"&&xt(t),Lt&&typeof Lt.setStrictMode=="function")try{Lt.setStrictMode(ks,t)}catch{}}var wt=Math.clz32?Math.clz32:Kc,ko=Math.log,Gc=Math.LN2;function Kc(t){return t>>>=0,t===0?32:31-(ko(t)/Gc|0)|0}var Vi=256,Pi=262144,Hi=4194304;function ns(t){var s=t&42;if(s!==0)return s;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function li(t,s,r){var o=t.pendingLanes;if(o===0)return 0;var h=0,f=t.suspendedLanes,b=t.pingedLanes;t=t.warmLanes;var w=o&134217727;return w!==0?(o=w&~f,o!==0?h=ns(o):(b&=w,b!==0?h=ns(b):r||(r=w&~t,r!==0&&(h=ns(r))))):(w=o&~f,w!==0?h=ns(w):b!==0?h=ns(b):r||(r=o&~t,r!==0&&(h=ns(r)))),h===0?0:s!==0&&s!==h&&(s&f)===0&&(f=h&-h,r=s&-s,f>=r||f===32&&(r&4194048)!==0)?s:h}function ci(t,s){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&s)===0}function Yc(t,s){switch(t){case 1:case 2:case 4:case 8:case 64:return s+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return s+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Wa(){var t=Hi;return Hi<<=1,(Hi&62914560)===0&&(Hi=4194304),t}function er(t){for(var s=[],r=0;31>r;r++)s.push(t);return s}function ui(t,s){t.pendingLanes|=s,s!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function Xc(t,s,r,o,h,f){var b=t.pendingLanes;t.pendingLanes=r,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=r,t.entangledLanes&=r,t.errorRecoveryDisabledLanes&=r,t.shellSuspendCounter=0;var w=t.entanglements,A=t.expirationTimes,U=t.hiddenUpdates;for(r=b&~r;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Gw=/[\n"\\]/g;function gn(t){return t.replace(Gw,function(s){return"\\"+s.charCodeAt(0).toString(16)+" "})}function Qc(t,s,r,o,h,f,b,w){t.name="",b!=null&&typeof b!="function"&&typeof b!="symbol"&&typeof b!="boolean"?t.type=b:t.removeAttribute("type"),s!=null?b==="number"?(s===0&&t.value===""||t.value!=s)&&(t.value=""+pn(s)):t.value!==""+pn(s)&&(t.value=""+pn(s)):b!=="submit"&&b!=="reset"||t.removeAttribute("value"),s!=null?Zc(t,b,pn(s)):r!=null?Zc(t,b,pn(r)):o!=null&&t.removeAttribute("value"),h==null&&f!=null&&(t.defaultChecked=!!f),h!=null&&(t.checked=h&&typeof h!="function"&&typeof h!="symbol"),w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"?t.name=""+pn(w):t.removeAttribute("name")}function um(t,s,r,o,h,f,b,w){if(f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"&&(t.type=f),s!=null||r!=null){if(!(f!=="submit"&&f!=="reset"||s!=null)){Jc(t);return}r=r!=null?""+pn(r):"",s=s!=null?""+pn(s):r,w||s===t.value||(t.value=s),t.defaultValue=s}o=o??h,o=typeof o!="function"&&typeof o!="symbol"&&!!o,t.checked=w?t.checked:!!o,t.defaultChecked=!!o,b!=null&&typeof b!="function"&&typeof b!="symbol"&&typeof b!="boolean"&&(t.name=b),Jc(t)}function Zc(t,s,r){s==="number"&&Bo(t.ownerDocument)===t||t.defaultValue===""+r||(t.defaultValue=""+r)}function Ki(t,s,r,o){if(t=t.options,s){s={};for(var h=0;h"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),su=!1;if(as)try{var sr={};Object.defineProperty(sr,"passive",{get:function(){su=!0}}),window.addEventListener("test",sr,sr),window.removeEventListener("test",sr,sr)}catch{su=!1}var Cs=null,iu=null,Lo=null;function ym(){if(Lo)return Lo;var t,s=iu,r=s.length,o,h="value"in Cs?Cs.value:Cs.textContent,f=h.length;for(t=0;t=rr),Sm=" ",Tm=!1;function Em(t,s){switch(t){case"keyup":return x_.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Am(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Qi=!1;function __(t,s){switch(t){case"compositionend":return Am(s);case"keypress":return s.which!==32?null:(Tm=!0,Sm);case"textInput":return t=s.data,t===Sm&&Tm?null:t;default:return null}}function S_(t,s){if(Qi)return t==="compositionend"||!cu&&Em(t,s)?(t=ym(),Lo=iu=Cs=null,Qi=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:r,offset:s-t};t=o}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=Mm(r)}}function Um(t,s){return t&&s?t===s?!0:t&&t.nodeType===3?!1:s&&s.nodeType===3?Um(t,s.parentNode):"contains"in t?t.contains(s):t.compareDocumentPosition?!!(t.compareDocumentPosition(s)&16):!1:!1}function Lm(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var s=Bo(t.document);s instanceof t.HTMLIFrameElement;){try{var r=typeof s.contentWindow.location.href=="string"}catch{r=!1}if(r)t=s.contentWindow;else break;s=Bo(t.document)}return s}function du(t){var s=t&&t.nodeName&&t.nodeName.toLowerCase();return s&&(s==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||s==="textarea"||t.contentEditable==="true")}var R_=as&&"documentMode"in document&&11>=document.documentMode,Zi=null,fu=null,ur=null,mu=!1;function zm(t,s,r){var o=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;mu||Zi==null||Zi!==Bo(o)||(o=Zi,"selectionStart"in o&&du(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}),ur&&cr(ur,o)||(ur=o,o=Cl(fu,"onSelect"),0>=b,h-=b,$n=1<<32-wt(s)+h|r<we?(Ce=he,he=null):Ce=he.sibling;var Be=L(O,he,B[we],q);if(Be===null){he===null&&(he=Ce);break}t&&he&&Be.alternate===null&&s(O,he),j=f(Be,j,we),Me===null?fe=Be:Me.sibling=Be,Me=Be,he=Ce}if(we===B.length)return r(O,he),De&&os(O,we),fe;if(he===null){for(;wewe?(Ce=he,he=null):Ce=he.sibling;var Zs=L(O,he,Be.value,q);if(Zs===null){he===null&&(he=Ce);break}t&&he&&Zs.alternate===null&&s(O,he),j=f(Zs,j,we),Me===null?fe=Zs:Me.sibling=Zs,Me=Zs,he=Ce}if(Be.done)return r(O,he),De&&os(O,we),fe;if(he===null){for(;!Be.done;we++,Be=B.next())Be=I(O,Be.value,q),Be!==null&&(j=f(Be,j,we),Me===null?fe=Be:Me.sibling=Be,Me=Be);return De&&os(O,we),fe}for(he=o(he);!Be.done;we++,Be=B.next())Be=H(he,O,we,Be.value,q),Be!==null&&(t&&Be.alternate!==null&&he.delete(Be.key===null?we:Be.key),j=f(Be,j,we),Me===null?fe=Be:Me.sibling=Be,Me=Be);return t&&he.forEach(function(QS){return s(O,QS)}),De&&os(O,we),fe}function qe(O,j,B,q){if(typeof B=="object"&&B!==null&&B.type===T&&B.key===null&&(B=B.props.children),typeof B=="object"&&B!==null){switch(B.$$typeof){case _:e:{for(var fe=B.key;j!==null;){if(j.key===fe){if(fe=B.type,fe===T){if(j.tag===7){r(O,j.sibling),q=h(j,B.props.children),q.return=O,O=q;break e}}else if(j.elementType===fe||typeof fe=="object"&&fe!==null&&fe.$$typeof===G&&wi(fe)===j.type){r(O,j.sibling),q=h(j,B.props),gr(q,B),q.return=O,O=q;break e}r(O,j);break}else s(O,j);j=j.sibling}B.type===T?(q=gi(B.props.children,O.mode,q,B.key),q.return=O,O=q):(q=Ko(B.type,B.key,B.props,null,O.mode,q),gr(q,B),q.return=O,O=q)}return b(O);case S:e:{for(fe=B.key;j!==null;){if(j.key===fe)if(j.tag===4&&j.stateNode.containerInfo===B.containerInfo&&j.stateNode.implementation===B.implementation){r(O,j.sibling),q=h(j,B.children||[]),q.return=O,O=q;break e}else{r(O,j);break}else s(O,j);j=j.sibling}q=wu(B,O.mode,q),q.return=O,O=q}return b(O);case G:return B=wi(B),qe(O,j,B,q)}if(Se(B))return re(O,j,B,q);if(me(B)){if(fe=me(B),typeof fe!="function")throw Error(a(150));return B=fe.call(B),ye(O,j,B,q)}if(typeof B.then=="function")return qe(O,j,el(B),q);if(B.$$typeof===N)return qe(O,j,Jo(O,B),q);tl(O,B)}return typeof B=="string"&&B!==""||typeof B=="number"||typeof B=="bigint"?(B=""+B,j!==null&&j.tag===6?(r(O,j.sibling),q=h(j,B),q.return=O,O=q):(r(O,j),q=xu(B,O.mode,q),q.return=O,O=q),b(O)):r(O,j)}return function(O,j,B,q){try{pr=0;var fe=qe(O,j,B,q);return ca=null,fe}catch(he){if(he===la||he===Zo)throw he;var Me=sn(29,he,null,O.mode);return Me.lanes=q,Me.return=O,Me}finally{}}}var Si=op(!0),lp=op(!1),Bs=!1;function Du(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Mu(t,s){t=t.updateQueue,s.updateQueue===t&&(s.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Us(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Ls(t,s,r){var o=t.updateQueue;if(o===null)return null;if(o=o.shared,(Le&2)!==0){var h=o.pending;return h===null?s.next=s:(s.next=h.next,h.next=s),o.pending=s,s=Go(t),Im(t,null,r),s}return Io(t,o,s,r),Go(t)}function yr(t,s,r){if(s=s.updateQueue,s!==null&&(s=s.shared,(r&4194048)!==0)){var o=s.lanes;o&=t.pendingLanes,r|=o,s.lanes=r,Ro(t,r)}}function Bu(t,s){var r=t.updateQueue,o=t.alternate;if(o!==null&&(o=o.updateQueue,r===o)){var h=null,f=null;if(r=r.firstBaseUpdate,r!==null){do{var b={lane:r.lane,tag:r.tag,payload:r.payload,callback:null,next:null};f===null?h=f=b:f=f.next=b,r=r.next}while(r!==null);f===null?h=f=s:f=f.next=s}else h=f=s;r={baseState:o.baseState,firstBaseUpdate:h,lastBaseUpdate:f,shared:o.shared,callbacks:o.callbacks},t.updateQueue=r;return}t=r.lastBaseUpdate,t===null?r.firstBaseUpdate=s:t.next=s,r.lastBaseUpdate=s}var Uu=!1;function br(){if(Uu){var t=oa;if(t!==null)throw t}}function vr(t,s,r,o){Uu=!1;var h=t.updateQueue;Bs=!1;var f=h.firstBaseUpdate,b=h.lastBaseUpdate,w=h.shared.pending;if(w!==null){h.shared.pending=null;var A=w,U=A.next;A.next=null,b===null?f=U:b.next=U,b=A;var $=t.alternate;$!==null&&($=$.updateQueue,w=$.lastBaseUpdate,w!==b&&(w===null?$.firstBaseUpdate=U:w.next=U,$.lastBaseUpdate=A))}if(f!==null){var I=h.baseState;b=0,$=U=A=null,w=f;do{var L=w.lane&-536870913,H=L!==w.lane;if(H?(ke&L)===L:(o&L)===L){L!==0&&L===ra&&(Uu=!0),$!==null&&($=$.next={lane:0,tag:w.tag,payload:w.payload,callback:null,next:null});e:{var re=t,ye=w;L=s;var qe=r;switch(ye.tag){case 1:if(re=ye.payload,typeof re=="function"){I=re.call(qe,I,L);break e}I=re;break e;case 3:re.flags=re.flags&-65537|128;case 0:if(re=ye.payload,L=typeof re=="function"?re.call(qe,I,L):re,L==null)break e;I=v({},I,L);break e;case 2:Bs=!0}}L=w.callback,L!==null&&(t.flags|=64,H&&(t.flags|=8192),H=h.callbacks,H===null?h.callbacks=[L]:H.push(L))}else H={lane:L,tag:w.tag,payload:w.payload,callback:w.callback,next:null},$===null?(U=$=H,A=I):$=$.next=H,b|=L;if(w=w.next,w===null){if(w=h.shared.pending,w===null)break;H=w,w=H.next,H.next=null,h.lastBaseUpdate=H,h.shared.pending=null}}while(!0);$===null&&(A=I),h.baseState=A,h.firstBaseUpdate=U,h.lastBaseUpdate=$,f===null&&(h.shared.lanes=0),$s|=b,t.lanes=b,t.memoizedState=I}}function cp(t,s){if(typeof t!="function")throw Error(a(191,t));t.call(s)}function up(t,s){var r=t.callbacks;if(r!==null)for(t.callbacks=null,t=0;tf?f:8;var b=V.T,w={};V.T=w,th(t,!1,s,r);try{var A=h(),U=V.S;if(U!==null&&U(w,A),A!==null&&typeof A=="object"&&typeof A.then=="function"){var $=P_(A,o);_r(t,s,$,cn(t))}else _r(t,s,o,cn(t))}catch(I){_r(t,s,{then:function(){},status:"rejected",reason:I},cn())}finally{K.p=f,b!==null&&w.types!==null&&(b.types=w.types),V.T=b}}function G_(){}function Wu(t,s,r,o){if(t.tag!==5)throw Error(a(476));var h=$p(t).queue;Hp(t,h,s,W,r===null?G_:function(){return qp(t),r(o)})}function $p(t){var s=t.memoizedState;if(s!==null)return s;s={memoizedState:W,baseState:W,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:hs,lastRenderedState:W},next:null};var r={};return s.next={memoizedState:r,baseState:r,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:hs,lastRenderedState:r},next:null},t.memoizedState=s,t=t.alternate,t!==null&&(t.memoizedState=s),s}function qp(t){var s=$p(t);s.next===null&&(s=t.alternate.memoizedState),_r(t,s.next.queue,{},cn())}function eh(){return Rt(Vr)}function Fp(){return ht().memoizedState}function Ip(){return ht().memoizedState}function K_(t){for(var s=t.return;s!==null;){switch(s.tag){case 24:case 3:var r=cn();t=Us(r);var o=Ls(s,t,r);o!==null&&(Wt(o,s,r),yr(o,s,r)),s={cache:ku()},t.payload=s;return}s=s.return}}function Y_(t,s,r){var o=cn();r={lane:o,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},hl(t)?Kp(s,r):(r=bu(t,s,r,o),r!==null&&(Wt(r,t,o),Yp(r,s,o)))}function Gp(t,s,r){var o=cn();_r(t,s,r,o)}function _r(t,s,r,o){var h={lane:o,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null};if(hl(t))Kp(s,h);else{var f=t.alternate;if(t.lanes===0&&(f===null||f.lanes===0)&&(f=s.lastRenderedReducer,f!==null))try{var b=s.lastRenderedState,w=f(b,r);if(h.hasEagerState=!0,h.eagerState=w,nn(w,b))return Io(t,s,h,0),Ie===null&&Fo(),!1}catch{}finally{}if(r=bu(t,s,h,o),r!==null)return Wt(r,t,o),Yp(r,s,o),!0}return!1}function th(t,s,r,o){if(o={lane:2,revertLane:Dh(),gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null},hl(t)){if(s)throw Error(a(479))}else s=bu(t,r,o,2),s!==null&&Wt(s,t,2)}function hl(t){var s=t.alternate;return t===xe||s!==null&&s===xe}function Kp(t,s){ha=il=!0;var r=t.pending;r===null?s.next=s:(s.next=r.next,r.next=s),t.pending=s}function Yp(t,s,r){if((r&4194048)!==0){var o=s.lanes;o&=t.pendingLanes,r|=o,s.lanes=r,Ro(t,r)}}var Sr={readContext:Rt,use:ol,useCallback:it,useContext:it,useEffect:it,useImperativeHandle:it,useLayoutEffect:it,useInsertionEffect:it,useMemo:it,useReducer:it,useRef:it,useState:it,useDebugValue:it,useDeferredValue:it,useTransition:it,useSyncExternalStore:it,useId:it,useHostTransitionStatus:it,useFormState:it,useActionState:it,useOptimistic:it,useMemoCache:it,useCacheRefresh:it};Sr.useEffectEvent=it;var Xp={readContext:Rt,use:ol,useCallback:function(t,s){return qt().memoizedState=[t,s===void 0?null:s],t},useContext:Rt,useEffect:Op,useImperativeHandle:function(t,s,r){r=r!=null?r.concat([t]):null,cl(4194308,4,Up.bind(null,s,t),r)},useLayoutEffect:function(t,s){return cl(4194308,4,t,s)},useInsertionEffect:function(t,s){cl(4,2,t,s)},useMemo:function(t,s){var r=qt();s=s===void 0?null:s;var o=t();if(Ti){Nn(!0);try{t()}finally{Nn(!1)}}return r.memoizedState=[o,s],o},useReducer:function(t,s,r){var o=qt();if(r!==void 0){var h=r(s);if(Ti){Nn(!0);try{r(s)}finally{Nn(!1)}}}else h=s;return o.memoizedState=o.baseState=h,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:h},o.queue=t,t=t.dispatch=Y_.bind(null,xe,t),[o.memoizedState,t]},useRef:function(t){var s=qt();return t={current:t},s.memoizedState=t},useState:function(t){t=Yu(t);var s=t.queue,r=Gp.bind(null,xe,s);return s.dispatch=r,[t.memoizedState,r]},useDebugValue:Qu,useDeferredValue:function(t,s){var r=qt();return Zu(r,t,s)},useTransition:function(){var t=Yu(!1);return t=Hp.bind(null,xe,t.queue,!0,!1),qt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,s,r){var o=xe,h=qt();if(De){if(r===void 0)throw Error(a(407));r=r()}else{if(r=s(),Ie===null)throw Error(a(349));(ke&127)!==0||gp(o,s,r)}h.memoizedState=r;var f={value:r,getSnapshot:s};return h.queue=f,Op(bp.bind(null,o,f,t),[t]),o.flags|=2048,fa(9,{destroy:void 0},yp.bind(null,o,f,r,s),null),r},useId:function(){var t=qt(),s=Ie.identifierPrefix;if(De){var r=qn,o=$n;r=(o&~(1<<32-wt(o)-1)).toString(32)+r,s="_"+s+"R_"+r,r=al++,0<\/script>",f=f.removeChild(f.firstChild);break;case"select":f=typeof o.is=="string"?b.createElement("select",{is:o.is}):b.createElement("select"),o.multiple?f.multiple=!0:o.size&&(f.size=o.size);break;default:f=typeof o.is=="string"?b.createElement(h,{is:o.is}):b.createElement(h)}}f[Te]=s,f[tt]=o;e:for(b=s.child;b!==null;){if(b.tag===5||b.tag===6)f.appendChild(b.stateNode);else if(b.tag!==4&&b.tag!==27&&b.child!==null){b.child.return=b,b=b.child;continue}if(b===s)break e;for(;b.sibling===null;){if(b.return===null||b.return===s)break e;b=b.return}b.sibling.return=b.return,b=b.sibling}s.stateNode=f;e:switch(Dt(f,h,o),h){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break e;case"img":o=!0;break e;default:o=!1}o&&fs(s)}}return We(s),ph(s,s.type,t===null?null:t.memoizedProps,s.pendingProps,r),null;case 6:if(t&&s.stateNode!=null)t.memoizedProps!==o&&fs(s);else{if(typeof o!="string"&&s.stateNode===null)throw Error(a(166));if(t=ue.current,ia(s)){if(t=s.stateNode,r=s.memoizedProps,o=null,h=Ct,h!==null)switch(h.tag){case 27:case 5:o=h.memoizedProps}t[Te]=s,t=!!(t.nodeValue===r||o!==null&&o.suppressHydrationWarning===!0||my(t.nodeValue,r)),t||Ds(s,!0)}else t=Rl(t).createTextNode(o),t[Te]=s,s.stateNode=t}return We(s),null;case 31:if(r=s.memoizedState,t===null||t.memoizedState!==null){if(o=ia(s),r!==null){if(t===null){if(!o)throw Error(a(318));if(t=s.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(a(557));t[Te]=s}else yi(),(s.flags&128)===0&&(s.memoizedState=null),s.flags|=4;We(s),t=!1}else r=Eu(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=r),t=!0;if(!t)return s.flags&256?(rn(s),s):(rn(s),null);if((s.flags&128)!==0)throw Error(a(558))}return We(s),null;case 13:if(o=s.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(h=ia(s),o!==null&&o.dehydrated!==null){if(t===null){if(!h)throw Error(a(318));if(h=s.memoizedState,h=h!==null?h.dehydrated:null,!h)throw Error(a(317));h[Te]=s}else yi(),(s.flags&128)===0&&(s.memoizedState=null),s.flags|=4;We(s),h=!1}else h=Eu(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=h),h=!0;if(!h)return s.flags&256?(rn(s),s):(rn(s),null)}return rn(s),(s.flags&128)!==0?(s.lanes=r,s):(r=o!==null,t=t!==null&&t.memoizedState!==null,r&&(o=s.child,h=null,o.alternate!==null&&o.alternate.memoizedState!==null&&o.alternate.memoizedState.cachePool!==null&&(h=o.alternate.memoizedState.cachePool.pool),f=null,o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(f=o.memoizedState.cachePool.pool),f!==h&&(o.flags|=2048)),r!==t&&r&&(s.child.flags|=8192),gl(s,s.updateQueue),We(s),null);case 4:return Ye(),t===null&&Lh(s.stateNode.containerInfo),We(s),null;case 10:return cs(s.type),We(s),null;case 19:if(P(ut),o=s.memoizedState,o===null)return We(s),null;if(h=(s.flags&128)!==0,f=o.rendering,f===null)if(h)Er(o,!1);else{if(at!==0||t!==null&&(t.flags&128)!==0)for(t=s.child;t!==null;){if(f=sl(t),f!==null){for(s.flags|=128,Er(o,!1),t=f.updateQueue,s.updateQueue=t,gl(s,t),s.subtreeFlags=0,t=r,r=s.child;r!==null;)Gm(r,t),r=r.sibling;return X(ut,ut.current&1|2),De&&os(s,o.treeForkCount),s.child}t=t.sibling}o.tail!==null&&At()>wl&&(s.flags|=128,h=!0,Er(o,!1),s.lanes=4194304)}else{if(!h)if(t=sl(f),t!==null){if(s.flags|=128,h=!0,t=t.updateQueue,s.updateQueue=t,gl(s,t),Er(o,!0),o.tail===null&&o.tailMode==="hidden"&&!f.alternate&&!De)return We(s),null}else 2*At()-o.renderingStartTime>wl&&r!==536870912&&(s.flags|=128,h=!0,Er(o,!1),s.lanes=4194304);o.isBackwards?(f.sibling=s.child,s.child=f):(t=o.last,t!==null?t.sibling=f:s.child=f,o.last=f)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=At(),t.sibling=null,r=ut.current,X(ut,h?r&1|2:r&1),De&&os(s,o.treeForkCount),t):(We(s),null);case 22:case 23:return rn(s),zu(),o=s.memoizedState!==null,t!==null?t.memoizedState!==null!==o&&(s.flags|=8192):o&&(s.flags|=8192),o?(r&536870912)!==0&&(s.flags&128)===0&&(We(s),s.subtreeFlags&6&&(s.flags|=8192)):We(s),r=s.updateQueue,r!==null&&gl(s,r.retryQueue),r=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),o=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(o=s.memoizedState.cachePool.pool),o!==r&&(s.flags|=2048),t!==null&&P(xi),null;case 24:return r=null,t!==null&&(r=t.memoizedState.cache),s.memoizedState.cache!==r&&(s.flags|=2048),cs(ft),We(s),null;case 25:return null;case 30:return null}throw Error(a(156,s.tag))}function W_(t,s){switch(Su(s),s.tag){case 1:return t=s.flags,t&65536?(s.flags=t&-65537|128,s):null;case 3:return cs(ft),Ye(),t=s.flags,(t&65536)!==0&&(t&128)===0?(s.flags=t&-65537|128,s):null;case 26:case 27:case 5:return As(s),null;case 31:if(s.memoizedState!==null){if(rn(s),s.alternate===null)throw Error(a(340));yi()}return t=s.flags,t&65536?(s.flags=t&-65537|128,s):null;case 13:if(rn(s),t=s.memoizedState,t!==null&&t.dehydrated!==null){if(s.alternate===null)throw Error(a(340));yi()}return t=s.flags,t&65536?(s.flags=t&-65537|128,s):null;case 19:return P(ut),null;case 4:return Ye(),null;case 10:return cs(s.type),null;case 22:case 23:return rn(s),zu(),t!==null&&P(xi),t=s.flags,t&65536?(s.flags=t&-65537|128,s):null;case 24:return cs(ft),null;case 25:return null;default:return null}}function vg(t,s){switch(Su(s),s.tag){case 3:cs(ft),Ye();break;case 26:case 27:case 5:As(s);break;case 4:Ye();break;case 31:s.memoizedState!==null&&rn(s);break;case 13:rn(s);break;case 19:P(ut);break;case 10:cs(s.type);break;case 22:case 23:rn(s),zu(),t!==null&&P(xi);break;case 24:cs(ft)}}function Ar(t,s){try{var r=s.updateQueue,o=r!==null?r.lastEffect:null;if(o!==null){var h=o.next;r=h;do{if((r.tag&t)===t){o=void 0;var f=r.create,b=r.inst;o=f(),b.destroy=o}r=r.next}while(r!==h)}}catch(w){Pe(s,s.return,w)}}function Ps(t,s,r){try{var o=s.updateQueue,h=o!==null?o.lastEffect:null;if(h!==null){var f=h.next;o=f;do{if((o.tag&t)===t){var b=o.inst,w=b.destroy;if(w!==void 0){b.destroy=void 0,h=s;var A=r,U=w;try{U()}catch($){Pe(h,A,$)}}}o=o.next}while(o!==f)}}catch($){Pe(s,s.return,$)}}function xg(t){var s=t.updateQueue;if(s!==null){var r=t.stateNode;try{up(s,r)}catch(o){Pe(t,t.return,o)}}}function wg(t,s,r){r.props=Ei(t.type,t.memoizedProps),r.state=t.memoizedState;try{r.componentWillUnmount()}catch(o){Pe(t,s,o)}}function jr(t,s){try{var r=t.ref;if(r!==null){switch(t.tag){case 26:case 27:case 5:var o=t.stateNode;break;case 30:o=t.stateNode;break;default:o=t.stateNode}typeof r=="function"?t.refCleanup=r(o):r.current=o}}catch(h){Pe(t,s,h)}}function Fn(t,s){var r=t.ref,o=t.refCleanup;if(r!==null)if(typeof o=="function")try{o()}catch(h){Pe(t,s,h)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof r=="function")try{r(null)}catch(h){Pe(t,s,h)}else r.current=null}function _g(t){var s=t.type,r=t.memoizedProps,o=t.stateNode;try{e:switch(s){case"button":case"input":case"select":case"textarea":r.autoFocus&&o.focus();break e;case"img":r.src?o.src=r.src:r.srcSet&&(o.srcset=r.srcSet)}}catch(h){Pe(t,t.return,h)}}function gh(t,s,r){try{var o=t.stateNode;wS(o,t.type,r,s),o[tt]=s}catch(h){Pe(t,t.return,h)}}function Sg(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Ks(t.type)||t.tag===4}function yh(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Sg(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Ks(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function bh(t,s,r){var o=t.tag;if(o===5||o===6)t=t.stateNode,s?(r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r).insertBefore(t,s):(s=r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r,s.appendChild(t),r=r._reactRootContainer,r!=null||s.onclick!==null||(s.onclick=is));else if(o!==4&&(o===27&&Ks(t.type)&&(r=t.stateNode,s=null),t=t.child,t!==null))for(bh(t,s,r),t=t.sibling;t!==null;)bh(t,s,r),t=t.sibling}function yl(t,s,r){var o=t.tag;if(o===5||o===6)t=t.stateNode,s?r.insertBefore(t,s):r.appendChild(t);else if(o!==4&&(o===27&&Ks(t.type)&&(r=t.stateNode),t=t.child,t!==null))for(yl(t,s,r),t=t.sibling;t!==null;)yl(t,s,r),t=t.sibling}function Tg(t){var s=t.stateNode,r=t.memoizedProps;try{for(var o=t.type,h=s.attributes;h.length;)s.removeAttributeNode(h[0]);Dt(s,o,r),s[Te]=t,s[tt]=r}catch(f){Pe(t,t.return,f)}}var ms=!1,gt=!1,vh=!1,Eg=typeof WeakSet=="function"?WeakSet:Set,Nt=null;function eS(t,s){if(t=t.containerInfo,Ph=zl,t=Lm(t),du(t)){if("selectionStart"in t)var r={start:t.selectionStart,end:t.selectionEnd};else e:{r=(r=t.ownerDocument)&&r.defaultView||window;var o=r.getSelection&&r.getSelection();if(o&&o.rangeCount!==0){r=o.anchorNode;var h=o.anchorOffset,f=o.focusNode;o=o.focusOffset;try{r.nodeType,f.nodeType}catch{r=null;break e}var b=0,w=-1,A=-1,U=0,$=0,I=t,L=null;t:for(;;){for(var H;I!==r||h!==0&&I.nodeType!==3||(w=b+h),I!==f||o!==0&&I.nodeType!==3||(A=b+o),I.nodeType===3&&(b+=I.nodeValue.length),(H=I.firstChild)!==null;)L=I,I=H;for(;;){if(I===t)break t;if(L===r&&++U===h&&(w=b),L===f&&++$===o&&(A=b),(H=I.nextSibling)!==null)break;I=L,L=I.parentNode}I=H}r=w===-1||A===-1?null:{start:w,end:A}}else r=null}r=r||{start:0,end:0}}else r=null;for(Hh={focusedElem:t,selectionRange:r},zl=!1,Nt=s;Nt!==null;)if(s=Nt,t=s.child,(s.subtreeFlags&1028)!==0&&t!==null)t.return=s,Nt=t;else for(;Nt!==null;){switch(s=Nt,f=s.alternate,t=s.flags,s.tag){case 0:if((t&4)!==0&&(t=s.updateQueue,t=t!==null?t.events:null,t!==null))for(r=0;r title"))),Dt(f,o,r),f[Te]=t,jt(f),o=f;break e;case"link":var b=Ry("link","href",h).get(o+(r.href||""));if(b){for(var w=0;wqe&&(b=qe,qe=ye,ye=b);var O=Bm(w,ye),j=Bm(w,qe);if(O&&j&&(H.rangeCount!==1||H.anchorNode!==O.node||H.anchorOffset!==O.offset||H.focusNode!==j.node||H.focusOffset!==j.offset)){var B=I.createRange();B.setStart(O.node,O.offset),H.removeAllRanges(),ye>qe?(H.addRange(B),H.extend(j.node,j.offset)):(B.setEnd(j.node,j.offset),H.addRange(B))}}}}for(I=[],H=w;H=H.parentNode;)H.nodeType===1&&I.push({element:H,left:H.scrollLeft,top:H.scrollTop});for(typeof w.focus=="function"&&w.focus(),w=0;wr?32:r,V.T=null,r=Ah,Ah=null;var f=Fs,b=vs;if(St=0,ba=Fs=null,vs=0,(Le&6)!==0)throw Error(a(331));var w=Le;if(Le|=4,Ug(f.current),Dg(f,f.current,b,r),Le=w,Dr(0,!1),Lt&&typeof Lt.onPostCommitFiberRoot=="function")try{Lt.onPostCommitFiberRoot(ks,f)}catch{}return!0}finally{K.p=h,V.T=o,ey(t,s)}}function ny(t,s,r){s=bn(r,s),s=ah(t.stateNode,s,2),t=Ls(t,s,2),t!==null&&(ui(t,2),In(t))}function Pe(t,s,r){if(t.tag===3)ny(t,t,r);else for(;s!==null;){if(s.tag===3){ny(s,t,r);break}else if(s.tag===1){var o=s.stateNode;if(typeof s.type.getDerivedStateFromError=="function"||typeof o.componentDidCatch=="function"&&(qs===null||!qs.has(o))){t=bn(r,t),r=sg(2),o=Ls(s,r,2),o!==null&&(ig(r,o,s,t),ui(o,2),In(o));break}}s=s.return}}function Ch(t,s,r){var o=t.pingCache;if(o===null){o=t.pingCache=new sS;var h=new Set;o.set(s,h)}else h=o.get(s),h===void 0&&(h=new Set,o.set(s,h));h.has(r)||(_h=!0,h.add(r),t=lS.bind(null,t,s,r),s.then(t,t))}function lS(t,s,r){var o=t.pingCache;o!==null&&o.delete(s),t.pingedLanes|=t.suspendedLanes&r,t.warmLanes&=~r,Ie===t&&(ke&r)===r&&(at===4||at===3&&(ke&62914560)===ke&&300>At()-xl?(Le&2)===0&&va(t,0):Sh|=r,ya===ke&&(ya=0)),In(t)}function sy(t,s){s===0&&(s=Wa()),t=pi(t,s),t!==null&&(ui(t,s),In(t))}function cS(t){var s=t.memoizedState,r=0;s!==null&&(r=s.retryLane),sy(t,r)}function uS(t,s){var r=0;switch(t.tag){case 31:case 13:var o=t.stateNode,h=t.memoizedState;h!==null&&(r=h.retryLane);break;case 19:o=t.stateNode;break;case 22:o=t.stateNode._retryCache;break;default:throw Error(a(314))}o!==null&&o.delete(s),sy(t,r)}function hS(t,s){return Pt(t,s)}var jl=null,wa=null,Rh=!1,Nl=!1,Oh=!1,Gs=0;function In(t){t!==wa&&t.next===null&&(wa===null?jl=wa=t:wa=wa.next=t),Nl=!0,Rh||(Rh=!0,fS())}function Dr(t,s){if(!Oh&&Nl){Oh=!0;do for(var r=!1,o=jl;o!==null;){if(t!==0){var h=o.pendingLanes;if(h===0)var f=0;else{var b=o.suspendedLanes,w=o.pingedLanes;f=(1<<31-wt(42|t)+1)-1,f&=h&~(b&~w),f=f&201326741?f&201326741|1:f?f|2:0}f!==0&&(r=!0,oy(o,f))}else f=ke,f=li(o,o===Ie?f:0,o.cancelPendingCommit!==null||o.timeoutHandle!==-1),(f&3)===0||ci(o,f)||(r=!0,oy(o,f));o=o.next}while(r);Oh=!1}}function dS(){iy()}function iy(){Nl=Rh=!1;var t=0;Gs!==0&&SS()&&(t=Gs);for(var s=At(),r=null,o=jl;o!==null;){var h=o.next,f=ay(o,s);f===0?(o.next=null,r===null?jl=h:r.next=h,h===null&&(wa=r)):(r=o,(t!==0||(f&3)!==0)&&(Nl=!0)),o=h}St!==0&&St!==5||Dr(t),Gs!==0&&(Gs=0)}function ay(t,s){for(var r=t.suspendedLanes,o=t.pingedLanes,h=t.expirationTimes,f=t.pendingLanes&-62914561;0w)break;var $=A.transferSize,I=A.initiatorType;$&&py(I)&&(A=A.responseEnd,b+=$*(A"u"?null:document;function jy(t,s,r){var o=_a;if(o&&typeof s=="string"&&s){var h=gn(s);h='link[rel="'+t+'"][href="'+h+'"]',typeof r=="string"&&(h+='[crossorigin="'+r+'"]'),Ay.has(h)||(Ay.add(h),t={rel:t,crossOrigin:r,href:s},o.querySelector(h)===null&&(s=o.createElement("link"),Dt(s,"link",t),jt(s),o.head.appendChild(s)))}}function OS(t){xs.D(t),jy("dns-prefetch",t,null)}function DS(t,s){xs.C(t,s),jy("preconnect",t,s)}function MS(t,s,r){xs.L(t,s,r);var o=_a;if(o&&t&&s){var h='link[rel="preload"][as="'+gn(s)+'"]';s==="image"&&r&&r.imageSrcSet?(h+='[imagesrcset="'+gn(r.imageSrcSet)+'"]',typeof r.imageSizes=="string"&&(h+='[imagesizes="'+gn(r.imageSizes)+'"]')):h+='[href="'+gn(t)+'"]';var f=h;switch(s){case"style":f=Sa(t);break;case"script":f=Ta(t)}Tn.has(f)||(t=v({rel:"preload",href:s==="image"&&r&&r.imageSrcSet?void 0:t,as:s},r),Tn.set(f,t),o.querySelector(h)!==null||s==="style"&&o.querySelector(Lr(f))||s==="script"&&o.querySelector(zr(f))||(s=o.createElement("link"),Dt(s,"link",t),jt(s),o.head.appendChild(s)))}}function BS(t,s){xs.m(t,s);var r=_a;if(r&&t){var o=s&&typeof s.as=="string"?s.as:"script",h='link[rel="modulepreload"][as="'+gn(o)+'"][href="'+gn(t)+'"]',f=h;switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":f=Ta(t)}if(!Tn.has(f)&&(t=v({rel:"modulepreload",href:t},s),Tn.set(f,t),r.querySelector(h)===null)){switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(r.querySelector(zr(f)))return}o=r.createElement("link"),Dt(o,"link",t),jt(o),r.head.appendChild(o)}}}function US(t,s,r){xs.S(t,s,r);var o=_a;if(o&&t){var h=Ii(o).hoistableStyles,f=Sa(t);s=s||"default";var b=h.get(f);if(!b){var w={loading:0,preload:null};if(b=o.querySelector(Lr(f)))w.loading=5;else{t=v({rel:"stylesheet",href:t,"data-precedence":s},r),(r=Tn.get(f))&&Yh(t,r);var A=b=o.createElement("link");jt(A),Dt(A,"link",t),A._p=new Promise(function(U,$){A.onload=U,A.onerror=$}),A.addEventListener("load",function(){w.loading|=1}),A.addEventListener("error",function(){w.loading|=2}),w.loading|=4,Dl(b,s,o)}b={type:"stylesheet",instance:b,count:1,state:w},h.set(f,b)}}}function LS(t,s){xs.X(t,s);var r=_a;if(r&&t){var o=Ii(r).hoistableScripts,h=Ta(t),f=o.get(h);f||(f=r.querySelector(zr(h)),f||(t=v({src:t,async:!0},s),(s=Tn.get(h))&&Xh(t,s),f=r.createElement("script"),jt(f),Dt(f,"link",t),r.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},o.set(h,f))}}function zS(t,s){xs.M(t,s);var r=_a;if(r&&t){var o=Ii(r).hoistableScripts,h=Ta(t),f=o.get(h);f||(f=r.querySelector(zr(h)),f||(t=v({src:t,async:!0,type:"module"},s),(s=Tn.get(h))&&Xh(t,s),f=r.createElement("script"),jt(f),Dt(f,"link",t),r.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},o.set(h,f))}}function Ny(t,s,r,o){var h=(h=ue.current)?Ol(h):null;if(!h)throw Error(a(446));switch(t){case"meta":case"title":return null;case"style":return typeof r.precedence=="string"&&typeof r.href=="string"?(s=Sa(r.href),r=Ii(h).hoistableStyles,o=r.get(s),o||(o={type:"style",instance:null,count:0,state:null},r.set(s,o)),o):{type:"void",instance:null,count:0,state:null};case"link":if(r.rel==="stylesheet"&&typeof r.href=="string"&&typeof r.precedence=="string"){t=Sa(r.href);var f=Ii(h).hoistableStyles,b=f.get(t);if(b||(h=h.ownerDocument||h,b={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},f.set(t,b),(f=h.querySelector(Lr(t)))&&!f._p&&(b.instance=f,b.state.loading=5),Tn.has(t)||(r={rel:"preload",as:"style",href:r.href,crossOrigin:r.crossOrigin,integrity:r.integrity,media:r.media,hrefLang:r.hrefLang,referrerPolicy:r.referrerPolicy},Tn.set(t,r),f||VS(h,t,r,b.state))),s&&o===null)throw Error(a(528,""));return b}if(s&&o!==null)throw Error(a(529,""));return null;case"script":return s=r.async,r=r.src,typeof r=="string"&&s&&typeof s!="function"&&typeof s!="symbol"?(s=Ta(r),r=Ii(h).hoistableScripts,o=r.get(s),o||(o={type:"script",instance:null,count:0,state:null},r.set(s,o)),o):{type:"void",instance:null,count:0,state:null};default:throw Error(a(444,t))}}function Sa(t){return'href="'+gn(t)+'"'}function Lr(t){return'link[rel="stylesheet"]['+t+"]"}function ky(t){return v({},t,{"data-precedence":t.precedence,precedence:null})}function VS(t,s,r,o){t.querySelector('link[rel="preload"][as="style"]['+s+"]")?o.loading=1:(s=t.createElement("link"),o.preload=s,s.addEventListener("load",function(){return o.loading|=1}),s.addEventListener("error",function(){return o.loading|=2}),Dt(s,"link",r),jt(s),t.head.appendChild(s))}function Ta(t){return'[src="'+gn(t)+'"]'}function zr(t){return"script[async]"+t}function Cy(t,s,r){if(s.count++,s.instance===null)switch(s.type){case"style":var o=t.querySelector('style[data-href~="'+gn(r.href)+'"]');if(o)return s.instance=o,jt(o),o;var h=v({},r,{"data-href":r.href,"data-precedence":r.precedence,href:null,precedence:null});return o=(t.ownerDocument||t).createElement("style"),jt(o),Dt(o,"style",h),Dl(o,r.precedence,t),s.instance=o;case"stylesheet":h=Sa(r.href);var f=t.querySelector(Lr(h));if(f)return s.state.loading|=4,s.instance=f,jt(f),f;o=ky(r),(h=Tn.get(h))&&Yh(o,h),f=(t.ownerDocument||t).createElement("link"),jt(f);var b=f;return b._p=new Promise(function(w,A){b.onload=w,b.onerror=A}),Dt(f,"link",o),s.state.loading|=4,Dl(f,r.precedence,t),s.instance=f;case"script":return f=Ta(r.src),(h=t.querySelector(zr(f)))?(s.instance=h,jt(h),h):(o=r,(h=Tn.get(f))&&(o=v({},r),Xh(o,h)),t=t.ownerDocument||t,h=t.createElement("script"),jt(h),Dt(h,"link",o),t.head.appendChild(h),s.instance=h);case"void":return null;default:throw Error(a(443,s.type))}else s.type==="stylesheet"&&(s.state.loading&4)===0&&(o=s.instance,s.state.loading|=4,Dl(o,r.precedence,t));return s.instance}function Dl(t,s,r){for(var o=r.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),h=o.length?o[o.length-1]:null,f=h,b=0;b title"):null)}function PS(t,s,r){if(r===1||s.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof s.precedence!="string"||typeof s.href!="string"||s.href==="")break;return!0;case"link":if(typeof s.rel!="string"||typeof s.href!="string"||s.href===""||s.onLoad||s.onError)break;switch(s.rel){case"stylesheet":return t=s.disabled,typeof s.precedence=="string"&&t==null;default:return!0}case"script":if(s.async&&typeof s.async!="function"&&typeof s.async!="symbol"&&!s.onLoad&&!s.onError&&s.src&&typeof s.src=="string")return!0}return!1}function Dy(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function HS(t,s,r,o){if(r.type==="stylesheet"&&(typeof o.media!="string"||matchMedia(o.media).matches!==!1)&&(r.state.loading&4)===0){if(r.instance===null){var h=Sa(o.href),f=s.querySelector(Lr(h));if(f){s=f._p,s!==null&&typeof s=="object"&&typeof s.then=="function"&&(t.count++,t=Bl.bind(t),s.then(t,t)),r.state.loading|=4,r.instance=f,jt(f);return}f=s.ownerDocument||s,o=ky(o),(h=Tn.get(h))&&Yh(o,h),f=f.createElement("link"),jt(f);var b=f;b._p=new Promise(function(w,A){b.onload=w,b.onerror=A}),Dt(f,"link",o),r.instance=f}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(r,s),(s=r.state.preload)&&(r.state.loading&3)===0&&(t.count++,r=Bl.bind(t),s.addEventListener("load",r),s.addEventListener("error",r))}}var Jh=0;function $S(t,s){return t.stylesheets&&t.count===0&&Ll(t,t.stylesheets),0Jh?50:800)+s);return t.unsuspend=r,function(){t.unsuspend=null,clearTimeout(o),clearTimeout(h)}}:null}function Bl(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ll(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Ul=null;function Ll(t,s){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Ul=new Map,s.forEach(qS,t),Ul=null,Bl.call(t))}function qS(t,s){if(!(s.state.loading&4)){var r=Ul.get(t);if(r)var o=r.get(null);else{r=new Map,Ul.set(t,r);for(var h=t.querySelectorAll("link[data-precedence],style[data-precedence]"),f=0;f"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),ad.exports=a1(),ad.exports}var o1=r1();const Ef=D.createContext({});function Af(n){const e=D.useRef(null);return e.current===null&&(e.current=n()),e.current}const l1=typeof window<"u",jf=l1?D.useLayoutEffect:D.useEffect,Uc=D.createContext(null);function Nf(n,e){n.indexOf(e)===-1&&n.push(e)}function gc(n,e){const i=n.indexOf(e);i>-1&&n.splice(i,1)}const Zn=(n,e,i)=>i>e?e:i{};const ii={},Ev=n=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(n),Av=n=>typeof n=="object"&&n!==null,jv=n=>/^0[^.\s]+$/u.test(n);function Nv(n){let e;return()=>(e===void 0&&(e=n()),e)}const jn=n=>n,To=(...n)=>n.reduce((e,i)=>a=>i(e(a))),lo=(n,e,i)=>{const a=e-n;return a?(i-n)/a:1};class Cf{constructor(){this.subscriptions=[]}add(e){return Nf(this.subscriptions,e),()=>gc(this.subscriptions,e)}notify(e,i,a){const l=this.subscriptions.length;if(l)if(l===1)this.subscriptions[0](e,i,a);else for(let c=0;cn*1e3,An=n=>n/1e3,kv=(n,e)=>e?n*(1e3/e):0,Cv=(n,e,i)=>(((1-3*i+3*e)*n+(3*i-6*e))*n+3*e)*n,c1=1e-7,u1=12;function h1(n,e,i,a,l){let c,u,d=0;do u=e+(i-e)/2,c=Cv(u,a,l)-n,c>0?i=u:e=u;while(Math.abs(c)>c1&&++dh1(c,0,1,n,i);return c=>c===0||c===1?c:Cv(l(c),e,a)}const Rv=n=>e=>e<=.5?n(2*e)/2:(2-n(2*(1-e)))/2,Ov=n=>e=>1-n(1-e),Dv=Eo(.33,1.53,.69,.99),Rf=Ov(Dv),Mv=Rv(Rf),Bv=n=>n>=1?1:(n*=2)<1?.5*Rf(n):.5*(2-Math.pow(2,-10*(n-1))),Of=n=>1-Math.sin(Math.acos(n)),Uv=Ov(Of),Lv=Rv(Of),d1=Eo(.42,0,1,1),f1=Eo(0,0,.58,1),zv=Eo(.42,0,.58,1),m1=n=>Array.isArray(n)&&typeof n[0]!="number",Vv=n=>Array.isArray(n)&&typeof n[0]=="number",p1={linear:jn,easeIn:d1,easeInOut:zv,easeOut:f1,circIn:Of,circInOut:Lv,circOut:Uv,backIn:Rf,backInOut:Mv,backOut:Dv,anticipate:Bv},g1=n=>typeof n=="string",s0=n=>{if(Vv(n)){kf(n.length===4);const[e,i,a,l]=n;return Eo(e,i,a,l)}else if(g1(n))return p1[n];return n},Il=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function y1(n){let e=new Set,i=new Set,a=!1,l=!1;const c=new WeakSet;let u={delta:0,timestamp:0,isProcessing:!1};function d(p){c.has(p)&&(m.schedule(p),n()),p(u)}const m={schedule:(p,y=!1,v=!1)=>{const _=v&&a?e:i;return y&&c.add(p),_.add(p),p},cancel:p=>{i.delete(p),c.delete(p)},process:p=>{if(u=p,a){l=!0;return}a=!0;const y=e;e=i,i=y,e.forEach(d),e.clear(),a=!1,l&&(l=!1,m.process(p))}};return m}const b1=40;function Pv(n,e){let i=!1,a=!0;const l={delta:0,timestamp:0,isProcessing:!1},c=()=>i=!0,u=Il.reduce((N,z)=>(N[z]=y1(c),N),{}),{setup:d,read:m,resolveKeyframes:p,preUpdate:y,update:v,preRender:x,render:_,postRender:S}=u,T=()=>{const N=ii.useManualTiming,z=N?l.timestamp:performance.now();i=!1,N||(l.delta=a?1e3/60:Math.max(Math.min(z-l.timestamp,b1),1)),l.timestamp=z,l.isProcessing=!0,d.process(l),m.process(l),p.process(l),y.process(l),v.process(l),x.process(l),_.process(l),S.process(l),l.isProcessing=!1,i&&e&&(a=!1,n(T))},k=()=>{i=!0,a=!0,l.isProcessing||n(T)};return{schedule:Il.reduce((N,z)=>{const Y=u[z];return N[z]=(Z,F=!1,G=!1)=>(i||k(),Y.schedule(Z,F,G)),N},{}),cancel:N=>{for(let z=0;z(oc===void 0&&Ft.set(Mt.isProcessing||ii.useManualTiming?Mt.timestamp:performance.now()),oc),set:n=>{oc=n,queueMicrotask(v1)}},Hv=n=>e=>typeof e=="string"&&e.startsWith(n),$v=Hv("--"),x1=Hv("var(--"),Df=n=>x1(n)?w1.test(n.split("/*")[0].trim()):!1,w1=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function i0(n){return typeof n!="string"?!1:n.split("/*")[0].includes("var(--")}const Xa={test:n=>typeof n=="number",parse:parseFloat,transform:n=>n},co={...Xa,transform:n=>Zn(0,1,n)},Gl={...Xa,default:1},eo=n=>Math.round(n*1e5)/1e5,Mf=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function _1(n){return n==null}const S1=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,Bf=(n,e)=>i=>!!(typeof i=="string"&&S1.test(i)&&i.startsWith(n)||e&&!_1(i)&&Object.prototype.hasOwnProperty.call(i,e)),qv=(n,e,i)=>a=>{if(typeof a!="string")return a;const[l,c,u,d]=a.match(Mf);return{[n]:parseFloat(l),[e]:parseFloat(c),[i]:parseFloat(u),alpha:d!==void 0?parseFloat(d):1}},T1=n=>Zn(0,255,n),ud={...Xa,transform:n=>Math.round(T1(n))},Di={test:Bf("rgb","red"),parse:qv("red","green","blue"),transform:({red:n,green:e,blue:i,alpha:a=1})=>"rgba("+ud.transform(n)+", "+ud.transform(e)+", "+ud.transform(i)+", "+eo(co.transform(a))+")"};function E1(n){let e="",i="",a="",l="";return n.length>5?(e=n.substring(1,3),i=n.substring(3,5),a=n.substring(5,7),l=n.substring(7,9)):(e=n.substring(1,2),i=n.substring(2,3),a=n.substring(3,4),l=n.substring(4,5),e+=e,i+=i,a+=a,l+=l),{red:parseInt(e,16),green:parseInt(i,16),blue:parseInt(a,16),alpha:l?parseInt(l,16)/255:1}}const Ld={test:Bf("#"),parse:E1,transform:Di.transform},Ao=n=>({test:e=>typeof e=="string"&&e.endsWith(n)&&e.split(" ").length===1,parse:parseFloat,transform:e=>`${e}${n}`}),_s=Ao("deg"),Qn=Ao("%"),oe=Ao("px"),A1=Ao("vh"),j1=Ao("vw"),a0={...Qn,parse:n=>Qn.parse(n)/100,transform:n=>Qn.transform(n*100)},za={test:Bf("hsl","hue"),parse:qv("hue","saturation","lightness"),transform:({hue:n,saturation:e,lightness:i,alpha:a=1})=>"hsla("+Math.round(n)+", "+Qn.transform(eo(e))+", "+Qn.transform(eo(i))+", "+eo(co.transform(a))+")"},bt={test:n=>Di.test(n)||Ld.test(n)||za.test(n),parse:n=>Di.test(n)?Di.parse(n):za.test(n)?za.parse(n):Ld.parse(n),transform:n=>typeof n=="string"?n:n.hasOwnProperty("red")?Di.transform(n):za.transform(n),getAnimatableNone:n=>{const e=bt.parse(n);return e.alpha=0,bt.transform(e)}},N1=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function k1(n){var e,i;return isNaN(n)&&typeof n=="string"&&(((e=n.match(Mf))==null?void 0:e.length)||0)+(((i=n.match(N1))==null?void 0:i.length)||0)>0}const Fv="number",Iv="color",C1="var",R1="var(",r0="${}",O1=/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 Ga(n){const e=n.toString(),i=[],a={color:[],number:[],var:[]},l=[];let c=0;const d=e.replace(O1,m=>(bt.test(m)?(a.color.push(c),l.push(Iv),i.push(bt.parse(m))):m.startsWith(R1)?(a.var.push(c),l.push(C1),i.push(m)):(a.number.push(c),l.push(Fv),i.push(parseFloat(m))),++c,r0)).split(r0);return{values:i,split:d,indexes:a,types:l}}function D1(n){return Ga(n).values}function Gv({split:n,types:e}){const i=n.length;return a=>{let l="";for(let c=0;ctypeof n=="number"?0:bt.test(n)?bt.getAnimatableNone(n):n,U1=(n,e)=>typeof n=="number"?e!=null&&e.trim().endsWith("/")?n:0:B1(n);function L1(n){const e=Ga(n);return Gv(e)(e.values.map((a,l)=>U1(a,e.split[l])))}const Pn={test:k1,parse:D1,createTransformer:M1,getAnimatableNone:L1};function hd(n,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?n+(e-n)*6*i:i<1/2?e:i<2/3?n+(e-n)*(2/3-i)*6:n}function z1({hue:n,saturation:e,lightness:i,alpha:a}){n/=360,e/=100,i/=100;let l=0,c=0,u=0;if(!e)l=c=u=i;else{const d=i<.5?i*(1+e):i+e-i*e,m=2*i-d;l=hd(m,d,n+1/3),c=hd(m,d,n),u=hd(m,d,n-1/3)}return{red:Math.round(l*255),green:Math.round(c*255),blue:Math.round(u*255),alpha:a}}function yc(n,e){return i=>i>0?e:n}const Ge=(n,e,i)=>n+(e-n)*i,dd=(n,e,i)=>{const a=n*n,l=i*(e*e-a)+a;return l<0?0:Math.sqrt(l)},V1=[Ld,Di,za],P1=n=>V1.find(e=>e.test(n));function o0(n){const e=P1(n);if(!e)return!1;let i=e.parse(n);return e===za&&(i=z1(i)),i}const l0=(n,e)=>{const i=o0(n),a=o0(e);if(!i||!a)return yc(n,e);const l={...i};return c=>(l.red=dd(i.red,a.red,c),l.green=dd(i.green,a.green,c),l.blue=dd(i.blue,a.blue,c),l.alpha=Ge(i.alpha,a.alpha,c),Di.transform(l))},zd=new Set(["none","hidden"]);function H1(n,e){return zd.has(n)?i=>i<=0?n:e:i=>i>=1?e:n}function $1(n,e){return i=>Ge(n,e,i)}function Uf(n){return typeof n=="number"?$1:typeof n=="string"?Df(n)?yc:bt.test(n)?l0:I1:Array.isArray(n)?Kv:typeof n=="object"?bt.test(n)?l0:q1:yc}function Kv(n,e){const i=[...n],a=i.length,l=n.map((c,u)=>Uf(c)(c,e[u]));return c=>{for(let u=0;u{for(const c in a)i[c]=a[c](l);return i}}function F1(n,e){const i=[],a={color:0,var:0,number:0};for(let l=0;l{const i=Pn.createTransformer(e),a=Ga(n),l=Ga(e);return a.indexes.var.length===l.indexes.var.length&&a.indexes.color.length===l.indexes.color.length&&a.indexes.number.length>=l.indexes.number.length?zd.has(n)&&!l.values.length||zd.has(e)&&!a.values.length?H1(n,e):To(Kv(F1(a,l),l.values),i):yc(n,e)};function Yv(n,e,i){return typeof n=="number"&&typeof e=="number"&&typeof i=="number"?Ge(n,e,i):Uf(n)(n,e)}const G1=n=>{const e=({timestamp:i})=>n(i);return{start:(i=!0)=>Ke.update(e,i),stop:()=>ai(e),now:()=>Mt.isProcessing?Mt.timestamp:Ft.now()}},Xv=(n,e,i=10)=>{let a="";const l=Math.max(Math.round(e/i),2);for(let c=0;c=bc?1/0:e}function K1(n,e=100,i){const a=i({...n,keyframes:[0,e]}),l=Math.min(Lf(a),bc);return{type:"keyframes",ease:c=>a.next(l*c).value/e,duration:An(l)}}const ot={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 Vd(n,e){return n*Math.sqrt(1-e*e)}const Y1=12;function X1(n,e,i){let a=i;for(let l=1;l{const y=p*u,v=y*n,x=y-i,_=Vd(p,u),S=Math.exp(-v);return fd-x/_*S},c=p=>{const v=p*u*n,x=v*i+i,_=Math.pow(u,2)*Math.pow(p,2)*n,S=Math.exp(-v),T=Vd(Math.pow(p,2),u);return(-l(p)+fd>0?-1:1)*((x-_)*S)/T}):(l=p=>{const y=Math.exp(-p*n),v=(p-i)*n+1;return-fd+y*v},c=p=>{const y=Math.exp(-p*n),v=(i-p)*(n*n);return y*v});const d=5/n,m=X1(l,c,d);if(n=dn(n),isNaN(m))return{stiffness:ot.stiffness,damping:ot.damping,duration:n};{const p=Math.pow(m,2)*a;return{stiffness:p,damping:u*2*Math.sqrt(a*p),duration:n}}}const Q1=["duration","bounce"],Z1=["stiffness","damping","mass"];function c0(n,e){return e.some(i=>n[i]!==void 0)}function W1(n){let e={velocity:ot.velocity,stiffness:ot.stiffness,damping:ot.damping,mass:ot.mass,isResolvedFromDuration:!1,...n};if(!c0(n,Z1)&&c0(n,Q1))if(e.velocity=0,n.visualDuration){const i=n.visualDuration,a=2*Math.PI/(i*1.2),l=a*a,c=2*Zn(.05,1,1-(n.bounce||0))*Math.sqrt(l);e={...e,mass:ot.mass,stiffness:l,damping:c}}else{const i=J1({...n,velocity:0});e={...e,...i,mass:ot.mass},e.isResolvedFromDuration=!0}return e}function vc(n=ot.visualDuration,e=ot.bounce){const i=typeof n!="object"?{visualDuration:n,keyframes:[0,1],bounce:e}:n;let{restSpeed:a,restDelta:l}=i;const c=i.keyframes[0],u=i.keyframes[i.keyframes.length-1],d={done:!1,value:c},{stiffness:m,damping:p,mass:y,duration:v,velocity:x,isResolvedFromDuration:_}=W1({...i,velocity:-An(i.velocity||0)}),S=x||0,T=p/(2*Math.sqrt(m*y)),k=u-c,C=An(Math.sqrt(m/y)),M=Math.abs(k)<5;a||(a=M?ot.restSpeed.granular:ot.restSpeed.default),l||(l=M?ot.restDelta.granular:ot.restDelta.default);let N,z,Y,Z,F,G;if(T<1)Y=Vd(C,T),Z=(S+T*C*k)/Y,N=Q=>{const ce=Math.exp(-T*C*Q);return u-ce*(Z*Math.sin(Y*Q)+k*Math.cos(Y*Q))},F=T*C*Z+k*Y,G=T*C*k-Z*Y,z=Q=>Math.exp(-T*C*Q)*(F*Math.sin(Y*Q)+G*Math.cos(Y*Q));else if(T===1){N=ce=>u-Math.exp(-C*ce)*(k+(S+C*k)*ce);const Q=S+C*k;z=ce=>Math.exp(-C*ce)*(C*Q*ce-S)}else{const Q=C*Math.sqrt(T*T-1);N=Re=>{const Se=Math.exp(-T*C*Re),V=Math.min(Q*Re,300);return u-Se*((S+T*C*k)*Math.sinh(V)+Q*k*Math.cosh(V))/Q};const ce=(S+T*C*k)/Q,me=T*C*ce-k*Q,_e=T*C*k-ce*Q;z=Re=>{const Se=Math.exp(-T*C*Re),V=Math.min(Q*Re,300);return Se*(me*Math.sinh(V)+_e*Math.cosh(V))}}const ne={calculatedDuration:_&&v||null,velocity:Q=>dn(z(Q)),next:Q=>{if(!_&&T<1){const me=Math.exp(-T*C*Q),_e=Math.sin(Y*Q),Re=Math.cos(Y*Q),Se=u-me*(Z*_e+k*Re),V=dn(me*(F*_e+G*Re));return d.done=Math.abs(V)<=a&&Math.abs(u-Se)<=l,d.value=d.done?u:Se,d}const ce=N(Q);if(_)d.done=Q>=v;else{const me=dn(z(Q));d.done=Math.abs(me)<=a&&Math.abs(u-ce)<=l}return d.value=d.done?u:ce,d},toString:()=>{const Q=Math.min(Lf(ne),bc),ce=Xv(me=>ne.next(Q*me).value,Q,30);return Q+"ms "+ce},toTransition:()=>{}};return ne}vc.applyToOptions=n=>{const e=K1(n,100,vc);return n.ease=e.ease,n.duration=dn(e.duration),n.type="keyframes",n};const eT=5;function Jv(n,e,i){const a=Math.max(e-eT,0);return kv(i-n(a),e-a)}function Pd({keyframes:n,velocity:e=0,power:i=.8,timeConstant:a=325,bounceDamping:l=10,bounceStiffness:c=500,modifyTarget:u,min:d,max:m,restDelta:p=.5,restSpeed:y}){const v=n[0],x={done:!1,value:v},_=G=>d!==void 0&&Gm,S=G=>d===void 0?m:m===void 0||Math.abs(d-G)-T*Math.exp(-G/a),N=G=>C+M(G),z=G=>{const ne=M(G),Q=N(G);x.done=Math.abs(ne)<=p,x.value=x.done?C:Q};let Y,Z;const F=G=>{_(x.value)&&(Y=G,Z=vc({keyframes:[x.value,S(x.value)],velocity:Jv(N,G,x.value),damping:l,stiffness:c,restDelta:p,restSpeed:y}))};return F(0),{calculatedDuration:null,next:G=>{let ne=!1;return!Z&&Y===void 0&&(ne=!0,z(G),F(G)),Y!==void 0&&G>=Y?Z.next(G-Y):(!ne&&z(G),x)}}}function tT(n,e,i){const a=[],l=i||ii.mix||Yv,c=n.length-1;for(let u=0;ue[0];if(c===2&&e[0]===e[1])return()=>e[1];const u=n[0]===n[1];n[0]>n[c-1]&&(n=[...n].reverse(),e=[...e].reverse());const d=tT(e,a,l),m=d.length,p=y=>{if(u&&y1)for(;vp(Zn(n[0],n[c-1],y)):p}function sT(n,e){const i=n[n.length-1];for(let a=1;a<=e;a++){const l=lo(0,e,a);n.push(Ge(i,1,l))}}function iT(n){const e=[0];return sT(e,n.length-1),e}function aT(n,e){return n.map(i=>i*e)}function rT(n,e){return n.map(()=>e||zv).splice(0,n.length-1)}function to({duration:n=300,keyframes:e,times:i,ease:a="easeInOut"}){const l=m1(a)?a.map(s0):s0(a),c={done:!1,value:e[0]},u=aT(i&&i.length===e.length?i:iT(e),n),d=nT(u,e,{ease:Array.isArray(l)?l:rT(e,l)});return{calculatedDuration:n,next:m=>(c.value=d(m),c.done=m>=n,c)}}const oT=n=>n!==null;function Lc(n,{repeat:e,repeatType:i="loop"},a,l=1){const c=n.filter(oT),d=l<0||e&&i!=="loop"&&e%2===1?0:c.length-1;return!d||a===void 0?c[d]:a}const lT={decay:Pd,inertia:Pd,tween:to,keyframes:to,spring:vc};function Qv(n){typeof n.type=="string"&&(n.type=lT[n.type])}class zf{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(e=>{this.resolve=e})}notifyFinished(){this.resolve()}then(e,i){return this.finished.then(e,i)}}const cT=n=>n/100;class xc extends zf{constructor(e){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,l;const{motionValue:i}=this.options;i&&i.updatedAt!==Ft.now()&&this.tick(Ft.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),(l=(a=this.options).onStop)==null||l.call(a))},this.options=e,this.initAnimation(),this.play(),e.autoplay===!1&&this.pause()}initAnimation(){const{options:e}=this;Qv(e);const{type:i=to,repeat:a=0,repeatDelay:l=0,repeatType:c,velocity:u=0}=e;let{keyframes:d}=e;const m=i||to;m!==to&&typeof d[0]!="number"&&(this.mixKeyframes=To(cT,Yv(d[0],d[1])),d=[0,100]);const p=m({...e,keyframes:d});c==="mirror"&&(this.mirroredGenerator=m({...e,keyframes:[...d].reverse(),velocity:-u})),p.calculatedDuration===null&&(p.calculatedDuration=Lf(p));const{calculatedDuration:y}=p;this.calculatedDuration=y,this.resolvedDuration=y+l,this.totalDuration=this.resolvedDuration*(a+1)-l,this.generator=p}updateTime(e){const i=Math.round(e-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=i}tick(e,i=!1){const{generator:a,totalDuration:l,mixKeyframes:c,mirroredGenerator:u,resolvedDuration:d,calculatedDuration:m}=this;if(this.startTime===null)return a.next(0);const{delay:p=0,keyframes:y,repeat:v,repeatType:x,repeatDelay:_,type:S,onUpdate:T,finalKeyframe:k}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-l/this.speed,this.startTime)),i?this.currentTime=e:this.updateTime(e);const C=this.currentTime-p*(this.playbackSpeed>=0?1:-1),M=this.playbackSpeed>=0?C<0:C>l;this.currentTime=Math.max(C,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=l);let N=this.currentTime,z=a;if(v){const G=Math.min(this.currentTime,l)/d;let ne=Math.floor(G),Q=G%1;!Q&&G>=1&&(Q=1),Q===1&&ne--,ne=Math.min(ne,v+1),!!(ne%2)&&(x==="reverse"?(Q=1-Q,_&&(Q-=_/d)):x==="mirror"&&(z=u)),N=Zn(0,1,Q)*d}let Y;M?(this.delayState.value=y[0],Y=this.delayState):Y=z.next(N),c&&!M&&(Y.value=c(Y.value));let{done:Z}=Y;!M&&m!==null&&(Z=this.playbackSpeed>=0?this.currentTime>=l:this.currentTime<=0);const F=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&Z);return F&&S!==Pd&&(Y.value=Lc(y,this.options,k,this.speed)),T&&T(Y.value),F&&this.finish(),Y}then(e,i){return this.finished.then(e,i)}get duration(){return An(this.calculatedDuration)}get iterationDuration(){const{delay:e=0}=this.options||{};return this.duration+An(e)}get time(){return An(this.currentTime)}set time(e){e=dn(e),this.currentTime=e,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state="paused",this.holdTime=e,this.tick(e))}getGeneratorVelocity(){const e=this.currentTime;if(e<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(e);const i=this.generator.next(e).value;return Jv(a=>this.generator.next(a).value,e,i)}get speed(){return this.playbackSpeed}set speed(e){const i=this.playbackSpeed!==e;i&&this.driver&&this.updateTime(Ft.now()),this.playbackSpeed=e,i&&this.driver&&(this.time=An(this.currentTime))}play(){var l,c;if(this.isStopped)return;const{driver:e=G1,startTime:i}=this.options;this.driver||(this.driver=e(u=>this.tick(u))),(c=(l=this.options).onPlay)==null||c.call(l);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=i??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(Ft.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){var e,i;this.notifyFinished(),this.teardown(),this.state="finished",(i=(e=this.options).onComplete)==null||i.call(e)}cancel(){var e,i;this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),(i=(e=this.options).onCancel)==null||i.call(e)}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}attachTimeline(e){var i;return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),(i=this.driver)==null||i.stop(),e.observe(this)}}function uT(n){for(let e=1;en*180/Math.PI,Hd=n=>{const e=Mi(Math.atan2(n[1],n[0]));return $d(e)},hT={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:n=>(Math.abs(n[0])+Math.abs(n[3]))/2,rotate:Hd,rotateZ:Hd,skewX:n=>Mi(Math.atan(n[1])),skewY:n=>Mi(Math.atan(n[2])),skew:n=>(Math.abs(n[1])+Math.abs(n[2]))/2},$d=n=>(n=n%360,n<0&&(n+=360),n),u0=Hd,h0=n=>Math.sqrt(n[0]*n[0]+n[1]*n[1]),d0=n=>Math.sqrt(n[4]*n[4]+n[5]*n[5]),dT={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:h0,scaleY:d0,scale:n=>(h0(n)+d0(n))/2,rotateX:n=>$d(Mi(Math.atan2(n[6],n[5]))),rotateY:n=>$d(Mi(Math.atan2(-n[2],n[0]))),rotateZ:u0,rotate:u0,skewX:n=>Mi(Math.atan(n[4])),skewY:n=>Mi(Math.atan(n[1])),skew:n=>(Math.abs(n[1])+Math.abs(n[4]))/2};function qd(n){return n.includes("scale")?1:0}function Fd(n,e){if(!n||n==="none")return qd(e);const i=n.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let a,l;if(i)a=dT,l=i;else{const d=n.match(/^matrix\(([-\d.e\s,]+)\)$/u);a=hT,l=d}if(!l)return qd(e);const c=a[e],u=l[1].split(",").map(mT);return typeof c=="function"?c(u):u[c]}const fT=(n,e)=>{const{transform:i="none"}=getComputedStyle(n);return Fd(i,e)};function mT(n){return parseFloat(n.trim())}const Ja=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Qa=new Set([...Ja,"pathRotation"]),f0=n=>n===Xa||n===oe,pT=new Set(["x","y","z"]),gT=Ja.filter(n=>!pT.has(n));function yT(n){const e=[];return gT.forEach(i=>{const a=n.getValue(i);a!==void 0&&(e.push([i,a.get()]),a.set(i.startsWith("scale")?1:0))}),e}const si={width:({x:n},{paddingLeft:e="0",paddingRight:i="0",boxSizing:a})=>{const l=n.max-n.min;return a==="border-box"?l:l-parseFloat(e)-parseFloat(i)},height:({y:n},{paddingTop:e="0",paddingBottom:i="0",boxSizing:a})=>{const l=n.max-n.min;return a==="border-box"?l:l-parseFloat(e)-parseFloat(i)},top:(n,{top:e})=>parseFloat(e),left:(n,{left:e})=>parseFloat(e),bottom:({y:n},{top:e})=>parseFloat(e)+(n.max-n.min),right:({x:n},{left:e})=>parseFloat(e)+(n.max-n.min),x:(n,{transform:e})=>Fd(e,"x"),y:(n,{transform:e})=>Fd(e,"y")};si.translateX=si.x;si.translateY=si.y;const Ui=new Set;let Id=!1,Gd=!1,Kd=!1;function Zv(){if(Gd){const n=Array.from(Ui).filter(a=>a.needsMeasurement),e=new Set(n.map(a=>a.element)),i=new Map;e.forEach(a=>{const l=yT(a);l.length&&(i.set(a,l),a.render())}),n.forEach(a=>a.measureInitialState()),e.forEach(a=>{a.render();const l=i.get(a);l&&l.forEach(([c,u])=>{var d;(d=a.getValue(c))==null||d.set(u)})}),n.forEach(a=>a.measureEndState()),n.forEach(a=>{a.suspendedScrollY!==void 0&&window.scrollTo(0,a.suspendedScrollY)})}Gd=!1,Id=!1,Ui.forEach(n=>n.complete(Kd)),Ui.clear()}function Wv(){Ui.forEach(n=>{n.readKeyframes(),n.needsMeasurement&&(Gd=!0)})}function bT(){Kd=!0,Wv(),Zv(),Kd=!1}class Vf{constructor(e,i,a,l,c,u=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...e],this.onComplete=i,this.name=a,this.motionValue=l,this.element=c,this.isAsync=u}scheduleResolve(){this.state="scheduled",this.isAsync?(Ui.add(this),Id||(Id=!0,Ke.read(Wv),Ke.resolveKeyframes(Zv))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:e,name:i,element:a,motionValue:l}=this;if(e[0]===null){const c=l==null?void 0:l.get(),u=e[e.length-1];if(c!==void 0)e[0]=c;else if(a&&i){const d=a.readValue(i,u);d!=null&&(e[0]=d)}e[0]===void 0&&(e[0]=u),l&&c===void 0&&l.set(e[0])}uT(e)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(e=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,e),Ui.delete(this)}cancel(){this.state==="scheduled"&&(Ui.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const vT=n=>n.startsWith("--");function ex(n,e,i){vT(e)?n.style.setProperty(e,i):n.style[e]=i}const xT={};function tx(n,e){const i=Nv(n);return()=>xT[e]??i()}const wT=tx(()=>window.ScrollTimeline!==void 0,"scrollTimeline"),nx=tx(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),Xr=([n,e,i,a])=>`cubic-bezier(${n}, ${e}, ${i}, ${a})`,m0={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Xr([0,.65,.55,1]),circOut:Xr([.55,0,1,.45]),backIn:Xr([.31,.01,.66,-.59]),backOut:Xr([.33,1.53,.69,.99])};function sx(n,e){if(n)return typeof n=="function"?nx()?Xv(n,e):"ease-out":Vv(n)?Xr(n):Array.isArray(n)?n.map(i=>sx(i,e)||m0.easeOut):m0[n]}function _T(n,e,i,{delay:a=0,duration:l=300,repeat:c=0,repeatType:u="loop",ease:d="easeOut",times:m}={},p=void 0){const y={[e]:i};m&&(y.offset=m);const v=sx(d,l);Array.isArray(v)&&(y.easing=v);const x={delay:a,duration:l,easing:Array.isArray(v)?"linear":v,fill:"both",iterations:c+1,direction:u==="reverse"?"alternate":"normal"};return p&&(x.pseudoElement=p),n.animate(y,x)}function ix(n){return typeof n=="function"&&"applyToOptions"in n}function ST({type:n,...e}){return ix(n)&&nx()?n.applyToOptions(e):(e.duration??(e.duration=300),e.ease??(e.ease="easeOut"),e)}class ax extends zf{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!e)return;const{element:i,name:a,keyframes:l,pseudoElement:c,allowFlatten:u=!1,finalKeyframe:d,onComplete:m}=e;this.isPseudoElement=!!c,this.allowFlatten=u,this.options=e,kf(typeof e.type!="string");const p=ST(e);this.animation=_T(i,a,l,p,c),p.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!c){const y=Lc(l,this.options,d,this.speed);this.updateMotionValue&&this.updateMotionValue(y),ex(i,a,y),this.animation.cancel()}m==null||m(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){var e,i;(i=(e=this.animation).finish)==null||i.call(e)}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:e}=this;e==="idle"||e==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){var i,a,l;const e=(i=this.options)==null?void 0:i.element;!this.isPseudoElement&&(e!=null&&e.isConnected)&&((l=(a=this.animation).commitStyles)==null||l.call(a))}get duration(){var i,a;const e=((a=(i=this.animation.effect)==null?void 0:i.getComputedTiming)==null?void 0:a.call(i).duration)||0;return An(Number(e))}get iterationDuration(){const{delay:e=0}=this.options||{};return this.duration+An(e)}get time(){return An(Number(this.animation.currentTime)||0)}set time(e){const i=this.finishedTime!==null;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=dn(e),i&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(e){e<0&&(this.finishedTime=null),this.animation.playbackRate=e}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(e){this.manualStartTime=this.animation.startTime=e}attachTimeline({timeline:e,rangeStart:i,rangeEnd:a,observe:l}){var c;return this.allowFlatten&&((c=this.animation.effect)==null||c.updateTiming({easing:"linear"})),this.animation.onfinish=null,e&&wT()?(this.animation.timeline=e,i&&(this.animation.rangeStart=i),a&&(this.animation.rangeEnd=a),jn):l(this)}}const rx={anticipate:Bv,backInOut:Mv,circInOut:Lv};function TT(n){return n in rx}function ET(n){typeof n.ease=="string"&&TT(n.ease)&&(n.ease=rx[n.ease])}const md=10;class AT extends ax{constructor(e){ET(e),Qv(e),super(e),e.startTime!==void 0&&e.autoplay!==!1&&(this.startTime=e.startTime),this.options=e}updateMotionValue(e){const{motionValue:i,onUpdate:a,onComplete:l,element:c,...u}=this.options;if(!i)return;if(e!==void 0){i.set(e);return}const d=new xc({...u,autoplay:!1}),m=Math.max(md,Ft.now()-this.startTime),p=Zn(0,md,m-md),y=d.sample(m).value,{name:v}=this.options;c&&v&&ex(c,v,y),i.setWithVelocity(d.sample(Math.max(0,m-p)).value,y,p),d.stop()}}const p0=(n,e)=>e==="zIndex"?!1:!!(typeof n=="number"||Array.isArray(n)||typeof n=="string"&&(Pn.test(n)||n==="0")&&!n.startsWith("url("));function jT(n){const e=n[0];if(n.length===1)return!0;for(let i=0;iObject.hasOwnProperty.call(Element.prototype,"animate"));function DT(n){var v;const{motionValue:e,name:i,repeatDelay:a,repeatType:l,damping:c,type:u,keyframes:d}=n;if(!(((v=e==null?void 0:e.owner)==null?void 0:v.current)instanceof HTMLElement))return!1;const{onUpdate:p,transformTemplate:y}=e.owner.getProps();return OT()&&i&&(ox.has(i)||RT.has(i)&&CT(d))&&(i!=="transform"||!y)&&!p&&!a&&l!=="mirror"&&c!==0&&u!=="inertia"}const MT=40;class BT extends zf{constructor({autoplay:e=!0,delay:i=0,type:a="keyframes",repeat:l=0,repeatDelay:c=0,repeatType:u="loop",keyframes:d,name:m,motionValue:p,element:y,...v}){var S;super(),this.stop=()=>{var T,k;this._animation&&(this._animation.stop(),(T=this.stopTimeline)==null||T.call(this)),(k=this.keyframeResolver)==null||k.cancel()},this.createdAt=Ft.now();const x={autoplay:e,delay:i,type:a,repeat:l,repeatDelay:c,repeatType:u,name:m,motionValue:p,element:y,...v},_=(y==null?void 0:y.KeyframeResolver)||Vf;this.keyframeResolver=new _(d,(T,k,C)=>this.onKeyframesResolved(T,k,x,!C),m,p,y),(S=this.keyframeResolver)==null||S.scheduleResolve()}onKeyframesResolved(e,i,a,l){var C,M;this.keyframeResolver=void 0;const{name:c,type:u,velocity:d,delay:m,isHandoff:p,onUpdate:y}=a;this.resolvedAt=Ft.now();let v=!0;NT(e,c,u,d)||(v=!1,(ii.instantAnimations||!m)&&(y==null||y(Lc(e,a,i))),e[0]=e[e.length-1],Yd(a),a.repeat=0);const _={startTime:l?this.resolvedAt?this.resolvedAt-this.createdAt>MT?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:i,...a,keyframes:e},S=v&&!p&&DT(_),T=(M=(C=_.motionValue)==null?void 0:C.owner)==null?void 0:M.current;let k;if(S)try{k=new AT({..._,element:T})}catch{k=new xc(_)}else k=new xc(_);k.finished.then(()=>{this.notifyFinished()}).catch(jn),this.pendingTimeline&&(this.stopTimeline=k.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=k}get finished(){return this._animation?this.animation.finished:this._finished}then(e,i){return this.finished.finally(e).then(()=>{})}get animation(){var e;return this._animation||((e=this.keyframeResolver)==null||e.resume(),bT()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(e){this.animation.time=e}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(e){this.animation.speed=e}get startTime(){return this.animation.startTime}attachTimeline(e){return this._animation?this.stopTimeline=this.animation.attachTimeline(e):this.pendingTimeline=e,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){var e;this._animation&&this.animation.cancel(),(e=this.keyframeResolver)==null||e.cancel()}}function lx(n,e,i,a=0,l=1){const c=Array.from(n).sort((p,y)=>p.sortNodePosition(y)).indexOf(e),u=n.size,d=(u-1)*a;return typeof i=="function"?i(c,u):l===1?c*a:d-c*a}const g0=30,UT=n=>!isNaN(parseFloat(n));class LT{constructor(e,i={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=a=>{var c;const l=Ft.now();if(this.updatedAt!==l&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(a),this.current!==this.prev&&((c=this.events.change)==null||c.notify(this.current),this.dependents))for(const u of this.dependents)u.dirty()},this.hasAnimated=!1,this.setCurrent(e),this.owner=i.owner}setCurrent(e){this.current=e,this.updatedAt=Ft.now(),this.canTrackVelocity===null&&e!==void 0&&(this.canTrackVelocity=UT(this.current))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return this.on("change",e)}on(e,i){this.events[e]||(this.events[e]=new Cf);const a=this.events[e].add(i);return e==="change"?()=>{a(),Ke.read(()=>{this.events.change.getSize()||this.stop()})}:a}clearListeners(){for(const e in this.events)this.events[e].clear()}attach(e,i){this.passiveEffect=e,this.stopPassiveEffect=i}set(e){this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e)}setWithVelocity(e,i,a){this.set(i),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-a}jump(e,i=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,i&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){var e;(e=this.events.change)==null||e.notify(this.current)}addDependent(e){this.dependents||(this.dependents=new Set),this.dependents.add(e)}removeDependent(e){this.dependents&&this.dependents.delete(e)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const e=Ft.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||e-this.updatedAt>g0)return 0;const i=Math.min(this.updatedAt-this.prevUpdatedAt,g0);return kv(parseFloat(this.current)-parseFloat(this.prevFrameValue),i)}start(e){return this.stop(),new Promise(i=>{this.hasAnimated=!0,this.animation=e(i),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 e,i;(e=this.dependents)==null||e.clear(),(i=this.events.destroy)==null||i.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Ka(n,e){return new LT(n,e)}function cx(n,e){if(n!=null&&n.inherit&&e){const{inherit:i,...a}=n;return{...e,...a}}return n}function Pf(n,e){const i=(n==null?void 0:n[e])??(n==null?void 0:n.default)??n;return i!==n?cx(i,n):i}const zT={type:"spring",stiffness:500,damping:25,restSpeed:10},VT=n=>({type:"spring",stiffness:550,damping:n===0?2*Math.sqrt(550):30,restSpeed:10}),PT={type:"keyframes",duration:.8},HT={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},$T=(n,{keyframes:e})=>e.length>2?PT:Qa.has(n)?n.startsWith("scale")?VT(e[1]):zT:HT,qT=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"]);function FT(n){for(const e in n)if(!qT.has(e))return!0;return!1}const Hf=(n,e,i,a={},l,c)=>u=>{const d=Pf(a,n)||{},m=d.delay||a.delay||0;let{elapsed:p=0}=a;p=p-dn(m);const y={keyframes:Array.isArray(i)?i:[null,i],ease:"easeOut",velocity:e.getVelocity(),...d,delay:-p,onUpdate:x=>{e.set(x),d.onUpdate&&d.onUpdate(x)},onComplete:()=>{u(),d.onComplete&&d.onComplete()},name:n,motionValue:e,element:c?void 0:l};FT(d)||Object.assign(y,$T(n,y)),y.duration&&(y.duration=dn(y.duration)),y.repeatDelay&&(y.repeatDelay=dn(y.repeatDelay)),y.from!==void 0&&(y.keyframes[0]=y.from);let v=!1;if((y.type===!1||y.duration===0&&!y.repeatDelay)&&(Yd(y),y.delay===0&&(v=!0)),(ii.instantAnimations||ii.skipAnimations||l!=null&&l.shouldSkipAnimations||d.skipAnimations)&&(v=!0,Yd(y),y.delay=0),y.allowFlatten=!d.type&&!d.ease,v&&!c&&e.get()!==void 0){const x=Lc(y.keyframes,d);if(x!==void 0){Ke.update(()=>{y.onUpdate(x),y.onComplete()});return}}return d.isSync?new xc(y):new BT(y)},IT=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function GT(n){const e=IT.exec(n);if(!e)return[,];const[,i,a,l]=e;return[`--${i??a}`,l]}function ux(n,e,i=1){const[a,l]=GT(n);if(!a)return;const c=window.getComputedStyle(e).getPropertyValue(a);if(c){const u=c.trim();return Ev(u)?parseFloat(u):u}return Df(l)?ux(l,e,i+1):l}function y0(n){const e=[{},{}];return n==null||n.values.forEach((i,a)=>{e[0][a]=i.get(),e[1][a]=i.getVelocity()}),e}function $f(n,e,i,a){if(typeof e=="function"){const[l,c]=y0(a);e=e(i!==void 0?i:n.custom,l,c)}if(typeof e=="string"&&(e=n.variants&&n.variants[e]),typeof e=="function"){const[l,c]=y0(a);e=e(i!==void 0?i:n.custom,l,c)}return e}function Li(n,e,i){const a=n.getProps();return $f(a,e,i!==void 0?i:a.custom,n)}const hx=new Set(["width","height","top","left","right","bottom",...Ja]),Xd=n=>Array.isArray(n);function KT(n,e,i){n.hasValue(e)?n.getValue(e).set(i):n.addValue(e,Ka(i))}function YT(n){return Xd(n)?n[n.length-1]||0:n}function XT(n,e){const i=Li(n,e);let{transitionEnd:a={},transition:l={},...c}=i||{};c={...c,...a};for(const u in c){const d=YT(c[u]);KT(n,u,d)}}const Bt=n=>!!(n&&n.getVelocity);function JT(n){return!!(Bt(n)&&n.add)}function Jd(n,e){const i=n.getValue("willChange");if(JT(i))return i.add(e);if(!i&&ii.WillChange){const a=new ii.WillChange("auto");n.addValue("willChange",a),a.add(e)}}function qf(n){return n.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`)}const QT="framerAppearId",dx="data-"+qf(QT);function fx(n){return n.props[dx]}function ZT({protectedKeys:n,needsAnimating:e},i){const a=n.hasOwnProperty(i)&&e[i]!==!0;return e[i]=!1,a}function mx(n,e,{delay:i=0,transitionOverride:a,type:l}={}){let{transition:c,transitionEnd:u,...d}=e;const m=n.getDefaultTransition();c=c?cx(c,m):m;const p=c==null?void 0:c.reduceMotion,y=c==null?void 0:c.skipAnimations;a&&(c=a);const v=[],x=l&&n.animationState&&n.animationState.getState()[l],_=c==null?void 0:c.path;_&&_.animateVisualElement(n,d,c,i,v);for(const S in d){const T=n.getValue(S,n.latestValues[S]??null),k=d[S];if(k===void 0||x&&ZT(x,S))continue;const C={delay:i,...Pf(c||{},S)};y&&(C.skipAnimations=!0);const M=T.get();if(M!==void 0&&!T.isAnimating()&&!Array.isArray(k)&&k===M&&!C.velocity){Ke.update(()=>T.set(k));continue}let N=!1;if(window.MotionHandoffAnimation){const Z=fx(n);if(Z){const F=window.MotionHandoffAnimation(Z,S,Ke);F!==null&&(C.startTime=F,N=!0)}}Jd(n,S);const z=p??n.shouldReduceMotion;T.start(Hf(S,T,k,z&&hx.has(S)?{type:!1}:C,n,N));const Y=T.animation;Y&&v.push(Y)}if(u){const S=()=>Ke.update(()=>{u&&XT(n,u)});v.length?Promise.all(v).then(S):S()}return v}function Qd(n,e,i={}){var m;const a=Li(n,e,i.type==="exit"?(m=n.presenceContext)==null?void 0:m.custom:void 0);let{transition:l=n.getDefaultTransition()||{}}=a||{};i.transitionOverride&&(l=i.transitionOverride);const c=a?()=>Promise.all(mx(n,a,i)):()=>Promise.resolve(),u=n.variantChildren&&n.variantChildren.size?(p=0)=>{const{delayChildren:y=0,staggerChildren:v,staggerDirection:x}=l;return WT(n,e,p,y,v,x,i)}:()=>Promise.resolve(),{when:d}=l;if(d){const[p,y]=d==="beforeChildren"?[c,u]:[u,c];return p().then(()=>y())}else return Promise.all([c(),u(i.delay)])}function WT(n,e,i=0,a=0,l=0,c=1,u){const d=[];for(const m of n.variantChildren)m.notify("AnimationStart",e),d.push(Qd(m,e,{...u,delay:i+(typeof a=="function"?0:a)+lx(n.variantChildren,m,a,l,c)}).then(()=>m.notify("AnimationComplete",e)));return Promise.all(d)}function eE(n,e,i={}){n.notify("AnimationStart",e);let a;if(Array.isArray(e)){const l=e.map(c=>Qd(n,c,i));a=Promise.all(l)}else if(typeof e=="string")a=Qd(n,e,i);else{const l=typeof e=="function"?Li(n,e,i.custom):e;a=Promise.all(mx(n,l,i))}return a.then(()=>{n.notify("AnimationComplete",e)})}const tE={test:n=>n==="auto",parse:n=>n},px=n=>e=>e.test(n),gx=[Xa,oe,Qn,_s,j1,A1,tE],b0=n=>gx.find(px(n));function nE(n){return typeof n=="number"?n===0:n!==null?n==="none"||n==="0"||jv(n):!0}const sE=new Set(["brightness","contrast","saturate","opacity"]);function iE(n){const[e,i]=n.slice(0,-1).split("(");if(e==="drop-shadow")return n;const[a]=i.match(Mf)||[];if(!a)return n;const l=i.replace(a,"");let c=sE.has(e)?1:0;return a!==i&&(c*=100),e+"("+c+l+")"}const aE=/\b([a-z-]*)\(.*?\)/gu,Zd={...Pn,getAnimatableNone:n=>{const e=n.match(aE);return e?e.map(iE).join(" "):n}},Wd={...Pn,getAnimatableNone:n=>{const e=Pn.parse(n);return Pn.createTransformer(n)(e.map(a=>typeof a=="number"?0:typeof a=="object"?{...a,alpha:1}:a))}},v0={...Xa,transform:Math.round},rE={rotate:_s,pathRotation:_s,rotateX:_s,rotateY:_s,rotateZ:_s,scale:Gl,scaleX:Gl,scaleY:Gl,scaleZ:Gl,skew:_s,skewX:_s,skewY:_s,distance:oe,translateX:oe,translateY:oe,translateZ:oe,x:oe,y:oe,z:oe,perspective:oe,transformPerspective:oe,opacity:co,originX:a0,originY:a0,originZ:oe},wc={borderWidth:oe,borderTopWidth:oe,borderRightWidth:oe,borderBottomWidth:oe,borderLeftWidth:oe,borderRadius:oe,borderTopLeftRadius:oe,borderTopRightRadius:oe,borderBottomRightRadius:oe,borderBottomLeftRadius:oe,width:oe,maxWidth:oe,height:oe,maxHeight:oe,top:oe,right:oe,bottom:oe,left:oe,inset:oe,insetBlock:oe,insetBlockStart:oe,insetBlockEnd:oe,insetInline:oe,insetInlineStart:oe,insetInlineEnd:oe,padding:oe,paddingTop:oe,paddingRight:oe,paddingBottom:oe,paddingLeft:oe,paddingBlock:oe,paddingBlockStart:oe,paddingBlockEnd:oe,paddingInline:oe,paddingInlineStart:oe,paddingInlineEnd:oe,margin:oe,marginTop:oe,marginRight:oe,marginBottom:oe,marginLeft:oe,marginBlock:oe,marginBlockStart:oe,marginBlockEnd:oe,marginInline:oe,marginInlineStart:oe,marginInlineEnd:oe,fontSize:oe,backgroundPositionX:oe,backgroundPositionY:oe,...rE,zIndex:v0,fillOpacity:co,strokeOpacity:co,numOctaves:v0},oE={...wc,color:bt,backgroundColor:bt,outlineColor:bt,fill:bt,stroke:bt,borderColor:bt,borderTopColor:bt,borderRightColor:bt,borderBottomColor:bt,borderLeftColor:bt,filter:Zd,WebkitFilter:Zd,mask:Wd,WebkitMask:Wd},yx=n=>oE[n],lE=new Set([Zd,Wd]);function bx(n,e){let i=yx(n);return lE.has(i)||(i=Pn),i.getAnimatableNone?i.getAnimatableNone(e):void 0}const cE=new Set(["auto","none","0"]);function uE(n,e,i){let a=0,l;for(;a{e.getValue(m).set(p)}),this.resolveNoneKeyframes()}}const Ff=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"];function vx(n,e,i){if(n==null)return[];if(n instanceof EventTarget)return[n];if(typeof n=="string"){let a=document;const l=(i==null?void 0:i[n])??a.querySelectorAll(n);return l?Array.from(l):[]}return Array.from(n).filter(a=>a!=null)}const ef=(n,e)=>e&&typeof n=="number"?e.transform(n):n;function lc(n){return Av(n)&&"offsetHeight"in n&&!("ownerSVGElement"in n)}const{schedule:If}=Pv(queueMicrotask,!1),Bn={x:!1,y:!1};function xx(){return Bn.x||Bn.y}function dE(n){return n==="x"||n==="y"?Bn[n]?null:(Bn[n]=!0,()=>{Bn[n]=!1}):Bn.x||Bn.y?null:(Bn.x=Bn.y=!0,()=>{Bn.x=Bn.y=!1})}function wx(n,e){const i=vx(n),a=new AbortController,l={passive:!0,...e,signal:a.signal};return[i,l,()=>a.abort()]}function fE(n){return!(n.pointerType==="touch"||xx())}function mE(n,e,i={}){const[a,l,c]=wx(n,i);return a.forEach(u=>{let d=!1,m=!1,p;const y=()=>{u.removeEventListener("pointerleave",S)},v=k=>{p&&(p(k),p=void 0),y()},x=k=>{d=!1,window.removeEventListener("pointerup",x),window.removeEventListener("pointercancel",x),m&&(m=!1,v(k))},_=()=>{d=!0,window.addEventListener("pointerup",x,l),window.addEventListener("pointercancel",x,l)},S=k=>{if(k.pointerType!=="touch"){if(d){m=!0;return}v(k)}},T=k=>{if(!fE(k))return;m=!1;const C=e(u,k);typeof C=="function"&&(p=C,u.addEventListener("pointerleave",S,l))};u.addEventListener("pointerenter",T,l),u.addEventListener("pointerdown",_,l)}),c}const _x=(n,e)=>e?n===e?!0:_x(n,e.parentElement):!1,Gf=n=>n.pointerType==="mouse"?typeof n.button!="number"||n.button<=0:n.isPrimary!==!1,pE=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function gE(n){return pE.has(n.tagName)||n.isContentEditable===!0}const yE=new Set(["INPUT","SELECT","TEXTAREA"]);function bE(n){return yE.has(n.tagName)||n.isContentEditable===!0}const cc=new WeakSet;function x0(n){return e=>{e.key==="Enter"&&n(e)}}function pd(n,e){n.dispatchEvent(new PointerEvent("pointer"+e,{isPrimary:!0,bubbles:!0}))}const vE=(n,e)=>{const i=n.currentTarget;if(!i)return;const a=x0(()=>{if(cc.has(i))return;pd(i,"down");const l=x0(()=>{pd(i,"up")}),c=()=>pd(i,"cancel");i.addEventListener("keyup",l,e),i.addEventListener("blur",c,e)});i.addEventListener("keydown",a,e),i.addEventListener("blur",()=>i.removeEventListener("keydown",a),e)};function w0(n){return Gf(n)&&!xx()}const _0=new WeakSet;function xE(n,e,i={}){const[a,l,c]=wx(n,i),u=d=>{const m=d.currentTarget;if(!w0(d)||_0.has(d))return;cc.add(m),i.stopPropagation&&_0.add(d);const p=e(m,d),y={...l,capture:!0},v=(S,T)=>{window.removeEventListener("pointerup",x,y),window.removeEventListener("pointercancel",_,y),cc.has(m)&&cc.delete(m),w0(S)&&typeof p=="function"&&p(S,{success:T})},x=S=>{v(S,m===window||m===document||i.useGlobalTarget||_x(m,S.target))},_=S=>{v(S,!1)};window.addEventListener("pointerup",x,y),window.addEventListener("pointercancel",_,y)};return a.forEach(d=>{(i.useGlobalTarget?window:d).addEventListener("pointerdown",u,l),lc(d)&&(d.addEventListener("focus",p=>vE(p,l)),!gE(d)&&!d.hasAttribute("tabindex")&&(d.tabIndex=0))}),c}function Kf(n){return Av(n)&&"ownerSVGElement"in n}const uc=new WeakMap;let Ws;const Sx=(n,e,i)=>(a,l)=>l&&l[0]?l[0][n+"Size"]:Kf(a)&&"getBBox"in a?a.getBBox()[e]:a[i],wE=Sx("inline","width","offsetWidth"),_E=Sx("block","height","offsetHeight");function SE({target:n,borderBoxSize:e}){var i;(i=uc.get(n))==null||i.forEach(a=>{a(n,{get width(){return wE(n,e)},get height(){return _E(n,e)}})})}function TE(n){n.forEach(SE)}function EE(){typeof ResizeObserver>"u"||(Ws=new ResizeObserver(TE))}function AE(n,e){Ws||EE();const i=vx(n);return i.forEach(a=>{let l=uc.get(a);l||(l=new Set,uc.set(a,l)),l.add(e),Ws==null||Ws.observe(a)}),()=>{i.forEach(a=>{const l=uc.get(a);l==null||l.delete(e),l!=null&&l.size||Ws==null||Ws.unobserve(a)})}}const hc=new Set;let Va;function jE(){Va=()=>{const n={get width(){return window.innerWidth},get height(){return window.innerHeight}};hc.forEach(e=>e(n))},window.addEventListener("resize",Va)}function NE(n){return hc.add(n),Va||jE(),()=>{hc.delete(n),!hc.size&&typeof Va=="function"&&(window.removeEventListener("resize",Va),Va=void 0)}}function S0(n,e){return typeof n=="function"?NE(n):AE(n,e)}function kE(n){return Kf(n)&&n.tagName==="svg"}const CE=[...gx,bt,Pn],RE=n=>CE.find(px(n)),T0=()=>({translate:0,scale:1,origin:0,originPoint:0}),Pa=()=>({x:T0(),y:T0()}),E0=()=>({min:0,max:0}),Tt=()=>({x:E0(),y:E0()}),OE=new WeakMap;function zc(n){return n!==null&&typeof n=="object"&&typeof n.start=="function"}function uo(n){return typeof n=="string"||Array.isArray(n)}const Yf=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],Xf=["initial",...Yf];function Vc(n){return zc(n.animate)||Xf.some(e=>uo(n[e]))}function Tx(n){return!!(Vc(n)||n.variants)}function DE(n,e,i){for(const a in e){const l=e[a],c=i[a];if(Bt(l))n.addValue(a,l);else if(Bt(c))n.addValue(a,Ka(l,{owner:n}));else if(c!==l)if(n.hasValue(a)){const u=n.getValue(a);u.liveStyle===!0?u.jump(l):u.hasAnimated||u.set(l)}else{const u=n.getStaticValue(a);n.addValue(a,Ka(u!==void 0?u:l,{owner:n}))}}for(const a in i)e[a]===void 0&&n.removeValue(a);return e}const tf={current:null},Ex={current:!1},ME=typeof window<"u";function BE(){if(Ex.current=!0,!!ME)if(window.matchMedia){const n=window.matchMedia("(prefers-reduced-motion)"),e=()=>tf.current=n.matches;n.addEventListener("change",e),e()}else tf.current=!1}const A0=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];let _c={};function Ax(n){_c=n}function UE(){return _c}class LE{scrapeMotionValuesFromProps(e,i,a){return{}}constructor({parent:e,props:i,presenceContext:a,reducedMotionConfig:l,skipAnimations:c,blockInitialAnimation:u,visualState:d},m={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=Vf,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const _=Ft.now();this.renderScheduledAt<_&&(this.renderScheduledAt=_,Ke.render(this.render,!1,!0))};const{latestValues:p,renderState:y}=d;this.latestValues=p,this.baseTarget={...p},this.initialValues=i.initial?{...p}:{},this.renderState=y,this.parent=e,this.props=i,this.presenceContext=a,this.depth=e?e.depth+1:0,this.reducedMotionConfig=l,this.skipAnimationsConfig=c,this.options=m,this.blockInitialAnimation=!!u,this.isControllingVariants=Vc(i),this.isVariantNode=Tx(i),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(e&&e.current);const{willChange:v,...x}=this.scrapeMotionValuesFromProps(i,{},this);for(const _ in x){const S=x[_];p[_]!==void 0&&Bt(S)&&S.set(p[_])}}mount(e){var i,a;if(this.hasBeenMounted)for(const l in this.initialValues)(i=this.values.get(l))==null||i.jump(this.initialValues[l]),this.latestValues[l]=this.initialValues[l];this.current=e,OE.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((l,c)=>this.bindToMotionValue(c,l)),this.reducedMotionConfig==="never"?this.shouldReduceMotion=!1:this.reducedMotionConfig==="always"?this.shouldReduceMotion=!0:(Ex.current||BE(),this.shouldReduceMotion=tf.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,(a=this.parent)==null||a.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){var e;this.projection&&this.projection.unmount(),ai(this.notifyUpdate),ai(this.render),this.valueSubscriptions.forEach(i=>i()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),(e=this.parent)==null||e.removeChild(this);for(const i in this.events)this.events[i].clear();for(const i in this.features){const a=this.features[i];a&&(a.unmount(),a.isMounted=!1)}this.current=null}addChild(e){this.children.add(e),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(e)}removeChild(e){this.children.delete(e),this.enteringChildren&&this.enteringChildren.delete(e)}bindToMotionValue(e,i){if(this.valueSubscriptions.has(e)&&this.valueSubscriptions.get(e)(),i.accelerate&&ox.has(e)&&this.current instanceof HTMLElement){const{factory:u,keyframes:d,times:m,ease:p,duration:y}=i.accelerate,v=new ax({element:this.current,name:e,keyframes:d,times:m,ease:p,duration:dn(y)}),x=u(v);this.valueSubscriptions.set(e,()=>{x(),v.cancel()});return}const a=Qa.has(e);a&&this.onBindTransform&&this.onBindTransform();const l=i.on("change",u=>{this.latestValues[e]=u,this.props.onUpdate&&Ke.preRender(this.notifyUpdate),a&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let c;typeof window<"u"&&window.MotionCheckAppearSync&&(c=window.MotionCheckAppearSync(this,e,i)),this.valueSubscriptions.set(e,()=>{l(),c&&c()})}sortNodePosition(e){return!this.current||!this.sortInstanceNodePosition||this.type!==e.type?0:this.sortInstanceNodePosition(this.current,e.current)}updateFeatures(){let e="animation";for(e in _c){const i=_c[e];if(!i)continue;const{isEnabled:a,Feature:l}=i;if(!this.features[e]&&l&&a(this.props)&&(this.features[e]=new l(this)),this.features[e]){const c=this.features[e];c.isMounted?c.update():(c.mount(),c.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Tt()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,i){this.latestValues[e]=i}update(e,i){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=i;for(let a=0;ai.variantChildren.delete(e)}addValue(e,i){const a=this.values.get(e);i!==a&&(a&&this.removeValue(e),this.bindToMotionValue(e,i),this.values.set(e,i),this.latestValues[e]=i.get())}removeValue(e){this.values.delete(e);const i=this.valueSubscriptions.get(e);i&&(i(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,i){if(this.props.values&&this.props.values[e])return this.props.values[e];let a=this.values.get(e);return a===void 0&&i!==void 0&&(a=Ka(i===null?void 0:i,{owner:this}),this.addValue(e,a)),a}readValue(e,i){let a=this.latestValues[e]!==void 0||!this.current?this.latestValues[e]:this.getBaseTargetFromProps(this.props,e)??this.readValueFromInstance(this.current,e,this.options);return a!=null&&(typeof a=="string"&&(Ev(a)||jv(a))?a=parseFloat(a):!RE(a)&&Pn.test(i)&&(a=bx(e,i)),this.setBaseTarget(e,Bt(a)?a.get():a)),Bt(a)?a.get():a}setBaseTarget(e,i){this.baseTarget[e]=i}getBaseTarget(e){var c;const{initial:i}=this.props;let a;if(typeof i=="string"||typeof i=="object"){const u=$f(this.props,i,(c=this.presenceContext)==null?void 0:c.custom);u&&(a=u[e])}if(i&&a!==void 0)return a;const l=this.getBaseTargetFromProps(this.props,e);return l!==void 0&&!Bt(l)?l:this.initialValues[e]!==void 0&&a===void 0?void 0:this.baseTarget[e]}on(e,i){return this.events[e]||(this.events[e]=new Cf),this.events[e].add(i)}notify(e,...i){this.events[e]&&this.events[e].notify(...i)}scheduleRenderMicrotask(){If.render(this.render)}}class jx extends LE{constructor(){super(...arguments),this.KeyframeResolver=hE}sortInstanceNodePosition(e,i){return e.compareDocumentPosition(i)&2?1:-1}getBaseTargetFromProps(e,i){const a=e.style;return a?a[i]:void 0}removeValueFromRenderState(e,{vars:i,style:a}){delete i[e],delete a[e]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:e}=this.props;Bt(e)&&(this.childSubscription=e.on("change",i=>{this.current&&(this.current.textContent=`${i}`)}))}}class ri{constructor(e){this.isMounted=!1,this.node=e}update(){}}function Nx({top:n,left:e,right:i,bottom:a}){return{x:{min:e,max:i},y:{min:n,max:a}}}function zE({x:n,y:e}){return{top:e.min,right:n.max,bottom:e.max,left:n.min}}function VE(n,e){if(!e)return n;const i=e({x:n.left,y:n.top}),a=e({x:n.right,y:n.bottom});return{top:i.y,left:i.x,bottom:a.y,right:a.x}}function gd(n){return n===void 0||n===1}function nf({scale:n,scaleX:e,scaleY:i}){return!gd(n)||!gd(e)||!gd(i)}function Ri(n){return nf(n)||kx(n)||n.z||n.rotate||n.rotateX||n.rotateY||n.skewX||n.skewY}function kx(n){return j0(n.x)||j0(n.y)}function j0(n){return n&&n!=="0%"}function Sc(n,e,i){const a=n-i,l=e*a;return i+l}function N0(n,e,i,a,l){return l!==void 0&&(n=Sc(n,l,a)),Sc(n,i,a)+e}function sf(n,e=0,i=1,a,l){n.min=N0(n.min,e,i,a,l),n.max=N0(n.max,e,i,a,l)}function Cx(n,{x:e,y:i}){sf(n.x,e.translate,e.scale,e.originPoint),sf(n.y,i.translate,i.scale,i.originPoint)}const k0=.999999999999,C0=1.0000000000001;function PE(n,e,i,a=!1){var d;const l=i.length;if(!l)return;e.x=e.y=1;let c,u;for(let m=0;mk0&&(e.x=1),e.yk0&&(e.y=1)}function Xn(n,e){n.min+=e,n.max+=e}function R0(n,e,i,a,l=.5){const c=Ge(n.min,n.max,l);sf(n,e,i,c,a)}function O0(n,e){return typeof n=="string"?parseFloat(n)/100*(e.max-e.min):n}function dc(n,e,i){const a=i??n;R0(n.x,O0(e.x,a.x),e.scaleX,e.scale,e.originX),R0(n.y,O0(e.y,a.y),e.scaleY,e.scale,e.originY)}function Rx(n,e){return Nx(VE(n.getBoundingClientRect(),e))}function HE(n,e,i){const a=Rx(n,i),{scroll:l}=e;return l&&(Xn(a.x,l.offset.x),Xn(a.y,l.offset.y)),a}const $E={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},qE=Ja.length;function FE(n,e,i){let a="",l=!0;for(let u=0;u{if(!e.target)return n;if(typeof n=="string")if(oe.test(n))n=parseFloat(n);else return n;const i=D0(n,e.target.x),a=D0(n,e.target.y);return`${i}% ${a}%`}},IE={correct:(n,{treeScale:e,projectionDelta:i})=>{const a=n,l=Pn.parse(n);if(l.length>5)return a;const c=Pn.createTransformer(n),u=typeof l[0]!="number"?1:0,d=i.x.scale*e.x,m=i.y.scale*e.y;l[0+u]/=d,l[1+u]/=m;const p=Ge(d,m,.5);return typeof l[2+u]=="number"&&(l[2+u]/=p),typeof l[3+u]=="number"&&(l[3+u]/=p),c(l)}},af={borderRadius:{...Ir,applyTo:[...Ff]},borderTopLeftRadius:Ir,borderTopRightRadius:Ir,borderBottomLeftRadius:Ir,borderBottomRightRadius:Ir,boxShadow:IE};function Dx(n,{layout:e,layoutId:i}){return Qa.has(n)||n.startsWith("origin")||(e||i!==void 0)&&(!!af[n]||n==="opacity")}function Qf(n,e,i){var u;const a=n.style,l=e==null?void 0:e.style,c={};if(!a)return c;for(const d in a)(Bt(a[d])||l&&Bt(l[d])||Dx(d,n)||((u=i==null?void 0:i.getValue(d))==null?void 0:u.liveStyle)!==void 0)&&(c[d]=a[d]);return c}function GE(n){return window.getComputedStyle(n)}class KE extends jx{constructor(){super(...arguments),this.type="html",this.renderInstance=Ox}readValueFromInstance(e,i){var a;if(Qa.has(i))return(a=this.projection)!=null&&a.isProjecting?qd(i):fT(e,i);{const l=GE(e),c=($v(i)?l.getPropertyValue(i):l[i])||0;return typeof c=="string"?c.trim():c}}measureInstanceViewportBox(e,{transformPagePoint:i}){return Rx(e,i)}build(e,i,a){Jf(e,i,a.transformTemplate)}scrapeMotionValuesFromProps(e,i,a){return Qf(e,i,a)}}const YE={offset:"stroke-dashoffset",array:"stroke-dasharray"},XE={offset:"strokeDashoffset",array:"strokeDasharray"};function JE(n,e,i=1,a=0,l=!0){n.pathLength=1;const c=l?YE:XE;n[c.offset]=`${-a}`,n[c.array]=`${e} ${i}`}const QE=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function Mx(n,{attrX:e,attrY:i,attrScale:a,pathLength:l,pathSpacing:c=1,pathOffset:u=0,...d},m,p,y){if(Jf(n,d,p),m){n.style.viewBox&&(n.attrs.viewBox=n.style.viewBox);return}n.attrs=n.style,n.style={};const{attrs:v,style:x}=n;v.transform&&(x.transform=v.transform,delete v.transform),(x.transform||v.transformOrigin)&&(x.transformOrigin=v.transformOrigin??"50% 50%",delete v.transformOrigin),x.transform&&(x.transformBox=(y==null?void 0:y.transformBox)??"fill-box",delete v.transformBox);for(const _ of QE)v[_]!==void 0&&(x[_]=v[_],delete v[_]);e!==void 0&&(v.x=e),i!==void 0&&(v.y=i),a!==void 0&&(v.scale=a),l!==void 0&&JE(v,l,c,u,!1)}const Bx=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"]),Ux=n=>typeof n=="string"&&n.toLowerCase()==="svg";function ZE(n,e,i,a){Ox(n,e,void 0,a);for(const l in e.attrs)n.setAttribute(Bx.has(l)?l:qf(l),e.attrs[l])}function Lx(n,e,i){const a=Qf(n,e,i);for(const l in n)if(Bt(n[l])||Bt(e[l])){const c=Ja.indexOf(l)!==-1?"attr"+l.charAt(0).toUpperCase()+l.substring(1):l;a[c]=n[l]}return a}class WE extends jx{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=Tt}getBaseTargetFromProps(e,i){return e[i]}readValueFromInstance(e,i){if(Qa.has(i)){const a=yx(i);return a&&a.default||0}return i=Bx.has(i)?i:qf(i),e.getAttribute(i)}scrapeMotionValuesFromProps(e,i,a){return Lx(e,i,a)}build(e,i,a){Mx(e,i,this.isSVGTag,a.transformTemplate,a.style)}renderInstance(e,i,a,l){ZE(e,i,a,l)}mount(e){this.isSVGTag=Ux(e.tagName),super.mount(e)}}const eA=Xf.length;function zx(n){if(!n)return;if(!n.isControllingVariants){const i=n.parent?zx(n.parent)||{}:{};return n.props.initial!==void 0&&(i.initial=n.props.initial),i}const e={};for(let i=0;iPromise.all(e.map(({animation:i,options:a})=>eE(n,i,a)))}function iA(n){let e=sA(n),i=M0(),a=!0,l=!1;const c=p=>(y,v)=>{var _;const x=Li(n,v,p==="exit"?(_=n.presenceContext)==null?void 0:_.custom:void 0);if(x){const{transition:S,transitionEnd:T,...k}=x;y={...y,...k,...T}}return y};function u(p){e=p(n)}function d(p){const{props:y}=n,v=zx(n.parent)||{},x=[],_=new Set;let S={},T=1/0;for(let C=0;CT&&Y,Q=!1;const ce=Array.isArray(z)?z:[z];let me=ce.reduce(c(M),{});Z===!1&&(me={});const{prevResolvedValues:_e={}}=N,Re={..._e,...me},Se=W=>{ne=!0,_.has(W)&&(Q=!0,_.delete(W)),N.needsAnimating[W]=!0;const pe=n.getValue(W);pe&&(pe.liveStyle=!1)};for(const W in Re){const pe=me[W],ae=_e[W];if(S.hasOwnProperty(W))continue;let E=!1;Xd(pe)&&Xd(ae)?E=!Vx(pe,ae)||G:E=pe!==ae,E?pe!=null?Se(W):_.add(W):pe!==void 0&&_.has(W)?Se(W):N.protectedKeys[W]=!0}N.prevProp=z,N.prevResolvedValues=me,N.isActive&&(S={...S,...me}),(a||l)&&n.blockInitialAnimation&&(ne=!1);const V=F&&G;ne&&(!V||Q)&&x.push(...ce.map(W=>{const pe={type:M};if(typeof W=="string"&&(a||l)&&!V&&n.manuallyAnimateOnMount&&n.parent){const{parent:ae}=n,E=Li(ae,W);if(ae.enteringChildren&&E){const{delayChildren:P}=E.transition||{};pe.delay=lx(ae.enteringChildren,n,P)}}return{animation:W,options:pe}}))}if(_.size){const C={};if(typeof y.initial!="boolean"){const M=Li(n,Array.isArray(y.initial)?y.initial[0]:y.initial);M&&M.transition&&(C.transition=M.transition)}_.forEach(M=>{const N=n.getBaseTarget(M),z=n.getValue(M);z&&(z.liveStyle=!0),C[M]=N??null}),x.push({animation:C})}let k=!!x.length;return a&&(y.initial===!1||y.initial===y.animate)&&!n.manuallyAnimateOnMount&&(k=!1),a=!1,l=!1,k?e(x):Promise.resolve()}function m(p,y){var x;if(i[p].isActive===y)return Promise.resolve();(x=n.variantChildren)==null||x.forEach(_=>{var S;return(S=_.animationState)==null?void 0:S.setActive(p,y)}),i[p].isActive=y;const v=d(p);for(const _ in i)i[_].protectedKeys={};return v}return{animateChanges:d,setActive:m,setAnimateFunction:u,getState:()=>i,reset:()=>{i=M0(),l=!0}}}function aA(n,e){return typeof e=="string"?e!==n:Array.isArray(e)?!Vx(e,n):!1}function Ni(n=!1){return{isActive:n,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function M0(){return{animate:Ni(!0),whileInView:Ni(),whileHover:Ni(),whileTap:Ni(),whileDrag:Ni(),whileFocus:Ni(),exit:Ni()}}function rf(n,e){n.min=e.min,n.max=e.max}function Dn(n,e){rf(n.x,e.x),rf(n.y,e.y)}function B0(n,e){n.translate=e.translate,n.scale=e.scale,n.originPoint=e.originPoint,n.origin=e.origin}const Px=1e-4,rA=1-Px,oA=1+Px,Hx=.01,lA=0-Hx,cA=0+Hx;function It(n){return n.max-n.min}function uA(n,e,i){return Math.abs(n-e)<=i}function U0(n,e,i,a=.5){n.origin=a,n.originPoint=Ge(e.min,e.max,n.origin),n.scale=It(i)/It(e),n.translate=Ge(i.min,i.max,n.origin)-n.originPoint,(n.scale>=rA&&n.scale<=oA||isNaN(n.scale))&&(n.scale=1),(n.translate>=lA&&n.translate<=cA||isNaN(n.translate))&&(n.translate=0)}function no(n,e,i,a){U0(n.x,e.x,i.x,a?a.originX:void 0),U0(n.y,e.y,i.y,a?a.originY:void 0)}function L0(n,e,i,a=0){const l=a?Ge(i.min,i.max,a):i.min;n.min=l+e.min,n.max=n.min+It(e)}function hA(n,e,i,a){L0(n.x,e.x,i.x,a==null?void 0:a.x),L0(n.y,e.y,i.y,a==null?void 0:a.y)}function z0(n,e,i,a=0){const l=a?Ge(i.min,i.max,a):i.min;n.min=e.min-l,n.max=n.min+It(e)}function Tc(n,e,i,a){z0(n.x,e.x,i.x,a==null?void 0:a.x),z0(n.y,e.y,i.y,a==null?void 0:a.y)}function V0(n,e,i,a,l){return n-=e,n=Sc(n,1/i,a),l!==void 0&&(n=Sc(n,1/l,a)),n}function dA(n,e=0,i=1,a=.5,l,c=n,u=n){if(Qn.test(e)&&(e=parseFloat(e),e=Ge(u.min,u.max,e/100)-u.min),typeof e!="number")return;let d=Ge(c.min,c.max,a);n===c&&(d-=e),n.min=V0(n.min,e,i,d,l),n.max=V0(n.max,e,i,d,l)}function P0(n,e,[i,a,l],c,u){dA(n,e[i],e[a],e[l],e.scale,c,u)}const fA=["x","scaleX","originX"],mA=["y","scaleY","originY"];function H0(n,e,i,a){P0(n.x,e,fA,i?i.x:void 0,a?a.x:void 0),P0(n.y,e,mA,i?i.y:void 0,a?a.y:void 0)}function $0(n){return n.translate===0&&n.scale===1}function $x(n){return $0(n.x)&&$0(n.y)}function q0(n,e){return n.min===e.min&&n.max===e.max}function pA(n,e){return q0(n.x,e.x)&&q0(n.y,e.y)}function F0(n,e){return Math.round(n.min)===Math.round(e.min)&&Math.round(n.max)===Math.round(e.max)}function qx(n,e){return F0(n.x,e.x)&&F0(n.y,e.y)}function I0(n){return It(n.x)/It(n.y)}function G0(n,e){return n.translate===e.translate&&n.scale===e.scale&&n.originPoint===e.originPoint}function Kn(n){return[n("x"),n("y")]}function gA(n,e,i){let a="";const l=n.x.translate/e.x,c=n.y.translate/e.y,u=(i==null?void 0:i.z)||0;if((l||c||u)&&(a=`translate3d(${l}px, ${c}px, ${u}px) `),(e.x!==1||e.y!==1)&&(a+=`scale(${1/e.x}, ${1/e.y}) `),i){const{transformPerspective:p,rotate:y,pathRotation:v,rotateX:x,rotateY:_,skewX:S,skewY:T}=i;p&&(a=`perspective(${p}px) ${a}`),y&&(a+=`rotate(${y}deg) `),v&&(a+=`rotate(${v}deg) `),x&&(a+=`rotateX(${x}deg) `),_&&(a+=`rotateY(${_}deg) `),S&&(a+=`skewX(${S}deg) `),T&&(a+=`skewY(${T}deg) `)}const d=n.x.scale*e.x,m=n.y.scale*e.y;return(d!==1||m!==1)&&(a+=`scale(${d}, ${m})`),a||"none"}const yA=Ff.length,K0=n=>typeof n=="string"?parseFloat(n):n,Y0=n=>typeof n=="number"||oe.test(n);function bA(n,e,i,a,l,c){l?(n.opacity=Ge(0,i.opacity??1,vA(a)),n.opacityExit=Ge(e.opacity??1,0,xA(a))):c&&(n.opacity=Ge(e.opacity??1,i.opacity??1,a));for(let u=0;uae?1:i(lo(n,e,a))}function wA(n,e,i){const a=Bt(n)?n:Ka(n);return a.start(Hf("",a,e,i)),a.animation}function ho(n,e,i,a={passive:!0}){return n.addEventListener(e,i,a),()=>n.removeEventListener(e,i,a)}const _A=(n,e)=>n.depth-e.depth;class SA{constructor(){this.children=[],this.isDirty=!1}add(e){Nf(this.children,e),this.isDirty=!0}remove(e){gc(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(_A),this.isDirty=!1,this.children.forEach(e)}}function TA(n,e){const i=Ft.now(),a=({timestamp:l})=>{const c=l-i;c>=e&&(ai(a),n(c-e))};return Ke.setup(a,!0),()=>ai(a)}function fc(n){return Bt(n)?n.get():n}class EA{constructor(){this.members=[]}add(e){Nf(this.members,e);for(let i=this.members.length-1;i>=0;i--){const a=this.members[i];if(a===e||a===this.lead||a===this.prevLead)continue;const l=a.instance;(!l||l.isConnected===!1)&&!a.snapshot&&(gc(this.members,a),a.unmount())}e.scheduleRender()}remove(e){if(gc(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){const i=this.members[this.members.length-1];i&&this.promote(i)}}relegate(e){var i;for(let a=this.members.indexOf(e)-1;a>=0;a--){const l=this.members[a];if(l.isPresent!==!1&&((i=l.instance)==null?void 0:i.isConnected)!==!1)return this.promote(l),!0}return!1}promote(e,i){var l;const a=this.lead;if(e!==a&&(this.prevLead=a,this.lead=e,e.show(),a)){a.updateSnapshot(),e.scheduleRender();const{layoutDependency:c}=a.options,{layoutDependency:u}=e.options;(c===void 0||c!==u)&&(e.resumeFrom=a,i&&(a.preserveOpacity=!0),a.snapshot&&(e.snapshot=a.snapshot,e.snapshot.latestValues=a.animationValues||a.latestValues),(l=e.root)!=null&&l.isUpdating&&(e.isLayoutDirty=!0)),e.options.crossfade===!1&&a.hide()}}exitAnimationComplete(){this.members.forEach(e=>{var i,a,l,c,u;(a=(i=e.options).onExitComplete)==null||a.call(i),(u=(l=e.resumingFrom)==null?void 0:(c=l.options).onExitComplete)==null||u.call(c)})}scheduleRender(){this.members.forEach(e=>e.instance&&e.scheduleRender(!1))}removeLeadSnapshot(){var e;(e=this.lead)!=null&&e.snapshot&&(this.lead.snapshot=void 0)}}const mc={hasAnimatedSinceResize:!0,hasEverUpdated:!1},yd=["","X","Y","Z"],AA=1e3;let jA=0;function bd(n,e,i,a){const{latestValues:l}=e;l[n]&&(i[n]=l[n],e.setStaticValue(n,0),a&&(a[n]=0))}function Ix(n){if(n.hasCheckedOptimisedAppear=!0,n.root===n)return;const{visualElement:e}=n.options;if(!e)return;const i=fx(e);if(window.MotionHasOptimisedAnimation(i,"transform")){const{layout:l,layoutId:c}=n.options;window.MotionCancelOptimisedAnimation(i,"transform",Ke,!(l||c))}const{parent:a}=n;a&&!a.hasCheckedOptimisedAppear&&Ix(a)}function Gx({attachResizeListener:n,defaultParent:e,measureScroll:i,checkIsScrollRoot:a,resetTransform:l}){return class{constructor(u={},d=e==null?void 0:e()){this.id=jA++,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(CA),this.nodes.forEach(UA),this.nodes.forEach(LA),this.nodes.forEach(RA)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=u,this.root=d?d.root||d:this,this.path=d?[...d.path,d]:[],this.parent=d,this.depth=d?d.depth+1:0;for(let m=0;mthis.root.updateBlockedByResize=!1;Ke.read(()=>{v=window.innerWidth}),n(u,()=>{const _=window.innerWidth;_!==v&&(v=_,this.root.updateBlockedByResize=!0,y&&y(),y=TA(x,250),mc.hasAnimatedSinceResize&&(mc.hasAnimatedSinceResize=!1,this.nodes.forEach(Z0)))})}d&&this.root.registerSharedNode(d,this),this.options.animate!==!1&&p&&(d||m)&&this.addEventListener("didUpdate",({delta:y,hasLayoutChanged:v,hasRelativeLayoutChanged:x,layout:_})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const S=this.options.transition||p.getDefaultTransition()||$A,{onLayoutAnimationStart:T,onLayoutAnimationComplete:k}=p.getProps(),C=!this.targetLayout||!qx(this.targetLayout,_),M=!v&&x;if(this.options.layoutRoot||this.resumeFrom||M||v&&(C||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const N={...Pf(S,"layout"),onPlay:T,onComplete:k};(p.shouldReduceMotion||this.options.layoutRoot)&&(N.delay=0,N.type=!1),this.startAnimation(N),this.setAnimationOrigin(y,M,N.path)}else v||Z0(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=_})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const u=this.getStack();u&&u.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),ai(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(zA),this.animationId++)}getTransformTemplate(){const{visualElement:u}=this.options;return u&&u.getProps().transformTemplate}willUpdate(u=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&Ix(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&&!It(this.snapshot.measuredBox.x)&&!It(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let m=0;m{const F=Z/1e3,G=Y==null?void 0:Y(F);G?(x.x.translate=G.x,x.x.scale=Ge(u.x.scale,1,F),x.x.origin=u.x.origin,x.x.originPoint=u.x.originPoint,x.y.translate=G.y,x.y.scale=Ge(u.y.scale,1,F),x.y.origin=u.y.origin,x.y.originPoint=u.y.originPoint):(W0(x.x,u.x,F),W0(x.y,u.y,F)),this.setTargetDelta(x),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Tc(_,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),PA(this.relativeTarget,this.relativeTargetOrigin,_,F),z&&pA(this.relativeTarget,z)&&(this.isProjectionDirty=!1),z||(z=Tt()),Dn(z,this.relativeTarget)),k&&(this.animationValues=v,bA(v,y,this.latestValues,F,N,M)),G&&G.rotate!==void 0&&(this.animationValues||(this.animationValues=v),this.animationValues.pathRotation=G.rotate),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=F},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(u){var d,m,p;this.notifyListeners("animationStart"),(d=this.currentAnimation)==null||d.stop(),(p=(m=this.resumingFrom)==null?void 0:m.currentAnimation)==null||p.stop(),this.pendingAnimation&&(ai(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=Ke.update(()=>{mc.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=Ka(0)),this.motionValue.jump(0,!1),this.currentAnimation=wA(this.motionValue,[0,1e3],{...u,velocity:0,isSync:!0,onUpdate:y=>{this.mixTargetDelta(y),u.onUpdate&&u.onUpdate(y)},onComplete:()=>{u.onComplete&&u.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 u=this.getStack();u&&u.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(AA),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const u=this.getLead();let{targetWithTransforms:d,target:m,layout:p,latestValues:y}=u;if(!(!d||!m||!p)){if(this!==u&&this.layout&&p&&Kx(this.options.animationType,this.layout.layoutBox,p.layoutBox)){m=this.target||Tt();const v=It(this.layout.layoutBox.x);m.x.min=u.target.x.min,m.x.max=m.x.min+v;const x=It(this.layout.layoutBox.y);m.y.min=u.target.y.min,m.y.max=m.y.min+x}Dn(d,m),dc(d,y),no(this.projectionDeltaWithTransform,this.layoutCorrected,d,y)}}registerSharedNode(u,d){this.sharedNodes.has(u)||this.sharedNodes.set(u,new EA),this.sharedNodes.get(u).add(d);const p=d.options.initialPromotionConfig;d.promote({transition:p?p.transition:void 0,preserveFollowOpacity:p&&p.shouldPreserveFollowOpacity?p.shouldPreserveFollowOpacity(d):void 0})}isLead(){const u=this.getStack();return u?u.lead===this:!0}getLead(){var d;const{layoutId:u}=this.options;return u?((d=this.getStack())==null?void 0:d.lead)||this:this}getPrevLead(){var d;const{layoutId:u}=this.options;return u?(d=this.getStack())==null?void 0:d.prevLead:void 0}getStack(){const{layoutId:u}=this.options;if(u)return this.root.sharedNodes.get(u)}promote({needsReset:u,transition:d,preserveFollowOpacity:m}={}){const p=this.getStack();p&&p.promote(this,m),u&&(this.projectionDelta=void 0,this.needsReset=!0),d&&this.setOptions({transition:d})}relegate(){const u=this.getStack();return u?u.relegate(this):!1}resetSkewAndRotation(){const{visualElement:u}=this.options;if(!u)return;let d=!1;const{latestValues:m}=u;if((m.z||m.rotate||m.rotateX||m.rotateY||m.rotateZ||m.skewX||m.skewY)&&(d=!0),!d)return;const p={};m.z&&bd("z",u,p,this.animationValues);for(let y=0;y{var d;return(d=u.currentAnimation)==null?void 0:d.stop()}),this.root.nodes.forEach(J0),this.root.sharedNodes.clear()}}}function NA(n){n.updateLayout()}function kA(n){var i;const e=((i=n.resumeFrom)==null?void 0:i.snapshot)||n.snapshot;if(n.isLead()&&n.layout&&e&&n.hasListeners("didUpdate")){const{layoutBox:a,measuredBox:l}=n.layout,{animationType:c}=n.options,u=e.source!==n.layout.source;if(c==="size")Kn(v=>{const x=u?e.measuredBox[v]:e.layoutBox[v],_=It(x);x.min=a[v].min,x.max=x.min+_});else if(c==="x"||c==="y"){const v=c==="x"?"y":"x";rf(u?e.measuredBox[v]:e.layoutBox[v],a[v])}else Kx(c,e.layoutBox,a)&&Kn(v=>{const x=u?e.measuredBox[v]:e.layoutBox[v],_=It(a[v]);x.max=x.min+_,n.relativeTarget&&!n.currentAnimation&&(n.isProjectionDirty=!0,n.relativeTarget[v].max=n.relativeTarget[v].min+_)});const d=Pa();no(d,a,e.layoutBox);const m=Pa();u?no(m,n.applyTransform(l,!0),e.measuredBox):no(m,a,e.layoutBox);const p=!$x(d);let y=!1;if(!n.resumeFrom){const v=n.getClosestProjectingParent();if(v&&!v.resumeFrom){const{snapshot:x,layout:_}=v;if(x&&_){const S=n.options.layoutAnchor||void 0,T=Tt();Tc(T,e.layoutBox,x.layoutBox,S);const k=Tt();Tc(k,a,_.layoutBox,S),qx(T,k)||(y=!0),v.options.layoutRoot&&(n.relativeTarget=k,n.relativeTargetOrigin=T,n.relativeParent=v)}}}n.notifyListeners("didUpdate",{layout:a,snapshot:e,delta:m,layoutDelta:d,hasLayoutChanged:p,hasRelativeLayoutChanged:y})}else if(n.isLead()){const{onExitComplete:a}=n.options;a&&a()}n.options.transition=void 0}function CA(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 RA(n){n.isProjectionDirty=n.isSharedProjectionDirty=n.isTransformDirty=!1}function OA(n){n.clearSnapshot()}function J0(n){n.clearMeasurements()}function DA(n){n.isLayoutDirty=!0,n.updateLayout()}function Q0(n){n.isLayoutDirty=!1}function MA(n){n.isAnimationBlocked&&n.layout&&!n.isLayoutDirty&&(n.snapshot=n.layout,n.isLayoutDirty=!0)}function BA(n){const{visualElement:e}=n.options;e&&e.getProps().onBeforeLayoutMeasure&&e.notify("BeforeLayoutMeasure"),n.resetTransform()}function Z0(n){n.finishAnimation(),n.targetDelta=n.relativeTarget=n.target=void 0,n.isProjectionDirty=!0}function UA(n){n.resolveTargetDelta()}function LA(n){n.calcProjection()}function zA(n){n.resetSkewAndRotation()}function VA(n){n.removeLeadSnapshot()}function W0(n,e,i){n.translate=Ge(e.translate,0,i),n.scale=Ge(e.scale,1,i),n.origin=e.origin,n.originPoint=e.originPoint}function eb(n,e,i,a){n.min=Ge(e.min,i.min,a),n.max=Ge(e.max,i.max,a)}function PA(n,e,i,a){eb(n.x,e.x,i.x,a),eb(n.y,e.y,i.y,a)}function HA(n){return n.animationValues&&n.animationValues.opacityExit!==void 0}const $A={duration:.45,ease:[.4,0,.1,1]},tb=n=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(n),nb=tb("applewebkit/")&&!tb("chrome/")?Math.round:jn;function sb(n){n.min=nb(n.min),n.max=nb(n.max)}function qA(n){sb(n.x),sb(n.y)}function Kx(n,e,i){return n==="position"||n==="preserve-aspect"&&!uA(I0(e),I0(i),.2)}function FA(n){var e;return n!==n.root&&((e=n.scroll)==null?void 0:e.wasRoot)}const IA=Gx({attachResizeListener:(n,e)=>ho(n,"resize",e),measureScroll:()=>{var n,e;return{x:document.documentElement.scrollLeft||((n=document.body)==null?void 0:n.scrollLeft)||0,y:document.documentElement.scrollTop||((e=document.body)==null?void 0:e.scrollTop)||0}},checkIsScrollRoot:()=>!0}),vd={current:void 0},Yx=Gx({measureScroll:n=>({x:n.scrollLeft,y:n.scrollTop}),defaultParent:()=>{if(!vd.current){const n=new IA({});n.mount(window),n.setOptions({layoutScroll:!0}),vd.current=n}return vd.current},resetTransform:(n,e)=>{n.style.transform=e!==void 0?e:"none"},checkIsScrollRoot:n=>window.getComputedStyle(n).position==="fixed"}),Zf=D.createContext({transformPagePoint:n=>n,isStatic:!1,reducedMotion:"never"});function ib(n,e){if(typeof n=="function")return n(e);n!=null&&(n.current=e)}function GA(...n){return e=>{let i=!1;const a=n.map(l=>{const c=ib(l,e);return!i&&typeof c=="function"&&(i=!0),c});if(i)return()=>{for(let l=0;l{const{width:_,height:S,top:T,left:k,right:C,bottom:M,direction:N}=m.current;if(e||c===!1||!d.current||!_||!S)return;const z=N==="rtl",Y=i==="left"?z?`right: ${C}`:`left: ${k}`:z?`left: ${k}`:`right: ${C}`,Z=a==="bottom"?`bottom: ${M}`:`top: ${T}`;d.current.dataset.motionPopId=u;const F=document.createElement("style");p&&(F.nonce=p);const G=l??document.head;return G.appendChild(F),F.sheet&&F.sheet.insertRule(` + [data-motion-pop-id="${u}"] { + position: absolute !important; + width: ${_}px !important; + height: ${S}px !important; + ${Y}px !important; + ${Z}px !important; + } + `),()=>{var ne;(ne=d.current)==null||ne.removeAttribute("data-motion-pop-id"),G.contains(F)&&G.removeChild(F)}},[e]),g.jsx(YA,{isPresent:e,childRef:d,sizeRef:m,pop:c,children:c===!1?n:D.cloneElement(n,{ref:v})})}const JA=({children:n,initial:e,isPresent:i,onExitComplete:a,custom:l,presenceAffectsLayout:c,mode:u,anchorX:d,anchorY:m,root:p})=>{const y=Af(QA),v=D.useId(),x=D.useRef(i),_=D.useRef(a);jf(()=>{x.current=i,_.current=a});let S=!0,T=D.useMemo(()=>(S=!1,{id:v,initial:e,isPresent:i,custom:l,onExitComplete:k=>{y.set(k,!0);for(const C of y.values())if(!C)return;a&&a()},register:k=>(y.set(k,!1),()=>{var C;y.delete(k),!x.current&&!y.size&&((C=_.current)==null||C.call(_))})}),[i,y,a]);return c&&S&&(T={...T}),D.useMemo(()=>{y.forEach((k,C)=>y.set(C,!1))},[i]),D.useEffect(()=>{!i&&!y.size&&a&&a()},[i]),n=g.jsx(XA,{pop:u==="popLayout",isPresent:i,anchorX:d,anchorY:m,root:p,children:n}),g.jsx(Uc.Provider,{value:T,children:n})};function QA(){return new Map}function Xx(n=!0){const e=D.useContext(Uc);if(e===null)return[!0,null];const{isPresent:i,onExitComplete:a,register:l}=e,c=D.useId();D.useEffect(()=>{if(n)return l(c)},[n]);const u=D.useCallback(()=>n&&a&&a(c),[c,a,n]);return!i&&a?[!1,u]:[!0]}const Kl=n=>n.key||"";function ab(n){const e=[];return D.Children.forEach(n,i=>{D.isValidElement(i)&&e.push(i)}),e}const ei=({children:n,custom:e,initial:i=!0,onExitComplete:a,presenceAffectsLayout:l=!0,mode:c="sync",propagate:u=!1,anchorX:d="left",anchorY:m="top",root:p})=>{const[y,v]=Xx(u),x=D.useMemo(()=>ab(n),[n]),_=u&&!y?[]:x.map(Kl),S=D.useRef(!0),T=D.useRef(x),k=Af(()=>new Map),C=D.useRef(new Set),[M,N]=D.useState(x),[z,Y]=D.useState(x);jf(()=>{S.current=!1,T.current=x;for(let G=0;G{const ne=Kl(G),Q=u&&!y?!1:x===z||_.includes(ne),ce=()=>{if(C.current.has(ne))return;if(k.has(ne))C.current.add(ne),k.set(ne,!0);else return;let me=!0;k.forEach(_e=>{_e||(me=!1)}),me&&(F==null||F(),Y(T.current),u&&(v==null||v()),a&&a())};return g.jsx(JA,{isPresent:Q,initial:!S.current||i?void 0:!1,custom:e,presenceAffectsLayout:l,mode:c,root:p,onExitComplete:Q?void 0:ce,anchorX:d,anchorY:m,children:G},ne)})})},Jx=D.createContext({strict:!1}),rb={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 ob=!1;function ZA(){if(ob)return;const n={};for(const e in rb)n[e]={isEnabled:i=>rb[e].some(a=>!!i[a])};Ax(n),ob=!0}function Qx(){return ZA(),UE()}function WA(n){const e=Qx();for(const i in n)e[i]={...e[i],...n[i]};Ax(e)}const e2=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 Ec(n){return n.startsWith("while")||n.startsWith("drag")&&n!=="draggable"||n.startsWith("layout")||n.startsWith("onTap")||n.startsWith("onPan")||n.startsWith("onLayout")||e2.has(n)}let Zx=n=>!Ec(n);function t2(n){typeof n=="function"&&(Zx=e=>e.startsWith("on")?!Ec(e):n(e))}try{t2(require("@emotion/is-prop-valid").default)}catch{}function n2(n,e,i){const a={};for(const l in n)l==="values"&&typeof n.values=="object"||Bt(n[l])||(Zx(l)||i===!0&&Ec(l)||!e&&!Ec(l)||n.draggable&&l.startsWith("onDrag"))&&(a[l]=n[l]);return a}const Pc=D.createContext({});function s2(n,e){if(Vc(n)){const{initial:i,animate:a}=n;return{initial:i===!1||uo(i)?i:void 0,animate:uo(a)?a:void 0}}return n.inherit!==!1?e:{}}function i2(n){const{initial:e,animate:i}=s2(n,D.useContext(Pc));return D.useMemo(()=>({initial:e,animate:i}),[lb(e),lb(i)])}function lb(n){return Array.isArray(n)?n.join(" "):n}const Wf=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function Wx(n,e,i){for(const a in e)!Bt(e[a])&&!Dx(a,i)&&(n[a]=e[a])}function a2({transformTemplate:n},e){return D.useMemo(()=>{const i=Wf();return Jf(i,e,n),Object.assign({},i.vars,i.style)},[e])}function r2(n,e){const i=n.style||{},a={};return Wx(a,i,n),Object.assign(a,a2(n,e)),a}function o2(n,e){const i={},a=r2(n,e);return n.drag&&n.dragListener!==!1&&(i.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)&&(i.tabIndex=0),i.style=a,i}const ew=()=>({...Wf(),attrs:{}});function l2(n,e,i,a){const l=D.useMemo(()=>{const c=ew();return Mx(c,e,Ux(a),n.transformTemplate,n.style),{...c.attrs,style:{...c.style}}},[e]);if(n.style){const c={};Wx(c,n.style,n),l.style={...c,...l.style}}return l}const c2=["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 em(n){return typeof n!="string"||n.includes("-")?!1:!!(c2.indexOf(n)>-1||/[A-Z]/u.test(n))}function u2(n,e,i,{latestValues:a},l,c=!1,u){const m=(u??em(n)?l2:o2)(e,a,l,n),p=n2(e,typeof n=="string",c),y=n!==D.Fragment?{...p,...m,ref:i}:{},{children:v}=e,x=D.useMemo(()=>Bt(v)?v.get():v,[v]);return D.createElement(n,{...y,children:x})}function h2({scrapeMotionValuesFromProps:n,createRenderState:e},i,a,l){return{latestValues:d2(i,a,l,n),renderState:e()}}function d2(n,e,i,a){const l={},c=a(n,{});for(const x in c)l[x]=fc(c[x]);let{initial:u,animate:d}=n;const m=Vc(n),p=Tx(n);e&&p&&!m&&n.inherit!==!1&&(u===void 0&&(u=e.initial),d===void 0&&(d=e.animate));let y=i?i.initial===!1:!1;y=y||u===!1;const v=y?d:u;if(v&&typeof v!="boolean"&&!zc(v)){const x=Array.isArray(v)?v:[v];for(let _=0;_(e,i)=>{const a=D.useContext(Pc),l=D.useContext(Uc),c=()=>h2(n,e,a,l);return i?c():Af(c)},f2=tw({scrapeMotionValuesFromProps:Qf,createRenderState:Wf}),m2=tw({scrapeMotionValuesFromProps:Lx,createRenderState:ew}),p2=Symbol.for("motionComponentSymbol");function g2(n,e,i){const a=D.useRef(i);D.useInsertionEffect(()=>{a.current=i});const l=D.useRef(null);return D.useCallback(c=>{var d;c&&((d=n.onMount)==null||d.call(n,c)),e&&(c?e.mount(c):e.unmount());const u=a.current;if(typeof u=="function")if(c){const m=u(c);typeof m=="function"&&(l.current=m)}else l.current?(l.current(),l.current=null):u(c);else u&&(u.current=c)},[e])}const nw=D.createContext({});function Oa(n){return n&&typeof n=="object"&&Object.prototype.hasOwnProperty.call(n,"current")}function y2(n,e,i,a,l,c){var N,z;const{visualElement:u}=D.useContext(Pc),d=D.useContext(Jx),m=D.useContext(Uc),p=D.useContext(Zf),y=p.reducedMotion,v=p.skipAnimations,x=D.useRef(null),_=D.useRef(!1);a=a||d.renderer,!x.current&&a&&(x.current=a(n,{visualState:e,parent:u,props:i,presenceContext:m,blockInitialAnimation:m?m.initial===!1:!1,reducedMotionConfig:y,skipAnimations:v,isSVG:c}),_.current&&x.current&&(x.current.manuallyAnimateOnMount=!0));const S=x.current,T=D.useContext(nw);S&&!S.projection&&l&&(S.type==="html"||S.type==="svg")&&b2(x.current,i,l,T);const k=D.useRef(!1);D.useInsertionEffect(()=>{S&&k.current&&S.update(i,m)});const C=i[dx],M=D.useRef(!!C&&typeof window<"u"&&!((N=window.MotionHandoffIsComplete)!=null&&N.call(window,C))&&((z=window.MotionHasOptimisedAnimation)==null?void 0:z.call(window,C)));return jf(()=>{_.current=!0,S&&(k.current=!0,window.MotionIsMounted=!0,S.updateFeatures(),S.scheduleRenderMicrotask(),M.current&&S.animationState&&S.animationState.animateChanges())}),D.useEffect(()=>{S&&(!M.current&&S.animationState&&S.animationState.animateChanges(),M.current&&(queueMicrotask(()=>{var Y;(Y=window.MotionHandoffMarkAsComplete)==null||Y.call(window,C)}),M.current=!1),S.enteringChildren=void 0)}),S}function b2(n,e,i,a){const{layoutId:l,layout:c,drag:u,dragConstraints:d,layoutScroll:m,layoutRoot:p,layoutAnchor:y,layoutCrossfade:v}=e;n.projection=new i(n.latestValues,e["data-framer-portal-id"]?void 0:sw(n.parent)),n.projection.setOptions({layoutId:l,layout:c,alwaysMeasureLayout:!!u||d&&Oa(d),visualElement:n,animationType:typeof c=="string"?c:"both",initialPromotionConfig:a,crossfade:v,layoutScroll:m,layoutRoot:p,layoutAnchor:y})}function sw(n){if(n)return n.options.allowProjection!==!1?n.projection:sw(n.parent)}function xd(n,{forwardMotionProps:e=!1,type:i}={},a,l){a&&WA(a);const c=i?i==="svg":em(n),u=c?m2:f2;function d(p,y){let v;const x={...D.useContext(Zf),...p,layoutId:v2(p)},{isStatic:_}=x,S=i2(p),T=u(p,_);if(!_&&typeof window<"u"){x2();const k=w2(x);v=k.MeasureLayout,S.visualElement=y2(n,T,x,l,k.ProjectionNode,c)}return g.jsxs(Pc.Provider,{value:S,children:[v&&S.visualElement?g.jsx(v,{visualElement:S.visualElement,...x}):null,u2(n,p,g2(T,S.visualElement,y),T,_,e,c)]})}d.displayName=`motion.${typeof n=="string"?n:`create(${n.displayName??n.name??""})`}`;const m=D.forwardRef(d);return m[p2]=n,m}function v2({layoutId:n}){const e=D.useContext(Ef).id;return e&&n!==void 0?e+"-"+n:n}function x2(n,e){D.useContext(Jx).strict}function w2(n){const e=Qx(),{drag:i,layout:a}=e;if(!i&&!a)return{};const l={...i,...a};return{MeasureLayout:i!=null&&i.isEnabled(n)||a!=null&&a.isEnabled(n)?l.MeasureLayout:void 0,ProjectionNode:l.ProjectionNode}}function _2(n,e){if(typeof Proxy>"u")return xd;const i=new Map,a=(c,u)=>xd(c,u,n,e),l=(c,u)=>a(c,u);return new Proxy(l,{get:(c,u)=>u==="create"?a:(i.has(u)||i.set(u,xd(u,void 0,n,e)),i.get(u))})}const S2=(n,e)=>e.isSVG??em(n)?new WE(e):new KE(e,{allowProjection:n!==D.Fragment});class T2 extends ri{constructor(e){super(e),e.animationState||(e.animationState=iA(e))}updateAnimationControlsSubscription(){const{animate:e}=this.node.getProps();zc(e)&&(this.unmountControls=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:e}=this.node.getProps(),{animate:i}=this.node.prevProps||{};e!==i&&this.updateAnimationControlsSubscription()}unmount(){var e;this.node.animationState.reset(),(e=this.unmountControls)==null||e.call(this)}}let E2=0;class A2 extends ri{constructor(){super(...arguments),this.id=E2++,this.isExitComplete=!1}update(){var c;if(!this.node.presenceContext)return;const{isPresent:e,onExitComplete:i}=this.node.presenceContext,{isPresent:a}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===a)return;if(e&&a===!1){if(this.isExitComplete){const{initial:u,custom:d}=this.node.getProps();if(typeof u=="string"||typeof u=="object"&&u!==null&&!Array.isArray(u)){const m=Li(this.node,u,d);if(m){const{transition:p,transitionEnd:y,...v}=m;for(const x in v)(c=this.node.getValue(x))==null||c.jump(v[x])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1;return}const l=this.node.animationState.setActive("exit",!e);i&&!e&&l.then(()=>{this.isExitComplete=!0,i(this.id)})}mount(){const{register:e,onExitComplete:i}=this.node.presenceContext||{};i&&i(this.id),e&&(this.unmount=e(this.id))}unmount(){}}const j2={animation:{Feature:T2},exit:{Feature:A2}};function jo(n){return{point:{x:n.pageX,y:n.pageY}}}const N2=n=>e=>Gf(e)&&n(e,jo(e));function so(n,e,i,a){return ho(n,e,N2(i),a)}const iw=({current:n})=>n?n.ownerDocument.defaultView:null,cb=(n,e)=>Math.abs(n-e);function k2(n,e){const i=cb(n.x,e.x),a=cb(n.y,e.y);return Math.sqrt(i**2+a**2)}const ub=new Set(["auto","scroll"]);class aw{constructor(e,i,{transformPagePoint:a,contextWindow:l=window,dragSnapToOrigin:c=!1,distanceThreshold:u=3,element:d}={}){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=S=>{this.handleScroll(S.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=Yl(this.lastRawMoveEventInfo,this.transformPagePoint));const S=wd(this.lastMoveEventInfo,this.history),T=this.startEvent!==null,k=k2(S.offset,{x:0,y:0})>=this.distanceThreshold;if(!T&&!k)return;const{point:C}=S,{timestamp:M}=Mt;this.history.push({...C,timestamp:M});const{onStart:N,onMove:z}=this.handlers;T||(N&&N(this.lastMoveEvent,S),this.startEvent=this.lastMoveEvent),z&&z(this.lastMoveEvent,S)},this.handlePointerMove=(S,T)=>{this.lastMoveEvent=S,this.lastRawMoveEventInfo=T,this.lastMoveEventInfo=Yl(T,this.transformPagePoint),Ke.update(this.updatePoint,!0)},this.handlePointerUp=(S,T)=>{this.end();const{onEnd:k,onSessionEnd:C,resumeAnimation:M}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&M&&M(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const N=wd(S.type==="pointercancel"?this.lastMoveEventInfo:Yl(T,this.transformPagePoint),this.history);this.startEvent&&k&&k(S,N),C&&C(S,N)},!Gf(e))return;this.dragSnapToOrigin=c,this.handlers=i,this.transformPagePoint=a,this.distanceThreshold=u,this.contextWindow=l||window;const m=jo(e),p=Yl(m,this.transformPagePoint),{point:y}=p,{timestamp:v}=Mt;this.history=[{...y,timestamp:v}];const{onSessionStart:x}=i;x&&x(e,wd(p,this.history));const _={passive:!0,capture:!0};this.removeListeners=To(so(this.contextWindow,"pointermove",this.handlePointerMove,_),so(this.contextWindow,"pointerup",this.handlePointerUp,_),so(this.contextWindow,"pointercancel",this.handlePointerUp,_)),d&&this.startScrollTracking(d)}startScrollTracking(e){let i=e.parentElement;for(;i;){const a=getComputedStyle(i);(ub.has(a.overflowX)||ub.has(a.overflowY))&&this.scrollPositions.set(i,{x:i.scrollLeft,y:i.scrollTop}),i=i.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(e){const i=this.scrollPositions.get(e);if(!i)return;const a=e===window,l=a?{x:window.scrollX,y:window.scrollY}:{x:e.scrollLeft,y:e.scrollTop},c={x:l.x-i.x,y:l.y-i.y};c.x===0&&c.y===0||(a?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=c.x,this.lastMoveEventInfo.point.y+=c.y):this.history.length>0&&(this.history[0].x-=c.x,this.history[0].y-=c.y),this.scrollPositions.set(e,l),Ke.update(this.updatePoint,!0))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),ai(this.updatePoint)}}function Yl(n,e){return e?{point:e(n.point)}:n}function hb(n,e){return{x:n.x-e.x,y:n.y-e.y}}function wd({point:n},e){return{point:n,delta:hb(n,rw(e)),offset:hb(n,C2(e)),velocity:R2(e,.1)}}function C2(n){return n[0]}function rw(n){return n[n.length-1]}function R2(n,e){if(n.length<2)return{x:0,y:0};let i=n.length-1,a=null;const l=rw(n);for(;i>=0&&(a=n[i],!(l.timestamp-a.timestamp>dn(e)));)i--;if(!a)return{x:0,y:0};a===n[0]&&n.length>2&&l.timestamp-a.timestamp>dn(e)*2&&(a=n[1]);const c=An(l.timestamp-a.timestamp);if(c===0)return{x:0,y:0};const u={x:(l.x-a.x)/c,y:(l.y-a.y)/c};return u.x===1/0&&(u.x=0),u.y===1/0&&(u.y=0),u}function O2(n,{min:e,max:i},a){return e!==void 0&&ni&&(n=a?Ge(i,n,a.max):Math.min(n,i)),n}function db(n,e,i){return{min:e!==void 0?n.min+e:void 0,max:i!==void 0?n.max+i-(n.max-n.min):void 0}}function D2(n,{top:e,left:i,bottom:a,right:l}){return{x:db(n.x,i,l),y:db(n.y,e,a)}}function fb(n,e){let i=e.min-n.min,a=e.max-n.max;return e.max-e.mina?i=lo(e.min,e.max-a,n.min):a>l&&(i=lo(n.min,n.max-l,e.min)),Zn(0,1,i)}function U2(n,e){const i={};return e.min!==void 0&&(i.min=e.min-n.min),e.max!==void 0&&(i.max=e.max-n.min),i}const of=.35;function L2(n=of){return n===!1?n=0:n===!0&&(n=of),{x:mb(n,"left","right"),y:mb(n,"top","bottom")}}function mb(n,e,i){return{min:pb(n,e),max:pb(n,i)}}function pb(n,e){return typeof n=="number"?n:n[e]||0}const z2=new WeakMap;class V2{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Tt(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=e}start(e,{snapToCursor:i=!1,distanceThreshold:a}={}){const{presenceContext:l}=this.visualElement;if(l&&l.isPresent===!1)return;const c=v=>{i&&this.snapToCursor(jo(v).point),this.stopAnimation()},u=(v,x)=>{const{drag:_,dragPropagation:S,onDragStart:T}=this.getProps();if(_&&!S&&(this.openDragLock&&this.openDragLock(),this.openDragLock=dE(_),!this.openDragLock))return;this.latestPointerEvent=v,this.latestPanInfo=x,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Kn(C=>{let M=this.getAxisMotionValue(C).get()||0;if(Qn.test(M)){const{projection:N}=this.visualElement;if(N&&N.layout){const z=N.layout.layoutBox[C];z&&(M=It(z)*(parseFloat(M)/100))}}this.originPoint[C]=M}),T&&Ke.update(()=>T(v,x),!1,!0),Jd(this.visualElement,"transform");const{animationState:k}=this.visualElement;k&&k.setActive("whileDrag",!0)},d=(v,x)=>{this.latestPointerEvent=v,this.latestPanInfo=x;const{dragPropagation:_,dragDirectionLock:S,onDirectionLock:T,onDrag:k}=this.getProps();if(!_&&!this.openDragLock)return;const{offset:C}=x;if(S&&this.currentDirection===null){this.currentDirection=H2(C),this.currentDirection!==null&&T&&T(this.currentDirection);return}this.updateAxis("x",x.point,C),this.updateAxis("y",x.point,C),this.visualElement.render(),k&&Ke.update(()=>k(v,x),!1,!0)},m=(v,x)=>{this.latestPointerEvent=v,this.latestPanInfo=x,this.stop(v,x),this.latestPointerEvent=null,this.latestPanInfo=null},p=()=>{const{dragSnapToOrigin:v}=this.getProps();(v||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:y}=this.getProps();this.panSession=new aw(e,{onSessionStart:c,onStart:u,onMove:d,onSessionEnd:m,resumeAnimation:p},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:y,distanceThreshold:a,contextWindow:iw(this.visualElement),element:this.visualElement.current})}stop(e,i){const a=e||this.latestPointerEvent,l=i||this.latestPanInfo,c=this.isDragging;if(this.cancel(),!c||!l||!a)return;const{velocity:u}=l;this.startAnimation(u);const{onDragEnd:d}=this.getProps();d&&Ke.postRender(()=>d(a,l))}cancel(){this.isDragging=!1;const{projection:e,animationState:i}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.endPanSession();const{dragPropagation:a}=this.getProps();!a&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),i&&i.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(e,i,a){const{drag:l}=this.getProps();if(!a||!Xl(e,l,this.currentDirection))return;const c=this.getAxisMotionValue(e);let u=this.originPoint[e]+a[e];this.constraints&&this.constraints[e]&&(u=O2(u,this.constraints[e],this.elastic[e])),c.set(u)}resolveConstraints(){var c;const{dragConstraints:e,dragElastic:i}=this.getProps(),a=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(c=this.visualElement.projection)==null?void 0:c.layout,l=this.constraints;e&&Oa(e)?this.constraints||(this.constraints=this.resolveRefConstraints()):e&&a?this.constraints=D2(a.layoutBox,e):this.constraints=!1,this.elastic=L2(i),l!==this.constraints&&!Oa(e)&&a&&this.constraints&&!this.hasMutatedConstraints&&Kn(u=>{this.constraints!==!1&&this.getAxisMotionValue(u)&&(this.constraints[u]=U2(a.layoutBox[u],this.constraints[u]))})}resolveRefConstraints(){const{dragConstraints:e,onMeasureDragConstraints:i}=this.getProps();if(!e||!Oa(e))return!1;const a=e.current,{projection:l}=this.visualElement;if(!l||!l.layout)return!1;l.root&&(l.root.scroll=void 0,l.root.updateScroll());const c=HE(a,l.root,this.visualElement.getTransformPagePoint());let u=M2(l.layout.layoutBox,c);if(i){const d=i(zE(u));this.hasMutatedConstraints=!!d,d&&(u=Nx(d))}return u}startAnimation(e){const{drag:i,dragMomentum:a,dragElastic:l,dragTransition:c,dragSnapToOrigin:u,onDragTransitionEnd:d}=this.getProps(),m=this.constraints||{},p=Kn(y=>{if(!Xl(y,i,this.currentDirection))return;let v=m&&m[y]||{};(u===!0||u===y)&&(v={min:0,max:0});const x=l?200:1e6,_=l?40:1e7,S={type:"inertia",velocity:a?e[y]:0,bounceStiffness:x,bounceDamping:_,timeConstant:750,restDelta:1,restSpeed:10,...c,...v};return this.startAxisValueAnimation(y,S)});return Promise.all(p).then(d)}startAxisValueAnimation(e,i){const a=this.getAxisMotionValue(e);return Jd(this.visualElement,e),a.start(Hf(e,a,0,i,this.visualElement,!1))}stopAnimation(){Kn(e=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){const i=`_drag${e.toUpperCase()}`,l=this.visualElement.getProps()[i];return l||this.visualElement.getValue(e,this.visualElement.latestValues[e]??0)}snapToCursor(e){Kn(i=>{const{drag:a}=this.getProps();if(!Xl(i,a,this.currentDirection))return;const{projection:l}=this.visualElement,c=this.getAxisMotionValue(i);if(l&&l.layout){const{min:u,max:d}=l.layout.layoutBox[i],m=c.get()||0;c.set(e[i]-Ge(u,d,.5)+m)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:e,dragConstraints:i}=this.getProps(),{projection:a}=this.visualElement;if(!Oa(i)||!a||!this.constraints)return;this.stopAnimation();const l={x:0,y:0};Kn(u=>{const d=this.getAxisMotionValue(u);if(d&&this.constraints!==!1){const m=d.get();l[u]=B2({min:m,max:m},this.constraints[u])}});const{transformTemplate:c}=this.visualElement.getProps();this.visualElement.current.style.transform=c?c({},""):"none",a.root&&a.root.updateScroll(),a.updateLayout(),this.constraints=!1,this.resolveConstraints(),Kn(u=>{if(!Xl(u,e,null))return;const d=this.getAxisMotionValue(u),{min:m,max:p}=this.constraints[u];d.set(Ge(m,p,l[u]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;z2.set(this.visualElement,this);const e=this.visualElement.current,i=so(e,"pointerdown",p=>{const{drag:y,dragListener:v=!0}=this.getProps(),x=p.target,_=x!==e&&bE(x);y&&v&&!_&&this.start(p)});let a;const l=()=>{const{dragConstraints:p}=this.getProps();Oa(p)&&p.current&&(this.constraints=this.resolveRefConstraints(),a||(a=P2(e,p.current,()=>this.scalePositionWithinConstraints())))},{projection:c}=this.visualElement,u=c.addEventListener("measure",l);c&&!c.layout&&(c.root&&c.root.updateScroll(),c.updateLayout()),Ke.read(l);const d=ho(window,"resize",()=>this.scalePositionWithinConstraints()),m=c.addEventListener("didUpdate",(({delta:p,hasLayoutChanged:y})=>{this.isDragging&&y&&(Kn(v=>{const x=this.getAxisMotionValue(v);x&&(this.originPoint[v]+=p[v].translate,x.set(x.get()+p[v].translate))}),this.visualElement.render())}));return()=>{d(),i(),u(),m&&m(),a&&a()}}getProps(){const e=this.visualElement.getProps(),{drag:i=!1,dragDirectionLock:a=!1,dragPropagation:l=!1,dragConstraints:c=!1,dragElastic:u=of,dragMomentum:d=!0}=e;return{...e,drag:i,dragDirectionLock:a,dragPropagation:l,dragConstraints:c,dragElastic:u,dragMomentum:d}}}function gb(n){let e=!0;return()=>{if(e){e=!1;return}n()}}function P2(n,e,i){const a=S0(n,gb(i)),l=S0(e,gb(i));return()=>{a(),l()}}function Xl(n,e,i){return(e===!0||e===n)&&(i===null||i===n)}function H2(n,e=10){let i=null;return Math.abs(n.y)>e?i="y":Math.abs(n.x)>e&&(i="x"),i}class $2 extends ri{constructor(e){super(e),this.removeGroupControls=jn,this.removeListeners=jn,this.controls=new V2(e)}mount(){const{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||jn}update(){const{dragControls:e}=this.node.getProps(),{dragControls:i}=this.node.prevProps||{};e!==i&&(this.removeGroupControls(),e&&(this.removeGroupControls=e.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}const _d=n=>(e,i)=>{n&&Ke.update(()=>n(e,i),!1,!0)};class q2 extends ri{constructor(){super(...arguments),this.removePointerDownListener=jn}onPointerDown(e){this.session=new aw(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:iw(this.node)})}createPanHandlers(){const{onPanSessionStart:e,onPanStart:i,onPan:a,onPanEnd:l}=this.node.getProps();return{onSessionStart:_d(e),onStart:_d(i),onMove:_d(a),onEnd:(c,u)=>{delete this.session,l&&Ke.postRender(()=>l(c,u))}}}mount(){this.removePointerDownListener=so(this.node.current,"pointerdown",e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}let Sd=!1;class F2 extends D.Component{componentDidMount(){const{visualElement:e,layoutGroup:i,switchLayoutGroup:a,layoutId:l}=this.props,{projection:c}=e;c&&(i.group&&i.group.add(c),a&&a.register&&l&&a.register(c),Sd&&c.root.didUpdate(),c.addEventListener("animationComplete",()=>{this.safeToRemove()}),c.setOptions({...c.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),mc.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){const{layoutDependency:i,visualElement:a,drag:l,isPresent:c}=this.props,{projection:u}=a;return u&&(u.isPresent=c,e.layoutDependency!==i&&u.setOptions({...u.options,layoutDependency:i}),Sd=!0,l||e.layoutDependency!==i||i===void 0||e.isPresent!==c?u.willUpdate():this.safeToRemove(),e.isPresent!==c&&(c?u.promote():u.relegate()||Ke.postRender(()=>{const d=u.getStack();(!d||!d.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{visualElement:e,layoutAnchor:i}=this.props,{projection:a}=e;a&&(a.options.layoutAnchor=i,a.root.didUpdate(),If.postRender(()=>{!a.currentAnimation&&a.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:e,layoutGroup:i,switchLayoutGroup:a}=this.props,{projection:l}=e;Sd=!0,l&&(l.scheduleCheckAfterUnmount(),i&&i.group&&i.group.remove(l),a&&a.deregister&&a.deregister(l))}safeToRemove(){const{safeToRemove:e}=this.props;e&&e()}render(){return null}}function ow(n){const[e,i]=Xx(),a=D.useContext(Ef);return g.jsx(F2,{...n,layoutGroup:a,switchLayoutGroup:D.useContext(nw),isPresent:e,safeToRemove:i})}const I2={pan:{Feature:q2},drag:{Feature:$2,ProjectionNode:Yx,MeasureLayout:ow}};function yb(n,e,i){const{props:a}=n;n.animationState&&a.whileHover&&n.animationState.setActive("whileHover",i==="Start");const l="onHover"+i,c=a[l];c&&Ke.postRender(()=>c(e,jo(e)))}class G2 extends ri{mount(){const{current:e}=this.node;e&&(this.unmount=mE(e,(i,a)=>(yb(this.node,a,"Start"),l=>yb(this.node,l,"End"))))}unmount(){}}class K2 extends ri{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(":focus-visible")}catch{e=!0}!e||!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=To(ho(this.node.current,"focus",()=>this.onFocus()),ho(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function bb(n,e,i){const{props:a}=n;if(n.current instanceof HTMLButtonElement&&n.current.disabled)return;n.animationState&&a.whileTap&&n.animationState.setActive("whileTap",i==="Start");const l="onTap"+(i==="End"?"":i),c=a[l];c&&Ke.postRender(()=>c(e,jo(e)))}class Y2 extends ri{mount(){const{current:e}=this.node;if(!e)return;const{globalTapTarget:i,propagate:a}=this.node.props;this.unmount=xE(e,(l,c)=>(bb(this.node,c,"Start"),(u,{success:d})=>bb(this.node,u,d?"End":"Cancel")),{useGlobalTarget:i,stopPropagation:(a==null?void 0:a.tap)===!1})}unmount(){}}const lf=new WeakMap,Td=new WeakMap,X2=n=>{const e=lf.get(n.target);e&&e(n)},J2=n=>{n.forEach(X2)};function Q2({root:n,...e}){const i=n||document;Td.has(i)||Td.set(i,{});const a=Td.get(i),l=JSON.stringify(e);return a[l]||(a[l]=new IntersectionObserver(J2,{root:n,...e})),a[l]}function Z2(n,e,i){const a=Q2(e);return lf.set(n,i),a.observe(n),()=>{lf.delete(n),a.unobserve(n)}}const W2={some:0,all:1};class ej extends ri{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){var m;(m=this.stopObserver)==null||m.call(this);const{viewport:e={}}=this.node.getProps(),{root:i,margin:a,amount:l="some",once:c}=e,u={root:i?i.current:void 0,rootMargin:a,threshold:typeof l=="number"?l:W2[l]},d=p=>{const{isIntersecting:y}=p;if(this.isInView===y||(this.isInView=y,c&&!y&&this.hasEnteredView))return;y&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",y);const{onViewportEnter:v,onViewportLeave:x}=this.node.getProps(),_=y?v:x;_&&_(p)};this.stopObserver=Z2(this.node.current,u,d)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:e,prevProps:i}=this.node;["amount","margin","root"].some(tj(e,i))&&this.startObserver()}unmount(){var e;(e=this.stopObserver)==null||e.call(this),this.hasEnteredView=!1,this.isInView=!1}}function tj({viewport:n={}},{viewport:e={}}={}){return i=>n[i]!==e[i]}const nj={inView:{Feature:ej},tap:{Feature:Y2},focus:{Feature:K2},hover:{Feature:G2}},sj={layout:{ProjectionNode:Yx,MeasureLayout:ow}},ij={...j2,...nj,...I2,...sj},aj=_2(ij,S2),un=aj;/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const rj=n=>n.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),oj=n=>n.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,i,a)=>a?a.toUpperCase():i.toLowerCase()),vb=n=>{const e=oj(n);return e.charAt(0).toUpperCase()+e.slice(1)},lw=(...n)=>n.filter((e,i,a)=>!!e&&e.trim()!==""&&a.indexOf(e)===i).join(" ").trim(),lj=n=>{for(const e in n)if(e.startsWith("aria-")||e==="role"||e==="title")return!0};/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */var cj={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.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const uj=D.forwardRef(({color:n="currentColor",size:e=24,strokeWidth:i=2,absoluteStrokeWidth:a,className:l="",children:c,iconNode:u,...d},m)=>D.createElement("svg",{ref:m,...cj,width:e,height:e,stroke:n,strokeWidth:a?Number(i)*24/Number(e):i,className:lw("lucide",l),...!c&&!lj(d)&&{"aria-hidden":"true"},...d},[...u.map(([p,y])=>D.createElement(p,y)),...Array.isArray(c)?c:[c]]));/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Ue=(n,e)=>{const i=D.forwardRef(({className:a,...l},c)=>D.createElement(uj,{ref:c,iconNode:e,className:lw(`lucide-${rj(vb(n))}`,`lucide-${n}`,a),...l}));return i.displayName=vb(n),i};/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const hj=[["path",{d:"M8 3 4 7l4 4",key:"9rb6wj"}],["path",{d:"M4 7h16",key:"6tx8e3"}],["path",{d:"m16 21 4-4-4-4",key:"siv7j2"}],["path",{d:"M20 17H4",key:"h6l3hr"}]],dj=Ue("arrow-left-right",hj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const fj=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],mj=Ue("arrow-right",fj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const pj=[["rect",{width:"20",height:"12",x:"2",y:"6",rx:"2",key:"9lu3g6"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M6 12h.01M18 12h.01",key:"113zkx"}]],xb=Ue("banknote",pj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const gj=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]],yj=Ue("calendar-days",gj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const bj=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],vj=Ue("calendar",bj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const xj=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],wj=Ue("chevron-down",xj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const _j=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],Sj=Ue("circle-alert",_j);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Tj=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Ac=Ue("circle-check",Tj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Ej=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662",key:"154egf"}]],Aj=Ue("circle-user",Ej);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const jj=[["path",{d:"M21.54 15H17a2 2 0 0 0-2 2v4.54",key:"1djwo0"}],["path",{d:"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17",key:"1tzkfa"}],["path",{d:"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05",key:"14pb5j"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],cw=Ue("earth",jj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Nj=[["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"}]],kj=Ue("external-link",Nj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Cj=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Rj=Ue("eye",Cj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Oj=[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]],Da=Ue("file-spreadsheet",Oj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Dj=[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],Jl=Ue("file-text",Dj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Mj=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],Bj=Ue("funnel",Mj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Uj=[["rect",{x:"3",y:"8",width:"18",height:"4",rx:"1",key:"bkv52"}],["path",{d:"M12 8v13",key:"1c76mn"}],["path",{d:"M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7",key:"6wjy6b"}],["path",{d:"M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5",key:"1ihvrl"}]],wb=Ue("gift",Uj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Lj=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],zj=Ue("history",Lj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Vj=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],uw=Ue("info",Vj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Pj=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],qa=Ue("loader-circle",Pj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Hj=[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]],$j=Ue("lock-keyhole",Hj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const qj=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],Fj=Ue("log-out",qj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Ij=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],hw=Ue("menu",Ij);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Gj=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M12 15h.01",key:"q59x07"}],["path",{d:"M12 7v4",key:"xawao1"}]],Kj=Ue("message-square-warning",Gj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Yj=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],Xj=Ue("play",Yj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Jj=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],Qj=Ue("plus",Jj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Zj=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],Wj=Ue("refresh-cw",Zj);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const eN=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],Jr=Ue("search",eN);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const tN=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],dw=Ue("send",tN);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const nN=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Aa=Ue("trash-2",nN);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const sN=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],fo=Ue("triangle-alert",sN);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const iN=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],Gr=Ue("upload",iN);/** + * @license lucide-react v0.546.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const aN=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Ya=Ue("x",aN),mo=[{code:"GT",name:"Guatemala",flag:"/cruce-cuentas/gt-flag.png",currency:"GTQ",locale:"es-GT",enabled:!0},{code:"TT",name:"Trinidad y Tobago",flag:"/cruce-cuentas/tt-flag.png",currency:"TTD",locale:"en-TT",enabled:!0},{code:"PA",name:"Panamá",flag:"https://dbit.digitalcompass.agency/storage/v1/object/public/public-assets/Flag_of_Panama.svg",currency:"USD",locale:"es-PA",enabled:!0},{code:"SV",name:"El Salvador",flag:"https://dbit.digitalcompass.agency/storage/v1/object/public/public-assets/Flag_of_El_Salvador.svg.webp",currency:"USD",locale:"es-SV",enabled:!0},{code:"HN",name:"Honduras",flag:"https://dbit.digitalcompass.agency/storage/v1/object/public/public-assets/Bandera%20de%20Honduras.webp",currency:"HNL",locale:"es-HN",enabled:!0}];function _b(n){return mo.find(e=>e.code===n)??mo[0]}const rN="https://dbit.digitalcompass.agency/storage/v1/object/public/public-assets/GLM_completo.png";function oN({currentView:n,onViewChange:e,onNewCruce:i,isSidebarOpen:a=!1,onCloseSidebar:l,user:c,isAuthEnabled:u=!1,onLogout:d,country:m,onCountryChange:p,onChooseAnotherCountry:y}){const[v,x]=D.useState(!1),_=D.useRef(null);return D.useEffect(()=>{function S(T){_.current&&!_.current.contains(T.target)&&x(!1)}return document.addEventListener("mousedown",S),()=>document.removeEventListener("mousedown",S)},[]),g.jsxs("aside",{className:`bg-neutral-100 h-screen w-64 fixed left-0 top-0 flex flex-col z-50 pb-6 min-h-screen font-sans transition-transform duration-300 md:translate-x-0 ${a?"translate-x-0":"-translate-x-full"}`,children:[g.jsx("div",{className:"absolute right-0 top-0 h-[80px] w-px bg-[#D0D0D0] pointer-events-none z-10 hidden md:block"}),g.jsx("div",{className:"absolute right-0 top-[84px] bottom-0 w-px bg-[#D0D0D0] pointer-events-none z-10 hidden md:block"}),g.jsxs("div",{className:"h-[84px] px-4 flex justify-between md:justify-center items-center bg-white border-b-4 border-[#6CC24A] relative",children:[g.jsx("img",{alt:"GomezLee Marketing logo",className:"h-10 object-contain selection:bg-transparent",src:rN}),g.jsx("button",{onClick:l,className:"md:hidden p-2 text-neutral-500 hover:text-neutral-800 transition-colors","aria-label":"Cerrar menú",children:g.jsx(Ya,{className:"w-5 h-5"})})]}),g.jsxs("div",{className:"px-4 pt-5",children:[g.jsxs("label",{className:"block",children:[g.jsxs("span",{className:"text-[9px] uppercase tracking-wider font-black text-neutral-400 flex items-center gap-1.5 mb-1.5",children:[g.jsx(cw,{className:"w-3.5 h-3.5"}),"País"]}),g.jsxs("div",{className:"relative",ref:_,children:[g.jsxs("button",{type:"button",onClick:()=>x(!v),className:"w-full border border-neutral-300 bg-white px-3 py-2 text-xs font-bold text-[#4F758B] focus:outline-none focus:border-[#4F758B] flex items-center justify-between transition-colors hover:bg-neutral-50",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx("img",{src:m.flag,alt:"",className:"w-5 h-3.5 object-cover shadow-sm border border-neutral-200"}),g.jsx("span",{children:m.name})]}),g.jsx(wj,{className:`w-4 h-4 text-[#4F758B] transition-transform ${v?"rotate-180":""}`})]}),v&&g.jsx("ul",{className:"absolute left-0 right-0 top-full mt-1 bg-white border border-neutral-300 shadow-lg z-50 py-1",children:mo.map(S=>g.jsx("li",{children:g.jsxs("button",{type:"button",disabled:!S.enabled,onClick:()=>{p(S.code),x(!1)},className:`w-full text-left px-3 py-2.5 text-xs font-bold flex items-center gap-2.5 transition-colors ${S.enabled?"hover:bg-neutral-100 text-[#4F758B]":"opacity-60 cursor-not-allowed text-neutral-500 bg-neutral-50"}`,children:[g.jsx("img",{src:S.flag,alt:"",className:"w-6 h-4 object-cover shadow-sm border border-neutral-200 bg-white flex-shrink-0"}),g.jsxs("span",{className:"min-w-0 text-left leading-tight",children:[g.jsx("span",{className:"block",children:S.name}),!S.enabled&&g.jsx("span",{className:"block mt-1 text-[10px] text-neutral-400 font-medium italic",children:"Próximamente"})]})]})},S.code))})]})]}),g.jsx("button",{type:"button",onClick:y,className:"mt-2 text-[9px] font-bold uppercase tracking-wider text-neutral-400 hover:text-[#4F758B]",children:"Ver países disponibles"})]}),g.jsx("nav",{className:"flex-1 flex flex-col mt-5",children:g.jsxs("ul",{className:"space-y-1",children:[g.jsx("li",{children:g.jsxs("button",{onClick:()=>e("cruce"),className:`w-full flex items-center gap-3 px-6 py-3.5 transition-all duration-150 text-left font-bold text-sm tracking-wide ${n==="cruce"?"bg-[#4F758B] text-white":"text-neutral-600 hover:bg-neutral-200 hover:text-neutral-800"}`,children:[g.jsx(dj,{className:`w-4 h-4 ${n==="cruce"?"text-[#6CC24A]":""}`}),g.jsx("span",{children:"Cruce de Cuentas"})]})}),g.jsx("li",{children:g.jsxs("button",{onClick:()=>e("historial"),className:`w-full flex items-center gap-3 px-6 py-3.5 transition-all duration-150 text-left font-bold text-sm tracking-wide ${n==="historial"?"bg-[#4F758B] text-white":"text-neutral-600 hover:bg-neutral-200 hover:text-neutral-800"}`,children:[g.jsx(zj,{className:`w-4 h-4 ${n==="historial"?"text-[#6CC24A]":""}`}),g.jsx("span",{children:"Reportes Históricos"})]})})]})}),g.jsxs("div",{className:"px-4 space-y-3 pt-4 border-t border-[#D0D0D0] bg-neutral-100",children:[c&&g.jsxs("div",{className:"border border-neutral-200 bg-white px-3 py-3 flex items-center gap-2",children:[g.jsx(Aj,{className:"w-4 h-4 text-[#4F758B] flex-shrink-0"}),g.jsxs("div",{className:"min-w-0",children:[g.jsx("p",{className:"text-[11px] font-black text-neutral-700 truncate",title:c.name,children:c.name}),g.jsx("p",{className:"text-[9px] text-neutral-400 truncate",title:c.email,children:c.email})]})]}),g.jsxs("button",{onClick:i,className:"w-full bg-[#6CC24A] hover:bg-[#5bb03c] text-white py-3 px-4 font-bold text-xs uppercase tracking-wider flex items-center justify-center gap-2 transition-all duration-150 shadow-sm active:scale-98",children:[g.jsx(Qj,{className:"w-4 h-4"}),g.jsx("span",{children:"Nuevo Cruce"})]}),u&&d&&g.jsxs("button",{onClick:d,className:"w-full border border-neutral-300 bg-white hover:bg-neutral-50 text-neutral-600 py-2.5 px-4 font-bold text-[11px] uppercase tracking-wider flex items-center justify-center gap-2 transition-all duration-150",children:[g.jsx(Fj,{className:"w-4 h-4"}),g.jsx("span",{children:"Cerrar sesión"})]})]})]})}function Hc(n,e){var i={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&e.indexOf(a)<0&&(i[a]=n[a]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var l=0,a=Object.getOwnPropertySymbols(n);ln?(...e)=>n(...e):(...e)=>fetch(...e);class tm extends Error{constructor(e,i="FunctionsError",a){super(e),this.name=i,this.context=a}toJSON(){return{name:this.name,message:this.message,context:this.context}}}class uN extends tm{constructor(e){super("Failed to send a request to the Edge Function","FunctionsFetchError",e)}}class Sb extends tm{constructor(e){super("Relay Error invoking the Edge Function","FunctionsRelayError",e)}}class Tb extends tm{constructor(e){super("Edge Function returned a non-2xx status code","FunctionsHttpError",e)}}var cf;(function(n){n.Any="any",n.ApNortheast1="ap-northeast-1",n.ApNortheast2="ap-northeast-2",n.ApSouth1="ap-south-1",n.ApSoutheast1="ap-southeast-1",n.ApSoutheast2="ap-southeast-2",n.CaCentral1="ca-central-1",n.EuCentral1="eu-central-1",n.EuWest1="eu-west-1",n.EuWest2="eu-west-2",n.EuWest3="eu-west-3",n.SaEast1="sa-east-1",n.UsEast1="us-east-1",n.UsWest1="us-west-1",n.UsWest2="us-west-2"})(cf||(cf={}));class hN{constructor(e,{headers:i={},customFetch:a,region:l=cf.Any}={}){this.url=e,this.headers=i,this.region=l,this.fetch=cN(a)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e){return lN(this,arguments,void 0,function*(i,a={}){var l;let c,u;try{const{headers:d,method:m,body:p,signal:y,timeout:v}=a;let x={},{region:_}=a;_||(_=this.region);const S=new URL(`${this.url}/${i}`);_&&_!=="any"&&(x["x-region"]=_,S.searchParams.set("forceFunctionRegion",_));let T;const k=!!d&&Object.keys(d).some(Z=>Z.toLowerCase()==="content-type");p&&!k?typeof Blob<"u"&&p instanceof Blob||p instanceof ArrayBuffer?(x["Content-Type"]="application/octet-stream",T=p):typeof p=="string"?(x["Content-Type"]="text/plain",T=p):typeof FormData<"u"&&p instanceof FormData?T=p:(x["Content-Type"]="application/json",T=JSON.stringify(p)):p&&typeof p!="string"&&!(typeof Blob<"u"&&p instanceof Blob)&&!(p instanceof ArrayBuffer)&&!(typeof FormData<"u"&&p instanceof FormData)?T=JSON.stringify(p):T=p;let C=y;v&&(u=new AbortController,c=setTimeout(()=>u.abort(),v),y?(C=u.signal,y.addEventListener("abort",()=>u.abort())):C=u.signal);const M=yield this.fetch(S.toString(),{method:m||"POST",headers:Object.assign(Object.assign(Object.assign({},x),this.headers),d),body:T,signal:C}).catch(Z=>{throw new uN(Z)}),N=M.headers.get("x-relay-error");if(N&&N==="true")throw new Sb(M);if(!M.ok)throw new Tb(M);let z=((l=M.headers.get("Content-Type"))!==null&&l!==void 0?l:"text/plain").split(";")[0].trim(),Y;return z==="application/json"?Y=yield M.json():z==="application/octet-stream"||z==="application/pdf"?Y=yield M.blob():z==="text/event-stream"?Y=M:z==="multipart/form-data"?Y=yield M.formData():Y=yield M.text(),{data:Y,error:null,response:M}}catch(d){return{data:null,error:d,response:d instanceof Tb||d instanceof Sb?d.context:void 0}}finally{c&&clearTimeout(c)}})}}const fw=3,Eb=n=>Math.min(1e3*2**n,3e4),dN=[520,503],mw=["GET","HEAD","OPTIONS"];var Ab=class extends Error{constructor(n){super(n.message),this.name="PostgrestError",this.details=n.details,this.hint=n.hint,this.code=n.code}toJSON(){return{name:this.name,message:this.message,details:this.details,hint:this.hint,code:this.code}}};function jb(n,e){return new Promise(i=>{if(e!=null&&e.aborted){i();return}const a=setTimeout(()=>{e==null||e.removeEventListener("abort",l),i()},n);function l(){clearTimeout(a),i()}e==null||e.addEventListener("abort",l)})}function fN(n,e,i,a){return!(!a||i>=fw||!mw.includes(n)||!dN.includes(e))}var mN=class{constructor(n){var e,i,a,l,c;this.shouldThrowOnError=!1,this.retryEnabled=!0,this.method=n.method,this.url=n.url,this.headers=new Headers(n.headers),this.schema=n.schema,this.body=n.body,this.shouldThrowOnError=(e=n.shouldThrowOnError)!==null&&e!==void 0?e:!1,this.signal=n.signal,this.isMaybeSingle=(i=n.isMaybeSingle)!==null&&i!==void 0?i:!1,this.shouldStripNulls=(a=n.shouldStripNulls)!==null&&a!==void 0?a:!1,this.urlLengthLimit=(l=n.urlLengthLimit)!==null&&l!==void 0?l:8e3,this.retryEnabled=(c=n.retry)!==null&&c!==void 0?c:!0,n.fetch?this.fetch=n.fetch:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}stripNulls(){if(this.headers.get("Accept")==="text/csv")throw new Error("stripNulls() cannot be used with csv()");return this.shouldStripNulls=!0,this}setHeader(n,e){return this.headers=new Headers(this.headers),this.headers.set(n,e),this}retry(n){return this.retryEnabled=n,this}then(n,e){var i=this;if(this.schema===void 0||(["GET","HEAD"].includes(this.method)?this.headers.set("Accept-Profile",this.schema):this.headers.set("Content-Profile",this.schema)),this.method!=="GET"&&this.method!=="HEAD"&&this.headers.set("Content-Type","application/json"),this.shouldStripNulls){const u=this.headers.get("Accept");u==="application/vnd.pgrst.object+json"?this.headers.set("Accept","application/vnd.pgrst.object+json;nulls=stripped"):(!u||u==="application/json")&&this.headers.set("Accept","application/vnd.pgrst.array+json;nulls=stripped")}const a=this.fetch;let c=(async()=>{let u=0;for(;;){const p={};i.headers.forEach((v,x)=>{p[x]=v}),u>0&&(p["X-Retry-Count"]=String(u));let y;try{y=await a(i.url.toString(),{method:i.method,headers:p,body:JSON.stringify(i.body,(v,x)=>typeof x=="bigint"?x.toString():x),signal:i.signal})}catch(v){if((v==null?void 0:v.name)==="AbortError"||(v==null?void 0:v.code)==="ABORT_ERR"||!mw.includes(i.method))throw v;if(i.retryEnabled&&u{var d;let m="",p="",y="";const v=u==null?void 0:u.cause;if(v){var x,_,S,T;const M=(x=v==null?void 0:v.message)!==null&&x!==void 0?x:"",N=(_=v==null?void 0:v.code)!==null&&_!==void 0?_:"";m=`${(S=u==null?void 0:u.name)!==null&&S!==void 0?S:"FetchError"}: ${u==null?void 0:u.message}`,m+=` + +Caused by: ${(T=v==null?void 0:v.name)!==null&&T!==void 0?T:"Error"}: ${M}`,N&&(m+=` (${N})`),v!=null&&v.stack&&(m+=` +${v.stack}`)}else{var k;m=(k=u==null?void 0:u.stack)!==null&&k!==void 0?k:""}const C=this.url.toString().length;return(u==null?void 0:u.name)==="AbortError"||(u==null?void 0:u.code)==="ABORT_ERR"?(y="",p="Request was aborted (timeout or manual cancellation)",C>this.urlLengthLimit&&(p+=`. Note: Your request URL is ${C} characters, which may exceed server limits. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [many IDs])), consider using an RPC function to pass values server-side.`)):((v==null?void 0:v.name)==="HeadersOverflowError"||(v==null?void 0:v.code)==="UND_ERR_HEADERS_OVERFLOW")&&(y="",p="HTTP headers exceeded server limits (typically 16KB)",C>this.urlLengthLimit&&(p+=`. Your request URL is ${C} characters. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [200+ IDs])), consider using an RPC function instead.`)),{success:!1,error:{message:`${(d=u==null?void 0:u.name)!==null&&d!==void 0?d:"FetchError"}: ${u==null?void 0:u.message}`,details:m,hint:p,code:y},data:null,count:null,status:0,statusText:""}})),c.then(n,e)}async processResponse(n){var e=this;let i=null,a=null,l=null,c=n.status,u=n.statusText;if(n.ok){var d,m;if(e.method!=="HEAD"){var p;const x=await n.text();if(x!=="")if(e.headers.get("Accept")==="text/csv")a=x;else if(e.headers.get("Accept")&&(!((p=e.headers.get("Accept"))===null||p===void 0)&&p.includes("application/vnd.pgrst.plan+text")))a=x;else try{a=JSON.parse(x)}catch{if(i={message:x},a=null,e.shouldThrowOnError)throw new Ab({message:x,details:"",hint:"",code:""})}}const y=(d=e.headers.get("Prefer"))===null||d===void 0?void 0:d.match(/count=(exact|planned|estimated)/),v=(m=n.headers.get("content-range"))===null||m===void 0?void 0:m.split("/");y&&v&&v.length>1&&(l=parseInt(v[1])),e.isMaybeSingle&&Array.isArray(a)&&(a.length>1?(i={code:"PGRST116",details:`Results contain ${a.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},a=null,l=null,c=406,u="Not Acceptable"):a.length===1?a=a[0]:a=null)}else{const y=await n.text();try{i=JSON.parse(y),Array.isArray(i)&&n.status===404&&(a=[],i=null,c=200,u="OK")}catch{n.status===404&&y===""?(c=204,u="No Content"):i={message:y}}if(i&&e.shouldThrowOnError)throw new Ab(i)}return{success:i===null,error:i,data:a,count:l,status:c,statusText:u}}returns(){return this}overrideTypes(){return this}},pN=class extends mN{throwOnError(){return super.throwOnError()}select(n){let e=!1;const i=(n??"*").split("").map(a=>/\s/.test(a)&&!e?"":(a==='"'&&(e=!e),a)).join("");return this.url.searchParams.set("select",i),this.headers.append("Prefer","return=representation"),this}order(n,{ascending:e=!0,nullsFirst:i,foreignTable:a,referencedTable:l=a}={}){const c=l?`${l}.order`:"order",u=this.url.searchParams.get(c);return this.url.searchParams.set(c,`${u?`${u},`:""}${n}.${e?"asc":"desc"}${i===void 0?"":i?".nullsfirst":".nullslast"}`),this}limit(n,{foreignTable:e,referencedTable:i=e}={}){const a=typeof i>"u"?"limit":`${i}.limit`;return this.url.searchParams.set(a,`${n}`),this}range(n,e,{foreignTable:i,referencedTable:a=i}={}){const l=typeof a>"u"?"offset":`${a}.offset`,c=typeof a>"u"?"limit":`${a}.limit`;return this.url.searchParams.set(l,`${n}`),this.url.searchParams.set(c,`${e-n+1}`),this}abortSignal(n){return this.signal=n,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){return this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:n=!1,verbose:e=!1,settings:i=!1,buffers:a=!1,wal:l=!1,format:c="text"}={}){var u;const d=[n?"analyze":null,e?"verbose":null,i?"settings":null,a?"buffers":null,l?"wal":null].filter(Boolean).join("|"),m=(u=this.headers.get("Accept"))!==null&&u!==void 0?u:"application/json";return this.headers.set("Accept",`application/vnd.pgrst.plan+${c}; for="${m}"; options=${d};`),c==="json"?this:this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(n){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${n}`),this}};const Nb=new RegExp("[,()]");var Ma=class extends pN{throwOnError(){return super.throwOnError()}eq(n,e){return this.url.searchParams.append(n,`eq.${e}`),this}neq(n,e){return this.url.searchParams.append(n,`neq.${e}`),this}gt(n,e){return this.url.searchParams.append(n,`gt.${e}`),this}gte(n,e){return this.url.searchParams.append(n,`gte.${e}`),this}lt(n,e){return this.url.searchParams.append(n,`lt.${e}`),this}lte(n,e){return this.url.searchParams.append(n,`lte.${e}`),this}like(n,e){return this.url.searchParams.append(n,`like.${e}`),this}likeAllOf(n,e){return this.url.searchParams.append(n,`like(all).{${e.join(",")}}`),this}likeAnyOf(n,e){return this.url.searchParams.append(n,`like(any).{${e.join(",")}}`),this}ilike(n,e){return this.url.searchParams.append(n,`ilike.${e}`),this}ilikeAllOf(n,e){return this.url.searchParams.append(n,`ilike(all).{${e.join(",")}}`),this}ilikeAnyOf(n,e){return this.url.searchParams.append(n,`ilike(any).{${e.join(",")}}`),this}regexMatch(n,e){return this.url.searchParams.append(n,`match.${e}`),this}regexIMatch(n,e){return this.url.searchParams.append(n,`imatch.${e}`),this}is(n,e){return this.url.searchParams.append(n,`is.${e}`),this}isDistinct(n,e){return this.url.searchParams.append(n,`isdistinct.${e}`),this}in(n,e){const i=Array.from(new Set(e)).map(a=>typeof a=="string"&&Nb.test(a)?`"${a}"`:`${a}`).join(",");return this.url.searchParams.append(n,`in.(${i})`),this}notIn(n,e){const i=Array.from(new Set(e)).map(a=>typeof a=="string"&&Nb.test(a)?`"${a}"`:`${a}`).join(",");return this.url.searchParams.append(n,`not.in.(${i})`),this}contains(n,e){return typeof e=="string"?this.url.searchParams.append(n,`cs.${e}`):Array.isArray(e)?this.url.searchParams.append(n,`cs.{${e.join(",")}}`):this.url.searchParams.append(n,`cs.${JSON.stringify(e)}`),this}containedBy(n,e){return typeof e=="string"?this.url.searchParams.append(n,`cd.${e}`):Array.isArray(e)?this.url.searchParams.append(n,`cd.{${e.join(",")}}`):this.url.searchParams.append(n,`cd.${JSON.stringify(e)}`),this}rangeGt(n,e){return this.url.searchParams.append(n,`sr.${e}`),this}rangeGte(n,e){return this.url.searchParams.append(n,`nxl.${e}`),this}rangeLt(n,e){return this.url.searchParams.append(n,`sl.${e}`),this}rangeLte(n,e){return this.url.searchParams.append(n,`nxr.${e}`),this}rangeAdjacent(n,e){return this.url.searchParams.append(n,`adj.${e}`),this}overlaps(n,e){return typeof e=="string"?this.url.searchParams.append(n,`ov.${e}`):this.url.searchParams.append(n,`ov.{${e.join(",")}}`),this}textSearch(n,e,{config:i,type:a}={}){let l="";a==="plain"?l="pl":a==="phrase"?l="ph":a==="websearch"&&(l="w");const c=i===void 0?"":`(${i})`;return this.url.searchParams.append(n,`${l}fts${c}.${e}`),this}match(n){return Object.entries(n).filter(([e,i])=>i!==void 0).forEach(([e,i])=>{this.url.searchParams.append(e,`eq.${i}`)}),this}not(n,e,i){return this.url.searchParams.append(n,`not.${e}.${i}`),this}or(n,{foreignTable:e,referencedTable:i=e}={}){const a=i?`${i}.or`:"or";return this.url.searchParams.append(a,`(${n})`),this}filter(n,e,i){return this.url.searchParams.append(n,`${e}.${i}`),this}},gN=class{constructor(n,{headers:e={},schema:i,fetch:a,urlLengthLimit:l=8e3,retry:c}){this.url=n,this.headers=new Headers(e),this.schema=i,this.fetch=a,this.urlLengthLimit=l,this.retry=c}cloneRequestState(){return{url:new URL(this.url.toString()),headers:new Headers(this.headers)}}select(n,e){const{head:i=!1,count:a}=e??{},l=i?"HEAD":"GET";let c=!1;const u=(n??"*").split("").map(p=>/\s/.test(p)&&!c?"":(p==='"'&&(c=!c),p)).join(""),{url:d,headers:m}=this.cloneRequestState();return d.searchParams.set("select",u),a&&m.append("Prefer",`count=${a}`),new Ma({method:l,url:d,headers:m,schema:this.schema,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}insert(n,{count:e,defaultToNull:i=!0}={}){var a;const l="POST",{url:c,headers:u}=this.cloneRequestState();if(e&&u.append("Prefer",`count=${e}`),i||u.append("Prefer","missing=default"),Array.isArray(n)){const d=n.reduce((m,p)=>m.concat(Object.keys(p)),[]);if(d.length>0){const m=[...new Set(d)].map(p=>`"${p}"`);c.searchParams.set("columns",m.join(","))}}return new Ma({method:l,url:c,headers:u,schema:this.schema,body:n,fetch:(a=this.fetch)!==null&&a!==void 0?a:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}upsert(n,{onConflict:e,ignoreDuplicates:i=!1,count:a,defaultToNull:l=!0}={}){var c;const u="POST",{url:d,headers:m}=this.cloneRequestState();if(m.append("Prefer",`resolution=${i?"ignore":"merge"}-duplicates`),e!==void 0&&d.searchParams.set("on_conflict",e),a&&m.append("Prefer",`count=${a}`),l||m.append("Prefer","missing=default"),Array.isArray(n)){const p=n.reduce((y,v)=>y.concat(Object.keys(v)),[]);if(p.length>0){const y=[...new Set(p)].map(v=>`"${v}"`);d.searchParams.set("columns",y.join(","))}}return new Ma({method:u,url:d,headers:m,schema:this.schema,body:n,fetch:(c=this.fetch)!==null&&c!==void 0?c:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}update(n,{count:e}={}){var i;const a="PATCH",{url:l,headers:c}=this.cloneRequestState();return e&&c.append("Prefer",`count=${e}`),new Ma({method:a,url:l,headers:c,schema:this.schema,body:n,fetch:(i=this.fetch)!==null&&i!==void 0?i:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}delete({count:n}={}){var e;const i="DELETE",{url:a,headers:l}=this.cloneRequestState();return n&&l.append("Prefer",`count=${n}`),new Ma({method:i,url:a,headers:l,schema:this.schema,fetch:(e=this.fetch)!==null&&e!==void 0?e:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};function po(n){"@babel/helpers - typeof";return po=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},po(n)}function yN(n,e){if(po(n)!="object"||!n)return n;var i=n[Symbol.toPrimitive];if(i!==void 0){var a=i.call(n,e);if(po(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function bN(n){var e=yN(n,"string");return po(e)=="symbol"?e:e+""}function vN(n,e,i){return(e=bN(e))in n?Object.defineProperty(n,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[e]=i,n}function kb(n,e){var i=Object.keys(n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(n);e&&(a=a.filter(function(l){return Object.getOwnPropertyDescriptor(n,l).enumerable})),i.push.apply(i,a)}return i}function Ql(n){for(var e=1;e0?this.fetch=(p,y)=>{const v=new AbortController,x=setTimeout(()=>v.abort(),c),_=y==null?void 0:y.signal;if(_){if(_.aborted)return clearTimeout(x),m(p,y);const S=()=>{clearTimeout(x),v.abort()};return _.addEventListener("abort",S,{once:!0}),m(p,Ql(Ql({},y),{},{signal:v.signal})).finally(()=>{clearTimeout(x),_.removeEventListener("abort",S)})}return m(p,Ql(Ql({},y),{},{signal:v.signal})).finally(()=>clearTimeout(x))}:this.fetch=m,this.retry=d}from(e){if(!e||typeof e!="string"||e.trim()==="")throw new Error("Invalid relation name: relation must be a non-empty string.");return new gN(new URL(`${this.url}/${e}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}schema(e){return new pw(this.url,{headers:this.headers,schema:e,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}rpc(e,i={},{head:a=!1,get:l=!1,count:c}={}){var u;let d;const m=new URL(`${this.url}/rpc/${e}`);let p;const y=_=>_!==null&&typeof _=="object"&&(!Array.isArray(_)||_.some(y)),v=a&&Object.values(i).some(y);v?(d="POST",p=i):a||l?(d=a?"HEAD":"GET",Object.entries(i).filter(([_,S])=>S!==void 0).map(([_,S])=>[_,Array.isArray(S)?`{${S.join(",")}}`:`${S}`]).forEach(([_,S])=>{m.searchParams.append(_,S)})):(d="POST",p=i);const x=new Headers(this.headers);return v?x.set("Prefer",c?`count=${c},return=minimal`:"return=minimal"):c&&x.set("Prefer",`count=${c}`),new Ma({method:d,url:m,headers:x,schema:this.schemaName,body:p,fetch:(u=this.fetch)!==null&&u!==void 0?u:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};class wN{constructor(){}static detectEnvironment(){var e;if(typeof WebSocket<"u")return{type:"native",wsConstructor:WebSocket};const i=globalThis;if(typeof globalThis<"u"&&typeof i.WebSocket<"u")return{type:"native",wsConstructor:i.WebSocket};const a=typeof global<"u"?global:void 0;if(a&&typeof a.WebSocket<"u")return{type:"native",wsConstructor:a.WebSocket};if(typeof globalThis<"u"&&typeof i.WebSocketPair<"u"&&typeof globalThis.WebSocket>"u")return{type:"cloudflare",error:"Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.",workaround:"Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime."};if(typeof globalThis<"u"&&i.EdgeRuntime||typeof navigator<"u"&&(!((e=navigator.userAgent)===null||e===void 0)&&e.includes("Vercel-Edge")))return{type:"unsupported",error:"Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.",workaround:"Use serverless functions or a different deployment target for WebSocket functionality."};const l=globalThis.process;if(l){const c=l.versions;if(c&&c.node)return{type:"unsupported",error:"Node.js detected but native WebSocket not found.",workaround:"Ensure you are running Node.js 22+ or provide a WebSocket implementation via the transport option."}}return{type:"unsupported",error:"Unknown JavaScript runtime without WebSocket support.",workaround:"Ensure you're running in a supported environment (browser, Node.js, Deno) or provide a custom WebSocket implementation."}}static getWebSocketConstructor(){const e=this.detectEnvironment();if(e.wsConstructor)return e.wsConstructor;let i=e.error||"WebSocket not supported in this environment.";throw e.workaround&&(i+=` + +Suggested solution: ${e.workaround}`),new Error(i)}static isWebSocketSupported(){try{return this.detectEnvironment().type==="native"}catch{return!1}}}const _N="2.110.2",SN=`realtime-js/${_N}`,TN="1.0.0",gw="2.0.0",EN=gw,AN=1e4,jN=100,ti={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},yw={close:"phx_close",error:"phx_error",join:"phx_join",leave:"phx_leave",access_token:"access_token"},uf={connecting:"connecting",closing:"closing",closed:"closed"};class NN{constructor(e){this.HEADER_LENGTH=1,this.USER_BROADCAST_PUSH_META_LENGTH=6,this.KINDS={userBroadcastPush:3,userBroadcast:4},this.BINARY_ENCODING=0,this.JSON_ENCODING=1,this.BROADCAST_EVENT="broadcast",this.allowedMetadataKeys=[],this.allowedMetadataKeys=e??[]}encode(e,i){if(e.event===this.BROADCAST_EVENT&&!(e.payload instanceof ArrayBuffer)&&typeof e.payload.event=="string")return i(this._binaryEncodeUserBroadcastPush(e));let a=[e.join_ref,e.ref,e.topic,e.event,e.payload];return i(JSON.stringify(a))}_binaryEncodeUserBroadcastPush(e){var i;return this._isArrayBuffer((i=e.payload)===null||i===void 0?void 0:i.payload)?this._encodeBinaryUserBroadcastPush(e):this._encodeJsonUserBroadcastPush(e)}_encodeBinaryUserBroadcastPush(e){var i,a;const l=(a=(i=e.payload)===null||i===void 0?void 0:i.payload)!==null&&a!==void 0?a:new ArrayBuffer(0);return this._encodeUserBroadcastPush(e,this.BINARY_ENCODING,l)}_encodeJsonUserBroadcastPush(e){var i,a;const l=(a=(i=e.payload)===null||i===void 0?void 0:i.payload)!==null&&a!==void 0?a:{},u=new TextEncoder().encode(JSON.stringify(l)).buffer;return this._encodeUserBroadcastPush(e,this.JSON_ENCODING,u)}_encodeUserBroadcastPush(e,i,a){var l,c;const u=e.topic,d=(l=e.ref)!==null&&l!==void 0?l:"",m=(c=e.join_ref)!==null&&c!==void 0?c:"",p=e.payload.event,y=this.allowedMetadataKeys?this._pick(e.payload,this.allowedMetadataKeys):{},v=Object.keys(y).length===0?"":JSON.stringify(y);if(m.length>255)throw new Error(`joinRef length ${m.length} exceeds maximum of 255`);if(d.length>255)throw new Error(`ref length ${d.length} exceeds maximum of 255`);if(u.length>255)throw new Error(`topic length ${u.length} exceeds maximum of 255`);if(p.length>255)throw new Error(`userEvent length ${p.length} exceeds maximum of 255`);if(v.length>255)throw new Error(`metadata length ${v.length} exceeds maximum of 255`);const x=this.USER_BROADCAST_PUSH_META_LENGTH+m.length+d.length+u.length+p.length+v.length,_=new ArrayBuffer(this.HEADER_LENGTH+x);let S=new DataView(_),T=0;S.setUint8(T++,this.KINDS.userBroadcastPush),S.setUint8(T++,m.length),S.setUint8(T++,d.length),S.setUint8(T++,u.length),S.setUint8(T++,p.length),S.setUint8(T++,v.length),S.setUint8(T++,i),Array.from(m,C=>S.setUint8(T++,C.charCodeAt(0))),Array.from(d,C=>S.setUint8(T++,C.charCodeAt(0))),Array.from(u,C=>S.setUint8(T++,C.charCodeAt(0))),Array.from(p,C=>S.setUint8(T++,C.charCodeAt(0))),Array.from(v,C=>S.setUint8(T++,C.charCodeAt(0)));var k=new Uint8Array(_.byteLength+a.byteLength);return k.set(new Uint8Array(_),0),k.set(new Uint8Array(a),_.byteLength),k.buffer}decode(e,i){if(this._isArrayBuffer(e)){let a=this._binaryDecode(e);return i(a)}if(typeof e=="string"){const a=JSON.parse(e),[l,c,u,d,m]=a;return i({join_ref:l,ref:c,topic:u,event:d,payload:m})}return i({})}_binaryDecode(e){const i=new DataView(e),a=i.getUint8(0),l=new TextDecoder;switch(a){case this.KINDS.userBroadcast:return this._decodeUserBroadcast(e,i,l)}}_decodeUserBroadcast(e,i,a){const l=i.getUint8(1),c=i.getUint8(2),u=i.getUint8(3),d=i.getUint8(4);let m=this.HEADER_LENGTH+4;const p=a.decode(e.slice(m,m+l));m=m+l;const y=a.decode(e.slice(m,m+c));m=m+c;const v=a.decode(e.slice(m,m+u));m=m+u;const x=e.slice(m,e.byteLength),_=d===this.JSON_ENCODING?JSON.parse(a.decode(x)):x,S={type:this.BROADCAST_EVENT,event:y,payload:_};return u>0&&(S.meta=JSON.parse(v)),{join_ref:null,ref:null,topic:p,event:this.BROADCAST_EVENT,payload:S}}_isArrayBuffer(e){var i;return e instanceof ArrayBuffer||((i=e==null?void 0:e.constructor)===null||i===void 0?void 0:i.name)==="ArrayBuffer"}_pick(e,i){return!e||typeof e!="object"?{}:Object.fromEntries(Object.entries(e).filter(([a])=>i.includes(a)))}}var Xe;(function(n){n.abstime="abstime",n.bool="bool",n.date="date",n.daterange="daterange",n.float4="float4",n.float8="float8",n.int2="int2",n.int4="int4",n.int4range="int4range",n.int8="int8",n.int8range="int8range",n.json="json",n.jsonb="jsonb",n.money="money",n.numeric="numeric",n.oid="oid",n.reltime="reltime",n.text="text",n.time="time",n.timestamp="timestamp",n.timestamptz="timestamptz",n.timetz="timetz",n.tsrange="tsrange",n.tstzrange="tstzrange"})(Xe||(Xe={}));const Cb=(n,e,i={})=>{var a;const l=(a=i.skipTypes)!==null&&a!==void 0?a:[];return e?Object.keys(e).reduce((c,u)=>(c[u]=kN(u,n,e,l),c),{}):{}},kN=(n,e,i,a)=>{const l=e.find(d=>d.name===n),c=l==null?void 0:l.type,u=i[n];return c&&!a.includes(c)?bw(c,u):hf(u)},bw=(n,e)=>{if(n.charAt(0)==="_"){const i=n.slice(1,n.length);return DN(e,i)}switch(n){case Xe.bool:return CN(e);case Xe.float4:case Xe.float8:case Xe.int2:case Xe.int4:case Xe.int8:case Xe.numeric:case Xe.oid:return RN(e);case Xe.json:case Xe.jsonb:return ON(e);case Xe.timestamp:return MN(e);case Xe.abstime:case Xe.date:case Xe.daterange:case Xe.int4range:case Xe.int8range:case Xe.money:case Xe.reltime:case Xe.text:case Xe.time:case Xe.timestamptz:case Xe.timetz:case Xe.tsrange:case Xe.tstzrange:return hf(e);default:return hf(e)}},hf=n=>n,CN=n=>{switch(n){case"t":return!0;case"f":return!1;default:return n}},RN=n=>{if(typeof n=="string"){const e=parseFloat(n);if(!Number.isNaN(e))return e}return n},ON=n=>{if(typeof n=="string")try{return JSON.parse(n)}catch{return n}return n},DN=(n,e)=>{if(typeof n!="string")return n;const i=n.length-1,a=n[i];if(n[0]==="{"&&a==="}"){let c;const u=n.slice(1,i);try{c=JSON.parse("["+u+"]")}catch{c=u?u.split(","):[]}return c.map(d=>bw(e,d))}return n},MN=n=>typeof n=="string"?n.replace(" ","T"):n,vw=n=>{const e=new URL(n);return e.protocol=e.protocol.replace(/^ws/i,"http"),e.pathname=e.pathname.replace(/\/+$/,"").replace(/\/socket\/websocket$/i,"").replace(/\/socket$/i,"").replace(/\/websocket$/i,""),e.pathname===""||e.pathname==="/"?e.pathname="/api/broadcast":e.pathname=e.pathname+"/api/broadcast",e.href};var io=n=>typeof n=="function"?n:function(){return n},BN=typeof self<"u"?self:null,Ba=typeof window<"u"?window:null,Yn=BN||Ba||globalThis,UN="2.0.0",LN=1e4,zN=1e3,Jn={connecting:0,open:1,closing:2,closed:3},en={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},Ss={close:"phx_close",error:"phx_error",join:"phx_join",reply:"phx_reply",leave:"phx_leave"},df={longpoll:"longpoll",websocket:"websocket"},VN={complete:4},ff="base64url.bearer.phx.",Zl=class{constructor(n,e,i,a){this.channel=n,this.event=e,this.payload=i||function(){return{}},this.receivedResp=null,this.timeout=a,this.timeoutTimer=null,this.recHooks=[],this.sent=!1,this.ref=void 0}resend(n){this.timeout=n,this.reset(),this.send()}send(){this.hasReceived("timeout")||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload(),ref:this.ref,join_ref:this.channel.joinRef()}))}receive(n,e){return this.hasReceived(n)&&e(this.receivedResp.response),this.recHooks.push({status:n,callback:e}),this}reset(){this.cancelRefEvent(),this.ref=null,this.refEvent=null,this.receivedResp=null,this.sent=!1}destroy(){this.cancelRefEvent(),this.cancelTimeout()}matchReceive({status:n,response:e,_ref:i}){this.recHooks.filter(a=>a.status===n).forEach(a=>a.callback(e))}cancelRefEvent(){this.refEvent&&this.channel.off(this.refEvent)}cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=null}startTimeout(){this.timeoutTimer&&this.cancelTimeout(),this.ref=this.channel.socket.makeRef(),this.refEvent=this.channel.replyEventName(this.ref),this.channel.on(this.refEvent,n=>{this.cancelRefEvent(),this.cancelTimeout(),this.receivedResp=n,this.matchReceive(n)}),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}hasReceived(n){return this.receivedResp&&this.receivedResp.status===n}trigger(n,e){this.channel.trigger(this.refEvent,{status:n,response:e})}},xw=class{constructor(n,e){this.callback=n,this.timerCalc=e,this.timer=void 0,this.tries=0}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}},PN=class{constructor(n,e,i){this.state=en.closed,this.topic=n,this.params=io(e||{}),this.socket=i,this.bindings=[],this.bindingRef=0,this.timeout=this.socket.timeout,this.joinedOnce=!1,this.joinPush=new Zl(this,Ss.join,this.params,this.timeout),this.pushBuffer=[],this.stateChangeRefs=[],this.rejoinTimer=new xw(()=>{this.socket.isConnected()&&this.rejoin()},this.socket.rejoinAfterMs),this.stateChangeRefs.push(this.socket.onError(()=>this.rejoinTimer.reset())),this.stateChangeRefs.push(this.socket.onOpen(()=>{this.rejoinTimer.reset(),this.isErrored()&&this.rejoin()})),this.joinPush.receive("ok",()=>{this.state=en.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(a=>a.send()),this.pushBuffer=[]}),this.joinPush.receive("error",a=>{this.state=en.errored,this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,a),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.onClose(()=>{this.rejoinTimer.reset(),this.socket.hasLogger()&&this.socket.log("channel",`close ${this.topic}`),this.state=en.closed,this.socket.remove(this)}),this.onError(a=>{this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,a),this.isJoining()&&this.joinPush.reset(),this.state=en.errored,this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.joinPush.receive("timeout",()=>{this.socket.hasLogger()&&this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),new Zl(this,Ss.leave,io({}),this.timeout).send(),this.state=en.errored,this.joinPush.reset(),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.on(Ss.reply,(a,l)=>{this.trigger(this.replyEventName(l),a)})}join(n=this.timeout){if(this.joinedOnce)throw new Error("tried to join multiple times. 'join' can only be called a single time per channel instance");return this.timeout=n,this.joinedOnce=!0,this.rejoin(),this.joinPush}teardown(){this.pushBuffer.forEach(n=>n.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=en.closed,this.bindings=[]}onClose(n){this.on(Ss.close,n)}onError(n){return this.on(Ss.error,e=>n(e))}on(n,e){let i=this.bindingRef++;return this.bindings.push({event:n,ref:i,callback:e}),i}off(n,e){this.bindings=this.bindings.filter(i=>!(i.event===n&&(typeof e>"u"||e===i.ref)))}canPush(){return this.socket.isConnected()&&this.isJoined()}push(n,e,i=this.timeout){if(e=e||{},!this.joinedOnce)throw new Error(`tried to push '${n}' to '${this.topic}' before joining. Use channel.join() before pushing events`);let a=new Zl(this,n,function(){return e},i);return this.canPush()?a.send():(a.startTimeout(),this.pushBuffer.push(a)),a}leave(n=this.timeout){this.rejoinTimer.reset(),this.joinPush.cancelTimeout(),this.state=en.leaving;let e=()=>{this.socket.hasLogger()&&this.socket.log("channel",`leave ${this.topic}`),this.trigger(Ss.close,"leave")},i=new Zl(this,Ss.leave,io({}),n);return i.receive("ok",()=>e()).receive("timeout",()=>e()),i.send(),this.canPush()||i.trigger("ok",{}),i}onMessage(n,e,i){return e}filterBindings(n,e,i){return!0}isMember(n,e,i,a){return this.topic!==n?!1:a&&a!==this.joinRef()?(this.socket.hasLogger()&&this.socket.log("channel","dropping outdated message",{topic:n,event:e,payload:i,joinRef:a}),!1):!0}joinRef(){return this.joinPush.ref}rejoin(n=this.timeout){this.isLeaving()||(this.socket.leaveOpenTopic(this.topic),this.state=en.joining,this.joinPush.resend(n))}trigger(n,e,i,a){let l=this.onMessage(n,e,i,a);if(e&&!l)throw new Error("channel onMessage callbacks must return the payload, modified or unmodified");let c=this.bindings.filter(u=>u.event===n&&this.filterBindings(u,e,i));for(let u=0;um.abort(),l),d.signal=m.signal),Yn.fetch(e,d).then(p=>p.text()).then(p=>this.parseJSON(p)).then(p=>u&&u(p)).catch(p=>{p.name==="AbortError"&&c?c():u&&u(null)}),m}static xdomainRequest(n,e,i,a,l,c,u){return n.timeout=l,n.open(e,i),n.onload=()=>{let d=this.parseJSON(n.responseText);u&&u(d)},c&&(n.ontimeout=c),n.onprogress=()=>{},n.send(a),n}static xhrRequest(n,e,i,a,l,c,u,d){n.open(e,i,!0),n.timeout=c;for(let[m,p]of Object.entries(a))n.setRequestHeader(m,p);return n.onerror=()=>d&&d(null),n.onreadystatechange=()=>{if(n.readyState===VN.complete&&d){let m=this.parseJSON(n.responseText);d(m)}},u&&(n.ontimeout=u),n.send(l),n}static parseJSON(n){if(!n||n==="")return null;try{return JSON.parse(n)}catch{return console&&console.log("failed to parse JSON response",n),null}}static serialize(n,e){let i=[];for(var a in n){if(!Object.prototype.hasOwnProperty.call(n,a))continue;let l=e?`${e}[${a}]`:a,c=n[a];typeof c=="object"?i.push(this.serialize(c,l)):i.push(encodeURIComponent(l)+"="+encodeURIComponent(c))}return i.join("&")}static appendParams(n,e){if(Object.keys(e).length===0)return n;let i=n.match(/\?/)?"&":"?";return`${n}${i}${this.serialize(e)}`}},HN=n=>{let e="",i=new Uint8Array(n),a=i.byteLength;for(let l=0;lthis.poll(),0)}normalizeEndpoint(n){return n.replace("ws://","http://").replace("wss://","https://").replace(new RegExp("(.*)/"+df.websocket),"$1/"+df.longpoll)}endpointURL(){return jc.appendParams(this.pollEndpoint,{token:this.token})}closeAndRetry(n,e,i){this.close(n,e,i),this.readyState=Jn.connecting}ontimeout(){this.onerror("timeout"),this.closeAndRetry(1005,"timeout",!1)}isActive(){return this.readyState===Jn.open||this.readyState===Jn.connecting}poll(){const n={Accept:"application/json"};this.authToken&&(n["X-Phoenix-AuthToken"]=this.authToken),this.ajax("GET",n,null,()=>this.ontimeout(),e=>{if(e){var{status:i,token:a,messages:l}=e;if(i===410&&this.token!==null){this.onerror(410),this.closeAndRetry(3410,"session_gone",!1);return}this.token=a}else i=0;switch(i){case 200:l.forEach(c=>{setTimeout(()=>this.onmessage({data:c}),0)}),this.poll();break;case 204:this.poll();break;case 410:this.readyState=Jn.open,this.onopen({}),this.poll();break;case 403:this.onerror(403),this.close(1008,"forbidden",!1);break;case 0:case 500:this.onerror(500),this.closeAndRetry(1011,"internal server error",500);break;default:throw new Error(`unhandled poll status ${i}`)}})}send(n){typeof n!="string"&&(n=HN(n)),this.currentBatch?this.currentBatch.push(n):this.awaitingBatchAck?this.batchBuffer.push(n):(this.currentBatch=[n],this.currentBatchTimer=setTimeout(()=>{this.batchSend(this.currentBatch),this.currentBatch=null},0))}batchSend(n){this.awaitingBatchAck=!0,this.ajax("POST",{"Content-Type":"application/x-ndjson"},n.join(` +`),()=>this.onerror("timeout"),e=>{this.awaitingBatchAck=!1,!e||e.status!==200?(this.onerror(e&&e.status),this.closeAndRetry(1011,"internal server error",!1)):this.batchBuffer.length>0&&(this.batchSend(this.batchBuffer),this.batchBuffer=[])})}close(n,e,i){for(let l of this.reqs)l.abort();this.readyState=Jn.closed;let a=Object.assign({code:1e3,reason:void 0,wasClean:!0},{code:n,reason:e,wasClean:i});this.batchBuffer=[],clearTimeout(this.currentBatchTimer),this.currentBatchTimer=null,typeof CloseEvent<"u"?this.onclose(new CloseEvent("close",a)):this.onclose(a)}ajax(n,e,i,a,l){let c,u=()=>{this.reqs.delete(c),a()};c=jc.request(n,this.endpointURL(),e,i,this.timeout,u,d=>{this.reqs.delete(c),this.isActive()&&l(d)}),this.reqs.add(c)}},$N=class Qr{constructor(e,i={}){let a=i.events||{state:"presence_state",diff:"presence_diff"};this.state={},this.pendingDiffs=[],this.channel=e,this.joinRef=null,this.caller={onJoin:function(){},onLeave:function(){},onSync:function(){}},this.channel.on(a.state,l=>{let{onJoin:c,onLeave:u,onSync:d}=this.caller;this.joinRef=this.channel.joinRef(),this.state=Qr.syncState(this.state,l,c,u),this.pendingDiffs.forEach(m=>{this.state=Qr.syncDiff(this.state,m,c,u)}),this.pendingDiffs=[],d()}),this.channel.on(a.diff,l=>{let{onJoin:c,onLeave:u,onSync:d}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(l):(this.state=Qr.syncDiff(this.state,l,c,u),d())})}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}list(e){return Qr.list(this.state,e)}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel.joinRef()}static syncState(e,i,a,l){let c=this.clone(e),u={},d={};return this.map(c,(m,p)=>{i[m]||(d[m]=p)}),this.map(i,(m,p)=>{let y=c[m];if(y){let v=p.metas.map(T=>T.phx_ref),x=y.metas.map(T=>T.phx_ref),_=p.metas.filter(T=>x.indexOf(T.phx_ref)<0),S=y.metas.filter(T=>v.indexOf(T.phx_ref)<0);_.length>0&&(u[m]=p,u[m].metas=_),S.length>0&&(d[m]=this.clone(y),d[m].metas=S)}else u[m]=p}),this.syncDiff(c,{joins:u,leaves:d},a,l)}static syncDiff(e,i,a,l){let{joins:c,leaves:u}=this.clone(i);return a||(a=function(){}),l||(l=function(){}),this.map(c,(d,m)=>{let p=e[d];if(e[d]=this.clone(m),p){let y=e[d].metas.map(x=>x.phx_ref),v=p.metas.filter(x=>y.indexOf(x.phx_ref)<0);e[d].metas.unshift(...v)}a(d,p,m)}),this.map(u,(d,m)=>{let p=e[d];if(!p)return;let y=m.metas.map(v=>v.phx_ref);p.metas=p.metas.filter(v=>y.indexOf(v.phx_ref)<0),l(d,p,m),p.metas.length===0&&delete e[d]}),e}static list(e,i){return i||(i=function(a,l){return l}),this.map(e,(a,l)=>i(a,l))}static map(e,i){return Object.getOwnPropertyNames(e).map(a=>i(a,e[a]))}static clone(e){return JSON.parse(JSON.stringify(e))}},Wl={HEADER_LENGTH:1,META_LENGTH:4,KINDS:{push:0,reply:1,broadcast:2},encode(n,e){if(n.payload.constructor===ArrayBuffer)return e(this.binaryEncode(n));{let i=[n.join_ref,n.ref,n.topic,n.event,n.payload];return e(JSON.stringify(i))}},decode(n,e){if(n.constructor===ArrayBuffer)return e(this.binaryDecode(n));{let[i,a,l,c,u]=JSON.parse(n);return e({join_ref:i,ref:a,topic:l,event:c,payload:u})}},binaryEncode(n){let{join_ref:e,ref:i,event:a,topic:l,payload:c}=n,u=this.META_LENGTH+e.length+i.length+l.length+a.length,d=new ArrayBuffer(this.HEADER_LENGTH+u),m=new DataView(d),p=0;m.setUint8(p++,this.KINDS.push),m.setUint8(p++,e.length),m.setUint8(p++,i.length),m.setUint8(p++,l.length),m.setUint8(p++,a.length),Array.from(e,v=>m.setUint8(p++,v.charCodeAt(0))),Array.from(i,v=>m.setUint8(p++,v.charCodeAt(0))),Array.from(l,v=>m.setUint8(p++,v.charCodeAt(0))),Array.from(a,v=>m.setUint8(p++,v.charCodeAt(0)));var y=new Uint8Array(d.byteLength+c.byteLength);return y.set(new Uint8Array(d),0),y.set(new Uint8Array(c),d.byteLength),y.buffer},binaryDecode(n){let e=new DataView(n),i=e.getUint8(0),a=new TextDecoder;switch(i){case this.KINDS.push:return this.decodePush(n,e,a);case this.KINDS.reply:return this.decodeReply(n,e,a);case this.KINDS.broadcast:return this.decodeBroadcast(n,e,a)}},decodePush(n,e,i){let a=e.getUint8(1),l=e.getUint8(2),c=e.getUint8(3),u=this.HEADER_LENGTH+this.META_LENGTH-1,d=i.decode(n.slice(u,u+a));u=u+a;let m=i.decode(n.slice(u,u+l));u=u+l;let p=i.decode(n.slice(u,u+c));u=u+c;let y=n.slice(u,n.byteLength);return{join_ref:d,ref:null,topic:m,event:p,payload:y}},decodeReply(n,e,i){let a=e.getUint8(1),l=e.getUint8(2),c=e.getUint8(3),u=e.getUint8(4),d=this.HEADER_LENGTH+this.META_LENGTH,m=i.decode(n.slice(d,d+a));d=d+a;let p=i.decode(n.slice(d,d+l));d=d+l;let y=i.decode(n.slice(d,d+c));d=d+c;let v=i.decode(n.slice(d,d+u));d=d+u;let x=n.slice(d,n.byteLength),_={status:v,response:x};return{join_ref:m,ref:p,topic:y,event:Ss.reply,payload:_}},decodeBroadcast(n,e,i){let a=e.getUint8(1),l=e.getUint8(2),c=this.HEADER_LENGTH+2,u=i.decode(n.slice(c,c+a));c=c+a;let d=i.decode(n.slice(c,c+l));c=c+l;let m=n.slice(c,n.byteLength);return{join_ref:null,ref:null,topic:u,event:d,payload:m}}},qN=class{constructor(n,e={}){this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.channels=[],this.sendBuffer=[],this.ref=0,this.fallbackRef=null,this.timeout=e.timeout||LN,this.transport=e.transport||Yn.WebSocket||ja,this.conn=void 0,this.primaryPassedHealthCheck=!1,this.longPollFallbackMs=e.longPollFallbackMs,this.fallbackTimer=null;let i=null;try{i=Yn&&Yn.sessionStorage}catch{}this.sessionStore=e.sessionStorage||i,this.establishedConnections=0,this.defaultEncoder=Wl.encode.bind(Wl),this.defaultDecoder=Wl.decode.bind(Wl),this.closeWasClean=!0,this.disconnecting=!1,this.binaryType=e.binaryType||"arraybuffer",this.connectClock=1,this.pageHidden=!1,this.encode=void 0,this.decode=void 0,this.transport!==ja?(this.encode=e.encode||this.defaultEncoder,this.decode=e.decode||this.defaultDecoder):(this.encode=this.defaultEncoder,this.decode=this.defaultDecoder);let a=null;Ba&&Ba.addEventListener&&(Ba.addEventListener("pagehide",l=>{this.conn&&(this.disconnect(),a=this.connectClock)}),Ba.addEventListener("pageshow",l=>{a===this.connectClock&&(a=null,this.connect())}),Ba.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"?this.pageHidden=!0:(this.pageHidden=!1,!this.isConnected()&&!this.closeWasClean&&this.teardown(()=>this.connect()))})),this.heartbeatIntervalMs=e.heartbeatIntervalMs||3e4,this.autoSendHeartbeat=e.autoSendHeartbeat??!0,this.heartbeatCallback=e.heartbeatCallback??(()=>{}),this.rejoinAfterMs=l=>e.rejoinAfterMs?e.rejoinAfterMs(l):[1e3,2e3,5e3][l-1]||1e4,this.reconnectAfterMs=l=>e.reconnectAfterMs?e.reconnectAfterMs(l):[10,50,100,150,200,250,500,1e3,2e3][l-1]||5e3,this.logger=e.logger||null,!this.logger&&e.debug&&(this.logger=(l,c,u)=>{console.log(`${l}: ${c}`,u)}),this.longpollerTimeout=e.longpollerTimeout||2e4,this.params=io(e.params||{}),this.endPoint=`${n}/${df.websocket}`,this.vsn=e.vsn||UN,this.heartbeatTimeoutTimer=null,this.heartbeatTimer=null,this.heartbeatSentAt=null,this.pendingHeartbeatRef=null,this.reconnectTimer=new xw(()=>{if(this.pageHidden){this.log("Not reconnecting as page is hidden!"),this.teardown();return}this.teardown(async()=>{e.beforeReconnect&&await e.beforeReconnect(),this.connect()})},this.reconnectAfterMs),this.authToken=e.authToken}getLongPollTransport(){return ja}replaceTransport(n){this.connectClock++,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.conn&&(this.conn.close(),this.conn=null),this.transport=n}protocol(){return location.protocol.match(/^https/)?"wss":"ws"}endPointURL(){let n=jc.appendParams(jc.appendParams(this.endPoint,this.params()),{vsn:this.vsn});return n.charAt(0)!=="/"?n:n.charAt(1)==="/"?`${this.protocol()}:${n}`:`${this.protocol()}://${location.host}${n}`}disconnect(n,e,i){this.connectClock++,this.disconnecting=!0,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.teardown(()=>{this.disconnecting=!1,n&&n()},e,i)}connect(n){n&&(console&&console.log("passing params to connect is deprecated. Instead pass :params to the Socket constructor"),this.params=io(n)),!(this.conn&&!this.disconnecting)&&(this.longPollFallbackMs&&this.transport!==ja?this.connectWithFallback(ja,this.longPollFallbackMs):this.transportConnect())}log(n,e,i){this.logger&&this.logger(n,e,i)}hasLogger(){return this.logger!==null}onOpen(n){let e=this.makeRef();return this.stateChangeCallbacks.open.push([e,n]),e}onClose(n){let e=this.makeRef();return this.stateChangeCallbacks.close.push([e,n]),e}onError(n){let e=this.makeRef();return this.stateChangeCallbacks.error.push([e,n]),e}onMessage(n){let e=this.makeRef();return this.stateChangeCallbacks.message.push([e,n]),e}onHeartbeat(n){this.heartbeatCallback=n}ping(n){if(!this.isConnected())return!1;let e=this.makeRef(),i=Date.now();this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:e});let a=this.onMessage(l=>{l.ref===e&&(this.off([a]),n(Date.now()-i))});return!0}transportName(n){switch(n){case ja:return"LongPoll";default:return n.name}}transportConnect(){this.connectClock++,this.closeWasClean=!1;let n;this.authToken&&(n=["phoenix",`${ff}${btoa(this.authToken).replace(/=/g,"")}`]),this.conn=new this.transport(this.endPointURL(),n),this.conn.binaryType=this.binaryType,this.conn.timeout=this.longpollerTimeout,this.conn.onopen=()=>this.onConnOpen(),this.conn.onerror=e=>this.onConnError(e),this.conn.onmessage=e=>this.onConnMessage(e),this.conn.onclose=e=>this.onConnClose(e)}getSession(n){return this.sessionStore&&this.sessionStore.getItem(n)}storeSession(n,e){this.sessionStore&&this.sessionStore.setItem(n,e)}connectWithFallback(n,e=2500){clearTimeout(this.fallbackTimer);let i=!1,a=!0,l,c,u=this.transportName(n),d=m=>{this.log("transport",`falling back to ${u}...`,m),this.off([l,c]),a=!1,this.replaceTransport(n),this.transportConnect()};if(this.getSession(`phx:fallback:${u}`))return d("memorized");this.fallbackTimer=setTimeout(d,e),c=this.onError(m=>{this.log("transport","error",m),a&&!i&&(clearTimeout(this.fallbackTimer),d(m))}),this.fallbackRef&&this.off([this.fallbackRef]),this.fallbackRef=this.onOpen(()=>{if(i=!0,!a){let m=this.transportName(n);return this.primaryPassedHealthCheck||this.storeSession(`phx:fallback:${m}`,"true"),this.log("transport",`established ${m} fallback`)}clearTimeout(this.fallbackTimer),this.fallbackTimer=setTimeout(d,e),this.ping(m=>{this.log("transport","connected to primary after",m),this.primaryPassedHealthCheck=!0,clearTimeout(this.fallbackTimer)})}),this.transportConnect()}clearHeartbeats(){clearTimeout(this.heartbeatTimer),clearTimeout(this.heartbeatTimeoutTimer)}onConnOpen(){this.hasLogger()&&this.log("transport",`connected to ${this.endPointURL()}`),this.closeWasClean=!1,this.disconnecting=!1,this.establishedConnections++,this.flushSendBuffer(),this.reconnectTimer.reset(),this.autoSendHeartbeat&&this.resetHeartbeat(),this.triggerStateCallbacks("open")}heartbeatTimeout(){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.hasLogger()&&this.log("transport","heartbeat timeout. Attempting to re-establish connection");try{this.heartbeatCallback("timeout")}catch(n){this.log("error","error in heartbeat callback",n)}this.triggerChanError(new Error("heartbeat timeout")),this.closeWasClean=!1,this.teardown(()=>this.reconnectTimer.scheduleTimeout(),zN,"heartbeat timeout")}}resetHeartbeat(){this.conn&&this.conn.skipHeartbeat||(this.pendingHeartbeatRef=null,this.clearHeartbeats(),this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}teardown(n,e,i){if(!this.conn)return n&&n();const a=this.conn;this.waitForBufferDone(a,()=>{e?a.close(e,i||""):a.close(),this.waitForSocketClosed(a,()=>{this.conn===a&&(this.conn.onopen=function(){},this.conn.onerror=function(){},this.conn.onmessage=function(){},this.conn.onclose=function(){},this.conn=null),n&&n()})})}waitForBufferDone(n,e,i=1){if(i===5||!n.bufferedAmount){e();return}setTimeout(()=>{this.waitForBufferDone(n,e,i+1)},150*i)}waitForSocketClosed(n,e,i=1){if(i===5||n.readyState===Jn.closed){e();return}setTimeout(()=>{this.waitForSocketClosed(n,e,i+1)},150*i)}onConnClose(n){this.conn&&(this.conn.onclose=()=>{}),this.hasLogger()&&this.log("transport","close",n),this.triggerChanError(n),this.clearHeartbeats(),this.closeWasClean||this.reconnectTimer.scheduleTimeout(),this.triggerStateCallbacks("close",n)}onConnError(n){this.hasLogger()&&this.log("transport","error",n);let e=this.transport,i=this.establishedConnections;this.triggerStateCallbacks("error",n,e,i),(e===this.transport||i>0)&&this.triggerChanError(n)}triggerChanError(n){this.channels.forEach(e=>{e.isErrored()||e.isLeaving()||e.isClosed()||e.trigger(Ss.error,n)})}connectionState(){switch(this.conn&&this.conn.readyState){case Jn.connecting:return"connecting";case Jn.open:return"open";case Jn.closing:return"closing";default:return"closed"}}isConnected(){return this.connectionState()==="open"}remove(n){this.off(n.stateChangeRefs),this.channels=this.channels.filter(e=>e!==n)}off(n){for(let e in this.stateChangeCallbacks)this.stateChangeCallbacks[e]=this.stateChangeCallbacks[e].filter(([i])=>n.indexOf(i)===-1)}channel(n,e={}){let i=new PN(n,e,this);return this.channels.push(i),i}push(n){if(this.hasLogger()){let{topic:e,event:i,payload:a,ref:l,join_ref:c}=n;this.log("push",`${e} ${i} (${c}, ${l})`,a)}this.isConnected()?this.encode(n,e=>this.conn.send(e)):this.sendBuffer.push(()=>this.encode(n,e=>this.conn.send(e)))}makeRef(){let n=this.ref+1;return n===this.ref?this.ref=0:this.ref=n,this.ref.toString()}sendHeartbeat(){if(!this.isConnected()){try{this.heartbeatCallback("disconnected")}catch(n){this.log("error","error in heartbeat callback",n)}return}if(this.pendingHeartbeatRef){this.heartbeatTimeout();return}this.pendingHeartbeatRef=this.makeRef(),this.heartbeatSentAt=Date.now(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback("sent")}catch(n){this.log("error","error in heartbeat callback",n)}this.heartbeatTimeoutTimer=setTimeout(()=>this.heartbeatTimeout(),this.heartbeatIntervalMs)}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(n=>n()),this.sendBuffer=[])}onConnMessage(n){this.decode(n.data,e=>{let{topic:i,event:a,payload:l,ref:c,join_ref:u}=e;if(c&&c===this.pendingHeartbeatRef){const d=this.heartbeatSentAt?Date.now()-this.heartbeatSentAt:void 0;this.clearHeartbeats();try{this.heartbeatCallback(l.status==="ok"?"ok":"error",d)}catch(m){this.log("error","error in heartbeat callback",m)}this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.autoSendHeartbeat&&(this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}this.hasLogger()&&this.log("receive",`${l.status||""} ${i} ${a} ${c&&"("+c+")"||""}`.trim(),l);for(let d=0;d{try{a(...e)}catch(l){this.log("error",`error in ${n} callback`,l)}})}catch(i){this.log("error",`error triggering ${n} callbacks`,i)}}leaveOpenTopic(n){let e=this.channels.find(i=>i.topic===n&&(i.isJoined()||i.isJoining()));e&&(this.hasLogger()&&this.log("transport",`leaving duplicate topic "${n}"`),e.leave())}};class ao{constructor(e,i){const a=IN(i);this.presence=new $N(e.getChannel(),a),this.presence.onJoin((l,c,u)=>{const d=ao.onJoinPayload(l,c,u);e.getChannel().trigger("presence",d)}),this.presence.onLeave((l,c,u)=>{const d=ao.onLeavePayload(l,c,u);e.getChannel().trigger("presence",d)}),this.presence.onSync(()=>{e.getChannel().trigger("presence",{event:"sync"})})}get state(){return ao.transformState(this.presence.state)}static transformState(e){return e=FN(e),Object.getOwnPropertyNames(e).reduce((i,a)=>{const l=e[a];return i[a]=pc(l),i},{})}static onJoinPayload(e,i,a){const l=Rb(i),c=pc(a);return{event:"join",key:e,currentPresences:l,newPresences:c}}static onLeavePayload(e,i,a){const l=Rb(i),c=pc(a);return{event:"leave",key:e,currentPresences:l,leftPresences:c}}}function pc(n){return n.metas.map(e=>(e.presence_ref=e.phx_ref,delete e.phx_ref,delete e.phx_ref_prev,e))}function FN(n){return JSON.parse(JSON.stringify(n))}function IN(n){return(n==null?void 0:n.events)&&{events:n.events}}function Rb(n){return n!=null&&n.metas?pc(n):[]}var Ob;(function(n){n.SYNC="sync",n.JOIN="join",n.LEAVE="leave"})(Ob||(Ob={}));class GN{get state(){return this.presenceAdapter.state}constructor(e,i){this.channel=e,this.presenceAdapter=new ao(this.channel.channelAdapter,i)}}function KN(n){if(n instanceof Error)return n;if(typeof n=="string")return new Error(n);if(n&&typeof n=="object"){const e=n;if(typeof e.code=="number"){const i=typeof e.reason=="string"&&e.reason?` (${e.reason})`:"";return new Error(`socket closed: ${e.code}${i}`,{cause:n})}return new Error("channel error: transport failure",{cause:n})}return new Error("channel error: connection lost")}class YN{constructor(e,i,a){const l=XN(a);this.channel=e.getSocket().channel(i,l),this.socket=e}get state(){return this.channel.state}set state(e){this.channel.state=e}get joinedOnce(){return this.channel.joinedOnce}get joinPush(){return this.channel.joinPush}get rejoinTimer(){return this.channel.rejoinTimer}on(e,i){return this.channel.on(e,i)}off(e,i){this.channel.off(e,i)}subscribe(e){return this.channel.join(e)}unsubscribe(e){return this.channel.leave(e)}teardown(){this.channel.teardown()}onClose(e){this.channel.onClose(e)}onError(e){return this.channel.onError(e)}push(e,i,a){let l;try{l=this.channel.push(e,i,a)}catch{throw new Error(`tried to push '${e}' to '${this.channel.topic}' before joining. Use channel.subscribe() before pushing events`)}if(this.channel.pushBuffer.length>jN){const c=this.channel.pushBuffer.shift();c.cancelTimeout(),this.socket.log("channel",`discarded push due to buffer overflow: ${c.event}`,c.payload())}return l}updateJoinPayload(e){const i=this.channel.joinPush.payload();this.channel.joinPush.payload=()=>Object.assign(Object.assign({},i),e)}canPush(){return this.socket.isConnected()&&this.state===ti.joined}isJoined(){return this.state===ti.joined}isJoining(){return this.state===ti.joining}isClosed(){return this.state===ti.closed}isLeaving(){return this.state===ti.leaving}updateFilterBindings(e){this.channel.filterBindings=e}updatePayloadTransform(e){this.channel.onMessage=e}getChannel(){return this.channel}}function XN(n){return{config:Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},n.config)}}const JN=/[,()"\\]/,QN=n=>JN.test(n)||n!==n.trim(),ZN=n=>`"${n.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`,Db=n=>{const e=n===null?"null":String(n);return QN(e)?ZN(e):e},WN=n=>n===null?"null":String(n),ek=(n,e)=>{if(n==="in"){const i=Array.isArray(e)?e:[e];if(i.length===0)throw new Error("Realtime `in` filter requires at least one value.");return`in.(${Array.from(new Set(i)).map(l=>Db(l)).join(",")})`}return n==="is"?`is.${WN(e)}`:`${n}.${Db(e)}`};class tk{constructor(){this.filters=[]}add(e,i,a,l=!1){const c=l?"not.":"";return this.filters.push(`${e}=${c}${ek(i,a)}`),this}eq(e,i){return this.add(e,"eq",i)}neq(e,i){return this.add(e,"neq",i)}gt(e,i){return this.add(e,"gt",i)}gte(e,i){return this.add(e,"gte",i)}lt(e,i){return this.add(e,"lt",i)}lte(e,i){return this.add(e,"lte",i)}in(e,i){return this.add(e,"in",i)}like(e,i){return this.add(e,"like",i)}ilike(e,i){return this.add(e,"ilike",i)}match(e,i){return this.add(e,"match",i)}imatch(e,i){return this.add(e,"imatch",i)}is(e,i){return this.add(e,"is",i)}isDistinct(e,i){return this.add(e,"isdistinct",i)}not(e,i,a){return this.add(e,i,a,!0)}build(){return this.filters.join(",")}toString(){return this.build()}}var Mb;(function(n){n.ALL="*",n.INSERT="INSERT",n.UPDATE="UPDATE",n.DELETE="DELETE"})(Mb||(Mb={}));var Ha;(function(n){n.BROADCAST="broadcast",n.PRESENCE="presence",n.POSTGRES_CHANGES="postgres_changes",n.SYSTEM="system"})(Ha||(Ha={}));var Ts;(function(n){n.SUBSCRIBED="SUBSCRIBED",n.TIMED_OUT="TIMED_OUT",n.CLOSED="CLOSED",n.CHANNEL_ERROR="CHANNEL_ERROR"})(Ts||(Ts={}));class ro{get state(){return this.channelAdapter.state}set state(e){this.channelAdapter.state=e}get joinedOnce(){return this.channelAdapter.joinedOnce}get timeout(){return this.socket.timeout}get joinPush(){return this.channelAdapter.joinPush}get rejoinTimer(){return this.channelAdapter.rejoinTimer}constructor(e,i={config:{}},a){var l,c;if(this.topic=e,this.params=i,this.socket=a,this.bindings={},this.subTopic=e.replace(/^realtime:/i,""),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},i.config),this.channelAdapter=new YN(this.socket.socketAdapter,e,this.params),this.presence=new GN(this),this._onClose(()=>{this.socket._remove(this)}),this._updateFilterTransform(),this.broadcastEndpointURL=vw(this.socket.socketAdapter.endPointURL()),this.private=this.params.config.private||!1,!this.private&&(!((c=(l=this.params.config)===null||l===void 0?void 0:l.broadcast)===null||c===void 0)&&c.replay))throw new Error(`tried to use replay on public channel '${this.topic}'. It must be a private channel.`)}subscribe(e,i=this.timeout){var a,l,c;if(this.socket.isConnected()||this.socket.connect(),this.channelAdapter.isClosed()){const{config:{broadcast:u,presence:d,private:m}}=this.params,p=(l=(a=this.bindings.postgres_changes)===null||a===void 0?void 0:a.map(_=>_.filter))!==null&&l!==void 0?l:[],y=!!this.bindings[Ha.PRESENCE]&&this.bindings[Ha.PRESENCE].length>0||((c=this.params.config.presence)===null||c===void 0?void 0:c.enabled)===!0,v={},x={broadcast:u,presence:Object.assign(Object.assign({},d),{enabled:y}),postgres_changes:p,private:m};this.socket.accessTokenValue&&(v.access_token=this.socket.accessTokenValue),this._onError(_=>{e==null||e(Ts.CHANNEL_ERROR,KN(_))}),this._onClose(()=>e==null?void 0:e(Ts.CLOSED)),this.updateJoinPayload(Object.assign({config:x},v)),this._updateFilterMessage(),this.channelAdapter.subscribe(i).receive("ok",async({postgres_changes:_})=>{if(this.socket._isManualToken()||this.socket.setAuth(),_===void 0){e==null||e(Ts.SUBSCRIBED);return}this._updatePostgresBindings(_,e)}).receive("error",_=>{this.state=ti.errored;const S=Object.values(_).join(", ")||"error";e==null||e(Ts.CHANNEL_ERROR,new Error(S,{cause:_}))}).receive("timeout",()=>{e==null||e(Ts.TIMED_OUT)})}return this}_updatePostgresBindings(e,i){var a;const l=this.bindings.postgres_changes,c=(a=l==null?void 0:l.length)!==null&&a!==void 0?a:0,u=[];for(let d=0;d{var u,d,m;const p=this.channelAdapter.push(e.type,e,i.timeout||this.timeout);e.type==="broadcast"&&!(!((m=(d=(u=this.params)===null||u===void 0?void 0:u.config)===null||d===void 0?void 0:d.broadcast)===null||m===void 0)&&m.ack)&&c("ok"),p.receive("ok",()=>c("ok")),p.receive("error",()=>c("error")),p.receive("timeout",()=>c("timed out"))})}updateJoinPayload(e){this.channelAdapter.updateJoinPayload(e)}async unsubscribe(e=this.timeout){return new Promise(i=>{this.channelAdapter.unsubscribe(e).receive("ok",()=>i("ok")).receive("timeout",()=>i("timed out")).receive("error",()=>i("error"))})}teardown(){this.channelAdapter.teardown()}async _fetchWithTimeout(e,i,a){const l=new AbortController,c=setTimeout(()=>l.abort(),a),u=await this.socket.fetch(e,Object.assign(Object.assign({},i),{signal:l.signal}));return clearTimeout(c),u}_on(e,i,a){const l=e.toLocaleLowerCase(),c=i==null?void 0:i.filter;(c instanceof tk||typeof c=="object"&&c!==null&&typeof c.build=="function")&&(i=Object.assign(Object.assign({},i),{filter:c.build()}));const u=this.channelAdapter.on(e,a),d={type:l,filter:i,callback:a,ref:u};return this.bindings[l]?this.bindings[l].push(d):this.bindings[l]=[d],this._updateFilterMessage(),this}_onClose(e){this.channelAdapter.onClose(e)}_onError(e){this.channelAdapter.onError(e)}_updateFilterMessage(){this.channelAdapter.updateFilterBindings((e,i,a)=>{var l,c,u,d,m,p,y;const v=e.event.toLocaleLowerCase();if(this._notThisChannelEvent(v,a))return!1;const x=(l=this.bindings[v])===null||l===void 0?void 0:l.find(_=>_.ref===e.ref);if(!x)return!0;if(["broadcast","presence","postgres_changes"].includes(v))if("id"in x){const _=x.id,S=(c=x.filter)===null||c===void 0?void 0:c.event;return _&&((u=i.ids)===null||u===void 0?void 0:u.includes(_))&&(S==="*"||(S==null?void 0:S.toLocaleLowerCase())===((d=i.data)===null||d===void 0?void 0:d.type.toLocaleLowerCase()))}else{const _=(p=(m=x==null?void 0:x.filter)===null||m===void 0?void 0:m.event)===null||p===void 0?void 0:p.toLocaleLowerCase();return _==="*"||_===((y=i==null?void 0:i.event)===null||y===void 0?void 0:y.toLocaleLowerCase())}else return x.type.toLocaleLowerCase()===v})}_notThisChannelEvent(e,i){const{close:a,error:l,leave:c,join:u}=yw;return i&&[a,l,c,u].includes(e)&&i!==this.joinPush.ref}_updateFilterTransform(){this.channelAdapter.updatePayloadTransform((e,i,a)=>{if(typeof i=="object"&&"ids"in i){const l=i.data,{schema:c,table:u,commit_timestamp:d,type:m,errors:p}=l;return Object.assign(Object.assign({},{schema:c,table:u,commit_timestamp:d,eventType:m,new:{},old:{},errors:p}),this._getPayloadRecords(l))}return i})}copyBindings(e){if(this.joinedOnce)throw new Error("cannot copy bindings into joined channel");for(const i in e.bindings)for(const a of e.bindings[i])this._on(a.type,a.filter,a.callback)}static isFilterValueEqual(e,i){return(e??void 0)===(i??void 0)}_getPayloadRecords(e){const i={new:{},old:{}};return(e.type==="INSERT"||e.type==="UPDATE")&&(i.new=Cb(e.columns,e.record)),(e.type==="UPDATE"||e.type==="DELETE")&&(i.old=Cb(e.columns,e.old_record)),i}}class nk{constructor(e,i){this.socket=new qN(e,i)}get timeout(){return this.socket.timeout}get endPoint(){return this.socket.endPoint}get transport(){return this.socket.transport}get heartbeatIntervalMs(){return this.socket.heartbeatIntervalMs}get heartbeatCallback(){return this.socket.heartbeatCallback}set heartbeatCallback(e){this.socket.heartbeatCallback=e}get heartbeatTimer(){return this.socket.heartbeatTimer}get pendingHeartbeatRef(){return this.socket.pendingHeartbeatRef}get reconnectTimer(){return this.socket.reconnectTimer}get vsn(){return this.socket.vsn}get encode(){return this.socket.encode}get decode(){return this.socket.decode}get reconnectAfterMs(){return this.socket.reconnectAfterMs}get sendBuffer(){return this.socket.sendBuffer}get stateChangeCallbacks(){return this.socket.stateChangeCallbacks}connect(){this.socket.connect()}disconnect(e,i,a,l=1e4){return new Promise(c=>{setTimeout(()=>c("timeout"),l),this.socket.disconnect(()=>{e(),c("ok")},i,a)})}push(e){this.socket.push(e)}log(e,i,a){this.socket.log(e,i,a)}makeRef(){return this.socket.makeRef()}onOpen(e){this.socket.onOpen(e)}onClose(e){this.socket.onClose(e)}onError(e){this.socket.onError(e)}onMessage(e){this.socket.onMessage(e)}isConnected(){return this.socket.isConnected()}isConnecting(){return this.socket.connectionState()==uf.connecting}isDisconnecting(){return this.socket.connectionState()==uf.closing}connectionState(){return this.socket.connectionState()}endPointURL(){return this.socket.endPointURL()}sendHeartbeat(){this.socket.sendHeartbeat()}getSocket(){return this.socket}}const Bb={HEARTBEAT_INTERVAL:25e3},sk=[1e3,2e3,5e3,1e4],ik=1e4;function ak(){const n=new Map;return{get length(){return n.size},clear(){n.clear()},getItem(e){return n.has(e)?n.get(e):null},key(e){var i;return(i=Array.from(n.keys())[e])!==null&&i!==void 0?i:null},removeItem(e){n.delete(e)},setItem(e,i){n.set(e,String(i))}}}function rk(){try{if(typeof globalThis<"u"&&globalThis.sessionStorage)return globalThis.sessionStorage}catch{}return ak()}const ok=` + addEventListener("message", (e) => { + if (e.data.event === "start") { + setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval); + } + });`;class lk{get endPoint(){return this.socketAdapter.endPoint}get timeout(){return this.socketAdapter.timeout}get transport(){return this.socketAdapter.transport}get heartbeatCallback(){return this.socketAdapter.heartbeatCallback}get heartbeatIntervalMs(){return this.socketAdapter.heartbeatIntervalMs}get heartbeatTimer(){return this.worker?this._workerHeartbeatTimer:this.socketAdapter.heartbeatTimer}get pendingHeartbeatRef(){return this.worker?this._pendingWorkerHeartbeatRef:this.socketAdapter.pendingHeartbeatRef}get reconnectTimer(){return this.socketAdapter.reconnectTimer}get vsn(){return this.socketAdapter.vsn}get encode(){return this.socketAdapter.encode}get decode(){return this.socketAdapter.decode}get reconnectAfterMs(){return this.socketAdapter.reconnectAfterMs}get sendBuffer(){return this.socketAdapter.sendBuffer}get stateChangeCallbacks(){return this.socketAdapter.stateChangeCallbacks}constructor(e,i){var a;if(this.channels=new Array,this.accessTokenValue=null,this.accessToken=null,this.apiKey=null,this.httpEndpoint="",this.headers={},this.params={},this.ref=0,this.serializer=new NN,this._manuallySetToken=!1,this._authPromise=null,this._workerHeartbeatTimer=void 0,this._pendingWorkerHeartbeatRef=null,this._pendingDisconnectTimer=null,this._disconnectOnEmptyChannelsAfterMs=0,this._resolveFetch=c=>c?(...u)=>c(...u):(...u)=>fetch(...u),!(!((a=i==null?void 0:i.params)===null||a===void 0)&&a.apikey))throw new Error("API key is required to connect to Realtime");this.apiKey=i.params.apikey;const l=this._initializeOptions(i);this.socketAdapter=new nk(e,l),this.httpEndpoint=vw(e),this.fetch=this._resolveFetch(i==null?void 0:i.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||this.isConnected())){this.accessToken&&!this._authPromise&&this._setAuthSafely("connect"),this._setupConnectionHandlers();try{this.socketAdapter.connect()}catch(e){const i=e.message;throw new Error(`WebSocket not available: ${i}`)}this._handleNodeJsRaceCondition()}}endpointURL(){return this.socketAdapter.endPointURL()}async disconnect(e,i){return this._cancelPendingDisconnect(),this.isDisconnecting()?"ok":await this.socketAdapter.disconnect(()=>{clearInterval(this._workerHeartbeatTimer),this._terminateWorker()},e,i)}getChannels(){return this.channels}async removeChannel(e){const i=await e.unsubscribe();return i==="ok"&&e.teardown(),i}async removeAllChannels(){const e=this.channels.map(async a=>{const l=await a.unsubscribe();return a.teardown(),l}),i=await Promise.all(e);return await this.disconnect(),i}log(e,i,a){this.socketAdapter.log(e,i,a)}connectionState(){return this.socketAdapter.connectionState()||uf.closed}isConnected(){return this.socketAdapter.isConnected()}isConnecting(){return this.socketAdapter.isConnecting()}isDisconnecting(){return this.socketAdapter.isDisconnecting()}channel(e,i={config:{}}){const a=`realtime:${e}`,l=this.getChannels().find(c=>c.topic===a);if(l)return l;{const c=new ro(`realtime:${e}`,i,this);return this._cancelPendingDisconnect(),this.channels.push(c),c}}push(e){this.socketAdapter.push(e)}async setAuth(e=null){this._authPromise=this._performAuth(e);try{await this._authPromise}finally{this._authPromise=null}}_isManualToken(){return this._manuallySetToken}async sendHeartbeat(){this.socketAdapter.sendHeartbeat()}onHeartbeat(e){this.socketAdapter.heartbeatCallback=this._wrapHeartbeatCallback(e)}_makeRef(){return this.socketAdapter.makeRef()}_remove(e){this.channels=this.channels.filter(i=>i.topic!==e.topic),this.channels.length===0&&(this.log("transport","no channels remaining, scheduling disconnect"),this._schedulePendingDisconnect())}_schedulePendingDisconnect(){if(this._cancelPendingDisconnect(),this._disconnectOnEmptyChannelsAfterMs===0){this.log("transport","disconnecting immediately - no channels"),this.disconnect();return}this._pendingDisconnectTimer=setTimeout(()=>{this._pendingDisconnectTimer=null,this.channels.length===0&&(this.log("transport","deferred disconnect fired - no channels, disconnecting"),this.disconnect())},this._disconnectOnEmptyChannelsAfterMs),this.log("transport",`deferred disconnect scheduled in ${this._disconnectOnEmptyChannelsAfterMs}ms`)}_cancelPendingDisconnect(){this._pendingDisconnectTimer!==null&&(this.log("transport","pending disconnect cancelled - channel activity detected"),clearTimeout(this._pendingDisconnectTimer),this._pendingDisconnectTimer=null)}async _performAuth(e=null){let i,a=!1;if(e)i=e,a=!0;else if(this.accessToken)try{i=await this.accessToken()}catch(l){this.log("error","Error fetching access token from callback",l),i=this.accessTokenValue}else i=this.accessTokenValue;a?this._manuallySetToken=!0:this.accessToken&&(this._manuallySetToken=!1),this.accessTokenValue!=i&&(this.accessTokenValue=i,this.channels.forEach(l=>{const c={access_token:i,version:SN};i&&l.updateJoinPayload(c),l.joinedOnce&&l.channelAdapter.isJoined()&&l.channelAdapter.push(yw.access_token,{access_token:i})}))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(e="general"){this._isManualToken()||this.setAuth().catch(i=>{this.log("error",`Error setting auth in ${e}`,i)})}_setupConnectionHandlers(){this.socketAdapter.onOpen(()=>{(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).catch(i=>{this.log("error","error waiting for auth on connect",i)}),this.worker&&!this.workerRef&&this._startWorkerHeartbeat()}),this.socketAdapter.onClose(()=>{this.worker&&this.workerRef&&this._terminateWorker()}),this.socketAdapter.onMessage(e=>{e.ref&&e.ref===this._pendingWorkerHeartbeatRef&&(this._pendingWorkerHeartbeatRef=null)})}_handleNodeJsRaceCondition(){this.socketAdapter.isConnected()&&this.socketAdapter.getSocket().onConnOpen()}_wrapHeartbeatCallback(e){return(i,a)=>{i!=="disconnected"&&(i=="sent"&&this._setAuthSafely(),e&&e(i,a))}}_startWorkerHeartbeat(){this.workerUrl?this.log("worker",`starting worker for from ${this.workerUrl}`):this.log("worker","starting default worker");const e=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(e),this.workerRef.onerror=i=>{this.log("worker","worker error",i.message),this._terminateWorker(),this.disconnect()},this.workerRef.onmessage=i=>{i.data.event==="keepAlive"&&this.sendHeartbeat()},this.workerRef.postMessage({event:"start",interval:this.heartbeatIntervalMs})}_terminateWorker(){this.workerRef&&(this.log("worker","terminating worker"),this.workerRef.terminate(),this.workerRef=void 0)}_workerObjectUrl(e){let i;if(e)i=e;else{const a=new Blob([ok],{type:"application/javascript"});i=URL.createObjectURL(a)}return i}_initializeOptions(e){var i,a,l,c,u,d,m,p,y,v,x,_;this.worker=(i=e==null?void 0:e.worker)!==null&&i!==void 0?i:!1,this.accessToken=(a=e==null?void 0:e.accessToken)!==null&&a!==void 0?a:null;const S={};S.timeout=(l=e==null?void 0:e.timeout)!==null&&l!==void 0?l:AN,S.heartbeatIntervalMs=(c=e==null?void 0:e.heartbeatIntervalMs)!==null&&c!==void 0?c:Bb.HEARTBEAT_INTERVAL,this._disconnectOnEmptyChannelsAfterMs=(u=e==null?void 0:e.disconnectOnEmptyChannelsAfterMs)!==null&&u!==void 0?u:2*((d=e==null?void 0:e.heartbeatIntervalMs)!==null&&d!==void 0?d:Bb.HEARTBEAT_INTERVAL),S.transport=(m=e==null?void 0:e.transport)!==null&&m!==void 0?m:wN.getWebSocketConstructor(),S.params=e==null?void 0:e.params,S.logger=e==null?void 0:e.logger,S.heartbeatCallback=this._wrapHeartbeatCallback(e==null?void 0:e.heartbeatCallback),S.sessionStorage=(p=e==null?void 0:e.sessionStorage)!==null&&p!==void 0?p:rk(),S.reconnectAfterMs=(y=e==null?void 0:e.reconnectAfterMs)!==null&&y!==void 0?y:(M=>sk[M-1]||ik);let T,k;const C=(v=e==null?void 0:e.vsn)!==null&&v!==void 0?v:EN;switch(C){case TN:T=(M,N)=>N(JSON.stringify(M)),k=(M,N)=>N(JSON.parse(M));break;case gw:T=this.serializer.encode.bind(this.serializer),k=this.serializer.decode.bind(this.serializer);break;default:throw new Error(`Unsupported serializer version: ${S.vsn}`)}if(S.vsn=C,S.encode=(x=e==null?void 0:e.encode)!==null&&x!==void 0?x:T,S.decode=(_=e==null?void 0:e.decode)!==null&&_!==void 0?_:k,S.beforeReconnect=this._reconnectAuth.bind(this),(e!=null&&e.logLevel||e!=null&&e.log_level)&&(this.logLevel=e.logLevel||e.log_level,S.params=Object.assign(Object.assign({},S.params),{log_level:this.logLevel})),this.worker){if(typeof window<"u"&&!window.Worker)throw new Error("Web Worker is not supported");this.workerUrl=e==null?void 0:e.workerUrl,S.autoSendHeartbeat=!this.worker}return S}async _reconnectAuth(){await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()}}var go=class extends Error{constructor(n,e){var i;super(n),this.name="IcebergError",this.status=e.status,this.icebergType=e.icebergType,this.icebergCode=e.icebergCode,this.details=e.details,this.isCommitStateUnknown=e.icebergType==="CommitStateUnknownException"||[500,502,504].includes(e.status)&&((i=e.icebergType)==null?void 0:i.includes("CommitState"))===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function ck(n,e,i){const a=new URL(e,n);if(i)for(const[l,c]of Object.entries(i))c!==void 0&&a.searchParams.set(l,c);return a.toString()}async function uk(n){return!n||n.type==="none"?{}:n.type==="bearer"?{Authorization:`Bearer ${n.token}`}:n.type==="header"?{[n.name]:n.value}:n.type==="custom"?await n.getHeaders():{}}function hk(n){const e=n.fetchImpl??globalThis.fetch;return{async request({method:i,path:a,query:l,body:c,headers:u}){const d=ck(n.baseUrl,a,l),m=await uk(n.auth),p=await e(d,{method:i,headers:{...c?{"Content-Type":"application/json"}:{},...m,...u},body:c?JSON.stringify(c):void 0}),y=await p.text(),v=(p.headers.get("content-type")||"").includes("application/json"),x=v&&y?JSON.parse(y):y;if(!p.ok){const _=v?x:void 0,S=_==null?void 0:_.error;throw new go((S==null?void 0:S.message)??`Request failed with status ${p.status}`,{status:p.status,icebergType:S==null?void 0:S.type,icebergCode:S==null?void 0:S.code,details:_})}return{status:p.status,headers:p.headers,data:x}}}}function ec(n){return n.join("")}var dk=class{constructor(n,e=""){this.client=n,this.prefix=e}async listNamespaces(n){const e=n?{parent:ec(n.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:e})).data.namespaces.map(a=>({namespace:a}))}async createNamespace(n,e){const i={namespace:n.namespace,properties:e==null?void 0:e.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:i})).data}async dropNamespace(n){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${ec(n.namespace)}`})}async loadNamespaceMetadata(n){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${ec(n.namespace)}`})).data.properties}}async namespaceExists(n){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${ec(n.namespace)}`}),!0}catch(e){if(e instanceof go&&e.status===404)return!1;throw e}}async createNamespaceIfNotExists(n,e){try{return await this.createNamespace(n,e)}catch(i){if(i instanceof go&&i.status===409)return;throw i}}};function Na(n){return n.join("")}var fk=class{constructor(n,e="",i){this.client=n,this.prefix=e,this.accessDelegation=i}async listTables(n){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Na(n.namespace)}/tables`})).data.identifiers}async createTable(n,e){const i={};return this.accessDelegation&&(i["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Na(n.namespace)}/tables`,body:e,headers:i})).data.metadata}async updateTable(n,e){const i=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Na(n.namespace)}/tables/${n.name}`,body:e});return{"metadata-location":i.data["metadata-location"],metadata:i.data.metadata}}async dropTable(n,e){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${Na(n.namespace)}/tables/${n.name}`,query:{purgeRequested:String((e==null?void 0:e.purge)??!1)}})}async loadTable(n){const e={};return this.accessDelegation&&(e["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Na(n.namespace)}/tables/${n.name}`,headers:e})).data.metadata}async tableExists(n){const e={};this.accessDelegation&&(e["X-Iceberg-Access-Delegation"]=this.accessDelegation);try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${Na(n.namespace)}/tables/${n.name}`,headers:e}),!0}catch(i){if(i instanceof go&&i.status===404)return!1;throw i}}async createTableIfNotExists(n,e){try{return await this.createTable(n,e)}catch(i){if(i instanceof go&&i.status===409)return await this.loadTable({namespace:n.namespace,name:e.name});throw i}}},mk=class{constructor(n){var a;let e="v1";n.catalogName&&(e+=`/${n.catalogName}`);const i=n.baseUrl.endsWith("/")?n.baseUrl:`${n.baseUrl}/`;this.client=hk({baseUrl:i,auth:n.auth,fetchImpl:n.fetch}),this.accessDelegation=(a=n.accessDelegation)==null?void 0:a.join(","),this.namespaceOps=new dk(this.client,e),this.tableOps=new fk(this.client,e,this.accessDelegation)}async listNamespaces(n){return this.namespaceOps.listNamespaces(n)}async createNamespace(n,e){return this.namespaceOps.createNamespace(n,e)}async dropNamespace(n){await this.namespaceOps.dropNamespace(n)}async loadNamespaceMetadata(n){return this.namespaceOps.loadNamespaceMetadata(n)}async listTables(n){return this.tableOps.listTables(n)}async createTable(n,e){return this.tableOps.createTable(n,e)}async updateTable(n,e){return this.tableOps.updateTable(n,e)}async dropTable(n,e){await this.tableOps.dropTable(n,e)}async loadTable(n){return this.tableOps.loadTable(n)}async namespaceExists(n){return this.namespaceOps.namespaceExists(n)}async tableExists(n){return this.tableOps.tableExists(n)}async createNamespaceIfNotExists(n,e){return this.namespaceOps.createNamespaceIfNotExists(n,e)}async createTableIfNotExists(n,e){return this.tableOps.createTableIfNotExists(n,e)}};function yo(n){"@babel/helpers - typeof";return yo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},yo(n)}function pk(n,e){if(yo(n)!="object"||!n)return n;var i=n[Symbol.toPrimitive];if(i!==void 0){var a=i.call(n,e);if(yo(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function gk(n){var e=pk(n,"string");return yo(e)=="symbol"?e:e+""}function yk(n,e,i){return(e=gk(e))in n?Object.defineProperty(n,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[e]=i,n}function Ub(n,e){var i=Object.keys(n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(n);e&&(a=a.filter(function(l){return Object.getOwnPropertyDescriptor(n,l).enumerable})),i.push.apply(i,a)}return i}function ge(n){for(var e=1;en?(...e)=>n(...e):(...e)=>fetch(...e),xk=n=>{if(typeof n!="object"||n===null)return!1;const e=Object.getPrototypeOf(n);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in n)&&!(Symbol.iterator in n)},pf=n=>{if(Array.isArray(n))return n.map(i=>pf(i));if(typeof n=="function"||n!==Object(n))return n;const e={};return Object.entries(n).forEach(([i,a])=>{const l=i.replace(/([-_][a-z])/gi,c=>c.toUpperCase().replace(/[-_]/g,""));e[l]=pf(a)}),e},wk=n=>!n||typeof n!="string"||n.length===0||n.length>100||n.trim()!==n||n.includes("/")||n.includes("\\")?!1:/^[\w!.\*'() &$@=;:+,?-]+$/.test(n),Lb=n=>{if(typeof n=="object"&&n!==null){const e=n;if(typeof e.msg=="string")return e.msg;if(typeof e.message=="string")return e.message;if(typeof e.error_description=="string")return e.error_description;if(typeof e.error=="string")return e.error;if(typeof e.error=="object"&&e.error!==null){const i=e.error;if(typeof i.message=="string")return i.message}}return JSON.stringify(n)},_k=async(n,e,i,a)=>{if(n!==null&&typeof n=="object"&&"json"in n&&typeof n.json=="function"){const l=n;let c=parseInt(String(l.status),10);Number.isFinite(c)||(c=500),l.json().then(u=>{const d=(u==null?void 0:u.statusCode)||(u==null?void 0:u.code)||c+"";e(new mf(Lb(u),c,d,a))}).catch(()=>{const u=c+"";e(new mf(l.statusText||`HTTP ${c} error`,c,u,a))})}else e(new ww(Lb(n),n,a))},Sk=(n,e,i,a)=>{const l={method:n,headers:(e==null?void 0:e.headers)||{}};if(n==="GET"||n==="HEAD"||!a)return ge(ge({},l),i);if(xk(a)){var c;const u=(e==null?void 0:e.headers)||{};let d;for(const[m,p]of Object.entries(u))m.toLowerCase()==="content-type"&&(d=p);l.headers=Nc(u,"Content-Type",(c=d)!==null&&c!==void 0?c:"application/json"),l.body=JSON.stringify(a)}else l.body=a;return e!=null&&e.duplex&&(l.duplex=e.duplex),ge(ge({},l),i)};async function Kr(n,e,i,a,l,c,u){return new Promise((d,m)=>{n(i,Sk(e,a,l,c)).then(p=>{if(!p.ok)throw p;if(a!=null&&a.noResolveJson)return p;if(u==="vectors"){const y=p.headers.get("content-type");if(p.headers.get("content-length")==="0"||p.status===204)return{};if(!y||!y.includes("application/json"))return{}}return p.json()}).then(p=>d(p)).catch(p=>_k(p,m,a,u))})}function _w(n="storage"){return{get:async(e,i,a,l)=>Kr(e,"GET",i,a,l,void 0,n),post:async(e,i,a,l,c)=>Kr(e,"POST",i,l,c,a,n),put:async(e,i,a,l,c)=>Kr(e,"PUT",i,l,c,a,n),head:async(e,i,a,l)=>Kr(e,"HEAD",i,ge(ge({},a),{},{noResolveJson:!0}),l,void 0,n),remove:async(e,i,a,l,c)=>Kr(e,"DELETE",i,l,c,a,n)}}const Tk=_w("storage"),{get:bo,post:zn,put:gf,head:Ek,remove:vo}=Tk,hn=_w("vectors");var Za=class{constructor(n,e={},i,a="storage"){this.shouldThrowOnError=!1,this.url=n,this.headers=bk(e),this.fetch=vk(i),this.namespace=a}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(n,e){return this.headers=Nc(this.headers,n,e),this}async handleOperation(n){var e=this;try{return{data:await n(),error:null}}catch(i){if(e.shouldThrowOnError)throw i;if(qc(i))return{data:null,error:i};throw i}}};let Sw;Sw=Symbol.toStringTag;var Ak=class{constructor(n,e){this.downloadFn=n,this.shouldThrowOnError=e,this[Sw]="StreamDownloadBuilder",this.promise=null}then(n,e){return this.getPromise().then(n,e)}catch(n){return this.getPromise().catch(n)}finally(n){return this.getPromise().finally(n)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}async execute(){var n=this;try{return{data:(await n.downloadFn()).body,error:null}}catch(e){if(n.shouldThrowOnError)throw e;if(qc(e))return{data:null,error:e};throw e}}};let Tw;Tw=Symbol.toStringTag;var jk=class{constructor(n,e){this.downloadFn=n,this.shouldThrowOnError=e,this[Tw]="BlobDownloadBuilder",this.promise=null}asStream(){return new Ak(this.downloadFn,this.shouldThrowOnError)}then(n,e){return this.getPromise().then(n,e)}catch(n){return this.getPromise().catch(n)}finally(n){return this.getPromise().finally(n)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}async execute(){var n=this;try{return{data:await(await n.downloadFn()).blob(),error:null}}catch(e){if(n.shouldThrowOnError)throw e;if(qc(e))return{data:null,error:e};throw e}}};const Ed={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},zb={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};var Nk=class extends Za{constructor(n,e={},i,a){super(n,e,a,"storage"),this.bucketId=i}async uploadOrUpdate(n,e,i,a){var l=this;return l.handleOperation(async()=>{let c;const u=ge(ge({},zb),a);let d=ge(ge({},l.headers),n==="POST"&&{"x-upsert":String(u.upsert)});const m=u.metadata;if(typeof Blob<"u"&&i instanceof Blob?(c=new FormData,c.append("cacheControl",u.cacheControl),m&&c.append("metadata",l.encodeMetadata(m)),c.append("",i)):typeof FormData<"u"&&i instanceof FormData?(c=i,c.has("cacheControl")||c.append("cacheControl",u.cacheControl),m&&!c.has("metadata")&&c.append("metadata",l.encodeMetadata(m))):(c=i,d["cache-control"]=`max-age=${u.cacheControl}`,d["content-type"]=u.contentType,m&&(d["x-metadata"]=l.toBase64(l.encodeMetadata(m))),(typeof ReadableStream<"u"&&c instanceof ReadableStream||c&&typeof c=="object"&&"pipe"in c&&typeof c.pipe=="function")&&!u.duplex&&(u.duplex="half")),a!=null&&a.headers)for(const[x,_]of Object.entries(a.headers))d=Nc(d,x,_);const p=l._removeEmptyFolders(e),y=l._getFinalPath(p),v=await(n=="PUT"?gf:zn)(l.fetch,`${l.url}/object/${y}`,c,ge({headers:d},u!=null&&u.duplex?{duplex:u.duplex}:{}));return{path:p,id:v.Id,fullPath:v.Key}})}async upload(n,e,i){return this.uploadOrUpdate("POST",n,e,i)}async uploadToSignedUrl(n,e,i,a){var l=this;const c=l._removeEmptyFolders(n),u=l._getFinalPath(c),d=new URL(l.url+`/object/upload/sign/${u}`);return d.searchParams.set("token",e),l.handleOperation(async()=>{let m;const p=ge(ge({},zb),a);let y=ge(ge({},l.headers),{"x-upsert":String(p.upsert)});const v=p.metadata;if(typeof Blob<"u"&&i instanceof Blob?(m=new FormData,m.append("cacheControl",p.cacheControl),v&&m.append("metadata",l.encodeMetadata(v)),m.append("",i)):typeof FormData<"u"&&i instanceof FormData?(m=i,m.has("cacheControl")||m.append("cacheControl",p.cacheControl),v&&!m.has("metadata")&&m.append("metadata",l.encodeMetadata(v))):(m=i,y["cache-control"]=`max-age=${p.cacheControl}`,y["content-type"]=p.contentType,v&&(y["x-metadata"]=l.toBase64(l.encodeMetadata(v))),(typeof ReadableStream<"u"&&m instanceof ReadableStream||m&&typeof m=="object"&&"pipe"in m&&typeof m.pipe=="function")&&!p.duplex&&(p.duplex="half")),a!=null&&a.headers)for(const[x,_]of Object.entries(a.headers))y=Nc(y,x,_);return{path:c,fullPath:(await gf(l.fetch,d.toString(),m,ge({headers:y},p!=null&&p.duplex?{duplex:p.duplex}:{}))).Key}})}async createSignedUploadUrl(n,e){var i=this;return i.handleOperation(async()=>{let a=i._getFinalPath(n);const l=ge({},i.headers);e!=null&&e.upsert&&(l["x-upsert"]="true");const c=await zn(i.fetch,`${i.url}/object/upload/sign/${a}`,{},{headers:l}),u=new URL(i.url+c.url),d=u.searchParams.get("token");if(!d)throw new $c("No token returned by API");return{signedUrl:u.toString(),path:n,token:d}})}async update(n,e,i){return this.uploadOrUpdate("PUT",n,e,i)}async move(n,e,i){var a=this;return a.handleOperation(async()=>await zn(a.fetch,`${a.url}/object/move`,{bucketId:a.bucketId,sourceKey:n,destinationKey:e,destinationBucket:i==null?void 0:i.destinationBucket},{headers:a.headers}))}async copy(n,e,i){var a=this;return a.handleOperation(async()=>({path:(await zn(a.fetch,`${a.url}/object/copy`,{bucketId:a.bucketId,sourceKey:n,destinationKey:e,destinationBucket:i==null?void 0:i.destinationBucket},{headers:a.headers})).Key}))}async createSignedUrl(n,e,i){var a=this;return a.handleOperation(async()=>{let l=a._getFinalPath(n);const c=typeof(i==null?void 0:i.transform)=="object"&&i.transform!==null&&Object.keys(i.transform).length>0;let u=await zn(a.fetch,`${a.url}/object/sign/${l}`,ge({expiresIn:e},c?{transform:i.transform}:{}),{headers:a.headers});const d=new URLSearchParams;i!=null&&i.download&&d.set("download",i.download===!0?"":i.download),(i==null?void 0:i.cacheNonce)!=null&&d.set("cacheNonce",String(i.cacheNonce));const m=d.toString();return{signedUrl:encodeURI(`${a.url}${u.signedURL}${m?`&${m}`:""}`)}})}async createSignedUrls(n,e,i){var a=this;return a.handleOperation(async()=>{const l=await zn(a.fetch,`${a.url}/object/sign/${a.bucketId}`,{expiresIn:e,paths:n},{headers:a.headers}),c=new URLSearchParams;i!=null&&i.download&&c.set("download",i.download===!0?"":i.download),(i==null?void 0:i.cacheNonce)!=null&&c.set("cacheNonce",String(i.cacheNonce));const u=c.toString();return l.map(d=>ge(ge({},d),{},{signedUrl:d.signedURL?encodeURI(`${a.url}${d.signedURL}${u?`&${u}`:""}`):null}))})}download(n,e,i){const a=typeof(e==null?void 0:e.transform)=="object"&&e.transform!==null&&Object.keys(e.transform).length>0?"render/image/authenticated":"object",l=new URLSearchParams;e!=null&&e.transform&&this.applyTransformOptsToQuery(l,e.transform),(e==null?void 0:e.cacheNonce)!=null&&l.set("cacheNonce",String(e.cacheNonce));const c=l.toString(),u=this._getFinalPath(n),d=()=>bo(this.fetch,`${this.url}/${a}/${u}${c?`?${c}`:""}`,{headers:this.headers,noResolveJson:!0},i);return new jk(d,this.shouldThrowOnError)}async info(n){var e=this;const i=e._getFinalPath(n);return e.handleOperation(async()=>pf(await bo(e.fetch,`${e.url}/object/info/${i}`,{headers:e.headers})))}async exists(n){var e=this;const i=e._getFinalPath(n);try{return await Ek(e.fetch,`${e.url}/object/${i}`,{headers:e.headers}),{data:!0,error:null}}catch(l){if(e.shouldThrowOnError)throw l;if(qc(l)){var a;const c=l instanceof mf?l.status:l instanceof ww?(a=l.originalError)===null||a===void 0?void 0:a.status:void 0;if(c!==void 0&&[400,404].includes(c))return{data:!1,error:l}}throw l}}getPublicUrl(n,e){const i=this._getFinalPath(n),a=new URLSearchParams;e!=null&&e.download&&a.set("download",e.download===!0?"":e.download),e!=null&&e.transform&&this.applyTransformOptsToQuery(a,e.transform),(e==null?void 0:e.cacheNonce)!=null&&a.set("cacheNonce",String(e.cacheNonce));const l=a.toString(),c=typeof(e==null?void 0:e.transform)=="object"&&e.transform!==null&&Object.keys(e.transform).length>0?"render/image":"object";return{data:{publicUrl:encodeURI(`${this.url}/${c}/public/${i}`)+(l?`?${l}`:"")}}}async remove(n){var e=this;return e.handleOperation(async()=>await vo(e.fetch,`${e.url}/object/${e.bucketId}`,{prefixes:n},{headers:e.headers}))}async purgeCache(n,e,i){var a=this;return a.handleOperation(async()=>{const l=a._getFinalPath(n),c=new URLSearchParams;e!=null&&e.transformations&&c.set("transformations","true");const u=c.toString();return await vo(a.fetch,`${a.url}/cdn/${l}${u?`?${u}`:""}`,{},{headers:a.headers},i)})}async list(n,e,i){var a=this;return a.handleOperation(async()=>{const l=e!=null&&e.sortBy?ge(ge({},Ed.sortBy),e.sortBy):Ed.sortBy,c=ge(ge(ge({},Ed),e),{},{sortBy:l,prefix:n||""});return await zn(a.fetch,`${a.url}/object/list/${a.bucketId}`,c,{headers:a.headers},i)})}async listV2(n,e){var i=this;return i.handleOperation(async()=>{const a=ge({},n);return await zn(i.fetch,`${i.url}/object/list-v2/${i.bucketId}`,a,{headers:i.headers},e)})}encodeMetadata(n){return JSON.stringify(n)}toBase64(n){return typeof Buffer<"u"?Buffer.from(n).toString("base64"):btoa(n)}_getFinalPath(n){return`${this.bucketId}/${n.replace(/^\/+/,"")}`}_removeEmptyFolders(n){return n.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}applyTransformOptsToQuery(n,e){return e.width&&n.set("width",e.width.toString()),e.height&&n.set("height",e.height.toString()),e.resize&&n.set("resize",e.resize),e.format&&n.set("format",e.format),e.quality&&n.set("quality",e.quality.toString()),n}};const kk="2.110.2",No={"X-Client-Info":`storage-js/${kk}`};var Ck=class extends Za{constructor(n,e={},i,a){const l=new URL(n);a!=null&&a.useNewHostname&&/supabase\.(co|in|red)$/.test(l.hostname)&&!l.hostname.includes("storage.supabase.")&&(l.hostname=l.hostname.replace("supabase.","storage.supabase."));const c=l.href.replace(/\/$/,""),u=ge(ge({},No),e);super(c,u,i,"storage")}async listBuckets(n){var e=this;return e.handleOperation(async()=>{const i=e.listBucketOptionsToQueryString(n);return await bo(e.fetch,`${e.url}/bucket${i}`,{headers:e.headers})})}async getBucket(n){var e=this;return e.handleOperation(async()=>await bo(e.fetch,`${e.url}/bucket/${n}`,{headers:e.headers}))}async createBucket(n,e={public:!1}){var i=this;return i.handleOperation(async()=>await zn(i.fetch,`${i.url}/bucket`,{id:n,name:n,type:e.type,public:e.public,file_size_limit:e.fileSizeLimit,allowed_mime_types:e.allowedMimeTypes},{headers:i.headers}))}async updateBucket(n,e){var i=this;return i.handleOperation(async()=>await gf(i.fetch,`${i.url}/bucket/${n}`,{id:n,name:n,public:e.public,file_size_limit:e.fileSizeLimit,allowed_mime_types:e.allowedMimeTypes},{headers:i.headers}))}async emptyBucket(n){var e=this;return e.handleOperation(async()=>await zn(e.fetch,`${e.url}/bucket/${n}/empty`,{},{headers:e.headers}))}async deleteBucket(n){var e=this;return e.handleOperation(async()=>await vo(e.fetch,`${e.url}/bucket/${n}`,{},{headers:e.headers}))}async purgeBucketCache(n,e,i){var a=this;return a.handleOperation(async()=>{const l=new URLSearchParams;e!=null&&e.transformations&&l.set("transformations","true");const c=l.toString();return await vo(a.fetch,`${a.url}/cdn/${n}${c?`?${c}`:""}`,{},{headers:a.headers},i)})}listBucketOptionsToQueryString(n){const e={};return n&&("limit"in n&&(e.limit=String(n.limit)),"offset"in n&&(e.offset=String(n.offset)),n.search&&(e.search=n.search),n.sortColumn&&(e.sortColumn=n.sortColumn),n.sortOrder&&(e.sortOrder=n.sortOrder)),Object.keys(e).length>0?"?"+new URLSearchParams(e).toString():""}},Rk=class extends Za{constructor(n,e={},i){const a=n.replace(/\/$/,""),l=ge(ge({},No),e);super(a,l,i,"storage")}async createBucket(n){var e=this;return e.handleOperation(async()=>await zn(e.fetch,`${e.url}/bucket`,{name:n},{headers:e.headers}))}async listBuckets(n){var e=this;return e.handleOperation(async()=>{const i=new URLSearchParams;(n==null?void 0:n.limit)!==void 0&&i.set("limit",n.limit.toString()),(n==null?void 0:n.offset)!==void 0&&i.set("offset",n.offset.toString()),n!=null&&n.sortColumn&&i.set("sortColumn",n.sortColumn),n!=null&&n.sortOrder&&i.set("sortOrder",n.sortOrder),n!=null&&n.search&&i.set("search",n.search);const a=i.toString(),l=a?`${e.url}/bucket?${a}`:`${e.url}/bucket`;return await bo(e.fetch,l,{headers:e.headers})})}async deleteBucket(n){var e=this;return e.handleOperation(async()=>await vo(e.fetch,`${e.url}/bucket/${n}`,{},{headers:e.headers}))}from(n){var e=this;if(!wk(n))throw new $c("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");const i=new mk({baseUrl:this.url,catalogName:n,auth:{type:"custom",getHeaders:async()=>e.headers},fetch:this.fetch}),a=this.shouldThrowOnError;return new Proxy(i,{get(l,c){const u=l[c];return typeof u!="function"?u:async(...d)=>{try{return{data:await u.apply(l,d),error:null}}catch(m){if(a)throw m;return{data:null,error:m}}}}})}},Ok=class extends Za{constructor(n,e={},i){const a=n.replace(/\/$/,""),l=ge(ge({},No),{},{"Content-Type":"application/json"},e);super(a,l,i,"vectors")}async createIndex(n){var e=this;return e.handleOperation(async()=>await hn.post(e.fetch,`${e.url}/CreateIndex`,n,{headers:e.headers})||{})}async getIndex(n,e){var i=this;return i.handleOperation(async()=>await hn.post(i.fetch,`${i.url}/GetIndex`,{vectorBucketName:n,indexName:e},{headers:i.headers}))}async listIndexes(n){var e=this;return e.handleOperation(async()=>await hn.post(e.fetch,`${e.url}/ListIndexes`,n,{headers:e.headers}))}async deleteIndex(n,e){var i=this;return i.handleOperation(async()=>await hn.post(i.fetch,`${i.url}/DeleteIndex`,{vectorBucketName:n,indexName:e},{headers:i.headers})||{})}},Dk=class extends Za{constructor(n,e={},i){const a=n.replace(/\/$/,""),l=ge(ge({},No),{},{"Content-Type":"application/json"},e);super(a,l,i,"vectors")}async putVectors(n){var e=this;if(n.vectors.length<1||n.vectors.length>500)throw new Error("Vector batch size must be between 1 and 500 items");return e.handleOperation(async()=>await hn.post(e.fetch,`${e.url}/PutVectors`,n,{headers:e.headers})||{})}async getVectors(n){var e=this;return e.handleOperation(async()=>await hn.post(e.fetch,`${e.url}/GetVectors`,n,{headers:e.headers}))}async listVectors(n){var e=this;if(n.segmentCount!==void 0){if(n.segmentCount<1||n.segmentCount>16)throw new Error("segmentCount must be between 1 and 16");if(n.segmentIndex!==void 0&&(n.segmentIndex<0||n.segmentIndex>=n.segmentCount))throw new Error(`segmentIndex must be between 0 and ${n.segmentCount-1}`)}return e.handleOperation(async()=>await hn.post(e.fetch,`${e.url}/ListVectors`,n,{headers:e.headers}))}async queryVectors(n){var e=this;return e.handleOperation(async()=>await hn.post(e.fetch,`${e.url}/QueryVectors`,n,{headers:e.headers}))}async deleteVectors(n){var e=this;if(n.keys.length<1||n.keys.length>500)throw new Error("Keys batch size must be between 1 and 500 items");return e.handleOperation(async()=>await hn.post(e.fetch,`${e.url}/DeleteVectors`,n,{headers:e.headers})||{})}},Mk=class extends Za{constructor(n,e={},i){const a=n.replace(/\/$/,""),l=ge(ge({},No),{},{"Content-Type":"application/json"},e);super(a,l,i,"vectors")}async createBucket(n){var e=this;return e.handleOperation(async()=>await hn.post(e.fetch,`${e.url}/CreateVectorBucket`,{vectorBucketName:n},{headers:e.headers})||{})}async getBucket(n){var e=this;return e.handleOperation(async()=>await hn.post(e.fetch,`${e.url}/GetVectorBucket`,{vectorBucketName:n},{headers:e.headers}))}async listBuckets(n={}){var e=this;return e.handleOperation(async()=>await hn.post(e.fetch,`${e.url}/ListVectorBuckets`,n,{headers:e.headers}))}async deleteBucket(n){var e=this;return e.handleOperation(async()=>await hn.post(e.fetch,`${e.url}/DeleteVectorBucket`,{vectorBucketName:n},{headers:e.headers})||{})}},Bk=class extends Mk{constructor(n,e={}){super(n,e.headers||{},e.fetch)}from(n){return new Uk(this.url,this.headers,n,this.fetch)}async createBucket(n){var e=()=>super.createBucket,i=this;return e().call(i,n)}async getBucket(n){var e=()=>super.getBucket,i=this;return e().call(i,n)}async listBuckets(n={}){var e=()=>super.listBuckets,i=this;return e().call(i,n)}async deleteBucket(n){var e=()=>super.deleteBucket,i=this;return e().call(i,n)}},Uk=class extends Ok{constructor(n,e,i,a){super(n,e,a),this.vectorBucketName=i}async createIndex(n){var e=()=>super.createIndex,i=this;return e().call(i,ge(ge({},n),{},{vectorBucketName:i.vectorBucketName}))}async listIndexes(n={}){var e=()=>super.listIndexes,i=this;return e().call(i,ge(ge({},n),{},{vectorBucketName:i.vectorBucketName}))}async getIndex(n){var e=()=>super.getIndex,i=this;return e().call(i,i.vectorBucketName,n)}async deleteIndex(n){var e=()=>super.deleteIndex,i=this;return e().call(i,i.vectorBucketName,n)}index(n){return new Lk(this.url,this.headers,this.vectorBucketName,n,this.fetch)}},Lk=class extends Dk{constructor(n,e,i,a,l){super(n,e,l),this.vectorBucketName=i,this.indexName=a}async putVectors(n){var e=()=>super.putVectors,i=this;return e().call(i,ge(ge({},n),{},{vectorBucketName:i.vectorBucketName,indexName:i.indexName}))}async getVectors(n){var e=()=>super.getVectors,i=this;return e().call(i,ge(ge({},n),{},{vectorBucketName:i.vectorBucketName,indexName:i.indexName}))}async listVectors(n={}){var e=()=>super.listVectors,i=this;return e().call(i,ge(ge({},n),{},{vectorBucketName:i.vectorBucketName,indexName:i.indexName}))}async queryVectors(n){var e=()=>super.queryVectors,i=this;return e().call(i,ge(ge({},n),{},{vectorBucketName:i.vectorBucketName,indexName:i.indexName}))}async deleteVectors(n){var e=()=>super.deleteVectors,i=this;return e().call(i,ge(ge({},n),{},{vectorBucketName:i.vectorBucketName,indexName:i.indexName}))}},zk=class extends Ck{constructor(n,e={},i,a){super(n,e,i,a)}from(n){return new Nk(this.url,this.headers,n,this.fetch)}get vectors(){return new Bk(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new Rk(this.url+"/iceberg",this.headers,this.fetch)}};const Ew="2.110.2",Es=30*1e3,Zr=3,Ad=Zr*Es,Vk=2*Es,Pk="http://localhost:9999",Hk="supabase.auth.token",$k={"X-Client-Info":`gotrue-js/${Ew}`},yf="X-Supabase-Api-Version",Aw={"2024-01-01":{timestamp:Date.parse("2024-01-01T00:00:00.0Z"),name:"2024-01-01"}},qk=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,Fk=600*1e3;class xo extends Error{constructor(e,i,a){super(e),this.__isAuthError=!0,this.name="AuthError",this.status=i,this.code=a}toJSON(){return{name:this.name,message:this.message,status:this.status,code:this.code}}}function ie(n){return typeof n=="object"&&n!==null&&"__isAuthError"in n}class Ik extends xo{constructor(e,i,a){super(e,i,a),this.name="AuthApiError",this.status=i,this.code=a}}function Gk(n){return ie(n)&&n.name==="AuthApiError"}class Vn extends xo{constructor(e,i){super(e),this.name="AuthUnknownError",this.originalError=i}}class es extends xo{constructor(e,i,a,l){super(e,a,l),this.name=i,this.status=a}}class kt extends es{constructor(){super("Auth session missing!","AuthSessionMissingError",400,void 0)}}function tc(n){return ie(n)&&n.name==="AuthSessionMissingError"}class ka extends es{constructor(){super("Auth session or user missing","AuthInvalidTokenResponseError",500,void 0)}}class nc extends es{constructor(e){super(e,"AuthInvalidCredentialsError",400,void 0)}}class sc extends es{constructor(e,i=null){super(e,"AuthImplicitGrantRedirectError",500,void 0),this.details=null,this.details=i}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}}function Kk(n){return ie(n)&&n.name==="AuthImplicitGrantRedirectError"}class Vb extends es{constructor(e,i=null){super(e,"AuthPKCEGrantCodeExchangeError",500,void 0),this.details=null,this.details=i}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}}class Yk extends es{constructor(){super("PKCE code verifier not found in storage. This can happen if the auth flow was initiated in a different browser or device, or if the storage was cleared. For SSR frameworks (Next.js, SvelteKit, etc.), use @supabase/ssr on both the server and client to store the code verifier in cookies.","AuthPKCECodeVerifierMissingError",400,"pkce_code_verifier_not_found")}}class bf extends es{constructor(e,i){super(e,"AuthRetryableFetchError",i,void 0)}}function Pb(n){return ie(n)&&n.name==="AuthRetryableFetchError"}class Hb extends es{constructor(e="Refresh result discarded: session state changed mid-flight (e.g., concurrent signOut)"){super(e,"AuthRefreshDiscardedError",409,void 0)}}function Xk(n){return ie(n)&&n.name==="AuthRefreshDiscardedError"}class $b extends es{constructor(e,i,a){super(e,"AuthWeakPasswordError",i,"weak_password"),this.reasons=a}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{reasons:this.reasons})}}class kc extends es{constructor(e){super(e,"AuthInvalidJwtError",400,"invalid_jwt")}}const Cc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split(""),qb=` +\r=`.split(""),Jk=(()=>{const n=new Array(128);for(let e=0;e=6;){const a=e.queue>>e.queuedBits-6&63;i(Cc[a]),e.queuedBits-=6}else if(e.queuedBits>0)for(e.queue=e.queue<<6-e.queuedBits,e.queuedBits=6;e.queuedBits>=6;){const a=e.queue>>e.queuedBits-6&63;i(Cc[a]),e.queuedBits-=6}}function jw(n,e,i){const a=Jk[n];if(a>-1)for(e.queue=e.queue<<6|a,e.queuedBits+=6;e.queuedBits>=8;)i(e.queue>>e.queuedBits-8&255),e.queuedBits-=8;else{if(a===-2)return;throw new Error(`Invalid Base64-URL character "${String.fromCharCode(n)}"`)}}function Ib(n){const e=[],i=u=>{e.push(String.fromCodePoint(u))},a={utf8seq:0,codepoint:0},l={queue:0,queuedBits:0},c=u=>{Wk(u,a,i)};for(let u=0;u>6),e(128|n&63);return}else if(n<=65535){e(224|n>>12),e(128|n>>6&63),e(128|n&63);return}else if(n<=1114111){e(240|n>>18),e(128|n>>12&63),e(128|n>>6&63),e(128|n&63);return}throw new Error(`Unrecognized Unicode codepoint: ${n.toString(16)}`)}function Zk(n,e){for(let i=0;i55295&&a<=56319){const l=(a-55296)*1024&65535;a=(n.charCodeAt(i+1)-56320&65535|l)+65536,i+=1}Qk(a,e)}}function Wk(n,e,i){if(e.utf8seq===0){if(n<=127){i(n);return}for(let a=1;a<6;a+=1)if((n>>7-a&1)===0){e.utf8seq=a;break}if(e.utf8seq===2)e.codepoint=n&31;else if(e.utf8seq===3)e.codepoint=n&15;else if(e.utf8seq===4)e.codepoint=n&7;else throw new Error("Invalid UTF-8 sequence");e.utf8seq-=1}else if(e.utf8seq>0){if(n<=127)throw new Error("Invalid UTF-8 sequence");e.codepoint=e.codepoint<<6|n&63,e.utf8seq-=1,e.utf8seq===0&&i(e.codepoint)}}function Fa(n){const e=[],i={queue:0,queuedBits:0},a=l=>{e.push(l)};for(let l=0;le.push(i)),new Uint8Array(e)}function Bi(n){const e=[],i={queue:0,queuedBits:0},a=l=>{e.push(l)};return n.forEach(l=>Fb(l,i,a)),Fb(null,i,a),e.join("")}function tC(n){return Math.round(Date.now()/1e3)+n}function nC(){return Symbol("auth-callback")}const Vt=()=>typeof window<"u"&&typeof document<"u",ki={tested:!1,writable:!1},Nw=()=>{if(!Vt())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(ki.tested)return ki.writable;const n=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(n,n),globalThis.localStorage.removeItem(n),ki.tested=!0,ki.writable=!0}catch{ki.tested=!0,ki.writable=!1}return ki.writable};function sC(n){const e={},i=new URL(n);if(i.hash&&i.hash[0]==="#")try{new URLSearchParams(i.hash.substring(1)).forEach((l,c)=>{e[c]=l})}catch{}return i.searchParams.forEach((a,l)=>{e[l]=a}),e}const kw=n=>n?(...e)=>n(...e):(...e)=>fetch(...e),iC=n=>typeof n=="object"&&n!==null&&"status"in n&&"ok"in n&&"json"in n&&typeof n.json=="function",Ua=async(n,e,i)=>{await n.setItem(e,JSON.stringify(i))},Mn=async(n,e)=>{const i=await n.getItem(e);if(!i)return null;try{return JSON.parse(i)}catch{return null}},dt=async(n,e)=>{await n.removeItem(e)};class Fc{constructor(){this.promise=new Fc.promiseConstructor((e,i)=>{this.resolve=e,this.reject=i})}}Fc.promiseConstructor=Promise;function ic(n){const e=n.split(".");if(e.length!==3)throw new kc("Invalid JWT structure");for(let a=0;a{setTimeout(()=>e(null),n)})}function rC(n,e){return new Promise((a,l)=>{(async()=>{for(let c=0;c<1/0;c++)try{const u=await n(c);if(!e(c,null,u)){a(u);return}}catch(u){if(!e(c,u)){l(u);return}}})()})}function oC(n){return("0"+n.toString(16)).substr(-2)}function lC(){const e=new Uint32Array(56);if(typeof crypto>"u"){const i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",a=i.length;let l="";for(let c=0;c<56;c++)l+=i.charAt(Math.floor(Math.random()*a));return l}return crypto.getRandomValues(e),Array.from(e,oC).join("")}async function cC(n){const i=new TextEncoder().encode(n),a=await crypto.subtle.digest("SHA-256",i),l=new Uint8Array(a);return Array.from(l).map(c=>String.fromCharCode(c)).join("")}async function uC(n){if(!(typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof TextEncoder<"u"))return console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),n;const i=await cC(n);return btoa(i).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function Ci(n,e,i=!1){const a=lC();let l=a;i&&(l+="/recovery"),await Ua(n,`${e}-code-verifier`,l);const c=await uC(a);return[c,a===c?"plain":"s256"]}const hC=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function dC(n){const e=n.headers.get(yf);if(!e||!e.match(hC))return null;try{return new Date(`${e}T00:00:00.0Z`)}catch{return null}}function fC(n){if(!n)throw new Error("Missing exp claim");const e=Math.floor(Date.now()/1e3);if(n<=e)throw new Error("JWT has expired")}function mC(n){switch(n){case"RS256":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"ES256":return{name:"ECDSA",namedCurve:"P-256",hash:{name:"SHA-256"}};default:throw new Error("Invalid alg claim")}}const pC=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function ws(n){if(!pC.test(n))throw new Error("@supabase/auth-js: Expected parameter to be UUID but is not")}function Un(n){if(!n.passkey)throw new Error("@supabase/auth-js: the passkey API is experimental and disabled by default. Enable it by passing `auth: { experimental: { passkey: true } }` to createClient (or to the GoTrueClient constructor).")}function jd(){const n={};return new Proxy(n,{get:(e,i)=>{if(i==="__isUserNotAvailableProxy")return!0;if(typeof i=="symbol"){const a=i.toString();if(a==="Symbol(Symbol.toPrimitive)"||a==="Symbol(Symbol.toStringTag)"||a==="Symbol(util.inspect.custom)")return}throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${i}" property of the session object is not supported. Please use getUser() instead.`)},set:(e,i)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${i}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(e,i)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${i}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function gC(n,e){return new Proxy(n,{get:(i,a,l)=>{if(a==="__isInsecureUserWarningProxy")return!0;if(typeof a=="symbol"){const c=a.toString();if(c==="Symbol(Symbol.toPrimitive)"||c==="Symbol(Symbol.toStringTag)"||c==="Symbol(util.inspect.custom)"||c==="Symbol(nodejs.util.inspect.custom)")return Reflect.get(i,a,l)}return!e.value&&typeof a=="string"&&(console.warn("Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server."),e.value=!0),Reflect.get(i,a,l)}})}function Gb(n){return JSON.parse(JSON.stringify(n))}const Oi=n=>{if(typeof n=="object"&&n!==null){const e=n;if(typeof e.msg=="string")return e.msg;if(typeof e.message=="string")return e.message;if(typeof e.error_description=="string")return e.error_description;if(typeof e.error=="string")return e.error}return JSON.stringify(n)},yC=[500,501,502,503,504,520,521,522,523,524,525,526,527,528,529,530];async function Kb(n){var e;if(!iC(n))throw new bf(Oi(n),0);if(yC.includes(n.status))throw new bf(Oi(n),n.status);let i;try{i=await n.json()}catch(c){throw new Vn(Oi(c),c)}let a;const l=dC(n);if(l&&l.getTime()>=Aw["2024-01-01"].timestamp&&typeof i=="object"&&i&&typeof i.code=="string"?a=i.code:typeof i=="object"&&i&&typeof i.error_code=="string"&&(a=i.error_code),a){if(a==="weak_password")throw new $b(Oi(i),n.status,((e=i.weak_password)===null||e===void 0?void 0:e.reasons)||[]);if(a==="session_not_found")throw new kt}else if(typeof i=="object"&&i&&typeof i.weak_password=="object"&&i.weak_password&&Array.isArray(i.weak_password.reasons)&&i.weak_password.reasons.length&&i.weak_password.reasons.reduce((c,u)=>c&&typeof u=="string",!0))throw new $b(Oi(i),n.status,i.weak_password.reasons);throw new Ik(Oi(i),n.status||500,a)}const bC=(n,e,i,a)=>{const l={method:n,headers:(e==null?void 0:e.headers)||{}};return n==="GET"?l:(l.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},e==null?void 0:e.headers),l.body=JSON.stringify(a),Object.assign(Object.assign({},l),i))};async function le(n,e,i,a){var l;const c=Object.assign({},a==null?void 0:a.headers);c[yf]||(c[yf]=Aw["2024-01-01"].name),a!=null&&a.jwt&&(c.Authorization=`Bearer ${a.jwt}`);const u=(l=a==null?void 0:a.query)!==null&&l!==void 0?l:{};a!=null&&a.redirectTo&&(u.redirect_to=a.redirectTo);const d=Object.keys(u).length?"?"+new URLSearchParams(u).toString():"",m=await vC(n,e,i+d,{headers:c,noResolveJson:a==null?void 0:a.noResolveJson},{},a==null?void 0:a.body);return a!=null&&a.xform?a==null?void 0:a.xform(m):{data:Object.assign({},m),error:null}}async function vC(n,e,i,a,l,c){const u=bC(e,a,l,c);let d;try{d=await n(i,Object.assign({},u))}catch(m){throw console.error(m),new bf(Oi(m),0)}if(d.ok||await Kb(d),a!=null&&a.noResolveJson)return d;try{return await d.json()}catch(m){await Kb(m)}}function En(n){var e;let i=null;_C(n)&&(i=Object.assign({},n),n.expires_at||(i.expires_at=tC(n.expires_in)));const a=(e=n.user)!==null&&e!==void 0?e:typeof(n==null?void 0:n.id)=="string"?n:null;return{data:{session:i,user:a},error:null}}function Yb(n){const e=En(n);return!e.error&&n.weak_password&&typeof n.weak_password=="object"&&Array.isArray(n.weak_password.reasons)&&n.weak_password.reasons.length&&n.weak_password.message&&typeof n.weak_password.message=="string"&&n.weak_password.reasons.reduce((i,a)=>i&&typeof a=="string",!0)&&(e.data.weak_password=n.weak_password),e}function ni(n){var e;return{data:{user:(e=n.user)!==null&&e!==void 0?e:n},error:null}}function xC(n){return{data:n,error:null}}function wC(n){const{action_link:e,email_otp:i,hashed_token:a,redirect_to:l,verification_type:c}=n,u=Hc(n,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),d={action_link:e,email_otp:i,hashed_token:a,redirect_to:l,verification_type:c},m=Object.assign({},u);return{data:{properties:d,user:m},error:null}}function Xb(n){return n}function _C(n){return!!n.access_token&&!!n.refresh_token&&!!n.expires_in}const Nd=["global","local","others"];class SC{constructor({url:e="",headers:i={},fetch:a,experimental:l}){this.url=e,this.headers=i,this.fetch=kw(a),this.experimental=l??{},this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)},this.oauth={listClients:this._listOAuthClients.bind(this),createClient:this._createOAuthClient.bind(this),getClient:this._getOAuthClient.bind(this),updateClient:this._updateOAuthClient.bind(this),deleteClient:this._deleteOAuthClient.bind(this),regenerateClientSecret:this._regenerateOAuthClientSecret.bind(this)},this.customProviders={listProviders:this._listCustomProviders.bind(this),createProvider:this._createCustomProvider.bind(this),getProvider:this._getCustomProvider.bind(this),updateProvider:this._updateCustomProvider.bind(this),deleteProvider:this._deleteCustomProvider.bind(this)},this.passkey={listPasskeys:this._adminListPasskeys.bind(this),deletePasskey:this._adminDeletePasskey.bind(this)}}async signOut(e,i=Nd[0]){if(Nd.indexOf(i)<0)throw new Error(`@supabase/auth-js: Parameter scope must be one of ${Nd.join(", ")}`);try{return await le(this.fetch,"POST",`${this.url}/logout?scope=${i}`,{headers:this.headers,jwt:e,noResolveJson:!0}),{data:null,error:null}}catch(a){if(ie(a))return{data:null,error:a};throw a}}async inviteUserByEmail(e,i={}){try{return await le(this.fetch,"POST",`${this.url}/invite`,{body:{email:e,data:i.data},headers:this.headers,redirectTo:i.redirectTo,xform:ni})}catch(a){if(ie(a))return{data:{user:null},error:a};throw a}}async generateLink(e){try{const{options:i}=e,a=Hc(e,["options"]),l=Object.assign(Object.assign({},a),i);return"newEmail"in a&&(l.new_email=a==null?void 0:a.newEmail,delete l.newEmail),await le(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:l,headers:this.headers,xform:wC,redirectTo:i==null?void 0:i.redirectTo})}catch(i){if(ie(i))return{data:{properties:null,user:null},error:i};throw i}}async createUser(e){try{return await le(this.fetch,"POST",`${this.url}/admin/users`,{body:e,headers:this.headers,xform:ni})}catch(i){if(ie(i))return{data:{user:null},error:i};throw i}}async listUsers(e){var i,a,l,c,u,d,m;try{const p={nextPage:null,lastPage:0,total:0},y=await le(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(a=(i=e==null?void 0:e.page)===null||i===void 0?void 0:i.toString())!==null&&a!==void 0?a:"",per_page:(c=(l=e==null?void 0:e.perPage)===null||l===void 0?void 0:l.toString())!==null&&c!==void 0?c:""},xform:Xb});if(y.error)throw y.error;const v=await y.json(),x=(u=y.headers.get("x-total-count"))!==null&&u!==void 0?u:0,_=(m=(d=y.headers.get("link"))===null||d===void 0?void 0:d.split(","))!==null&&m!==void 0?m:[];return _.length>0&&(_.forEach(S=>{const T=parseInt(S.split(";")[0].split("=")[1].substring(0,1)),k=JSON.parse(S.split(";")[1].split("=")[1]);p[`${k}Page`]=T}),p.total=parseInt(x)),{data:Object.assign(Object.assign({},v),p),error:null}}catch(p){if(ie(p))return{data:{users:[]},error:p};throw p}}async getUserById(e){ws(e);try{return await le(this.fetch,"GET",`${this.url}/admin/users/${e}`,{headers:this.headers,xform:ni})}catch(i){if(ie(i))return{data:{user:null},error:i};throw i}}async updateUserById(e,i){ws(e);try{return await le(this.fetch,"PUT",`${this.url}/admin/users/${e}`,{body:i,headers:this.headers,xform:ni})}catch(a){if(ie(a))return{data:{user:null},error:a};throw a}}async deleteUser(e,i=!1){ws(e);try{return await le(this.fetch,"DELETE",`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:i},xform:ni})}catch(a){if(ie(a))return{data:{user:null},error:a};throw a}}async _listFactors(e){ws(e.userId);try{const{data:i,error:a}=await le(this.fetch,"GET",`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:l=>({data:{factors:l},error:null})});return{data:i,error:a}}catch(i){if(ie(i))return{data:null,error:i};throw i}}async _deleteFactor(e){ws(e.userId),ws(e.id);try{return{data:await le(this.fetch,"DELETE",`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(i){if(ie(i))return{data:null,error:i};throw i}}async _listOAuthClients(e){var i,a,l,c,u,d,m;try{const p={nextPage:null,lastPage:0,total:0},y=await le(this.fetch,"GET",`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(a=(i=e==null?void 0:e.page)===null||i===void 0?void 0:i.toString())!==null&&a!==void 0?a:"",per_page:(c=(l=e==null?void 0:e.perPage)===null||l===void 0?void 0:l.toString())!==null&&c!==void 0?c:""},xform:Xb});if(y.error)throw y.error;const v=await y.json(),x=(u=y.headers.get("x-total-count"))!==null&&u!==void 0?u:0,_=(m=(d=y.headers.get("link"))===null||d===void 0?void 0:d.split(","))!==null&&m!==void 0?m:[];return _.length>0&&(_.forEach(S=>{const T=parseInt(S.split(";")[0].split("=")[1].substring(0,1)),k=JSON.parse(S.split(";")[1].split("=")[1]);p[`${k}Page`]=T}),p.total=parseInt(x)),{data:Object.assign(Object.assign({},v),p),error:null}}catch(p){if(ie(p))return{data:{clients:[]},error:p};throw p}}async _createOAuthClient(e){try{return await le(this.fetch,"POST",`${this.url}/admin/oauth/clients`,{body:e,headers:this.headers,xform:i=>({data:i,error:null})})}catch(i){if(ie(i))return{data:null,error:i};throw i}}async _getOAuthClient(e){try{return await le(this.fetch,"GET",`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,xform:i=>({data:i,error:null})})}catch(i){if(ie(i))return{data:null,error:i};throw i}}async _updateOAuthClient(e,i){try{return await le(this.fetch,"PUT",`${this.url}/admin/oauth/clients/${e}`,{body:i,headers:this.headers,xform:a=>({data:a,error:null})})}catch(a){if(ie(a))return{data:null,error:a};throw a}}async _deleteOAuthClient(e){try{return await le(this.fetch,"DELETE",`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(i){if(ie(i))return{data:null,error:i};throw i}}async _regenerateOAuthClientSecret(e){try{return await le(this.fetch,"POST",`${this.url}/admin/oauth/clients/${e}/regenerate_secret`,{headers:this.headers,xform:i=>({data:i,error:null})})}catch(i){if(ie(i))return{data:null,error:i};throw i}}async _listCustomProviders(e){try{const i={};return e!=null&&e.type&&(i.type=e.type),await le(this.fetch,"GET",`${this.url}/admin/custom-providers`,{headers:this.headers,query:i,xform:a=>{var l;return{data:{providers:(l=a==null?void 0:a.providers)!==null&&l!==void 0?l:[]},error:null}}})}catch(i){if(ie(i))return{data:{providers:[]},error:i};throw i}}async _createCustomProvider(e){try{return await le(this.fetch,"POST",`${this.url}/admin/custom-providers`,{body:e,headers:this.headers,xform:i=>({data:i,error:null})})}catch(i){if(ie(i))return{data:null,error:i};throw i}}async _getCustomProvider(e){try{return await le(this.fetch,"GET",`${this.url}/admin/custom-providers/${e}`,{headers:this.headers,xform:i=>({data:i,error:null})})}catch(i){if(ie(i))return{data:null,error:i};throw i}}async _updateCustomProvider(e,i){try{return await le(this.fetch,"PUT",`${this.url}/admin/custom-providers/${e}`,{body:i,headers:this.headers,xform:a=>({data:a,error:null})})}catch(a){if(ie(a))return{data:null,error:a};throw a}}async _deleteCustomProvider(e){try{return await le(this.fetch,"DELETE",`${this.url}/admin/custom-providers/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(i){if(ie(i))return{data:null,error:i};throw i}}async _adminListPasskeys(e){Un(this.experimental),ws(e.userId);try{return await le(this.fetch,"GET",`${this.url}/admin/users/${e.userId}/passkeys`,{headers:this.headers,xform:i=>({data:i,error:null})})}catch(i){if(ie(i))return{data:null,error:i};throw i}}async _adminDeletePasskey(e){Un(this.experimental),ws(e.userId),ws(e.passkeyId);try{return await le(this.fetch,"DELETE",`${this.url}/admin/users/${e.userId}/passkeys/${e.passkeyId}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(i){if(ie(i))return{data:null,error:i};throw i}}}function Jb(n={}){return{getItem:e=>n[e]||null,setItem:(e,i)=>{n[e]=i},removeItem:e=>{delete n[e]}}}globalThis&&Nw()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug");class TC extends Error{constructor(e){super(e),this.isAcquireTimeout=!0}}function EC(){if(typeof globalThis!="object")try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<"u"&&(self.globalThis=self)}}function Cw(n){if(!/^0x[a-fA-F0-9]{40}$/.test(n))throw new Error(`@supabase/auth-js: Address "${n}" is invalid.`);return n.toLowerCase()}function AC(n){return parseInt(n,16)}function jC(n){const e=new TextEncoder().encode(n);return"0x"+Array.from(e,a=>a.toString(16).padStart(2,"0")).join("")}function NC(n){var e;const{chainId:i,domain:a,expirationTime:l,issuedAt:c=new Date,nonce:u,notBefore:d,requestId:m,resources:p,scheme:y,uri:v,version:x}=n;{if(!Number.isInteger(i))throw new Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${i}`);if(!a)throw new Error('@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.');if(u&&u.length<8)throw new Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${u}`);if(!v)throw new Error('@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.');if(x!=="1")throw new Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${x}`);if(!((e=n.statement)===null||e===void 0)&&e.includes(` +`))throw new Error(`@supabase/auth-js: Invalid SIWE message field "statement". Statement must not include '\\n'. Provided value: ${n.statement}`)}const _=Cw(n.address),S=y?`${y}://${a}`:a,T=n.statement?`${n.statement} +`:"",k=`${S} wants you to sign in with your Ethereum account: +${_} + +${T}`;let C=`URI: ${v} +Version: ${x} +Chain ID: ${i}${u?` +Nonce: ${u}`:""} +Issued At: ${c.toISOString()}`;if(l&&(C+=` +Expiration Time: ${l.toISOString()}`),d&&(C+=` +Not Before: ${d.toISOString()}`),m&&(C+=` +Request ID: ${m}`),p){let M=` +Resources:`;for(const N of p){if(!N||typeof N!="string")throw new Error(`@supabase/auth-js: Invalid SIWE message field "resources". Every resource must be a valid string. Provided value: ${N}`);M+=` +- ${N}`}C+=M}return`${k} +${C}`}class yt extends Error{constructor({message:e,code:i,cause:a,name:l}){var c;super(e,{cause:a}),this.__isWebAuthnError=!0,this.name=(c=l??(a instanceof Error?a.name:void 0))!==null&&c!==void 0?c:"Unknown Error",this.code=i}toJSON(){return{name:this.name,message:this.message,code:this.code}}}class Rc extends yt{constructor(e,i){super({code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:i,message:e}),this.name="WebAuthnUnknownError",this.originalError=i}}function kC({error:n,options:e}){var i,a,l;const{publicKey:c}=e;if(!c)throw Error("options was missing required publicKey property");if(n.name==="AbortError"){if(e.signal instanceof AbortSignal)return new yt({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:n})}else if(n.name==="ConstraintError"){if(((i=c.authenticatorSelection)===null||i===void 0?void 0:i.requireResidentKey)===!0)return new yt({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:n});if(e.mediation==="conditional"&&((a=c.authenticatorSelection)===null||a===void 0?void 0:a.userVerification)==="required")return new yt({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:n});if(((l=c.authenticatorSelection)===null||l===void 0?void 0:l.userVerification)==="required")return new yt({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:n})}else{if(n.name==="InvalidStateError")return new yt({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:n});if(n.name==="NotAllowedError")return new yt({message:n.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:n});if(n.name==="NotSupportedError")return c.pubKeyCredParams.filter(d=>d.type==="public-key").length===0?new yt({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:n}):new yt({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:n});if(n.name==="SecurityError"){const u=window.location.hostname;if(Rw(u)){if(c.rp.id!==u)return new yt({message:`The RP ID "${c.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:n})}else return new yt({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:n})}else if(n.name==="TypeError"){if(c.user.id.byteLength<1||c.user.id.byteLength>64)return new yt({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:n})}else if(n.name==="UnknownError")return new yt({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:n})}return new yt({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:n})}function CC({error:n,options:e}){const{publicKey:i}=e;if(!i)throw Error("options was missing required publicKey property");if(n.name==="AbortError"){if(e.signal instanceof AbortSignal)return new yt({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:n})}else{if(n.name==="NotAllowedError")return new yt({message:n.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:n});if(n.name==="SecurityError"){const a=window.location.hostname;if(Rw(a)){if(i.rpId!==a)return new yt({message:`The RP ID "${i.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:n})}else return new yt({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:n})}else if(n.name==="UnknownError")return new yt({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:n})}return new yt({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:n})}class RC{createNewAbortSignal(){if(this.controller){const i=new Error("Cancelling existing WebAuthn API call for new one");i.name="AbortError",this.controller.abort(i)}const e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){const e=new Error("Manually cancelling existing WebAuthn API call");e.name="AbortError",this.controller.abort(e),this.controller=void 0}}}const vf=new RC;function Qb(n){if(!n)throw new Error("Credential creation options are required");if(typeof PublicKeyCredential<"u"&&"parseCreationOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseCreationOptionsFromJSON=="function")return PublicKeyCredential.parseCreationOptionsFromJSON(n);const{challenge:e,user:i,excludeCredentials:a}=n,l=Hc(n,["challenge","user","excludeCredentials"]),c=Fa(e).buffer,u=Object.assign(Object.assign({},i),{id:Fa(i.id).buffer}),d=Object.assign(Object.assign({},l),{challenge:c,user:u});if(a&&a.length>0){d.excludeCredentials=new Array(a.length);for(let m=0;m0){c.allowCredentials=new Array(i.length);for(let u=0;ul!==null&&typeof l=="object"&&!Array.isArray(l),i=l=>l instanceof ArrayBuffer||ArrayBuffer.isView(l),a={};for(const l of n)if(l)for(const c in l){const u=l[c];if(u!==void 0)if(Array.isArray(u))a[c]=u;else if(i(u))a[c]=u;else if(e(u)){const d=a[c];e(d)?a[c]=Dc(d,u):a[c]=Dc(u)}else a[c]=u}return a}function MC(n,e){return Dc(OC,n,e||{})}function BC(n,e){return Dc(DC,n,e||{})}class UC{constructor(e){this.client=e,this.enroll=this._enroll.bind(this),this.challenge=this._challenge.bind(this),this.verify=this._verify.bind(this),this.authenticate=this._authenticate.bind(this),this.register=this._register.bind(this)}async _enroll(e){return this.client.mfa.enroll(Object.assign(Object.assign({},e),{factorType:"webauthn"}))}async _challenge({factorId:e,webauthn:i,friendlyName:a,signal:l},c){var u;try{const{data:d,error:m}=await this.client.mfa.challenge({factorId:e,webauthn:i});if(!d)return{data:null,error:m};const p=l??vf.createNewAbortSignal();if(d.webauthn.type==="create"){const{user:y}=d.webauthn.credential_options.publicKey;if(!y.name){const v=a;if(v)y.name=`${y.id}:${v}`;else{const _=(await this.client.getUser()).data.user,S=((u=_==null?void 0:_.user_metadata)===null||u===void 0?void 0:u.name)||(_==null?void 0:_.email)||(_==null?void 0:_.id)||"User";y.name=`${y.id}:${S}`}}y.displayName||(y.displayName=y.name)}switch(d.webauthn.type){case"create":{const y=MC(d.webauthn.credential_options.publicKey,c==null?void 0:c.create),{data:v,error:x}=await Ow({publicKey:y,signal:p});return v?{data:{factorId:e,challengeId:d.id,webauthn:{type:d.webauthn.type,credential_response:v}},error:null}:{data:null,error:x}}case"request":{const y=BC(d.webauthn.credential_options.publicKey,c==null?void 0:c.request),{data:v,error:x}=await Dw(Object.assign(Object.assign({},d.webauthn.credential_options),{publicKey:y,signal:p}));return v?{data:{factorId:e,challengeId:d.id,webauthn:{type:d.webauthn.type,credential_response:v}},error:null}:{data:null,error:x}}}}catch(d){return ie(d)?{data:null,error:d}:{data:null,error:new Vn("Unexpected error in challenge",d)}}}async _verify({challengeId:e,factorId:i,webauthn:a}){return this.client.mfa.verify({factorId:i,challengeId:e,webauthn:a})}async _authenticate({factorId:e,webauthn:{rpId:i=typeof window<"u"?window.location.hostname:void 0,rpOrigins:a=typeof window<"u"?[window.location.origin]:void 0,signal:l}={}},c){if(!i)return{data:null,error:new xo("rpId is required for WebAuthn authentication")};try{if(!Oc())return{data:null,error:new Vn("Browser does not support WebAuthn",null)};const{data:u,error:d}=await this.challenge({factorId:e,webauthn:{rpId:i,rpOrigins:a},signal:l},{request:c});if(!u)return{data:null,error:d};const{webauthn:m}=u;return this._verify({factorId:e,challengeId:u.challengeId,webauthn:{type:m.type,rpId:i,rpOrigins:a,credential_response:m.credential_response}})}catch(u){return ie(u)?{data:null,error:u}:{data:null,error:new Vn("Unexpected error in authenticate",u)}}}async _register({friendlyName:e,webauthn:{rpId:i=typeof window<"u"?window.location.hostname:void 0,rpOrigins:a=typeof window<"u"?[window.location.origin]:void 0,signal:l}={}},c){if(!i)return{data:null,error:new xo("rpId is required for WebAuthn registration")};try{if(!Oc())return{data:null,error:new Vn("Browser does not support WebAuthn",null)};const{data:u,error:d}=await this._enroll({friendlyName:e});if(!u)return await this.client.mfa.listFactors().then(y=>{var v;return(v=y.data)===null||v===void 0?void 0:v.all.find(x=>x.factor_type==="webauthn"&&x.friendly_name===e&&x.status!=="unverified")}).then(y=>y?this.client.mfa.unenroll({factorId:y==null?void 0:y.id}):void 0),{data:null,error:d};const{data:m,error:p}=await this._challenge({factorId:u.id,friendlyName:u.friendly_name,webauthn:{rpId:i,rpOrigins:a},signal:l},{create:c});return m?this._verify({factorId:u.id,challengeId:m.challengeId,webauthn:{rpId:i,rpOrigins:a,type:m.webauthn.type,credential_response:m.webauthn.credential_response}}):{data:null,error:p}}catch(u){return ie(u)?{data:null,error:u}:{data:null,error:new Vn("Unexpected error in register",u)}}}}EC();const LC={url:Pk,storageKey:Hk,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:$k,flowType:"implicit",debug:!1,hasCustomAuthorizationHeader:!1,throwOnError:!1,lockAcquireTimeout:5e3,skipAutoInitialize:!1,experimental:{}},Ca={};class wo{get jwks(){var e,i;return(i=(e=Ca[this.storageKey])===null||e===void 0?void 0:e.jwks)!==null&&i!==void 0?i:{keys:[]}}set jwks(e){Ca[this.storageKey]=Object.assign(Object.assign({},Ca[this.storageKey]),{jwks:e})}get jwks_cached_at(){var e,i;return(i=(e=Ca[this.storageKey])===null||e===void 0?void 0:e.cachedAt)!==null&&i!==void 0?i:Number.MIN_SAFE_INTEGER}set jwks_cached_at(e){Ca[this.storageKey]=Object.assign(Object.assign({},Ca[this.storageKey]),{cachedAt:e})}constructor(e){var i,a,l;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.autoRefreshTickTimeout=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.lastRefreshFailure=null,this._sessionRemovalEpoch=0,this.initializePromise=null,this._pendingInitNotifications=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lock=null,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log;const c=Object.assign(Object.assign({},LC),e);if(this.storageKey=c.storageKey,this.instanceID=(i=wo.nextInstanceID[this.storageKey])!==null&&i!==void 0?i:0,wo.nextInstanceID[this.storageKey]=this.instanceID+1,this.logDebugMessages=!!c.debug,typeof c.debug=="function"&&(this.logger=c.debug),this.instanceID>0&&Vt()){const u=`${this._logPrefix()} Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.`;console.warn(u),this.logDebugMessages&&console.trace(u)}if(this.persistSession=c.persistSession,this.autoRefreshToken=c.autoRefreshToken,this.experimental=(a=c.experimental)!==null&&a!==void 0?a:{},this.admin=new SC({url:c.url,headers:c.headers,fetch:c.fetch,experimental:this.experimental}),this.url=c.url,this.headers=c.headers,this.fetch=kw(c.fetch),this.detectSessionInUrl=c.detectSessionInUrl,this.flowType=c.flowType,this.hasCustomAuthorizationHeader=c.hasCustomAuthorizationHeader,this.throwOnError=c.throwOnError,this.lockAcquireTimeout=c.lockAcquireTimeout,c.lock!=null&&(this.lock=c.lock),this.jwks||(this.jwks={keys:[]},this.jwks_cached_at=Number.MIN_SAFE_INTEGER),this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this),webauthn:new UC(this)},this.oauth={getAuthorizationDetails:this._getAuthorizationDetails.bind(this),approveAuthorization:this._approveAuthorization.bind(this),denyAuthorization:this._denyAuthorization.bind(this),listGrants:this._listOAuthGrants.bind(this),revokeGrant:this._revokeOAuthGrant.bind(this)},this.passkey={startRegistration:this._startPasskeyRegistration.bind(this),verifyRegistration:this._verifyPasskeyRegistration.bind(this),startAuthentication:this._startPasskeyAuthentication.bind(this),verifyAuthentication:this._verifyPasskeyAuthentication.bind(this),list:this._listPasskeys.bind(this),update:this._updatePasskey.bind(this),delete:this._deletePasskey.bind(this)},this.persistSession?(c.storage?this.storage=c.storage:Nw()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=Jb(this.memoryStorage)),c.userStorage&&(this.userStorage=c.userStorage)):(this.memoryStorage={},this.storage=Jb(this.memoryStorage)),Vt()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(u){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",u)}(l=this.broadcastChannel)===null||l===void 0||l.addEventListener("message",async u=>{this._debug("received broadcast notification from other tab or client",u),(u.data.event==="TOKEN_REFRESHED"||u.data.event==="SIGNED_IN")&&(this.lastRefreshFailure=null);try{await this._notifyAllSubscribers(u.data.event,u.data.session,!1)}catch(d){this._debug("#broadcastChannel","error",d)}})}c.skipAutoInitialize||this.initialize().catch(u=>{this._debug("#initialize()","error",u)})}isThrowOnErrorEnabled(){return this.throwOnError}_returnResult(e){if(this.throwOnError&&e&&e.error)throw e.error;return e}_logPrefix(){return`GoTrueClient@${this.storageKey}:${this.instanceID} (${Ew}) ${new Date().toISOString()}`}_debug(...e){return this.logDebugMessages&&this.logger(this._logPrefix(),...e),this}async initialize(){var e;if(this.initializePromise)return await this.initializePromise;this._pendingInitNotifications=[],this.initializePromise=(async()=>this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._initialize()):await this._initialize())();const i=await this.initializePromise,a=(e=this._pendingInitNotifications)!==null&&e!==void 0?e:[];this._pendingInitNotifications=null;for(const l of a)await this._notifyAllSubscribers(l.event,l.session,l.broadcast);return i}async _initialize(){var e;try{let i={},a="none";if(Vt()&&(i=sC(window.location.href),this._isImplicitGrantCallback(i)?a="implicit":await this._isPKCECallback(i)&&(a="pkce")),Vt()&&this.detectSessionInUrl&&a!=="none"){const{data:l,error:c}=await this._getSessionFromURL(i,a);if(c){if(this._debug("#_initialize()","error detecting session from URL",c),Kk(c)){const m=(e=c.details)===null||e===void 0?void 0:e.code;if(m==="identity_already_exists"||m==="identity_not_found"||m==="single_identity_not_deletable")return{error:c}}return{error:c}}const{session:u,redirectType:d}=l;return this._debug("#_initialize()","detected session in URL",u,"redirect type",d),await this._saveSession(u),setTimeout(async()=>{d==="recovery"?await this._notifyAllSubscribers("PASSWORD_RECOVERY",u):await this._notifyAllSubscribers("SIGNED_IN",u)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(i){return ie(i)?this._returnResult({error:i}):this._returnResult({error:new Vn("Unexpected error during initialization",i)})}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signInAnonymously(e){var i,a,l;try{const c=await le(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{data:(a=(i=e==null?void 0:e.options)===null||i===void 0?void 0:i.data)!==null&&a!==void 0?a:{},gotrue_meta_security:{captcha_token:(l=e==null?void 0:e.options)===null||l===void 0?void 0:l.captchaToken}},xform:En}),{data:u,error:d}=c;if(d||!u)return this._returnResult({data:{user:null,session:null},error:d});const m=u.session,p=u.user;return u.session&&(await this._saveSession(u.session),await this._notifyAllSubscribers("SIGNED_IN",m)),this._returnResult({data:{user:p,session:m},error:null})}catch(c){if(ie(c))return this._returnResult({data:{user:null,session:null},error:c});throw c}}async signUp(e){var i,a,l;try{let c;if("email"in e){const{email:y,password:v,options:x}=e;let _=null,S=null;this.flowType==="pkce"&&([_,S]=await Ci(this.storage,this.storageKey)),c=await le(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:x==null?void 0:x.emailRedirectTo,body:{email:y,password:v,data:(i=x==null?void 0:x.data)!==null&&i!==void 0?i:{},gotrue_meta_security:{captcha_token:x==null?void 0:x.captchaToken},code_challenge:_,code_challenge_method:S},xform:En})}else if("phone"in e){const{phone:y,password:v,options:x}=e;c=await le(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:y,password:v,data:(a=x==null?void 0:x.data)!==null&&a!==void 0?a:{},channel:(l=x==null?void 0:x.channel)!==null&&l!==void 0?l:"sms",gotrue_meta_security:{captcha_token:x==null?void 0:x.captchaToken}},xform:En})}else throw new nc("You must provide either an email or phone number and a password");const{data:u,error:d}=c;if(d||!u)return await dt(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:d});const m=u.session,p=u.user;return u.session&&(await this._saveSession(u.session),await this._notifyAllSubscribers("SIGNED_IN",m)),this._returnResult({data:{user:p,session:m},error:null})}catch(c){if(await dt(this.storage,`${this.storageKey}-code-verifier`),ie(c))return this._returnResult({data:{user:null,session:null},error:c});throw c}}async signInWithPassword(e){try{let i;if("email"in e){const{email:c,password:u,options:d}=e;i=await le(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:c,password:u,gotrue_meta_security:{captcha_token:d==null?void 0:d.captchaToken}},xform:Yb})}else if("phone"in e){const{phone:c,password:u,options:d}=e;i=await le(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:c,password:u,gotrue_meta_security:{captcha_token:d==null?void 0:d.captchaToken}},xform:Yb})}else throw new nc("You must provide either an email or phone number and a password");const{data:a,error:l}=i;if(l)return this._returnResult({data:{user:null,session:null},error:l});if(!a||!a.session||!a.user){const c=new ka;return this._returnResult({data:{user:null,session:null},error:c})}return a.session&&(await this._saveSession(a.session),await this._notifyAllSubscribers("SIGNED_IN",a.session)),this._returnResult({data:Object.assign({user:a.user,session:a.session},a.weak_password?{weakPassword:a.weak_password}:null),error:l})}catch(i){if(ie(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}}async signInWithOAuth(e){var i,a,l,c;return await this._handleProviderSignIn(e.provider,{redirectTo:(i=e.options)===null||i===void 0?void 0:i.redirectTo,scopes:(a=e.options)===null||a===void 0?void 0:a.scopes,queryParams:(l=e.options)===null||l===void 0?void 0:l.queryParams,skipBrowserRedirect:(c=e.options)===null||c===void 0?void 0:c.skipBrowserRedirect})}async exchangeCodeForSession(e){return await this.initializePromise,this.lock!=null?this._acquireLock(this.lockAcquireTimeout,async()=>this._exchangeCodeForSession(e)):this._exchangeCodeForSession(e)}async signInWithWeb3(e){const{chain:i}=e;switch(i){case"ethereum":return await this.signInWithEthereum(e);case"solana":return await this.signInWithSolana(e);default:throw new Error(`@supabase/auth-js: Unsupported chain "${i}"`)}}async signInWithEthereum(e){var i,a,l,c,u,d,m,p,y,v,x;let _,S;if("message"in e)_=e.message,S=e.signature;else{const{chain:T,wallet:k,statement:C,options:M}=e;let N;if(Vt())if(typeof k=="object")N=k;else{const ne=window;if("ethereum"in ne&&typeof ne.ethereum=="object"&&"request"in ne.ethereum&&typeof ne.ethereum.request=="function")N=ne.ethereum;else throw new Error("@supabase/auth-js: No compatible Ethereum wallet interface on the window object (window.ethereum) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'ethereum', wallet: resolvedUserWallet }) instead.")}else{if(typeof k!="object"||!(M!=null&&M.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");N=k}const z=new URL((i=M==null?void 0:M.url)!==null&&i!==void 0?i:window.location.href),Y=await N.request({method:"eth_requestAccounts"}).then(ne=>ne).catch(()=>{throw new Error("@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid")});if(!Y||Y.length===0)throw new Error("@supabase/auth-js: No accounts available. Please ensure the wallet is connected.");const Z=Cw(Y[0]);let F=(a=M==null?void 0:M.signInWithEthereum)===null||a===void 0?void 0:a.chainId;if(!F){const ne=await N.request({method:"eth_chainId"});F=AC(ne)}const G={domain:z.host,address:Z,statement:C,uri:z.href,version:"1",chainId:F,nonce:(l=M==null?void 0:M.signInWithEthereum)===null||l===void 0?void 0:l.nonce,issuedAt:(u=(c=M==null?void 0:M.signInWithEthereum)===null||c===void 0?void 0:c.issuedAt)!==null&&u!==void 0?u:new Date,expirationTime:(d=M==null?void 0:M.signInWithEthereum)===null||d===void 0?void 0:d.expirationTime,notBefore:(m=M==null?void 0:M.signInWithEthereum)===null||m===void 0?void 0:m.notBefore,requestId:(p=M==null?void 0:M.signInWithEthereum)===null||p===void 0?void 0:p.requestId,resources:(y=M==null?void 0:M.signInWithEthereum)===null||y===void 0?void 0:y.resources};_=NC(G),S=await N.request({method:"personal_sign",params:[jC(_),Z]})}try{const{data:T,error:k}=await le(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"ethereum",message:_,signature:S},!((v=e.options)===null||v===void 0)&&v.captchaToken?{gotrue_meta_security:{captcha_token:(x=e.options)===null||x===void 0?void 0:x.captchaToken}}:null),xform:En});if(k)throw k;if(!T||!T.session||!T.user){const C=new ka;return this._returnResult({data:{user:null,session:null},error:C})}return T.session&&(await this._saveSession(T.session),await this._notifyAllSubscribers("SIGNED_IN",T.session)),this._returnResult({data:Object.assign({},T),error:k})}catch(T){if(ie(T))return this._returnResult({data:{user:null,session:null},error:T});throw T}}async signInWithSolana(e){var i,a,l,c,u,d,m,p,y,v,x,_;let S,T;if("message"in e)S=e.message,T=e.signature;else{const{chain:k,wallet:C,statement:M,options:N}=e;let z;if(Vt())if(typeof C=="object")z=C;else{const Z=window;if("solana"in Z&&typeof Z.solana=="object"&&("signIn"in Z.solana&&typeof Z.solana.signIn=="function"||"signMessage"in Z.solana&&typeof Z.solana.signMessage=="function"))z=Z.solana;else throw new Error("@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.")}else{if(typeof C!="object"||!(N!=null&&N.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");z=C}const Y=new URL((i=N==null?void 0:N.url)!==null&&i!==void 0?i:window.location.href);if("signIn"in z&&z.signIn){const Z=await z.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},N==null?void 0:N.signInWithSolana),{version:"1",domain:Y.host,uri:Y.href}),M?{statement:M}:null));let F;if(Array.isArray(Z)&&Z[0]&&typeof Z[0]=="object")F=Z[0];else if(Z&&typeof Z=="object"&&"signedMessage"in Z&&"signature"in Z)F=Z;else throw new Error("@supabase/auth-js: Wallet method signIn() returned unrecognized value");if("signedMessage"in F&&"signature"in F&&(typeof F.signedMessage=="string"||F.signedMessage instanceof Uint8Array)&&F.signature instanceof Uint8Array)S=typeof F.signedMessage=="string"?F.signedMessage:new TextDecoder().decode(F.signedMessage),T=F.signature;else throw new Error("@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields")}else{if(!("signMessage"in z)||typeof z.signMessage!="function"||!("publicKey"in z)||typeof z!="object"||!z.publicKey||!("toBase58"in z.publicKey)||typeof z.publicKey.toBase58!="function")throw new Error("@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API");S=[`${Y.host} wants you to sign in with your Solana account:`,z.publicKey.toBase58(),...M?["",M,""]:[""],"Version: 1",`URI: ${Y.href}`,`Issued At: ${(l=(a=N==null?void 0:N.signInWithSolana)===null||a===void 0?void 0:a.issuedAt)!==null&&l!==void 0?l:new Date().toISOString()}`,...!((c=N==null?void 0:N.signInWithSolana)===null||c===void 0)&&c.notBefore?[`Not Before: ${N.signInWithSolana.notBefore}`]:[],...!((u=N==null?void 0:N.signInWithSolana)===null||u===void 0)&&u.expirationTime?[`Expiration Time: ${N.signInWithSolana.expirationTime}`]:[],...!((d=N==null?void 0:N.signInWithSolana)===null||d===void 0)&&d.chainId?[`Chain ID: ${N.signInWithSolana.chainId}`]:[],...!((m=N==null?void 0:N.signInWithSolana)===null||m===void 0)&&m.nonce?[`Nonce: ${N.signInWithSolana.nonce}`]:[],...!((p=N==null?void 0:N.signInWithSolana)===null||p===void 0)&&p.requestId?[`Request ID: ${N.signInWithSolana.requestId}`]:[],...!((v=(y=N==null?void 0:N.signInWithSolana)===null||y===void 0?void 0:y.resources)===null||v===void 0)&&v.length?["Resources",...N.signInWithSolana.resources.map(F=>`- ${F}`)]:[]].join(` +`);const Z=await z.signMessage(new TextEncoder().encode(S),"utf8");if(!Z||!(Z instanceof Uint8Array))throw new Error("@supabase/auth-js: Wallet signMessage() API returned an recognized value");T=Z}}try{const{data:k,error:C}=await le(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"solana",message:S,signature:Bi(T)},!((x=e.options)===null||x===void 0)&&x.captchaToken?{gotrue_meta_security:{captcha_token:(_=e.options)===null||_===void 0?void 0:_.captchaToken}}:null),xform:En});if(C)throw C;if(!k||!k.session||!k.user){const M=new ka;return this._returnResult({data:{user:null,session:null},error:M})}return k.session&&(await this._saveSession(k.session),await this._notifyAllSubscribers("SIGNED_IN",k.session)),this._returnResult({data:Object.assign({},k),error:C})}catch(k){if(ie(k))return this._returnResult({data:{user:null,session:null},error:k});throw k}}async _exchangeCodeForSession(e){const i=await Mn(this.storage,`${this.storageKey}-code-verifier`),[a,l]=(i??"").split("/");try{if(!a&&this.flowType==="pkce")throw new Yk;const{data:c,error:u}=await le(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:e,code_verifier:a},xform:En});if(await dt(this.storage,`${this.storageKey}-code-verifier`),u)throw u;if(!c||!c.session||!c.user){const d=new ka;return this._returnResult({data:{user:null,session:null,redirectType:null},error:d})}return c.session&&(await this._saveSession(c.session),await this._notifyAllSubscribers(l==="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",c.session)),this._returnResult({data:Object.assign(Object.assign({},c),{redirectType:l??null}),error:u})}catch(c){if(await dt(this.storage,`${this.storageKey}-code-verifier`),ie(c))return this._returnResult({data:{user:null,session:null,redirectType:null},error:c});throw c}}async signInWithIdToken(e){try{const{options:i,provider:a,token:l,access_token:c,nonce:u}=e,d=await le(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:a,id_token:l,access_token:c,nonce:u,gotrue_meta_security:{captcha_token:i==null?void 0:i.captchaToken}},xform:En}),{data:m,error:p}=d;if(p)return this._returnResult({data:{user:null,session:null},error:p});if(!m||!m.session||!m.user){const y=new ka;return this._returnResult({data:{user:null,session:null},error:y})}return m.session&&(await this._saveSession(m.session),await this._notifyAllSubscribers("SIGNED_IN",m.session)),this._returnResult({data:m,error:p})}catch(i){if(ie(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}}async signInWithOtp(e){var i,a,l,c,u;try{if("email"in e){const{email:d,options:m}=e;let p=null,y=null;this.flowType==="pkce"&&([p,y]=await Ci(this.storage,this.storageKey));const{error:v}=await le(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:d,data:(i=m==null?void 0:m.data)!==null&&i!==void 0?i:{},create_user:(a=m==null?void 0:m.shouldCreateUser)!==null&&a!==void 0?a:!0,gotrue_meta_security:{captcha_token:m==null?void 0:m.captchaToken},code_challenge:p,code_challenge_method:y},redirectTo:m==null?void 0:m.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:v})}if("phone"in e){const{phone:d,options:m}=e,{data:p,error:y}=await le(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:d,data:(l=m==null?void 0:m.data)!==null&&l!==void 0?l:{},create_user:(c=m==null?void 0:m.shouldCreateUser)!==null&&c!==void 0?c:!0,gotrue_meta_security:{captcha_token:m==null?void 0:m.captchaToken},channel:(u=m==null?void 0:m.channel)!==null&&u!==void 0?u:"sms"}});return this._returnResult({data:{user:null,session:null,messageId:p==null?void 0:p.message_id},error:y})}throw new nc("You must provide either an email or phone number.")}catch(d){if(await dt(this.storage,`${this.storageKey}-code-verifier`),ie(d))return this._returnResult({data:{user:null,session:null},error:d});throw d}}async verifyOtp(e){var i,a;try{let l,c;"options"in e&&(l=(i=e.options)===null||i===void 0?void 0:i.redirectTo,c=(a=e.options)===null||a===void 0?void 0:a.captchaToken);const{data:u,error:d}=await le(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:c}}),redirectTo:l,xform:En});if(d)throw d;if(!u)throw new Error("An error occurred on token verification.");const m=u.session,p=u.user;return m!=null&&m.access_token&&(await this._saveSession(m),await this._notifyAllSubscribers(e.type=="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",m)),this._returnResult({data:{user:p,session:m},error:null})}catch(l){if(ie(l))return this._returnResult({data:{user:null,session:null},error:l});throw l}}async signInWithSSO(e){var i,a,l,c,u;try{let d=null,m=null;this.flowType==="pkce"&&([d,m]=await Ci(this.storage,this.storageKey));const p=await le(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in e?{provider_id:e.providerId}:null),"domain"in e?{domain:e.domain}:null),{redirect_to:(a=(i=e.options)===null||i===void 0?void 0:i.redirectTo)!==null&&a!==void 0?a:void 0}),!((l=e==null?void 0:e.options)===null||l===void 0)&&l.captchaToken?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:d,code_challenge_method:m}),headers:this.headers,xform:xC});return!((c=p.data)===null||c===void 0)&&c.url&&Vt()&&!(!((u=e.options)===null||u===void 0)&&u.skipBrowserRedirect)&&window.location.assign(p.data.url),this._returnResult(p)}catch(d){if(await dt(this.storage,`${this.storageKey}-code-verifier`),ie(d))return this._returnResult({data:null,error:d});throw d}}async reauthenticate(){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._reauthenticate()):await this._reauthenticate()}async _reauthenticate(){try{return await this._useSession(async e=>{const{data:{session:i},error:a}=e;if(a)throw a;if(!i)throw new kt;const{error:l}=await le(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:i.access_token});return this._returnResult({data:{user:null,session:null},error:l})})}catch(e){if(ie(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async resend(e){try{const i=`${this.url}/resend`;if("email"in e){const{email:a,type:l,options:c}=e;let u=null,d=null;this.flowType==="pkce"&&([u,d]=await Ci(this.storage,this.storageKey));const{error:m}=await le(this.fetch,"POST",i,{headers:this.headers,body:{email:a,type:l,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},code_challenge:u,code_challenge_method:d},redirectTo:c==null?void 0:c.emailRedirectTo});return m&&await dt(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:m})}else if("phone"in e){const{phone:a,type:l,options:c}=e,{data:u,error:d}=await le(this.fetch,"POST",i,{headers:this.headers,body:{phone:a,type:l,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken}}});return this._returnResult({data:{user:null,session:null,messageId:u==null?void 0:u.message_id},error:d})}throw new nc("You must provide either an email or phone number and a type")}catch(i){if(await dt(this.storage,`${this.storageKey}-code-verifier`),ie(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}}async getSession(){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>this._useSession(async e=>e)):await this._useSession(async e=>e)}async _acquireLock(e,i){this._debug("#_acquireLock","begin",e);try{if(this.lockAcquired){const a=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),l=(async()=>(await a,await i()))();return this.pendingInLock.push((async()=>{try{await l}catch{}})()),l}return await this.lock(`lock:${this.storageKey}`,e,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;const a=i();for(this.pendingInLock.push((async()=>{try{await a}catch{}})()),await a;this.pendingInLock.length;){const l=[...this.pendingInLock];await Promise.all(l),this.pendingInLock.splice(0,l.length)}return await a}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(e){this._debug("#_useSession","begin");try{const i=await this.__loadSession();return await e(i)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin"),this.lock!=null&&!this.lockAcquired&&this._debug("#__loadSession()","used outside of an acquired lock!",new Error().stack);try{let e=null;const i=await Mn(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",i),i!==null&&(this._isValidSession(i)?e=i:(this._debug("#getSession()","session from storage is not valid"),await this._removeSession())),!e)return{data:{session:null},error:null};const a=e.expires_at?e.expires_at*1e3-Date.now()Date.now())){const d=await Mn(this.storage,this.storageKey);if(d&&d.refresh_token===e.refresh_token)return this._returnResult({data:{session:e},error:null})}return this._returnResult({data:{session:null},error:c})}return this._returnResult({data:{session:l},error:null})}finally{this._debug("#__loadSession()","end")}}async getUser(e){if(e)return await this._getUser(e);await this.initializePromise;let i;return this.lock!=null?i=await this._acquireLock(this.lockAcquireTimeout,async()=>await this._getUser()):i=await this._getUser(),i.data.user&&(this.suppressGetSessionWarning=!0),i}async _getUser(e){try{return e?await le(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:e,xform:ni}):await this._useSession(async i=>{var a,l,c;const{data:u,error:d}=i;if(d)throw d;return!(!((a=u.session)===null||a===void 0)&&a.access_token)&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new kt}:await le(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(c=(l=u.session)===null||l===void 0?void 0:l.access_token)!==null&&c!==void 0?c:void 0,xform:ni})})}catch(i){if(ie(i))return tc(i)&&(await this._removeSession(),await dt(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({data:{user:null},error:i});throw i}}async updateUser(e,i={}){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._updateUser(e,i)):await this._updateUser(e,i)}async _updateUser(e,i={}){try{return await this._useSession(async a=>{const{data:l,error:c}=a;if(c)throw c;if(!l.session)throw new kt;const u=l.session;let d=null,m=null;this.flowType==="pkce"&&e.email!=null&&([d,m]=await Ci(this.storage,this.storageKey));const{data:p,error:y}=await le(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:i==null?void 0:i.emailRedirectTo,body:Object.assign(Object.assign({},e),{code_challenge:d,code_challenge_method:m}),jwt:u.access_token,xform:ni});if(y)throw y;return u.user=p.user,await this._saveSession(u),await this._notifyAllSubscribers("USER_UPDATED",u),this._returnResult({data:{user:u.user},error:null})})}catch(a){if(await dt(this.storage,`${this.storageKey}-code-verifier`),ie(a))return this._returnResult({data:{user:null},error:a});throw a}}async setSession(e){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._setSession(e)):await this._setSession(e)}async _setSession(e){try{if(!e.access_token||!e.refresh_token)throw new kt;const i=Date.now()/1e3;let a=i,l=!0,c=null;const{payload:u}=ic(e.access_token);if(u.exp&&(a=u.exp,l=a<=i),l){const{data:d,error:m}=await this._callRefreshToken(e.refresh_token);if(m)return this._returnResult({data:{user:null,session:null},error:m});if(!d)return{data:{user:null,session:null},error:null};c=d}else{const{data:d,error:m}=await this._getUser(e.access_token);if(m)return this._returnResult({data:{user:null,session:null},error:m});c={access_token:e.access_token,refresh_token:e.refresh_token,user:d.user,token_type:"bearer",expires_in:a-i,expires_at:a},await this._saveSession(c),await this._notifyAllSubscribers("SIGNED_IN",c)}return this._returnResult({data:{user:c.user,session:c},error:null})}catch(i){if(ie(i))return this._returnResult({data:{session:null,user:null},error:i});throw i}}async refreshSession(e){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._refreshSession(e)):await this._refreshSession(e)}async _refreshSession(e){try{return await this._useSession(async i=>{var a;if(!e){const{data:u,error:d}=i;if(d)throw d;e=(a=u.session)!==null&&a!==void 0?a:void 0}if(!(e!=null&&e.refresh_token))throw new kt;const{data:l,error:c}=await this._callRefreshToken(e.refresh_token);return c?this._returnResult({data:{user:null,session:null},error:c}):l?this._returnResult({data:{user:l.user,session:l},error:null}):this._returnResult({data:{user:null,session:null},error:null})})}catch(i){if(ie(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}}async _getSessionFromURL(e,i){var a;try{if(!Vt())throw new sc("No browser detected.");if(e.error||e.error_description||e.error_code)throw new sc(e.error_description||"Error in URL with unspecified error_description",{error:e.error||"unspecified_error",code:e.error_code||"unspecified_code"});switch(i){case"implicit":if(this.flowType==="pkce")throw new Vb("Not a valid PKCE flow url.");break;case"pkce":if(this.flowType==="implicit")throw new sc("Not a valid implicit grant flow url.");break;default:}if(i==="pkce"){if(this._debug("#_initialize()","begin","is PKCE flow",!0),!e.code)throw new Vb("No code detected.");const{data:N,error:z}=await this._exchangeCodeForSession(e.code);if(z)throw z;const Y=new URL(window.location.href);return Y.searchParams.delete("code"),window.history.replaceState(window.history.state,"",Y.toString()),{data:{session:N.session,redirectType:(a=N.redirectType)!==null&&a!==void 0?a:null},error:null}}const{provider_token:l,provider_refresh_token:c,access_token:u,refresh_token:d,expires_in:m,expires_at:p,token_type:y}=e;if(!u||!m||!d||!y)throw new sc("No session defined in URL");const v=Math.round(Date.now()/1e3),x=parseInt(m);let _=v+x;p&&(_=parseInt(p));const S=_-v;S*1e3<=Es&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${S}s, should have been closer to ${x}s`);const T=_-x;v-T>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",T,_,v):v-T<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew",T,_,v);const{data:k,error:C}=await this._getUser(u);if(C)throw C;const M={provider_token:l,provider_refresh_token:c,access_token:u,expires_in:x,expires_at:_,refresh_token:d,token_type:y,user:k.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),this._returnResult({data:{session:M,redirectType:e.type},error:null})}catch(l){if(ie(l))return this._returnResult({data:{session:null,redirectType:null},error:l});throw l}}_isImplicitGrantCallback(e){return typeof this.detectSessionInUrl=="function"?this.detectSessionInUrl(new URL(window.location.href),e):!!(e.access_token||e.error||e.error_description||e.error_code)}async _isPKCECallback(e){const i=await Mn(this.storage,`${this.storageKey}-code-verifier`);return!!(e.code&&i)}async signOut(e={scope:"global"}){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._signOut(e)):await this._signOut(e)}async _signOut({scope:e}={scope:"global"}){return await this._useSession(async i=>{var a;const l=async()=>{await this._removeSession(),await dt(this.storage,`${this.storageKey}-code-verifier`)},{data:c,error:u}=i;if(u&&!tc(u))return this._returnResult({error:u});const d=(a=c.session)===null||a===void 0?void 0:a.access_token;if(d){const{error:m}=await this.admin.signOut(d,e);if(m&&!(Gk(m)&&(m.status===404||m.status===401||m.status===403)||tc(m)))return e!=="others"&&await l(),this._returnResult({error:m})}return e!=="others"&&await l(),this._returnResult({error:null})})}onAuthStateChange(e){const i=nC(),a={id:i,callback:e,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",i),this.stateChangeEmitters.delete(i)}};return this._debug("#onAuthStateChange()","registered callback with id",i),this.stateChangeEmitters.set(i,a),(async()=>(await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>{this._emitInitialSession(i)}):await this._emitInitialSession(i)))(),{data:{subscription:a}}}async _emitInitialSession(e){return await this._useSession(async i=>{var a,l;try{const{data:{session:c},error:u}=i;if(u)throw u;await((a=this.stateChangeEmitters.get(e))===null||a===void 0?void 0:a.callback("INITIAL_SESSION",c)),this._debug("INITIAL_SESSION","callback id",e,"session",c)}catch(c){await((l=this.stateChangeEmitters.get(e))===null||l===void 0?void 0:l.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",e,"error",c),tc(c)?console.warn(c):console.error(c)}})}async resetPasswordForEmail(e,i={}){let a=null,l=null;this.flowType==="pkce"&&([a,l]=await Ci(this.storage,this.storageKey,!0));try{return await le(this.fetch,"POST",`${this.url}/recover`,{body:{email:e,code_challenge:a,code_challenge_method:l,gotrue_meta_security:{captcha_token:i.captchaToken}},headers:this.headers,redirectTo:i.redirectTo})}catch(c){if(await dt(this.storage,`${this.storageKey}-code-verifier`),ie(c))return this._returnResult({data:null,error:c});throw c}}async getUserIdentities(){var e;try{const{data:i,error:a}=await this.getUser();if(a)throw a;return this._returnResult({data:{identities:(e=i.user.identities)!==null&&e!==void 0?e:[]},error:null})}catch(i){if(ie(i))return this._returnResult({data:null,error:i});throw i}}async linkIdentity(e){return"token"in e?this.linkIdentityIdToken(e):this.linkIdentityOAuth(e)}async linkIdentityOAuth(e){var i;try{const{data:a,error:l}=await this._useSession(async c=>{var u,d,m,p,y;const{data:v,error:x}=c;if(x)throw x;const _=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,e.provider,{redirectTo:(u=e.options)===null||u===void 0?void 0:u.redirectTo,scopes:(d=e.options)===null||d===void 0?void 0:d.scopes,queryParams:(m=e.options)===null||m===void 0?void 0:m.queryParams,skipBrowserRedirect:!0});return await le(this.fetch,"GET",_,{headers:this.headers,jwt:(y=(p=v.session)===null||p===void 0?void 0:p.access_token)!==null&&y!==void 0?y:void 0})});if(l)throw l;return Vt()&&!(!((i=e.options)===null||i===void 0)&&i.skipBrowserRedirect)&&window.location.assign(a==null?void 0:a.url),this._returnResult({data:{provider:e.provider,url:a==null?void 0:a.url},error:null})}catch(a){if(ie(a))return this._returnResult({data:{provider:e.provider,url:null},error:a});throw a}}async linkIdentityIdToken(e){return await this._useSession(async i=>{var a;try{const{error:l,data:{session:c}}=i;if(l)throw l;const{options:u,provider:d,token:m,access_token:p,nonce:y}=e,v=await le(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:(a=c==null?void 0:c.access_token)!==null&&a!==void 0?a:void 0,body:{provider:d,id_token:m,access_token:p,nonce:y,link_identity:!0,gotrue_meta_security:{captcha_token:u==null?void 0:u.captchaToken}},xform:En}),{data:x,error:_}=v;return _?this._returnResult({data:{user:null,session:null},error:_}):!x||!x.session||!x.user?this._returnResult({data:{user:null,session:null},error:new ka}):(x.session&&(await this._saveSession(x.session),await this._notifyAllSubscribers("USER_UPDATED",x.session)),this._returnResult({data:x,error:_}))}catch(l){if(await dt(this.storage,`${this.storageKey}-code-verifier`),ie(l))return this._returnResult({data:{user:null,session:null},error:l});throw l}})}async unlinkIdentity(e){try{return await this._useSession(async i=>{var a,l;const{data:c,error:u}=i;if(u)throw u;return await le(this.fetch,"DELETE",`${this.url}/user/identities/${e.identity_id}`,{headers:this.headers,jwt:(l=(a=c.session)===null||a===void 0?void 0:a.access_token)!==null&&l!==void 0?l:void 0})})}catch(i){if(ie(i))return this._returnResult({data:null,error:i});throw i}}async _refreshAccessToken(e){const i="#_refreshAccessToken()";this._debug(i,"begin");try{const a=Date.now();return await rC(async l=>(l>0&&await aC(200*Math.pow(2,l-1)),this._debug(i,"refreshing attempt",l),await le(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:En})),(l,c)=>{const u=200*Math.pow(2,l);return c&&Pb(c)&&Date.now()+u-aDate.now())?this._debug(l,"proactive refresh failed, access token still valid — preserving session"):await this._removeSession()}return this.lastRefreshFailure={refreshToken:e,result:u,expiresAt:Date.now()+Vk},(i=this.refreshingDeferred)===null||i===void 0||i.resolve(u),u}throw(a=this.refreshingDeferred)===null||a===void 0||a.reject(c),c}finally{this.refreshingDeferred=null,this._debug(l,"end")}}async _notifyAllSubscribers(e,i,a=!0){if(this._pendingInitNotifications!==null&&a){this._pendingInitNotifications.push({event:e,session:i,broadcast:a});return}const l=`#_notifyAllSubscribers(${e})`;this._debug(l,"begin",i,`broadcast = ${a}`);try{this.broadcastChannel&&a&&this.broadcastChannel.postMessage({event:e,session:i});const c=[],u=Array.from(this.stateChangeEmitters.values()).map(async d=>{try{await d.callback(e,i)}catch(m){c.push(m)}});if(await Promise.all(u),c.length>0){for(let d=0;dthis._autoRefreshTokenTick(),Es);this.autoRefreshTicker=e,e&&typeof e=="object"&&typeof e.unref=="function"?e.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(e);const i=setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0);this.autoRefreshTickTimeout=i,i&&typeof i=="object"&&typeof i.unref=="function"?i.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(i)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");const e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e);const i=this.autoRefreshTickTimeout;this.autoRefreshTickTimeout=null,i&&clearTimeout(i)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async dispose(){var e;this._removeVisibilityChangedCallback(),await this._stopAutoRefresh(),(e=this.broadcastChannel)===null||e===void 0||e.close(),this.broadcastChannel=null,this.stateChangeEmitters.clear()}async _autoRefreshTokenTick(){if(this._debug("#_autoRefreshTokenTick()","begin"),this.lock!=null){try{await this._acquireLock(0,async()=>{try{const e=Date.now();try{return await this._useSession(async i=>{const{data:{session:a}}=i;if(!a||!a.refresh_token||!a.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const l=Math.floor((a.expires_at*1e3-e)/Es);this._debug("#_autoRefreshTokenTick()",`access token expires in ${l} ticks, a tick lasts ${Es}ms, refresh threshold is ${Zr} ticks`),l<=Zr&&await this._callRefreshToken(a.refresh_token)})}catch(i){console.error("Auto refresh tick failed with error. This is likely a transient error.",i)}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(e){if(e instanceof TC)this._debug("auto refresh token tick lock not available");else throw e}return}if(this.refreshingDeferred!==null){this._debug("#_autoRefreshTokenTick()","refresh already in flight, skipping");return}try{const e=Date.now();try{await this._useSession(async i=>{const{data:{session:a}}=i;if(!a||!a.refresh_token||!a.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const l=Math.floor((a.expires_at*1e3-e)/Es);this._debug("#_autoRefreshTokenTick()",`access token expires in ${l} ticks, a tick lasts ${Es}ms, refresh threshold is ${Zr} ticks`),l<=Zr&&await this._callRefreshToken(a.refresh_token)})}catch(i){console.error("Auto refresh tick failed with error. This is likely a transient error.",i)}}finally{this._debug("#_autoRefreshTokenTick()","end")}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!Vt()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>{try{await this._onVisibilityChanged(!1)}catch(e){this._debug("#visibilityChangedCallback","error",e)}},window==null||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(e){console.error("_handleVisibilityChange",e)}}async _onVisibilityChanged(e){const i=`#_onVisibilityChanged(${e})`;if(this._debug(i,"visibilityState",document.visibilityState),document.visibilityState==="visible"){if(this.autoRefreshToken&&this._startAutoRefresh(),!e)if(await this.initializePromise,this.lock!=null)await this._acquireLock(this.lockAcquireTimeout,async()=>{if(document.visibilityState!=="visible"){this._debug(i,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()});else{if(document.visibilityState!=="visible"){this._debug(i,"visibilityState is no longer visible, skipping recovery");return}await this._recoverAndRefresh()}}else document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(e,i,a){const l=[`provider=${encodeURIComponent(i)}`];if(a!=null&&a.redirectTo&&l.push(`redirect_to=${encodeURIComponent(a.redirectTo)}`),a!=null&&a.scopes&&l.push(`scopes=${encodeURIComponent(a.scopes)}`),this.flowType==="pkce"){const[c,u]=await Ci(this.storage,this.storageKey),d=new URLSearchParams({code_challenge:`${encodeURIComponent(c)}`,code_challenge_method:`${encodeURIComponent(u)}`});l.push(d.toString())}if(a!=null&&a.queryParams){const c=new URLSearchParams(a.queryParams);l.push(c.toString())}return a!=null&&a.skipBrowserRedirect&&l.push(`skip_http_redirect=${a.skipBrowserRedirect}`),`${e}?${l.join("&")}`}async _unenroll(e){try{return await this._useSession(async i=>{var a;const{data:l,error:c}=i;return c?this._returnResult({data:null,error:c}):await le(this.fetch,"DELETE",`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:(a=l==null?void 0:l.session)===null||a===void 0?void 0:a.access_token})})}catch(i){if(ie(i))return this._returnResult({data:null,error:i});throw i}}async _enroll(e){try{return await this._useSession(async i=>{var a,l;const{data:c,error:u}=i;if(u)return this._returnResult({data:null,error:u});const d=Object.assign({friendly_name:e.friendlyName,factor_type:e.factorType},e.factorType==="phone"?{phone:e.phone}:e.factorType==="totp"?{issuer:e.issuer}:{}),{data:m,error:p}=await le(this.fetch,"POST",`${this.url}/factors`,{body:d,headers:this.headers,jwt:(a=c==null?void 0:c.session)===null||a===void 0?void 0:a.access_token});return p?this._returnResult({data:null,error:p}):(e.factorType==="totp"&&m.type==="totp"&&(!((l=m==null?void 0:m.totp)===null||l===void 0)&&l.qr_code)&&(m.totp.qr_code=`data:image/svg+xml;utf-8,${m.totp.qr_code}`),this._returnResult({data:m,error:null}))})}catch(i){if(ie(i))return this._returnResult({data:null,error:i});throw i}}async _verify(e){const i=async()=>{try{return await this._useSession(async a=>{var l;const{data:c,error:u}=a;if(u)return this._returnResult({data:null,error:u});const d=Object.assign({challenge_id:e.challengeId},"webauthn"in e?{webauthn:Object.assign(Object.assign({},e.webauthn),{credential_response:e.webauthn.type==="create"?Wb(e.webauthn.credential_response):ev(e.webauthn.credential_response)})}:{code:e.code}),{data:m,error:p}=await le(this.fetch,"POST",`${this.url}/factors/${e.factorId}/verify`,{body:d,headers:this.headers,jwt:(l=c==null?void 0:c.session)===null||l===void 0?void 0:l.access_token});return p?this._returnResult({data:null,error:p}):(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+m.expires_in},m)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",m),this._returnResult({data:m,error:p}))})}catch(a){if(ie(a))return this._returnResult({data:null,error:a});throw a}};return this.lock!=null?this._acquireLock(this.lockAcquireTimeout,i):i()}async _challenge(e){const i=async()=>{try{return await this._useSession(async a=>{var l;const{data:c,error:u}=a;if(u)return this._returnResult({data:null,error:u});const d=await le(this.fetch,"POST",`${this.url}/factors/${e.factorId}/challenge`,{body:e,headers:this.headers,jwt:(l=c==null?void 0:c.session)===null||l===void 0?void 0:l.access_token});if(d.error)return d;const{data:m}=d;if(m.type!=="webauthn")return{data:m,error:null};switch(m.webauthn.type){case"create":return{data:Object.assign(Object.assign({},m),{webauthn:Object.assign(Object.assign({},m.webauthn),{credential_options:Object.assign(Object.assign({},m.webauthn.credential_options),{publicKey:Qb(m.webauthn.credential_options.publicKey)})})}),error:null};case"request":return{data:Object.assign(Object.assign({},m),{webauthn:Object.assign(Object.assign({},m.webauthn),{credential_options:Object.assign(Object.assign({},m.webauthn.credential_options),{publicKey:Zb(m.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(a){if(ie(a))return this._returnResult({data:null,error:a});throw a}};return this.lock!=null?this._acquireLock(this.lockAcquireTimeout,i):i()}async _challengeAndVerify(e){const{data:i,error:a}=await this._challenge({factorId:e.factorId});return a?this._returnResult({data:null,error:a}):await this._verify({factorId:e.factorId,challengeId:i.id,code:e.code})}async _listFactors(){var e;const{data:{user:i},error:a}=await this.getUser();if(a)return{data:null,error:a};const l={all:[],phone:[],totp:[],webauthn:[]};for(const c of(e=i==null?void 0:i.factors)!==null&&e!==void 0?e:[])l.all.push(c),c.status==="verified"&&l[c.factor_type].push(c);return{data:l,error:null}}async _getAuthenticatorAssuranceLevel(e){var i,a,l,c;if(e)try{const{payload:_}=ic(e);let S=null;_.aal&&(S=_.aal);let T=S;const{data:{user:k},error:C}=await this.getUser(e);if(C)return this._returnResult({data:null,error:C});((a=(i=k==null?void 0:k.factors)===null||i===void 0?void 0:i.filter(z=>z.status==="verified"))!==null&&a!==void 0?a:[]).length>0&&(T="aal2");const N=_.amr||[];return{data:{currentLevel:S,nextLevel:T,currentAuthenticationMethods:N},error:null}}catch(_){if(ie(_))return this._returnResult({data:null,error:_});throw _}const{data:{session:u},error:d}=await this.getSession();if(d)return this._returnResult({data:null,error:d});if(!u)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const{payload:m}=ic(u.access_token);let p=null;m.aal&&(p=m.aal);let y=p;((c=(l=u.user.factors)===null||l===void 0?void 0:l.filter(_=>_.status==="verified"))!==null&&c!==void 0?c:[]).length>0&&(y="aal2");const x=m.amr||[];return{data:{currentLevel:p,nextLevel:y,currentAuthenticationMethods:x},error:null}}async _getAuthorizationDetails(e){try{return await this._useSession(async i=>{const{data:{session:a},error:l}=i;return l?this._returnResult({data:null,error:l}):a?await le(this.fetch,"GET",`${this.url}/oauth/authorizations/${e}`,{headers:this.headers,jwt:a.access_token,xform:c=>({data:c,error:null})}):this._returnResult({data:null,error:new kt})})}catch(i){if(ie(i))return this._returnResult({data:null,error:i});throw i}}async _approveAuthorization(e,i){try{return await this._useSession(async a=>{const{data:{session:l},error:c}=a;if(c)return this._returnResult({data:null,error:c});if(!l)return this._returnResult({data:null,error:new kt});const u=await le(this.fetch,"POST",`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:l.access_token,body:{action:"approve"},xform:d=>({data:d,error:null})});return u.data&&u.data.redirect_url&&Vt()&&!(i!=null&&i.skipBrowserRedirect)&&window.location.assign(u.data.redirect_url),u})}catch(a){if(ie(a))return this._returnResult({data:null,error:a});throw a}}async _denyAuthorization(e,i){try{return await this._useSession(async a=>{const{data:{session:l},error:c}=a;if(c)return this._returnResult({data:null,error:c});if(!l)return this._returnResult({data:null,error:new kt});const u=await le(this.fetch,"POST",`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:l.access_token,body:{action:"deny"},xform:d=>({data:d,error:null})});return u.data&&u.data.redirect_url&&Vt()&&!(i!=null&&i.skipBrowserRedirect)&&window.location.assign(u.data.redirect_url),u})}catch(a){if(ie(a))return this._returnResult({data:null,error:a});throw a}}async _listOAuthGrants(){try{return await this._useSession(async e=>{const{data:{session:i},error:a}=e;return a?this._returnResult({data:null,error:a}):i?await le(this.fetch,"GET",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:i.access_token,xform:l=>({data:l,error:null})}):this._returnResult({data:null,error:new kt})})}catch(e){if(ie(e))return this._returnResult({data:null,error:e});throw e}}async _revokeOAuthGrant(e){try{return await this._useSession(async i=>{const{data:{session:a},error:l}=i;return l?this._returnResult({data:null,error:l}):a?(await le(this.fetch,"DELETE",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:a.access_token,query:{client_id:e.clientId},noResolveJson:!0}),{data:{},error:null}):this._returnResult({data:null,error:new kt})})}catch(i){if(ie(i))return this._returnResult({data:null,error:i});throw i}}async fetchJwk(e,i={keys:[]}){let a=i.keys.find(d=>d.kid===e);if(a)return a;const l=Date.now();if(a=this.jwks.keys.find(d=>d.kid===e),a&&this.jwks_cached_at+Fk>l)return a;const{data:c,error:u}=await le(this.fetch,"GET",`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(u)throw u;return!c.keys||c.keys.length===0||(this.jwks=c,this.jwks_cached_at=l,a=c.keys.find(d=>d.kid===e),!a)?null:a}async getClaims(e,i={}){try{let a=e;if(!a){const{data:_,error:S}=await this.getSession();if(S||!_.session)return this._returnResult({data:null,error:S});a=_.session.access_token}const{header:l,payload:c,signature:u,raw:{header:d,payload:m}}=ic(a);if(!(i!=null&&i.allowExpired))try{fC(c.exp)}catch(_){throw new kc(_ instanceof Error?_.message:"JWT validation failed")}const p=!l.alg||l.alg.startsWith("HS")||!l.kid||!("crypto"in globalThis&&"subtle"in globalThis.crypto)?null:await this.fetchJwk(l.kid,i!=null&&i.keys?{keys:i.keys}:i==null?void 0:i.jwks);if(!p){const{error:_}=await this.getUser(a);if(_)throw _;return{data:{claims:c,header:l,signature:u},error:null}}const y=mC(l.alg),v=await crypto.subtle.importKey("jwk",p,y,!0,["verify"]);if(!await crypto.subtle.verify(y,v,u,eC(`${d}.${m}`)))throw new kc("Invalid JWT signature");return{data:{claims:c,header:l,signature:u},error:null}}catch(a){if(ie(a))return this._returnResult({data:null,error:a});throw a}}async signInWithPasskey(e){var i,a,l;Un(this.experimental);try{if(!Oc())return this._returnResult({data:null,error:new Vn("Browser does not support WebAuthn",null)});const{data:c,error:u}=await this._startPasskeyAuthentication({options:{captchaToken:(i=e==null?void 0:e.options)===null||i===void 0?void 0:i.captchaToken}});if(u||!c)return this._returnResult({data:null,error:u});const d=Zb(c.options),m=(l=(a=e==null?void 0:e.options)===null||a===void 0?void 0:a.signal)!==null&&l!==void 0?l:vf.createNewAbortSignal(),{data:p,error:y}=await Dw({publicKey:d,signal:m});if(y||!p)return this._returnResult({data:null,error:y??new Vn("WebAuthn ceremony failed",null)});const v=ev(p);return this._verifyPasskeyAuthentication({challengeId:c.challenge_id,credential:v})}catch(c){if(ie(c))return this._returnResult({data:null,error:c});throw c}}async registerPasskey(e){var i,a;Un(this.experimental);try{if(!Oc())return this._returnResult({data:null,error:new Vn("Browser does not support WebAuthn",null)});const{data:l,error:c}=await this._startPasskeyRegistration();if(c||!l)return this._returnResult({data:null,error:c});const u=Qb(l.options),d=(a=(i=e==null?void 0:e.options)===null||i===void 0?void 0:i.signal)!==null&&a!==void 0?a:vf.createNewAbortSignal(),{data:m,error:p}=await Ow({publicKey:u,signal:d});if(p||!m)return this._returnResult({data:null,error:p??new Vn("WebAuthn ceremony failed",null)});const y=Wb(m);return this._verifyPasskeyRegistration({challengeId:l.challenge_id,credential:y})}catch(l){if(ie(l))return this._returnResult({data:null,error:l});throw l}}async _startPasskeyRegistration(){Un(this.experimental);try{return await this._useSession(async e=>{const{data:{session:i},error:a}=e;if(a)return this._returnResult({data:null,error:a});if(!i)return this._returnResult({data:null,error:new kt});const{data:l,error:c}=await le(this.fetch,"POST",`${this.url}/passkeys/registration/options`,{headers:this.headers,jwt:i.access_token,body:{}});return c?this._returnResult({data:null,error:c}):this._returnResult({data:l,error:null})})}catch(e){if(ie(e))return this._returnResult({data:null,error:e});throw e}}async _verifyPasskeyRegistration(e){Un(this.experimental);try{return await this._useSession(async i=>{const{data:{session:a},error:l}=i;if(l)return this._returnResult({data:null,error:l});if(!a)return this._returnResult({data:null,error:new kt});const{data:c,error:u}=await le(this.fetch,"POST",`${this.url}/passkeys/registration/verify`,{headers:this.headers,jwt:a.access_token,body:{challenge_id:e.challengeId,credential:e.credential}});return u?this._returnResult({data:null,error:u}):this._returnResult({data:c,error:null})})}catch(i){if(ie(i))return this._returnResult({data:null,error:i});throw i}}async _startPasskeyAuthentication(e){var i;Un(this.experimental);try{const{data:a,error:l}=await le(this.fetch,"POST",`${this.url}/passkeys/authentication/options`,{headers:this.headers,body:{gotrue_meta_security:{captcha_token:(i=e==null?void 0:e.options)===null||i===void 0?void 0:i.captchaToken}}});return l?this._returnResult({data:null,error:l}):this._returnResult({data:a,error:null})}catch(a){if(ie(a))return this._returnResult({data:null,error:a});throw a}}async _verifyPasskeyAuthentication(e){Un(this.experimental);try{const{data:i,error:a}=await le(this.fetch,"POST",`${this.url}/passkeys/authentication/verify`,{headers:this.headers,body:{challenge_id:e.challengeId,credential:e.credential},xform:En});return a?this._returnResult({data:null,error:a}):(i.session&&(await this._saveSession(i.session),await this._notifyAllSubscribers("SIGNED_IN",i.session)),this._returnResult({data:i,error:null}))}catch(i){if(ie(i))return this._returnResult({data:null,error:i});throw i}}async _listPasskeys(){Un(this.experimental);try{return await this._useSession(async e=>{const{data:{session:i},error:a}=e;if(a)return this._returnResult({data:null,error:a});if(!i)return this._returnResult({data:null,error:new kt});const{data:l,error:c}=await le(this.fetch,"GET",`${this.url}/passkeys`,{headers:this.headers,jwt:i.access_token,xform:u=>({data:u,error:null})});return c?this._returnResult({data:null,error:c}):this._returnResult({data:l,error:null})})}catch(e){if(ie(e))return this._returnResult({data:null,error:e});throw e}}async _updatePasskey(e){Un(this.experimental);try{return await this._useSession(async i=>{const{data:{session:a},error:l}=i;if(l)return this._returnResult({data:null,error:l});if(!a)return this._returnResult({data:null,error:new kt});const{data:c,error:u}=await le(this.fetch,"PATCH",`${this.url}/passkeys/${e.passkeyId}`,{headers:this.headers,jwt:a.access_token,body:{friendly_name:e.friendlyName}});return u?this._returnResult({data:null,error:u}):this._returnResult({data:c,error:null})})}catch(i){if(ie(i))return this._returnResult({data:null,error:i});throw i}}async _deletePasskey(e){Un(this.experimental);try{return await this._useSession(async i=>{const{data:{session:a},error:l}=i;if(l)return this._returnResult({data:null,error:l});if(!a)return this._returnResult({data:null,error:new kt});const{error:c}=await le(this.fetch,"DELETE",`${this.url}/passkeys/${e.passkeyId}`,{headers:this.headers,jwt:a.access_token,noResolveJson:!0});return c?this._returnResult({data:null,error:c}):this._returnResult({data:null,error:null})})}catch(i){if(ie(i))return this._returnResult({data:null,error:i});throw i}}}wo.nextInstanceID={};const zC=wo,VC="2.110.2";let Wr="",Mc;if(typeof Deno<"u"){var kd;Wr="deno",Mc=(kd=Deno.version)===null||kd===void 0?void 0:kd.deno}else if(typeof document<"u")Wr="web";else if(typeof navigator<"u"&&navigator.product==="ReactNative")Wr="react-native";else{var Cd;Wr="node",Mc=typeof process<"u"?(Cd=process.version)===null||Cd===void 0?void 0:Cd.replace(/^v/,""):void 0}const Mw=[`runtime=${Wr}`];Mc&&Mw.push(`runtime-version=${Mc}`);const PC={"X-Client-Info":`supabase-js/${VC}; ${Mw.join("; ")}`},HC={headers:PC},$C={schema:"public"},qC={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},FC={},IC={enabled:!1,respectSamplingDecision:!0};function GC(n,e,i,a){function l(c){return c instanceof i?c:new i(function(u){u(c)})}return new(i||(i=Promise))(function(c,u){function d(y){try{p(a.next(y))}catch(v){u(v)}}function m(y){try{p(a.throw(y))}catch(v){u(v)}}function p(y){y.done?c(y.value):l(y.value).then(d,m)}p((a=a.apply(n,[])).next())})}let Rd=null;const KC="@opentelemetry/api";function YC(){return Rd===null&&(Rd=import(KC).catch(()=>null)),Rd}function XC(){return GC(this,void 0,void 0,function*(){try{const n=yield YC();if(!n||!n.propagation||!n.context)return null;const e={};n.propagation.inject(n.context.active(),e);const i=e.traceparent;return i?{traceparent:i,tracestate:e.tracestate,baggage:e.baggage}:null}catch{return null}})}function JC(n){if(!n||typeof n!="string")return null;const e=n.split("-");if(e.length!==4)return null;const[i,a,l,c]=e;if(i.length!==2||a.length!==32||l.length!==16||c.length!==2)return null;const u=/^[0-9a-f]+$/i;return!u.test(i)||!u.test(a)||!u.test(l)||!u.test(c)||a==="00000000000000000000000000000000"||l==="0000000000000000"?null:{version:i,traceId:a,parentId:l,traceFlags:c,isSampled:(parseInt(c,16)&1)===1}}function QC(n,e){if(!n||!e||e.length===0)return!1;let i;if(n instanceof URL)i=n;else try{i=new URL(n)}catch{return!1}for(const a of e)try{if(typeof a=="string"){if(ZC(i.hostname,a))return!0}else if(a instanceof RegExp){if(a.test(i.hostname))return!0}else if(typeof a=="function"&&a(i))return!0}catch{continue}return!1}function ZC(n,e){if(e===n)return!0;if(e.startsWith("*.")){const i=e.slice(2);if(n.endsWith(i)&&(n===i||n.endsWith("."+i)))return!0}return!1}function WC(n){const e=[];try{const i=new URL(n);e.push(i.hostname)}catch{}return e.push("*.supabase.co","*.supabase.in"),e.push("localhost","127.0.0.1","[::1]"),e}function _o(n){"@babel/helpers - typeof";return _o=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_o(n)}function eR(n,e){if(_o(n)!="object"||!n)return n;var i=n[Symbol.toPrimitive];if(i!==void 0){var a=i.call(n,e);if(_o(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function tR(n){var e=eR(n,"string");return _o(e)=="symbol"?e:e+""}function nR(n,e,i){return(e=tR(e))in n?Object.defineProperty(n,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[e]=i,n}function tv(n,e){var i=Object.keys(n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(n);e&&(a=a.filter(function(l){return Object.getOwnPropertyDescriptor(n,l).enumerable})),i.push.apply(i,a)}return i}function rt(n){for(var e=1;en?(...e)=>n(...e):(...e)=>fetch(...e),iR=()=>Headers,aR=(n,e,i,a,l)=>{const c=sR(a),u=iR(),d=(l==null?void 0:l.enabled)===!0,m=(l==null?void 0:l.respectSamplingDecision)!==!1,p=d?WC(e):null;return async(y,v)=>{var x;const _=(x=await i())!==null&&x!==void 0?x:n;let S=new u(v==null?void 0:v.headers);if(S.has("apikey")||S.set("apikey",n),S.has("Authorization")||S.set("Authorization",`Bearer ${_}`),p){const T=await rR(y,p,m);T&&(T.traceparent&&!S.has("traceparent")&&S.set("traceparent",T.traceparent),T.tracestate&&!S.has("tracestate")&&S.set("tracestate",T.tracestate),T.baggage&&!S.has("baggage")&&S.set("baggage",T.baggage))}return c(y,rt(rt({},v),{},{headers:S}))}};async function rR(n,e,i){if(!QC(typeof n=="string"||n instanceof URL?n:n.url,e))return null;const a=await XC();if(!a||!a.traceparent)return null;if(i){const l=JC(a.traceparent);if(l&&!l.isSampled)return null}return a}function nv(n){return typeof n=="boolean"?{enabled:n}:n}function oR(n){return n.endsWith("/")?n:n+"/"}function lR(n,e){var i,a,l,c,u,d;const{db:m,auth:p,realtime:y,global:v}=n,{db:x,auth:_,realtime:S,global:T}=e,k=nv(n.tracePropagation),C=nv(e.tracePropagation),M={db:rt(rt({},x),m),auth:rt(rt({},_),p),realtime:rt(rt({},S),y),storage:{},global:rt(rt(rt({},T),v),{},{headers:rt(rt({},(i=T==null?void 0:T.headers)!==null&&i!==void 0?i:{}),(a=v==null?void 0:v.headers)!==null&&a!==void 0?a:{})}),tracePropagation:{enabled:(l=(c=k==null?void 0:k.enabled)!==null&&c!==void 0?c:C==null?void 0:C.enabled)!==null&&l!==void 0?l:!1,respectSamplingDecision:(u=(d=k==null?void 0:k.respectSamplingDecision)!==null&&d!==void 0?d:C==null?void 0:C.respectSamplingDecision)!==null&&u!==void 0?u:!0},accessToken:async()=>""};return n.accessToken?M.accessToken=n.accessToken:delete M.accessToken,M}function cR(n){const e=n==null?void 0:n.trim();if(!e)throw new Error("supabaseUrl is required.");if(!e.match(/^https?:\/\//i))throw new Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(oR(e))}catch{throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var uR=class extends zC{constructor(n){super(n)}},hR=class{constructor(n,e,i){var a,l;this.supabaseUrl=n,this.supabaseKey=e;const c=cR(n);if(!e)throw new Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",c),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",c),this.storageUrl=new URL("storage/v1",c),this.functionsUrl=new URL("functions/v1",c);const u=`sb-${c.hostname.split(".")[0]}-auth-token`,d={db:$C,realtime:FC,auth:rt(rt({},qC),{},{storageKey:u}),global:HC,tracePropagation:IC},m=lR(i??{},d);if(this.settings=m,this.storageKey=(a=m.auth.storageKey)!==null&&a!==void 0?a:"",this.headers=(l=m.global.headers)!==null&&l!==void 0?l:{},m.accessToken)this.accessToken=m.accessToken,this.auth=new Proxy({},{get:(y,v)=>{throw new Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(v)} is not possible`)}});else{var p;this.auth=this._initSupabaseAuthClient((p=m.auth)!==null&&p!==void 0?p:{},this.headers,m.global.fetch)}this.fetch=aR(e,n,this._getAccessToken.bind(this),m.global.fetch,m.tracePropagation),this.realtime=this._initRealtimeClient(rt({headers:this.headers,accessToken:this._getAccessToken.bind(this),fetch:this.fetch},m.realtime)),this.accessToken&&Promise.resolve(this.accessToken()).then(y=>this.realtime.setAuth(y)).catch(y=>console.warn("Failed to set initial Realtime auth token:",y)),this.rest=new xN(new URL("rest/v1",c).href,{headers:this.headers,schema:m.db.schema,fetch:this.fetch,timeout:m.db.timeout,urlLengthLimit:m.db.urlLengthLimit}),this.storage=new zk(this.storageUrl.href,this.headers,this.fetch,i==null?void 0:i.storage),m.accessToken||this._listenForAuthEvents()}get functions(){return new hN(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(n){return this.rest.from(n)}schema(n){return this.rest.schema(n)}rpc(n,e={},i={head:!1,get:!1,count:void 0}){return this.rest.rpc(n,e,i)}channel(n,e={config:{}}){return this.realtime.channel(n,e)}getChannels(){return this.realtime.getChannels()}removeChannel(n){return this.realtime.removeChannel(n)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var n=this,e,i;if(n.accessToken)return await n.accessToken();const{data:a}=await n.auth.getSession();return(e=(i=a.session)===null||i===void 0?void 0:i.access_token)!==null&&e!==void 0?e:n.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:n,persistSession:e,detectSessionInUrl:i,storage:a,userStorage:l,storageKey:c,flowType:u,lock:d,debug:m,throwOnError:p,experimental:y,lockAcquireTimeout:v,skipAutoInitialize:x},_,S){const T={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new uR({url:this.authUrl.href,headers:rt(rt({},T),_),storageKey:c,autoRefreshToken:n,persistSession:e,detectSessionInUrl:i,storage:a,userStorage:l,flowType:u,lock:d,debug:m,throwOnError:p,experimental:y,fetch:S,lockAcquireTimeout:v,skipAutoInitialize:x,hasCustomAuthorizationHeader:Object.keys(this.headers).some(k=>k.toLowerCase()==="authorization")})}_initRealtimeClient(n){return new lk(this.realtimeUrl.href,rt(rt({},n),{},{params:rt(rt({},{apikey:this.supabaseKey}),n==null?void 0:n.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((n,e)=>{this._handleTokenChanged(n,"CLIENT",e==null?void 0:e.access_token)})}_handleTokenChanged(n,e,i){(n==="TOKEN_REFRESHED"||n==="SIGNED_IN")&&this.changedAccessToken!==i?(this.changedAccessToken=i,this.realtime.setAuth(i)):n==="SIGNED_OUT"&&(this.realtime.setAuth(),e=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}};const dR=(n,e,i)=>new hR(n,e,i);function fR(){if(typeof window<"u")return!1;const n=globalThis.process;if(!n)return!1;const e=n.version;if(e==null)return!1;const i=e.match(/^v(\d+)\./);return i?parseInt(i[1],10)<=20:!1}fR()&&console.warn("⚠️ Node.js 20 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 22 or later. For more information, visit: https://github.com/orgs/supabase/discussions/45715");const mR="https://dbit.digitalcompass.agency",Bw="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJhbm9uIiwKICAgICJpc3MiOiAic3VwYWJhc2UtZGVtbyIsCiAgICAiaWF0IjogMTY0MTc2OTIwMCwKICAgICJleHAiOiAxNzk5NTM1NjAwCn0.dc_X5iR_VP_qT0zsiyj_I_OZ2T9FtRU2BBNWN8Bu4GE",oo=!!Bw,lt=oo?dR(mR,Bw,{auth:{persistSession:!0,autoRefreshToken:!0,detectSessionInUrl:!0}}):null;function Uw(){return new URL("/cruce-cuentas/",window.location.origin).toString()}async function pR(){if(typeof window>"u"||typeof fetch>"u")return;const n=Uw(),e=new AbortController,i=window.setTimeout(()=>e.abort(),8e3);try{await(await fetch(n,{method:"GET",cache:"reload",credentials:"same-origin",redirect:"follow",headers:{Accept:"text/html,application/xhtml+xml"},signal:e.signal})).text()}catch(a){console.warn("No se pudo refrescar preventivamente la entrada de la app:",a)}finally{window.clearTimeout(i)}}const gR=180,yR=8e3;async function So(n=gR){if(!lt)return null;const{data:e,error:i}=await lt.auth.getSession();if(i)throw i;let a=e.session;if(!a)throw new Error("Tu sesión expiró. Inicia sesión nuevamente antes de continuar.");const l=Number(a.expires_at||0)*1e3;if(!l||l-Date.now()<=n*1e3){const u=await lt.auth.refreshSession();if(u.error)throw u.error;if(a=u.data.session,!a)throw new Error("Tu sesión expiró. Inicia sesión nuevamente antes de continuar.")}return a}async function sv(n){if(typeof window>"u"||typeof fetch>"u")return;if(typeof navigator<"u"&&navigator.onLine===!1)throw new Error("No hay conexión a Internet. Verifica tu conexión e intenta nuevamente.");let e;try{e=new URL(n,window.location.origin)}catch{return}if(e.origin===window.location.origin)return;const i=new URL("/favicon.ico",e.origin);i.searchParams.set("_glm_resume",String(Date.now()));const a=new AbortController,l=window.setTimeout(()=>a.abort(),yR);try{await fetch(i.toString(),{method:"GET",mode:"no-cors",cache:"no-store",credentials:"omit",signal:a.signal})}catch(c){if(typeof navigator<"u"&&navigator.onLine===!1)throw new Error("No hay conexión a Internet. Verifica tu conexión e intenta nuevamente.");console.warn("No se pudo precalentar la conexión con n8n:",c)}finally{window.clearTimeout(l)}}function iv(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`glm-${Date.now()}-${Math.random().toString(36).slice(2,12)}`}function av(n,e){try{const i=new URL(n,window.location.origin);return i.searchParams.set("client_request_id",e),i.searchParams.set("_ts",String(Date.now())),i.toString()}catch{return n}}const bR="https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-bamboo-correccion",Od=["Nombre mal escrito en BambooHR","Apodo o nombre de uso","Nombre incompleto / nombres adicionales","Otro"];function vR(n){try{return n?JSON.parse(n):null}catch{return null}}function Lw({row:n,country:e,periodRange:i,operatorName:a,operatorEmail:l,executionId:c,reportUrl:u,onClose:d,onSuccess:m,onShowToast:p}){const y=n.bestBambooCandidate,[v,x]=D.useState((y==null?void 0:y.employeeName)||""),[_,S]=D.useState((y==null?void 0:y.employeeNumber)||""),[T,k]=D.useState(Od[0]),[C,M]=D.useState(""),[N,z]=D.useState(!1),[Y,Z]=D.useState(!1);D.useEffect(()=>{x((y==null?void 0:y.employeeName)||""),S((y==null?void 0:y.employeeNumber)||""),k(Od[0]),M(""),z(!1)},[n.id,y==null?void 0:y.employeeName,y==null?void 0:y.employeeNumber]);const F=D.useMemo(()=>e.code==="TT"?"Laurele Nicome-Jack":e.code==="PA"?"Delarys Peñalba":e.code==="SV"?"Carlos Antonio Malta Méndez":e.code==="HN"?"Melody Chang Blandin":"haguirre@gomezleemarketing.com",[e.code]),G=D.useMemo(()=>Array.from(new Set([n.employee,n.bankNameFile,n.bankAccountHolder].map(Q=>String(Q||"").trim()).filter(Boolean))),[n.employee,n.bankNameFile,n.bankAccountHolder]),ne=async()=>{var Q;if(!v.trim()){p("Escribe el nombre correcto del empleado en BambooHR.","error");return}if(!N){p("Confirma que se trata de la misma persona antes de enviar el caso.","error");return}if(!lt){p("Supabase no está configurado en esta aplicación.","error");return}Z(!0);try{const ce=await So(300),me=ce==null?void 0:ce.access_token;if(!me)throw new Error("Tu sesión expiró. Inicia sesión nuevamente antes de reportar el caso.");const _e={country:e.code,country_name:e.name,source_name:n.employee,source_names:G,bank_name_file:n.bankNameFile||"",bank_account_holder:n.bankAccountHolder||"",bank_account:n.account||"",bank_amount:n.amountBank,currency:e.currency,bamboo_name:v.trim(),bamboo_employee_number:_.trim(),reason:T,comment:C.trim(),confirmed_same_person:!0,execution_id:c||"",report_url:u||"",period_label:i.label,period_start:i.start,period_end:i.end,requested_by_name:a,requested_by_email:l},Re=new FormData;Re.append("payload",JSON.stringify(_e)),Re.append("access_token",me);const Se=await fetch(bR,{method:"POST",body:Re}),V=await Se.text(),K=vR(V);if(!Se.ok||(K==null?void 0:K.ok)===!1){const W=(K==null?void 0:K.message)||(K==null?void 0:K.error)||((Q=K==null?void 0:K.errors)==null?void 0:Q[0])||V||"No se pudo enviar el caso a RRHH.";throw new Error(String(W))}m(n.id),p(`Caso enviado a RRHH de ${e.name}. La equivalencia quedó registrada para futuros cruces.`,"success"),d()}catch(ce){const me=ce instanceof Error?ce.message:"No se pudo enviar el caso a RRHH.";p(me,"error")}finally{Z(!1)}};return g.jsxs("div",{className:"fixed inset-0 z-[90] flex items-center justify-center px-4 py-6",children:[g.jsx("button",{type:"button",className:"absolute inset-0 bg-black/45",onClick:Y?void 0:d,"aria-label":"Cerrar"}),g.jsxs("div",{className:"relative w-full max-w-2xl bg-white border border-[#D0D0D0] shadow-2xl max-h-[92vh] overflow-y-auto",children:[g.jsx("div",{className:"h-1.5 bg-[#6CC24A]"}),g.jsxs("div",{className:"px-6 py-5 border-b border-neutral-200 flex items-start justify-between gap-4",children:[g.jsxs("div",{children:[g.jsx("p",{className:"text-[10px] uppercase tracking-[0.18em] font-black text-[#6B8FA3]",children:"Banco sin BambooHR"}),g.jsx("h2",{className:"text-xl font-black text-[#4F758B] mt-1",children:"Reportar corrección de identidad a RRHH"}),g.jsx("p",{className:"text-xs text-neutral-500 mt-2 leading-relaxed",children:"Esta validación crea una equivalencia permanente para que el mismo falso positivo no vuelva a aparecer mientras RRHH corrige BambooHR."})]}),g.jsx("button",{type:"button",onClick:d,disabled:Y,className:"p-2 text-neutral-400 hover:text-neutral-700 hover:bg-neutral-100 disabled:opacity-40","aria-label":"Cerrar modal",children:g.jsx(Ya,{className:"w-5 h-5"})})]}),g.jsxs("div",{className:"px-6 py-5 space-y-5",children:[g.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 bg-[#F5F5F5] border border-neutral-200 p-4",children:[g.jsxs("div",{children:[g.jsx("p",{className:"text-[9px] uppercase tracking-wider font-black text-[#6B8FA3]",children:"Nombre detectado"}),g.jsx("p",{className:"text-sm font-black text-neutral-800 mt-1",children:n.employee})]}),g.jsxs("div",{children:[g.jsx("p",{className:"text-[9px] uppercase tracking-wider font-black text-[#6B8FA3]",children:"Cuenta bancaria"}),g.jsx("p",{className:"text-sm font-mono font-bold text-neutral-700 mt-1",children:n.account||"—"})]}),g.jsxs("div",{className:"sm:col-span-2",children:[g.jsx("p",{className:"text-[9px] uppercase tracking-wider font-black text-[#6B8FA3]",children:"Se notificará a"}),g.jsx("p",{className:"text-xs font-bold text-neutral-700 mt-1",children:F})]})]}),(y==null?void 0:y.employeeName)&&g.jsxs("div",{className:"border border-[#D6E8F4] bg-[#F7FBFD] p-4 flex items-start gap-3",children:[g.jsx(fo,{className:"w-4 h-4 text-[#4F758B] mt-0.5 flex-shrink-0"}),g.jsxs("div",{className:"text-xs text-neutral-600 leading-relaxed",children:[g.jsx("strong",{className:"text-[#4F758B]",children:"Candidato sugerido por el cruce:"})," ",y.employeeName,y.employeeNumber?` · Employee Number ${y.employeeNumber}`:"",". Verifícalo manualmente antes de confirmar."]})]}),g.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[g.jsxs("label",{className:"sm:col-span-2",children:[g.jsx("span",{className:"block text-[10px] uppercase tracking-wider font-black text-[#4F758B] mb-1.5",children:"Nombre correcto en BambooHR *"}),g.jsx("input",{type:"text",value:v,onChange:Q=>x(Q.target.value),placeholder:"Ej.: Jonathan Alexander Pérez",className:"w-full border border-[#D0D0D0] px-3 py-2.5 text-sm font-medium focus:outline-none focus:border-[#4F758B]"})]}),g.jsxs("label",{children:[g.jsx("span",{className:"block text-[10px] uppercase tracking-wider font-black text-[#4F758B] mb-1.5",children:"Employee Number"}),g.jsx("input",{type:"text",value:_,onChange:Q=>S(Q.target.value),placeholder:"Recomendado para mayor seguridad",className:"w-full border border-[#D0D0D0] px-3 py-2.5 text-sm font-medium focus:outline-none focus:border-[#4F758B]"})]}),g.jsxs("label",{children:[g.jsx("span",{className:"block text-[10px] uppercase tracking-wider font-black text-[#4F758B] mb-1.5",children:"Motivo *"}),g.jsx("select",{value:T,onChange:Q=>k(Q.target.value),className:"w-full border border-[#D0D0D0] px-3 py-2.5 text-sm font-medium focus:outline-none focus:border-[#4F758B] bg-white",children:Od.map(Q=>g.jsx("option",{value:Q,children:Q},Q))})]}),g.jsxs("label",{className:"sm:col-span-2",children:[g.jsx("span",{className:"block text-[10px] uppercase tracking-wider font-black text-[#4F758B] mb-1.5",children:"Comentario para RRHH"}),g.jsx("textarea",{value:C,onChange:Q=>M(Q.target.value),rows:3,placeholder:"Detalle adicional que ayude a RRHH a corregir el registro.",className:"w-full border border-[#D0D0D0] px-3 py-2.5 text-sm font-medium focus:outline-none focus:border-[#4F758B] resize-y"})]})]}),g.jsxs("label",{className:"flex items-start gap-3 border border-[#D0D0D0] p-4 cursor-pointer",children:[g.jsx("input",{type:"checkbox",checked:N,onChange:Q=>z(Q.target.checked),className:"mt-0.5 accent-[#6CC24A]"}),g.jsxs("span",{className:"text-xs text-neutral-600 leading-relaxed",children:["Confirmo que revisé el caso manualmente y que ",g.jsx("strong",{children:n.employee})," corresponde a la misma persona indicada arriba en BambooHR."]})]})]}),g.jsxs("div",{className:"px-6 py-4 border-t border-neutral-200 bg-neutral-50 flex flex-col-reverse sm:flex-row sm:justify-end gap-2",children:[g.jsx("button",{type:"button",onClick:d,disabled:Y,className:"px-4 py-2.5 border border-neutral-300 bg-white text-neutral-600 text-xs font-black uppercase tracking-wider disabled:opacity-40",children:"Cancelar"}),g.jsx("button",{type:"button",onClick:ne,disabled:Y||!N||!v.trim(),className:"px-5 py-2.5 bg-[#4F758B] text-white text-xs font-black uppercase tracking-wider inline-flex items-center justify-center gap-2 border-l-4 border-[#6CC24A] disabled:bg-neutral-300 disabled:border-neutral-300 disabled:cursor-not-allowed",children:Y?g.jsxs(g.Fragment,{children:[g.jsx("span",{className:"w-4 h-4 border-2 border-white/40 border-t-white rounded-full animate-spin"}),"Enviando..."]}):g.jsxs(g.Fragment,{children:[g.jsx(dw,{className:"w-4 h-4"}),"Enviar a RRHH"]})})]})]})]})}const xR="https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-reportar";function wR(n){try{return n?JSON.parse(n):null}catch{return null}}function _R(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`report-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function zw({country:n,operatorName:e,operatorEmail:i,section:a,onShowToast:l}){const[c,u]=D.useState(!1),[d,m]=D.useState(""),[p,y]=D.useState(!1),v=()=>{p||u(!1)},x=async()=>{const _=d.trim();if(!_){l("Escribe una descripción del reporte.","error");return}if(!lt){l("Supabase no está configurado en esta aplicación.","error");return}y(!0);try{const S=await So(300),T=S==null?void 0:S.access_token;if(!T)throw new Error("Tu sesión expiró. Inicia sesión nuevamente antes de enviar el reporte.");const k={message:_.slice(0,5e3),userName:e,userEmail:i,country:n.code,countryName:n.name,section:a,submittedAt:new Date().toISOString(),pageUrl:window.location.href,appSessionId:_R()},C=new FormData;C.append("payload",JSON.stringify(k)),C.append("access_token",T);const M=await fetch(xR,{method:"POST",body:C}),N=await M.text(),z=wR(N);if(!M.ok||(z==null?void 0:z.ok)===!1){const Y=(z==null?void 0:z.message)||(z==null?void 0:z.error)||N||"No se pudo enviar el reporte.";throw new Error(String(Y))}m(""),u(!1),l("Reporte enviado correctamente.","success")}catch(S){l(S instanceof Error?S.message:"No se pudo enviar el reporte.","error")}finally{y(!1)}};return g.jsxs(g.Fragment,{children:[g.jsxs("button",{type:"button",onClick:()=>u(!0),className:"inline-flex items-center justify-center gap-2 border border-[#4F758B]/25 bg-white text-[#4F758B] h-9 px-2.5 sm:px-3 text-xs font-black hover:border-[#4F758B]/55 hover:bg-[#4F758B]/5 transition-colors shadow-sm",title:"Reportar un error o incidencia","aria-label":"Reportar",children:[g.jsx(Kj,{className:"w-4 h-4"}),g.jsx("span",{className:"hidden sm:inline",children:"Reportar"})]}),c&&g.jsxs("div",{className:"fixed inset-0 z-[90] flex items-center justify-center px-4 py-6",children:[g.jsx("button",{type:"button",className:"absolute inset-0 bg-black/45",onClick:v,"aria-label":"Cerrar reporte"}),g.jsxs("div",{className:"relative w-full max-w-2xl bg-white border border-[#D0D0D0] shadow-2xl",children:[g.jsx("div",{className:"h-1.5 bg-[#6CC24A]"}),g.jsxs("div",{className:"px-6 py-5 border-b border-neutral-200 flex items-center justify-between gap-4",children:[g.jsx("h2",{className:"text-xl font-black text-[#4F758B]",children:"Reporte"}),g.jsx("button",{type:"button",onClick:v,disabled:p,className:"p-2 text-neutral-400 hover:text-neutral-700 hover:bg-neutral-100 disabled:opacity-40","aria-label":"Cerrar modal",children:g.jsx(Ya,{className:"w-5 h-5"})})]}),g.jsxs("div",{className:"px-6 py-5",children:[g.jsxs("label",{className:"block",children:[g.jsx("span",{className:"block text-[10px] uppercase tracking-wider font-black text-[#4F758B] mb-1.5",children:"Descripción del Reporte *"}),g.jsx("textarea",{value:d,onChange:_=>m(_.target.value.slice(0,5e3)),rows:7,autoFocus:!0,disabled:p,placeholder:"Escribe aquí el error, incidencia o mejora que deseas reportar...",className:"w-full resize-y min-h-[150px] border border-[#D0D0D0] bg-white px-3.5 py-3 text-sm text-neutral-700 placeholder-neutral-400 focus:outline-none focus:border-[#4F758B] disabled:bg-neutral-50"})]}),g.jsxs("div",{className:"mt-1.5 text-right text-[10px] text-neutral-400",children:[d.length,"/5000"]})]}),g.jsxs("div",{className:"px-6 py-4 border-t border-neutral-200 bg-neutral-50 flex items-center justify-end gap-3",children:[g.jsx("button",{type:"button",onClick:v,disabled:p,className:"border border-neutral-300 bg-white text-neutral-600 px-4 py-2.5 text-xs font-bold hover:bg-neutral-100 disabled:opacity-50",children:"Cancelar"}),g.jsxs("button",{type:"button",onClick:()=>void x(),disabled:p||!d.trim(),className:"bg-[#4F758B] hover:bg-[#3F6174] text-white px-4 py-2.5 text-xs font-black inline-flex items-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",children:[p?g.jsx(qa,{className:"w-4 h-4 animate-spin"}):g.jsx(dw,{className:"w-4 h-4"}),g.jsx("span",{children:p?"Enviando...":"Enviar reporte"})]})]})]})]})]})}const Vw=[{value:1,label:"Enero"},{value:2,label:"Febrero"},{value:3,label:"Marzo"},{value:4,label:"Abril"},{value:5,label:"Mayo"},{value:6,label:"Junio"},{value:7,label:"Julio"},{value:8,label:"Agosto"},{value:9,label:"Septiembre"},{value:10,label:"Octubre"},{value:11,label:"Noviembre"},{value:12,label:"Diciembre"}],rv=[{value:"quincena_15",label:"Quincena 15",description:"Del día 1 al 15 del mes."},{value:"quincena_30",label:"Quincena 30 / fin de mes",description:"Del día 16 al último día del mes."}],SR="https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-analizar-nomina";function TR(n){return n==="TT"?"https://agenteit.digitalcompass.agency/webhook/nominatt-bamboo-test":n==="PA"?"https://agenteit.digitalcompass.agency/webhook/nominapa-bamboo-test":n==="SV"?"https://agenteit.digitalcompass.agency/webhook/nominasv-bamboo-test":n==="HN"?"https://agenteit.digitalcompass.agency/webhook/nominahn-bamboo-test":"https://agenteit.digitalcompass.agency/webhook/nominagt-bamboo-test"}function ER(){return"https://agenteit.digitalcompass.agency/webhook/bono14gt-bamboo-test"}function AR(){const n=new Date().getFullYear(),e=n-5,i=n+10;return Array.from({length:i-e+1},(a,l)=>e+l)}function jR(){const n=new Date,e=n.getDate();let i=n.getFullYear(),a=n.getMonth()+1,l="quincena_15";return e<=15&&(a-=1,l="quincena_30",a===0&&(a=12,i-=1)),{year:i,month:a,periodType:l}}function Bc(n){return n<1024*1024?`${(n/1024).toFixed(1)} KB`:`${(n/(1024*1024)).toFixed(2)} MB`}function Yr(n){const e=n.name.toLowerCase();return e.endsWith(".xlsx")||e.endsWith(".xls")}function Dd(n){return n.name.toLowerCase().endsWith(".csv")}function NR(n){return Array.from(n).map(e=>({name:e.name,size:Bc(e.size),type:"payroll",rawFile:e}))}function Md(n){return Array.from(n).map(e=>({name:e.name,size:Bc(e.size),type:"bank",rawFile:e}))}function $a(n,e,i){return`${n}-${String(e).padStart(2,"0")}-${String(i).padStart(2,"0")}`}function ov(n){const e=/^(\d{4})-(\d{2})-(\d{2})$/.exec(n);return e?`${e[3]}-${e[2]}-${e[1]}`:n}function lv(n,e,i){var c;const a=new Date(n,e,0).getDate(),l=((c=Vw.find(u=>u.value===e))==null?void 0:c.label)??"Mes";return i==="quincena_15"?{start:$a(n,e,1),end:$a(n,e,15),label:`${l} ${n} · Quincena 15`}:{start:$a(n,e,16),end:$a(n,e,a),label:`${l} ${n} · Quincena 30 / fin de mes`}}function kR(n){const e=n-1;return{start:$a(e,7,1),end:$a(n,6,30),label:`Bono 14 ${n} · Julio ${e} a junio ${n}`}}function Bd(n,e,i){if(n==null||Number.isNaN(n))return"—";const a=i==="USD"||i==="GTQ"||i==="TTD"?i:e.currency,l=a==="USD"?"en-US":e.locale;return new Intl.NumberFormat(l,{style:"currency",currency:a,minimumFractionDigits:2}).format(n)}function Gn(n,e=0){const i=Number(n);return Number.isFinite(i)?i:e}function Et(n){return n.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase()}function CR(n,e){const i=Et(String(n??e??""));return i.includes("coincid")?"Coincidencia":i.includes("resuelto")?"Resuelto":i.includes("no encontrado")?"No encontrado":i.includes("pendiente")?"Pendiente revisión":i.includes("riesgo")||i.includes("discrep")||i.includes("mal digitada")?"Riesgo":e==="coincidencia"?"Coincidencia":e==="posible_cuenta_mal_digitada"||e==="discrepancia"?"Riesgo":"Pendiente revisión"}function ac(n,e){for(const i of e){if(typeof n[i]=="number")return n[i];if(typeof n[i]=="string"&&n[i]!==""){const a=n[i].replace(/[Q,$\s]/g,"").replace(/,/g,""),l=Number(a);if(Number.isFinite(l))return l}}return null}function cv(n){return Array.isArray(n)?n.map((e,i)=>{const a=e,l=String(a.category??a.categoria??a.tipo??a.source??a.fuente??""),c=ac(a,["amountPayroll","monto_nomina","payroll_amount","amount_payroll","montoNomina"]),u=ac(a,["amountBank","monto_banco","bank_amount","amount_bank","montoBanco"]),d=ac(a,["difference","diferencia","diff"]);return{id:String(a.id??a.employeeNumber??a.employee_number??a.account??a.cuenta??`row-${i+1}`),employee:String(a.employee??a.empleado??a.name??a.nombre??a.employee_name??"Sin nombre"),employeeNumber:String(a.employeeNumber??a.employee_number??a.codigo??""),account:a.account||a.cuenta||a.bank_account?String(a.account??a.cuenta??a.bank_account):void 0,currency:String(a.currency??a.moneda??"").toUpperCase()||void 0,amountPayroll:c,amountBank:u,difference:d??(c!==null&&u!==null?c-u:null),status:CR(a.status??a.estado,l),category:l,observation:String(a.observation??a.observacion??a.note??a.nota??a.comentario??""),source:a.source??a.fuente??l,bankNameFile:String(a.bank_name_file??a.bankNameFile??""),bankAccountHolder:String(a.bank_account_holder??a.bankAccountHolder??""),bestBambooCandidate:a.best_bamboo_candidate&&typeof a.best_bamboo_candidate=="object"?{employeeNumber:String(a.best_bamboo_candidate.employee_number??""),employeeName:String(a.best_bamboo_candidate.employee_name??""),score:ac(a.best_bamboo_candidate,["score"])}:null,ambiguousBambooMatch:!!a.ambiguous_bamboo_match}}):[]}function uv(n){const i=(Array.isArray(n)?n[0]:n)??{},a=i.originalResponse??i.original_response??i.response??i,l=a.summary??a.resumen??i.summary??i.resumen??{},c=cv(a.rows??i.rows??a.resultados??i.resultados??[]),u=cv(a.bankWithoutBamboo??i.bankWithoutBamboo??a.banco_sin_bamboo_rows??i.banco_sin_bamboo_rows??[]).map(N=>({...N,category:N.category||"banco_sin_bamboo",source:"banco_sin_bamboo",status:N.status==="Coincidencia"?"Pendiente revisión":N.status})),d=new Map;[...c,...u].forEach((N,z)=>{const Y=N.id||`${N.source??N.category??"row"}-${z}`;d.set(Y,N)});const m=Array.from(d.values()),p=Gn(l.matches??l.coincidencias,c.filter(N=>N.status==="Coincidencia").length),y=Gn(l.discrepancies??l.discrepancias,c.filter(N=>{const z=Et(String(N.category??N.source??""));return z.includes("discrepancia")||z.includes("posible_cuenta_mal_digitada")}).length),v=Gn(l.bankWithoutPayroll??l.bancoSinNomina??l.banco_sin_nomina,c.filter(N=>La(N,"banco_sin_nomina")).length),x=Gn(l.bankWithoutBamboo??l.bancoSinBamboo??l.banco_sin_bamboo,u.length),_=Gn(l.payrollWithoutAccount??l.nominaSinCuenta??l.nomina_sin_cuenta),S=Gn(l.nameDifferences??l.diferenciasNombreBanco??l.diferencias_nombre_banco,c.filter(N=>Et(String(N.category??"")).includes("diferencia_nombre_banco")).length),T=Gn(l.possibleWrongAccounts??l.posiblesCuentasMalDigitadas??l.posibles_cuentas_mal_digitadas,c.filter(N=>Et(String(N.category??"")).includes("posible_cuenta_mal_digitada")).length),k=y+v+x+_+S,C=a.metadata??i.metadata??{},M=String(C.period_type??C.periodType??"").toLowerCase();return{ok:!!(a.ok??i.ok??!0),reportKind:M==="bono14"?"bono14":"nomina",executionId:a.executionId||a.execution_id||i.executionId||i.execution_id?String(a.executionId??a.execution_id??i.executionId??i.execution_id):void 0,reportUrl:a.reportUrl||a.report_url||i.reportUrl||i.report_url||i.google_sheet_url?String(a.reportUrl??a.report_url??i.reportUrl??i.report_url??i.google_sheet_url):void 0,summary:{matches:p,discrepancies:y,bankWithoutPayroll:v,bankWithoutBamboo:x,payrollWithoutAccount:_,nameDifferences:S,possibleWrongAccounts:T,totalPending:k,totalRows:m.length,totalPayroll:Gn(l.totalNomina??l.total_nomina,void 0),totalBank:Gn(l.totalBanco??l.total_banco,void 0),totalDifference:Gn(l.diferenciaTotal??l.diferencia_total,void 0)},rows:m,message:a.message||i.message?String(a.message??i.message):void 0}}function RR(n){return n==="Coincidencia"?"bg-emerald-50 text-emerald-800 border-emerald-200":n==="Resuelto"?"bg-blue-50 text-blue-800 border-blue-200":n==="No encontrado"?"bg-amber-50 text-amber-800 border-amber-200":n==="Pendiente revisión"?"bg-neutral-100 text-neutral-700 border-neutral-300":"bg-red-50 text-[#ba1a1a] border-red-200"}function hv(n){const e=Et(String(n.category??n.source??"")),i=Et(n.observation??"");return n.status==="Coincidencia"||e.includes("coincidencia")?90:e.includes("posible_cuenta_mal_digitada")||i.includes("mal digitada")?1:e.includes("discrepancia")||n.status==="Riesgo"?2:e.includes("banco_sin_bamboo")?3:e.includes("banco_sin_nomina")?4:e.includes("diferencia_nombre_banco")?5:e.includes("nomina_sin_cuenta")?6:n.status==="Pendiente revisión"?7:n.status==="No encontrado"?10:20}function OR(n){return[...n].sort((e,i)=>{const a=hv(e)-hv(i);return a!==0?a:e.employee.localeCompare(i.employee,"es")})}function DR(n){const e=Et(String(n.category??n.source??""));return e.includes("discrepancia")||e.includes("posible_cuenta_mal_digitada")}function La(n,e){return n.source===e||Et(String(n.category??"")).includes(e)}function MR(n,e="nomina"){const i=Et(String(n??""));return i?i.includes("posible_cuenta_mal_digitada")?"Posible cuenta mal digitada":i.includes("banco_sin_bamboo")?"Banco sin Bamboo":i.includes("banco_sin_nomina")?e==="bono14"?"Banco sin Bono 14":"Banco sin nómina":i.includes("diferencia_nombre_banco")?"Diferencia nombre banco":i.includes("nomina_sin_cuenta")?e==="bono14"?"Bono 14 sin cuenta":"Nómina sin cuenta":i.includes("discrepancia")?"Discrepancia":i.includes("coincidencia")?"Coincidencia":String(n).replace(/_/g," "):"—"}function dv(n){const e=n instanceof Error?n.message:"";return e.includes("planillas del banco repetidas")||e.toLowerCase().includes("sesión expiró")||e.toLowerCase().includes("no hay conexión a internet")?e:"No se pudo procesar el cruce. Verifica los archivos e intenta nuevamente."}function BR(n){try{return new TextDecoder("windows-1252").decode(n)}catch{return new TextDecoder("utf-8").decode(n)}}function fv(n,e){let i=0,a=!1;for(let l=0;lfv(n,a)>fv(n,i)?a:i)}function mv(n,e=Pw(n)){const i=[];let a="",l=!1;for(let c=0;cc.replace(/^\uFEFF/,"").trim())}function UR(n){const e=String(n??"").replace(/\D/g,"");return/^\d{1,20}$/.test(e)?e:null}function LR(n){const e=n.split(/\r?\n/).slice(0,120);for(const i of e.slice(0,25)){const l=Et(i).match(/(?:consulta\s+(?:del\s+)?)?detalle\s+(?:del\s+)?envio\s+(\d{1,20})/);if(l!=null&&l[1])return l[1]}for(let i=0;iEt(m).trim()).findIndex(m=>m==="numero de envio"||m.includes("numero de envio"));if(!(d<0))for(let m=i+1;mi.length>1).map(([i,a])=>({shipmentNumber:i,fileNames:a}))}const VR={1:["enero","january","jan"],2:["febrero","february","feb"],3:["marzo","march","mar"],4:["abril","april","apr"],5:["mayo","may"],6:["junio","june","jun"],7:["julio","july","jul"],8:["agosto","august","aug"],9:["septiembre","setiembre","september","sep"],10:["octubre","october","oct"],11:["noviembre","november","nov"],12:["diciembre","december","dec"]};function PR(n){const e=Et(n).replace(/[_\-.()]+/g," ").replace(/\s+/g," ").trim(),i=e.match(/\b(20\d{2})\b/),a=i?Number(i[1]):void 0;let l;for(const[d,m]of Object.entries(VR))if(m.some(p=>new RegExp(`\\b${p}\\b`,"i").test(e))){l=Number(d);break}const c=e.match(/\b(1[0-2]|[1-9])\s+(1|2)\s+(20\d{2})\b/);!l&&c&&(l=Number(c[1]));let u;return(c==null?void 0:c[2])==="1"?u="quincena_15":(c==null?void 0:c[2])==="2"?u="quincena_30":/\b(?:1q|q1|quincena\s*15|primera\s+quincena)\b/.test(e)?u="quincena_15":/\b(?:2q|q2|quincena\s*30|segunda\s+quincena|fin\s+de\s+mes)\b/.test(e)?u="quincena_30":/\b15\b/.test(e)?u="quincena_15":/\b(?:30|31)\b/.test(e)&&(u="quincena_30"),{year:a,month:l,periodType:u}}function gv(n){const e=jR();try{const i=window.localStorage.getItem(`glm_cruce_period_${n}`);if(!i)return e;const a=JSON.parse(i);if(Number.isInteger(a.year)&&Number.isInteger(a.month)&&a.month>=1&&a.month<=12&&(a.periodType==="quincena_15"||a.periodType==="quincena_30"))return a}catch{}return e}async function HR(n,e){const i=PR(n);try{const a=await fetch(SR,{method:"POST",headers:{"Content-Type":"application/json; charset=utf-8"},body:JSON.stringify({fileName:n,country:e.code,countryName:e.name})});if(!a.ok)return i;const l=await a.json().catch(()=>null),c=(l==null?void 0:l.detected)??(l==null?void 0:l.result)??(l==null?void 0:l.analysis)??l??{},u=String(c.periodType??c.period_type??""),d=Number(c.year)||i.year,m=Number(c.month)||i.month,p=u==="quincena_15"||u==="quincena_30"?u:i.periodType;return{year:d,month:m,periodType:p,confidence:Number.isFinite(Number(c.confidence))?Number(c.confidence):void 0,requiresManualReview:!!(c.requiresManualReview??c.requires_manual_review??!1),source:String(c.source??"gemini")}}catch{return{...i,source:"local_fallback",requiresManualReview:!(Number.isInteger(i.year)&&Number.isInteger(i.month)&&(i.periodType==="quincena_15"||i.periodType==="quincena_30"))}}}function $R({onShowToast:n,uploadedPayroll:e,setUploadedPayroll:i,uploadedPayrollFiles:a,setUploadedPayrollFiles:l,uploadedBankFiles:c,setUploadedBankFiles:u,isCruceExecuted:d,setIsCruceExecuted:m,response:p,setResponse:y,onOpenSidebar:v,operatorName:x,operatorEmail:_,resetToken:S=0,country:T}){const k=D.useMemo(()=>gv(T.code),[T.code]),C=T.code==="PA",M=T.code==="SV",N=T.code==="HN",z=C||M,[Y,Z]=D.useState(!1),[F,G]=D.useState(""),[ne,Q]=D.useState("todos"),[ce,me]=D.useState(k.year),[_e,Re]=D.useState(k.month),[Se,V]=D.useState(k.periodType),[K,W]=D.useState(1),[pe,ae]=D.useState(""),[E,P]=D.useState(""),[X,ee]=D.useState(null),[se,ue]=D.useState([]),[ve,Je]=D.useState(""),[Ye,fn]=D.useState(null),[As,ts]=D.useState(()=>new Set),oi=`glm_cruce_period_${T.code}`,J=D.useRef(null),je=D.useRef(null),Oe=D.useRef(null),Ne=D.useRef(null),ct=D.useMemo(()=>AR(),[]),vt=D.useMemo(()=>lv(ce,_e,Se),[ce,_e,Se]),Pt=T.code==="GT"&&_e===7&&Se==="quincena_15",et=D.useMemo(()=>kR(ce),[ce]),Ht=(p==null?void 0:p.reportKind)==="bono14",Hn=Ht?et.label:vt.label,At=D.useMemo(()=>OR((p==null?void 0:p.rows)??[]),[p==null?void 0:p.rows]),js=D.useMemo(()=>{const R=Et(E.trim());return c.map((te,de)=>({file:te,originalIndex:de})).filter(({file:te})=>!R||Et(te.name).includes(R))},[c,E]),Gt=D.useMemo(()=>{const R=Et(ve.trim());return se.map((te,de)=>({file:te,originalIndex:de})).filter(({file:te})=>!R||Et(te.name).includes(R))},[se,ve]),tn=At.filter(R=>{const te=Et(pe.trim());return Et(`${R.employee} ${R.employeeNumber} ${R.account??""} ${R.observation} ${R.category??""} ${R.source??""}`).includes(te)?ne==="discrepancias"?DR(R):ne==="coincidencias"?R.status==="Coincidencia":ne==="banco_sin_nomina"?La(R,"banco_sin_nomina"):ne==="banco_sin_bamboo"?La(R,"banco_sin_bamboo"):ne==="diferencia_nombre_banco"?La(R,"diferencia_nombre_banco"):ne==="nomina_sin_cuenta"?La(R,"nomina_sin_cuenta"):!0:!1}),mn=10,Ut=Math.max(1,Math.ceil(tn.length/mn)),Ns=tn.slice((K-1)*mn,K*mn);D.useEffect(()=>{K>Ut&&W(Ut)},[K,Ut]);const zi=D.useMemo(()=>{var R;return((R=rv.find(te=>te.value===Se))==null?void 0:R.description)??""},[Se]);D.useEffect(()=>{const R=gv(T.code);me(R.year),Re(R.month),V(R.periodType),W(1),ae(""),P(""),Je(""),ee(null),ue([]),Q("todos"),fn(null),ts(new Set)},[T.code]),D.useEffect(()=>{window.localStorage.setItem(oi,JSON.stringify({year:ce,month:_e,periodType:Se}))},[oi,ce,_e,Se]),D.useEffect(()=>{ae(""),P(""),Je(""),ee(null),ue([]),Q("todos"),W(1),G(""),Z(!1),fn(null),ts(new Set),J.current&&(J.current.value=""),je.current&&(je.current.value=""),Oe.current&&(Oe.current.value=""),Ne.current&&(Ne.current.value="")},[S]),D.useEffect(()=>{c.length===0&&E&&P("")},[c.length,E]),D.useEffect(()=>{se.length===0&&ve&&Je("")},[se.length,ve]);const xt=()=>{m(!1),y(null),W(1),ae(""),Q("todos")},ks=async(R,te=1)=>{const de=await HR(R.name,T);if(Number.isInteger(de.year)&&Number.isInteger(de.month)&&(de.periodType==="quincena_15"||de.periodType==="quincena_30")){me(de.year),Re(de.month),V(de.periodType);const _t=lv(de.year,de.month,de.periodType),Te=te>1?`${te} archivos de nómina cargados.`:"Nómina cargada.";return de.requiresManualReview?n(`${Te} Período sugerido: ${_t.label}. Confirma los datos antes de ejecutar.`,"info"):n(`${Te} Período detectado: ${_t.label}.`,"success"),!0}return!1},Lt=async R=>{i({name:R.name,size:Bc(R.size),type:"payroll",rawFile:R}),l([]),xt(),await ks(R)||n("Archivo de nómina cargado con éxito.","success")},Nn=async R=>{const te=R.filter(Yr);if(te.length===0){n(`Formato inválido. ${T.name} requiere uno o varios archivos Excel (.xlsx, .xls).`,"error");return}const de=new Set(a.map(Fe=>{var nt;return`${Fe.name}|${((nt=Fe.rawFile)==null?void 0:nt.size)??Fe.size}`})),kn=NR(te).filter(Fe=>{var nt;return!de.has(`${Fe.name}|${((nt=Fe.rawFile)==null?void 0:nt.size)??Fe.size}`)}),_t=[...a,...kn];l(_t),i(null),xt();const Te=te.find(Fe=>/quincenal/i.test(Fe.name))||te[0];await ks(Te,_t.length)||n(`${kn.length} archivo(s) de nómina de ${T.name} cargado(s) con éxito.`,"success")},wt=R=>{R.preventDefault()},ko=async R=>{R.preventDefault();const te=Array.from(R.dataTransfer.files);if(te.length===0)return;if(z){await Nn(te);return}const de=te[0];Yr(de)?await Lt(de):n("Formato inválido. Por favor carga un archivo Excel (.xlsx, .xls).","error")},Gc=R=>{R.preventDefault();const de=Array.from(R.dataTransfer.files).filter(Dd);if(de.length===0){n("Formato inválido. Por favor carga uno o varios archivos CSV (.csv).","error");return}u([...c,...Md(de)]),xt(),n(`${de.length} planilla(s) del banco cargada(s) con éxito.`,"success")},Kc=async R=>{const te=Array.from(R.target.files||[]);if(te.length===0)return;if(z){await Nn(te);return}const de=te[0];Yr(de)?await Lt(de):n("Formato inválido. Por favor carga un archivo Excel (.xlsx, .xls).","error")},Vi=R=>{l(a.filter((te,de)=>de!==R)),J.current&&(J.current.value=""),xt(),n("Archivo de nómina removido.","info")},Pi=R=>{const te=R.target.files;if(!te||te.length===0)return;const de=Array.from(te).filter(Dd);if(de.length===0){n("Formato inválido. Por favor carga uno o varios archivos CSV (.csv).","error");return}u([...c,...Md(de)]),xt(),n(`${de.length} planilla(s) del banco cargada(s) con éxito.`,"success")},Hi=R=>{u(c.filter((te,de)=>de!==R)),je.current&&(je.current.value=""),xt(),n("Planilla de banco removida.","info")},ns=()=>{i(null),l([]),u([]),P(""),J.current&&(J.current.value=""),je.current&&(je.current.value=""),xt(),n("Todos los archivos cargados fueron eliminados.","info")},li=R=>{ee({name:R.name,size:Bc(R.size),type:"payroll",rawFile:R}),xt(),n("Archivo Excel de Bono 14 cargado con éxito.","success")},ci=R=>{R.preventDefault();const te=R.dataTransfer.files[0];if(te){if(!Yr(te)){n("Formato inválido. El Bono 14 requiere un archivo Excel (.xlsx, .xls).","error");return}li(te)}},Yc=R=>{var de;const te=(de=R.target.files)==null?void 0:de[0];if(te){if(!Yr(te)){n("Formato inválido. El Bono 14 requiere un archivo Excel (.xlsx, .xls).","error");return}li(te)}},Wa=R=>{const te=R.filter(Dd);if(te.length===0){n("Formato inválido. Carga uno o varios archivos CSV del Bono 14.","error");return}ue([...se,...Md(te)]),xt(),n(`${te.length} archivo(s) bancario(s) de Bono 14 cargado(s).`,"success")},er=R=>{R.preventDefault(),Wa(Array.from(R.dataTransfer.files))},ui=R=>{var te;(te=R.target.files)!=null&&te.length&&Wa(Array.from(R.target.files))},Xc=R=>{ue(se.filter((te,de)=>de!==R)),Ne.current&&(Ne.current.value=""),xt(),n("Archivo bancario de Bono 14 removido.","info")},Co=async()=>{if(Y)return;if(!ce||!_e||!Se){n("Debes seleccionar año, mes y tipo de cruce antes de ejecutar.","error");return}const R=z?a:e?[e]:[];if(R.length===0||R.some(te=>!te.rawFile)){n(z?`Debes cargar todos los archivos de nómina de ${T.name} correspondientes al período antes de ejecutar el cruce.`:"Debes cargar la nómina antes de ejecutar el cruce.","error");return}if(c.length===0||c.some(te=>!te.rawFile)){n("Debes cargar al menos una planilla del banco antes de ejecutar el cruce.","error");return}Z(!0),G("Validando archivos..."),W(1);try{const te=await pv(c);if(te.length>0){const ze=te.map(Kt=>`Número de envío ${Kt.shipmentNumber}: ${Kt.fileNames.join(", ")}`).join(` +`);throw new Error(`Hay planillas del banco repetidas. Revisa los archivos cargados antes de continuar. +${ze}`)}const de=TR(T.code);if(!de)throw new Error("No se pudo procesar el cruce. El servicio de conciliación no está disponible.");const kn=iv();G("Revalidando sesión..."),await So(300),G("Reactivando conexión segura..."),await sv(de);const _t=av(de,kn),Te=R.find(ze=>/quincenal/i.test(ze.name))||R[0],tt={country:T.code,country_name:T.name,year:ce,month:_e,period_type:Se,period_label:vt.label,period_start:vt.start,period_end:vt.end,payroll_file_name:Te.name,payroll_file_names:R.map(ze=>ze.name),bank_file_names:c.map(ze=>ze.name),requested_by_name:x,requested_by_email:_,auth_mode:"supabase_google",source_app:"portal-cruce-cuentas-glm",client_request_id:kn};G("Procesando cruce de cuentas...");const Fe=new FormData;Fe.append("metadata",JSON.stringify(tt)),Object.entries(tt).forEach(([ze,Kt])=>{Fe.append(ze,Array.isArray(Kt)?JSON.stringify(Kt):String(Kt))}),z&&R.forEach((ze,Kt)=>{ze.rawFile&&(Fe.append("payroll_files",ze.rawFile,ze.name),Fe.append(`payroll_file_${Kt+1}`,ze.rawFile,ze.name))}),Te.rawFile&&Fe.append("payroll_file",Te.rawFile,Te.name),c.forEach((ze,Kt)=>{ze.rawFile&&(Fe.append("bank_files",ze.rawFile,ze.name),Fe.append(`bank_file_${Kt+1}`,ze.rawFile,ze.name))});const nt=await fetch(_t,{method:"POST",body:Fe,cache:"no-store",credentials:"omit"});G("Generando reporte...");const Qe=(nt.headers.get("content-type")??"").includes("application/json")?await nt.json():{ok:nt.ok,message:await nt.text()};if(!nt.ok||(Qe==null?void 0:Qe.ok)===!1)throw new Error(typeof(Qe==null?void 0:Qe.message)=="string"?Qe.message:"No se pudo procesar el cruce. Verifica los archivos e intenta nuevamente.");const $t=uv(Qe);$t.reportKind="nomina",y($t),m(!0),n($t.message||"Cruce procesado correctamente.","success"),setTimeout(()=>{const ze=document.getElementById("resultados-seccion");ze&&ze.scrollIntoView({behavior:"smooth",block:"start"})},150)}catch(te){const de=dv(te);m(!1),y(null),n(de,"error")}finally{Z(!1),G("")}},Ro=async()=>{if(!Y){if(!Pt){n("El cruce de Bono 14 solo está disponible en Guatemala para julio · Quincena 15.","error");return}if(!(X!=null&&X.rawFile)){n("Debes cargar el Excel de Bono 14 antes de generar el reporte.","error");return}if(se.length===0||se.some(R=>!R.rawFile)){n("Debes cargar al menos un CSV bancario del Bono 14.","error");return}Z(!0),G("Validando archivos de Bono 14..."),W(1);try{const R=await pv(se);if(R.length>0){const Qe=R.map($t=>`Número de envío ${$t.shipmentNumber}: ${$t.fileNames.join(", ")}`).join(` +`);throw new Error(`Hay planillas del banco repetidas. Revisa los archivos cargados antes de continuar. +${Qe}`)}const te=ER(),de=iv();G("Revalidando sesión..."),await So(300),G("Reactivando conexión segura..."),await sv(te);const kn=av(te,de),_t={country:"GT",country_name:"Guatemala",year:ce,month:7,period_type:"bono14",report_kind:"bono14",period_label:et.label,period_start:et.start,period_end:et.end,payroll_file_name:X.name,bank_file_names:se.map(Qe=>Qe.name),requested_by_name:x,requested_by_email:_,auth_mode:"supabase_google",source_app:"portal-cruce-cuentas-glm-bono14",client_request_id:de},Te=new FormData;Te.append("metadata",JSON.stringify(_t)),Object.entries(_t).forEach(([Qe,$t])=>{Te.append(Qe,Array.isArray($t)?JSON.stringify($t):String($t))}),Te.append("payroll_file",X.rawFile,X.name),se.forEach((Qe,$t)=>{Qe.rawFile&&(Te.append("bank_files",Qe.rawFile,Qe.name),Te.append(`bank_file_${$t+1}`,Qe.rawFile,Qe.name))}),G("Procesando Bono 14...");const tt=await fetch(kn,{method:"POST",body:Te,cache:"no-store",credentials:"omit"});G("Generando reporte independiente de Bono 14...");const nt=(tt.headers.get("content-type")??"").includes("application/json")?await tt.json():{ok:tt.ok,message:await tt.text()};if(!tt.ok||(nt==null?void 0:nt.ok)===!1)throw new Error(typeof(nt==null?void 0:nt.message)=="string"?nt.message:"No se pudo procesar el Bono 14. Verifica los archivos e intenta nuevamente.");const $i=uv(nt);$i.reportKind="bono14",y($i),m(!0),n($i.message||"Bono 14 procesado correctamente.","success"),setTimeout(()=>{const Qe=document.getElementById("resultados-seccion");Qe&&Qe.scrollIntoView({behavior:"smooth",block:"start"})},150)}catch(R){m(!1),y(null),n(dv(R),"error")}finally{Z(!1),G("")}}},Oo=()=>{if(p!=null&&p.reportUrl){window.open(p.reportUrl,"_blank","noopener,noreferrer");return}n("El reporte aún no tiene un enlace disponible.","info")};return g.jsxs("div",{className:"flex-1 flex flex-col min-h-screen bg-neutral-50 text-neutral-800 font-sans",children:[g.jsxs("header",{className:"bg-white border-b-4 border-[#6CC24A] flex justify-between items-center w-full px-4 sm:px-8 h-[84px] sticky top-0 z-40 shadow-sm gap-x-4",children:[g.jsxs("div",{className:"flex items-center gap-2 sm:gap-3 min-w-0",children:[g.jsx("button",{onClick:v,className:"md:hidden p-2 -ml-2 text-neutral-600 hover:text-neutral-800 hover:bg-neutral-100 transition-colors flex-shrink-0","aria-label":"Abrir menú",children:g.jsx(hw,{className:"w-6 h-6"})}),g.jsx("h1",{className:"text-xs sm:text-sm md:text-lg lg:text-2xl font-black text-[#4F758B] tracking-tight uppercase flex items-center gap-1.5 sm:gap-2 min-w-0",children:g.jsxs("span",{className:"truncate",children:["Cruce de Cuentas GLM - ",T.name]})})]}),g.jsxs("div",{className:"flex-shrink-0 flex items-center gap-2",children:[g.jsx(zw,{country:T,operatorName:x,operatorEmail:_,section:"Cruce de Cuentas",onShowToast:n}),g.jsx("div",{className:"border border-neutral-200 bg-white px-2.5 py-2 shadow-sm","aria-label":`Bandera de ${T.name}`,children:g.jsx("img",{src:T.flag,alt:`Bandera de ${T.name}`,className:"h-5 sm:h-6 w-auto object-contain"})})]})]}),g.jsxs("main",{className:"flex-1 max-w-7xl w-full mx-auto px-4 sm:px-6 py-8 flex flex-col gap-8",children:[g.jsxs("section",{className:"bg-white border border-[#D0D0D0] p-5 shadow-sm",children:[g.jsx("div",{className:"flex flex-col lg:flex-row lg:items-center lg:justify-between gap-4 mb-5",children:g.jsxs("div",{className:"flex items-center gap-3",children:[g.jsx("div",{className:"bg-[#4F758B]/10 p-2 rounded-full",children:g.jsx(uw,{className:"w-5 h-5 text-[#4F758B]"})}),g.jsx("div",{className:"pt-0.5",children:g.jsx("h2",{className:"text-sm font-black text-[#4F758B] uppercase tracking-wider leading-none",children:"Datos del cruce"})})]})}),g.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[g.jsxs("label",{className:"flex flex-col gap-1.5",children:[g.jsx("span",{className:"text-[10px] font-black uppercase tracking-wider text-neutral-500",children:"Año"}),g.jsx("select",{value:ce,onChange:R=>{me(Number(R.target.value)),xt()},className:"border border-[#D0D0D0] bg-white px-3 py-2.5 text-sm font-bold text-neutral-700 focus:outline-none focus:border-[#4F758B]",children:ct.map(R=>g.jsx("option",{value:R,children:R},R))})]}),g.jsxs("label",{className:"flex flex-col gap-1.5",children:[g.jsx("span",{className:"text-[10px] font-black uppercase tracking-wider text-neutral-500",children:"Mes"}),g.jsx("select",{value:_e,onChange:R=>{Re(Number(R.target.value)),xt()},className:"border border-[#D0D0D0] bg-white px-3 py-2.5 text-sm font-bold text-neutral-700 focus:outline-none focus:border-[#4F758B]",children:Vw.map(R=>g.jsx("option",{value:R.value,children:R.label},R.value))})]}),g.jsxs("label",{className:"flex flex-col gap-1.5",children:[g.jsx("span",{className:"text-[10px] font-black uppercase tracking-wider text-neutral-500",children:"Tipo de cruce"}),g.jsx("select",{value:Se,onChange:R=>{V(R.target.value),xt()},className:"border border-[#D0D0D0] bg-white px-3 py-2.5 text-sm font-bold text-neutral-700 focus:outline-none focus:border-[#4F758B]",children:rv.map(R=>g.jsx("option",{value:R.value,children:R.label},R.value))})]})]}),g.jsxs("div",{className:"mt-4 grid grid-cols-1 md:grid-cols-[1fr_auto] gap-3 items-center bg-[#4F758B]/5 border border-[#4F758B]/10 px-4 py-3",children:[g.jsxs("div",{className:"flex items-start gap-2 text-xs text-neutral-600",children:[g.jsx(yj,{className:"w-4 h-4 text-[#4F758B] mt-0.5 flex-shrink-0"}),g.jsxs("div",{children:[g.jsx("span",{className:"font-black text-[#4F758B]",children:"Período calculado:"})," ",ov(vt.start)," al ",ov(vt.end),g.jsx("p",{className:"text-[10px] text-neutral-500 mt-0.5",children:zi})]})]}),g.jsx("div",{className:"text-[10px] font-bold text-neutral-500 uppercase tracking-wider",children:vt.label})]})]}),(z||N)&&(e!==null||a.length>0||c.length>0)&&g.jsx("div",{className:"flex justify-end",style:{marginBottom:"-20px"},children:g.jsxs("button",{type:"button",onClick:ns,className:"inline-flex items-center gap-2 border border-red-100 bg-white px-3 py-2 text-[10px] font-black text-red-600 hover:bg-red-50 transition-colors uppercase tracking-wide shadow-sm","aria-label":"Borrar todos los archivos cargados",title:"Eliminar de una vez todas las nóminas y planillas del banco cargadas",children:[g.jsx(Aa,{className:"w-4 h-4"}),"Borrar todo"]})}),g.jsxs("section",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[g.jsxs("div",{className:"bg-white border border-[#D0D0D0] p-6 flex flex-col justify-between relative shadow-sm hover:shadow-md transition-shadow",children:[g.jsx("div",{className:"absolute top-0 left-0 w-full h-1 bg-[#4F758B]"}),g.jsxs("div",{children:[g.jsxs("div",{className:"flex items-center gap-2.5 mb-4",children:[g.jsx(Da,{className:"w-5 h-5 text-[#4F758B]"}),g.jsx("h2",{className:"text-sm font-black text-neutral-800 uppercase tracking-wider",children:"1. Carga de Nómina"})]}),g.jsx("input",{type:"file",ref:J,onChange:Kc,accept:".xlsx,.xls",multiple:z,className:"hidden"}),z?a.length>0?g.jsxs("div",{className:"space-y-3",children:[g.jsxs("div",{className:"border border-[#4F758B]/20 bg-[#4F758B]/5 px-4 py-3",children:[g.jsxs("p",{className:"text-[10px] font-black uppercase tracking-wider text-[#4F758B]",children:[a.length," archivo(s) de nómina cargado(s)"]}),g.jsx("p",{className:"text-[10px] text-neutral-500 mt-1",children:C?"Incluye la quincenal y todas las planillas extraordinarias, vacaciones o XIII Mes que correspondan al período.":"Incluye todos los archivos de nómina de El Salvador que correspondan a la quincena seleccionada (General, Karla Elias, Nestlé, Motorola u otros del mismo formato)."})]}),g.jsx("div",{className:"max-h-[260px] overflow-y-auto border border-neutral-200 divide-y divide-neutral-100",children:a.map((R,te)=>g.jsxs("div",{className:"bg-white px-4 py-3 flex items-center justify-between gap-3",children:[g.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[g.jsx(Da,{className:"w-6 h-6 text-[#6CC24A] flex-shrink-0"}),g.jsxs("div",{className:"overflow-hidden",children:[g.jsx("p",{className:"text-xs font-bold text-neutral-700 truncate max-w-[290px]",title:R.name,children:R.name}),g.jsxs("p",{className:"text-[10px] text-neutral-400 font-mono mt-0.5",children:[R.size," • Excel"]})]})]}),g.jsx("button",{onClick:()=>Vi(te),className:"p-1.5 text-neutral-400 hover:text-red-500 hover:bg-neutral-100 transition-all rounded","aria-label":`Remover ${R.name}`,children:g.jsx(Aa,{className:"w-4.5 h-4.5"})})]},`${R.name}-${te}`))}),g.jsx("button",{type:"button",onClick:()=>{var R;return(R=J.current)==null?void 0:R.click()},className:"w-full border border-dashed border-[#4F758B]/40 bg-white px-4 py-2.5 text-[10px] font-black text-[#4F758B] hover:bg-[#4F758B]/5 transition-colors uppercase tracking-wide",children:"Agregar más archivos de nómina"})]}):g.jsxs("div",{onDragOver:wt,onDrop:ko,onClick:()=>{var R;return(R=J.current)==null?void 0:R.click()},className:"border-2 border-dashed border-[#D0D0D0] bg-neutral-50 hover:bg-[#4F758B]/5 hover:border-[#4F758B]/40 transition-colors flex flex-col items-center justify-center py-10 px-4 text-center cursor-pointer min-h-[190px]",children:[g.jsx(Gr,{className:"w-8 h-8 text-neutral-300 mb-2"}),g.jsx("p",{className:"text-xs font-bold text-neutral-700",children:"Arrastre la nómina y sus suplementos"}),g.jsx("p",{className:"text-[10px] text-neutral-400 mt-1 font-medium",children:"Puede seleccionar varios .xlsx / .xls a la vez"}),g.jsx("button",{type:"button",className:"mt-4 border border-[#D0D0D0] bg-white px-4 py-1.5 text-[10px] font-bold text-neutral-600 hover:border-[#4F758B] hover:text-[#4F758B] transition-colors shadow-sm uppercase tracking-wide",children:"Seleccionar Archivos"})]}):e?g.jsxs("div",{className:"border border-[#6CC24A]/30 bg-[#6CC24A]/5 p-5 flex items-center justify-between gap-3",children:[g.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[g.jsx(Da,{className:"w-8 h-8 text-[#6CC24A] flex-shrink-0"}),g.jsxs("div",{className:"overflow-hidden",children:[g.jsx("p",{className:"text-xs font-bold text-neutral-700 truncate max-w-[300px]",title:e.name,children:e.name}),g.jsxs("p",{className:"text-[10px] text-neutral-400 font-mono mt-0.5",children:[e.size," • Excel"]})]})]}),g.jsx("button",{onClick:()=>{i(null),J.current&&(J.current.value=""),xt(),n("Nómina removida.","info")},className:"p-1.5 text-neutral-400 hover:text-red-500 hover:bg-neutral-100 transition-all rounded","aria-label":"Remover nómina",children:g.jsx(Aa,{className:"w-4.5 h-4.5"})})]}):g.jsxs("div",{onDragOver:wt,onDrop:ko,onClick:()=>{var R;return(R=J.current)==null?void 0:R.click()},className:"border-2 border-dashed border-[#D0D0D0] bg-neutral-50 hover:bg-[#4F758B]/5 hover:border-[#4F758B]/40 transition-colors flex flex-col items-center justify-center py-10 px-4 text-center cursor-pointer min-h-[190px]",children:[g.jsx(Gr,{className:"w-8 h-8 text-neutral-300 mb-2"}),g.jsx("p",{className:"text-xs font-bold text-neutral-700",children:"Arrastre y suelte archivo Excel"}),g.jsx("p",{className:"text-[10px] text-neutral-400 mt-1 font-medium",children:"Formato .xlsx, .xls"}),g.jsx("button",{type:"button",className:"mt-4 border border-[#D0D0D0] bg-white px-4 py-1.5 text-[10px] font-bold text-neutral-600 hover:border-[#4F758B] hover:text-[#4F758B] transition-colors shadow-sm uppercase tracking-wide",children:"Seleccionar Archivo"})]})]})]}),g.jsxs("div",{className:"bg-white border border-[#D0D0D0] p-6 flex flex-col justify-between relative shadow-sm hover:shadow-md transition-shadow",children:[g.jsx("div",{className:"absolute top-0 left-0 w-full h-1 bg-[#4F758B]"}),g.jsxs("div",{children:[g.jsxs("div",{className:"flex items-center gap-2.5 mb-2",children:[g.jsx(Jl,{className:"w-5 h-5 text-[#4F758B]"}),g.jsx("h2",{className:"text-sm font-black text-neutral-800 uppercase tracking-wider",children:"2. Carga de Planillas del Banco"})]}),g.jsx("p",{className:"text-[11px] text-neutral-500 mb-4 leading-relaxed",children:"Puede subir múltiples archivos separados o un archivo consolidado del período."}),g.jsx("input",{type:"file",ref:je,onChange:Pi,accept:".csv",multiple:!0,className:"hidden"}),g.jsxs("div",{onDragOver:wt,onDrop:Gc,onClick:()=>{var R;return(R=je.current)==null?void 0:R.click()},className:"border-2 border-dashed border-[#D0D0D0] bg-neutral-50 hover:bg-[#4F758B]/5 hover:border-[#4F758B]/40 transition-colors flex flex-col items-center justify-center py-8 px-4 text-center cursor-pointer min-h-[130px]",children:[g.jsx(Gr,{className:"w-7 h-7 text-neutral-300 mb-2"}),g.jsx("p",{className:"text-xs font-bold text-neutral-700",children:"Arrastre y suelte archivo CSV"}),g.jsx("p",{className:"text-[10px] text-neutral-400 mt-1 font-medium",children:"Formato .csv"}),g.jsx("button",{type:"button",className:"mt-4 border border-[#D0D0D0] bg-white px-4 py-1.5 text-[10px] font-bold text-neutral-600 hover:border-[#4F758B] hover:text-[#4F758B] transition-colors shadow-sm uppercase tracking-wide",children:"Seleccionar Archivos"})]}),c.length>0&&g.jsxs("div",{className:"mt-4 border border-neutral-200 bg-white",children:[g.jsxs("div",{className:"p-3 border-b border-neutral-200 bg-neutral-50",children:[g.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2 mb-2",children:[g.jsxs("div",{children:[g.jsxs("p",{className:"text-[11px] font-black text-neutral-700 uppercase tracking-wide",children:[c.length," ",c.length===1?"archivo cargado":"archivos cargados"]}),g.jsx("p",{className:"text-[9px] text-neutral-400 mt-0.5",children:"Busque por nombre para localizar y eliminar una planilla rápidamente."})]}),E&&g.jsx("button",{type:"button",onClick:R=>{R.stopPropagation(),P("")},className:"self-start sm:self-auto text-[9px] font-bold uppercase tracking-wide text-[#4F758B] hover:underline",children:"Limpiar búsqueda"})]}),g.jsxs("div",{className:"relative",children:[g.jsx(Jr,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-neutral-400 pointer-events-none"}),g.jsx("input",{type:"search",value:E,onChange:R=>P(R.target.value),onClick:R=>R.stopPropagation(),placeholder:"Buscar archivo CSV por nombre...",className:"w-full h-9 pl-9 pr-3 border border-[#D0D0D0] bg-white text-[11px] text-neutral-700 outline-none focus:border-[#4F758B] focus:ring-2 focus:ring-[#4F758B]/10 transition-all","aria-label":"Buscar archivos CSV cargados"})]}),E&&g.jsxs("p",{className:"text-[9px] text-neutral-400 mt-2",children:["Mostrando ",js.length," de ",c.length," archivos."]})]}),g.jsx("div",{className:"max-h-[330px] overflow-y-auto overscroll-contain p-2 space-y-2",children:js.length>0?js.map(({file:R,originalIndex:te})=>g.jsxs("div",{className:"border border-neutral-200 bg-white px-3 py-3 flex items-center justify-between gap-3 hover:border-[#4F758B]/40 hover:bg-[#4F758B]/[0.025] transition-colors",children:[g.jsxs("div",{className:"flex items-start gap-3 min-w-0 flex-1",children:[g.jsx("div",{className:"w-7 h-7 mt-0.5 border border-[#4F758B]/20 bg-[#4F758B]/5 flex items-center justify-center flex-shrink-0",children:g.jsx(Jl,{className:"w-4 h-4 text-[#4F758B]"})}),g.jsxs("div",{className:"min-w-0 flex-1",children:[g.jsx("p",{className:"text-[11px] leading-4 font-bold text-neutral-700 whitespace-normal break-words",title:R.name,children:R.name}),g.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[g.jsx("span",{className:"text-[9px] text-neutral-400 font-mono",children:R.size}),g.jsx("span",{className:"text-[8px] font-bold uppercase tracking-wide text-[#4F758B] bg-[#4F758B]/5 border border-[#4F758B]/10 px-1.5 py-0.5",children:"CSV"})]})]})]}),g.jsx("button",{type:"button",onClick:de=>{de.stopPropagation(),Hi(te)},className:"w-8 h-8 flex items-center justify-center flex-shrink-0 text-neutral-400 hover:text-red-600 hover:bg-red-50 border border-transparent hover:border-red-100 rounded transition-colors","aria-label":`Remover ${R.name}`,title:`Eliminar ${R.name}`,children:g.jsx(Aa,{className:"w-4 h-4"})})]},`${R.name}-${te}`)):g.jsxs("div",{className:"py-8 px-4 text-center",children:[g.jsx(Jr,{className:"w-5 h-5 text-neutral-300 mx-auto mb-2"}),g.jsx("p",{className:"text-[11px] font-bold text-neutral-600",children:"No encontramos archivos con ese nombre."}),g.jsx("p",{className:"text-[9px] text-neutral-400 mt-1",children:"Pruebe con otra parte del nombre del CSV."})]})})]})]})]})]}),Pt&&g.jsx("section",{className:"bg-white border border-[#D0D0D0] shadow-sm",children:g.jsxs("div",{className:"border-t-4 border-[#6CC24A] p-5 sm:p-6",children:[g.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-start lg:justify-between gap-4 mb-5",children:[g.jsxs("div",{className:"flex items-start gap-3",children:[g.jsx("div",{className:"bg-[#6CC24A]/10 p-2 rounded-full",children:g.jsx(wb,{className:"w-5 h-5 text-[#4F758B]"})}),g.jsxs("div",{children:[g.jsx("h2",{className:"text-sm font-black text-[#4F758B] uppercase tracking-wider",children:"Bono 14 · Reporte independiente"}),g.jsx("p",{className:"text-[11px] text-neutral-500 mt-1 max-w-3xl leading-relaxed",children:"Esta sección aparece únicamente para Guatemala · Julio · Quincena 15. El Bono 14 se procesa separado de la nómina quincenal y genera su propio Google Sheet e histórico."})]})]}),g.jsxs("div",{className:"text-left lg:text-right",children:[g.jsx("p",{className:"text-[9px] font-black uppercase tracking-wider text-neutral-400",children:"Período del Bono 14"}),g.jsxs("p",{className:"text-[11px] font-bold text-[#4F758B] mt-1",children:[et.start," al ",et.end]})]})]}),g.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-5",children:[g.jsxs("div",{className:"border border-neutral-200 p-4 bg-neutral-50/50",children:[g.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[g.jsx(Da,{className:"w-4.5 h-4.5 text-[#4F758B]"}),g.jsx("h3",{className:"text-xs font-black uppercase tracking-wider text-neutral-700",children:"1. Excel de Bono 14"})]}),g.jsx("p",{className:"text-[10px] text-neutral-500 mb-3",children:"Archivo anual con los montos calculados de Bono 14."}),g.jsx("input",{type:"file",ref:Oe,onChange:Yc,accept:".xlsx,.xls",className:"hidden"}),X?g.jsxs("div",{className:"border border-neutral-200 bg-white px-3 py-3 flex items-center justify-between gap-3",children:[g.jsxs("div",{className:"min-w-0",children:[g.jsx("p",{className:"text-[11px] font-bold text-neutral-700 break-words",title:X.name,children:X.name}),g.jsxs("p",{className:"text-[9px] text-neutral-400 font-mono mt-1",children:[X.size," · Excel"]})]}),g.jsx("button",{type:"button",onClick:()=>{ee(null),Oe.current&&(Oe.current.value=""),xt(),n("Excel de Bono 14 removido.","info")},className:"w-8 h-8 flex items-center justify-center text-neutral-400 hover:text-red-600 hover:bg-red-50 border border-transparent hover:border-red-100 rounded transition-colors","aria-label":"Remover Excel de Bono 14",children:g.jsx(Aa,{className:"w-4 h-4"})})]}):g.jsxs("div",{onDragOver:wt,onDrop:ci,onClick:()=>{var R;return(R=Oe.current)==null?void 0:R.click()},className:"border-2 border-dashed border-[#D0D0D0] bg-white hover:bg-[#4F758B]/5 hover:border-[#4F758B]/40 transition-colors py-8 px-4 text-center cursor-pointer",children:[g.jsx(Gr,{className:"w-7 h-7 text-neutral-300 mx-auto mb-2"}),g.jsx("p",{className:"text-xs font-bold text-neutral-700",children:"Arrastre el Excel de Bono 14"}),g.jsx("p",{className:"text-[10px] text-neutral-400 mt-1",children:"Formato .xlsx, .xls"}),g.jsx("button",{type:"button",className:"mt-4 border border-[#D0D0D0] bg-white px-4 py-1.5 text-[10px] font-bold text-neutral-600 hover:border-[#4F758B] hover:text-[#4F758B] transition-colors shadow-sm uppercase tracking-wide",children:"Seleccionar Archivo"})]})]}),g.jsxs("div",{className:"border border-neutral-200 p-4 bg-neutral-50/50",children:[g.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[g.jsx(Jl,{className:"w-4.5 h-4.5 text-[#4F758B]"}),g.jsx("h3",{className:"text-xs font-black uppercase tracking-wider text-neutral-700",children:"2. CSV bancarios del Bono 14"})]}),g.jsx("p",{className:"text-[10px] text-neutral-500 mb-3",children:"Puede cargar todos los envíos bancarios correspondientes al Bono 14."}),g.jsx("input",{type:"file",ref:Ne,onChange:ui,accept:".csv",multiple:!0,className:"hidden"}),g.jsxs("div",{onDragOver:wt,onDrop:er,onClick:()=>{var R;return(R=Ne.current)==null?void 0:R.click()},className:"border-2 border-dashed border-[#D0D0D0] bg-white hover:bg-[#4F758B]/5 hover:border-[#4F758B]/40 transition-colors py-6 px-4 text-center cursor-pointer",children:[g.jsx(Gr,{className:"w-6 h-6 text-neutral-300 mx-auto mb-2"}),g.jsx("p",{className:"text-xs font-bold text-neutral-700",children:"Arrastre uno o varios CSV"}),g.jsx("p",{className:"text-[10px] text-neutral-400 mt-1",children:"Formato .csv"}),g.jsx("button",{type:"button",className:"mt-4 border border-[#D0D0D0] bg-white px-4 py-1.5 text-[10px] font-bold text-neutral-600 hover:border-[#4F758B] hover:text-[#4F758B] transition-colors shadow-sm uppercase tracking-wide",children:"Seleccionar Archivos"})]}),se.length>0&&g.jsxs("div",{className:"mt-3 border border-neutral-200 bg-white",children:[g.jsxs("div",{className:"p-3 border-b border-neutral-200 bg-neutral-50",children:[g.jsxs("div",{className:"relative",children:[g.jsx(Jr,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-neutral-400 pointer-events-none"}),g.jsx("input",{type:"search",value:ve,onChange:R=>Je(R.target.value),onClick:R=>R.stopPropagation(),placeholder:"Buscar CSV de Bono 14...",className:"w-full h-9 pl-9 pr-3 border border-[#D0D0D0] bg-white text-[11px] text-neutral-700 outline-none focus:border-[#4F758B]"})]}),g.jsxs("p",{className:"text-[9px] text-neutral-400 mt-2",children:[se.length," archivo(s) cargado(s)."]})]}),g.jsx("div",{className:"max-h-[250px] overflow-y-auto p-2 space-y-2",children:Gt.map(({file:R,originalIndex:te})=>g.jsxs("div",{className:"border border-neutral-200 px-3 py-2.5 flex items-start justify-between gap-3",children:[g.jsxs("div",{className:"min-w-0",children:[g.jsx("p",{className:"text-[10px] leading-4 font-bold text-neutral-700 break-words",children:R.name}),g.jsx("p",{className:"text-[9px] text-neutral-400 font-mono mt-0.5",children:R.size})]}),g.jsx("button",{type:"button",onClick:de=>{de.stopPropagation(),Xc(te)},className:"w-8 h-8 flex items-center justify-center flex-shrink-0 text-neutral-400 hover:text-red-600 hover:bg-red-50 rounded transition-colors","aria-label":`Remover ${R.name}`,children:g.jsx(Aa,{className:"w-4 h-4"})})]},`bonus14-${R.name}-${te}`))})]})]})]}),g.jsxs("div",{className:"mt-5 flex flex-col items-center gap-2",children:[g.jsxs("button",{type:"button",onClick:Ro,disabled:Y||!(X!=null&&X.rawFile)||se.length===0,className:"inline-flex items-center justify-center gap-2 bg-[#4F758B] hover:bg-[#3d6378] text-white px-7 py-3 text-xs font-black uppercase tracking-wider transition-colors disabled:opacity-45 disabled:cursor-not-allowed min-w-[280px]",children:[Y?g.jsx(qa,{className:"w-4 h-4 animate-spin"}):g.jsx(wb,{className:"w-4 h-4"}),"Generar reporte Bono 14"]}),g.jsxs("p",{className:"text-[9px] text-neutral-400 text-center",children:["Se guardará como un reporte separado: GT · ",ce," · Bono 14."]})]})]})}),g.jsx("section",{className:"flex flex-col items-center gap-3",children:g.jsx("button",{onClick:Co,disabled:Y,className:"w-full sm:w-auto min-w-[280px] bg-[#4F758B] hover:bg-[#41677b] disabled:bg-neutral-300 disabled:cursor-not-allowed text-white px-8 py-4 font-black text-sm uppercase tracking-wider shadow-md flex items-center justify-center gap-3 transition-all duration-150 active:scale-[0.99] border-l-4 border-[#6CC24A]",children:Y?g.jsxs(g.Fragment,{children:[g.jsx(qa,{className:"w-5 h-5 animate-spin"}),g.jsx("span",{children:F||"Procesando cruce de cuentas..."})]}):g.jsxs(g.Fragment,{children:[g.jsx(Xj,{className:"w-5 h-5"}),g.jsx("span",{children:"Ejecutar Cruce de Cuentas"})]})})}),g.jsx(ei,{children:d&&p&&g.jsxs(un.section,{id:"resultados-seccion",initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:10},className:"flex flex-col gap-5 scroll-mt-28",children:[g.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-6 gap-4",children:[g.jsxs("div",{className:"bg-white border border-emerald-200 p-4 shadow-sm",children:[g.jsxs("div",{className:"flex items-center gap-2 text-emerald-700",children:[g.jsx(Ac,{className:"w-5 h-5"}),g.jsx("span",{className:"text-[10px] uppercase tracking-wider font-black",children:"Coincidencias"})]}),g.jsx("p",{className:"text-3xl font-black text-emerald-800 mt-2",children:p.summary.matches})]}),g.jsxs("div",{className:"bg-white border border-red-200 p-4 shadow-sm",children:[g.jsxs("div",{className:"flex items-center gap-2 text-[#ba1a1a]",children:[g.jsx(fo,{className:"w-5 h-5"}),g.jsx("span",{className:"text-[10px] uppercase tracking-wider font-black",children:"Discrepancias"})]}),g.jsx("p",{className:"text-3xl font-black text-[#ba1a1a] mt-2",children:p.summary.discrepancies})]}),g.jsxs("div",{className:"bg-white border border-amber-200 p-4 shadow-sm",children:[g.jsxs("div",{className:"flex items-center gap-2 text-amber-800",children:[g.jsx(xb,{className:"w-5 h-5"}),g.jsx("span",{className:"text-[10px] uppercase tracking-wider font-black",children:Ht?"Banco sin Bono 14":"Banco sin nómina"})]}),g.jsx("p",{className:"text-3xl font-black text-amber-800 mt-2",children:p.summary.bankWithoutPayroll})]}),g.jsxs("div",{className:"bg-white border border-orange-200 p-4 shadow-sm",children:[g.jsxs("div",{className:"flex items-center gap-2 text-orange-800",children:[g.jsx(xb,{className:"w-5 h-5"}),g.jsx("span",{className:"text-[10px] uppercase tracking-wider font-black",children:"Banco sin Bamboo"})]}),g.jsx("p",{className:"text-3xl font-black text-orange-800 mt-2",children:p.summary.bankWithoutBamboo})]}),g.jsxs("div",{className:"bg-white border border-violet-200 p-4 shadow-sm",children:[g.jsxs("div",{className:"flex items-center gap-2 text-violet-800",children:[g.jsx(Jl,{className:"w-5 h-5"}),g.jsx("span",{className:"text-[10px] uppercase tracking-wider font-black",children:"Diferencias nombre banco"})]}),g.jsx("p",{className:"text-3xl font-black text-violet-800 mt-2",children:p.summary.nameDifferences})]}),g.jsxs("div",{className:"bg-white border border-blue-200 p-4 shadow-sm",children:[g.jsxs("div",{className:"flex items-center gap-2 text-blue-800",children:[g.jsx(Da,{className:"w-5 h-5"}),g.jsx("span",{className:"text-[10px] uppercase tracking-wider font-black",children:Ht?"Bono 14 sin cuenta":"Nómina sin cuenta"})]}),g.jsx("p",{className:"text-3xl font-black text-blue-800 mt-2",children:p.summary.payrollWithoutAccount})]})]}),g.jsxs("div",{className:"bg-white border border-[#D0D0D0] shadow-sm overflow-hidden",children:[g.jsxs("div",{className:"p-5 border-b border-neutral-200 flex flex-col lg:flex-row lg:items-center lg:justify-between gap-4",children:[g.jsxs("div",{children:[g.jsx("h2",{className:"text-lg font-black text-[#4F758B] uppercase tracking-tight",children:Ht?"Resultados del Bono 14":"Resultados del Cruce"}),g.jsx("p",{className:"text-[11px] text-neutral-500 mt-1",children:Hn})]}),g.jsx("div",{className:"flex flex-col sm:flex-row gap-2",children:g.jsxs("button",{onClick:Oo,disabled:!p.reportUrl,className:"inline-flex items-center justify-center gap-2 border border-[#4F758B] text-[#4F758B] hover:bg-[#4F758B] hover:text-white px-4 py-2 text-xs font-bold transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:[g.jsx(kj,{className:"w-4 h-4"}),"Abrir Google Sheet"]})})]}),g.jsxs("div",{className:"p-4 border-b border-neutral-200 bg-neutral-50 flex flex-col lg:flex-row gap-3 lg:items-center lg:justify-between",children:[g.jsxs("div",{className:"relative w-full lg:max-w-sm",children:[g.jsx(Jr,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-neutral-400"}),g.jsx("input",{type:"text",value:pe,onChange:R=>{ae(R.target.value),W(1)},placeholder:"Buscar empleado, Employee Number o cuenta...",className:"w-full pl-9 pr-3 py-2 border border-[#D0D0D0] text-xs font-medium focus:outline-none focus:border-[#4F758B]"})]}),g.jsx("div",{className:"flex flex-wrap gap-2",children:[["todos","Todos"],["discrepancias","Discrepancias"],["coincidencias","Coincidencias"],["banco_sin_nomina",Ht?"Banco sin Bono 14":"Banco sin nómina"],["banco_sin_bamboo","Banco sin Bamboo"],["diferencia_nombre_banco","Diferencias nombre banco"],["nomina_sin_cuenta",Ht?"Bono 14 sin cuenta":"Nómina sin cuenta"]].map(([R,te])=>g.jsx("button",{onClick:()=>{Q(R),W(1)},className:`px-3 py-1.5 text-[10px] uppercase tracking-wider font-black border transition-colors ${ne===R?"bg-[#4F758B] text-white border-[#4F758B]":"bg-white text-neutral-500 border-neutral-300 hover:border-[#4F758B] hover:text-[#4F758B]"}`,children:te},R))})]}),g.jsx("div",{className:"overflow-x-auto",children:g.jsxs("table",{className:"w-full text-left border-collapse min-w-[960px] xl:min-w-full",children:[g.jsx("thead",{children:g.jsxs("tr",{className:"bg-[#4F758B] text-white text-xs font-bold uppercase tracking-wider",children:[g.jsx("th",{className:"py-3 px-3 xl:px-4",children:"Empleado"}),g.jsx("th",{className:"py-3 px-3 xl:px-4",children:"Employee Number"}),g.jsx("th",{className:"py-3 px-3 xl:px-4",children:"Cuenta"}),g.jsx("th",{className:"py-3 px-3 xl:px-4 text-right",children:Ht?"Monto Bono 14":"Monto Nómina"}),g.jsx("th",{className:"py-3 px-3 xl:px-4 text-right",children:"Monto Banco"}),g.jsx("th",{className:"py-3 px-3 xl:px-4 text-right",children:"Diferencia"}),g.jsx("th",{className:"py-3 px-3 xl:px-4 text-center",children:"Estado"}),g.jsx("th",{className:"py-3 px-3 xl:px-4",children:"Categoría"}),g.jsx("th",{className:"py-3 px-3 xl:px-4",children:"Observación"}),g.jsx("th",{className:"py-3 px-3 xl:px-4 text-center",children:"Acciones"})]})}),g.jsx("tbody",{className:"divide-y divide-neutral-200 text-xs",children:Ns.length>0?Ns.map(R=>g.jsxs("tr",{className:"hover:bg-neutral-50 transition-colors",children:[g.jsx("td",{className:"py-3 px-3 xl:px-4 font-bold text-neutral-800",children:R.employee}),g.jsx("td",{className:"py-3 px-3 xl:px-4 font-mono text-neutral-600",children:R.employeeNumber||"—"}),g.jsx("td",{className:"py-3 px-3 xl:px-4 font-mono text-neutral-500",children:R.account??"—"}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-right font-mono text-neutral-700",children:Bd(R.amountPayroll,T,R.currency)}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-right font-mono text-neutral-700",children:Bd(R.amountBank,T,R.currency)}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-right font-mono text-neutral-700",children:Bd(R.difference,T,R.currency)}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-center",children:g.jsx("span",{className:`inline-block px-2.5 py-1 text-[9px] font-black uppercase tracking-wider border ${RR(R.status)}`,children:R.status})}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-neutral-600 max-w-[180px] capitalize",children:MR(R.category??R.source,(p==null?void 0:p.reportKind)??"nomina")}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-neutral-600 max-w-[300px]",children:R.observation}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-center",children:La(R,"banco_sin_bamboo")?As.has(R.id)?g.jsx("span",{className:"inline-flex items-center px-2.5 py-1 border border-emerald-200 bg-emerald-50 text-emerald-800 text-[9px] font-black uppercase tracking-wider",children:"Reportado a RRHH"}):g.jsx("button",{type:"button",onClick:()=>fn(R),className:"inline-flex items-center justify-center px-3 py-2 border border-[#4F758B] text-[#4F758B] hover:bg-[#4F758B] hover:text-white text-[9px] font-black uppercase tracking-wider transition-colors whitespace-nowrap",children:"Reportar a RRHH"}):g.jsx("span",{className:"text-neutral-300",children:"—"})})]},R.id)):g.jsx("tr",{children:g.jsx("td",{colSpan:10,className:"py-12 text-center text-neutral-400 font-medium",children:"No hay resultados para el filtro seleccionado."})})})]})}),g.jsxs("div",{className:"p-4 border-t border-neutral-200 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 text-xs text-neutral-500",children:[g.jsxs("span",{children:["Mostrando ",Ns.length," de ",tn.length," resultado(s)."]}),g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx("button",{onClick:()=>W(R=>Math.max(1,R-1)),disabled:K===1,className:"px-3 py-1.5 border border-neutral-300 bg-white disabled:opacity-40 disabled:cursor-not-allowed hover:border-[#4F758B] font-bold",children:"Anterior"}),g.jsxs("span",{className:"font-bold text-neutral-700",children:["Página ",K," de ",Ut]}),g.jsx("button",{onClick:()=>W(R=>Math.min(Ut,R+1)),disabled:K===Ut,className:"px-3 py-1.5 border border-neutral-300 bg-white disabled:opacity-40 disabled:cursor-not-allowed hover:border-[#4F758B] font-bold",children:"Siguiente"})]})]})]})]})})]}),Ye&&p&&g.jsx(Lw,{row:Ye,country:T,periodRange:Ht?et:vt,operatorName:x,operatorEmail:_,executionId:p.executionId,reportUrl:p.reportUrl,onClose:()=>fn(null),onSuccess:R=>ts(te=>{const de=new Set(te);return de.add(R),de}),onShowToast:n})]})}const rc=10;function qR(n){return n==="TT"?"https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-tt-historicos":n==="PA"?"https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-pa-historicos":n==="SV"?"https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-sv-historicos":n==="HN"?"https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-hn-historicos":"https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-gt-historicos"}function FR(n){return n==="TT"?"https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-tt-marcar-resuelto":n==="PA"?"https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-pa-marcar-resuelto":n==="SV"?"https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-sv-marcar-resuelto":n==="HN"?"https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-hn-marcar-resuelto":"https://agenteit.digitalcompass.agency/webhook/cruce-cuentas-gt-marcar-resuelto"}function Ln(n){const e=Number(n);return Number.isFinite(e)?e:0}function IR(n,e){if(!n)return"";const i=new Date(String(n));return Number.isNaN(i.getTime())?String(n).slice(0,10):i.toLocaleDateString(e,{year:"numeric",month:"2-digit",day:"2-digit"})}function xf(n,e){if(!n)return"";const i=new Date(String(n));return Number.isNaN(i.getTime())?String(n):i.toLocaleString(e,{dateStyle:"short",timeStyle:"short"})}function GR(n){return String(n??"").toLowerCase().includes("resuelto")?"Resuelto":"Pendiente revisión"}function yv(n,e){const i=n,a=!Array.isArray(i)&&i?i:{};return(Array.isArray(i)?i:Array.isArray(a.reports)?a.reports:[]).map((c,u)=>{const d=c,m=Ln(d.discrepancias??d.discrepancies),p=Ln(d.bancoSinNomina??d.banco_sin_nomina??d.bankWithoutPayroll),y=Ln(d.bancoSinBamboo??d.banco_sin_bamboo??d.bankWithoutBamboo),v=Ln(d.nominaSinCuenta??d.nomina_sin_cuenta??d.payrollWithoutAccount),x=Ln(d.diferenciasNombreBanco??d.diferencias_nombre_banco??d.nameDifferences),_=m+p+y+v+x,S=String(d.country??d.pais??d.country_code??e.code).toUpperCase(),T=Array.isArray(d.archivosBanco)?d.archivosBanco.map(String):Array.isArray(d.bank_file_names)?d.bank_file_names.map(String):[],k=d.updated_at??d.fechaEjecucion??d.ejecutado_en??d.created_at;return{id:String(d.id??`reporte-${u+1}`),country:S==="TT"?"TT":S==="PA"?"PA":S==="SV"?"SV":S==="HN"?"HN":"GT",date:IR(d.fecha??d.period_end??k,e.locale),executionDate:xf(k,e.locale),period:String(d.periodo??d.period_label??d.period??"Período no especificado"),periodStart:d.period_start?String(d.period_start):void 0,periodEnd:d.period_end?String(d.period_end):void 0,payrollFile:String(d.archivoNomina??d.payroll_file_name??d.payrollFile??""),bankFiles:T,matches:Ln(d.coincidencias??d.matches),discrepancies:m,bankWithoutPayroll:p,bankWithoutBamboo:y,payrollWithoutAccount:v,nameDifferences:x,totalPending:_,totalPayroll:Ln(d.totalNomina??d.total_nomina),totalBank:Ln(d.totalBanco??d.total_banco),totalDifference:Ln(d.diferenciaTotal??d.diferencia_total),status:GR(d.estado??d.status??d.estadoLabel),reportUrl:d.reportUrl||d.report_url?String(d.reportUrl??d.report_url):void 0,spreadsheetId:d.spreadsheetId||d.spreadsheet_id?String(d.spreadsheetId??d.spreadsheet_id):void 0,executedBy:d.ejecutadoPorNombre||d.ejecutado_por_nombre?String(d.ejecutadoPorNombre??d.ejecutado_por_nombre):void 0,executedByEmail:d.ejecutadoPorEmail||d.ejecutado_por_email?String(d.ejecutadoPorEmail??d.ejecutado_por_email):void 0,resolvedBy:d.resueltoPorNombre||d.resuelto_por_nombre?String(d.resueltoPorNombre??d.resuelto_por_nombre):void 0,resolvedByEmail:d.resueltoPorEmail||d.resuelto_por_email?String(d.resueltoPorEmail??d.resuelto_por_email):void 0,resolvedAt:xf(d.resueltoEn??d.resuelto_en,e.locale),resolutionComment:d.comentarioResolucion||d.comentario_resolucion?String(d.comentarioResolucion??d.comentario_resolucion):void 0,_sortTime:new Date(String(k??d.period_end??"")).getTime()||0}}).filter(c=>c.country===e.code).sort((c,u)=>u._sortTime-c._sortTime).map(({_sortTime:c,...u})=>u)}function wf(n){return String(n??"").toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9 ]/g," ").replace(/\s+/g," ").trim()}function _f(n){return String(n??"").replace(/\.0$/g,"").replace(/\D/g,"").trim()}function bv(n,e){for(const i of e){const a=n[i];if(typeof a=="number"&&Number.isFinite(a))return a;if(typeof a=="string"&&a.trim()){const l=Number(a.replace(/[A-Za-z$Q,\s]/g,"").trim());if(Number.isFinite(l))return l}}return null}function KR(n){return Array.isArray(n)?n.map((e,i)=>{const a=e??{},l=String(a.employee??a.employee_name??a.bank_name_file??a.bank_account_holder??"Sin nombre"),c=bv(a,["bankAmount","bank_amount","amount","monto_banco"]),u=a.best_bamboo_candidate&&typeof a.best_bamboo_candidate=="object"?a.best_bamboo_candidate:null;return{id:String(a.id??`historical-bamboo-${wf(l)}-${_f(a.account??a.bank_account)}-${i+1}`),employee:l,employeeNumber:"",account:String(a.account??a.bank_account??a.bankAccount??""),amountPayroll:0,amountBank:c,difference:c===null?null:0-c,status:"Pendiente revisión",category:"banco_sin_bamboo",source:"banco_sin_bamboo",observation:String(a.observation??a.observacion??"Pago bancario sin empleado identificado de forma confiable en BambooHR."),bankNameFile:String(a.bank_name_file??a.bankNameFile??""),bankAccountHolder:String(a.bank_account_holder??a.bankAccountHolder??""),bestBambooCandidate:u?{employeeNumber:String(u.employee_number??u.employeeNumber??""),employeeName:String(u.employee_name??u.employeeName??""),score:bv(u,["score"])}:null,ambiguousBambooMatch:!!a.ambiguous_bamboo_match}}):[]}function YR(n){return Array.isArray(n)?n.map(e=>{const i=e??{};return{id:String(i.id??""),sourceName:String(i.nombre_origen_principal??i.source_name??""),sourceNames:Array.isArray(i.nombres_origen)?i.nombres_origen.map(String):[],bankAccount:String(i.cuenta_bancaria??i.bank_account??""),status:String(i.estado??""),emailSent:i.correo_enviado===!0}}):[]}function XR(n,e){const i=n.status.toLowerCase();if(!(n.emailSent||i==="notificado_rrhh"||i==="corregido_bamboo"))return!1;const l=_f(n.bankAccount),c=_f(e.account);if(l&&c&&l!==c)return!1;const u=new Set([n.sourceName,...n.sourceNames].map(wf).filter(Boolean));return[e.employee,e.bankNameFile,e.bankAccountHolder].map(wf).filter(Boolean).some(m=>u.has(m))}function JR(n){return n==="Resuelto"?"bg-blue-50 text-blue-800 border-blue-200":"bg-amber-50 text-amber-800 border-amber-200"}function QR(n){return n==="Resuelto"?"RESUELTO":"PENDIENTE REVISIÓN"}function ZR({onShowToast:n,onOpenSidebar:e,operatorName:i,operatorEmail:a,country:l}){const[c,u]=D.useState(""),[d,m]=D.useState("todos"),[p,y]=D.useState([]),[v,x]=D.useState(1),[_,S]=D.useState(!1),[T,k]=D.useState(!1),[C,M]=D.useState(""),[N,z]=D.useState(null),[Y,Z]=D.useState(""),[F,G]=D.useState(null),[ne,Q]=D.useState([]),[ce,me]=D.useState(new Set),[_e,Re]=D.useState(!1),[Se,V]=D.useState(""),[K,W]=D.useState(null),[pe,ae]=D.useState(0),[E,P]=D.useState(0),X=D.useRef(0),ee=D.useRef(null),se=Math.max(1,Math.ceil(E/rc)),ue=p;D.useEffect(()=>{x(1)},[c,d,l.code]),D.useEffect(()=>{v>se&&x(se)},[v,se]);const ve=async()=>{var Ne;const J=++X.current;(Ne=ee.current)==null||Ne.abort();const je=new AbortController;ee.current=je;const Oe=()=>X.current===J&&!je.signal.aborted;S(!0),M("");try{if(lt){const Gt=d==="pendiente"?"pendiente_revision":d==="resuelto"?"resuelto":null,{data:tn,error:mn}=await lt.rpc("cruce_cuentas_get_historicos",{p_country:l.code,p_page:v,p_page_size:rc,p_search:c.trim()||null,p_status:Gt});if(!Oe())return;if(!mn&&tn){const Ut=Array.isArray(tn)?tn[0]:tn,Ns=yv(Ut,l),zi=Ln(Ut==null?void 0:Ut.total),xt=Ln((Ut==null?void 0:Ut.filtered_total)??zi);y(Ns),ae(zi),P(xt);return}}if(!Oe())return;const ct=qR(l.code);if(!ct)throw new Error(`No está configurado el origen histórico de ${l.name}.`);const vt=new URL(ct);vt.searchParams.set("country",l.code);const Pt=await fetch(vt.toString(),{method:"GET",signal:je.signal}),et=await Pt.json().catch(()=>null);if(!Oe())return;if(!Pt.ok||(et==null?void 0:et.ok)===!1)throw new Error("No se pudieron cargar los reportes históricos.");const Ht=yv(et,l),Hn=c.trim().toLowerCase(),At=Ht.filter(Gt=>{const tn=d==="todos"||d==="pendiente"&&Gt.status==="Pendiente revisión"||d==="resuelto"&&Gt.status==="Resuelto",mn=!Hn||Gt.period.toLowerCase().includes(Hn)||Gt.payrollFile.toLowerCase().includes(Hn)||Gt.id.toLowerCase().includes(Hn)||(Gt.resolvedBy??"").toLowerCase().includes(Hn)||(Gt.executedBy??"").toLowerCase().includes(Hn);return tn&&mn});if(!Oe())return;const js=(v-1)*rc;y(At.slice(js,js+rc)),ae(Ht.length),P(At.length)}catch(ct){if(!Oe()||ct instanceof DOMException&&ct.name==="AbortError")return;y([]),ae(0),P(0),M(ct instanceof Error?ct.message:"No se pudieron cargar los reportes históricos. Intenta nuevamente."),n("No se pudieron cargar los reportes históricos.","error")}finally{Oe()&&(S(!1),ee.current===je&&(ee.current=null))}};D.useEffect(()=>{const J=window.setTimeout(()=>{ve()},c.trim()?300:0);return()=>{var je;window.clearTimeout(J),X.current+=1,(je=ee.current)==null||je.abort(),ee.current=null}},[l.code,v,c,d]);const Je=()=>{W(null),G(null),Q([]),me(new Set),V("")},Ye=async J=>{if(J.bankWithoutBamboo<=0){n("Este reporte no tiene casos de Banco sin Bamboo.","info");return}if(!lt){n("Supabase no está configurado en esta aplicación.","error");return}G(J),W(null),Q([]),me(new Set),V(""),Re(!0);try{const{data:je,error:Oe}=await lt.rpc("cruce_cuentas_get_banco_sin_bamboo_reporte",{p_report_id:J.id,p_country:l.code});if(Oe)throw Oe;const Ne=Array.isArray(je)?je[0]:je;if(!Ne||Ne.ok===!1)throw new Error(String((Ne==null?void 0:Ne.message)||"No se pudieron recuperar los casos de Banco sin Bamboo."));const ct=KR(Ne.cases),vt=YR(Ne.corrections),Pt=new Set(ct.filter(et=>vt.some(Ht=>XR(Ht,et))).map(et=>et.id));Q(ct),me(Pt),ct.length===0&&V("Este reporte fue creado antes de que se guardara el detalle de Banco sin Bamboo. Los reportes nuevos conservarán los casos para revisarlos desde Históricos.")}catch(je){const Oe=je instanceof Error?je.message:"No se pudieron recuperar los casos de Banco sin Bamboo.";V(Oe),n(Oe,"error")}finally{Re(!1)}},fn={label:(F==null?void 0:F.period)||"Período no especificado",start:(F==null?void 0:F.periodStart)||"",end:(F==null?void 0:F.periodEnd)||""},As=J=>{if(J.reportUrl){window.open(J.reportUrl,"_blank","noopener,noreferrer");return}n("Este reporte aún no tiene un Google Sheet disponible.","info")},ts=J=>{if(J.status==="Resuelto"){n("Este reporte ya fue marcado como resuelto.","info");return}z(J),Z("")},oi=async()=>{if(!N)return;const J=Y.trim();if(J.length<10){n("Debes escribir un comentario de resolución más descriptivo.","error");return}const je=FR(l.code);if(!je){n(`La resolución de reportes para ${l.name} estará disponible próximamente.`,"info");return}k(!0);try{const Oe=await fetch(je,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({reportId:N.id,comentarioResolucion:J,resueltoPorNombre:i,resueltoPorEmail:a,country:l.code,countryName:l.name})}),Ne=await Oe.json().catch(()=>null);if(!Oe.ok||(Ne==null?void 0:Ne.ok)===!1){const Pt=Array.isArray(Ne==null?void 0:Ne.errors)?Ne.errors.join(` +`):(Ne==null?void 0:Ne.message)||"No se pudo marcar el reporte como resuelto.";throw new Error(Pt)}const ct=Ne.report??{},vt=xf(ct.resueltoEn??new Date().toISOString(),l.locale);y(Pt=>Pt.map(et=>et.id===N.id?{...et,status:"Resuelto",resolvedBy:String(ct.resueltoPorNombre??i),resolvedByEmail:String(ct.resueltoPorEmail??a),resolvedAt:vt,resolutionComment:String(ct.comentarioResolucion??J)}:et)),z(null),Z(""),n("Reporte marcado como resuelto correctamente.","success")}catch(Oe){const Ne=Oe instanceof Error?Oe.message:"No se pudo marcar el reporte como resuelto.";n(Ne,"error")}finally{k(!1)}};return g.jsxs("div",{className:"flex-1 flex flex-col min-h-screen bg-neutral-50 text-neutral-800 font-sans",children:[g.jsxs("header",{className:"bg-white border-b-4 border-[#6CC24A] flex justify-between items-center w-full px-4 sm:px-8 h-[84px] sticky top-0 z-40 shadow-sm gap-x-4",children:[g.jsxs("div",{className:"flex items-center gap-2 sm:gap-3 min-w-0",children:[g.jsx("button",{onClick:e,className:"md:hidden p-2 -ml-2 text-neutral-600 hover:text-neutral-800 hover:bg-neutral-100 transition-colors flex-shrink-0","aria-label":"Abrir menú",children:g.jsx(hw,{className:"w-6 h-6"})}),g.jsx("h1",{className:"text-xs sm:text-sm md:text-lg lg:text-2xl font-black text-[#4F758B] tracking-tight uppercase flex items-center gap-1.5 sm:gap-2 min-w-0",children:g.jsxs("span",{className:"truncate",children:["Reportes Históricos - ",l.name]})})]}),g.jsxs("div",{className:"flex items-center gap-2 sm:gap-3 flex-shrink-0",children:[g.jsx(zw,{country:l,operatorName:i,operatorEmail:a,section:"Reportes Históricos",onShowToast:n}),g.jsx("div",{className:"hidden sm:flex items-center border border-neutral-200 bg-white px-2.5 py-2 shadow-sm","aria-label":`Bandera de ${l.name}`,children:g.jsx("img",{src:l.flag,alt:`Bandera de ${l.name}`,className:"h-5 sm:h-6 w-auto object-contain"})}),g.jsxs("button",{onClick:ve,disabled:_,className:"hidden sm:inline-flex items-center gap-2 border border-[#4F758B]/20 text-[#4F758B] px-3 py-2 text-xs font-bold hover:border-[#4F758B]/50 disabled:opacity-50",children:[g.jsx(Wj,{className:`w-4 h-4 ${_?"animate-spin":""}`}),"Actualizar"]})]})]}),g.jsxs("main",{className:"flex-1 max-w-7xl w-full mx-auto px-4 sm:px-6 py-8 flex flex-col gap-6",children:[g.jsxs("div",{className:"bg-white border border-[#D0D0D0] p-4 flex flex-col lg:flex-row items-center justify-between gap-4 shadow-sm",children:[g.jsxs("div",{className:"relative w-full lg:max-w-md",children:[g.jsx(Jr,{className:"absolute left-3.5 top-1/2 transform -translate-y-1/2 text-neutral-400 w-4 h-4"}),g.jsx("input",{type:"text",placeholder:"Buscar por período, reporte, archivo o resolutor...",value:c,onChange:J=>u(J.target.value),className:"w-full pl-10 pr-4 py-2 border border-[#D0D0D0] text-xs font-medium placeholder-neutral-400 focus:outline-none focus:border-[#4F758B] transition-colors"})]}),g.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center gap-3 w-full lg:w-auto",children:[g.jsx("div",{className:"flex flex-wrap gap-2",children:[["todos","Todos"],["pendiente","Pendiente revisión"],["resuelto","Resuelto"]].map(([J,je])=>g.jsx("button",{onClick:()=>m(J),className:`px-3 py-1.5 text-[10px] uppercase tracking-wider font-black border transition-colors ${d===J?"bg-[#4F758B] text-white border-[#4F758B]":"bg-white text-neutral-500 border-neutral-300 hover:border-[#4F758B] hover:text-[#4F758B]"}`,children:je},J))}),g.jsxs("div",{className:"flex items-center gap-2 text-xs font-bold text-neutral-500",children:[g.jsx(Bj,{className:"w-4 h-4 text-neutral-400"}),g.jsxs("span",{children:["Mostrando: ",E," de ",pe," reportes"]})]})]})]}),C&&g.jsxs("div",{className:"border border-red-200 bg-red-50 text-[#ba1a1a] px-4 py-3 text-xs font-bold flex items-center gap-2",children:[g.jsx(fo,{className:"w-4 h-4"}),C]}),g.jsxs("div",{className:"bg-white border border-[#D0D0D0] shadow-sm overflow-hidden",children:[g.jsx("div",{className:"overflow-x-auto",children:g.jsxs("table",{className:"w-full text-left border-collapse min-w-[960px] xl:min-w-full",children:[g.jsx("thead",{children:g.jsxs("tr",{className:"bg-[#4F758B] text-white text-xs font-bold uppercase tracking-wider",children:[g.jsx("th",{className:"py-3 px-3 xl:px-4",children:"Fecha"}),g.jsx("th",{className:"py-3 px-3 xl:px-4",children:"Período"}),g.jsx("th",{className:"py-3 px-3 xl:px-4",children:"Archivo de Nómina / Bono 14"}),g.jsx("th",{className:"py-3 px-3 xl:px-4 text-center",children:"Coincidencias"}),g.jsx("th",{className:"py-3 px-3 xl:px-4 text-center",children:"Banco sin Bamboo"}),g.jsx("th",{className:"py-3 px-3 xl:px-4 text-center",children:"Pendientes"}),g.jsx("th",{className:"py-3 px-3 xl:px-4 text-center",children:"Estado"}),g.jsx("th",{className:"py-3 px-3 xl:px-4",children:"Resuelto por"}),g.jsx("th",{className:"py-3 px-3 xl:px-4 text-center",children:"Acciones"})]})}),g.jsx("tbody",{className:"divide-y divide-neutral-200 text-xs",children:_?g.jsx("tr",{children:g.jsx("td",{colSpan:9,className:"py-12 text-center text-neutral-400 font-medium",children:g.jsxs("div",{className:"inline-flex items-center gap-2",children:[g.jsx(qa,{className:"w-4 h-4 animate-spin"}),"Cargando reportes históricos..."]})})}):ue.length>0?ue.map(J=>g.jsxs(un.tr,{initial:{opacity:0},animate:{opacity:1},className:"hover:bg-neutral-50/70 transition-colors",children:[g.jsx("td",{className:"py-3 px-3 xl:px-4 font-medium text-neutral-700",children:g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(vj,{className:"w-4 h-4 text-neutral-400"}),g.jsxs("div",{children:[g.jsx("span",{children:J.date}),J.executionDate&&g.jsx("p",{className:"text-[9px] text-neutral-400 mt-0.5",children:J.executionDate})]})]})}),g.jsx("td",{className:"py-3 px-3 xl:px-4 font-bold text-[#4F758B]",children:J.period}),g.jsx("td",{className:"py-3 px-3 xl:px-4 font-mono text-neutral-500 truncate max-w-[260px]",title:J.payrollFile,children:g.jsxs("div",{className:"flex items-center gap-1.5",children:[g.jsx(Da,{className:"w-4 h-4 text-neutral-400 flex-shrink-0"}),g.jsx("span",{className:"truncate",children:J.payrollFile||"No especificado"})]})}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-center font-black text-emerald-800",children:J.matches}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-center",children:J.bankWithoutBamboo>0?g.jsxs("button",{type:"button",onClick:()=>void Ye(J),className:"inline-flex items-center gap-1.5 min-w-8 px-2.5 py-1 text-[10px] font-black border bg-orange-50 text-orange-800 border-orange-200 hover:bg-orange-100 hover:border-orange-300 transition-colors",title:"Revisar casos y reportar correcciones a RRHH",children:[g.jsx("span",{children:J.bankWithoutBamboo}),g.jsx("span",{className:"hidden 2xl:inline",children:"Revisar"})]}):g.jsx("span",{className:"inline-block min-w-8 px-2.5 py-1 text-[10px] font-black border bg-neutral-50 text-neutral-400 border-neutral-200",children:"0"})}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-center",children:g.jsx("span",{className:`inline-block px-2.5 py-1 text-[10px] font-bold border ${J.totalPending>0?"bg-red-50 text-[#ba1a1a] border-red-200":"bg-emerald-50 text-emerald-800 border-emerald-200"}`,children:J.totalPending===0?"Sin pendientes":`${J.totalPending} pendiente${J.totalPending>1?"s":""}`})}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-center",children:g.jsx("span",{className:`inline-block px-2.5 py-1 text-[9px] uppercase font-black tracking-wider border ${JR(J.status)}`,children:QR(J.status)})}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-neutral-600 max-w-[220px]",children:J.resolvedBy?g.jsxs("div",{title:J.resolutionComment||"",children:[g.jsx("p",{className:"font-bold text-neutral-700 truncate",children:J.resolvedBy}),g.jsx("p",{className:"text-[10px] text-neutral-400",children:J.resolvedAt})]}):g.jsx("span",{className:"text-neutral-400",children:"Pendiente"})}),g.jsx("td",{className:"py-3 px-3 xl:px-4 text-center",children:g.jsxs("div",{className:"flex justify-center gap-2",children:[g.jsxs("button",{onClick:()=>As(J),className:"inline-flex items-center gap-1.5 text-[#4F758B] hover:text-[#3d6378] font-bold text-xs border border-[#4F758B]/20 hover:border-[#4F758B]/50 px-3 py-1.5 bg-white hover:bg-neutral-50 transition-colors",children:[g.jsx(Rj,{className:"w-3.5 h-3.5"}),g.jsx("span",{children:"Ver"})]}),g.jsxs("button",{onClick:()=>ts(J),disabled:J.status==="Resuelto",className:"inline-flex items-center gap-1.5 text-emerald-700 hover:text-emerald-800 font-bold text-xs border border-emerald-200 hover:border-emerald-400 px-3 py-1.5 bg-emerald-50 hover:bg-emerald-100 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:[g.jsx(Ac,{className:"w-3.5 h-3.5"}),g.jsx("span",{children:J.status==="Resuelto"?"Resuelto":"Marcar resuelto"})]})]})})]},J.id)):g.jsx("tr",{children:g.jsx("td",{colSpan:9,className:"py-12 text-center text-neutral-400 font-medium",children:"No se encontraron reportes históricos."})})})]})}),g.jsxs("div",{className:"p-4 border-t border-neutral-200 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 text-xs text-neutral-500",children:[g.jsxs("span",{children:["Mostrando ",ue.length," de ",E," reporte(s)."]}),g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx("button",{onClick:()=>x(J=>Math.max(1,J-1)),disabled:v===1,className:"px-3 py-1.5 border border-neutral-300 bg-white disabled:opacity-40 disabled:cursor-not-allowed hover:border-[#4F758B] font-bold",children:"Anterior"}),g.jsxs("span",{className:"font-bold text-neutral-700",children:["Página ",v," de ",se]}),g.jsx("button",{onClick:()=>x(J=>Math.min(se,J+1)),disabled:v===se,className:"px-3 py-1.5 border border-neutral-300 bg-white disabled:opacity-40 disabled:cursor-not-allowed hover:border-[#4F758B] font-bold",children:"Siguiente"})]})]})]})]}),g.jsx(ei,{children:F&&g.jsx(un.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"fixed inset-0 z-[80] flex items-center justify-center bg-black/45 px-4 py-6",children:g.jsxs(un.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:12},className:"w-full max-w-5xl bg-white border border-[#D0D0D0] shadow-2xl max-h-[92vh] flex flex-col",children:[g.jsx("div",{className:"h-1.5 bg-[#6CC24A] flex-shrink-0"}),g.jsxs("div",{className:"border-b border-neutral-200 px-5 sm:px-6 py-4 flex items-start justify-between gap-4 flex-shrink-0",children:[g.jsxs("div",{children:[g.jsx("p",{className:"text-[10px] uppercase tracking-[0.18em] font-black text-[#6B8FA3]",children:"Histórico · Banco sin BambooHR"}),g.jsx("h2",{className:"text-lg sm:text-xl font-black text-[#4F758B] mt-1",children:F.period}),g.jsxs("p",{className:"text-xs text-neutral-500 mt-1",children:[l.name," · ",F.bankWithoutBamboo," caso",F.bankWithoutBamboo===1?"":"s"," guardado",F.bankWithoutBamboo===1?"":"s"," en este reporte"]})]}),g.jsx("button",{type:"button",onClick:Je,className:"p-2 text-neutral-400 hover:text-neutral-700 hover:bg-neutral-100","aria-label":"Cerrar revisión de Banco sin Bamboo",children:g.jsx(Ya,{className:"w-5 h-5"})})]}),g.jsxs("div",{className:"px-5 sm:px-6 py-4 overflow-y-auto",children:[g.jsxs("div",{className:"border border-[#D6E8F4] bg-[#F7FBFD] px-4 py-3 text-xs text-neutral-600 leading-relaxed mb-4",children:["Aquí puedes volver días después al reporte y enviar a RRHH únicamente los falsos positivos que ya verificaste manualmente. Los casos previamente enviados se muestran como ",g.jsx("strong",{children:"Reportado a RRHH"}),"."]}),_e?g.jsxs("div",{className:"py-14 text-center text-neutral-500 text-sm",children:[g.jsx(qa,{className:"w-5 h-5 animate-spin mx-auto mb-2 text-[#4F758B]"}),"Recuperando casos del reporte..."]}):Se?g.jsxs("div",{className:"border border-amber-200 bg-amber-50 text-amber-800 px-4 py-3 text-xs font-medium flex items-start gap-2",children:[g.jsx(fo,{className:"w-4 h-4 mt-0.5 flex-shrink-0"}),g.jsx("span",{children:Se})]}):ne.length>0?g.jsx("div",{className:"overflow-x-auto border border-neutral-200",children:g.jsxs("table",{className:"w-full text-left border-collapse min-w-[760px]",children:[g.jsx("thead",{children:g.jsxs("tr",{className:"bg-[#4F758B] text-white text-[10px] font-black uppercase tracking-wider",children:[g.jsx("th",{className:"px-3 py-3",children:"Nombre detectado"}),g.jsx("th",{className:"px-3 py-3",children:"Cuenta"}),g.jsx("th",{className:"px-3 py-3 text-right",children:"Monto banco"}),g.jsx("th",{className:"px-3 py-3",children:"Candidato BambooHR"}),g.jsx("th",{className:"px-3 py-3 text-center",children:"Acción"})]})}),g.jsx("tbody",{className:"divide-y divide-neutral-200 text-xs",children:ne.map(J=>{var Ne;const je=ce.has(J.id),Oe=J.amountBank;return g.jsxs("tr",{className:"hover:bg-neutral-50",children:[g.jsxs("td",{className:"px-3 py-3",children:[g.jsx("p",{className:"font-black text-neutral-800",children:J.employee}),(J.bankNameFile||J.bankAccountHolder)&&g.jsx("p",{className:"text-[10px] text-neutral-400 mt-1",children:[J.bankNameFile,J.bankAccountHolder].filter(Boolean).join(" · ")})]}),g.jsx("td",{className:"px-3 py-3 font-mono font-bold text-neutral-600",children:J.account||"—"}),g.jsx("td",{className:"px-3 py-3 text-right font-black text-neutral-700",children:Oe===null?"—":new Intl.NumberFormat(l.locale,{style:"currency",currency:l.currency,maximumFractionDigits:2}).format(Oe)}),g.jsx("td",{className:"px-3 py-3 text-neutral-600 max-w-[260px]",children:(Ne=J.bestBambooCandidate)!=null&&Ne.employeeName?g.jsxs("div",{children:[g.jsx("p",{className:"font-bold text-[#4F758B]",children:J.bestBambooCandidate.employeeName}),J.bestBambooCandidate.employeeNumber&&g.jsxs("p",{className:"text-[10px] text-neutral-400 mt-0.5",children:["Employee Number ",J.bestBambooCandidate.employeeNumber]})]}):g.jsx("span",{className:"text-neutral-400",children:"Sin candidato confiable"})}),g.jsx("td",{className:"px-3 py-3 text-center",children:je?g.jsxs("span",{className:"inline-flex items-center gap-1.5 px-3 py-1.5 border border-emerald-200 bg-emerald-50 text-emerald-800 text-[10px] font-black uppercase tracking-wider",children:[g.jsx(Ac,{className:"w-3.5 h-3.5"}),"Reportado a RRHH"]}):g.jsx("button",{type:"button",onClick:()=>W(J),className:"inline-flex items-center gap-1.5 px-3 py-1.5 bg-[#6CC24A] hover:bg-[#5aaa3f] text-white text-[10px] font-black uppercase tracking-wider transition-colors",children:"Reportar a RRHH"})})]},J.id)})})]})}):g.jsx("div",{className:"py-12 text-center text-neutral-400 text-sm",children:"No hay casos guardados en este reporte."})]}),g.jsxs("div",{className:"border-t border-neutral-200 px-5 sm:px-6 py-4 flex items-center justify-between gap-3 flex-shrink-0",children:[g.jsxs("span",{className:"text-[10px] text-neutral-400",children:["ID del reporte: ",F.id]}),g.jsx("button",{type:"button",onClick:Je,className:"border border-neutral-300 bg-white px-4 py-2 text-xs font-bold text-neutral-600 hover:bg-neutral-50",children:"Cerrar"})]})]})})}),K&&F&&g.jsx(Lw,{row:K,country:l,periodRange:fn,operatorName:i,operatorEmail:a,executionId:F.id,reportUrl:F.reportUrl,onClose:()=>W(null),onSuccess:J=>{me(je=>{const Oe=new Set(je);return Oe.add(J),Oe})},onShowToast:n}),g.jsx(ei,{children:N&&g.jsx(un.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"fixed inset-0 z-[80] flex items-center justify-center bg-black/45 px-4",children:g.jsxs(un.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:12},className:"w-full max-w-lg bg-white border border-[#D0D0D0] shadow-xl",children:[g.jsxs("div",{className:"border-b border-neutral-200 px-5 py-4 flex items-center justify-between",children:[g.jsxs("div",{children:[g.jsx("h2",{className:"text-base font-black text-[#4F758B] uppercase tracking-tight",children:"Marcar reporte como resuelto"}),g.jsx("p",{className:"text-xs text-neutral-500 mt-1",children:N.period})]}),g.jsx("button",{onClick:()=>z(null),disabled:T,className:"p-2 text-neutral-400 hover:text-neutral-700 disabled:opacity-50","aria-label":"Cerrar",children:g.jsx(Ya,{className:"w-4 h-4"})})]}),g.jsxs("div",{className:"p-5 space-y-4",children:[g.jsx("div",{className:"bg-amber-50 border border-amber-200 text-amber-800 p-3 text-xs leading-relaxed",children:"Antes de resolver, confirma que las diferencias fueron revisadas y explica cómo se cerró el caso."}),g.jsxs("label",{className:"block",children:[g.jsx("span",{className:"text-[10px] uppercase tracking-wider font-black text-neutral-500",children:"Comentario de resolución"}),g.jsx("textarea",{value:Y,onChange:J=>Z(J.target.value),placeholder:"Ejemplo: Se corrigió la cuenta bancaria en nómina y se validó contra el banco.",className:"mt-2 w-full min-h-[130px] border border-[#D0D0D0] px-3 py-2 text-sm focus:outline-none focus:border-[#4F758B]"})]})]}),g.jsxs("div",{className:"border-t border-neutral-200 px-5 py-4 flex justify-end gap-3",children:[g.jsx("button",{onClick:()=>z(null),disabled:T,className:"border border-neutral-300 bg-white px-4 py-2 text-xs font-bold text-neutral-600 hover:bg-neutral-50 disabled:opacity-50",children:"Cancelar"}),g.jsxs("button",{onClick:oi,disabled:T,className:"bg-[#4F758B] hover:bg-[#41677b] text-white px-4 py-2 text-xs font-black uppercase tracking-wider disabled:opacity-50 inline-flex items-center gap-2",children:[T&&g.jsx(qa,{className:"w-4 h-4 animate-spin"}),"Confirmar resolución"]})]})]})})})]})}function Ud({message:n,type:e,onClose:i}){D.useEffect(()=>{const c=setTimeout(()=>{i()},2e3);return()=>clearTimeout(c)},[i]);const a={success:"bg-[#6CC24A] text-white border-l-4 border-emerald-700",error:"bg-[#ba1a1a] text-white border-l-4 border-red-800",info:"bg-[#4F758B] text-white border-l-4 border-slate-700"},l={success:Ac,error:Sj,info:uw}[e];return g.jsx("div",{className:"fixed bottom-6 right-6 z-50 max-w-sm w-full",children:g.jsxs(un.div,{initial:{opacity:0,y:30,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:20,scale:.95},className:`flex items-center gap-3 p-4 shadow-lg rounded-md border border-neutral-200/10 ${a[e]}`,children:[g.jsx("span",{className:"flex-shrink-0",children:g.jsx(l,{className:"w-5 h-5"})}),g.jsx("div",{className:"flex-1 font-medium text-sm leading-tight pr-2",children:n}),g.jsx("button",{onClick:i,className:"flex-shrink-0 hover:bg-white/20 p-1 rounded transition-colors text-white",children:g.jsx(Ya,{className:"w-4 h-4"})})]})})}function WR({onShowToast:n}){const[e,i]=D.useState(!1),a=async()=>{if(!oo||!lt){n("El acceso con Google aún no está disponible. Contacta a IT.","error");return}i(!0),await pR();const{error:l}=await lt.auth.signInWithOAuth({provider:"google",options:{redirectTo:Uw(),queryParams:{access_type:"offline",prompt:"select_account"}}});l&&(i(!1),n("No se pudo iniciar sesión con Google. Intenta nuevamente.","error"))};return g.jsxs("div",{className:"min-h-screen w-full flex flex-col justify-between bg-[#F5F5F5] relative overflow-hidden font-sans",children:[g.jsx("div",{className:"h-1.5 w-full bg-[#4F758B]"}),g.jsx("div",{className:"flex-1 flex items-center justify-center p-4",children:g.jsxs(un.div,{initial:{opacity:0,y:15},animate:{opacity:1,y:0},transition:{duration:.5,ease:"easeOut"},className:"w-full max-w-md bg-white border border-[#D0D0D0] p-8 shadow-xl flex flex-col items-center gap-6",children:[g.jsx("div",{className:"w-full flex justify-center py-2",children:g.jsx("img",{alt:"Logo GOMEZLEE MARKETING",className:"h-14 object-contain",src:"https://dbit.digitalcompass.agency/storage/v1/object/public/public-assets/GLM_completo.png",referrerPolicy:"no-referrer"})}),g.jsx("div",{className:"text-center w-full",children:g.jsx("h1",{className:"text-2xl font-bold text-[#4F758B] tracking-tight",children:"Portal de Cruce de Cuentas GLM"})}),g.jsx("button",{onClick:a,disabled:e||!oo,className:"w-full relative overflow-hidden flex items-center justify-center gap-3 bg-[#6CC24A] hover:bg-[#5bb03c] disabled:bg-neutral-300 disabled:cursor-not-allowed text-white font-semibold py-3.5 px-6 transition-all duration-150 transform active:scale-[0.99] select-none text-sm tracking-wide",children:e?g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsxs("svg",{className:"animate-spin h-5 w-5 text-white",fill:"none",viewBox:"0 0 24 24",children:[g.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),g.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),g.jsx("span",{children:"Redirigiendo a Google..."})]}):g.jsxs(g.Fragment,{children:[g.jsxs("svg",{className:"w-5 h-5 flex-shrink-0 fill-current text-white",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:[g.jsx("path",{d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z"}),g.jsx("path",{d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"}),g.jsx("path",{d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"}),g.jsx("path",{d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"})]}),g.jsx("span",{children:"Continuar con Google"})]})}),!oo&&g.jsxs("div",{className:"w-full flex items-start gap-2 border border-amber-200 bg-amber-50 px-3 py-2 text-[11px] text-amber-800 leading-relaxed",children:[g.jsx(fo,{className:"w-4 h-4 mt-0.5 flex-shrink-0"}),g.jsx("span",{children:"El acceso con Google está pendiente de activación."})]})]})})]})}const eO="https://dbit.digitalcompass.agency/storage/v1/object/public/public-assets/GLM_completo.png";function tO({onSelect:n}){return g.jsxs("div",{className:"min-h-screen bg-[#F5F5F5] flex flex-col font-sans",children:[g.jsx("div",{className:"h-1.5 bg-[#6CC24A]"}),g.jsx("main",{className:"flex-1 flex items-center justify-center px-4 py-10",children:g.jsxs(un.section,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},className:"w-full max-w-3xl bg-white border border-[#D0D0D0] shadow-xl p-6 sm:p-9",children:[g.jsx("img",{src:eO,alt:"GomezLee Marketing",className:"h-14 object-contain mb-7"}),g.jsxs("div",{className:"flex items-start gap-3 mb-7",children:[g.jsx("div",{className:"bg-[#4F758B]/10 p-2.5 rounded-full",children:g.jsx(cw,{className:"w-5 h-5 text-[#4F758B]"})}),g.jsxs("div",{children:[g.jsx("h1",{className:"text-xl sm:text-2xl font-black text-[#4F758B] uppercase tracking-tight",children:"Selecciona el país"}),g.jsx("p",{className:"text-sm text-neutral-500 mt-1",children:"El portal cargará las reglas, la moneda y los reportes correspondientes."})]})]}),g.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4",children:mo.map(e=>g.jsxs("button",{type:"button",disabled:!e.enabled,onClick:()=>e.enabled&&n(e.code),className:`text-left border p-5 transition-all min-h-[150px] flex flex-col justify-between ${e.enabled?"border-[#4F758B]/30 hover:border-[#4F758B] hover:shadow-md bg-white":"border-neutral-200 bg-neutral-50 cursor-not-allowed opacity-70"}`,children:[g.jsxs("div",{className:"flex items-start justify-between gap-3",children:[g.jsx("img",{src:e.flag,alt:"",className:"w-12 h-8 sm:w-16 sm:h-10 object-cover shadow-sm border border-neutral-200","aria-hidden":"true"}),e.enabled?g.jsx(mj,{className:"w-5 h-5 text-[#6CC24A]"}):g.jsx($j,{className:"w-4 h-4 text-neutral-400"})]}),g.jsxs("div",{children:[g.jsx("p",{className:"font-black text-[#4F758B] uppercase tracking-wide",children:e.name}),g.jsx("p",{className:"text-xs text-neutral-500 mt-1",children:e.enabled?`Moneda ${e.currency}`:"Próximamente"})]})]},e.code))})]})})]})}const nO="cruce_cuentas_mi_acceso",vv=2;function Hw(n){return(n??"").trim().toLowerCase()}function sO(n){return Array.isArray(n)?Array.from(new Set(n.map(e=>String(e??"").trim().toUpperCase()).filter(Boolean))):[]}function iO(n){const e=Array.isArray(n)?n[0]:n;if(!e||typeof e!="object")throw new Error("Supabase no devolvió una respuesta válida al comprobar el acceso.");return{ok:e.ok===!0,authenticated:e.autenticado===!0,authorized:e.autorizado===!0,email:Hw(typeof e.email=="string"?e.email:""),name:typeof e.nombre=="string"?e.nombre.trim():"",active:e.activo===!0,appAccess:e.acceso_app===!0,historyAccess:e.acceso_historicos===!0,receivesGeneratedReports:e.recibe_reportes_generados===!0,receivesResolvedEmails:e.recibe_correos_resuelto===!0,countries:sO(e.paises),reason:typeof e.motivo=="string"?e.motivo.trim():""}}function aO(n){return new Promise(e=>window.setTimeout(e,n))}async function rO(){if(!lt)throw new Error("Supabase no está configurado.");let n=null;for(let i=1;i<=vv;i+=1){const{data:a,error:l}=await lt.rpc(nO);if(!l)return iO(a);n=l,i{if(typeof indexedDB>"u"){e(new Error("IndexedDB no está disponible en este navegador."));return}const i=indexedDB.open(oO,lO);i.onupgradeneeded=()=>{const a=i.result;a.objectStoreNames.contains(Wn)||a.createObjectStore(Wn,{keyPath:"sessionId"})},i.onsuccess=()=>n(i.result),i.onerror=()=>e(i.error??new Error("No se pudo abrir IndexedDB.")),i.onblocked=()=>e(new Error("La base local está bloqueada por otra pestaña."))}),Ra.catch(()=>{Ra=null}),Ra)}function uO(n){return new Promise((e,i)=>{n.onsuccess=()=>e(n.result),n.onerror=()=>i(n.error??new Error("Falló una operación local."))})}function Ic(n){return new Promise((e,i)=>{n.oncomplete=()=>e(),n.onerror=()=>i(n.error??new Error("Falló la transacción local.")),n.onabort=()=>i(n.error??new Error("La transacción local fue cancelada."))})}function hO(n){if(!n||typeof n!="object")return!1;const e=n;return e.version===$w&&typeof e.sessionId=="string"&&typeof e.updatedAt=="number"&&(e.currentView==="cruce"||e.currentView==="historial")&&Array.isArray(e.uploadedBankFiles)&&typeof e.isCruceExecuted=="boolean"}async function dO(n,e){const i=Date.now()-cO,a=n.transaction(Wn,"readwrite"),l=Ic(a),u=a.objectStore(Wn).openCursor();await new Promise((d,m)=>{u.onsuccess=()=>{const p=u.result;if(!p){d();return}const y=p.value;y.sessionId!==e&&typeof y.updatedAt=="number"&&y.updatedAtm(u.error??new Error("No se pudieron limpiar borradores antiguos."))}),await l}async function fO(){const n=nm();try{const e=await sm(),i=e.transaction(Wn,"readonly"),a=Ic(i),l=await uO(i.objectStore(Wn).get(n));return await a,dO(e,n).catch(()=>{}),hO(l)?l:null}catch{return null}}function mO(n){const e=nm(),i={...n,version:$w,sessionId:e,updatedAt:Date.now()};return Ia=Ia.catch(()=>{}).then(async()=>{const l=(await sm()).transaction(Wn,"readwrite"),c=Ic(l);l.objectStore(Wn).put(i),await c}).catch(()=>{}),Ia}function Sv(){const n=nm();return Ia=Ia.catch(()=>{}).then(async()=>{const i=(await sm()).transaction(Wn,"readwrite"),a=Ic(i);i.objectStore(Wn).delete(n),await a}).catch(()=>{}),Ia}const Tv=!0,Sf="glm_cruce_selected_country",pO={name:"Isaac Aracena",email:"iaracena@gomezleemarketing.com"};function gO(n){const e=(n==null?void 0:n.user_metadata)??{},i=e.full_name||e.name||e.display_name;if(i)return String(i);const a=String((n==null?void 0:n.email)??"Usuario GLM");return a.includes("@")?a.split("@")[0]:a}function yO(){try{const n=window.localStorage.getItem(Sf),e=mo.find(i=>i.code===n&&i.enabled);return(e==null?void 0:e.code)??null}catch{return null}}function bO(){const[n,e]=D.useState("cruce"),[i,a]=D.useState(!1),[l,c]=D.useState(null),[u,d]=D.useState([]),[m,p]=D.useState([]),[y,v]=D.useState(!1),[x,_]=D.useState(null),[S,T]=D.useState(0),[k,C]=D.useState(()=>yO()),[M,N]=D.useState(null),[z,Y]=D.useState(Tv),[Z,F]=D.useState(!1),[G,ne]=D.useState(null),Q=D.useRef(0),ce=D.useMemo(()=>oo&<,[]),me=k?_b(k):null,_e=(ae,E)=>{ne({message:ae,type:E})};D.useEffect(()=>{if(!ce||!lt){Y(!1);return}let ae=!0;const E=async ee=>{const se=++Q.current;if(!(ee!=null&&ee.email)){ae&&se===Q.current&&N(null);return}try{const ue=await rO();if(!ae||se!==Q.current)return;const ve=Hw(ee.email),Je=!!ue.email&&ue.email===ve;if(!ue.ok||!ue.authenticated||!ue.authorized||!ue.active||!ue.appAccess||!Je){N(null),_e(ue.reason||"Tu usuario no tiene acceso autorizado a este módulo.","error"),lt.auth.signOut();return}N({name:ue.name||gO(ee),email:ve})}catch(ue){if(!ae||se!==Q.current)return;console.error("No se pudo validar el acceso en Supabase:",ue),N(null),_e("No se pudo validar tu acceso en Supabase. Intenta iniciar sesión nuevamente.","error"),lt.auth.signOut()}};(async()=>{var ee;try{const{data:se,error:ue}=await lt.auth.getSession();if(ue)throw ue;if(!ae)return;await E((ee=se.session)==null?void 0:ee.user)}catch(se){if(!ae)return;console.error("No se pudo recuperar la sesión de Supabase:",se),N(null),_e("No se pudo recuperar tu sesión. Intenta iniciar sesión nuevamente.","error")}finally{ae&&Y(!1)}})();const{data:X}=lt.auth.onAuthStateChange((ee,se)=>{if(ae){if(se!=null&&se.user){window.setTimeout(()=>{ae&&E(se.user)},0);return}ee==="SIGNED_OUT"&&(Q.current+=1,N(null),Y(!1))}});return()=>{ae=!1,Q.current+=1,X.subscription.unsubscribe()}},[ce]),D.useEffect(()=>{if(!ce||!lt)return;let ae=0;const E=()=>{if(document.visibilityState!=="visible")return;const P=Date.now();P-ae<5e3||(ae=P,So(300).catch(X=>{console.warn("No se pudo revalidar la sesión al reanudar la pestaña:",X)}))};return document.addEventListener("visibilitychange",E),window.addEventListener("focus",E),()=>{document.removeEventListener("visibilitychange",E),window.removeEventListener("focus",E)}},[ce]),D.useEffect(()=>{let ae=!0;return(async()=>{const P=await fO();ae&&(P&&(!k||P.countryCode===k?(P.countryCode&&C(P.countryCode),e(P.currentView),c(P.uploadedPayroll),d(Array.isArray(P.uploadedPayrollFiles)?P.uploadedPayrollFiles:[]),p(P.uploadedBankFiles),v(P.isCruceExecuted),_(P.cruceResponse)):await Sv()),ae&&F(!0))})(),()=>{ae=!1}},[]),D.useEffect(()=>{Z&&mO({countryCode:k,currentView:n,uploadedPayroll:l,uploadedPayrollFiles:u,uploadedBankFiles:m,isCruceExecuted:y,cruceResponse:x})},[Z,k,n,l,u,m,y,x]);const Re=()=>{c(null),d([]),p([]),v(!1),_(null),T(ae=>ae+1)},Se=async()=>{await Sv(),lt&&await lt.auth.signOut(),N(null),C(null),window.localStorage.removeItem(Sf),Re(),e("cruce"),_e("Sesión cerrada correctamente.","success")},V=()=>{Re(),e("cruce"),_e("Nuevo cruce iniciado.","success")},K=ae=>{const E=_b(ae);if(!E.enabled){_e(`${E.name} estará disponible próximamente.`,"info");return}k&&k!==ae&&Re(),C(ae),window.localStorage.setItem(Sf,ae),e("cruce"),a(!1)},W=()=>{C(null),a(!1)};if(z)return g.jsx("div",{className:"min-h-screen bg-[#F5F5F5] flex items-center justify-center text-[#4F758B] font-black uppercase tracking-wider",children:"Validando acceso..."});if(!M)return g.jsxs(g.Fragment,{children:[g.jsx(WR,{onShowToast:_e}),g.jsx(ei,{children:G&&g.jsx(Ud,{message:G.message,type:G.type,onClose:()=>ne(null)})})]});if(!me)return g.jsxs(g.Fragment,{children:[g.jsx(tO,{onSelect:K}),g.jsx(ei,{children:G&&g.jsx(Ud,{message:G.message,type:G.type,onClose:()=>ne(null)})})]});const pe=M??pO;return g.jsxs("div",{className:"min-h-screen bg-[#F5F5F5] selection:bg-[#6CC24A] selection:text-white antialiased font-sans flex flex-col",children:[g.jsxs(un.div,{initial:{opacity:0},animate:{opacity:1},className:"min-h-screen flex w-full relative overflow-x-hidden",children:[g.jsx(ei,{children:i&&g.jsx(un.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:()=>a(!1),className:"fixed inset-0 bg-black/45 z-45 md:hidden"},"backdrop")}),g.jsx(oN,{currentView:n,onViewChange:ae=>{e(ae),a(!1)},onNewCruce:()=>{V(),a(!1)},isSidebarOpen:i,onCloseSidebar:()=>a(!1),user:pe,isAuthEnabled:Tv,onLogout:Se,country:me,onCountryChange:K,onChooseAnotherCountry:W}),g.jsx("div",{className:"pl-0 md:pl-64 flex-1 flex flex-col w-full min-h-screen transition-all duration-300",children:g.jsx(ei,{mode:"wait",children:n==="cruce"?g.jsx(un.div,{initial:{opacity:0,x:10},animate:{opacity:1,x:0},exit:{opacity:0,x:-10},transition:{duration:.2},className:"flex-1 flex flex-col",children:g.jsx($R,{onShowToast:_e,uploadedPayroll:l,setUploadedPayroll:c,uploadedPayrollFiles:u,setUploadedPayrollFiles:d,uploadedBankFiles:m,setUploadedBankFiles:p,isCruceExecuted:y,setIsCruceExecuted:v,response:x,setResponse:_,onOpenSidebar:()=>a(!0),operatorName:pe.name,operatorEmail:pe.email,resetToken:S,country:me})},`view-cruce-${me.code}`):g.jsx(un.div,{initial:{opacity:0,x:10},animate:{opacity:1,x:0},exit:{opacity:0,x:-10},transition:{duration:.2},className:"flex-1 flex flex-col",children:g.jsx(ZR,{onShowToast:_e,onOpenSidebar:()=>a(!0),operatorName:pe.name,operatorEmail:pe.email,country:me})},`view-history-${me.code}`)})})]},`interface-${me.code}`),g.jsx(ei,{children:G&&g.jsx(Ud,{message:G.message,type:G.type,onClose:()=>ne(null)})})]})}window.addEventListener("pageshow",n=>{n.persisted&&window.location.reload()});o1.createRoot(document.getElementById("root")).render(g.jsx(D.StrictMode,{children:g.jsx(bO,{})})); diff --git a/dist/assets/index-CLG5SAqX.css b/dist/assets/index-CLG5SAqX.css new file mode 100644 index 0000000..f678dd5 --- /dev/null +++ b/dist/assets/index-CLG5SAqX.css @@ -0,0 +1 @@ +@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap";/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:"Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-800:oklch(44.4% .177 26.899);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-800:oklch(47% .157 37.304);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-800:oklch(47.3% .137 46.201);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-800:oklch(42.4% .199 265.638);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-800:oklch(43.2% .232 292.759);--color-slate-700:oklch(37.2% .044 257.287);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-gris-fondo:#f5f5f5}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.top-1\/2{top:50%}.top-\[84px\]{top:84px}.top-full{top:100%}.right-0{right:0}.right-6{right:calc(var(--spacing) * 6)}.bottom-0{bottom:0}.bottom-6{bottom:calc(var(--spacing) * 6)}.left-0{left:0}.left-3{left:calc(var(--spacing) * 3)}.left-3\.5{left:calc(var(--spacing) * 3.5)}.z-10{z-index:10}.z-40{z-index:40}.z-45{z-index:45}.z-50{z-index:50}.z-\[80\]{z-index:80}.z-\[90\]{z-index:90}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.-ml-2{margin-left:calc(var(--spacing) * -2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-4\.5{height:calc(var(--spacing) * 4.5)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-14{height:calc(var(--spacing) * 14)}.h-\[80px\]{height:80px}.h-\[84px\]{height:84px}.h-screen{height:100vh}.max-h-\[92vh\]{max-height:92vh}.max-h-\[250px\]{max-height:250px}.max-h-\[260px\]{max-height:260px}.max-h-\[330px\]{max-height:330px}.min-h-\[130px\]{min-height:130px}.min-h-\[150px\]{min-height:150px}.min-h-\[190px\]{min-height:190px}.min-h-screen{min-height:100vh}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-4\.5{width:calc(var(--spacing) * 4.5)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-12{width:calc(var(--spacing) * 12)}.w-64{width:calc(var(--spacing) * 64)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[180px\]{max-width:180px}.max-w-\[220px\]{max-width:220px}.max-w-\[260px\]{max-width:260px}.max-w-\[290px\]{max-width:290px}.max-w-\[300px\]{max-width:300px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-\[280px\]{min-width:280px}.min-w-\[760px\]{min-width:760px}.min-w-\[960px\]{min-width:960px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.scroll-mt-28{scroll-margin-top:calc(var(--spacing) * 28)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-neutral-100>:not(:last-child)){border-color:var(--color-neutral-100)}:where(.divide-neutral-200>:not(:last-child)){border-color:var(--color-neutral-200)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-4{border-bottom-style:var(--tw-border-style);border-bottom-width:4px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#4F758B\]{border-color:#4f758b}.border-\[\#4F758B\]\/10{border-color:#4f758b1a}.border-\[\#4F758B\]\/20{border-color:#4f758b33}.border-\[\#4F758B\]\/25{border-color:#4f758b40}.border-\[\#4F758B\]\/30{border-color:#4f758b4d}.border-\[\#4F758B\]\/40{border-color:#4f758b66}.border-\[\#6CC24A\]{border-color:#6cc24a}.border-\[\#6CC24A\]\/30{border-color:#6cc24a4d}.border-\[\#D0D0D0\]{border-color:#d0d0d0}.border-\[\#D6E8F4\]{border-color:#d6e8f4}.border-amber-200{border-color:var(--color-amber-200)}.border-blue-200{border-color:var(--color-blue-200)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-emerald-700{border-color:var(--color-emerald-700)}.border-neutral-200{border-color:var(--color-neutral-200)}.border-neutral-200\/10{border-color:#e5e5e51a}@supports (color:color-mix(in lab,red,red)){.border-neutral-200\/10{border-color:color-mix(in oklab,var(--color-neutral-200) 10%,transparent)}}.border-neutral-300{border-color:var(--color-neutral-300)}.border-orange-200{border-color:var(--color-orange-200)}.border-red-100{border-color:var(--color-red-100)}.border-red-200{border-color:var(--color-red-200)}.border-red-800{border-color:var(--color-red-800)}.border-slate-700{border-color:var(--color-slate-700)}.border-transparent{border-color:#0000}.border-violet-200{border-color:var(--color-violet-200)}.border-white\/40{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.border-white\/40{border-color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.border-t-white{border-top-color:var(--color-white)}.bg-\[\#4F758B\]{background-color:#4f758b}.bg-\[\#4F758B\]\/5{background-color:#4f758b0d}.bg-\[\#4F758B\]\/10{background-color:#4f758b1a}.bg-\[\#6CC24A\]{background-color:#6cc24a}.bg-\[\#6CC24A\]\/5{background-color:#6cc24a0d}.bg-\[\#6CC24A\]\/10{background-color:#6cc24a1a}.bg-\[\#D0D0D0\]{background-color:#d0d0d0}.bg-\[\#F5F5F5\]{background-color:#f5f5f5}.bg-\[\#F7FBFD\]{background-color:#f7fbfd}.bg-\[\#ba1a1a\]{background-color:#ba1a1a}.bg-amber-50{background-color:var(--color-amber-50)}.bg-black\/45{background-color:#00000073}@supports (color:color-mix(in lab,red,red)){.bg-black\/45{background-color:color-mix(in oklab,var(--color-black) 45%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-neutral-50{background-color:var(--color-neutral-50)}.bg-neutral-50\/50{background-color:#fafafa80}@supports (color:color-mix(in lab,red,red)){.bg-neutral-50\/50{background-color:color-mix(in oklab,var(--color-neutral-50) 50%,transparent)}}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-red-50{background-color:var(--color-red-50)}.bg-white{background-color:var(--color-white)}.fill-current{fill:currentColor}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-7{padding-inline:calc(var(--spacing) * 7)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-14{padding-block:calc(var(--spacing) * 14)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-0{padding-left:0}.pl-9{padding-left:calc(var(--spacing) * 9)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.text-\[\#4F758B\]{color:#4f758b}.text-\[\#6B8FA3\]{color:#6b8fa3}.text-\[\#6CC24A\]{color:#6cc24a}.text-\[\#ba1a1a\]{color:#ba1a1a}.text-amber-800{color:var(--color-amber-800)}.text-blue-800{color:var(--color-blue-800)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-neutral-300{color:var(--color-neutral-300)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-600{color:var(--color-neutral-600)}.text-neutral-700{color:var(--color-neutral-700)}.text-neutral-800{color:var(--color-neutral-800)}.text-orange-800{color:var(--color-orange-800)}.text-red-600{color:var(--color-red-600)}.text-violet-800{color:var(--color-violet-800)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-neutral-400::placeholder{color:var(--color-neutral-400)}.accent-\[\#6CC24A\]{accent-color:#6cc24a}.opacity-25{opacity:.25}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.selection\:bg-\[\#6CC24A\] ::selection{background-color:#6cc24a}.selection\:bg-\[\#6CC24A\]::selection{background-color:#6cc24a}.selection\:bg-transparent ::selection{background-color:#0000}.selection\:bg-transparent::selection{background-color:#0000}.selection\:text-white ::selection{color:var(--color-white)}.selection\:text-white::selection{color:var(--color-white)}@media(hover:hover){.hover\:border-\[\#4F758B\]:hover{border-color:#4f758b}.hover\:border-\[\#4F758B\]\/40:hover{border-color:#4f758b66}.hover\:border-\[\#4F758B\]\/50:hover{border-color:#4f758b80}.hover\:border-\[\#4F758B\]\/55:hover{border-color:#4f758b8c}.hover\:border-emerald-400:hover{border-color:var(--color-emerald-400)}.hover\:border-orange-300:hover{border-color:var(--color-orange-300)}.hover\:border-red-100:hover{border-color:var(--color-red-100)}.hover\:bg-\[\#3F6174\]:hover{background-color:#3f6174}.hover\:bg-\[\#3d6378\]:hover{background-color:#3d6378}.hover\:bg-\[\#4F758B\]:hover{background-color:#4f758b}.hover\:bg-\[\#4F758B\]\/5:hover{background-color:#4f758b0d}.hover\:bg-\[\#4F758B\]\/\[0\.025\]:hover{background-color:#4f758b06}.hover\:bg-\[\#5aaa3f\]:hover{background-color:#5aaa3f}.hover\:bg-\[\#5bb03c\]:hover{background-color:#5bb03c}.hover\:bg-\[\#41677b\]:hover{background-color:#41677b}.hover\:bg-emerald-100:hover{background-color:var(--color-emerald-100)}.hover\:bg-neutral-50:hover{background-color:var(--color-neutral-50)}.hover\:bg-neutral-50\/70:hover{background-color:#fafafab3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-neutral-50\/70:hover{background-color:color-mix(in oklab,var(--color-neutral-50) 70%,transparent)}}.hover\:bg-neutral-100:hover{background-color:var(--color-neutral-100)}.hover\:bg-neutral-200:hover{background-color:var(--color-neutral-200)}.hover\:bg-orange-100:hover{background-color:var(--color-orange-100)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.hover\:text-\[\#3d6378\]:hover{color:#3d6378}.hover\:text-\[\#4F758B\]:hover{color:#4f758b}.hover\:text-emerald-800:hover{color:var(--color-emerald-800)}.hover\:text-neutral-700:hover{color:var(--color-neutral-700)}.hover\:text-neutral-800:hover{color:var(--color-neutral-800)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-\[\#4F758B\]:focus{border-color:#4f758b}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[\#4F758B\]\/10:focus{--tw-ring-color:oklab(54.2682% -.0318721 -.0447881/.1)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-98:active{--tw-scale-x:98%;--tw-scale-y:98%;--tw-scale-z:98%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-\[0\.99\]:active{scale:.99}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-neutral-300:disabled{border-color:var(--color-neutral-300)}.disabled\:bg-neutral-50:disabled{background-color:var(--color-neutral-50)}.disabled\:bg-neutral-300:disabled{background-color:var(--color-neutral-300)}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:h-6{height:calc(var(--spacing) * 6)}.sm\:h-10{height:calc(var(--spacing) * 10)}.sm\:w-16{width:calc(var(--spacing) * 16)}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:self-auto{align-self:auto}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-9{padding:calc(var(--spacing) * 9)}.sm\:px-3{padding-inline:calc(var(--spacing) * 3)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media(min-width:48rem){.md\:block{display:block}.md\:hidden{display:none}.md\:translate-x-0{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:justify-center{justify-content:center}.md\:pl-64{padding-left:calc(var(--spacing) * 64)}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}@media(min-width:64rem){.lg\:w-auto{width:auto}.lg\:max-w-md{max-width:var(--container-md)}.lg\:max-w-sm{max-width:var(--container-sm)}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:text-right{text-align:right}.lg\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}}@media(min-width:80rem){.xl\:min-w-full{min-width:100%}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:px-4{padding-inline:calc(var(--spacing) * 4)}}@media(min-width:96rem){.\32xl\:inline{display:inline}}}body{font-family:var(--font-sans);background-color:var(--color-gris-fondo)}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}} diff --git a/dist/favicon.png b/dist/favicon.png new file mode 100644 index 0000000..11eccc8 Binary files /dev/null and b/dist/favicon.png differ diff --git a/dist/gt-flag.png b/dist/gt-flag.png new file mode 100644 index 0000000..06a8db6 Binary files /dev/null and b/dist/gt-flag.png differ diff --git a/dist/index.html b/dist/index.html new file mode 100644 index 0000000..6d0ac05 --- /dev/null +++ b/dist/index.html @@ -0,0 +1,19 @@ + + + + + + + + + Portal de Cruce de Cuentas GLM + + + + + + +
+ + + diff --git a/dist/tt-flag.png b/dist/tt-flag.png new file mode 100644 index 0000000..2ba6c21 Binary files /dev/null and b/dist/tt-flag.png differ