1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/not-found-C26UnYzG.js","assets/card-DMLjyOE0.js","assets/circle-alert-Cfx85ov1.js","assets/landing-page-D52kHIU9.js","assets/search-DJ3N5aHD.js","assets/circle-help-u1AmP_VF.js","assets/landmark-BWVyZpRz.js","assets/file-text-FO0uNq0t.js","assets/how-sofia-works-page-BO8byVTQ.js","assets/link-2-ClYvKH3A.js","assets/start-page-B4vd7FYH.js","assets/arrow-down-BzgIMSRy.js","assets/chevron-down-sna3Fr62.js","assets/start-page-B7z9ZSzm.css","assets/vacation-rental-accounting-page-Cul77NlW.js","assets/arrow-down-right-BHEnOaCr.js","assets/receipt-Dv3DfI7M.js","assets/house-dz5qMHEg.js","assets/vacation-rental-accounting-page-D-acFnTI.css","assets/comparison-page-B2xTkda3.js","assets/comparison-page-CiNNV9d7.css","assets/alternative-page-Y3ZDf7-o.js","assets/alternative-page-Bme40Bwg.css","assets/switch-to-sofia-page-D8u0Uicq.js","assets/upload-BTIO5mLb.js","assets/switch-to-sofia-page-BMCQcFYZ.css","assets/tasks-page-BxgkZJNO.js","assets/button-wsGvj0vi.js","assets/skeleton-RPXo7oo1.js","assets/use-data-DJpvhWJo.js","assets/types-BJVkoEHY.js","assets/invalidate-ledger-reports-BJYy4ign.js","assets/form-pmsNHfvk.js","assets/label-Cl_2e4hg.js","assets/dialog-B6Jn0O56.js","assets/index-BsvUWKEV.js","assets/layout-shell-BWZOnZXL.js","assets/circle-check-BThC6yWv.js","assets/log-out-LV8XNMo5.js","assets/select-BmLmhL5s.js","assets/input-B7MIbfY8.js","assets/badge-DT60eL2O.js","assets/format-DJ6ii0ek.js","assets/eye-CY4Pa-Ch.js","assets/format-CPoXbVrY.js","assets/en-US-B2t2PTQ7.js","assets/proxy-DBlGG7Ux.js","assets/properties-page-rA5WYhgS.js","assets/loans-page-BmWl5dKz.js","assets/account-display-UOtJtySJ.js","assets/rate-format-BUCU8cp9.js","assets/bounded-date-picker-CKhoUmZu.js","assets/endOfMonth-BdYOBJlA.js","assets/popover-DfmOnfds.js","assets/calendar-8hVef9xC.js","assets/table-CMTj595R.js","assets/alert-dialog-6fleYcIt.js","assets/plus-BOoEZTL7.js","assets/pencil-07Lm6QZy.js","assets/rotate-ccw-hMjC8HuR.js","assets/archive-0yxrBbeV.js","assets/switch-CoI0Qndb.js","assets/checkbox-BY5bL0OC.js","assets/textarea-CjZcEkUU.js","assets/alert-PAq-m9Tl.js","assets/arrow-up-down-tx8VihV6.js","assets/banknote-BgS0s31g.js","assets/arrow-left-Cft0ZNMu.js","assets/map-pin-Dns3vErB.js","assets/property-detail-page-DX0DI6Ay.js","assets/tabs-CTf7gJub.js","assets/radio-group-Dn-7koxg.js","assets/transaction-categories-CkcVujYb.js","assets/info-DsRHiDu9.js","assets/sofia-page-Z1xcECFA.js","assets/documents-page-wGSzUJDB.js","assets/filter-CR-YhQ3C.js","assets/file-spreadsheet-DFgjbkRn.js","assets/admin-page-znfZxH3p.js","assets/separator-CLYGD5Cm.js","assets/sheet-BxfCnKUv.js","assets/shield-check-CAFwkj8b.js","assets/circle-x-B3Cd6P6R.js","assets/play-B8A6mEix.js","assets/circle-check-big-58CY6z54.js","assets/collapsible-BdUGqRCi.js","assets/ban-CvJqvw_6.js","assets/download-B0VFfWHk.js","assets/copy-US-XpIS-.js","assets/clock-DN7He24C.js","assets/mail-BUS31PZ-.js","assets/parseISO-CYftvOE5.js","assets/tag-DcVfzvOZ.js","assets/pin-DbdSljMU.js","assets/accounts-page-BI5pCqWg.js","assets/plaid-oauth-return-page-DuVDsUXA.js","assets/transactions-page-OS69Uo11.js","assets/user-B-czej6D.js","assets/external-link-xzOpeU0E.js","assets/mortgage-descriptors-B0DJNpIk.js","assets/wallet-CvHyyeeT.js","assets/trending-up-DaZFH6wP.js","assets/reports-page-Btd68LHF.js","assets/gl-download-buttons-BpI4yj7O.js","assets/report-viewer-page-Cj5lLhHK.js","assets/receipts-page-CNj-vibc.js","assets/review-page-CMDO72RH.js","assets/demo-page-ZAz1ctri.js","assets/scheduling-page-gdcyyBnN.js","assets/privacy-page-CXbM0bYG.js","assets/legal-seo-BU9fVxs0.js","assets/data-retention-policy-page-Cf0VTqQO.js","assets/memory-page-BnFE5DR9.js","assets/rules-page-iPKMCChQ.js","assets/trash-page-Dy9u3Oo6.js","assets/accept-invite-page-B-faztkq.js","assets/journal-review-page-BkKGmbYw.js","assets/airbnb-payouts-page-DYi8Z7yK.js","assets/breadcrumb-31IfCO4Q.js","assets/imports-page-xjp3Mgd3.js","assets/venmo-expenses-page-CBq8vwh9.js","assets/turno-expenses-page-DB4g-fKh.js","assets/rei-import-page-WTsnxo4K.js","assets/pending-approval-page-CqWSt541.js","assets/self-serve-confirm-page-Bc1FtQ5N.js","assets/self-serve-setup-page-BWmYr8AY.js","assets/pdf-statement-import-page-CU9Kp8i_.js"])))=>i.map(i=>d[i]); 2function Js(e,r){for(var o=0;o<r.length;o++){const s=r[o];
vendor: 4,417 bytes, line 2
2if(typeof s!="string"&&!Array.isArray(s)){for(const a in s)if(a!=="default"&&!(a in e)){const d=Object.getOwnPropertyDescriptor(s,a);d&&Object.defineProperty(e,a,d.get?d:{enumerable:!0,get:()=>s[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))s(a);new MutationObserver(a=>{for(const d of a)if(d.type==="childList")for(const f of d.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&s(f)}).observe(document,{childList:!0,subtree:!0});function o(a){const d={};return a.integrity&&(d.integrity=a.integrity),a.referrerPolicy&&(d.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?d.credentials="include":a.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function s(a){if(a.ep)return;a.ep=!0;const d=o(a);fetch(a.href,d)}})();var EI=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Xs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function jm(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var r=e.default;if(typeof r=="function"){var o=function s(){var a=!1;try{a=this instanceof s}catch{}return a?Reflect.construct(r,arguments,this.constructor):r.apply(this,arguments)};o.prototype=r.prototype}else o={};return Object.defineProperty(o,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var a=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(o,s,a.get?a:{enumerable:!0,get:function(){return e[s]}})}),o}var pc={exports:{}},Ho={},fc={exports:{}},ke={};var Gf;function fb(){if(Gf)return ke;Gf=1;var e=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),d=Symbol.for("react.provider"),f=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),y=Symbol.for("react.memo"),w=Symbol.for("react.lazy"),b=Symbol.iterator;function k(_){return _===null||typeof _!="object"?null:(_=b&&_[b]||_["@@iterator"],typeof _=="function"?_:null)}var P={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},T=Object.assign,E={};function S(_,U,oe){this.props=_,this.context=U,this.refs=E,this.updater=oe||P}S.prototype.isReactComponent={},S.prototype.setState=function(_,U){if(typeof _!="object"&&typeof _!="function"&&_!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,_,U,"setState")},S.prototype.forceUpdate=function(_){this.updater.enqueueForceUpdate(this,_,"forceUpdate")};function I(){}I.prototype=S.prototype;function O(_,U,oe){this.props=_,this.context=U,this.refs=E,this.updater=oe||P}var j=O.prototype=new I;j.constructor=O,T(j,S.prototype),j.isPureReactComponent=!0;var D=Array.isArray,F=Object.prototype.hasOwnProperty,B={current:null},q={key:!0,ref:!0,__self:!0,__source:!0};function X(_,U,oe){var le,ve={},ge=null,pe=null;if(U!=null)for(le in U.ref!==void 0&&(pe=U.ref),U.key!==void 0&&(ge=""+U.key),U)F.call(U,le)&&!q.hasOwnProperty(le)&&(ve[le]=U[le]);var xe=arguments.length-2;if(xe===1)ve.children=oe;else if(1<xe){for(var Se=Array(xe),Qe=0;Qe<xe;Qe++)Se[Qe]=arguments[Qe+2];ve.children=Se}if(_&&_.defaultProps)for(le in xe=_.defaultProps,xe)ve[le]===void 0&&(ve[le]=xe[le]);return{$$typeof:e,type:_,key:ge,ref:pe,props:ve,_owner:B.current}}function Y(_,U){return{$$typeof:e,type:_.type,key:U,ref:_.ref,props:_.props,_owner:_._owner}}function se(_){return typeof _=="object"&&_!==null&&_.$$typeof===e}function ce(_){var U={"=":"=0",":":"=2"};return"$"+_.replace(/[=:]/g,function(oe){return U[oe]})}var te=/\/+/g;function me(_,U){return typeof _=="object"&&_!==null&&_.key!=null?ce(""+_.key):U.toString(36)}function G(_,U,oe,le,ve){var ge=typeof _;(ge==="undefined"||ge==="boolean")&&(_=null);var pe=!1;if(_===null)pe=!0;else switch(ge){case"string":case"number":pe=!0;break;case"object":switch(_.$$typeof){case e:case r:pe=!0}}if(pe)return pe=_,ve=ve(pe),_=le===""?"."+me(pe,0):le,D(ve)?(oe="",_!=null&&(oe=_.replace(te,"$&/")+"/"),G(ve,U,oe,"",function(Qe){return Qe}
vendor: 2,243 bytes, line 2
2)):ve!=null&&(se(ve)&&(ve=Y(ve,oe+(!ve.key||pe&&pe.key===ve.key?"":(""+ve.key).replace(te,"$&/")+"/")+_)),U.push(ve)),1;if(pe=0,le=le===""?".":le+":",D(_))for(var xe=0;xe<_.length;xe++){ge=_[xe];var Se=le+me(ge,xe);pe+=G(ge,U,oe,Se,ve)}else if(Se=k(_),typeof Se=="function")for(_=Se.call(_),xe=0;!(ge=_.next()).done;)ge=ge.value,Se=le+me(ge,xe++),pe+=G(ge,U,oe,Se,ve);else if(ge==="object")throw U=String(_),Error("Objects are not valid as a React child (found: "+(U==="[object Object]"?"object with keys {"+Object.keys(_).join(", ")+"}":U)+"). If you meant to render a collection of children, use an array instead.");return pe}function ye(_,U,oe){if(_==null)return _;var le=[],ve=0;return G(_,le,"","",function(ge){return U.call(oe,ge,ve++)}),le}function ae(_){if(_._status===-1){var U=_._result;U=U(),U.then(function(oe){(_._status===0||_._status===-1)&&(_._status=1,_._result=oe)},function(oe){(_._status===0||_._status===-1)&&(_._status=2,_._result=oe)}),_._status===-1&&(_._status=0,_._result=U)}if(_._status===1)return _._result.default;throw _._result}var ne={current:null},z={transition:null},K={ReactCurrentDispatcher:ne,ReactCurrentBatchConfig:z,ReactCurrentOwner:B};function Q(){throw Error("act(...) is not supported in production builds of React.")}return ke.Children={map:ye,forEach:function(_,U,oe){ye(_,function(){U.apply(this,arguments)},oe)},count:function(_){var U=0;return ye(_,function(){U++}),U},toArray:function(_){return ye(_,function(U){return U})||[]},only:function(_){if(!se(_))throw Error("React.Children.only expected to receive a single React element child.");return _}},ke.Component=S,ke.Fragment=o,ke.Profiler=a,ke.PureComponent=O,ke.StrictMode=s,ke.Suspense=m,ke.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=K,ke.act=Q,ke.cloneElement=function(_,U,oe){if(_==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+_+".");var le=T({},_.props),ve=_.key,ge=_.ref,pe=_._owner;if(U!=null){if(U.ref!==void 0&&(ge=U.ref,pe=B.current),U.key!==void 0&&(ve=""+U.key),_.type&&_.type.defaultProps)var xe=_.type.defaultProps;for(Se in U)F.call(U,Se)&&!q.hasOwnProperty(Se)&&(le[Se]=U[Se]===void 0&&xe!==void 0?xe[Se]:U[Se])}var Se=arguments.length-2;if(Se===1)le.children=oe;
vendor: 6,584 bytes, line 2
2else if(1<Se){xe=Array(Se);for(var Qe=0;Qe<Se;Qe++)xe[Qe]=arguments[Qe+2];le.children=xe}return{$$typeof:e,type:_.type,key:ve,ref:ge,props:le,_owner:pe}},ke.createContext=function(_){return _={$$typeof:f,_currentValue:_,_currentValue2:_,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},_.Provider={$$typeof:d,_context:_},_.Consumer=_},ke.createElement=X,ke.createFactory=function(_){var U=X.bind(null,_);return U.type=_,U},ke.createRef=function(){return{current:null}},ke.forwardRef=function(_){return{$$typeof:h,render:_}},ke.isValidElement=se,ke.lazy=function(_){return{$$typeof:w,_payload:{_status:-1,_result:_},_init:ae}},ke.memo=function(_,U){return{$$typeof:y,type:_,compare:U===void 0?null:U}},ke.startTransition=function(_){var U=z.transition;z.transition={};try{_()}finally{z.transition=U}},ke.unstable_act=Q,ke.useCallback=function(_,U){return ne.current.useCallback(_,U)},ke.useContext=function(_){return ne.current.useContext(_)},ke.useDebugValue=function(){},ke.useDeferredValue=function(_){return ne.current.useDeferredValue(_)},ke.useEffect=function(_,U){return ne.current.useEffect(_,U)},ke.useId=function(){return ne.current.useId()},ke.useImperativeHandle=function(_,U,oe){return ne.current.useImperativeHandle(_,U,oe)},ke.useInsertionEffect=function(_,U){return ne.current.useInsertionEffect(_,U)},ke.useLayoutEffect=function(_,U){return ne.current.useLayoutEffect(_,U)},ke.useMemo=function(_,U){return ne.current.useMemo(_,U)},ke.useReducer=function(_,U,oe){return ne.current.useReducer(_,U,oe)},ke.useRef=function(_){return ne.current.useRef(_)},ke.useState=function(_){return ne.current.useState(_)},ke.useSyncExternalStore=function(_,U,oe){return ne.current.useSyncExternalStore(_,U,oe)},ke.useTransition=function(){return ne.current.useTransition()},ke.version="18.3.1",ke}var Yf;function Zs(){return Yf||(Yf=1,fc.exports=fb()),fc.exports}var Jf;function hb(){if(Jf)return Ho;Jf=1;var e=Zs(),r=Symbol.for("react.element"),o=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,a=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,d={key:!0,ref:!0,__self:!0,__source:!0};function f(h,m,y){var w,b={},k=null,P=null;y!==void 0&&(k=""+y),m.key!==void 0&&(k=""+m.key),m.ref!==void 0&&(P=m.ref);for(w in m)s.call(m,w)&&!d.hasOwnProperty(w)&&(b[w]=m[w]);if(h&&h.defaultProps)for(w in m=h.defaultProps,m)b[w]===void 0&&(b[w]=m[w]);return{$$typeof:r,type:h,key:k,ref:P,props:b,_owner:a.current}}return Ho.Fragment=o,Ho.jsx=f,Ho.jsxs=f,Ho}var Xf;function mb(){return Xf||(Xf=1,pc.exports=hb()),pc.exports}var u=mb();const gb=Xs(u),yb=Js({__proto__:null,default:gb},[u]);var Ss={},hc={exports:{}},gt={},mc={exports:{}},gc={};var Zf;function vb(){return Zf||(Zf=1,(function(e){function r(z,K){var Q=z.length;z.push(K);e:for(;0<Q;){var _=Q-1>>>1,U=z[_];if(0<a(U,K))z[_]=K,z[Q]=U,Q=_;else break e}}function o(z){return z.length===0?null:z[0]}function s(z){if(z.length===0)return null;var K=z[0],Q=z.pop();if(Q!==K){z[0]=Q;e:for(var _=0,U=z.length,oe=U>>>1;_<oe;){var le=2*(_+1)-1,ve=z[le],ge=le+1,pe=z[ge];if(0>a(ve,Q))ge<U&&0>a(pe,ve)?(z[_]=pe,z[ge]=Q,_=ge):(z[_]=ve,z[le]=Q,_=le);else if(ge<U&&0>a(pe,Q))z[_]=pe,z[ge]=Q,_=ge;else break e}}return K}function a(z,K){var Q=z.sortIndex-K.sortIndex;return Q!==0?Q:z.id-K.id}if(typeof performance=="object"&&typeof performance.now=="function"){var d=performance;e.unstable_now=function(){return d.now()}}else{var f=Date,h=f.now();e.unstable_now=function(){return f.now()-h}}var m=[],y=[],w=1,b=null,k=3,P=!1,T=!1,E=!1,S=typeof setTimeout=="function"?setTimeout:null,I=typeof clearTimeout=="function"?clearTimeout:null,O=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function j(z){for(var K=o(y);K!==null;){if(K.callback===null)s(y);else if(K.startTime<=z)s(y),K.sortIndex=K.expirationTime,r(m,K);else break;K=o(y)}}function D(z){if(E=!1,j(z),!T)if(o(m)!==null)T=!0,ae(F);else{var K=o(y);K!==null&&ne(D,K.startTime-z)}}function F(z,K){T=!1,E&&(E=!1,I(X),X=-1),P=!0;var Q=k;try{for(j(K),b=o(m);b!==null&&(!(b.expirationTime>K)||z&&!ce());){var _=b.callback;if(typeof _=="function"){b.callback=null,k=b.priorityLevel;var U=_(b.expirationTime<=K);K=e.unstable_now(),typeof U=="function"?b.callback=U:b===o(m)&&s(m),j(K)}else s(m);b=o(m)}if(b!==null)var oe=!0;else{var le=o(y);le!==null&&ne(D,le.startTime-K),oe=!1}return oe}finally{b=null,k=Q,P=!1}}var B=!1,q=null,X=-1,Y=5,se=-1;function ce(){return!(e.unstable_now()-se<Y)}function te(){if(q!==null){var z=e.unstable_now();se=z;var K=!0;try{K=q(!0,z)}finally{K?me():(B=!1,q=null)}}else B=!1}var me;if(typeof O=="function")me=function(){O(te)};else if(typeof MessageChannel<"u"){var G=new MessageChannel,ye=G.port2;G.port1.onmessage=te,me=function(){ye.postMessage(null)}}else me=function(){S(te,0)};function ae(z){q=z,B||(B=!0,me())}function ne(z,K){X=S(function(){z(e.unstable_now())},K)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(z){z.callback=null},e.unstable_continueExecution=function(){T||P||(T=!0,ae(F))},e.unstable_forceFrameRate=function(z){0>z||125<z?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Y=0<z?Math.floor(1e3/z):5},e.unstable_getCurrentPriorityLevel=function(){return k},e.unstable_getFirstCallbackNode=function(){return o(m)},e.unstable_next=function(z){switch(k){case 1:case 2:case 3:var K=3;break;default:K=k}var Q=k;k=K;try{return z()}finally{k=Q}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(z,K){switch(z){case 1:case 2:case 3:case 4:case 5:break;default:z=3}var Q=k;k=z;try{return K()}finally{k=Q}},e.unstable_scheduleCallback=function(z,K,Q){var _=e.unstable_now();switch(typeof Q=="object"&&Q!==null?(Q=Q.delay,Q=typeof Q=="number"&&0<Q?_+Q:_):Q=_,z){case 1:var U=-1;break;case 2:U=250;break;case 5:U=1073741823;break;case 4:U=1e4;break;default:U=5e3}return U=Q+U,z={id:w++,callback:K,priorityLevel:z,startTime:Q,expirationTime:U,sortIndex:-1},Q>_?(z.sortIndex=Q,r(y,z),o(m)===null&&z===o(y)&&(E?(I(X),X=-1):E=!0,ne(D,Q-_))):(z.sortIndex=U,r(m,z),T||P||(T=!0,ae(F))),z},e.unstable_shouldYield=ce,e.unstable_wrapCallback=function(z){var K=k;return function(){var Q=k;k=K;try{return z.apply(this,arguments)}finally{k=Q}}}}
vendor: 37,443 bytes, lines 2-6
2)(gc)),gc}var eh;function wb(){return eh||(eh=1,mc.exports=vb()),mc.exports}var th;function bb(){if(th)return gt;th=1;var e=Zs(),r=wb();function o(t){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+t,i=1;i<arguments.length;i++)n+="&args[]="+encodeURIComponent(arguments[i]);return"Minified React error #"+t+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var s=new Set,a={};function d(t,n){f(t,n),f(t+"Capture",n)}function f(t,n){for(a[t]=n,t=0;t<n.length;t++)s.add(n[t])}var h=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),m=Object.prototype.hasOwnProperty,y=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,w={},b={};function k(t){return m.call(b,t)?!0:m.call(w,t)?!1:y.test(t)?b[t]=!0:(w[t]=!0,!1)}function P(t,n,i,l){if(i!==null&&i.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return l?!1:i!==null?!i.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function T(t,n,i,l){if(n===null||typeof n>"u"||P(t,n,i,l))return!0;if(l)return!1;if(i!==null)switch(i.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function E(t,n,i,l,c,p,g){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=l,this.attributeNamespace=c,this.mustUseProperty=i,this.propertyName=t,this.type=n,this.sanitizeURL=p,this.removeEmptyString=g}var S={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){S[t]=new E(t,0,!1,t,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var n=t[0];S[n]=new E(n,1,!1,t[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(t){S[t]=new E(t,2,!1,t.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){S[t]=new E(t,2,!1,t,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){S[t]=new E(t,3,!1,t.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(t){S[t]=new E(t,3,!0,t,null,!1,!1)}),["capture","download"].forEach(function(t){S[t]=new E(t,4,!1,t,null,!1,!1)}),["cols","rows","size","span"].forEach(function(t){S[t]=new E(t,6,!1,t,null,!1,!1)}),["rowSpan","start"].forEach(function(t){S[t]=new E(t,5,!1,t.toLowerCase(),null,!1,!1)});var I=/[\-:]([a-z])/g;function O(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var n=t.replace(I,O);S[n]=new E(n,1,!1,t,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var n=t.replace(I,O);S[n]=new E(n,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(t){var n=t.replace(I,O);S[n]=new E(n,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(t){S[t]=new E(t,1,!1,t.toLowerCase(),null,!1,!1)}),S.xlinkHref=new E("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(t){S[t]=new E(t,1,!1,t.toLowerCase(),null,!0,!0)});function j(t,n,i,l){var c=S.hasOwnProperty(n)?S[n]:null;(c!==null?c.type!==0:l||!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(T(n,i,c,l)&&(i=null),l||c===null?k(n)&&(i===null?t.removeAttribute(n):t.setAttribute(n,""+i)):c.mustUseProperty?t[c.propertyName]=i===null?c.type===3?!1:"":i:(n=c.attributeName,l=c.attributeNamespace,i===null?t.removeAttribute(n):(c=c.type,i=c===3||c===4&&i===!0?"":""+i,l?t.setAttributeNS(l,n,i):t.setAttribute(n,i))))}var D=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,F=Symbol.for("react.element"),B=Symbol.for("react.portal"),q=Symbol.for("react.fragment"),X=Symbol.for("react.strict_mode"),Y=Symbol.for("react.profiler"),se=Symbol.for("react.provider"),ce=Symbol.for("react.context"),te=Symbol.for("react.forward_ref"),me=Symbol.for("react.suspense"),G=Symbol.for("react.suspense_list"),ye=Symbol.for("react.memo"),ae=Symbol.for("react.lazy"),ne=Symbol.for("react.offscreen"),z=Symbol.iterator;function K(t){return t===null||typeof t!="object"?null:(t=z&&t[z]||t["@@iterator"],typeof t=="function"?t:null)}var Q=Object.assign,_;function U(t){if(_===void 0)try{throw Error()}catch(i){var n=i.stack.trim().match(/\n( *(at )?)/);_=n&&n[1]||""}return` 3`+_+t}var oe=!1;function le(t,n){if(!t||oe)return"";oe=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(n)if(n=function(){throw Error()},Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(n,[])}catch(M){var l=M}Reflect.construct(t,[],n)}else{try{n.call()}catch(M){l=M}t.call(n.prototype)}else{try{throw Error()}catch(M){l=M}t()}}catch(M){if(M&&l&&typeof M.stack=="string"){for(var c=M.stack.split(` 4`),p=l.stack.split(` 5`),g=c.length-1,x=p.length-1;1<=g&&0<=x&&c[g]!==p[x];)x--;for(;1<=g&&0<=x;g--,x--)if(c[g]!==p[x]){if(g!==1||x!==1)do if(g--,x--,0>x||c[g]!==p[x]){var C=` 6`+c[g].replace(" at new "," at ");return t.displayName&&C.includes("<anonymous>")&&(C=C.replace("<anonymous>",t.displayName)),C}while(1<=g&&0<=x);break}}}finally{oe=!1,Error.prepareStackTrace=i}return(t=t?t.displayName||t.name:"")?U(t):""}function ve(t){switch(t.tag){case 5:return U(t.type);case 16:return U("Lazy");case 13:return U("Suspense");case 19:return U("SuspenseList");case 0:case 2:case 15:return t=le(t.type,!1),t;case 11:return t=le(t.type.render,!1),t;case 1:return t=le(t.type,!0),t;default:return""}}function ge(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case q:return"Fragment";case B:return"Portal";case Y:return"Profiler";case X:return"StrictMode";case me:return"Suspense";case G:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case ce:return(t.displayName||"Context")+".Consumer";case se:return(t._context.displayName||"Context")+".Provider";case te:var n=t.render;return t=t.displayName,t||(t=n.displayName||n.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case ye:return n=t.displayName||null,n!==null?n:ge(t.type)||"Memo";case ae:n=t._payload,t=t._init;try{return ge(t(n))}catch{}}return null}function pe(t){var n=t.type;switch(t.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=n.render,t=t.displayName||t.name||"",n.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ge(n);case 8:return n===X?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function xe(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function Se(t){var n=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Qe(t){var n=Se(t)?"checked":"value",i=Object.getOwnPropertyDescriptor(t.constructor.prototype,n),l=""+t[n];if(!t.hasOwnProperty(n)&&typeof i<"u"&&typeof i.get=="function"&&typeof i.set=="function"){var c=i.get,p=i.set;return Object.defineProperty(t,n,{configurable:!0,get:function(){return c.call(this)},set:function(g){l=""+g,p.call(this,g)}}),Object.defineProperty(t,n,{enumerable:i.enumerable}),{getValue:function(){return l},setValue:function(g){l=""+g},stopTracking:function(){t._valueTracker=null,delete t[n]}}}}function Qt(t){t._valueTracker||(t._valueTracker=Qe(t))}function fr(t){if(!t)return!1;var n=t._valueTracker;if(!n)return!0;var i=n.getValue(),l="";return t&&(l=Se(t)?t.checked?"true":"false":t.value),t=l,t!==i?(n.setValue(t),!0):!1}function Et(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function ro(t,n){var i=n.checked;return Q({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:i??t._wrapperState.initialChecked})}function oo(t,n){var i=n.defaultValue==null?"":n.defaultValue,l=n.checked!=null?n.checked:n.defaultChecked;i=xe(n.value!=null?n.value:i),t._wrapperState={initialChecked:l,initialValue:i,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function nd(t,n){n=n.checked,n!=null&&j(t,"checked",n,!1)}function ba(t,n){nd(t,n);var i=xe(n.value),l=n.type;if(i!=null)l==="number"?(i===0&&t.value===""||t.value!=i)&&(t.value=""+i):t.value!==""+i&&(t.value=""+i);else if(l==="submit"||l==="reset"){t.removeAttribute("value");return}n.hasOwnProperty("value")?ka(t,n.type,i):n.hasOwnProperty("defaultValue")&&ka(t,n.type,xe(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(t.defaultChecked=!!n.defaultChecked)}function rd(t,n,i){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var l=n.type;if(!(l!=="submit"&&l!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+t._wrapperState.initialValue,i||n===t.value||(t.value=n),t.defaultValue=n}i=t.name,i!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,i!==""&&(t.name=i)}function ka(t,n,i){(n!=="number"||Et(t.ownerDocument)!==t)&&(i==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+i&&(t.defaultValue=""+i))}var io=Array.isArray;function hr(t,n,i,l){if(t=t.options,n){n={};for(var c=0;c<i.length;c++)n["$"+i[c]]=!0;for(i=0;i<t.length;i++)c=n.hasOwnProperty("$"+t[i].value),t[i].selected!==c&&(t[i].selected=c),c&&l&&(t[i].defaultSelected=!0)}else{for(i=""+xe(i),n=null,c=0;c<t.length;c++){if(t[c].value===i){t[c].selected=!0,l&&(t[c].defaultSelected=!0);return}n!==null||t[c].disabled||(n=t[c])}n!==null&&(n.selected=!0)}}function xa(t,n){if(n.dangerouslySetInnerHTML!=null)throw Error(o(91));return Q({},n,{value:void 0,defaultValue:void 0,children:""+t._wrapperState.initialValue})}function od(t,n){var i=n.value;if(i==null){if(i=n.children,n=n.defaultValue,i!=null){if(n!=null)throw Error(o(92));if(io(i)){if(1<i.length)throw Error(o(93));i=i[0]}n=i}n==null&&(n=""),i=n}t._wrapperState={initialValue:xe(i)}}function id(t,n){var i=xe(n.value),l=xe(n.defaultValue);i!=null&&(i=""+i,i!==t.value&&(t.value=i),n.defaultValue==null&&t.defaultValue!==i&&(t.defaultValue=i)),l!=null&&(t.defaultValue=""+l)}function sd(t){var n=t.textContent;n===t._wrapperState.initialValue&&n!==""&&n!==null&&(t.value=n)}function ad(t){switch(t){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Sa(t,n){return t==null||t==="http://www.w3.org/1999/xhtml"?ad(n):t==="http://www.w3.org/2000/svg"&&n==="foreignObject"?"http://www.w3.org/1999/xhtml":t}var mi,ld=(function(t){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(n,i,l,c){MSApp.execUnsafeLocalFunction(function(){return t(n,i,l,c)})}:t})(function(t,n){if(t.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in t)t.innerHTML=n;else{for(mi=mi||document.createElement("div"),mi.innerHTML="<svg>"+n.valueOf().toString()+"</svg>",n=mi.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;n.firstChild;)t.appendChild(n.firstChild)}});function so(t,n){if(n){var i=t.firstChild;if(i&&i===t.lastChild&&i.nodeType===3){i.nodeValue=n;return}}t.textContent=n}var ao={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},yv=["Webkit","ms","Moz","O"];Object.keys(ao).forEach(function(t){yv.forEach(function(n){n=n+t.charAt(0).toUpperCase()+t.substring(1),ao[n]=ao[t]})});function cd(t,n,i){return n==null||typeof n=="boolean"||n===""?"":i||typeof n!="number"||n===0||ao.hasOwnProperty(t)&&ao[t]?(""+n).trim():n+"px"}function ud(t,n){t=t.style;for(var i in n)if(n.hasOwnProperty(i)){var l=i.indexOf("--")===0,c=cd(i,n[i],l);i==="float"&&(i="cssFloat"),l?t.setProperty(i,c):t[i]=c}}var vv=Q({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function _a(t,n){if(n){if(vv[t]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(o(137,t));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(o(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(o(61))}if(n.style!=null&&typeof n.style!="object")throw Error(o(62))}}function Ea(t,n){if(t.indexOf("-")===-1)return typeof n.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Ca=null;function Pa(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Aa=null,mr=null,gr=null;function dd(t){if(t=jo(t)){if(typeof Aa!="function")throw Error(o(280));var n=t.stateNode;n&&(n=Ui(n),Aa(t.stateNode,t.type,n))}}function pd(t){mr?gr?gr.push(t):gr=[t]:mr=t}function fd(){if(mr){var t=mr,n=gr;if(gr=mr=null,dd(t),n)for(t=0;t<n.length;t++)dd(n[t])}}function hd(t,n){return t(n)}function md(){}var Ia=!1;function gd(t,n,i){if(Ia)return t(n,i);Ia=!0;try{return hd(t,n,i)}finally{Ia=!1,(mr!==null||gr!==null)&&(md(),fd())}}function lo(t,n){var i=t.stateNode;if(i===null)return null;var l=Ui(i);if(l===null)return null;i=l[n];e:switch(n){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(l=!l.disabled)||(t=t.type,l=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!l;break e;default:t=!1}if(t)return null;if(i&&typeof i!="function")throw Error(o(231,n,typeof i));return i}var ja=!1;if(h)try{var co={};Object.defineProperty(co,"passive",{get:function(){ja=!0}}),window.addEventListener("test",co,co),window.removeEventListener("test",co,co)}catch{ja=!1}function wv(t,n,i,l,c,p,g,x,C){var M=Array.prototype.slice.call(arguments,3);try{n.apply(i,M)}catch(W){this.onError(W)}}var uo=!1,gi=null,yi=!1,Ta=null,bv={onError:function(t){uo=!0,gi=t}};function kv(t,n,i,l,c,p,g,x,C){uo=!1,gi=null,wv.apply(bv,arguments)}function xv(t,n,i,l,c,p,g,x,C){if(kv.apply(this,arguments),uo){if(uo){var M=gi;uo=!1,gi=null}else throw Error(o(198));yi||(yi=!0,Ta=M)}}function Wn(t){var n=t,i=t;if(t.alternate)for(;n.return;)n=n.return;else{t=n;do n=t,(n.flags&4098)!==0&&(i=n.return),t=n.return;while(t)}return n.tag===3?i:null}function yd(t){if(t.tag===13){var n=t.memoizedState;if(n===null&&(t=t.alternate,t!==null&&(n=t.memoizedState)),n!==null)return n.dehydrated}return null}function vd(t){if(Wn(t)!==t)throw Error(o(188))}function Sv(t){var n=t.alternate;if(!n){if(n=Wn(t),n===null)throw Error(o(188));return n!==t?null:t}for(var i=t,l=n;;){var c=i.return;if(c===null)break;var p=c.alternate;if(p===null){if(l=c.return,l!==null){i=l;continue}break}if(c.child===p.child){for(p=c.child;p;){if(p===i)return vd(c),t;if(p===l)return vd(c),n;p=p.sibling}throw Error(o(188))}if(i.return!==l.return)i=c,l=p;else{for(var g=!1,x=c.child;x;){if(x===i){g=!0,i=c,l=p;break}if(x===l){g=!0,l=c,i=p;break}x=x.sibling}if(!g){for(x=p.child;x;){if(x===i){g=!0,i=p,l=c;break}if(x===l){g=!0,l=p,i=c;break}x=x.sibling}if(!g)throw Error(o(189))}}if(i.alternate!==l)throw Error(o(190))}if(i.tag!==3)throw Error(o(188));return i.stateNode.current===i?t:n}function wd(t){return t=Sv(t),t!==null?bd(t):null}function bd(t){if(t.tag===5||t.tag===6)return t;for(t=t.child;t!==null;){var n=bd(t);if(n!==null)return n;t=t.sibling}return null}var kd=r.unstable_scheduleCallback,xd=r.unstable_cancelCallback,_v=r.unstable_shouldYield,Ev=r.unstable_requestPaint,ze=r.unstable_now,Cv=r.unstable_getCurrentPriorityLevel,Ra=r.unstable_ImmediatePriority,Sd=r.unstable_UserBlockingPriority,vi=r.unstable_NormalPriority,Pv=r.unstable_LowPriority,_d=r.unstable_IdlePriority,wi=null,Kt=null;function Av(t){if(Kt&&typeof Kt.onCommitFiberRoot=="function")try{Kt.onCommitFiberRoot(wi,t,void 0,(t.current.flags&128)===128)}catch{}}var Lt=Math.clz32?Math.clz32:Tv,Iv=Math.log,jv=Math.LN2;function Tv(t){return t>>>=0,t===0?32:31-(Iv(t)/jv|0)|0}var bi=64,ki=4194304;function po(t){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:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function xi(t,n){var i=t.pendingLanes;if(i===0)return 0;var l=0,c=t.suspendedLanes,p=t.pingedLanes,g=i&268435455;if(g!==0){var x=g&~c;x!==0?l=po(x):(p&=g,p!==0&&(l=po(p)))}else g=i&~c,g!==0?l=po(g):p!==0&&(l=po(p));if(l===0)return 0;if(n!==0&&n!==l&&(n&c)===0&&(c=l&-l,p=n&-n,c>=p||c===16&&(p&4194240)!==0))return n;if((l&4)!==0&&(l|=i&16),n=t.entangledLanes,n!==0)for(t=t.entanglements,n&=l;0<n;)i=31-Lt(n),c=1<<i,l|=t[i],n&=~c;return l}function Rv(t,n){switch(t){case 1:case 2:case 4:return n+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ov(t,n){for(var i=t.suspendedLanes,l=t.pingedLanes,c=t.expirationTimes,p=t.pendingLanes;0<p;){var g=31-Lt(p),x=1<<g,C=c[g];C===-1?((x&i)===0||(x&l)!==0)&&(c[g]=Rv(x,n)):C<=n&&(t.expiredLanes|=x),p&=~x}}function Oa(t){return t=t.pendingLanes&-1073741825,t!==0?t:t&1073741824?1073741824:0}function Ed(){var t=bi;return bi<<=1,(bi&4194240)===0&&(bi=64),t}function Na(t){for(var n=[],i=0;31>i;i++)n.push(t);return n}function fo(t,n,i){t.pendingLanes|=n,n!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,n=31-Lt(n),t[n]=i}function Nv(t,n){var i=t.pendingLanes&~n;t.pendingLanes=n,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=n,t.mutableReadLanes&=n,t.entangledLanes&=n,n=t.entanglements;var l=t.eventTimes;for(t=t.expirationTimes;0<i;){var c=31-Lt(i),p=1<<c;n[c]=0,l[c]=-1,t[c]=-1,i&=~p}}function La(t,n){var i=t.entangledLanes|=n;for(t=t.entanglements;i;){var l=31-Lt(i),c=1<<l;c&n|t[l]&n&&(t[l]|=n),i&=~c}}var Ae=0;function Cd(t){return t&=-t,1<t?4<t?(t&268435455)!==0?16:536870912:4:1}var Pd,Ma,Ad,Id,jd,Da=!1,Si=[],wn=null,bn=null,kn=null,ho=new Map,mo=new Map,xn=[],Lv="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Td(t,n){switch(t){case"focusin":case"focusout":wn=null;break;case"dragenter":case"dragleave":bn=null;break;case"mouseover":case"mouseout":kn=null;break;case"pointerover":case"pointerout":ho.delete(n.pointerId);break;case"gotpointercapture":case"lostpointercapture":mo.delete(n.pointerId)}}function go(t,n,i,l,c,p){return t===null||t.nativeEvent!==p?(t={blockedOn:n,domEventName:i,eventSystemFlags:l,nativeEvent:p,targetContainers:[c]},n!==null&&(n=jo(n),n!==null&&Ma(n)),t):(t.eventSystemFlags|=l,n=t.targetContainers,c!==null&&n.indexOf(c)===-1&&n.push(c),t)}function Mv(t,n,i,l,c){switch(n){case"focusin":return wn=go(wn,t,n,i,l,c),!0;case"dragenter":return bn=go(bn,t,n,i,l,c),!0;case"mouseover":return kn=go(kn,t,n,i,l,c),!0;case"pointerover":var p=c.pointerId;return ho.set(p,go(ho.get(p)||null,t,n,i,l,c)),!0;case"gotpointercapture":return p=c.pointerId,mo.set(p,go(mo.get(p)||null,t,n,i,l,c)),!0}return!1}function Rd(t){var n=Hn(t.target);if(n!==null){var i=Wn(n);if(i!==null){if(n=i.tag,n===13){if(n=yd(i),n!==null){t.blockedOn=n,jd(t.priority,function(){Ad(i)});return}}else if(n===3&&i.stateNode.current.memoizedState.isDehydrated){t.blockedOn=i.tag===3?i.stateNode.containerInfo:null;return}}}t.blockedOn=null}function _i(t){if(t.blockedOn!==null)return!1;for(var n=t.targetContainers;0<n.length;){var i=za(t.domEventName,t.eventSystemFlags,n[0],t.nativeEvent);if(i===null){i=t.nativeEvent;var l=new i.constructor(i.type,i);Ca=l,i.target.dispatchEvent(l),Ca=null}else return n=jo(i),n!==null&&Ma(n),t.blockedOn=i,!1;n.shift()}return!0}function Od(t,n,i){_i(t)&&i.delete(n)}function Dv(){Da=!1,wn!==null&&_i(wn)&&(wn=null),bn!==null&&_i(bn)&&(bn=null),kn!==null&&_i(kn)&&(kn=null),ho.forEach(Od),mo.forEach(Od)}function yo(t,n){t.blockedOn===n&&(t.blockedOn=null,Da||(Da=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Dv)))}function vo(t){function n(c){return yo(c,t)}if(0<Si.length){yo(Si[0],t);for(var i=1;i<Si.length;i++){var l=Si[i];l.blockedOn===t&&(l.blockedOn=null)}}for(wn!==null&&yo(wn,t),bn!==null&&yo(bn,t),kn!==null&&yo(kn,t),ho.forEach(n),mo.forEach(n),i=0;i<xn.length;i++)l=xn[i],l.blockedOn===t&&(l.blockedOn=null);for(;0<xn.length&&(i=xn[0],i.blockedOn===null);)Rd(i),i.blockedOn===null&&xn.shift()}var yr=D.ReactCurrentBatchConfig,Ei=!0;function Uv(t,n,i,l){var c=Ae,p=yr.transition;yr.transition=null;try{Ae=1,Ua(t,n,i,l)}finally{Ae=c,yr.transition=p}}function zv(t,n,i,l){var c=Ae,p=yr.transition;yr.transition=null;try{Ae=4,Ua(t,n,i,l)}finally{Ae=c,yr.transition=p}}function Ua(t,n,i,l){if(Ei){var c=za(t,n,i,l);if(c===null)nl(t,n,l,Ci,i),Td(t,l);else if(Mv(c,t,n,i,l))l.stopPropagation();else if(Td(t,l),n&4&&-1<Lv.indexOf(t)){for(;c!==null;){var p=jo(c);if(p!==null&&Pd(p),p=za(t,n,i,l),p===null&&nl(t,n,l,Ci,i),p===c)break;c=p}c!==null&&l.stopPropagation()}else nl(t,n,l,null,i)}}var Ci=null;function za(t,n,i,l){if(Ci=null,t=Pa(l),t=Hn(t),t!==null)if(n=Wn(t),n===null)t=null;else if(i=n.tag,i===13){if(t=yd(n),t!==null)return t;t=null}else if(i===3){if(n.stateNode.current.memoizedState.isDehydrated)return n.tag===3?n.stateNode.containerInfo:null;t=null}else n!==t&&(t=null);return Ci=t,null}function Nd(t){switch(t){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Cv()){case Ra:return 1;case Sd:return 4;case vi:case Pv:return 16;case _d:return 536870912;default:return 16}default:return 16}}var Sn=null,Fa=null,Pi=null;function Ld(){if(Pi)return Pi;var t,n=Fa,i=n.length,l,c="value"in Sn?Sn.value:Sn.textContent,p=c.length;for(t=0;t<i&&n[t]===c[t];t++);var g=i-t;for(l=1;l<=g&&n[i-l]===c[p-l];l++);return Pi=c.slice(t,1<l?1-l:void 0)}function Ai(t){var n=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&n===13&&(t=13)):t=n,t===10&&(t=13),32<=t||t===13?t:0}function Ii(){return!0}function Md(){return!1}function vt(t){function n(i,l,c,p,g){this._reactName=i,this._targetInst=c,this.type=l,this.nativeEvent=p,this.target=g,this.currentTarget=null;for(var x in t)t.hasOwnProperty(x)&&(i=t[x],this[x]=i?i(p):p[x]);return this.isDefaultPrevented=(p.defaultPrevented!=null?p.defaultPrevented:p.returnValue===!1)?Ii:Md,this.isPropagationStopped=Md,this}return Q(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var i=this.nativeEvent;i&&(i.preventDefault?i.preventDefault():typeof i.returnValue!="unknown"&&(i.returnValue=!1),this.isDefaultPrevented=Ii)},stopPropagation:function(){var i=this.nativeEvent;i&&(i.stopPropagation?i.stopPropagation():typeof i.cancelBubble!="unknown"&&(i.cancelBubble=!0),this.isPropagationStopped=Ii)},persist:function(){},isPersistent:Ii}),n}var vr={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ba=vt(vr),wo=Q({},vr,{view:0,detail:0}),Fv=vt(wo),$a,qa,bo,ji=Q({},wo,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Ha,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==bo&&(bo&&t.type==="mousemove"?($a=t.screenX-bo.screenX,qa=t.screenY-bo.screenY):qa=$a=0,bo=t),$a)},movementY:function(t){return"movementY"in t?t.movementY:qa}}),Dd=vt(ji),Bv=Q({},ji,{dataTransfer:0}),$v=vt(Bv),qv=Q({},wo,{relatedTarget:0}),Wa=vt(qv),Wv=Q({},vr,{animationName:0,elapsedTime:0,pseudoElement:0}),Hv=vt(Wv),Vv=Q({},vr,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),Qv=vt(Vv),Kv=Q({},vr,{data:0}),Ud=vt(Kv),Gv={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Yv={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Jv={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Xv(t){var n=this.nativeEvent;return n.getModifierState?n.getModifierState(t):(t=Jv[t])?!!n[t]:!1}function Ha(){return Xv}var Zv=Q({},wo,{key:function(t){if(t.key){var n=Gv[t.key]||t.key;if(n!=="Unidentified")return n}return t.type==="keypress"?(t=Ai(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?Yv[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Ha,charCode:function(t){return t.type==="keypress"?Ai(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?Ai(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),ew=vt(Zv),tw=Q({},ji,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),zd=vt(tw),nw=Q({},wo,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Ha}),rw=vt(nw),ow=Q({},vr,{propertyName:0,elapsedTime:0,pseudoElement:0}),iw=vt(ow),sw=Q({},ji,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),aw=vt(sw),lw=[9,13,27,32],Va=h&&"CompositionEvent"in window,ko=null;h&&"documentMode"in document&&(ko=document.documentMode);var cw=h&&"TextEvent"in window&&!ko,Fd=h&&(!Va||ko&&8<ko&&11>=ko),Bd=" ",$d=!1;function qd(t,n){switch(t){case"keyup":return lw.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Wd(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var wr=!1;function uw(t,n){switch(t){case"compositionend":return Wd(n);case"keypress":return n.which!==32?null:($d=!0,Bd);case"textInput":return t=n.data,t===Bd&&$d?null:t;default:return null}}function dw(t,n){if(wr)return t==="compositionend"||!Va&&qd(t,n)?(t=Ld(),Pi=Fa=Sn=null,wr=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1<n.char.length)return n.char;if(n.which)return String.fromCharCode(n.which)}return null;case"compositionend":return Fd&&n.locale!=="ko"?null:n.data;default:return null}}var pw={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Hd(t){var n=t&&t.nodeName&&t.nodeName.toLowerCase();return n==="input"?!!pw[t.type]:n==="textarea"}function Vd(t,n,i,l){pd(l),n=Li(n,"onChange"),0<n.length&&(i=new Ba("onChange","change",null,i,l),t.push({event:i,listeners:n}))}var xo=null,So=null;function fw(t){up(t,0)}function Ti(t){var n=_r(t);if(fr(n))return t}function hw(t,n){if(t==="change")return n}var Qd=!1;if(h){var Qa;if(h){var Ka="oninput"in document;if(!Ka){var Kd=document.createElement("div");Kd.setAttribute("oninput","return;"),Ka=typeof Kd.oninput=="function"}Qa=Ka}else Qa=!1;Qd=Qa&&(!document.documentMode||9<document.documentMode)}function Gd(){xo&&(xo.detachEvent("onpropertychange",Yd),So=xo=null)}function Yd(t){if(t.propertyName==="value"&&Ti(So)){var n=[];Vd(n,So,t,Pa(t)),gd(fw,n)}}function mw(t,n,i){t==="focusin"?(Gd(),xo=n,So=i,xo.attachEvent("onpropertychange",Yd)):t==="focusout"&&Gd()}function gw(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return Ti(So)}function yw(t,n){if(t==="click")return Ti(n)}function vw(t,n){if(t==="input"||t==="change")return Ti(n)}function ww(t,n){return t===n&&(t!==0||1/t===1/n)||t!==t&&n!==n}var Mt=typeof Object.is=="function"?Object.is:ww;function _o(t,n){if(Mt(t,n))return!0;if(typeof t!="object"||t===null||typeof n!="object"||n===null)return!1;var i=Object.keys(t),l=Object.keys(n);if(i.length!==l.length)return!1;for(l=0;l<i.length;l++){var c=i[l];if(!m.call(n,c)||!Mt(t[c],n[c]))return!1}return!0}function Jd(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function Xd(t,n){var i=Jd(t);t=0;for(var l;i;){if(i.nodeType===3){if(l=t+i.textContent.length,t<=n&&l>=n)return{node:i,offset:n-t};t=l}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=Jd(i)}}function Zd(t,n){return t&&n?t===n?!0:t&&t.nodeType===3?!1:n&&n.nodeType===3?Zd(t,n.parentNode):"contains"in t?t.contains(n):t.compareDocumentPosition?!!(t.compareDocumentPosition(n)&16):!1:!1}function ep(){for(var t=window,n=Et();n instanceof t.HTMLIFrameElement;){try{var i=typeof n.contentWindow.location.href=="string"}catch{i=!1}if(i)t=n.contentWindow;else break;n=Et(t.document)}return n}function Ga(t){var n=t&&t.nodeName&&t.nodeName.toLowerCase();return n&&(n==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||n==="textarea"||t.contentEditable==="true")}function bw(t){var n=ep(),i=t.focusedElem,l=t.selectionRange;if(n!==i&&i&&i.ownerDocument&&Zd(i.ownerDocument.documentElement,i)){if(l!==null&&Ga(i)){if(n=l.start,t=l.end,t===void 0&&(t=n),"selectionStart"in i)i.selectionStart=n,i.selectionEnd=Math.min(t,i.value.length);else if(t=(n=i.ownerDocument||document)&&n.defaultView||window,t.getSelection){t=t.getSelection();var c=i.textContent.length,p=Math.min(l.start,c);l=l.end===void 0?p:Math.min(l.end,c),!t.extend&&p>l&&(c=l,l=p,p=c),c=Xd(i,p);var g=Xd(i,l);c&&g&&(t.rangeCount!==1||t.anchorNode!==c.node||t.anchorOffset!==c.offset||t.focusNode!==g.node||t.focusOffset!==g.offset)&&(n=n.createRange(),n.setStart(c.node,c.offset),t.removeAllRanges(),p>l?(t.addRange(n),t.extend(g.node,g.offset)):(n.setEnd(g.node,g.offset),t.addRange(n)))}}for(n=[],t=i;t=t.parentNode;)t.nodeType===1&&n.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof i.focus=="function"&&i.focus(),i=0;i<n.length;i++)t=n[i],t.element.scrollLeft=t.left,t.element.scrollTop=t.top}}var kw=h&&"documentMode"in document&&11>=document.documentMode,br=null,Ya=null,Eo=null,Ja=!1;function tp(t,n,i){var l=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;Ja||br==null||br!==Et(l)||(l=br,"selectionStart"in l&&Ga(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),Eo&&_o(Eo,l)||(Eo=l,l=Li(Ya,"onSelect"),0<l.length&&(n=new Ba("onSelect","select",null,n,i),t.push({event:n,listeners:l}),n.target=br)))}function Ri(t,n){var i={};return i[t.toLowerCase()]=n.toLowerCase(),i["Webkit"+t]="webkit"+n,i["Moz"+t]="moz"+n,i}var kr={animationend:Ri("Animation","AnimationEnd"),animationiteration:Ri("Animation","AnimationIteration"),animationstart:Ri("Animation","AnimationStart"),transitionend:Ri("Transition","TransitionEnd")},Xa={},np={};h&&(np=document.createElement("div").style,"AnimationEvent"in window||(delete kr.animationend.animation,delete kr.animationiteration.animation,delete kr.animationstart.animation),"TransitionEvent"in window||delete kr.transitionend.transition);function Oi(t){if(Xa[t])return Xa[t];if(!kr[t])return t;var n=kr[t],i;for(i in n)if(n.hasOwnProperty(i)&&i in np)return Xa[t]=n[i];return t}var rp=Oi("animationend"),op=Oi("animationiteration"),ip=Oi("animationstart"),sp=Oi("transitionend"),ap=new Map,lp="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function _n(t,n){ap.set(t,n),d(n,[t])}for(var Za=0;Za<lp.length;Za++){var el=lp[Za],xw=el.toLowerCase(),Sw=el[0].toUpperCase()+el.slice(1);_n(xw,"on"+Sw)}_n(rp,"onAnimationEnd"),_n(op,"onAnimationIteration"),_n(ip,"onAnimationStart"),_n("dblclick","onDoubleClick"),_n("focusin","onFocus"),_n("focusout","onBlur"),_n(sp,"onTransitionEnd"),f("onMouseEnter",["mouseout","mouseover"]),f("onMouseLeave",["mouseout","mouseover"]),f("onPointerEnter",["pointerout","pointerover"]),f("onPointerLeave",["pointerout","pointerover"]),d("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),d("onSelect","focusout contextmenu dragend focu
6sin keydown keyup mousedown mouseup selectionchange".split(" ")),d("onBeforeInput",["compositionend","keypress","textInput","paste"]),d("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),d("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),d("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Co="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),_w=new Set("cancel close invalid load scroll toggle".split(" ").concat(Co));function cp(t,n,i){var l=t.type||"unknown-event";t.currentTarget=i,xv(l,n,void 0,t),t.currentTarget=null}function up(t,n){n=(n&4)!==0;for(var i=0;i<t.length;i++){var l=t[i],c=l.event;l=l.listeners;e:{var p=void 0;if(n)for(var g=l.length-1;0<=g;g--){var x=l[g],C=x.instance,M=x.currentTarget;if(x=x.listener,C!==p&&c.isPropagationStopped())break e;cp(c,x,M),p=C}else for(g=0;g<l.length;g++){if(x=l[g],C=x.instance,M=x.currentTarget,x=x.listener,C!==p&&c.isPropagationStopped())break e;cp(c,x,M),p=C}}}if(yi)throw t=Ta,yi=!1,Ta=null,t}function Te(t,n){var i=n[ll];i===void 0&&(i=n[ll]=new Set);var l=t+"__bubble";i.has(l)||(dp(n,t,2,!1),i.add(l))}function tl(t,n,i){var l=0;n&&(l|=4),dp(i,t,l,n)}var Ni="_reactListening"+Math.random().toString(36).slice(2);function Po(t){if(!t[Ni]){t[Ni]=!0,s.forEach(function(i){i!=="selectionchange"&&(_w.has(i)||tl(i,!1,t),tl(i,!0,t))});var n=t.nodeType===9?t:t.ownerDocument;n===null||n[Ni]||(n[Ni]=!0,tl("selectionchange",!1,n))}}function dp(t,n,i,l){switch(Nd(n)){case 1:var c=Uv;break;case 4:c=zv;break;default:c=Ua}i=c.bind(null,n,i,t),c=void 0,!ja||n!=="touchstart"&&n!=="touchmove"&&n!=="wheel"||(c=!0),l?c!==void 0?t.addEventListener(n,i,{capture:!0,passive:c}):t.addEventListener(n,i,!0):c!==void 0?t.addEventListener(n,i,{passive:c}):t.addEventListener(n,i,!1)}function nl(t,n,i,l,c){var p=l;if((n&1)===0&&(n&2)===0&&l!==null)e:for(;;){if(l===null)return;var g=l.tag;if(g===3||g===4){var x=l.stateNode.containerInfo;if(x===c||x.nodeType===8&&x.parentNode===c)break;if(g===4)for(g=l.return;g!==null;){var C=g.tag;if((C===3||C===4)&&(C=g.stateNode.containerInfo,C===c||C.nodeType===8&&C.parentNode===c))return;g=g.return}for(;x!==null;){if(g=Hn(x),g===null)return;if(C=g.tag,C===5||C===6){l=p=g;continue e}x=x.parentNode}}l=l.return}gd(function(){var M=p,W=Pa(i),H=[];e:{var $=ap.get(t);if($!==void 0){var J=Ba,ee=t;switch(t){case"keypress":if(Ai(i)===0)break e;case"keydown":case"keyup":J=ew;break;case"focusin":ee="focus",J=Wa;break;case"focusout":ee="blur",J=Wa;break;case"beforeblur":case"afterblur":J=Wa;break;case"click":if(i.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":J=Dd;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":J=$v;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":J=rw;break;case rp:case op:case ip:J=Hv;break;case sp:J=iw;break;case"scroll":J=Fv;break;case"wheel":J=aw;break;case"copy":case"cut":case"paste":J=Qv;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":J=zd}var re=(n&4)!==0,Fe=!re&&t==="scroll",R=re?$!==null?$+"Capture":null:$;re=[];for(var A=M,N;A!==null;){N=A;var V=N.stateNode;if(N.tag===5&&V!==null&&(N=V,R!==null&&(V=lo(A,R),V!=null&&re.push(Ao(A,V,N)))),Fe)break;A=A.return}0<re.length&&($=new J($,ee,null,i,W),H.push({event:$,listeners:re}))}}if((n&7)===0){e:{if($=t==="mouseover"||t==="pointerover",J=t==="mouseout"||t==="pointerout",$&&i!==Ca&&(ee=i.relatedTarget||i.fromElement)&&(Hn(ee)||ee[rn]))break e;if((J||$)&&($=W.window===W?W:($=W.ownerDocument)?$.defaultView||$.parentWindow:window,J?(ee=i.relatedTarget||i.toElement,J=M,ee=ee?Hn(ee):null,ee!==null&&(Fe=Wn(ee),ee!==Fe||ee.tag!==5&&ee.tag!==6)&&(ee=null)):(J=null,ee=M),J!==ee)){if(re=Dd,V="onMouseLeave",R="onMouseEnter",A="mou
6se",(t==="pointerout"||t==="pointerover")&&(re=zd,V="onPointerLeave",R="onPointerEnter",A="pointer"),Fe=J==null?$:_r(J),N=ee==null?$:_r(ee),$=new re(V,A+"leave",J,i,W),$.target=Fe,$.relatedTarget=N,V=null,Hn(W)===M&&(re=new re(R,A+"enter",ee,i,W),re.target=N,re.relatedTarget=Fe,V=re),Fe=V,J&&ee)t:{for(re=J,R=ee,A=0,N=re;N;N=xr(N))A++;for(N=0,V=R;V;V=xr(V))N++;for(;0<A-N;)re=xr(re),A--;for(;0<N-A;)R=xr(R),N--;for(;A--;){if(re===R||R!==null&&re===R.alternate)break t;re=xr(re),R=xr(R)}re=null}else re=null;J!==null&&pp(H,$,J,re,!1),ee!==null&&Fe!==null&&pp(H,Fe,ee,re,!0)}}e:{if($=M?_r(M):window,J=$.nodeName&&$.nodeName.toLowerCase(),J==="select"||J==="input"&&$.type==="file")var ie=hw;else if(Hd($))if(Qd)ie=vw;else{ie=gw;var ue=mw}else(J=$.nodeName)&&J.toLowerCase()==="input"&&($.type==="checkbox"||$.type==="radio")&&(ie=yw);if(ie&&(ie=ie(t,M))){Vd(H,ie,i,W);break e}ue&&ue(t,$,M),t==="focusout"&&(ue=$._wrapperState)&&ue.controlled&&$.type==="number"&&ka($,"number",$.value)}switch(ue=M?_r(M):window,t){case"focusin":(Hd(ue)||ue.contentEditable==="true")&&(br=ue,Ya=M,Eo=null);break;case"focusout":Eo=Ya=br=null;break;case"mousedown":Ja=!0;break;case"contextmenu":case"mouseup":case"dragend":Ja=!1,tp(H,i,W);break;case"selectionchange":if(kw)break;case"keydown":case"keyup":tp(H,i,W)}var de;if(Va)e:{switch(t){case"compositionstart":var fe="onCompositionStart";break e;case"compositionend":fe="onCompositionEnd";break e;case"compositionupdate":fe="onCompositionUpdate";break e}fe=void 0}else wr?qd(t,i)&&(fe="onCompositionEnd"):t==="keydown"&&i.keyCode===229&&(fe="onCompositionStart");fe&&(Fd&&i.locale!=="ko"&&(wr||fe!=="onCompositionStart"?fe==="onCompositionEnd"&&wr&&(de=Ld()):(Sn=W,Fa="value"in Sn?Sn.value:Sn.textContent,wr=!0)),ue=Li(M,fe),0<ue.length&&(fe=new Ud(fe,t,null,i,W),H.push({event:fe,listeners:ue}),de?fe.data=de:(de=Wd(i),de!==null&&(fe.data=de)))),(de=cw?uw(t,i):dw(t,i))&&(M=Li(M,"onBeforeInput"),0<M.length&&(W=new Ud("onBeforeInput","beforeinput",null,i,W),H.push({event:W,listeners:M}),W.data=de))}up(H,n)})}function Ao(t,n,i){return{instance:t,listener:n,currentTarget:i}}function Li(t,n){for(var i=n+"Capture",l=[];t!==null;){var c=t,p=c.stateNode;c.tag===5&&p!==null&&(c=p,p=lo(t,i),p!=null&&l.unshift(Ao(t,p,c)),p=lo(t,n),p!=null&&l.push(Ao(t,p,c))),t=t.return}return l}function xr(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5);return t||null}function pp(t,n,i,l,c){for(var p=n._reactName,g=[];i!==null&&i!==l;){var x=i,C=x.alternate,M=x.stateNode;if(C!==null&&C===l)break;x.tag===5&&M!==null&&(x=M,c?(C=lo(i,p),C!=null&&g.unshift(Ao(i,C,x))):c||(C=lo(i,p),C!=null&&g.push(Ao(i,C,x)))),i=i.return}g.length!==0&&t.push({event:n,listeners:g})}var Ew=/\r\n?/g,Cw=/\u0000|\uFFFD/g;function fp(t){return(typeof t=="string"?t:""+t).replace(Ew,` 7`).replace(Cw,"")}function Mi(t,n,i){if(n=fp(n),fp(t)!==n&&i)throw Error(o(425))}function Di(){}var rl=null,ol=null;function il(t,n){return t==="textarea"||t==="noscript"||typeof n.children=="string"||typeof n.children=="number"||typeof n.dangerouslySetInnerHTML=="object"&&n.dangerouslySetInnerHTML!==null&&n.dangerouslySetInnerHTML.__html!=null}var sl=typeof setTimeout=="function"?setTimeout:void 0,Pw=typeof clearTimeout=="function"?clearTimeout:void 0,hp=typeof Promise=="function"?Promise:void 0,Aw=typeof queueMicrotask=="function"?queueMicrotask:typeof hp<"u"?function(t){return hp.resolve(null).then(t).catch(Iw)}:sl;function Iw(t){setTimeout(function(){throw t})}function al(t,n){var i=n,l=0;do{var c=i.nextSibling;if(t.removeChild(i),c&&c.nodeType===8)if(i=c.data,i==="/$"){if(l===0){t.removeChild(c),vo(n);return}l--}else i!=="$"&&i!=="$?"&&i!=="$!"||l++;i=c}while(i);vo(n)}function En(t){for(;t!=null;t=t.nextSibling){var n=t.nodeType;if(n===1||n===3)break;if(n===8){if(n=t.data,n==="$"||n==="$!"||n==="$?")break;if(n==="/$")return null}}return t}function mp(t){t=t.previousSibling;for(var n=0;t;){if(t.nodeType===8){var i=t.data;if(i==="$"||i==="$!"||i==="$?"){if(n===0)return t;n--}else i==="/$"&&n++}t=t.previousSibling}return null}var Sr=Math.random().toString(36).slice(2),Gt="__reactFiber$"+Sr,Io="__reactProps$"+Sr,rn="__reactContainer$"+Sr,ll="__reactEvents$"+Sr,jw="__reactListeners$"+Sr,Tw="__reactHandles$"+Sr;function Hn(t){var n=t[Gt];if(n)return n;for(var i=t.parentNode;i;){if(n=i[rn]||i[Gt]){if(i=n.alternate,n.child!==null||i!==null&&i.child!==null)for(t=mp(t);t!==null;){if(i=t[Gt])return i;t=mp(t)}return n}t=i,i=t.parentNode}return null}function jo(t){return t=t[Gt]||t[rn],!t||t.tag!==5&&t.tag!==6&&t.tag!==13&&t.tag!==3?null:t}function _r(t){if(t.tag===5||t.tag===6)return t.stateNode;throw Error(o(33))}function Ui(t){return t[Io]||null}var cl=[],Er=-1;function Cn(t){return{current:t}}function Re(t){0>Er||(t.current=cl[Er],cl[Er]=null,Er--)}function je(t,n){Er++,cl[Er]=t.current,t.current=n}var Pn={},et=Cn(Pn),dt=Cn(!1),Vn=Pn;function Cr(t,n){var i=t.type.contextTypes;if(!i)return Pn;var l=t.stateNode;if(l&&l.__reactInternalMemoizedUnmaskedChildContext===n)return l.__reactInternalMemoizedMaskedChildContext;var c={},p;for(p in i)c[p]=n[p];return l&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=n,t.__reactInternalMemoizedMaskedChildContext=c),c}function pt(t){return t=t.childContextTypes,t!=null}function zi(){Re(dt),Re(et)}function gp(t,n,i){if(et.current!==Pn)throw Error(o(168));je(et,n),je(dt,i)}function yp(t,n,i){var l=t.stateNode;if(n=n.childContextTypes,typeof l.getChildContext!="function")return i;l=l.getChildContext();for(var c in l)if(!(c in n))throw Error(o(108,pe(t)||"Unknown",c));return Q({},i,l)}function Fi(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Pn,Vn=et.current,je(et,t),je(dt,dt.current),!0}function vp(t,n,i){var l=t.stateNode;if(!l)throw Error(o(169));i?(t=yp(t,n,Vn),l.__reactInternalMemoizedMergedChildContext=t,Re(dt),Re(et),je(et,t)):Re(dt),je(dt,i)}var on=null,Bi=!1,ul=!1;function wp(t){on===null?on=[t]:on.push(t)}function Rw(t){Bi=!0,wp(t)}function An(){if(!ul&&on!==null){ul=!0;var t=0,n=Ae;try{var i=on;for(Ae=1;t<i.length;t++){var l=i[t];do l=l(!0);while(l!==null)}on=null,Bi=!1}
vendor: 5,730 bytes, line 7
7catch(c){throw on!==null&&(on=on.slice(t+1)),kd(Ra,An),c}finally{Ae=n,ul=!1}}return null}var Pr=[],Ar=0,$i=null,qi=0,Ct=[],Pt=0,Qn=null,sn=1,an="";function Kn(t,n){Pr[Ar++]=qi,Pr[Ar++]=$i,$i=t,qi=n}function bp(t,n,i){Ct[Pt++]=sn,Ct[Pt++]=an,Ct[Pt++]=Qn,Qn=t;var l=sn;t=an;var c=32-Lt(l)-1;l&=~(1<<c),i+=1;var p=32-Lt(n)+c;if(30<p){var g=c-c%5;p=(l&(1<<g)-1).toString(32),l>>=g,c-=g,sn=1<<32-Lt(n)+c|i<<c|l,an=p+t}else sn=1<<p|i<<c|l,an=t}function dl(t){t.return!==null&&(Kn(t,1),bp(t,1,0))}function pl(t){for(;t===$i;)$i=Pr[--Ar],Pr[Ar]=null,qi=Pr[--Ar],Pr[Ar]=null;for(;t===Qn;)Qn=Ct[--Pt],Ct[Pt]=null,an=Ct[--Pt],Ct[Pt]=null,sn=Ct[--Pt],Ct[Pt]=null}var wt=null,bt=null,Ne=!1,Dt=null;function kp(t,n){var i=Tt(5,null,null,0);i.elementType="DELETED",i.stateNode=n,i.return=t,n=t.deletions,n===null?(t.deletions=[i],t.flags|=16):n.push(i)}function xp(t,n){switch(t.tag){case 5:var i=t.type;return n=n.nodeType!==1||i.toLowerCase()!==n.nodeName.toLowerCase()?null:n,n!==null?(t.stateNode=n,wt=t,bt=En(n.firstChild),!0):!1;case 6:return n=t.pendingProps===""||n.nodeType!==3?null:n,n!==null?(t.stateNode=n,wt=t,bt=null,!0):!1;case 13:return n=n.nodeType!==8?null:n,n!==null?(i=Qn!==null?{id:sn,overflow:an}:null,t.memoizedState={dehydrated:n,treeContext:i,retryLane:1073741824},i=Tt(18,null,null,0),i.stateNode=n,i.return=t,t.child=i,wt=t,bt=null,!0):!1;default:return!1}}function fl(t){return(t.mode&1)!==0&&(t.flags&128)===0}function hl(t){if(Ne){var n=bt;if(n){var i=n;if(!xp(t,n)){if(fl(t))throw Error(o(418));n=En(i.nextSibling);var l=wt;n&&xp(t,n)?kp(l,i):(t.flags=t.flags&-4097|2,Ne=!1,wt=t)}}else{if(fl(t))throw Error(o(418));t.flags=t.flags&-4097|2,Ne=!1,wt=t}}}function Sp(t){for(t=t.return;t!==null&&t.tag!==5&&t.tag!==3&&t.tag!==13;)t=t.return;wt=t}function Wi(t){if(t!==wt)return!1;if(!Ne)return Sp(t),Ne=!0,!1;var n;if((n=t.tag!==3)&&!(n=t.tag!==5)&&(n=t.type,n=n!=="head"&&n!=="body"&&!il(t.type,t.memoizedProps)),n&&(n=bt)){if(fl(t))throw _p(),Error(o(418));for(;n;)kp(t,n),n=En(n.nextSibling)}if(Sp(t),t.tag===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(o(317));e:{for(t=t.nextSibling,n=0;t;){if(t.nodeType===8){var i=t.data;if(i==="/$"){if(n===0){bt=En(t.nextSibling);break e}n--}else i!=="$"&&i!=="$!"&&i!=="$?"||n++}t=t.nextSibling}bt=null}}else bt=wt?En(t.stateNode.nextSibling):null;return!0}function _p(){for(var t=bt;t;)t=En(t.nextSibling)}function Ir(){bt=wt=null,Ne=!1}function ml(t){Dt===null?Dt=[t]:Dt.push(t)}var Ow=D.ReactCurrentBatchConfig;function To(t,n,i){if(t=i.ref,t!==null&&typeof t!="function"&&typeof t!="object"){if(i._owner){if(i=i._owner,i){if(i.tag!==1)throw Error(o(309));var l=i.stateNode}if(!l)throw Error(o(147,t));var c=l,p=""+t;return n!==null&&n.ref!==null&&typeof n.ref=="function"&&n.ref._stringRef===p?n.ref:(n=function(g){var x=c.refs;g===null?delete x[p]:x[p]=g},n._stringRef=p,n)}if(typeof t!="string")throw Error(o(284));if(!i._owner)throw Error(o(290,t))}return t}function Hi(t,n){throw t=Object.prototype.toString.call(n),Error(o(31,t==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":t))}function Ep(t){var n=t._init;return n(t._payload)}function Cp(t){function n(R,A){if(t){var N=R.deletions;N===null?(R.deletions=[A],R.flags|=16):N.push(A)}}function i(R,A){if(!t)return null;for(;A!==null;)n(R,A),A=A.sibling;return null}function l(R,A){for(R=new Map;A!==null;)A.key!==null?R.set(A.key,A):R.set(A.index,A),A=A.sibling;return R}function c(R,A){return R=Mn(R,A),R.index=0,R.sibling=null,R}function p(R,A,N){return R.index=N,t?(N=R.alternate,N!==null?(N=N.index,N<A?(R.flags|=2,A):N):(R.flags|=2,A)):(R.flags|=1048576,A)}function g(R){return t&&R.alternate===null&&(R.flags|=2),R}function x(R,A,N,V){return A===null||A.tag!==6?(A=sc(N,R.mode,V),A.return=R,A):(A=c(A,N),A.return=R,A)}function C(R,A,N,V){var ie=N.type;return ie===q?W(R,A,N.props.children,V,N.key):A!==null&&(A.elementType===ie||typeof ie=="object"&&ie!==null&&ie.$$typeof===ae&&Ep(ie)===A.type)?(V=c(A,N.props),V.ref=To(R,A,N),V.return=R,V):(V=ms(N.type,N.key,N.props,null,R.mode,V),V.ref=To(R,A,N),V.return=R,V)}function M(R,A,N,V){return A===null||A.tag!==4||A.stateNode.containerInfo!==N.containerInfo||A.stateNode.implementation!==N.implementation?(A=ac(N,R.mode,V),A.return=R,A):(A=c(A,N.children||[]),A.return=R,A)}function W(R,A,N,V,ie){return A===null||A.tag!==7?(A=nr(N,R.mode,V,ie),A.return=R,A):(A=c(A,N),A.return=R,A)}function H(R,A,N){if(typeof A=="string"&&A!==""||typeof A=="number")return A=sc(""+A,R.mode,N),A.return=R,A;if(typeof A=="object"&&A!==null){switch(A.$$typeof){case F:return N=ms(A.type,A.key,A.props,null,R.mode,N),N.ref=To(R,null,A),N.return=R,N;case B:return A=ac(A,R.mode,N),A.return=R,A;case ae:var V=A._init;return H(R,V(A._payload),N)}if(io(A)||K(A))return A=nr(A,R.mode,N,null),A.return=R,A;Hi(R,A)}return null}function $(R,A,N,V){var ie=A!==null?A.key:null;if(typeof N=="string"&&N!==""||typeof N=="number")return ie!==null?null:x(R,A,""+N,V);if(typeof N=="object"&&N!==null){switch(N.$$typeof){case F:return N.key===ie?C(R,A,N,V):null;case B:return N.key===ie?M(R,A,N,V):null;case ae:return ie=N._init,$(R,A,ie(N._payload),V)}if(io(N)||K(N))return ie!==null?null:W(R,A,N,V,null);Hi(R,N)}return null}function J(R,A,N,V,ie){if(typeof V=="string"&&V!==""||typeof V=="number")return R=R.get(N)||null,x(A,R,""+V,ie);if(typeof V=="object"&&V!==null){switch(V.$$typeof){case F:return R=R.get(V.key===null?N:V.key)||null,C(A,R,V,ie);case B:return R=R.get(V.key===null?N:V.key)||null,M(A,R,V,ie);case ae:var ue=V._init;return J(R,A,N,ue(V._payload),ie)}if(io(V)||K(V))return R=R.get(N)||null,W(A,R,V,ie,null);Hi(A,V)}return null}function ee(R,A,N,V){for(var ie=null,ue=null,de=A,fe=A=0,Ye=null;de!==null&&fe<N.length;fe++){de.index>
vendor: 20,553 bytes, lines 7-9
7fe?(Ye=de,de=null):Ye=de.sibling;var Ee=$(R,de,N[fe],V);if(Ee===null){de===null&&(de=Ye);break}t&&de&&Ee.alternate===null&&n(R,de),A=p(Ee,A,fe),ue===null?ie=Ee:ue.sibling=Ee,ue=Ee,de=Ye}if(fe===N.length)return i(R,de),Ne&&Kn(R,fe),ie;if(de===null){for(;fe<N.length;fe++)de=H(R,N[fe],V),de!==null&&(A=p(de,A,fe),ue===null?ie=de:ue.sibling=de,ue=de);return Ne&&Kn(R,fe),ie}for(de=l(R,de);fe<N.length;fe++)Ye=J(de,R,fe,N[fe],V),Ye!==null&&(t&&Ye.alternate!==null&&de.delete(Ye.key===null?fe:Ye.key),A=p(Ye,A,fe),ue===null?ie=Ye:ue.sibling=Ye,ue=Ye);return t&&de.forEach(function(Dn){return n(R,Dn)}),Ne&&Kn(R,fe),ie}function re(R,A,N,V){var ie=K(N);if(typeof ie!="function")throw Error(o(150));if(N=ie.call(N),N==null)throw Error(o(151));for(var ue=ie=null,de=A,fe=A=0,Ye=null,Ee=N.next();de!==null&&!Ee.done;fe++,Ee=N.next()){de.index>fe?(Ye=de,de=null):Ye=de.sibling;var Dn=$(R,de,Ee.value,V);if(Dn===null){de===null&&(de=Ye);break}t&&de&&Dn.alternate===null&&n(R,de),A=p(Dn,A,fe),ue===null?ie=Dn:ue.sibling=Dn,ue=Dn,de=Ye}if(Ee.done)return i(R,de),Ne&&Kn(R,fe),ie;if(de===null){for(;!Ee.done;fe++,Ee=N.next())Ee=H(R,Ee.value,V),Ee!==null&&(A=p(Ee,A,fe),ue===null?ie=Ee:ue.sibling=Ee,ue=Ee);return Ne&&Kn(R,fe),ie}for(de=l(R,de);!Ee.done;fe++,Ee=N.next())Ee=J(de,R,fe,Ee.value,V),Ee!==null&&(t&&Ee.alternate!==null&&de.delete(Ee.key===null?fe:Ee.key),A=p(Ee,A,fe),ue===null?ie=Ee:ue.sibling=Ee,ue=Ee);return t&&de.forEach(function(pb){return n(R,pb)}),Ne&&Kn(R,fe),ie}function Fe(R,A,N,V){if(typeof N=="object"&&N!==null&&N.type===q&&N.key===null&&(N=N.props.children),typeof N=="object"&&N!==null){switch(N.$$typeof){case F:e:{for(var ie=N.key,ue=A;ue!==null;){if(ue.key===ie){if(ie=N.type,ie===q){if(ue.tag===7){i(R,ue.sibling),A=c(ue,N.props.children),A.return=R,R=A;break e}}else if(ue.elementType===ie||typeof ie=="object"&&ie!==null&&ie.$$typeof===ae&&Ep(ie)===ue.type){i(R,ue.sibling),A=c(ue,N.props),A.ref=To(R,ue,N),A.return=R,R=A;break e}i(R,ue);break}else n(R,ue);ue=ue.sibling}N.type===q?(A=nr(N.props.children,R.mode,V,N.key),A.return=R,R=A):(V=ms(N.type,N.key,N.props,null,R.mode,V),V.ref=To(R,A,N),V.return=R,R=V)}return g(R);case B:e:{for(ue=N.key;A!==null;){if(A.key===ue)if(A.tag===4&&A.stateNode.containerInfo===N.containerInfo&&A.stateNode.implementation===N.implementation){i(R,A.sibling),A=c(A,N.children||[]),A.return=R,R=A;break e}else{i(R,A);break}else n(R,A);A=A.sibling}A=ac(N,R.mode,V),A.return=R,R=A}return g(R);case ae:return ue=N._init,Fe(R,A,ue(N._payload),V)}if(io(N))return ee(R,A,N,V);if(K(N))return re(R,A,N,V);Hi(R,N)}return typeof N=="string"&&N!==""||typeof N=="number"?(N=""+N,A!==null&&A.tag===6?(i(R,A.sibling),A=c(A,N),A.return=R,R=A):(i(R,A),A=sc(N,R.mode,V),A.return=R,R=A),g(R)):i(R,A)}return Fe}var jr=Cp(!0),Pp=Cp(!1),Vi=Cn(null),Qi=null,Tr=null,gl=null;function yl(){gl=Tr=Qi=null}function vl(t){var n=Vi.current;Re(Vi),t._currentValue=n}function wl(t,n,i){for(;t!==null;){var l=t.alternate;if((t.childLanes&n)!==n?(t.childLanes|=n,l!==null&&(l.childLanes|=n)):l!==null&&(l.childLanes&n)!==n&&(l.childLanes|=n),t===i)break;t=t.return}}function Rr(t,n){Qi=t,gl=Tr=null,t=t.dependencies,t!==null&&t.firstContext!==null&&((t.lanes&n)!==0&&(ft=!0),t.firstContext=null)}function At(t){var n=t._currentValue;if(gl!==t)if(t={context:t,memoizedValue:n,next:null},Tr===null){if(Qi===null)throw Error(o(308));Tr=t,Qi.dependencies={lanes:0,firstContext:t}}else Tr=Tr.next=t;return n}var Gn=null;function bl(t){Gn===null?Gn=[t]:Gn.push(t)}function Ap(t,n,i,l){var c=n.interleaved;return c===null?(i.next=i,bl(n)):(i.next=c.next,c.next=i),n.interleaved=i,ln(t,l)}function ln(t,n){t.lanes|=n;var i=t.alternate;for(i!==null&&(i.lanes|=n),i=t,t=t.return;t!==null;)t.childLanes|=n,i=t.alternate,i!==null&&(i.childLanes|=n),i=t,t=t.return;return i.tag===3?i.stateNode:null}var In=!1;function kl(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ip(t,n){t=t.updateQueue,n.updateQueue===t&&(n.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function cn(t,n){return{eventTime:t,lane:n,tag:0,payload:null,callback:null,next:null}}function jn(t,n,i){var l=t.updateQueue;if(l===null)return null;if(l=l.shared,(_e&2)!==0){var c=l.pending;return c===null?n.next=n:(n.next=c.next,c.next=n),l.pending=n,ln(t,i)}return c=l.interleaved,c===null?(n.next=n,bl(l)):(n.next=c.next,c.next=n),l.interleaved=n,ln(t,i)}function Ki(t,n,i){if(n=n.updateQueue,n!==null&&(n=n.shared,(i&4194240)!==0)){var l=n.lanes;l&=t.pendingLanes,i|=l,n.lanes=i,La(t,i)}}function jp(t,n){var i=t.updateQueue,l=t.alternate;if(l!==null&&(l=l.updateQueue,i===l)){var c=null,p=null;if(i=i.firstBaseUpdate,i!==null){do{var g={eventTime:i.eventTime,lane:i.lane,tag:i.tag,payload:i.payload,callback:i.callback,next:null};p===null?c=p=g:p=p.next=g,i=i.next}while(i!==null);p===null?c=p=n:p=p.next=n}else c=p=n;i={baseState:l.baseState,firstBaseUpdate:c,lastBaseUpdate:p,shared:l.shared,effects:l.effects},t.updateQueue=i;return}t=i.lastBaseUpdate,t===null?i.firstBaseUpdate=n:t.next=n,i.lastBaseUpdate=n}function Gi(t,n,i,l){var c=t.updateQueue;In=!1;var p=c.firstBaseUpdate,g=c.lastBaseUpdate,x=c.shared.pending;if(x!==null){c.shared.pending=null;var C=x,M=C.next;C.next=null,g===null?p=M:g.next=M,g=C;var W=t.alternate;W!==null&&(W=W.updateQueue,x=W.lastBaseUpdate,x!==g&&(x===null?W.firstBaseUpdate=M:x.next=M,W.lastBaseUpdate=C))}if(p!==null){var H=c.baseState;g=0,W=M=C=null,x=p;do{var $=x.lane,J=x.eventTime;if((l&$)===$){W!==null&&(W=W.next={eventTime:J,lane:0,tag:x.tag,payload:x.payload,callback:x.callback,next:null});e:{var ee=t,re=x;switch($=n,J=i,re.tag){case 1:if(ee=re.payload,typeof ee=="function"){H=ee.call(J,H,$);break e}H=ee;break e;case 3:ee.flags=ee.flags&-65537|128;case 0:if(ee=re.payload,$=typeof ee=="function"?ee.call(J,H,$):ee,$==null)break e;H=Q({},H,$);break e;case 2:In=!0}}x.callback!==null&&x.lane!==0&&(t.flags|=64,$=c.effects,$===null?c.effects=[x]:$.push(x))}else J={eventTime:J,lane:$,tag:x.tag,payload:x.payload,callback:x.callback,next:null},W===null?(M=W=J,C=H):W=W.next=J,g|=$;if(x=x.next,x===null){if(x=c.shared.pending,x===null)break;$=x,x=$.next,$.next=null,c.lastBaseUpdate=$,c.shared.pending=null}}while(!0);if(W===null&&(C=H),c.baseState=C,c.firstBaseUpdate=M,c.lastBaseUpdate=W,n=c.shared.interleaved,n!==null){c=n;do g|=c.lane,c=c.next;while(c!==n)}else p===null&&(c.shared.lanes=0);Xn|=g,t.lanes=g,t.memoizedState=H}}function Tp(t,n,i){if(t=n.effects,n.effects=null,t!==null)for(n=0;n<t.length;n++){var l=t[n],c=l.callback;if(c!==null){if(l.callback=null,l=i,typeof c!="function")throw Error(o(191,c));c.call(l)}}}var Ro={},Yt=Cn(Ro),Oo=Cn(Ro),No=Cn(Ro);function Yn(t){if(t===Ro)throw Error(o(174));return t}function xl(t,n){switch(je(No,n),je(Oo,t),je(Yt,Ro),t=n.nodeType,t){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:Sa(null,"");break;default:t=t===8?n.parentNode:n,n=t.namespaceURI||null,t=t.tagName,n=Sa(n,t)}Re(Yt),je(Yt,n)}function Or(){Re(Yt),Re(Oo),Re(No)}function Rp(t){Yn(No.current);var n=Yn(Yt.current),i=Sa(n,t.type);n!==i&&(je(Oo,t),je(Yt,i))}function Sl(t){Oo.current===t&&(Re(Yt),Re(Oo))}var Le=Cn(0);function Yi(t){for(var n=t;n!==null;){if(n.tag===13){var i=n.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||i.data==="$?"||i.data==="$!"))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!==void 0){if((n.flags&128)!==0)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var _l=[];function El(){for(var t=0;t<_l.length;t++)_l[t]._workInProgressVersionPrimary=null;_l.length=0}var Ji=D.ReactCurrentDispatcher,Cl=D.ReactCurrentBatchConfig,Jn=0,Me=null,$e=null,Ke=null,Xi=!1,Lo=!1,Mo=0,Nw=0;function tt(){throw Error(o(321))}function Pl(t,n){if(n===null)return!1;for(var i=0;i<n.length&&i<t.length;i++)if(!Mt(t[i],n[i]))return!1;return!0}function Al(t,n,i,l,c,p){if(Jn=p,Me=n,n.memoizedState=null,n.updateQueue=null,n.lanes=0,Ji.current=t===null||t.memoizedState===null?Uw:zw,t=i(l,c),Lo){p=0;do{if(Lo=!1,Mo=0,25<=p)throw Error(o(301));p+=1,Ke=$e=null,n.updateQueue=null,Ji.current=Fw,t=i(l,c)}while(Lo)}if(Ji.current=ts,n=$e!==null&&$e.next!==null,Jn=0,Ke=$e=Me=null,Xi=!1,n)throw Error(o(300));return t}function Il(){var t=Mo!==0;return Mo=0,t}function Jt(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ke===null?Me.memoizedState=Ke=t:Ke=Ke.next=t,Ke}function It(){if($e===null){var t=Me.alternate;t=t!==null?t.memoizedState:null}else t=$e.next;var n=Ke===null?Me.memoizedState:Ke.next;if(n!==null)Ke=n,$e=t;else{if(t===null)throw Error(o(310));$e=t,t={memoizedState:$e.memoizedState,baseState:$e.baseState,baseQueue:$e.baseQueue,queue:$e.queue,next:null},Ke===null?Me.memoizedState=Ke=t:Ke=Ke.next=t}return Ke}function Do(t,n){return typeof n=="function"?n(t):n}function jl(t){var n=It(),i=n.queue;if(i===null)throw Error(o(311));i.lastRenderedReducer=t;var l=$e,c=l.baseQueue,p=i.pending;if(p!==null){if(c!==null){var g=c.next;c.next=p.next,p.next=g}l.baseQueue=c=p,i.pending=null}if(c!==null){p=c.next,l=l.baseState;var x=g=null,C=null,M=p;do{var W=M.lane;if((Jn&W)===W)C!==null&&(C=C.next={lane:0,action:M.action,hasEagerState:M.hasEagerState,eagerState:M.eagerState,next:null}),l=M.hasEagerState?M.eagerState:t(l,M.action);else{var H={lane:W,action:M.action,hasEagerState:M.hasEagerState,eagerState:M.eagerState,next:null};C===null?(x=C=H,g=l):C=C.next=H,Me.lanes|=W,Xn|=W}M=M.next}while(M!==null&&M!==p);C===null?g=l:C.next=x,Mt(l,n.memoizedState)||(ft=!0),n.memoizedState=l,n.baseState=g,n.baseQueue=C,i.lastRenderedState=l}if(t=i.interleaved,t!==null){c=t;do p=c.lane,Me.lanes|=p,Xn|=p,c=c.next;while(c!==t)}else c===null&&(i.lanes=0);return[n.memoizedState,i.dispatch]}function Tl(t){var n=It(),i=n.queue;if(i===null)throw Error(o(311));i.lastRenderedReducer=t;var l=i.dispatch,c=i.pending,p=n.memoizedState;if(c!==null){i.pending=null;var g=c=c.next;do p=t(p,g.action),g=g.next;while(g!==c);Mt(p,n.memoizedState)||(ft=!0),n.memoizedState=p,n.baseQueue===null&&(n.baseState=p),i.lastRenderedState=p}return[p,l]}function Op(){}function Np(t,n){var i=Me,l=It(),c=n(),p=!Mt(l.memoizedState,c);if(p&&(l.memoizedState=c,ft=!0),l=l.queue,Rl(Dp.bind(null,i,l,t),[t]),l.getSnapshot!==n||p||Ke!==null&&Ke.memoizedState.tag&1){if(i.flags|=2048,Uo(9,Mp.bind(null,i,l,c,n),void 0,null),Ge===null)throw Error(o(349));(Jn&30)!==0||Lp(i,n,c)}return c}function Lp(t,n,i){t.flags|=16384,t={getSnapshot:n,value:i},n=Me.updateQueue,n===null?(n={lastEffect:null,stores:null},Me.updateQueue=n,n.stores=[t]):(i=n.stores,i===null?n.stores=[t]:i.push(t))}function Mp(t,n,i,l){n.value=i,n.getSnapshot=l,Up(n)&&zp(t)}function Dp(t,n,i){return i(function(){Up(n)&&zp(t)})}function Up(t){var n=t.getSnapshot;t=t.value;try{var i=n();return!Mt(t,i)}catch{return!0}}function zp(t){var n=ln(t,1);n!==null&&Bt(n,t,1,-1)}function Fp(t){var n=Jt();return typeof t=="function"&&(t=t()),n.memoizedState=n.baseState=t,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Do,lastRenderedState:t},n.queue=t,t=t.dispatch=Dw.bind(null,Me,t),[n.memoizedState,t]}function Uo(t,n,i,l){return t={tag:t,create:n,destroy:i,deps:l,next:null},n=Me.updateQueue,n===null?(n={lastEffect:null,stores:null},Me.updateQueue=n,n.lastEffect=t.next=t):(i=n.lastEffect,i===null?n.lastEffect=t.next=t:(l=i.next,i.next=t,t.next=l,n.lastEffect=t)),t}function Bp(){return It().memoizedState}function Zi(t,n,i,l){var c=Jt();Me.flags|=t,c.memoizedState=Uo(1|n,i,void 0,l===void 0?null:l)}function es(t,n,i,l){var c=It();l=l===void 0?null:l;var p=void 0;if($e!==null){var g=$e.memoizedState;if(p=g.destroy,l!==null&&Pl(l,g.deps)){c.memoizedState=Uo(n,i,p,l);return}}Me.flags|=t,c.memoizedState=Uo(1|n,i,p,l)}function $p(t,n){return Zi(8390656,8,t,n)}function Rl(t,n){return es(2048,8,t,n)}function qp(t,n){return es(4,2,t,n)}function Wp(t,n){return es(4,4,t,n)}function Hp(t,n){if(typeof n=="function")return t=t(),n(t),function(){n(null)};if(n!=null)return t=t(),n.current=t,function(){n.current=null}}function Vp(t,n,i){return i=i!=null?i.concat([t]):null,es(4,4,Hp.bind(null,n,t),i)}function Ol(){}function Qp(t,n){var i=It();n=n===void 0?null:n;var l=i.memoizedState;return l!==null&&n!==null&&Pl(n,l[1])?l[0]:(i.memoizedState=[t,n],t)}function Kp(t,n){var i=It();n=n===void 0?null:n;var l=i.memoizedState;return l!==null&&n!==null&&Pl(n,l[1])?l[0]:(t=t(),i.memoizedState=[t,n],t)}function Gp(t,n,i){return(Jn&21)===0?(t.baseState&&(t.baseState=!1,ft=!0),t.memoizedState=i):(Mt(i,n)||(i=Ed(),Me.lanes|=i,Xn|=i,t.baseState=!0),n)}function Lw(t,n){var i=Ae;Ae=i!==0&&4>i?i:4,t(!0);var l=Cl.transition;Cl.transition={};try{t(!1),n()}finally{Ae=i,Cl.transition=l}}function Yp(){return It().memoizedState}function Mw(t,n,i){var l=Nn(t);if(i={lane:l,action:i,hasEagerState:!1,eagerState:null,next:null},Jp(t))Xp(n,i);else if(i=Ap(t,n,i,l),i!==null){var c=st();Bt(i,t,l,c),Zp(i,n,l)}}function Dw(t,n,i){var l=Nn(t),c={lane:l,action:i,hasEagerState:!1,eagerState:null,next:null};if(Jp(t))Xp(n,c);else{var p=t.alternate;if(t.lanes===0&&(p===null||p.lanes===0)&&(p=n.lastRenderedReducer,p!==null))try{var g=n.lastRenderedState,x=p(g,i);if(c.hasEagerState=!0,c.eagerState=x,Mt(x,g)){var C=n.interleaved;C===null?(c.next=c,bl(n)):(c.next=C.next,C.next=c),n.interleaved=c;return}}catch{}i=Ap(t,n,c,l),i!==null&&(c=st(),Bt(i,t,l,c),Zp(i,n,l))}}function Jp(t){var n=t.alternate;return t===Me||n!==null&&n===Me}function Xp(t,n){Lo=Xi=!0;var i=t.pending;i===null?n.next=n:(n.next=i.next,i.next=n),t.pending=n}function Zp(t,n,i){if((i&4194240)!==0){var l=n.lanes;l&=t.pendingLanes,i|=l,n.lanes=i,La(t,i)}}var ts={readContext:At,useCallback:tt,useContext:tt,useEffect:tt,useImperativeHandle:tt,useInsertionEffect:tt,useLayoutEffect:tt,useMemo:tt,useReducer:tt,useRef:tt,useState:tt,useDebugValue:tt,useDeferredValue:tt,useTransition:tt,useMutableSource:tt,useSyncExternalStore:tt,useId:tt,unstable_isNewReconciler:!1},Uw={readContext:At,useCallback:function(t,n){return Jt().memoizedState=[t,n===void 0?null:n],t},useContext:At,useEffect:$p,useImperativeHandle:function(t,n,i){return i=i!=null?i.concat([t]):null,Zi(4194308,4,Hp.bind(null,n,t),i)},useLayoutEffect:function(t,n){return Zi(4194308,4,t,n)},useInsertionEffect:function(t,n){return Zi(4,2,t,n)},useMemo:function(t,n){var i=Jt();return n=n===void 0?null:n,t=t(),i.memoizedState=[t,n],t},useReducer:function(t,n,i){var l=Jt();return n=i!==void 0?i(n):n,l.memoizedState=l.baseState=n,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:n},l.queue=t,t=t.dispatch=Mw.bind(null,Me,t),[l.memoizedState,t]},useRef:function(t){var n=Jt();return t={current:t},n.memoizedState=t},useState:Fp,useDebugValue:Ol,useDeferredValue:function(t){return Jt().memoizedState=t},useTransition:function(){var t=Fp(!1),n=t[0];return t=Lw.bind(null,t[1]),Jt().memoizedState=t,[n,t]},useMutableSource:function(){},useSyncExternalStore:function(t,n,i){var l=Me,c=Jt();if(Ne){if(i===void 0)throw Error(o(407));i=i()}else{if(i=n(),Ge===null)throw Error(o(349));(Jn&30)!==0||Lp(l,n,i)}c.memoizedState=i;var p={value:i,getSnapshot:n};return c.queue=p,$p(Dp.bind(null,l,p,t),[t]),l.flags|=2048,Uo(9,Mp.bind(null,l,p,i,n),void 0,null),i},useId:function(){var t=Jt(),n=Ge.identifierPrefix;if(Ne){var i=an,l=sn;i=(l&~(1<<32-Lt(l)-1)).toString(32)+i,n=":"+n+"R"+i,i=Mo++,0<i&&(n+="H"+i.toString(32)),n+=":"}else i=Nw++,n=":"+n+"r"+i.toString(32)+":";return t.memoizedState=n},unstable_isNewReconciler:!1},zw={readContext:At,useCallback:Qp,useContext:At,useEffect:Rl,useImperativeHandle:Vp,useInsertionEffect:qp,useLayoutEffect:Wp,useMemo:Kp,useReducer:jl,useRef:Bp,useState:function(){return jl(Do)},useDebugValue:Ol,useDeferredValue:function(t){var n=It();return Gp(n,$e.memoizedState,t)},useTransition:function(){var t=jl(Do)[0],n=It().memoizedState;return[t,n]},useMutableSource:Op,useSyncExternalStore:Np,useId:Yp,unstable_isNewReconciler:!1},Fw={readContext:At,useCallback:Qp,useContext:At,useEffect:Rl,useImperativeHandle:Vp,useInsertionEffect:qp,useLayoutEffect:Wp,useMemo:Kp,useReducer:Tl,useRef:Bp,useState:function(){return Tl(Do)},useDebugValue:Ol,useDeferredValue:function(t){var n=It();return $e===null?n.memoizedState=t:Gp(n,$e.memoizedState,t)},useTransition:function(){var t=Tl(Do)[0],n=It().memoizedState;return[t,n]},useMutableSource:Op,useSyncExternalStore:Np,useId:Yp,unstable_isNewReconciler:!1};function Ut(t,n){if(t&&t.defaultProps){n=Q({},n),t=t.defaultProps;for(var i in t)n[i]===void 0&&(n[i]=t[i]);return n}return n}function Nl(t,n,i,l){n=t.memoizedState,i=i(l,n),i=i==null?n:Q({},n,i),t.memoizedState=i,t.lanes===0&&(t.updateQueue.baseState=i)}var ns={isMounted:function(t){return(t=t._reactInternals)?Wn(t)===t:!1},enqueueSetState:function(t,n,i){t=t._reactInternals;var l=st(),c=Nn(t),p=cn(l,c);p.payload=n,i!=null&&(p.callback=i),n=jn(t,p,c),n!==null&&(Bt(n,t,c,l),Ki(n,t,c))},enqueueReplaceState:function(t,n,i){t=t._reactInternals;var l=st(),c=Nn(t),p=cn(l,c);p.tag=1,p.payload=n,i!=null&&(p.callback=i),n=jn(t,p,c),n!==null&&(Bt(n,t,c,l),Ki(n,t,c))},enqueueForceUpdate:function(t,n){t=t._reactInternals;var i=st(),l=Nn(t),c=cn(i,l);c.tag=2,n!=null&&(c.callback=n),n=jn(t,c,l),n!==null&&(Bt(n,t,l,i),Ki(n,t,l))}};function ef(t,n,i,l,c,p,g){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(l,p,g):n.prototype&&n.prototype.isPureReactComponent?!_o(i,l)||!_o(c,p):!0}function tf(t,n,i){var l=!1,c=Pn,p=n.contextType;return typeof p=="object"&&p!==null?p=At(p):(c=pt(n)?Vn:et.current,l=n.contextTypes,p=(l=l!=null)?Cr(t,c):Pn),n=new n(i,p),t.memoizedState=n.state!==null&&n.state!==void 0?n.state:null,n.updater=ns,t.stateNode=n,n._reactInternals=t,l&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=c,t.__reactInternalMemoizedMaskedChildContext=p),n}function nf(t,n,i,l){t=n.state,typeof n.componentWillReceiveProps=="function"&&n.componentWillReceiveProps(i,l),typeof n.UNSAFE_componentWillReceiveProps=="function"&&n.UNSAFE_componentWillReceiveProps(i,l),n.state!==t&&ns.enqueueReplaceState(n,n.state,null)}function Ll(t,n,i,l){var c=t.stateNode;c.props=i,c.state=t.memoizedState,c.refs={},kl(t);var p=n.contextType;typeof p=="object"&&p!==null?c.context=At(p):(p=pt(n)?Vn:et.current,c.context=Cr(t,p)),c.state=t.memoizedState,p=n.getDerivedStateFromProps,typeof p=="function"&&(Nl(t,n,p,i),c.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof c.getSnapshotBeforeUpdate=="function"||typeof c.UNSAFE_componentWillMount!="function"&&typeof c.componentWillMount!="function"||(n=c.state,typeof c.componentWillMount=="function"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount=="function"&&c.UNSAFE_componentWillMount(),n!==c.state&&ns.enqueueReplaceState(c,c.state,null),Gi(t,i,c,l),c.state=t.memoizedState),typeof c.componentDidMount=="function"&&(t.flags|=4194308)}function Nr(t,n){try{var i="",l=n;do i+=ve(l),l=l.return;while(l);var c=i}catch(p){c=` 8Error generating stack: `+p.message+` 9`+p.stack}return{value:t,source:n,stack:c,digest:null}}function Ml(t,n,i){return{value:t,source:null,stack:i??null,digest:n??null}}function Dl(t,n){try{console.error(n.value)}catch(i){setTimeout(function(){throw i})}}var Bw=typeof WeakMap=="function"?WeakMap:Map;function rf(t,n,i){i=cn(-1,i),i.tag=3,i.payload={element:null};var l=n.value;return i.callback=function(){cs||(cs=!0,Xl=l),Dl(t,n)},i}function of(t,n,i){i=cn(-1,i),i.tag=3;var l=t.type.getDerivedStateFromError;if(typeof l=="function"){var c=n.value;i.payload=function(){return l(c)},i.callback=function(){Dl(t,n)}}var p=t.stateNode;return p!==null&&typeof p.componentDidCatch=="function"&&(i.callback=function(){Dl(t,n),typeof l!="function"&&(Rn===null?Rn=new Set([this]):Rn.add(this));var g=n.stack;this.componentDidCatch(n.value,{componentStack:g!==null?g:""})}),i}function sf(t,n,i){var l=t.pingCache;if(l===null){l=t.pingCache=new Bw;var c=new Set;l.set(n,c)}else c=l.get(n),c===void 0&&(c=new Set,l.set(n,c));c.has(i)||(c.add(i),t=tb.bind(null,t,n,i),n.then(t,t))}function af(t){do{var n;if((n=t.tag===13)&&(n=t.memoizedState,n=n!==null?n.dehydrated!==null:!0),n)return t;t=t.return}while(t!==null);return null}function lf(t,n,i,l,c){return(t.mode&1)===0?(t===n?t.flags|=65536:(t.flags|=128,i.flags|=131072,i.flags&=-52805,i.tag===1&&(i.alternate===null?i.tag=17:(n=cn(-1,1),n.tag=2,jn(i,n,1
vendor: 6,239 bytes, line 9
9))),i.lanes|=1),t):(t.flags|=65536,t.lanes=c,t)}var $w=D.ReactCurrentOwner,ft=!1;function it(t,n,i,l){n.child=t===null?Pp(n,null,i,l):jr(n,t.child,i,l)}function cf(t,n,i,l,c){i=i.render;var p=n.ref;return Rr(n,c),l=Al(t,n,i,l,p,c),i=Il(),t!==null&&!ft?(n.updateQueue=t.updateQueue,n.flags&=-2053,t.lanes&=~c,un(t,n,c)):(Ne&&i&&dl(n),n.flags|=1,it(t,n,l,c),n.child)}function uf(t,n,i,l,c){if(t===null){var p=i.type;return typeof p=="function"&&!ic(p)&&p.defaultProps===void 0&&i.compare===null&&i.defaultProps===void 0?(n.tag=15,n.type=p,df(t,n,p,l,c)):(t=ms(i.type,null,l,n,n.mode,c),t.ref=n.ref,t.return=n,n.child=t)}if(p=t.child,(t.lanes&c)===0){var g=p.memoizedProps;if(i=i.compare,i=i!==null?i:_o,i(g,l)&&t.ref===n.ref)return un(t,n,c)}return n.flags|=1,t=Mn(p,l),t.ref=n.ref,t.return=n,n.child=t}function df(t,n,i,l,c){if(t!==null){var p=t.memoizedProps;if(_o(p,l)&&t.ref===n.ref)if(ft=!1,n.pendingProps=l=p,(t.lanes&c)!==0)(t.flags&131072)!==0&&(ft=!0);else return n.lanes=t.lanes,un(t,n,c)}return Ul(t,n,i,l,c)}function pf(t,n,i){var l=n.pendingProps,c=l.children,p=t!==null?t.memoizedState:null;if(l.mode==="hidden")if((n.mode&1)===0)n.memoizedState={baseLanes:0,cachePool:null,transitions:null},je(Mr,kt),kt|=i;else{if((i&1073741824)===0)return t=p!==null?p.baseLanes|i:i,n.lanes=n.childLanes=1073741824,n.memoizedState={baseLanes:t,cachePool:null,transitions:null},n.updateQueue=null,je(Mr,kt),kt|=t,null;n.memoizedState={baseLanes:0,cachePool:null,transitions:null},l=p!==null?p.baseLanes:i,je(Mr,kt),kt|=l}else p!==null?(l=p.baseLanes|i,n.memoizedState=null):l=i,je(Mr,kt),kt|=l;return it(t,n,c,i),n.child}function ff(t,n){var i=n.ref;(t===null&&i!==null||t!==null&&t.ref!==i)&&(n.flags|=512,n.flags|=2097152)}function Ul(t,n,i,l,c){var p=pt(i)?Vn:et.current;return p=Cr(n,p),Rr(n,c),i=Al(t,n,i,l,p,c),l=Il(),t!==null&&!ft?(n.updateQueue=t.updateQueue,n.flags&=-2053,t.lanes&=~c,un(t,n,c)):(Ne&&l&&dl(n),n.flags|=1,it(t,n,i,c),n.child)}function hf(t,n,i,l,c){if(pt(i)){var p=!0;Fi(n)}else p=!1;if(Rr(n,c),n.stateNode===null)os(t,n),tf(n,i,l),Ll(n,i,l,c),l=!0;else if(t===null){var g=n.stateNode,x=n.memoizedProps;g.props=x;var C=g.context,M=i.contextType;typeof M=="object"&&M!==null?M=At(M):(M=pt(i)?Vn:et.current,M=Cr(n,M));var W=i.getDerivedStateFromProps,H=typeof W=="function"||typeof g.getSnapshotBeforeUpdate=="function";H||typeof g.UNSAFE_componentWillReceiveProps!="function"&&typeof g.componentWillReceiveProps!="function"||(x!==l||C!==M)&&nf(n,g,l,M),In=!1;var $=n.memoizedState;g.state=$,Gi(n,l,g,c),C=n.memoizedState,x!==l||$!==C||dt.current||In?(typeof W=="function"&&(Nl(n,i,W,l),C=n.memoizedState),(x=In||ef(n,i,x,l,$,C,M))?(H||typeof g.UNSAFE_componentWillMount!="function"&&typeof g.componentWillMount!="function"||(typeof g.componentWillMount=="function"&&g.componentWillMount(),typeof g.UNSAFE_componentWillMount=="function"&&g.UNSAFE_componentWillMount()),typeof g.componentDidMount=="function"&&(n.flags|=4194308)):(typeof g.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=l,n.memoizedState=C),g.props=l,g.state=C,g.context=M,l=x):(typeof g.componentDidMount=="function"&&(n.flags|=4194308),l=!1)}else{g=n.stateNode,Ip(t,n),x=n.memoizedProps,M=n.type===n.elementType?x:Ut(n.type,x),g.props=M,H=n.pendingProps,$=g.context,C=i.contextType,typeof C=="object"&&C!==null?C=At(C):(C=pt(i)?Vn:et.current,C=Cr(n,C));var J=i.getDerivedStateFromProps;(W=typeof J=="function"||typeof g.getSnapshotBeforeUpdate=="function")||typeof g.UNSAFE_componentWillReceiveProps!="function"&&typeof g.componentWillReceiveProps!="function"||(x!==H||$!==C)&&nf(n,g,l,C),In=!1,$=n.memoizedState,g.state=$,Gi(n,l,g,c);var ee=n.memoizedState;x!==H||$!==ee||dt.current||In?(typeof J=="function"&&(Nl(n,i,J,l),ee=n.memoizedState),(M=In||ef(n,i,M,l,$,ee,C)||!1)?(W||typeof g.UNSAFE_componentWillUpdate!="function"&&typeof g.componentWillUpdate!="function"||(typeof g.componentWillUpdate=="function"&&g.componentWillUpdate(l,ee,C),typeof g.UNSAFE_componentWillUpdate=="function"&&g.UNSAFE_componentWillUpdate(l,ee,C)),typeof g.componentDidUpdate=="function"&&(n.flags|=4),typeof g.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof g.componentDidUpdate!="function"||x===t.memoizedProps&&$===t.memoizedState||(n.flags|=4),typeof g.getSnapshotBeforeUpdate!="function"||x===t.memoizedProps&&$===t.memoizedState||(n.flags|=1024),n.memoizedProps=l,n.memoizedState=ee),g.props=l,g.state=ee,g.context=C,l=M):(typeof g.componentDidUpdate!="function"||x===t.memoizedProps&&$===t.memoizedState||(n.flags|=4),typeof g.getSnapshotBeforeUpdate!="function"||x===t.memoizedProps&&$===t.memoizedState||(n.flags|=1024),l=!1)}return zl(t,n,i,l,p,c)}function zl(t,n,i,l,c,p){ff(t,n);var g=(n.flags&128)!==0;if(!l&&!g)return c&&vp(n,i,!1),un(t,n,p);l=n.stateNode,$w.current=n;var x=g&&typeof i.getDerivedStateFromError!="function"?null:l.render();return n.flags|=1,t!==null&&g?(n.child=jr(n,t.child,null,p),n.child=jr(n,null,x,p)):it(t,n,x,p),n.memoizedState=l.state,c&&vp(n,i,!0),n.child}function mf(t){var n=t.stateNode;n.pendingContext?gp(t,n.pendingContext,n.pendingContext!==n.context):n.context&&gp(t,n.context,!1),xl(t,n.containerInfo)}function gf(t,n,i,l,c){return Ir(),ml(c),n.flags|=256,it(t,n,i,l),n.child}var Fl={dehydrated:null,treeContext:null,retryLane:0};function Bl(t){return{baseLanes:t,cachePool:null,transitions:null}}function yf(t,n,i){var l=n.pendingProps,c=Le.current,p=!1,g=(n.flags&128)!==0,x;if((x=g)||(x=t!==null&&t.memoizedState===null?!1:(c&2)!==0),x?(p=!0,n.flags&=-129):(t===null||t.memoizedState!==null)&&(c|=1),je(Le,c&1),t===null)return hl(n),t=n.memoizedState,t!==null&&(t=t.dehydrated,t!==null)?((n.mode&1)===0?n.lanes=1:t.data==="$!"?n.lanes=8:n.lanes=1073741824,null):(g=l.children,t=l.fallback,p?(l=n.mode,p=n.child,g={mode:"hidden",children:g},(l&1)===0&&p!==null?(p.childLanes=0,p.pendingProps=g):p=gs(g,l,0,null),t=nr(t,l,i,null),p.return=n,t.return=n,p.sibling=t,n.child=p,n.child.memoizedState=Bl(i),n.memoizedState=Fl,t):$l(n,g));if(c=t.memoizedState,c!==null&&(x=c.dehydrated,x!==null))return qw(t,n,g,l,x,c,i);if(p){p=l.fallback,g=n.mode,c=t.child,x=c.sibling;var C={mode:"hidden",children:l.children};return(g&1)===0&&n.child!==c?(l=n.child,l.childLanes=0,l.pendingProps=C,n.deleti
vendor: 8,464 bytes, line 9
9ons=null):(l=Mn(c,C),l.subtreeFlags=c.subtreeFlags&14680064),x!==null?p=Mn(x,p):(p=nr(p,g,i,null),p.flags|=2),p.return=n,l.return=n,l.sibling=p,n.child=l,l=p,p=n.child,g=t.child.memoizedState,g=g===null?Bl(i):{baseLanes:g.baseLanes|i,cachePool:null,transitions:g.transitions},p.memoizedState=g,p.childLanes=t.childLanes&~i,n.memoizedState=Fl,l}return p=t.child,t=p.sibling,l=Mn(p,{mode:"visible",children:l.children}),(n.mode&1)===0&&(l.lanes=i),l.return=n,l.sibling=null,t!==null&&(i=n.deletions,i===null?(n.deletions=[t],n.flags|=16):i.push(t)),n.child=l,n.memoizedState=null,l}function $l(t,n){return n=gs({mode:"visible",children:n},t.mode,0,null),n.return=t,t.child=n}function rs(t,n,i,l){return l!==null&&ml(l),jr(n,t.child,null,i),t=$l(n,n.pendingProps.children),t.flags|=2,n.memoizedState=null,t}function qw(t,n,i,l,c,p,g){if(i)return n.flags&256?(n.flags&=-257,l=Ml(Error(o(422))),rs(t,n,g,l)):n.memoizedState!==null?(n.child=t.child,n.flags|=128,null):(p=l.fallback,c=n.mode,l=gs({mode:"visible",children:l.children},c,0,null),p=nr(p,c,g,null),p.flags|=2,l.return=n,p.return=n,l.sibling=p,n.child=l,(n.mode&1)!==0&&jr(n,t.child,null,g),n.child.memoizedState=Bl(g),n.memoizedState=Fl,p);if((n.mode&1)===0)return rs(t,n,g,null);if(c.data==="$!"){if(l=c.nextSibling&&c.nextSibling.dataset,l)var x=l.dgst;return l=x,p=Error(o(419)),l=Ml(p,l,void 0),rs(t,n,g,l)}if(x=(g&t.childLanes)!==0,ft||x){if(l=Ge,l!==null){switch(g&-g){case 4:c=2;break;case 16:c=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:c=32;break;case 536870912:c=268435456;break;default:c=0}c=(c&(l.suspendedLanes|g))!==0?0:c,c!==0&&c!==p.retryLane&&(p.retryLane=c,ln(t,c),Bt(l,t,c,-1))}return oc(),l=Ml(Error(o(421))),rs(t,n,g,l)}return c.data==="$?"?(n.flags|=128,n.child=t.child,n=nb.bind(null,t),c._reactRetry=n,null):(t=p.treeContext,bt=En(c.nextSibling),wt=n,Ne=!0,Dt=null,t!==null&&(Ct[Pt++]=sn,Ct[Pt++]=an,Ct[Pt++]=Qn,sn=t.id,an=t.overflow,Qn=n),n=$l(n,l.children),n.flags|=4096,n)}function vf(t,n,i){t.lanes|=n;var l=t.alternate;l!==null&&(l.lanes|=n),wl(t.return,n,i)}function ql(t,n,i,l,c){var p=t.memoizedState;p===null?t.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:l,tail:i,tailMode:c}:(p.isBackwards=n,p.rendering=null,p.renderingStartTime=0,p.last=l,p.tail=i,p.tailMode=c)}function wf(t,n,i){var l=n.pendingProps,c=l.revealOrder,p=l.tail;if(it(t,n,l.children,i),l=Le.current,(l&2)!==0)l=l&1|2,n.flags|=128;else{if(t!==null&&(t.flags&128)!==0)e:for(t=n.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&vf(t,i,n);else if(t.tag===19)vf(t,i,n);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===n)break e;for(;t.sibling===null;){if(t.return===null||t.return===n)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}l&=1}if(je(Le,l),(n.mode&1)===0)n.memoizedState=null;else switch(c){case"forwards":for(i=n.child,c=null;i!==null;)t=i.alternate,t!==null&&Yi(t)===null&&(c=i),i=i.sibling;i=c,i===null?(c=n.child,n.child=null):(c=i.sibling,i.sibling=null),ql(n,!1,c,i,p);break;case"backwards":for(i=null,c=n.child,n.child=null;c!==null;){if(t=c.alternate,t!==null&&Yi(t)===null){n.child=c;break}t=c.sibling,c.sibling=i,i=c,c=t}ql(n,!0,i,null,p);break;case"together":ql(n,!1,null,null,void 0);break;default:n.memoizedState=null}return n.child}function os(t,n){(n.mode&1)===0&&t!==null&&(t.alternate=null,n.alternate=null,n.flags|=2)}function un(t,n,i){if(t!==null&&(n.dependencies=t.dependencies),Xn|=n.lanes,(i&n.childLanes)===0)return null;if(t!==null&&n.child!==t.child)throw Error(o(153));if(n.child!==null){for(t=n.child,i=Mn(t,t.pendingProps),n.child=i,i.return=n;t.sibling!==null;)t=t.sibling,i=i.sibling=Mn(t,t.pendingProps),i.return=n;i.sibling=null}return n.child}function Ww(t,n,i){switch(n.tag){case 3:mf(n),Ir();break;case 5:Rp(n);break;case 1:pt(n.type)&&Fi(n);break;case 4:xl(n,n.stateNode.containerInfo);break;case 10:var l=n.type._context,c=n.memoizedProps.value;je(Vi,l._currentValue),l._currentValue=c;break;case 13:if(l=n.memoizedState,l!==null)return l.dehydrated!==null?(je(Le,Le.current&1),n.flags|=128,null):(i&n.child.childLanes)!==0?yf(t,n,i):(je(Le,Le.current&1),t=un(t,n,i),t!==null?t.sibling:null);je(Le,Le.current&1);break;case 19:if(l=(i&n.childLanes)!==0,(t.flags&128)!==0){if(l)return wf(t,n,i);n.flags|=128}if(c=n.memoizedState,c!==null&&(c.rendering=null,c.tail=null,c.lastEffect=null),je(Le,Le.current),l)break;return null;case 22:case 23:return n.lanes=0,pf(t,n,i)}return un(t,n,i)}var bf,Wl,kf,xf;bf=function(t,n){for(var i=n.child;i!==null;){if(i.tag===5||i.tag===6)t.appendChild(i.stateNode);else if(i.tag!==4&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===n)break;for(;i.sibling===null;){if(i.return===null||i.return===n)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},Wl=function(){},kf=function(t,n,i,l){var c=t.memoizedProps;if(c!==l){t=n.stateNode,Yn(Yt.current);var p=null;switch(i){case"input":c=ro(t,c),l=ro(t,l),p=[];break;case"select":c=Q({},c,{value:void 0}),l=Q({},l,{value:void 0}),p=[];break;case"textarea":c=xa(t,c),l=xa(t,l),p=[];break;default:typeof c.onClick!="function"&&typeof l.onClick=="function"&&(t.onclick=Di)}_a(i,l);var g;i=null;for(M in c)if(!l.hasOwnProperty(M)&&c.hasOwnProperty(M)&&c[M]!=null)if(M==="style"){var x=c[M];for(g in x)x.hasOwnProperty(g)&&(i||(i={}),i[g]="")}else M!=="dangerouslySetInnerHTML"&&M!=="children"&&M!=="suppressContentEditableWarning"&&M!=="suppressHydrationWarning"&&M!=="autoFocus"&&(a.hasOwnProperty(M)?p||(p=[]):(p=p||[]).push(M,null));for(M in l){var C=l[M];if(x=c?.[M],l.hasOwnProperty(M)&&C!==x&&(C!=null||x!=null))if(M==="style")if(x){for(g in x)!x.hasOwnProperty(g)||C&&C.hasOwnProperty(g)||(i||(i={}),i[g]="");for(g in C)C.hasOwnProperty(g)&&x[g]!==C[g]&&(i||(i={}),i[g]=C[g])}else i||(p||(p=[]),p.push(M,i)),i=C;else M==="dangerouslySetInnerHTML"?(C=C?C.__html:void 0,x=x?x.__html:void 0,C!=null&&x!==C&&(p=p||[]).push(M,C)):M==="children"?typeof C!="string"&&typeof C!="number"||(p=p||[]).push(M,""+C):M!=="suppressContentEditableWarning"&&M!=="suppressHydrationWarning"&&(a.hasOwnProperty(M)?(C!=null&&M==="onScroll"&&Te("scroll",t),p||x===C||(p=[])):(p=p||[]).push(M,C))}i&&(p=p||[]).push("style",i);var M=p;(n.updateQueue=M)&&(n.flags|=4)}},xf=function(t,n,i,l){i!==l&&(n.flags|=4)};function zo(t,n){if(!Ne)switch(t.tailMode){case"hidden":n=t.tail;for(var i=null;n!==null;)n.alternate!==null&&(i=n),n=n.sibling;i===null?t.tail=null:i.sibling=null;break;case"collapsed":i=t.tail;for(var l=null;i!==null;)i.alternate!==null&&(l=i),i=i.sibling;l===null?n||t.tail===null?t.tail=null:t.tail.sibling=null:l.sibling=null}}function nt(t){var n=t.alternate!==null&&t.alternate.child===t.child,i=0,l=0;if(n)for(var c=t.child;c!==null;)i|=c.lanes|c.childLanes,l|=c.subtreeFlags&14680064,l|=c.flags&14680064,c.return=t,c=c.sibling;else for(c=t.child;c!==null;)i|=c.lanes|c.childLanes,l|=c.subtreeFlags,l|=c.flags,c.return=t,c=c.sibling;return t.subtreeFlags|=l,t.childLanes=i,n}function Hw(t,n,i){var l=n.pendingProps;switch(pl(n),n.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return nt(n),null;case 1:return pt(n.type)&&zi(),nt(n),null;case 3:return l=n.stateNode,Or(),Re(dt),Re(et),El(),l.pendingContext&&(l.context=l.pendingContext,l.pendingContext=null),(t===null||t.child===null)&&(Wi(n)?n.flags|=4:t===null||t.memoizedState.isDehydrated&&(n.flags&256)===0||(n.flags|=1024,Dt!==null&&(tc(Dt),Dt=null))),Wl(t,n),nt(n),null;case 5:Sl(n);var c=Yn(No.current);if(i=n.type,t!==null&&n.stateNode!=null)kf(t,n,i,l,c),t.ref!==n.ref&&(n.flags|=512,n.flags|=2097152);else{if(!l){if(n.stateNode===null)throw Error(o(166));return nt(n),null}if(t=Yn(Yt.current),Wi(n)){l=n.stateNode,i=n.type;var p=n.memoizedProps;switch(l[Gt]=n,l[Io]=p,t=(n.mode&1)!==0,i){case"dialog":Te("cancel",l),Te("close",l);break;case"iframe":case"object":case"embed":Te("load",l);break;case"video":case"audio":for(c=0;c<Co.length;c++)Te(Co[c],l);break;case"source":Te("error",l);break;case"img":case"image":case"link":Te("error",l),Te("load",l);break;case"details":Te("toggle",l);break;case"input":oo(l,p),Te("invalid",l);break;case"select":l._wrapperState={wasMultiple:!!p.multiple},Te("invalid",l);break;case"textarea":od(l,p),Te("invalid",l)}_a(i,p),c=null;for(var g in p)if(p.hasOwnProperty(g)){var x=p[g];
vendor: 4,254 bytes, line 9
9g==="children"?typeof x=="string"?l.textContent!==x&&(p.suppressHydrationWarning!==!0&&Mi(l.textContent,x,t),c=["children",x]):typeof x=="number"&&l.textContent!==""+x&&(p.suppressHydrationWarning!==!0&&Mi(l.textContent,x,t),c=["children",""+x]):a.hasOwnProperty(g)&&x!=null&&g==="onScroll"&&Te("scroll",l)}switch(i){case"input":Qt(l),rd(l,p,!0);break;case"textarea":Qt(l),sd(l);break;case"select":case"option":break;default:typeof p.onClick=="function"&&(l.onclick=Di)}l=c,n.updateQueue=l,l!==null&&(n.flags|=4)}else{g=c.nodeType===9?c:c.ownerDocument,t==="http://www.w3.org/1999/xhtml"&&(t=ad(i)),t==="http://www.w3.org/1999/xhtml"?i==="script"?(t=g.createElement("div"),t.innerHTML="<script><\/script>",t=t.removeChild(t.firstChild)):typeof l.is=="string"?t=g.createElement(i,{is:l.is}):(t=g.createElement(i),i==="select"&&(g=t,l.multiple?g.multiple=!0:l.size&&(g.size=l.size))):t=g.createElementNS(t,i),t[Gt]=n,t[Io]=l,bf(t,n,!1,!1),n.stateNode=t;e:{switch(g=Ea(i,l),i){case"dialog":Te("cancel",t),Te("close",t),c=l;break;case"iframe":case"object":case"embed":Te("load",t),c=l;break;case"video":case"audio":for(c=0;c<Co.length;c++)Te(Co[c],t);c=l;break;case"source":Te("error",t),c=l;break;case"img":case"image":case"link":Te("error",t),Te("load",t),c=l;break;case"details":Te("toggle",t),c=l;break;case"input":oo(t,l),c=ro(t,l),Te("invalid",t);break;case"option":c=l;break;case"select":t._wrapperState={wasMultiple:!!l.multiple},c=Q({},l,{value:void 0}),Te("invalid",t);break;case"textarea":od(t,l),c=xa(t,l),Te("invalid",t);break;default:c=l}_a(i,c),x=c;for(p in x)if(x.hasOwnProperty(p)){var C=x[p];p==="style"?ud(t,C):p==="dangerouslySetInnerHTML"?(C=C?C.__html:void 0,C!=null&&ld(t,C)):p==="children"?typeof C=="string"?(i!=="textarea"||C!=="")&&so(t,C):typeof C=="number"&&so(t,""+C):p!=="suppressContentEditableWarning"&&p!=="suppressHydrationWarning"&&p!=="autoFocus"&&(a.hasOwnProperty(p)?C!=null&&p==="onScroll"&&Te("scroll",t):C!=null&&j(t,p,C,g))}switch(i){case"input":Qt(t),rd(t,l,!1);break;case"textarea":Qt(t),sd(t);break;case"option":l.value!=null&&t.setAttribute("value",""+xe(l.value));break;case"select":t.multiple=!!l.multiple,p=l.value,p!=null?hr(t,!!l.multiple,p,!1):l.defaultValue!=null&&hr(t,!!l.multiple,l.defaultValue,!0);break;default:typeof c.onClick=="function"&&(t.onclick=Di)}switch(i){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}}l&&(n.flags|=4)}n.ref!==null&&(n.flags|=512,n.flags|=2097152)}return nt(n),null;case 6:if(t&&n.stateNode!=null)xf(t,n,t.memoizedProps,l);else{if(typeof l!="string"&&n.stateNode===null)throw Error(o(166));if(i=Yn(No.current),Yn(Yt.current),Wi(n)){if(l=n.stateNode,i=n.memoizedProps,l[Gt]=n,(p=l.nodeValue!==i)&&(t=wt,t!==null))switch(t.tag){case 3:Mi(l.nodeValue,i,(t.mode&1)!==0);break;case 5:t.memoizedProps.suppressHydrationWarning!==!0&&Mi(l.nodeValue,i,(t.mode&1)!==0)}p&&(n.flags|=4)}else l=(i.nodeType===9?i:i.ownerDocument).createTextNode(l),l[Gt]=n,n.stateNode=l}return nt(n),null;case 13:if(Re(Le),l=n.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(Ne&&bt!==null&&(n.mode&1)!==0&&(n.flags&128)===0)_p(),Ir(),n.flags|=98560,p=!1;else if(p=Wi(n),l!==null&&l.dehydrated!==null){if(t===null){if(!p)throw Error(o(318));if(p=n.memoizedState,p=p!==null?p.dehydrated:null,!p)throw Error(o(317));p[Gt]=n}else Ir(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;nt(n),p=!1}else Dt!==null&&(tc(Dt),Dt=null),p=!0;if(!p)return n.flags&65536?n:null}return(n.flags&128)!==0?(n.lanes=i,n):(l=l!==null,l!==(t!==null&&t.memoizedState!==null)&&l&&(n.child.flags|=8192,(n.mode&1)!==0&&(t===null||(Le.current&1)!==0?qe===0&&(qe=3):oc())),n.updateQueue!==null&&(n.flags|=4),nt(n),null);case 4:return Or(),Wl(t,n),t===null&&Po(n.stateNode.containerInfo),nt(n),null;case 10:return vl(n.type._context),nt(n),null;case 17:return pt(n.type)&&zi(),nt(n),null;case 19:if(Re(Le),p=n.memoizedState,p===null)return nt(n),null;if(l=(n.flags&128)!==0,g=p.rendering,g===null)if(l)zo(p,!1);else{if(qe!==0||t!==null&&(t.flags&128)!==0)for(t=n.child;t!==null;){if(g=Yi(t),g!==null){for(n.flags|=128,zo(p,!1),l=g.updateQueue,l!==null&&(n.updateQueue=l,n.flags|=4),n.subtreeFlags=0,l=i,i=n.child;i!==null;
vendor: 6,247 bytes, line 9
9)p=i,t=l,p.flags&=14680066,g=p.alternate,g===null?(p.childLanes=0,p.lanes=t,p.child=null,p.subtreeFlags=0,p.memoizedProps=null,p.memoizedState=null,p.updateQueue=null,p.dependencies=null,p.stateNode=null):(p.childLanes=g.childLanes,p.lanes=g.lanes,p.child=g.child,p.subtreeFlags=0,p.deletions=null,p.memoizedProps=g.memoizedProps,p.memoizedState=g.memoizedState,p.updateQueue=g.updateQueue,p.type=g.type,t=g.dependencies,p.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),i=i.sibling;return je(Le,Le.current&1|2),n.child}t=t.sibling}p.tail!==null&&ze()>Dr&&(n.flags|=128,l=!0,zo(p,!1),n.lanes=4194304)}else{if(!l)if(t=Yi(g),t!==null){if(n.flags|=128,l=!0,i=t.updateQueue,i!==null&&(n.updateQueue=i,n.flags|=4),zo(p,!0),p.tail===null&&p.tailMode==="hidden"&&!g.alternate&&!Ne)return nt(n),null}else 2*ze()-p.renderingStartTime>Dr&&i!==1073741824&&(n.flags|=128,l=!0,zo(p,!1),n.lanes=4194304);p.isBackwards?(g.sibling=n.child,n.child=g):(i=p.last,i!==null?i.sibling=g:n.child=g,p.last=g)}return p.tail!==null?(n=p.tail,p.rendering=n,p.tail=n.sibling,p.renderingStartTime=ze(),n.sibling=null,i=Le.current,je(Le,l?i&1|2:i&1),n):(nt(n),null);case 22:case 23:return rc(),l=n.memoizedState!==null,t!==null&&t.memoizedState!==null!==l&&(n.flags|=8192),l&&(n.mode&1)!==0?(kt&1073741824)!==0&&(nt(n),n.subtreeFlags&6&&(n.flags|=8192)):nt(n),null;case 24:return null;case 25:return null}throw Error(o(156,n.tag))}function Vw(t,n){switch(pl(n),n.tag){case 1:return pt(n.type)&&zi(),t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 3:return Or(),Re(dt),Re(et),El(),t=n.flags,(t&65536)!==0&&(t&128)===0?(n.flags=t&-65537|128,n):null;case 5:return Sl(n),null;case 13:if(Re(Le),t=n.memoizedState,t!==null&&t.dehydrated!==null){if(n.alternate===null)throw Error(o(340));Ir()}return t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 19:return Re(Le),null;case 4:return Or(),null;case 10:return vl(n.type._context),null;case 22:case 23:return rc(),null;case 24:return null;default:return null}}var is=!1,rt=!1,Qw=typeof WeakSet=="function"?WeakSet:Set,Z=null;function Lr(t,n){var i=t.ref;if(i!==null)if(typeof i=="function")try{i(null)}catch(l){Ue(t,n,l)}else i.current=null}function Hl(t,n,i){try{i()}catch(l){Ue(t,n,l)}}var Sf=!1;function Kw(t,n){if(rl=Ei,t=ep(),Ga(t)){if("selectionStart"in t)var i={start:t.selectionStart,end:t.selectionEnd};else e:{i=(i=t.ownerDocument)&&i.defaultView||window;var l=i.getSelection&&i.getSelection();if(l&&l.rangeCount!==0){i=l.anchorNode;var c=l.anchorOffset,p=l.focusNode;l=l.focusOffset;try{i.nodeType,p.nodeType}catch{i=null;break e}var g=0,x=-1,C=-1,M=0,W=0,H=t,$=null;t:for(;;){for(var J;H!==i||c!==0&&H.nodeType!==3||(x=g+c),H!==p||l!==0&&H.nodeType!==3||(C=g+l),H.nodeType===3&&(g+=H.nodeValue.length),(J=H.firstChild)!==null;)$=H,H=J;for(;;){if(H===t)break t;if($===i&&++M===c&&(x=g),$===p&&++W===l&&(C=g),(J=H.nextSibling)!==null)break;H=$,$=H.parentNode}H=J}i=x===-1||C===-1?null:{start:x,end:C}}else i=null}i=i||{start:0,end:0}}else i=null;for(ol={focusedElem:t,selectionRange:i},Ei=!1,Z=n;Z!==null;)if(n=Z,t=n.child,(n.subtreeFlags&1028)!==0&&t!==null)t.return=n,Z=t;else for(;Z!==null;){n=Z;try{var ee=n.alternate;if((n.flags&1024)!==0)switch(n.tag){case 0:case 11:case 15:break;case 1:if(ee!==null){var re=ee.memoizedProps,Fe=ee.memoizedState,R=n.stateNode,A=R.getSnapshotBeforeUpdate(n.elementType===n.type?re:Ut(n.type,re),Fe);R.__reactInternalSnapshotBeforeUpdate=A}break;case 3:var N=n.stateNode.containerInfo;N.nodeType===1?N.textContent="":N.nodeType===9&&N.documentElement&&N.removeChild(N.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(V){Ue(n,n.return,V)}if(t=n.sibling,t!==null){t.return=n.return,Z=t;break}Z=n.return}return ee=Sf,Sf=!1,ee}function Fo(t,n,i){var l=n.updateQueue;if(l=l!==null?l.lastEffect:null,l!==null){var c=l=l.next;do{if((c.tag&t)===t){var p=c.destroy;c.destroy=void 0,p!==void 0&&Hl(n,i,p)}c=c.next}while(c!==l)}}function ss(t,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var i=n=n.next;do{if((i.tag&t)===t){var l=i.create;i.destroy=l()}i=i.next}while(i!==n)}}function Vl(t){var n=t.ref;if(n!==null){var i=t.stateNode;t.tag,t=i,typeof n=="function"?n(t):n.current=t}}function _f(t){var n=t.alternate;n!==null&&(t.alternate=null,_f(n)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(n=t.stateNode,n!==null&&(delete n[Gt],delete n[Io],delete n[ll],delete n[jw],delete n[Tw])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function Ef(t){return t.tag===5||t.tag===3||t.tag===4}function Cf(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Ef(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.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 Ql(t,n,i){var l=t.tag;if(l===5||l===6)t=t.stateNode,n?i.nodeType===8?i.parentNode.insertBefore(t,n):i.insertBefore(t,n):(i.nodeType===8?(n=i.parentNode,n.insertBefore(t,i)):(n=i,n.appendChild(t)),i=i._reactRootContainer,i!=null||n.onclick!==null||(n.onclick=Di));else if(l!==4&&(t=t.child,t!==null))for(Ql(t,n,i),t=t.sibling;t!==null;)Ql(t,n,i),t=t.sibling}function Kl(t,n,i){var l=t.tag;if(l===5||l===6)t=t.stateNode,n?i.insertBefore(t,n):i.appendChild(t);else if(l!==4&&(t=t.child,t!==null))for(Kl(t,n,i),t=t.sibling;t!==null;)Kl(t,n,i),t=t.sibling}var Je=null,zt=!1;function Tn(t,n,i){for(i=i.child;i!==null;)Pf(t,n,i),i=i.sibling}function Pf(t,n,i){if(Kt&&typeof Kt.onCommitFiberUnmount=="function")try{Kt.onCommitFiberUnmount(wi,i)}catch{}switch(i.tag){case 5:rt||Lr(i,n);case 6:var l=Je,c=zt;Je=null,Tn(t,n,i),Je=l,zt=c,Je!==null&&(zt?(t=Je,i=i.stateNode,t.nodeType===8?t.parentNode.removeChild(i):t.removeChild(i)):Je.removeChild(i.stateNode));break;case 18:Je!==null&&(zt?(t=Je,i=i.stateNode,t.nodeType===8?al(t.parentNode,i):t.nodeType===1&&al(t,i),vo(t)):al(Je,i.stateNode));break;case 4:l=Je,c=zt,Je=i.stateNode.containerInfo,zt=!0,Tn(t,n,i),Je=l,zt=c;break;case 0:case 11:case 14:case 15:if(!rt&&(l=i.updateQueue,l!==null&&(l=l.lastEffect,l!==null))){c=l=l.next;do{var p=c,g=p.destroy;
vendor: 11,182 bytes, line 9
9p=p.tag,g!==void 0&&((p&2)!==0||(p&4)!==0)&&Hl(i,n,g),c=c.next}while(c!==l)}Tn(t,n,i);break;case 1:if(!rt&&(Lr(i,n),l=i.stateNode,typeof l.componentWillUnmount=="function"))try{l.props=i.memoizedProps,l.state=i.memoizedState,l.componentWillUnmount()}catch(x){Ue(i,n,x)}Tn(t,n,i);break;case 21:Tn(t,n,i);break;case 22:i.mode&1?(rt=(l=rt)||i.memoizedState!==null,Tn(t,n,i),rt=l):Tn(t,n,i);break;default:Tn(t,n,i)}}function Af(t){var n=t.updateQueue;if(n!==null){t.updateQueue=null;var i=t.stateNode;i===null&&(i=t.stateNode=new Qw),n.forEach(function(l){var c=rb.bind(null,t,l);i.has(l)||(i.add(l),l.then(c,c))})}}function Ft(t,n){var i=n.deletions;if(i!==null)for(var l=0;l<i.length;l++){var c=i[l];try{var p=t,g=n,x=g;e:for(;x!==null;){switch(x.tag){case 5:Je=x.stateNode,zt=!1;break e;case 3:Je=x.stateNode.containerInfo,zt=!0;break e;case 4:Je=x.stateNode.containerInfo,zt=!0;break e}x=x.return}if(Je===null)throw Error(o(160));Pf(p,g,c),Je=null,zt=!1;var C=c.alternate;C!==null&&(C.return=null),c.return=null}catch(M){Ue(c,n,M)}}if(n.subtreeFlags&12854)for(n=n.child;n!==null;)If(n,t),n=n.sibling}function If(t,n){var i=t.alternate,l=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:if(Ft(n,t),Xt(t),l&4){try{Fo(3,t,t.return),ss(3,t)}catch(re){Ue(t,t.return,re)}try{Fo(5,t,t.return)}catch(re){Ue(t,t.return,re)}}break;case 1:Ft(n,t),Xt(t),l&512&&i!==null&&Lr(i,i.return);break;case 5:if(Ft(n,t),Xt(t),l&512&&i!==null&&Lr(i,i.return),t.flags&32){var c=t.stateNode;try{so(c,"")}catch(re){Ue(t,t.return,re)}}if(l&4&&(c=t.stateNode,c!=null)){var p=t.memoizedProps,g=i!==null?i.memoizedProps:p,x=t.type,C=t.updateQueue;if(t.updateQueue=null,C!==null)try{x==="input"&&p.type==="radio"&&p.name!=null&&nd(c,p),Ea(x,g);var M=Ea(x,p);for(g=0;g<C.length;g+=2){var W=C[g],H=C[g+1];W==="style"?ud(c,H):W==="dangerouslySetInnerHTML"?ld(c,H):W==="children"?so(c,H):j(c,W,H,M)}switch(x){case"input":ba(c,p);break;case"textarea":id(c,p);break;case"select":var $=c._wrapperState.wasMultiple;c._wrapperState.wasMultiple=!!p.multiple;var J=p.value;J!=null?hr(c,!!p.multiple,J,!1):$!==!!p.multiple&&(p.defaultValue!=null?hr(c,!!p.multiple,p.defaultValue,!0):hr(c,!!p.multiple,p.multiple?[]:"",!1))}c[Io]=p}catch(re){Ue(t,t.return,re)}}break;case 6:if(Ft(n,t),Xt(t),l&4){if(t.stateNode===null)throw Error(o(162));c=t.stateNode,p=t.memoizedProps;try{c.nodeValue=p}catch(re){Ue(t,t.return,re)}}break;case 3:if(Ft(n,t),Xt(t),l&4&&i!==null&&i.memoizedState.isDehydrated)try{vo(n.containerInfo)}catch(re){Ue(t,t.return,re)}break;case 4:Ft(n,t),Xt(t);break;case 13:Ft(n,t),Xt(t),c=t.child,c.flags&8192&&(p=c.memoizedState!==null,c.stateNode.isHidden=p,!p||c.alternate!==null&&c.alternate.memoizedState!==null||(Jl=ze())),l&4&&Af(t);break;case 22:if(W=i!==null&&i.memoizedState!==null,t.mode&1?(rt=(M=rt)||W,Ft(n,t),rt=M):Ft(n,t),Xt(t),l&8192){if(M=t.memoizedState!==null,(t.stateNode.isHidden=M)&&!W&&(t.mode&1)!==0)for(Z=t,W=t.child;W!==null;){for(H=Z=W;Z!==null;){switch($=Z,J=$.child,$.tag){case 0:case 11:case 14:case 15:Fo(4,$,$.return);break;case 1:Lr($,$.return);var ee=$.stateNode;if(typeof ee.componentWillUnmount=="function"){l=$,i=$.return;try{n=l,ee.props=n.memoizedProps,ee.state=n.memoizedState,ee.componentWillUnmount()}catch(re){Ue(l,i,re)}}break;case 5:Lr($,$.return);break;case 22:if($.memoizedState!==null){Rf(H);continue}}J!==null?(J.return=$,Z=J):Rf(H)}W=W.sibling}e:for(W=null,H=t;;){if(H.tag===5){if(W===null){W=H;try{c=H.stateNode,M?(p=c.style,typeof p.setProperty=="function"?p.setProperty("display","none","important"):p.display="none"):(x=H.stateNode,C=H.memoizedProps.style,g=C!=null&&C.hasOwnProperty("display")?C.display:null,x.style.display=cd("display",g))}catch(re){Ue(t,t.return,re)}}}else if(H.tag===6){if(W===null)try{H.stateNode.nodeValue=M?"":H.memoizedProps}catch(re){Ue(t,t.return,re)}}else if((H.tag!==22&&H.tag!==23||H.memoizedState===null||H===t)&&H.child!==null){H.child.return=H,H=H.child;continue}if(H===t)break e;for(;H.sibling===null;){if(H.return===null||H.return===t)break e;W===H&&(W=null),H=H.return}W===H&&(W=null),H.sibling.return=H.return,H=H.sibling}}break;case 19:Ft(n,t),Xt(t),l&4&&Af(t);break;case 21:break;default:Ft(n,t),Xt(t)}}function Xt(t){var n=t.flags;if(n&2){try{e:{for(var i=t.return;i!==null;){if(Ef(i)){var l=i;break e}i=i.return}throw Error(o(160))}switch(l.tag){case 5:var c=l.stateNode;l.flags&32&&(so(c,""),l.flags&=-33);var p=Cf(t);Kl(t,p,c);break;case 3:case 4:var g=l.stateNode.containerInfo,x=Cf(t);Ql(t,x,g);break;default:throw Error(o(161))}}catch(C){Ue(t,t.return,C)}t.flags&=-3}n&4096&&(t.flags&=-4097)}function Gw(t,n,i){Z=t,jf(t)}function jf(t,n,i){for(var l=(t.mode&1)!==0;Z!==null;){var c=Z,p=c.child;if(c.tag===22&&l){var g=c.memoizedState!==null||is;if(!g){var x=c.alternate,C=x!==null&&x.memoizedState!==null||rt;x=is;var M=rt;if(is=g,(rt=C)&&!M)for(Z=c;Z!==null;)g=Z,C=g.child,g.tag===22&&g.memoizedState!==null?Of(c):C!==null?(C.return=g,Z=C):Of(c);for(;p!==null;)Z=p,jf(p),p=p.sibling;Z=c,is=x,rt=M}Tf(t)}else(c.subtreeFlags&8772)!==0&&p!==null?(p.return=c,Z=p):Tf(t)}}function Tf(t){for(;Z!==null;){var n=Z;if((n.flags&8772)!==0){var i=n.alternate;try{if((n.flags&8772)!==0)switch(n.tag){case 0:case 11:case 15:rt||ss(5,n);break;case 1:var l=n.stateNode;if(n.flags&4&&!rt)if(i===null)l.componentDidMount();else{var c=n.elementType===n.type?i.memoizedProps:Ut(n.type,i.memoizedProps);l.componentDidUpdate(c,i.memoizedState,l.__reactInternalSnapshotBeforeUpdate)}var p=n.updateQueue;p!==null&&Tp(n,p,l);break;case 3:var g=n.updateQueue;if(g!==null){if(i=null,n.child!==null)switch(n.child.tag){case 5:i=n.child.stateNode;break;case 1:i=n.child.stateNode}Tp(n,g,i)}break;case 5:var x=n.stateNode;if(i===null&&n.flags&4){i=x;var C=n.memoizedProps;switch(n.type){case"button":case"input":case"select":case"textarea":C.autoFocus&&i.focus();break;case"img":C.src&&(i.src=C.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(n.memoizedState===null){var M=n.alternate;if(M!==null){var W=M.memoizedState;if(W!==null){var H=W.dehydrated;H!==null&&vo(H)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(o(163))}rt||n.flags&512&&Vl(n)}catch($){Ue(n,n.return,$)}}if(n===t){Z=null;break}if(i=n.sibling,i!==null){i.return=n.return,Z=i;break}Z=n.return}}function Rf(t){for(;Z!==null;){var n=Z;if(n===t){Z=null;break}var i=n.sibling;if(i!==null){i.return=n.return,Z=i;break}Z=n.return}}function Of(t){for(;Z!==null;){var n=Z;try{switch(n.tag){case 0:case 11:case 15:var i=n.return;try{ss(4,n)}catch(C){Ue(n,i,C)}break;case 1:var l=n.stateNode;if(typeof l.componentDidMount=="function"){var c=n.return;try{l.componentDidMount()}catch(C){Ue(n,c,C)}}var p=n.return;try{Vl(n)}catch(C){Ue(n,p,C)}break;case 5:var g=n.return;try{Vl(n)}catch(C){Ue(n,g,C)}}}catch(C){Ue(n,n.return,C)}if(n===t){Z=null;break}var x=n.sibling;if(x!==null){x.return=n.return,Z=x;break}Z=n.return}}var Yw=Math.ceil,as=D.ReactCurrentDispatcher,Gl=D.ReactCurrentOwner,jt=D.ReactCurrentBatchConfig,_e=0,Ge=null,Be=null,Xe=0,kt=0,Mr=Cn(0),qe=0,Bo=null,Xn=0,ls=0,Yl=0,$o=null,ht=null,Jl=0,Dr=1/0,dn=null,cs=!1,Xl=null,Rn=null,us=!1,On=null,ds=0,qo=0,Zl=null,ps=-1,fs=0;function st(){return(_e&6)!==0?ze():ps!==-1?ps:ps=ze()}function Nn(t){return(t.mode&1)===0?1:(_e&2)!==0&&Xe!==0?Xe&-Xe:Ow.transition!==null?(fs===0&&(fs=Ed()),fs):(t=Ae,t!==0||(t=window.event,t=t===void 0?16:Nd(t.type)),t)}function Bt(t,n,i,l){if(50<qo)throw qo=0,Zl=null,Error(o(185));fo(t,i,l),((_e&2)===0||t!==Ge)&&(t===Ge&&((_e&2)===0&&(ls|=i),qe===4&&Ln(t,Xe)),mt(t,l),i===1&&_e===0&&(n.mode&1)===0&&(Dr=ze()+500,Bi&&An()))}function mt(t,n){var i=t.callbackNode;Ov(t,n);var l=xi(t,t===Ge?Xe:0);if(l===0)i!==null&&xd(i),t.callbackNode=null,t.callbackPriority=0;else if(n=l&-l,t.callbackPriority!==n){if(i!=null&&xd(i),n===1)t.tag===0?Rw(Lf.bind(null,t)):wp(Lf.bind(null,t)),Aw(function(){(_e&6)===0&&An()}),i=null;else{switch(Cd(l)){case 1:i=Ra;break;case 4:i=Sd;break;case 16:i=vi;break;case 536870912:i=_d;break;default:i=vi}i=qf(i,Nf.bind(null,t))}t.callbackPriority=n,t.callbackNode=i}}function Nf(t,n){if(ps=-1,fs=0,(_e&6)!==0)throw Error(o(327));var i=t.callbackNode;if(Ur()&&t.callbackNode!==i)return null;var l=xi(t,t===Ge?Xe:0);if(l===0)return null;if((l&30)!==0||(l&t.expiredLanes)!==0||n)n=hs(t,l);else{n=l;var c=_e;_e|=2;var p=Df();(Ge!==t||Xe!==n)&&(dn=null,Dr=ze()+500,er(t,n));do try{Zw();break}catch(x){Mf(t,x)}while(!0);yl(),as.current=p,_e=c,Be!==null?n=0:(Ge=null,Xe=0,n=qe)}if(n!==0){if(n===2&&(c=Oa(t),c!==0&&(l=c,n=ec(t,c))),n===1)throw i=Bo,er(t,0),Ln(t,l),mt(t,ze()),i;if(n===6)Ln(t,l);else{if(c=t.current.alternate,(l&30)===0&&!Jw(c)&&(n=hs(t,l),n===2&&(p=Oa(t),p!==0&&(l=p,n=ec(t,p))),n===1))throw i=Bo,er(t,0),Ln(t,l),mt(t,ze()),i;switch(t.finishedWork=c,t.finishedLanes=l,n){case 0:case 1:throw Error(o(345));case 2:tr(t,ht,dn);break;case 3:if(Ln(t,l),(l&130023424)===l&&(n=Jl+500-ze(),10<n)){if(xi(t,0)!==0)break;if(c=t.suspendedLanes,(c&l)!==l){st(),t.pingedLanes|=t.suspendedLanes&c;break}t.timeoutHandle=sl(tr.bind(null,t,ht,dn),n);break}tr(t,ht,dn);break;case 4:if(Ln(t,l),(l&4194240)===l)break;for(n=t.eventTimes,c=-1;0<l;){var g=31-Lt(l);p=1<<g,g=n[g],g>c&&(c=g),l&=~p}if(l=c,l=ze()-l,l=(120>l?120:480>l?480:1080>l?1080:1920>l?1920:3e3>l?3e3:4320>l?4320:1960*Yw(l/1960))-l,10<l){t.timeoutHandle=sl(tr.bind(null,t,ht,dn),l);break}tr(t,ht,dn);break;case 5:tr(t,ht,dn);break;default:throw Error(o(329))}}}return mt(t,ze()),t.callbackNode===i?Nf.bind(null,t):null}function ec(t,n){var i=$o;return t.current.memoizedState.isDehydrated&&(er(t,n).flags|=256),t=hs(t,n),t!==2&&(n=ht,ht=i,n!==null&&tc(n)),t}function tc(t){ht===null?ht=t:ht.push.apply(ht,t)}function Jw(t){for(var n=t;;){if(n.flags&16384){var i=n.updateQueue;if(i!==null&&(i=i.stores,i!==null))for(var l=0;l<i.length;l++){var c=i[l],p=c.getSnapshot;c=c.value;try{if(!Mt(p(),c))return!1}catch{return!1}}}if(i=n.child,n.subtreeFlags&16384&&i!==null)i.return=n,n=i;else{if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return!0;n=n.return}n.sibling.return=n.return,n=n.sibling}}return!0}function Ln(t,n){for(n&=~Yl,n&=~ls,t.suspendedLanes|=n,t.pingedLanes&=~n,t=t.expirationTimes;0<n;){var i=31-Lt(n),l=1<<i;t[i]=-1,n&=~l}}function Lf(t){if((_e&6)!==0)throw Error(o(327));Ur();var n=xi(t,0);if((n&1)===0)return mt(t,ze()),null;var i=hs(t,n);if(t.tag!==0&&i===2){var l=Oa(t);l!==0&&(n=l,i=ec(t,l))}if(i===1)throw i=Bo,er(t,0),Ln(t,n),mt(t,ze()),i;if(i===6)throw Error(o(345));return t.finishedWork=t.current.alternate,t.finishedLanes=n,tr(t,ht,dn),mt(t,ze()),null}function nc(t,n){var i=_e;_e|=1;try{return t(n)}finally{_e=i,_e===0&&(Dr=ze()+500,Bi&&An())}}function Zn(t){On!==null&&On.tag===0&&(_e&6)===0&&Ur();var n=_e;_e|=1;var i=jt.transition,l=Ae;try{if(jt.transition=null,Ae=1,t)return t()}finally{Ae=l,jt.transition=i,_e=n,(_e&6)===0&&An()}}function rc(){kt=Mr.current,Re(Mr)}function er(t,n){t.finishedWork=null,t.finishedLanes=0;var i=t.timeoutHandle;if(i!==-1&&(t.timeoutHandle=-1,Pw(i)),Be!==null)for(i=Be.return;i!==null;){var l=i;switch(pl(l),l.tag){case 1:l=l.type.childContextTypes,l!=null&&zi();break;case 3:Or(),Re(dt),Re(et),El();break;case 5:Sl(l);break;case 4:Or();break;case 13:Re(Le);break;case 19:Re(Le);break;
vendor: 6,577 bytes, line 9
9case 10:vl(l.type._context);break;case 22:case 23:rc()}i=i.return}if(Ge=t,Be=t=Mn(t.current,null),Xe=kt=n,qe=0,Bo=null,Yl=ls=Xn=0,ht=$o=null,Gn!==null){for(n=0;n<Gn.length;n++)if(i=Gn[n],l=i.interleaved,l!==null){i.interleaved=null;var c=l.next,p=i.pending;if(p!==null){var g=p.next;p.next=c,l.next=g}i.pending=l}Gn=null}return t}function Mf(t,n){do{var i=Be;try{if(yl(),Ji.current=ts,Xi){for(var l=Me.memoizedState;l!==null;){var c=l.queue;c!==null&&(c.pending=null),l=l.next}Xi=!1}if(Jn=0,Ke=$e=Me=null,Lo=!1,Mo=0,Gl.current=null,i===null||i.return===null){qe=1,Bo=n,Be=null;break}e:{var p=t,g=i.return,x=i,C=n;if(n=Xe,x.flags|=32768,C!==null&&typeof C=="object"&&typeof C.then=="function"){var M=C,W=x,H=W.tag;if((W.mode&1)===0&&(H===0||H===11||H===15)){var $=W.alternate;$?(W.updateQueue=$.updateQueue,W.memoizedState=$.memoizedState,W.lanes=$.lanes):(W.updateQueue=null,W.memoizedState=null)}var J=af(g);if(J!==null){J.flags&=-257,lf(J,g,x,p,n),J.mode&1&&sf(p,M,n),n=J,C=M;var ee=n.updateQueue;if(ee===null){var re=new Set;re.add(C),n.updateQueue=re}else ee.add(C);break e}else{if((n&1)===0){sf(p,M,n),oc();break e}C=Error(o(426))}}else if(Ne&&x.mode&1){var Fe=af(g);if(Fe!==null){(Fe.flags&65536)===0&&(Fe.flags|=256),lf(Fe,g,x,p,n),ml(Nr(C,x));break e}}p=C=Nr(C,x),qe!==4&&(qe=2),$o===null?$o=[p]:$o.push(p),p=g;do{switch(p.tag){case 3:p.flags|=65536,n&=-n,p.lanes|=n;var R=rf(p,C,n);jp(p,R);break e;case 1:x=C;var A=p.type,N=p.stateNode;if((p.flags&128)===0&&(typeof A.getDerivedStateFromError=="function"||N!==null&&typeof N.componentDidCatch=="function"&&(Rn===null||!Rn.has(N)))){p.flags|=65536,n&=-n,p.lanes|=n;var V=of(p,x,n);jp(p,V);break e}}p=p.return}while(p!==null)}zf(i)}catch(ie){n=ie,Be===i&&i!==null&&(Be=i=i.return);continue}break}while(!0)}function Df(){var t=as.current;return as.current=ts,t===null?ts:t}function oc(){(qe===0||qe===3||qe===2)&&(qe=4),Ge===null||(Xn&268435455)===0&&(ls&268435455)===0||Ln(Ge,Xe)}function hs(t,n){var i=_e;_e|=2;var l=Df();(Ge!==t||Xe!==n)&&(dn=null,er(t,n));do try{Xw();break}catch(c){Mf(t,c)}while(!0);if(yl(),_e=i,as.current=l,Be!==null)throw Error(o(261));return Ge=null,Xe=0,qe}function Xw(){for(;Be!==null;)Uf(Be)}function Zw(){for(;Be!==null&&!_v();)Uf(Be)}function Uf(t){var n=$f(t.alternate,t,kt);t.memoizedProps=t.pendingProps,n===null?zf(t):Be=n,Gl.current=null}function zf(t){var n=t;do{var i=n.alternate;if(t=n.return,(n.flags&32768)===0){if(i=Hw(i,n,kt),i!==null){Be=i;return}}else{if(i=Vw(i,n),i!==null){i.flags&=32767,Be=i;return}if(t!==null)t.flags|=32768,t.subtreeFlags=0,t.deletions=null;else{qe=6,Be=null;return}}if(n=n.sibling,n!==null){Be=n;return}Be=n=t}while(n!==null);qe===0&&(qe=5)}function tr(t,n,i){var l=Ae,c=jt.transition;try{jt.transition=null,Ae=1,eb(t,n,i,l)}finally{jt.transition=c,Ae=l}return null}function eb(t,n,i,l){do Ur();while(On!==null);if((_e&6)!==0)throw Error(o(327));i=t.finishedWork;var c=t.finishedLanes;if(i===null)return null;if(t.finishedWork=null,t.finishedLanes=0,i===t.current)throw Error(o(177));t.callbackNode=null,t.callbackPriority=0;var p=i.lanes|i.childLanes;if(Nv(t,p),t===Ge&&(Be=Ge=null,Xe=0),(i.subtreeFlags&2064)===0&&(i.flags&2064)===0||us||(us=!0,qf(vi,function(){return Ur(),null})),p=(i.flags&15990)!==0,(i.subtreeFlags&15990)!==0||p){p=jt.transition,jt.transition=null;var g=Ae;Ae=1;var x=_e;_e|=4,Gl.current=null,Kw(t,i),If(i,t),bw(ol),Ei=!!rl,ol=rl=null,t.current=i,Gw(i),Ev(),_e=x,Ae=g,jt.transition=p}else t.current=i;if(us&&(us=!1,On=t,ds=c),p=t.pendingLanes,p===0&&(Rn=null),Av(i.stateNode),mt(t,ze()),n!==null)for(l=t.onRecoverableError,i=0;i<n.length;i++)c=n[i],l(c.value,{componentStack:c.stack,digest:c.digest});if(cs)throw cs=!1,t=Xl,Xl=null,t;return(ds&1)!==0&&t.tag!==0&&Ur(),p=t.pendingLanes,(p&1)!==0?t===Zl?qo++:(qo=0,Zl=t):qo=0,An(),null}function Ur(){if(On!==null){var t=Cd(ds),n=jt.transition,i=Ae;try{if(jt.transition=null,Ae=16>t?16:t,On===null)var l=!1;else{if(t=On,On=null,ds=0,(_e&6)!==0)throw Error(o(331));var c=_e;for(_e|=4,Z=t.current;Z!==null;){var p=Z,g=p.child;if((Z.flags&16)!==0){var x=p.deletions;if(x!==null){for(var C=0;C<x.length;C++){var M=x[C];for(Z=M;Z!==null;){var W=Z;switch(W.tag){case 0:case 11:case 15:Fo(8,W,p)}var H=W.child;if(H!==null)H.return=W,Z=H;else for(;Z!==null;){W=Z;var $=W.sibling,J=W.return;if(_f(W),W===M){Z=null;break}if($!==null){$.return=J,Z=$;break}Z=J}}}var ee=p.alternate;if(ee!==null){var re=ee.child;if(re!==null){ee.child=null;do{var Fe=re.sibling;re.sibling=null,re=Fe}while(re!==null)}}Z=p}}if((p.subtreeFlags&2064)!==0&&g!==null)g.return=p,Z=g;else e:for(;Z!==null;){if(p=Z,(p.flags&2048)!==0)switch(p.tag){case 0:case 11:case 15:Fo(9,p,p.return)}var R=p.sibling;if(R!==null){R.return=p.return,Z=R;break e}Z=p.return}}var A=t.current;for(Z=A;Z!==null;){g=Z;var N=g.child;if((g.subtreeFlags&2064)!==0&&N!==null)N.return=g,Z=N;else e:for(g=A;Z!==null;){if(x=Z,(x.flags&2048)!==0)try{switch(x.tag){case 0:case 11:case 15:ss(9,x)}}catch(ie){Ue(x,x.return,ie)}if(x===g){Z=null;break e}var V=x.sibling;if(V!==null){V.return=x.return,Z=V;break e}Z=x.return}}if(_e=c,An(),Kt&&typeof Kt.onPostCommitFiberRoot=="function")try{Kt.onPostCommitFiberRoot(wi,t)}catch{}l=!0}return l}finally{Ae=i,jt.transition=n}}return!1}function Ff(t,n,i){n=Nr(i,n),n=rf(t,n,1),t=jn(t,n,1),n=st(),t!==null&&(fo(t,1,n),mt(t,n))}function Ue(t,n,i){if(t.tag===3)Ff(t,t,i);else for(;n!==null;){if(n.tag===3){Ff(n,t,i);break}else if(n.tag===1){var l=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Rn===null||!Rn.has(l))){t=Nr(i,t),t=of(n,t,1),n=jn(n,t,1),t=st(),n!==null&&(fo(n,1,t),mt(n,t));break}}n=n.return}}function tb(t,n,i){var l=t.pingCache;l!==null&&l.delete(n),n=st(),t.pingedLanes|=t.suspendedLanes&i,Ge===t&&(Xe&i)===i&&(qe===4||qe===3&&(Xe&130023424)===Xe&&500>ze()-Jl?er(t,0):Yl|=i),mt(t,n)}function Bf(t,n){n===0&&((t.mode&1)===0?n=1:(n=ki,ki<<=1,(ki&130023424)===0&&(ki=4194304)));var i=st();t=ln(t,n),t!==null&&(fo(t,n,i),mt(t,i))}function nb(t){var n=t.memoizedState,i=0;n!==null&&(i=n.retryLane),Bf(t,i)}function rb(t,n){var i=0;switch(t.tag){case 13:var l=t.stateNode,c=t.memoizedState;c!==null&&(i=c.retryLane);break;case 19:l=t.stateNode;break;default:throw Error(o(314))}l!==null&&l.delete(n),Bf(t,i)}var $f;$f=function(t,n,i){if(t!==null)if(t.memoizedProps!==n.pendingProps||dt.current)ft=!0;else{if((t.lanes&i)===0&&(n.flags&128)===0)return ft=!1,Ww(t,n,i);ft=(t.flags&131072)!==0}else ft=!1,Ne&&(n.flags&1048576)!==0&&bp(n,qi,n.index);switch(n.lanes=0,n.tag){case 2:var l=n.type;os(t,n),t=n.pendingProps;var c=Cr(n,et.current);
vendor: 4,470 bytes, line 9
9Rr(n,i),c=Al(null,n,l,t,c,i);var p=Il();return n.flags|=1,typeof c=="object"&&c!==null&&typeof c.render=="function"&&c.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,pt(l)?(p=!0,Fi(n)):p=!1,n.memoizedState=c.state!==null&&c.state!==void 0?c.state:null,kl(n),c.updater=ns,n.stateNode=c,c._reactInternals=n,Ll(n,l,t,i),n=zl(null,n,l,!0,p,i)):(n.tag=0,Ne&&p&&dl(n),it(null,n,c,i),n=n.child),n;case 16:l=n.elementType;e:{switch(os(t,n),t=n.pendingProps,c=l._init,l=c(l._payload),n.type=l,c=n.tag=ib(l),t=Ut(l,t),c){case 0:n=Ul(null,n,l,t,i);break e;case 1:n=hf(null,n,l,t,i);break e;case 11:n=cf(null,n,l,t,i);break e;case 14:n=uf(null,n,l,Ut(l.type,t),i);break e}throw Error(o(306,l,""))}return n;case 0:return l=n.type,c=n.pendingProps,c=n.elementType===l?c:Ut(l,c),Ul(t,n,l,c,i);case 1:return l=n.type,c=n.pendingProps,c=n.elementType===l?c:Ut(l,c),hf(t,n,l,c,i);case 3:e:{if(mf(n),t===null)throw Error(o(387));l=n.pendingProps,p=n.memoizedState,c=p.element,Ip(t,n),Gi(n,l,null,i);var g=n.memoizedState;if(l=g.element,p.isDehydrated)if(p={element:l,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},n.updateQueue.baseState=p,n.memoizedState=p,n.flags&256){c=Nr(Error(o(423)),n),n=gf(t,n,l,i,c);break e}else if(l!==c){c=Nr(Error(o(424)),n),n=gf(t,n,l,i,c);break e}else for(bt=En(n.stateNode.containerInfo.firstChild),wt=n,Ne=!0,Dt=null,i=Pp(n,null,l,i),n.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(Ir(),l===c){n=un(t,n,i);break e}it(t,n,l,i)}n=n.child}return n;case 5:return Rp(n),t===null&&hl(n),l=n.type,c=n.pendingProps,p=t!==null?t.memoizedProps:null,g=c.children,il(l,c)?g=null:p!==null&&il(l,p)&&(n.flags|=32),ff(t,n),it(t,n,g,i),n.child;case 6:return t===null&&hl(n),null;case 13:return yf(t,n,i);case 4:return xl(n,n.stateNode.containerInfo),l=n.pendingProps,t===null?n.child=jr(n,null,l,i):it(t,n,l,i),n.child;case 11:return l=n.type,c=n.pendingProps,c=n.elementType===l?c:Ut(l,c),cf(t,n,l,c,i);case 7:return it(t,n,n.pendingProps,i),n.child;case 8:return it(t,n,n.pendingProps.children,i),n.child;case 12:return it(t,n,n.pendingProps.children,i),n.child;case 10:e:{if(l=n.type._context,c=n.pendingProps,p=n.memoizedProps,g=c.value,je(Vi,l._currentValue),l._currentValue=g,p!==null)if(Mt(p.value,g)){if(p.children===c.children&&!dt.current){n=un(t,n,i);break e}}else for(p=n.child,p!==null&&(p.return=n);p!==null;){var x=p.dependencies;if(x!==null){g=p.child;for(var C=x.firstContext;C!==null;){if(C.context===l){if(p.tag===1){C=cn(-1,i&-i),C.tag=2;var M=p.updateQueue;if(M!==null){M=M.shared;var W=M.pending;W===null?C.next=C:(C.next=W.next,W.next=C),M.pending=C}}p.lanes|=i,C=p.alternate,C!==null&&(C.lanes|=i),wl(p.return,i,n),x.lanes|=i;break}C=C.next}}else if(p.tag===10)g=p.type===n.type?null:p.child;else if(p.tag===18){if(g=p.return,g===null)throw Error(o(341));g.lanes|=i,x=g.alternate,x!==null&&(x.lanes|=i),wl(g,i,n),g=p.sibling}else g=p.child;if(g!==null)g.return=p;else for(g=p;g!==null;){if(g===n){g=null;break}if(p=g.sibling,p!==null){p.return=g.return,g=p;break}g=g.return}p=g}it(t,n,c.children,i),n=n.child}return n;case 9:return c=n.type,l=n.pendingProps.children,Rr(n,i),c=At(c),l=l(c),n.flags|=1,it(t,n,l,i),n.child;case 14:return l=n.type,c=Ut(l,n.pendingProps),c=Ut(l.type,c),uf(t,n,l,c,i);case 15:return df(t,n,n.type,n.pendingProps,i);case 17:return l=n.type,c=n.pendingProps,c=n.elementType===l?c:Ut(l,c),os(t,n),n.tag=1,pt(l)?(t=!0,Fi(n)):t=!1,Rr(n,i),tf(n,l,c),Ll(n,l,c,i),zl(null,n,l,!0,t,i);case 19:return wf(t,n,i);case 22:return pf(t,n,i)}throw Error(o(156,n.tag))};function qf(t,n){return kd(t,n)}function ob(t,n,i,l){this.tag=t,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Tt(t,n,i,l){return new ob(t,n,i,l)}function ic(t){return t=t.prototype,!(!t||!t.isReactComponent)}function ib(t){if(typeof t=="function")return ic(t)?1:0;if(t!=null){if(t=t.$$typeof,t===te)return 11;if(t===ye)return 14}return 2}function Mn(t,n){var i=t.alternate;return i===null?(i=Tt(t.tag,n,t.key,t.mode),i.elementType=t.elementType,i.type=t.type,i.stateNode=t.stateNode,i.alternate=t,t.alternate=i):(i.pendingProps=n,i.type=t.type,i.flags=0,i.subtreeFlags=0,i.deleti
vendor: 5,838 bytes, line 9
9ons=null),i.flags=t.flags&14680064,i.childLanes=t.childLanes,i.lanes=t.lanes,i.child=t.child,i.memoizedProps=t.memoizedProps,i.memoizedState=t.memoizedState,i.updateQueue=t.updateQueue,n=t.dependencies,i.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},i.sibling=t.sibling,i.index=t.index,i.ref=t.ref,i}function ms(t,n,i,l,c,p){var g=2;if(l=t,typeof t=="function")ic(t)&&(g=1);else if(typeof t=="string")g=5;else e:switch(t){case q:return nr(i.children,c,p,n);case X:g=8,c|=8;break;case Y:return t=Tt(12,i,n,c|2),t.elementType=Y,t.lanes=p,t;case me:return t=Tt(13,i,n,c),t.elementType=me,t.lanes=p,t;case G:return t=Tt(19,i,n,c),t.elementType=G,t.lanes=p,t;case ne:return gs(i,c,p,n);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case se:g=10;break e;case ce:g=9;break e;case te:g=11;break e;case ye:g=14;break e;case ae:g=16,l=null;break e}throw Error(o(130,t==null?t:typeof t,""))}return n=Tt(g,i,n,c),n.elementType=t,n.type=l,n.lanes=p,n}function nr(t,n,i,l){return t=Tt(7,t,l,n),t.lanes=i,t}function gs(t,n,i,l){return t=Tt(22,t,l,n),t.elementType=ne,t.lanes=i,t.stateNode={isHidden:!1},t}function sc(t,n,i){return t=Tt(6,t,null,n),t.lanes=i,t}function ac(t,n,i){return n=Tt(4,t.children!==null?t.children:[],t.key,n),n.lanes=i,n.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},n}function sb(t,n,i,l,c){this.tag=n,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Na(0),this.expirationTimes=Na(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Na(0),this.identifierPrefix=l,this.onRecoverableError=c,this.mutableSourceEagerHydrationData=null}function lc(t,n,i,l,c,p,g,x,C){return t=new sb(t,n,i,x,C),n===1?(n=1,p===!0&&(n|=8)):n=0,p=Tt(3,null,null,n),t.current=p,p.stateNode=t,p.memoizedState={element:l,isDehydrated:i,cache:null,transitions:null,pendingSuspenseBoundaries:null},kl(p),t}function ab(t,n,i){var l=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:B,key:l==null?null:""+l,children:t,containerInfo:n,implementation:i}}function Wf(t){if(!t)return Pn;t=t._reactInternals;e:{if(Wn(t)!==t||t.tag!==1)throw Error(o(170));var n=t;do{switch(n.tag){case 3:n=n.stateNode.context;break e;case 1:if(pt(n.type)){n=n.stateNode.__reactInternalMemoizedMergedChildContext;break e}}n=n.return}while(n!==null);throw Error(o(171))}if(t.tag===1){var i=t.type;if(pt(i))return yp(t,i,n)}return n}function Hf(t,n,i,l,c,p,g,x,C){return t=lc(i,l,!0,t,c,p,g,x,C),t.context=Wf(null),i=t.current,l=st(),c=Nn(i),p=cn(l,c),p.callback=n??null,jn(i,p,c),t.current.lanes=c,fo(t,c,l),mt(t,l),t}function ys(t,n,i,l){var c=n.current,p=st(),g=Nn(c);return i=Wf(i),n.context===null?n.context=i:n.pendingContext=i,n=cn(p,g),n.payload={element:t},l=l===void 0?null:l,l!==null&&(n.callback=l),t=jn(c,n,g),t!==null&&(Bt(t,c,g,p),Ki(t,c,g)),g}function vs(t){return t=t.current,t.child?(t.child.tag===5,t.child.stateNode):null}function Vf(t,n){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var i=t.retryLane;t.retryLane=i!==0&&i<n?i:n}}function cc(t,n){Vf(t,n),(t=t.alternate)&&Vf(t,n)}function lb(){return null}var Qf=typeof reportError=="function"?reportError:function(t){console.error(t)};function uc(t){this._internalRoot=t}ws.prototype.render=uc.prototype.render=function(t){var n=this._internalRoot;if(n===null)throw Error(o(409));ys(t,n,null,null)},ws.prototype.unmount=uc.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var n=t.containerInfo;Zn(function(){ys(null,t,null,null)}),n[rn]=null}};function ws(t){this._internalRoot=t}ws.prototype.unstable_scheduleHydration=function(t){if(t){var n=Id();t={blockedOn:null,target:t,priority:n};for(var i=0;i<xn.length&&n!==0&&n<xn[i].priority;i++);xn.splice(i,0,t),i===0&&Rd(t)}};function dc(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function bs(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11&&(t.nodeType!==8||t.nodeValue!==" react-mount-point-unstable "))}function Kf(){}function cb(t,n,i,l,c){if(c){if(typeof l=="function"){var p=l;l=function(){var M=vs(g);p.call(M)}}var g=Hf(n,l,t,0,null,!1,!1,"",Kf);return t._reactRootContainer=g,t[rn]=g.current,Po(t.nodeType===8?t.parentNode:t),Zn(),g}for(;c=t.lastChild;)t.removeChild(c);if(typeof l=="function"){var x=l;l=function(){var M=vs(C);x.call(M)}}var C=lc(t,0,!1,null,null,!1,!1,"",Kf);return t._reactRootContainer=C,t[rn]=C.current,Po(t.nodeType===8?t.parentNode:t),Zn(function(){ys(n,C,i,l)}),C}function ks(t,n,i,l,c){var p=i._reactRootContainer;if(p){var g=p;if(typeof c=="function"){var x=c;c=function(){var C=vs(g);x.call(C)}}ys(n,g,t,c)}else g=cb(i,n,t,c,l);return vs(g)}Pd=function(t){switch(t.tag){case 3:var n=t.stateNode;if(n.current.memoizedState.isDehydrated){var i=po(n.pendingLanes);i!==0&&(La(n,i|1),mt(n,ze()),(_e&6)===0&&(Dr=ze()+500,An()))}break;case 13:Zn(function(){var l=ln(t,1);if(l!==null){var c=st();Bt(l,t,1,c)}}),cc(t,1)}},Ma=function(t){if(t.tag===13){var n=ln(t,134217728);if(n!==null){var i=st();Bt(n,t,134217728,i)}cc(t,134217728)}},Ad=function(t){if(t.tag===13){var n=Nn(t),i=ln(t,n);if(i!==null){var l=st();Bt(i,t,n,l)}cc(t,n)}},Id=function(){return Ae},jd=function(t,n){var i=Ae;try{return Ae=t,n()}finally{Ae=i}},Aa=function(t,n,i){switch(n){case"input":if(ba(t,i),n=i.name,i.type==="radio"&&n!=null){for(i=t;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll("input[name="+JSON.stringify(""+n)+'][type="radio"]'),n=0;n<i.length;n++){var l=i[n];if(l!==t&&l.form===t.form){var c=Ui(l);if(!c)throw Error(o(90));fr(l),ba(l,c)}}}break;case"textarea":id(t,i);break;
9case"select":n=i.value,n!=null&&hr(t,!!i.multiple,n,!1)}},hd=nc,md=Zn;var ub={usingClientEntryPoint:!1,Events:[jo,_r,Ui,pd,fd,nc]},Wo={findFiberByHostInstance:Hn,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},db={bundleType:Wo.bundleType,version:Wo.version,rendererPackageName:Wo.rendererPackageName,rendererConfig:Wo.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:D.ReactCurrentDispatcher,findHostInstanceByFiber:function(t){return t=wd(t),t===null?null:t.stateNode},findFiberByHostInstance:Wo.findFiberByHostInstance||lb,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var xs=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!xs.isDisabled&&xs.supportsFiber)try{wi=xs.inject(db),Kt=xs}catch{}}return gt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ub,gt.createPortal=function(t,n){var i=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!dc(n))throw Error(o(200));return ab(t,n,null,i)},gt.createRoot=function(t,n){if(!dc(t))throw Error(o(299));var i=!1,l="",c=Qf;return n!=null&&(n.unstable_strictMode===!0&&(i=!0),n.identifierPrefix!==void 0&&(l=n.identifierPrefix),n.onRecoverableError!==void 0&&(c=n.onRecoverableError)),n=lc(t,1,!1,null,null,i,!1,l,c),t[rn]=n.current,Po(t.nodeType===8?t.parentNode:t),new uc(n)},gt.findDOMNode=function(t){if(t==null)return null;if(t.nodeType===1)return t;var n=t._reactInternals;if(n===void 0)throw typeof t.render=="function"?Error(o(188)):(t=Object.keys(t).join(","),Error(o(268,t)));return t=wd(n),t=t===null?null:t.stateNode,t},gt.flushSync=function(t){return Zn(t)},gt.hydrate=function(t,n,i){if(!bs(n))throw Error(o(200));return ks(null,t,n,!0,i)},gt.hydrateRoot=function(t,n,i){if(!dc(t))throw Error(o(405));var l=i!=null&&i.hydratedSources||null,c=!1,p="",g=Qf;if(i!=null&&(i.unstable_strictMode===!0&&(c=!0),i.identifierPrefix!==void 0&&(p=i.identifierPrefix),i.onRecoverableError!==void 0&&(g=i.onRecoverableError)),n=Hf(n,null,t,1,i??null,c,!1,p,g),t[rn]=n.current,Po(t),l)for(t=0;t<l.length;t++)i=l[t],c=i._getVersion,c=c(i._source),n.mutableSourceEagerHydrationData==null?n.mutableSourceEagerHydrationData=[i,c]:n.mutableSourceEagerHydrationData.push(i,c);return new ws(n)},gt.render=function(t,n,i){if(!bs(n))throw Error(o(200));return ks(null,t,n,!1,i)},gt.unmountComponentAtNode=function(t){if(!bs(t))throw Error(o(40));return t._reactRootContainer?(Zn(function(){ks(null,null,t,!1,function(){t._reactRootContainer=null,t[rn]=null})}),!0):!1},gt.unstable_batchedUpdates=nc,gt.unstable_renderSubtreeIntoContainer=function(t,n,i,l){if(!bs(i))throw Error(o(200));if(t==null||t._reactInternals===void 0)throw Error(o(38));return ks(t,n,i,!1,l)},gt.version="18.3.1-next-f1338f8080-20240426",gt}var nh;function Tm(){if(nh)return hc.exports;nh=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(r){console.error(r)}}return e(),hc.exports=bb(),hc.exports}var rh;function kb(){if(rh)return Ss;rh=1;var e=Tm();return Ss.createRoot=e.createRoot,Ss.hydrateRoot=e.hydrateRoot,Ss}var pu=kb();const xb=Xs(pu),Sb=Js({__proto__:null,default:xb},[pu]),_b="modulepreload",Eb=function(e){return"/"+e},oh={},we=function(r,o,s){let a=Promise.resolve();if(o&&o.length>0){let m=function(y){return Promise.all(y.map(w=>Promise.resolve(w).then(b=>({status:"fulfilled",value:b}),b=>({status:"rejected",reason:b}))))};document.getElementsByTagName("link");const f=document.querySelector("meta[property=csp-nonce]"),h=f?.nonce||f?.getAttribute("nonce");a=m(o.map(y=>{if(y=Eb(y),y in oh)return;oh[y]=!0;const w=y.endsWith(".css"),b=w?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${y}"]${b}`))return;const k=document.createElement("link");if(k.rel=w?"stylesheet":_b,w||(k.as="script"),k.crossOrigin="",k.href=y,h&&k.setAttribute("nonce",h),document.head.appendChild(k),w)return new Promise((P,T)=>{k.addEventListener("load",P),k.addEventListener("error",()=>T(new Error(`Unable to preload CSS for ${y}`)))})}))}function d(f){const h=new Event("vite:preloadError",{cancelable:!0});if(h.payload=f,window.dispatchEvent(h),!h.defaultPrevented)throw f}return a.then(f=>{for(const h of f||[])h.status==="rejected"&&d(h.reason);return r().catch(d)})};var v=Zs();const L=Xs(v),Rm=Js({__proto__:null,default:L},[v]);const Cb=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Om=(...e)=>e.filter((r,o,s)=>!!r&&s.indexOf(r)===o).join(" ");var Pb={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const Ab=v.forwardRef(({color:e="currentColor",size:r=24,strokeWidth:o=2,absoluteStrokeWidth:s,className:a="",children:d,iconNode:f,...h},m)=>v.createElement("svg",{ref:m,...Pb,width:r,height:r,stroke:e,strokeWidth:s?Number(o)*24/Number(r):o,className:Om("lucide",a),...h},[...f.map(([y,w])=>v.createElement(y,w)),...Array.isArray(d)?d:[d]]));const Ot=(e,r)=>{const o=v.forwardRef(({className:s,...a},d)=>v.createElement(Ab,{ref:d,iconNode:r,className:Om(`lucide-${Cb(e)}`,s),...a}
9));return o.displayName=`${e}`,o};const or=Ot("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);const yc=Ot("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);const Ib=Ot("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);const jb=Ot("Building2",[["path",{d:"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z",key:"1b4qmf"}],["path",{d:"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",key:"i71pzd"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2",key:"10jefs"}],["path",{d:"M10 6h4",key:"1itunk"}],["path",{d:"M10 10h4",key:"tcdvrf"}],["path",{d:"M10 14h4",key:"kelpxr"}],["path",{d:"M10 18h4",key:"1ulq68"}]]);const ih=Ot("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);const Ko=Ot("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);const Tb=Ot("Clock3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16.5 12",key:"1aq6pp"}]]);const ir=Ot("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);const Rb=Ot("RefreshCw",[["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"}]]);const Ob=Ot("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);const Nb=Ot("TriangleAlert",[["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"}]]);const Lb=Ot("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),Mb="/release.json",Xo="sofia:release-recovery";function ri(){try{return window.sessionStorage}catch{return null}}function fu(){const e="build-1790626749344-767360bf";if(e.trim())return e.trim();if(typeof document<"u"){const r=document.querySelector('meta[name="sofia-release"]')?.getAttribute("content")?.trim();if(r&&!r.startsWith("%"))return r}return"development"}function ea(e=window.location){return`${e.pathname}${e.search}${e.hash}`}function Db(e=window.location){return e.href}function Nm(e){return typeof e!="object"||e===null||!("navigationKey"in e)||!("activeReleaseId"in e)||typeof e.navigationKey!="string"||typeof e.activeReleaseId!="string"||!e.navigationKey||!e.activeReleaseId?null:{navigationKey:e.navigationKey,activeReleaseId:e.activeReleaseId}}function Lm(e=ri()){try{const r=e?.getItem(Xo);if(r){const o=Nm(JSON.parse(r));if(o)return o;e?.removeItem(Xo)}}catch{}return null}function Ub(e=ea(),r=ri()){return Lm(r)?.navigationKey===e}function zb(e=fu(),r=ea(),o=ri()){const s={navigationKey:r,activeReleaseId:e};if(!o)return!1;try{return o.setItem(Xo,JSON.stringify(s)),Nm(JSON.parse(o.getItem(Xo)??"null"))!==null}catch{return!1}}function Fb({activeReleaseId:e,servedReleaseId:r,navigationKey:o=ea(),storage:s=ri()}){return e===r||Ub(o,s)?!1:zb(e,o,s)}function Bb(e=fu(),r=ri()){const o=Lm(r);if(o&&o.activeReleaseId!==e)try{r?.removeItem(Xo)}catch{}}async function $b(e=window.fetch.bind(window)){const r=await e(Mb,{cache:"no-store",credentials:"same-origin",headers:{Accept:"application/json"}});if(!r.ok)throw new Error(`Release metadata request failed (${r.status})`);const o=await r.json(),s=typeof o=="object"&&o!==null&&"releaseId"in o&&typeof o.releaseId=="string"?o.releaseId.trim():"";if(!s)throw new Error("Release metadata did not contain a releaseId");return{releaseId:s}}function sh(e){return(e instanceof Error?e.message:String(e??"")).match(/(?:https?:\/\/[^\s)"']+)?\/assets\/[^\s)"']+/)?.[0]??null}function ah(e){if(!e||typeof e!="object")return!1;const r=e,o=typeof r.name=="string"?r.name:"",s=typeof r.message=="string"?r.message:"";return o==="ChunkLoadError"||s.includes("Failed to fetch dynamically imported module")||s.includes("Importing a module script failed")||s.includes("dynamically imported module")||s.includes("Loading chunk")||s.includes("Loading CSS chunk")}class lh extends L.Component{constructor(r){super(r),this.resolveRecovery=async(o,s)=>{const a=this.props.recoveryEnvironment?.location??window.location,d=ea(a);try{const f=await $b(this.props.recoveryEnvironment?.fetchImpl);if(this.setState({activeReleaseId:o,servedReleaseId:f.releaseId,failedAssetUrl:s??void 0}),Fb({activeReleaseId:o,servedReleaseId:f.releaseId,navigationKey:d,storage:this.props.recoveryEnvironment?.storage})){this.setState({status:"recovering"});const h=Db(a);(this.props.recoveryEnvironment?.navigate??(y=>window.location.replace(y)))(h);return}this.setState({status:"failed"})}catch(f){console.warn("[ChunkErrorBoundary] Release metadata unavailable",{activeReleaseId:o,failedAssetUrl:s,metadataError:f instanceof Error?f.message:String(f)}),this.setState({activeReleaseId:o,failedAssetUrl:s??void 0,status:"failed"})}},this.state={hasError:!1,isChunkError:!1,status:"idle"}}static getDerivedStateFromError(r){const o=ah(r);return{hasError:!0,isChunkError:o,status:o?"checking":"idle",failedAssetUrl:sh(r)??void 0,errorMessage:r instanceof Error?r.message:String(r)}}
9componentDidCatch(r,o){if(!ah(r))throw r;const s=this.props.recoveryEnvironment?.activeReleaseId??fu(),a=sh(r);console.warn("[ChunkErrorBoundary] Lazy chunk failed to load",{activeReleaseId:s,failedAssetUrl:a,message:r instanceof Error?r.message:String(r),componentStack:o.componentStack}),this.resolveRecovery(s,a)}render(){if(this.state.hasError&&this.state.isChunkError){const r=this.state.status==="checking",o=this.state.status==="recovering",s=r||o;return u.jsx("div",{className:"min-h-screen flex items-center justify-center bg-neutral-50",children:u.jsxs("div",{className:"text-center space-y-4 max-w-sm px-4",children:[u.jsx("div",{className:"w-12 h-12 rounded-full bg-primary/10 flex items-center justify-center mx-auto",children:s?u.jsx(Rb,{className:"w-6 h-6 text-primary animate-spin"}):u.jsx(Nb,{className:"w-6 h-6 text-primary"})}),u.jsxs("div",{className:"space-y-1",children:[u.jsx("h2",{className:"text-lg font-semibold text-foreground",children:r?"Checking for an update":o?"Loading the latest version":"This page could not load"}),u.jsx("p",{className:"text-sm text-muted-foreground",children:r?"Verifying whether a deployment replaced this page component.":o?"Refreshing this page once to finish the deployment update.":"A page component failed to load. No further automatic reloads will be attempted."})]}),!s&&u.jsxs("div",{className:"space-y-2 text-left text-xs text-muted-foreground rounded-md border bg-white p-3",children:[u.jsx("p",{children:"If this continues, share these details with support:"}),u.jsxs("dl",{className:"grid grid-cols-[auto_1fr] gap-x-2 gap-y-1",children:[u.jsx("dt",{children:"Active release"}),u.jsx("dd",{className:"font-mono break-all",children:this.state.activeReleaseId??"unknown"}),u.jsx("dt",{children:"Served release"}),u.jsx("dd",{className:"font-mono break-all",children:this.state.servedReleaseId??"unavailable"}),u.jsx("dt",{children:"Failed asset"}),u.jsx("dd",{className:"font-mono break-all",children:this.state.failedAssetUrl??"unknown"})]})]})]})})}return this.props.children}}function qb(e,r){if(e instanceof RegExp)return{keys:!1,pattern:e};var o,s,a,d,f=[],h="",m=e.split("/");for(m[0]||m.shift();a=m.shift();)o=a[0],o==="*"?(f.push(o),h+=a[1]==="?"?"(?:/(.*))?":"/(.*)"):o===":"?(s=a.indexOf("?",1),d=a.indexOf(".",1),f.push(a.substring(1,~s?s:~d?d:a.length)),h+=~s&&!~d?"(?:/([^/]+?))?":"/([^/]+?)",~d&&(h+=(~s?"?":"")+"\\"+a.substring(d))):h+="/"+a;return{keys:f,pattern:new RegExp("^"+h+(r?"(?=$|/)":"/?$"),"i")}}var vc={exports:{}},wc={};var ch;function Wb(){if(ch)return wc;ch=1;var e=Zs();function r(b,k){return b===k&&(b!==0||1/b===1/k)||b!==b&&k!==k}var o=typeof Object.is=="function"?Object.is:r,s=e.useState,a=e.useEffect,d=e.useLayoutEffect,f=e.useDebugValue;function h(b,k){var P=k(),T=s({inst:{value:P,getSnapshot:k}}),E=T[0].inst,S=T[1];return d(function(){E.value=P,E.getSnapshot=k,m(E)&&S({inst:E})},[b,P,k]),a(function(){return m(E)&&S({inst:E}),b(function(){m(E)&&S({inst:E})})},[b]),f(P),P}function m(b){var k=b.getSnapshot;b=b.value;try{var P=k();return!o(b,P)}catch{return!0}}function y(b,k){return k()}var w=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?y:h;return wc.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:w,wc}var uh;function Hb(){return uh||(uh=1,vc.exports=Wb()),vc.exports}var Vb=Hb();const Qb=Rm.useInsertionEffect,Kb=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Mm=Kb?v.useLayoutEffect:v.useEffect,Gb=Qb||Mm,hu=e=>{const r=v.useRef([e,(...o)=>r[0](...o)]).current;return Gb(()=>{r[0]=e}),r[1]},Yb="popstate",mu="pushState",gu="replaceState",Jb="hashchange",dh=[Yb,mu,gu,Jb],Xb=e=>{for(const r of dh)addEventListener(r,e);return()=>{for(const r of dh)removeEventListener(r,e)}},Dm=(e,r)=>Vb.useSyncExternalStore(Xb,e,r),Zb=()=>location.search,ek=({ssrSearch:e=""}={})=>Dm(Zb,()=>e),ph=()=>location.pathname,tk=({ssrPath:e}={})=>Dm(ph,e?()=>e:ph),nk=(e,{replace:r=!1,state:o=null}={})=>history[r?gu:mu](o,"",e),rk=(e={})=>[tk(e),nk],fh=Symbol.for("wouter_v3");if(typeof history<"u"&&typeof window[fh]>"u"){for(const e of[mu,gu]){const r=history[e];history[e]=function(){const o=r.apply(this,arguments),s=new Event(e);return s.arguments=arguments,dispatchEvent(s),o}}Object.defineProperty(window,fh,{value:!0})}const ok=(e,r)=>r.toLowerCase().indexOf(e.toLowerCase())?"~"+r:r.slice(e.length)||"/",Um=(e="")=>e==="/"?"":e,ik=(e,r)=>e[0]==="~"?e.slice(1):Um(r)+e,sk=(e="",r)=>ok(Qc(Um(e)),Qc(r)),ak=e=>e[0]==="?"?e.slice(1):e,Qc=e=>{try{return decodeURI(e)}catch{return e}},lk=e=>Qc(ak(e)),zm={hook:rk,searchHook:ek,parser:qb,base:"",ssrPath:void 0,ssrSearch:void 0,hrefs:e=>e},Fm=v.createContext(zm),dr=()=>v.useContext(Fm),Bm={},$m=v.createContext(Bm),ck=()=>v.useContext($m),ta=e=>{const[r,o]=e.hook(e);return[sk(e.base,r),hu((s,a)=>o(ik(s,e.base),a))]},Nt=()=>ta(dr()),uk=()=>{const e=dr();return lk(e.searchHook(e))},yu=(e,r,o,s)=>{const{pattern:a,keys:d}=r instanceof RegExp?{keys:!1,pattern:r}:e(r||"*",s),f=a.exec(o)||[],[h,...m]=f;return h!==void 0?[!0,(()=>{const y=d!==!1?Object.fromEntries(d.map((b,k)=>[b,m[k]])):f.groups;let w={...m};return y&&Object.assign(w,y),w})(),...s?[h]:[]]:[!1,null]},CI=e=>
9yu(dr().parser,e,Nt()[0]),qm=({children:e,...r})=>{const o=dr(),s=r.hook?zm:o;let a=s;const[d,f]=r.ssrPath?.split("?")??[];f&&(r.ssrSearch=f,r.ssrPath=d),r.hrefs=r.hrefs??r.hook?.hrefs;let h=v.useRef({}),m=h.current,y=m;for(let w in s){const b=w==="base"?s[w]+(r[w]||""):r[w]||s[w];m===y&&b!==y[w]&&(h.current=y={...y}),y[w]=b,b!==s[w]&&(a=y)}return v.createElement(Fm.Provider,{value:a,children:e})},hh=({children:e,component:r},o)=>r?v.createElement(r,{params:o}):typeof e=="function"?e(o):e,dk=e=>{let r=v.useRef(Bm),o=r.current;for(const s in e)e[s]!==o[s]&&(o=e);return Object.keys(e).length===0&&(o=e),r.current=o},he=({path:e,nest:r,match:o,...s})=>{const a=dr(),[d]=ta(a),[f,h,m]=o??yu(a.parser,e,d,r),y=dk({...ck(),...h});if(!f)return null;const w=m?v.createElement(qm,{base:m},hh(s,y)):hh(s,y);return v.createElement($m.Provider,{value:y,children:w})},Ce=v.forwardRef((e,r)=>{const o=dr(),[s,a]=ta(o),{to:d="",href:f=d,onClick:h,asChild:m,children:y,className:w,replace:b,state:k,...P}=e,T=hu(S=>{S.ctrlKey||S.metaKey||S.altKey||S.shiftKey||S.button!==0||(h?.(S),S.defaultPrevented||(S.preventDefault(),a(f,e)))}),E=o.hrefs(f[0]==="~"?f.slice(1):o.base+f,o);return m&&v.isValidElement(y)?v.cloneElement(y,{onClick:T,href:E}):v.createElement("a",{...P,onClick:T,href:E,className:w?.call?w(s===f):w,children:y,ref:r})}),Wm=e=>Array.isArray(e)?e.flatMap(r=>Wm(r&&r.type===v.Fragment?r.props.children:r)):[e],pk=({children:e,location:r})=>{const o=dr(),[s]=ta(o);for(const a of Wm(e)){let d=0;if(v.isValidElement(a)&&(d=yu(o.parser,a.props.path,r||s,a.props.nest))[0])return v.cloneElement(a,{match:d})}return null},Br=e=>{const{to:r,href:o=r}=e,[,s]=Nt(),a=hu(()=>s(r||o,e));return Mm(()=>{a()},[]),null};var Yr=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},sr=typeof window>"u"||"Deno"in globalThis;function Rt(){}function fk(e,r){return typeof e=="function"?e(r):e}function Kc(e){return typeof e=="number"&&e>=0&&e!==1/0}function Hm(e,r){return Math.max(e+(r||0)-Date.now(),0)}function $r(e,r){return typeof e=="function"?e(r):e}function qt(e,r){return typeof e=="function"?e(r):e}function mh(e,r){const{type:o="all",exact:s,fetchStatus:a,predicate:d,queryKey:f,stale:h}=e;if(f){if(s){if(r.queryHash!==vu(f,r.options))return!1}else if(!Zo(r.queryKey,f))return!1}if(o!=="all"){const m=r.isActive();if(o==="active"&&!m||o==="inactive"&&m)return!1}return!(typeof h=="boolean"&&r.isStale()!==h||a&&a!==r.state.fetchStatus||d&&!d(r))}function gh(e,r){const{exact:o,status:s,predicate:a,mutationKey:d}=e;if(d){if(!r.options.mutationKey)return!1;if(o){if(ar(r.options.mutationKey)!==ar(d))return!1}else if(!Zo(r.options.mutationKey,d))return!1}return!(s&&r.state.status!==s||a&&!a(r))}function vu(e,r){return(r?.queryKeyHashFn||ar)(e)}function ar(e){return JSON.stringify(e,(r,o)=>Gc(o)?Object.keys(o).sort().reduce((s,a)=>(s[a]=o[a],s),{}):o)}function Zo(e,r){return e===r?!0:typeof e!=typeof r?!1:e&&r&&typeof e=="object"&&typeof r=="object"?!Object.keys(r).some(o=>!Zo(e[o],r[o])):!1}function Vm(e,r){if(e===r)return e;const o=yh(e)&&yh(r);if(o||Gc(e)&&Gc(r)){const s=o?e:Object.keys(e),a=s.length,d=o?r:Object.keys(r),f=d.length,h=o?[]:{};let m=0;for(let y=0;y<f;y++){const w=o?y:d[y];(!o&&s.includes(w)||o)&&e[w]===void 0&&r[w]===void 0?(h[w]=void 0,m++):(h[w]=Vm(e[w],r[w]),h[w]===e[w]&&e[w]!==void 0&&m++)}return a===f&&m===a?e:h}return r}function zs(e,r){if(!r||Object.keys(e).length!==Object.keys(r).length)return!1;for(const o in e)if(e[o]!==r[o])return!1;return!0}function yh(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function Gc(e){if(!vh(e))return!1;const r=e.constructor;if(r===void 0)return!0;const o=r.prototype;return!(!vh(o)||!o.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function vh(e){return Object.prototype.toString.call(e)==="[object Object]"}function hk(e){return new Promise(r=>{setTimeout(r,e)})}function Yc(e,r,o){return typeof o.structuralSharing=="function"?o.structuralSharing(e,r):o.structuralSharing!==!1?Vm(e,r):r}function mk(e,r,o=0){const s=[...e,r];return o&&s.length>o?s.slice(1):s}function gk(e,r,o=0){const s=[r,...e];return o&&s.length>o?s.slice(0,-1):s}var wu=Symbol();function Qm(e,r){return!e.queryFn&&r?.initialPromise?()=>r.initialPromise:!e.queryFn||e.queryFn===wu?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}var yk=class extends Yr{#e;#t;#r;constructor(){super(),this.#r=e=>{if(!sr&&window.addEventListener){const r=()=>e();return window.addEventListener("visibilitychange",r,!1),()=>{window.removeEventListener("visibilitychange",r)}}}}onSubscribe(){this.#t||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#r=e,this.#t?.(),this.#t=e(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){const e=this.isFocused();
vendor: 23,701 bytes, line 9
9this.listeners.forEach(r=>{r(e)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},bu=new yk,vk=class extends Yr{#e=!0;#t;#r;constructor(){super(),this.#r=e=>{if(!sr&&window.addEventListener){const r=()=>e(!0),o=()=>e(!1);return window.addEventListener("online",r,!1),window.addEventListener("offline",o,!1),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",o)}}}}onSubscribe(){this.#t||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#r=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(o=>{o(e)}))}isOnline(){return this.#e}},Fs=new vk;function Jc(){let e,r;const o=new Promise((a,d)=>{e=a,r=d});o.status="pending",o.catch(()=>{});function s(a){Object.assign(o,a),delete o.resolve,delete o.reject}return o.resolve=a=>{s({status:"fulfilled",value:a}),e(a)},o.reject=a=>{s({status:"rejected",reason:a}),r(a)},o}function wk(e){return Math.min(1e3*2**e,3e4)}function Km(e){return(e??"online")==="online"?Fs.isOnline():!0}var Gm=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function bc(e){return e instanceof Gm}function Ym(e){let r=!1,o=0,s=!1,a;const d=Jc(),f=E=>{s||(k(new Gm(E)),e.abort?.())},h=()=>{r=!0},m=()=>{r=!1},y=()=>bu.isFocused()&&(e.networkMode==="always"||Fs.isOnline())&&e.canRun(),w=()=>Km(e.networkMode)&&e.canRun(),b=E=>{s||(s=!0,e.onSuccess?.(E),a?.(),d.resolve(E))},k=E=>{s||(s=!0,e.onError?.(E),a?.(),d.reject(E))},P=()=>new Promise(E=>{a=S=>{(s||y())&&E(S)},e.onPause?.()}).then(()=>{a=void 0,s||e.onContinue?.()}),T=()=>{if(s)return;let E;const S=o===0?e.initialPromise:void 0;try{E=S??e.fn()}catch(I){E=Promise.reject(I)}Promise.resolve(E).then(b).catch(I=>{if(s)return;const O=e.retry??(sr?0:3),j=e.retryDelay??wk,D=typeof j=="function"?j(o,I):j,F=O===!0||typeof O=="number"&&o<O||typeof O=="function"&&O(o,I);if(r||!F){k(I);return}o++,e.onFail?.(o,I),hk(D).then(()=>y()?void 0:P()).then(()=>{r?k(I):T()})})};return{promise:d,cancel:f,continue:()=>(a?.(),d),cancelRetry:h,continueRetry:m,canStart:w,start:()=>(w()?T():P().then(T),d)}}function bk(){let e=[],r=0,o=h=>{h()},s=h=>{h()},a=h=>setTimeout(h,0);const d=h=>{r?e.push(h):a(()=>{o(h)})},f=()=>{const h=e;e=[],h.length&&a(()=>{s(()=>{h.forEach(m=>{o(m)})})})};return{batch:h=>{let m;r++;try{m=h()}finally{r--,r||f()}return m},batchCalls:h=>(...m)=>{d(()=>{h(...m)})},schedule:d,setNotifyFunction:h=>{o=h},setBatchNotifyFunction:h=>{s=h},setScheduler:h=>{a=h}}}var We=bk(),Jm=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Kc(this.gcTime)&&(this.#e=setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(sr?1/0:300*1e3))}clearGcTimeout(){this.#e&&(clearTimeout(this.#e),this.#e=void 0)}},kk=class extends Jm{#e;#t;#r;#n;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#r=e.cache,this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#e=xk(this.options),this.state=e.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#n?.promise}setOptions(e){this.options={...this.#o,...e},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#r.remove(this)}setData(e,r){const o=Yc(this.state.data,e,this.options);return this.#i({data:o,type:"success",dataUpdatedAt:r?.updatedAt,manual:r?.manual}),o}setState(e,r){this.#i({type:"setState",state:e,setStateOptions:r})}cancel(e){const r=this.#n?.promise;return this.#n?.cancel(e),r?r.then(Rt).catch(Rt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#e)}isActive(){return this.observers.some(e=>qt(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===wu||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStale(){return this.state.isInvalidated?!0:this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0}isStaleByTime(e=0){return this.state.isInvalidated||this.state.data===void 0||!Hm(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(r=>r.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#n?.continue()}onOnline(){this.observers.find(r=>r.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#n?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(r=>r!==e),this.observers.length||(this.#n&&(this.#s?this.#n.cancel({revert:!0}):this.#n.cancelRetry()),this.scheduleGc()),this.#r.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#i({type:"invalidate"})}fetch(e,r){if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&r?.cancelRefetch)this.cancel({silent:!0});else if(this.#n)return this.#n.continueRetry(),this.#n.promise}if(e&&this.setOptions(e),!this.options.queryFn){const h=this.observers.find(m=>m.options.queryFn);h&&this.setOptions(h.options)}const o=new AbortController,s=h=>{Object.defineProperty(h,"signal",{enumerable:!0,get:()=>(this.#s=!0,o.signal)})},a=()=>{const h=Qm(this.options,r),m={queryKey:this.queryKey,meta:this.meta};return s(m),this.#s=!1,this.options.persister?this.options.persister(h,m,this):h(m)},d={fetchOptions:r,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:a};s(d),this.options.behavior?.onFetch(d,this),this.#t=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==d.fetchOptions?.meta)&&this.#i({type:"fetch",meta:d.fetchOptions?.meta});const f=h=>{bc(h)&&h.silent||this.#i({type:"error",error:h}),bc(h)||(this.#r.config.onError?.(h,this),this.#r.config.onSettled?.(this.state.data,h,this)),this.scheduleGc()};return this.#n=Ym({initialPromise:r?.initialPromise,fn:d.fetchFn,abort:o.abort.bind(o),onSuccess:h=>{if(h===void 0){f(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(h)}catch(m){f(m);return}this.#r.config.onSuccess?.(h,this),this.#r.config.onSettled?.(h,this.state.error,this),this.scheduleGc()},onError:f,onFail:(h,m)=>{this.#i({type:"failed",failureCount:h,error:m})},onPause:()=>{this.#i({type:"pause"})},onContinue:()=>{this.#i({type:"continue"})},retry:d.options.retry,retryDelay:d.options.retryDelay,networkMode:d.options.networkMode,canRun:()=>!0}),this.#n.start()}#i(e){const r=o=>{switch(e.type){case"failed":return{...o,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...o,fetchStatus:"paused"};case"continue":return{...o,fetchStatus:"fetching"};case"fetch":return{...o,...Xm(o.data,this.options),fetchMeta:e.meta??null};case"success":return{...o,data:e.data,dataUpdateCount:o.dataUpdateCount+1,dataUpdatedAt:e.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const s=e.error;return bc(s)&&s.revert&&this.#t?{...this.#t,fetchStatus:"idle"}:{...o,error:s,errorUpdateCount:o.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:o.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error"};case"invalidate":return{...o,isInvalidated:!0};case"setState":return{...o,...e.state}}};this.state=r(this.state),We.batch(()=>{this.observers.forEach(o=>{o.onQueryUpdate()}),this.#r.notify({query:this,type:"updated",action:e})})}};function Xm(e,r){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Km(r.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function xk(e){const r=typeof e.initialData=="function"?e.initialData():e.initialData,o=r!==void 0,s=o?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:r,dataUpdateCount:0,dataUpdatedAt:o?s??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:o?"success":"pending",fetchStatus:"idle"}}var Sk=class extends Yr{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,r,o){const s=r.queryKey,a=r.queryHash??vu(s,r);let d=this.get(a);return d||(d=new kk({cache:this,queryKey:s,queryHash:a,options:e.defaultQueryOptions(r),state:o,defaultOptions:e.getQueryDefaults(s)}),this.add(d)),d}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const r=this.#e.get(e.queryHash);r&&(e.destroy(),r===e&&this.#e.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){We.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){const r={exact:!0,...e};return this.getAll().find(o=>mh(r,o))}findAll(e={}){const r=this.getAll();return Object.keys(e).length>0?r.filter(o=>mh(e,o)):r}notify(e){We.batch(()=>{this.listeners.forEach(r=>{r(e)})})}onFocus(){We.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){We.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},_k=class extends Jm{#e;#t;#r;constructor(e){super(),this.mutationId=e.mutationId,this.#t=e.mutationCache,this.#e=[],this.state=e.state||Zm(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#e.includes(e)||(this.#e.push(e),this.clearGcTimeout(),this.#t.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#e=this.#e.filter(r=>r!==e),this.scheduleGc(),this.#t.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#e.length||(this.state.status==="pending"?this.scheduleGc():this.#t.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){this.#r=Ym({fn:()=>this.options.mutationFn?this.options.mutationFn(e):Promise.reject(new Error("No mutationFn found")),onFail:(s,a)=>{this.#n({type:"failed",failureCount:s,error:a})},onPause:()=>{this.#n({type:"pause"})},onContinue:()=>{this.#n({type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#t.canRun(this)});const r=this.state.status==="pending",o=!this.#r.canStart();try{if(!r){this.#n({type:"pending",variables:e,isPaused:o}),await this.#t.config.onMutate?.(e,this);const a=await this.options.onMutate?.(e);a!==this.state.context&&this.#n({type:"pending",context:a,variables:e,isPaused:o})}const s=await this.#r.start();return await this.#t.config.onSuccess?.(s,e,this.state.context,this),await this.options.onSuccess?.(s,e,this.state.context),await this.#t.config.onSettled?.(s,null,this.state.variables,this.state.context,this),await this.options.onSettled?.(s,null,e,this.state.context),this.#n({type:"success",data:s}),s}catch(s){try{throw await this.#t.config.onError?.(s,e,this.state.context,this),await this.options.onError?.(s,e,this.state.context),await this.#t.config.onSettled?.(void 0,s,this.state.variables,this.state.context,this),await this.options.onSettled?.(void 0,s,e,this.state.context),s}finally{this.#n({type:"error",error:s})}}finally{this.#t.runNext(this)}}#n(e){const r=o=>{switch(e.type){case"failed":return{...o,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...o,isPaused:!0};case"continue":return{...o,isPaused:!1};case"pending":return{...o,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...o,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...o,data:void 0,error:e.error,failureCount:o.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=r(this.state),We.batch(()=>{this.#e.forEach(o=>{o.onMutationUpdate(e)}),this.#t.notify({mutation:this,type:"updated",action:e})})}};function Zm(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Ek=class extends Yr{constructor(e={}){super(),this.config=e,this.#e=new Map,this.#t=Date.now()}#e;#t;build(e,r,o){const s=new _k({mutationCache:this,mutationId:++this.#t,options:e.defaultMutationOptions(r),state:o});return this.add(s),s}add(e){const r=_s(e),o=this.#e.get(r)??[];o.push(e),this.#e.set(r,o),this.notify({type:"added",mutation:e})}remove(e){const r=_s(e);if(this.#e.has(r)){const o=this.#e.get(r)?.filter(s=>s!==e);o&&(o.length===0?this.#e.delete(r):this.#e.set(r,o))}this.notify({type:"removed",mutation:e})}canRun(e){const r=this.#e.get(_s(e))?.find(o=>o.state.status==="pending");return!r||r===e}runNext(e){return this.#e.get(_s(e))?.find(o=>o!==e&&o.state.isPaused)?.continue()??Promise.resolve()}clear(){We.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}getAll(){return[...this.#e.values()].flat()}find(e){const r={exact:!0,...e};return this.getAll().find(o=>gh(r,o))}findAll(e={}){return this.getAll().filter(r=>gh(e,r))}notify(e){We.batch(()=>{this.listeners.forEach(r=>{r(e)})})}resumePausedMutations(){const e=this.getAll().filter(r=>r.state.isPaused);return We.batch(()=>Promise.all(e.map(r=>r.continue().catch(Rt))))}};function _s(e){return e.options.scope?.id??String(e.mutationId)}function wh(e){return{onFetch:(r,o)=>{const s=r.options,a=r.fetchOptions?.meta?.fetchMore?.direction,d=r.state.data?.pages||[],f=r.state.data?.pageParams||[];let h={pages:[],pageParams:[]},m=0;const y=async()=>{let w=!1;const b=T=>{Object.defineProperty(T,"signal",{enumerable:!0,get:()=>(r.signal.aborted?w=!0:r.signal.addEventListener("abort",()=>{w=!0}),r.signal)})},k=Qm(r.options,r.fetchOptions),P=async(T,E,S)=>{if(w)return Promise.reject();if(E==null&&T.pages.length)return Promise.resolve(T);const I={queryKey:r.queryKey,pageParam:E,direction:S?"backward":"forward",meta:r.options.meta};b(I);const O=await k(I),{maxPages:j}=r.options,D=S?gk:mk;return{pages:D(T.pages,O,j),pageParams:D(T.pageParams,E,j)}};if(a&&d.length){const T=a==="backward",E=T?Ck:bh,S={pages:d,pageParams:f},I=E(s,S);h=await P(S,I,T)}else{const T=e??d.length;do{const E=m===0?f[0]??s.initialPageParam:bh(s,h);if(m>0&&E==null)break;h=await P(h,E),m++}while(m<T)}return h};r.options.persister?r.fetchFn=()=>r.options.persister?.(y,{queryKey:r.queryKey,meta:r.options.meta,signal:r.signal},o):r.fetchFn=y}}}function bh(e,{pages:r,pageParams:o}){const s=r.length-1;return r.length>0?e.getNextPageParam(r[s],r,o[s],o):void 0}function Ck(e,{pages:r,pageParams:o}){return r.length>0?e.getPreviousPageParam?.(r[0],r,o[0],o):void 0}var Pk=class{#e;#t;#r;#n;#o;#s;#i;#a;constructor(e={}){this.#e=e.queryCache||new Sk,this.#t=e.mutationCache||new Ek,this.#r=e.defaultOptions||{},this.#n=new Map,this.#o=new Map,this.#s=0}mount(){this.#s++,this.#s===1&&(this.#i=bu.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#a=Fs.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#s--,this.#s===0&&(this.#i?.(),this.#i=void 0,this.#a?.(),this.#a=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#t.findAll({...e,status:"pending"}).length}getQueryData(e){const r=this.defaultQueryOptions({queryKey:e});return this.#e.get(r.queryHash)?.state.data}ensureQueryData(e){const r=this.getQueryData(e.queryKey);if(r===void 0)return this.fetchQuery(e);{const o=this.defaultQueryOptions(e),s=this.#e.build(this,o);return e.revalidateIfStale&&s.isStaleByTime($r(o.staleTime,s))&&this.prefetchQuery(o),Promise.resolve(r)}}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:r,state:o})=>{const s=o.data;return[r,s]})}setQueryData(e,r,o){const s=this.defaultQueryOptions({queryKey:e}),d=this.#e.get(s.queryHash)?.state.data,f=fk(r,d);if(f!==void 0)return this.#e.build(this,s).setData(f,{...o,manual:!0})}setQueriesData(e,r,o){return We.batch(()=>this.#e.findAll(e).map(({queryKey:s})=>[s,this.setQueryData(s,r,o)]))}getQueryState(e){const r=this.defaultQueryOptions({queryKey:e});return this.#e.get(r.queryHash)?.state}removeQueries(e){const r=this.#e;We.batch(()=>{r.findAll(e).forEach(o=>{r.remove(o)})})}resetQueries(e,r){const o=this.#e,s={type:"active",...e};return We.batch(()=>(o.findAll(e).forEach(a=>{a.reset()}),this.refetchQueries(s,r)))}cancelQueries(e={},r={}){const o={revert:!0,...r},s=We.batch(()=>this.#e.findAll(e).map(a=>a.cancel(o)));return Promise.all(s).then(Rt).catch(Rt)}invalidateQueries(e={},r={}){return We.batch(()=>{if(this.#e.findAll(e).forEach(s=>{s.invalidate()}),e.refetchType==="none")return Promise.resolve();const o={...e,type:e.refetchType??e.type??"active"};return this.refetchQueries(o,r)})}refetchQueries(e={},r){const o={...r,cancelRefetch:r?.cancelRefetch??!0},s=We.batch(()=>this.#e.findAll(e).filter(a=>!a.isDisabled()).map(a=>{let d=a.fetch(void 0,o);return o.throwOnError||(d=d.catch(Rt)),a.state.fetchStatus==="paused"?Promise.resolve():d}));return Promise.all(s).then(Rt)}fetchQuery(e){const r=this.defaultQueryOptions(e);r.retry===void 0&&(r.retry=!1);const o=this.#e.build(this,r);return o.isStaleByTime($r(r.staleTime,o))?o.fetch(r):Promise.resolve(o.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Rt).catch(Rt)}fetchInfiniteQuery(e){return e.behavior=wh(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Rt).catch(Rt)}ensureInfiniteQueryData(e){return e.behavior=wh(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return Fs.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#r}setDefaultOptions(e){this.#r=e}setQueryDefaults(e,r){this.#n.set(ar(e),{queryKey:e,defaultOptions:r})}getQueryDefaults(e){const r=[...this.#n.values()];let o={};return r.forEach(s=>{Zo(e,s.queryKey)&&(o={...o,...s.defaultOptions})}),o}setMutationDefaults(e,r){this.#o.set(ar(e),{mutationKey:e,defaultOptions:r})}getMutationDefaults(e){const r=[...this.#o.values()];let o={};return r.forEach(s=>{Zo(e,s.mutationKey)&&(o={...o,...s.defaultOptions})}),o}defaultQueryOptions(e){if(e._defaulted)return e;const r={...this.#r.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return r.queryHash||(r.queryHash=vu(r.queryKey,r)),r.refetchOnReconnect===void 0&&(r.refetchOnReconnect=r.networkMode!=="always"),r.throwOnError===void 0&&(r.throwOnError=!!r.suspense),!r.networkMode&&r.persister&&(r.networkMode="offlineFirst"),r.enabled!==!0&&r.queryFn===wu&&(r.enabled=!1),r}defaultMutationOptions(e){return e?._defaulted?e:{...this.#r.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},Ak=class extends Yr{constructor(e,r){super(),this.options=r,this.#e=e,this.#a=null,this.#i=Jc(),this.options.experimental_prefetchInRender||this.#i.reject(new Error("experimental_prefetchInRender feature flag is not enabled")),this.bindMethods(),this.setOptions(r)}#e;#t=void 0;#r=void 0;#n=void 0;#o;#s;#i;#a;#m;#p;#f;#c;#u;#l;#h=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),kh(this.#t,this.options)?this.#d():this.updateResult(),this.#w())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Xc(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Xc(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#k(),this.#t.removeObserver(this)}setOptions(e,r){const o=this.options,s=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof qt(this.options.enabled,this.#t)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#x(),this.#t.setOptions(this.options),o._defaulted&&!zs(this.options,o)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});const a=this.hasListeners();a&&xh(this.#t,s,this.options,o)&&this.#d(),this.updateResult(r),a&&(this.#t!==s||qt(this.options.enabled,this.#t)!==qt(o.enabled,this.#t)||$r(this.options.staleTime,this.#t)!==$r(o.staleTime,this.#t))&&this.#g();const d=this.#y();a&&(this.#t!==s||qt(this.options.enabled,this.#t)!==qt(o.enabled,this.#t)||d!==this.#l)&&this.#v(d)}getOptimisticResult(e){const r=this.#e.getQueryCache().build(this.#e,e),o=this.createResult(r,e);return jk(this,o)&&(this.#n=o,this.#s=this.options,this.#o=this.#t.state),o}getCurrentResult(){return this.#n}trackResult(e,r){const o={};return Object.keys(e).forEach(s=>{Object.defineProperty(o,s,{configurable:!1,enumerable:!0,get:()=>(this.trackProp(s),r?.(s),e[s])})}),o}trackProp(e){this.#h.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const r=this.#e.defaultQueryOptions(e),o=this.#e.getQueryCache().build(this.#e,r);return o.fetch().then(()=>this.createResult(o,r))}fetch(e){return this.#d({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#n))}#d(e){this.#x();let r=this.#t.fetch(this.options,e);return e?.throwOnError||(r=r.catch(Rt)),r}#g(){this.#b();const e=$r(this.options.staleTime,this.#t);if(sr||this.#n.isStale||!Kc(e))return;const o=Hm(this.#n.dataUpdatedAt,e)+1;this.#c=setTimeout(()=>{this.#n.isStale||this.updateResult()},o)}#y(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#k(),this.#l=e,!(sr||qt(this.options.enabled,this.#t)===!1||!Kc(this.#l)||this.#l===0)&&(this.#u=setInterval(()=>{(this.options.refetchIntervalInBackground||bu.isFocused())&&this.#d()},this.#l))}#w(){this.#g(),this.#v(this.#y())}#b(){this.#c&&(clearTimeout(this.#c),this.#c=void 0)}#k(){this.#u&&(clearInterval(this.#u),this.#u=void 0)}createResult(e,r){const o=this.#t,s=this.options,a=this.#n,d=this.#o,f=this.#s,m=e!==o?e.state:this.#r,{state:y}=e;let w={...y},b=!1,k;if(r._optimisticResults){const q=this.hasListeners(),X=!q&&kh(e,r),Y=q&&xh(e,o,r,s);(X||Y)&&(w={...w,...Xm(y.data,e.options)}),r._optimisticResults==="isRestoring"&&(w.fetchStatus="idle")}let{error:P,errorUpdatedAt:T,status:E}=w;if(r.select&&w.data!==void 0)if(a&&w.data===d?.data&&r.select===this.#m)k=this.#p;else try{this.#m=r.select,k=r.select(w.data),k=Yc(a?.data,k,r),this.#p=k,this.#a=null}catch(q){this.#a=q}else k=w.data;if(r.placeholderData!==void 0&&k===void 0&&E==="pending"){let q;if(a?.isPlaceholderData&&r.placeholderData===f?.placeholderData)q=a.data;else if(q=typeof r.placeholderData=="function"?r.placeholderData(this.#f?.state.data,this.#f):r.placeholderData,r.select&&q!==void 0)try{q=r.select(q),this.#a=null}catch(X){this.#a=X}q!==void 0&&(E="success",k=Yc(a?.data,q,r),b=!0)}this.#a&&(P=this.#a,k=this.#p,T=Date.now(),E="error");const S=w.fetchStatus==="fetching",I=E==="pending",O=E==="error",j=I&&S,D=k!==void 0,B={status:E,fetchStatus:w.fetchStatus,isPending:I,isSuccess:E==="success",isError:O,isInitialLoading:j,isLoading:j,data:k,dataUpdatedAt:w.dataUpdatedAt,error:P,errorUpdatedAt:T,failureCount:w.fetchFailureCount,failureReason:w.fetchFailureReason,errorUpdateCount:w.errorUpdate
9Count,isFetched:w.dataUpdateCount>0||w.errorUpdateCount>0,isFetchedAfterMount:w.dataUpdateCount>m.dataUpdateCount||w.errorUpdateCount>m.errorUpdateCount,isFetching:S,isRefetching:S&&!I,isLoadingError:O&&!D,isPaused:w.fetchStatus==="paused",isPlaceholderData:b,isRefetchError:O&&D,isStale:ku(e,r),refetch:this.refetch,promise:this.#i};if(this.options.experimental_prefetchInRender){const q=se=>{B.status==="error"?se.reject(B.error):B.data!==void 0&&se.resolve(B.data)},X=()=>{const se=this.#i=B.promise=Jc();q(se)},Y=this.#i;switch(Y.status){case"pending":e.queryHash===o.queryHash&&q(Y);break;case"fulfilled":(B.status==="error"||B.data!==Y.value)&&X();break;case"rejected":(B.status!=="error"||B.error!==Y.reason)&&X();break}}return B}updateResult(e){const r=this.#n,o=this.createResult(this.#t,this.options);if(this.#o=this.#t.state,this.#s=this.options,this.#o.data!==void 0&&(this.#f=this.#t),zs(o,r))return;this.#n=o;const s={},a=()=>{if(!r)return!0;const{notifyOnChangeProps:d}=this.options,f=typeof d=="function"?d():d;if(f==="all"||!f&&!this.#h.size)return!0;const h=new Set(f??this.#h);return this.options.throwOnError&&h.add("error"),Object.keys(this.#n).some(m=>{const y=m;return this.#n[y]!==r[y]&&h.has(y)})};e?.listeners!==!1&&a()&&(s.listeners=!0),this.#S({...s,...e})}#x(){const e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;const r=this.#t;this.#t=e,this.#r=e.state,this.hasListeners()&&(r?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#w()}#S(e){We.batch(()=>{e.listeners&&this.listeners.forEach(r=>{r(this.#n)}),this.#e.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}};function Ik(e,r){return qt(r.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&r.retryOnMount===!1)}function kh(e,r){return Ik(e,r)||e.state.data!==void 0&&Xc(e,r,r.refetchOnMount)}function Xc(e,r,o){if(qt(r.enabled,e)!==!1){const s=typeof o=="function"?o(e):o;return s==="always"||s!==!1&&ku(e,r)}return!1}function xh(e,r,o,s){return(e!==r||qt(s.enabled,e)===!1)&&(!o.suspense||e.state.status!=="error")&&ku(e,o)}function ku(e,r){return qt(r.enabled,e)!==!1&&e.isStaleByTime($r(r.staleTime,e))}function jk(e,r){return!zs(e.getCurrentResult(),r)}var Tk=class extends Yr{#e;#t=void 0;#r;#n;constructor(r,o){super(),this.#e=r,this.setOptions(o),this.bindMethods(),this.#o()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(r){const o=this.options;this.options=this.#e.defaultMutationOptions(r),zs(this.options,o)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#r,observer:this}),o?.mutationKey&&this.options.mutationKey&&ar(o.mutationKey)!==ar(this.options.mutationKey)?this.reset():this.#r?.state.status==="pending"&&this.#r.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#r?.removeObserver(this)}onMutationUpdate(r){this.#o(),this.#s(r)}getCurrentResult(){return this.#t}reset(){this.#r?.removeObserver(this),this.#r=void 0,this.#o(),this.#s()}mutate(r,o){return this.#n=o,this.#r?.removeObserver(this),this.#r=this.#e.getMutationCache().build(this.#e,this.options),this.#r.addObserver(this),this.#r.execute(r)}#o(){const r=this.#r?.state??Zm();this.#t={...r,isPending:r.status==="pending",isSuccess:r.status==="success",isError:r.status==="error",isIdle:r.status==="idle",mutate:this.mutate,reset:this.reset}}#s(r){We.batch(()=>{if(this.#n&&this.hasListeners()){const o=this.#t.variables,s=this.#t.context;r?.type==="success"?(this.#n.onSuccess?.(r.data,o,s),this.#n.onSettled?.(r.data,null,o,s)):r?.type==="error"&&(this.#n.onError?.(r.error,o,s),this.#n.onSettled?.(void 0,r.error,o,s))}this.listeners.forEach(o=>{o(this.#t)})})}},eg=v.createContext(void 0),na=e=>{const r=v.useContext(eg);if(!r)throw new Error("No QueryClient set, use QueryClientProvider to set one");return r},Rk=({client:e,children:r})=>(v.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),u.jsx(eg.Provider,{value:e,children:r})),tg=v.createContext(!1),Ok=()=>v.useContext(tg);tg.Provider;function Nk(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}
9var Lk=v.createContext(Nk()),Mk=()=>v.useContext(Lk);function ng(e,r){return typeof e=="function"?e(...r):!!e}function Zc(){}var Dk=(e,r)=>{(e.suspense||e.throwOnError||e.experimental_prefetchInRender)&&(r.isReset()||(e.retryOnMount=!1))},Uk=e=>{v.useEffect(()=>{e.clearReset()},[e])},zk=({result:e,errorResetBoundary:r,throwOnError:o,query:s})=>e.isError&&!r.isReset()&&!e.isFetching&&s&&ng(o,[e.error,s]),Fk=e=>{e.suspense&&(e.staleTime===void 0&&(e.staleTime=1e3),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3)))},Bk=(e,r)=>e.isLoading&&e.isFetching&&!r,$k=(e,r)=>e?.suspense&&r.isPending,Sh=(e,r,o)=>r.fetchOptimistic(e).catch(()=>{o.clearReset()});function qk(e,r,o){const s=na(),a=Ok(),d=Mk(),f=s.defaultQueryOptions(e);s.getDefaultOptions().queries?._experimental_beforeQuery?.(f),f._optimisticResults=a?"isRestoring":"optimistic",Fk(f),Dk(f,d),Uk(d);const h=!s.getQueryCache().get(f.queryHash),[m]=v.useState(()=>new r(s,f)),y=m.getOptimisticResult(f);if(v.useSyncExternalStore(v.useCallback(w=>{const b=a?Zc:m.subscribe(We.batchCalls(w));return m.updateResult(),b},[m,a]),()=>m.getCurrentResult(),()=>m.getCurrentResult()),v.useEffect(()=>{m.setOptions(f,{listeners:!1})},[f,m]),$k(f,y))throw Sh(f,m,d);if(zk({result:y,errorResetBoundary:d,throwOnError:f.throwOnError,query:s.getQueryCache().get(f.queryHash)}))throw y.error;return s.getDefaultOptions().queries?._experimental_afterQuery?.(f,y),f.experimental_prefetchInRender&&!sr&&Bk(y,a)&&(h?Sh(f,m,d):s.getQueryCache().get(f.queryHash)?.promise)?.catch(Zc).finally(()=>{m.updateResult()}),f.notifyOnChangeProps?y:m.trackResult(y)}function Wk(e,r){return qk(e,Ak)}function Hk(e,r){const o=na(),[s]=v.useState(()=>new Tk(o,e));v.useEffect(()=>{s.setOptions(e)},[s,e]);const a=v.useSyncExternalStore(v.useCallback(f=>s.subscribe(We.batchCalls(f)),[s]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),d=v.useCallback((f,h)=>{s.mutate(f,h).catch(Zc)},[s]);if(a.error&&ng(s.options.throwOnError,[a.error]))throw a.error;return{...a,mutate:d,mutateAsync:a.mutate}}async function rg(e){if(!e.ok){const r=await e.text()||e.statusText;throw new Error(`${e.status}: ${r}`)}}function Vk(e,r){const o=e.headers.get("content-type")??"";if(!o.includes("application/json"))throw new Error(`API request to ${r} returned non-JSON content-type "${o}". The server may have redirected the request to a non-API page.`)}async function AI(e,r,o){const s={};o&&(s["Content-Type"]="application/json");const a=await fetch(r,{method:e,headers:s,body:o?JSON.stringify(o):void 0,credentials:"include",redirect:"error"});return await rg(a),a}const Qk=({on401:e})=>async({queryKey:r})=>{const o=r.join("/"),s=await fetch(o,{credentials:"include",cache:"no-store",redirect:"error"});return await rg(s),Vk(s,o),await s.json()},Kk=new Pk({defaultOptions:{queries:{queryFn:Qk({on401:"throw"}),refetchInterval:!1,refetchOnWindowFocus:!1,staleTime:1/0,retry:!1},mutations:{retry:!1}}}),Gk=1,Yk=1e6;let kc=0;function Jk(){return kc=(kc+1)%Number.MAX_SAFE_INTEGER,kc.toString()}const xc=new Map,_h=e=>{if(xc.has(e))return;const r=setTimeout(()=>{xc.delete(e),Go({type:"REMOVE_TOAST",toastId:e})},Yk);xc.set(e,r)},Xk=(e,r)=>{switch(r.type){case"ADD_TOAST":return{...e,toasts:[r.toast,...e.toasts].slice(0,Gk)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(o=>o.id===r.toast.id?{...o,...r.toast}:o)};case"DISMISS_TOAST":{const{toastId:o}=r;return o?_h(o):e.toasts.forEach(s=>{_h(s.id)}),{...e,toasts:e.toasts.map(s=>s.id===o||o===void 0?{...s,open:!1}:s)}}case"REMOVE_TOAST":return r.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(o=>o.id!==r.toastId)}}},Os=[];let Ns={toasts:[]};function Go(e){Ns=Xk(Ns,e),Os.forEach(r=>{r(Ns)})}function Zk({...e}){const r=Jk(),o=a=>Go({type:"UPDATE_TOAST",toast:{...a,id:r}}),s=()=>Go({type:"DISMISS_TOAST",toastId:r});return Go({type:"ADD_TOAST",toast:{...e,id:r,open:!0,onOpenChange:a=>{a||s()}}}),{id:r,dismiss:s,update:o}}function ex(){const[e,r]=v.useState(Ns);return v.useEffect(()=>(Os.push(r),()=>{const o=Os.indexOf(r);o>-1&&Os.splice(o,1)}),[e]),{...e,toast:Zk,dismiss:o=>Go({type:"DISMISS_TOAST",toastId:o})}}var Jr=Tm();const og=Xs(Jr),tx=Js({__proto__:null,default:og},[Jr]);function He(e,r,{checkForDefaultPrevented:o=!0}={}
vendor: 11,253 bytes, line 9
9){return function(a){if(e?.(a),o===!1||!a.defaultPrevented)return r?.(a)}}function Eh(e,r){if(typeof e=="function")return e(r);e!=null&&(e.current=r)}function ig(...e){return r=>{let o=!1;const s=e.map(a=>{const d=Eh(a,r);return!o&&typeof d=="function"&&(o=!0),d});if(o)return()=>{for(let a=0;a<s.length;a++){const d=s[a];typeof d=="function"?d():Eh(e[a],null)}}}}function Wt(...e){return v.useCallback(ig(...e),e)}function II(e,r){const o=v.createContext(r),s=d=>{const{children:f,...h}=d,m=v.useMemo(()=>h,Object.values(h));return u.jsx(o.Provider,{value:m,children:f})};s.displayName=e+"Provider";function a(d){const f=v.useContext(o);if(f)return f;if(r!==void 0)return r;throw new Error(`\`${d}\` must be used within \`${e}\``)}return[s,a]}function ra(e,r=[]){let o=[];function s(d,f){const h=v.createContext(f),m=o.length;o=[...o,f];const y=b=>{const{scope:k,children:P,...T}=b,E=k?.[e]?.[m]||h,S=v.useMemo(()=>T,Object.values(T));return u.jsx(E.Provider,{value:S,children:P})};y.displayName=d+"Provider";function w(b,k){const P=k?.[e]?.[m]||h,T=v.useContext(P);if(T)return T;if(f!==void 0)return f;throw new Error(`\`${b}\` must be used within \`${d}\``)}return[y,w]}const a=()=>{const d=o.map(f=>v.createContext(f));return function(h){const m=h?.[e]||d;return v.useMemo(()=>({[`__scope${e}`]:{...h,[e]:m}}),[h,m])}};return a.scopeName=e,[s,nx(a,...r)]}function nx(...e){const r=e[0];if(e.length===1)return r;const o=()=>{const s=e.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(d){const f=s.reduce((h,{useScope:m,scopeName:y})=>{const b=m(d)[`__scope${y}`];return{...h,...b}},{});return v.useMemo(()=>({[`__scope${r.scopeName}`]:f}),[f])}};return o.scopeName=r.scopeName,o}function Bs(e){const r=rx(e),o=v.forwardRef((s,a)=>{const{children:d,...f}=s,h=v.Children.toArray(d),m=h.find(ix);if(m){const y=m.props.children,w=h.map(b=>b===m?v.Children.count(y)>1?v.Children.only(null):v.isValidElement(y)?y.props.children:null:b);return u.jsx(r,{...f,ref:a,children:v.isValidElement(y)?v.cloneElement(y,void 0,w):null})}return u.jsx(r,{...f,ref:a,children:d})});return o.displayName=`${e}.Slot`,o}var jI=Bs("Slot");function rx(e){const r=v.forwardRef((o,s)=>{const{children:a,...d}=o;if(v.isValidElement(a)){const f=ax(a),h=sx(d,a.props);return a.type!==v.Fragment&&(h.ref=s?ig(s,f):f),v.cloneElement(a,h)}return v.Children.count(a)>1?v.Children.only(null):null});return r.displayName=`${e}.SlotClone`,r}var sg=Symbol("radix.slottable");function ox(e){const r=({children:o})=>u.jsx(u.Fragment,{children:o});return r.displayName=`${e}.Slottable`,r.__radixId=sg,r}function ix(e){return v.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===sg}function sx(e,r){const o={...r};for(const s in r){const a=e[s],d=r[s];/^on[A-Z]/.test(s)?a&&d?o[s]=(...h)=>{d(...h),a(...h)}:a&&(o[s]=a):s==="style"?o[s]={...a,...d}:s==="className"&&(o[s]=[a,d].filter(Boolean).join(" "))}return{...e,...o}}function ax(e){let r=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,o=r&&"isReactWarning"in r&&r.isReactWarning;return o?e.ref:(r=Object.getOwnPropertyDescriptor(e,"ref")?.get,o=r&&"isReactWarning"in r&&r.isReactWarning,o?e.props.ref:e.props.ref||e.ref)}function lx(e){const r=e+"CollectionProvider",[o,s]=ra(r),[a,d]=o(r,{collectionRef:{current:null},itemMap:new Map}),f=E=>{const{scope:S,children:I}=E,O=L.useRef(null),j=L.useRef(new Map).current;return u.jsx(a,{scope:S,itemMap:j,collectionRef:O,children:I})};f.displayName=r;const h=e+"CollectionSlot",m=Bs(h),y=L.forwardRef((E,S)=>{const{scope:I,children:O}=E,j=d(h,I),D=Wt(S,j.collectionRef);return u.jsx(m,{ref:D,children:O})});y.displayName=h;const w=e+"CollectionItemSlot",b="data-radix-collection-item",k=Bs(w),P=L.forwardRef((E,S)=>{const{scope:I,children:O,...j}=E,D=L.useRef(null),F=Wt(S,D),B=d(w,I);return L.useEffect(()=>(B.itemMap.set(D,{ref:D,...j}),()=>{B.itemMap.delete(D)})),u.jsx(k,{[b]:"",ref:F,children:O})});P.displayName=w;function T(E){const S=d(e+"CollectionConsumer",E);return L.useCallback(()=>{const O=S.collectionRef.current;if(!O)return[];const j=Array.from(O.querySelectorAll(`[${b}]`));return Array.from(S.itemMap.values()).sort((B,q)=>j.indexOf(B.ref.current)-j.indexOf(q.ref.current))},[S.collectionRef,S.itemMap])}return[{Provider:f,Slot:y,ItemSlot:P},T,s]}var cx=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],yt=cx.reduce((e,r)=>{const o=Bs(`Primitive.${r}`),s=v.forwardRef((a,d)=>{const{asChild:f,...h}=a,m=f?o:r;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),u.jsx(m,{...h,ref:d})});return s.displayName=`Primitive.${r}`,{...e,[r]:s}},{});function ag(e,r){e&&Jr.flushSync(()=>e.dispatchEvent(r))}function en(e){const r=v.useRef(e);return v.useEffect(()=>{r.current=e}),v.useMemo(()=>(...o)=>r.current?.(...o),[])}function ux(e,r=globalThis?.document){const o=en(e);v.useEffect(()=>{const s=a=>{a.key==="Escape"&&o(a)};return r.addEventListener("keydown",s,{capture:!0}),()=>r.removeEventListener("keydown",s,{capture:!0})},[o,r])}var dx="DismissableLayer",eu="dismissableLayer.update",px="dismissableLayer.pointerDownOutside",fx="dismissableLayer.focusOutside",Ch,lg=v.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),xu=v.forwardRef((e,r)=>{const{disableOutsidePointerEvents:o=!1,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:d,onInteractOutside:f,onDismiss:h,...m}=e,y=v.useContext(lg),[w,b]=v.useState(null),k=w?.ownerDocument??globalThis?.document,[,P]=v.useState({}),T=Wt(r,q=>b(q)),E=Array.from(y.layers),[S]=[...y.layersWithOutsidePointerEventsDisabled].slice(-1),I=E.indexOf(S),O=w?E.indexOf(w):-1,j=y.layersWithOutsidePointerEventsDisabled.size>0,D=O>=I,F=mx(q=>{const X=q.target,Y=[...y.branches].some(se=>se.contains(X));!D||Y||(a?.(q),f?.(q),q.defaultPrevented||h?.())},k),B=gx(q=>{const X=q.target;[...y.branches].some(se=>se.contains(X))||(d?.(q),f?.(q),q.defaultPrevented||h?.())},k);return ux(q=>{O===y.layers.size-1&&(s?.(q),!q.defaultPrevented&&h&&(q.preventDefault(),h()))},k),v.useEffect(()=>{if(w)return o&&(y.layersWithOutsidePointerEventsDisabled.size===0&&(Ch=k.body.style.pointerEvents,k.body.style.pointerEvents="none"),y.layersWithOutsidePointerEventsDisabled.add(w)),y.layers.add(w),Ph(),()=>{o&&y.layersWithOutsidePointerEventsDisabled.size===1&&(k.body.style.pointerEvents=Ch)}},[w,k,o,y]),v.useEffect(()=>()=>{w&&(y.layers.delete(w),y.layersWithOutsidePointerEventsDisabled.delete(w),Ph())},[w,y]),v.useEffect(()=>{const q=()=>P({});return document.addEventListener(eu,q),()=>document.removeEventListener(eu,q)},[]),u.jsx(yt.div,{...m,ref:T,style:{pointerEvents:j?D?"auto":"none":void 0,...e.style},onFocusCapture:He(e.onFocusCapture,B.onFocusCapture),onBlurCapture:He(e.onBlurCapture,B.onBlurCapture),onPointerDownCapture:He(e.onPointerDownCapture,F.onPointerDownCapture)})});xu.displayName=dx;var hx="DismissableLayerBranch",cg=v.forwardRef((e,r)=>{const o=v.useContext(lg),s=v.useRef(null),a=Wt(r,s);return v.useEffect(()=>{const d=s.current;if(d)return o.branches.add(d),()=>{o.branches.delete(d)}},[o.branches]),u.jsx(yt.div,{...e,ref:a})});cg.displayName=hx;function mx(e,r=globalThis?.document){const o=en(e),s=v.useRef(!1),a=v.useRef(()=>{});return v.useEffect(()=>{const d=h=>{if(h.target&&!s.current){let m=function(){ug(px,o,y,{discrete:!0})};const y={originalEvent:h};h.pointerType==="touch"?(r.removeEventListener("click",a.current),a.current=m,r.addEventListener("click",a.current,{once:!0})):m()}else r.removeEventListener("click",a.current);s.current=!1},f=window.setTimeout(()=>{r.addEventListener("pointerdown",d)},0);return()=>{window.clearTimeout(f),r.removeEventListener("pointerdown",d),r.removeEventListener("click",a.current)}},[r,o]),{onPointerDownCapture:()=>s.current=!0}}function gx(e,r=globalThis?.document){const o=en(e),s=v.useRef(!1);return v.useEffect(()=>{const a=d=>{d.target&&!s.current&&ug(fx,o,{originalEvent:d},{discrete:!1})};return r.addEventListener("focusin",a),()=>r.removeEventListener("focusin",a)},[r,o]),{onFocusCapture:()=>s.current=!0,onBlurCapture:()=>s.current=!1}}function Ph(){const e=new CustomEvent(eu);document.dispatchEvent(e)}function ug(e,r,o,{discrete:s}){const a=o.originalEvent.target,d=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:o});r&&a.addEventListener(e,r,{once:!0}),s?ag(a,d):a.dispatchEvent(d)}var yx=xu,vx=cg,lr=globalThis?.document?v.useLayoutEffect:()=>{},wx="Portal",dg=v.forwardRef((e,r)=>{const{container:o,...s}=e,[a,d]=v.useState(!1);lr(()=>d(!0),[]);const f=o||a&&globalThis?.document?.body;return f?og.createPortal(u.jsx(yt.div,{...s,ref:r}),f):null});dg.displayName=wx;function bx(e,r){return v.useReducer((o,s)=>r[o][s]??o,e)}var Su=e=>{const{present:r,children:o}=e,s=kx(r),a=typeof o=="function"?o({present:s.isPresent}):v.Children.only(o),d=Wt(s.ref,xx(a));return typeof o=="function"||s.isPresent?v.cloneElement(a,{ref:d}):null};Su.displayName="Presence";function kx(e){const[r,o]=v.useState(),s=v.useRef({}),a=v.useRef(e),d=v.useRef("none"),f=e?"mounted":"unmounted",[h,m]=bx(f,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return v.useEffect(()=>{const y=Es(s.current);d.current=h==="mounted"?y:"none"},[h]),lr(()=>{const y=s.current,w=a.current;if(w!==e){const k=d.current,P=Es(y);e?m("MOUNT"):P==="none"||y?.display==="none"?m("UNMOUNT"):m(w&&k!==P?"ANIMATION_OUT":"UNMOUNT"),a.current=e}},[e,m]),lr(()=>{if(r){let y;const w=r.ownerDocument.defaultView??window,b=P=>{const E=Es(s.current).includes(P.animationName);if(P.target===r&&E&&(m("ANIMATION_END"),!a.current)){const S=r.style.animationFillMode;r.style.animationFillMode="forwards",y=w.setTimeout(()=>{r.style.animationFillMode==="forwards"&&(r.style.animationFillMode=S)})}},k=P=>{P.target===r&&(d.current=Es(s.current))};return r.addEventListener("animationstart",k),r.addEventListener("animationcancel",b),r.addEventListener("animationend",b),()=>{w.clearTimeout(y),r.removeEventListener("animationstart",k),r.removeEventListener("animationcancel",b),r.removeEventListener("animationend",b)}}else m("ANIMATION_END")},[r,m]),{isPresent:["mounted","unmountSuspended"].includes(h),ref:v.useCallback(y=>{y&&(s.current=getComputedStyle(y)),o(y)},[])}}function Es(e){return e?.animationName||"none"}function xx(e){let r=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,o=r&&"isReactWarning"in r&&r.isReactWarning;return o?e.ref:(r=Object.getOwnPropertyDescriptor(e,"ref")?.get,o=r&&"isReactWarning"in r&&r.isReactWarning,o?e.props.ref:e.props.ref||e.ref)}function Sx({prop:e,defaultProp:r,onChange:o=()=>{}}){const[s,a]=_x({defaultProp:r,onChange:o}),d=e!==void 0,f=d?e:s,h=en(o),m=v.useCallback(y=>{if(d){const b=typeof y=="function"?y(e):y;b!==e&&h(b)}else a(y)},[d,e,a,h]);return[f,m]}function _x({defaultProp:e,onChange:r}){const o=v.useState(e),[s]=o,a=v.useRef(s),d=en(r);return v.useEffect(()=>{a.current!==s&&(d(s),a.current=s)},[s,a,d]),o}var Ex="VisuallyHidden",oa=v.forwardRef((e,r)=>u.jsx(yt.span,{...e,ref:r,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}}));oa.displayName=Ex;
9var Cx=oa,_u="ToastProvider",[Eu,Px,Ax]=lx("Toast"),[pg]=ra("Toast",[Ax]),[Ix,ia]=pg(_u),fg=e=>{const{__scopeToast:r,label:o="Notification",duration:s=5e3,swipeDirection:a="right",swipeThreshold:d=50,children:f}=e,[h,m]=v.useState(null),[y,w]=v.useState(0),b=v.useRef(!1),k=v.useRef(!1);return o.trim()||console.error(`Invalid prop \`label\` supplied to \`${_u}\`. Expected non-empty \`string\`.`),u.jsx(Eu.Provider,{scope:r,children:u.jsx(Ix,{scope:r,label:o,duration:s,swipeDirection:a,swipeThreshold:d,toastCount:y,viewport:h,onViewportChange:m,onToastAdd:v.useCallback(()=>w(P=>P+1),[]),onToastRemove:v.useCallback(()=>w(P=>P-1),[]),isFocusedToastEscapeKeyDownRef:b,isClosePausedRef:k,children:f})})};fg.displayName=_u;var hg="ToastViewport",jx=["F8"],tu="toast.viewportPause",nu="toast.viewportResume",mg=v.forwardRef((e,r)=>{const{__scopeToast:o,hotkey:s=jx,label:a="Notifications ({hotkey})",...d}=e,f=ia(hg,o),h=Px(o),m=v.useRef(null),y=v.useRef(null),w=v.useRef(null),b=v.useRef(null),k=Wt(r,b,f.onViewportChange),P=s.join("+").replace(/Key/g,"").replace(/Digit/g,""),T=f.toastCount>0;v.useEffect(()=>{const S=I=>{s.length!==0&&s.every(j=>I[j]||I.code===j)&&b.current?.focus()};return document.addEventListener("keydown",S),()=>document.removeEventListener("keydown",S)},[s]),v.useEffect(()=>{const S=m.current,I=b.current;if(T&&S&&I){const O=()=>{if(!f.isClosePausedRef.current){const B=new CustomEvent(tu);I.dispatchEvent(B),f.isClosePausedRef.current=!0}},j=()=>
9{if(f.isClosePausedRef.current){const B=new CustomEvent(nu);I.dispatchEvent(B),f.isClosePausedRef.current=!1}},D=B=>{!S.contains(B.relatedTarget)&&j()},F=()=>{S.contains(document.activeElement)||j()};return S.addEventListener("focusin",O),S.addEventListener("focusout",D),S.addEventListener("pointermove",O),S.addEventListener("pointerleave",F),window.addEventListener("blur",O),window.addEventListener("focus",j),()=>{S.removeEventListener("focusin",O),S.removeEventListener("focusout",D),S.removeEventListener("pointermove",O),S.removeEventListener("pointerleave",F),window.removeEventListener("blur",O),window.removeEventListener("focus",j)}}},[T,f.isClosePausedRef]);const E=v.useCallback(({tabbingDirection:S})=>{const O=h().map(j=>{const D=j.ref.current,F=[D,...qx(D)];return S==="forwards"?F:F.reverse()});return(S==="forwards"?O.reverse():O).flat()},[h]);return v.useEffect(()=>{const S=b.current;if(S){const I=O=>{const j=O.altKey||O.ctrlKey||O.metaKey;if(O.key==="Tab"&&!j){const F=document.activeElement,B=O.shiftKey;if(O.target===S&&B){y.current?.focus();return}const Y=E({tabbingDirection:B?"backwards":"forwards"}),se=Y.findIndex(ce=>ce===F);Sc(Y.slice(se+1))?O.preventDefault():B?y.current?.focus():w.current?.focus()}};return S.addEventListener("keydown",I),()=>S.removeEventListener("keydown",I)}},[h,E]),u.jsxs(vx,{ref:m,role:"region","aria-label":a.replace("{hotkey}",P),tabIndex:-1,style:{pointerEvents:T?void 0:"none"},children:[T&&u.jsx(ru,{ref:y,onFocusFromOutsideViewport:()=>{const S=E({tabbingDirection:"forwards"});Sc(S)}}),u.jsx(Eu.Slot,{scope:o,children:u.jsx(yt.ol,{tabIndex:-1,...d,ref:k})}),T&&u.jsx(ru,{ref:w,onFocusFromOutsideViewport:()=>{const S=E({tabbingDirection:"backwards"});Sc(S)}})]})});mg.displayName=hg;var gg="ToastFocusProxy",ru=v.forwardRef((e,r)=>{const{__scopeToast:o,onFocusFromOutsideViewport:s,...a}=e,d=ia(gg,o);return u.jsx(oa,{"aria-hidden":!0,tabIndex:0,...a,ref:r,style:{position:"fixed"},onFocus:f=>{const h=f.relatedTarget;!d.viewport?.contains(h)&&s()}})});ru.displayName=gg;var sa="Toast",Tx="toast.swipeStart",Rx="toast.swipeMove",Ox="toast.swipeCancel",Nx="toast.swipeEnd",yg=v.forwardRef((e,r)=>{const{forceMount:o,open:s,defaultOpen:a,onOpenChange:d,...f}=e,[h=!0,m]=Sx({prop:s,defaultProp:a,onChange:d});return u.jsx(Su,{present:o||h,children:u.jsx(Dx,{open:h,...f,ref:r,onClose:()=>m(!1),onPause:en(e.onPause),onResume:en(e.onResume),onSwipeStart:He(e.onSwipeStart,y=>{y.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:He(e.onSwipeMove,y=>{const{x:w,y:b}=y.detail.delta;y.currentTarget.setAttribute("data-swipe","move"),y.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${w}px`),y.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${b}px`)}),onSwipeCancel:He(e.onSwipeCancel,y=>{y.currentTarget.setAttribute("data-swipe","cancel"),y.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),y.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),y.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),y.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:He(e.onSwipeEnd,y=>{const{x:w,y:b}=y.detail.delta;y.currentTarget.setAttribute("data-swipe","end"),y.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),y.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),y.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${w}px`),y.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${b}px`),m(!1)})})})});yg.displayName=sa;var[Lx,Mx]=pg(sa,{onClose(){}}),Dx=v.forwardRef((e,r)=>{const{__scopeToast:o,type:s="foreground",duration:a,open:d,onClose:f,onEscapeKeyDown:h,onPause:m,onResume:y,onSwipeStart:w,onSwipeMove:b,onSwipeCancel:k,onSwipeEnd:P,...T}=e,E=ia(sa,o),[S,I]=v.useState(null),O=Wt(r,G=>I(G)),j=v.useRef(null),D=v.useRef(null),F=a||E.duration,B=v.useRef(0),q=v.useRef(F),X=v.useRef(0),{onToastAdd:Y,onToastRemove:se}=E,ce=en(()=>{S?.contains(document.activeElement)&&E.viewport?.focus(),f()}),te=v.useCallback(G=>{!G||G===1/0||(window.clearTimeout(X.current),B.current=new Date().getTime(),X.current=window.setTimeout(ce,G))},[ce]);v.useEffect(()=>{const G=E.viewport;if(G){const ye=()=>{te(q.current),y?.()},ae=()=>{const ne=new Date().getTime()-B.current;q.current=q.current-ne,window.clearTimeout(X.current),m?.()};return G.addEventListener(tu,ae),G.addEventListener(nu,ye),()=>{G.removeEventListener(tu,ae),G.removeEventListener(nu,ye)}}},[E.viewport,F,m,y,te]),v.useEffect(()=>{d&&!E.isClosePausedRef.current&&te(F)},[d,F,E.isClosePausedRef,te]),v.useEffect(()=>(Y(),()=>se()),[Y,se]);const me=v.useMemo(()=>S?_g(S):null,[S]);return E.viewport?u.jsxs(u.Fragment,{children:[me&&u.jsx(Ux,{__scopeToast:o,role:"status","aria-live":s==="foreground"?"assertive":"polite","aria-atomic":!0,children:me}),u.jsx(Lx,{scope:o,onClose:ce,children:Jr.createPortal(u.jsx(Eu.ItemSlot,{scope:o,children:u.jsx(yx,{asChild:!0,onEscapeKeyDown:He(h,()=>{E.isFocusedToastEscapeKeyDownRef.current||ce(),E.isFocusedToastEscapeKeyDownRef.current=!1}),children:u.jsx(yt.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":d?"open":"closed","data-swipe-direction":E.swipeDirection,...T,ref:O,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:He(e.onKeyDown,G=>{G.key==="Escape"&&(h?.(G.nativeEvent),G.nativeEvent.defaultPrevented||(E.isFocusedToastEscapeKeyDownRef.current=!0,
9ce()))}),onPointerDown:He(e.onPointerDown,G=>{G.button===0&&(j.current={x:G.clientX,y:G.clientY})}),onPointerMove:He(e.onPointerMove,G=>{if(!j.current)return;const ye=G.clientX-j.current.x,ae=G.clientY-j.current.y,ne=!!D.current,z=["left","right"].includes(E.swipeDirection),K=["left","up"].includes(E.swipeDirection)?Math.min:Math.max,Q=z?K(0,ye):0,_=z?0:K(0,ae),U=G.pointerType==="touch"?10:2,oe={x:Q,y:_},le={originalEvent:G,delta:oe};ne?(D.current=oe,Cs(Rx,b,le,{discrete:!1})):Ah(oe,E.swipeDirection,U)?(D.current=oe,Cs(Tx,w,le,{discrete:!1}),G.target.setPointerCapture(G.pointerId)):(Math.abs(ye)>U||Math.abs(ae)>U)&&(j.current=null)}),onPointerUp:He(e.onPointerUp,G=>{const ye=D.current,ae=G.target;if(ae.hasPointerCapture(G.pointerId)&&ae.releasePointerCapture(G.pointerId),D.current=null,j.current=null,ye){const ne=G.currentTarget,z={originalEvent:G,delta:ye};Ah(ye,E.swipeDirection,E.swipeThreshold)?Cs(Nx,P,z,{discrete:!0}):Cs(Ox,k,z,{discrete:!0}),ne.addEventListener("click",K=>K.preventDefault(),{once:!0})}})})})}),E.viewport)})]}):null}),Ux=e=>{const{__scopeToast:r,children:o,...s}=e,a=ia(sa,r),[d,f]=v.useState(!1),[h,m]=v.useState(!1);return Bx(()=>f(!0)),v.useEffect(()=>{const y=window.setTimeout(()=>m(!0),1e3);return()=>window.clearTimeout(y)},[]),h?null:u.jsx(dg,{asChild:!0,children:u.jsx(oa,{...s,children:d&&u.jsxs(u.Fragment,{children:[a.label," ",o]})})})},zx="ToastTitle",vg=v.forwardRef((e,r)=>{const{__scopeToast:o,...s}=e;return u.jsx(yt.div,{...s,ref:r})});vg.displayName=zx;var Fx="ToastDescription",wg=v.forwardRef((e,r)=>{const{__scopeToast:o,...s}=e;return u.jsx(yt.div,{...s,ref:r})});wg.displayName=Fx;var bg="ToastAction",kg=v.forwardRef((e,r)=>{const{altText:o,...s}=e;return o.trim()?u.jsx(Sg,{altText:o,asChild:!0,children:u.jsx(Cu,{...s,ref:r})}):(console.error(`Invalid prop \`altText\` supplied to \`${bg}\`. Expected non-empty \`string\`.`),null)});kg.displayName=bg;var xg="ToastClose",Cu=v.forwardRef((e,r)=>{const{__scopeToast:o,...s}=e,a=Mx(xg,o);return u.jsx(Sg,{asChild:!0,children:u.jsx(yt.button,{type:"button",...s,ref:r,onClick:He(e.onClick,a.onClose)})})});Cu.displayName=xg;var Sg=v.forwardRef((e,r)=>{const{__scopeToast:o,altText:s,...a}=e;return u.jsx(yt.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":s||void 0,...a,ref:r})});function _g(e){const r=[];return Array.from(e.childNodes).forEach(s=>{if(s.nodeType===s.TEXT_NODE&&s.textContent&&r.push(s.textContent),$x(s)){const a=s.ariaHidden||s.hidden||s.style.display==="none",d=s.dataset.radixToastAnnounceExclude==="";if(!a)if(d){const f=s.dataset.radixToastAnnounceAlt;f&&r.push(f)}else r.push(..._g(s))}}),r}function Cs(e,r,o,{discrete:s}){const a=o.originalEvent.currentTarget,d=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:o});r&&a.addEventListener(e,r,{once:!0}),s?ag(a,d):a.dispatchEvent(d)}var Ah=(e,r,o=0)=>{const s=Math.abs(e.x),a=Math.abs(e.y),d=s>a;return r==="left"||r==="right"?d&&s>o:!d&&a>o};function Bx(e=()=>{}){const r=en(e);lr(()=>{let o=0,s=0;return o=window.requestAnimationFrame(()=>s=window.requestAnimationFrame(r)),()=>{window.cancelAnimationFrame(o),window.cancelAnimationFrame(s)}},[r])}function $x(e){return e.nodeType===e.ELEMENT_NODE}function qx(e){const r=[],o=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:s=>{const a=s.tagName==="INPUT"&&s.type==="hidden";return s.disabled||s.hidden||a?NodeFilter.FILTER_SKIP:s.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;o.nextNode();)r.push(o.currentNode);return r}function Sc(e){const r=document.activeElement;return e.some(o=>o===r?!0:(o.focus(),document.activeElement!==r))}var Wx=fg,Eg=mg,Cg=yg,Pg=vg,Ag=wg,Ig=kg,jg=Cu;function Tg(e){var r,o,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(r=0;r<a;r++)e[r]&&(o=Tg(e[r]))&&(s&&(s+=" "),s+=o)}else for(o in e)e[o]&&(s&&(s+=" "),s+=o);return s}function Rg(){for(var e,r,o=0,s="",a=arguments.length;o<a;o++)(e=arguments[o])&&(r=Tg(e))&&(s&&(s+=" "),s+=r);return s}const Ih=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,jh=Rg,Hx=(e,r)=>o=>{var s;if(r?.variants==null)return jh(e,o?.class,o?.className);const{variants:a,defaultVariants:d}=r,f=Object.keys(a).map(y=>{const w=o?.[y],b=d?.[y];if(w===null)return null;
vendor: 6,257 bytes, line 9
9const k=Ih(w)||Ih(b);return a[y][k]}),h=o&&Object.entries(o).reduce((y,w)=>{let[b,k]=w;return k===void 0||(y[b]=k),y},{}),m=r==null||(s=r.compoundVariants)===null||s===void 0?void 0:s.reduce((y,w)=>{let{class:b,className:k,...P}=w;return Object.entries(P).every(T=>{let[E,S]=T;return Array.isArray(S)?S.includes({...d,...h}[E]):{...d,...h}[E]===S})?[...y,b,k]:y},[]);return jh(e,f,m,o?.class,o?.className)},Pu="-",Vx=e=>{const r=Kx(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:s}=e;return{getClassGroupId:f=>{const h=f.split(Pu);return h[0]===""&&h.length!==1&&h.shift(),Og(h,r)||Qx(f)},getConflictingClassGroupIds:(f,h)=>{const m=o[f]||[];return h&&s[f]?[...m,...s[f]]:m}}},Og=(e,r)=>{if(e.length===0)return r.classGroupId;const o=e[0],s=r.nextPart.get(o),a=s?Og(e.slice(1),s):void 0;if(a)return a;if(r.validators.length===0)return;const d=e.join(Pu);return r.validators.find(({validator:f})=>f(d))?.classGroupId},Th=/^\[(.+)\]$/,Qx=e=>{if(Th.test(e)){const r=Th.exec(e)[1],o=r?.substring(0,r.indexOf(":"));if(o)return"arbitrary.."+o}},Kx=e=>{const{theme:r,prefix:o}=e,s={nextPart:new Map,validators:[]};return Yx(Object.entries(e.classGroups),o).forEach(([d,f])=>{ou(f,s,d,r)}),s},ou=(e,r,o,s)=>{e.forEach(a=>{if(typeof a=="string"){const d=a===""?r:Rh(r,a);d.classGroupId=o;return}if(typeof a=="function"){if(Gx(a)){ou(a(s),r,o,s);return}r.validators.push({validator:a,classGroupId:o});return}Object.entries(a).forEach(([d,f])=>{ou(f,Rh(r,d),o,s)})})},Rh=(e,r)=>{let o=e;return r.split(Pu).forEach(s=>{o.nextPart.has(s)||o.nextPart.set(s,{nextPart:new Map,validators:[]}),o=o.nextPart.get(s)}),o},Gx=e=>e.isThemeGetter,Yx=(e,r)=>r?e.map(([o,s])=>{const a=s.map(d=>typeof d=="string"?r+d:typeof d=="object"?Object.fromEntries(Object.entries(d).map(([f,h])=>[r+f,h])):d);return[o,a]}):e,Jx=e=>{if(e<1)return{get:()=>{},set:()=>{}};let r=0,o=new Map,s=new Map;const a=(d,f)=>{o.set(d,f),r++,r>e&&(r=0,s=o,o=new Map)};return{get(d){let f=o.get(d);if(f!==void 0)return f;if((f=s.get(d))!==void 0)return a(d,f),f},set(d,f){o.has(d)?o.set(d,f):a(d,f)}}},Ng="!",Xx=e=>{const{separator:r,experimentalParseClassName:o}=e,s=r.length===1,a=r[0],d=r.length,f=h=>{const m=[];let y=0,w=0,b;for(let S=0;S<h.length;S++){let I=h[S];if(y===0){if(I===a&&(s||h.slice(S,S+d)===r)){m.push(h.slice(w,S)),w=S+d;continue}if(I==="/"){b=S;continue}}I==="["?y++:I==="]"&&y--}const k=m.length===0?h:h.substring(w),P=k.startsWith(Ng),T=P?k.substring(1):k,E=b&&b>w?b-w:void 0;return{modifiers:m,hasImportantModifier:P,baseClassName:T,maybePostfixModifierPosition:E}};return o?h=>o({className:h,parseClassName:f}):f},Zx=e=>{if(e.length<=1)return e;const r=[];let o=[];return e.forEach(s=>{s[0]==="["?(r.push(...o.sort(),s),o=[]):o.push(s)}),r.push(...o.sort()),r},eS=e=>({cache:Jx(e.cacheSize),parseClassName:Xx(e),...Vx(e)}),tS=/\s+/,nS=(e,r)=>{const{parseClassName:o,getClassGroupId:s,getConflictingClassGroupIds:a}=r,d=[],f=e.trim().split(tS);let h="";for(let m=f.length-1;m>=0;m-=1){const y=f[m],{modifiers:w,hasImportantModifier:b,baseClassName:k,maybePostfixModifierPosition:P}=o(y);let T=!!P,E=s(T?k.substring(0,P):k);if(!E){if(!T){h=y+(h.length>0?" "+h:h);continue}if(E=s(k),!E){h=y+(h.length>0?" "+h:h);continue}T=!1}const S=Zx(w).join(":"),I=b?S+Ng:S,O=I+E;if(d.includes(O))continue;d.push(O);const j=a(E,T);for(let D=0;D<j.length;++D){const F=j[D];d.push(I+F)}h=y+(h.length>0?" "+h:h)}return h};function rS(){let e=0,r,o,s="";for(;e<arguments.length;)(r=arguments[e++])&&(o=Lg(r))&&(s&&(s+=" "),s+=o);return s}const Lg=e=>{if(typeof e=="string")return e;let r,o="";for(let s=0;s<e.length;s++)e[s]&&(r=Lg(e[s]))&&(o&&(o+=" "),o+=r);return o};function oS(e,...r){let o,s,a,d=f;function f(m){const y=r.reduce((w,b)=>b(w),e());return o=eS(y),s=o.cache.get,a=o.cache.set,d=h,h(m)}function h(m){const y=s(m);if(y)return y;const w=nS(m,o);return a(m,w),w}return function(){return d(rS.apply(null,arguments))}}const Oe=e=>{const r=o=>o[e]||[];return r.isThemeGetter=!0,r},Mg=/^\[(?:([a-z-]+):)?(.+)\]$/i,iS=/^\d+\/\d+$/,sS=new Set(["px","full","screen"]),aS=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,lS=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,cS=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,uS=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,dS=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,pn=e=>qr(e)||sS.has(e)||iS.test(e),Un=e=>Xr(e,"length",wS),qr=e=>!!e&&!Number.isNaN(Number(e)),_c=e=>Xr(e,"number",qr),Vo=e=>!!e&&Number.isInteger(Number(e)),pS=e=>e.endsWith("%")&&qr(e.slice(0,-1)),be=e=>Mg.test(e),zn=e=>aS.test(e),fS=new Set(["length","size","percentage"]),hS=e=>Xr(e,fS,Dg),mS=e=>Xr(e,"position",Dg),gS=new Set(["image","url"]),yS=e=>Xr(e,gS,kS),vS=e=>Xr(e,"",bS),Qo=()=>!0,Xr=(e,r,o)=>{const s=Mg.exec(e);return s?s[1]?typeof r=="string"?s[1]===r:r.has(s[1]):o(s[2]):!1},wS=e=>lS.test(e)&&!cS.test(e),Dg=()=>!1,bS=e=>uS.test(e),kS=e=>dS.test(e),xS=()=>{const e=Oe("colors"),r=Oe("spacing"),o=Oe("blur"),s=Oe("brightness"),a=Oe("borderColor"),d=Oe("borderRadius"),f=Oe("borderSpacing"),h=Oe("borderWidth"),m=Oe("contrast"),y=Oe("grayscale"),w=Oe("hueRotate"),b=Oe("invert"),k=Oe("gap"),P=Oe("gradientColorStops"),T=Oe("gradientColorStopPositions"),E=Oe("inset"),S=Oe("margin"),I=Oe("opacity"),O=Oe("padding"),j=Oe("saturate"),D=Oe("scale"),F=Oe("sepia"),B=Oe("skew"),q=Oe("space"),X=Oe("translate"),Y=()=>["auto","contain","none"],se=()=>["auto","hidden","clip","visible","scroll"],ce=()=>["auto",be,r],te=()=>[be,r],me=()=>["",pn,Un],G=()=>["auto",qr,be],ye=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],ae=()=>["solid","dashed","dotted","double","none"],ne=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],z=()=>["start","end","center","between","around","evenly","stretch"],K=()=>["","0",be],Q=()=>["auto","avoid","all","avoid-page","page","left","right","column"],_=()=>[qr,be];return{cacheSize:500,separator:":",theme:{colors:[Qo],spacing:[pn,Un],blur:["none","",zn,be],brightness:_(),borderColor:[e],borderRadius:["n
9one","","full",zn,be],borderSpacing:te(),borderWidth:me(),contrast:_(),grayscale:K(),hueRotate:_(),invert:K(),gap:te(),gradientColorStops:[e],gradientColorStopPositions:[pS,Un],inset:ce(),margin:ce(),opacity:_(),padding:te(),saturate:_(),scale:_(),sepia:K(),skew:_(),space:te(),translate:te()},classGroups:{aspect:[{aspect:["auto","square","video",be]}],container:["container"],columns:[{columns:[zn]}],"break-after":[{"break-after":Q()}],"break-before":[{"break-before":Q()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...ye(),be]}],overflow:[{overflow:se()}],"overflow-x":[{"overflow-x":se()}],"overflow-y":[{"overflow-y":se()}],overscroll:[{overscroll:Y()}],"overscroll-x":[{"overscroll-x":Y()}],"overscroll-y":[{"overscroll-y":Y()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[E]}],"inset-x":[{"inset-x":[E]}],"inset-y":[{"inset-y":[E]}],start:[{start:[E]}],end:[{end:[E]}],top:[{top:[E]}],right:[{right:[E]}],bottom:[{bottom:[E]}],left:[{left:[E]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Vo,be]}],basis:[{basis:ce()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",be]}],grow:[{grow:K()}],shrink:[{shrink:K()}],order:[{order:["first","last","none",Vo,be]}],"grid-cols":[{"grid-cols":[Qo]}],"col-start-end":[{col:["auto",{span:["full",Vo,be]},be]}],"col-start":[{"col-start":G()}],"col-end":[{"col-end":G()}],"grid-rows":[{"grid-rows":[Qo]}],"row-start-end":[{row:["auto",{span:[Vo,be]},be]}],"row-start":[{"row-start":G()}],"row-end":[{"row-end":G()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",be]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",be]}],gap:[{gap:[k]}],"gap-x":[{"gap-x":[k]}],"gap-y":[{"gap-y":[k]}],"justify-content":[{justify:["normal",...z()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...z(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...z(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[O]}],px:[{px:[O]}],py:[{py:[O]}],ps:[{ps:[O]}],pe:[{pe:[O]}],pt:[{pt:[O]}],pr:[{pr:[O]}],pb:[{pb:[O]}],pl:[{pl:[O]}],m:[{m:[S]}],mx:[{mx:[S]}],my:[{my:[S]}],ms:[{ms:[S]}],me:[{me:[S]}],mt:[{mt:[S]}],mr:[{mr:[S]}],mb:[{mb:[S]}],ml:[{ml:[S]}],"space-x":[{"space-x":[q]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[q]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",be,r]}],"min-w":[{"min-w":[be,r,"min","max","fit"]}],"max-w":[{"max-w":[be,r,"none","full","min","max","fit","prose",{screen:[zn]},zn]}],h:[{h:[be,r,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[be,r,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[be,r,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[be,r,"auto","min","max","fit"]}],"font-size":[{text:["base",zn,Un]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",_c]}],"font-family":[{font:[Qo]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",be]}],"line-clamp":[{"line-clamp":["none",qr,_c]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",pn,be]}],"list-image":[{"list-image":["none",be]}],"list-style-type":[{list:["none","disc","decimal",be]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[I]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[I]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ae(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",pn,Un]}],"underline-offset":[{"underline-offset":["auto",pn,be]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:te()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",be]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",be]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[I]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...ye(),mS]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",hS]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},yS]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[T]}
vendor: 4,873 bytes, line 9
9],"gradient-via-pos":[{via:[T]}],"gradient-to-pos":[{to:[T]}],"gradient-from":[{from:[P]}],"gradient-via":[{via:[P]}],"gradient-to":[{to:[P]}],rounded:[{rounded:[d]}],"rounded-s":[{"rounded-s":[d]}],"rounded-e":[{"rounded-e":[d]}],"rounded-t":[{"rounded-t":[d]}],"rounded-r":[{"rounded-r":[d]}],"rounded-b":[{"rounded-b":[d]}],"rounded-l":[{"rounded-l":[d]}],"rounded-ss":[{"rounded-ss":[d]}],"rounded-se":[{"rounded-se":[d]}],"rounded-ee":[{"rounded-ee":[d]}],"rounded-es":[{"rounded-es":[d]}],"rounded-tl":[{"rounded-tl":[d]}],"rounded-tr":[{"rounded-tr":[d]}],"rounded-br":[{"rounded-br":[d]}],"rounded-bl":[{"rounded-bl":[d]}],"border-w":[{border:[h]}],"border-w-x":[{"border-x":[h]}],"border-w-y":[{"border-y":[h]}],"border-w-s":[{"border-s":[h]}],"border-w-e":[{"border-e":[h]}],"border-w-t":[{"border-t":[h]}],"border-w-r":[{"border-r":[h]}],"border-w-b":[{"border-b":[h]}],"border-w-l":[{"border-l":[h]}],"border-opacity":[{"border-opacity":[I]}],"border-style":[{border:[...ae(),"hidden"]}],"divide-x":[{"divide-x":[h]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[h]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[I]}],"divide-style":[{divide:ae()}],"border-color":[{border:[a]}],"border-color-x":[{"border-x":[a]}],"border-color-y":[{"border-y":[a]}],"border-color-s":[{"border-s":[a]}],"border-color-e":[{"border-e":[a]}],"border-color-t":[{"border-t":[a]}],"border-color-r":[{"border-r":[a]}],"border-color-b":[{"border-b":[a]}],"border-color-l":[{"border-l":[a]}],"divide-color":[{divide:[a]}],"outline-style":[{outline:["",...ae()]}],"outline-offset":[{"outline-offset":[pn,be]}],"outline-w":[{outline:[pn,Un]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:me()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[I]}],"ring-offset-w":[{"ring-offset":[pn,Un]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",zn,vS]}],"shadow-color":[{shadow:[Qo]}],opacity:[{opacity:[I]}],"mix-blend":[{"mix-blend":[...ne(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":ne()}],filter:[{filter:["","none"]}],blur:[{blur:[o]}],brightness:[{brightness:[s]}],contrast:[{contrast:[m]}],"drop-shadow":[{"drop-shadow":["","none",zn,be]}],grayscale:[{grayscale:[y]}],"hue-rotate":[{"hue-rotate":[w]}],invert:[{invert:[b]}],saturate:[{saturate:[j]}],sepia:[{sepia:[F]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[o]}],"backdrop-brightness":[{"backdrop-brightness":[s]}],"backdrop-contrast":[{"backdrop-contrast":[m]}],"backdrop-grayscale":[{"backdrop-grayscale":[y]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[w]}],"backdrop-invert":[{"backdrop-invert":[b]}],"backdrop-opacity":[{"backdrop-opacity":[I]}],"backdrop-saturate":[{"backdrop-saturate":[j]}],"backdrop-sepia":[{"backdrop-sepia":[F]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[f]}],"border-spacing-x":[{"border-spacing-x":[f]}],"border-spacing-y":[{"border-spacing-y":[f]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",be]}],duration:[{duration:_()}],ease:[{ease:["linear","in","out","in-out",be]}],delay:[{delay:_()}],animate:[{animate:["none","spin","ping","pulse","bounce",be]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[D]}],"scale-x":[{"scale-x":[D]}],"scale-y":[{"scale-y":[D]}],rotate:[{rotate:[Vo,be]}],"translate-x":[{"translate-x":[X]}],"translate-y":[{"translate-y":[X]}],"skew-x":[{"skew-x":[B]}],"skew-y":[{"skew-y":[B]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",be]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",be]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":te()}],"scroll-mx":[{"scroll-mx":te()}],"scroll-my":[{"scroll-my":te()}],"scroll-ms":[{"scroll-ms":te()}],"scroll-me":[{"scroll-me":te()}],"scroll-mt":[{"scroll-mt":te()}],"scroll-mr":[{"scroll-mr":te()}],"scroll-mb":[{"scroll-mb":te()}],"scroll-ml":[{"scroll-ml":te()}],"scroll-p":[{"scroll-p":te()}],"scroll-px":[{"scroll-px":te()}],"scroll-py":[{"scroll-py":te()}],"scroll-ps":[{"scroll-ps":te()}],"scroll-pe":[{"scroll-pe":te()}
9],"scroll-pt":[{"scroll-pt":te()}],"scroll-pr":[{"scroll-pr":te()}],"scroll-pb":[{"scroll-pb":te()}],"scroll-pl":[{"scroll-pl":te()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",be]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[pn,Un,_c]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},SS=oS(xS);function pr(...e){return SS(Rg(e))}const _S=Wx,Ug=v.forwardRef(({className:e,...r},o)=>u.jsx(Eg,{ref:o,className:pr("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",e),...r}));Ug.displayName=Eg.displayName;const ES=Hx("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),zg=v.forwardRef(({className:e,variant:r,...o},s)=>u.jsx(Cg,{ref:s,className:pr(ES({variant:r}),e),...o}));zg.displayName=Cg.displayName;const CS=v.forwardRef(({className:e,...r},o)=>u.jsx(Ig,{ref:o,className:pr("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",e),...r}));CS.displayName=Ig.displayName;const Fg=v.forwardRef(({className:e,...r},o)=>u.jsx(jg,{ref:o,className:pr("absolute right-2 top-2 rounded-md p-1 text-foreground
vendor: 5,003 bytes, line 9
9/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...r,children:u.jsx(Lb,{className:"h-4 w-4"})}));Fg.displayName=jg.displayName;const Bg=v.forwardRef(({className:e,...r},o)=>u.jsx(Pg,{ref:o,className:pr("text-sm font-semibold",e),...r}));Bg.displayName=Pg.displayName;const $g=v.forwardRef(({className:e,...r},o)=>u.jsx(Ag,{ref:o,className:pr("text-sm opacity-90",e),...r}));$g.displayName=Ag.displayName;function PS(){const{toasts:e}=ex();return u.jsxs(_S,{children:[e.map(function({id:r,title:o,description:s,action:a,...d}){return u.jsxs(zg,{...d,children:[u.jsxs("div",{className:"grid gap-1",children:[o&&u.jsx(Bg,{children:o}),s&&u.jsx($g,{children:s})]}),a,u.jsx(Fg,{})]},r)}),u.jsx(Ug,{})]})}const AS=["top","right","bottom","left"],Bn=Math.min,St=Math.max,$s=Math.round,Ps=Math.floor,Zt=e=>({x:e,y:e}),IS={left:"right",right:"left",bottom:"top",top:"bottom"},jS={start:"end",end:"start"};function iu(e,r,o){return St(e,Bn(r,o))}function mn(e,r){return typeof e=="function"?e(r):e}function gn(e){return e.split("-")[0]}function Zr(e){return e.split("-")[1]}function Au(e){return e==="x"?"y":"x"}function Iu(e){return e==="y"?"height":"width"}function $n(e){return["top","bottom"].includes(gn(e))?"y":"x"}function ju(e){return Au($n(e))}function TS(e,r,o){o===void 0&&(o=!1);const s=Zr(e),a=ju(e),d=Iu(a);let f=a==="x"?s===(o?"end":"start")?"right":"left":s==="start"?"bottom":"top";return r.reference[d]>r.floating[d]&&(f=qs(f)),[f,qs(f)]}function RS(e){const r=qs(e);return[su(e),r,su(r)]}function su(e){return e.replace(/start|end/g,r=>jS[r])}function OS(e,r,o){const s=["left","right"],a=["right","left"],d=["top","bottom"],f=["bottom","top"];switch(e){case"top":case"bottom":return o?r?a:s:r?s:a;case"left":case"right":return r?d:f;default:return[]}}function NS(e,r,o,s){const a=Zr(e);let d=OS(gn(e),o==="start",s);return a&&(d=d.map(f=>f+"-"+a),r&&(d=d.concat(d.map(su)))),d}function qs(e){return e.replace(/left|right|bottom|top/g,r=>IS[r])}function LS(e){return{top:0,right:0,bottom:0,left:0,...e}}function qg(e){return typeof e!="number"?LS(e):{top:e,right:e,bottom:e,left:e}}function Ws(e){const{x:r,y:o,width:s,height:a}=e;return{width:s,height:a,top:o,left:r,right:r+s,bottom:o+a,x:r,y:o}}function Oh(e,r,o){let{reference:s,floating:a}=e;const d=$n(r),f=ju(r),h=Iu(f),m=gn(r),y=d==="y",w=s.x+s.width/2-a.width/2,b=s.y+s.height/2-a.height/2,k=s[h]/2-a[h]/2;let P;switch(m){case"top":P={x:w,y:s.y-a.height};break;case"bottom":P={x:w,y:s.y+s.height};break;case"right":P={x:s.x+s.width,y:b};break;case"left":P={x:s.x-a.width,y:b};break;default:P={x:s.x,y:s.y}}switch(Zr(r)){case"start":P[f]-=k*(o&&y?-1:1);break;case"end":P[f]+=k*(o&&y?-1:1);break}return P}const MS=async(e,r,o)=>{const{placement:s="bottom",strategy:a="absolute",middleware:d=[],platform:f}=o,h=d.filter(Boolean),m=await(f.isRTL==null?void 0:f.isRTL(r));let y=await f.getElementRects({reference:e,floating:r,strategy:a}),{x:w,y:b}=Oh(y,s,m),k=s,P={},T=0;for(let E=0;E<h.length;E++){const{name:S,fn:I}=h[E],{x:O,y:j,data:D,reset:F}=await I({x:w,y:b,initialPlacement:s,placement:k,strategy:a,middlewareData:P,rects:y,platform:f,elements:{reference:e,floating:r}});w=O??w,b=j??b,P={...P,[S]:{...P[S],...D}},F&&T<=50&&(T++,typeof F=="object"&&(F.placement&&(k=F.placement),F.rects&&(y=F.rects===!0?await f.getElementRects({reference:e,floating:r,strategy:a}):F.rects),{x:w,y:b}=Oh(y,k,m)),E=-1)}return{x:w,y:b,placement:k,strategy:a,middlewareData:P}};async function ei(e,r){var o;r===void 0&&(r={});const{x:s,y:a,platform:d,rects:f,elements:h,strategy:m}=e,{boundary:y="clippingAncestors",rootBoundary:w="viewport",elementContext:b="floating",altBoundary:k=!1,padding:P=0}=mn(r,e),T=qg(P),S=h[k?b==="floating"?"reference":"floating":b],I=Ws(await d.getClippingRect({element:(o=await(d.isElement==null?void 0:d.isElement(S)))==null||o?S:S.contextElement||await(d.getDocumentElement==null?void 0:d.getDocumentElement(h.floating)),boundary:y,rootBoundary:w,strategy:m})),O=b==="floating"?{x:s,y:a,width:f.floating.width,height:f.floating.height}:f.reference,j=await(d.getOffsetParent==null?void 0:d.getOffsetParent(h.floating)),D=await(d.isElement==null?void 0:d.isElement(j))?await(d.getScale==null?void 0:d.getScale(j))||{x:1,y:1}:{x:1,y:1},F=Ws(d.convertOffsetParentRelativeRectToViewportRelativeRect?await d.convertOffsetParentRelativeRectToViewportRelativeRect({elements:h,rect:O,offsetParent:j,strategy:m}):O);return{top:(I.top-F.top+T.top)/D.y,bottom:(F.bottom-I.bottom+T.bottom)/D.y,left:(I.left-F.left+T.left)/D.x,right:(F.right-I.right+T.right)/D.x}}const DS=e=>({name:"arrow",options:e,async fn(r){const{x:o,y:s,placement:a,rects:d,platform:f,elements:h,middlewareData:m}=r,{element:y,padding:w=0}=mn(e,r)||{};if(y==null)return{};const b=qg(w),k={x:o,y:s}
vendor: 7,863 bytes, line 9
9,P=ju(a),T=Iu(P),E=await f.getDimensions(y),S=P==="y",I=S?"top":"left",O=S?"bottom":"right",j=S?"clientHeight":"clientWidth",D=d.reference[T]+d.reference[P]-k[P]-d.floating[T],F=k[P]-d.reference[P],B=await(f.getOffsetParent==null?void 0:f.getOffsetParent(y));let q=B?B[j]:0;(!q||!await(f.isElement==null?void 0:f.isElement(B)))&&(q=h.floating[j]||d.floating[T]);const X=D/2-F/2,Y=q/2-E[T]/2-1,se=Bn(b[I],Y),ce=Bn(b[O],Y),te=se,me=q-E[T]-ce,G=q/2-E[T]/2+X,ye=iu(te,G,me),ae=!m.arrow&&Zr(a)!=null&&G!==ye&&d.reference[T]/2-(G<te?se:ce)-E[T]/2<0,ne=ae?G<te?G-te:G-me:0;return{[P]:k[P]+ne,data:{[P]:ye,centerOffset:G-ye-ne,...ae&&{alignmentOffset:ne}},reset:ae}}}),US=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(r){var o,s;const{placement:a,middlewareData:d,rects:f,initialPlacement:h,platform:m,elements:y}=r,{mainAxis:w=!0,crossAxis:b=!0,fallbackPlacements:k,fallbackStrategy:P="bestFit",fallbackAxisSideDirection:T="none",flipAlignment:E=!0,...S}=mn(e,r);if((o=d.arrow)!=null&&o.alignmentOffset)return{};const I=gn(a),O=$n(h),j=gn(h)===h,D=await(m.isRTL==null?void 0:m.isRTL(y.floating)),F=k||(j||!E?[qs(h)]:RS(h)),B=T!=="none";!k&&B&&F.push(...NS(h,E,T,D));const q=[h,...F],X=await ei(r,S),Y=[];let se=((s=d.flip)==null?void 0:s.overflows)||[];if(w&&Y.push(X[I]),b){const G=TS(a,f,D);Y.push(X[G[0]],X[G[1]])}if(se=[...se,{placement:a,overflows:Y}],!Y.every(G=>G<=0)){var ce,te;const G=(((ce=d.flip)==null?void 0:ce.index)||0)+1,ye=q[G];if(ye)return{data:{index:G,overflows:se},reset:{placement:ye}};let ae=(te=se.filter(ne=>ne.overflows[0]<=0).sort((ne,z)=>ne.overflows[1]-z.overflows[1])[0])==null?void 0:te.placement;if(!ae)switch(P){case"bestFit":{var me;const ne=(me=se.filter(z=>{if(B){const K=$n(z.placement);return K===O||K==="y"}return!0}).map(z=>[z.placement,z.overflows.filter(K=>K>0).reduce((K,Q)=>K+Q,0)]).sort((z,K)=>z[1]-K[1])[0])==null?void 0:me[0];ne&&(ae=ne);break}case"initialPlacement":ae=h;break}if(a!==ae)return{reset:{placement:ae}}}return{}}}};function Nh(e,r){return{top:e.top-r.height,right:e.right-r.width,bottom:e.bottom-r.height,left:e.left-r.width}}function Lh(e){return AS.some(r=>e[r]>=0)}const zS=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(r){const{rects:o}=r,{strategy:s="referenceHidden",...a}=mn(e,r);switch(s){case"referenceHidden":{const d=await ei(r,{...a,elementContext:"reference"}),f=Nh(d,o.reference);return{data:{referenceHiddenOffsets:f,referenceHidden:Lh(f)}}}case"escaped":{const d=await ei(r,{...a,altBoundary:!0}),f=Nh(d,o.floating);return{data:{escapedOffsets:f,escaped:Lh(f)}}}default:return{}}}}};async function FS(e,r){const{placement:o,platform:s,elements:a}=e,d=await(s.isRTL==null?void 0:s.isRTL(a.floating)),f=gn(o),h=Zr(o),m=$n(o)==="y",y=["left","top"].includes(f)?-1:1,w=d&&m?-1:1,b=mn(r,e);let{mainAxis:k,crossAxis:P,alignmentAxis:T}=typeof b=="number"?{mainAxis:b,crossAxis:0,alignmentAxis:null}:{mainAxis:b.mainAxis||0,crossAxis:b.crossAxis||0,alignmentAxis:b.alignmentAxis};return h&&typeof T=="number"&&(P=h==="end"?T*-1:T),m?{x:P*w,y:k*y}:{x:k*y,y:P*w}}const BS=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(r){var o,s;const{x:a,y:d,placement:f,middlewareData:h}=r,m=await FS(r,e);return f===((o=h.offset)==null?void 0:o.placement)&&(s=h.arrow)!=null&&s.alignmentOffset?{}:{x:a+m.x,y:d+m.y,data:{...m,placement:f}}}}},$S=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(r){const{x:o,y:s,placement:a}=r,{mainAxis:d=!0,crossAxis:f=!1,limiter:h={fn:S=>{let{x:I,y:O}=S;return{x:I,y:O}}},...m}=mn(e,r),y={x:o,y:s},w=await ei(r,m),b=$n(gn(a)),k=Au(b);let P=y[k],T=y[b];if(d){const S=k==="y"?"top":"left",I=k==="y"?"bottom":"right",O=P+w[S],j=P-w[I];P=iu(O,P,j)}if(f){const S=b==="y"?"top":"left",I=b==="y"?"bottom":"right",O=T+w[S],j=T-w[I];T=iu(O,T,j)}const E=h.fn({...r,[k]:P,[b]:T});return{...E,data:{x:E.x-o,y:E.y-s,enabled:{[k]:d,[b]:f}}}}}},qS=function(e){return e===void 0&&(e={}),{options:e,fn(r){const{x:o,y:s,placement:a,rects:d,middlewareData:f}=r,{offset:h=0,mainAxis:m=!0,crossAxis:y=!0}=mn(e,r),w={x:o,y:s},b=$n(a),k=Au(b);let P=w[k],T=w[b];const E=mn(h,r),S=typeof E=="number"?{mainAxis:E,crossAxis:0}:{mainAxis:0,crossAxis:0,...E};if(m){const j=k==="y"?"height":"width",D=d.reference[k]-d.floating[j]+S.mainAxis,F=d.reference[k]+d.reference[j]-S.mainAxis;P<D?P=D:P>F&&(P=F)}if(y){var I,O;const j=k==="y"?"width":"height",D=["top","left"].includes(gn(a)),F=d.reference[b]-d.floating[j]+(D&&((I=f.offset)==null?void 0:I[b])||0)+(D?0:S.crossAxis),B=d.reference[b]+d.reference[j]+(D?0:((O=f.offset)==null?void 0:O[b])||0)-(D?S.crossAxis:0);T<F?T=F:T>B&&(T=B)}return{[k]:P,[b]:T}}}},WS=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(r){var o,s;const{placement:a,rects:d,platform:f,elements:h}=r,{apply:m=()=>{},...y}=mn(e,r),w=await ei(r,y),b=gn(a),k=Zr(a),P=$n(a)==="y",{width:T,height:E}=d.floating;let S,I;b==="top"||b==="bottom"?(S=b,I=k===(await(f.isRTL==null?void 0:f.isRTL(h.floating))?"start":"end")?"left":"right"):(I=b,S=k==="end"?"top":"bottom");const O=E-w.top-w.bottom,j=T-w.left-w.right,D=Bn(E-w[S],O),F=Bn(T-w[I],j),B=!r.middlewareData.shift;let q=D,X=F;if((o=r.middlewareData.shift)!=null&&o.enabled.x&&(X=j),(s=r.middlewareData.shift)!=null&&s.enabled.y&&(q=O),B&&!k){const se=St(w.left,0),ce=St(w.right,0),te=St(w.top,0),me=St(w.bottom,0);P?X=T-2*(se!==0||ce!==0?se+ce:St(w.left,w.right)):q=E-2*(te!==0||me!==0?te+me:St(w.top,w.bottom))}await m({...r,availableWidth:X,availableHeight:q});const Y=await f.getDimensions(h.floating);return T!==Y.width||E!==Y.height?{reset:{rects:!0}}:{}}}};function aa(){return typeof window<"u"}function eo(e){return Wg(e)?(e.nodeName||"").toLowerCase():"#document"}function _t(e){var r;return(e==null||(r=e.ownerDocument)==null?void 0:r.defaultView)||window}function nn(e){var r;return(r=(Wg(e)?e.ownerDocument:e.document)||window.document)==null?void 0:r.documentElement}function Wg(e){return aa()?e instanceof Node||e instanceof _t(e).Node:!1}function Ht(e){return aa()?e instanceof Element||e instanceof _t(e).Element:!1}function tn(e){return aa()?e instanceof HTMLElement||e instanceof _t(e).HTMLElement:!1}function Mh(e){return!aa()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof _t(e).ShadowRoot}function oi(e){const{overflow:r,overflowX:o,overflowY:s,display:a}=Vt(e);return/auto|scroll|overlay|hidden|clip/.test(r+s+o)&&!["inline","contents"].includes(a)}function HS(e){return["table","td","th"].includes(eo(e))}function la(e){return[":popover-open",":modal"].some(r=>{try{return e.matches(r)}catch{return!1}})}function Tu(e){const r=Ru(),o=Ht(e)?Vt(e):e;return["transform","translate","scale","rotate","perspective"].some(s=>o[s]?o[s]!=="none":!1)||(o.containerType?o.containerType!=="normal":!1)||!r&&(o.backdropFilter?o.backdropFilter!=="none":!1)||!r&&(o.filter?o.filter!=="none":!1)||["transform","translate","scale","rotate","perspective","filter"].some(s=>(o.willChange||"").includes(s))||["paint","layout","strict","content"].some(s=>(o.contain||"").includes(s))}function VS(e){let r=qn(e);for(;tn(r)&&!Qr(r);){if(Tu(r))return r;if(la(r))return null;r=qn(r)}return null}function Ru(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function Qr(e){return["html","body","#document"].includes(eo(e))}function Vt(e){return _t(e).getComputedStyle(e)}function ca(e){return Ht(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function qn(e){if(eo(e)==="html")return e;const r=e.assignedSlot||e.parentNode||Mh(e)&&e.host||nn(e);return Mh(r)?r.host:r}function Hg(e){const r=qn(e);return Qr(r)?e.ownerDocument?e.ownerDocument.body:e.body:tn(r)&&oi(r)?r:Hg(r)}function ti(e,r,o){var s;r===void 0&&(r=[]),o===void 0&&(o=!0);const a=Hg(e),d=a===((s=e.ownerDocument)==null?void 0:s.body),f=_t(a);if(d){const h=au(f);
vendor: 4,107 bytes, line 9
9return r.concat(f,f.visualViewport||[],oi(a)?a:[],h&&o?ti(h):[])}return r.concat(a,ti(a,[],o))}function au(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Vg(e){const r=Vt(e);let o=parseFloat(r.width)||0,s=parseFloat(r.height)||0;const a=tn(e),d=a?e.offsetWidth:o,f=a?e.offsetHeight:s,h=$s(o)!==d||$s(s)!==f;return h&&(o=d,s=f),{width:o,height:s,$:h}}function Ou(e){return Ht(e)?e:e.contextElement}function Wr(e){const r=Ou(e);if(!tn(r))return Zt(1);const o=r.getBoundingClientRect(),{width:s,height:a,$:d}=Vg(r);let f=(d?$s(o.width):o.width)/s,h=(d?$s(o.height):o.height)/a;return(!f||!Number.isFinite(f))&&(f=1),(!h||!Number.isFinite(h))&&(h=1),{x:f,y:h}}const QS=Zt(0);function Qg(e){const r=_t(e);return!Ru()||!r.visualViewport?QS:{x:r.visualViewport.offsetLeft,y:r.visualViewport.offsetTop}}function KS(e,r,o){return r===void 0&&(r=!1),!o||r&&o!==_t(e)?!1:r}function cr(e,r,o,s){r===void 0&&(r=!1),o===void 0&&(o=!1);const a=e.getBoundingClientRect(),d=Ou(e);let f=Zt(1);r&&(s?Ht(s)&&(f=Wr(s)):f=Wr(e));const h=KS(d,o,s)?Qg(d):Zt(0);let m=(a.left+h.x)/f.x,y=(a.top+h.y)/f.y,w=a.width/f.x,b=a.height/f.y;if(d){const k=_t(d),P=s&&Ht(s)?_t(s):s;let T=k,E=au(T);for(;E&&s&&P!==T;){const S=Wr(E),I=E.getBoundingClientRect(),O=Vt(E),j=I.left+(E.clientLeft+parseFloat(O.paddingLeft))*S.x,D=I.top+(E.clientTop+parseFloat(O.paddingTop))*S.y;m*=S.x,y*=S.y,w*=S.x,b*=S.y,m+=j,y+=D,T=_t(E),E=au(T)}}return Ws({width:w,height:b,x:m,y})}function Nu(e,r){const o=ca(e).scrollLeft;return r?r.left+o:cr(nn(e)).left+o}function Kg(e,r,o){o===void 0&&(o=!1);const s=e.getBoundingClientRect(),a=s.left+r.scrollLeft-(o?0:Nu(e,s)),d=s.top+r.scrollTop;return{x:a,y:d}}function GS(e){let{elements:r,rect:o,offsetParent:s,strategy:a}=e;const d=a==="fixed",f=nn(s),h=r?la(r.floating):!1;if(s===f||h&&d)return o;let m={scrollLeft:0,scrollTop:0},y=Zt(1);const w=Zt(0),b=tn(s);if((b||!b&&!d)&&((eo(s)!=="body"||oi(f))&&(m=ca(s)),tn(s))){const P=cr(s);y=Wr(s),w.x=P.x+s.clientLeft,w.y=P.y+s.clientTop}const k=f&&!b&&!d?Kg(f,m,!0):Zt(0);return{width:o.width*y.x,height:o.height*y.y,x:o.x*y.x-m.scrollLeft*y.x+w.x+k.x,y:o.y*y.y-m.scrollTop*y.y+w.y+k.y}}function YS(e){return Array.from(e.getClientRects())}function JS(e){const r=nn(e),o=ca(e),s=e.ownerDocument.body,a=St(r.scrollWidth,r.clientWidth,s.scrollWidth,s.clientWidth),d=St(r.scrollHeight,r.clientHeight,s.scrollHeight,s.clientHeight);let f=-o.scrollLeft+Nu(e);const h=-o.scrollTop;return Vt(s).direction==="rtl"&&(f+=St(r.clientWidth,s.clientWidth)-a),{width:a,height:d,x:f,y:h}}function XS(e,r){const o=_t(e),s=nn(e),a=o.visualViewport;let d=s.clientWidth,f=s.clientHeight,h=0,m=0;if(a){d=a.width,f=a.height;const y=Ru();(!y||y&&r==="fixed")&&(h=a.offsetLeft,m=a.offsetTop)}return{width:d,height:f,x:h,y:m}}function ZS(e,r){const o=cr(e,!0,r==="fixed"),s=o.top+e.clientTop,a=o.left+e.clientLeft,d=tn(e)?Wr(e):Zt(1),f=e.clientWidth*d.x,h=e.clientHeight*d.y,m=a*d.x,y=s*d.y;return{width:f,height:h,x:m,y}}function Dh(e,r,o){let s;if(r==="viewport")s=XS(e,o);else if(r==="document")s=JS(nn(e));else if(Ht(r))s=ZS(r,o);else{const a=Qg(e);s={x:r.x-a.x,y:r.y-a.y,width:r.width,height:r.height}}return Ws(s)}function Gg(e,r){const o=qn(e);return o===r||!Ht(o)||Qr(o)?!1:Vt(o).position==="fixed"||Gg(o,r)}function e0(e,r){const o=r.get(e);if(o)return o;let s=ti(e,[],!1).filter(h=>Ht(h)&&eo(h)!=="body"),a=null;const d=Vt(e).position==="fixed";let f=d?qn(e):e;for(;Ht(f)&&!Qr(f);){const h=Vt(f),m=Tu(f);!m&&h.position==="fixed"&&(a=null),(d?!m&&!a:!m&&h.position==="static"&&!!a&&["absolute","fixed"].includes(a.position)||oi(f)&&!m&&Gg(e,f))?s=s.filter(w=>w!==f):a=h,f=qn(f)}return r.set(e,s),s}function t0(e){let{element:r,boundary:o,rootBoundary:s,strategy:a}=e;const f=[...o==="clippingAncestors"?la(r)?[]:e0(r,this._c):[].concat(o),s],h=f[0],m=f.reduce((y,w)=>{const b=Dh(r,w,a);return y.top=St(b.top,y.top),y.right=Bn(b.right,y.right),y.bottom=Bn(b.bottom,y.bottom),y.left=St(b.left,y.left),y},Dh(r,h,a));return{width:m.right-m.left,height:m.bottom-m.top,x:m.left,y:m.top}}function n0(e){const{width:r,height:o}=Vg(e);return{width:r,height:o}}
vendor: 4,530 bytes, line 9
9function r0(e,r,o){const s=tn(r),a=nn(r),d=o==="fixed",f=cr(e,!0,d,r);let h={scrollLeft:0,scrollTop:0};const m=Zt(0);if(s||!s&&!d)if((eo(r)!=="body"||oi(a))&&(h=ca(r)),s){const k=cr(r,!0,d,r);m.x=k.x+r.clientLeft,m.y=k.y+r.clientTop}else a&&(m.x=Nu(a));const y=a&&!s&&!d?Kg(a,h):Zt(0),w=f.left+h.scrollLeft-m.x-y.x,b=f.top+h.scrollTop-m.y-y.y;return{x:w,y:b,width:f.width,height:f.height}}function Ec(e){return Vt(e).position==="static"}function Uh(e,r){if(!tn(e)||Vt(e).position==="fixed")return null;if(r)return r(e);let o=e.offsetParent;return nn(e)===o&&(o=o.ownerDocument.body),o}function Yg(e,r){const o=_t(e);if(la(e))return o;if(!tn(e)){let a=qn(e);for(;a&&!Qr(a);){if(Ht(a)&&!Ec(a))return a;a=qn(a)}return o}let s=Uh(e,r);for(;s&&HS(s)&&Ec(s);)s=Uh(s,r);return s&&Qr(s)&&Ec(s)&&!Tu(s)?o:s||VS(e)||o}const o0=async function(e){const r=this.getOffsetParent||Yg,o=this.getDimensions,s=await o(e.floating);return{reference:r0(e.reference,await r(e.floating),e.strategy),floating:{x:0,y:0,width:s.width,height:s.height}}};function i0(e){return Vt(e).direction==="rtl"}const s0={convertOffsetParentRelativeRectToViewportRelativeRect:GS,getDocumentElement:nn,getClippingRect:t0,getOffsetParent:Yg,getElementRects:o0,getClientRects:YS,getDimensions:n0,getScale:Wr,isElement:Ht,isRTL:i0};function Jg(e,r){return e.x===r.x&&e.y===r.y&&e.width===r.width&&e.height===r.height}function a0(e,r){let o=null,s;const a=nn(e);function d(){var h;clearTimeout(s),(h=o)==null||h.disconnect(),o=null}function f(h,m){h===void 0&&(h=!1),m===void 0&&(m=1),d();const y=e.getBoundingClientRect(),{left:w,top:b,width:k,height:P}=y;if(h||r(),!k||!P)return;const T=Ps(b),E=Ps(a.clientWidth-(w+k)),S=Ps(a.clientHeight-(b+P)),I=Ps(w),j={rootMargin:-T+"px "+-E+"px "+-S+"px "+-I+"px",threshold:St(0,Bn(1,m))||1};let D=!0;function F(B){const q=B[0].intersectionRatio;if(q!==m){if(!D)return f();q?f(!1,q):s=setTimeout(()=>{f(!1,1e-7)},1e3)}q===1&&!Jg(y,e.getBoundingClientRect())&&f(),D=!1}try{o=new IntersectionObserver(F,{...j,root:a.ownerDocument})}catch{o=new IntersectionObserver(F,j)}o.observe(e)}return f(!0),d}function l0(e,r,o,s){s===void 0&&(s={});const{ancestorScroll:a=!0,ancestorResize:d=!0,elementResize:f=typeof ResizeObserver=="function",layoutShift:h=typeof IntersectionObserver=="function",animationFrame:m=!1}=s,y=Ou(e),w=a||d?[...y?ti(y):[],...ti(r)]:[];w.forEach(I=>{a&&I.addEventListener("scroll",o,{passive:!0}),d&&I.addEventListener("resize",o)});const b=y&&h?a0(y,o):null;let k=-1,P=null;f&&(P=new ResizeObserver(I=>{let[O]=I;O&&O.target===y&&P&&(P.unobserve(r),cancelAnimationFrame(k),k=requestAnimationFrame(()=>{var j;(j=P)==null||j.observe(r)})),o()}),y&&!m&&P.observe(y),P.observe(r));let T,E=m?cr(e):null;m&&S();function S(){const I=cr(e);E&&!Jg(E,I)&&o(),E=I,T=requestAnimationFrame(S)}return o(),()=>{var I;w.forEach(O=>{a&&O.removeEventListener("scroll",o),d&&O.removeEventListener("resize",o)}),b?.(),(I=P)==null||I.disconnect(),P=null,m&&cancelAnimationFrame(T)}}const c0=BS,u0=$S,d0=US,p0=WS,f0=zS,zh=DS,h0=qS,m0=(e,r,o)=>{const s=new Map,a={platform:s0,...o},d={...a.platform,_c:s};return MS(e,r,{...a,platform:d})};var Ls=typeof document<"u"?v.useLayoutEffect:v.useEffect;function Hs(e,r){if(e===r)return!0;if(typeof e!=typeof r)return!1;if(typeof e=="function"&&e.toString()===r.toString())return!0;let o,s,a;if(e&&r&&typeof e=="object"){if(Array.isArray(e)){if(o=e.length,o!==r.length)return!1;for(s=o;s--!==0;)if(!Hs(e[s],r[s]))return!1;return!0}if(a=Object.keys(e),o=a.length,o!==Object.keys(r).length)return!1;for(s=o;s--!==0;)if(!{}.hasOwnProperty.call(r,a[s]))return!1;for(s=o;s--!==0;){const d=a[s];if(!(d==="_owner"&&e.$$typeof)&&!Hs(e[d],r[d]))return!1}return!0}return e!==e&&r!==r}function Xg(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Fh(e,r){const o=Xg(e);return Math.round(r*o)/o}function Cc(e){const r=v.useRef(e);return Ls(()=>{r.current=e}),r}function g0(e){e===void 0&&(e={});const{placement:r="bottom",strategy:o="absolute",middleware:s=[],platform:a,elements:{reference:d,floating:f}={},transform:h=!0,whileElementsMounted:m,open:y}=e,[w,b]=v.useState({x:0,y:0,strategy:o,placement:r,middlewareData:{},isPositioned:!1}),[k,P]=v.useState(s);Hs(k,s)||P(s);const[T,E]=v.useState(null),[S,I]=v.useState(null),O=v.useCallback(z=>{z!==B.current&&(B.current=z,E(z))},[]),j=v.useCallback(z=>{z!==q.current&&(q.current=z,I(z))},[]),D=d||T,F=f||S,B=v.useRef(null),q=v.useRef(null),X=v.useRef(w),Y=m!=null,se=Cc(m),ce=Cc(a),te=Cc(y),me=v.useCallback(()=>
vendor: 5,061 bytes, line 9
9{if(!B.current||!q.current)return;const z={placement:r,strategy:o,middleware:k};ce.current&&(z.platform=ce.current),m0(B.current,q.current,z).then(K=>{const Q={...K,isPositioned:te.current!==!1};G.current&&!Hs(X.current,Q)&&(X.current=Q,Jr.flushSync(()=>{b(Q)}))})},[k,r,o,ce,te]);Ls(()=>{y===!1&&X.current.isPositioned&&(X.current.isPositioned=!1,b(z=>({...z,isPositioned:!1})))},[y]);const G=v.useRef(!1);Ls(()=>(G.current=!0,()=>{G.current=!1}),[]),Ls(()=>{if(D&&(B.current=D),F&&(q.current=F),D&&F){if(se.current)return se.current(D,F,me);me()}},[D,F,me,se,Y]);const ye=v.useMemo(()=>({reference:B,floating:q,setReference:O,setFloating:j}),[O,j]),ae=v.useMemo(()=>({reference:D,floating:F}),[D,F]),ne=v.useMemo(()=>{const z={position:o,left:0,top:0};if(!ae.floating)return z;const K=Fh(ae.floating,w.x),Q=Fh(ae.floating,w.y);return h?{...z,transform:"translate("+K+"px, "+Q+"px)",...Xg(ae.floating)>=1.5&&{willChange:"transform"}}:{position:o,left:K,top:Q}},[o,h,ae.floating,w.x,w.y]);return v.useMemo(()=>({...w,update:me,refs:ye,elements:ae,floatingStyles:ne}),[w,me,ye,ae,ne])}const y0=e=>{function r(o){return{}.hasOwnProperty.call(o,"current")}return{name:"arrow",options:e,fn(o){const{element:s,padding:a}=typeof e=="function"?e(o):e;return s&&r(s)?s.current!=null?zh({element:s.current,padding:a}).fn(o):{}:s?zh({element:s,padding:a}).fn(o):{}}}},v0=(e,r)=>({...c0(e),options:[e,r]}),w0=(e,r)=>({...u0(e),options:[e,r]}),b0=(e,r)=>({...h0(e),options:[e,r]}),k0=(e,r)=>({...d0(e),options:[e,r]}),x0=(e,r)=>({...p0(e),options:[e,r]}),S0=(e,r)=>({...f0(e),options:[e,r]}),_0=(e,r)=>({...y0(e),options:[e,r]});var E0="Arrow",Zg=v.forwardRef((e,r)=>{const{children:o,width:s=10,height:a=5,...d}=e;return u.jsx(yt.svg,{...d,ref:r,width:s,height:a,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?o:u.jsx("polygon",{points:"0,0 30,0 15,10"})})});Zg.displayName=E0;var C0=Zg;function P0(e){const[r,o]=v.useState(void 0);return lr(()=>{if(e){o({width:e.offsetWidth,height:e.offsetHeight});const s=new ResizeObserver(a=>{if(!Array.isArray(a)||!a.length)return;const d=a[0];let f,h;if("borderBoxSize"in d){const m=d.borderBoxSize,y=Array.isArray(m)?m[0]:m;f=y.inlineSize,h=y.blockSize}else f=e.offsetWidth,h=e.offsetHeight;o({width:f,height:h})});return s.observe(e,{box:"border-box"}),()=>s.unobserve(e)}else o(void 0)},[e]),r}var Lu="Popper",[ey,ty]=ra(Lu),[A0,ny]=ey(Lu),ry=e=>{const{__scopePopper:r,children:o}=e,[s,a]=v.useState(null);return u.jsx(A0,{scope:r,anchor:s,onAnchorChange:a,children:o})};ry.displayName=Lu;var oy="PopperAnchor",iy=v.forwardRef((e,r)=>{const{__scopePopper:o,virtualRef:s,...a}=e,d=ny(oy,o),f=v.useRef(null),h=Wt(r,f);return v.useEffect(()=>{d.onAnchorChange(s?.current||f.current)}),s?null:u.jsx(yt.div,{...a,ref:h})});iy.displayName=oy;var Mu="PopperContent",[I0,j0]=ey(Mu),sy=v.forwardRef((e,r)=>{const{__scopePopper:o,side:s="bottom",sideOffset:a=0,align:d="center",alignOffset:f=0,arrowPadding:h=0,avoidCollisions:m=!0,collisionBoundary:y=[],collisionPadding:w=0,sticky:b="partial",hideWhenDetached:k=!1,updatePositionStrategy:P="optimized",onPlaced:T,...E}=e,S=ny(Mu,o),[I,O]=v.useState(null),j=Wt(r,pe=>O(pe)),[D,F]=v.useState(null),B=P0(D),q=B?.width??0,X=B?.height??0,Y=s+(d!=="center"?"-"+d:""),se=typeof w=="number"?w:{top:0,right:0,bottom:0,left:0,...w},ce=Array.isArray(y)?y:[y],te=ce.length>0,me={padding:se,boundary:ce.filter(R0),altBoundary:te},{refs:G,floatingStyles:ye,placement:ae,isPositioned:ne,middlewareData:z}=g0({strategy:"fixed",placement:Y,whileElementsMounted:(...pe)=>l0(...pe,{animationFrame:P==="always"}),elements:{reference:S.anchor},middleware:[v0({mainAxis:a+X,alignmentAxis:f}),m&&w0({mainAxis:!0,crossAxis:!1,limiter:b==="partial"?b0():void 0,...me}),m&&k0({...me}),x0({...me,apply:({elements:pe,rects:xe,availableWidth:Se,availableHeight:Qe})=>{const{width:Qt,height:fr}=xe.reference,Et=pe.floating.style;Et.setProperty("--radix-popper-available-width",`${Se}px`),Et.setProperty("--radix-popper-available-height",`${Qe}px`),Et.setProperty("--radix-popper-anchor-width",`${Qt}px`),Et.setProperty("--radix-popper-anchor-height",`${fr}px`)}}),D&&_0({element:D,padding:h}),O0({arrowWidth:q,arrowHeight:X}),k&&S0({strategy:"referenceHidden",...me})]}),[K,Q]=cy(ae),_=en(T);lr(()=>{ne&&_?.()},[ne,_]);const U=z.arrow?.x,oe=z.arrow?.y,le=z.arrow?.centerOffset!==0,[ve,ge]=v.useState();return lr(()=>{I&&ge(window.getComputedStyle(I).zIndex)},[I]),u.jsx("div",{ref:G.setFloating,"data-radix-popper-content-wrapper":"",style:{...ye,transform:ne?ye.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ve,"--radix-popper-transform-origin":[z.transformOrigin?.x,z.transformOrigin?.y].join(" "),...z.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:u.jsx(I0,{scope:o,placedSide:K,onArrowChange:F,arrowX:U,arrowY:oe,shouldHideArrow:le,children:u.jsx(yt.div,{"data-side":K,"data-align":Q,...E,ref:j,style:{...E.style,animation:ne?void 0:"none"}})})})});sy.displayName=Mu;var ay="PopperArrow",T0={top:"bottom",right:"left",bottom:"top",left:"r
9ight"},ly=v.forwardRef(function(r,o){const{__scopePopper:s,...a}=r,d=j0(ay,s),f=T0[d.placedSide];return u.jsx("span",{ref:d.onArrowChange,style:{position:"absolute",left:d.arrowX,top:d.arrowY,[f]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[d.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[d.placedSide],visibility:d.shouldHideArrow?"hidden":void 0},children:u.jsx(C0,{...a,ref:o,style:{...a.style,display:"block"}})})});ly.displayName=ay;function R0(e){return e!==null}var O0=e=>({name:"transformOrigin",options:e,fn(r){const{placement:o,rects:s,middlewareData:a}=r,f=a.arrow?.centerOffset!==0,h=f?0:e.arrowWidth,m=f?0:e.arrowHeight,[y,w]=cy(o),b={start:"0%",center:"50%",end:"100%"}[w],k=(a.arrow?.x??0)+h/2,P=(a.arrow?.y??0)+m/2;let T="",E="";return y==="bottom"?(T=f?b:`${k}px`,E=`${-m}px`):y==="top"?(T=f?b:`${k}px`,E=`${s.floating.height+m}px`):y==="right"?(T=`${-m}px`,E=f?b:`${P}px`):y==="left"&&(T=`${s.floating.width+m}px`,E=f?b:`${P}px`),{data:{x:T,y:E}}}});function cy(e){const[r,o="center"]=e.split("-");return[r,o]}var TI=ry,N0=iy,L0=sy,M0=ly,[ua]=ra("Tooltip",[ty]),Du=ty(),uy="TooltipProvider",D0=700,Bh="tooltip.open",[U0,dy]=ua(uy),py=e=>{const{__scopeTooltip:r,delayDuration:o=D0,skipDelayDuration:s=300,disableHoverableContent:a=!1,children:d}=e,f=v.useRef(!0),h=v.useRef(!1),m=v.useRef(0);return v.useEffect(()=>{const y=m.current;return()=>window.clearTimeout(y)},[]),u.jsx(U0,{scope:r,isOpenDelayedRef:f,delayDuration:o,onOpen:v.useCallback(()=>{window.clearTimeout(m.current),f.current=!1},[]),onClose:v.useCallback(()=>{window.clearTimeout(m.current),m.current=window.setTimeout(()=>f.current=!0,s)},[s]),isPointerInTransitRef:h,onPointerInTransitChange:v.useCallback(y=>{h.current=y},[]),disableHoverableContent:a,children:d})};py.displayName=uy;var fy="Tooltip",[RI,da]=ua(fy),lu="TooltipTrigger",z0=v.forwardRef((e,r)=>{const{__scopeTooltip:o,...s}=e,a=da(lu,o),d=dy(lu,o),f=Du(o),h=v.useRef(null),m=Wt(r,h,a.onTriggerChange),y=v.useRef(!1),w=v.useRef(!1),b=v.useCallback(()=>y.current=!1,[]);return v.useEffect(()=>()=>document.removeEventListener("pointerup",b),[b]),u.jsx(N0,{asChild:!0,...f,children:u.jsx(yt.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...s,ref:m,onPointerMove:He(e.onPointerMove,k=>{k.pointerType!=="touch"&&!w.current&&!d.isPointerInTransitRef.current&&(a.onTriggerEnter(),w.current=!0)}),onPointerLeave:He(e.onPointerLeave,()=>{a.onTriggerLeave(),w.current=!1}),onPointerDown:He(e.onPointerDown,()=>{a.open&&a.onClose(),y.current=!0,document.addEventListener("pointerup",b,{once:!0})}),onFocus:He(e.onFocus,()=>{y.current||a.onOpen()}),onBlur:He(e.onBlur,a.onClose),onClick:He(e.onClick,a.onClose)})})});z0.displayName=lu;var F0="TooltipPortal",[OI,B0]=ua(F0,{forceMount:void 0}),Kr="TooltipContent",hy=v.forwardRef((e,r)=>{const o=B0(Kr,e.__scopeTooltip),{forceMount:s=o.forceMount,side:a="top",...d}=e,f=da(Kr,e.__scopeTooltip);return u.jsx(Su,{present:s||f.open,children:f.disableHoverableContent?u.jsx(my,{side:a,...d,ref:r}):u.jsx($0,{side:a,...d,ref:r})})}),$0=v.forwardRef((e,r)=>{const o=da(Kr,e.__scopeTooltip),s=dy(Kr,e.__scopeTooltip),a=v.useRef(null),d=Wt(r,a),[f,h]=v.useState(null),{trigger:m,onClose:y}=o,w=a.current,{onPointerInTransitChange:b}=s,k=v.useCallback(()=>{h(null),b(!1)},[b]),P=v.useCallback((T,E)=>{const S=T.currentTarget,I={x:T.clientX,y:T.clientY},O=Q0(I,S.getBoundingClientRect()),j=K0(I,O),D=G0(E.getBoundingClientRect()),F=J0([...j,...D]);h(F),b(!0)},[b]);return v.useEffect(()=>()=>k(),[k]),v.useEffect(()=>{if(m&&w){const T=S=>P(S,w),E=S=>P(S,m);return m.addEventListener("pointerleave",T),w.addEventListener("pointerleave",E),()=>{m.removeEventListener("pointerleave",T),w.removeEventListener("pointerleave",E)}}},[m,w,P,k]),v.useEffect(()=>{if(f){const T=E=>{const S=E.target,I={x:E.clientX,y:E.clientY},O=m?.contains(S)||w?.contains(S),j=!Y0(I,f);O?k():j&&(k(),y())};return document.addEventListener("pointermove",T),()=>document.removeEventListener("pointermove",T)}},[m,w,f,y,k]),u.jsx(my,{...e,ref:d})}),[q0,W0]=ua(fy,{isInside:!1}),H0=ox("TooltipContent"),my=v.forwardRef((e,r)=>{const{__scopeTooltip:o,children:s,"aria-label":a,onEscapeKeyDown:d,onPointerDownOutside:f,...h}=e,m=da(Kr,o),y=Du(o),{onClose:w}=m;return v.useEffect(()=>(document.addEventListener(Bh,w),()=>document.removeEventListener(Bh,w)),[w]),v.useEffect(()=>{if(m.trigger){const b=k=>{k.target?.contains(m.trigger)&&w()};return window.addEventListener("scroll",b,{capture:!0}),()=>window.removeEventListener("scroll",b,{capture:!0})}},[m.trigger,w]),u.jsx(xu,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:d,onPointerDownOutside:f,onFocusOutside:b=>b.preventDefault(),onDismiss:w,children:u.jsxs(L0,{"data-state":m.stateAttribute,...y,...h,ref:r,style:{...h.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[u.jsx(H0,{children:s}),u.jsx(q0,{scope:o,isInside:!0,children:u.jsx(Cx,{id:m.contentId,role:"tooltip",children:a||s})})]})})});hy.displayName=Kr;var gy="TooltipArrow",V0=v.forwardRef((e,r)=>{const{__scopeTooltip:o,...s}=e,a=Du(o);return W0(gy,o).isInside?null:u.jsx(M0,{...a,...s,ref:r})});V0.displayName=gy;function Q0(e,r){const o=Math.abs(r.top-e.y),s=Math.abs(r.bottom-e.y),a=Math.abs(r.right-e.x),d=Math.abs(r.left-e.x);switch(Math.min(o,s,a,d)){case d:return"left";case a:return"right";case o:return"top";case s:return"bottom";default:throw new Error("unreachable")}}function K0(e,r,o=5){const s=[];
9switch(r){case"top":s.push({x:e.x-o,y:e.y+o},{x:e.x+o,y:e.y+o});break;case"bottom":s.push({x:e.x-o,y:e.y-o},{x:e.x+o,y:e.y-o});break;case"left":s.push({x:e.x+o,y:e.y-o},{x:e.x+o,y:e.y+o});break;case"right":s.push({x:e.x-o,y:e.y-o},{x:e.x-o,y:e.y+o});break}return s}function G0(e){const{top:r,right:o,bottom:s,left:a}=e;return[{x:a,y:r},{x:o,y:r},{x:o,y:s},{x:a,y:s}]}function Y0(e,r){const{x:o,y:s}=e;let a=!1;for(let d=0,f=r.length-1;d<r.length;f=d++){const h=r[d].x,m=r[d].y,y=r[f].x,w=r[f].y;m>s!=w>s&&o<(y-h)*(s-m)/(w-m)+h&&(a=!a)}return a}function J0(e){const r=e.slice();return r.sort((o,s)=>o.x<s.x?-1:o.x>s.x?1:o.y<s.y?-1:o.y>s.y?1:0),X0(r)}function X0(e){if(e.length<=1)return e.slice();const r=[];for(let s=0;s<e.length;s++){const a=e[s];for(;r.length>=2;){const d=r[r.length-1],f=r[r.length-2];if((d.x-f.x)*(a.y-f.y)>=(d.y-f.y)*(a.x-f.x))r.pop();else break}r.push(a)}r.pop();const o=[];for(let s=e.length-1;s>=0;s--){const a=e[s];for(;o.length>=2;){const d=o[o.length-1],f=o[o.length-2];if((d.x-f.x)*(a.y-f.y)>=(d.y-f.y)*(a.x-f.x))o.pop();else break}o.push(a)}return o.pop(),r.length===1&&o.length===1&&r[0].x===o[0].x&&r[0].y===o[0].y?r:r.concat(o)}var Z0=py,yy=hy;const e_=Z0,t_=v.forwardRef(({className:e,sideOffset:r=4,...o},s)=>u.jsx(yy,{ref:s,sideOffset:r,className:pr("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",e),...o}));t_.displayName=yy.displayName;var n_=class vy extends Error{static kind="ClerkError";clerkError=!0;code;longMessage;docsUrl;cause;get name(){return this.constructor.name}constructor(r){super(new.target.formatMessage(new.target.kind,r.message,r.code,r.docsUrl),{cause:r.cause}),Object.setPrototypeOf(this,vy.prototype),this.code=r.code,this.docsUrl=r.docsUrl,this.longMessage=r.longMessage,this.cause=r.cause}toString(){return`[${this.name}] 10Message:${this.message}`}static formatMessage(r,o,s,a){const d="Clerk:",f=new RegExp(d.replace(" ","\\s*"),"i");return o=o.replace(f,""),o=`${d} ${o.trim()} 11 12(code="${s}") 13 14`,a&&(o+=` 15 16Docs: ${a}`),o}},Uu=class wy extends n_{static kind="ClerkRuntimeError";clerkRuntimeError=!0;constructor(r,o){super({...o,message:r}),Object.setPrototypeOf(this,wy.prototype)}};const r_=Object.freeze({InvalidProxyUrlErrorMessage:"The proxyUrl passed to Clerk is invali
16d. The expected value for proxyUrl is an absolute URL or a relative path with a leading '/'. (key={{url}})",InvalidPublishableKeyErrorMessage:"The publishableKey passed to Clerk is invalid (key={{key}}, expected format: pk_test_... or pk_live_...). To create a Clerk application with valid keys, in your terminal run:\n\nnpx clerk@latest init\n\n`npx clerk@latest init` creates a Clerk application and writes keys to your .env file. No Clerk account or login required and the command is non-interactive.\n\nIf you have a Clerk application, run `npx clerk@latest env pull` to write the keys (`--instance prod` for production keys). Or copy its Publishable key from https://dashboard.clerk.com/last-active?path=api-keys.",MissingPublishableKeyErrorMessage:"Missing publishableKey. To set up Clerk for this project, in your terminal run:\n\nnpx clerk@latest init\n\n`npx clerk@latest init` creates a Clerk application and writes keys to your .env file. No Clerk account or login required and the command is non-interactive.\n\nIf you have a Clerk application, run `npx clerk@latest env pull` to write the keys. Or copy them from https://dashboard.clerk.com/last-active?path=api-keys. Deploy a production instance by running `npx clerk@latest deploy`, or `npx clerk@latest env pull --instance prod` to use an existing one.",MissingSecretKeyErrorMessage:"Missing secretKey. To set up Clerk for this project, in your terminal run:\n\nnpx clerk@latest init\n\n`npx clerk@latest init` creates a Clerk application and writes keys to your .env file. No Clerk account or login required and the command is non-interactive.\n\nIf you have a Clerk application, run `npx clerk@latest env pull` to write the keys. Or copy them from https://dashboard.clerk.com/last-active?path=api-keys. Deploy a production instance by running `npx clerk@latest deploy`, or `npx clerk@latest env pull --instance prod` to use an existing one.",MissingClerkProvider:"{{source}} can only be used within the <ClerkProvider /> component. Learn more: https://clerk.com/docs/components/clerk-provider"});function by({packageName:e,customMessages:r}){let o=e;function s(d,f){if(!f)return`${o}: ${d}`;let h=d;const m=d.matchAll(/{{([a-zA-Z0-9-_]+)}}/g);for(const y of m){const w=(f[y[1]]||"").toString();h=h.replace(`{{${y[1]}}}`,w)}return`${o}: ${h}`}const a={...r_,...r};return{setPackageName({packageName:d}){return typeof d=="string"&&(o=d),this},setMessages({customMessages:d}){return Object.assign(a,d||{}),this},throwInvalidPublishableKeyError(d){throw new Error(s(a.InvalidPublishableKeyErrorMessage,d))},throwInvalidProxyUrl(d){throw new Error(s(a.InvalidProxyUrlErrorMessage,d))},throwMissingPublishableKeyError(){throw new Error(s(a.MissingPublishableKeyErrorMessage))},throwMissingSecretKeyError(){throw new Error(s(a.MissingSecretKeyErrorMessage))},throwMissingClerkProviderError(d){throw new Error(s(a.MissingClerkProvider,d))},throw(d){throw new Error(s(d))}}}const o_={strict_mfa:{afterMinutes:10,level:"multi_factor"},strict:{afterMinutes:10,level:"second_factor"},moderate:{afterMinutes:60,level:"second_factor"},lax:{afterMinutes:1440,level:"second_factor"}},i_=new Set(["first_factor","second_factor","multi_factor"]),s_=new Set(["strict_mfa","strict","moderate","lax"]),$h=new Set(["o","org","organization"]),qh=new Set(["u","user"]),a_=e=>typeof e=="number"&&e>0,l_=e=>i_.has(e),c_=e=>s_.has(e),Wh=e=>typeof e=="number"&&Number.isFinite(e)&&(e===-1||e>=0),Pc=e=>e.replace(/^(org:)*/,"org:"),u_=(e,r)=>{const{orgId:o,orgRole:s,orgPermissions:a}=r,d=e.role!==void 0,f=e.permission!==void 0;return!d&&!f?"skip":d&&typeof e.role!="string"||f&&typeof e.permission!="string"||!o||d&&(typeof s!="string"||!s||Pc(s)!==Pc(e.role))||f&&(!Array.isArray(a)||!a.includes(Pc(e.permission)))?"fail":"pass"},Hh=(e,r)=>{const{org:o,user:s}=p_(e),[a,d]=r.split(":"),f=d!==void 0,h=a,m=d||a;if(f&&!$h.has(h)&&!qh.has(h))throw new Error(`Invalid scope: ${h}`);if(f){if($h.has(h))return o.includes(m);if(qh.has(h))return s.includes(m)}return[...o,...s].includes(m)},d_=(e,r)=>{const{features:o,plans:s}=r,a=e.feature!==void 0,d=e.plan!==void 0;if(!a&&!d)return"skip";if(a&&typeof e.feature!="string"||d&&typeof e.plan!="string")return"fail";if(a){if(typeof o!="string"||!o)return"fail";try{if(!Hh(o,e.feature))return"fail"}catch{return"fail"}}
16if(d){if(typeof s!="string"||!s)return"fail";try{if(!Hh(s,e.plan))return"fail"}catch{return"fail"}}return"pass"},p_=e=>{const r=[],o=[];if(!e)return{org:r,user:o};const s=e.split(",");for(let a=0;a<s.length;a++){const d=s[a].trim(),f=d.indexOf(":");if(f===-1)throw new Error(`Invalid claim element (missing colon): ${d}`);const h=d.slice(0,f),m=d.slice(f+1);h==="o"?r.push(m):h==="u"?o.push(m):(h==="ou"||h==="uo")&&(r.push(m),o.push(m))}return{org:r,user:o}},f_=e=>{if(!e)return!1;const r=a=>typeof a=="string"?o_[a]:a,o=typeof e=="string"&&c_(e),s=typeof e=="object"&&l_(e.level)&&a_(e.afterMinutes);return o||s?r.bind(null,e):!1},h_=(e,{factorVerificationAge:r})=>{if(e.reverification===void 0)return"skip";if(!r||!Array.isArray(r)||r.length!==2||!Wh(r[0])||!Wh(r[1]))return"fail";const o=f_(e.reverification);if(!o)return"fail";const{level:s,afterMinutes:a}=o(),[d,f]=r;if(d===-1&&f===-1)return"fail";const h=d!==-1&&a>d,m=f!==-1&&a>f;switch(s){case"first_factor":return h?"pass":"fail";case"second_factor":return f===-1?h?"pass":"fail":m?"pass":"fail";case"multi_factor":return f===-1?h?"pass":"fail":d===-1?"fail":h&&m?"pass":"fail"}},m_=e=>e.some(r=>r==="pass")&&e.every(r=>r==="pass"||r==="skip"),g_=e=>r=>e.userId?m_([u_(r,e),d_(r,e),h_(r,e)]):!1,y_=({authObject:{sessionId:e,sessionStatus:r,userId:o,actor:s,orgId:a,orgRole:d,orgSlug:f,signOut:h,getToken:m,has:y,sessionClaims:w},options:{treatPendingAsSignedOut:b=!0}})=>{if(e===void 0&&o===void 0)return{actor:void 0,getToken:m,has:()=>!1,isLoaded:!1,isSignedIn:void 0,orgId:void 0,orgRole:void 0,orgSlug:void 0,sessionClaims:void 0,sessionId:e,signOut:h,userId:o};if(e===null&&o===null)return{actor:null,getToken:m,has:()=>!1,isLoaded:!0,isSignedIn:!1,orgId:null,orgRole:null,orgSlug:null,sessionClaims:null,sessionId:e,signOut:h,userId:o};if(b&&r==="pending")return{actor:null,getToken:m,has:()=>!1,isLoaded:!0,isSignedIn:!1,orgId:null,orgRole:null,orgSlug:null,sessionClaims:null,sessionId:null,
16signOut:h,userId:null};if(e&&w&&o&&a&&d)return{actor:s||null,getToken:m,has:y,isLoaded:!0,isSignedIn:!0,orgId:a,orgRole:d,orgSlug:f||null,sessionClaims:w,sessionId:e,signOut:h,userId:o};if(e&&w&&o&&!a)return{actor:s||null,getToken:m,has:y,isLoaded:!0,isSignedIn:!0,orgId:null,orgRole:null,orgSlug:null,sessionClaims:w,sessionId:e,signOut:h,userId:o}},Vh=(e,r,o)=>!e&&o?v_(o):w_(r),v_=e=>{const r=e.userId,o=e.user,s=e.sessionId,a=e.sessionStatus,d=e.sessionClaims;return{userId:r,user:o,sessionId:s,session:e.session,sessionStatus:a,sessionClaims:d,organization:e.organization,orgId:e.orgId,orgRole:e.orgRole,orgPermissions:e.orgPermissions,orgSlug:e.orgSlug,actor:e.actor,factorVerificationAge:e.factorVerificationAge}},w_=e=>{const r=e.user?e.user.id:e.user,o=e.user,s=e.session?e.session.id:e.session,a=e.session,d=e.session?.status,f=e.session?e.session.lastActiveToken?.jwt?.claims:null,h=e.session?e.session.factorVerificationAge:null,m=a?.actor,y=e.organization,w=e.organization?e.organization.id:e.organization,b=y?.slug,k=y&&o?.organizationMemberships?.find(T=>T.organization.id===w),P=k&&k.permissions;return{userId:r,user:o,sessionId:s,session:a,sessionStatus:d,sessionClaims:f,organization:y,orgId:w,orgRole:k&&k.role,orgSlug:b,orgPermissions:P,actor:m,factorVerificationAge:h}},b_=[".lcl.dev",".stg.dev",".lclstage.dev",".stgstage.dev",".dev.lclclerk.com",".stg.lclclerk.com",".accounts.lclclerk.com","accountsstage.dev","accounts.dev"],ky=e=>typeof atob<"u"&&typeof atob=="function"?atob(e):typeof globalThis.Buffer<"u"?globalThis.Buffer.from(e,"base64").toString():e,xy="pk_live_",k_="pk_test_";function Sy(e){if(!e.endsWith("$"))return!1;const r=e.slice(0,-1);return r.includes("$")?!1:r.includes(".")}const As="To create a Clerk application with valid keys, in your terminal run:\n\nnpx clerk@latest init\n\n`npx clerk@latest init` creates a Clerk application and writes keys to your .env file. No Clerk account or login required and the command is non-interactive.\n\nIf you have a Clerk application, run `npx clerk@latest env pull` to write the keys (`--instance prod` for production keys). Or copy them from https://dashboard.clerk.com/last-active?path=api-keys.";function Ac(e,r={}){if(e=e||"",!e||!Qh(e)){if(r.fatal&&!e)throw new Error(`Publishable key is missing. ${As}`);if(r.fatal&&!Qh(e))throw new Error(`Publishable key not valid (expected format: pk_test_... or pk_live_...). ${As}`);return null}const o=e.startsWith(xy)?"production":"development";let s;try{s=ky(e.split("_")[2])}catch{if(r.fatal)throw new Error(`Publishable key not valid: Failed to decode key. ${As}`);return null}if(!Sy(s)){if(r.fatal)throw new Error(`Publishable key not valid: Decoded key has invalid format. ${As}`);return null}let a=s.slice(0,-1);return r.proxyUrl?a=r.proxyUrl:o!=="development"&&r.domain&&r.isSatellite&&(a=`clerk.${r.domain}`),{instanceType:o,frontendApi:a}}function Qh(e=""){try{if(!(e.startsWith(xy)||e.startsWith(k_)))return!1;const r=e.split("_");if(r.length!==3)return!1;const o=r[2];return o?Sy(ky(o)):!1}catch{return!1}}function x_(){const e=new Map;return{isDevOrStagingUrl:r=>{if(!r)return!1;const o=typeof r=="string"?r:r.hostname;let s=e.get(o);return s===void 0&&(s=b_.some(a=>o.endsWith(a)),e.set(o,s)),s}}}const Ic={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1,VITE_CLERK_PUBLISHABLE_KEY:"pk_live_Y2xlcmsuaGlyZXNvZmlhLmFpJA",VITE_PERF_VITALS:"true",VITE_RELEASE_ID:"build-1790626749344-767360bf"};var jc={};const Kh=(e,r)=>{if(typeof process<"u"&&jc&&typeof jc[e]=="string")return jc[e];if(typeof import.meta<"u"&&Ic&&typeof Ic[e]=="string")return Ic[e];try{return globalThis[e]}catch{}return""},S_=()=>{try{return!1}catch{}return!1},__=()=>{try{return!1}catch{}return!1},E_=()=>{try{return!0}catch{}return!1},C_="METHOD_CALLED",P_=.1;function _y(e,r){return{event:C_,eventSamplingRate:P_,payload:{method:e,...r}}}const A_="ClerkJS:";function I_(){throw new Error(`${A_} Clerk instance not found. Make sure Clerk is initialized before using any Clerk components.`)}var Gh=Object.prototype.hasOwnProperty;function Yh(e,r,o){for(o of e.keys())if(Yo(o,r))return o}function Yo(e,r){var o,s,a;if(e===r)return!0;
16if(e&&r&&(o=e.constructor)===r.constructor){if(o===Date)return e.getTime()===r.getTime();if(o===RegExp)return e.toString()===r.toString();if(o===Array){if((s=e.length)===r.length)for(;s--&&Yo(e[s],r[s]););return s===-1}if(o===Set){if(e.size!==r.size)return!1;for(s of e)if(a=s,a&&typeof a=="object"&&(a=Yh(r,a),!a)||!r.has(a))return!1;return!0}if(o===Map){if(e.size!==r.size)return!1;for(s of e)if(a=s[0],a&&typeof a=="object"&&(a=Yh(r,a),!a)||!Yo(s[1],r.get(a)))return!1;return!0}if(o===ArrayBuffer)e=new Uint8Array(e),r=new Uint8Array(r);else if(o===DataView){if((s=e.byteLength)===r.byteLength)for(;s--&&e.getInt8(s)===r.getInt8(s););return s===-1}if(ArrayBuffer.isView(e)){if((s=e.byteLength)===r.byteLength)for(;s--&&e[s]===r[s];);return s===-1}if(!o||typeof e=="object"){s=0;for(o in e)if(Gh.call(e,o)&&++s&&!Gh.call(r,o)||!(o in r)||!Yo(e[o],r[o]))return!1;return Object.keys(r).length===s}}return e!==e&&r!==r}function j_(e,r){if(!e)throw typeof r=="string"?new Error(r):new Error(`${r.displayName} not found`)}const to=(e,r)=>{const{assertCtxFn:o=j_}={},s=L.createContext(void 0);return s.displayName=e,[s,()=>{const f=L.useContext(s);return o(f,`${e} not found`),f.value},()=>{const f=L.useContext(s);return f?f.value:{}}]},[zu,ii]=to("ClerkInstanceContext"),[T_,R_]=to("InitialStateContext");function O_({children:e,initialState:r}){const[o]=v.useState(r),s=L.useMemo(()=>({value:o}),[o]);return L.createElement(T_.Provider,{value:s},e)}function Ey(){const e=R_();if(e instanceof Promise){if("use"in L&&typeof L.use=="function")return L.use(e);throw new Error("initialState cannot be a promise if React version is less than 19")}return e}L.createContext({});const[N_]=to("CheckoutContext"),L_=({children:e,...r})=>L.createElement(N_.Provider,{value:{value:r}},e);function Fu(e){if(!L.useContext(zu)){if(typeof e=="function"){e();return}throw new Error(`${e} can only be used within the <ClerkProvider /> component. 17 18Possible fixes: 191. Ensure that the <ClerkProvider /> is correctly wrapping your application where this component is used. 202. Check for multiple versions of the \`@clerk/shared\` package in your project. Use a tool like \`npm ls @clerk/shared\` to identify multiple versions, and update your dependencies to only rely on one. 21 22Learn more: https://clerk.com/docs/components/clerk-provider`.trim())}}function M_(e){const r=function(){};let o;return o=new Proxy(r,{get(s,a){if(a!=="then")return a==="toString"?()=>`[${e}]`:a===Symbol.toPrimitive?()=>0:o},apply(){return o},construct(){return o},has(){return!1},set(){return!1}}),o}M_("ClerkMockQueryClient");function D_(){const e=ii(),r=Ey(),o=v.useCallback(()=>r?.user,[r?.user]);return v.useSyncExternalStore(v.useCallback(s=>e.addListener(s,{skipInitialEmit:!0}),[e]),v.useCallback(()=>!e.loaded||!e.__internal_lastEmittedResources?o():e.__internal_lastEmittedResources.user,[e,o]),o)}const Cy=()=>(Fu("useClerk"),ii());typeof window<"u"?L.useLayoutEffect:L.useEffect;const Jh="useUser";function U_(){Fu(Jh);const e=D_();return ii().telemetry?.record(_y(Jh)),e===void 0?{isLoaded:!1,isSignedIn:void 0,user:void 0}:e===null?{isLoaded:!0,isSignedIn:!1,user:null}:{isLoaded:!0,isSignedIn:!0,user:e}}const Xh=Yo;function z_(e){e||I_()}function F_(e){const r=e.clerk;if(z_(r),e.initialState instanceof Promise&&!("use"in L&&typeof L.use=="function"))throw new Error("initialState cannot be a promise if React version is less than 19");const o=L.useMemo(()=>({value:r}),[e.clerkStatus]);return L.createElement(O_,{initialState:e.initialState},L.createElement(zu.Provider,{value:o},L.createElement(L_,{value:void 0},e.children)))}const B_=e=>{const r=v.useRef(e);return v.useEffect(()=>{r.current=e},[e]),r.current},xt=(e,r,o)=>{const s=!!o,a=v.useRef(o);v.useEffect(()=>{a.current=o},[o]),v.useEffect(()=>{if(!s||!e)return()=>{};const d=(...f)=>{a.current&&a.current(...f)};return e.on(r,d),()=>{e.off(r,d)}},[s,r,e,a])},Py=L.createContext(null);Py.displayName="ElementsContext";const $_=(e,r)=>{if(!e)throw new Error(`Could not find Elements context; You need to wrap the part of your app that ${r} in an <Elements> provider.`);return e},Vs=e=>e!==null&&typeof e=="object",q_=(e,r,o)=>Vs(e)?Object.keys(e).reduce((s,a)=>{const d=!Vs(r)||!Ay(e[a],r[a]);return o.includes(a)?(d&&console.warn(`Unsupported prop change: options.${a} is not a mutable property.`),s):d?{...s||{},[a]:e[a]}:s},null):null,Zh="[object Object]",Ay=(e,r)=>{if(!Vs(e)||!Vs(r))return e===r;const o=Array.isArray(e);if(o!==Array.isArray(r))return!1;const s=Object.prototype.toString.call(e)===Zh;if(s!==(Object.prototype.toString.call(r)===Zh))return!1;if(!s&&!o)return e===r;const a=Object.keys(e),d=Object.keys(r);if(a.length!==d.length)return!1;const f={};for(let b=0;b<a.length;b+=1)f[a[b]]=!0;for(let b=0;b<d.length;b+=1)f[d[b]]=!0;const h=Object.keys(f);if(h.length!==a.length)return!1;const m=e,y=r,w=b=>Ay(m[b],y[b]);return h.every(w)},em=e=>$_(L.useContext(Py),e),W_=e=>e.charAt(0).toUpperCase()+e.slice(1),H_=(e,r)=>{const o=`${W_(e)}Element`,d=r?f=>{em(`mounts <${o}>`);const{id:h,className:m}=f;return L.createElement("div",{id:h,className:m})}:({id:f,className:h,fallback:m,options:y={},onBlur:w,onFocus:b,onReady:k,onChange:P,onEscape:T,onClick:E,onLoadError:S,onLoaderStart:I,onNetworksChange:O,onConfirm:j,onCancel:D,onShippingAddressChange:F,onShippingRateChange:B})=>{const q=em(`mounts <${o}>`),X="elements"in q?q.elements:null,[Y,se]=L.useState(null),ce=L.useRef(null),te=L.useRef(null),[me,G]=v.useState(!1);xt(Y,"blur",w),xt(Y,"focus",b),xt(Y,"escape",T),xt(Y,"click",E),xt(Y,"loaderror",S),xt(Y,"loaderstart",I),xt(Y,"networksch
22ange",O),xt(Y,"confirm",j),xt(Y,"cancel",D),xt(Y,"shippingaddresschange",F),xt(Y,"shippingratechange",B),xt(Y,"change",P);let ye;k&&(ye=()=>{G(!0),k(Y)}),xt(Y,"ready",ye),L.useLayoutEffect(()=>{if(ce.current===null&&te.current!==null&&X){let ne=null;X&&(ne=X.create(e,y)),ce.current=ne,se(ne),ne&&ne.mount(te.current)}},[X,y]);const ae=B_(y);return L.useEffect(()=>{if(!ce.current)return;const ne=q_(y,ae,["paymentRequest"]);ne&&"update"in ce.current&&ce.current.update(ne)},[y,ae]),L.useLayoutEffect(()=>()=>{if(ce.current&&typeof ce.current.destroy=="function")try{ce.current.destroy(),ce.current=null}catch{}},[]),L.createElement(L.Fragment,null,!me&&m,L.createElement("div",{id:f,style:{height:me?"unset":"0px",visibility:me?"visible":"hidden"},className:h,ref:te}))};return d.displayName=o,d.__elementType=e,d};H_("payment",typeof window>"u");to("PaymentElementContext");to("StripeUtilsContext");const[NI,,V_]=to("PortalProvider"),Q_=()=>{const e=V_();return e&&"getContainer"in e&&e.getContainer?e.getContainer:()=>null},hn=by({packageName:"@clerk/react"});function K_(e){hn.setMessages(e).setPackageName(e)}const Iy=ii,jy=e=>{Fu(()=>{hn.throwMissingClerkProviderError({source:e})})};function Tc(e,r,o){if(typeof e=="function")return e(r);if(typeof e<"u")return e;if(typeof o<"u")return o}const ut=e=>{S_()&&console.error(`Clerk: ${e}`)},tm=(e,...r)=>{const o={...e};for(const s of r)delete o[s];return o};function Hr(){return typeof window<"u"}const G_="You've added multiple <ClerkProvider> components in your React component tree. Wrap your components in a single <ClerkProvider>.",Y_=e=>`You've passed multiple children components to <${e}/>. You can only pass a single child component or text.`,J_="Invalid state. Feel free to submit a bug or reach out to support here: https://clerk.com/contact/support",Rc="Unsupported usage of isSatellite, domain or proxyUrl. The usage of isSatellite, domain or proxyUrl as function is not supported in non-browser environments.",X_="<UserProfile.Page /> component needs to be a direct child of `<UserProfile />` or `<UserButton />`.",Z_="<UserProfile.Link /> component needs to be a direct child of `<UserProfile />` or `<UserButton />`.",eE="<OrganizationProfile.Page /> component needs to be a direct child of `<OrganizationProfile />` or `<OrganizationSwitcher />`.",tE="<OrganizationProfile.Link /> component needs to be a direct child of `<OrganizationProfile />` or `<OrganizationSwitcher />`.",nE=e=>`<${e} /> can only accept <${e}.Page /> and <${e}.Link /> as its children. Any other provided component will be ignored. Additionally, please ensure that the component is rendered in a client component.`,rE=e=>`Missing props. <${e}.Page /> component requires the following props: url, label, labelIcon, alongside with children to be rendered inside the page.`,oE=e=>`Missing props. <${e}.Link /> component requires the following props: url, label and labelIcon.`,iE="<UserButton /> can only accept <UserButton.UserProfilePage />, <UserButton.UserProfileLink /> and <UserButton.MenuItems /> as its children. Any other provided component will be ignored. Additionally, please ensure that the component is rendered in a client component.",sE="<UserButton.MenuItems /> component can only accept <UserButton.Action /> and <UserButton.Link /> as its children. Any other provided component will be ignored. Additionally, please ensure that the component is rendered in a client component.",aE="<UserButton.MenuItems /> component needs to be a direct child of `<UserButton />`.",lE="<UserButton.Action /> component needs to be a direct child of `<UserButton.MenuItems />`.",cE="<UserButton.Link /> component needs to be a direct child of `<UserButton.MenuItems />`.",uE="Missing props. <UserButton.Link /> component requires the following props: href, label and labelIcon.",dE="Missing props. <UserButton.Action /> component requires the following props: label.",si=e=>r=>{try{return L.Children.only(e)}catch{const o=L.Children.toArray(e);return o.length===1&&L.isValidElement(o[0])?o[0]:hn.throw(Y_(r))}},ai=(e,r)=>(e||(e=r),typeof e=="string"&&(e=L.createElement("button",null,e)),e),li=e=>(...r)=>{if(e&&typeof e=="function")return e(...r)},pE=e=>Kh(`VITE_${e}`)||Kh(e),fE=(e,r)=>e!==void 0?e:pE(r)||void 0,hE=e=>{const r=fE(e.publishableKey,"CLERK_PUBLISHABLE_KEY");return{...e,...r!==void 0&&{publishableKey:r}}};function nm(e){return typeof e=="function"}const Jo=e=>{const[r,o]=v.useState(new Map),s=v.useRef(r),a=v.useRef(new Map),d=v.useRef(new Map);
22s.current=r,a.current=new Map(e.map(h=>[h.id,h.component]));const f=new Set(e.map(h=>h.id));return d.current.forEach((h,m)=>{f.has(m)||d.current.delete(m)}),e.map(h=>{const m=h.id,y=d.current.get(m);if(y)return y;const w=()=>{const k=s.current.get(m),P=a.current.get(m);return k?Jr.createPortal(P,k):null},b={id:h.id,mount:k=>o(P=>new Map(P).set(m,k)),unmount:()=>o(k=>{const P=new Map(k);return P.set(m,null),P}),portal:w};return d.current.set(m,b),b})},lt=(e,r)=>!!e&&L.isValidElement(e)&&e?.type===r,Ty=(e,r)=>Ny({children:e,reorderItemsLabels:["account","security","billing","apiKeys"],LinkComponent:ui,PageComponent:ci,MenuItemsComponent:fa,componentName:"UserProfile"},r),Ry=(e,r)=>Ny({children:e,reorderItemsLabels:["general","members","billing","apiKeys"],LinkComponent:ma,PageComponent:ha,componentName:"OrganizationProfile"},r),Oy=e=>{const r=[],o=[ma,ha,fa,ci,ui];return L.Children.forEach(e,s=>{o.some(a=>lt(s,a))||r.push(s)}),r},Ny=(e,r)=>{const{children:o,LinkComponent:s,PageComponent:a,MenuItemsComponent:d,reorderItemsLabels:f,componentName:h}=e,{allowForAnyChildren:m=!1}=r||{},y=[],w=new Map;L.Children.forEach(o,j=>{if(!lt(j,a)&&!lt(j,s)&&!lt(j,d)){j&&!m&&ut(nE(h));return}const{props:D}=j,{children:F,label:B,url:q,labelIcon:X}=D,Y=j.key;if(lt(j,a))if(om(D,f))y.push({label:B});else if(Oc(D))y.push({label:B,labelIcon:X,children:F,url:q,portalId:rm("page",D,Y,w)});else{ut(rE(h));return}if(lt(j,s))if(Nc(D))y.push({label:B,labelIcon:X,url:q,portalId:rm("link",D,Y,w)});else{ut(oE(h));return}});const b=[],k=[],P=[];y.forEach((j,D)=>{if(Oc(j)){b.push({component:j.children,id:j.portalId||D}),k.push({component:j.labelIcon,id:j.portalId||D});return}Nc(j)&&P.push({component:j.labelIcon,id:j.portalId||D})});const T=Jo(b),E=Jo(k),S=Jo(P),I=[],O=[];return y.forEach((j,D)=>{if(om(j,f)){I.push({label:j.label});return}if(Oc(j)){const{portal:F,mount:B,unmount:q}=T.find(ce=>ce.id===(j.portalId||D)),{portal:X,mount:Y,unmount:se}=E.find(ce=>ce.id===(j.portalId||D));I.push({label:j.label,url:j.url,mount:B,unmount:q,mountIcon:Y,unmountIcon:se}),O.push({key:`content:${j.portalId||D}`,portal:F}),O.push({key:`label:${j.portalId||D}`,portal:X});return}if(Nc(j)){const{portal:F,mount:B,unmount:q}=S.find(X=>X.id===(j.portalId||D));I.push({label:j.label,url:j.url,mountIcon:B,unmountIcon:q}),O.push({key:`label:${j.portalId||D}`,portal:F});return}}),{customPages:I,customPagesPortals:O}},rm=(e,r,o,s)=>{if(o!=null)return`${e}:key:${o}`;const a=`${e}:${r.label}:${r.url}`,d=s.get(a)??0;return s.set(a,d+1),`${a}:${d}`},om=(e,r)=>{const{children:o,label:s,url:a,labelIcon:d}=e;return!o&&!a&&!d&&r.some(f=>f===s)},Oc=e=>{const{children:r,label:o,url:s,labelIcon:a}=e;return!!r&&!!s&&!!a&&!!o},Nc=e=>{const{children:r,label:o,url:s,labelIcon:a}=e;return!r&&!!s&&!!a&&!!o},mE=(e,r)=>gE({children:e,reorderItemsLabels:["manageAccount","signOut"],MenuItemsComponent:fa,MenuActionComponent:My,MenuLinkComponent:Dy,UserProfileLinkComponent:ui,UserProfilePageComponent:ci,allowForAnyChildren:r?.allowForAnyChildren??!1}),gE=({children:e,MenuItemsComponent:r,MenuActionComponent:o,MenuLinkComponent:s,UserProfileLinkComponent:a,UserProfilePageComponent:d,reorderItemsLabels:f,allowForAnyChildren:h=!1})=>{const m=[],y=[],w=[],b=new Map;L.Children.forEach(e,S=>
22{if(!lt(S,r)&&!lt(S,a)&&!lt(S,d)){S&&!h&&ut(iE);return}if(lt(S,a)||lt(S,d))return;const{props:I}=S;L.Children.forEach(I.children,O=>{if(!lt(O,o)&&!lt(O,s)){O&&ut(sE);return}const{props:j}=O,D=O.key,{label:F,labelIcon:B,href:q,onClick:X,open:Y}=j;if(lt(O,o))if(im(j,f))m.push({label:F});else if(Mc(j)){const se={label:F,labelIcon:B};if(X!==void 0)m.push({...se,onClick:X,portalId:Lc("action",j,D,b)});else if(Y!==void 0)m.push({...se,open:Y.startsWith("/")?Y:`/${Y}`,portalId:Lc("action",j,D,b)});else{ut("Custom menu item must have either onClick or open property");return}}else{ut(dE);return}if(lt(O,s))if(Dc(j))m.push({label:F,labelIcon:B,href:q,portalId:Lc("link",j,D,b)});else{ut(uE);return}})});const k=[],P=[];m.forEach((S,I)=>{Mc(S)&&k.push({component:S.labelIcon,id:S.portalId||I}),Dc(S)&&P.push({component:S.labelIcon,id:S.portalId||I})});const T=Jo(k),E=Jo(P);return m.forEach((S,I)=>{if(im(S,f)&&y.push({label:S.label}),Mc(S)){const{portal:O,mount:j,unmount:D}=T.find(B=>B.id===(S.portalId||I)),F={label:S.label,mountIcon:j,unmountIcon:D};"onClick"in S?F.onClick=S.onClick:"open"in S&&(F.open=S.open),y.push(F),w.push({key:`icon:${S.portalId||I}`,portal:O})}if(Dc(S)){const{portal:O,mount:j,unmount:D}=E.find(F=>F.id===(S.portalId||I));y.push({label:S.label,href:S.href,mountIcon:j,unmountIcon:D}),w.push({key:`icon:${S.portalId||I}`,portal:O})}}),{customMenuItems:y,customMenuItemsPortals:w}},Lc=(e,r,o,s)=>{if(o!=null)return`${e}:key:${o}`;const a=r.href||r.open||"",d=`${e}:${r.label}:${a}`,f=s.get(d)??0;return s.set(d,f+1),`${d}:${f}`},im=(e,r)=>{const{children:o,label:s,onClick:a,labelIcon:d}=e;return!o&&!a&&!d&&r.some(f=>f===s)},Mc=e=>{const{label:r,labelIcon:o,onClick:s,open:a}=e;return!!o&&!!r&&(typeof s=="function"||typeof a=="string")},Dc=e=>{const{label:r,href:o,labelIcon:s}=e;return!!o&&!!s&&!!r},yE=e=>{const r=e?.isReady;return o=>new Promise((s,a)=>{const{root:d=document?.body,selector:f,timeout:h=0}=o;if(!d){a(new Error("No root element provided"));return}let m=d;if(f&&(m=d?.querySelector(f)),r(m,f)){s();return}const y=new MutationObserver(w=>{for(const b of w)if(!m&&f&&(m=d?.querySelector(f)),(e.childList&&b.type==="childList"||e.attributes&&b.type==="attributes")&&r(m,f)){y.disconnect(),s();return}});y.observe(d,e),h>0&&setTimeout(()=>{y.disconnect(),a(new Error(`Timeout waiting for ${f}`))},h)})},vE=yE({childList:!0,subtree:!0,isReady:(e,r)=>!!e?.childElementCount&&e?.matches?.(r)&&e.childElementCount>0});function Ze(e,r){const o=v.useRef(),[s,a]=v.useState("rendering");return v.useEffect(()=>{if(!e)throw new Error("Clerk: no component name provided, unable to detect mount.");if(typeof window<"u"&&!o.current){const d=`[data-clerk-component="${e}"]`,f=r?.selector;o.current=vE({selector:f?d+f:d}).then(()=>{a("rendered")}).catch(()=>{a("error")})}},[e,r?.selector]),s}const Is=e=>"mount"in e,sm=e=>"open"in e,am=e=>e?.map(({mountIcon:r,unmountIcon:o,...s})=>s);var Ve=class extends L.PureComponent{constructor(...e){super(...e),this.rootRef=L.createRef()}componentDidUpdate(e){if(!Is(e)||!Is(this.props))return;const r=tm(e.props||{},"customPages","customMenuItems","children"),o=tm(this.props.props||{},"customPages","customMenuItems","children"),s=e.props?.customPages?.length!==this.props.props?.customPages?.length,a=e.props?.customMenuItems?.length!==this.props.props?.customMenuItems?.length,d=am(e.props?.customMenuItems),f=am(this.props.props?.customMenuItems);(!Xh(r,o)||!Xh(d,f)||s||a)&&this.rootRef.current&&this.props.updateProps({node:this.rootRef.current,props:this.props.props})}componentDidMount(){this.rootRef.current&&(Is(this.props)&&this.props.mount(this.rootRef.current,this.props.props),sm(this.props)&&this.props.open(this.props.props))}componentWillUnmount(){this.rootRef.current&&(Is(this.props)&&this.props.unmount(this.rootRef.current),sm(this.props)&&this.props.close())}render(){const{hideRootHtmlElement:e=!1}=this.props,r={ref:this.rootRef,...this.props.rootProps,...this.props.component&&{"data-clerk-component":this.props.component}};return L.createElement(L.Fragment,null,!e&&L.createElement("div",r),this.props.children)}};const Ie=(e,r)=>{const o=(typeof r=="string"?r:r?.component)||e.displayName||e.name||"Component";e.displayName=o;const s=typeof r=="string"?void 0:r,a=d=>{jy(o||"withClerk");const f=Iy(),h=Q_();return!f.loaded&&!s?.renderWhileLoading?null:L.createElement(e,{getContainer:h,...d,component:o,clerk:f})};return a.displayName=`withClerk(${o})`,a},pa=e=>L.createElement(L.Fragment,null,e?.customPagesPortals?.map(({key:r,portal:o})=>v.createElement(o,{key:r})),e?.customMenuItemsPortals?.map(({key:r,portal:o})=>v.createElement(o,{key:r}))),wE=Ie(({clerk:e,component:r,fallback:o,...s})=>{const a=Ze(r)==="rendering"||!e.loaded,d={...a&&o&&{style:{display:"none"}}};return L.createElement(L.Fragment,null,a&&o,e.loaded&&L.createElement(Ve,{c
22omponent:r,mount:e.mountSignIn,unmount:e.unmountSignIn,updateProps:e.__internal_updateProps,props:s,rootProps:d}))},{component:"SignIn",renderWhileLoading:!0}),bE=Ie(({clerk:e,component:r,fallback:o,...s})=>{const a=Ze(r)==="rendering"||!e.loaded,d={...a&&o&&{style:{display:"none"}}};return L.createElement(L.Fragment,null,a&&o,e.loaded&&L.createElement(Ve,{component:r,mount:e.mountSignUp,unmount:e.unmountSignUp,updateProps:e.__internal_updateProps,props:s,rootProps:d}))},{component:"SignUp",renderWhileLoading:!0});function ci({children:e}){return ut(X_),L.createElement(L.Fragment,null,e)}function ui({children:e}){return ut(Z_),L.createElement(L.Fragment,null,e)}const kE=Ie(({clerk:e,component:r,fallback:o,...s})=>{const a=Ze(r)==="rendering"||!e.loaded,d={...a&&o&&{style:{display:"none"}}},{customPages:f,customPagesPortals:h}=Ty(s.children);return L.createElement(L.Fragment,null,a&&o,L.createElement(Ve,{component:r,mount:e.mountUserProfile,unmount:e.unmountUserProfile,updateProps:e.__internal_updateProps,props:{...s,customPages:f},rootProps:d},L.createElement(pa,{customPagesPortals:h})))},{component:"UserProfile",renderWhileLoading:!0});Object.assign(kE,{Page:ci,Link:ui});const Ly=v.createContext({mount:()=>{},unmount:()=>{},updateProps:()=>{}}),xE=Ie(({clerk:e,component:r,fallback:o,...s})=>{const a=Ze(r)==="rendering"||!e.loaded,d={...a&&o&&{style:{display:"none"}}},{customPages:f,customPagesPortals:h}=Ty(s.children,{allowForAnyChildren:!!s.__experimental_asProvider}),m={...s.userProfileProps,customPages:f},{customMenuItems:y,customMenuItemsPortals:w}=mE(s.children,{allowForAnyChildren:!!s.__experimental_asProvider}),b=Oy(s.children),k={mount:e.mountUserButton,unmount:e.unmountUserButton,updateProps:e.__internal_updateProps,props:{...s,userProfileProps:m,customMenuItems:y}},P={customPagesPortals:h,customMenuItemsPortals:w};return L.createElement(Ly.Provider,{value:k},a&&o,e.loaded&&L.createElement(Ve,{component:r,...k,hideRootHtmlElement:!!s.__experimental_asProvider,rootProps:d},s.__experimental_asProvider?b:null,L.createElement(pa,P)))},{component:"UserButton",renderWhileLoading:!0});function fa({children:e}){return ut(aE),L.createElement(L.Fragment,null,e)}function My({children:e}){return ut(lE),L.createElement(L.Fragment,null,e)}function Dy({children:e}){return ut(cE),L.createElement(L.Fragment,null,e)}function SE(e){const r=v.useContext(Ly),o={...r,props:{...r.props,...e}};return L.createElement(Ve,o)}Object.assign(xE,{UserProfilePage:ci,UserProfileLink:ui,MenuItems:fa,Action:My,Link:Dy,__experimental_Outlet:SE});function ha({children:e}){return ut(eE),L.createElement(L.Fragment,null,e)}function ma({children:e}){return ut(tE),L.createElement(L.Fragment,null,e)}const _E=Ie(({clerk:e,component:r,fallback:o,...s})=>{const a=Ze(r)==="rendering"||!e.loaded,d={...a&&o&&{style:{display:"none"}}},{customPages:f,customPagesPortals:h}=Ry(s.children);return L.createElement(L.Fragment,null,a&&o,e.loaded&&L.createElement(Ve,{component:r,mount:e.mountOrganizationProfile,unmount:e.unmountOrganizationProfile,updateProps:e.__internal_updateProps,props:{...s,customPages:f},rootProps:d},L.createElement(pa,{customPagesPortals:h})))},{component:"OrganizationProfile",renderWhileLoading:!0});Object.assign(_E,{Page:ha,Link:ma});Ie(({clerk:e,component:r,fallback:o,...s})=>{const a=Ze(r)==="rendering"||!e.loaded,d={...a&&o&&{style:{display:"none"}}};return L.createElement(L.Fragment,null,a&&o,e.loaded&&L.createElement(Ve,{component:r,mount:e.mountCreateOrganization,unmount:e.unmountCreateOrganization,updateProps:e.__internal_updateProps,props:s,rootProps:d}))},{component:"CreateOrganization",renderWhileLoading:!0});const Uy=v.createContext({mount:()=>{},unmount:()=>{},updateProps:()=>{}}),EE=Ie(({clerk:e,component:r,fallback:o,...s})=>{const a=Ze(r)==="rendering"||!e.loaded,d={...a&&o&&{style:{display:"none"}}},{customPages:f,customPagesPortals:h}=Ry(s.children,{allowForAnyChildren:!!s.__experimental_asProvider}),m={...s.organizationProfileProps,customPages:f},y=Oy(s.children),w={mount:e.mountOrganizationSwitcher,unmount:e.unmountOrganizationSwitcher,updateProps:e.__internal_updateProps,props:{...s,organizationProfileProps:m},rootProps:d,component:r};return e.__experimental_prefetchOrganizationSwitcher(),L.createElement(Uy.Provider,{value:w},L.createElement(L.Fragment,null,a&&o,e.loaded&&L.createElement(Ve,{...w,hideRootHtmlElement:!!s.__experimental_asProvider},s.__experimental_asProvider?y:null,L.createElement(pa,{customPagesPortals:h}))))},{component:"OrganizationSwitcher",renderWhileLoading:!0});function CE(e){const r=v.useContext(Uy),o={...r,props:{...r.props,...e}};return L.createElement(Ve,o)}Object.assign(EE,{OrganizationProfilePage:ha,OrganizationProfileLink:ma,__experimental_Outlet:CE});Ie(({clerk:e,component:r,fallback:o,...s})=>{const a=Ze(r)==="rendering"||!e.loaded,d={...a&&o&&{style:{display:"none"}}};return L.createElement(L.Fragment,null,a&&o,e.loaded&&L.createElement(Ve,{c
22omponent:r,mount:e.mountOrganizationList,unmount:e.unmountOrganizationList,updateProps:e.__internal_updateProps,props:s,rootProps:d}))},{component:"OrganizationList",renderWhileLoading:!0});Ie(({clerk:e,component:r,fallback:o,...s})=>{const a=Ze(r)==="rendering"||!e.loaded,d={...a&&o&&{style:{display:"none"}}};return L.createElement(L.Fragment,null,a&&o,e.loaded&&L.createElement(Ve,{component:r,open:e.openGoogleOneTap,close:e.closeGoogleOneTap,updateProps:e.__internal_updateProps,props:s,rootProps:d}))},{component:"GoogleOneTap",renderWhileLoading:!0});Ie(({clerk:e,component:r,fallback:o,...s})=>{const a=Ze(r)==="rendering"||!e.loaded,d={...a&&o&&{style:{display:"none"}}};return L.createElement(L.Fragment,null,a&&o,e.loaded&&L.createElement(Ve,{component:r,mount:e.mountWaitlist,unmount:e.unmountWaitlist,updateProps:e.__internal_updateProps,props:s,rootProps:d}))},{component:"Waitlist",renderWhileLoading:!0});Ie(({clerk:e,component:r,fallback:o,...s})=>{const a=Ze(r,{selector:'[data-component-status="ready"]'})==="rendering"||!e.loaded,d={...a&&o&&{style:{display:"none"}}};return L.createElement(L.Fragment,null,a&&o,e.loaded&&L.createElement(Ve,{component:r,mount:e.mountPricingTable,unmount:e.unmountPricingTable,updateProps:e.__internal_updateProps,props:s,rootProps:d}))},{component:"PricingTable",renderWhileLoading:!0});Ie(({clerk:e,component:r,fallback:o,...s})=>{const a=Ze(r)==="rendering"||!e.loaded,d={...a&&o&&{style:{display:"none"}}};return L.createElement(L.Fragment,null,a&&o,e.loaded&&L.createElement(Ve,{component:r,mount:e.mountAPIKeys,unmount:e.unmountAPIKeys,updateProps:e.__internal_updateProps,props:s,rootProps:d}))},{component:"ApiKeys",renderWhileLoading:!0});Ie(({clerk:e,component:r,fallback:o,...s})=>{const a=Ze(r)==="rendering"||!e.loaded,d={...a&&o&&{style:{display:"none"}}};return L.createElement(L.Fragment,null,a&&o,e.loaded&&L.createElement(Ve,{component:r,mount:e.__internal_mountOAuthConsent,unmount:e.__internal_unmountOAuthConsent,updateProps:e.__internal_updateProps,props:s,rootProps:d}))},{component:"OAuthConsent",renderWhileLoading:!0});Ie(({clerk:e,component:r,fallback:o,...s})=>{const a=Ze(r)==="rendering"||!e.loaded,d={...a&&o&&{style:{display:"none"}}};return L.createElement(L.Fragment,null,a&&o,e.loaded&&L.createElement(Ve,{component:r,mount:e.mountUserAvatar,unmount:e.unmountUserAvatar,updateProps:e.__internal_updateProps,props:s,rootProps:d}))},{component:"UserAvatar",renderWhileLoading:!0});Ie(({clerk:e,component:r,fallback:o,...s})=>{const a=Ze(r)==="rendering"||!e.loaded,d={...a&&o&&{style:{display:"none"}}};return L.createElement(L.Fragment,null,a&&o,e.loaded&&L.createElement(Ve,{component:r,mount:e.mountTaskChooseOrganization,unmount:e.unmountTaskChooseOrganization,updateProps:e.__internal_updateProps,props:s,rootProps:d}))},{component:"TaskChooseOrganization",renderWhileLoading:!0});Ie(({clerk:e,component:r,fallback:o,...s})=>{const a=Ze(r)==="rendering"||!e.loaded,d={...a&&o&&{style:{display:"none"}}};return L.createElement(L.Fragment,null,a&&o,e.loaded&&L.createElement(Ve,{component:r,mount:e.mountTaskResetPassword,unmount:e.unmountTaskResetPassword,updateProps:e.__internal_updateProps,props:s,rootProps:d}))},{component:"TaskResetPassword",renderWhileLoading:!0});Ie(({clerk:e,component:r,fallback:o,...s})=>{const a=Ze(r)==="rendering"||!e.loaded,d={...a&&o&&{style:{display:"none"}}};return L.createElement(L.Fragment,null,a&&o,e.loaded&&L.createElement(Ve,{component:r,mount:e.mountTaskSetupMFA,unmount:e.unmountTaskSetupMFA,updateProps:e.__internal_updateProps,props:s,rootProps:d}))},{component:"TaskSetupMFA",renderWhileLoading:!0});const PE={actor:void 0,factorVerificationAge:null,orgId:void 0,orgPermissions:void 0,orgRole:void 0,orgSlug:void 0,sessionClaims:void 0,sessionId:void 0,sessionStatus:void 0,userId:void 0};function AE(){const e=ii(),r=Ey(),o=v.useCallback(()=>r,[r]),s=v.useSyncExternalStore(v.useCallback(a=>e.addListener(a,{skipInitialEmit:!0}),[e]),v.useCallback(()=>!e.loaded||!e.__internal_lastEmittedResources?o():e.__internal_lastEmittedResources,[e,o]),o);return v.useMemo(()=>s?IE(jE(s)?Vh(!1,{},s):Vh(!0,s,void 0)):PE,[s])}function IE(e){return{sessionId:e.sessionId,sessionStatus:e.sessionStatus,sessionClaims:e.sessionClaims,userId:e.userId,actor:e.actor,orgId:e.orgId,orgRole:e.orgRole,orgSlug:e.orgSlug,orgPermissions:e.orgPermissions,factorVerificationAge:e.factorVerificationAge}}function jE(e){return!("client"in e)}const zy=e=>
22new Promise(r=>{const o=s=>{["ready","degraded"].includes(s)&&(r(),e.off("status",o))};e.on("status",o,{notify:!0})}),TE=e=>async r=>{if(!Hr())throw new Uu("useAuth().getToken() can only be used in browser environments. To access auth data server-side, see the Auth object reference doc: https://clerk.com/docs/reference/backend/types/auth-object",{code:"clerk_runtime_not_browser"});return await zy(e),e.session?e.session.getToken(r):null},RE=e=>async(...r)=>(await zy(e),e.signOut(...r)),OE=(e={})=>{jy("useAuth");const{treatPendingAsSignedOut:r}=e??{},o=AE(),s=Iy(),a=v.useCallback(TE(s),[s]),d=v.useCallback(RE(s),[s]);return s.telemetry?.record(_y("useAuth",{treatPendingAsSignedOut:r})),NE({...o,getToken:a,signOut:d},{treatPendingAsSignedOut:r})};function NE(e,{treatPendingAsSignedOut:r=!0}={}){const{userId:o,orgId:s,orgRole:a,has:d,signOut:f,getToken:h,orgPermissions:m,factorVerificationAge:y,sessionClaims:w}=e??{},b=v.useCallback(P=>d?d(P):g_({userId:o,orgId:s,orgRole:a,orgPermissions:m,factorVerificationAge:y,features:w?.fea||"",plans:w?.pla||""})(P),[d,o,s,a,m,y,w]),k=y_({authObject:{...e,getToken:h,signOut:f,has:b},options:{treatPendingAsSignedOut:r}});return k||hn.throw(J_)}const LE={initialDelay:125,maxDelayBetweenRetries:0,factor:2,shouldRetry:(e,r)=>r<5,retryImmediately:!1,jitter:!0},ME=100,Fy=async e=>new Promise(r=>setTimeout(r,e)),By=(e,r)=>r?e*(1+Math.random()):e,DE=e=>{let r=0;const o=()=>{const s=e.initialDelay,a=e.factor;let d=s*Math.pow(a,r);return d=By(d,e.jitter),Math.min(e.maxDelayBetweenRetries||d,d)};return async()=>{await Fy(o()),r++}},UE=async(e,r={})=>{let o=0;const{shouldRetry:s,initialDelay:a,maxDelayBetweenRetries:d,factor:f,retryImmediately:h,jitter:m,onBeforeRetry:y}={...LE,...r},w=DE({initialDelay:a,maxDelayBetweenRetries:d,factor:f,jitter:m});for(;;)try{return await e()}catch(b){if(o++,!s(b,o))throw b;y&&await y(o),h&&o===1?await Fy(By(ME,m)):await w()}},zE="loadScript cannot be called when document does not exist",FE="loadScript cannot be called without a src";async function $y(e="",r){const{async:o,defer:s,beforeLoad:a,crossOrigin:d,nonce:f}=r||{};return UE(()=>new Promise((m,y)=>{e||y(new Error(FE)),(!document||!document.body)&&y(new Error(zE));const w=document.createElement("script");d&&w.setAttribute("crossorigin",d),w.async=o||!1,w.defer=s||!1,w.addEventListener("load",()=>{w.remove(),m(w)}),w.addEventListener("error",b=>{w.remove(),y(b.error??new Error(`failed to load script: ${e}`))}),w.src=e,f&&(w.nonce=f),a?.(w),document.body.appendChild(w)}),{shouldRetry:(m,y)=>y<=5})}function BE(e){return e?$E(e)||di(e):!0}function $E(e){return/^http(s)?:\/\//.test(e||"")}function di(e){return e.startsWith("/")}function qE(e){return e?!di(e)||typeof window>"u"||!window.location?.origin?e:new URL(e,window.location.origin).toString():""}function WE(e){if(!e)return"";let r;if(e.match(/^(clerk\.)+\w*$/))r=/(clerk\.)*(?=clerk\.)/;else{if(e.match(/\.clerk.accounts/))return e;r=/^(clerk\.)*/gi}return`clerk.${e.replace(r,"")}`}const qy=(e,r="6.30.1")=>{if(e)return e;const o=HE(r);return o?o==="snapshot"?r:o:VE(r)},HE=e=>e.trim().replace(/^v/,"").match(/-(.+?)(\.|$)/)?.[1],VE=e=>e.trim().replace(/^v/,"").split(".")[0],{isDevOrStagingUrl:QE}=x_(),Bu=by({packageName:"@clerk/shared"});function Wy(e){return typeof window>"u"||!window[e]?!1:!!window[e]}const Uc=()=>Wy("Clerk"),zc=()=>Wy("__internal_ClerkUICtor");function Hy(e){if(typeof window>"u"||!window.performance)return!1;const r=performance.getEntriesByName(e,"resource");if(r.length===0)return!1;const o=r[r.length-1];return o.transferSize===0&&o.decodedBodySize===0&&(o.responseEnd===0||o.responseEnd>0&&o.responseStart>0||"responseStatus"in o&&(o.responseStatus>=400||o.responseStatus===0))}const KE=async e=>{const r=e?.scriptLoadTimeout??15e3,o=f=>new Uu("Failed to load Clerk JS"+(f?.message?`, ${f.message}`:""),{code:"failed_to_load_clerk_js",cause:f});if(Uc())return null;if(!e?.publishableKey)return Bu.throwMissingPublishableKeyError(),null;const s=YE(e),a=document.querySelector("script[data-clerk-js-script]");if(a)if(Hy(s))a.remove();else try{return await Qs(r,Uc,o(),a),null}catch{a.remove()}const d=Qs(r,Uc,o());return $y(s,{async:!0,crossOrigin:"anonymous",nonce:e.nonce,beforeLoad:Qy(Vy(e))}).catch(f=>{throw o(f)}),d},GE=async e=>{const r=e?.scriptLoadTimeout??15e3,o=f=>new Uu("Failed to load Clerk UI"+(f?.message?`, ${f.message}`:""),{code:"failed_to_load_clerk_ui",cause:f});if(zc())return null;if(!e?.publishableKey)return Bu.throwMissingPublishableKeyError(),null;const s=JE(e),a=document.querySelector("script[data-clerk-ui-script]");if(a)if(Hy(s))a.remove();else try{return await Qs(r,zc,o(),a),null}catch{a.remove()}const d=Qs(r,zc,o());return $y(s,{async:!0,crossOrigin:"anonymous",nonce:e.nonce,beforeLoad:Qy(XE(e))}).catch(f=>{throw o(f)}),d},YE=e=>{const{__internal_clerkJSUrl:r,__internal_clerkJSVersion:o,proxyUrl:s,domain:a,publishableKey:d}=e;if(r)return r;const f=qy(o);return s&&di(s)?Ky(s,"clerk-js",f,"clerk.browser.js"):`https://${Gy({publishableKey:d,proxyUrl:s,domain:a})}/npm/@clerk/clerk-js@${f}/dist/clerk.browser.js`},JE=e=>{const{__internal_clerkUIUrl:r,__internal_clerkUIVersion:o,proxyUrl:s,domain:a,publishableKey:d}=e;if(r)return r;const f=qy(o,"1.30.8");return s&&di(s)?Ky(s,"ui",f,"ui.browser.js"):`https://${Gy({publishableKey:d,proxyUrl:s,domain:a})}/npm/@clerk/ui@${f}/dist/ui.browser.js`},Vy=e=>{const r={};return e.publishableKey&&(r["data-clerk-publishable-key"]=e.publishableKey),e.proxyUrl&&(r["data-clerk-proxy-url"]=e.proxyUrl),e.domain&&(r["data-clerk-domain"]=e.domain),e.nonce&&(r.nonce=e.nonce),r},XE=e=>Vy(e),Qy=e=>r=>
22{for(const o in e)r.setAttribute(o,e[o])},ZE=e=>{for(;e.endsWith("/");)e=e.slice(0,-1);return e},Ky=(e,r,o,s)=>`${ZE(e)}/npm/@clerk/${r}@${o}/dist/${s}`,Gy=e=>{const{proxyUrl:r,domain:o,publishableKey:s}=e;if(r&&BE(r)){const a=qE(r);return di(a)?Ac(s)?.frontendApi||"":a.replace(/http(s)?:\/\//,"")}else return o&&!QE(Ac(s)?.frontendApi||"")?WE(o):Ac(s)?.frontendApi||""};function Qs(e,r,o,s){return new Promise((a,d)=>{let f=!1;const h=(k,P)=>{clearTimeout(k),clearInterval(P)};s?.addEventListener("error",()=>{h(w,b),d(o)});const m=()=>{f||r()&&(f=!0,h(w,b),a(null))},w=setTimeout(()=>{f||(f=!0,h(w,b),r()?a(null):d(o))},e);m();const b=setInterval(()=>{if(f){clearInterval(b);return}m()},100)})}function eC(e){Bu.setPackageName({packageName:e})}const lm=new Set,ga=(e,r,o)=>{const s=__()||E_(),a=e;lm.has(a)||s||(lm.add(a),console.warn(`Clerk - DEPRECATION WARNING: "${e}" is deprecated and will be removed in the next major release. 23${r}`))},cm=(e,r,o,s,a)=>{const{notify:d}=a||{};let f=e.get(o);f||(f=[],e.set(o,f)),f.push(s),d&&r.has(o)&&s(r.get(o))},um=(e,r,o)=>(e.get(r)||[]).map(s=>s(o)),dm=(e,r,o)=>{const s=e.get(r);s&&(o?s.splice(s.indexOf(o)>>>0,1):e.set(r,[]))},tC=()=>{const e=new Map,r=new Map,o=new Map;return{on:(...a)=>cm(e,r,...a),prioritizedOn:(...a)=>cm(o,r,...a),emit:(a,d)=>{r.set(a,d),um(o,a,d),um(e,a,d)},off:(...a)=>dm(e,...a),prioritizedOff:(...a)=>dm(o,...a),internal:{retrieveListeners:a=>e.get(a)||[]}}},zr={Status:"status"},nC=()=>tC(),rC="clerk:beforeunload",cu=["http:","https:","wails:","chrome-extension:"],oC=/^[/\\][/\\]/;function iC(e){let r=0;for(;r<e.length&&e.charCodeAt(r)<=32;)r++;let o="";for(let s=r;s<e.length;s++){const a=e.charCodeAt(s);a!==9&&a!==10&&a!==13&&(o+=e[s])}return o}function sC(e,r){if(typeof e=="string"&&oC.test(iC(e))){console.warn(`Clerk: scheme-relative navigation to "${e}" is not allowed. Provide a same-origin path or an absolute URL.`);return}const o=new URL(e,window.location.href);if(!(r?.allowedProtocols??cu).includes(o.protocol)){console.warn(`Clerk: "${o.protocol}" is not a valid navigation protocol. Aborting navigation. If you think this is a mistake, please open an issue.`);return}window.dispatchEvent(new CustomEvent(rC)),window.location.href=o.href}function aC(e){const r=e.match(/^(\d+)\.(\d+)\.(\d+)/);if(!r)return null;const[,o,s,a]=r;return{major:parseInt(o,10),minor:parseInt(s,10),patch:parseInt(a,10)}}function lC(e,r){const{major:o,minor:s,patch:a}=e;return r.some(([d,f,h,m])=>o!==d?!1:h===-1?s>f||s===f&&a>=m:s===h&&a>=m)}function cC(e,r){const o=aC(e);return o?lC(o,r):!1}Ie(({clerk:e,...r})=>{const{client:o,session:s}=e,a=(o.signedInSessions?.length??0)>0;return L.useEffect(()=>{s===null&&a?e.redirectToAfterSignOut():e.redirectToSignIn(r)},[]),null},"RedirectToSignIn");Ie(({clerk:e,...r})=>(L.useEffect(()=>{e.redirectToSignUp(r)},[]),null),"RedirectToSignUp");Ie(({clerk:e,...r})=>(L.useEffect(()=>{e.redirectToTasks(r)},[]),null),"RedirectToTasks");Ie(({clerk:e})=>(L.useEffect(()=>{ga("RedirectToUserProfile","Use the `redirectToUserProfile()` method instead."),e.redirectToUserProfile()},[]),null),"RedirectToUserProfile");Ie(({clerk:e})=>(L.useEffect(()=>{ga("RedirectToOrganizationProfile","Use the `redirectToOrganizationProfile()` method instead."),e.redirectToOrganizationProfile()},[]),null),"RedirectToOrganizationProfile");Ie(({clerk:e})=>(L.useEffect(()=>{ga("RedirectToCreateOrganization","Use the `redirectToCreateOrganization()` method instead."),e.redirectToCreateOrganization()},[]),null),"RedirectToCreateOrganization");Ie(({clerk:e,...r})=>(L.useEffect(()=>{e.handleRedirectCallback(r)},[]),null),"AuthenticateWithRedirectCallback");const uC=()=>({fields:{identifier:null,password:null,code:null},raw:null,global:null}),dC=()=>({fields:{firstName:null,lastName:null,emailAddress:null,phoneNumber:null,password:null,username:null,code:null,captcha:null,legalAccepted:null},raw:null,global:null}),pC=()=>({fields:{emailAddress:null},raw:null,global:null}),pm=()=>({pathRoot:"",attempts:null,error:null,expireAt:null,externalVerificationRedirectURL:null,nonce:null,message:null,status:null,strategy:null,verifiedAtClient:null,verifiedFromTheSameClient(){return!1},reload(){throw new Error("reload() called before Clerk is loaded")},__internal_toSnapshot(){return{object:"verification",id:"",attempts:null,error:{code:"",message:""},expire_at:null,externalVerificationRedirectURL:null,nonce:null,message:null,status:null,strategy:null,verified_at_client:null}}}),js=()=>({...pm(),supportedStrategies:[],nextAction:"",reload(){throw new Error("reload() called before Clerk is loaded")},__internal_toSnapshot(){return{...pm().__internal_toSnapshot(),next_action:this.nextAction,supported_strategies:this.supportedStrategies}}});var fC=class{constructor(e){this.isomorphicClerk=e,this.signInSignalProxy=this.buildSignInProxy(),this.signUpSignalProxy=this.buildSignUpProxy(),this.waitlistSignalProxy=this.buildWaitlistProxy()}signInSignal(){return this.signInSignalProxy}signUpSignal(){return this.signUpSignalProxy}waitlistSignal(){return this.waitlistSignalProxy}get __internal_waitlist(){return this.state.__internal_waitlist}checkoutSignal(e){return this.buildCheckoutProxy(e)}buildSignInProxy(){const e=this.gateProperty.bind(this),r=()=>this.client.signIn.__internal_future;return{errors:uC(),fetchStatus:"idle",signIn:{status:"needs_identifier",availableStrategies:[],get isTransferable(){return e(r,"isTransferable",!1)},get id(){return e(r,"id",void 0)},get supportedFirstFactors(){return e(r,"supportedFirstFactors",[])},get supportedSecondFactors(){return e(r,"supportedSecondFactors",[])},get secondFactorVerification(){return e(r,"secondFactorVerification",{status:null,error:null,expireAt:null,externalVerificationRedirectURL:null,nonce:null,attempts:null,message:null,strategy:null,verifiedAtClient:null,verifiedFromTheSameClient:()=>!1,__internal_toSnapshot:()=>{throw new Error("__internal_toSnapshot called before Clerk is loaded")},pathRoot:"",reload:()=>{throw new Error("__internal_toSnapshot called before Clerk is loaded")}})},get identifier(){return e(r,"identifier",null)}
23,get createdSessionId(){return e(r,"createdSessionId",null)},get userData(){return e(r,"userData",{})},get firstFactorVerification(){return e(r,"firstFactorVerification",{status:null,error:null,expireAt:null,externalVerificationRedirectURL:null,nonce:null,attempts:null,message:null,strategy:null,verifiedAtClient:null,verifiedFromTheSameClient:()=>!1,__internal_toSnapshot:()=>{throw new Error("__internal_toSnapshot called before Clerk is loaded")},pathRoot:"",reload:()=>{throw new Error("__internal_toSnapshot called before Clerk is loaded")}})},get canBeDiscarded(){return e(r,"canBeDiscarded",!1)},get protectCheck(){return e(r,"protectCheck",null)},create:this.gateMethod(r,"create"),password:this.gateMethod(r,"password"),sso:this.gateMethod(r,"sso"),finalize:this.gateMethod(r,"finalize"),reset:this.gateMethod(r,"reset"),submitProtectCheck:this.gateMethod(r,"submitProtectCheck"),emailCode:this.wrapMethods(()=>r().emailCode,["sendCode","verifyCode"]),emailLink:this.wrapStruct(()=>r().emailLink,["sendLink","waitForVerification"],["verification"],{verification:null}),resetPasswordEmailCode:this.wrapMethods(()=>r().resetPasswordEmailCode,["sendCode","verifyCode","submitPassword"]),resetPasswordPhoneCode:this.wrapMethods(()=>r().resetPasswordPhoneCode,["sendCode","verifyCode","submitPassword"]),phoneCode:this.wrapMethods(()=>r().phoneCode,["sendCode","verifyCode"]),mfa:this.wrapMethods(()=>r().mfa,["sendPhoneCode","verifyPhoneCode","sendEmailCode","verifyEmailCode","verifyTOTP","verifyBackupCode"]),ticket:this.gateMethod(r,"ticket"),passkey:this.gateMethod(r,"passkey"),web3:this.gateMethod(r,"web3")}}}buildSignUpProxy(){const e=this.gateProperty.bind(this),r=this.gateMethod.bind(this),o=()=>this.client.signUp.__internal_future;return{errors:dC(),fetchStatus:"idle",signUp:{get id(){return e(o,"id",void 0)},get requiredFields(){return e(o,"requiredFields",[])},get optionalFields(){return e(o,"optionalFields",[])},get missingFields(){return e(o,"missingFields",[])},get username(){return e(o,"username",null)},get firstName(){return e(o,"firstName",null)},get lastName(){return e(o,"lastName",null)},get emailAddress(){return e(o,"emailAddress",null)},get phoneNumber(){return e(o,"phoneNumber",null)},get web3Wallet(){return e(o,"web3Wallet",null)},get hasPassword(){return e(o,"hasPassword",!1)},get unsafeMetadata(){return e(o,"unsafeMetadata",{})},get createdSessionId(){return e(o,"createdSessionId",null)},get createdUserId(){return e(o,"createdUserId",null)},get abandonAt(){return e(o,"abandonAt",null)},get legalAcceptedAt(){return e(o,"legalAcceptedAt",null)},get locale(){return e(o,"locale",null)},get status(){return e(o,"status","missing_requirements")},get unverifiedFields(){return e(o,"unverifiedFields",[])},get isTransferable(){return e(o,"isTransferable",!1)},get canBeDiscarded(){return e(o,"canBeDiscarded",!1)},get protectCheck(){return e(o,"protectCheck",null)},create:r(o,"create"),update:r(o,"update"),sso:r(o,"sso"),password:r(o,"password"),ticket:r(o,"ticket"),web3:r(o,"web3"),finalize:r(o,"finalize"),reset:r(o,"reset"),submitProtectCheck:r(o,"submitProtectCheck"),verifications:this.wrapStruct(()=>o().verifications,["sendEmailCode","verifyEmailCode","sendEmailLink","waitForEmailLinkVerification","sendPhoneCode","verifyPhoneCode"],["emailAddress","phoneNumber","web3Wallet","externalAccount","emailLinkVerification"],{emailAddress:js(),phoneNumber:js(),web3Wallet:js(),externalAccount:js(),emailLinkVerification:null})}}}buildWaitlistProxy(){const e=this.gateProperty.bind(this),r=this.gateMethod.bind(this),o=()=>this.state.__internal_waitlist;return{errors:pC(),fetchStatus:"idle",waitlist:{pathRoot:"/waitlist",get id(){return e(o,"id","")},get createdAt(){return e(o,"createdAt",null)},get updatedAt(){return e(o,"updatedAt",null)},join:r(o,"join"),reload:r(o,"reload")}}}buildCheckoutProxy(e){const r=this.gateProperty.bind(this),o=()=>this.checkout(e),s=()=>o().checkout;return{errors:{raw:null,global:null},fetchStatus:"idle",checkout:{get status(){return r(s,"status","needs_initialization")},get externalClientSecret(){return r(s,"externalClientSecret",null)},get externalGatewayId(){return r(s,"externalGatewayId",null)},get paymentMethod(){return r(s,"paymentMethod",null)},get plan(){return r(s,"plan",null)},get planPeriod(){return r(s,"planPeriod",null)},get totals(){return r(s,"totals",null)},get isImmediatePlanChange(){return r(s,"isImmediatePlanChange",!1)},get freeTrialEndsAt(){return r(s,"freeTrialEndsAt",null)},get payer(){return r(s,"payer",null)},get planPeriodStart(){return r(s,"planPeriodStart",null)},get needsPaymentMethod(){return r(s,"needsPaymentMethod",null)},start:this.gateMethod(s,"start"),update:this.gateMethod(s,"update"),confirm:this.gateMethod(s,"confirm"),finalize:this.gateMethod(s,"finalize")}}}__internal_effect(e){throw new Error("__internal_effect called before Clerk is loaded")}__internal_computed(e){throw new Error("__internal_computed called before Clerk is loaded")}get state(){const e=this.isomorphicClerk.__internal_state;if(!e)throw new Error("Clerk state not ready");return e}get client(){const e=this.isomorphicClerk.client;if(!e)throw new Error("Clerk client not ready");return e}get checkout(){const e=this.isomorphicClerk.__experimental_checkout;if(!e)throw new Error("Clerk checkout not ready");return e}gateProperty(e,r,o){return!Hr()||!this.isomorphicClerk.loaded?o:e()[r]}gateMethod(e,r){return(async(...o)=>{if(!Hr())return hn.throw(`Attempted to call a method (${r}) that is not supported on the server.`);this.isomorphicClerk.loaded||await new Promise(a=>this.isomorphicClerk.addOnLoaded(a));const s=e();return s[r].apply(s,o)})}wrapMethods(e,r){return Object.fromEntries(r.map(o=>[o,this.gateMethod(e,o)]))}wrapStruct(e,r,o,s){const a={};for(const d of r)a[d]=this.gateMethod(e,d);for(const d of o)Object.defineProperty(a,d,{get:()=>this.gateProperty(e,d,s[d]),enumerable:!0});return a}};typeof globalThis.__BUILD_DISABLE_RHC__>"u"&&(globalThis.__BUILD_DISABLE_RHC__=!1);const hC={name:"@clerk/react",version:"6.14.7",environment:"production"};var fm=class Yy{#e;#t;#r;#n;#o;#s;get publishableKey(){return this.#n}get loaded(){return this.clerkjs?.loaded||!1}get status(){return this.clerkjs?this.clerkjs?.status||(this.clerkjs.loaded?"ready":"loading"):this.#e}static#i;static getOrCreateInstance(r){return(!Hr()||!this.#i||r.Clerk&&this.#i.Clerk!==r.Clerk||this.#i.publishableKey!==r.publishableKey)&&(this.#i=new Yy(r)),this.#i}static clearInstance(){this.#i=null}get domain(){return typeof window<"u"&&window.location?Tc(this.#t,new URL(window.location.href),""):typeof this.#t=="function"?hn.throw(Rc):this.#t||""}get proxyUrl(){return typeof window<"u"&&window.location?Tc(this.#r,new URL(window.location.href),""):typeof this.#r=="function"?hn.throw(Rc):this.#r||""}__internal_getOption(r){return this.clerkjs?.__internal_getOption?this.clerkjs?.__internal_getOption(r):this.options[r]}get __internal_moduleManager(){return this.clerkjs?.__internal_moduleManager}get __internal_protectChallengeLoadTimeoutMs(){return this.clerkjs?.__internal_protectChallengeLoadTimeoutMs}constructor(r){this.clerkjs=null,this.preopenOneTap=null,this.preopenUserVerification=null,this.preopenEnableOrganizationsPrompt=null,this.preopenSignIn=null,this.preopenCheckout=null,this.preopenPlanDetails=null,this.preopenSubscriptionDetail
23s=null,this.preopenSignUp=null,this.preopenUserProfile=null,this.preopenOrganizationProfile=null,this.preopenInviteMembers=null,this.preopenCreateOrganization=null,this.preOpenWaitlist=null,this.premountSignInNodes=new Map,this.premountSignUpNodes=new Map,this.premountUserAvatarNodes=new Map,this.premountUserProfileNodes=new Map,this.premountUserButtonNodes=new Map,this.premountOrganizationProfileNodes=new Map,this.premountCreateOrganizationNodes=new Map,this.premountOrganizationSwitcherNodes=new Map,this.premountOrganizationListNodes=new Map,this.premountMethodCalls=new Map,this.premountWaitlistNodes=new Map,this.premountPricingTableNodes=new Map,this.premountAPIKeysNodes=new Map,this.premountConfigureSSONodes=new Map,this.premountOAuthConsentNodes=new Map,this.premountTaskChooseOrganizationNodes=new Map,this.premountTaskResetPasswordNodes=new Map,this.premountTaskSetupMFANodes=new Map,this.premountAddListenerCalls=new Map,this.loadedListeners=[],this.#e="loading",this.#o=nC(),this.__internal_windowNavigate=(o,s)=>{const a=this.clerkjs;if(typeof a?.__internal_windowNavigate=="function"){a.__internal_windowNavigate(o,s);return}Hr()&&sC(o,{allowedProtocols:s?.useStaticAllowlistOnly?cu:[...cu,...this.options.allowedRedirectProtocols??[]]})},this.setProtectAssertion=o=>{const s=()=>this.clerkjs?.setProtectAssertion(o);this.clerkjs&&this.loaded?s():this.premountMethodCalls.set("setProtectAssertion",s)},this.buildSignInUrl=o=>{const s=()=>this.clerkjs?.buildSignInUrl(o)||"";if(this.clerkjs&&this.loaded)return s();this.premountMethodCalls.set("buildSignInUrl",s)},this.buildSignUpUrl=o=>{const s=()=>this.clerkjs?.buildSignUpUrl(o)||"";if(this.clerkjs&&this.loaded)return s();this.premountMethodCalls.set("buildSignUpUrl",s)},this.buildAfterSignInUrl=(...o)=>{const s=()=>this.clerkjs?.buildAfterSignInUrl(...o)||"";if(this.clerkjs&&this.loaded)return s();this.premountMethodCalls.set("buildAfterSignInUrl",s)},this.buildAfterSignUpUrl=(...o)=>{const s=()=>this.clerkjs?.buildAfterSignUpUrl(...o)||"";if(this.clerkjs&&this.loaded)return s();this.premountMethodCalls.set("buildAfterSignUpUrl",s)},this.buildAfterSignOutUrl=()=>{const o=()=>this.clerkjs?.buildAfterSignOutUrl()||"";if(this.clerkjs&&this.loaded)return o();this.premountMethodCalls.set("buildAfterSignOutUrl",o)},this.buildNewSubscriptionRedirectUrl=()=>{const o=()=>this.clerkjs?.buildNewSubscriptionRedirectUrl()||"";if(this.clerkjs&&this.loaded)return o();this.premountMethodCalls.set("buildNewSubscriptionRedirectUrl",o)},this.buildAfterMultiSessionSingleSignOutUrl=()=>{const o=()=>this.clerkjs?.buildAfterMultiSessionSingleSignOutUrl()||"";if(this.clerkjs&&this.loaded)return o();this.premountMethodCalls.set("buildAfterMultiSessionSingleSignOutUrl",o)},this.buildUserProfileUrl=()=>{const o=()=>this.clerkjs?.buildUserProfileUrl()||"";if(this.clerkjs&&this.loaded)return o();this.premountMethodCalls.set("buildUserProfileUrl",o)},this.buildCreateOrganizationUrl=()=>{const o=()=>this.clerkjs?.buildCreateOrganizationUrl()||"";if(this.clerkjs&&this.loaded)return o();this.premountMethodCalls.set("buildCreateOrganizationUrl",o)},this.buildOrganizationProfileUrl=()=>{const o=()=>this.clerkjs?.buildOrganizationProfileUrl()||"";if(this.clerkjs&&this.loaded)return o();this.premountMethodCalls.set("buildOrganizationProfileUrl",o)},this.buildWaitlistUrl=()=>{const o=()=>this.clerkjs?.buildWaitlistUrl()||"";if(this.clerkjs&&this.loaded)return o();this.premountMethodCalls.set("buildWaitlistUrl",o)},this.buildTasksUrl=()=>{const o=()=>this.clerkjs?.buildTasksUrl()||"";if(this.clerkjs&&this.loaded)return o();this.premountMethodCalls.set("buildTasksUrl",o)},this.buildUrlWithAuth=o=>{const s=()=>this.clerkjs?.buildUrlWithAuth(o)||"";if(this.clerkjs&&this.loaded)return s();this.premountMethodCalls.set("buildUrlWithAuth",s)},this.handleUnauthenticated=async()=>{const o=()=>this.clerkjs?.handleUnauthenticated();this.clerkjs&&this.loaded?o():this.premountMethodCalls.set("handleUnauthenticated",o)},this.on=(...o)=>{if(this.clerkjs?.on)return this.clerkjs.on(...o);this.#o.on(...o)},this.off=(...o)=>{if(this.clerkjs?.off)return this.clerkjs.off(...o);this.#o.off(...o)},this.addOnLoaded=o=>{this.loadedListeners.push(o),this.loaded&&this.emitLoaded()},this.emitLoaded=()=>
23{this.loadedListeners.forEach(o=>o()),this.loadedListeners=[]},this.beforeLoad=o=>{if(!o)throw new Error("Failed to hydrate latest Clerk JS")},this.replayInterceptedInvocations=o=>{if(!o)throw new Error("Failed to hydrate latest Clerk JS");return this.clerkjs=o,this.premountMethodCalls.forEach(s=>s()),this.premountAddListenerCalls.forEach((s,a)=>{s.handlers.nativeUnsubscribe=o.addListener(a,s.options)}),this.#o.internal.retrieveListeners("status")?.forEach(s=>{this.on("status",s,{notify:!0})}),this.preopenSignIn!==null&&o.openSignIn(this.preopenSignIn),this.preopenCheckout!==null&&o.__internal_openCheckout(this.preopenCheckout),this.preopenPlanDetails!==null&&o.__internal_openPlanDetails(this.preopenPlanDetails),this.preopenSubscriptionDetails!==null&&o.__internal_openSubscriptionDetails(this.preopenSubscriptionDetails),this.preopenSignUp!==null&&o.openSignUp(this.preopenSignUp),this.preopenUserProfile!==null&&o.openUserProfile(this.preopenUserProfile),this.preopenUserVerification!==null&&o.__internal_openReverification(this.preopenUserVerification),this.preopenOneTap!==null&&o.openGoogleOneTap(this.preopenOneTap),this.preopenOrganizationProfile!==null&&o.openOrganizationProfile(this.preopenOrganizationProfile),this.preopenInviteMembers!==null&&o.openInviteMembers(this.preopenInviteMembers),this.preopenCreateOrganization!==null&&o.openCreateOrganization(this.preopenCreateOrganization),this.preOpenWaitlist!==null&&o.openWaitlist(this.preOpenWaitlist),this.preopenEnableOrganizationsPrompt&&o.__internal_openEnableOrganizationsPrompt(this.preopenEnableOrganizationsPrompt),this.premountSignInNodes.forEach((s,a)=>{o.mountSignIn(a,s)}),this.premountSignUpNodes.forEach((s,a)=>{o.mountSignUp(a,s)}),this.premountUserProfileNodes.forEach((s,a)=>{o.mountUserProfile(a,s)}),this.premountUserAvatarNodes.forEach((s,a)=>{o.mountUserAvatar(a,s)}),this.premountUserButtonNodes.forEach((s,a)=>{o.mountUserButton(a,s)}),this.premountOrganizationListNodes.forEach((s,a)=>{o.mountOrganizationList(a,s)}),this.premountWaitlistNodes.forEach((s,a)=>{o.mountWaitlist(a,s)}),this.premountPricingTableNodes.forEach((s,a)=>{o.mountPricingTable(a,s)}),this.premountAPIKeysNodes.forEach((s,a)=>{o.mountAPIKeys(a,s)}),this.premountConfigureSSONodes.forEach((s,a)=>{o.__internal_mountConfigureSSO(a,s)}),this.premountOAuthConsentNodes.forEach((s,a)=>{o.__internal_mountOAuthConsent(a,s)}),this.premountTaskChooseOrganizationNodes.forEach((s,a)=>{o.mountTaskChooseOrganization(a,s)}),this.premountTaskResetPasswordNodes.forEach((s,a)=>{o.mountTaskResetPassword(a,s)}),this.premountTaskSetupMFANodes.forEach((s,a)=>{o.mountTaskSetupMFA(a,s)}),typeof this.clerkjs.status>"u"&&this.#o.emit(zr.Status,"ready"),this.emitLoaded(),this.clerkjs},this.__experimental_checkout=(...o)=>this.loaded&&this.clerkjs?this.clerkjs.__experimental_checkout(...o):this.#s.checkoutSignal(...o),this.__internal_updateProps=async o=>{const s=await this.#a();if(s&&"__internal_updateProps"in s)return s.__internal_updateProps(o)},this.setActive=o=>this.clerkjs?this.clerkjs.setActive(o):Promise.reject(),this.openSignIn=o=>{this.clerkjs&&this.loaded?this.clerkjs.openSignIn(o):this.preopenSignIn=o},this.closeSignIn=()=>{this.clerkjs&&this.loaded?this.clerkjs.closeSignIn():this.preopenSignIn=null},this.__internal_openCheckout=o=>{this.clerkjs&&this.loaded?this.clerkjs.__internal_openCheckout(o):this.preopenCheckout=o},this.__internal_closeCheckout=()=>{this.clerkjs&&this.loaded?this.clerkjs.__internal_closeCheckout():this.preopenCheckout=null},this.__internal_openPlanDetails=o=>{this.clerkjs&&this.loaded?this.clerkjs.__internal_openPlanDetails(o):this.preopenPlanDetails=o},this.__internal_closePlanDetails=()=>{this.clerkjs&&this.loaded?this.clerkjs.__internal_closePlanDetails():this.preopenPlanDetails=null},this.__internal_openSubscriptionDetails=o=>{this.clerkjs&&this.loaded?this.clerkjs.__internal_openSubscriptionDetails(o):this.preopenSubscriptionDetails=o??null},this.__internal_closeSubscriptionDetails=()=>{this.clerkjs&&this.loaded?this.clerkjs.__internal_closeSubscriptionDetails():this.preopenSubscriptionDetail
23s=null},this.__internal_openReverification=o=>{this.clerkjs&&this.loaded?this.clerkjs.__internal_openReverification(o):this.preopenUserVerification=o},this.__internal_closeReverification=()=>{this.clerkjs&&this.loaded?this.clerkjs.__internal_closeReverification():this.preopenUserVerification=null},this.__internal_openEnableOrganizationsPrompt=o=>{this.clerkjs&&this.loaded?this.clerkjs.__internal_openEnableOrganizationsPrompt(o):this.preopenEnableOrganizationsPrompt=o},this.__internal_closeEnableOrganizationsPrompt=()=>{this.clerkjs&&this.loaded?this.clerkjs.__internal_closeEnableOrganizationsPrompt():this.preopenEnableOrganizationsPrompt=null},this.openGoogleOneTap=o=>{this.clerkjs&&this.loaded?this.clerkjs.openGoogleOneTap(o):this.preopenOneTap=o},this.closeGoogleOneTap=()=>{this.clerkjs&&this.loaded?this.clerkjs.closeGoogleOneTap():this.preopenOneTap=null},this.openUserProfile=o=>{this.clerkjs&&this.loaded?this.clerkjs.openUserProfile(o):this.preopenUserProfile=o},this.closeUserProfile=()=>{this.clerkjs&&this.loaded?this.clerkjs.closeUserProfile():this.preopenUserProfile=null},this.openOrganizationProfile=o=>{this.clerkjs&&this.loaded?this.clerkjs.openOrganizationProfile(o):this.preopenOrganizationProfile=o},this.closeOrganizationProfile=()=>{this.clerkjs&&this.loaded?this.clerkjs.closeOrganizationProfile():this.preopenOrganizationProfile=null},this.openInviteMembers=o=>{this.clerkjs&&this.loaded?this.clerkjs.openInviteMembers(o):this.preopenInviteMembers=o},this.closeInviteMembers=()=>{this.clerkjs&&this.loaded?this.clerkjs.closeInviteMembers():this.preopenInviteMembers=null},this.openCreateOrganization=o=>{this.clerkjs&&this.loaded?this.clerkjs.openCreateOrganization(o):this.preopenCreateOrganization=o},this.closeCreateOrganization=()=>{this.clerkjs&&this.loaded?this.clerkjs.closeCreateOrganization():this.preopenCreateOrganization=null},this.openWaitlist=o=>{this.clerkjs&&this.loaded?this.clerkjs.openWaitlist(o):this.preOpenWaitlist=o},this.closeWaitlist=()=>{this.clerkjs&&this.loaded?this.clerkjs.closeWaitlist():this.preOpenWaitlist=null},this.openSignUp=o=>{this.clerkjs&&this.loaded?this.clerkjs.openSignUp(o):this.preopenSignUp=o},this.closeSignUp=()=>{this.clerkjs&&this.loaded?this.clerkjs.closeSignUp():this.preopenSignUp=null},this.mountSignIn=(o,s)=>{this.clerkjs&&this.loaded?this.clerkjs.mountSignIn(o,s):this.premountSignInNodes.set(o,s)},this.unmountSignIn=o=>{this.clerkjs&&this.loaded?this.clerkjs.unmountSignIn(o):this.premountSignInNodes.delete(o)},this.mountSignUp=(o,s)=>{this.clerkjs&&this.loaded?this.clerkjs.mountSignUp(o,s):this.premountSignUpNodes.set(o,s)},this.unmountSignUp=o=>{this.clerkjs&&this.loaded?this.clerkjs.unmountSignUp(o):this.premountSignUpNodes.delete(o)},this.mountUserAvatar=(o,s)=>{this.clerkjs&&this.loaded?this.clerkjs.mountUserAvatar(o,s):this.premountUserAvatarNodes.set(o,s)},this.unmountUserAvatar=o=>{this.clerkjs&&this.loaded?this.clerkjs.unmountUserAvatar(o):this.premountUserAvatarNodes.delete(o)},this.mountUserProfile=(o,s)=>{this.clerkjs&&this.loaded?this.clerkjs.mountUserProfile(o,s):this.premountUserProfileNodes.set(o,s)},this.unmountUserProfile=o=>{this.clerkjs&&this.loaded?this.clerkjs.unmountUserProfile(o):this.premountUserProfileNodes.delete(o)},this.mountOrganizationProfile=(o,s)=>{this.clerkjs&&this.loaded?this.clerkjs.mountOrganizationProfile(o,s):this.premountOrganizationProfileNodes.set(o,s)},this.unmountOrganizationProfile=o=>{this.clerkjs&&this.loaded?this.clerkjs.unmountOrganizationProfile(o):this.premountOrganizationProfileNodes.delete(o)},this.mountCreateOrganization=(o,s)=>{this.clerkjs&&this.loaded?this.clerkjs.mountCreateOrganization(o,s):this.premountCreateOrganizationNodes.set(o,s)},this.unmountCreateOrganization=o=>{this.clerkjs&&this.loaded?this.clerkjs.unmountCreateOrganization(o):this.premountCreateOrganizationNodes.delete(o)},this.mountOrganizationSwitcher=(o,s)=>{this.clerkjs&&this.loaded?this.clerkjs.mountOrganizationSwitcher(o,s):this.premountOrganizationSwitcherNodes.set(o,s)},this.unmountOrganizationSwitcher=o=>{this.clerkjs&&this.loaded?this.clerkjs.unmountOrganizationSwitcher(o):this.premountOrganizationSwitcherNodes.delete(o)},this.__experimental_prefetchOrganizationSwitcher=()=>{const o=()=>this.clerkjs?.__experimental_prefetchOrganizationSwitcher();this.clerkjs&&this.loaded?o():this.premountMethodCalls.set("__experimental_prefetchOrganizationSwitcher",o)},this.mountOrganizationList=(o,s)=>{this.clerkjs&&this.loaded?this.clerkjs.mountOrganizationList(o,s):this.premountOrganizationListNodes.set(o,s)},this.unmountOrganizationList=o=>{this.clerkjs&&this.loaded?this.clerkjs.unmountOrganizationList(o):this.premountOrganizationListNodes.delete(o)},this.mountUserButton=(o,s)=>{this.clerkjs&&this.loaded?this.clerkjs.mountUserButton(o,s):this.premountUserButtonNodes.set(o,s)},this.unmountUserButton=o=>{this.clerkjs&&this.loaded?this.clerkjs.unmountUserButton(o):this.premountUserButtonNodes.delete(o)},this.mountWaitlist=(o,s)=>{this.clerkjs&&this.loaded?this.clerkjs.mountWaitlist(o,s):this.premountWaitlistNodes.set(o,s)},this.unmountWaitlist=o=>{this.clerkjs&&this.loaded?this.clerkjs.unmountWaitlist(o):this.premountWaitlistNodes.delete(o)},this.mountPricingTable=(o,s)=>{this.clerkjs&&this.loaded?this.clerkjs.mountPricingTable(o,s):this.premountPricingTableNodes.set(o,s)},this.unmountPricingTable=o=>{this.clerkjs&&this.loaded?this.clerkjs.unmountPricingTable(o):this.premountPricingTableNodes.delete(o)},this.mountAPIKeys=(o,s)=>{this.clerkjs&&this.loaded?this.clerkjs.mountAPIKeys(o,s):this.premountAPIKeysNodes.set(o,s)},this.unmountAPIKeys=o=>{this.clerkjs&&this.loaded?this.clerkjs.unmountAPIKeys(o):this.premountAPIKeysNodes.delete(o)},this.__internal_mountConfigureSSO=(o,s)=>{this.clerkjs&&this.loaded?this.clerkjs.__internal_mountConfigureSSO(o,s):this.premountConfigureSSONodes.set(o,s)},this.__internal_unmountConfigureSSO=o=>{this.clerkjs&&this.loaded?this.clerkjs.__internal_unmountConfigureSSO(o):this.premountConfigureSSONodes.delete(o)},this.__internal_mountOAuthConsent=(o,s)=>{this.clerkjs&&this.loaded?this.clerkjs.__internal_mountOAuthConsent(o,s):this.premountOAuthConsentNodes.set(o,s)},this.__internal_unmountOAuthConsent=o=>{this.clerkjs&&this.loaded?this.clerkjs.__internal_unmountOAuthConsent(o):this.premountOAuthConsentNodes.delete(o)},this.mountOAuthConsent=(o,s)=>{this.__internal_mountOAuthConsent(o,s)},this.unmountOAuthConsent=o=>{this.__internal_unmountOAuthConsent(o)},this.mountTaskChooseOrganization=(o,s)=>{this.clerkjs&&this.loaded?this.clerkjs.mountTaskChooseOrganization(o,s):this.premountTaskChooseOrganizationNodes.set(o,s)},this.unmountTaskChooseOrganization=o=>{this.clerkjs&&this.loaded?this.clerkjs.unmountTaskChooseOrganization(o):this.premountTaskChooseOrganizationNodes.delete(o)},this.mountTaskResetPassword=(o,s)=>{this.clerkjs&&this.loaded?this.clerkjs.mountTaskResetPassword(o,s):this.premountTaskResetPasswordNodes.set(o,s)},this.unmountTaskResetPassword=o=>{this.clerkjs&&this.loaded?this.clerkjs.unmountTaskResetPassword(o):this.premountTaskResetPasswordNodes.delete(o)},this.mountTaskSetupMFA=(o,s)=>{this.clerkjs&&this.loaded?this.clerkjs.mountTaskSetupMFA(o,s):this.premountTaskSetupMFANodes.set(o,s)},this.unmountTaskSetupMFA=o=>{this.clerkjs&&this.loaded?this.clerkjs.unmountTaskSetupMFA(o):this.premountTaskSetupMFANodes.delete(o)},this.addListener=(o,s)=>{if(this.clerkjs)return this.clerkjs.addListener(o,s);{const a=()=>{const d=this.premountAddListenerCalls.get(o);d?.handlers&&(d?.handlers.nativeUnsubscribe?.(),this.premountAddListenerCalls.delete(o))};return this.premountAddListenerCalls.set(o,{options:s,handlers:{unsubscribe:a,nativeUnsubscribe:void 0}}),a}},this.navigate=o=>{const s=()=>this.clerkjs?.navigate(o);this.clerkjs&&this.loaded?s():this.premountMethodCalls.set("navigate",s)},this.redirectWithAuth=async(...o)=>{const s=()=>this.clerkjs?.redirectWithAuth(...o);if(this.clerkjs&&this.loaded)return s();this.premountMethodCalls.set("redirectWithAuth",s)},this.redirectToSignIn=async o=>{const s=()=>this.clerkjs?.redirectToSignIn(o);if(this.clerkjs&&this.loaded)return s();this.premountMethodCalls.set("redirectToSignIn",s)},this.redirectToSignUp=async o=>{const s=()=>this.clerkjs?.redirectToSignUp(o);if(this.clerkjs&&this.loaded)return s();this.premountMethodCalls.set("redirectToSignUp",s)},this.redirectToUserProfile=async()=>{const o=()=>this.clerkjs?.redirectToUserProfile();if(this.clerkjs&&this.loaded)return o();this.premountMethodCalls.set("redirectToUserProfile",o)},this.redirectToAfterSignUp=()=>{const o=()=>this.clerkjs?.redirectToAfterSignUp();if(this.clerkjs&&this.loaded)return o();this.premountMethodCalls.set("redirectToAfterSignUp",o)},this.redirectToAfterSignIn=()=>{const o=()=>this.clerkjs?.redirectToAfterSignIn();this.clerkjs&&this.loaded?o():this.premountMethodCalls.set("redirectToAfterSignIn",o)},this.redirectToAfterSignOut=()=>{const o=()=>this.clerkjs?.redirectToAfterSignOut();this.clerkjs&&this.loaded?o():this.premountMethodCalls.set("redirectToAfterSignOut",o)},this.redirectToOrganizationProfile=async()=>{const o=()=>this.clerkjs?.redirectToOrganizationProfile();if(this.clerkjs&&this.loaded)return o();this.premountMethodCalls.set("redirectToOrganizationProfile",o)},this.redirectToCreateOrganization=async()=>{const o=()=>this.clerkjs?.redirectToCreateOrganization();if(this.clerkjs&&this.loaded)return o();this.premountMethodCalls.set("redirectToCreateOrganization",o)},this.redirectToWaitlist=async()=>{const o=()=>this.clerkjs?.redirectToWaitlist();if(this.clerkjs&&this.loaded)return o();this.premountMethodCalls.set("redirectToWaitlist",o)},this.redirectToTasks=async o=>{const s=()=>this.clerkjs?.redirectToTasks(o);if(this.clerkjs&&this.loaded)return s();this.premountMethodCalls.set("redirectToTasks",s)},this.handleRedirectCallback=async o=>{const s=()=>this.clerkjs?.handleRedirectCallback(o);this.clerkjs&&this.loaded?s()?.catch(()=>{}):this.premountMethodCalls.set("handleRedirectCallback",s)},this.__internal_resumeAfterProtectCheck=async(o,s)=>{const a=()=>{const d=this.clerkjs;typeof d?.__internal_resumeAfterProtectCheck=="function"&&d.__internal_resumeAfterProtectCheck(o,s)?.catch(()=>{})};this.clerkjs&&this.loaded?a():this.premountMethodCalls.set("__internal_resumeAfterProtectCheck",a)},this.handleGoogleOneTapCallback=async(o,s)=>{const a=()=>this.clerkjs?.handleGoogleOneTapCallback(o,s);this.clerkjs&&this.loaded?a()?.catch(()=>{}):this.premountMethodCalls.set("handleGoogleOneTapCallback",a)},this.__internal_handleResourceCallback=async(o,s,a)=>{const d=()=>this.clerkjs?.__internal_handleResourceCallback(o,s,a);if(this.clerkjs&&this.loaded)return d();this.premountMethodCalls.set("__internal_handleResourceCallback",d)},this.handleEmailLinkVerification=async o=>{const s=()=>this.clerkjs?.handleEmailLinkVerification(o);if(this.clerkjs&&this.loaded)return s();this.premountMethodCalls.set("handleEmailLinkVerification",s)},this.authenticateWithMetamask=async o=>{const s=()=>this.clerkjs?.authenticateWithMetamask(o);if(this.clerkjs&&this.loaded)return s();this.premountMethodCalls.set("authenticateWithMetamask",s)},this.authenticateWithCoinbaseWallet=async o=>{const s=()=>this.clerkjs?.authenticateWithCoinbaseWallet(o);if(this.clerkjs&&this.loaded)return s();this.premountMethodCalls.set("authenticateWithCoinbaseWallet",s)},this.authenticateWithBase=async o=>{const s=()=>this.clerkjs?.authenticateWithBase(o);if(this.clerkjs&&this.loaded)return s();this.premountMethodCalls.set("authenticateWithBase",s)},this.authenticateWithOKXWallet=async o=>{const s=()=>this.clerkjs?.authenticateWithOKXWallet(o);if(this.clerkjs&&this.loaded)return s();this.premountMethodCalls.set("authenticateWithOKXWallet",s)},this.authenticateWithSolana=async o=>{const s=()=>this.clerkjs?.authenticateWithSolana(o);if(this.clerkjs&&this.loaded)return s();this.premountMethodCalls.set("authenticateWithSolana",s)},this.authenticateWithWeb3=async o=>{const s=()=>this.clerkjs?.authenticateWithWeb3(o);if(this.clerkjs&&this.loaded)return s();this.premountMethodCalls.set("authenticateWithWeb3",s)},this.authenticateWithGoogleOneTap=async o=>(await this.#a()).authenticateWithGoogleOneTap(o),this.__internal_loadStripeJs=async()=>(await this.#a()).__internal_loadStripeJs(),this.createOrganization=async o=>{const s=()=>this.clerkjs?.createOrganization(o);if(this.clerkjs&&this.loaded)return s();this.premountMethodCalls.set("createOrganization",s)},this.getOrganization=async o=>{const s=()=>this.clerkjs?.getOrganization(o);if(this.clerkjs&&this.loaded)return s();this.premountMethodCalls.set("getOrganization",s)},this.joinWaitlist=async o=>{const s=()=>
23this.clerkjs?.joinWaitlist(o);if(this.clerkjs&&this.loaded)return s();this.premountMethodCalls.set("joinWaitlist",s)},this.signOut=async(...o)=>{const s=()=>this.clerkjs?.signOut(...o);if(this.clerkjs&&this.loaded)return s();this.premountMethodCalls.set("signOut",s)},this.__internal_attemptToEnableEnvironmentSetting=o=>{const s=()=>this.clerkjs?.__internal_attemptToEnableEnvironmentSetting(o);if(this.clerkjs&&this.loaded)return s();this.premountMethodCalls.set("__internal_attemptToEnableEnvironmentSetting",s)},this.#n=r?.publishableKey,this.#r=r?.proxyUrl,this.#t=r?.domain,this.options=r,this.Clerk=r?.Clerk||null,this.mode=Hr()?"browser":"server",this.#s=new fC(this),this.options.sdkMetadata||(this.options.sdkMetadata=hC),this.#o.emit(zr.Status,"loading"),this.#o.prioritizedOn(zr.Status,o=>this.#e=o),this.#n&&this.options.experimental?.runtimeEnvironment==="headless"&&this.options.Clerk?this.loadHeadlessClerk():this.#n&&this.getEntryChunks()}loadHeadlessClerk(){const r=nm(this.options.Clerk)?new this.options.Clerk(this.#n,{proxyUrl:this.proxyUrl,domain:this.domain}):this.options.Clerk;if(!r){this.#o.emit(zr.Status,"error");return}const o=()=>{this.replayInterceptedInvocations(r)};r.loaded?o():r.load(this.options).then(()=>o()).catch(s=>{this.#o.emit(zr.Status,"error"),this.emitLoaded()})}get sdkMetadata(){return this.clerkjs?.sdkMetadata||this.options.sdkMetadata||void 0}get instanceType(){return this.clerkjs?.instanceType}get frontendApi(){return this.clerkjs?.frontendApi||""}get isStandardBrowser(){return this.clerkjs?.isStandardBrowser||this.options.standardBrowser||!1}get isSatellite(){return typeof window<"u"&&window.location?Tc(this.options.isSatellite,new URL(window.location.href),!1):typeof this.options.isSatellite=="function"?hn.throw(Rc):!1}#a(){return new Promise(r=>{this.addOnLoaded(()=>r(this.clerkjs))})}async getEntryChunks(){if(!(this.mode!=="browser"||this.loaded)){typeof window<"u"&&(window.__clerk_publishable_key=this.#n,window.__clerk_proxy_url=this.proxyUrl,window.__clerk_domain=this.domain);try{const r=await this.getClerkJsEntryChunk();if(!r.loaded){this.beforeLoad(r);const o=this.options.standardBrowser!==!1&&!this.options.Clerk||this.options.ui?.ClerkUI?await this.getClerkUIEntryChunk():void 0;await r.load({...this.options,ui:{...this.options.ui,ClerkUI:o}})}r.loaded&&this.replayInterceptedInvocations(r)}catch(r){const o=r;this.#o.emit(zr.Status,"error"),console.error(o.stack||o.message||o);return}}}async getClerkJsEntryChunk(){if((!this.options.Clerk||this.options.__internal_clerkJSUrl)&&!__BUILD_DISABLE_RHC__&&await KE({...this.options,publishableKey:this.#n,proxyUrl:this.proxyUrl,domain:this.domain,nonce:this.options.nonce}),this.options.Clerk&&!this.options.__internal_clerkJSUrl&&(globalThis.Clerk=nm(this.options.Clerk)?new this.options.Clerk(this.#n,{proxyUrl:this.proxyUrl,domain:this.domain}):this.options.Clerk),!globalThis.Clerk)throw new Error("Failed to download latest ClerkJS. Contact [email protected].");return globalThis.Clerk}async getClerkUIEntryChunk(){const r=this.options.ui,o=!!this.options.__internal_clerkUIUrl;if(r?.ClerkUI&&!o)return r.ClerkUI;if(!((r||this.options.prefetchUI===!1)&&!o)&&!__BUILD_DISABLE_RHC__){if(await GE({...this.options,publishableKey:this.#n,proxyUrl:this.proxyUrl,domain:this.domain,nonce:this.options.nonce}),!globalThis.__internal_ClerkUICtor)throw new Error("Failed to download latest Clerk UI. Contact [email protected].");return globalThis.__internal_ClerkUICtor}}get version(){return this.clerkjs?.version}get uiVersion(){return this.clerkjs?.uiVersion}get client(){if(this.clerkjs)return this.clerkjs.client}get session(){if(this.clerkjs)return this.clerkjs.session}get user(){if(this.clerkjs)return this.clerkjs.user}get organization(){if(this.clerkjs)return this.clerkjs.organization}get telemetry(){if(this.clerkjs)return this.clerkjs.telemetry}get __internal_environment(){if(this.clerkjs)return this.clerkjs.__internal_environment}get isSignedIn(){return this.clerkjs?this.clerkjs.isSignedIn:!1}get billing(){return this.clerkjs?.billing}get __internal_state(){return this.loaded&&this.clerkjs?this.clerkjs.__internal_state:this.#s}get apiKeys(){return this.clerkjs?.apiKeys}get oauthApplication(){return this.clerkjs?.oauthApplication}__internal_setEnvironment(...r){if(this.clerkjs&&"__internal_setEnvironment"in this.clerkjs)this.clerkjs.__internal_setEnvironment(r);else return}get __internal_lastEmittedResources(){return this.clerkjs?.__internal_lastEmittedResources}get __internal_hasOAuthTransport(){return this.clerkjs?.__internal_hasOAuthTransport||!1}get __internal_oauthTransport(){return this.clerkjs?.__internal_oauthTransport||null}};function mC(){try{return cC(L.version,[[18,0,-1,0],[19,0,0,3],[19,1,1,4],[19,2,2,3],[19,3,3,0]])}catch{return!1}}const gC=mC();function yC(e){const{initialState:r,children:o,...s}=e,{isomorphicClerk:a,clerkStatus:d}=bC(hE(s));return L.createElement(F_,{initialState:r,clerk:a,clerkStatus:d},o)}function vC(e){return L.useContext(zu)&&hn.throw(G_),L.createElement(yC,e)}const Jy=vC;Jy.displayName="ClerkProvider";const wC=gC?"shared":"",bC=e=>{const r=L.useMemo(()=>({clerkUIVariant:wC,...e}),[e]),o=L.useRef(fm.getOrCreateInstance(r)),[s,a]=L.useState(o.current.status);return L.useEffect(()=>{o.current.__internal_updateProps({appearance:e.appearance})},[e.appearance]),L.useEffect(()=>{o.current.__internal_updateProps({options:e})},[e.localization]),L.useEffect(()=>(o.current.on("status",a),()=>{o.current&&o.current.off("status",a),fm.clearInstance()}),[]),{isomorphicClerk:o.current,clerkStatus:s}};typeof window<"u"&&!window.global&&(window.global=typeof global>"u"?window:global);if(globalThis.__clerkSharedModules){const e=globalThis.__clerkSharedModules.react?.ver
23sion;e&&e!==v.version&&console.warn(`[@clerk/ui/register] React version mismatch detected. Already registered: ${e}, current import: ${v.version}. This may cause issues with the shared @clerk/ui variant.`)}else globalThis.__clerkSharedModules={react:Rm,"react-dom":tx,"react-dom/client":Sb,"react/jsx-runtime":yb};Ie(({clerk:e,children:r,...o})=>{const{appearance:s,getContainer:a,component:d,...f}=o;r=ai(r,"Invite members");const h=si(r)("InviteMembersButton"),m=()=>e.openInviteMembers({appearance:s,getContainer:a}),w={...f,onClick:async b=>(h&&typeof h=="object"&&"props"in h&&await li(h.props.onClick)(b),m())};return L.cloneElement(h,w)},{component:"InviteMembersButton",renderWhileLoading:!0});Ie(({clerk:e,children:r,...o})=>{const{appearance:s,getContainer:a,component:d,signUpFallbackRedirectUrl:f,forceRedirectUrl:h,fallbackRedirectUrl:m,signUpForceRedirectUrl:y,mode:w,initialValues:b,withSignUp:k,oauthFlow:P,...T}=o;r=ai(r,"Sign in");const E=si(r)("SignInButton"),S=()=>{const j={forceRedirectUrl:h,fallbackRedirectUrl:m,signUpFallbackRedirectUrl:f,signUpForceRedirectUrl:y,initialValues:b,withSignUp:k,oauthFlow:P};return w==="modal"?e.openSignIn({...j,appearance:s,getContainer:a}):e.redirectToSignIn({...j,signInFallbackRedirectUrl:m,signInForceRedirectUrl:h})},O={...T,onClick:async j=>(E&&typeof E=="object"&&"props"in E&&await li(E.props.onClick)(j),S())};return L.cloneElement(E,O)},{component:"SignInButton",renderWhileLoading:!0});Ie(({clerk:e,children:r,...o})=>{const{redirectUrl:s,getContainer:a,component:d,...f}=o;r=ai(r,"Sign in with Metamask");const h=si(r)("SignInWithMetamaskButton"),m=async()=>{async function b(){await e.authenticateWithMetamask({redirectUrl:s||void 0})}b()},w={...f,onClick:async b=>(await li(h.props.onClick)(b),m())};return L.cloneElement(h,w)},{component:"SignInWithMetamask",renderWhileLoading:!0});Ie(({clerk:e,children:r,...o})=>{const{redirectUrl:s="/",sessionId:a,signOutOptions:d,getContainer:f,component:h,...m}=o;d&&ga("SignOutButton `signOutOptions`","Use the `redirectUrl` and `sessionId` props directly instead."),r=ai(r,"Sign out");const y=si(r)("SignOutButton"),w=()=>e.signOut({redirectUrl:s,...a!==void 0&&{sessionId:a},...d}),k={...m,onClick:async P=>(await li(y.props.onClick)(P),w())};return L.cloneElement(y,k)},{component:"SignOutButton",renderWhileLoading:!0});Ie(({clerk:e,children:r,...o})=>{const{appearance:s,unsafeMetadata:a,getContainer:d,component:f,fallbackRedirectUrl:h,forceRedirectUrl:m,signInFallbackRedirectUrl:y,signInForceRedirectUrl:w,mode:b,initialValues:k,oauthFlow:P,...T}=o;r=ai(r,"Sign up");const E=si(r)("SignUpButton"),S=()=>{const j={fallbackRedirectUrl:h,forceRedirectUrl:m,signInFallbackRedirectUrl:y,signInForceRedirectUrl:w,initialValues:k,oauthFlow:P};return b==="modal"?e.openSignUp({...j,appearance:s,unsafeMetadata:a,getContainer:d}):e.redirectToSignUp({...j,signUpFallbackRedirectUrl:h,signUpForceRedirectUrl:m})},O={...T,onClick:async j=>(E&&typeof E=="object"&&"props"in E&&await li(E.props.onClick)(j),S())};return L.cloneElement(E,O)},{component:"SignUpButton",renderWhileLoading:!0});K_({packageName:"@clerk/react"});eC("@clerk/react");function kC(e){const r=!!e?.impersonating,o=e?.realUser??null,s=r?o?.role??e?.role:e?.role,d=e?.role==="owner"&&(e?.isMultiEntity===!0||(e?.entityAccess?.length??0)>=2);return{isImpersonating:r,effectiveRole:s,isSuperAdmin:s==="super_admin"||r,isSofiaStaff:s==="sofia_staff",isMultiEntity:d}}function pi(){const e=na(),{isSignedIn:r,isLoaded:o}=U_(),{signOut:s}=Cy(),{data:a,isLoading:d}=Wk({queryKey:["/api/auth/user"],queryFn:async()=>{if(!r)return null;const P=await fetch("/api/auth/user",{credentials:"include"});if(P.status===401)return null;if(!P.ok)throw new Error(`${P.status}: ${P.statusText}`);return P.json()},enabled:o,retry:!1,staleTime:0}),f=!o||r===!0&&d,h=Hk({mutationFn:async()=>{await fetch("/api/logout",{credentials:"include"}),await s()},onSuccess:()=>{e.setQueryData(["/api/auth/user"],null),e.clear()}}),m=a?.realUser??null,{isImpersonating:y,isSuperAdmin:w,isSofiaStaff:b,isMultiEntity:k}=kC(a??null);return{user:r?a??null:null,isLoading:f,isAuthenticated:!!r&&!!a,logout:h.mutate,isLoggingOut:h.isPending,isImpersonating:y,realUser:m,isSuperAdmin:w,isSofiaStaff:b,isMultiEntity:k}}const $u="sofia.pendingInviteToken";function qu(){try{return typeof window>"u"||!window.localStorage?null:window.localStorage}catch{return null}}function LI(e){const r=qu();if(!(!r||!e))try{r.setItem($u,e)}catch{}}function Xy(){const e=qu();if(!e)return null;try{return e.getItem($u)}catch{return null}}function MI(){const e=qu();if(e)try{e.removeItem($u)}catch{}}const xC=new Set(["INVITE_NOT_FOUND","INVITE_EXPIRED","INVITE_REVOKED","INVITE_ALREADY_USED","INVITE_ALREADY_ACCEPTED_BY_YOU","INVITE_EMAIL_MISMATCH"]);function DI(e){return!!e&&xC.has(e)}function SC(e){const{isLoaded:r,isSignedIn:o,pathname:s,storedToken:a,authResolved:d,userRole:f}=e;return!(!r||!o||!a||s.startsWith("/accept-invite")||!d||f!=="pending")}function _C(e){const{userRole:r,authResolved:o}=e,{isLoaded:s,isSignedIn:a}=OE(),[,d]=Nt(),f=v.useRef(!1);v.useEffect(()=>{if(f.current)return;const h=typeof window<"u"?window.location.pathname:"",m=Xy();SC({isLoaded:s,isSignedIn:!!a,pathname:h,storedToken:m,authResolved:o,userRole:r})&&(f.current=!0,d("/accept-invite",{replace:!0}))},[s,a,o,r,d])}const EC="sofia_conversation_v3",CC="sofia_conversation_v2";function PC(e,r){return e?`${EC}:${e}:${r??"none"}`:null}function AC(e,r){if(!r)return[];try{const o=e.getItem(r);if(!o)return[];const s=JSON.parse(o);return Array.isArray(s)?s.filter(a=>
23a&&(a.role==="user"||a.role==="assistant")&&typeof a.content=="string"):[]}catch{return[]}}function Fc(e,r,o){if(r)try{e.setItem(r,JSON.stringify(o))}catch{}}function IC(e,r){if(r)try{e.removeItem(r)}catch{}}function jC(e){try{e.removeItem(CC)}catch{}}const Zy=v.createContext(null);function TC({children:e}){const{user:r}=pi(),o=r?.id??null,s=r?.selectedEntityId??r?.entityId??null,a=PC(o,s),[d,f]=v.useState([]),[h,m]=v.useState(!1),[y,w]=v.useState(a),b=v.useRef(null);v.useEffect(()=>{jC(localStorage)},[]),v.useEffect(()=>{b.current=a,f(AC(localStorage,a)),m(!1),w(a)},[a]);const k=a!==y,P=v.useCallback(async E=>{const S=E.trim();if(!S||h||k)return;const I=b.current,O=s,j=[...d,{role:"user",content:S}];f(j),Fc(localStorage,I,j),m(!0);try{const D=await fetch("/api/ai/query",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:S,history:d,...O!==null?{entityId:O}:{}})});if(!D.ok)throw new Error("AI query failed");const F=await D.json(),B=[...j,{role:"assistant",content:F.response}];if(b.current!==I)return;f(B),Fc(localStorage,I,B)}catch{const D=[...j,{role:"assistant",content:"Sorry, I encountered an error. Please try again."}];if(b.current!==I)return;f(D),Fc(localStorage,I,D)}finally{b.current===I&&m(!1)}},[d,h,k,s]),T=v.useCallback(()=>{f([]),IC(localStorage,b.current)},[]);return u.jsx(Zy.Provider,{value:{messages:d,isLoading:h,isSwitching:k,sendMessage:P,clearConversation:T},children:e})}function UI(){const e=v.useContext(Zy);if(!e)throw new Error("useSofiaConversation must be used within SofiaConversationProvider");return e}var Bc={exports:{}};const no=e=>({...e,__type:"prebuilt_appearance"}),RC=Object.freeze(Object.defineProperty({__proto__:null,experimental_createTheme:no},Symbol.toStringTag,{value:"Module"})),OC=jm(RC),ev=no({name:"dark",variables:{colorBackground:"#212126",colorNeutral:"white",colorPrimary:"#ffffff",colorPrimaryForeground:"black",colorForeground:"white",colorInputForeground:"white",colorInput:"#26262B"},elements:{providerIcon__apple:{filter:"invert(1)"},providerIcon__github:{filter:"invert(1)"},providerIcon__okx_wallet:{filter:"invert(1)"},providerIcon__vercel:{filter:"invert(1)"},activeDeviceIcon:{"--cl-chassis-bottom":"#d2d2d2","--cl-chassis-back":"#e6e6e6","--cl-chassis-screen":"#e6e6e6","--cl-screen":"#111111"}}}),NC=no({name:"shadesOfPurple",baseTheme:ev,variables:{colorBackground:"#3f3c77",colorPrimary:"#f8d80d",colorPrimaryForeground:"#38375f",colorInputForeground:"#a1fdfe",colorShimmer:"rgba(161,253,254,0.36)"}}),Fn={boxShadow:"3px 3px 0px #000",border:"2px solid #000","&:focus":{boxShadow:"4px 4px 0px #000",border:"2px solid #000",transform:"scale(1.01)"},"&:active":{boxShadow:"2px 2px 0px #000",transform:"translate(1px)"}},rr={boxShadow:"3px 3px 0px #000",border:"2px solid #000"},LC=no({name:"neobrutalism",simpleStyles:!0,variables:{colorPrimary:"#DF1B1B",colorShimmer:"rgba(255,255,255,0.64)",fontWeight:{normal:500,medium:600,bold:700}},elements:{cardBox:{boxShadow:"7px 7px 0px #000",border:"3px solid #000"},card:{borderRadius:"0"},headerSubtitle:{color:"#212126"},alternativeMethodsBlockButton:Fn,socialButtonsIconButton:{...Fn},selectButton:{...Fn,...rr,transition:"all 0.2s ease-in-out","&:focus":{boxShadow:"4px 4px 0px #000",border:"2px solid #000",transform:"scale(1.01)"}},socialButtonsBlockButton:{...Fn,color:"#212126"},profileSectionPrimaryButton:Fn,profileSectionItem:{color:"#212126"},avatarImageActionsUpload:Fn,menuButton:rr,menuList:rr,formButtonPrimary:Fn,navbarButton:Fn,formFieldAction:{fontWeight:"700"},formFieldInput:{...rr,transition:"all 0.2s ease-in-out","&:focus":{boxShadow:"4px 4px 0px #000",border:"2px solid #000",transform:"scale(1.01)"},"&:hover":{...rr,transform:"scale(1.01)"}},table:rr,tableHead:{color:"#212126"},dividerLine:{background:"#000"},dividerText:{fontWeight:"700",color:"#212126"},footer:{background:"#fff","& div":{color:"#212126"}},footerActionText:{color:"#212126"},footerActionLink:{fontWeight:"700",borderBottom:"3px solid","&:focus":{boxShadow:"none"}},actionCard:{...rr},badge:{border:"1px solid #000",background:"#fff",color:"#212126"}}}),MC=no({name:"shadcn",cssLayerName:"components",variables:{colorBackgroun
23d:"var(--card)",colorDanger:"var(--destructive)",colorForeground:"var(--card-foreground)",colorInput:"var(--input)",colorInputForeground:"var(--card-foreground)",colorModalBackdrop:"var(--color-black)",colorMuted:"var(--muted)",colorMutedForeground:"var(--muted-foreground)",colorNeutral:"var(--foreground)",colorPrimary:"var(--primary)",colorPrimaryForeground:"var(--primary-foreground)",colorRing:"var(--ring)",fontWeight:{normal:"var(--font-weight-normal)",medium:"var(--font-weight-medium)",semibold:"var(--font-weight-semibold)",bold:"var(--font-weight-semibold)"}},elements:{input:"bg-transparent dark:bg-input/30",cardBox:"shadow-sm border",popoverBox:"shadow-sm border",button:{'&[data-variant="solid"]::after':{display:"none"}},providerIcon__apple:"dark:invert",providerIcon__github:"dark:invert",providerIcon__okx_wallet:"dark:invert",providerIcon__vercel:"dark:invert"}}),DC=no({name:"simple",simpleStyles:!0}),UC=Object.freeze(Object.defineProperty({__proto__:null,dark:ev,experimental__simple:DC,neobrutalism:LC,shadcn:MC,shadesOfPurple:NC},Symbol.toStringTag,{value:"Module"})),zC=jm(UC);var hm;function FC(){return hm||(hm=1,(function(e){var r=Object.defineProperty,o=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,d=(y,w,b,k)=>{if(w&&typeof w=="object"||typeof w=="function")for(let P of s(w))!a.call(y,P)&&P!==b&&r(y,P,{get:()=>w[P],enumerable:!(k=o(w,P))||k.enumerable});return y},f=(y,w,b)=>(d(y,w,"default"),b&&d(b,w,"default")),h=y=>d(r({},"__esModule",{value:!0}),y),m={};e.exports=h(m),f(m,OC,e.exports),f(m,zC,e.exports)})(Bc)),Bc.exports}var BC=FC();const $C=/\/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/gi,qC=/\/\d+/g,WC=/\/user_[^/]+/g;function HC(e){return e.replace($C,"/:id").replace(qC,"/:id").replace(WC,"/:id")}function tv(e,r,o,s){if(typeof navigator?.sendBeacon=="function")try{const a={metric:{name:e,value:r,rating:o},route:HC(s)},d=new Blob([JSON.stringify(a)],{type:"application/json"});navigator.sendBeacon("/api/perf/vitals",d)}catch{}}let mm=!1;function VC(e){mm||(mm=!0,we(async()=>{const{onLCP:r,onFCP:o,onTTFB:s,onCLS:a,onINP:d}=await import("./web-vitals-CH6Ec3vE.js");return{onLCP:r,onFCP:o,onTTFB:s,onCLS:a,onINP:d}},[]).then(({onLCP:r,onFCP:o,onTTFB:s,onCLS:a,onINP:d})=>{const f=h=>tv(h.name,h.value,h.rating,e());r(f,{reportAllChanges:!0}),o(f,{reportAllChanges:!0}),s(f,{reportAllChanges:!0}),a(f,{reportAllChanges:!0}),d(f,{reportAllChanges:!0})}).catch(()=>{}))}function QC(){const[e]=Nt(),r=v.useRef(e);v.useEffect(()=>{r.current=e},[e]),v.useEffect(()=>{VC(()=>r.current)},[]);const o=v.useRef({loc:"",startTime:0});o.current.loc!==e&&(o.current={loc:e,startTime:performance.now()});const s=v.useRef(!0);v.useEffect(()=>{if(s.current){s.current=!1;return}const a=performance.now()-o.current.startTime,d=a<1e3?"good":a<3e3?"needs-improvement":"poor";tv("SPA_NAV",a,d,e)},[e])}const ya="/assets/sofia-logo-CQFXJunj.png";function Wu(){return u.jsxs("footer",{className:"pi-footer",children:[u.jsxs("div",{className:"pi-container pi-footer-main",children:[u.jsxs("div",{children:[u.jsx(Ce,{href:"/","aria-label":"Hire Sofia home",children:u.jsx("img",{src:ya,alt:"Hire Sofia",className:"pi-footer-logo"})}),u.jsx("p",{children:"AI accounting for real estate."})]}),u.jsxs("div",{className:"pi-footer-links",children:[u.jsxs("div",{children:[u.jsx("strong",{children:"Explore"}),u.jsx("a",{href:"/#portfolio",children:"Portfolio"}),u.jsx(Ce,{href:"/how-sofia-works",children:"How Sofia works"}),u.jsx(Ce,{href:"/vacation-rental-accounting",children:"Hire Sofia Accounting Services"}),u.jsx(Ce,{href:"/switch-to-sofia/quickbooks",children:"Switch to Sofia"}),u.jsx(Ce,{href:"/blog",children:"Journal"})]}),u.jsxs("div",{children:[u.jsx("strong",{children:"Compare"}),u.jsx(Ce,{href:"/compare/quickbooks",children:"Sofia vs QuickBooks"}),u.jsx(Ce,{href:"/compare/stessa",children:"Sofia vs Stessa"}),u.jsx(Ce,{href:"/compare/baselane",children:"Sofia vs Baselane"}),u.jsx(Ce,{href:"/compare/rei-hub",children:"Sofia vs REI Hub"})]}),u.jsxs("div",{children:[u.jsx("strong",{children:"Alternatives"}
23),u.jsx(Ce,{href:"/alternatives/quickbooks",children:"QuickBooks Alternatives"}),u.jsx(Ce,{href:"/alternatives/stessa",children:"Stessa Alternatives"}),u.jsx(Ce,{href:"/alternatives/baselane",children:"Baselane Alternatives"})]}),u.jsxs("div",{children:[u.jsx("strong",{children:"Sofia"}),u.jsx(Ce,{href:"/demo",children:"Schedule a Demo"}),u.jsx(Ce,{href:"/login",children:"Log in"}),u.jsx("a",{href:"https://www.instagram.com/hiresofia.ai/",target:"_blank",rel:"noopener noreferrer",children:"Instagram"}),u.jsx(Ce,{href:"/privacy",children:"Privacy Policy"}),u.jsx("button",{type:"button","data-sofia-privacy-choices":!0,children:"Privacy Choices"})]}),u.jsxs("div",{children:[u.jsx("strong",{children:"Accounting for"}),u.jsx(Ce,{href:"/accounting/guesty",children:"Guesty"}),u.jsx(Ce,{href:"/accounting/hostaway",children:"Hostaway"}),u.jsx(Ce,{href:"/accounting/ownerrez",children:"OwnerRez"}),u.jsx(Ce,{href:"/accounting/hospitable",children:"Hospitable"}),u.jsx(Ce,{href:"/accounting/clearing",children:"Clearing"}),u.jsx(Ce,{href:"/accounting/jurny",children:"Jurny"}),u.jsx(Ce,{href:"/accounting/quickbooks",children:"QuickBooks"})]})]})]}),u.jsx("div",{className:"pi-container pi-footer-bottom",children:u.jsx("span",{children:"© 2026 Sofia AI"})})]})}const KC="annual",yn={starter:{monthly:39,annual:300,units:"Up to 2 units"},pro:{monthly:79,annual:600,units:"Up to 10 units"}},GC="No commitment. Cancel anytime.",zI=299,FI=!1,YC=["24/7 AI accountant","Automated bookkeeping","Monthly reports","Human support as needed"],JC=["Sofia account configuration","Properties","Bank and credit card connections","Mortgage and loan setup","Opening balances","Initial accounting rules","Readiness review"],XC="Historical cleanup or bookkeeping is not included. These services are available separately through Hire Sofia Accounting Services.";function gm(e){const r=typeof e=="string"?new URLSearchParams(e):e;return r.get("plan")==="starter"||r.get("plan")==="pro"||!r.get("__clerk_ticket")}function ZC(e){const r=typeof e=="string"?new URLSearchParams(e):e;return r.get("plan")==="starter"||r.get("plan")==="pro"?`/get-started?${Hu(va(r))}`:"/get-started"}function va(e){const r=typeof e=="string"?new URLSearchParams(e):e,o=r.get("plan")==="pro"?"pro":"starter",s=r.get("interval")==="monthly"?"monthly":KC;return{plan:o,interval:s,setup:r.get("setup")==="1"}}function Hu(e){const r=new URLSearchParams({plan:e.plan,interval:e.interval});return e.setup&&r.set("setup","1"),r.toString()}function BI(){return{"@context":"https://schema.org","@graph":[{"@type":"WebPage",name:Fr.title,description:Fr.description,url:Fr.canonical,isPartOf:{"@type":"WebSite",url:"https://hiresofia.ai/"}},{"@type":"SoftwareApplication",name:"Sofia AI",applicationCategory:"BusinessApplication",operatingSystem:"Web",description:"Real estate accounting software",url:Fr.canonical},{"@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://hiresofia.ai/"},{"@type":"ListItem",position:2,name:"Sofia AI for real estate",item:Fr.canonical}]},{"@type":"FAQPage",mainEntity:Fr.faqs.map(e=>({"@type":"Question",name:e.question,acceptedAnswer:{"@type":"Answer",text:e.answer}}))}]}}const Fr={title:"Sofia AI for Real Estate | Your AI Accountant",description:"Connect your real estate finances with Sofia AI. Keep property books organized, review what needs your input, and see current financial reports.",canonical:"https://hiresofia.ai/start",hero:{eyebrow:"SOFIA AI",title:"Your AI accountant for real estate.",description:"Bring your properties, transactions, loans, and financials together. Keep your books moving with Sofia."},fragmentation:{eyebrow:"ONE VIEW",title:"Your portfolio lives in too many places.",description:"Banks, cards, mortgages, booking platforms, and spreadsheets each tell part of the story. Sofia AI brings the accounting into one place without replacing the systems you already use.",sources:["Properties","Bank accounts","Credit cards","Mortgages","Booking activity","Spreadsheets"]},workflow:{eyebrow:"HOW IT WORKS",title:"From activity to answers.",steps:[{title:"Connect",description:"Bring in bank and credit card activity and set up your properties and loans."},{title:"Automate",description:"Sofia applies accounting rules and organizes activity by account and property."},{title:"Review",description:"When a decision needs your input, Sofia asks instead of guessing."},{title:"Report",description:"See financial reports that trace back to the activity behind them."}]},outcomes:{eyebrow:"OUTCOMES",title:"More clarity. Less bookkeeping.",items:[{title:"Books that keep moving",description:"A 24/7 AI accountant helps organize bank and card activity with less manual work."},{title:"The property-level picture",description:"Keep income, expenses, and loan activity in context across your portfolio."},{title:"Reports you can use",description:"See current financial reporting and review the underlying activity when you need to."}]},proof:{eyebrow:"INSIDE SOFIA",title:"See the work behind the numbers.",description:"A look inside Sofia.",items:[{src:"/product-proof/transactions-start.webp",alt:"Sofia Instagram visualization of Transactions with account filters and property-labeled rental activity",title:"Activity, organized",description:"Bank transactions stay visible as Sofia organizes the accounting."},{src:"/product-proof/financial-statements-start.webp",alt:"Sofia Instagram visualization of a Profit and Loss report for all properties",title:"Reporting with context",description:"Follow report numbers back to property-level activity."}]},audiences:{eyebrow:"BUILT FOR REAL ESTATE",title:"One place for the accounting.",items:[{title:"Real estate owners",description:"Keep each property's income, costs, and loans in view."},{title:"Vacation rental operators",description:"Bring booking-related activity into your property books."},{title:"Property managers",description:"Review activity across the properties you manage."}]},pricing:{eyebrow:"PRICING",title:`From $${(yn.starter.annual/12).toFixed(0)}/month`,description:"A straightforward starting point for your real estate books.",coverage:`Starter includes ${yn.starter.units.toLowerCase()}. Larger portfolios have more options.`},faqs:[{question:"What is Sofia AI?",answer:"Sofia AI is real estate accounting software. It helps organize activity, keeps property books current, asks for review when needed, and produces financial reports. It is not a done-for-you accounting service."},{question:"Who is it designed for?",answer:"Real estate owners, vacation rental operators, and property managers who need property-level accounting. Plans are based on units; larger portfolios can discuss a custom option."},{question:"Do I need to leave QuickBooks?",answer:"No. QuickBooks is not required to use Sofia AI. Hire Sofia Accounting Services can also work in a client's existing QuickBooks stack; Sofia AI does not promise an automatic QuickBooks migration."},{question:"What happens after I choose a plan?",answer:"The plans page explains the options and next steps. You can schedule a demo to talk through your portfolio."},{question:"Can someone help me get set up?",answer:"Optional Done For You Setup helps configure your Sofia account, properties, connections, loans, and opening balances. Historical cleanup and bookkeeping are separate services from Hire Sofia Accounting Services."}],faqEyebrow:"FAQ",closing:{eyebrow:"GET STARTED",title:"Ready to put your accounting on Sofia?",description:"See the plans or talk with us about your portfolio."},cta:{primary:"Get Started",plans:"See Plans & Get Started",demo:"Schedule a Demo",primaryHref:"/get-started",demoHref:"/demo"}},$I="Vacation Rental Accounting, Without the Backlog | Sofia AI",qI="Sofia is the AI accountant for vacation-rental and real-estate owners. Keep booking-platform payouts, property expenses, mortgages, and reports connectedâwithout losing the story in the books.",WI="https://hiresofia.ai/vacation-rental-accounting",eP=["rental-property-accounting","rental-property-bookkeeping","mortgage-rental-property","rental-property-capex-repairs","reconcile-rental-property-bank-account","rental-property-transfers"],HI={hero:{eyebrow:"Accounting for vacation rentals",title:"The booking ends. The accounting shouldnât.",lede:"Vacation-rental bookkeeping gets complicated in the quiet places: platform fees hidden in payouts, a mortgage split into
23its parts, a repair that may be more than a repair.",support:"Sofia is the AI accountant for real-estate owners and operators. She keeps the money moving through your properties connected, explained, and ready to review.",trustLine:"Built for rental portfolios, not one booking platform"},origin:{eyebrow:"Built from the stay outward",title:"Sofia started with vacation-rental accounting.",paragraphs:["Vacation rentals were the original problem: a steady stream of booking activity, operating costs, owner money, and property decisions that do not fit neatly into a generic ledger.","Sofia was built to keep that story intact. Recorded activity remains connected to its source, its fees, its property context, and the books it informsâwhether the underlying business uses Airbnb, another booking platform, a property manager, or direct bookings."],linkLabel:"See how Sofia works"},situations:[{key:"payouts",label:"Booking-platform payouts",title:"The deposit is not the whole story.",body:"Gross booking income and platform fees stay visible together, so a net deposit does not quietly understate what the property earned."},{key:"property-costs",label:"Property costs",title:"Every stay leaves a trail.",body:"Cleaning, supplies, utilities, management fees, and shared costs keep the property context needed for useful reporting."},{key:"mortgages",label:"Mortgage payments",title:"One payment can have several jobs.",body:"Principal, interest, and supported escrow-related activity stay distinct instead of becoming one unhelpful expense."},{key:"improvements",label:"Repairs and improvements",title:"A purchase can need judgment.",body:"Sofia keeps the evidence and property context together when an outflow may be an ordinary repair or a lasting improvement."}],workflow:[{number:"01",title:"Connect the accounts",body:"Bring in the bank and card activity your properties actually use."},{number:"02",title:"Add the context",body:"Keep category, property, source, and supporting documents together."},{number:"03",title:"Book the accounting",body:"Clear activity moves through double-entry bookkeeping and specialized workflows."},{number:"04",title:"Review the exceptions",body:"When the evidence is not enough, Sofia asks instead of silently guessing."},{number:"05",title:"Reconcile and report",body:"Compare the ledger to the statement, then read the property results."}],outcomes:[{label:"Profit & Loss",title:"See what each property earned and spent.",body:"Period activity stays connected to the income, expenses, and property context underneath."},{label:"Balance Sheet",title:"See what you own and owe.",body:"Cash, loans, improvements, and equity remain distinct from the activity that changes them."},{label:"Property and portfolio views",title:"Move from one stay to the bigger picture.",body:"Compare properties, months, accounts, and vendors without losing the underlying source activity."}],audience:{eyebrow:"Room for how you work",title:"One property or a whole portfolio.",body:"Sofia is for the owner building a first vacation rental, the operator balancing a growing group of properties, and the real-estate business with a mix of short-term, long-term, and other rental activity.",items:["Single-property owners who want books they can understand","Vacation-rental operators coordinating property costs and payouts","Mixed portfolios that need one connected accounting workflow"]},hireSofia:{eyebrow:"Hire Sofia Accounting Services for vacation rentals",title:"Your accounting department for vacation rentals.",body:"Hire Sofia Accounting Services is Hire Sofiaâs human-led accounting offering. Our accounting team can run the monthly accounting operation for vacation-rental owners and property managers, while Sofia AI is our accounting software.",primaryServices:["Trust accounting","Owner statements"],supportingServices:["Bank reconciliations","Monthly close","Corporate books","Financial reporting"],systems:"Hire Sofia Accounting Services can work within the clientâs existing stack where appropriateâincluding the PMS, Clearing, QuickBooks Online, banks, and other financial systems. Clients do not need to migrate to Sofia AI to use Hire Sofia Accounting Services.",approvedClaim:"Hire Sofia serves hundreds of owners and operators, from single-property owners to operators managing hundreds of units.",href:"https://hiresofia.com",linkLabel:"Visit Hire Sofia Accounting Services"},boundary:"Tax preparation, legal advice, and CPA services are outside the scope of Sofia AI.",journal:{eyebrow:"From the Journal",title:"Go deeper on the books behind the stay.",body:"Explore the published guides that explain rental-property accounting, payouts, mortgages, repairs, and reconciliation."},faqs:[{question:"Is Sofia only for Airbnb hosts?",answer:"No. Sofia is for real-estate owners and operators with vacation rentals, short-term rentals, long-term rentals, or a mixed portfolio. Airbnb is one source of activityânot the boundary of the accounting."},{question:"Can Sofia handle vacation-rental bookkeeping?",answer:"Sofia handles the accounting workflow behind your rental activity: connected bank activity, transaction context, double-entry bookkeeping, reconciliation, and financial statements. It keeps platform fees, property costs, transfers, and owner activity visible."},{question:"Does Sofia provide trust accounting?",answer:"No. Trust accounting is outside Sofiaâs software boundary and is attributed to Hire Sofia Accounting Services. If you manage funds held for owners or guests, keep that workflow with the appropriate trust-accounting system and professional guidance."},{question:"Do I need QuickBooks?",answer:"No. Sofia has a built-in accounting system, so QuickBooks is not required. During a demo, we can talk through your current books and the right way to move forward."}],destinations:{howSofiaWorks:"/how-sofia-works",demo:"/demo",login:"/login"}},wa="https://hiresofia.ai/compare",tP={slug:"quickbooks",competitor:"QuickBooks",eyebrow:"Sofia AI vs. QuickBooks",pageTitle:"Sofia AI vs. QuickBooks for Rental Property Accounting | Hire Sofia",t
23itle:"A clearer home for property accounting.",heroTitleLead:"A clearer home for",heroTitleEmphasis:"property accounting.",description:"Compare Sofia AI and QuickBooks for rental-property accounting: property context, bank activity, journals, reconciliation, reports, and the work each product expects from you.",canonical:`${wa}/quickbooks`,heroBody:"QuickBooks is a broad business accounting platform. Sofia AI is accounting software built for real estate owners and non-accountants: it performs the accounting itself, connecting each bank movement to property context, the full double-entry journal, review, and reports.",heroNote:"For owners and rental portfoliosânot a generic business ledger.",comparisonIntro:"Both products can help organize financial activity. The important difference is where the experience starts: QuickBooks is a general-purpose business accounting system, while Sofia begins with the property activity and context that real estate owners need to keep connected.",comparisonHeadingLead:"Not a feature race.",comparisonHeadingEmphasis:"A difference in focus.",comparisonQuestion:"5 practical questions for choosing the accounting system around a rental portfolio.",visual:{ariaLabel:"QuickBooks and Sofia AI begin with different accounting contexts",competitorTitle:"General business books",competitorBody:"Accounts, categories, transactions, and reports configured around the business.",competitorLines:[{label:"Business structure",value:"Flexible setup"},{label:"Primary fit",value:"Many industries"}],sofiaTitle:"Property books in context",sofiaBody:"Activity stays connected to the property, treatment, journal, and report.",sofiaLines:[{label:"Property",value:"The Marlowe"},{label:"Activity",value:"Mortgage payment"}],footer:"Built for real estate owners and rental portfolios"},flowHeading:"The property activity stays connected to the books.",flowBody:"Sofia is AI-native accounting rather than conventional accounting with an AI layer added on top. It handles the full double-entry journal behind the scenes, so a real estate owner can move from bank activity to context, reconciliation, and reports without managing debits and credits; uncertain treatment is surfaced for review.",points:[{topic:"Who it is built around",sofia:"Real estate owners and rental portfolios, with property context kept next to the activity.",competitor:"Businesses of many sizes and types, with plans and tools that scale beyond one industry.",sourceIds:["quickbooks-products","sofia-home"]},{topic:"The accounting path",sofia:"Bank activity â context â journal â reconciliation â reports.",competitor:"Connect accounts, categorize activity, manage the books, and use the reports available with the selected plan.",sourceIds:["quickbooks-essentials","quickbooks-products","sofia-how"]},{topic:"Property-level context",sofia:"Property, category, and evidence stay attached to the transaction before it reaches the ledger.",competitor:"A flexible general ledger that can be configured for a business, with the setup and structure shaped by the user or accountant.",sourceIds:["quickbooks-products","sofia-how"]},{topic:"Financial reports",sofia:"Ledger-backed P&L, Balance Sheet, and property views show what happened and where it belongs.",competitor:"Available reports depend on the QuickBooks Online subscription; Intuit documents P&L and Balance Sheet among the standard reports on every listed plan.",sourceIds:["quickbooks-reports","sofia-home"]},{topic:"When evidence is incomplete",sofia:"Uncertain treatment stays visible in review instead of being quietly forced into a category.",competitor:"QuickBooks provides categorization and accounting workflows; the right review and account structure depend on the selected product and setup.",sourceIds:["quickbooks-essentials","sofia-how"]}],sections:[{eyebrow:"Different starting points",title:"QuickBooks starts with the business. Sofia starts with the property.",body:"QuickBooks can be a strong general accounting foundation when you want a broad business system and an accountant already works in that environment. Sofia narrows the center of gravity to the reality of a property portfolio: bank activity gets context, clear treatment becomes a journal entry, and the resulting reports can be read back to the property that created them.",points:["Use Sofia when property and portfolio context should be part of the everyday accounting workflow.","Use QuickBooks when a broad business accounting platform, wider ecosystem, or existing accountant process is the priority."]},{eyebrow:"One connected record",title:"See the path from bank activity to financials.",body:"A mortgage payment is not just an expense. A transfer is not income. An improvement is not automatically a repair. Sofia keeps those distinctions visible as activity moves through context, journal, reconciliation, and reports, while leaving judgment calls in view for review.",points:["Mortgage payment â principal, interest, and supported escrow treatment.","Internal transfer â paired cash movement with no income or expense effect.","Capital improvement â a possible fixed asset or improvement kept distinct from a routine repair."]},{eyebrow:"A fair fit check",title:"The right choice depends on the work around the books.",body:"QuickBooks may be the better fit for a broader operating business, a team that already has a well-established QuickBooks workflow, or a need for tools outside property accounting. Sofia may be the better fit when the main job is understanding a rental portfolio without translating every transaction into property context by hand.",points:["Choose the system your owner, operator, or accountant can actually keep current.","Ask whether property-level reporting is a core workflow or a configuration project.","Prefer a clear review boundary over a promise that every decision happens automatically."]}],faqs:[{question:"Can Sofia AI replace QuickBooks?",answer:"Sofia AI is accounting software designed to be the built-in system for real estate owners and rental portfolios, so QuickBooks is not required for its workflow. This comparison does not promise a transfer of existing books; plan any transition around your current records, accountant, reporting needs, and historical setup. Sofia AI is not a done-for-you accounting service. For human-led accounting work, see Hire Sofia Accounting Services."},{question:"Does QuickBooks work for rental properties?",answer:"QuickBooks is a general business accounting platform and can be configured for many businesses. The fit for a rental portfolio depen
23ds on how you structure properties, accounts, reports, and the work your team or accountant is prepared to maintain."},{question:"What does Sofia AI do with a transaction?",answer:"Sofia connects bank activity to category and property context, posts clear treatment through the accounting workflow, keeps specialized events in their dedicated shape, and holds uncertain treatment for review rather than guessing."},{question:"Can I still work with my accountant?",answer:"Yes. Sofia keeps the journal, reconciliation, and reports visible so an owner and accountant can review the same accounting story. The right handoff depends on your accountantâs preferred process and the records you need to provide."}],sources:[{id:"quickbooks-products",label:"QuickBooks product comparison",url:"https://quickbooks.intuit.com/products/",reviewedAt:"2026-08-29"},{id:"quickbooks-essentials",label:"QuickBooks Online Essentials",url:"https://quickbooks.intuit.com/oa/online/essentials/",reviewedAt:"2026-08-29"},{id:"quickbooks-reports",label:"QuickBooks Online reports by subscription",url:"https://quickbooks.intuit.com/learn-support/en-us/help-article/purchase-orders/reports-included-quickbooks-online-subscription/L0s4KrGgr_US_en_US",reviewedAt:"2026-08-29"},{id:"sofia-home",label:"Sofia homepage",url:"https://hiresofia.ai/",reviewedAt:"2026-08-29"},{id:"sofia-how",label:"How Sofia Works",url:"https://hiresofia.ai/how-sofia-works",reviewedAt:"2026-08-29"}],capabilityIds:["categorization","reporting","journal-review","reconciliation","transfers","loans","fixed-assets"]},nP={slug:"stessa",competitor:"Stessa",eyebrow:"Sofia AI vs. Stessa",pageTitle:"Sofia AI vs. Stessa for Rental Property Accounting | Hire Sofia",title:"Property books that keep the context.",heroTitleLead:"Property books that",heroTitleEmphasis:"keep the context.",description:"Compare Sofia AI and Stessa for rental-property accounting: simple landlord books, property context, journal workflow, reconciliation, reports, and the work each product expects from you.",canonical:`${wa}/stessa`,heroBody:"Stessa is purpose-built for landlords and combines rental property finances with asset-management and rent tools. Sofia AI is accounting software built for real estate owners and non-accountants: it performs the accounting itself, connecting bank activity to property context, the full double-entry journal, review, reconciliation, and reports.",heroNote:"For owners who want accounting and property context in one connected record.",comparisonIntro:"Stessa and Sofia both speak to rental property owners, but they make a different accounting tradeoff visible. Stessa emphasizes simple, landlord-friendly single-entry books alongside portfolio tools. Sofia emphasizes a connected double-entry journal and an explicit path for review when the treatment is not clear.",comparisonHeadingLead:"Two landlord-first products.",comparisonHeadingEmphasis:"Different accounting centers.",comparisonQuestion:"5 practical questions for choosing the right home for rental-property books.",visual:{ariaLabel:"Stessa and Sofia AI approach rental property finances from different accounting centers",competitorTitle:"Simple landlord finances",competitorBody:"Rental income, expenses, receipts, reports, and portfolio tools in a landlord-focused experience.",competitorLines:[{label:"Bookkeeping model",value:"Single-entry"},{label:"Portfolio tools",value:"Rent + assets"}],sofiaTitle:"Accounting in context",sofiaBody:"Bank activity stays connected to property context, journal treatment, review, and reports.",sofiaLines:[{label:"Bookkeeping model",value:"Double-entry"},{label:"Review boundary",value:"Visible exceptions"}],footer:"Built for real estate owners and rental portfolios"},flowHeading:"The accounting model is part of the product choice.",flowBody:"Stessa makes landlord bookkeeping approachable with a simple-entry model and portfolio tools. Sofiaâs AI is part of the accounting itselfânot a feature layered onto conventional booksâhandling the full double-entry journal behind a plain-language path from bank activity to context, reconciliation, and reports. Owners do not need to learn debits and credits, and judgment calls can stay visible for review.",points:[{topic:"Who it is built around",sofia:"Real estate owners and rental portfolios, with accounting context c
23arried into the ledger.",competitor:"Owners of residential income property, from a first rental to a growing portfolio.",sourceIds:["stessa-faq","stessa-accounting","sofia-home"]},{topic:"The accounting path",sofia:"Bank activity â context â journal â reconciliation â reports.",competitor:"Import and categorize income and expenses, scan receipts, then use landlord-focused reporting and portfolio tools.",sourceIds:["stessa-accounting","stessa-overview","sofia-how"]},{topic:"Bookkeeping model",sofia:"Proper double-entry accounting stays behind a simple workflow, with specialized events kept in their accounting shape.",competitor:"Stessa explicitly positions its landlord bookkeeping around simple single-entry books rather than traditional double-entry bookkeeping.",sourceIds:["stessa-accounting","sofia-how"]},{topic:"Property and portfolio context",sofia:"Property, category, and evidence stay attached before clear treatment reaches the ledger.",competitor:"Property finances sit alongside asset-management tools, rent collection, tenant screening, and vacancy workflows.",sourceIds:["stessa-faq","stessa-overview","sofia-home"]},{topic:"Financial reports",sofia:"Ledger-backed P&L, Balance Sheet, and property views show what happened and where it belongs.",competitor:"Stessa describes real-time dashboards, advanced reports, and clickable reporting that traces calculations to underlying transactions.",sourceIds:["stessa-accounting","stessa-faq","sofia-home"]}],sections:[{eyebrow:"A real accounting difference",title:"Stessa keeps it simple. Sofia keeps the journal connected.",body:"Stessaâs own accounting page explains its choice to use single-entry books for rental property owners. That can be a good fit when the priority is approachable income and expense tracking. Sofiaâs center is different: the product keeps a balanced journal and the path from bank activity to reconciliation and reports connected, while presenting the workflow in plain language.",points:["Choose Stessa when a landlord-focused finance and asset-management toolkit is the center of the job.","Choose Sofia when the underlying accounting record, review boundary, and property reporting should stay connected."]},{eyebrow:"Beyond the ledger",title:"The surrounding work matters too.",body:"Stessaâs public product pages include receipt scanning, portfolio performance, tenant and vacancy tools, and automated rent collection. Sofiaâs promise is narrower and more deliberate: make the accounting path understandable, keep uncertain treatment visible, and connect the resulting books back to property activity.",points:["A rental manager looking for operations tools may prefer Stessaâs wider property-management surface.","An owner focused on books that reconcile and explain themselves may prefer Sofiaâs accounting-first workflow.","Neither product removes the need for owner judgment on unclear or unusual activity."]},{eyebrow:"A fair fit check",title:"Pick the model your team can keep current.",body:"The best choice is not about which product has the longest list. It is about whether simple portfolio bookkeeping or a connected journal-and-report workflow better matches the work your owner, operator, and accountant need to share.",points:["Ask whether single-entry simplicity or double-entry continuity is the more important starting point.","Map your rent, receipt, reporting, and reconciliation needs before switching.","Bring your accountant into the decision if historical books need to remain comparable."]}],faqs:[{question:"Is Sofia the same as Stessa?",answer:"No. Both are designed for rental property owners, but Stessa emphasizes simple single-entry landlord books alongside portfolio and rent tools. Sofia emphasizes a connected double-entry journal, review, reconciliation, and property-level reporting."},{question:"Does Stessa use double-entry accounting?",answer:"Stessaâs public accounting page describes its bookkeeping as single-entry and says traditional double-entry bookkeeping can be overkill for many rental property owners. Review the current product and reporting details with your accountant before changing systems."},{question:"What does Sofia do with a mortgage payment?",answer:"Sofia keeps the payment in its property and loan context so supported principal, interest, and escrow components can follow the mortgage workflow rather than becoming one undifferentiated expense."},{question:"Can I switch from Stessa to Sofia automatically?",answer:"This comparison does not promise that existing books move automatically. A switch should be planned around your historical reporting, property structure, and accountantâs process."}],sources:[{id:"stessa-accounting",label:"Stessa rental property accounting",url:"https://www.stessa.com/accounting/",reviewedAt:"2026-08-29"},{id:"stessa-overview",label:"Stessa automated rental property finances",url:"https://www.stessa.com/overview/",reviewedAt:"2026-08-29"},{id:"stessa-faq",label:"Stessa new customer FAQ",url:"https://support.stessa.com/en/articles/2680071-stessa-new-customer-faq",reviewedAt:"2026-08-29"},{id:"sofia-home",label:"Sofia homepage",url:"https://hiresofia.ai/",reviewedAt:"2026-08-29"},{id:"sofia-how",label:"How Sofia Works",url:"https://hiresofia.ai/how-sofia-works",reviewedAt:"2026-08-29"}],capabilityIds:["categorization","reporting","journal-review","reconciliation","transfers","loans"]},rP={slug:"baselane",competitor:"Baselane",eyebrow:"Sofia AI vs. Baselane",pageTitle:"Sofia AI vs. Baselane for Rental Property Accounting | Hire Sofia",t
23itle:"When the bank account is not the whole story.",heroTitleLead:"The bank account is",heroTitleEmphasis:"not the whole story.",description:"Compare Sofia AI and Baselane for rental-property accounting: property banking, rent collection, automated bookkeeping, transaction context, reconciliation, reports, and best fit.",canonical:`${wa}/baselane`,heroBody:"Baselane brings property banking, rent collection, bill pay, bookkeeping, and reporting into one financial platform. Sofia AI is accounting software built for real estate owners and non-accountants: it performs the accounting itself, connecting activity to property context, the full double-entry journal, review, and reports.",heroNote:"For owners who want accounting context beyond the bank feed.",comparisonIntro:"Baselane is designed to make rental money move, land, and get tagged inside property-specific financial accounts. Sofia is designed to make the resulting accounting story clear: context before posting, a journal behind the scenes, visible review when needed, and reports tied back to activity.",comparisonHeadingLead:"Banking and books.",comparisonHeadingEmphasis:"Two useful starting points.",comparisonQuestion:"5 practical questions for choosing the right financial workflow for a rental portfolio.",visual:{ariaLabel:"Baselane and Sofia AI begin the rental property w
23orkflow from different financial starting points",competitorTitle:"Property banking first",competitorBody:"Banking, rent collection, bill pay, bookkeeping, and reports across entities and properties.",competitorLines:[{label:"Money movement",value:"Accounts + rent"},{label:"Automation",value:"Auto-tagging"}],sofiaTitle:"Accounting context first",sofiaBody:"Activity is interpreted through property, category, evidence, journal, and review.",sofiaLines:[{label:"Accounting path",value:"Activity â ledger"},{label:"Control",value:"Review when needed"}],footer:"Built for real estate owners and rental portfolios"},flowHeading:"Banking is where Baselane starts. Context is where Sofia starts.",flowBody:"Baselaneâs public product pages center property banking and financial operations. Sofiaâs AI-native approach begins after activity arrives: AI handles the accounting mechanics and full double-entry journal behind context, reconciliation, and reports. Owners do not need to manage debits and credits, and uncertain treatment can be surfaced for review instead of silently forced.",points:[{topic:"Who it is built around",sofia:"Real estate owners and rental portfolios that want the accounting record to stay understandable.",competitor:"Real estate investors and landlords managing property banking and financial operations across entities.",sourceIds:["baselane-home","baselane-how","sofia-home"]},{topic:"The accounting path",sofia:"Bank activity â context â journal â reconciliation â reports.",competitor:"Money moves through property-specific accounts, then automated bookkeeping tags activity by entity, property, and tax category.",sourceIds:["baselane-banking","baselane-bookkeeping","sofia-how"]},{topic:"What automation covers",sofia:"Clear treatment can post through the accounting workflow; uncertain treatment stays visible for review.",competitor:"Baselane describes AI and custom rules that tag transactions to the right entity, property, and tax category as they hit its accounts.",sourceIds:["baselane-bookkeeping","sofia-how"]},{topic:"Money movement",sofia:"The books explain how a movement affects cash, liabilities, income, expense, or property context.",competitor:"Banking, rent collection, bill pay, and payments are part of Baselaneâs rental-finance platform.",sourceIds:["baselane-how","baselane-rent","baselane-banking"]},{topic:"Financial reports",sofia:"Ledger-backed P&L, Balance Sheet, and property views show what happened and where it belongs.",competitor:"Baselane describes real-time financial reporting across entities and properties, alongside accountant tax packages.",sourceIds:["baselane-bookkeeping","baselane-how","sofia-home"]}],sections:[{eyebrow:"Different first moves",title:"Baselane organizes the money. Sofia explains the books.",body:"Baselaneâs product is unusually broad around rental money: property-specific banking, rent collection, bill pay, automated tagging, and reporting. Sofia is intentionally centered on the accounting path after activity arrives, keeping property context, journal treatment, reconciliation, and review in one story.",points:["Choose Baselane when property banking and money movement are central to the workflow.","Choose Sofia when the accounting record and its review boundary are the center of the workflow."]},{eyebrow:"A movement needs context",title:"A bank feed can show the movement. The books need the reason.",body:"Rent, a bill payment, an owner contribution, and an internal transfer can all look like ordinary bank activity. Sofia is designed to keep those contexts visible before the ledger and reports are relied on. Baselaneâs automated tagging and rental-finance tools can be a strong fit for owners who want those operations close to the bank.",points:["Rent collection is a money-in workflow; it should not be treated like operating income without its context.","An internal transfer should move cash without becoming revenue.","The right property and category should survive into the report, not disappear at import."]},{eyebrow:"A fair fit check",title:"Start where your portfolio feels the most friction.",body:"If the hard part is commingled funds, rent collection, or multiple financial logins, Baselaneâs banking-first approach may be the better fit. If the hard part is knowing whether each movement became the right accounting event, Sofiaâs accounting-first approach may be the better fit.",points:["Map your banking and rent workflows separately from your close and reporting workflows.","Ask who owns exceptions when automated tagging is not enough.","Choose a system your accountant can review without reconstructing the story."]}],faqs:[{question:"Is Baselane a bank?",answer:"Baselane describes itself as a financial technology company, not an FDIC-insured bank; its public site says banking services are provided by Thread Bank, Member FDIC. Review the current terms and disclosures before opening or moving accounts."},{question:"How is Sofia different from Baselane?",answer:"Baselane centers property banking and rental financial operations. Sofia centers the accounting record: bank activity gets context, clear treatment moves through the journal workflow, uncertain items stay visible for review, and reports stay connected to the ledger."},{question:"Does Baselane collect rent?",answer:"Yes. Baselaneâs public rent-collection page describes automated rent collection, tenant portals, reminders, late fees, and payment tracking. Sofiaâs comparison is about accounting workflow, not rent-collection administration."},{question:"Can Baselane and Sofia be evaluated for the same portfolio?",answer:"Yes, but compare the complete workflow: where money moves, how transactions are contextualized, how exceptions are reviewed, and how reports are produced. Moving between systems still requires a planned, reviewed cutover."}],sources:[{id:"baselane-home",label:"Baselane",url:"https://www.baselane.com/",reviewedAt:"2026-08-29"},{id:"baselane-how",label:"Baselane how it works",url:"https://www.baselane.com/how-it-works",reviewedAt:"2026-08-29"},{id:"baselane-bookkeeping",label:"Baselane landlord bookkeeping",url:"https://www.baselane.com/landlord-accounting",reviewedAt:"2026-08-29"},{id:"baselane-banking",label:"Baselane landlord banking",url:"https://www.baselane.com/landlord-banking-1",reviewedAt:"2026-08-29"}
23,{id:"baselane-rent",label:"Baselane rent collection",url:"https://www.baselane.com/rent-collection",reviewedAt:"2026-08-29"},{id:"sofia-home",label:"Sofia homepage",url:"https://hiresofia.ai/",reviewedAt:"2026-08-29"},{id:"sofia-how",label:"How Sofia Works",url:"https://hiresofia.ai/how-sofia-works",reviewedAt:"2026-08-29"}],capabilityIds:["categorization","reporting","journal-review","reconciliation","transfers"]},oP={slug:"rei-hub",competitor:"REI Hub",eyebrow:"Sofia AI vs. REI Hub",pageTitle:"Sofia AI vs. REI Hub for Rental Property Accounting | Hire Sofia",title:"Property books that speak the investorâs language.",heroTitleLead:"Property books that speak",heroTitleEmphasis:"the investorâs language.",description:"Compare Sofia AI and REI Hub for rental-property accounting: property and unit reporting, rental transaction templates, bank activity, journal workflow, reconciliation, reports, and best fit.",canonical:`${wa}/rei-hub`,heroBody:"REI Hub is a property-centric accounting system for rental property owners and investors, with real-estate-focused setup and transaction templates. Sofia AI is accounting software built for real estate owners and non-accountants: it performs the accounting itself, connecting activity to property context, the full double-entry journal, review, reconciliation, and reports.",heroNote:"For owners who want the accounting story to stay connected to each property.",comparisonIntro:"REI Hub and Sofia are both focused on real estate accounting rather than generic business bookkeeping. REI Hub leans into preconfigured investor accounting, property and unit reporting, and rental-specific transaction templates. Sofia leans into a simple surface over a connected journal, with review boundaries that keep unclear treatment visible.",comparisonHeadingLead:"Both are real-estate focused.",comparisonHeadingEmphasis:"The workflow still matters.",comparisonQuestion:"5 practical questions for choosing the right property-centric accounting workflow.",visual:{ariaLabel:"REI Hub and Sofia AI organize property accounting around different workflow strengths",competitorTitle:"Property-centric accounting",competitorBody:"Investor setup, property and unit reporting, and templates for rental-specific transactions.",competitorLines:[{label:"Default lens",value:"Property + unit"},{label:"Setup",value:"Investor focused"}],sofiaTitle:"Connected accounting path",sofiaBody:"Property activity moves through context, journal, review, reconciliation, and reports.",sofiaLines:[{label:"Default lens",value:"Activity + context"},{label:"Control",value:"Review when needed"}],footer:"Built for real estate owners and rental portfolios"},flowHeading:"Property focus is the beginning, not the whole decision.",flowBody:"REI Hub makes property and unit context central to its accounting setup. Sofia uses AI to perform the accounting itself, keeping the full double-entry journal behind a simple activity-to-reports path. Owners can work in plain language rather than learning debits and credits, with real judgment calls surfaced for review.",points:[{topic:"Who it is built around",sofia:"Real estate owners and rental portfolios that want a simple, reviewable accounting workflow.",competitor:"Rental property owners, real estate investors, and the financial professionals who work with them.",sourceIds:["rei-features","rei-faq","sofia-home"]},{topic:"The accounting path",sofia:"Bank activity â context â journal â reconciliation â reports.",competitor:"Connect financial accounts, use real-estate-focused automations, and book transactions through a property-centric accounting system.",sourceIds:["rei-home","rei-features","sofia-how"]},{topic:"Real-estate setup",sofia:"Property context and evidence are carried into the accounting workflow before clear treatment is posted.",competitor:"REI Hub describes preconfigured real estate accounts, Schedule E-oriented defaults, and rental-specific transaction templates.",sourceIds:["rei-features","rei-faq","sofia-how"]},{topic:"Property and unit reporting",sofia:"Property views connect ledger-backed P&L and Balance Sheet results to the activity underneath.",competitor:"REI Hub describes property-by-property and unit-level reporting, including support for multi-unit properties.",sourceIds:["rei-features","rei-faq","sofia-home"]},{topic:"Beyond accounting",sofia:"The product keeps accounting, reconciliation, and review in focus; chat explains but does not complete close controls.",competitor:"REI Hub explicitly distinguishes its accounting product from property-management tools such as rent collection, listings, tenant screening, and maintenance coordination.",sourceIds:["rei-faq","sofia-how"]}],sections:[{eyebrow:"A close comparison",title:"REI Hub is property-centric. So is Sofia.",body:"This is not a generic-ledger-versus-property-ledger comparison. REI Hub explicitly builds around rental investors, property and unit reporting, and rental-specific accounting setup. Sofia also starts with real estate owners, but puts more emphasis on the connected journey from a bank movement to context, journal, review, reconciliation, and reports.",points:["Choose REI Hub when preconfigured investor accounting and property/unit reporting are the core need.","Choose Sofia when a simple user experience over a connected journal and review path is the core need."]},{eyebrow:"The boundary is useful",title:"Accounting and property management are not the same job.",body:"REI Hubâs FAQ says it is not property-management software and does not offer rent c
23ollection, listings, tenant management and screening, or maintenance coordination. Sofia makes a similarly deliberate boundary around accounting: it helps organize and record the books, while chat does not complete reconciliation or resolve every review item.",points:["Keep rent, tenants, maintenance, and accounting responsibilities explicit when comparing tools.","Do not treat a property label as a substitute for a correct accounting treatment.","Keep an operator or accountant in the loop for judgment calls."]},{eyebrow:"A fair fit check",title:"Choose the property lens your team will use.",body:"REI Hub may be the better fit for an investor who wants Schedule E-oriented defaults, property and unit reports, and rental transaction templates. Sofia may be the better fit for an owner who wants the system to connect activity, context, review, reconciliation, and ledger-backed reporting in a simpler surface.",points:["Test a real mortgage payment, transfer, and property improvementânot just a clean rent deposit.","Ask how each system surfaces the exception that does not fit a template.","Compare the report you need at tax time with the workflow you need every week."]}],faqs:[{question:"Is REI Hub the same kind of product as Sofia?",answer:"They are both focused on real estate accounting, but their emphasis differs. REI Hub highlights investor-focused setup, property and unit reporting, and rental transaction templates. Sofia emphasizes a connected activity-to-journal workflow with visible review and reconciliation boundaries."},{question:"Does REI Hub support units and multi-unit properties?",answer:"REI Hubâs FAQ says it supports multi-unit properties and can report by property or unit. Confirm the current details against your portfolio structure before choosing a system."},{question:"Does REI Hub handle rent collection or property management?",answer:"REI Hubâs FAQ says it is not property-management software and does not offer rent collection, listing services, tenant management and screening, or maintenance coordination. Those responsibilities may need another tool or process."},{question:"Does Sofia provide tax preparation or a Schedule E?",answer:"Sofia is an accounting platform for real estate owners and rental portfolios, not a tax-preparation or tax-advice service. Its reports should be reviewed with the person responsible for your tax return."}],sources:[{id:"rei-home",label:"REI Hub rental property accounting",url:"https://www.reihub.net/",reviewedAt:"2026-08-29"},{id:"rei-features",label:"REI Hub features",url:"https://www.reihub.net/features/",reviewedAt:"2026-08-29"},{id:"rei-faq",label:"REI Hub FAQ",url:"https://www.reihub.net/faqs/",reviewedAt:"2026-08-29"},{id:"sofia-home",label:"Sofia homepage",url:"https://hiresofia.ai/",reviewedAt:"2026-08-29"},{id:"sofia-how",label:"How Sofia Works",url:"https://hiresofia.ai/how-sofia-works",reviewedAt:"2026-08-29"}],capabilityIds:["categorization","reporting","journal-review","reconciliation","transfers","loans"]},iP=[tP,nP,rP,oP];function sP(e){return iP.find(r=>r.slug===e)}const Vu="https://hiresofia.ai/alternatives",Qu={id:"sofia-home",label:"Sofia homepage",url:"https://hiresofia.ai/",reviewedAt:"2026-08-29"},Ku={id:"sofia-how",label:"How Sofia Works",url:"https://hiresofia.ai/how-sofia-works",reviewedAt:"2026-08-29"},aP={slug:"quickbooks",competitor:"QuickBooks",eyebrow:"An alternative to QuickBooks",pageTitle:"QuickBooks Alternative for Rental Property Accounting | Sofia AI",title:"A calmer alternative for property books.",heroTitleLead:"A calmer alternative",heroTitleEmphasis:"for property books.",description:"Looking for a QuickBooks alternative for rental property accounting? See where Sofia fits when property context, review, and understandable books matter.",canonical:`${Vu}/quickbooks`,heroBody:"If QuickBooks feels like a broad business system you have to configure around a rental portfolio, Sofia offers a different starting point. Sofia is AI-native accounting for real estate owners and non-accountants: it performs the accounting itself, keeps the full double-entry journal behind the scenes, and surfaces judgment calls for review.",heroNote:"For owners who want property books without becoming the bookkeeper.",intro:"A useful QuickBooks alternative is not just another list of features. It should reduce the translation between a bank movement and the property story you need to understand. Sofia keeps that path simple: bank activity â context â journal â reconciliation â reports.",whySwitchHeading:"Why owners start looking for a QuickBooks alternative.",whySwitchBody:"QuickBooks can be a strong general business accounting foundation. Rental-property owners often begin searching for an alternative when the recurring work is less about general bookkeeping and more about keeping properties, loans, transfers, and reports connected.",reasonsToSwitch:["You want property context to be part of the everyday accounting workflow, not a separate configuration project.","You want AI to perform the accounting mechanics behind a plain-language experience instead of adding an AI helper to conventional books.","You want the journal and reconciliation path to stay visible without having to manage debits and credits yourself.","You want uncertain treatment held for review rather than quietly forced into a category."],fitHeading:"What to look for in a QuickBooks alternative.",fitBody:"Compare the work you actually need to do each week, not just the softw
23are names. These are the questions that separate a property-accounting fit from a general ledger that can be configured for one.",criteria:[{title:"Does property context travel with the activity?",body:"A rent deposit, mortgage payment, transfer, or improvement should remain tied to the property and its accounting meaning before it reaches a report."},{title:"Who handles the accounting mechanics?",body:"Sofia keeps the full double-entry journal behind a simple surface. You can work in plain language without learning debits and credits."},{title:"What happens when the answer is not obvious?",body:"A trustworthy alternative makes the review boundary explicit. Sofia can keep uncertain treatment visible so an owner or accountant can decide."},{title:"Can reports explain themselves?",body:"Look for ledger-backed P&L, Balance Sheet, and property views that trace back to the activity underneath."}],sofiaFitHeading:"Sofia may fit when the property is the center of the books.",sofiaFitBody:"Sofia is built for real estate owners and rental portfolios that want an AI accountant to connect bank activity to context, journal treatment, reconciliation, and reports. It is designed to make the books understandable for non-accountants while keeping the underlying accounting record real and reviewable.",limitation:"QuickBooks may be the better fit for a broader operating business, a team with an established QuickBooks-and-accountant process, or a need for its wider business ecosystem. Sofia does not promise automatic migration or remove the need for judgment on unusual activity.",nextStepsHeading:"Test the alternative against a real month.",nextStepsBody:"Bring a mortgage payment, an internal transfer, a property improvement, and an ordinary rent deposit into the conversation. The right choice should explain what each movement means, what reaches the journal, and what you would review before relying on the report.",faqs:[{question:"What is the best QuickBooks alternative for rental property accounting?",answer:"There is no universal best choice. Sofia may fit an owner who wants AI-native, property-centered accounting with a visible review boundary and a plain-language experience over a full double-entry journal. QuickBooks may fit a broader business or an established accountant workflow."},{question:"Is Sofia a replacement for QuickBooks?",answer:"Sofia is designed to be the accounting system for real estate owners and rental portfolios, so QuickBooks is not required for Sofiaâs workflow. Whether to switch depends on your current books, accountant, reporting needs, and historical setup."},{question:"Do I need to understand double-entry accounting to use Sofia?",answer:"No. Sofia handles the double-entry journal behind the scenes and presents the workflow in plain language. When treatment genuinely needs a human decision, Sofia keeps it visible for review rather than pretending certainty."},{question:"Can Sofia automatically migrate my QuickBooks history?",answer:"This page does not promise automatic migration. A switch should be planned around your existing books, property structure, historical reporting, and accountantâs process."}],sources:[{id:"quickbooks-products",label:"QuickBooks product comparison",url:"https://quickbooks.intuit.com/products/",reviewedAt:"2026-08-29"},{id:"quickbooks-essentials",label:"QuickBooks Online Essentials",url:"https://quickbooks.intuit.com/oa/online/essentials/",reviewedAt:"2026-08-29"},{id:"quickbooks-reports",label:"QuickBooks Online reports by subscription",url:"https://quickbooks.intuit.com/learn-support/en-us/help-article/purchase-orders/reports-included-quickbooks-online-subscription/L0s4KrGgr_US_en_US",reviewedAt:"2026-08-29"},Qu,Ku],comparisonPath:"/compare/quickbooks",journalPath:"/blog/rental-property-accounting",switchPath:"/switch-to-sofia/quickbooks",capabilityIds:["categorization","reporting","journal-review","reconciliation","transfers","loans","fixed-assets"]},lP={slug:"stessa",competitor:"Stessa",eyebrow:"Alternatives to Stessa",pageTitle:"Stessa Alternatives for Rental Property Accounting | Sofia AI",title:"When simple books need more context.",heroTitleLead:"When simple books need",heroTitleEmphasis:"more context.",description:"Considering Stessa alternatives? Compare Sofiaâs AI-native, double-entry accounting workflow with the needs of owners managing rental property books, reports, and review.",canonical:`${Vu}/stessa`,heroBody:"Stessa is built around approachable landlord bookkeeping and property tools. Owners may search for an alternative when simple income-and-expense tracking no longer answers the accounting questions behind a growing portfolio. Sofia is AI-native accounting for non-accountants: it performs the accounting itself, keeps the full double-entry journal behind the scenes, and brings unclear treatment into review.",heroNote:"For owners who want a simple experience without giving up the underlying journal.",intro:"The Stessa alternative question is often about accounting depth, not whether a product understands landlords. Sofia keeps the surface understandable while carrying activity from bank activity to context, journal, reconciliation, and reports.",whySwitchHeading:"Why owners compare Stessa alternatives.",whySwitchBody:"Stessaâs public materials emphasize simple-entry landlord bookkeeping alongside portfolio, receipt, rent, and asset tools. An owner may still look elsewhere when the next stage of the portfolio calls for a connected accounting record and a clearer path through exceptions.",reasonsToSwitch:["You want a proper double-entry journal behind the experience rather than a simple-entry bookkeeping model.","You need mortgage payments, transfers, and improvements to retain their accounting shape instead of becoming generic income or expense rows.","You want reconciliation and reports to connect directly to the ledger underneath.","You want the system to show when a treatment needs your judgment instead of hiding the exception."],fitHeading:"How to evaluate Stessa alternatives fairly.",fitBody:"Start with the work that becomes important as your portfolio grows. A familiar landlord interface is useful, but the accounting model and the review path determine how much translation remains at month-end.",criteria:[{title:"Simple for whom?",body:"The best simple experience hides unnecessary mechanics without weakening the record. Sofia keeps debits and credits out of the daily surface while preserving a balanced journal."},{title:"Can specialized activity stay specialized?",body:"Test a mortgage payment, a transfer, and a capital improvement. Their meanings should survive the path from the bank feed to the report."},{title:"Is there a clear exception boundary?",body:"Automation is useful only when you can tell what was understood and what needs review. A visible exception is safer than a confident-looking guess."},{title:"Will your accountant recognize the record?",body:"If an accountant joins the workflow, compare the journal, reconciliation, and reporting handoffânot only the dashboard experience."}],sofiaFitHeading:"Sofia may fit when approachable books need accounting depth.",sofiaFitBody:"Sofia is designed for non-accountants who want the books to make sense without learning bookkeeping mechanics. AI is part of how the accounting is performed, not just a helper layered over conventional software: activity gets context, clear treatment reaches the full journal, and judgment calls stay visible for review.",limitation:"Stessa may be the better fit when a landlord-focused single-entry finance and asset-management toolkit, rent workflows, or broader property operations are the priority. Sofiaâs center is the accounting path; it does not promise to replace every property-management tool or automate a migration.",nextStepsHeading:"Use your messiest transactions as the test.",nextStepsBody:"Do not compare alternatives using only a clean rent deposit. Test a loan payment, a transfer between accounts, a receipt-backed repair, and a property improvement. Then ask what the owner sees, what the journal records, and what remains for review.",faqs:[{question:"What are the best alternatives to Stessa?",answer:"The right alternative depends on the job. Sofia may fit owners who want AI-native double-entry accounting, reconciliation, and ledger-backed reporting in a plain-language workflow. Stessa may fit owners prioritizing simple-entry landlord books and portfolio or rent tools."},{question:"How is Sofia different from Stessa?",answer:"Both are designed for rental property owners, but Stessa emphasizes simple-entry landlord bookkeeping and portfolio tools. Sofia emphasizes a connected double-entry journal, property context, review, reconciliation, and reporting."},{question:"Does Sofia replace Stessaâs property-management features?",answer:"Sofia is focused on accounting, reconciliation, and reporting. It does not claim to replace every rent, tenant, asset-management, or property-operations workflow."},{question:"Can I switch from Stessa to Sofia automatically?",answer:"This page does not promise automatic migration. Plan a switch around your historical books, property structure, reporting needs, and the accountant or owner who will review the result."}],sources:[{id:"stessa-accounting",label:"Stessa rental property accounting",url:"https://www.stessa.com/accounting/",reviewedAt:"2026-08-29"},{id:"stessa-overview",label:"Stessa automated rental property finances",url:"https://www.stessa.com/overview/",reviewedAt:"2026-08-29"},{id:"stessa-faq",label:"Stessa new customer FAQ",url:"https://support.stessa.com/en/articles/2680071-stessa-new-customer-faq",reviewedAt:"2026-08-29"},Qu,Ku],comparisonPath:"/compare/stessa",journalPath:"/blog/rental-property-accounting",capabilityIds:["categorization","reporting","journal-review","reconciliation","transfers","loans"]},cP={slug:"baselane",competitor:"Baselane",eyebrow:"An alternative to Baselane",pageTitle:"Baselane Alternative for Rental Property Accounting | Sofia AI",title:"Beyond the bank account.",heroTitleLead:"Beyond the",heroTitleEmphasis:"bank account.",description:"Looking for a Baselane alternative? See how Sofia fits when rental-property owners need AI-native accounting, context, review, reconciliation, and reports.",canonical:`${Vu}
23/baselane`,heroBody:"Baselane brings property banking, rent collection, bill pay, bookkeeping, and reporting into one rental-finance platform. Owners may search for an alternative when the harder question is not where money moved, but what the movement means in the books. Sofia is AI-native accounting for non-accountants: it performs the accounting itself, keeps the full double-entry journal behind the scenes, and surfaces genuine judgment calls for review.",heroNote:"For owners who need the accounting story behind the money movement.",intro:"A Baselane alternative should be judged across the whole workflow, not by banking features alone. Sofia starts with the activity and context that make the ledger and reports understandable: bank activity â context â journal â reconciliation â reports.",whySwitchHeading:"Why owners look beyond a banking-first workflow.",whySwitchBody:"Baselaneâs public product materials center property banking and rental financial operations. That can be useful when account access, rent collection, and bill pay are the main friction. An owner may search for an alternative when the central problem becomes interpreting each movement and closing the books with confidence.",reasonsToSwitch:["You need the reason and property context behind a movement to survive into the accounting record.","You want AI to perform the accounting mechanics and full double-entry journal, not only tag activity.","You want transfers, owner activity, mortgage payments, and improvements treated as distinct accounting events.","You need a visible review boundary before reports become the basis for a decision."],fitHeading:"What to compare in Baselane alternatives.",fitBody:"Separate the money-movement job from the accounting job. A platform can be strong at getting rent paid and still be evaluated on a different question: can the resulting books explain themselves?",criteria:[{title:"Where does interpretation happen?",body:"Tagging a bank movement is not the same as carrying its property, category, and accounting meaning into the journal and report."},{title:"How are non-routine movements handled?",body:"Test an owner contribution, internal transfer, mortgage payment, and improvement. The workflow should distinguish cash movement from income, expense, liability, and asset treatment."},{title:"Can someone review the reasoning?",body:"Look for a clear place where incomplete evidence or unusual treatment is held for a human decision instead of silently posted."},{title:"Do close and reporting stay connected?",body:"The useful output is not only a categorized feed. It is a reconciled, ledger-backed story that can be read by an owner and reviewed by an accountant."}],sofiaFitHeading:"Sofia may fit when the accounting story is the missing layer.",sofiaFitBody:"Sofia is built around the accounting record created by rental-property activity. AI is native to the accounting workflow: it connects context to treatment, handles the double-entry journal behind the scenes, and gives non-accountants a simple path to reconciliation and reports without asking them to manage debits and credits.",limitation:"Baselane may be the better fit when property banking, rent collection, bill pay, or account access are the primary needs. Sofia is an accounting-first product and does not claim to replace every banking or rent-operations workflow.",nextStepsHeading:"Compare the accounting event, not just the account.",nextStepsBody:"Bring one rent deposit, one bill payment, one transfer, and one mortgage payment into the evaluation. Ask how each tool carries context forward, what reaches the journal, how exceptions are reviewed, and what appears in the report.",faqs:[{question:"What are the best alternatives to Baselane?",answer:"The best alternative depends on the workflow you need to improve. Sofia may fit owners who need AI-native accounting, a full double-entry journal behind a simple surface, review, reconciliation, and reports. Baselane may fit owners prioritizing property banking and rental-finance operations."},{question:"How is Sofia different from Baselane?",answer:"Baselane centers property banking and rental financial operations. Sofia centers the accounting record: activity gets context, clear treatment moves through the journal workflow, uncertain items stay visible for review, and reports stay connected to the ledger."},{question:"Does Sofia replace Baselane banking or rent collection?",answer:"No such replacement is promised here. Sofiaâs focus is accounting, reconciliation, and reporting; banking and rent-collection needs should be evaluated separately."},{question:"Can I migrate from Baselane to Sofia automatically?",answer:"This page does not promise automatic migration. A switch should account for historical transactions, property structure, banking workflows, and the records your accountant needs to review."}],sources:[{id:"baselane-home",label:"Baselane",url:"https://www.baselane.com/",reviewedAt:"2026-08-29"},{id:"baselane-how",label:"Baselane how it works",url:"https://www.baselane.com/how-it-works",reviewedAt:"2026-08-29"},{id:"baselane-bookkeeping",label:"Baselane landlord bookkeeping",url:"https://www.baselane.com/landlord-accounting",reviewedAt:"2026-08-29"},{id:"baselane-banking",label:"Baselane landlord banking",url:"https://www.baselane.com/landlord-banking-1",reviewedAt:"2026-08-29"}
23,{id:"baselane-rent",label:"Baselane rent collection",url:"https://www.baselane.com/rent-collection",reviewedAt:"2026-08-29"},Qu,Ku],comparisonPath:"/compare/baselane",journalPath:"/blog/rental-property-accounting",capabilityIds:["categorization","reporting","journal-review","reconciliation","transfers","loans"]},uP=[aP,lP,cP];function dP(e){return uP.find(r=>r.slug===e)}const pP="https://hiresofia.ai/switch-to-sofia",fP={id:"sofia-home",label:"Sofia homepage",url:"https://hiresofia.ai/",reviewedAt:"2026-08-29"},hP={id:"sofia-how",label:"How Sofia Works",url:"https://hiresofia.ai/how-sofia-works",reviewedAt:"2026-08-29"},mP={slug:"quickbooks",fromProvider:"QuickBooks",eyebrow:"Switch to Sofia",pageTitle:"Switch from QuickBooks to Sofia | Rental Property Accounting",heroTitleLead:"A clearer way to",heroTitleEmphasis:"make the switch.",description:"Thinking about switching from QuickBooks to Sofia for rental property accounting? Understand what comes with you, what you set up, and what still needs manual help.",canonical:`${pP}/quickbooks`,heroBody:"Moving accounting systems is more than importing a file. This guide explains the practical path from QuickBooks to Sofia for a rental portfolio: what Sofia can connect and process, what you configure, what happens to historical records, and where an owner or accountant still needs to make the call.",heroNote:"QuickBooks is not required for Sofiaâs built-in accounting workflow.",intro:"Sofia is built for the next accounting day, not a pretend one-click conversion of every historical decision. Start with the property structure and opening balances that make the current books useful, bring in supported bank history, and keep the source records needed for your accountant and reporting continuity.",phases:[{posture:"supported",label:"01 · Supported workflow",title:"Connect the money.",body:"Sofia can connect eligible bank accounts through Plaid and bring in supported statement or CSV history. Imported activity can move through the same categorization, review, and posting workflow as new bank activity.",items:["Connect bank accounts through the existing Plaid flow.","Import supported CSV or statement records when a bank connection is not the right source.","Review the resulting activity before relying on the books."]},{posture:"setup",label:"02 · Owner-led setup",title:"Name the context.",body:"Your portfolio still needs a structure that reflects reality. Set up properties, map each bank account to the right chart-of-accounts purpose, and establish opening balances for the point where Sofia becomes the accounting system.",items:["Confirm properties, accounts, and the chart of accounts.","Map cash, credit-card, loan, income, expense, and equity accounts.","Record defensible opening balances instead of importing an unexplained plug."]},{posture:"assisted",label:"03 · Manual or assisted",title:"Decide what history means.",body:"Sofia does not promise a direct QuickBooks file conversion or automatic cleanup of historical choices. Historical cutover, unusual transactions, and differences between old and new reporting may need an accountant or other qualified advisor.",items:["Choose the cutover date and the historical detail worth bringing forward.","Preserve QuickBooks reports and source records for continuity.","Manually resolve unusual history or ask an accountant to review it."]}],questions:[{question:"What happens to my historical QuickBooks data?",answer:"Sofia does not promise a one-click import of a QuickBooks company file. A practical switch preserves your QuickBooks reports and source records, chooses a cutover point, establishes opening balances, and imports supported transaction history where it is useful and available.",sourceIds:["quickbooks-products","sofia-home"]},{question:"Can Sofia connect my existing bank accounts?",answer:"Sofia supports bank connections through Plaid. The available history depends on the connection and the history window requested when the account is linked; a date filter in the app cannot recover transactions the connection never fetched.",sourceIds:["sofia-home","sofia-how"]},{question:"Do I need to rebuild my chart of accounts?",answer:"You need to confirm that Sofiaâs chart of accounts and account mappings describe the portfolio you are bringing over. Existing accounts may need to be mapped, renamed, or recreated for a clean cutover; existing journal entries should not be assumed to change just because an account name changes.",sourceIds:["sofia-how"]},{question:"Can I import historical QuickBooks transactions?",answer:"Sofia supports CSV and statement-import workflows, but this guide does not promise direct QuickBooks-file conversion. Treat historical import as a scoped choice: use supported records where they improve c
23ontinuity, then review the resulting categorization and opening balances.",sourceIds:["sofia-home","sofia-how"]},{question:"Will I still need QuickBooks after switching?",answer:"QuickBooks is not required for Sofiaâs built-in accounting workflow. You may still retain historical QuickBooks reports or records for your own archive, accountant handoff, or continuity with prior periods.",sourceIds:["quickbooks-products","sofia-home"]},{question:"What can I give my accountant after the switch?",answer:"Sofia provides ledger-backed financial reports, including P&L and Balance Sheet views, plus the underlying journal and reconciliation context needed to review how property activity reached the books. Your accountant may also need retained QuickBooks reports and source documents for prior periods.",sourceIds:["quickbooks-reports","sofia-home","sofia-how"]}],accountantHeading:"Give your accountant a connected starting point.",accountantBody:"A good handoff is not a claim that the past disappeared. Share the chosen cutover date, opening-balance support, retained QuickBooks reports, imported-history scope, and any items Sofia held for review. Then your accountant can see the property activity, journal, reconciliation, and reports in one path.",accountantItems:["Cutover date and opening-balance support","Prior-period QuickBooks reports and source records","Sofiaâs P&L, Balance Sheet, journal, and reconciliation context","A short list of unresolved or judgment-based items"],boundaryHeading:"What Sofia does not promise.",boundaryBody:"A switch is safer when the boundaries are explicit. Sofia handles the supported accounting workflow, but it does not invent missing history, decide every historical treatment, provide tax or legal advice, or guarantee that a QuickBooks setup converts without review.",boundaryItems:["No one-click QuickBooks company-file migration is promised.","No automatic reconstruction of missing or questionable historical decisions.","No promise that every prior report will match without a planned cutover.","No substitute for qualified advice on tax, legal, or unusual accounting questions."],nextStepsHeading:"Start with one real property and one real month.",nextStepsBody:"List the accounts, properties, opening balances, and reports you need at the cutover. Then test a rent deposit, mortgage payment, transfer, and repair. The goal is a reviewable accounting pathânot merely a populated transaction list.",faqs:[{question:"Is switching from QuickBooks to Sofia automatic?",answer:"No automatic QuickBooks company-file migration is promised. Sofia supports connected accounts and supported CSV or statement imports, while the cutover, opening balances, historical scope, and unusual decisions remain owner-led or assisted."},{question:"Can I keep my QuickBooks history?",answer:"Yes. Retaining prior QuickBooks reports and source records is a sensible part of a switch, especially for prior-period continuity and accountant review. Sofia does not require you to pretend that historical records no longer exist."},{question:"Do I need an accountant to switch?",answer:"Not for every setup task. An owner can connect accounts, establish context, and review supported activity, but an accountant or qualified advisor can be useful for cutover decisions, opening balances, unusual history, and prior-period reporting."},{question:"What is the first step?",answer:"Inventory the properties, bank and credit-card accounts, loans, opening balances, and reports you need. Then compare that list with the supported connection and import workflow before choosing a cutover date."}],sources:[{id:"quickbooks-products",label:"QuickBooks product overview",url:"https://quickbooks.intuit.com/products/",reviewedAt:"2026-08-29"},{id:"quickbooks-essentials",label:"QuickBooks Online Essentials",url:"https://quickbooks.intuit.com/oa/online/essentials/",reviewedAt:"2026-08-29"},{id:"quickbooks-reports",label:"QuickBooks Online reports by subscription",url:"https://quickbooks.intuit.com/learn-support/en-us/help-article/purchase-orders/reports-included-quickbooks-online-subscription/L0s4KrGgr_US_en_US",reviewedAt:"2026-08-29"},fP,hP],relatedLinks:[{label:"Compare Sofia and QuickBooks",href:"/compare/quickbooks"},{label:"See how Sofia works",href:"/how-sofia-works"},{label:"Read the rental property accounting guide",href:"/blog/rental-property-accounting"},{label:"Schedule a Demo",href:"/demo"}],capabilityIds:["plaid","pdf-statement-imports","categorization","reporting","journal-review","reconciliation","loans","fixed-assets"]},gP=[mP];
23function yP(e){return gP.find(r=>r.slug===e)}const vP=["guesty","jurny","quickbooks","clearing"];function wP(e){return!e||!vP.includes(e)?null:{utm_source:"partner",utm_medium:"accounting",utm_campaign:e}}function nv(e){const r=wP(e.get("utm_campaign"));return r&&e.get("utm_source")===r.utm_source&&e.get("utm_medium")===r.utm_medium?r:null}const ur={"property-flow":{label:"The full picture",format:"flow",description:"From property activity to financial statements",items:["Property","Bank","Transactions","Accounting","Reports"].map(e=>({label:e}))},"financial-statements":{label:"Two reports, two time frames",format:"comparison",description:"Period activity belongs on the P&L; point-in-time balances belong on the Balance Sheet",items:[{label:"Period activity",value:"Profit & Loss",detail:"Income â expenses = net income"},{label:"Point-in-time balances",value:"Balance Sheet",detail:"Assets = liabilities + equity"}]},"ai-reasoning":{label:"AI with a review boundary",format:"pipeline",description:"Evidence informs a suggestion; a person confirms ambiguous accounting decisions",items:["Bank activity","Evidence + pattern","Sofia suggests","Owner reviews","Explainable books"].map(e=>({label:e}))},"bookkeeping-cycle":{label:"The monthly bookkeeping cycle",format:"cycle",description:"Import activity, classify it, review exceptions, reconcile, then report",items:["Import","Categorize + property","Review exceptions","Reconcile","Report"].map(e=>({label:e}))},"mortgage-split":{label:"One payment, three jobs",format:"allocation",description:"A mortgage payment separates into principal, interest, and escrow",lead:{label:"Monthly payment",value:"$2,450"},items:[{label:"Principal",value:"$1,420",detail:"Reduces mortgage liability"},{label:"Interest",value:"$680",detail:"Interest expense"},{label:"Escrow",value:"$350",detail:"Held for future taxes or insurance"}]},"capex-decision":{label:"Repair or CapEx review?",format:"decision",description:"Facts and capitalization policy guide the review; a bank description is not a tax conclusion",lead:{label:"Purchase"},prompt:"Restores existing condition?",items:[{label:"Yes â Repair",detail:"Ordinary maintenance review"},{label:"No â Ask about a new asset or improvement",detail:"Facts + capitalization policy â CapEx review"}]},reconciliation:{label:"Statement meets ledger",format:"comparison",description:"Compare the same account and period, then explain any difference",items:[{label:"External statement",value:"Statement ending balance",detail:"Same account · same period"},{label:"Sofia ledger",value:"Ledger ending balance",detail:"Recorded activity once"}],note:"Difference? Explain timing, missing, or duplicate items before calling it reconciled."},transfer:{label:"Paired cash movement",format:"paired-movement",description:"Cash leaves one account and arrives in another without creating income or expense",prompt:"paired cash movement",items:[{label:"Checking",value:"â $500"},{label:"Savings",value:"+ $500"}],note:"No income · No expense"},"workflow-comparison":{label:"General ledger meets real-estate context",format:"comparison",description:"Both workflows need imports, review, and reconciliation; context changes what is suggested",items:[{label:"QuickBooks",value:"General ledger workflow",detail:`Import â categorize â reconcile 24Real-estate context is organized by the ownerâs process.`},{label:"Sofia AI",value:"AI-assisted workflow",detail:`Import â suggest context â review â reconcile 25Suggestions stay explainable and ambiguous items stay visible.`}]}},$t="https://hiresofia.ai",Ks=`${$t}/sofia-blog-social-card.png`,$c=`${$t}/#organization`,bP=`${$t}/sofia-logo.png`,kP="America/New_York",rv=[{label:"Rental Property Accounting",description:"The books behind a healthy rental portfolio."},{label:"AI Accounting",description:"What an AI accountant canâand cannotâtake off your plate."},{label:"Mortgages & Loans",description:"Principal, interest, escrow, and loan balances."},{label:"Expenses & CapEx",description:"Classify costs consistently from repair to improvement."},{label:"Banking & Reconciliation",description:"Make your ledger agree with every statement."},{label:"Financial Reports",description:"Read the P&L and balance sheet with confidence."}];function fn(e,r=kP){if(!/^\d{4}-\d{2}-\d{2}$/.test(e))throw new Error(`Invalid publication date: ${e}`);const[o,s,a]=e.split("-").map(Number),d=Date.UTC(o,s-1,a),f=new Intl.DateTimeFormat("en-US",{timeZone:r,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hourCycle:"h23"}),h=w=>Object.fromEntries(f.formatToParts(new Date(w)).filter(({type:b})=>b!=="literal").map(({type:b,value:k})=>[b,Number(k)]));let m=d;for(let w=0;w<3;w+=1){const b=h(m),k=Date.UTC(b.year,b.month-1,b.day,b.hour,b.minute,b.second);m+=d-k}const y=h(m);if(y.year!==o||y.month!==s||y.day!==a||y.hour!==0||y.minute!==0||y.second!==0)throw new Error(`Could not resolve ${e} midnight in ${r}`);return new Date(m).toISOString()}const xP={state:"published",title:"Rental Property Accounting: The Complete Guide for 2026",seoTitle:"Rental Property Accounting Guide (2026) | Sofia AI",slug:"rental-property-accounting",description:"A practical guide to rental property accounting: set up your books, classify income and expenses, record mortgages, reconcile accounts, and read your financial statements.",category:"Rental Property Accounting",author:"Sofia AI Editorial",datePublished:"2026-01-12",publishedAt:"2026-01-12",publishAt:fn("2026-01-12"),dateModified:"2026-01-15",readingTime:"18 min read",visual:"financial-statements",eyebrow:"The cornerstone guide",relatedSlugs:["ai-accounting-real-estate","mortgage-rental-property","rental-property-capex-repairs","reconcile-rental-property-bank-account"],cta:{eyebrow:"Meet Sofia AI",title:"Accounting shouldn't require becoming an accountant.",body:"See how Sofia handles the accounting behind your rental propertiesâfrom bank activity to reconciled reportsâwhile keeping you in control of the decisions.",label:"See Sofia in action",href:"/demo"},blocks:[{type:"paragraph",html:"Rental property accounting is the system you use to record, organize, and understand the money moving through your properties. It connects a bank transaction to a property, a category, and ultimately to a financial statement. Good books do more than collect receipts: they show which properties are producing cash, where costs are rising, and what still needs review."},{type:"paragraph",html:'This guide is written for owners of long-term rentals, mid-term rentals, short-term rentals, and mixed portfolios. The bookkeeping principles are broader than any one booking platform or property type. See <a href="/vacation-rental-accounting">Sofiaâs vacation-rental accounting approach</a> for that workflow. Sofia AI is an AI accountant built for real estate and rental propertiesânot a trust accounting system and not a substitute for a tax professional.'},{type:"visual",kind:"bookkeeping-cycle",title:"One property, one monthly cycle",description:"Import activity â classify it â review exceptions â reconcile â report"},{type:"heading",level:2,id:"what-is-rental-property-accounting",text:"What is rental property accounting?"},{type:"paragraph",html:"At its simplest, rental property accounting applies double-entry bookkeeping to real estate activity. Every event has two sides. Rent collected increases cash and rental income. A utility payment decreases cash and increases an operating expense. A mortgage payment decreases cash, reduces the loan principal, and records interest and possibly escrow separately."},{type:"paragraph",html:"The goal is reliable information, not accounting jargon. A useful system answers: What did each property earn? What did it cost to operate? How much cash is available? What do the properties and loans contribute to the balance sheet? Are the bank and ledger actually in agreement?"},{type:"heading",level:2,id:"set-up-your-books",text:"1. Set up your rental property books"},{type:"paragraph",html:"Start with a chart of accounts that reflects how the portfolio operates. Create separate cash accounts for the business bank and credit cards you actually use, liability accounts for mortgages and amounts held for others, equity accounts for owner activity, income accounts for rent and fees, and expense accounts that are specific enough to support useful reporting."},{type:"list",items:["Create a property dimension or property-level tracking structure so shared costs can be assigned deliberately.","Keep business and personal spending separate whenever possible. If personal money enters the business, record
25it as an owner contribution rather than income.","Choose an accounting basis and cutoff policy with your CPA. Do not mix cash-basis reporting with accrual assumptions from one month to the next.","Record opening balances for cash, loans, fixed assets, and equity before importing a long history.","Name accounts consistently. A predictable structure makes automation, review, and year-over-year comparisons much easier."]},{type:"callout",title:"A clean starting point",html:"For a two-property portfolio, a practical starting structure might include CheckingâOperating, SavingsâReserves, a mortgage liability for each loan, Rental Income, Repairs & Maintenance, Utilities, Insurance, Property Taxes, Interest Expense, and Owner Contributions. Your tax professional may recommend a different level of detail.",tone:"cream"},{type:"heading",level:2,id:"rental-income",text:"2. Record rental income completely"},{type:"paragraph",html:"Rental income can arrive as a tenant ACH, a property manager deposit, a booking-platform payout, a late fee, a cleaning fee, or another charge associated with renting the property. Record the gross business activity and the related fees in a way that makes the economics visible. If a platform deposits $1,920 after withholding a $180 fee from a $2,100 booking, a net-only entry hides the cost."},{type:"example",title:"Example: a platform payout",html:"A guest booking produces $2,100 of rental and cleaning revenue. The platform withholds $180 and deposits $1,920.",lines:[{label:"Debit · Cash",value:"$1,920",tone:"positive"},{label:"Debit · Platform Fees",value:"$180",tone:"normal"},{label:"Credit · Rental / Cleaning Income",value:"$2,100",tone:"positive"}]},{type:"paragraph",html:'The exact entry depends on your data and accounting method. The principle is consistent: do not mistake the deposit amount for the propertyâs total revenue when fees were withheld. Use the <a href="/blog/rental-property-bookkeeping">step-by-step bookkeeping guide</a> when you are designing the workflow around a manager or booking platform.'},{type:"heading",level:2,id:"operating-expenses",text:"3. Classify operating expenses"},{type:"paragraph",html:"Operating expenses are the recurring costs of running a property. Common examples include utilities, insurance, property taxes, cleaning, supplies, advertising, software, management fees, and ordinary repairs. The best category is the one that communicates what happened and supports a consistent reportânot the one that makes a single transaction look most convenient."},{type:"table",caption:"Common rental property costs",headers:["Transaction","Typical accounting home","Question to ask"],rows:[["Monthly electric bill","Utilities","Which property benefited?"],["Turnover cleaning","Cleaning or turnover expense","Is it a cost of the current booking?"],["Landlord policy premium","Insurance","What coverage period does it relate to?"],["New sofa for a unit","Fixed asset or furnishings","Is this a durable improvement, not a repair?"],["Plumber fixes a leaking sink","Repairs & Maintenance","Did it restore the existing condition?"]]},{type:"paragraph",html:"Shared costs deserve a rule. If a $240 internet bill supports two properties equally, split it 50/50 or use the allocation your business has chosen. Do not assign every shared cost to whichever property happens to be selected first. Document the rule so the next month is consistent."},{type:"heading",level:2,id:"mortgages-and-loans",text:"4. Account for mortgages and loans"},{type:"paragraph",html:"A mortgage payment is usually a bundle, not one expense. Principal reduces the loan liability. Interest is financing cost. In Sofiaâs current product workflow, the escrow portion is recognized as Escrow Expense (account 5125) when paid rather than parked as an asset at the lender. That is a Sofia-specific book policy, not a universal accounting or tax rule; entity facts and professional guidance may require different treatment. When the servicer statement separately identifies property taxes, insurance, or fees, record those supported components in their specific expense accounts. Recording the entire payment as interest or as a generic mortgage expense makes both profit and the balance sheet unreliable."},{type:"visual",kind:"mortgage-split",title:"A mortgage payment has multiple jobs",description:"Monthly payment â principal + interest + escrow"},{type:"example",title:"Example: $2,450 mortgage payment",html:"Assume the servicer statement shows $1,420 principal, $680 interest, and $350 escrow.",lines:[{label:"Debit · Mortgage Liability",value:"$1,420",tone:"muted"},{label:"Debit · Interest Expense",value:"$680",tone:"normal"},{label:"Debit · Escrow Expense",value:"$350",tone:"normal"},{label:"Credit · Cash",value:"$2,450",tone:"positive"}]},{type:"paragraph",html:'The loan balance in your books should be checked against the servicer statement, especially after refinancing, a payoff, a fee, or a payment that is outside the normal schedule. For a deeper walkthrough, see <a href="/blog/mortgage-rental-property">How to account for a mortgage on a rental property</a>.'},{type:"heading",level:2,id:"security-deposits",text:"5. Keep security deposits separate from income"},{type:"paragraph",html:"A refundable security deposit is generally money held for a tenant, not revenue earned by the owner. When received, it commonly increases cash and a security-deposit liability. When returned, cash and the liability decrease. If part is retained for documented damage or unpaid rent, the final treatment depends on the agreement, local rules, and your accounting and tax advice."},{type:"callout",title:"Accounting boundary",html:"This is an educational bookkeeping explanation, not legal or tax advice. Deposit rules vary by jurisdiction and lease. Confirm required accounts, holding practices, notices, and any tax treatment with the appropriate professional.",tone:"amber"},{type:"heading",level:2,id:"repairs-vs-capex",text:"6. Repairs versus capital expenditures"},{type:"paragraph",html:"A repair generally restores an existing asset to working condition. A capital expenditure (CapEx) creates a new asset, materially improves an asset, or extends its useful life. The line is fact-dependent, and tax rules use their own tests. Your books should make the decision visible rather than burying every large purchase in Repairs & Maintenance."},{type:"visual",kind:"capex-decision",title:"A consistent decision path",description:"Restore existing condition? â repair. New asset or meaningful improvement? â review for CapEx."},{type:"list",items:["A $185 replacement faucet that restores the kitchen is usually an ordinary repair or maintenance cost.","A $14,000 HVAC replacement is a candidate for a fixed asset and depreciation schedule, subject to your professional guidance.","A $900 appliance may be a fixed asset or expense depending on your capitalization policy and the facts.","A roof patch and a full roof replacement should not be treated as the same event just because both involve the roof."]},{type:"paragraph",html:'Use <a href="/blog/rental-property-capex-repairs">Rental Property CapEx vs. Repairs</a> as the supporting decision guide. A bookkeeping system can flag a purchase for review, but it should not pretend to make a tax conclusion from a vendor name alone.'},{type:"heading",level:2,id:"fixed-assets-depreciation",text:"7. Track fixed assets and depreciation"},{type:"paragraph",html:"Fixed assets are durable resources used by the business over more than one reporting period: buildings, renovations, appliances, furniture, vehicles, or equipment. Record the asset with useful information such as placed-in-service date, cost, property, and supporting document. Depreciation then allocates the recorded cost over time under the method selected for your books and tax work."},{type:"paragraph",html:"Do not infer depreciation expense solely from a bank transaction. The cash payment date, placed-in-service date, book policy, and tax treatment can differ. Sofia can keep the transaction and document trail organized, while your CPA or tax preparer determines the appropriate depreciation treatment."},{type:"heading",level:2,id:"owner-contributions-draws",text:"8. Record owner contributions and draws"},{type:"paragraph",html:"When an owner deposits personal money into a property account, the cash increase is usually an owner contribution or equity eventânot rental income. When the owner takes money out for personal use, it is generally an owner draw or distributionânot an operating expense. The entity type and operating agreement matter, so keep the bookkeeping label aligned with professional advice."},{type:"example",title:"Example: the owner funds a $600 shortfall",html:"The owner transfers $600 from a personal account to the rental operating account.",lines:[{label:"Debit · Operating Cash",value:"$600",tone:"positive"},{label:"Credit · Owner Contribution",value:"$600",tone:"muted"}]},{type:"heading",level:2,id:"transfers",text:"9. Treat transfers as cash movement, not income"},{type:"paragraph",html:"Moving $500 from checking to reserves changes where the cash sits; it does not create revenue or an expense. The same principle applies to paying a business credit card from a bank account: one liability is settled with cash. Classifying both sides as expenses would double-count the underlying purchases."},{type:"visual",kind:"transfer",title:"Transfers move cash between places",description:"Checking â savings. Not income. Not expense."},{type:"paragraph",html:'A transfer should connect two known accounts. If one side is missing, the transaction may be temporarily held for review rather than forced into income. See <a href="/blog/rental-property-transfers">How to account for transfers between rental property bank accounts</a> for owner funding, draws, and credit-card payments.'},{type:"heading",level:2,id:"bank-reconciliation",text:"10. Reconcile every bank and credit card account"},{type:"paragraph",html:"Reconciliation compares your ledger to an external statement for the same account and period. Start with the statementâs beginning balance, account for cleared activity, investigate timing differences, and finish at the statement ending balance. Reconciliation is not merely checking whether the bank feed is connected; it is evidence that the books contain the right events once, with the right dates and amounts."}
25,{type:"visual",kind:"reconciliation",title:"Bank versus Sofia ledger",description:"Statement ending balance â ledger ending balance, with outstanding items explained"},{type:"list",items:["Look for duplicate imports before creating a second entry.","Explain uncleared checks, deposits in transit, and legitimate timing differences.","Find transfers whose other leg was never recorded.","Compare the statement periodânot a convenient calendar sliceâto the ledger.","Keep a review queue for transactions that need a human decision instead of silently guessing."]},{type:"paragraph",html:'A reconciliation difference is a signal, not a reason to plug the account. Use <a href="/blog/reconcile-rental-property-bank-account">the bank reconciliation guide</a> to work from the statement toward an explainable balance.'},{type:"heading",level:2,id:"financial-statements",text:"11. Read the P&L and balance sheet"},{type:"paragraph",html:"The profit and loss statement summarizes income and expenses over a period. It can show rental income, direct costs, operating expenses, interest, and net income. The balance sheet is a point-in-time view of assets, liabilities, and equity. Cash, security deposits held, fixed assets, mortgage balances, and owner equity belong in the balance-sheet story even when they do not appear as current-month income or expense."},{type:"table",caption:"What each report answers",headers:["Report","Time frame","Useful question"],rows:[["Profit & Loss","A month, quarter, or year","Did the property earn more than it spent?"],["Balance Sheet","A specific date","What does the business own and owe right now?"],["Cash activity","A statement period","Does the recorded movement agree with the bank?"]]},{type:"callout",title:"Profit is not the same as cash",html:"A principal payment uses cash but is not normally an expense. A booking-platform fee may reduce the cash deposit but is still an expense. A fixed asset purchase uses cash but may sit on the balance sheet first. Read both statements together.",tone:"green"},{type:"heading",level:2,id:"common-mistakes",text:"12. Common rental accounting mistakes"},{type:"list",items:["Recording net booking payouts as revenue and losing visibility into platform fees.","Posting the full mortgage payment to one expense category.","Treating a security deposit, owner contribution, or transfer as rental income.","Putting every contractor invoice in Repairs & Maintenance without considering CapEx.","Letting shared costs drift between properties with no allocation policy.","Using an unexplained adjustment to force a reconciliation instead of finding the missing or duplicated event.","Changing categories month to month because a report looks better rather than because the facts changed.","Assuming automation is correct because it is fast, without reviewing low-confidence or unusual activity."]},{type:"heading",level:2,id:"how-ai-changes-workflow",text:"13. How AI changes the accounting workflow"},{type:"paragraph",html:"AI is most useful when it makes the accounting workflow more observable, not when it hides decisions. An AI accountant can read transaction descriptions, recognize recurring vendors, suggest a property and category, group likely transfer legs, surface an unusual mortgage amount, and prepare a review queue. It can also connect source documents to the transaction that needs evidence."},{type:"paragraph",html:"The human remains responsible for policy and judgment. A good system shows why it made a suggestion, keeps an audit trail, avoids posting when the evidence is ambiguous, and lets a confirmed decision become a rule for the next similar transaction. Sofia AI is designed around that boundary: automate the repeatable work, make exceptions clear, and keep the owner in control."},{type:"callout",title:"The practical test for AI accounting",html:"Ask whether the system leaves you with a more explainable ledger. If it cannot tell you which property, account, amount, and source support an entry, it has only moved uncertainty around.",tone:"green"},{type:"heading",level:2,id:"accounting-vs-tax-advice",text:"A note about accounting and tax advice"},{type:"paragraph",html:"This guide explains bookkeeping concepts and workflow design. It does not determine whether a cost is deductible, how depreciation must be filed, how a security deposit is governed, or how an entity should treat an owner payment. Tax law, lease terms, entity structure, and local rules can change the answer. Bring your reconciled books and supporting documents to your CPA, enrolled agent, attorney, or other qualified advisor."},{type:"heading",level:2,id:"faqs",text:"Frequently asked questions"}],faq:[{question:"What is the best accounting method for a rental property?",answer:"The right method depen
25ds on your entity, reporting needs, tax elections, and professional advice. Choose a method you can apply consistently and that gives your advisor reliable records. Do not switch methods just to make one month look more favorable."},{question:"Is a mortgage payment a rental property expense?",answer:"Usually only part of the payment is an expense. Principal reduces the mortgage liability, interest is financing cost, and escrow may represent funds for future taxes or insurance. Use the servicer statement and professional guidance to split the payment correctly."},{question:"Are security deposits rental income?",answer:"A refundable security deposit is generally recorded as a liability while it is held for a tenant, not as earned rental income. The treatment of any amount retained can depend on the lease, local requirements, and the facts."},{question:"What is the difference between a repair and CapEx?",answer:"A repair generally restores an existing asset. CapEx generally creates an asset, materially improves it, or extends its useful life. The facts and your capitalization policy matter, and tax treatment should be confirmed with a qualified professional."},{question:"Can AI do my rental property bookkeeping?",answer:"AI can reduce repetitive work such as organizing imports, recognizing patterns, preparing suggestions, and surfacing exceptions. It should not remove review from ambiguous transactions or replace professional judgment. The best workflow combines automation with explainable approvals and reconciliations."},{question:"How often should rental property accounts be reconciled?",answer:"Reconcile each bank and credit card account to its statement on a regular cadence, usually monthly at minimum. More frequent review can be useful for active portfolios or accounts with high transaction volume. The important part is that every period ends with an explainable balance."}]},Gs=[xP,{state:"published",title:"AI Accounting for Real Estate: What an AI Accountant Can Actually Do",seoTitle:"What AI Accounting Can Do for Real Estate | Sofia AI",slug:"ai-accounting-real-estate",description:"A practical look at the difference between automation, AI-assisted bookkeeping, and an AI accountant for real estate.",category:"AI Accounting",author:"Sofia AI Editorial",datePublished:"2026-08-29",publishedAt:"2026-08-29",publishAt:fn("2026-08-29"),dateModified:"2026-08-27",readingTime:"11 min read",visual:"ai-reasoning",eyebrow:"Sofia Explains",relatedSlugs:["rental-property-accounting"],cta:{eyebrow:"Meet Sofia AI",title:"Let the repeatable work stay repeatable.",body:"Sofia reads the evidence behind rental activity, keeps uncertain items visible, and helps owners move from bank feeds to explainable books.",label:"See Sofia in action",href:"/demo"},blocks:[{type:"paragraph",html:"AI accounting for real estate is not a robot CPA and it is not a magic category button. It is a bookkeeping workflow that uses transaction evidence, property context, recurring patterns, and a clear review boundary to reduce repetitive work without hiding judgment. The result should be a ledger an owner can explainânot simply a faster stream of guesses."},{type:"paragraph",html:'The best place to start is the <a href="/blog/rental-property-accounting">complete rental property accounting guide</a>. This guide focuses on the narrower question: which parts of that system can software assist with, and which decisions still need an owner or professional advisor?'},{type:"visual",kind:"ai-reasoning",title:"A useful review boundary",description:"Evidence informs a suggestion; ambiguous accounting decisions remain visible for an owner to confirm"},{type:"heading",level:2,id:"what-an-ai-accountant-does",text:"What an AI accountant actually does"},{type:"paragraph",html:"A capable system can import bank activity, identify likely vendors, suggest a category and property, recognize a recurring mortgage pattern, identify two sides of a transfer, attach source documents, and summarize ledger activity. It can also explain the evidence behind a suggestion and route an unusual transaction to Journal Review instead of forcing it into
25income or expense."},{type:"list",items:["Organize: bring bank, card, receipt, and property context together without changing the source transaction.","Suggest: propose a category, property, or pairing from evidence and prior confirmed patterns.","Post carefully: use the same double-entry rules for an approved result, or hold it in suspense when required details are missing.","Explain: show the account, amount, property, source, and reason a reviewer should accept or question the result.","Learn narrowly: remember a confirmed recurring rule without turning one unusual event into a permanent assumption."]},{type:"heading",level:2,id:"accounting-still-needs-rules",text:"AI still needs accounting rules"},{type:"paragraph",html:"A model may recognize the phrase âmortgage payment,â but the phrase does not reveal the principal and interest split. A $2,000 payment with $600 principal, $1,100 interest, and $300 escrow is recorded as DR Mortgage Payable $600, DR Mortgage Interest $1,100, DR Escrow Expense $300, and CR Cash $2,000. Posting the full amount to interest would overstate expense and leave the liability wrong."},{type:"example",title:"Example: an AI suggestion is not the journal entry",html:"A $2,100 platform payout arrives after a $180 fee is withheld from $2,280 of booking activity.",lines:[{label:"Debit · Cash",value:"$2,100",tone:"positive"},{label:"Debit · Platform Fees",value:"$180"},{label:"Credit · Rental / Cleaning Income",value:"$2,280",tone:"positive"}]},{type:"callout",title:"The human decision is part of the product",html:"AI can surface a likely $14,000 HVAC improvement, but it cannot determine your tax treatment from the vendor name alone. Capitalization policy, placed-in-service facts, entity structure, lease terms, and local rules belong with the owner and qualified advisor.",tone:"amber"},{type:"heading",level:2,id:"when-ai-should-stop",text:"When AI should stop and ask"},{type:"paragraph",html:"Ambiguity is a useful output. Multiple same-amount transfer candidates, an unfamiliar loan payment, a possible property purchase wire, a refundable security deposit, or a mixed personal/business account should remain reviewable. A temporary suspense entry can keep cash reconciled while the owner supplies the missing fact. It is safer than silently booking a confident-looking but unsupported answer."},{type:"heading",level:2,id:"how-to-evaluate-ai-accounting",text:"How to evaluate an AI accounting workflow"},{type:"list",ordered:!0,items:["Ask whether it preserves the source transaction and its entity and property scope.","Check that every posted result balances and identifies both sides of the entry.","Look for a visible path from suggestion to review, approval, correction, and audit trail.","Test transfers, card payments, principal, CapEx, refunds, and owner moneyânot only easy rent deposits.","Bring the reconciled ledger and documents to your CPA rather than treating software output as tax advice."]},{type:"paragraph",html:'Sofia is built around that boundary: automate repeatable evidence work, keep accounting-critical exceptions in view, and let an owner decide when the facts matter. <a href="/how-sofia-works">See how Sofiaâs product and chat capabilities differ</a>. AI should make the books easier to understand, not make the reviewer disappear.'}],faq:[{question:"Can AI accounting replace my CPA?",answer:"No. It can organize activity, prepare suggestions, and make bookkeeping evidence easier to review, but tax positions, legal questions, entity decisions, and professional sign-off remain outside an AI bookkeeping workflow."},{question:"Will AI automatically categorize every bank transaction?",answer:"A safe system should not. High-confidence, well-supported activity may be automated, while ambiguous transfers, loan splits, personal activity, and unusual transactions should be held for review."},{question:"What should an AI accounting system show me?",answer:"It should show the source, account, amount, property when relevant, proposed journal treatment, supporting evidence, and why the result was posted or held."}]},{state:"published",title:"Rental Property Bookkeeping: A Step-by-Step Guide for Property Owners",seoTitle:"Rental Property Bookkeeping: Step-by-Step | Sofia AI",slug:"rental-property-bookkeeping",description:"From connecting accounts and categorizing transactions through reconciliation and reporting, a repeatable monthly bookkeeping workflow for rental owners.",category:"Rental Property Accounting",author:"Sofia AI Editorial",datePublished:"2026-08-31",publishedAt:"2026-08-31",publishAt:fn("2026-08-31"),dateModified:"2026-08-27",readingTime:"13 min read",visual:"bookkeeping-cycle",eyebrow:"Sofia Explains",relatedSlugs:["rental-property-accounting","ai-accounting-real-estate"],cta:{eyebrow:"Meet Sofia AI",title:"A better month
25starts with a repeatable close.",body:"Sofia helps rental owners organize activity, review exceptions, and arrive at reports that tie back to the bank.",label:"See Sofia in action",href:"/demo"},blocks:[{type:"paragraph",html:"Rental property bookkeeping is the routine that turns a month of deposits, bills, loan payments, owner funding, and documents into an explainable set of books. The work is not finished when a bank feed downloads. It is finished when each material event has a category, account, property context where needed, and a clear place in the month-end review."},{type:"visual",kind:"bookkeeping-cycle",title:"The monthly bookkeeping cycle",description:"Import activity, classify it, review exceptions, reconcile, then report"},{type:"heading",level:2,id:"step-one-prepare",text:"1. Prepare the accounts and opening balances"},{type:"paragraph",html:"Separate operating cash, reserves, credit cards, mortgage liabilities, owner equity, rental income, and operating expenses in a chart of accounts that matches how the portfolio works. Record opening cash, loans, fixed assets, and equity before importing history. Keep business and personal money separate; a personal deposit into the rental account is generally owner contribution, not rental income."},{type:"heading",level:2,id:"step-two-import",text:"2. Import activity and preserve its source"},{type:"paragraph",html:"Bring in bank and card activity for the statement period, keeping the account, date, amount, description, and source identifier intact. Check for duplicate imports before creating entries. A statement row is evidence; it is not automatically an income or expense category."},{type:"heading",level:2,id:"step-three-categorize",text:"3. Categorize with property context"},{type:"paragraph",html:"Assign rent, platform fees, utilities, insurance, property taxes, management fees, supplies, and repairs to consistent accounts. If a shared $240 internet bill benefits two properties equally, split it $120 and $120âor apply the documented allocation policy. Do not let the selected property become an accidental allocation rule."},{type:"example",title:"Example: owner funding is not income",html:"The owner transfers $600 from a personal account to cover a property account shortfall.",lines:[{label:"Debit · Operating Cash",value:"$600",tone:"positive"},{label:"Credit · Owner Contribution",value:"$600",tone:"muted"}]},{type:"heading",level:2,id:"step-four-review",text:"4. Review exceptions before closing"},{type:"paragraph",html:"Keep an explicit queue for transactions that need a decision: an unknown vendor, a mixed-use purchase, an unmatched transfer, an unusual mortgage amount, a possible CapEx item, or a personal transaction in a business account. A review item is not bookkeeping failure; it is a controlled place to resolve uncertainty without distorting the ledger."},{type:"heading",level:2,id:"step-five-reconcile",text:"5. Reconcile every account"},{type:"paragraph",html:'Compare the ledger to the external statement for the same account and period. Explain timing differences, missing activity, and duplicates. Never plug a difference just to make the ending balance agree. The <a href="/blog/reconcile-rental-property-bank-account">bank reconciliation guide</a> goes deeper on that close.'},{type:"heading",level:2,id:"step-six-report",text:"6. Read the reports together"},{type:"paragraph",html:'Use the Profit & Loss for activity over a period and the Balance Sheet for assets, liabilities, and equity at a date. Principal payments use cash but reduce a liability; a fixed-asset purchase uses cash but may not be a current expense. The <a href="/blog/rental-property-accounting">cornerstone guide</a> explains why both views are necessary.'},{type:"callout",title:"A practical month-end checklist",html:"Import once, classify consistently, assign shared costs deliberately, resolve or explain review items, reconcile each cash and card account, check loan balances, attach missing evidence, and then read the P&L and Balance Sheet together.",tone:"green"}],faq:[{question:"How often should I do rental bookkeeping?",answer:"Monthly bookkeeping is a useful minimum for most owners, with more frequent review for active portfolios. The cadence matters less than closing each period with reconciled balances and explained exceptions."},{question:"Should rental bookkeeping be by property?",answer:"Property context is useful for income and costs that belong to one property. Shared costs need a consistent allocation policy, while entity-level assets such as a vehicle or equipment may not belong to any property."},{question:"What is the most common bookkeeping mistake?",answer:"Treating every cash movement as income or expense is a common source of distortion. Transfers, owner contributions, credit-card payments, principal, and refund
25able deposits each need their own treatment."}]},{state:"published",title:"How to Account for a Mortgage on a Rental Property",seoTitle:"Rental Property Mortgage Accounting | Sofia AI",slug:"mortgage-rental-property",description:"Principal, interest, escrow, loan balances, and why the full payment is not usually one expense.",category:"Mortgages & Loans",author:"Sofia AI Editorial",datePublished:"2026-09-02",publishedAt:"2026-09-02",publishAt:fn("2026-09-02"),dateModified:"2026-08-27",readingTime:"12 min read",visual:"mortgage-split",eyebrow:"Sofia Explains",relatedSlugs:["rental-property-accounting","rental-property-bookkeeping"],cta:{eyebrow:"Meet Sofia AI",title:"See the split, not just the payment.",body:"Sofia helps you compare imported mortgage activity with the loan schedule while keeping principal, interest, escrow, and review decisions distinct.",label:"See Sofia in action",href:"/demo"},blocks:[{type:"paragraph",html:"A rental-property mortgage payment is usually a bundle of different economic events. Cash leaves the bank once, but the payment can reduce principal, record interest, fund taxes or insurance through escrow, and include a servicing fee. Booking the full withdrawal as one generic expense makes the Profit & Loss and the mortgage balance unreliable."},{type:"visual",kind:"mortgage-split",title:"One payment, multiple jobs",description:"A mortgage payment separates into principal, interest, and escrow"},{type:"heading",level:2,id:"the-three-core-parts",text:"The three core parts"},{type:"table",caption:"A $2,450 payment",headers:["Component","Book treatment","Report impact"],rows:[["Principal · $1,420","Debit Mortgage / Loan Payable (2500)","Reduces the Balance Sheet liability; not an expense"],["Interest · $680","Debit Mortgage Interest (5080)","Expense on the Profit & Loss"],["Escrow · $350","Debit Escrow Expense (5125)","Sofia-specific book treatment; policy and tax treatment may differ"]]},{type:"example",title:"Example: record the complete payment",html:"The servicer statement gives the principal, interest, and escrow components. The entry must balance to the bank withdrawal.",lines:[{label:"Debit · Mortgage / Loan Payable",value:"$1,420",tone:"muted"},{label:"Debit · Mortgage Interest",value:"$680"},{label:"Debit · Escrow Expense",value:"$350"},{label:"Credit · Cash",value:"$2,450",tone:"positive"}]},{type:"heading",level:2,id:"when-piti-is-bundled",text:"When taxes, insurance, or fees are bundled"},{type:"paragraph",html:"Some lenders collect property taxes, insurance, other escrow, and servicing fees with the payment. Separate each component when the statement supports it: property taxes to Property Taxes (5120), insurance to Insurance Expense (5050), servicing fees to Loan Servicing Fees (5205), and other escrow to Escrow Expense (5125). Only the non-principal components hit the P&L."},{type:"example",title:"Example: a $2,800 PITI-plus-fee payment",html:"Assume $600 principal, $1,100 interest, $500 taxes, $300 insurance, $200 servicing fee, and $100 other escrow.",lines:[{label:"Debits · liability, interest, taxes, insurance, fee, escrow",value:"$2,800"},{label:"Credit · Cash",value:"$2,800",tone:"positive"}]},{type:"heading",level:2,id:"matching-imported-payments",text:"Matching an imported payment to a loan"},{type:"paragraph",html:"A bank description can suggest a mortgage, but it cannot establish the split. Compare the amount and date to the correct loan and one unpaid scheduled installment. If the amount is unusual, several loans fit, or the statement components are missing, hold the payment for review rather than guessing. Once the owner confirms a reliable recurring pattern, an accounting system can use it within a defined tolerance and still apply the same validation as a manual confirmation."},{type:"heading",level:2,id:"opening-balance-and-payoff",text:"Opening balances, extra principal, and payoff"},{type:"paragraph",html:"The starting loan balance needs an opening entry so later principal payments have a liability to reduce. Extra principal, refinancing, fees, and payoff activity should be compared with the lender statement and recorded according to the facts. Do not make the loan balance agree by changing an interest expense category."},{type:"callout",title:"Escrow policy matters",html:"Sofiaâs current product workflow recognizes the escrow portion as Escrow Expense (account 5125) when paid; it does not park a new escrow asset at the lender. This is a Sofia-specific book treatment, not a universal rule. Your entity facts, financial-statement policy, historical records, and tax treatment may require a different approach confirmed by a qualified professional.",tone:"amber"},{type:"paragraph",html:'For the surrounding bookkeeping workflow, return to the <a href="/blog/rental-property-accounting">complete rental property accounting guide</a>. Loan schedules and tax treatment deserve confirmation from your CPA or other qualified advisor.'}],faq:[{question:"Is the entire mortgage payment an expense?",answer:"Usually not. Principal reduces the mortgage liability, while interest and supported tax, insurance, escrow, and servicing components are expenses under the applicable bookkeeping policy."},{question:"What if I only know the total withdrawal?",answer:"Keep it in a review workflow until the lender statement or other reliable evidence supports the split. A generic expense category hides the liability and can overstate expense."},{question:"Does escrow always appear as an asset?",answer:"Not under Sofia's current guidance: escrow paid with the mortgage is recognized as Escrow Expense (5125). Policies and historical records can differ, so confirm the treatment with your qual
25ified advisor."}]},{state:"published",title:"Rental Property CapEx vs. Repairs: How to Account for Each",seoTitle:"Rental Property CapEx vs. Repairs | Sofia AI",slug:"rental-property-capex-repairs",description:"A clear framework for repairs, improvements, HVAC, roofs, appliances, furniture, and depreciation.",category:"Expenses & CapEx",author:"Sofia AI Editorial",datePublished:"2026-09-04",publishedAt:"2026-09-04",publishAt:fn("2026-09-04"),dateModified:"2026-08-27",readingTime:"10 min read",visual:"capex-decision",eyebrow:"Sofia Explains",relatedSlugs:["rental-property-accounting","mortgage-rental-property"],cta:{eyebrow:"Meet Sofia AI",title:"Make the decision visible.",body:"Sofia helps separate ordinary maintenance from asset purchases and keeps the facts ready for your capitalization policy and advisor.",label:"See Sofia in action",href:"/demo"},blocks:[{type:"paragraph",html:"The difference between a repair and a capital expenditure is more than the size of a bank withdrawal. A repair generally restores an existing asset to working condition. CapEx generally creates an asset, materially improves one, or extends its useful life. The facts, your capitalization policy, and tax rules all matter."},{type:"visual",kind:"capex-decision",title:"Repair or CapEx review?",description:"Facts and capitalization policy guide the review; a bank description is not a tax conclusion"},{type:"heading",level:2,id:"a-practical-framework",text:"A practical bookkeeping framework"},{type:"list",ordered:!0,items:["Describe what changed: restoration, replacement, new capacity, or a new asset.","Gather the invoice, scope of work, date placed in service, property, and amount.","Apply the entity's capitalization policy consistently, including its threshold and asset classes.","Post routine repairs to the appropriate expense account, or capitalize a supported asset to the Balance Sheet.","Give the tax professional the facts; do not treat a bookkeeping label as a tax conclusion."]},{type:"table",caption:"Examples that still need facts",headers:["Purchase","Likely review direction","Why it is not automatic"],rows:[["$185 replacement faucet","Repairs & Maintenance (5100)","Usually restores existing condition"],["$14,000 HVAC replacement","Fixed asset / property improvement (1520)","Durable replacement may extend useful life"],["$900 appliance","Policy-dependent fixed asset or expense","Amount alone does not decide the treatment"],["Full roof replacement","Property improvement candidate","A roof patch and a new roof are different events"]]},{type:"heading",level:2,id:"journal-entries",text:"The accounting entries"},{type:"example",title:"Example: capitalize a supported property improvement",html:"A documented $12,000 improvement is approved under the entity's policy and belongs to one rental property.",lines:[{label:"Debit · Rental Property â Improvements (1520)",value:"$12,000",tone:"muted"},{label:"Credit · Cash",value:"$12,000",tone:"positive"}]},{type:"example",title:"Example: expense an ordinary repair",html:"A $185 faucet replacement restores the existing kitchen without adding a new asset.",lines:[{label:"Debit · Repairs & Maintenance (5100)",value:"$185"},{label:"Credit · Cash",value:"$185",tone:"positive"}]},{type:"heading",level:2,id:"entity-level-assets",text:"Not every fixed asset is property-scoped"},{type:"paragraph",html:"A lasting improvement to a specific rental property uses the property improvement asset account (1520) and carries property context. An entity-owned vehicle, furniture and equipment, or other fixed asset uses its entity-level asset accountâ1540, 1550, or 1560âand does not need a property tag. These are acquisition categories, not substitutes for a vehicle or equipment loan-payment split."},{type:"heading",level:2,id:"depreciation",text:"Depreciation comes later"},{type:"paragraph",html:"Under a chosen book capitalization policy, capitalization puts the cost on the Balance Sheet. Book depreciation then moves the cost to expense over the selected useful life; in Sofiaâs chart this uses Depreciation (account 5140) and the assetâs accumulated-depreciation child under account 1590. Tax capitalization, recovery periods, elections, and deductions are separate determinations that require professional advice."},{type:"callout",title:"Keep the evidence with the decision",html:'A vendor name such as âRoofingâ can start a review, but it cannot prove CapEx. Keep the invoice, scope, property, policy, and placed-in-service facts together. The <a href="/blog/rental-property-accounting">cornerstone accounting guide</a> puts this decision alongside mortgages, transfers, and reconciliation.',tone:"green"}],faq:[{question:"Is every large repair CapEx?",answer:"No. Size can trigger a review, but the work and capitalization policy matter. A large repair may restore existing condition, while a smaller purchase may create a durable asset."},{question:"Does CapEx hit the Profit & Loss immediately?",answer:"A supported fixed-asset purchase is recorded on the Balance Sheet. Book depreciation reaches the Profit & Loss over time; tax treatment should be confirmed separately."},{question:"Can Sofia decide whether something is deductible?",answer:"No. Sofia can organize evidence and surface a repair-versus-improvement review, but deductibility and tax depreciation are professional conclusions."}]},{state:"published",title:"How to Reconcile a Rental Property Bank Account",seoTitle:"Reconcile a Rental Property Bank Account | Sofia AI",slug:"reconcile-rental-property-bank-account",description:"A practical explanation of bank versus ledger balances, outstanding items, duplicates, transfers, and review.",category:"Banking & Reconciliation",author:"Sofia AI Editorial",datePublished:"2026-09-06",publishedAt:"2026-09-06",publishAt:fn("2026-09-06"),dateModified:"2026-08-27",readingTime:"9 min read",visual:"reconciliation",eyebrow:"Sofia Explains",relatedSlugs:["rental-property-accounting","rental-property-bookkeeping"],cta:{eyebrow:"Meet Sofia AI",title:"Close the gap with evidence.",body:"Sofia keeps missing, duplicate, and uncertain activity visible so reconciliation ends with an explanationân
25ot an unexplained plug.",label:"See Sofia in action",href:"/demo"},blocks:[{type:"paragraph",html:"Bank reconciliation compares the ledger for one bank or card account with the external statement for the same period and explains the difference. It is not the same as confirming that a feed is connected, and a zero difference does not by itself prove that categories, properties, or tax treatment are correct. Reconciliation supports completeness and occurrence for that account and period; classification still needs review."},{type:"visual",kind:"reconciliation",title:"Statement meets ledger",description:"Compare the same account and period, then explain any difference"},{type:"heading",level:2,id:"before-you-start",text:"Before you start"},{type:"list",items:["Choose the exact bank or card account and the statement's beginning and ending dates.","Record the statement ending balance exactly as printed; do not substitute a downloaded feed total.","Confirm the ledger is scoped to the same account and entity.","Gather statements, deposit details, checks, receipts, and loan or card records that explain timing."]},{type:"heading",level:2,id:"compare-and-explain",text:"Compare, then explain"},{type:"paragraph",html:"Compare cleared deposits, payments, fees, transfers, and other rows to the ledger. A deposit in transit or uncleared check can be a legitimate timing difference. A missing bank row needs to be imported or recorded through the correct workflow. A repeated amount deserves a duplicate check before a second entry is created."},{type:"example",title:"Example: a small difference is not a plug",html:"The statement ending balance is $18,420. The ledger is $18,170. Investigation finds a $250 bank fee on the statement that has not been recorded.",lines:[{label:"Debit · Bank Fees",value:"$250"},{label:"Credit · Cash",value:"$250",tone:"positive"},{label:"Reconciled ending balance",value:"$18,420",tone:"positive"}]},{type:"heading",level:2,id:"transfers-and-duplicates",text:"Transfers and duplicates deserve special attention"},{type:"paragraph",html:"A $500 move from checking to savings should appear as cash leaving one account and arriving in the other, not as expense and income. If only one leg imported, find the counterpart rather than forcing the row into a category. For duplicate-looking rows, compare dates, descriptions, source identifiers, and statement occurrence before deciding whether there are actually two bank events."},{type:"heading",level:2,id:"review-uncertainty",text:"Use review instead of hiding uncertainty"},{type:"paragraph",html:"An unknown vendor, personal purchase, unmatched transfer, unusual loan payment, or possible CapEx item can remain in a review queue while the cash event stays visible. Reconciliation is stronger when it explains why a row is waiting than when it makes the difference disappear through a generic adjustment."},{type:"heading",level:2,id:"close-and-report",text:"Close the period and read the reports"},{type:"paragraph",html:'Once the account ties, retain the statement and reconciliation evidence. Then read the <a href="/blog/rental-property-accounting">rental accounting cornerstone</a>: the P&L explains activity over the period, while the Balance Sheet shows cash and liabilities at the ending date. A reconciled bank account supports both, but it does not make an incorrect category correct.'},{type:"callout",title:"Never reconcile by changing history",html:"Do not delete a real bank event, merge repeated statement occurrences, or post an unexplained adjustment just to reach zero. Find the missing, duplicated, mistimed, or misclassified event and use the appropriate correction path.",tone:"amber"}],faq:[{question:"How often should a rental bank account be reconciled?",answer:"Monthly is a practical minimum for many portfolios. Active accounts may benefit from more frequent review; every period should end with an explainable balance."},{question:"What if the bank and ledger do not agree?",answer:"Check the account and date range first, then investigate missing activity, duplicates, timing differences, transfers, fees, and opening balances. Avoid an unexplained plug."},{question:"Does reconciliation prove my categories are correct?",answer:"No. Reconciliation proves the account activity agrees with the statement. Category and property decisions still need review and consistent accounting policy."}]},{state:"published",title:"How to Account for Transfers Between Rental Property Bank Accounts",seoTitle:"Rental Property Transfers and Cash Movement | Sofia AI",slug:"rental-property-transfers",description:"Transfers, credit card payments, owner contributions, owner draws, and why cash movement is not automatically income or expense.",category:"Banking & Reconciliation",author:"Sofia AI Editorial",datePublished:"2026-09-08",publishedAt:"2026-09-08",publishAt:fn("2026-09-08"),dateModified:"2026-08-27",readingTime:"9 min read",visual:"transfer",eyebrow:"Sofia Explains",relatedSlugs:["rental-property-accounting","reconcile-rental-property-bank-account","mortgage-rental-property"],cta:{eyebrow:"Meet Sofia AI",title:"Move cash without moving the story.",body:"Sofia helps pair the two sides of a cash movement so transfers do not masquerade as income, expense, or duplicate activity.",label:"See Sofia in action",href:"/demo"},blocks:[{type:"paragraph",html:"A transfer changes where money sits. It does not, by itself, create revenue or an expense. This distinction matters in a rental portfolio because operating accounts, reserves, credit cards, and owner accounts can produce many equal-and-opposite bank rows."},{type:"visual",kind:"transfer",title:"Paired cash movement",description:"Cash leaves one account and arrives in another without creating income or expense"},{type:"heading",level:2,id:"bank-to-bank",text:"Bank-to-bank transfers"},{type:"paragraph",html:"For a $500 move from operating checking to savings, debit the receiving cash account and credit the sending c
25ash account. Across the two accounts, cash is unchanged. The two bank rows should be paired so the same movement is not counted as a withdrawal and a new deposit."},{type:"example",title:"Example: move money to reserves",html:"The owner moves $1,000 from operating cash into the entity's reserve account.",lines:[{label:"Debit · Reserve Cash",value:"$1,000",tone:"positive"},{label:"Credit · Operating Cash",value:"$1,000",tone:"muted"},{label:"Income / expense created",value:"$0",tone:"positive"}]},{type:"heading",level:2,id:"credit-card-payments",text:"Credit-card payments are liability transfers"},{type:"paragraph",html:"When operating cash pays the business credit card, debit Credit Card Payable (2020) and credit bank cash. The payment settles a liability. The expense was recorded when the card was charged; expensing the payment again would double-count it."},{type:"heading",level:2,id:"owner-money",text:"Owner contributions and draws are different"},{type:"paragraph",html:"Personal money deposited into a rental account is generally an owner contribution or equity event, not rental income. Money taken out for personal use is generally a draw or distribution, not an operating expense. Entity structure and the operating agreement can change the answer, so align the books with professional advice."},{type:"heading",level:2,id:"pairing-and-review",text:"Pair confidently; review ambiguity"},{type:"paragraph",html:"An equal amount is only a candidate pair. A safe match also considers the opposite direction, account eligibility, close dates, transfer language, and unique references. If several same-amount rows fit, or the other leg has not imported, keep the transaction visible in review. Do not force an external payment into transfer merely because its description says âXFER.â"},{type:"heading",level:2,id:"purchase-wires",text:"A purchase wire may not be a transfer"},{type:"paragraph",html:'A large outflow near a property acquisition may be a purchase deposit or closing funding rather than a move between owned accounts. It needs the acquisition workflow so recorded funding is linked once and cash is not double-counted. Start with the <a href="/blog/rental-property-accounting">complete rental property accounting guide</a> when the context is unclear.'},{type:"callout",title:"The test is economic substance",html:"Ask where the money came from, where it went, and whether the entity received income, bought an asset, paid a cost, settled a liability, or moved its own cash. The bank memo is evidenceânot the conclusion.",tone:"green"}],faq:[{question:"Is a transfer to a reserve account income?",answer:"No. A transfer between the entity's own cash accounts moves cash between places and does not create income or expense."},{question:"Is paying a credit card an expense?",answer:"No. The payment debits Credit Card Payable and credits cash. The underlying expenses were recorded when the card was used."},{question:"Can equal amounts be paired automatically?",answer:"Only when the full evidence supports one unique counterpart. Equal amounts alone are not enough because unrelated payments and repeated statement events can match by coincidence."}]},{state:"published",title:"QuickBooks vs. AI Accounting Software for Rental Property Owners",seoTitle:"Evaluating QuickBooks and AI Accounting for Rentals",slug:"quickbooks-vs-ai-accounting",description:"An informational guide to evaluating general accounting software and AI-assisted real-estate accounting workflows.",category:"AI Accounting",author:"Sofia AI Editorial",datePublished:"2026-09-10",publishedAt:"2026-09-10",publishAt:fn("2026-09-10"),dateModified:"2026-08-27",readingTime:"10 min read",visual:"workflow-comparison",eyebrow:"Sofia Explains",relatedSlugs:["rental-property-accounting","ai-accounting-real-estate","rental-property-bookkeeping"],cta:{eyebrow:"Meet Sofia AI",title:"Choose the workflow that fits the work.",body:"See how Sofia complements careful accounting with real-estate context, explainable suggestions, and a visible review boundary.",label:"See Sofia in action",href:"/demo"},blocks:[{type:"paragraph",html:'QuickBooks and AI accounting software are not interchangeable categories. QuickBooks is a broad general-ledger platform with a mature ecosystem and flexible configuration. An AI accounting product can focus more narrowly on collecting evidence, suggesting context, and reducing repetitive review for a particular kind of business. This article is an informational workflow-evaluation guide. For commercial intent, use the dedicated <a href="/compare/quickbooks">Sofia vs. QuickBooks comparison</a>, <a href="/alternatives/quickbooks">QuickBooks alternative page</a>, or <a href="/switch-to-sofia/quickbooks">switching guide</a>.'},{type:"visual",kind:"workflow-comparison",title:"General ledger meets real-estate context",description:"Both workflows need imports, review, and reconciliation; context changes what is suggested"},{type:"heading",level:2,id:"compare-the-work",text:"Compare the work, not the labels"},{type:"table",caption:"A fair starting comparison",headers:["Need","General accounting software","AI-assisted real-estate workflow"],rows:[["Chart of accounts","Flexible setup for many industries","Usually opinionated around rental-property questions"],["Data entry","Rules and connected feeds can reduce repetition","Suggestions may use descriptions, documents, properties, and patterns"],["Judgment","Owner, bookkeeper, or advisor configures and reviews","AI can surface evidence but should stop at ambiguity"],["Reporting","Broad accounting reports and integrations","May emphasize property, loan, review, and ledger explanations"],["Controls","Depends on configuration and user process","Must be checked for audit trail, approval, and fail-closed behavior"]]},{type:"heading",level:2,id:"what-both-still-need",text:"What both workflows still need"},{type:"paragraph",html:"Neither tool makes accounting correct by brand name. Both need a suitable chart of accounts, reliable opening balances, consistent property allocation, accurate mortgage splits, careful CapEx decisions, duplicate controls, and monthly reconciliation. A $500 internal transfer is still a transfer; a $600 principal payment is still a liability reduction; a refundable deposit is still not automatically rental income."},{type:"heading",level:2,id:"where-ai-can-help",text:"Where AI can reduce the busywork"},{type:"list",items:["Read transaction descriptions and documents to propose a category or property.","Recognize a recurring vendor or mortgage pattern without treating every match as certain.","Pair likely transfer legs and keep ambiguous matches in review.","Summarize a ledger question using scoped financial data.","Show why an item was suggested, posted, or held so the owner can review the decision."]},{type:"heading",level:2,id:"questions-to-ask",text:"Questions to ask before choosing"},{type:"list",ordered:!0,items:["Can I export or explain every material journal entry to my advisor?","Does the product distinguish principal, interest, escrow, taxes, and insurance?","Can it keep transfers, credit-card payments, owner money, and deposits out of the wrong P&L bucket?","What happens when evidence is missing or two candidates are equally plausible?","Can I reconcile each bank and card account and retain the supporting evidence?"]},{type:"callout",title:"Fair conclusion",html:"QuickBooks may be the right fit for an owner who wants a general ledger, broad integrations, and control over configuration. An AI accounting workflow may be a better fit for an owner who values guided real-estate context and fewer repetitive decisions. Compare the actual controls and outputsânot marketing claimsâand involve your accountant.",tone
25:"cream"},{type:"paragraph",html:'For the accounting foundation behind this comparison, read the <a href="/blog/rental-property-accounting">complete rental property accounting guide</a> and the <a href="/blog/rental-property-bookkeeping">step-by-step bookkeeping workflow</a>. Software is useful when it makes those principles easier to follow.'}],faq:[{question:"Is QuickBooks bad for rental properties?",answer:"Not necessarily. It is a flexible general-ledger platform that can support rental accounting when configured and reviewed carefully. The fit depends on the owner's workflow, portfolio, integrations, and advisor process."},{question:"What does AI accounting add?",answer:"It can use transaction evidence, documents, property context, and recurring patterns to prepare suggestions and surface exceptions. It should not replace accounting policy, review, reconciliation, or professional advice."},{question:"Should I choose based on automatic categorization?",answer:"No. Evaluate the whole workflow: opening balances, loan splits, property allocation, transfers, CapEx, duplicate handling, review controls, auditability, and reconciled reporting."}]}];function fi(e){return Gs.find(r=>r.slug===e)}const SP=/^\d{4}-\d{2}-\d{2}$/,ov=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,_P=/^\d+ min read$/;function Pe(e){return typeof e=="string"&&e.trim().length>0}function qc(e){if(typeof e!="string"||!SP.test(e))return!1;const r=new Date(`${e}T00:00:00.000Z`);return!Number.isNaN(r.valueOf())&&r.toISOString().slice(0,10)===e}function EP(e){if(!e||typeof e!="object"||!("type"in e))return!1;const r=e;switch(e.type){case"heading":return(r.level===2||r.level===3)&&Pe(r.id)&&ov.test(r.id)&&Pe(r.text);case"paragraph":return Pe(r.html)&&Pe(r.html.replace(/<[^>]*>/g,"").trim());case"list":return Array.isArray(r.items)&&r.items.length>0&&r.items.every(Pe)&&(r.ordered===void 0||typeof r.ordered=="boolean");case"callout":return Pe(r.title)&&Pe(r.html)&&Pe(r.html.replace(/<[^>]*>/g,"").trim());case"example":return Pe(r.title)&&Pe(r.html)&&Pe(r.html.replace(/<[^>]*>/g,"").trim())&&Array.isArray(r.lines)&&r.lines.length>0&&r.lines.every(o=>!!o&&typeof o=="object"&&Pe(o.label)&&Pe(o.value));case"table":{if(!Pe(r.caption)||!Array.isArray(r.headers)||r.headers.length===0||!r.headers.every(Pe)||!Array.isArray(r.rows)||r.rows.length===0)return!1;const o=r.headers.length;return r.rows.every(s=>Array.isArray(s)&&s.length===o&&s.every(Pe))}case"visual":return Pe(r.kind)&&!!ur[r.kind]&&Pe(r.title)&&Pe(r.description);default:return!1}}function CP(e){if(!e||!["published","coming-soon"].includes(e.state)||!Pe(e.title)||!Pe(e.seoTitle)||!ov.test(e.slug)||!Pe(e.description)||!rv.some(r=>r.label===e.category)||!Pe(e.author)||!qc(e.datePublished)||!qc(e.publishedAt)||e.datePublished!==e.publishedAt||!qc(e.dateModified)||!Number.isFinite(Date.parse(e.publishAt))||!e.publishAt.endsWith("Z")||!_P.test(e.readingTime)||!ur[e.visual]||!Pe(e.eyebrow)||!Array.isArray(e.blocks)||e.blocks.length===0||!e.blocks.every(EP)||!Array.isArray(e.relatedSlugs)||e.relatedSlugs.some(r=>r===e.slug||!fi(r))||!e.cta||!Pe(e.cta.eyebrow)||!Pe(e.cta.title)||!Pe(e.cta.body)||!Pe(e.cta.label)||!/^\/(?!\/)/.test(e.cta.href))return!1;try{if(e.publishAt!==fn(e.datePublished))return!1}catch{return!1}return!(e.faq!==void 0&&(!Array.isArray(e.faq)||e.faq.some(r=>!r||typeof r!="object"||!Pe(r.question)||!Pe(r.answer))))}function vn(e,r=new Date){if(!CP(e)||e.state!=="published")return!1;const o=r instanceof Date?r.valueOf():r;return Number.isFinite(o)&&Date.parse(e.publishAt)<=o}function PP(e,r=new Date){if(e&&!vn(e,r))return;const o=e?`${$t}/blog/${e.slug}`:`${$t}/blog`,s=[e?{"@type":"Article","@id":`${o}#article`,headline:e.title,description:e.description,url:o,image:Ks,author:{"@type":"Organization",name:e.author},publisher:{"@id":$c},datePublished:e.datePublished,dateModified:e.dateModified,mainEntityOfPage:{"@type":"WebPage","@id":o}}:{"@type":"Blog","@id":`${o}#blog`,name:"The Sofia AI Journal",headline:"Real Estate Accounting, Explained.",description:"Practical guides on rental property accounting, AI accounting, mortgages, CapEx, reconciliation, transfers, and financial reporting.",url:o,image:Ks,publisher:{"@id":$c},blogPost:Gu(r).map(a=>({"@type":"BlogPosting","@id":`${$t}/blog/${a.slug}#article`,headline:a.title,url:`${$t}/blog/${a.slug}`,datePublished:a.datePublished,dateModified:a.dateModified}))},{"@type":"Organization","@id":$c,name:"Sofia AI",url:$t,logo:{"@type":"ImageObject",url:bP}},{"@type":"BreadcrumbList","@id":`${o}#breadcrumb`,itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:$t},{"@type":"ListItem",position:2,name:"Blog",item:`${$t}/blog`},...e?[{"@type":"ListItem",position:3,name:e.title,item:o}]:[]]}];return e?.faq?.length&&s.push({"@type":"FAQPage","@id":`${o}#faq`,mainEntity:e.faq.map(a=>
25({"@type":"Question",name:a.question,acceptedAnswer:{"@type":"Answer",text:a.answer}}))}),{"@context":"https://schema.org","@graph":s}}function Gu(e=new Date){return Gs.filter(r=>vn(r,e)).sort((r,o)=>Date.parse(r.publishAt)-Date.parse(o.publishAt))}function iv(e,r=new Date){if(e==="/blog"||e==="/blog/")return!0;const o=e.match(/^\/blog\/([^/]+)\/?$/);return!!(o&&vn(fi(o[1]),r))}function Ts(e,r=new Date){return e.replace(/<a\b([^>]*\bhref=["']\/blog\/([^/"']+)["'][^>]*)>([\s\S]*?)<\/a>/gi,(o,s,a,d)=>vn(fi(a),r)?o:d)}function ni(e){return new Intl.DateTimeFormat("en-US",{month:"long",day:"numeric",year:"numeric",timeZone:"UTC"}).format(new Date(`${e}T00:00:00Z`))}function at(e,r,o){let s=document.head.querySelector(`meta[${e}="${r}"]`);s||(s=document.createElement("meta"),s.setAttribute(e,r),document.head.appendChild(s)),s.content=o}function ym(e,r){document.head.querySelector(`meta[${e}="${r}"]`)?.remove()}function Yu(e){const[r]=Nt();v.useEffect(()=>{const o=r==="/blog"||r==="/blog/",s=vn(e)?e:void 0,a=!!s,d=o?"Real Estate Accounting, Explained. | Sofia AI":s?s.seoTitle:"Guide not published | Sofia AI",f=o?"Practical guides on rental property accounting, AI accounting, mortgages, CapEx, reconciliation, transfers, and financial reporting.":s?s.description:"This Sofia AI guide has not been published.";document.title=d,at("name","description",f),at("name","robots",a||o?"index,follow":"noindex,nofollow"),document.getElementById("sofia-blog-structured-data")?.remove();let m=document.head.querySelector('link[rel="canonical"]');if(!o&&!s){m?.remove(),["og:title","og:description","og:type","og:url","og:site_name","og:image","og:image:width","og:image:height","og:image:alt"].forEach(P=>ym("property",P)),["twitter:card","twitter:title","twitter:description","twitter:image"].forEach(P=>ym("name",P));return}const y=o?"/blog":`/blog/${s.slug}`,w=`${$t}${y}`;at("property","og:title",d),at("property","og:description",f),at("property","og:type",a?"article":"website"),at("property","og:url",w),at("property","og:site_name","Sofia AI"),at("property","og:image",Ks),at("property","og:image:width","1200"),at("property","og:image:height","630"),at("property","og:image:alt",o?"Sofia AI Journal field notes":`Sofia AI Journal: ${s.title}`),at("name","twitter:card","summary_large_image"),at("name","twitter:title",d),at("name","twitter:description",f),at("name","twitter:image",Ks),m||(m=document.createElement("link"),m.rel="canonical",document.head.appendChild(m)),m.href=w;const b=PP(s,new Date),k=document.createElement("script");k.id="sofia-blog-structured-data",k.type="application/ld+json",k.textContent=JSON.stringify(b),document.head.appendChild(k)},[e,r])}function Ju(){return u.jsx("header",{className:"blog-header",children:u.jsx("div",{className:"blog-container blog-header-mast",children:u.jsxs("div",{className:"blog-header-inner",children:[u.jsxs(Ce,{href:"/",className:"blog-brand blog-brand-wordmark","aria-label":"Sofia AI Journal home",children:[u.jsx("img",{src:ya,alt:"Sofia AI"}),u.jsxs("span",{children:["Sofia AI",u.jsx("br",{}),u.jsx("i",{children:"Journal"})]})]}),u.jsxs("nav",{className:"blog-nav","aria-label":"Publication navigation",children:[u.jsx("a",{href:"/blog#archive",children:"Archive"}),u.jsx("a",{href:"/blog#topics",children:"Topics"})]})]})})})}function sv({kind:e,title:r,description:o}){const s=ur[e];return u.jsxs("figure",{className:`blog-visual blog-visual-${e}`,"aria-label":`${r}: ${o}`,children:[u.jsxs("div",{className:"blog-visual-kicker",children:[u.jsx("span",{children:s.label}),u.jsxs("small",{children:["FIG. ",String(Object.keys(ur).indexOf(e)+1).padStart(2,"0")]})]}),e==="property-flow"&&u.jsx("div",{className:"blog-diagram",children:s.items.map((a,d)=>u.jsxs("div",{className:"blog-diagram-step",children:[u.jsx("span",{children:a.label}),d<s.items.length-1&&u.jsx(Ko,{className:"blog-diagram-arrow",size:18,"aria-hidden":"true"})]},a.label))}),e==="financial-statements"&&u.jsx("div",{className:"blog-statement-diagram",children:s.items.map(a=>u.jsxs("div",{className:"blog-statement-panel",children:[u.jsx("span",{children:a.label}),u.jsx("strong",{children:a.value}),u.jsx("small",{children:a.detail})]},a.label))}),e==="ai-reasoning"&&u.jsx("div",{className:"blog-pipeline-diagram",children:s.items.map((a,d)=>u.jsxs("div",{className:"blog-pipeline-step",children:[u.jsx("span",{children:a.label}),d<s.items.length-1&&u.jsx(Ko,{size:16,"aria-hidden":"true"})]},a.label))}),e==="bookkeeping-cycle"&&u.jsx("div",{className:"blog-cycle-diagram",children:s.items.map((a,d)=>u.jsxs("div",{className:"blog-cycle-step",children:[u.jsx("b",{children:d+1}),u.jsx("span",{children:a.label})]},a.label))}),e==="mortgage-split"&&u.jsxs("div",{className:"blog-allocation-diagram",children:[u.jsxs("div",{className:"blog-allocation-total",children:[u.jsx("span",{children:s.lead?.label}),u.jsx("strong",{children:s.lead?.value})]}),u.jsx("div",{className:"blog-allocation-grid",children:s.items.map(a=>u.jsxs("div",{children:[u.jsx("b",{children:a.label}),u.jsx("strong",{children:a.value}),u.jsx("small",{children:a.detail})]},a.label))})]}),e==="capex-decision"&&u.jsxs("div",{className:"blog-decision-diagram",children:[u.jsx("strong",{children:s.lead?.label}),u.jsx("div",{className:"blog-decision-question",children:s.prompt}),u.jsx("div",{className:"blog-decision-branches",children:s.items.map(a=>u.jsxs("span",{children:[u.jsx("b",{children:a.label}),u.jsx("small",{children:a.detail})]},a.label))})]}),e==="reconciliation"&&u.jsxs("div",{className:"blog-reconciliation-diagram",children:[s.items.map(a=>u.jsxs("div",{children:[u.jsx("span",{children:a.label}),u.jsx("strong",{children:a.value}),u.jsx("small",{children:a.detail})]},a.label)),u.jsx("p",{children:s.note})]}),e==="transfer"&&u.jsxs("div",{className:"blog-transfer-diagram",children:[u.jsxs("div",{children:[u.jsx("strong",{children:s.items[0].label}),u.jsx("span",{children:s.items[0].value})]}),u.jsxs("div",{className:"blog-transfer-arrow",children:[u.jsx(Ko,{size:18,"aria-hidden":"true"}),u.jsx("span",{children:s.prompt}),u.jsx(Ko,{size:18,"aria-hidden":"true"})]}),u.jsxs("div",{children:[u.jsx("strong",{children:s.items[1].label}),u.jsx("span",{children:s.items[1].value})]}),u.jsx("p",{children:s.note})]}),e==="workflow-comparison"&&u.jsx("div",{className:"blog-workflow-diagram",children:s.items.map(a=>{const[d,f]=a.detail?.split(` 26`)??[];return u.jsxs("div",{children:[u.jsx("strong",{children:a.label}),u.jsx("span",{children:a.value}),u.jsx("b",{children:d}),u.jsx("small",{children:f})]},a.label)})}),u.jsxs("figcaption",{children:[u.jsx("strong",{children:r}),u.jsx("span",{children:o})]})]})}function AP({block:e}){return u.jsxs("aside",{className:"blog-example",children:[u.jsxs("div",{className:"blog-example-heading",children:[u.jsx(Ib,{size:16}),u.jsx("strong",{children:e.title})]}),u.jsx("p",{dangerouslySetInnerHTML:{__html:e.html}}),u.jsx("div",{className:"blog-example-lines",children:e.lines.map(r=>u.jsxs("div",{className:`blog-example-line blog-example-${r.tone??"normal"}`,children:[u.jsx("span",{children:r.label}),u.jsx("strong",{children:r.value})]},r.label))})]})}function IP({block:e,now:r}){switch(e.type){case"heading":return e.level===2?u.jsx("h2",{id:e.id,children:e.text}):u.jsx("h3",{id:e.id,children:e.text});case"paragraph":return u.jsx("p",{dangerouslySetInnerHTML:{__html:Ts(e.html,r)}});case"list":return e.ordered?u.jsx("ol",{children:e.items.map(o=>u.jsx("li",{dangerouslySetInnerHTML:{__html:Ts(o,r)}},o))}):u.jsx("ul",{children:e.items.map(o=>u.jsx("li",{dangerouslySetInnerHTML:{__html:Ts(o,r)}},o))});case"callout":return u.jsxs("aside",{className:`blog-callout blog-callout-${e.tone??"cream"}`,children:[u.jsx("strong",{children:e.title}),u.jsx("p",{dangerouslySetInnerHTML:{__html:Ts(e.html,r)}})]});case"example":return u.jsx(AP,{block:e});case"table":return u.jsx("div",{className:"blog-table-wrap",children:u.jsxs("table",{children:[u.jsx("caption",{children:e.caption}),u.jsx("thead",{children:u.jsx("tr",{children:e.headers.map(o=>u.jsx("th",{children:o},o))})}),u.jsx("tbody",{children:e.rows.map(o=>u.jsx("tr",{children:o.map(s=>u.jsx("td",{dangerouslySetInnerHTML:{__html:s}},s))},o[0]))})]})});
26case"visual":return u.jsx(sv,{kind:e.kind,title:e.title,description:e.description})}}function jP({article:e,featured:r=!1,now:o=new Date}){const s=vn(e,o),a=u.jsxs(u.Fragment,{children:[u.jsx(sv,{kind:e.visual,title:ur[e.visual].label,description:ur[e.visual].description}),u.jsxs("div",{className:"blog-card-content",children:[u.jsx("span",{className:"blog-card-category",children:e.category}),s&&u.jsxs("span",{className:"blog-card-meta",children:["Published ",ni(e.datePublished)," ",u.jsx("i",{children:"·"})," ",e.readingTime]}),u.jsx("h3",{children:e.title}),u.jsx("p",{children:e.description}),u.jsx("span",{className:"blog-card-link",children:s?u.jsxs(u.Fragment,{children:["Read the guide ",u.jsx(or,{size:16})]}):u.jsxs("span",{className:"blog-card-coming-soon",children:[u.jsx(Tb,{size:15})," Coming soon"]})})]})]});return s?u.jsx(Ce,{href:`/blog/${e.slug}`,className:`blog-card ${r?"blog-card-featured":""}`,children:a}):u.jsx("article",{className:`blog-card blog-card-coming ${r?"blog-card-featured":""}`,children:a})}function TP({article:e}){const r=ur[e.visual];return e.visual==="mortgage-split"?u.jsxs("div",{className:"field-fragment field-fragment-numbers",children:[u.jsx("span",{children:r.lead?.label}),u.jsx("strong",{children:r.lead?.value}),u.jsx("div",{children:r.items.map(o=>u.jsxs("b",{children:[u.jsx("em",{children:o.value}),o.label]},o.label))})]}):e.visual==="reconciliation"?u.jsxs("div",{className:"field-fragment field-fragment-compare",children:[r.items.slice(0,2).map(o=>u.jsxs("div",{children:[u.jsx("small",{children:o.label}),u.jsx("strong",{children:o.value})]},o.label)),u.jsx("span",{children:r.note})]}):e.visual==="capex-decision"?u.jsxs("div",{className:"field-fragment field-fragment-note",children:[u.jsx("span",{children:"IN THE MARGIN"}),u.jsx("p",{children:r.prompt}),u.jsx("small",{children:r.items.map(o=>o.label).join(" / ")})]}):e.visual==="transfer"?u.jsxs("div",{className:"field-fragment field-fragment-type",children:[u.jsx("span",{children:r.prompt}),u.jsxs("strong",{children:["same cash",u.jsx("br",{}),u.jsx("em",{children:"different meaning."})]}),u.jsx("small",{children:r.items.map(o=>o.label).join(" · ")})]}):e.visual==="workflow-comparison"?u.jsxs("div",{className:"field-fragment field-fragment-flow",children:[u.jsx("span",{children:r.label}),u.jsx("div",{children:r.items.map(o=>u.jsx("b",{children:o.label},o.label))}),u.jsx("small",{children:r.description})]}):e.visual==="ai-reasoning"?u.jsxs("div",{className:"field-fragment field-fragment-context",children:[u.jsx("span",{children:r.label}),r.items.slice(0,3).map(o=>u.jsxs("div",{children:[u.jsx("i",{children:o.label}),u.jsx("b",{children:o.value})]},o.label)),u.jsx("small",{children:r.note})]}):u.jsxs("div",{className:"field-fragment field-fragment-ledger",children:[u.jsx("span",{children:r.label}),r.items.slice(0,3).map(o=>u.jsxs("div",{children:[u.jsx("i",{children:o.label}),u.jsx("b",{children:o.value})]},o.label)),u.jsx("small",{children:r.description})]})}function RP(){Yu();const e=new Date,r=Gu(e),o=r.find(a=>a.slug==="rental-property-accounting")??r[0],s=Gs.filter(a=>a.slug!==o?.slug);return u.jsxs("div",{className:"blog-page",children:[u.jsx(Ju,{}),u.jsxs("main",{className:"field-index",children:[u.jsxs("section",{className:"field-hero blog-container",children:[u.jsxs("div",{children:[u.jsx("p",{className:"field-kicker",children:"AN ONGOING INDEX OF USEFUL THINGS"}),u.jsxs("h1",{children:["Field",u.jsx("br",{}),u.jsx("em",{children:"notes."})]}),u.jsx("p",{className:"field-dek",children:"Thoughts on the money, records, and decisions that make a property work."})]}),u.jsxs("aside",{className:"field-issue",children:[u.jsxs("header",{children:[u.jsx("span",{children:"THIS ISSUE"}),u.jsx("span",{children:"01â08"})]}),u.jsx("ol",{children:Gs.slice(0,4).map((a,d)=>u.jsxs("li",{children:[u.jsx("span",{children:String(d+1).padStart(2,"0")}),u.jsx("b",{children:a.title})]},a.slug))}),u.jsxs("a",{href:"#archive",children:["View the full index ",u.jsx(yc,{size:14})]})]})]}),o&&u.jsxs("section",{id:"archive",className:"field-feature blog-container",children:[u.jsxs("div",{className:"field-feature-label",children:[u.jsx("span",{children:"01"}),u.jsx("span",{children:"FEATURED FIELD NOTE"}),u.jsxs("span",{children:["PUBLISHED · ",o.readingTime.toUpperCase()]})]}),u.jsxs("div",{className:"field-feature-grid",children:[u.jsxs("div",{children:[u.jsx("p",{className:"field-kicker",children:o.eyebrow}),u.jsxs("h2",{children:["Rental property",u.jsx("br",{}),u.jsx("em",{children:"accounting,"}),u.jsx("br",{}),"made legible."]}),u.jsxs(Ce,{href:`/blog/${o.slug}`,children:["Read the complete guide ",u.jsx(yc,{size:14})]})]}),u.jsxs("div",{className:"field-feature-copy",children:[u.jsx("p",{children:"The books behind a property are not a pile of transactions. They are a record of what happened, what it means, and what deserves a closer look."}),u.jsx("p",{children:"Start here for the full pictureâfrom rental income and mortgages to repairs, transfers, reconciliation, and reports."}),u.jsx("span",{children:ni(o.datePublished).toUpperCase()})]}),u.jsx("div",{className:"field-feature-art",children:u.jsxs("div",{children:[u.jsx("span",{children:"NOTES FROM THE LEDGER"}),u.jsx("strong",{children:"â"}),u.jsxs("b",{children:["Cash in",u.jsx("br",{}),"context"]}),u.jsx("em",{children:"not just a balance"}),u.jsxs("small",{children:["Fig. 01 â A useful account",u.jsx("br",{}),"has a past, present, and plan."]})]})})]})]}),u.jsxs("section",{className:"field-archive blog-container",children:[u.jsxs("header",{children:[u.jsx("p",{className:"field-kicker",children:"THE INDEX"}),u.jsxs("h2",{children:["More from",u.jsx("br",{}),u.jsx("em",{children:"the desk."})]}),u.jsx("p",{children:"Short notes, considered comparisons, and useful guides for owners who want the record to make sense."})]}),u.jsx("div",{className:"field-stories",children:s.map((a,d)=>{const f=vn(a,e),h=u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"field-story-meta",children:[u.jsx("span",{children:String(d+2).padStart(2,"0")}),u.jsx("small",{children:a.category})]}),u.jsxs("div",{className:"field-story-copy",children:[u.jsxs("div",{children:[f?"PUBLISHED":"COMING SOON"," ",u.
26jsx("i",{children:"·"})," ",ni(a.datePublished)," ",u.jsx("i",{children:"·"})," ",a.readingTime]}),u.jsx("h3",{children:a.title}),u.jsx("p",{children:a.description}),f&&u.jsxs("span",{children:["Read the note ",u.jsx(yc,{size:13})]})]}),u.jsx(TP,{article:a})]});return f?u.jsx(Ce,{id:`note-${a.slug}`,href:`/blog/${a.slug}`,className:"field-story",children:h},a.slug):u.jsx("article",{id:`note-${a.slug}`,className:"field-story field-story-upcoming",children:h},a.slug)})})]}),u.jsxs("section",{id:"topics",className:"field-topics blog-container",children:[u.jsxs("div",{children:[u.jsx("p",{className:"field-kicker",children:"FIND YOUR THREAD"}),u.jsxs("h2",{children:["Follow a",u.jsx("br",{}),u.jsx("em",{children:"line of thought."})]})]}),u.jsx("div",{children:rv.map((a,d)=>u.jsxs("a",{href:"#archive",children:[a.label,u.jsx("span",{children:String(d+1).padStart(2,"0")})]},a.label))})]})]}),u.jsx(Wu,{})]})}function OP({article:e}){Yu(e);const r=new Date,o=e.blocks.filter(a=>a.type==="heading"&&a.level===2),s=e.relatedSlugs.map(fi).filter(a=>!!a&&vn(a,r));return u.jsxs("div",{className:"blog-page",children:[u.jsx(Ju,{}),u.jsxs("main",{children:[u.jsxs("div",{className:"blog-container blog-breadcrumbs",children:[u.jsx(Ce,{href:"/blog",children:"The Journal"}),u.jsx(Ko,{size:14}),u.jsx("span",{children:e.category})]}),u.jsxs("header",{className:"blog-article-header blog-container",children:[u.jsxs("div",{className:"blog-article-header-rule",children:[u.jsxs("span",{children:["FIELD NOTE / ",e.slug==="rental-property-accounting"?"01":"02"]}),u.jsx("span",{children:"THE SOFIA AI JOURNAL"})]}),u.jsx("span",{className:"blog-overline",children:e.eyebrow}),u.jsx("h1",{children:e.title}),u.jsx("p",{className:"blog-article-dek",children:e.description}),u.jsxs("div",{className:"blog-article-meta",children:[e.slug!=="rental-property-accounting"&&u.jsxs(u.Fragment,{children:[u.jsxs("span",{children:["By ",u.jsx("strong",{children:e.author})]}),u.jsx("span",{children:"·"})]}),u.jsxs("span",{children:["Published ",ni(e.datePublished)]}),u.jsx("span",{children:"·"}),u.jsxs("span",{children:["Updated ",ni(e.dateModified)]}),u.jsx("span",{children:"·"}),u.jsx("span",{children:e.readingTime})]})]}),u.jsxs("div",{className:"blog-container blog-article-layout",children:[u.jsxs("aside",{className:"blog-toc","aria-label":"Table of contents",children:[u.jsx("span",{children:"In this guide"}),u.jsx("nav",{children:o.map((a,d)=>u.jsxs("a",{href:`#${a.id}`,children:[u.jsx("b",{children:String(d+1).padStart(2,"0")}),a.text]},a.id))})]}),u.jsxs("article",{className:"blog-article-content",children:[e.blocks.map((a,d)=>u.jsx(IP,{block:a,now:r},`${a.type}-${d}`)),e.faq?.length?u.jsxs("section",{id:"faqs",className:"blog-faq","aria-labelledby":"faqs",children:[u.jsx("span",{className:"blog-overline",children:"Answers, clearly"}),e.faq.map(a=>u.jsxs("div",{className:"blog-faq-item",children:[u.jsx("h3",{children:a.question}),u.jsx("p",{children:a.answer})]},a.question))]}):null,u.jsxs("aside",{className:"blog-article-cta",children:[u.jsx("span",{className:"blog-overline",children:e.cta.eyebrow}),u.jsx("h2",{children:e.cta.title}),u.jsx("p",{children:e.cta.body}),u.jsxs(Ce,{href:e.cta.href,className:"blog-button-primary",children:[e.cta.label," ",u.jsx(or,{size:17})]})]})]})]}),s.length>0&&u.jsx("section",{className:"blog-related blog-section",children:u.jsxs("div",{className:"blog-container",children:[u.jsx("span",{className:"blog-overline",children:"Keep reading"}),u.jsx("h2",{children:"More from the journal"}),u.jsx("div",{className:"blog-card-grid",children:s.map(a=>u.jsx(jP,{article:a,now:r},a.slug))})]})})]}),u.jsx(Wu,{})]})}function vm({slug:e}){const r=e?fi(e):void 0;return e&&!vn(r)?u.jsxs("div",{className:"blog-page",children:[u.jsx(Ju,{}),u.jsx(NP,{}),u.jsx(Wu,{})]}):r?u.jsx(OP,{article:r}):u.jsx(RP,{})}function NP(){return Yu(),u.jsxs("main",{className:"blog-not-found blog-container",children:[u.jsx("span",{className:"blog-overline",children:"Not published"}),u.jsx("h1",{children:"This guide is still being written."}),u.jsx("p",{children:"Return to the journal to explore the published field guide and the roadmap."}),u.jsxs(Ce,{href:"/blog",className:"blog-button-primary",children:["Back to the journal ",u.jsx(or,{size:17})]})]})}function LP(e,r,o){return o}const MP="863021082445786",DP="sofia_meta_pixel_consent",UP="sofia_hubspot_tracking_consent",zP="hiresofia.ai",FP="https://hiresofia.ai",BP=["guesty","hostaway","ownerrez","hospitable","jurny","quickbooks","clearing"],$P=[/^\/$/,/^\/start\/?$/,/^\/demo\/?$/,/^\/schedule-demo\/?$/,/^\/how-sofia-works\/?$/,/^\/vacation-rental-accounting\/?$/,/^\/compare\/[^/]+\/?$/,/^\/alternatives\/[^/]+\/?$/,/^\/switch-to-sofia\/[^/]+\/?$/,/^\/privacy\/?$/,/^\/data-retention-policy\/?$/,/^\/blog(?:\/[^/]+)?\/?$/,/^\/get-started\/?$/],qP=new RegExp(`^/accounting/(?:${BP.join("|")})/?$`);function Xu(e){return $P.some(r=>r.test(e))||qP.test(e)}function av(e,r){return e.toLowerCase()===zP&&Xu(r)}function lv(e){const r=e.split(/[?#]/,1)[0]||"/";return Xu(r)?`${FP}${r}`:null}const uu="sofia_first_visit_marketing_attribution",cv=["utm_source","utm_medium","utm_campaign","utm_term","utm_content","gclid","gbraid","wbraid","fbclid","msclkid","ttclid","li_fat_id"],WP=100,HP=256,VP="^[a-zA-Z0-9._-]+$",QP=new RegExp(VP),KP=ne
26w Set(["gclid","gbraid","wbraid","fbclid","msclkid","ttclid","li_fat_id"]);function uv(e,r){const o=KP.has(e)?HP:WP;return r.length>0&&r.length<=o&&QP.test(r)}function GP(e){const r=typeof e=="string"?new URLSearchParams(e.startsWith("?")?e.slice(1):e):e,o={};for(const s of cv){const a=r.get(s);a&&uv(s,a)&&(o[s]=a)}return o}function dv(e){try{const r=new URL(e);return r.protocol!=="http:"&&r.protocol!=="https:"||r.username||r.password||/(^|\.)hiresofia\.ai$/i.test(r.hostname)?void 0:r.origin}catch{return}}function hi(e){return!e||typeof e!="object"||Array.isArray(e)?!1:Object.entries(e).every(([o,s])=>o==="firstLandingPath"?typeof s=="string"&&!s.includes("?")&&!s.includes("#")&&Xu(s):o==="referrerOrigin"?typeof s=="string"&&dv(s)===s:cv.includes(o)&&typeof s=="string"&&uv(o,s))}function pv(e,r,o,s,a){if(typeof window>"u"&&!e)return null;const d=window.location.hostname,f=window.location.pathname;if(!av(d,f))return null;try{const h=s??(typeof window>"u"?void 0:window.localStorage);if(!h)return null;const m=h.getItem(uu);if(m){const b=JSON.parse(m);return hi(b)?b:null}const y={...GP(e??window.location.search),firstLandingPath:f},w=dv(a??(typeof document>"u"?"":document.referrer));return w&&(y.referrerOrigin=w),h.setItem(uu,JSON.stringify(y)),y}catch{return null}}function VI(e){if(typeof window>"u"&&!e)return null;try{const r=(e??window.localStorage).getItem(uu);if(!r)return null;const o=JSON.parse(r);return hi(o)?o:null}catch{return null}}function fv(e){if(typeof window>"u"&&!e)return"pending";if(navigator.globalPrivacyControl===!0)return"rejected";try{const r=(e??window.localStorage).getItem(DP);return r==="accepted"||r==="rejected"?r:"pending"}catch{return"pending"}}function YP(e){if(typeof window>"u"&&!e)return"pending";if(navigator.globalPrivacyControl===!0)return"rejected";try{const r=(e??window.localStorage).getItem(UP);return r==="accepted"||r==="rejected"?r:"pending"}catch{return"pending"}}function JP(){return{hostname:window.location.hostname,search:window.location.search,hash:window.location.hash,consent:fv(),trackPageView:e=>window.__sofiaTrackMetaPageView?.(e)}}function Zu(e,r){return av(e,r)}function XP(e,r){if(typeof window>"u"&&!r)return;const o=r??JP();if(typeof window<"u"&&pv(),!Zu(o.hostname,e)||o.consent!=="accepted"||o.search||o.hash)return;const s=lv(e);s&&o.trackPageView(new URL(s).pathname)}const ZP=new Set(["ViewContent","Lead","CompleteRegistration"]);function eA(e){typeof window>"u"||!ZP.has(e)||Zu(window.location.hostname,window.location.pathname)&&(window.location.search||window.location.hash||fv()==="accepted"&&window.fbq?.("trackSingle",MP,e))}function tA(e){if(typeof window>"u")return;if(navigator.globalPrivacyControl===!0){window.__sofiaRevokeHubSpotTracking?.();return}if(YP()!=="accepted"||!Zu(window.location.hostname,e))return;const r=lv(e);r&&window.__sofiaTrackHubSpotPageView?.(new URL(r).pathname)}function wm(e,r=XP){let o=e.split(/[?#]/,1)[0]||"/";return s=>{const a=s.split(/[?#]/,1)[0]||"/";a!==o&&(o=a,r(a))}}const nA="hiresofia.ai",rA=new Set(["/","/how-sofia-works","/vacation-rental-accounting","/blog","/demo","/get-started"]);function hv(e){const r=e.split(/[?#]/,1)[0]||"/";return r.length>1&&r.endsWith("/")?r.slice(0,-1):r}function oA(e){return(e??"").split(":")[0].trim().toLowerCase()===nA}function iA(e,r=new Date){const o=hv(e);if(rA.has(o)||iv(o,r))return!0;if(/^\/(?:compare|alternatives|switch-to-sofia)\/[^/]+$/.test(o)){const[,s,a]=o.split("/");return s==="compare"?!!sP(a):s==="alternatives"?!!dP(a):!!yP(a)}return!1}function sA(e,r,o=new Date){return oA(e)&&iA(r,o)}function aA(e){const r=hv(e);return r==="/"?"home":r==="/how-sofia-works"?"how":r==="/vacation-rental-accounting"?"vacation-rental":r==="/demo"?"demo":r==="/get-started"?"get-started":r==="/blog"||r.startsWith("/blog/")?"blog":r.startsWith("/compare/")?"comparison":r.startsWith("/alternatives/")?"alternative":"switching"}const lA=["public_chat_launcher_viewed","public_chat_opened","public_chat_started","public_chat_answered","public_chat_fallback_shown","public_chat_qualification_reached","public_chat_contact_prompted","public_chat_lead_captured","public_chat_lead_capture_failed","public_chat_scheduling_opened","public_chat_scheduling_unavailable","public_chat_cleared","self_serve_page_viewed","self_serve_pricing_toggled","self_serve_plan_clicked","self_serve_signup_started","self_serve_account_created","self_serve_checkout_started","self_serve_payment_confirmed","self_serve_provisioning_completed","self_serve_signup_completed"],bm={route_family:["home","how","vacation-rental","blog","comparison","alternative","switching","demo","get-started"],plan:["starter","pro","custom"],billing_interval:["monthly","annual"],setup:["included","not-included"],device_class:["mobile","desktop"],session_kind:["new","returning"],turn_count_band:["1-2","3-4","5-6"],answer_outcome:["grounded","fallback","refusal","rate_limited","unavailable"],intent_category:["product","fit","comparison","switching","pricing","privacy","booking","out-of-scope","sensitive"],fit_state:["new","engaged","likely_fit","contact_requested","lead_captured","
26scheduling_opened"],provider:["calendly","cal.com","hubspot","configured","unavailable"],failure_class:["rate_limit","unavailable","persistence","configuration","validation"],response_latency_band:["under-2.5s","2.5-6s","6-12s"]},cA=["new","engaged","likely_fit","contact_requested","lead_captured","scheduling_opened"],km=new Map(cA.map((e,r)=>[e,r])),mv={substantive:{new:{funnel:"engaged",nextAction:"ask_fit"},engaged:{funnel:"likely_fit",nextAction:"request_contact"},likely_fit:{funnel:"likely_fit",nextAction:"request_contact"},contact_requested:{funnel:"contact_requested",nextAction:"request_contact"},lead_captured:{funnel:"lead_captured",nextAction:"request_contact"},scheduling_opened:{funnel:"scheduling_opened",nextAction:"open_scheduler"}},booking:{new:{funnel:"contact_requested",nextAction:"request_contact"},engaged:{funnel:"contact_requested",nextAction:"request_contact"},likely_fit:{funnel:"contact_requested",nextAction:"request_contact"},contact_requested:{funnel:"contact_requested",nextAction:"request_contact"},lead_captured:{funnel:"lead_captured",nextAction:"request_contact"},scheduling_opened:{funnel:"scheduling_opened",nextAction:"open_scheduler"}},informational:{new:{funnel:"engaged",nextAction:"none"},engaged:{funnel:"engaged",nextAction:"none"},likely_fit:{funnel:"likely_fit",nextAction:"request_contact"},contact_requested:{funnel:"contact_requested",nextAction:"request_contact"},lead_captured:{funnel:"lead_captured",nextAction:"request_contact"},scheduling_opened:{funnel:"scheduling_opened",nextAction:"open_scheduler"}},lead_captured:{new:null,engaged:null,likely_fit:null,contact_requested:{funnel:"lead_captured",nextAction:"none"},lead_captured:{funnel:"lead_captured",nextAction:"none"},scheduling_opened:null},scheduling_opened:{new:null,engaged:null,likely_fit:null,contact_requested:null,lead_captured:{funnel:"scheduling_opened",nextAction:"open_scheduler"},scheduling_opened:{funnel:"scheduling_opened",nextAction:"open_scheduler"}}};function Ms(e,r){return mv[r][e]}function uA(e,r){if(r.funnel){const o=km.get(e.funnel)??0,s=km.get(r.funnel)??-1,a=new Set;for(const d of Object.keys(mv)){const f=Ms(e.funnel,d)?.funnel;f&&a.add(f)}if(s<o||!a.has(r.funnel))return!1}if(r.fitQuestionsAsked){const o=Number(r.fitQuestionsAsked);if(!Number.isInteger(o)||o<Number(e.fitQuestionsAsked)||o>2||o>Number(e.fitQuestionsAsked)+1)return!1}return!0}const Gr="sofia:demo-scheduling-handoff",dA=5*6e4,pA=["utm_source","utm_medium","utm_campaign","utm_term","utm_content"];function fA(e){try{sessionStorage.setItem(Gr,JSON.stringify({name:e.name,email:e.email,campaign:e.campaign??null,...hi(e.attribution)?{attribution:e.attribution}:{},expiresAt:Date.now()+dA}))}catch{}}function QI(){let e;try{e=sessionStorage.getItem(Gr),sessionStorage.removeItem(Gr)}catch{return null}if(!e)return null;try{const r=JSON.parse(e);if(typeof r.name!="string"||typeof r.email!="string"||typeof r.expiresAt=="number"&&r.expiresAt<Date.now())return null;const o=new URLSearchParams;typeof r.campaign?.utm_source=="string"&&o.set("utm_source",r.campaign.utm_source),typeof r.campaign?.utm_medium=="string"&&o.set("utm_medium",r.campaign.utm_medium),typeof r.campaign?.utm_campaign=="string"&&o.set("utm_campaign",r.campaign.utm_campaign);const s=nv(o),a=hi(r.attribution)?r.attribution:void 0;return{name:r.name,email:r.email,...s?{campaign:s}:{},...a?{attribution:a}:{}}}catch{return null}}function KI(e){return nv(new URLSearchParams(e))}function GI(e,r){if(!hi(r)||!Object.keys(r).length)return e;try{const o=new URL(e,typeof window>"u"?"https://hiresofia.ai":window.location.origin);for(const s of pA){const a=r[s];a&&o.searchParams.set(s,a)}return o.toString()}catch{return e}}function hA(){try{sessionStorage.removeItem(Gr)}catch{}}function mA(e=Date.now()){try{const r=sessionStorage.getItem(Gr);if(!r)return;const o=JSON.parse(r);(typeof o.expiresAt!="number"||o.expiresAt<e)&&sessionStorage.removeItem(Gr)}catch{hA()}}function gA(e,r){if(!(typeof window>"u"))try{window.umami?.track(e,r)}catch{}}function ot(e,r={}){const o=yA(e,r);o&&gA(o.name,o.data)}function yA(e,r={}){if(!lA.includes(e))return null;const o={};for(const[s,a]of Object.entries(r)){if(!(s in bm)||typeof a!="string")continue;bm[s].includes(a)&&(o[s]=a)}return{name:e,data:o}}const du="sofia:public-sales-session",ed="sofia:public-sales-turns",td="sofia:public-sales-state",Ys="sofia:public-sales-last-active",vA=[du,ed,td,Ys],gv="sofia:demo-scheduling-handoff",Vr={funnel:"new",fitQuestionsAsked:"0",portfolioType:"other/unknown",portfolioScale:"unknown",currentApproach:"unknown",primaryNeed:"other/unknown",timing:"unknown"}
26,Rs={firstName:"",lastName:"",email:"",phone:"",website:""};function Ds(e,r=!1){for(const o of vA)e.removeItem(o);r||e.removeItem(gv)}function wA(e,r=Date.now(),o=!1){const s=Number(e.getItem(Ys)??"0");!s||r-s>30*6e4?Ds(e,o):o||e.removeItem(gv)}function xm(){try{const e=sessionStorage.getItem(du);if(e&&/^[A-Za-z0-9_-]{16,128}$/.test(e))return e;const r=(crypto.randomUUID?.()??`${Date.now()}-${Math.random()}`).replace(/-/g,"");return sessionStorage.setItem(du,r),r}catch{return"publicsalesanonymoussession"}}function bA(){try{wA(sessionStorage);const e=JSON.parse(sessionStorage.getItem(ed)??"[]");return Array.isArray(e)?e.filter(r=>(r.role==="user"||r.role==="assistant")&&typeof r.content=="string").slice(-6):[]}catch{return[]}}function kA(){try{const e=JSON.parse(sessionStorage.getItem(td)??"null"),r={...Vr,...e??{}};return!["new","engaged","likely_fit","contact_requested","lead_captured","scheduling_opened"].includes(r.funnel)||!["0","1","2"].includes(r.fitQuestionsAsked)?Vr:r}catch{return Vr}}function xA(){const[e]=Nt(),r=e.replace(/\/+$/,"")==="/schedule-demo",o=typeof window<"u"&&sA(window.location.hostname,e),s=v.useMemo(()=>aA(e),[e]),[a,d]=v.useState(!1),[f,h]=v.useState(bA),[m,y]=v.useState(kA),[w,b]=v.useState(""),[k,P]=v.useState(Rs),[T,E]=v.useState(""),[S,I]=v.useState(!1),[O,j]=v.useState(""),[D,F]=v.useState("none"),[B,q]=v.useState(!1),[X,Y]=v.useState(""),[se,ce]=v.useState(!1),[te,me]=v.useState(!1),G=v.useRef(null),ye=v.useRef(null),ae=v.useRef(null);if(v.useEffect(()=>{if(r||!o)return;let _=!0;const U=xm();return fetch(`/api/public/sales-rollout?sessionId=${encodeURIComponent(U)}&pathname=${encodeURIComponent(e)}`).then(oe=>oe.ok?oe.json():Promise.reject(new Error)).then(oe=>{_&&(me(oe.enabled===!0),oe.enabled===!0&&ot("public_chat_launcher_viewed",{route_family:s,device_class:window.innerWidth<640?"mobile":"desktop",session_kind:f.length?"returning":"new"}))}).catch(()=>{_&&me(!1)}),document.getElementById("sofia-public-sales-ssr")?.remove(),()=>{_=!1}},[o,r,s]),v.useEffect(()=>{if(!a)return;ae.current=document.activeElement instanceof HTMLElement?document.activeElement:G.current;const _=document.body.style.overflow;document.body.style.overflow="hidden";const U=()=>ye.current?.querySelectorAll("button:not([disabled]), textarea:not([disabled]), input:not([disabled]), a[href]")??[];window.setTimeout(()=>U()[0]?.focus(),0);const oe=le=>{if(le.key==="Escape"){le.preventDefault(),d(!1);return}if(le.key!=="Tab")return;const ve=U();if(!ve.length)return;const ge=ve[0],pe=ve[ve.length-1];le.shiftKey&&document.activeElement===ge?(le.preventDefault(),pe.focus()):!le.shiftKey&&document.activeElement===pe&&(le.preventDefault(),ge.focus())};return document.addEventListener("keydown",oe),()=>{document.removeEventListener("keydown",oe),document.body.style.overflow=_,window.setTimeout(()=>(ae.current??G.current)?.focus(),0)}},[a,s]),v.useEffect(()=>{a&&ot("public_chat_opened",{route_family:s,device_class:window.innerWidth<640?"mobile":"desktop"})},[a,s]),v.useEffect(()=>{if(!o)return;const _=window.setInterval(()=>{try{const U=Number(sessionStorage.getItem(Ys)??"0");(!U||Date.now()-U>30*6e4)&&(Ds(sessionStorage,B),mA(),h([]),y(Vr),P(Rs))}catch{}},6e4);return()=>window.clearInterval(_)},[o,B]),!o||!te)return null;const ne=async(_=T)=>{const U=_.trim();if(!U||S||U.length>1e3)return;E(""),j(""),I(!0);const oe=Date.now(),le=f.length===0,ve=[...f,{role:"user",content:U}].slice(-6);try{sessionStorage.setItem(Ys,String(Date.now()))}catch{}try{const ge=await fetch("/api/public/sales-chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:xm(),pathname:e,message:U,history:f.slice(-6),state:m})});if(!ge.ok)throw new Error(ge.status===429?"rate":"answer");const pe=await ge.json();if(typeof pe.answer!="string")throw new Error("answer");const xe=[...ve,{role:"assistant",content:pe.answer}].slice(-6);h(xe);const Se=pe.qualificationUpdates??{},Qe=pe.intent==="booking"||pe.intent==="pricing"?"booking":pe.intent==="privacy"||pe.intent==="out-of-scope"||pe.intent==="sensitive"?"informational":"substantive",Qt=Ms(m.funnel,Qe),fr=Qe==="substantive"&&Number(m.fitQuestionsAsked)<2?String(Number(m.fitQuestionsAsked)+1):m.fitQuestionsAsked;if(!Qt||pe.nextAction!==Qt.nextAction||Se.funnel!==Qt.funnel||Se.fitQuestionsAsked!==fr||!uA(m,Se))throw new Error("answer");F(pe.nextAction),y(ro=>{const oo={...ro,...Se};
26try{sessionStorage.setItem(td,JSON.stringify(oo))}catch{}return oo}),b(pe.nextPrompt??"");try{sessionStorage.setItem(ed,JSON.stringify(xe))}catch{}le&&ot("public_chat_started",{route_family:s,turn_count_band:xe.length<=2?"1-2":xe.length<=4?"3-4":"5-6"}),Se.funnel==="likely_fit"&&ot("public_chat_qualification_reached",{route_family:s,fit_state:"likely_fit"}),pe.nextAction==="request_contact"&&ot("public_chat_contact_prompted",{route_family:s,fit_state:Se.funnel??m.funnel});const Et=Date.now()-oe;ot("public_chat_answered",{route_family:s,answer_outcome:pe.citations?.length?"grounded":"fallback",intent_category:pe.intent??"product",response_latency_band:Et<2500?"under-2.5s":Et<6e3?"2.5-6s":"6-12s"})}catch(ge){j(ge instanceof Error&&ge.message==="rate"?"You've reached the chat limit for now. You can still schedule a demo.":"I couldn't answer that right now. You can still schedule a demo or use the demo form."),ot("public_chat_fallback_shown",{route_family:s,failure_class:ge instanceof Error&&ge.message==="rate"?"rate_limit":"unavailable"})}finally{I(!1)}},z=async _=>{if(_.preventDefault(),Y(""),!k.firstName.trim()||!k.lastName.trim()||!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(k.email)||k.phone.trim().length<7){Y("Please enter your first name, last name, a valid email, and phone number.");return}try{if(!(await fetch("/api/demo-requests",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(k)})).ok)throw new Error("lead");fA({name:`${k.firstName.trim()} ${k.lastName.trim()}`,email:k.email.trim()});const oe=m.funnel;q(!0),h([]),P(Rs);try{Ds(sessionStorage,!0)}catch{}const le=Ms("contact_requested","lead_captured");y(ve=>({...Vr,funnel:le.funnel})),F("none"),b(""),ot("public_chat_lead_captured",{route_family:s,fit_state:oe})}catch{Y("We couldn't save those details. Please retry or use the demo form."),ot("public_chat_lead_capture_failed",{route_family:s,failure_class:"persistence"})}},K=()=>{fetch("/api/public/scheduling-config").then(_=>_.ok?_.json():Promise.reject(new Error)).then(_=>{if(!_.provider||!_.embedUrl)throw new Error;const U=Ms("lead_captured","scheduling_opened");y(oe=>({...oe,funnel:U?.funnel??"scheduling_opened"})),ot("public_chat_scheduling_opened",{route_family:s,provider:_.provider}),window.location.assign("/schedule-demo")}).catch(()=>{ce(!0),ot("public_chat_scheduling_unavailable",{route_family:s,failure_class:"configuration"})})},Q=()=>{h([]),y(Vr),P(Rs),E(""),q(!1),F("none"),b("");try{Ds(sessionStorage)}catch{}ot("public_chat_cleared",{route_family:s})};return r?null:u.jsxs(u.Fragment,{children:[u.jsx("button",{ref:G,type:"button","aria-label":"Open Sofia product assistant",onClick:()=>d(!0),className:"fixed bottom-20 right-4 z-[1000] min-h-11 rounded-full bg-[#285c48] px-5 py-3 text-sm font-semibold text-white shadow-lg focus-visible:outline focus-visible:outline-4 focus-visible:outline-[#d9a441] sm:bottom-20 sm:right-5","data-testid":"public-sales-launcher",children:"Ask Sofia"}),a&&u.jsx("div",{ref:ye,className:"fixed inset-0 z-[1001] flex items-end justify-end bg-black/20 sm:inset-auto sm:bottom-20 sm:right-5 sm:bg-transparent",role:"dialog","aria-modal":"true","aria-labelledby":"public-sales-title",children:u.jsxs("section",{className:"flex h-[100dvh] w-full flex-col overflow-hidden bg-[#fffefa] p-5 text-[#23342c] shadow-2xl sm:h-auto sm:max-h-[70vh] sm:w-[410px] sm:rounded-2xl sm:border sm:border-[#d9ded6]",children:[u.jsxs("header",{className:"flex items-start justify-between gap-4",children:[u.jsxs("div",{children:[u.jsx("h2",{id:"public-sales-title",className:"font-serif text-2xl",children:"See if Sofia fits your portfolio"}),u.jsx("p",{className:"mt-1 text-sm text-[#59615c]",children:"Ask a quick question about how Sofia works, switching your books, or scheduling a demo."})]}),u.jsx("button",{type:"button",onClick:()=>d(!1),"aria-label":"Close Sofia product assistant",className:"min-h-11 min-w-11 rounded-full text-2xl focus-visible:outline focus-visible:outline-2",children:"Ã"})]}),u.jsx("p",{className:"mt-3 rounded-lg bg-[#f5f4eb] p-2 text-xs text-[#59615c]",children:"Don't share bank details, account numbers, tax IDs, passwords, documents, or transaction data."}),u.jsxs("div",{className:"mt-4 flex-1 space-y-3 overflow-y-auto","aria-live":"polite",children:[!f.length&&u.jsxs("div",{className:"space-y-2 text-sm",children:[u.jsx("p",{children:"Try one of these:"}),["How does Sofia handle the books?","Is Sofia a fit for my rental portfolio?","What does switching from QuickBooks involve?","I'd like to book a demo"].map(_=>u.jsx("button",{type:"button",onClick:()=>{ne(_)},className:"block min-h-11 w-full rounded-lg border border-[#d9ded6] px-3 text-left hover:bg-[#f5f4eb]",children:_},_))]}),f.map((_,U)=>u.jsxs("p",{className:`rounded-lg p-3 text-sm ${_.role==="user"?"ml-8 bg-[#e5efe8]":"mr-4 bg-[#f5f4eb]"}`,children:[u.jsxs("strong",{className:"sr-only",children:[_.role==="user"?"You":"Sofia",": "]}),_.content]},`${_.role}-${U}`)),w&&!S&&u.jsx("p",{className:"text-sm text-[#59615c]","data-testid":"public-sales-next-prompt",children:w}),S&&u.jsx("p",{className:"text-sm text-[#59615c]",children:"Sofia is checking the product informationâ¦"}),O&&u.jsx("p",{className:"rounded-lg bg-[#fff1ed] p-3 text-sm",role:"alert",children:O}),D==="open_demo"&&u.jsx("a",{href:"/demo",className:"inline-flex min-h-11 items-center rounded-full bg-[#285c48] px-4 text-sm font-semibold text-white",children:"Continue with demo request"}),D==="request_contact"&&!B&&u.jsxs("form",{onSubmit:z,className:"space-y-2 rounded-lg border border-[#d9ded6] p-3",children:[u.jsx("p",{className:"text-sm font-semibold",children:"I can help you get to a demo. Share your details and choose a time right after."}),["firstName","lastName","email","phone"].map(_=>u.jsx("input",{required:!0,value:k[_],onChange:U=>P({...k,[_]:U.target.value}),type:_==="email"?"email":_==="phone"?"tel":"text",placeholder:_==="firstName"?"First name":_==="lastName"?"Last name":_[0].toUpperCase()+_.slice(1),className:"min-h-11 w-full rounded-md border border-[#bbc8bf] px-3 text-sm","aria-label":_},_)),u.jsx("input",{"aria-hidden":"true",tabIndex:-1,autoComplete:"off",value:k.website,onChange:_=>P({...k,website:_.target.value}),className:"hidden"}),u.jsx("p",{className:"text-xs text-[#59615c]",children:"We'll use these details to respond to your request and help schedule your demo."}),u.jsx("button",{type:"submit",className:"min-h-11 rounded-full bg-[#285c48] px-4 text-sm font-semibold text-white",children:"Save details"}),X&&u.jsx("p",{role:"alert",className:"text-sm text-red-700",children:X})]}),B&&u.jsxs("div",{className:"space-y-3 rounded-lg bg-[#e5efe8] p-3 text-sm",children:[u.jsx("p",{children:"Your details are saved. Choose a time for a Sofia demo."}),u.jsx("button",{type:"button",onClick:K,className:"min-h-11 rounded-full bg-[#285c48] px-4 font-semibold text-white",children:"Choose a demo time"}),u.jsx("button",{type:"button",onClick:()=>ce(!0),className:"ml-2 underline",children:"Continue with demo request"}),se&&u.jsx("a",{href:"/demo",className:"block underline",children:"Open the demo form"})]})]}),u.jsxs("form",{onSubmit:_=>{_.preventDefault(),ne()},className:"mt-3 flex gap-2 border-t border-[#d9ded6] pt-3",children:[u.jsx("label",{htmlFor:"public-sales-question",className:"sr-only",children:"Your question"}),u.jsx("textarea",{id:"public-sales-question",value:T,onChange:_=>E(_.target.value),maxLength:1e3,rows:2,placeholder:"Ask about Sofiaâ¦",className:"min-h-11 min-w-0 flex-1 resize-none rounded-lg border border-[#bbc8bf] p-2 text-sm"}),u.jsx("button",{type:"submit",disabled:S,className:"min-h-11 rounded-full bg-[#285c48] px-4 text-sm font-semibold text-white",children:"Ask"})]}),u.jsx("button",{type:"button",onClick:Q,className:"mt-2 self-start text-xs underline",children:"Clear conversation"})]})})]})}const YI="Sofia AI | AI Accounting for Real Estate",JI="Sofia | AI Accounting for Real Estate",XI="Sofia AI is accounting software for real estate: connect accounts, book activity, and produce financials without requiring QuickBooks. Hire Sofia Accounting Services offers a human accounting team.",ZI="https://hiresofia.ai/",ej="https://hiresofia.ai/sofia-home-social-card.png",Sm="https://hiresofia.ai/sofia-pricing-social-card.png?v=annual-starter-pro-20260928",_m=`Sofia AI Starter $${(yn.starter.annual/12).toFixed(0)}/month for up to 2 units and Pro $${(yn.pro.annual/12).toFixed(0)}/month for up to 10 units, billed annually.`,tj="https://hiresofia.ai/sofia-services-social-card.png",Em="https://hiresofia.ai/get-started",Wc=`Sofia AI Plans | Starter $${(yn.starter.annual/12).toFixed(0)} & Pro $${(yn.pro.annual/12).toFixed(0)}/month, Billed Annually`,Hc=`Explore Sofia AI plans for real estate accounting. Starter $${(yn.starter.annual/12).toFixed(0)}/month for up to 2 units and Pro $${(yn.pro.annual/12).toFixed(0)}/month for up to 10 units, billed annually; compare plans and request a demo while public signup is paused.`,nj="Request a Demo | Hire Sofia",rj="See Sofia AI accounting software and discuss whether Hire Sofia Accounting Services fits your real estate portfolio.",oj="Schedule a Demo | Hire Sofia",ij="Choose a time to see Sofia AI software and discuss Hire Sofia Accounting Services for your real estate portfolio.";function sj(e=new Date){const r=new Set(eP);return Gu(e).filter(o=>r.has(o.slug))}function SA(){return typeof window<"u"&&window.matchMedia("(max-width: 700px)").matches?"mobile":"desktop"}function _A(){v.useEffect(()=>{document.title=Wc;const I=(j,D,F)=>{let B=document.head.querySelector(`meta[${j}="${D}"]`);B||(B=document.createElement("meta"),B.setAttribute(j,D),document.head.appendChild(B)
26),B.content=F};I("name","description",Hc),I("name","robots","index,follow");for(const[j,D]of Object.entries({"og:title":Wc,"og:description":Hc,"og:url":Em,"og:type":"website","og:site_name":"Sofia AI","og:image":Sm,"og:image:width":"1200","og:image:height":"630","og:image:alt":_m}))I("property",j,D);for(const[j,D]of Object.entries({"twitter:card":"summary_large_image","twitter:title":Wc,"twitter:description":Hc,"twitter:image":Sm,"twitter:image:alt":_m}))I("name",j,D);let O=document.head.querySelector('link[rel="canonical"]');O||(O=document.createElement("link"),O.rel="canonical",document.head.appendChild(O)),O.href=Em},[]);const[,e]=Nt(),r=uk();pi();const o=v.useMemo(()=>new URLSearchParams(r),[r]),s=va(o),[a,d]=v.useState(s.interval),[f,h]=v.useState(s.setup);o.get("setup")==="0"||o.get("setup");const[m,y]=v.useState(o.has("plan")?s.plan:null),[w,b]=v.useState("idle"),[k,P]=v.useState(""),T=v.useRef(null);v.useLayoutEffect(()=>{const I=T.current;if(!I)return;T.current=null;const O=()=>window.scrollTo({left:I.x,top:I.y,behavior:"instant"});O();const j=window.requestAnimationFrame(O);return()=>window.cancelAnimationFrame(j)},[a]);const E=I=>{T.current={x:window.scrollX,y:window.scrollY},d(I),ot("self_serve_pricing_toggled",{billing_interval:I,route_family:"get-started"})};v.useEffect(()=>{ot("self_serve_page_viewed",{route_family:"get-started",device_class:SA()}),eA("ViewContent")},[]),v.useEffect(()=>{if(m&&m!=="custom"){const I=Hu({plan:m,interval:a,setup:f});window.history.replaceState(null,"",`/get-started?${!f&&o.get("setup")==="0"?`${I}&setup=0`:I}`)}},[m,a,f,o]),v.useEffect(()=>{const I=o.get("checkout");if(I!=="success"&&I!=="cancelled")return;const O=new URLSearchParams;(o.get("plan")==="starter"||o.get("plan")==="pro")&&(o.get("interval")==="monthly"||o.get("interval")==="annual")&&(o.get("setup")===null||o.get("setup")==="1"||o.get("setup")==="0")&&(O.set("plan",o.get("plan")),O.set("interval",o.get("interval")),o.get("setup")==="1"&&O.set("setup","1"));const j=o.get("checkoutId");j&&/^\d+$/.test(j)&&Number.isSafeInteger(Number(j))&&Number(j)>0&&O.set("checkoutId",j),O.set("checkout",I),e(`/get-started/confirm?${O.toString()}`,{replace:!0})},[o,e]);const S=I=>{if(ot("self_serve_plan_clicked",{route_family:"get-started",plan:I,billing_interval:a,setup:f?"included":"not-included"}),I!=="custom"){y(I);{b("idle"),P("");return}}};return u.jsxs("div",{className:"ss-page",children:[u.jsx("header",{className:"ss-header",children:u.jsx("img",{src:ya,alt:"Sofia AI"})}),u.jsxs("main",{children:[u.jsxs("section",{className:"ss-hero",children:[u.jsxs("p",{className:"ss-kicker",children:[u.jsx(Ob,{size:14})," SOFIA AI ACCOUNTANT."]}),u.jsxs("h1",{children:["Your books,",u.jsx("br",{}),u.jsx("i",{children:"finally clear."})]}),u.jsx("p",{className:"ss-lede",children:"Accounting software for real estate owners and managers who want the whole portfolio in view, without building a finance department."})]}),u.jsxs("section",{className:"ss-pricing","aria-labelledby":"pricing-title",children:[u.jsxs("div",{className:"ss-section-head",children:[u.jsxs("div",{children:[u.jsx("p",{className:"ss-kicker",children:"Simple, transparent pricing"}),u.jsxs("h2",{id:"pricing-title",children:["Start where",u.jsx("br",{}),u.jsx("i",{children:"you are."})]})]}),u.jsxs("div",{className:"ss-toggle",role:"group","aria-label":"Billing interval",children:[u.jsx("button",{type:"button",className:a==="monthly"?"active":"",onClick:()=>E("monthly"),children:"Monthly"}),u.jsxs("button",{type:"button",className:a==="annual"?"active":"",onClick:()=>E("annual"),children:["Annual ",u.jsx("span",{children:"Save"})]})]})]}),u.jsxs("div",{className:"ss-cards",children:[["starter","pro"].map(I=>{const O=yn[I],j=O[a],D=a==="annual"?(j/12).toFixed(0):j;return u.jsxs("article",{className:`ss-card ${I==="pro"?"featured":""}`,children:[u.jsxs("div",{className:"ss-card-top",children:[u.jsx("p",{children:I==="pro"?"For growing portfolios":"A focused start"}),I==="pro"&&u.jsx("span",{className:"ss-badge",children:"Most popular"})]}),u.jsx("h3",{children:I}),u.jsx("p",{className:"ss-units",children:O.units}),u.jsxs("div",{className:"ss-price",children:[u.jsxs("strong",{children:["$",D]}),u.jsx("span",{children:"/month"})]}),a==="monthly"?u.jsx("small",{className:"ss-cancellation-note",children:GC}):u.jsx("small",{className:"ss-equivalent",children:"Billed annually"}),u.jsx("ul",{children:YC.map(F=>u.jsxs("li",{children:[u.jsx(ih,{size:15})," ",F]},F))}),u.jsx("button",{className:"ss-cta",type:"button",onClick:()=>S(I),disabled:w==="loading","aria-describedby":m===I&&k?"ss-coming-soon":void 0,children:w==="loading"?u.jsx(ir,{className:"ss-spin",size:15}):u.jsxs(u.Fragment,{children:["Get Started ",u.jsx(or,{size:15})]})})]},I)}
26),u.jsxs("article",{className:"ss-card ss-custom",children:[u.jsx("p",{className:"ss-kicker",children:"For larger portfolios"}),u.jsx("h3",{children:"Custom"}),u.jsx("p",{className:"ss-units",children:"11+ units"}),u.jsx("p",{className:"ss-custom-copy",children:"A thoughtful plan for a portfolio with more moving parts."}),u.jsxs(Ce,{className:"ss-cta ss-outline",href:"/demo",onClick:()=>ot("self_serve_plan_clicked",{plan:"custom",route_family:"get-started"}),children:["Talk with Sofia ",u.jsx(or,{size:15})]})]})]}),u.jsxs("section",{className:"ss-setup","aria-labelledby":"ss-setup-title",children:[u.jsxs("div",{className:"ss-setup-heading",children:[u.jsxs("div",{children:[u.jsx("p",{className:"ss-kicker",children:"Optional, one time"}),u.jsxs("h3",{id:"ss-setup-title",children:["Done For You Setup ",u.jsx("span",{children:"$299 one time"})]})]}),u.jsxs("label",{className:"ss-setup-choice",children:[u.jsx("input",{type:"checkbox",checked:f,onChange:I=>h(I.target.checked)})," Add setup to my plan"]})]}),u.jsx("p",{children:"Get ready to use Sofia with help setting up:"}),u.jsx("ul",{children:JC.map(I=>u.jsxs("li",{children:[u.jsx(ih,{size:15})," ",I]},I))}),u.jsx("p",{className:"ss-setup-exclusion",children:XC})]}),k&&u.jsxs("p",{id:m?"ss-coming-soon":void 0,className:w==="error"?"ss-error":"ss-status",role:"status",children:[k,m&&u.jsxs(u.Fragment,{children:[" â ",m==="pro"?"Pro":"Starter"," · ",a==="annual"?"Annual":"Monthly"," · ",f?"With setup":"Without setup"]}),w==="error"&&u.jsx("button",{onClick:()=>{b("idle"),P("")},children:"Try again"})]})]}),u.jsxs("div",{className:"ss-demo-note",children:[u.jsx("p",{children:"Want to talk it through first?"}),u.jsxs("a",{href:"/demo",target:"_blank",rel:"noopener noreferrer",children:["Schedule a Demo ",u.jsx(or,{size:13})]})]}),u.jsxs("div",{className:"ss-intro-note",children:[u.jsx("p",{children:"Prefer to have a team handle your accounting?"}),u.jsxs("a",{href:"https://hiresofia.com",target:"_blank",rel:"noopener noreferrer",children:["Explore Hire Sofia Accounting Services ",u.jsx(or,{size:13})]})]})]}),u.jsxs("footer",{className:"ss-footer",children:[u.jsx("span",{children:"© 2026 Sofia AI"}),u.jsx(Ce,{href:"/privacy",children:"Privacy Policy"}),u.jsx("button",{type:"button","data-sofia-privacy-choices":!0,children:"Privacy Choices"})]})]})}const EA=v.lazy(()=>we(()=>import("./not-found-C26UnYzG.js"),__vite__mapDeps([0,1,2]))),CA=v.lazy(()=>we(()=>import("./landing-page-D52kHIU9.js"),__vite__mapDeps([3,4,5,6,7]))),PA=v.lazy(()=>we(()=>import("./how-sofia-works-page-BO8byVTQ.js"),__vite__mapDeps([8,6,7,2,9]))),AA=v.lazy(()=>we(()=>import("./start-page-B4vd7FYH.js"),__vite__mapDeps([10,11,9,12,13]))),IA=v.lazy(()=>we(()=>import("./vacation-rental-accounting-page-Cul77NlW.js"),__vite__mapDeps([14,15,16,17,6,2,7,9,12,18]))),jA=v.lazy(()=>we(()=>import("./comparison-page-B2xTkda3.js"),__vite__mapDeps([19,9,6,20]))),TA=v.lazy(()=>we(()=>import("./alternative-page-Y3ZDf7-o.js"),__vite__mapDeps([21,0,1,2,22]))),RA=v.lazy(()=>we(()=>import("./switch-to-sofia-page-D8u0Uicq.js"),__vite__mapDeps([23,0,1,2,6,24,7,9,25]))),OA=v.lazy(()=>we(()=>import("./tasks-page-BxgkZJNO.js"),__vite__mapDeps([26,27,28,29,30,31,32,33,34,35,36,6,16,37,24,7,38,39,12,40,41,42,43,2,44,45,46]))),NA=v.lazy(()=>we(()=>import("./properties-page-rA5WYhgS.js"),__vite__mapDeps([47,32,33,36,27,6,16,37,24,7,38,42,48,49,50,29,30,31,40,51,45,52,44,53,54,41,1,34,35,39,12,55,56,57,58,59,60,61,62,63,64,28,17,2,4,65,66,67,68]))),LA=v.lazy(()=>we(()=>import("./property-detail-page-DX0DI6Ay.js"),__vite__mapDeps([69,49,48,32,33,50,36,27,6,16,37,24,7,38,29,30,31,42,40,51,45,52,44,53,54,41,1,34,35,39,12,55,56,57,58,59,60,28,64,70,62,71,47,61,63,17,2,4,65,66,67,68,72,73,43]))),Vc=v.lazy(()=>we(()=>import("./sofia-page-Z1xcECFA.js"),__vite__mapDeps([74,29,30,31,27,63,36,6,16,37,24,7,38,46,57]))),MA=v.lazy(()=>we(()=>import("./documents-page-wGSzUJDB.js"),__vite__mapDeps([75,36,27,6,16,37,24,7,38,29,30,31,40,33,61,39,12,28,34,35,4,76,17,43,77,44,45]))),Cm=v.lazy(()=>we(()=>import("./admin-page-znfZxH3p.js"),__vite__mapDeps([78,36,27,6,16,37,24,7,38,1,40,33,49,42,41,55,4,39,12,62,34,35,63,79,56,80,81,71,82,83,84,85,61,86,73,87,88,64,89,70,58,90,60,59,57,11,43,91,45,52,54,92,17,93,65]))),DA=v.lazy(()=>we(()=>import("./accounts-page-BI5pCqWg.js"),__vite__mapDeps([94,49,36,27,6,16,37,24,7,38,29,30,31,42,1,41,28,34,35,40,33,62,39,12,51,45,52,44,53,54,95,81,58,82,57,9,77]))),UA=v.lazy(()=>we(()=>import("./transactions-page-OS69Uo11.js"),__vite__mapDeps([96,49,31,36,27,6,16,37,24,7,38,29,30,34,35,40,33,62,39,12,42,72,80,97,57,2,51,45,52,44,53,54,41,79,98,99,17,73,82,15,5,87,86,100,28,63,4,66,9,59,101]))),zA=v.lazy(()=>we(()=>
26import("./reports-page-Btd68LHF.js"),__vite__mapDeps([102,49,31,27,33,40,51,45,52,44,53,36,6,16,37,24,7,38,54,28,103,56,35,29,30,87,34,41,42,101,67,12,39,77,100,15]))),FA=v.lazy(()=>we(()=>import("./report-viewer-page-Cj5lLhHK.js"),__vite__mapDeps([104,49,103,27,56,35,36,6,16,37,24,7,38,29,30,31,87,41,28,42,67,101,15,12,46]))),BA=v.lazy(()=>we(()=>import("./receipts-page-CNj-vibc.js"),__vite__mapDeps([105,36,27,6,16,37,24,7,38,29,30,31,49,40,41,28,34,35,70,42,89,90,4,76,12,2,92,43,9,88,98,44,45]))),$A=v.lazy(()=>we(()=>import("./review-page-CMDO72RH.js"),__vite__mapDeps([106,49,27,41,1,28,36,6,16,37,24,7,38,29,30,31,34,35,40,33,42,39,12,67,88,9,57]))),qA=v.lazy(()=>we(()=>import("./demo-page-ZAz1ctri.js"),__vite__mapDeps([107,32,33,27,40,54,37,30]))),WA=v.lazy(()=>we(()=>import("./scheduling-page-gdcyyBnN.js"),__vite__mapDeps([108,67]))),HA=v.lazy(()=>we(()=>import("./privacy-page-CXbM0bYG.js"),__vite__mapDeps([109,110,67]))),VA=v.lazy(()=>we(()=>import("./data-retention-policy-page-Cf0VTqQO.js"),__vite__mapDeps([111,27,110,87]))),QA=v.lazy(()=>we(()=>import("./memory-page-BnFE5DR9.js"),__vite__mapDeps([112,36,27,6,16,37,24,7,38,40,63,41,1,34,35,39,12,56,70,57,4,93,89,58]))),KA=v.lazy(()=>we(()=>import("./rules-page-iPKMCChQ.js"),__vite__mapDeps([113,36,27,6,16,37,24,7,38,31,40,41,1,34,35,39,12,53,4,56,55,61,79,33,49,42,57,58,2,83,87,97]))),GA=v.lazy(()=>we(()=>import("./trash-page-Dy9u3Oo6.js"),__vite__mapDeps([114,42,36,27,6,16,37,24,7,38,41,1,56,35,92,91,45,52,17,59]))),YA=v.lazy(()=>we(()=>import("./accept-invite-page-B-faztkq.js"),__vite__mapDeps([115,27,84,89,82,38,90]))),Pm=v.lazy(()=>we(()=>import("./entity-picker-page-BLEVDDJk.js"),[])),JA=v.lazy(()=>we(()=>import("./journal-review-page-BkKGmbYw.js"),__vite__mapDeps([116,36,27,6,16,37,24,7,38,41,28,34,35,39,12,40,51,45,52,44,53,54,33,63,62,71,85,31,42,99,72,29,30,49,50,82,17,92,57,15]))),XA=v.lazy(()=>we(()=>import("./airbnb-payouts-page-DYi8Z7yK.js"),__vite__mapDeps([117,36,27,6,16,37,24,7,38,1,41,39,12,55,64,118,42,17]))),ZA=v.lazy(()=>we(()=>import("./imports-page-xjp3Mgd3.js"),__vite__mapDeps([119,36,27,6,16,37,24,7,38,1,17,100]))),eI=v.lazy(()=>we(()=>import("./venmo-expenses-page-CBq8vwh9.js"),__vite__mapDeps([120,36,27,6,16,37,24,7,38,1,41,62,39,12,40,55,64,118,42,31,72,100,73,59]))),tI=v.lazy(()=>we(()=>import("./turno-expenses-page-DB4g-fKh.js"),__vite__mapDeps([121,36,27,6,16,37,24,7,38,1,41,62,39,12,40,55,64,118,42,31,72,73,86]))),nI=v.lazy(()=>we(()=>import("./rei-import-page-WTsnxo4K.js"),__vite__mapDeps([122,36,27,6,16,37,24,7,38,1,41,62,39,12,40,55,64,70,34,35,118,42,31,68,73,9,4]))),rI=v.lazy(()=>we(()=>import("./loans-page-BmWl5dKz.js"),__vite__mapDeps([48,49,32,33,50,36,27,6,16,37,24,7,38,29,30,31,42,40,51,45,52,44,53,54,41,1,34,35,39,12,55,56,57,58,59,60]))),oI=v.lazy(()=>we(()=>import("./pending-approval-page-CqWSt541.js"),__vite__mapDeps([123,27,89,90]))),iI=v.lazy(()=>we(()=>import("./self-serve-confirm-page-Bc1FtQ5N.js"),__vite__mapDeps([124,81]))),sI=v.lazy(()=>we(()=>import("./self-serve-setup-page-BWmYr8AY.js"),__vite__mapDeps([125,81,67]))),aI=v.lazy(()=>we(()=>import("./plaid-oauth-return-page-DuVDsUXA.js").then(e=>e.p),[])),lI=v.lazy(()=>we(()=>import("./pdf-statement-import-page-CU9Kp8i_.js"),__vite__mapDeps([126,36,27,6,16,37,24,7,38,41,1,40,33,28,34,35,29,30,31,49,42,67,12,57,86]))),cI="true".toLowerCase()!=="false",uI=LP(!1,void 0,"pk_live_Y2xlcmsuaGlyZXNvZmlhLmFpJA"),ct="/".replace(/\/$/,"");function Am(e){return ct&&e.startsWith(ct)?e.slice(ct.length)||"/":e}function Us(e){return e.getAll("plan").length!==1||e.getAll("interval").length!==1||e.getAll("setup").length>1?!1:(e.get("plan")==="starter"||e.get("plan")==="pro")&&(e.get("interval")==="monthly"||e.get("interval")==="annual")&&(e.get("setup")===null||e.get("setup")==="1"||e.get("setup")==="0")}function dI(e){const r=Hu(va(e));return e.get("setup")==="0"?`${r}&setup=0`:r}const pI={theme:BC.shadcn,options:{logoPlacement:"inside",logoLinkUrl:ct||"/",logoImageUrl:new URL(ya,window.location.origin).toString(),socialButtonsPlacement:"top",socialButtonsVariant:"blockButton"},variables:{colorPrimary:"#285c48",colorForeground:"#181b1a",colorMutedForeground:"#6b7280",colorDanger:"#dc2626",colorBackgroun
26d:"#ffffff",colorInput:"#ffffff",colorInputForeground:"#181b1a",colorNeutral:"#e5e7eb",fontFamily:"Inter, sans-serif",borderRadius:"0.75rem"},elements:{rootBox:"w-full flex justify-center",cardBox:"bg-white rounded-2xl w-[440px] max-w-full overflow-hidden border border-neutral-200",card:"!shadow-none !border-0 !bg-transparent !rounded-none",footer:"!shadow-none !border-0 !bg-transparent !rounded-none",headerTitle:"text-neutral-900 font-serif",headerSubtitle:"text-neutral-600",socialButtonsBlockButtonText:"text-neutral-900 font-medium",formFieldLabel:"text-neutral-800",footerActionLink:"text-primary font-medium",footerActionText:"text-neutral-600",dividerText:"text-neutral-500",identityPreviewEditButton:"text-primary",formFieldSuccessText:"text-emerald-700",alertText:"text-red-800",logoBox:"h-20",logoImage:"h-24 w-24 max-w-none",socialButtonsBlockButton:"border-neutral-300 bg-white hover:bg-neutral-50",formButtonPrimary:"bg-primary text-white hover:bg-primary/90 normal-case",formFieldInput:"border-neutral-300 bg-white text-neutral-900 focus:border-primary focus:ring-primary",footerAction:"bg-transparent",dividerLine:"bg-neutral-200",alert:"border-red-200 bg-red-50",otpCodeFieldInput:"border-neutral-300 text-neutral-900",formFieldRow:"text-neutral-900",main:"text-neutral-900"}},fI=typeof window<"u"&&(window.location.hostname==="app.hiresofia.ai"||window.location.hostname==="localhost"||window.location.hostname.endsWith(".replit.dev")||window.location.hostname.endsWith(".janeway.replit.dev"));function hI(){return u.jsx("div",{className:"min-h-screen flex items-center justify-center bg-neutral-50",children:u.jsx(wE,{routing:"path",path:`${ct}/sign-in`,signUpUrl:`${ct}/get-started`})})}function mI(){const e=typeof window>
26"u"?"":window.location.search,r=new URLSearchParams(e),o=Us(r),s=o?va(r):null,a=s?dI(r):"",d=s?`${ct}/get-started/confirm?${a}`:`${ct}/`;return gm(r)&&o&&r.get("setup")==="0"?u.jsx(Br,{to:`${ct}/get-started?${a}`}):gm(r)?u.jsx(Br,{to:`${ct}${ZC(r)}`}):u.jsx("div",{className:"min-h-screen flex items-center justify-center bg-neutral-50",children:u.jsx(bE,{routing:"path",path:`${ct}/sign-up`,signInUrl:`${ct}/sign-in`,forceRedirectUrl:d,signInForceRedirectUrl:d})})}function gI(){const{user:e,isSofiaStaff:r}=pi();return v.useEffect(()=>{if(!e)return;let o;e.role==="super_admin"?o="https://app.hiresofia.ai/admin":r?o="https://app.hiresofia.ai/select-entity":o="https://app.hiresofia.ai/user",window.location.replace(o)},[e,r]),u.jsx("div",{className:"min-h-screen flex items-center justify-center bg-neutral-50",children:u.jsx(ir,{className:"w-8 h-8 text-primary animate-spin"})})}function De({component:e}){const{user:r,isLoading:o,isSofiaStaff:s,isMultiEntity:a}=pi(),[d,f]=Nt();v.useEffect(()=>{!o&&!r&&f("/sign-in")},[o,r,f]);const h=(s||a)&&!r?.selectedEntityId;return v.useEffect(()=>{!o&&r&&h&&f("/select-entity")},[o,r,h,f]),o?u.jsx("div",{className:"min-h-screen flex items-center justify-center bg-neutral-50",children:u.jsx(ir,{className:"w-8 h-8 text-primary animate-spin"})}):r?r.role==="super_admin"&&!r.entityId&&!d.startsWith("/admin")?u.jsx("div",{className:"min-h-screen flex items-center justify-center bg-neutral-50",children:u.jsxs("div",{className:"text-center space-y-4 max-w-sm px-4",children:[u.jsx("div",{className:"w-12 h-12 rounded-full bg-primary/10 flex items-center justify-center mx-auto",children:u.jsx(jb,{className:"w-6 h-6 text-primary"})}),u.jsxs("div",{className:"space-y-1",children:[u.jsx("h2",{className:"text-lg font-semibold text-foreground",children:"No client selected"}),u.jsx("p",{className:"text-sm text-muted-foreground",children:"You're logged in as an admin. To view this page, open the Admin panel and impersonate a client account."})]}),u.jsx("button",{onClick:()=>f("/admin"),className:"inline-flex items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors",children:"Go to Admin Panel"})]})}):h?u.jsx("div",{className:"min-h-screen flex items-center justify-center bg-neutral-50",children:u.jsx(ir,{className:"w-8 h-8 text-primary animate-spin"})}):u.jsx(e,{}):u.jsx("div",{className:"min-h-screen flex items-center justify-center bg-neutral-50",children:u.jsx(ir,{className:"w-8 h-8 text-primary animate-spin"})})}const yI=new Set(["/","/start","/how-sofia-works","/vacation-rental-accounting","/compare/quickbooks","/compare/stessa","/compare/baselane","/compare/rei-hub","/alternatives/quickbooks","/alternatives/stessa","/alternatives/baselane","/switch-to-sofia/quickbooks","/privacy","/data-retention-policy","/blog","/get-started"]);function vI(){const[e]=Nt();v.useEffect(()=>{const o=yI.has(e)||iv(e)?"index,follow":"noindex,nofollow";let s=document.querySelector('meta[name="robots"]');s||(s=document.createElement("meta"),s.setAttribute("name","robots"),document.head.appendChild(s)),s.getAttribute("content")!==o&&s.setAttribute("content",o)},[e])}function wI(){const[e]=Nt(),r=v.useRef(wm(typeof window>"u"?e:window.location.pathname)),o=v.useRef(wm(typeof window>"u"?e:window.location.pathname,tA));v.useEffect(()=>{pv(),r.current(e),o.current(e)},[e])}function Im(){return u.jsx("div",{className:"min-h-screen flex items-center justify-center bg-neutral-50",children:u.jsx(ir,{className:"w-8 h-8 text-primary animate-spin"})})}function bI(){const{user:e,isLoading:r,isSofiaStaff:o,isMultiEntity:s}=pi(),[a,d]=Nt();if(_C({userRole:e?.role??null,authResolved:!r}),vI(),wI(),QC(),v.useEffect(()=>{if(typeof window>"u")return;if(a.startsWith("/accept-invite")){sessionStorage.removeItem("sofia.selfServeSelection");return}if(!e||e.role!=="pending"||a!=="/"||Xy())return;let f=null;try{f=sessionStorage.getItem("sofia.selfServeSelection")}catch{}if(!f)return;const h=new URLSearchParams(f);Us(h)},[a,e,d]),r)return u.jsx("div",{className:"min-h-screen flex items-center justify-center bg-neutral-50",children:u.jsx(ir,{className:"w-8 h-8 text-primary animate-spin"})});if(e&&e.role==="pending"){const f=typeof window<"u"?window.location.pathname:"",h=new URLSearchParams(typeof window>"u"?"":window.location.search),m=f==="/get-started/confirm",y=f==="/get-started/setup"&&Us(h),w=f==="/get-started"&&(Us(h)||_I(h));if(!f.startsWith("/accept-invite")&&!f.startsWith("/blog")&&!m&&!y&&!w)return u.jsx(lh,{children:u.jsx(v.Suspense,{fallback:u.jsx(Im,{}),children:u.jsx(oI,{})})})}return u.jsx(lh,{children:u.jsxs(v.Suspense,{fallback:u.jsx(Im,{}),children:[u.jsxs(pk,{children:[u.jsx(he,{path:"/select-entity",children:e?u.jsx(Pm,{}):u.jsx(Br,{to:"/sign-in"})}),u.jsx(he,{path:"/",children:fI?e?o||s?e.selectedEntityId?u.jsx(Vc,{}):u.jsx(Pm,{}):e.role==="super_admin"&&new URLSearchParams(window.location.search).get("preview")!=="onboarding"?u.jsx(Cm,{}):u.jsx(Vc,{}):u.jsx(Br,{to:"/sign-in"}):e?u.jsx(gI,{}):u.jsx(CA,{})}),u.jsx(he,{path:"/login",children:u.jsx(Br,{to:"/sign-in"})}
26),u.jsx(he,{path:"/sign-in/*?",component:hI}),u.jsx(he,{path:"/sign-up/*?",component:mI}),u.jsx(he,{path:"/get-started/confirm",children:u.jsx(iI,{})}),u.jsx(he,{path:"/get-started/setup",children:u.jsx(sI,{})}),u.jsx(he,{path:"/get-started",children:u.jsx(_A,{})}),u.jsx(he,{path:"/start",children:u.jsx(AA,{})}),u.jsx(he,{path:"/demo",children:u.jsx(qA,{})}),u.jsx(he,{path:"/schedule-demo",children:u.jsx(WA,{})}),u.jsx(he,{path:"/how-sofia-works",children:u.jsx(PA,{})}),u.jsx(he,{path:"/vacation-rental-accounting",children:u.jsx(IA,{})}),u.jsx(he,{path:"/compare/:slug",children:u.jsx(jA,{})}),u.jsx(he,{path:"/alternatives/:slug",children:u.jsx(TA,{})}),u.jsx(he,{path:"/switch-to-sofia/:slug",children:u.jsx(RA,{})}),u.jsx(he,{path:"/accept-invite/*?",children:u.jsx(YA,{})}),u.jsx(he,{path:"/plaid-oauth-return",children:u.jsx(aI,{})}),u.jsx(he,{path:"/privacy",children:u.jsx(HA,{})}),u.jsx(he,{path:"/data-retention-policy",children:u.jsx(VA,{})}),u.jsx(he,{path:"/blog/:slug",children:f=>u.jsx(vm,{slug:f.slug})}),u.jsx(he,{path:"/blog",children:u.jsx(vm,{})}),u.jsx(he,{path:"/user",children:u.jsx(De,{component:Vc})}),u.jsx(he,{path:"/tasks",children:u.jsx(De,{component:OA})}),u.jsx(he,{path:"/properties",children:u.jsx(De,{component:NA})}),u.jsx(he,{path:"/properties/:id",children:u.jsx(De,{component:LA})}),u.jsx(he,{path:"/documents",children:u.jsx(De,{component:MA})}),u.jsx(he,{path:"/receipts",children:u.jsx(De,{component:BA})}),u.jsx(he,{path:"/admin",children:u.jsx(De,{component:Cm})}),u.jsx(he,{path:"/transactions",children:u.jsx(De,{component:UA})}),u.jsx(he,{path:"/accounts",children:u.jsx(De,{component:DA})}),u.jsx(he,{path:"/journal-review",children:u.jsx(De,{component:JA})}),u.jsx(he,{path:"/imports",children:u.jsx(De,{component:ZA})}),u.jsx(he,{path:"/imports/venmo",children:u.jsx(De,{component:eI})}),u.jsx(he,{path:"/imports/turno",children:u.jsx(De,{component:tI})}),u.jsx(he,{path:"/imports/rei",children:u.jsx(De,{component:nI})}),u.jsx(he,{path:"/airbnb-payouts",children:u.jsx(De,{component:XA})}),u.jsx(he,{path:"/personal-import",children:u.jsx(Br,{to:"/accounts"})}),u.jsx(he,{path:"/reviews/:id",children:u.jsx(De,{component:$A})}),u.jsx(he,{path:"/reports/:id",children:u.jsx(De,{component:FA})}),u.jsx(he,{path:"/reports",children:u.jsx(De,{component:zA})}),u.jsx(he,{path:"/memory",children:u.jsx(De,{component:QA})}),u.jsx(he,{path:"/rules",children:u.jsx(De,{component:KA})}),cI&&u.jsx(he,{path:"/loans",children:u.jsx(De,{component:rI})}),u.jsx(he,{path:"/trash",children:u.jsx(De,{component:GA})}),u.jsx(he,{path:"/admin/pdf-import",children:u.jsx(De,{component:lI})}),u.jsx(he,{component:EA})]}),!e&&u.jsx(xA,{})]})})}function kI(){const{addListener:e}=Cy(),r=na(),o=v.useRef(void 0);return v.useEffect(()=>e(({user:a})=>{const d=a?.id??null;o.current!==void 0&&o.current!==d&&r.clear(),o.current=d}),[e,r]),null}function xI(){const[,e]=Nt();return u.jsx(Jy,{publishableKey:uI,appearance:pI,signInUrl:`${ct}/sign-in`,signUpUrl:`${ct}/get-started`,localization:{signIn:{start:{title:"Welcome back",subtitle:"Sign in to access your Sofia account"}},signUp:{start:{title:"Create your account",subtitle:"Get started with Sofia"}}},routerPush:r=>e(Am(r)),routerReplace:r=>e(Am(r),{replace:!0}),children:u.jsxs(Rk,{client:Kk,children:[u.jsx(kI,{}),u.jsxs(e_,{children:[u.jsx(TC,{children:u.jsx(bI,{})}),u.jsx(PS,{})]})]})})}function SI(){return u.jsx(qm,{base:ct,children:u.jsx(xI,{})})}function _I(e){const r=e.get("checkout"),o=e.get("checkoutId");return(r==="success"||r==="cancelled")&&(!o||/^\d+$/.test(o)&&Number.isSafeInteger(Number(o))&&Number(o)>0)}Bb();pu.createRoot(document.getElementById("root")).render(u.jsx(SI,{}));export{we as $,yc as A,jb as B,Ko as C,ex as D,ir as E,Kk as F,pr as G,CI as H,na as I,Wk as J,Hk as K,Ce as L,Wu as M,AI as N,Xs as O,UI as P,tP as Q,Br as R,Ob as S,Nb as T,uk as U,HI as V,L as W,Lb as X,gA as Y,Jr as Z,Hx as _,ih as a,nj as a0,rj as a1,KI as a2,fA as a3,cv as a4,VI as a5,YP as a6,oj as a7,ij as a8,QI as a9,xu as aA,L0 as aB,Bs as aC,M0 as aD,oa as aE,II as aF,ox as aG,FI as aH,ot as aI,va as aJ,zI as aK,JC as aL,XC as aM,Hu as aN,EI as aO,GI as aa,yt as ab,ig as ac,Sx as ad,He as ae,Wt as af,lx as ag,P0 as ah,ra as ai,OE as aj,Cy as ak,LI as al,Xy as am,MI as an,DI as ao,bE as ap,Su as aq,lr as ar,jI as as,Rm as at,en as au,TI as av,N0 as aw,ty as ax,dg as ay,ag as az,or as b,Ot as c,yn as d,JI as e,ZI as f,XI as g,YI as h,ej as i,u as j,Rb as k,Fr as l,BI as m,sj as n,Ib as o,$I as p,WI as q,v as r,ya as s,qI as t,pi as u,tj as v,Nt as w,sP as x,dP as y,yP as z};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.